agentengine-sdk-python 0.8.5__py3-none-any.whl → 0.8.6__py3-none-any.whl
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.
- {agentengine_sdk_python-0.8.5.dist-info → agentengine_sdk_python-0.8.6.dist-info}/METADATA +12 -8
- {agentengine_sdk_python-0.8.5.dist-info → agentengine_sdk_python-0.8.6.dist-info}/RECORD +823 -388
- ksadk/_async_iterators.py +79 -0
- ksadk/_build_provenance.json +1 -1
- ksadk/_model_anthropic.py +49 -0
- ksadk/_model_input.py +86 -0
- ksadk/_model_json.py +40 -0
- ksadk/_model_reasoning.py +17 -0
- ksadk/_model_refusal.py +20 -0
- ksadk/_model_sse.py +163 -0
- ksadk/a2a/__init__.py +157 -167
- ksadk/a2a/_invocation_state.py +86 -0
- ksadk/a2a/_space_client_events.py +33 -22
- ksadk/a2a/adk.py +194 -0
- ksadk/a2a/adk_invocation_context.py +242 -0
- ksadk/a2a/adk_runtime.py +126 -0
- ksadk/a2a/adk_tools.py +319 -0
- ksadk/a2a/bootstrap.py +149 -23
- ksadk/a2a/build_validation.py +147 -0
- ksadk/a2a/card.py +23 -15
- ksadk/a2a/codex.py +160 -0
- ksadk/a2a/codex_checkpoint.py +111 -0
- ksadk/a2a/codex_recovery.py +96 -0
- ksadk/a2a/codex_recovery_events.py +123 -0
- ksadk/a2a/codex_runtime.py +198 -0
- ksadk/a2a/codex_session_checkpoint.py +162 -0
- ksadk/a2a/composition.py +88 -0
- ksadk/a2a/context_store.py +118 -19
- ksadk/a2a/control_plane.py +108 -106
- ksadk/a2a/event_adapter.py +92 -193
- ksadk/a2a/executor.py +257 -85
- ksadk/a2a/exposure.py +106 -0
- ksadk/a2a/external_transport.py +3 -4
- ksadk/a2a/identity.py +106 -12
- ksadk/a2a/ids.py +14 -3
- ksadk/a2a/inbound_kernel.py +133 -0
- ksadk/a2a/interaction_wire.py +76 -0
- ksadk/a2a/invocation_checkpoint.py +274 -0
- ksadk/a2a/invocation_policy.py +87 -0
- ksadk/a2a/invocation_publication.py +210 -0
- ksadk/a2a/invocation_service.py +972 -0
- ksadk/a2a/invocation_types.py +459 -0
- ksadk/a2a/kernel_task_adapter.py +259 -0
- ksadk/a2a/langgraph.py +20 -7
- ksadk/a2a/langgraph_invocation_context.py +136 -0
- ksadk/a2a/langgraph_managed.py +150 -0
- ksadk/a2a/langgraph_recovery.py +32 -0
- ksadk/a2a/langgraph_runtime.py +89 -0
- ksadk/a2a/langgraph_tool_runtime.py +132 -0
- ksadk/a2a/langgraph_tools.py +63 -0
- ksadk/a2a/message_digest.py +40 -0
- ksadk/a2a/platform.py +389 -0
- ksadk/a2a/policy_refs.py +13 -0
- ksadk/a2a/presentation.py +402 -0
- ksadk/a2a/product_kernel_facts.py +177 -0
- ksadk/a2a/product_key.py +99 -0
- ksadk/a2a/protocol_errors.py +116 -0
- ksadk/a2a/result_text.py +49 -0
- ksadk/a2a/resume_store.py +93 -3
- ksadk/a2a/routes.py +6 -1
- ksadk/a2a/runtime_approval.py +198 -0
- ksadk/a2a/runtime_input.py +151 -0
- ksadk/a2a/server.py +16 -7
- ksadk/a2a/space_client.py +101 -16
- ksadk/a2a/task_adapter.py +19 -5
- ksadk/a2a/task_event_dispatcher.py +39 -2
- ksadk/a2a/task_event_outbox.py +215 -0
- ksadk/a2a/task_event_outbox_owned.py +130 -0
- ksadk/a2a/task_store.py +37 -0
- ksadk/a2a/tool_activity.py +176 -0
- ksadk/a2a/workload_tokens.py +134 -0
- ksadk/api/client.py +32 -79
- ksadk/api/sse_stream.py +96 -0
- ksadk/builders/code_builder.py +83 -106
- ksadk/builders/container_builder.py +11 -29
- ksadk/builders/framework_requirements.py +2 -0
- ksadk/builders/managed_runtime_builder.py +12 -0
- ksadk/builders/source_provenance.py +87 -0
- ksadk/cli/cmd_a2a.py +43 -0
- ksadk/cli/cmd_build.py +9 -0
- ksadk/cli/cmd_deploy.py +27 -2
- ksadk/cli/cmd_invoke.py +45 -92
- ksadk/cli/cmd_studio.py +5 -1
- ksadk/cli/cmd_web.py +2 -0
- ksadk/cli/hosted_invoke.py +206 -0
- ksadk/cli/invoke_content.py +60 -0
- ksadk/cli/runtime_bootstrap.py +27 -5
- ksadk/codex/_expert_request_reader.py +48 -0
- ksadk/codex/a2a_tools.py +140 -0
- ksadk/codex/async_approval.py +169 -0
- ksadk/codex/async_client.py +938 -0
- ksadk/codex/async_proxy.py +216 -0
- ksadk/codex/base_runtime.py +25 -0
- ksadk/codex/client.py +3 -1048
- ksadk/codex/client_payloads.py +85 -0
- ksadk/codex/rollout_checkpoint.py +264 -0
- ksadk/codex/runtime.py +290 -54
- ksadk/common/auth.py +2 -2
- ksadk/common/cloud_headers.py +36 -0
- ksadk/common/diagnostics.py +34 -0
- ksadk/common/kop_client.py +2 -1
- ksadk/configs/env_registry.py +106 -127
- ksadk/configs/env_registry_a2a.py +173 -0
- ksadk/configs/env_registry_studio.py +53 -5
- ksadk/configs/global_config.py +1 -0
- ksadk/configs/settings.py +6 -0
- ksadk/context_engine/assembler.py +9 -0
- ksadk/context_engine/contributors.py +80 -17
- ksadk/context_engine/instruction_authority.py +18 -0
- ksadk/conversations/attachments.py +53 -15
- ksadk/conversations/contracts.py +28 -9
- ksadk/conversations/message_projection.py +30 -125
- ksadk/conversations/message_projection_blocks.py +137 -0
- ksadk/conversations/model_context.py +11 -3
- ksadk/conversations/projector.py +63 -0
- ksadk/conversations/runtime_compaction.py +7 -2
- ksadk/conversations/runtime_input.py +16 -4
- ksadk/conversations/runtime_payloads.py +4 -0
- ksadk/conversations/runtime_persistence.py +192 -24
- ksadk/conversations/runtime_preparation.py +85 -6
- ksadk/conversations/runtime_projection.py +217 -0
- ksadk/conversations/runtime_resume.py +141 -70
- ksadk/conversations/tool_receipt_resume.py +387 -0
- ksadk/conversations/tool_receipts.py +32 -0
- ksadk/deployment/env_forward.py +5 -0
- ksadk/deployment/manager.py +15 -6
- ksadk/deployment/providers/serverless.py +76 -136
- ksadk/deployment/providers/serverless_payloads.py +122 -0
- ksadk/evaluation/agent_eval_client.py +2 -1
- ksadk/evaluation/contracts.py +78 -3
- ksadk/evaluation/evaluators.py +166 -1
- ksadk/evaluation/evidence.py +271 -4
- ksadk/evaluation/local_adapter.py +76 -12
- ksadk/evaluation/studio_build_adapter.py +73 -9
- ksadk/events/adapters/_a2a_checkpoint.py +151 -0
- ksadk/events/adapters/_a2a_snapshot.py +18 -14
- ksadk/events/adapters/_a2a_support.py +15 -3
- ksadk/events/adapters/_a2a_tool_activity.py +123 -0
- ksadk/events/adapters/_codex_errors.py +49 -0
- ksadk/events/adapters/_langgraph_support.py +12 -1
- ksadk/events/adapters/a2a.py +54 -26
- ksadk/events/adapters/adk.py +188 -30
- ksadk/events/adapters/codex.py +33 -7
- ksadk/events/adapters/langgraph.py +16 -6
- ksadk/events/canonical.py +5 -0
- ksadk/events/canonical_store.py +200 -4
- ksadk/events/reducer.py +82 -0
- ksadk/events/run_authority.py +176 -0
- ksadk/harness/__init__.py +4 -0
- ksadk/harness/artifact_adapters/__init__.py +1 -0
- ksadk/harness/artifact_adapters/native_page_budget.py +172 -0
- ksadk/harness/artifact_adapters/native_search.py +249 -0
- ksadk/harness/artifact_adapters/native_search_budget.py +134 -0
- ksadk/harness/artifact_adapters/native_store.py +115 -0
- ksadk/harness/artifact_adapters/native_tool.py +222 -0
- ksadk/harness/artifact_store.py +26 -9
- ksadk/harness/browser_adapters/__init__.py +6 -0
- ksadk/harness/browser_adapters/native_browser_tool.py +92 -0
- ksadk/harness/browser_adapters/native_dom_snapshot.py +187 -0
- ksadk/harness/browser_adapters/native_playwright.py +953 -0
- ksadk/harness/browser_adapters/native_vision.py +295 -0
- ksadk/harness/capability_adapters/__init__.py +1 -0
- ksadk/harness/capability_adapters/native_dsh.py +289 -0
- ksadk/harness/capability_runtime.py +104 -9
- ksadk/harness/compaction_record.py +31 -0
- ksadk/harness/compiler.py +3 -3
- ksadk/harness/config.py +28 -5
- ksadk/harness/conformance/contract.py +9 -11
- ksadk/harness/context_engine.py +18 -33
- ksadk/harness/context_sections.py +397 -0
- ksadk/harness/diagnostic_adapters/__init__.py +1 -0
- ksadk/harness/diagnostic_adapters/contracts.py +70 -0
- ksadk/harness/diagnostic_adapters/lsp_rpc.py +210 -0
- ksadk/harness/diagnostic_adapters/native_lsp.py +286 -0
- ksadk/harness/engine/completion_guard.py +16 -1
- ksadk/harness/engine/context_pipeline.py +864 -92
- ksadk/harness/engine/graph_builder.py +123 -630
- ksadk/harness/engine/hooked_reasoner.py +380 -0
- ksadk/harness/engine/langgraph.py +126 -8
- ksadk/harness/engine/mcp_disclosure.py +65 -114
- ksadk/harness/engine/phases/__init__.py +6 -0
- ksadk/harness/engine/phases/context.py +48 -0
- ksadk/harness/engine/phases/interaction.py +31 -0
- ksadk/harness/engine/phases/reason.py +552 -0
- ksadk/harness/engine/phases/tools.py +638 -0
- ksadk/harness/engine/policy_runtime.py +21 -10
- ksadk/harness/engine/postgres_checkpointer.py +325 -2
- ksadk/harness/engine/run_control_bridge.py +21 -1
- ksadk/harness/engine/run_types.py +10 -0
- ksadk/harness/engine/skill_disclosure.py +98 -12
- ksadk/harness/engine/steering.py +177 -0
- ksadk/harness/engine/subagents.py +18 -1
- ksadk/harness/engine/tool_dispatch.py +112 -7
- ksadk/harness/events.py +39 -2
- ksadk/harness/execution_policy.py +10 -0
- ksadk/harness/hooks.py +259 -0
- ksadk/harness/loop/reason.py +281 -36
- ksadk/harness/loop/tools.py +157 -12
- ksadk/harness/managed_runtime.py +254 -94
- ksadk/harness/mcp_disclosure_contract.py +85 -0
- ksadk/harness/mcp_result_policy.py +44 -0
- ksadk/harness/mcp_runtime.py +33 -0
- ksadk/harness/micro_compact.py +69 -0
- ksadk/harness/model_adapters/__init__.py +1 -0
- ksadk/harness/model_adapters/native_mcp_media.py +100 -0
- ksadk/harness/model_adapters/native_mcp_result.py +36 -0
- ksadk/harness/model_adapters/native_openai.py +703 -0
- ksadk/harness/model_capability.py +223 -8
- ksadk/harness/model_provider.py +214 -4
- ksadk/harness/multimodal.py +57 -0
- ksadk/harness/native/__init__.py +1 -0
- ksadk/harness/native/activation_contract.py +25 -0
- ksadk/harness/native/activation_recovery.py +29 -0
- ksadk/harness/native/adapters.py +291 -0
- ksadk/harness/native/artifact_contract.py +14 -0
- ksadk/harness/native/artifact_partial_read_capacity.py +171 -0
- ksadk/harness/native/artifact_read_capacity.py +182 -0
- ksadk/harness/native/artifact_read_contract.py +27 -0
- ksadk/harness/native/artifact_runtime.py +408 -0
- ksadk/harness/native/artifact_search_capacity.py +206 -0
- ksadk/harness/native/artifact_search_contract.py +40 -0
- ksadk/harness/native/artifact_single_read_capacity.py +170 -0
- ksadk/harness/native/browser_contract.py +229 -0
- ksadk/harness/native/browser_recovery.py +183 -0
- ksadk/harness/native/capabilities.py +204 -0
- ksadk/harness/native/child_approval.py +60 -0
- ksadk/harness/native/child_budget.py +136 -0
- ksadk/harness/native/child_cancellation.py +80 -0
- ksadk/harness/native/child_input.py +98 -0
- ksadk/harness/native/child_input_runtime.py +59 -0
- ksadk/harness/native/child_interruption.py +81 -0
- ksadk/harness/native/child_lifecycle.py +246 -0
- ksadk/harness/native/child_lifecycle_contract.py +91 -0
- ksadk/harness/native/child_notifications.py +75 -0
- ksadk/harness/native/child_promotion.py +66 -0
- ksadk/harness/native/command_runtime.py +99 -0
- ksadk/harness/native/completion.py +302 -0
- ksadk/harness/native/completion_text.py +116 -0
- ksadk/harness/native/context.py +358 -0
- ksadk/harness/native/context_artifact_page.py +75 -0
- ksadk/harness/native/context_compaction_projection.py +131 -0
- ksadk/harness/native/context_contributions.py +320 -0
- ksadk/harness/native/context_contributor_contract.py +133 -0
- ksadk/harness/native/context_driver.py +820 -0
- ksadk/harness/native/context_fresh_tools.py +49 -0
- ksadk/harness/native/context_history.py +272 -0
- ksadk/harness/native/context_microcompact.py +61 -0
- ksadk/harness/native/context_partial_summary.py +58 -0
- ksadk/harness/native/context_partition.py +492 -0
- ksadk/harness/native/context_pruning.py +275 -0
- ksadk/harness/native/context_reduction.py +60 -0
- ksadk/harness/native/context_replay.py +148 -0
- ksadk/harness/native/context_request_projection.py +526 -0
- ksadk/harness/native/context_runtime.py +976 -0
- ksadk/harness/native/context_runtime_contracts.py +409 -0
- ksadk/harness/native/context_search.py +112 -0
- ksadk/harness/native/context_source_fragments.py +188 -0
- ksadk/harness/native/context_source_progress.py +119 -0
- ksadk/harness/native/context_summary_planning.py +788 -0
- ksadk/harness/native/context_summary_recovery.py +105 -0
- ksadk/harness/native/delivery_review.py +331 -0
- ksadk/harness/native/delivery_review_contract.py +54 -0
- ksadk/harness/native/effect_admission.py +82 -0
- ksadk/harness/native/effect_control.py +318 -0
- ksadk/harness/native/effect_receipts.py +729 -0
- ksadk/harness/native/effect_runtime.py +303 -0
- ksadk/harness/native/effective_configuration.py +28 -0
- ksadk/harness/native/engine.py +945 -0
- ksadk/harness/native/final_output.py +34 -0
- ksadk/harness/native/final_submission.py +58 -0
- ksadk/harness/native/finalization_workspace.py +96 -0
- ksadk/harness/native/fork.py +151 -0
- ksadk/harness/native/guidance.py +91 -0
- ksadk/harness/native/history.py +381 -0
- ksadk/harness/native/hook_executor.py +205 -0
- ksadk/harness/native/hook_runtime_contract.py +282 -0
- ksadk/harness/native/interaction_observation.py +117 -0
- ksadk/harness/native/lease.py +103 -0
- ksadk/harness/native/machine.py +974 -0
- ksadk/harness/native/mcp_result_governance.py +156 -0
- ksadk/harness/native/model.py +570 -0
- ksadk/harness/native/model_feedback.py +63 -0
- ksadk/harness/native/model_input.py +30 -0
- ksadk/harness/native/model_recovery_contract.py +35 -0
- ksadk/harness/native/model_replay.py +128 -0
- ksadk/harness/native/model_request.py +133 -0
- ksadk/harness/native/model_runtime.py +196 -0
- ksadk/harness/native/model_takeover.py +419 -0
- ksadk/harness/native/model_tool_batch.py +40 -0
- ksadk/harness/native/observed_progress.py +46 -0
- ksadk/harness/native/operator_guidance.py +201 -0
- ksadk/harness/native/output_contract.py +80 -0
- ksadk/harness/native/output_recovery.py +24 -0
- ksadk/harness/native/ports.py +749 -0
- ksadk/harness/native/precompact_hook_runtime.py +171 -0
- ksadk/harness/native/replay_context.py +149 -0
- ksadk/harness/native/request_media.py +112 -0
- ksadk/harness/native/restore_contract.py +16 -0
- ksadk/harness/native/run_clock.py +120 -0
- ksadk/harness/native/state.py +436 -0
- ksadk/harness/native/steering.py +170 -0
- ksadk/harness/native/stop_hook_runtime.py +151 -0
- ksadk/harness/native/studio_admission.py +29 -0
- ksadk/harness/native/subagents.py +86 -0
- ksadk/harness/native/task_policy.py +99 -0
- ksadk/harness/native/task_progress.py +86 -0
- ksadk/harness/native/terminal_verification.py +43 -0
- ksadk/harness/native/tool_argument_feedback.py +178 -0
- ksadk/harness/native/tool_budget.py +253 -0
- ksadk/harness/native/tool_error_streak.py +89 -0
- ksadk/harness/native/tool_hook_runtime.py +343 -0
- ksadk/harness/native/tool_input_validation.py +58 -0
- ksadk/harness/native/tool_interruption.py +96 -0
- ksadk/harness/native/tool_observation.py +259 -0
- ksadk/harness/native/tool_progress.py +223 -0
- ksadk/harness/native/tool_recovery.py +25 -0
- ksadk/harness/native/tool_scheduling.py +33 -0
- ksadk/harness/native/tool_schema.py +126 -0
- ksadk/harness/native/transitions.py +151 -0
- ksadk/harness/native/turn_control.py +98 -0
- ksadk/harness/native/user_document.py +98 -0
- ksadk/harness/native/user_document_capture.py +49 -0
- ksadk/harness/native/user_input.py +87 -0
- ksadk/harness/native/verification.py +432 -0
- ksadk/harness/native/verification_binding.py +40 -0
- ksadk/harness/native/verification_runtime.py +233 -0
- ksadk/harness/native/verification_workspace.py +67 -0
- ksadk/harness/native_driver_failure.py +123 -0
- ksadk/harness/native_facade.py +977 -0
- ksadk/harness/native_factory.py +244 -0
- ksadk/harness/native_projection.py +503 -0
- ksadk/harness/native_runtime.py +621 -0
- ksadk/harness/native_shadow.py +250 -0
- ksadk/harness/native_shadow_inputs.py +146 -0
- ksadk/harness/progress_adapters/__init__.py +5 -0
- ksadk/harness/progress_adapters/native_todo.py +75 -0
- ksadk/harness/prompt_cache.py +65 -3
- ksadk/harness/public_activity.py +59 -0
- ksadk/harness/public_output.py +30 -0
- ksadk/harness/public_summary.py +36 -0
- ksadk/harness/reasoner.py +331 -22
- ksadk/harness/rpc.py +200 -0
- ksadk/harness/run_control.py +107 -2
- ksadk/harness/runtime.py +11 -2
- ksadk/harness/runtime_capabilities.py +71 -1
- ksadk/harness/sandbox_backend.py +203 -0
- ksadk/harness/sdk.py +153 -0
- ksadk/harness/session_store.py +370 -24
- ksadk/harness/skill_adapters/__init__.py +1 -0
- ksadk/harness/skill_adapters/native_bundle.py +148 -0
- ksadk/harness/skill_adapters/native_disclosure.py +306 -0
- ksadk/harness/skill_intent.py +47 -0
- ksadk/harness/skill_runtime.py +74 -16
- ksadk/harness/spec.py +20 -10
- ksadk/harness/state.py +2 -0
- ksadk/harness/stores/__init__.py +14 -0
- ksadk/harness/stores/native_command_settlement.py +65 -0
- ksadk/harness/stores/native_contract.py +311 -0
- ksadk/harness/stores/native_memory.py +326 -0
- ksadk/harness/stores/native_memory_archive.py +70 -0
- ksadk/harness/stores/native_migration_cli.py +91 -0
- ksadk/harness/stores/native_outbox.py +56 -0
- ksadk/harness/stores/native_sqlite.py +782 -0
- ksadk/harness/stores/native_sqlite_audit.py +29 -0
- ksadk/harness/stores/native_sqlite_migration.py +252 -0
- ksadk/harness/subagent.py +12 -2
- ksadk/harness/subagent_adapters/checkpoint_recovery.py +120 -0
- ksadk/harness/subagent_adapters/native_background_child.py +803 -0
- ksadk/harness/subagent_adapters/native_child.py +819 -0
- ksadk/harness/subagent_adapters/native_child_approval.py +128 -0
- ksadk/harness/subagent_adapters/native_child_continuation.py +51 -0
- ksadk/harness/subagent_adapters/native_child_result.py +392 -0
- ksadk/harness/subagent_adapters/prepared_recovery.py +120 -0
- ksadk/harness/tool_display.py +75 -0
- ksadk/harness/tool_display_contract.py +134 -0
- ksadk/harness/tool_output.py +141 -0
- ksadk/harness/tool_policy.py +3 -0
- ksadk/harness/tool_result_policy.py +216 -0
- ksadk/harness/tools.py +52 -0
- ksadk/harness/workspace_adapters/__init__.py +6 -0
- ksadk/harness/workspace_adapters/native_directory.py +180 -0
- ksadk/harness/workspace_adapters/native_git.py +208 -0
- ksadk/harness/workspace_adapters/native_isolation.py +350 -0
- ksadk/interaction/providers/langgraph.py +8 -1
- ksadk/kernel/bootstrap.py +144 -160
- ksadk/kernel/contract_fingerprints.py +45 -1
- ksadk/kernel/contracts.py +25 -0
- ksadk/kernel/control.py +153 -33
- ksadk/kernel/execution_grants.py +209 -2
- ksadk/kernel/execution_grants_memory.py +127 -8
- ksadk/kernel/execution_grants_postgres.py +188 -10
- ksadk/kernel/execution_grants_sqlite.py +235 -9
- ksadk/kernel/execution_host_ingress.py +1071 -0
- ksadk/kernel/history_projection.py +120 -0
- ksadk/kernel/ingress.py +117 -204
- ksadk/kernel/ingress_bootstrap.py +268 -0
- ksadk/kernel/legacy_history.py +179 -0
- ksadk/kernel/memory_store.py +38 -48
- ksadk/kernel/memory_store_projection.py +63 -0
- ksadk/kernel/postgres_event_log.py +181 -0
- ksadk/kernel/postgres_store.py +167 -198
- ksadk/kernel/readiness.py +125 -0
- ksadk/kernel/recovery.py +89 -3
- ksadk/kernel/recovery_projection.py +124 -0
- ksadk/kernel/runtime_checkpoint.py +34 -0
- ksadk/kernel/sql/001_agent_kernel.sql +5 -0
- ksadk/kernel/sqlite_schema.py +100 -0
- ksadk/kernel/sqlite_store.py +147 -216
- ksadk/kernel/store.py +47 -15
- ksadk/kernel/teams_artifact_tools.py +392 -0
- ksadk/kernel/teams_effects.py +851 -0
- ksadk/kernel/teams_execution_context.py +408 -0
- ksadk/kernel/teams_host_http.py +237 -0
- ksadk/kernel/teams_material_transport.py +245 -0
- ksadk/kernel/teams_materials.py +318 -0
- ksadk/kernel/teams_runtime_bootstrap.py +604 -0
- ksadk/kernel/teams_tool_runtime.py +273 -0
- ksadk/kernel/teams_workspace.py +259 -0
- ksadk/kernel/worker.py +323 -332
- ksadk/kernel/worker_controls.py +454 -0
- ksadk/kernel/worker_identity.py +27 -0
- ksadk/kernel/worker_interactions.py +197 -0
- ksadk/knowledge_base/client.py +15 -1
- ksadk/managed_runtime.py +29 -2
- ksadk/memory/adk/backends/http_ltm_backend.py +2 -1
- ksadk/memory/adk/backends/sdk_ltm_backend.py +15 -1
- ksadk/memory/adk/bounded_database_session_service.py +232 -0
- ksadk/memory/adk/resilient_session_service.py +115 -15
- ksadk/memory/adk/short_term_memory.py +8 -9
- ksadk/memory/extraction.py +120 -7
- ksadk/memory/providers/local_candidates.py +183 -0
- ksadk/memory/providers/local_sqlite.py +252 -78
- ksadk/memory/resolved_policy.py +12 -7
- ksadk/model_gateway/__init__.py +29 -0
- ksadk/model_gateway/client.py +253 -0
- ksadk/model_gateway/events.py +113 -0
- ksadk/model_gateway/matrix.py +297 -0
- ksadk/model_proxy/compat.py +670 -0
- ksadk/model_proxy/server.py +10 -7
- ksadk/model_proxy/transform.py +37 -9
- ksadk/plugins/bridges/dsh.py +18 -20
- ksadk/plugins/bridges/dsh_profile_manifest.py +36 -0
- ksadk/plugins/builtin_resources.py +199 -0
- ksadk/plugins/builtins.py +380 -186
- ksadk/plugins/context_contributor.py +15 -4
- ksadk/plugins/dsh_dependency_policy.py +41 -0
- ksadk/plugins/dsh_toolchain.py +24 -35
- ksadk/plugins/execution_host.py +8 -0
- ksadk/plugins/host.py +73 -5
- ksadk/plugins/kernel_adapter.py +44 -1
- ksadk/plugins/memory_provider.py +180 -0
- ksadk/plugins/providers/_process_group.py +50 -0
- ksadk/plugins/providers/bundles/dsh-knowledge/index.mjs +24 -2
- ksadk/plugins/providers/bundles/dsh-knowledge/package.json +1 -1
- ksadk/plugins/providers/bundles/dsh-memory/package.json +1 -1
- ksadk/plugins/providers/bundles/dsh-skill-center/package.json +1 -1
- ksadk/plugins/providers/bundles/dsh-teams-tools/package.json +1 -1
- ksadk/plugins/providers/bundles/ksadk-dsh-capability-host/package.json +1 -1
- ksadk/plugins/providers/codex.py +42 -38
- ksadk/plugins/providers/codex_native.py +20 -0
- ksadk/plugins/providers/codex_skills.py +46 -0
- ksadk/plugins/providers/dsh_capabilities.py +16 -171
- ksadk/plugins/providers/dsh_connector_lease.py +225 -0
- ksadk/plugins/providers/dsh_mcp.py +163 -1
- ksadk/plugins/providers/harness.py +247 -34
- ksadk/plugins/providers/harness_context.py +61 -0
- ksadk/plugins/providers/harness_contributions.py +241 -0
- ksadk/plugins/providers/harness_delegation.py +91 -14
- ksadk/plugins/providers/harness_hooks.py +121 -0
- ksadk/plugins/providers/harness_managed.py +269 -175
- ksadk/plugins/providers/harness_tools.py +165 -36
- ksadk/plugins/providers/legacy_catalog.py +1 -1
- ksadk/plugins/providers/mcp_projection.py +100 -3
- ksadk/plugins/providers/platform_resources.py +16 -6
- ksadk/plugins/teams/application.py +3 -143
- ksadk/plugins/teams/build_artifacts.py +460 -0
- ksadk/plugins/teams/cloud_contract_fingerprints.py +22 -0
- ksadk/plugins/teams/cloud_contracts.py +928 -0
- ksadk/plugins/teams/cloud_permits.py +250 -0
- ksadk/plugins/teams/domain.py +201 -148
- ksadk/plugins/teams/effect_contracts.py +255 -0
- ksadk/plugins/teams/execution_projection.py +255 -0
- ksadk/plugins/teams/leader_decisions.py +106 -0
- ksadk/plugins/teams/postgres_store.py +299 -85
- ksadk/plugins/teams/release_contracts.py +60 -0
- ksadk/plugins/teams/runtime.py +116 -40
- ksadk/plugins/teams/store.py +214 -6
- ksadk/plugins/teams/task_decisions.py +21 -8
- ksadk/plugins/teams/tool_service.py +152 -0
- ksadk/plugins/teams/transport.py +8 -3
- ksadk/resource_runtime/skill_runtime.py +3 -0
- ksadk/resource_runtime/socket_server.py +11 -0
- ksadk/resource_runtime/worker.py +28 -4
- ksadk/runners/_adk_a2a_stream.py +122 -0
- ksadk/runners/_adk_canonical_stream.py +474 -0
- ksadk/runners/_langgraph_canonical_streams.py +527 -0
- ksadk/runners/_langgraph_runner_streams.py +6 -400
- ksadk/runners/_langgraph_tool_projection.py +86 -0
- ksadk/runners/_langgraph_tools_transformer.py +27 -0
- ksadk/runners/adk_runner.py +195 -290
- ksadk/runners/base_runner.py +6 -5
- ksadk/runners/langgraph_runner.py +82 -86
- ksadk/runners/utils/loader.py +28 -14
- ksadk/runtime/_runner_adapter/a2ui_surface.py +145 -0
- ksadk/runtime/_runner_adapter/gateway_approvals.py +93 -0
- ksadk/runtime/_runner_adapter/stream_mapping.py +83 -128
- ksadk/runtime/adapter.py +40 -3
- ksadk/runtime/conversation_execution.py +4 -2
- ksadk/runtime/executor.py +97 -7
- ksadk/runtime/factory.py +13 -6
- ksadk/runtime/framework_adapters.py +184 -10
- ksadk/runtime/hosted_finalizer.py +4 -6
- ksadk/runtime/launch.py +2 -0
- ksadk/runtime/runner_adapter.py +123 -13
- ksadk/runtime_context.py +2 -0
- ksadk/sandbox/backends/e2b.py +30 -4
- ksadk/sandbox/backends/local_process.py +10 -0
- ksadk/sandbox/e2b_connection.py +9 -1
- ksadk/sandbox/local_controls.py +32 -2
- ksadk/sandbox/local_launcher.py +34 -0
- ksadk/server/factory.py +178 -25
- ksadk/server/history_deadline.py +158 -0
- ksadk/server/history_page_cache.py +129 -0
- ksadk/server/routes/checkpoint_audit.py +88 -0
- ksadk/server/routes/checkpoint_listing.py +294 -0
- ksadk/server/routes/checkpoint_resolution.py +73 -20
- ksadk/server/routes/control.py +51 -3
- ksadk/server/routes/display_projection.py +154 -0
- ksadk/server/routes/kernel_ingress.py +17 -2
- ksadk/server/routes/misc.py +102 -12
- ksadk/server/routes/models.py +25 -1
- ksadk/server/routes/openai_compat.py +6 -0
- ksadk/server/routes/projection.py +159 -216
- ksadk/server/routes/run.py +6 -2
- ksadk/server/routes/sessions.py +301 -342
- ksadk/server/routes/streaming.py +68 -15
- ksadk/server/routes/tool_receipt_claim_routes.py +107 -0
- ksadk/server/routes/workspace.py +5 -2
- ksadk/server/static/assets/{ArtifactsPanel-C1YoaKhx.js → ArtifactsPanel-CILaW-fC.js} +1 -1
- ksadk/server/static/assets/{CodeBlock-DHuAWfr5.js → CodeBlock-BVrNVtJC.js} +1 -1
- ksadk/server/static/assets/{MathMessageMarkdown-cvdrBwYr.js → MathMessageMarkdown-Dp7c4wWD.js} +1 -1
- ksadk/server/static/assets/{MermaidBlock-DeBkbJvI.js → MermaidBlock-Dxop8Rd7.js} +6 -6
- ksadk/server/static/assets/{NativeTerminalPanel-oJj44_sV.js → NativeTerminalPanel-Cjjz8B30.js} +1 -1
- ksadk/server/static/assets/{abnfDiagram-VCTEODGH-Dhfv25o2.js → abnfDiagram-VCTEODGH-ckWDmOzw.js} +1 -1
- ksadk/server/static/assets/{arc-C35w-pn1.js → arc-DqxJede-.js} +1 -1
- ksadk/server/static/assets/architecture-7GRP2DOG-pn_DuLy6.js +1 -0
- ksadk/server/static/assets/{architectureDiagram-5GKGNRK7-FoMY_u6D.js → architectureDiagram-5GKGNRK7-SEQA4bVi.js} +1 -1
- ksadk/server/static/assets/{blockDiagram-NRAW4CY4-zD4Rt7oE.js → blockDiagram-NRAW4CY4-pM0B-6NJ.js} +1 -1
- ksadk/server/static/assets/{c4Diagram-UCG6FXSJ-BCtGGkhN.js → c4Diagram-UCG6FXSJ-m2tuCNVq.js} +1 -1
- ksadk/server/static/assets/channel-fySsnkft.js +1 -0
- ksadk/server/static/assets/chunk-2Q5K7J3B-BheGxKRQ.js +1 -0
- ksadk/server/static/assets/{chunk-5VM5RSS4-C2Ms13_k.js → chunk-5VM5RSS4-GJHDr9Ww.js} +1 -1
- ksadk/server/static/assets/{chunk-F27PBJKO-BoTj-qgx.js → chunk-F27PBJKO-CbAN45AV.js} +1 -1
- ksadk/server/static/assets/{chunk-G27WJ6UU-DOMyyjHH.js → chunk-G27WJ6UU-D5ngbbzF.js} +1 -1
- ksadk/server/static/assets/{chunk-JWPE2WC7-DbJJqDli.js → chunk-JWPE2WC7-Cc5IwuYC.js} +1 -1
- ksadk/server/static/assets/{chunk-LCL6LL3I-CLuRCt_W.js → chunk-LCL6LL3I-CprgDDdJ.js} +1 -1
- ksadk/server/static/assets/{chunk-POPQ4Y6H-D0Dz847e.js → chunk-POPQ4Y6H-CDZhSy82.js} +1 -1
- ksadk/server/static/assets/{chunk-RHFEMEQ7-BWSRzEcd.js → chunk-RHFEMEQ7-CZchUNro.js} +1 -1
- ksadk/server/static/assets/{chunk-SVP7TREG-CPoHqkCY.js → chunk-SVP7TREG-BVruqk6T.js} +1 -1
- ksadk/server/static/assets/{chunk-XXDRQBXY-Bx1jS-X-.js → chunk-XXDRQBXY-4ld9SxPN.js} +1 -1
- ksadk/server/static/assets/classDiagram-DTDB5LWJ-DSfLtNYm.js +1 -0
- ksadk/server/static/assets/classDiagram-v2-JRS7N3AN-DSfLtNYm.js +1 -0
- ksadk/server/static/assets/{cose-bilkent-JH36ORCC-LzyWm4m0.js → cose-bilkent-JH36ORCC-Dmyyk_Vp.js} +1 -1
- ksadk/server/static/assets/cynefin-OW5HDTMX-PFWIGtvA.js +1 -0
- ksadk/server/static/assets/{cynefinDiagram-5FMLGOSQ-BlW_bHED.js → cynefinDiagram-5FMLGOSQ-BIyq3EJb.js} +1 -1
- ksadk/server/static/assets/{dagre-3AP2YEHR-Bu_S86_i.js → dagre-3AP2YEHR-eBw08Qdk.js} +1 -1
- ksadk/server/static/assets/{dagre-B7nCawed.js → dagre-DfvnEf45.js} +1 -1
- ksadk/server/static/assets/{diagram-S7CK7UJ4-W_Zow2Km.js → diagram-S7CK7UJ4-CUSrE3Mg.js} +1 -1
- ksadk/server/static/assets/{diagram-UQ7AKVKN-CLIKAHON.js → diagram-UQ7AKVKN-Dq5Zw2gy.js} +1 -1
- ksadk/server/static/assets/{diagram-VSXAHHWV-Dv6_QAlN.js → diagram-VSXAHHWV-DyUHfNwT.js} +1 -1
- ksadk/server/static/assets/{diagram-VX7I27RA-BWAWRDtZ.js → diagram-VX7I27RA-CREmM89O.js} +1 -1
- ksadk/server/static/assets/{diagram-Z3DM3KII-XA_rWMss.js → diagram-Z3DM3KII-Dw9zhHUK.js} +1 -1
- ksadk/server/static/assets/{dist-CGt_UGeO.js → dist-0uJ4tdx6.js} +1 -1
- ksadk/server/static/assets/{dist-C0J5_3qM.js → dist-AEv-vXf-.js} +1 -1
- ksadk/server/static/assets/{dist-CIpWk_5f.js → dist-B49GzZDb.js} +1 -1
- ksadk/server/static/assets/{dist-B3bA05-e.js → dist-B8Myiet9.js} +1 -1
- ksadk/server/static/assets/{dist-DWfdmz9s.js → dist-BBsYarrI.js} +1 -1
- ksadk/server/static/assets/{dist-BLpRy_Yx.js → dist-BQMrUwdI.js} +1 -1
- ksadk/server/static/assets/{dist-CIRMvUM4.js → dist-BX_-FENW.js} +1 -1
- ksadk/server/static/assets/{dist-BdNFAney.js → dist-CD4L6ymH.js} +1 -1
- ksadk/server/static/assets/{dist-n3n6t_FO.js → dist-CHpW1BHj.js} +1 -1
- ksadk/server/static/assets/{dist-DppE_r-D.js → dist-CVPau3tn.js} +1 -1
- ksadk/server/static/assets/{dist-qe8xjesy.js → dist-C_qdxcSH.js} +1 -1
- ksadk/server/static/assets/{dist-2vL2sAdF.js → dist-Co68Apq4.js} +1 -1
- ksadk/server/static/assets/{dist-1nXCdsej.js → dist-Cp2PaOMY.js} +1 -1
- ksadk/server/static/assets/{dist-DNKuMzWc.js → dist-CuR5Bgme.js} +1 -1
- ksadk/server/static/assets/{dist-t6MzE0jU.js → dist-DDSyLEOX.js} +1 -1
- ksadk/server/static/assets/{dist-CPyieXEf.js → dist-DUxO0R99.js} +1 -1
- ksadk/server/static/assets/{dist-DyG6Ya-z.js → dist-QzbGrED_.js} +1 -1
- ksadk/server/static/assets/{dist-0X_j2Rcc.js → dist-bupkyEBZ.js} +1 -1
- ksadk/server/static/assets/{dist-mqD5TZup.js → dist-cxTGfdqx.js} +1 -1
- ksadk/server/static/assets/{dist-M-SrdhhZ.js → dist-hL5p1til.js} +1 -1
- ksadk/server/static/assets/{dist-D-92S-Fd.js → dist-lOy23y43.js} +1 -1
- ksadk/server/static/assets/{dist-BO_UwatH.js → dist-pq-nD33R.js} +1 -1
- ksadk/server/static/assets/{ebnfDiagram-PWID7BFC-BfCzF1Xi.js → ebnfDiagram-PWID7BFC-BS5LdNoR.js} +1 -1
- ksadk/server/static/assets/{erDiagram-SSCWMZ5O-Dpz9_0zn.js → erDiagram-SSCWMZ5O-Bv1QtiY-.js} +1 -1
- ksadk/server/static/assets/eventmodeling-NTZA5JFV-DsM4upQX.js +1 -0
- ksadk/server/static/assets/flowDiagram-A5DVABFB-D5NA16k9.js +1 -0
- ksadk/server/static/assets/{ganttDiagram-EL5Y4UJY-DDaG1f4_.js → ganttDiagram-EL5Y4UJY-musi-e0G.js} +1 -1
- ksadk/server/static/assets/gitGraph-4MIJSDKK-DUCVz-ih.js +1 -0
- ksadk/server/static/assets/{gitGraphDiagram-WWUBYQGX-DcxzRwYC.js → gitGraphDiagram-WWUBYQGX-DH37EGkG.js} +1 -1
- ksadk/server/static/assets/index-CZdkAvsv.js +244 -0
- ksadk/server/static/assets/index-CvXdHgF3.css +2 -0
- ksadk/server/static/assets/info-A6RAGUB7-rw0ZNHZp.js +1 -0
- ksadk/server/static/assets/{infoDiagram-RXCK75RN-CYMdn6lQ.js → infoDiagram-RXCK75RN-C1kEtv2y.js} +1 -1
- ksadk/server/static/assets/{ishikawaDiagram-5VMMS53U-CLHFAD6c.js → ishikawaDiagram-5VMMS53U-BCNPyMka.js} +1 -1
- ksadk/server/static/assets/{journeyDiagram-EYS64GPL-BHSKQGAl.js → journeyDiagram-EYS64GPL--cDbKnjP.js} +1 -1
- ksadk/server/static/assets/{kanban-definition-3QL26DDD-D5W3tjTT.js → kanban-definition-3QL26DDD-R1rAVw2f.js} +1 -1
- ksadk/server/static/assets/{katex-mtjOi4KM.js → katex-BT-X-V7U.js} +1 -1
- ksadk/server/static/assets/{linear-BETqsxE_.js → linear-DTR631iG.js} +1 -1
- ksadk/server/static/assets/{mermaid-parser.core-DPWrvs90.js → mermaid-parser.core-DfFzJhX8.js} +2 -2
- ksadk/server/static/assets/{mindmap-definition-FBJOCRG2-CJG2mfBP.js → mindmap-definition-FBJOCRG2-D4by_rmk.js} +1 -1
- ksadk/server/static/assets/packet-AYTQ26CC-Ca4Hvki9.js +1 -0
- ksadk/server/static/assets/{pegDiagram-XKGWAZYB-GjAPNaqn.js → pegDiagram-XKGWAZYB-xWXPEh0c.js} +1 -1
- ksadk/server/static/assets/pie-WAS4IAKB-hwiz6fbw.js +1 -0
- ksadk/server/static/assets/{pieDiagram-E7YTZNPT-ToIewrqr.js → pieDiagram-E7YTZNPT-BudBDlCI.js} +1 -1
- ksadk/server/static/assets/{quadrantDiagram-AXDQQJYC-4d78KiEY.js → quadrantDiagram-AXDQQJYC-DXZ0PCJF.js} +1 -1
- ksadk/server/static/assets/radar-RG4KPBEZ-BR1oZXLM.js +1 -0
- ksadk/server/static/assets/railroad-74A4TZTK-DfgEISfX.js +1 -0
- ksadk/server/static/assets/railroad-abnf-HS5TGJTU-CWOC3rdk.js +1 -0
- ksadk/server/static/assets/railroad-ebnf-LZEXJU2U-CiRvHCLY.js +1 -0
- ksadk/server/static/assets/railroad-peg-WCYAUIDC-DSDDyJ2f.js +1 -0
- ksadk/server/static/assets/{railroadDiagram-O6MQD6OU-DKzx4xfv.js → railroadDiagram-O6MQD6OU-BdAYRYB8.js} +1 -1
- ksadk/server/static/assets/{requirementDiagram-EFPCY7ZU-CJYljxQS.js → requirementDiagram-EFPCY7ZU-CBBmaL70.js} +1 -1
- ksadk/server/static/assets/{sankeyDiagram-P5KCCOFB-DLU2fV1w.js → sankeyDiagram-P5KCCOFB-Doc3rdwp.js} +1 -1
- ksadk/server/static/assets/{sequenceDiagram-WJ2MYXX4-CVqysrA9.js → sequenceDiagram-WJ2MYXX4-0J8R8hWW.js} +1 -1
- ksadk/server/static/assets/{sizeCapture-X5ZJPWSS-BUxfmTHc.js → sizeCapture-X5ZJPWSS-CfFLlWsK.js} +1 -1
- ksadk/server/static/assets/{stateDiagram-HBIQ2CUA-CNFgYI9E.js → stateDiagram-HBIQ2CUA-jBwkjtTy.js} +1 -1
- ksadk/server/static/assets/stateDiagram-v2-4QOOHH4V-Cw1fPb5w.js +1 -0
- ksadk/server/static/assets/{swimlanes-XN3QIQJK-B6qCMe8N.js → swimlanes-XN3QIQJK-B0WxTQf8.js} +1 -1
- ksadk/server/static/assets/swimlanesDiagram-VK2B7HYN-Cc3JMBAF.js +8 -0
- ksadk/server/static/assets/{timeline-definition-24CTP7MA-CMD3x_U_.js → timeline-definition-24CTP7MA-BfCT_75A.js} +1 -1
- ksadk/server/static/assets/treeView-Q6P3EWNA-C05SJHxo.js +1 -0
- ksadk/server/static/assets/treemap-WGGIJYW6-BqNLAhc3.js +1 -0
- ksadk/server/static/assets/{vennDiagram-4TSXK5OY-BqtUqvXM.js → vennDiagram-4TSXK5OY-9gX1VMDC.js} +1 -1
- ksadk/server/static/assets/wardley-WFR3VGLG-DokNktqB.js +1 -0
- ksadk/server/static/assets/{wardleyDiagram-VM6X3IG4-B5KfDjI-.js → wardleyDiagram-VM6X3IG4-sEs_BP6O.js} +1 -1
- ksadk/server/static/assets/{xychartDiagram-S5SC5T6Z-BaUlSZrn.js → xychartDiagram-S5SC5T6Z-Ll4jvUN9.js} +1 -1
- ksadk/server/static/index.html +2 -2
- ksadk/sessions/__init__.py +8 -1
- ksadk/sessions/_checkpoint_resume_audit.py +44 -0
- ksadk/sessions/_in_memory_query.py +112 -0
- ksadk/sessions/_local_service_sync.py +157 -156
- ksadk/sessions/_local_state_sync.py +152 -0
- ksadk/sessions/_local_tables.py +2 -0
- ksadk/sessions/_postgres_checkpoint_read.py +323 -0
- ksadk/sessions/_postgres_checkpoint_stats.py +330 -0
- ksadk/sessions/_postgres_history_read.py +678 -0
- ksadk/sessions/_postgres_schema.py +44 -2
- ksadk/sessions/_postgres_tables.py +2 -0
- ksadk/sessions/_postgres_tool_receipts.py +169 -0
- ksadk/sessions/_resilient_read.py +630 -0
- ksadk/sessions/_tool_receipt_sync.py +119 -0
- ksadk/sessions/agent_identity.py +16 -0
- ksadk/sessions/base.py +278 -0
- ksadk/sessions/db_budget.py +332 -0
- ksadk/sessions/errors.py +12 -0
- ksadk/sessions/history_budget.py +36 -0
- ksadk/sessions/history_identity.py +27 -0
- ksadk/sessions/in_memory.py +376 -113
- ksadk/sessions/local_service.py +345 -0
- ksadk/sessions/postgres_service.py +515 -549
- ksadk/sessions/resilience.py +21 -14
- ksadk/sessions/resilient.py +611 -504
- ksadk/skills/loader.py +44 -2
- ksadk/skills/runtime/backends/e2b.py +17 -14
- ksadk/skills/service_client.py +6 -1
- ksadk/studio/a2a_bindings.py +407 -0
- ksadk/studio/a2a_orchestration.py +178 -0
- ksadk/studio/active_run_output.py +92 -0
- ksadk/studio/activity_records.py +542 -0
- ksadk/studio/agent_configuration.py +173 -0
- ksadk/studio/api.py +219 -389
- ksadk/studio/api_a2a_routes.py +93 -0
- ksadk/studio/api_catalog_routes.py +13 -0
- ksadk/studio/api_cloud_chat_routes.py +382 -0
- ksadk/studio/api_contracts.py +23 -0
- ksadk/studio/attachment_store.py +14 -2
- ksadk/studio/build_resolution.py +117 -0
- ksadk/studio/build_singleflight.py +37 -0
- ksadk/studio/builder.py +20 -2
- ksadk/studio/capabilities.py +8 -3
- ksadk/studio/cloud.py +83 -377
- ksadk/studio/cloud_gateways.py +424 -0
- ksadk/studio/cloud_shared_web.py +7 -0
- ksadk/studio/codex_agent_service.py +17 -0
- ksadk/studio/codex_manifest.py +5 -1
- ksadk/studio/codex_provider_build.py +65 -0
- ksadk/studio/compiler.py +102 -6
- ksadk/studio/contract_base.py +19 -0
- ksadk/studio/contracts.py +231 -201
- ksadk/studio/dsh_application.py +58 -12
- ksadk/studio/dsh_capability_service.py +17 -171
- ksadk/studio/dsh_mcp_transport.py +191 -0
- ksadk/studio/event_store.py +17 -0
- ksadk/studio/execution_host.py +84 -11
- ksadk/studio/framework_run.py +18 -0
- ksadk/studio/interaction_submission.py +265 -0
- ksadk/studio/kernel_registry.py +12 -1
- ksadk/studio/lifecycle_status.py +43 -0
- ksadk/studio/model_buffered_wire.py +227 -0
- ksadk/studio/model_chat_tools.py +143 -0
- ksadk/studio/model_client.py +1241 -761
- ksadk/studio/model_content_stream.py +129 -0
- ksadk/studio/model_credentials.py +196 -0
- ksadk/studio/model_profile_service.py +65 -31
- ksadk/studio/model_request_projection.py +284 -0
- ksadk/studio/model_responses_content.py +296 -0
- ksadk/studio/model_usage.py +109 -0
- ksadk/studio/model_wire_failure.py +110 -0
- ksadk/studio/model_wire_identity.py +138 -0
- ksadk/studio/model_wire_snapshot.py +45 -0
- ksadk/studio/model_wire_tools.py +283 -0
- ksadk/studio/native_acceptance.py +68 -0
- ksadk/studio/native_approval.py +111 -0
- ksadk/studio/native_browser_port.py +861 -0
- ksadk/studio/native_child_mcp.py +87 -0
- ksadk/studio/native_child_publication.py +68 -0
- ksadk/studio/native_child_skills.py +72 -0
- ksadk/studio/native_child_workspace.py +176 -0
- ksadk/studio/native_command_policy.py +53 -0
- ksadk/studio/native_context_port.py +326 -0
- ksadk/studio/native_context_registration.py +54 -0
- ksadk/studio/native_document_input.py +88 -0
- ksadk/studio/native_final_shape.py +852 -0
- ksadk/studio/native_gateway_stream.py +69 -0
- ksadk/studio/native_hook_port.py +145 -0
- ksadk/studio/native_hook_registration.py +70 -0
- ksadk/studio/native_inventory_disclosure.py +223 -0
- ksadk/studio/native_kernel_admission.py +84 -0
- ksadk/studio/native_language_diagnostics.py +320 -0
- ksadk/studio/native_mcp_disclosure.py +198 -0
- ksadk/studio/native_mcp_tool_port.py +219 -0
- ksadk/studio/native_memory_acceptance.py +362 -0
- ksadk/studio/native_memory_context.py +266 -0
- ksadk/studio/native_memory_flush.py +174 -0
- ksadk/studio/native_memory_sources.py +80 -0
- ksadk/studio/native_memory_tool_port.py +360 -0
- ksadk/studio/native_memory_turn.py +183 -0
- ksadk/studio/native_model_port.py +765 -0
- ksadk/studio/native_model_recovery.py +126 -0
- ksadk/studio/native_options.py +75 -0
- ksadk/studio/native_output_fields.py +58 -0
- ksadk/studio/native_planning.py +156 -0
- ksadk/studio/native_product.py +988 -0
- ksadk/studio/native_read_budget.py +426 -0
- ksadk/studio/native_recovery.py +171 -0
- ksadk/studio/native_scope.py +35 -0
- ksadk/studio/native_session_context_port.py +141 -0
- ksadk/studio/native_session_engine.py +14 -0
- ksadk/studio/native_skill_source.py +74 -0
- ksadk/studio/native_subagent_port.py +700 -0
- ksadk/studio/native_terminal_recovery.py +95 -0
- ksadk/studio/native_test_action.py +610 -0
- ksadk/studio/native_tool_port.py +477 -0
- ksadk/studio/native_user_input.py +60 -0
- ksadk/studio/native_verification_presentation.py +65 -0
- ksadk/studio/native_workspace_diagnostics.py +183 -0
- ksadk/studio/native_workspace_port.py +43 -0
- ksadk/studio/operations.py +34 -9
- ksadk/studio/plugin_composition.py +26 -10
- ksadk/studio/plugin_kernel_adapter.py +75 -1
- ksadk/studio/plugin_native_activation.py +163 -0
- ksadk/studio/plugin_runtime.py +639 -119
- ksadk/studio/plugin_runtime_admission.py +57 -0
- ksadk/studio/presentation.py +92 -0
- ksadk/studio/public_output_store.py +69 -0
- ksadk/studio/resource_authority.py +11 -3
- ksadk/studio/resource_catalog.py +8 -12
- ksadk/studio/run_activity.py +338 -385
- ksadk/studio/run_controls.py +185 -0
- ksadk/studio/run_service.py +908 -319
- ksadk/studio/run_submission_receipts.py +68 -0
- ksadk/studio/runtime_catalog.py +23 -4
- ksadk/studio/runtime_prewarm.py +22 -0
- ksadk/studio/scheduler_assistant.py +4 -1
- ksadk/studio/service.py +356 -282
- ksadk/studio/service_settings.py +229 -0
- ksadk/studio/shared_web.py +393 -169
- ksadk/studio/shared_web_response_events.py +180 -0
- ksadk/studio/shared_web_run_state.py +133 -0
- ksadk/studio/skill_discovery.py +305 -3
- ksadk/studio/static/assets/ChannelsPage-xX5HlMId.js +8 -0
- ksadk/studio/static/assets/{CodeBlock-DMIf4h33-UIqo-BPW.js → CodeBlock-DMIf4h33-CkufcPYo.js} +3 -3
- ksadk/studio/static/assets/{MathMessageMarkdown-BesSeCYl-OhNwH4K9.js → MathMessageMarkdown-BesSeCYl-DYG1Wzbx.js} +1 -1
- ksadk/studio/static/assets/{MessageMarkdown-CwMTvgFj-g0I-I4dD.js → MessageMarkdown-CwMTvgFj-BeyLyQHu.js} +2 -2
- ksadk/studio/static/assets/TeamsPage-CCaaGaVp.js +3 -0
- ksadk/studio/static/assets/index-C7DNDik2.css +2 -0
- ksadk/studio/static/assets/index-Cy68gTlH.js +265 -0
- ksadk/studio/static/index.html +3 -3
- ksadk/studio/teams_catalog.py +33 -0
- ksadk/studio/teams_installation.py +4 -1
- ksadk/studio/teams_node.py +4 -0
- ksadk/studio/teams_node_factory.py +558 -0
- ksadk/studio/teams_node_runner.py +3 -0
- ksadk/studio/teams_node_v1.py +935 -0
- ksadk/studio/teams_remote.py +259 -37
- ksadk/studio/templates.py +1 -0
- ksadk/studio/workspace_plugins.py +3 -1
- ksadk/tools/a2a_policy.py +5 -0
- ksadk/tools/artifact_observation.py +53 -0
- ksadk/tools/captured_source_artifact.py +68 -0
- ksadk/tools/schema.py +34 -0
- ksadk/toolsets/__init__.py +82 -88
- ksadk/toolsets/a2a.py +89 -89
- ksadk/toolsets/sandbox.py +377 -6
- ksadk/toolsets/skill_management.py +315 -0
- ksadk/toolsets/tool_selection.py +94 -0
- ksadk/toolsets/workspace.py +342 -324
- ksadk/toolsets/workspace_editing.py +291 -0
- ksadk/toolsets/workspace_model_observation.py +104 -0
- ksadk/toolsets/workspace_mutation.py +75 -0
- ksadk/toolsets/workspace_read_budget.py +216 -0
- ksadk/toolsets/workspace_search.py +192 -0
- ksadk/toolsets/workspace_search_process.py +129 -0
- ksadk/toolsets/workspace_state.py +6 -0
- ksadk/version.py +1 -1
- ksadk_runtime_common/http_headers.py +18 -0
- ksadk_runtime_common/workspace_files/router.py +2 -1
- ksadk/server/static/assets/architecture-7GRP2DOG-BCsa26zi.js +0 -1
- ksadk/server/static/assets/channel-_KDifNys.js +0 -1
- ksadk/server/static/assets/chunk-2Q5K7J3B-HdVkJ9F0.js +0 -1
- ksadk/server/static/assets/classDiagram-DTDB5LWJ-BVCW3ZqZ.js +0 -1
- ksadk/server/static/assets/classDiagram-v2-JRS7N3AN-BVCW3ZqZ.js +0 -1
- ksadk/server/static/assets/cynefin-OW5HDTMX-CNXjFctL.js +0 -1
- ksadk/server/static/assets/eventmodeling-NTZA5JFV-B5-8RH9c.js +0 -1
- ksadk/server/static/assets/flowDiagram-A5DVABFB-BppFxEKw.js +0 -1
- ksadk/server/static/assets/gitGraph-4MIJSDKK-B-AhYj4C.js +0 -1
- ksadk/server/static/assets/index-BMd2mucF.css +0 -2
- ksadk/server/static/assets/index-D5qyyhTH.js +0 -244
- ksadk/server/static/assets/info-A6RAGUB7-0uiKrC35.js +0 -1
- ksadk/server/static/assets/packet-AYTQ26CC-BVTmZ_cw.js +0 -1
- ksadk/server/static/assets/pie-WAS4IAKB-DyfxBU7V.js +0 -1
- ksadk/server/static/assets/radar-RG4KPBEZ-FFontjL2.js +0 -1
- ksadk/server/static/assets/railroad-74A4TZTK-D0Uidzen.js +0 -1
- ksadk/server/static/assets/railroad-abnf-HS5TGJTU-BOo_9T2h.js +0 -1
- ksadk/server/static/assets/railroad-ebnf-LZEXJU2U-D6-BjW7Z.js +0 -1
- ksadk/server/static/assets/railroad-peg-WCYAUIDC-CXx__yMm.js +0 -1
- ksadk/server/static/assets/stateDiagram-v2-4QOOHH4V-BXAFScz8.js +0 -1
- ksadk/server/static/assets/swimlanesDiagram-VK2B7HYN-uIQ2lJKH.js +0 -8
- ksadk/server/static/assets/treeView-Q6P3EWNA-CK5GgucZ.js +0 -1
- ksadk/server/static/assets/treemap-WGGIJYW6-Bq1u1SpG.js +0 -1
- ksadk/server/static/assets/wardley-WFR3VGLG-QAt06uEz.js +0 -1
- ksadk/studio/static/assets/ChannelsPage-D_PGmKVq.js +0 -8
- ksadk/studio/static/assets/TeamsPage-DqX4HWKQ.js +0 -3
- ksadk/studio/static/assets/index-CfEnms6Y.css +0 -2
- ksadk/studio/static/assets/index-Dp61rOWZ.js +0 -0
- {agentengine_sdk_python-0.8.5.dist-info → agentengine_sdk_python-0.8.6.dist-info}/WHEEL +0 -0
- {agentengine_sdk_python-0.8.5.dist-info → agentengine_sdk_python-0.8.6.dist-info}/entry_points.txt +0 -0
- {agentengine_sdk_python-0.8.5.dist-info → agentengine_sdk_python-0.8.6.dist-info}/licenses/LICENSE +0 -0
- {agentengine_sdk_python-0.8.5.dist-info → agentengine_sdk_python-0.8.6.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,265 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/TeamsPage-CCaaGaVp.js","assets/rolldown-runtime-hePW80VL.js","assets/react-vendor-BNmTiJ-I.js","assets/preload-helper-CO68xz6u.js","assets/MessageMarkdown-CwMTvgFj-BeyLyQHu.js","assets/index.dom-BQenBtFm.js","assets/presentation-yYw7xK60-BmcZriri.js","assets/ChannelsPage-xX5HlMId.js","assets/createLucideIcon-DR0LGTP5.js","assets/PrismRenderer-5pK6tUdb.js","assets/clsx-DB0hHKMi.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{n as e,r as t,t as n}from"./rolldown-runtime-hePW80VL.js";import{i as r,n as i,r as a,t as o}from"./react-vendor-BNmTiJ-I.js";import{t as s}from"./preload-helper-CO68xz6u.js";import{t as c}from"./clsx-DB0hHKMi.js";import{t as l}from"./createLucideIcon-DR0LGTP5.js";import{a as u,c as d,i as f,o as p,t as m,u as h}from"./MessageMarkdown-CwMTvgFj-BeyLyQHu.js";(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),t.credentials=e.crossOrigin===`use-credentials`?`include`:e.crossOrigin===`anonymous`?`omit`:`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var g=t(r(),1),_=i(),v=o(),y={teams:(0,g.lazy)(()=>s(()=>import(`./TeamsPage-CCaaGaVp.js`).then(e=>({default:e.TeamsPage})),__vite__mapDeps([0,1,2,3,4,5,6]))),channels:(0,g.lazy)(()=>s(()=>import(`./ChannelsPage-xX5HlMId.js`).then(e=>({default:e.ChannelsPage})),__vite__mapDeps([7,1,2,8])))};async function b(e,t,n={}){let r=y[e];if(!r)throw Error(`未知工作区组件:${e}`);let i=(0,_.createRoot)(t);i.render((0,v.jsx)(`div`,{className:`studio-workspace-component-root`,children:(0,v.jsx)(g.Suspense,{fallback:(0,v.jsx)(`p`,{className:`studio-plugin-loading`,role:`status`,children:`正在打开工作区…`}),children:(0,v.jsx)(r,{...n})})}));let a=!1;return()=>{a||(a=!0,queueMicrotask(()=>i.unmount()))}}var x=t(a(),1);function S(e,t){return`${e}\u0000${t}`}function C(e){return{...e}}var w=class{runId=null;status=null;items=new Map;seenEventIds=new Set;apply(e){if(e.eventId){if(this.seenEventIds.has(e.eventId))return;this.seenEventIds.add(e.eventId)}switch(e.type){case`run_started`:this.runId=e.runId,this.status=`running`;return;case`run_interrupted`:this.status=`interrupted`;return;case`run_completed`:this.status=`completed`;return;case`run_failed`:this.status=`failed`;return;case`run_canceled`:this.status=`canceled`;return;case`item_started`:this.startItem(e);return;case`item_updated`:this.updateItem(e);return;case`item_snapshot_replaced`:this.replaceSnapshot(e);return;case`item_completed`:case`item_failed`:this.closeItem(e);return}}applyAll(e){for(let t of e)this.apply(t)}snapshot(){return{runId:this.runId,status:this.status,items:Array.from(this.items.values()).map(e=>({...e,parts:e.parts.map(C)}))}}ensureItem(e){this.runId===null&&(this.runId=e.runId);let t=S(e.scopeId,e.itemId),n=this.items.get(t);return n||(n={runId:e.runId,scopeId:e.scopeId,itemId:e.itemId,itemKind:e.itemKind||`message`,status:`open`,parts:[]},this.items.set(t,n)),n}startItem(e){let t=S(e.scopeId,e.itemId),n=this.items.get(t);if(n){e.phase!==void 0&&(n.phase=e.phase);return}let r=this.ensureItem(e);r.phase=e.phase,e.initialParts&&(r.parts=e.initialParts.map(C))}updateItem(e){let t=this.ensureItem(e),n=t.parts.findIndex(t=>t.partId===e.partId);if(n<0){t.parts.push(C(e.part));return}let r=t.parts[n];if(e.op===`replace`){t.parts[n]=C(e.part);return}t.parts[n]={...r,text:`${r.text||``}${e.part.text||``}`}}replaceSnapshot(e){let t=this.ensureItem(e);t.parts=e.parts.map(C)}closeItem(e){let t=this.ensureItem(e);e.parts&&(t.parts=e.parts.map(C)),t.status=e.type===`item_completed`?`completed`:`failed`}};function T(e,t){return{partId:e,contentType:`text`,text:t}}var E=`text-0`;function D(e,t){return String(e?.id||e?.item_id||t?.item_id||t?.output_index||``)}function O(e){let t=e?.content;return Array.isArray(t)?t.map(e=>typeof e==`string`?e:String(e?.text||``)).join(``):String(e?.output_text||e?.text||``)}function k(e,t,n,r){let i=String(t?.type||e||``).trim(),a=t?.id?String(t.id):void 0,o=t?.item||t?.output_item||{},s=D(o,t),c=String(o?.type||``),l=c.includes(`reasoning`)?`reasoning`:`message`;if(i===`response.output_item.added`)return!s||c!==`message`&&!c.includes(`reasoning`)?[]:[{type:`item_started`,runId:n,scopeId:r,itemId:s,itemKind:l,phase:`final_answer`,eventId:a}];if(i===`response.output_text.delta`||i===`response.content_part.delta`){if(!s)return[];let e=String(t?.delta||t?.text||``);return e?[{type:`item_updated`,runId:n,scopeId:r,itemId:s,itemKind:l,partId:E,op:t?.replace===!0?`replace`:`append`,part:T(E,e),eventId:a}]:[]}return i===`response.output_item.done`||i===`response.output_text.done`?s?[{type:`item_completed`,runId:n,scopeId:r,itemId:s,itemKind:l,parts:[T(E,O(o)||String(t?.text||``))],eventId:a}]:[]:i===`response.completed`?[{type:`run_completed`,runId:n,scopeId:r,eventId:a}]:[]}var A=e=>{let t,n=new Set,r=(e,r)=>{let i=typeof e==`function`?e(t):e;if(!Object.is(i,t)){let e=t;t=r??(typeof i!=`object`||!i)?i:Object.assign({},t,i),n.forEach(n=>n(t,e))}},i=()=>t,a={setState:r,getState:i,getInitialState:()=>o,subscribe:e=>(n.add(e),()=>n.delete(e))},o=t=e(r,i,a);return a},j=(e=>e?A(e):A),M=e=>e;function N(e,t=M){let n=g.useSyncExternalStore(e.subscribe,g.useCallback(()=>t(e.getState()),[e,t]),g.useCallback(()=>t(e.getInitialState()),[e,t]));return g.useDebugValue(n),n}var P=e=>{let t=j(e),n=e=>N(t,e);return Object.assign(n,t),n},F=(e=>e?P(e):P),I;(function(e){e.assertEqual=e=>{};function t(e){}e.assertIs=t;function n(e){throw Error()}e.assertNever=n,e.arrayToEnum=e=>{let t={};for(let n of e)t[n]=n;return t},e.getValidEnumValues=t=>{let n=e.objectKeys(t).filter(e=>typeof t[t[e]]!=`number`),r={};for(let e of n)r[e]=t[e];return e.objectValues(r)},e.objectValues=t=>e.objectKeys(t).map(function(e){return t[e]}),e.objectKeys=typeof Object.keys==`function`?e=>Object.keys(e):e=>{let t=[];for(let n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.push(n);return t},e.find=(e,t)=>{for(let n of e)if(t(n))return n},e.isInteger=typeof Number.isInteger==`function`?e=>Number.isInteger(e):e=>typeof e==`number`&&Number.isFinite(e)&&Math.floor(e)===e;function r(e,t=` | `){return e.map(e=>typeof e==`string`?`'${e}'`:e).join(t)}e.joinValues=r,e.jsonStringifyReplacer=(e,t)=>typeof t==`bigint`?t.toString():t})(I||={});var ee;(function(e){e.mergeShapes=(e,t)=>({...e,...t})})(ee||={});var L=I.arrayToEnum([`string`,`nan`,`number`,`integer`,`float`,`boolean`,`date`,`bigint`,`symbol`,`function`,`undefined`,`null`,`array`,`object`,`unknown`,`promise`,`void`,`never`,`map`,`set`]),te=e=>{switch(typeof e){case`undefined`:return L.undefined;case`string`:return L.string;case`number`:return Number.isNaN(e)?L.nan:L.number;case`boolean`:return L.boolean;case`function`:return L.function;case`bigint`:return L.bigint;case`symbol`:return L.symbol;case`object`:return Array.isArray(e)?L.array:e===null?L.null:e.then&&typeof e.then==`function`&&e.catch&&typeof e.catch==`function`?L.promise:typeof Map<`u`&&e instanceof Map?L.map:typeof Set<`u`&&e instanceof Set?L.set:typeof Date<`u`&&e instanceof Date?L.date:L.object;default:return L.unknown}},R=I.arrayToEnum([`invalid_type`,`invalid_literal`,`custom`,`invalid_union`,`invalid_union_discriminator`,`invalid_enum_value`,`unrecognized_keys`,`invalid_arguments`,`invalid_return_type`,`invalid_date`,`invalid_string`,`too_small`,`too_big`,`invalid_intersection_types`,`not_multiple_of`,`not_finite`]),z=class e extends Error{get errors(){return this.issues}constructor(e){super(),this.issues=[],this.addIssue=e=>{this.issues=[...this.issues,e]},this.addIssues=(e=[])=>{this.issues=[...this.issues,...e]};let t=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,t):this.__proto__=t,this.name=`ZodError`,this.issues=e}format(e){let t=e||function(e){return e.message},n={_errors:[]},r=e=>{for(let i of e.issues)if(i.code===`invalid_union`)i.unionErrors.map(r);else if(i.code===`invalid_return_type`)r(i.returnTypeError);else if(i.code===`invalid_arguments`)r(i.argumentsError);else if(i.path.length===0)n._errors.push(t(i));else{let e=n,r=0;for(;r<i.path.length;){let n=i.path[r];r===i.path.length-1?(e[n]=e[n]||{_errors:[]},e[n]._errors.push(t(i))):e[n]=e[n]||{_errors:[]},e=e[n],r++}}};return r(this),n}static assert(t){if(!(t instanceof e))throw Error(`Not a ZodError: ${t}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,I.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(e=e=>e.message){let t={},n=[];for(let r of this.issues)if(r.path.length>0){let n=r.path[0];t[n]=t[n]||[],t[n].push(e(r))}else n.push(e(r));return{formErrors:n,fieldErrors:t}}get formErrors(){return this.flatten()}};z.create=e=>new z(e);var ne=(e,t)=>{let n;switch(e.code){case R.invalid_type:n=e.received===L.undefined?`Required`:`Expected ${e.expected}, received ${e.received}`;break;case R.invalid_literal:n=`Invalid literal value, expected ${JSON.stringify(e.expected,I.jsonStringifyReplacer)}`;break;case R.unrecognized_keys:n=`Unrecognized key(s) in object: ${I.joinValues(e.keys,`, `)}`;break;case R.invalid_union:n=`Invalid input`;break;case R.invalid_union_discriminator:n=`Invalid discriminator value. Expected ${I.joinValues(e.options)}`;break;case R.invalid_enum_value:n=`Invalid enum value. Expected ${I.joinValues(e.options)}, received '${e.received}'`;break;case R.invalid_arguments:n=`Invalid function arguments`;break;case R.invalid_return_type:n=`Invalid function return type`;break;case R.invalid_date:n=`Invalid date`;break;case R.invalid_string:typeof e.validation==`object`?`includes`in e.validation?(n=`Invalid input: must include "${e.validation.includes}"`,typeof e.validation.position==`number`&&(n=`${n} at one or more positions greater than or equal to ${e.validation.position}`)):`startsWith`in e.validation?n=`Invalid input: must start with "${e.validation.startsWith}"`:`endsWith`in e.validation?n=`Invalid input: must end with "${e.validation.endsWith}"`:I.assertNever(e.validation):n=e.validation===`regex`?`Invalid`:`Invalid ${e.validation}`;break;case R.too_small:n=e.type===`array`?`Array must contain ${e.exact?`exactly`:e.inclusive?`at least`:`more than`} ${e.minimum} element(s)`:e.type===`string`?`String must contain ${e.exact?`exactly`:e.inclusive?`at least`:`over`} ${e.minimum} character(s)`:e.type===`number`||e.type===`bigint`?`Number must be ${e.exact?`exactly equal to `:e.inclusive?`greater than or equal to `:`greater than `}${e.minimum}`:e.type===`date`?`Date must be ${e.exact?`exactly equal to `:e.inclusive?`greater than or equal to `:`greater than `}${new Date(Number(e.minimum))}`:`Invalid input`;break;case R.too_big:n=e.type===`array`?`Array must contain ${e.exact?`exactly`:e.inclusive?`at most`:`less than`} ${e.maximum} element(s)`:e.type===`string`?`String must contain ${e.exact?`exactly`:e.inclusive?`at most`:`under`} ${e.maximum} character(s)`:e.type===`number`?`Number must be ${e.exact?`exactly`:e.inclusive?`less than or equal to`:`less than`} ${e.maximum}`:e.type===`bigint`?`BigInt must be ${e.exact?`exactly`:e.inclusive?`less than or equal to`:`less than`} ${e.maximum}`:e.type===`date`?`Date must be ${e.exact?`exactly`:e.inclusive?`smaller than or equal to`:`smaller than`} ${new Date(Number(e.maximum))}`:`Invalid input`;break;case R.custom:n=`Invalid input`;break;case R.invalid_intersection_types:n=`Intersection results could not be merged`;break;case R.not_multiple_of:n=`Number must be a multiple of ${e.multipleOf}`;break;case R.not_finite:n=`Number must be finite`;break;default:n=t.defaultError,I.assertNever(e)}return{message:n}},re=ne;function ie(){return re}var ae=e=>{let{data:t,path:n,errorMaps:r,issueData:i}=e,a=[...n,...i.path||[]],o={...i,path:a};if(i.message!==void 0)return{...i,path:a,message:i.message};let s=``,c=r.filter(e=>!!e).slice().reverse();for(let e of c)s=e(o,{data:t,defaultError:s}).message;return{...i,path:a,message:s}};function B(e,t){let n=ie(),r=ae({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,n,n===ne?void 0:ne].filter(e=>!!e)});e.common.issues.push(r)}var V=class e{constructor(){this.value=`valid`}dirty(){this.value===`valid`&&(this.value=`dirty`)}abort(){this.value!==`aborted`&&(this.value=`aborted`)}static mergeArray(e,t){let n=[];for(let r of t){if(r.status===`aborted`)return H;r.status===`dirty`&&e.dirty(),n.push(r.value)}return{status:e.value,value:n}}static async mergeObjectAsync(t,n){let r=[];for(let e of n){let t=await e.key,n=await e.value;r.push({key:t,value:n})}return e.mergeObjectSync(t,r)}static mergeObjectSync(e,t){let n={};for(let r of t){let{key:t,value:i}=r;if(t.status===`aborted`||i.status===`aborted`)return H;t.status===`dirty`&&e.dirty(),i.status===`dirty`&&e.dirty(),t.value!==`__proto__`&&(i.value!==void 0||r.alwaysSet)&&(n[t.value]=i.value)}return{status:e.value,value:n}}},H=Object.freeze({status:`aborted`}),oe=e=>({status:`dirty`,value:e}),se=e=>({status:`valid`,value:e}),ce=e=>e.status===`aborted`,le=e=>e.status===`dirty`,ue=e=>e.status===`valid`,de=e=>typeof Promise<`u`&&e instanceof Promise,U;(function(e){e.errToObj=e=>typeof e==`string`?{message:e}:e||{},e.toString=e=>typeof e==`string`?e:e?.message})(U||={});var fe=class{constructor(e,t,n,r){this._cachedPath=[],this.parent=e,this.data=t,this._path=n,this._key=r}get path(){return this._cachedPath.length||(Array.isArray(this._key)?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}},pe=(e,t)=>{if(ue(t))return{success:!0,data:t.value};if(!e.common.issues.length)throw Error(`Validation failed but no issues detected.`);return{success:!1,get error(){if(this._error)return this._error;let t=new z(e.common.issues);return this._error=t,this._error}}};function me(e){if(!e)return{};let{errorMap:t,invalid_type_error:n,required_error:r,description:i}=e;if(t&&(n||r))throw Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return t?{errorMap:t,description:i}:{errorMap:(t,i)=>{let{message:a}=e;return t.code===`invalid_enum_value`?{message:a??i.defaultError}:i.data===void 0?{message:a??r??i.defaultError}:t.code===`invalid_type`?{message:a??n??i.defaultError}:{message:i.defaultError}},description:i}}var he=class{get description(){return this._def.description}_getType(e){return te(e.data)}_getOrReturnCtx(e,t){return t||{common:e.parent.common,data:e.data,parsedType:te(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new V,ctx:{common:e.parent.common,data:e.data,parsedType:te(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){let t=this._parse(e);if(de(t))throw Error(`Synchronous parse encountered promise.`);return t}_parseAsync(e){let t=this._parse(e);return Promise.resolve(t)}parse(e,t){let n=this.safeParse(e,t);if(n.success)return n.data;throw n.error}safeParse(e,t){let n={common:{issues:[],async:t?.async??!1,contextualErrorMap:t?.errorMap},path:t?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:te(e)};return pe(n,this._parseSync({data:e,path:n.path,parent:n}))}"~validate"(e){let t={common:{issues:[],async:!!this[`~standard`].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:te(e)};if(!this[`~standard`].async)try{let n=this._parseSync({data:e,path:[],parent:t});return ue(n)?{value:n.value}:{issues:t.common.issues}}catch(e){e?.message?.toLowerCase()?.includes(`encountered`)&&(this[`~standard`].async=!0),t.common={issues:[],async:!0}}return this._parseAsync({data:e,path:[],parent:t}).then(e=>ue(e)?{value:e.value}:{issues:t.common.issues})}async parseAsync(e,t){let n=await this.safeParseAsync(e,t);if(n.success)return n.data;throw n.error}async safeParseAsync(e,t){let n={common:{issues:[],contextualErrorMap:t?.errorMap,async:!0},path:t?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:te(e)},r=this._parse({data:e,path:n.path,parent:n});return pe(n,await(de(r)?r:Promise.resolve(r)))}refine(e,t){let n=e=>typeof t==`string`||t===void 0?{message:t}:typeof t==`function`?t(e):t;return this._refinement((t,r)=>{let i=e(t),a=()=>r.addIssue({code:R.custom,...n(t)});return typeof Promise<`u`&&i instanceof Promise?i.then(e=>e?!0:(a(),!1)):i?!0:(a(),!1)})}refinement(e,t){return this._refinement((n,r)=>e(n)?!0:(r.addIssue(typeof t==`function`?t(n,r):t),!1))}_refinement(e){return new vt({schema:this,typeName:Dt.ZodEffects,effect:{type:`refinement`,refinement:e}})}superRefine(e){return this._refinement(e)}constructor(e){this.spa=this.safeParseAsync,this._def=e,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this[`~standard`]={version:1,vendor:`zod`,validate:e=>this[`~validate`](e)}}optional(){return yt.create(this,this._def)}nullable(){return bt.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return $e.create(this)}promise(){return _t.create(this,this._def)}or(e){return nt.create([this,e],this._def)}and(e){return ot.create(this,e,this._def)}transform(e){return new vt({...me(this._def),schema:this,typeName:Dt.ZodEffects,effect:{type:`transform`,transform:e}})}default(e){let t=typeof e==`function`?e:()=>e;return new xt({...me(this._def),innerType:this,defaultValue:t,typeName:Dt.ZodDefault})}brand(){return new wt({typeName:Dt.ZodBranded,type:this,...me(this._def)})}catch(e){let t=typeof e==`function`?e:()=>e;return new St({...me(this._def),innerType:this,catchValue:t,typeName:Dt.ZodCatch})}describe(e){let t=this.constructor;return new t({...this._def,description:e})}pipe(e){return Tt.create(this,e)}readonly(){return Et.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},ge=/^c[^\s-]{8,}$/i,_e=/^[0-9a-z]+$/,ve=/^[0-9A-HJKMNP-TV-Z]{26}$/i,ye=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,be=/^[a-z0-9_-]{21}$/i,xe=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,Se=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,Ce=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,we=`^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$`,Te,Ee=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,De=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,Oe=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,ke=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,Ae=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,je=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,Me=`((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))`,Ne=RegExp(`^${Me}$`);function Pe(e){let t=`[0-5]\\d`;e.precision?t=`${t}\\.\\d{${e.precision}}`:e.precision??(t=`${t}(\\.\\d+)?`);let n=e.precision?`+`:`?`;return`([01]\\d|2[0-3]):[0-5]\\d(:${t})${n}`}function Fe(e){return RegExp(`^${Pe(e)}$`)}function Ie(e){let t=`${Me}T${Pe(e)}`,n=[];return n.push(e.local?`Z?`:`Z`),e.offset&&n.push(`([+-]\\d{2}:?\\d{2})`),t=`${t}(${n.join(`|`)})`,RegExp(`^${t}$`)}function Le(e,t){return!!((t===`v4`||!t)&&Ee.test(e)||(t===`v6`||!t)&&Oe.test(e))}function Re(e,t){if(!xe.test(e))return!1;try{let[n]=e.split(`.`);if(!n)return!1;let r=n.replace(/-/g,`+`).replace(/_/g,`/`).padEnd(n.length+(4-n.length%4)%4,`=`),i=JSON.parse(atob(r));return!(typeof i!=`object`||!i||`typ`in i&&i?.typ!==`JWT`||!i.alg||t&&i.alg!==t)}catch{return!1}}function ze(e,t){return!!((t===`v4`||!t)&&De.test(e)||(t===`v6`||!t)&&ke.test(e))}var Be=class e extends he{_parse(e){if(this._def.coerce&&(e.data=String(e.data)),this._getType(e)!==L.string){let t=this._getOrReturnCtx(e);return B(t,{code:R.invalid_type,expected:L.string,received:t.parsedType}),H}let t=new V,n;for(let r of this._def.checks)if(r.kind===`min`)e.data.length<r.value&&(n=this._getOrReturnCtx(e,n),B(n,{code:R.too_small,minimum:r.value,type:`string`,inclusive:!0,exact:!1,message:r.message}),t.dirty());else if(r.kind===`max`)e.data.length>r.value&&(n=this._getOrReturnCtx(e,n),B(n,{code:R.too_big,maximum:r.value,type:`string`,inclusive:!0,exact:!1,message:r.message}),t.dirty());else if(r.kind===`length`){let i=e.data.length>r.value,a=e.data.length<r.value;(i||a)&&(n=this._getOrReturnCtx(e,n),i?B(n,{code:R.too_big,maximum:r.value,type:`string`,inclusive:!0,exact:!0,message:r.message}):a&&B(n,{code:R.too_small,minimum:r.value,type:`string`,inclusive:!0,exact:!0,message:r.message}),t.dirty())}else if(r.kind===`email`)Ce.test(e.data)||(n=this._getOrReturnCtx(e,n),B(n,{validation:`email`,code:R.invalid_string,message:r.message}),t.dirty());else if(r.kind===`emoji`)Te||=new RegExp(we,`u`),Te.test(e.data)||(n=this._getOrReturnCtx(e,n),B(n,{validation:`emoji`,code:R.invalid_string,message:r.message}),t.dirty());else if(r.kind===`uuid`)ye.test(e.data)||(n=this._getOrReturnCtx(e,n),B(n,{validation:`uuid`,code:R.invalid_string,message:r.message}),t.dirty());else if(r.kind===`nanoid`)be.test(e.data)||(n=this._getOrReturnCtx(e,n),B(n,{validation:`nanoid`,code:R.invalid_string,message:r.message}),t.dirty());else if(r.kind===`cuid`)ge.test(e.data)||(n=this._getOrReturnCtx(e,n),B(n,{validation:`cuid`,code:R.invalid_string,message:r.message}),t.dirty());else if(r.kind===`cuid2`)_e.test(e.data)||(n=this._getOrReturnCtx(e,n),B(n,{validation:`cuid2`,code:R.invalid_string,message:r.message}),t.dirty());else if(r.kind===`ulid`)ve.test(e.data)||(n=this._getOrReturnCtx(e,n),B(n,{validation:`ulid`,code:R.invalid_string,message:r.message}),t.dirty());else if(r.kind===`url`)try{new URL(e.data)}catch{n=this._getOrReturnCtx(e,n),B(n,{validation:`url`,code:R.invalid_string,message:r.message}),t.dirty()}else r.kind===`regex`?(r.regex.lastIndex=0,r.regex.test(e.data)||(n=this._getOrReturnCtx(e,n),B(n,{validation:`regex`,code:R.invalid_string,message:r.message}),t.dirty())):r.kind===`trim`?e.data=e.data.trim():r.kind===`includes`?e.data.includes(r.value,r.position)||(n=this._getOrReturnCtx(e,n),B(n,{code:R.invalid_string,validation:{includes:r.value,position:r.position},message:r.message}),t.dirty()):r.kind===`toLowerCase`?e.data=e.data.toLowerCase():r.kind===`toUpperCase`?e.data=e.data.toUpperCase():r.kind===`startsWith`?e.data.startsWith(r.value)||(n=this._getOrReturnCtx(e,n),B(n,{code:R.invalid_string,validation:{startsWith:r.value},message:r.message}),t.dirty()):r.kind===`endsWith`?e.data.endsWith(r.value)||(n=this._getOrReturnCtx(e,n),B(n,{code:R.invalid_string,validation:{endsWith:r.value},message:r.message}),t.dirty()):r.kind===`datetime`?Ie(r).test(e.data)||(n=this._getOrReturnCtx(e,n),B(n,{code:R.invalid_string,validation:`datetime`,message:r.message}),t.dirty()):r.kind===`date`?Ne.test(e.data)||(n=this._getOrReturnCtx(e,n),B(n,{code:R.invalid_string,validation:`date`,message:r.message}),t.dirty()):r.kind===`time`?Fe(r).test(e.data)||(n=this._getOrReturnCtx(e,n),B(n,{code:R.invalid_string,validation:`time`,message:r.message}),t.dirty()):r.kind===`duration`?Se.test(e.data)||(n=this._getOrReturnCtx(e,n),B(n,{validation:`duration`,code:R.invalid_string,message:r.message}),t.dirty()):r.kind===`ip`?Le(e.data,r.version)||(n=this._getOrReturnCtx(e,n),B(n,{validation:`ip`,code:R.invalid_string,message:r.message}),t.dirty()):r.kind===`jwt`?Re(e.data,r.alg)||(n=this._getOrReturnCtx(e,n),B(n,{validation:`jwt`,code:R.invalid_string,message:r.message}),t.dirty()):r.kind===`cidr`?ze(e.data,r.version)||(n=this._getOrReturnCtx(e,n),B(n,{validation:`cidr`,code:R.invalid_string,message:r.message}),t.dirty()):r.kind===`base64`?Ae.test(e.data)||(n=this._getOrReturnCtx(e,n),B(n,{validation:`base64`,code:R.invalid_string,message:r.message}),t.dirty()):r.kind===`base64url`?je.test(e.data)||(n=this._getOrReturnCtx(e,n),B(n,{validation:`base64url`,code:R.invalid_string,message:r.message}),t.dirty()):I.assertNever(r);return{status:t.value,value:e.data}}_regex(e,t,n){return this.refinement(t=>e.test(t),{validation:t,code:R.invalid_string,...U.errToObj(n)})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}email(e){return this._addCheck({kind:`email`,...U.errToObj(e)})}url(e){return this._addCheck({kind:`url`,...U.errToObj(e)})}emoji(e){return this._addCheck({kind:`emoji`,...U.errToObj(e)})}uuid(e){return this._addCheck({kind:`uuid`,...U.errToObj(e)})}nanoid(e){return this._addCheck({kind:`nanoid`,...U.errToObj(e)})}cuid(e){return this._addCheck({kind:`cuid`,...U.errToObj(e)})}cuid2(e){return this._addCheck({kind:`cuid2`,...U.errToObj(e)})}ulid(e){return this._addCheck({kind:`ulid`,...U.errToObj(e)})}base64(e){return this._addCheck({kind:`base64`,...U.errToObj(e)})}base64url(e){return this._addCheck({kind:`base64url`,...U.errToObj(e)})}jwt(e){return this._addCheck({kind:`jwt`,...U.errToObj(e)})}ip(e){return this._addCheck({kind:`ip`,...U.errToObj(e)})}cidr(e){return this._addCheck({kind:`cidr`,...U.errToObj(e)})}datetime(e){return typeof e==`string`?this._addCheck({kind:`datetime`,precision:null,offset:!1,local:!1,message:e}):this._addCheck({kind:`datetime`,precision:e?.precision===void 0?null:e?.precision,offset:e?.offset??!1,local:e?.local??!1,...U.errToObj(e?.message)})}date(e){return this._addCheck({kind:`date`,message:e})}time(e){return typeof e==`string`?this._addCheck({kind:`time`,precision:null,message:e}):this._addCheck({kind:`time`,precision:e?.precision===void 0?null:e?.precision,...U.errToObj(e?.message)})}duration(e){return this._addCheck({kind:`duration`,...U.errToObj(e)})}regex(e,t){return this._addCheck({kind:`regex`,regex:e,...U.errToObj(t)})}includes(e,t){return this._addCheck({kind:`includes`,value:e,position:t?.position,...U.errToObj(t?.message)})}startsWith(e,t){return this._addCheck({kind:`startsWith`,value:e,...U.errToObj(t)})}endsWith(e,t){return this._addCheck({kind:`endsWith`,value:e,...U.errToObj(t)})}min(e,t){return this._addCheck({kind:`min`,value:e,...U.errToObj(t)})}max(e,t){return this._addCheck({kind:`max`,value:e,...U.errToObj(t)})}length(e,t){return this._addCheck({kind:`length`,value:e,...U.errToObj(t)})}nonempty(e){return this.min(1,U.errToObj(e))}trim(){return new e({...this._def,checks:[...this._def.checks,{kind:`trim`}]})}toLowerCase(){return new e({...this._def,checks:[...this._def.checks,{kind:`toLowerCase`}]})}toUpperCase(){return new e({...this._def,checks:[...this._def.checks,{kind:`toUpperCase`}]})}get isDatetime(){return!!this._def.checks.find(e=>e.kind===`datetime`)}get isDate(){return!!this._def.checks.find(e=>e.kind===`date`)}get isTime(){return!!this._def.checks.find(e=>e.kind===`time`)}get isDuration(){return!!this._def.checks.find(e=>e.kind===`duration`)}get isEmail(){return!!this._def.checks.find(e=>e.kind===`email`)}get isURL(){return!!this._def.checks.find(e=>e.kind===`url`)}get isEmoji(){return!!this._def.checks.find(e=>e.kind===`emoji`)}get isUUID(){return!!this._def.checks.find(e=>e.kind===`uuid`)}get isNANOID(){return!!this._def.checks.find(e=>e.kind===`nanoid`)}get isCUID(){return!!this._def.checks.find(e=>e.kind===`cuid`)}get isCUID2(){return!!this._def.checks.find(e=>e.kind===`cuid2`)}get isULID(){return!!this._def.checks.find(e=>e.kind===`ulid`)}get isIP(){return!!this._def.checks.find(e=>e.kind===`ip`)}get isCIDR(){return!!this._def.checks.find(e=>e.kind===`cidr`)}get isBase64(){return!!this._def.checks.find(e=>e.kind===`base64`)}get isBase64url(){return!!this._def.checks.find(e=>e.kind===`base64url`)}get minLength(){let e=null;for(let t of this._def.checks)t.kind===`min`&&(e===null||t.value>e)&&(e=t.value);return e}get maxLength(){let e=null;for(let t of this._def.checks)t.kind===`max`&&(e===null||t.value<e)&&(e=t.value);return e}};Be.create=e=>new Be({checks:[],typeName:Dt.ZodString,coerce:e?.coerce??!1,...me(e)});function Ve(e,t){let n=(e.toString().split(`.`)[1]||``).length,r=(t.toString().split(`.`)[1]||``).length,i=n>r?n:r;return Number.parseInt(e.toFixed(i).replace(`.`,``))%Number.parseInt(t.toFixed(i).replace(`.`,``))/10**i}var He=class e extends he{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(e){if(this._def.coerce&&(e.data=Number(e.data)),this._getType(e)!==L.number){let t=this._getOrReturnCtx(e);return B(t,{code:R.invalid_type,expected:L.number,received:t.parsedType}),H}let t,n=new V;for(let r of this._def.checks)r.kind===`int`?I.isInteger(e.data)||(t=this._getOrReturnCtx(e,t),B(t,{code:R.invalid_type,expected:`integer`,received:`float`,message:r.message}),n.dirty()):r.kind===`min`?(r.inclusive?e.data<r.value:e.data<=r.value)&&(t=this._getOrReturnCtx(e,t),B(t,{code:R.too_small,minimum:r.value,type:`number`,inclusive:r.inclusive,exact:!1,message:r.message}),n.dirty()):r.kind===`max`?(r.inclusive?e.data>r.value:e.data>=r.value)&&(t=this._getOrReturnCtx(e,t),B(t,{code:R.too_big,maximum:r.value,type:`number`,inclusive:r.inclusive,exact:!1,message:r.message}),n.dirty()):r.kind===`multipleOf`?Ve(e.data,r.value)!==0&&(t=this._getOrReturnCtx(e,t),B(t,{code:R.not_multiple_of,multipleOf:r.value,message:r.message}),n.dirty()):r.kind===`finite`?Number.isFinite(e.data)||(t=this._getOrReturnCtx(e,t),B(t,{code:R.not_finite,message:r.message}),n.dirty()):I.assertNever(r);return{status:n.value,value:e.data}}gte(e,t){return this.setLimit(`min`,e,!0,U.toString(t))}gt(e,t){return this.setLimit(`min`,e,!1,U.toString(t))}lte(e,t){return this.setLimit(`max`,e,!0,U.toString(t))}lt(e,t){return this.setLimit(`max`,e,!1,U.toString(t))}setLimit(t,n,r,i){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:U.toString(i)}]})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}int(e){return this._addCheck({kind:`int`,message:U.toString(e)})}positive(e){return this._addCheck({kind:`min`,value:0,inclusive:!1,message:U.toString(e)})}negative(e){return this._addCheck({kind:`max`,value:0,inclusive:!1,message:U.toString(e)})}nonpositive(e){return this._addCheck({kind:`max`,value:0,inclusive:!0,message:U.toString(e)})}nonnegative(e){return this._addCheck({kind:`min`,value:0,inclusive:!0,message:U.toString(e)})}multipleOf(e,t){return this._addCheck({kind:`multipleOf`,value:e,message:U.toString(t)})}finite(e){return this._addCheck({kind:`finite`,message:U.toString(e)})}safe(e){return this._addCheck({kind:`min`,inclusive:!0,value:-(2**53-1),message:U.toString(e)})._addCheck({kind:`max`,inclusive:!0,value:2**53-1,message:U.toString(e)})}get minValue(){let e=null;for(let t of this._def.checks)t.kind===`min`&&(e===null||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(let t of this._def.checks)t.kind===`max`&&(e===null||t.value<e)&&(e=t.value);return e}get isInt(){return!!this._def.checks.find(e=>e.kind===`int`||e.kind===`multipleOf`&&I.isInteger(e.value))}get isFinite(){let e=null,t=null;for(let n of this._def.checks)if(n.kind===`finite`||n.kind===`int`||n.kind===`multipleOf`)return!0;else n.kind===`min`?(t===null||n.value>t)&&(t=n.value):n.kind===`max`&&(e===null||n.value<e)&&(e=n.value);return Number.isFinite(t)&&Number.isFinite(e)}};He.create=e=>new He({checks:[],typeName:Dt.ZodNumber,coerce:e?.coerce||!1,...me(e)});var Ue=class e extends he{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(e){if(this._def.coerce)try{e.data=BigInt(e.data)}catch{return this._getInvalidInput(e)}if(this._getType(e)!==L.bigint)return this._getInvalidInput(e);let t,n=new V;for(let r of this._def.checks)r.kind===`min`?(r.inclusive?e.data<r.value:e.data<=r.value)&&(t=this._getOrReturnCtx(e,t),B(t,{code:R.too_small,type:`bigint`,minimum:r.value,inclusive:r.inclusive,message:r.message}),n.dirty()):r.kind===`max`?(r.inclusive?e.data>r.value:e.data>=r.value)&&(t=this._getOrReturnCtx(e,t),B(t,{code:R.too_big,type:`bigint`,maximum:r.value,inclusive:r.inclusive,message:r.message}),n.dirty()):r.kind===`multipleOf`?e.data%r.value!==BigInt(0)&&(t=this._getOrReturnCtx(e,t),B(t,{code:R.not_multiple_of,multipleOf:r.value,message:r.message}),n.dirty()):I.assertNever(r);return{status:n.value,value:e.data}}_getInvalidInput(e){let t=this._getOrReturnCtx(e);return B(t,{code:R.invalid_type,expected:L.bigint,received:t.parsedType}),H}gte(e,t){return this.setLimit(`min`,e,!0,U.toString(t))}gt(e,t){return this.setLimit(`min`,e,!1,U.toString(t))}lte(e,t){return this.setLimit(`max`,e,!0,U.toString(t))}lt(e,t){return this.setLimit(`max`,e,!1,U.toString(t))}setLimit(t,n,r,i){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:U.toString(i)}]})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}positive(e){return this._addCheck({kind:`min`,value:BigInt(0),inclusive:!1,message:U.toString(e)})}negative(e){return this._addCheck({kind:`max`,value:BigInt(0),inclusive:!1,message:U.toString(e)})}nonpositive(e){return this._addCheck({kind:`max`,value:BigInt(0),inclusive:!0,message:U.toString(e)})}nonnegative(e){return this._addCheck({kind:`min`,value:BigInt(0),inclusive:!0,message:U.toString(e)})}multipleOf(e,t){return this._addCheck({kind:`multipleOf`,value:e,message:U.toString(t)})}get minValue(){let e=null;for(let t of this._def.checks)t.kind===`min`&&(e===null||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(let t of this._def.checks)t.kind===`max`&&(e===null||t.value<e)&&(e=t.value);return e}};Ue.create=e=>new Ue({checks:[],typeName:Dt.ZodBigInt,coerce:e?.coerce??!1,...me(e)});var We=class extends he{_parse(e){if(this._def.coerce&&(e.data=!!e.data),this._getType(e)!==L.boolean){let t=this._getOrReturnCtx(e);return B(t,{code:R.invalid_type,expected:L.boolean,received:t.parsedType}),H}return se(e.data)}};We.create=e=>new We({typeName:Dt.ZodBoolean,coerce:e?.coerce||!1,...me(e)});var Ge=class e extends he{_parse(e){if(this._def.coerce&&(e.data=new Date(e.data)),this._getType(e)!==L.date){let t=this._getOrReturnCtx(e);return B(t,{code:R.invalid_type,expected:L.date,received:t.parsedType}),H}if(Number.isNaN(e.data.getTime()))return B(this._getOrReturnCtx(e),{code:R.invalid_date}),H;let t=new V,n;for(let r of this._def.checks)r.kind===`min`?e.data.getTime()<r.value&&(n=this._getOrReturnCtx(e,n),B(n,{code:R.too_small,message:r.message,inclusive:!0,exact:!1,minimum:r.value,type:`date`}),t.dirty()):r.kind===`max`?e.data.getTime()>r.value&&(n=this._getOrReturnCtx(e,n),B(n,{code:R.too_big,message:r.message,inclusive:!0,exact:!1,maximum:r.value,type:`date`}),t.dirty()):I.assertNever(r);return{status:t.value,value:new Date(e.data.getTime())}}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}min(e,t){return this._addCheck({kind:`min`,value:e.getTime(),message:U.toString(t)})}max(e,t){return this._addCheck({kind:`max`,value:e.getTime(),message:U.toString(t)})}get minDate(){let e=null;for(let t of this._def.checks)t.kind===`min`&&(e===null||t.value>e)&&(e=t.value);return e==null?null:new Date(e)}get maxDate(){let e=null;for(let t of this._def.checks)t.kind===`max`&&(e===null||t.value<e)&&(e=t.value);return e==null?null:new Date(e)}};Ge.create=e=>new Ge({checks:[],coerce:e?.coerce||!1,typeName:Dt.ZodDate,...me(e)});var Ke=class extends he{_parse(e){if(this._getType(e)!==L.symbol){let t=this._getOrReturnCtx(e);return B(t,{code:R.invalid_type,expected:L.symbol,received:t.parsedType}),H}return se(e.data)}};Ke.create=e=>new Ke({typeName:Dt.ZodSymbol,...me(e)});var qe=class extends he{_parse(e){if(this._getType(e)!==L.undefined){let t=this._getOrReturnCtx(e);return B(t,{code:R.invalid_type,expected:L.undefined,received:t.parsedType}),H}return se(e.data)}};qe.create=e=>new qe({typeName:Dt.ZodUndefined,...me(e)});var Je=class extends he{_parse(e){if(this._getType(e)!==L.null){let t=this._getOrReturnCtx(e);return B(t,{code:R.invalid_type,expected:L.null,received:t.parsedType}),H}return se(e.data)}};Je.create=e=>new Je({typeName:Dt.ZodNull,...me(e)});var Ye=class extends he{constructor(){super(...arguments),this._any=!0}_parse(e){return se(e.data)}};Ye.create=e=>new Ye({typeName:Dt.ZodAny,...me(e)});var Xe=class extends he{constructor(){super(...arguments),this._unknown=!0}_parse(e){return se(e.data)}};Xe.create=e=>new Xe({typeName:Dt.ZodUnknown,...me(e)});var Ze=class extends he{_parse(e){let t=this._getOrReturnCtx(e);return B(t,{code:R.invalid_type,expected:L.never,received:t.parsedType}),H}};Ze.create=e=>new Ze({typeName:Dt.ZodNever,...me(e)});var Qe=class extends he{_parse(e){if(this._getType(e)!==L.undefined){let t=this._getOrReturnCtx(e);return B(t,{code:R.invalid_type,expected:L.void,received:t.parsedType}),H}return se(e.data)}};Qe.create=e=>new Qe({typeName:Dt.ZodVoid,...me(e)});var $e=class e extends he{_parse(e){let{ctx:t,status:n}=this._processInputParams(e),r=this._def;if(t.parsedType!==L.array)return B(t,{code:R.invalid_type,expected:L.array,received:t.parsedType}),H;if(r.exactLength!==null){let e=t.data.length>r.exactLength.value,i=t.data.length<r.exactLength.value;(e||i)&&(B(t,{code:e?R.too_big:R.too_small,minimum:i?r.exactLength.value:void 0,maximum:e?r.exactLength.value:void 0,type:`array`,inclusive:!0,exact:!0,message:r.exactLength.message}),n.dirty())}if(r.minLength!==null&&t.data.length<r.minLength.value&&(B(t,{code:R.too_small,minimum:r.minLength.value,type:`array`,inclusive:!0,exact:!1,message:r.minLength.message}),n.dirty()),r.maxLength!==null&&t.data.length>r.maxLength.value&&(B(t,{code:R.too_big,maximum:r.maxLength.value,type:`array`,inclusive:!0,exact:!1,message:r.maxLength.message}),n.dirty()),t.common.async)return Promise.all([...t.data].map((e,n)=>r.type._parseAsync(new fe(t,e,t.path,n)))).then(e=>V.mergeArray(n,e));let i=[...t.data].map((e,n)=>r.type._parseSync(new fe(t,e,t.path,n)));return V.mergeArray(n,i)}get element(){return this._def.type}min(t,n){return new e({...this._def,minLength:{value:t,message:U.toString(n)}})}max(t,n){return new e({...this._def,maxLength:{value:t,message:U.toString(n)}})}length(t,n){return new e({...this._def,exactLength:{value:t,message:U.toString(n)}})}nonempty(e){return this.min(1,e)}};$e.create=(e,t)=>new $e({type:e,minLength:null,maxLength:null,exactLength:null,typeName:Dt.ZodArray,...me(t)});function et(e){if(e instanceof tt){let t={};for(let n in e.shape){let r=e.shape[n];t[n]=yt.create(et(r))}return new tt({...e._def,shape:()=>t})}return e instanceof $e?new $e({...e._def,type:et(e.element)}):e instanceof yt?yt.create(et(e.unwrap())):e instanceof bt?bt.create(et(e.unwrap())):e instanceof st?st.create(e.items.map(e=>et(e))):e}var tt=class e extends he{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let e=this._def.shape(),t=I.objectKeys(e);return this._cached={shape:e,keys:t},this._cached}_parse(e){if(this._getType(e)!==L.object){let t=this._getOrReturnCtx(e);return B(t,{code:R.invalid_type,expected:L.object,received:t.parsedType}),H}let{status:t,ctx:n}=this._processInputParams(e),{shape:r,keys:i}=this._getCached(),a=[];if(!(this._def.catchall instanceof Ze&&this._def.unknownKeys===`strip`))for(let e in n.data)i.includes(e)||a.push(e);let o=[];for(let e of i){let t=r[e],i=n.data[e];o.push({key:{status:`valid`,value:e},value:t._parse(new fe(n,i,n.path,e)),alwaysSet:e in n.data})}if(this._def.catchall instanceof Ze){let e=this._def.unknownKeys;if(e===`passthrough`)for(let e of a)o.push({key:{status:`valid`,value:e},value:{status:`valid`,value:n.data[e]}});else if(e===`strict`)a.length>0&&(B(n,{code:R.unrecognized_keys,keys:a}),t.dirty());else if(e!==`strip`)throw Error(`Internal ZodObject error: invalid unknownKeys value.`)}else{let e=this._def.catchall;for(let t of a){let r=n.data[t];o.push({key:{status:`valid`,value:t},value:e._parse(new fe(n,r,n.path,t)),alwaysSet:t in n.data})}}return n.common.async?Promise.resolve().then(async()=>{let e=[];for(let t of o){let n=await t.key,r=await t.value;e.push({key:n,value:r,alwaysSet:t.alwaysSet})}return e}).then(e=>V.mergeObjectSync(t,e)):V.mergeObjectSync(t,o)}get shape(){return this._def.shape()}strict(t){return U.errToObj,new e({...this._def,unknownKeys:`strict`,...t===void 0?{}:{errorMap:(e,n)=>{let r=this._def.errorMap?.(e,n).message??n.defaultError;return e.code===`unrecognized_keys`?{message:U.errToObj(t).message??r}:{message:r}}}})}strip(){return new e({...this._def,unknownKeys:`strip`})}passthrough(){return new e({...this._def,unknownKeys:`passthrough`})}extend(t){return new e({...this._def,shape:()=>({...this._def.shape(),...t})})}merge(t){return new e({unknownKeys:t._def.unknownKeys,catchall:t._def.catchall,shape:()=>({...this._def.shape(),...t._def.shape()}),typeName:Dt.ZodObject})}setKey(e,t){return this.augment({[e]:t})}catchall(t){return new e({...this._def,catchall:t})}pick(t){let n={};for(let e of I.objectKeys(t))t[e]&&this.shape[e]&&(n[e]=this.shape[e]);return new e({...this._def,shape:()=>n})}omit(t){let n={};for(let e of I.objectKeys(this.shape))t[e]||(n[e]=this.shape[e]);return new e({...this._def,shape:()=>n})}deepPartial(){return et(this)}partial(t){let n={};for(let e of I.objectKeys(this.shape)){let r=this.shape[e];n[e]=t&&!t[e]?r:r.optional()}return new e({...this._def,shape:()=>n})}required(t){let n={};for(let e of I.objectKeys(this.shape))if(t&&!t[e])n[e]=this.shape[e];else{let t=this.shape[e];for(;t instanceof yt;)t=t._def.innerType;n[e]=t}return new e({...this._def,shape:()=>n})}keyof(){return mt(I.objectKeys(this.shape))}};tt.create=(e,t)=>new tt({shape:()=>e,unknownKeys:`strip`,catchall:Ze.create(),typeName:Dt.ZodObject,...me(t)}),tt.strictCreate=(e,t)=>new tt({shape:()=>e,unknownKeys:`strict`,catchall:Ze.create(),typeName:Dt.ZodObject,...me(t)}),tt.lazycreate=(e,t)=>new tt({shape:e,unknownKeys:`strip`,catchall:Ze.create(),typeName:Dt.ZodObject,...me(t)});var nt=class extends he{_parse(e){let{ctx:t}=this._processInputParams(e),n=this._def.options;function r(e){for(let t of e)if(t.result.status===`valid`)return t.result;for(let n of e)if(n.result.status===`dirty`)return t.common.issues.push(...n.ctx.common.issues),n.result;let n=e.map(e=>new z(e.ctx.common.issues));return B(t,{code:R.invalid_union,unionErrors:n}),H}if(t.common.async)return Promise.all(n.map(async e=>{let n={...t,common:{...t.common,issues:[]},parent:null};return{result:await e._parseAsync({data:t.data,path:t.path,parent:n}),ctx:n}})).then(r);{let e,r=[];for(let i of n){let n={...t,common:{...t.common,issues:[]},parent:null},a=i._parseSync({data:t.data,path:t.path,parent:n});if(a.status===`valid`)return a;a.status===`dirty`&&!e&&(e={result:a,ctx:n}),n.common.issues.length&&r.push(n.common.issues)}if(e)return t.common.issues.push(...e.ctx.common.issues),e.result;let i=r.map(e=>new z(e));return B(t,{code:R.invalid_union,unionErrors:i}),H}}get options(){return this._def.options}};nt.create=(e,t)=>new nt({options:e,typeName:Dt.ZodUnion,...me(t)});var rt=e=>e instanceof ft?rt(e.schema):e instanceof vt?rt(e.innerType()):e instanceof pt?[e.value]:e instanceof ht?e.options:e instanceof gt?I.objectValues(e.enum):e instanceof xt?rt(e._def.innerType):e instanceof qe?[void 0]:e instanceof Je?[null]:e instanceof yt?[void 0,...rt(e.unwrap())]:e instanceof bt?[null,...rt(e.unwrap())]:e instanceof wt||e instanceof Et?rt(e.unwrap()):e instanceof St?rt(e._def.innerType):[],it=class e extends he{_parse(e){let{ctx:t}=this._processInputParams(e);if(t.parsedType!==L.object)return B(t,{code:R.invalid_type,expected:L.object,received:t.parsedType}),H;let n=this.discriminator,r=t.data[n],i=this.optionsMap.get(r);return i?t.common.async?i._parseAsync({data:t.data,path:t.path,parent:t}):i._parseSync({data:t.data,path:t.path,parent:t}):(B(t,{code:R.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[n]}),H)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(t,n,r){let i=new Map;for(let e of n){let n=rt(e.shape[t]);if(!n.length)throw Error(`A discriminator value for key \`${t}\` could not be extracted from all schema options`);for(let r of n){if(i.has(r))throw Error(`Discriminator property ${String(t)} has duplicate value ${String(r)}`);i.set(r,e)}}return new e({typeName:Dt.ZodDiscriminatedUnion,discriminator:t,options:n,optionsMap:i,...me(r)})}};function at(e,t){let n=te(e),r=te(t);if(e===t)return{valid:!0,data:e};if(n===L.object&&r===L.object){let n=I.objectKeys(t),r=I.objectKeys(e).filter(e=>n.indexOf(e)!==-1),i={...e,...t};for(let n of r){let r=at(e[n],t[n]);if(!r.valid)return{valid:!1};i[n]=r.data}return{valid:!0,data:i}}if(n===L.array&&r===L.array){if(e.length!==t.length)return{valid:!1};let n=[];for(let r=0;r<e.length;r++){let i=e[r],a=t[r],o=at(i,a);if(!o.valid)return{valid:!1};n.push(o.data)}return{valid:!0,data:n}}return n===L.date&&r===L.date&&+e==+t?{valid:!0,data:e}:{valid:!1}}var ot=class extends he{_parse(e){let{status:t,ctx:n}=this._processInputParams(e),r=(e,r)=>{if(ce(e)||ce(r))return H;let i=at(e.value,r.value);return i.valid?((le(e)||le(r))&&t.dirty(),{status:t.value,value:i.data}):(B(n,{code:R.invalid_intersection_types}),H)};return n.common.async?Promise.all([this._def.left._parseAsync({data:n.data,path:n.path,parent:n}),this._def.right._parseAsync({data:n.data,path:n.path,parent:n})]).then(([e,t])=>r(e,t)):r(this._def.left._parseSync({data:n.data,path:n.path,parent:n}),this._def.right._parseSync({data:n.data,path:n.path,parent:n}))}};ot.create=(e,t,n)=>new ot({left:e,right:t,typeName:Dt.ZodIntersection,...me(n)});var st=class e extends he{_parse(e){let{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==L.array)return B(n,{code:R.invalid_type,expected:L.array,received:n.parsedType}),H;if(n.data.length<this._def.items.length)return B(n,{code:R.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:`array`}),H;!this._def.rest&&n.data.length>this._def.items.length&&(B(n,{code:R.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:`array`}),t.dirty());let r=[...n.data].map((e,t)=>{let r=this._def.items[t]||this._def.rest;return r?r._parse(new fe(n,e,n.path,t)):null}).filter(e=>!!e);return n.common.async?Promise.all(r).then(e=>V.mergeArray(t,e)):V.mergeArray(t,r)}get items(){return this._def.items}rest(t){return new e({...this._def,rest:t})}};st.create=(e,t)=>{if(!Array.isArray(e))throw Error(`You must pass an array of schemas to z.tuple([ ... ])`);return new st({items:e,typeName:Dt.ZodTuple,rest:null,...me(t)})};var ct=class e extends he{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==L.object)return B(n,{code:R.invalid_type,expected:L.object,received:n.parsedType}),H;let r=[],i=this._def.keyType,a=this._def.valueType;for(let e in n.data)r.push({key:i._parse(new fe(n,e,n.path,e)),value:a._parse(new fe(n,n.data[e],n.path,e)),alwaysSet:e in n.data});return n.common.async?V.mergeObjectAsync(t,r):V.mergeObjectSync(t,r)}get element(){return this._def.valueType}static create(t,n,r){return n instanceof he?new e({keyType:t,valueType:n,typeName:Dt.ZodRecord,...me(r)}):new e({keyType:Be.create(),valueType:t,typeName:Dt.ZodRecord,...me(n)})}},lt=class extends he{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==L.map)return B(n,{code:R.invalid_type,expected:L.map,received:n.parsedType}),H;let r=this._def.keyType,i=this._def.valueType,a=[...n.data.entries()].map(([e,t],a)=>({key:r._parse(new fe(n,e,n.path,[a,`key`])),value:i._parse(new fe(n,t,n.path,[a,`value`]))}));if(n.common.async){let e=new Map;return Promise.resolve().then(async()=>{for(let n of a){let r=await n.key,i=await n.value;if(r.status===`aborted`||i.status===`aborted`)return H;(r.status===`dirty`||i.status===`dirty`)&&t.dirty(),e.set(r.value,i.value)}return{status:t.value,value:e}})}{let e=new Map;for(let n of a){let r=n.key,i=n.value;if(r.status===`aborted`||i.status===`aborted`)return H;(r.status===`dirty`||i.status===`dirty`)&&t.dirty(),e.set(r.value,i.value)}return{status:t.value,value:e}}}};lt.create=(e,t,n)=>new lt({valueType:t,keyType:e,typeName:Dt.ZodMap,...me(n)});var ut=class e extends he{_parse(e){let{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==L.set)return B(n,{code:R.invalid_type,expected:L.set,received:n.parsedType}),H;let r=this._def;r.minSize!==null&&n.data.size<r.minSize.value&&(B(n,{code:R.too_small,minimum:r.minSize.value,type:`set`,inclusive:!0,exact:!1,message:r.minSize.message}),t.dirty()),r.maxSize!==null&&n.data.size>r.maxSize.value&&(B(n,{code:R.too_big,maximum:r.maxSize.value,type:`set`,inclusive:!0,exact:!1,message:r.maxSize.message}),t.dirty());let i=this._def.valueType;function a(e){let n=new Set;for(let r of e){if(r.status===`aborted`)return H;r.status===`dirty`&&t.dirty(),n.add(r.value)}return{status:t.value,value:n}}let o=[...n.data.values()].map((e,t)=>i._parse(new fe(n,e,n.path,t)));return n.common.async?Promise.all(o).then(e=>a(e)):a(o)}min(t,n){return new e({...this._def,minSize:{value:t,message:U.toString(n)}})}max(t,n){return new e({...this._def,maxSize:{value:t,message:U.toString(n)}})}size(e,t){return this.min(e,t).max(e,t)}nonempty(e){return this.min(1,e)}};ut.create=(e,t)=>new ut({valueType:e,minSize:null,maxSize:null,typeName:Dt.ZodSet,...me(t)});var dt=class e extends he{constructor(){super(...arguments),this.validate=this.implement}_parse(e){let{ctx:t}=this._processInputParams(e);if(t.parsedType!==L.function)return B(t,{code:R.invalid_type,expected:L.function,received:t.parsedType}),H;function n(e,n){return ae({data:e,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,ie(),ne].filter(e=>!!e),issueData:{code:R.invalid_arguments,argumentsError:n}})}function r(e,n){return ae({data:e,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,ie(),ne].filter(e=>!!e),issueData:{code:R.invalid_return_type,returnTypeError:n}})}let i={errorMap:t.common.contextualErrorMap},a=t.data;if(this._def.returns instanceof _t){let e=this;return se(async function(...t){let o=new z([]),s=await e._def.args.parseAsync(t,i).catch(e=>{throw o.addIssue(n(t,e)),o}),c=await Reflect.apply(a,this,s);return await e._def.returns._def.type.parseAsync(c,i).catch(e=>{throw o.addIssue(r(c,e)),o})})}{let e=this;return se(function(...t){let o=e._def.args.safeParse(t,i);if(!o.success)throw new z([n(t,o.error)]);let s=Reflect.apply(a,this,o.data),c=e._def.returns.safeParse(s,i);if(!c.success)throw new z([r(s,c.error)]);return c.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...t){return new e({...this._def,args:st.create(t).rest(Xe.create())})}returns(t){return new e({...this._def,returns:t})}implement(e){return this.parse(e)}strictImplement(e){return this.parse(e)}static create(t,n,r){return new e({args:t||st.create([]).rest(Xe.create()),returns:n||Xe.create(),typeName:Dt.ZodFunction,...me(r)})}},ft=class extends he{get schema(){return this._def.getter()}_parse(e){let{ctx:t}=this._processInputParams(e);return this._def.getter()._parse({data:t.data,path:t.path,parent:t})}};ft.create=(e,t)=>new ft({getter:e,typeName:Dt.ZodLazy,...me(t)});var pt=class extends he{_parse(e){if(e.data!==this._def.value){let t=this._getOrReturnCtx(e);return B(t,{received:t.data,code:R.invalid_literal,expected:this._def.value}),H}return{status:`valid`,value:e.data}}get value(){return this._def.value}};pt.create=(e,t)=>new pt({value:e,typeName:Dt.ZodLiteral,...me(t)});function mt(e,t){return new ht({values:e,typeName:Dt.ZodEnum,...me(t)})}var ht=class e extends he{_parse(e){if(typeof e.data!=`string`){let t=this._getOrReturnCtx(e),n=this._def.values;return B(t,{expected:I.joinValues(n),received:t.parsedType,code:R.invalid_type}),H}if(this._cache||=new Set(this._def.values),!this._cache.has(e.data)){let t=this._getOrReturnCtx(e),n=this._def.values;return B(t,{received:t.data,code:R.invalid_enum_value,options:n}),H}return se(e.data)}get options(){return this._def.values}get enum(){let e={};for(let t of this._def.values)e[t]=t;return e}get Values(){let e={};for(let t of this._def.values)e[t]=t;return e}get Enum(){let e={};for(let t of this._def.values)e[t]=t;return e}extract(t,n=this._def){return e.create(t,{...this._def,...n})}exclude(t,n=this._def){return e.create(this.options.filter(e=>!t.includes(e)),{...this._def,...n})}};ht.create=mt;var gt=class extends he{_parse(e){let t=I.getValidEnumValues(this._def.values),n=this._getOrReturnCtx(e);if(n.parsedType!==L.string&&n.parsedType!==L.number){let e=I.objectValues(t);return B(n,{expected:I.joinValues(e),received:n.parsedType,code:R.invalid_type}),H}if(this._cache||=new Set(I.getValidEnumValues(this._def.values)),!this._cache.has(e.data)){let e=I.objectValues(t);return B(n,{received:n.data,code:R.invalid_enum_value,options:e}),H}return se(e.data)}get enum(){return this._def.values}};gt.create=(e,t)=>new gt({values:e,typeName:Dt.ZodNativeEnum,...me(t)});var _t=class extends he{unwrap(){return this._def.type}_parse(e){let{ctx:t}=this._processInputParams(e);return t.parsedType!==L.promise&&t.common.async===!1?(B(t,{code:R.invalid_type,expected:L.promise,received:t.parsedType}),H):se((t.parsedType===L.promise?t.data:Promise.resolve(t.data)).then(e=>this._def.type.parseAsync(e,{path:t.path,errorMap:t.common.contextualErrorMap})))}};_t.create=(e,t)=>new _t({type:e,typeName:Dt.ZodPromise,...me(t)});var vt=class extends he{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===Dt.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){let{status:t,ctx:n}=this._processInputParams(e),r=this._def.effect||null,i={addIssue:e=>{B(n,e),e.fatal?t.abort():t.dirty()},get path(){return n.path}};if(i.addIssue=i.addIssue.bind(i),r.type===`preprocess`){let e=r.transform(n.data,i);if(n.common.async)return Promise.resolve(e).then(async e=>{if(t.value===`aborted`)return H;let r=await this._def.schema._parseAsync({data:e,path:n.path,parent:n});return r.status===`aborted`?H:r.status===`dirty`||t.value===`dirty`?oe(r.value):r});{if(t.value===`aborted`)return H;let r=this._def.schema._parseSync({data:e,path:n.path,parent:n});return r.status===`aborted`?H:r.status===`dirty`||t.value===`dirty`?oe(r.value):r}}if(r.type===`refinement`){let e=e=>{let t=r.refinement(e,i);if(n.common.async)return Promise.resolve(t);if(t instanceof Promise)throw Error(`Async refinement encountered during synchronous parse operation. Use .parseAsync instead.`);return e};if(n.common.async===!1){let r=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});return r.status===`aborted`?H:(r.status===`dirty`&&t.dirty(),e(r.value),{status:t.value,value:r.value})}return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(n=>n.status===`aborted`?H:(n.status===`dirty`&&t.dirty(),e(n.value).then(()=>({status:t.value,value:n.value}))))}if(r.type===`transform`){if(n.common.async===!1){let e=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});if(!ue(e))return H;let a=r.transform(e.value,i);if(a instanceof Promise)throw Error(`Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.`);return{status:t.value,value:a}}return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(e=>ue(e)?Promise.resolve(r.transform(e.value,i)).then(e=>({status:t.value,value:e})):H)}I.assertNever(r)}};vt.create=(e,t,n)=>new vt({schema:e,typeName:Dt.ZodEffects,effect:t,...me(n)}),vt.createWithPreprocess=(e,t,n)=>new vt({schema:t,effect:{type:`preprocess`,transform:e},typeName:Dt.ZodEffects,...me(n)});var yt=class extends he{_parse(e){return this._getType(e)===L.undefined?se(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};yt.create=(e,t)=>new yt({innerType:e,typeName:Dt.ZodOptional,...me(t)});var bt=class extends he{_parse(e){return this._getType(e)===L.null?se(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};bt.create=(e,t)=>new bt({innerType:e,typeName:Dt.ZodNullable,...me(t)});var xt=class extends he{_parse(e){let{ctx:t}=this._processInputParams(e),n=t.data;return t.parsedType===L.undefined&&(n=this._def.defaultValue()),this._def.innerType._parse({data:n,path:t.path,parent:t})}removeDefault(){return this._def.innerType}};xt.create=(e,t)=>new xt({innerType:e,typeName:Dt.ZodDefault,defaultValue:typeof t.default==`function`?t.default:()=>t.default,...me(t)});var St=class extends he{_parse(e){let{ctx:t}=this._processInputParams(e),n={...t,common:{...t.common,issues:[]}},r=this._def.innerType._parse({data:n.data,path:n.path,parent:{...n}});return de(r)?r.then(e=>({status:`valid`,value:e.status===`valid`?e.value:this._def.catchValue({get error(){return new z(n.common.issues)},input:n.data})})):{status:`valid`,value:r.status===`valid`?r.value:this._def.catchValue({get error(){return new z(n.common.issues)},input:n.data})}}removeCatch(){return this._def.innerType}};St.create=(e,t)=>new St({innerType:e,typeName:Dt.ZodCatch,catchValue:typeof t.catch==`function`?t.catch:()=>t.catch,...me(t)});var Ct=class extends he{_parse(e){if(this._getType(e)!==L.nan){let t=this._getOrReturnCtx(e);return B(t,{code:R.invalid_type,expected:L.nan,received:t.parsedType}),H}return{status:`valid`,value:e.data}}};Ct.create=e=>new Ct({typeName:Dt.ZodNaN,...me(e)});var wt=class extends he{_parse(e){let{ctx:t}=this._processInputParams(e),n=t.data;return this._def.type._parse({data:n,path:t.path,parent:t})}unwrap(){return this._def.type}},Tt=class e extends he{_parse(e){let{status:t,ctx:n}=this._processInputParams(e);if(n.common.async)return(async()=>{let e=await this._def.in._parseAsync({data:n.data,path:n.path,parent:n});return e.status===`aborted`?H:e.status===`dirty`?(t.dirty(),oe(e.value)):this._def.out._parseAsync({data:e.value,path:n.path,parent:n})})();{let e=this._def.in._parseSync({data:n.data,path:n.path,parent:n});return e.status===`aborted`?H:e.status===`dirty`?(t.dirty(),{status:`dirty`,value:e.value}):this._def.out._parseSync({data:e.value,path:n.path,parent:n})}}static create(t,n){return new e({in:t,out:n,typeName:Dt.ZodPipeline})}},Et=class extends he{_parse(e){let t=this._def.innerType._parse(e),n=e=>(ue(e)&&(e.value=Object.freeze(e.value)),e);return de(t)?t.then(e=>n(e)):n(t)}unwrap(){return this._def.innerType}};Et.create=(e,t)=>new Et({innerType:e,typeName:Dt.ZodReadonly,...me(t)}),tt.lazycreate;var Dt;(function(e){e.ZodString=`ZodString`,e.ZodNumber=`ZodNumber`,e.ZodNaN=`ZodNaN`,e.ZodBigInt=`ZodBigInt`,e.ZodBoolean=`ZodBoolean`,e.ZodDate=`ZodDate`,e.ZodSymbol=`ZodSymbol`,e.ZodUndefined=`ZodUndefined`,e.ZodNull=`ZodNull`,e.ZodAny=`ZodAny`,e.ZodUnknown=`ZodUnknown`,e.ZodNever=`ZodNever`,e.ZodVoid=`ZodVoid`,e.ZodArray=`ZodArray`,e.ZodObject=`ZodObject`,e.ZodUnion=`ZodUnion`,e.ZodDiscriminatedUnion=`ZodDiscriminatedUnion`,e.ZodIntersection=`ZodIntersection`,e.ZodTuple=`ZodTuple`,e.ZodRecord=`ZodRecord`,e.ZodMap=`ZodMap`,e.ZodSet=`ZodSet`,e.ZodFunction=`ZodFunction`,e.ZodLazy=`ZodLazy`,e.ZodLiteral=`ZodLiteral`,e.ZodEnum=`ZodEnum`,e.ZodEffects=`ZodEffects`,e.ZodNativeEnum=`ZodNativeEnum`,e.ZodOptional=`ZodOptional`,e.ZodNullable=`ZodNullable`,e.ZodDefault=`ZodDefault`,e.ZodCatch=`ZodCatch`,e.ZodPromise=`ZodPromise`,e.ZodBranded=`ZodBranded`,e.ZodPipeline=`ZodPipeline`,e.ZodReadonly=`ZodReadonly`})(Dt||={});var Ot=Be.create,kt=He.create;Ct.create,Ue.create;var At=We.create;Ge.create,Ke.create,qe.create,Je.create;var jt=Ye.create;Xe.create,Ze.create,Qe.create;var Mt=$e.create,Nt=tt.create;tt.strictCreate;var Pt=nt.create;it.create,ot.create,st.create;var Ft=ct.create;lt.create,ut.create,dt.create,ft.create;var It=pt.create,Lt=ht.create;gt.create,_t.create,vt.create,yt.create,bt.create;var Rt=vt.createWithPreprocess;Tt.create;var zt={string:(e=>Be.create({...e,coerce:!0})),number:(e=>He.create({...e,coerce:!0})),boolean:(e=>We.create({...e,coerce:!0})),bigint:(e=>Ue.create({...e,coerce:!0})),date:(e=>Ge.create({...e,coerce:!0}))},Bt=class extends Error{constructor(e,t=`UNKNOWN_ERROR`){super(e),this.name=this.constructor.name,this.code=t,Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}},Vt=class extends Bt{constructor(e,t){super(e,`VALIDATION_ERROR`),this.details=t}},Ht=class extends Bt{constructor(e,t){super(e,`DATA_ERROR`),this.path=t}},Ut=class extends Bt{constructor(e,t,n){super(e,`EXPRESSION_ERROR`),this.expression=t,this.details=n}},Wt=class extends Bt{constructor(e){super(e,`STATE_ERROR`)}};function Gt(e,t){return{name:e.name,returnType:e.returnType,schema:e.schema,execute:t}}var Kt=class{constructor(e,t,n=[],r){this.id=e;let i=new Map;for(let e of t)i.set(e.name,e);this.components=i;let a=new Map;for(let e of n)a.set(e.name,e);this.functions=a,this.themeSchema=r,this.invoker=(e,t,n,r)=>{let i=this.functions.get(e);if(!i)throw new Ut(`Function not found in catalog '${this.id}': ${e}`,e);try{let e=i.schema.parse(t);return i.execute(e,n,r)}catch(t){throw t?.name===`ZodError`||t instanceof z?new Ut(`Validation failed for function '${e}': ${t.message}`,e,t.errors??t.issues):t}}}},qt=class{constructor(){this.listeners=new Set}subscribe(e){return this.listeners.add(e),{unsubscribe:()=>this.listeners.delete(e)}}async emit(e){for(let t of this.listeners)try{await t(e)}catch(e){console.error(`EventEmitter error:`,e)}}dispose(){this.listeners.clear()}},Jt=Symbol.for(`preact-signals`);function Yt(){if(tn>1)tn--;else{var e,t=!1;for((function(){var e=on;for(on=void 0;e!==void 0;){var t=e.S;if(t.v===e.v)for(var n=t.t;n!==void 0;n=n.x)n.i===e.i&&(n.i=t.i);e=e.o}})();en!==void 0;){var n=en;for(en=void 0,nn++;n!==void 0;){var r=n.u;if(n.u=void 0,n.f&=-3,!(8&n.f)&&dn(n))try{n.c()}catch(n){t||=(e=n,!0)}n=r}}if(nn=0,tn--,t)throw e}}function Xt(e){if(tn>0)return e();an=++rn,tn++;try{return e()}finally{Yt()}}var Zt,Qt=void 0;function $t(e){var t=Qt,n=Zt;Qt=void 0,Zt=void 0;try{return e()}finally{Qt=t,Zt=n}}var en=void 0,tn=0,nn=0,rn=0,an=0,on=void 0,sn=0;function cn(e){if(Qt!==void 0){var t=e.n;if(t===void 0||t.t!==Qt)return t={i:0,S:e,p:Qt.s,n:void 0,t:Qt,e:void 0,x:void 0,r:t},Qt.s!==void 0&&(Qt.s.n=t),Qt.s=t,e.n=t,32&Qt.f&&e.S(t),t;if(t.i===-1)return t.i=0,t.n!==void 0&&(t.n.p=t.p,t.p!==void 0&&(t.p.n=t.n),t.p=Qt.s,t.n=void 0,Qt.s.n=t,Qt.s=t),t}}function ln(e,t){this.v=e,this.i=0,this.n=void 0,this.t=void 0,this.l=0,this.W=t?.watched,this.Z=t?.unwatched,this.name=t?.name}ln.prototype.brand=Jt,ln.prototype.h=function(){return!0},ln.prototype.S=function(e){var t=this,n=this.t;n!==e&&e.e===void 0&&(e.x=n,this.t=e,n===void 0?$t(function(){var e;(e=t.W)==null||e.call(t)}):n.e=e)},ln.prototype.U=function(e){var t=this;if(this.t!==void 0){var n=e.e,r=e.x;n!==void 0&&(n.x=r,e.e=void 0),r!==void 0&&(r.e=n,e.x=void 0),e===this.t&&(this.t=r,r===void 0&&$t(function(){var e;(e=t.Z)==null||e.call(t)}))}},ln.prototype.subscribe=function(e){var t=this;return bn(function(){var n=t.value;$t(function(){return e(n)})},{name:`sub`})},ln.prototype.valueOf=function(){return this.value},ln.prototype.toString=function(){return this.value+``},ln.prototype.toJSON=function(){return this.value},ln.prototype.peek=function(){var e=this;return $t(function(){return e.value})},Object.defineProperty(ln.prototype,"value",{get:function(){var e=cn(this);return e!==void 0&&(e.i=this.i),this.v},set:function(e){if(e!==this.v){if(nn>100)throw Error(`Cycle detected`);(function(e){tn!==0&&nn===0&&e.l!==an&&(e.l=an,on={S:e,v:e.v,i:e.i,o:on})})(this),this.v=e,this.i++,sn++,tn++;try{for(var t=this.t;t!==void 0;t=t.x)t.t.N()}finally{Yt()}}}});function un(e,t){return new ln(e,t)}function dn(e){for(var t=e.s;t!==void 0;t=t.n)if(t.S.i!==t.i||!t.S.h()||t.S.i!==t.i)return!0;return!1}function fn(e){for(var t=e.s;t!==void 0;t=t.n){var n=t.S.n;if(n!==void 0&&(t.r=n),t.S.n=t,t.i=-1,t.n===void 0){e.s=t;break}}}function pn(e){for(var t=e.s,n=void 0;t!==void 0;){var r=t.p;t.i===-1?(t.S.U(t),r!==void 0&&(r.n=t.n),t.n!==void 0&&(t.n.p=r)):n=t,t.S.n=t.r,t.r!==void 0&&(t.r=void 0),t=r}e.s=n}function mn(e,t){ln.call(this,void 0,t),this.x=e,this.s=void 0,this.g=sn-1,this.f=4}mn.prototype=new ln,mn.prototype.h=function(){if(this.f&=-3,1&this.f)return!1;if((36&this.f)==32||(this.f&=-5,this.g===sn))return!0;if(this.g=sn,this.f|=1,this.i>0&&!dn(this))return this.f&=-2,!0;var e=Qt;try{fn(this),Qt=this;var t=this.x();(16&this.f||this.v!==t||this.i===0)&&(this.v=t,this.f&=-17,this.i++)}catch(e){this.v=e,this.f|=16,this.i++}return Qt=e,pn(this),this.f&=-2,!0},mn.prototype.S=function(e){if(this.t===void 0){this.f|=36;for(var t=this.s;t!==void 0;t=t.n)t.S.S(t)}ln.prototype.S.call(this,e)},mn.prototype.U=function(e){if(this.t!==void 0&&(ln.prototype.U.call(this,e),this.t===void 0)){this.f&=-33;for(var t=this.s;t!==void 0;t=t.n)t.S.U(t)}},mn.prototype.N=function(){if(!(2&this.f)){this.f|=6;for(var e=this.t;e!==void 0;e=e.x)e.t.N()}},Object.defineProperty(mn.prototype,"value",{get:function(){if(1&this.f)throw Error(`Cycle detected`);var e=cn(this);if(this.h(),e!==void 0&&(e.i=this.i),16&this.f)throw this.v;return this.v}});function hn(e,t){return new mn(e,t)}function gn(e){var t=e.m;if(e.m=void 0,typeof t==`function`){tn++;var n=Qt;Qt=void 0;try{t()}catch(t){throw e.f&=-2,e.f|=8,_n(e),t}finally{Qt=n,Yt()}}}function _n(e){for(var t=e.s;t!==void 0;t=t.n)t.S.U(t);e.x=void 0,e.s=void 0,gn(e)}function vn(e){if(Qt!==this)throw Error(`Out-of-order effect`);pn(this),Qt=e,this.f&=-2,8&this.f&&_n(this),Yt()}function yn(e,t){this.x=e,this.m=void 0,this.s=void 0,this.u=void 0,this.f=32,this.name=t?.name,Zt&&Zt.push(this)}yn.prototype.c=function(){var e=this.S();try{if(8&this.f||this.x===void 0)return;var t=this.x();typeof t==`function`&&(this.m=t)}finally{e()}},yn.prototype.S=function(){if(1&this.f)throw Error(`Cycle detected`);this.f|=1,this.f&=-9,gn(this),fn(this),tn++;var e=Qt;return Qt=this,vn.bind(this,e)},yn.prototype.N=function(){2&this.f||(this.f|=2,this.u=en,en=this)},yn.prototype.d=function(){this.f|=8,1&this.f||_n(this)},yn.prototype.dispose=function(){this.d()};function bn(e,t){var n=new yn(e,t);try{n.c()}catch(e){throw n.d(),e}var r=n.d.bind(n);return r[Symbol.dispose]=r,r}var xn,Sn,Cn,wn,Tn,En,Dn,On;kn({signal:un,computed:hn,effect:bn,batchWrite:Xt,isSignal:e=>!!e&&typeof e==`object`&&`value`in e&&`peek`in e,getValue:e=>e.value,setValue:(e,t)=>{e instanceof mn||(e.value=t)},peekValue:e=>e.peek()});function kn(e){xn=e.signal,Sn=e.computed,Cn=e.effect,wn=e.batchWrite,Tn=e.isSignal,En=e.getValue,Dn=e.setValue,On=e.peekValue}function An(e){return xn(e)}function jn(e){return Sn(e)}function Mn(e){return Cn(e)}function Nn(e){return wn(e)}function Pn(e){return Tn(e)}function Fn(e){return En(e)}function In(e,t){Dn(e,t)}function Ln(e){return On(e)}function Rn(e){return/^\d+$/.test(e)}var zn=class{constructor(e={}){this.data={},this.signals=new Map,this.subscriptions=new Set,this.data=e}getSignal(e){let t=this.normalizePath(e);return this.signals.has(t)||this.signals.set(t,An(this.get(t))),this.signals.get(t)}set(e,t){if(e==null)throw new Ht(`Path cannot be null or undefined.`);if(e===`/`||e===``)return this.data=t,this.notifyAllSignals(),this;let n=this.parsePath(e),r=n.pop();this.data||={};let i=this.data;for(let t=0;t<n.length;t++){let a=n[t];if(Array.isArray(i)&&!Rn(a))throw new Ht(`Cannot use non-numeric segment '${a}' on an array in path '${e}'.`,e);if(i[a]!==void 0&&i[a]!==null&&typeof i[a]!=`object`)throw new Ht(`Cannot set path '${e}': segment '${a}' is a primitive value.`,e);if(i[a]===void 0||i[a]===null){let e=t<n.length-1?n[t+1]:r;i[a]=Rn(e)?[]:{}}i=i[a]}if(Array.isArray(i)&&!Rn(r))throw new Ht(`Cannot use non-numeric segment '${r}' on an array in path '${e}'.`,e);return t===void 0?Array.isArray(i)?i[parseInt(r,10)]=void 0:delete i[r]:i[r]=t,this.notifySignals(e),this}get(e){if(e==null)throw new Ht(`Path cannot be null or undefined.`);if(e===`/`||e===``)return this.data;let t=this.parsePath(e),n=this.data;for(let e of t){if(n==null)return;n=n[e]}return n}subscribe(e,t){let n=this.getSignal(e),r=!0,i=Ln(n),a=Mn(()=>{let e=Fn(n);i=e,r||t(e)});return r=!1,this.subscriptions.add(a),{get value(){return i},unsubscribe:()=>{a(),this.subscriptions.delete(a)}}}dispose(){for(let e of this.subscriptions)e();this.subscriptions.clear(),this.signals.clear()}normalizePath(e){return e.length>1&&e.endsWith(`/`)?e.slice(0,-1):e||`/`}parsePath(e){return e.split(`/`).filter(e=>e.length>0).map(e=>e.replace(/~([01])/g,(e,t)=>t===`1`?`/`:`~`))}notifySignals(e){let t=this.normalizePath(e);Nn(()=>{this.updateSignal(t);let e=t;for(;e!==`/`&&e!==``;)e=e.substring(0,e.lastIndexOf(`/`))||`/`,this.updateSignal(e);for(let e of this.signals.keys())this.isDescendant(e,t)&&this.updateSignal(e)})}updateSignal(e){let t=this.signals.get(e);if(t){let n=this.get(e);Array.isArray(n)?In(t,[...n]):typeof n==`object`&&n?In(t,{...n}):In(t,n)}}notifyAllSignals(){Nn(()=>{for(let e of this.signals.keys())this.updateSignal(e)})}isDescendant(e,t){return t===`/`||t===``?e!==`/`:e.startsWith(t+`/`)}},Bn=class{constructor(){this.components=new Map,this._onCreated=new qt,this._onDeleted=new qt,this.onCreated=this._onCreated,this.onDeleted=this._onDeleted}get(e){return this.components.get(e)}get entries(){return this.components.entries()}addComponent(e){if(this.components.has(e.id))throw new Wt(`Component with id '${e.id}' already exists.`);this.components.set(e.id,e),this._onCreated.emit(e)}removeComponent(e){let t=this.components.get(e);t&&(this.components.delete(e),t.dispose(),this._onDeleted.emit(e))}dispose(){for(let e of this.components.values())e.dispose();this.components.clear(),this._onCreated.dispose(),this._onDeleted.dispose()}},Vn=Nt({name:Ot().describe(`The name of the action, taken from the component's action.event.name property.`),surfaceId:Ot().describe(`The id of the surface where the event originated.`),sourceComponentId:Ot().describe(`The id of the component that triggered the event.`),timestamp:Ot().datetime().describe(`An ISO 8601 timestamp of when the event occurred.`),context:Ft(jt()).describe(`A JSON object containing the key-value pairs from the component's action.event.context, after resolving all data bindings.`)}).strict(),Hn=Pt([Nt({code:It(`VALIDATION_FAILED`),surfaceId:Ot().describe(`The id of the surface where the error occurred.`),path:Ot().describe(`The JSON pointer to the field that failed validation (e.g. '/components/0/text').`),message:Ot().describe(`A short one or two sentence description of why validation failed.`)}).strict(),Nt({code:Ot().refine(e=>e!==`VALIDATION_FAILED`),message:Ot().describe(`A short one or two sentence description of why the error occurred.`),surfaceId:Ot().describe(`The id of the surface where the error occurred.`)}).passthrough()]),Un=Nt({version:It(`v0.9`)}).and(Pt([Nt({action:Vn}),Nt({error:Hn})]));Nt({version:It(`v0.9`),surfaces:Ft(Nt({}).passthrough()).describe(`A map of surface IDs to their current data models.`)}).strict(),Nt({messages:Mt(Un).describe(`A list of client messages.`)}).strict().describe(`An object wrapping a list of client messages.`);var Wn=class{constructor(e,t,n={},r=!1){this.id=e,this.catalog=t,this.theme=n,this.sendDataModel=r,this._onAction=new qt,this._onError=new qt,this.onAction=this._onAction,this.onError=this._onError,this.dataModel=new zn({}),this.componentsModel=new Bn}async dispatchAction(e,t){if(e&&typeof e==`object`&&`event`in e&&e.event){let n={name:e.event.name,surfaceId:this.id,sourceComponentId:t,timestamp:new Date().toISOString(),context:e.event.context||{}},r=Vn.safeParse(n);r.success?await this._onAction.emit(r.data):console.error(`A2UI: Invalid action payload dispatched.`,r.error.format())}}async dispatchError(e){await this._onError.emit({...e,surfaceId:this.id})}dispose(){this.dataModel.dispose(),this.componentsModel.dispose(),this._onAction.dispose(),this._onError.dispose()}},Gn=class{constructor(){this.surfaces=new Map,this.surfaceUnsubscribers=new Map,this._onSurfaceCreated=new qt,this._onSurfaceDeleted=new qt,this._onAction=new qt,this.onSurfaceCreated=this._onSurfaceCreated,this.onSurfaceDeleted=this._onSurfaceDeleted,this.onAction=this._onAction}addSurface(e){if(this.surfaces.has(e.id)){console.warn(`Surface ${e.id} already exists. Ignoring.`);return}this.surfaces.set(e.id,e);let t=e.onAction.subscribe(e=>this._onAction.emit(e));this.surfaceUnsubscribers.set(e.id,t),this._onSurfaceCreated.emit(e)}deleteSurface(e){let t=this.surfaces.get(e);if(t){let n=this.surfaceUnsubscribers.get(e);n&&(n.unsubscribe(),this.surfaceUnsubscribers.delete(e)),this.surfaces.delete(e),t.dispose(),this._onSurfaceDeleted.emit(e)}}getSurface(e){return this.surfaces.get(e)}get surfacesMap(){return this.surfaces}dispose(){for(let e of Array.from(this.surfaces.keys()))this.deleteSurface(e);this._onSurfaceCreated.dispose(),this._onSurfaceDeleted.dispose(),this._onAction.dispose()}},Kn=class{constructor(e,t,n){this.id=e,this.type=t,this._onUpdated=new qt,this.onUpdated=this._onUpdated,this._properties=n}get properties(){return this._properties}set properties(e){this._properties=e,this._onUpdated.emit(this)}dispose(){this._onUpdated.dispose()}get componentTree(){return{id:this.id,type:this.type,...this._properties}}},qn=Symbol(`Let zodToJsonSchema decide on which parser to use`),Jn={name:void 0,$refStrategy:`root`,basePath:[`#`],effectStrategy:`input`,pipeStrategy:`all`,dateStrategy:`format:date-time`,mapStrategy:`entries`,removeAdditionalStrategy:`passthrough`,allowedAdditionalProperties:!0,rejectedAdditionalProperties:!1,definitionPath:`definitions`,target:`jsonSchema7`,strictUnions:!1,definitions:{},errorMessages:!1,markdownDescription:!1,patternStrategy:`escape`,applyRegexFlags:!1,emailStrategy:`format:email`,base64Strategy:`contentEncoding:base64`,nameStrategy:`ref`,openAiAnyTypeName:`OpenAiAnyType`},Yn=e=>typeof e==`string`?{...Jn,name:e}:{...Jn,...e},Xn=e=>{let t=Yn(e),n=t.name===void 0?t.basePath:[...t.basePath,t.definitionPath,t.name];return{...t,flags:{hasReferencedOpenAiAnyType:!1},currentPath:n,propertyPath:void 0,seen:new Map(Object.entries(t.definitions).map(([e,n])=>[n._def,{def:n._def,path:[...t.basePath,t.definitionPath,e],jsonSchema:void 0}]))}};function Zn(e,t,n,r){r?.errorMessages&&n&&(e.errorMessage={...e.errorMessage,[t]:n})}function Qn(e,t,n,r,i){e[t]=n,Zn(e,t,r,i)}var $n=(e,t)=>{let n=0;for(;n<e.length&&n<t.length&&e[n]===t[n];n++);return[(e.length-n).toString(),...t.slice(n)].join(`/`)},er;(function(e){e.assertEqual=e=>{};function t(e){}e.assertIs=t;function n(e){throw Error()}e.assertNever=n,e.arrayToEnum=e=>{let t={};for(let n of e)t[n]=n;return t},e.getValidEnumValues=t=>{let n=e.objectKeys(t).filter(e=>typeof t[t[e]]!=`number`),r={};for(let e of n)r[e]=t[e];return e.objectValues(r)},e.objectValues=t=>e.objectKeys(t).map(function(e){return t[e]}),e.objectKeys=typeof Object.keys==`function`?e=>Object.keys(e):e=>{let t=[];for(let n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.push(n);return t},e.find=(e,t)=>{for(let n of e)if(t(n))return n},e.isInteger=typeof Number.isInteger==`function`?e=>Number.isInteger(e):e=>typeof e==`number`&&Number.isFinite(e)&&Math.floor(e)===e;function r(e,t=` | `){return e.map(e=>typeof e==`string`?`'${e}'`:e).join(t)}e.joinValues=r,e.jsonStringifyReplacer=(e,t)=>typeof t==`bigint`?t.toString():t})(er||={});var tr;(function(e){e.mergeShapes=(e,t)=>({...e,...t})})(tr||={});var nr=er.arrayToEnum([`string`,`nan`,`number`,`integer`,`float`,`boolean`,`date`,`bigint`,`symbol`,`function`,`undefined`,`null`,`array`,`object`,`unknown`,`promise`,`void`,`never`,`map`,`set`]),rr=e=>{switch(typeof e){case`undefined`:return nr.undefined;case`string`:return nr.string;case`number`:return Number.isNaN(e)?nr.nan:nr.number;case`boolean`:return nr.boolean;case`function`:return nr.function;case`bigint`:return nr.bigint;case`symbol`:return nr.symbol;case`object`:return Array.isArray(e)?nr.array:e===null?nr.null:e.then&&typeof e.then==`function`&&e.catch&&typeof e.catch==`function`?nr.promise:typeof Map<`u`&&e instanceof Map?nr.map:typeof Set<`u`&&e instanceof Set?nr.set:typeof Date<`u`&&e instanceof Date?nr.date:nr.object;default:return nr.unknown}},W=er.arrayToEnum([`invalid_type`,`invalid_literal`,`custom`,`invalid_union`,`invalid_union_discriminator`,`invalid_enum_value`,`unrecognized_keys`,`invalid_arguments`,`invalid_return_type`,`invalid_date`,`invalid_string`,`too_small`,`too_big`,`invalid_intersection_types`,`not_multiple_of`,`not_finite`]),ir=class e extends Error{get errors(){return this.issues}constructor(e){super(),this.issues=[],this.addIssue=e=>{this.issues=[...this.issues,e]},this.addIssues=(e=[])=>{this.issues=[...this.issues,...e]};let t=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,t):this.__proto__=t,this.name=`ZodError`,this.issues=e}format(e){let t=e||function(e){return e.message},n={_errors:[]},r=e=>{for(let i of e.issues)if(i.code===`invalid_union`)i.unionErrors.map(r);else if(i.code===`invalid_return_type`)r(i.returnTypeError);else if(i.code===`invalid_arguments`)r(i.argumentsError);else if(i.path.length===0)n._errors.push(t(i));else{let e=n,r=0;for(;r<i.path.length;){let n=i.path[r];r===i.path.length-1?(e[n]=e[n]||{_errors:[]},e[n]._errors.push(t(i))):e[n]=e[n]||{_errors:[]},e=e[n],r++}}};return r(this),n}static assert(t){if(!(t instanceof e))throw Error(`Not a ZodError: ${t}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,er.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(e=e=>e.message){let t=Object.create(null),n=[];for(let r of this.issues)if(r.path.length>0){let n=r.path[0];t[n]=t[n]||[],t[n].push(e(r))}else n.push(e(r));return{formErrors:n,fieldErrors:t}}get formErrors(){return this.flatten()}};ir.create=e=>new ir(e);var ar=(e,t)=>{let n;switch(e.code){case W.invalid_type:n=e.received===nr.undefined?`Required`:`Expected ${e.expected}, received ${e.received}`;break;case W.invalid_literal:n=`Invalid literal value, expected ${JSON.stringify(e.expected,er.jsonStringifyReplacer)}`;break;case W.unrecognized_keys:n=`Unrecognized key(s) in object: ${er.joinValues(e.keys,`, `)}`;break;case W.invalid_union:n=`Invalid input`;break;case W.invalid_union_discriminator:n=`Invalid discriminator value. Expected ${er.joinValues(e.options)}`;break;case W.invalid_enum_value:n=`Invalid enum value. Expected ${er.joinValues(e.options)}, received '${e.received}'`;break;case W.invalid_arguments:n=`Invalid function arguments`;break;case W.invalid_return_type:n=`Invalid function return type`;break;case W.invalid_date:n=`Invalid date`;break;case W.invalid_string:typeof e.validation==`object`?`includes`in e.validation?(n=`Invalid input: must include "${e.validation.includes}"`,typeof e.validation.position==`number`&&(n=`${n} at one or more positions greater than or equal to ${e.validation.position}`)):`startsWith`in e.validation?n=`Invalid input: must start with "${e.validation.startsWith}"`:`endsWith`in e.validation?n=`Invalid input: must end with "${e.validation.endsWith}"`:er.assertNever(e.validation):n=e.validation===`regex`?`Invalid`:`Invalid ${e.validation}`;break;case W.too_small:n=e.type===`array`?`Array must contain ${e.exact?`exactly`:e.inclusive?`at least`:`more than`} ${e.minimum} element(s)`:e.type===`string`?`String must contain ${e.exact?`exactly`:e.inclusive?`at least`:`over`} ${e.minimum} character(s)`:e.type===`number`||e.type===`bigint`?`Number must be ${e.exact?`exactly equal to `:e.inclusive?`greater than or equal to `:`greater than `}${e.minimum}`:e.type===`date`?`Date must be ${e.exact?`exactly equal to `:e.inclusive?`greater than or equal to `:`greater than `}${new Date(Number(e.minimum))}`:`Invalid input`;break;case W.too_big:n=e.type===`array`?`Array must contain ${e.exact?`exactly`:e.inclusive?`at most`:`less than`} ${e.maximum} element(s)`:e.type===`string`?`String must contain ${e.exact?`exactly`:e.inclusive?`at most`:`under`} ${e.maximum} character(s)`:e.type===`number`?`Number must be ${e.exact?`exactly`:e.inclusive?`less than or equal to`:`less than`} ${e.maximum}`:e.type===`bigint`?`BigInt must be ${e.exact?`exactly`:e.inclusive?`less than or equal to`:`less than`} ${e.maximum}`:e.type===`date`?`Date must be ${e.exact?`exactly`:e.inclusive?`smaller than or equal to`:`smaller than`} ${new Date(Number(e.maximum))}`:`Invalid input`;break;case W.custom:n=`Invalid input`;break;case W.invalid_intersection_types:n=`Intersection results could not be merged`;break;case W.not_multiple_of:n=`Number must be a multiple of ${e.multipleOf}`;break;case W.not_finite:n=`Number must be finite`;break;default:n=t.defaultError,er.assertNever(e)}return{message:n}},or=ar;function sr(){return or}var cr=e=>{let{data:t,path:n,errorMaps:r,issueData:i}=e,a=[...n,...i.path||[]],o={...i,path:a};if(i.message!==void 0)return{...i,path:a,message:i.message};let s=``,c=r.filter(e=>!!e).slice().reverse();for(let e of c)s=e(o,{data:t,defaultError:s}).message;return{...i,path:a,message:s}};function lr(e,t){let n=sr(),r=cr({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,n,n===ar?void 0:ar].filter(e=>!!e)});e.common.issues.push(r)}var ur=class e{constructor(){this.value=`valid`}dirty(){this.value===`valid`&&(this.value=`dirty`)}abort(){this.value!==`aborted`&&(this.value=`aborted`)}static mergeArray(e,t){let n=[];for(let r of t){if(r.status===`aborted`)return dr;r.status===`dirty`&&e.dirty(),n.push(r.value)}return{status:e.value,value:n}}static async mergeObjectAsync(t,n){let r=[];for(let e of n){let t=await e.key,n=await e.value;r.push({key:t,value:n})}return e.mergeObjectSync(t,r)}static mergeObjectSync(e,t){let n={};for(let r of t){let{key:t,value:i}=r;if(t.status===`aborted`||i.status===`aborted`)return dr;t.status===`dirty`&&e.dirty(),i.status===`dirty`&&e.dirty(),t.value!==`__proto__`&&(i.value!==void 0||r.alwaysSet)&&(n[t.value]=i.value)}return{status:e.value,value:n}}},dr=Object.freeze({status:`aborted`}),fr=e=>({status:`dirty`,value:e}),pr=e=>({status:`valid`,value:e}),mr=e=>e.status===`aborted`,hr=e=>e.status===`dirty`,gr=e=>e.status===`valid`,_r=e=>typeof Promise<`u`&&e instanceof Promise,vr;(function(e){e.errToObj=e=>typeof e==`string`?{message:e}:e||{},e.toString=e=>typeof e==`string`?e:e?.message})(vr||={});var yr=class{constructor(e,t,n,r){this._cachedPath=[],this.parent=e,this.data=t,this._path=n,this._key=r}get path(){return this._cachedPath.length||(Array.isArray(this._key)?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}},br=(e,t)=>{if(gr(t))return{success:!0,data:t.value};if(!e.common.issues.length)throw Error(`Validation failed but no issues detected.`);return{success:!1,get error(){if(this._error)return this._error;let t=new ir(e.common.issues);return this._error=t,this._error}}};function xr(e){if(!e)return{};let{errorMap:t,invalid_type_error:n,required_error:r,description:i}=e;if(t&&(n||r))throw Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return t?{errorMap:t,description:i}:{errorMap:(t,i)=>{let{message:a}=e;return t.code===`invalid_enum_value`?{message:a??i.defaultError}:i.data===void 0?{message:a??r??i.defaultError}:t.code===`invalid_type`?{message:a??n??i.defaultError}:{message:i.defaultError}},description:i}}var Sr=class{get description(){return this._def.description}_getType(e){return rr(e.data)}_getOrReturnCtx(e,t){return t||{common:e.parent.common,data:e.data,parsedType:rr(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new ur,ctx:{common:e.parent.common,data:e.data,parsedType:rr(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){let t=this._parse(e);if(_r(t))throw Error(`Synchronous parse encountered promise.`);return t}_parseAsync(e){let t=this._parse(e);return Promise.resolve(t)}parse(e,t){let n=this.safeParse(e,t);if(n.success)return n.data;throw n.error}safeParse(e,t){let n={common:{issues:[],async:t?.async??!1,contextualErrorMap:t?.errorMap},path:t?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:rr(e)};return br(n,this._parseSync({data:e,path:n.path,parent:n}))}"~validate"(e){let t={common:{issues:[],async:!!this[`~standard`].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:rr(e)};if(!this[`~standard`].async)try{let n=this._parseSync({data:e,path:[],parent:t});return gr(n)?{value:n.value}:{issues:t.common.issues}}catch(e){e?.message?.toLowerCase()?.includes(`encountered`)&&(this[`~standard`].async=!0),t.common={issues:[],async:!0}}return this._parseAsync({data:e,path:[],parent:t}).then(e=>gr(e)?{value:e.value}:{issues:t.common.issues})}async parseAsync(e,t){let n=await this.safeParseAsync(e,t);if(n.success)return n.data;throw n.error}async safeParseAsync(e,t){let n={common:{issues:[],contextualErrorMap:t?.errorMap,async:!0},path:t?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:rr(e)},r=this._parse({data:e,path:n.path,parent:n});return br(n,await(_r(r)?r:Promise.resolve(r)))}refine(e,t){let n=e=>typeof t==`string`||t===void 0?{message:t}:typeof t==`function`?t(e):t;return this._refinement((t,r)=>{let i=e(t),a=()=>r.addIssue({code:W.custom,...n(t)});return typeof Promise<`u`&&i instanceof Promise?i.then(e=>e?!0:(a(),!1)):i?!0:(a(),!1)})}refinement(e,t){return this._refinement((n,r)=>e(n)?!0:(r.addIssue(typeof t==`function`?t(n,r):t),!1))}_refinement(e){return new yi({schema:this,typeName:G.ZodEffects,effect:{type:`refinement`,refinement:e}})}superRefine(e){return this._refinement(e)}constructor(e){this.spa=this.safeParseAsync,this._def=e,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this[`~standard`]={version:1,vendor:`zod`,validate:e=>this[`~validate`](e)}}optional(){return bi.create(this,this._def)}nullable(){return xi.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return ei.create(this)}promise(){return vi.create(this,this._def)}or(e){return ri.create([this,e],this._def)}and(e){return si.create(this,e,this._def)}transform(e){return new yi({...xr(this._def),schema:this,typeName:G.ZodEffects,effect:{type:`transform`,transform:e}})}default(e){let t=typeof e==`function`?e:()=>e;return new Si({...xr(this._def),innerType:this,defaultValue:t,typeName:G.ZodDefault})}brand(){return new Ti({typeName:G.ZodBranded,type:this,...xr(this._def)})}catch(e){let t=typeof e==`function`?e:()=>e;return new Ci({...xr(this._def),innerType:this,catchValue:t,typeName:G.ZodCatch})}describe(e){let t=this.constructor;return new t({...this._def,description:e})}pipe(e){return Ei.create(this,e)}readonly(){return Di.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},Cr=/^c[^\s-]{8,}$/i,wr=/^[0-9a-z]+$/,Tr=/^[0-9A-HJKMNP-TV-Z]{26}$/i,Er=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,Dr=/^[a-z0-9_-]{21}$/i,Or=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,kr=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,Ar=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,jr=`^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$`,Mr,Nr=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,Pr=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,Fr=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,Ir=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,Lr=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,Rr=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,zr=`((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))`,Br=RegExp(`^${zr}$`);function Vr(e){let t=`[0-5]\\d`;e.precision?t=`${t}\\.\\d{${e.precision}}`:e.precision??(t=`${t}(\\.\\d+)?`);let n=e.precision?`+`:`?`;return`([01]\\d|2[0-3]):[0-5]\\d(:${t})${n}`}function eee(e){return RegExp(`^${Vr(e)}$`)}function tee(e){let t=`${zr}T${Vr(e)}`,n=[];return n.push(e.local?`Z?`:`Z`),e.offset&&n.push(`([+-]\\d{2}:?\\d{2})`),t=`${t}(${n.join(`|`)})`,RegExp(`^${t}$`)}function nee(e,t){return!!((t===`v4`||!t)&&Nr.test(e)||(t===`v6`||!t)&&Fr.test(e))}function ree(e,t){if(!Or.test(e))return!1;try{let[n]=e.split(`.`);if(!n)return!1;let r=n.replace(/-/g,`+`).replace(/_/g,`/`).padEnd(n.length+(4-n.length%4)%4,`=`),i=JSON.parse(atob(r));return!(typeof i!=`object`||!i||`typ`in i&&i?.typ!==`JWT`||!i.alg||t&&i.alg!==t)}catch{return!1}}function iee(e,t){return!!((t===`v4`||!t)&&Pr.test(e)||(t===`v6`||!t)&&Ir.test(e))}var Hr=class e extends Sr{_parse(e){if(this._def.coerce&&(e.data=String(e.data)),this._getType(e)!==nr.string){let t=this._getOrReturnCtx(e);return lr(t,{code:W.invalid_type,expected:nr.string,received:t.parsedType}),dr}let t=new ur,n;for(let r of this._def.checks)if(r.kind===`min`)e.data.length<r.value&&(n=this._getOrReturnCtx(e,n),lr(n,{code:W.too_small,minimum:r.value,type:`string`,inclusive:!0,exact:!1,message:r.message}),t.dirty());else if(r.kind===`max`)e.data.length>r.value&&(n=this._getOrReturnCtx(e,n),lr(n,{code:W.too_big,maximum:r.value,type:`string`,inclusive:!0,exact:!1,message:r.message}),t.dirty());else if(r.kind===`length`){let i=e.data.length>r.value,a=e.data.length<r.value;(i||a)&&(n=this._getOrReturnCtx(e,n),i?lr(n,{code:W.too_big,maximum:r.value,type:`string`,inclusive:!0,exact:!0,message:r.message}):a&&lr(n,{code:W.too_small,minimum:r.value,type:`string`,inclusive:!0,exact:!0,message:r.message}),t.dirty())}else if(r.kind===`email`)Ar.test(e.data)||(n=this._getOrReturnCtx(e,n),lr(n,{validation:`email`,code:W.invalid_string,message:r.message}),t.dirty());else if(r.kind===`emoji`)Mr||=new RegExp(jr,`u`),Mr.test(e.data)||(n=this._getOrReturnCtx(e,n),lr(n,{validation:`emoji`,code:W.invalid_string,message:r.message}),t.dirty());else if(r.kind===`uuid`)Er.test(e.data)||(n=this._getOrReturnCtx(e,n),lr(n,{validation:`uuid`,code:W.invalid_string,message:r.message}),t.dirty());else if(r.kind===`nanoid`)Dr.test(e.data)||(n=this._getOrReturnCtx(e,n),lr(n,{validation:`nanoid`,code:W.invalid_string,message:r.message}),t.dirty());else if(r.kind===`cuid`)Cr.test(e.data)||(n=this._getOrReturnCtx(e,n),lr(n,{validation:`cuid`,code:W.invalid_string,message:r.message}),t.dirty());else if(r.kind===`cuid2`)wr.test(e.data)||(n=this._getOrReturnCtx(e,n),lr(n,{validation:`cuid2`,code:W.invalid_string,message:r.message}),t.dirty());else if(r.kind===`ulid`)Tr.test(e.data)||(n=this._getOrReturnCtx(e,n),lr(n,{validation:`ulid`,code:W.invalid_string,message:r.message}),t.dirty());else if(r.kind===`url`)try{new URL(e.data)}catch{n=this._getOrReturnCtx(e,n),lr(n,{validation:`url`,code:W.invalid_string,message:r.message}),t.dirty()}else r.kind===`regex`?(r.regex.lastIndex=0,r.regex.test(e.data)||(n=this._getOrReturnCtx(e,n),lr(n,{validation:`regex`,code:W.invalid_string,message:r.message}),t.dirty())):r.kind===`trim`?e.data=e.data.trim():r.kind===`includes`?e.data.includes(r.value,r.position)||(n=this._getOrReturnCtx(e,n),lr(n,{code:W.invalid_string,validation:{includes:r.value,position:r.position},message:r.message}),t.dirty()):r.kind===`toLowerCase`?e.data=e.data.toLowerCase():r.kind===`toUpperCase`?e.data=e.data.toUpperCase():r.kind===`startsWith`?e.data.startsWith(r.value)||(n=this._getOrReturnCtx(e,n),lr(n,{code:W.invalid_string,validation:{startsWith:r.value},message:r.message}),t.dirty()):r.kind===`endsWith`?e.data.endsWith(r.value)||(n=this._getOrReturnCtx(e,n),lr(n,{code:W.invalid_string,validation:{endsWith:r.value},message:r.message}),t.dirty()):r.kind===`datetime`?tee(r).test(e.data)||(n=this._getOrReturnCtx(e,n),lr(n,{code:W.invalid_string,validation:`datetime`,message:r.message}),t.dirty()):r.kind===`date`?Br.test(e.data)||(n=this._getOrReturnCtx(e,n),lr(n,{code:W.invalid_string,validation:`date`,message:r.message}),t.dirty()):r.kind===`time`?eee(r).test(e.data)||(n=this._getOrReturnCtx(e,n),lr(n,{code:W.invalid_string,validation:`time`,message:r.message}),t.dirty()):r.kind===`duration`?kr.test(e.data)||(n=this._getOrReturnCtx(e,n),lr(n,{validation:`duration`,code:W.invalid_string,message:r.message}),t.dirty()):r.kind===`ip`?nee(e.data,r.version)||(n=this._getOrReturnCtx(e,n),lr(n,{validation:`ip`,code:W.invalid_string,message:r.message}),t.dirty()):r.kind===`jwt`?ree(e.data,r.alg)||(n=this._getOrReturnCtx(e,n),lr(n,{validation:`jwt`,code:W.invalid_string,message:r.message}),t.dirty()):r.kind===`cidr`?iee(e.data,r.version)||(n=this._getOrReturnCtx(e,n),lr(n,{validation:`cidr`,code:W.invalid_string,message:r.message}),t.dirty()):r.kind===`base64`?Lr.test(e.data)||(n=this._getOrReturnCtx(e,n),lr(n,{validation:`base64`,code:W.invalid_string,message:r.message}),t.dirty()):r.kind===`base64url`?Rr.test(e.data)||(n=this._getOrReturnCtx(e,n),lr(n,{validation:`base64url`,code:W.invalid_string,message:r.message}),t.dirty()):er.assertNever(r);return{status:t.value,value:e.data}}_regex(e,t,n){return this.refinement(t=>e.test(t),{validation:t,code:W.invalid_string,...vr.errToObj(n)})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}email(e){return this._addCheck({kind:`email`,...vr.errToObj(e)})}url(e){return this._addCheck({kind:`url`,...vr.errToObj(e)})}emoji(e){return this._addCheck({kind:`emoji`,...vr.errToObj(e)})}uuid(e){return this._addCheck({kind:`uuid`,...vr.errToObj(e)})}nanoid(e){return this._addCheck({kind:`nanoid`,...vr.errToObj(e)})}cuid(e){return this._addCheck({kind:`cuid`,...vr.errToObj(e)})}cuid2(e){return this._addCheck({kind:`cuid2`,...vr.errToObj(e)})}ulid(e){return this._addCheck({kind:`ulid`,...vr.errToObj(e)})}base64(e){return this._addCheck({kind:`base64`,...vr.errToObj(e)})}base64url(e){return this._addCheck({kind:`base64url`,...vr.errToObj(e)})}jwt(e){return this._addCheck({kind:`jwt`,...vr.errToObj(e)})}ip(e){return this._addCheck({kind:`ip`,...vr.errToObj(e)})}cidr(e){return this._addCheck({kind:`cidr`,...vr.errToObj(e)})}datetime(e){return typeof e==`string`?this._addCheck({kind:`datetime`,precision:null,offset:!1,local:!1,message:e}):this._addCheck({kind:`datetime`,precision:e?.precision===void 0?null:e?.precision,offset:e?.offset??!1,local:e?.local??!1,...vr.errToObj(e?.message)})}date(e){return this._addCheck({kind:`date`,message:e})}time(e){return typeof e==`string`?this._addCheck({kind:`time`,precision:null,message:e}):this._addCheck({kind:`time`,precision:e?.precision===void 0?null:e?.precision,...vr.errToObj(e?.message)})}duration(e){return this._addCheck({kind:`duration`,...vr.errToObj(e)})}regex(e,t){return this._addCheck({kind:`regex`,regex:e,...vr.errToObj(t)})}includes(e,t){return this._addCheck({kind:`includes`,value:e,position:t?.position,...vr.errToObj(t?.message)})}startsWith(e,t){return this._addCheck({kind:`startsWith`,value:e,...vr.errToObj(t)})}endsWith(e,t){return this._addCheck({kind:`endsWith`,value:e,...vr.errToObj(t)})}min(e,t){return this._addCheck({kind:`min`,value:e,...vr.errToObj(t)})}max(e,t){return this._addCheck({kind:`max`,value:e,...vr.errToObj(t)})}length(e,t){return this._addCheck({kind:`length`,value:e,...vr.errToObj(t)})}nonempty(e){return this.min(1,vr.errToObj(e))}trim(){return new e({...this._def,checks:[...this._def.checks,{kind:`trim`}]})}toLowerCase(){return new e({...this._def,checks:[...this._def.checks,{kind:`toLowerCase`}]})}toUpperCase(){return new e({...this._def,checks:[...this._def.checks,{kind:`toUpperCase`}]})}get isDatetime(){return!!this._def.checks.find(e=>e.kind===`datetime`)}get isDate(){return!!this._def.checks.find(e=>e.kind===`date`)}get isTime(){return!!this._def.checks.find(e=>e.kind===`time`)}get isDuration(){return!!this._def.checks.find(e=>e.kind===`duration`)}get isEmail(){return!!this._def.checks.find(e=>e.kind===`email`)}get isURL(){return!!this._def.checks.find(e=>e.kind===`url`)}get isEmoji(){return!!this._def.checks.find(e=>e.kind===`emoji`)}get isUUID(){return!!this._def.checks.find(e=>e.kind===`uuid`)}get isNANOID(){return!!this._def.checks.find(e=>e.kind===`nanoid`)}get isCUID(){return!!this._def.checks.find(e=>e.kind===`cuid`)}get isCUID2(){return!!this._def.checks.find(e=>e.kind===`cuid2`)}get isULID(){return!!this._def.checks.find(e=>e.kind===`ulid`)}get isIP(){return!!this._def.checks.find(e=>e.kind===`ip`)}get isCIDR(){return!!this._def.checks.find(e=>e.kind===`cidr`)}get isBase64(){return!!this._def.checks.find(e=>e.kind===`base64`)}get isBase64url(){return!!this._def.checks.find(e=>e.kind===`base64url`)}get minLength(){let e=null;for(let t of this._def.checks)t.kind===`min`&&(e===null||t.value>e)&&(e=t.value);return e}get maxLength(){let e=null;for(let t of this._def.checks)t.kind===`max`&&(e===null||t.value<e)&&(e=t.value);return e}};Hr.create=e=>new Hr({checks:[],typeName:G.ZodString,coerce:e?.coerce??!1,...xr(e)});function aee(e,t){let n=(e.toString().split(`.`)[1]||``).length,r=(t.toString().split(`.`)[1]||``).length,i=n>r?n:r;return Number.parseInt(e.toFixed(i).replace(`.`,``))%Number.parseInt(t.toFixed(i).replace(`.`,``))/10**i}var Ur=class e extends Sr{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(e){if(this._def.coerce&&(e.data=Number(e.data)),this._getType(e)!==nr.number){let t=this._getOrReturnCtx(e);return lr(t,{code:W.invalid_type,expected:nr.number,received:t.parsedType}),dr}let t,n=new ur;for(let r of this._def.checks)r.kind===`int`?er.isInteger(e.data)||(t=this._getOrReturnCtx(e,t),lr(t,{code:W.invalid_type,expected:`integer`,received:`float`,message:r.message}),n.dirty()):r.kind===`min`?(r.inclusive?e.data<r.value:e.data<=r.value)&&(t=this._getOrReturnCtx(e,t),lr(t,{code:W.too_small,minimum:r.value,type:`number`,inclusive:r.inclusive,exact:!1,message:r.message}),n.dirty()):r.kind===`max`?(r.inclusive?e.data>r.value:e.data>=r.value)&&(t=this._getOrReturnCtx(e,t),lr(t,{code:W.too_big,maximum:r.value,type:`number`,inclusive:r.inclusive,exact:!1,message:r.message}),n.dirty()):r.kind===`multipleOf`?aee(e.data,r.value)!==0&&(t=this._getOrReturnCtx(e,t),lr(t,{code:W.not_multiple_of,multipleOf:r.value,message:r.message}),n.dirty()):r.kind===`finite`?Number.isFinite(e.data)||(t=this._getOrReturnCtx(e,t),lr(t,{code:W.not_finite,message:r.message}),n.dirty()):er.assertNever(r);return{status:n.value,value:e.data}}gte(e,t){return this.setLimit(`min`,e,!0,vr.toString(t))}gt(e,t){return this.setLimit(`min`,e,!1,vr.toString(t))}lte(e,t){return this.setLimit(`max`,e,!0,vr.toString(t))}lt(e,t){return this.setLimit(`max`,e,!1,vr.toString(t))}setLimit(t,n,r,i){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:vr.toString(i)}]})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}int(e){return this._addCheck({kind:`int`,message:vr.toString(e)})}positive(e){return this._addCheck({kind:`min`,value:0,inclusive:!1,message:vr.toString(e)})}negative(e){return this._addCheck({kind:`max`,value:0,inclusive:!1,message:vr.toString(e)})}nonpositive(e){return this._addCheck({kind:`max`,value:0,inclusive:!0,message:vr.toString(e)})}nonnegative(e){return this._addCheck({kind:`min`,value:0,inclusive:!0,message:vr.toString(e)})}multipleOf(e,t){return this._addCheck({kind:`multipleOf`,value:e,message:vr.toString(t)})}finite(e){return this._addCheck({kind:`finite`,message:vr.toString(e)})}safe(e){return this._addCheck({kind:`min`,inclusive:!0,value:-(2**53-1),message:vr.toString(e)})._addCheck({kind:`max`,inclusive:!0,value:2**53-1,message:vr.toString(e)})}get minValue(){let e=null;for(let t of this._def.checks)t.kind===`min`&&(e===null||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(let t of this._def.checks)t.kind===`max`&&(e===null||t.value<e)&&(e=t.value);return e}get isInt(){return!!this._def.checks.find(e=>e.kind===`int`||e.kind===`multipleOf`&&er.isInteger(e.value))}get isFinite(){let e=null,t=null;for(let n of this._def.checks)if(n.kind===`finite`||n.kind===`int`||n.kind===`multipleOf`)return!0;else n.kind===`min`?(t===null||n.value>t)&&(t=n.value):n.kind===`max`&&(e===null||n.value<e)&&(e=n.value);return Number.isFinite(t)&&Number.isFinite(e)}};Ur.create=e=>new Ur({checks:[],typeName:G.ZodNumber,coerce:e?.coerce||!1,...xr(e)});var Wr=class e extends Sr{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(e){if(this._def.coerce)try{e.data=BigInt(e.data)}catch{return this._getInvalidInput(e)}if(this._getType(e)!==nr.bigint)return this._getInvalidInput(e);let t,n=new ur;for(let r of this._def.checks)r.kind===`min`?(r.inclusive?e.data<r.value:e.data<=r.value)&&(t=this._getOrReturnCtx(e,t),lr(t,{code:W.too_small,type:`bigint`,minimum:r.value,inclusive:r.inclusive,message:r.message}),n.dirty()):r.kind===`max`?(r.inclusive?e.data>r.value:e.data>=r.value)&&(t=this._getOrReturnCtx(e,t),lr(t,{code:W.too_big,type:`bigint`,maximum:r.value,inclusive:r.inclusive,message:r.message}),n.dirty()):r.kind===`multipleOf`?e.data%r.value!==BigInt(0)&&(t=this._getOrReturnCtx(e,t),lr(t,{code:W.not_multiple_of,multipleOf:r.value,message:r.message}),n.dirty()):er.assertNever(r);return{status:n.value,value:e.data}}_getInvalidInput(e){let t=this._getOrReturnCtx(e);return lr(t,{code:W.invalid_type,expected:nr.bigint,received:t.parsedType}),dr}gte(e,t){return this.setLimit(`min`,e,!0,vr.toString(t))}gt(e,t){return this.setLimit(`min`,e,!1,vr.toString(t))}lte(e,t){return this.setLimit(`max`,e,!0,vr.toString(t))}lt(e,t){return this.setLimit(`max`,e,!1,vr.toString(t))}setLimit(t,n,r,i){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:vr.toString(i)}]})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}positive(e){return this._addCheck({kind:`min`,value:BigInt(0),inclusive:!1,message:vr.toString(e)})}negative(e){return this._addCheck({kind:`max`,value:BigInt(0),inclusive:!1,message:vr.toString(e)})}nonpositive(e){return this._addCheck({kind:`max`,value:BigInt(0),inclusive:!0,message:vr.toString(e)})}nonnegative(e){return this._addCheck({kind:`min`,value:BigInt(0),inclusive:!0,message:vr.toString(e)})}multipleOf(e,t){return this._addCheck({kind:`multipleOf`,value:e,message:vr.toString(t)})}get minValue(){let e=null;for(let t of this._def.checks)t.kind===`min`&&(e===null||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(let t of this._def.checks)t.kind===`max`&&(e===null||t.value<e)&&(e=t.value);return e}};Wr.create=e=>new Wr({checks:[],typeName:G.ZodBigInt,coerce:e?.coerce??!1,...xr(e)});var Gr=class extends Sr{_parse(e){if(this._def.coerce&&(e.data=!!e.data),this._getType(e)!==nr.boolean){let t=this._getOrReturnCtx(e);return lr(t,{code:W.invalid_type,expected:nr.boolean,received:t.parsedType}),dr}return pr(e.data)}};Gr.create=e=>new Gr({typeName:G.ZodBoolean,coerce:e?.coerce||!1,...xr(e)});var Kr=class e extends Sr{_parse(e){if(this._def.coerce&&(e.data=new Date(e.data)),this._getType(e)!==nr.date){let t=this._getOrReturnCtx(e);return lr(t,{code:W.invalid_type,expected:nr.date,received:t.parsedType}),dr}if(Number.isNaN(e.data.getTime()))return lr(this._getOrReturnCtx(e),{code:W.invalid_date}),dr;let t=new ur,n;for(let r of this._def.checks)r.kind===`min`?e.data.getTime()<r.value&&(n=this._getOrReturnCtx(e,n),lr(n,{code:W.too_small,message:r.message,inclusive:!0,exact:!1,minimum:r.value,type:`date`}),t.dirty()):r.kind===`max`?e.data.getTime()>r.value&&(n=this._getOrReturnCtx(e,n),lr(n,{code:W.too_big,message:r.message,inclusive:!0,exact:!1,maximum:r.value,type:`date`}),t.dirty()):er.assertNever(r);return{status:t.value,value:new Date(e.data.getTime())}}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}min(e,t){return this._addCheck({kind:`min`,value:e.getTime(),message:vr.toString(t)})}max(e,t){return this._addCheck({kind:`max`,value:e.getTime(),message:vr.toString(t)})}get minDate(){let e=null;for(let t of this._def.checks)t.kind===`min`&&(e===null||t.value>e)&&(e=t.value);return e==null?null:new Date(e)}get maxDate(){let e=null;for(let t of this._def.checks)t.kind===`max`&&(e===null||t.value<e)&&(e=t.value);return e==null?null:new Date(e)}};Kr.create=e=>new Kr({checks:[],coerce:e?.coerce||!1,typeName:G.ZodDate,...xr(e)});var qr=class extends Sr{_parse(e){if(this._getType(e)!==nr.symbol){let t=this._getOrReturnCtx(e);return lr(t,{code:W.invalid_type,expected:nr.symbol,received:t.parsedType}),dr}return pr(e.data)}};qr.create=e=>new qr({typeName:G.ZodSymbol,...xr(e)});var Jr=class extends Sr{_parse(e){if(this._getType(e)!==nr.undefined){let t=this._getOrReturnCtx(e);return lr(t,{code:W.invalid_type,expected:nr.undefined,received:t.parsedType}),dr}return pr(e.data)}};Jr.create=e=>new Jr({typeName:G.ZodUndefined,...xr(e)});var Yr=class extends Sr{_parse(e){if(this._getType(e)!==nr.null){let t=this._getOrReturnCtx(e);return lr(t,{code:W.invalid_type,expected:nr.null,received:t.parsedType}),dr}return pr(e.data)}};Yr.create=e=>new Yr({typeName:G.ZodNull,...xr(e)});var Xr=class extends Sr{constructor(){super(...arguments),this._any=!0}_parse(e){return pr(e.data)}};Xr.create=e=>new Xr({typeName:G.ZodAny,...xr(e)});var Zr=class extends Sr{constructor(){super(...arguments),this._unknown=!0}_parse(e){return pr(e.data)}};Zr.create=e=>new Zr({typeName:G.ZodUnknown,...xr(e)});var Qr=class extends Sr{_parse(e){let t=this._getOrReturnCtx(e);return lr(t,{code:W.invalid_type,expected:nr.never,received:t.parsedType}),dr}};Qr.create=e=>new Qr({typeName:G.ZodNever,...xr(e)});var $r=class extends Sr{_parse(e){if(this._getType(e)!==nr.undefined){let t=this._getOrReturnCtx(e);return lr(t,{code:W.invalid_type,expected:nr.void,received:t.parsedType}),dr}return pr(e.data)}};$r.create=e=>new $r({typeName:G.ZodVoid,...xr(e)});var ei=class e extends Sr{_parse(e){let{ctx:t,status:n}=this._processInputParams(e),r=this._def;if(t.parsedType!==nr.array)return lr(t,{code:W.invalid_type,expected:nr.array,received:t.parsedType}),dr;if(r.exactLength!==null){let e=t.data.length>r.exactLength.value,i=t.data.length<r.exactLength.value;(e||i)&&(lr(t,{code:e?W.too_big:W.too_small,minimum:i?r.exactLength.value:void 0,maximum:e?r.exactLength.value:void 0,type:`array`,inclusive:!0,exact:!0,message:r.exactLength.message}),n.dirty())}if(r.minLength!==null&&t.data.length<r.minLength.value&&(lr(t,{code:W.too_small,minimum:r.minLength.value,type:`array`,inclusive:!0,exact:!1,message:r.minLength.message}),n.dirty()),r.maxLength!==null&&t.data.length>r.maxLength.value&&(lr(t,{code:W.too_big,maximum:r.maxLength.value,type:`array`,inclusive:!0,exact:!1,message:r.maxLength.message}),n.dirty()),t.common.async)return Promise.all([...t.data].map((e,n)=>r.type._parseAsync(new yr(t,e,t.path,n)))).then(e=>ur.mergeArray(n,e));let i=[...t.data].map((e,n)=>r.type._parseSync(new yr(t,e,t.path,n)));return ur.mergeArray(n,i)}get element(){return this._def.type}min(t,n){return new e({...this._def,minLength:{value:t,message:vr.toString(n)}})}max(t,n){return new e({...this._def,maxLength:{value:t,message:vr.toString(n)}})}length(t,n){return new e({...this._def,exactLength:{value:t,message:vr.toString(n)}})}nonempty(e){return this.min(1,e)}};ei.create=(e,t)=>new ei({type:e,minLength:null,maxLength:null,exactLength:null,typeName:G.ZodArray,...xr(t)});function ti(e){if(e instanceof ni){let t={};for(let n in e.shape){let r=e.shape[n];t[n]=bi.create(ti(r))}return new ni({...e._def,shape:()=>t})}return e instanceof ei?new ei({...e._def,type:ti(e.element)}):e instanceof bi?bi.create(ti(e.unwrap())):e instanceof xi?xi.create(ti(e.unwrap())):e instanceof ci?ci.create(e.items.map(e=>ti(e))):e}var ni=class e extends Sr{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let e=this._def.shape(),t=er.objectKeys(e);return this._cached={shape:e,keys:t},this._cached}_parse(e){if(this._getType(e)!==nr.object){let t=this._getOrReturnCtx(e);return lr(t,{code:W.invalid_type,expected:nr.object,received:t.parsedType}),dr}let{status:t,ctx:n}=this._processInputParams(e),{shape:r,keys:i}=this._getCached(),a=[];if(!(this._def.catchall instanceof Qr&&this._def.unknownKeys===`strip`))for(let e in n.data)i.includes(e)||a.push(e);let o=[];for(let e of i){let t=r[e],i=n.data[e];o.push({key:{status:`valid`,value:e},value:t._parse(new yr(n,i,n.path,e)),alwaysSet:e in n.data})}if(this._def.catchall instanceof Qr){let e=this._def.unknownKeys;if(e===`passthrough`)for(let e of a)o.push({key:{status:`valid`,value:e},value:{status:`valid`,value:n.data[e]}});else if(e===`strict`)a.length>0&&(lr(n,{code:W.unrecognized_keys,keys:a}),t.dirty());else if(e!==`strip`)throw Error(`Internal ZodObject error: invalid unknownKeys value.`)}else{let e=this._def.catchall;for(let t of a){let r=n.data[t];o.push({key:{status:`valid`,value:t},value:e._parse(new yr(n,r,n.path,t)),alwaysSet:t in n.data})}}return n.common.async?Promise.resolve().then(async()=>{let e=[];for(let t of o){let n=await t.key,r=await t.value;e.push({key:n,value:r,alwaysSet:t.alwaysSet})}return e}).then(e=>ur.mergeObjectSync(t,e)):ur.mergeObjectSync(t,o)}get shape(){return this._def.shape()}strict(t){return vr.errToObj,new e({...this._def,unknownKeys:`strict`,...t===void 0?{}:{errorMap:(e,n)=>{let r=this._def.errorMap?.(e,n).message??n.defaultError;return e.code===`unrecognized_keys`?{message:vr.errToObj(t).message??r}:{message:r}}}})}strip(){return new e({...this._def,unknownKeys:`strip`})}passthrough(){return new e({...this._def,unknownKeys:`passthrough`})}extend(t){return new e({...this._def,shape:()=>({...this._def.shape(),...t})})}merge(t){return new e({unknownKeys:t._def.unknownKeys,catchall:t._def.catchall,shape:()=>({...this._def.shape(),...t._def.shape()}),typeName:G.ZodObject})}setKey(e,t){return this.augment({[e]:t})}catchall(t){return new e({...this._def,catchall:t})}pick(t){let n={};for(let e of er.objectKeys(t))t[e]&&this.shape[e]&&(n[e]=this.shape[e]);return new e({...this._def,shape:()=>n})}omit(t){let n={};for(let e of er.objectKeys(this.shape))t[e]||(n[e]=this.shape[e]);return new e({...this._def,shape:()=>n})}deepPartial(){return ti(this)}partial(t){let n={};for(let e of er.objectKeys(this.shape)){let r=this.shape[e];n[e]=t&&!t[e]?r:r.optional()}return new e({...this._def,shape:()=>n})}required(t){let n={};for(let e of er.objectKeys(this.shape))if(t&&!t[e])n[e]=this.shape[e];else{let t=this.shape[e];for(;t instanceof bi;)t=t._def.innerType;n[e]=t}return new e({...this._def,shape:()=>n})}keyof(){return hi(er.objectKeys(this.shape))}};ni.create=(e,t)=>new ni({shape:()=>e,unknownKeys:`strip`,catchall:Qr.create(),typeName:G.ZodObject,...xr(t)}),ni.strictCreate=(e,t)=>new ni({shape:()=>e,unknownKeys:`strict`,catchall:Qr.create(),typeName:G.ZodObject,...xr(t)}),ni.lazycreate=(e,t)=>new ni({shape:e,unknownKeys:`strip`,catchall:Qr.create(),typeName:G.ZodObject,...xr(t)});var ri=class extends Sr{_parse(e){let{ctx:t}=this._processInputParams(e),n=this._def.options;function r(e){for(let t of e)if(t.result.status===`valid`)return t.result;for(let n of e)if(n.result.status===`dirty`)return t.common.issues.push(...n.ctx.common.issues),n.result;let n=e.map(e=>new ir(e.ctx.common.issues));return lr(t,{code:W.invalid_union,unionErrors:n}),dr}if(t.common.async)return Promise.all(n.map(async e=>{let n={...t,common:{...t.common,issues:[]},parent:null};return{result:await e._parseAsync({data:t.data,path:t.path,parent:n}),ctx:n}})).then(r);{let e,r=[];for(let i of n){let n={...t,common:{...t.common,issues:[]},parent:null},a=i._parseSync({data:t.data,path:t.path,parent:n});if(a.status===`valid`)return a;a.status===`dirty`&&!e&&(e={result:a,ctx:n}),n.common.issues.length&&r.push(n.common.issues)}if(e)return t.common.issues.push(...e.ctx.common.issues),e.result;let i=r.map(e=>new ir(e));return lr(t,{code:W.invalid_union,unionErrors:i}),dr}}get options(){return this._def.options}};ri.create=(e,t)=>new ri({options:e,typeName:G.ZodUnion,...xr(t)});var ii=e=>e instanceof pi?ii(e.schema):e instanceof yi?ii(e.innerType()):e instanceof mi?[e.value]:e instanceof gi?e.options:e instanceof _i?er.objectValues(e.enum):e instanceof Si?ii(e._def.innerType):e instanceof Jr?[void 0]:e instanceof Yr?[null]:e instanceof bi?[void 0,...ii(e.unwrap())]:e instanceof xi?[null,...ii(e.unwrap())]:e instanceof Ti||e instanceof Di?ii(e.unwrap()):e instanceof Ci?ii(e._def.innerType):[],ai=class e extends Sr{_parse(e){let{ctx:t}=this._processInputParams(e);if(t.parsedType!==nr.object)return lr(t,{code:W.invalid_type,expected:nr.object,received:t.parsedType}),dr;let n=this.discriminator,r=t.data[n],i=this.optionsMap.get(r);return i?t.common.async?i._parseAsync({data:t.data,path:t.path,parent:t}):i._parseSync({data:t.data,path:t.path,parent:t}):(lr(t,{code:W.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[n]}),dr)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(t,n,r){let i=new Map;for(let e of n){let n=ii(e.shape[t]);if(!n.length)throw Error(`A discriminator value for key \`${t}\` could not be extracted from all schema options`);for(let r of n){if(i.has(r))throw Error(`Discriminator property ${String(t)} has duplicate value ${String(r)}`);i.set(r,e)}}return new e({typeName:G.ZodDiscriminatedUnion,discriminator:t,options:n,optionsMap:i,...xr(r)})}};function oi(e,t){let n=rr(e),r=rr(t);if(e===t)return{valid:!0,data:e};if(n===nr.object&&r===nr.object){let n=er.objectKeys(t),r=er.objectKeys(e).filter(e=>n.indexOf(e)!==-1),i={...e,...t};for(let n of r){let r=oi(e[n],t[n]);if(!r.valid)return{valid:!1};i[n]=r.data}return{valid:!0,data:i}}if(n===nr.array&&r===nr.array){if(e.length!==t.length)return{valid:!1};let n=[];for(let r=0;r<e.length;r++){let i=e[r],a=t[r],o=oi(i,a);if(!o.valid)return{valid:!1};n.push(o.data)}return{valid:!0,data:n}}return n===nr.date&&r===nr.date&&+e==+t?{valid:!0,data:e}:{valid:!1}}var si=class extends Sr{_parse(e){let{status:t,ctx:n}=this._processInputParams(e),r=(e,r)=>{if(mr(e)||mr(r))return dr;let i=oi(e.value,r.value);return i.valid?((hr(e)||hr(r))&&t.dirty(),{status:t.value,value:i.data}):(lr(n,{code:W.invalid_intersection_types}),dr)};return n.common.async?Promise.all([this._def.left._parseAsync({data:n.data,path:n.path,parent:n}),this._def.right._parseAsync({data:n.data,path:n.path,parent:n})]).then(([e,t])=>r(e,t)):r(this._def.left._parseSync({data:n.data,path:n.path,parent:n}),this._def.right._parseSync({data:n.data,path:n.path,parent:n}))}};si.create=(e,t,n)=>new si({left:e,right:t,typeName:G.ZodIntersection,...xr(n)});var ci=class e extends Sr{_parse(e){let{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==nr.array)return lr(n,{code:W.invalid_type,expected:nr.array,received:n.parsedType}),dr;if(n.data.length<this._def.items.length)return lr(n,{code:W.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:`array`}),dr;!this._def.rest&&n.data.length>this._def.items.length&&(lr(n,{code:W.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:`array`}),t.dirty());let r=[...n.data].map((e,t)=>{let r=this._def.items[t]||this._def.rest;return r?r._parse(new yr(n,e,n.path,t)):null}).filter(e=>!!e);return n.common.async?Promise.all(r).then(e=>ur.mergeArray(t,e)):ur.mergeArray(t,r)}get items(){return this._def.items}rest(t){return new e({...this._def,rest:t})}};ci.create=(e,t)=>{if(!Array.isArray(e))throw Error(`You must pass an array of schemas to z.tuple([ ... ])`);return new ci({items:e,typeName:G.ZodTuple,rest:null,...xr(t)})};var li=class e extends Sr{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==nr.object)return lr(n,{code:W.invalid_type,expected:nr.object,received:n.parsedType}),dr;let r=[],i=this._def.keyType,a=this._def.valueType;for(let e in n.data)r.push({key:i._parse(new yr(n,e,n.path,e)),value:a._parse(new yr(n,n.data[e],n.path,e)),alwaysSet:e in n.data});return n.common.async?ur.mergeObjectAsync(t,r):ur.mergeObjectSync(t,r)}get element(){return this._def.valueType}static create(t,n,r){return n instanceof Sr?new e({keyType:t,valueType:n,typeName:G.ZodRecord,...xr(r)}):new e({keyType:Hr.create(),valueType:t,typeName:G.ZodRecord,...xr(n)})}},ui=class extends Sr{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==nr.map)return lr(n,{code:W.invalid_type,expected:nr.map,received:n.parsedType}),dr;let r=this._def.keyType,i=this._def.valueType,a=[...n.data.entries()].map(([e,t],a)=>({key:r._parse(new yr(n,e,n.path,[a,`key`])),value:i._parse(new yr(n,t,n.path,[a,`value`]))}));if(n.common.async){let e=new Map;return Promise.resolve().then(async()=>{for(let n of a){let r=await n.key,i=await n.value;if(r.status===`aborted`||i.status===`aborted`)return dr;(r.status===`dirty`||i.status===`dirty`)&&t.dirty(),e.set(r.value,i.value)}return{status:t.value,value:e}})}{let e=new Map;for(let n of a){let r=n.key,i=n.value;if(r.status===`aborted`||i.status===`aborted`)return dr;(r.status===`dirty`||i.status===`dirty`)&&t.dirty(),e.set(r.value,i.value)}return{status:t.value,value:e}}}};ui.create=(e,t,n)=>new ui({valueType:t,keyType:e,typeName:G.ZodMap,...xr(n)});var di=class e extends Sr{_parse(e){let{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==nr.set)return lr(n,{code:W.invalid_type,expected:nr.set,received:n.parsedType}),dr;let r=this._def;r.minSize!==null&&n.data.size<r.minSize.value&&(lr(n,{code:W.too_small,minimum:r.minSize.value,type:`set`,inclusive:!0,exact:!1,message:r.minSize.message}),t.dirty()),r.maxSize!==null&&n.data.size>r.maxSize.value&&(lr(n,{code:W.too_big,maximum:r.maxSize.value,type:`set`,inclusive:!0,exact:!1,message:r.maxSize.message}),t.dirty());let i=this._def.valueType;function a(e){let n=new Set;for(let r of e){if(r.status===`aborted`)return dr;r.status===`dirty`&&t.dirty(),n.add(r.value)}return{status:t.value,value:n}}let o=[...n.data.values()].map((e,t)=>i._parse(new yr(n,e,n.path,t)));return n.common.async?Promise.all(o).then(e=>a(e)):a(o)}min(t,n){return new e({...this._def,minSize:{value:t,message:vr.toString(n)}})}max(t,n){return new e({...this._def,maxSize:{value:t,message:vr.toString(n)}})}size(e,t){return this.min(e,t).max(e,t)}nonempty(e){return this.min(1,e)}};di.create=(e,t)=>new di({valueType:e,minSize:null,maxSize:null,typeName:G.ZodSet,...xr(t)});var fi=class e extends Sr{constructor(){super(...arguments),this.validate=this.implement}_parse(e){let{ctx:t}=this._processInputParams(e);if(t.parsedType!==nr.function)return lr(t,{code:W.invalid_type,expected:nr.function,received:t.parsedType}),dr;function n(e,n){return cr({data:e,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,sr(),ar].filter(e=>!!e),issueData:{code:W.invalid_arguments,argumentsError:n}})}function r(e,n){return cr({data:e,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,sr(),ar].filter(e=>!!e),issueData:{code:W.invalid_return_type,returnTypeError:n}})}let i={errorMap:t.common.contextualErrorMap},a=t.data;if(this._def.returns instanceof vi){let e=this;return pr(async function(...t){let o=new ir([]),s=await e._def.args.parseAsync(t,i).catch(e=>{throw o.addIssue(n(t,e)),o}),c=await Reflect.apply(a,this,s);return await e._def.returns._def.type.parseAsync(c,i).catch(e=>{throw o.addIssue(r(c,e)),o})})}{let e=this;return pr(function(...t){let o=e._def.args.safeParse(t,i);if(!o.success)throw new ir([n(t,o.error)]);let s=Reflect.apply(a,this,o.data),c=e._def.returns.safeParse(s,i);if(!c.success)throw new ir([r(s,c.error)]);return c.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...t){return new e({...this._def,args:ci.create(t).rest(Zr.create())})}returns(t){return new e({...this._def,returns:t})}implement(e){return this.parse(e)}strictImplement(e){return this.parse(e)}static create(t,n,r){return new e({args:t||ci.create([]).rest(Zr.create()),returns:n||Zr.create(),typeName:G.ZodFunction,...xr(r)})}},pi=class extends Sr{get schema(){return this._def.getter()}_parse(e){let{ctx:t}=this._processInputParams(e);return this._def.getter()._parse({data:t.data,path:t.path,parent:t})}};pi.create=(e,t)=>new pi({getter:e,typeName:G.ZodLazy,...xr(t)});var mi=class extends Sr{_parse(e){if(e.data!==this._def.value){let t=this._getOrReturnCtx(e);return lr(t,{received:t.data,code:W.invalid_literal,expected:this._def.value}),dr}return{status:`valid`,value:e.data}}get value(){return this._def.value}};mi.create=(e,t)=>new mi({value:e,typeName:G.ZodLiteral,...xr(t)});function hi(e,t){return new gi({values:e,typeName:G.ZodEnum,...xr(t)})}var gi=class e extends Sr{_parse(e){if(typeof e.data!=`string`){let t=this._getOrReturnCtx(e),n=this._def.values;return lr(t,{expected:er.joinValues(n),received:t.parsedType,code:W.invalid_type}),dr}if(this._cache||=new Set(this._def.values),!this._cache.has(e.data)){let t=this._getOrReturnCtx(e),n=this._def.values;return lr(t,{received:t.data,code:W.invalid_enum_value,options:n}),dr}return pr(e.data)}get options(){return this._def.values}get enum(){let e={};for(let t of this._def.values)e[t]=t;return e}get Values(){let e={};for(let t of this._def.values)e[t]=t;return e}get Enum(){let e={};for(let t of this._def.values)e[t]=t;return e}extract(t,n=this._def){return e.create(t,{...this._def,...n})}exclude(t,n=this._def){return e.create(this.options.filter(e=>!t.includes(e)),{...this._def,...n})}};gi.create=hi;var _i=class extends Sr{_parse(e){let t=er.getValidEnumValues(this._def.values),n=this._getOrReturnCtx(e);if(n.parsedType!==nr.string&&n.parsedType!==nr.number){let e=er.objectValues(t);return lr(n,{expected:er.joinValues(e),received:n.parsedType,code:W.invalid_type}),dr}if(this._cache||=new Set(er.getValidEnumValues(this._def.values)),!this._cache.has(e.data)){let e=er.objectValues(t);return lr(n,{received:n.data,code:W.invalid_enum_value,options:e}),dr}return pr(e.data)}get enum(){return this._def.values}};_i.create=(e,t)=>new _i({values:e,typeName:G.ZodNativeEnum,...xr(t)});var vi=class extends Sr{unwrap(){return this._def.type}_parse(e){let{ctx:t}=this._processInputParams(e);return t.parsedType!==nr.promise&&t.common.async===!1?(lr(t,{code:W.invalid_type,expected:nr.promise,received:t.parsedType}),dr):pr((t.parsedType===nr.promise?t.data:Promise.resolve(t.data)).then(e=>this._def.type.parseAsync(e,{path:t.path,errorMap:t.common.contextualErrorMap})))}};vi.create=(e,t)=>new vi({type:e,typeName:G.ZodPromise,...xr(t)});var yi=class extends Sr{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===G.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){let{status:t,ctx:n}=this._processInputParams(e),r=this._def.effect||null,i={addIssue:e=>{lr(n,e),e.fatal?t.abort():t.dirty()},get path(){return n.path}};if(i.addIssue=i.addIssue.bind(i),r.type===`preprocess`){let e=r.transform(n.data,i);if(n.common.async)return Promise.resolve(e).then(async e=>{if(t.value===`aborted`)return dr;let r=await this._def.schema._parseAsync({data:e,path:n.path,parent:n});return r.status===`aborted`?dr:r.status===`dirty`||t.value===`dirty`?fr(r.value):r});{if(t.value===`aborted`)return dr;let r=this._def.schema._parseSync({data:e,path:n.path,parent:n});return r.status===`aborted`?dr:r.status===`dirty`||t.value===`dirty`?fr(r.value):r}}if(r.type===`refinement`){let e=e=>{let t=r.refinement(e,i);if(n.common.async)return Promise.resolve(t);if(t instanceof Promise)throw Error(`Async refinement encountered during synchronous parse operation. Use .parseAsync instead.`);return e};if(n.common.async===!1){let r=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});return r.status===`aborted`?dr:(r.status===`dirty`&&t.dirty(),e(r.value),{status:t.value,value:r.value})}return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(n=>n.status===`aborted`?dr:(n.status===`dirty`&&t.dirty(),e(n.value).then(()=>({status:t.value,value:n.value}))))}if(r.type===`transform`){if(n.common.async===!1){let e=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});if(!gr(e))return dr;let a=r.transform(e.value,i);if(a instanceof Promise)throw Error(`Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.`);return{status:t.value,value:a}}return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(e=>gr(e)?Promise.resolve(r.transform(e.value,i)).then(e=>({status:t.value,value:e})):dr)}er.assertNever(r)}};yi.create=(e,t,n)=>new yi({schema:e,typeName:G.ZodEffects,effect:t,...xr(n)}),yi.createWithPreprocess=(e,t,n)=>new yi({schema:t,effect:{type:`preprocess`,transform:e},typeName:G.ZodEffects,...xr(n)});var bi=class extends Sr{_parse(e){return this._getType(e)===nr.undefined?pr(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};bi.create=(e,t)=>new bi({innerType:e,typeName:G.ZodOptional,...xr(t)});var xi=class extends Sr{_parse(e){return this._getType(e)===nr.null?pr(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};xi.create=(e,t)=>new xi({innerType:e,typeName:G.ZodNullable,...xr(t)});var Si=class extends Sr{_parse(e){let{ctx:t}=this._processInputParams(e),n=t.data;return t.parsedType===nr.undefined&&(n=this._def.defaultValue()),this._def.innerType._parse({data:n,path:t.path,parent:t})}removeDefault(){return this._def.innerType}};Si.create=(e,t)=>new Si({innerType:e,typeName:G.ZodDefault,defaultValue:typeof t.default==`function`?t.default:()=>t.default,...xr(t)});var Ci=class extends Sr{_parse(e){let{ctx:t}=this._processInputParams(e),n={...t,common:{...t.common,issues:[]}},r=this._def.innerType._parse({data:n.data,path:n.path,parent:{...n}});return _r(r)?r.then(e=>({status:`valid`,value:e.status===`valid`?e.value:this._def.catchValue({get error(){return new ir(n.common.issues)},input:n.data})})):{status:`valid`,value:r.status===`valid`?r.value:this._def.catchValue({get error(){return new ir(n.common.issues)},input:n.data})}}removeCatch(){return this._def.innerType}};Ci.create=(e,t)=>new Ci({innerType:e,typeName:G.ZodCatch,catchValue:typeof t.catch==`function`?t.catch:()=>t.catch,...xr(t)});var wi=class extends Sr{_parse(e){if(this._getType(e)!==nr.nan){let t=this._getOrReturnCtx(e);return lr(t,{code:W.invalid_type,expected:nr.nan,received:t.parsedType}),dr}return{status:`valid`,value:e.data}}};wi.create=e=>new wi({typeName:G.ZodNaN,...xr(e)});var Ti=class extends Sr{_parse(e){let{ctx:t}=this._processInputParams(e),n=t.data;return this._def.type._parse({data:n,path:t.path,parent:t})}unwrap(){return this._def.type}},Ei=class e extends Sr{_parse(e){let{status:t,ctx:n}=this._processInputParams(e);if(n.common.async)return(async()=>{let e=await this._def.in._parseAsync({data:n.data,path:n.path,parent:n});return e.status===`aborted`?dr:e.status===`dirty`?(t.dirty(),fr(e.value)):this._def.out._parseAsync({data:e.value,path:n.path,parent:n})})();{let e=this._def.in._parseSync({data:n.data,path:n.path,parent:n});return e.status===`aborted`?dr:e.status===`dirty`?(t.dirty(),{status:`dirty`,value:e.value}):this._def.out._parseSync({data:e.value,path:n.path,parent:n})}}static create(t,n){return new e({in:t,out:n,typeName:G.ZodPipeline})}},Di=class extends Sr{_parse(e){let t=this._def.innerType._parse(e),n=e=>(gr(e)&&(e.value=Object.freeze(e.value)),e);return _r(t)?t.then(e=>n(e)):n(t)}unwrap(){return this._def.innerType}};Di.create=(e,t)=>new Di({innerType:e,typeName:G.ZodReadonly,...xr(t)}),ni.lazycreate;var G;(function(e){e.ZodString=`ZodString`,e.ZodNumber=`ZodNumber`,e.ZodNaN=`ZodNaN`,e.ZodBigInt=`ZodBigInt`,e.ZodBoolean=`ZodBoolean`,e.ZodDate=`ZodDate`,e.ZodSymbol=`ZodSymbol`,e.ZodUndefined=`ZodUndefined`,e.ZodNull=`ZodNull`,e.ZodAny=`ZodAny`,e.ZodUnknown=`ZodUnknown`,e.ZodNever=`ZodNever`,e.ZodVoid=`ZodVoid`,e.ZodArray=`ZodArray`,e.ZodObject=`ZodObject`,e.ZodUnion=`ZodUnion`,e.ZodDiscriminatedUnion=`ZodDiscriminatedUnion`,e.ZodIntersection=`ZodIntersection`,e.ZodTuple=`ZodTuple`,e.ZodRecord=`ZodRecord`,e.ZodMap=`ZodMap`,e.ZodSet=`ZodSet`,e.ZodFunction=`ZodFunction`,e.ZodLazy=`ZodLazy`,e.ZodLiteral=`ZodLiteral`,e.ZodEnum=`ZodEnum`,e.ZodEffects=`ZodEffects`,e.ZodNativeEnum=`ZodNativeEnum`,e.ZodOptional=`ZodOptional`,e.ZodNullable=`ZodNullable`,e.ZodDefault=`ZodDefault`,e.ZodCatch=`ZodCatch`,e.ZodPromise=`ZodPromise`,e.ZodBranded=`ZodBranded`,e.ZodPipeline=`ZodPipeline`,e.ZodReadonly=`ZodReadonly`})(G||={}),Hr.create,Ur.create,wi.create,Wr.create,Gr.create,Kr.create,qr.create,Jr.create,Yr.create,Xr.create,Zr.create,Qr.create,$r.create,ei.create,ni.create,ni.strictCreate,ri.create,ai.create,si.create,ci.create,li.create,ui.create,di.create,fi.create,pi.create,mi.create,gi.create,_i.create,vi.create,yi.create,bi.create,xi.create,yi.createWithPreprocess,Ei.create;function Oi(e){if(e.target!==`openAi`)return{};let t=[...e.basePath,e.definitionPath,e.openAiAnyTypeName];return e.flags.hasReferencedOpenAiAnyType=!0,{$ref:e.$refStrategy===`relative`?$n(t,e.currentPath):t.join(`/`)}}function oee(e,t){let n={type:`array`};return e.type?._def&&e.type?._def?.typeName!==G.ZodAny&&(n.items=ia(e.type._def,{...t,currentPath:[...t.currentPath,`items`]})),e.minLength&&Qn(n,`minItems`,e.minLength.value,e.minLength.message,t),e.maxLength&&Qn(n,`maxItems`,e.maxLength.value,e.maxLength.message,t),e.exactLength&&(Qn(n,`minItems`,e.exactLength.value,e.exactLength.message,t),Qn(n,`maxItems`,e.exactLength.value,e.exactLength.message,t)),n}function see(e,t){let n={type:`integer`,format:`int64`};if(!e.checks)return n;for(let r of e.checks)switch(r.kind){case`min`:t.target===`jsonSchema7`?r.inclusive?Qn(n,`minimum`,r.value,r.message,t):Qn(n,`exclusiveMinimum`,r.value,r.message,t):(r.inclusive||(n.exclusiveMinimum=!0),Qn(n,`minimum`,r.value,r.message,t));break;case`max`:t.target===`jsonSchema7`?r.inclusive?Qn(n,`maximum`,r.value,r.message,t):Qn(n,`exclusiveMaximum`,r.value,r.message,t):(r.inclusive||(n.exclusiveMaximum=!0),Qn(n,`maximum`,r.value,r.message,t));break;case`multipleOf`:Qn(n,`multipleOf`,r.value,r.message,t)}return n}function cee(){return{type:`boolean`}}function ki(e,t){return ia(e.type._def,t)}var lee=(e,t)=>ia(e.innerType._def,t);function Ai(e,t,n){let r=n??t.dateStrategy;if(Array.isArray(r))return{anyOf:r.map((n,r)=>Ai(e,t,n))};switch(r){case`string`:case`format:date-time`:return{type:`string`,format:`date-time`};case`format:date`:return{type:`string`,format:`date`};case`integer`:return uee(e,t)}}var uee=(e,t)=>{let n={type:`integer`,format:`unix-time`};if(t.target===`openApi3`)return n;for(let r of e.checks)switch(r.kind){case`min`:Qn(n,`minimum`,r.value,r.message,t);break;case`max`:Qn(n,`maximum`,r.value,r.message,t)}return n};function dee(e,t){return{...ia(e.innerType._def,t),default:e.defaultValue()}}function fee(e,t){return t.effectStrategy===`input`?ia(e.schema._def,t):Oi(t)}function pee(e){return{type:`string`,enum:Array.from(e.values)}}var mee=e=>`type`in e&&e.type===`string`?!1:`allOf`in e;function hee(e,t){let n=[ia(e.left._def,{...t,currentPath:[...t.currentPath,`allOf`,`0`]}),ia(e.right._def,{...t,currentPath:[...t.currentPath,`allOf`,`1`]})].filter(e=>!!e),r=t.target===`jsonSchema2019-09`?{unevaluatedProperties:!1}:void 0,i=[];return n.forEach(e=>{if(mee(e))i.push(...e.allOf),e.unevaluatedProperties===void 0&&(r=void 0);else{let t=e;if(`additionalProperties`in e&&e.additionalProperties===!1){let{additionalProperties:n,...r}=e;t=r}else r=void 0;i.push(t)}}),i.length?{allOf:i,...r}:void 0}function gee(e,t){let n=typeof e.value;return n!==`bigint`&&n!==`number`&&n!==`boolean`&&n!==`string`?{type:Array.isArray(e.value)?`array`:`object`}:t.target===`openApi3`?{type:n===`bigint`?`integer`:n,enum:[e.value]}:{type:n===`bigint`?`integer`:n,const:e.value}}var ji=void 0,Mi={cuid:/^[cC][^\s-]{8,}$/,cuid2:/^[0-9a-z]+$/,ulid:/^[0-9A-HJKMNP-TV-Z]{26}$/,email:/^(?!\.)(?!.*\.\.)([a-zA-Z0-9_'+\-\.]*)[a-zA-Z0-9_+-]@([a-zA-Z0-9][a-zA-Z0-9\-]*\.)+[a-zA-Z]{2,}$/,emoji:()=>(ji===void 0&&(ji=RegExp(`^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$`,`u`)),ji),uuid:/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/,ipv4:/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,ipv4Cidr:/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,ipv6:/^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/,ipv6Cidr:/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,base64:/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,base64url:/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,nanoid:/^[a-zA-Z0-9_-]{21}$/,jwt:/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/};function Ni(e,t){let n={type:`string`};if(e.checks)for(let r of e.checks)switch(r.kind){case`min`:Qn(n,`minLength`,typeof n.minLength==`number`?Math.max(n.minLength,r.value):r.value,r.message,t);break;case`max`:Qn(n,`maxLength`,typeof n.maxLength==`number`?Math.min(n.maxLength,r.value):r.value,r.message,t);break;case`email`:switch(t.emailStrategy){case`format:email`:Li(n,`email`,r.message,t);break;case`format:idn-email`:Li(n,`idn-email`,r.message,t);break;case`pattern:zod`:Ri(n,Mi.email,r.message,t)}break;case`url`:Li(n,`uri`,r.message,t);break;case`uuid`:Li(n,`uuid`,r.message,t);break;case`regex`:Ri(n,r.regex,r.message,t);break;case`cuid`:Ri(n,Mi.cuid,r.message,t);break;case`cuid2`:Ri(n,Mi.cuid2,r.message,t);break;case`startsWith`:Ri(n,RegExp(`^${Pi(r.value,t)}`),r.message,t);break;case`endsWith`:Ri(n,RegExp(`${Pi(r.value,t)}$`),r.message,t);break;case`datetime`:Li(n,`date-time`,r.message,t);break;case`date`:Li(n,`date`,r.message,t);break;case`time`:Li(n,`time`,r.message,t);break;case`duration`:Li(n,`duration`,r.message,t);break;case`length`:Qn(n,`minLength`,typeof n.minLength==`number`?Math.max(n.minLength,r.value):r.value,r.message,t),Qn(n,`maxLength`,typeof n.maxLength==`number`?Math.min(n.maxLength,r.value):r.value,r.message,t);break;case`includes`:Ri(n,RegExp(Pi(r.value,t)),r.message,t);break;case`ip`:r.version!==`v6`&&Li(n,`ipv4`,r.message,t),r.version!==`v4`&&Li(n,`ipv6`,r.message,t);break;case`base64url`:Ri(n,Mi.base64url,r.message,t);break;case`jwt`:Ri(n,Mi.jwt,r.message,t);break;case`cidr`:r.version!==`v6`&&Ri(n,Mi.ipv4Cidr,r.message,t),r.version!==`v4`&&Ri(n,Mi.ipv6Cidr,r.message,t);break;case`emoji`:Ri(n,Mi.emoji(),r.message,t);break;case`ulid`:Ri(n,Mi.ulid,r.message,t);break;case`base64`:switch(t.base64Strategy){case`format:binary`:Li(n,`binary`,r.message,t);break;case`contentEncoding:base64`:Qn(n,`contentEncoding`,`base64`,r.message,t);break;case`pattern:zod`:Ri(n,Mi.base64,r.message,t)}break;case`nanoid`:Ri(n,Mi.nanoid,r.message,t)}return n}function Pi(e,t){return t.patternStrategy===`escape`?Ii(e):e}var Fi=new Set(`ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789`);function Ii(e){let t=``;for(let n=0;n<e.length;n++)Fi.has(e[n])||(t+=`\\`),t+=e[n];return t}function Li(e,t,n,r){e.format||e.anyOf?.some(e=>e.format)?(e.anyOf||=[],e.format&&(e.anyOf.push({format:e.format,...e.errorMessage&&r.errorMessages&&{errorMessage:{format:e.errorMessage.format}}}),delete e.format,e.errorMessage&&(delete e.errorMessage.format,Object.keys(e.errorMessage).length===0&&delete e.errorMessage)),e.anyOf.push({format:t,...n&&r.errorMessages&&{errorMessage:{format:n}}})):Qn(e,`format`,t,n,r)}function Ri(e,t,n,r){e.pattern||e.allOf?.some(e=>e.pattern)?(e.allOf||=[],e.pattern&&(e.allOf.push({pattern:e.pattern,...e.errorMessage&&r.errorMessages&&{errorMessage:{pattern:e.errorMessage.pattern}}}),delete e.pattern,e.errorMessage&&(delete e.errorMessage.pattern,Object.keys(e.errorMessage).length===0&&delete e.errorMessage)),e.allOf.push({pattern:zi(t,r),...n&&r.errorMessages&&{errorMessage:{pattern:n}}})):Qn(e,`pattern`,zi(t,r),n,r)}function zi(e,t){if(!t.applyRegexFlags||!e.flags)return e.source;let n={i:e.flags.includes(`i`),m:e.flags.includes(`m`),s:e.flags.includes(`s`)},r=n.i?e.source.toLowerCase():e.source,i=``,a=!1,o=!1,s=!1;for(let e=0;e<r.length;e++){if(a){i+=r[e],a=!1;continue}if(n.i){if(o){if(r[e].match(/[a-z]/)){s?(i+=r[e],i+=`${r[e-2]}-${r[e]}`.toUpperCase(),s=!1):r[e+1]===`-`&&r[e+2]?.match(/[a-z]/)?(i+=r[e],s=!0):i+=`${r[e]}${r[e].toUpperCase()}`;continue}}else if(r[e].match(/[a-z]/)){i+=`[${r[e]}${r[e].toUpperCase()}]`;continue}}if(n.m){if(r[e]===`^`){i+=`(^|(?<=[\r
|
|
3
|
+
]))`;continue}if(r[e]===`$`){i+=`($|(?=[\r
|
|
4
|
+
]))`;continue}}if(n.s&&r[e]===`.`){i+=o?`${r[e]}\r\n`:`[${r[e]}\r\n]`;continue}i+=r[e],r[e]===`\\`?a=!0:o&&r[e]===`]`?o=!1:!o&&r[e]===`[`&&(o=!0)}try{new RegExp(i)}catch{return console.warn(`Could not convert regex pattern at ${t.currentPath.join(`/`)} to a flag-independent form! Falling back to the flag-ignorant source`),e.source}return i}function Bi(e,t){if(t.target===`openAi`&&console.warn(`Warning: OpenAI may not support records in schemas! Try an array of key-value pairs instead.`),t.target===`openApi3`&&e.keyType?._def.typeName===G.ZodEnum)return{type:`object`,required:e.keyType._def.values,properties:e.keyType._def.values.reduce((n,r)=>({...n,[r]:ia(e.valueType._def,{...t,currentPath:[...t.currentPath,`properties`,r]})??Oi(t)}),{}),additionalProperties:t.rejectedAdditionalProperties};let n={type:`object`,additionalProperties:ia(e.valueType._def,{...t,currentPath:[...t.currentPath,`additionalProperties`]})??t.allowedAdditionalProperties};if(t.target===`openApi3`)return n;if(e.keyType?._def.typeName===G.ZodString&&e.keyType._def.checks?.length){let{type:r,...i}=Ni(e.keyType._def,t);return{...n,propertyNames:i}}if(e.keyType?._def.typeName===G.ZodEnum)return{...n,propertyNames:{enum:e.keyType._def.values}};if(e.keyType?._def.typeName===G.ZodBranded&&e.keyType._def.type._def.typeName===G.ZodString&&e.keyType._def.type._def.checks?.length){let{type:r,...i}=ki(e.keyType._def,t);return{...n,propertyNames:i}}return n}function Vi(e,t){return t.mapStrategy===`record`?Bi(e,t):{type:`array`,maxItems:125,items:{type:`array`,items:[ia(e.keyType._def,{...t,currentPath:[...t.currentPath,`items`,`items`,`0`]})||Oi(t),ia(e.valueType._def,{...t,currentPath:[...t.currentPath,`items`,`items`,`1`]})||Oi(t)],minItems:2,maxItems:2}}}function Hi(e){let t=e.values,n=Object.keys(e.values).filter(e=>typeof t[t[e]]!=`number`).map(e=>t[e]),r=Array.from(new Set(n.map(e=>typeof e)));return{type:r.length===1?r[0]===`string`?`string`:`number`:[`string`,`number`],enum:n}}function Ui(e){return e.target===`openAi`?void 0:{not:Oi({...e,currentPath:[...e.currentPath,`not`]})}}function Wi(e){return e.target===`openApi3`?{enum:[`null`],nullable:!0}:{type:`null`}}var Gi={ZodString:`string`,ZodNumber:`number`,ZodBigInt:`integer`,ZodBoolean:`boolean`,ZodNull:`null`};function Ki(e,t){if(t.target===`openApi3`)return qi(e,t);let n=e.options instanceof Map?Array.from(e.options.values()):e.options;if(n.every(e=>e._def.typeName in Gi&&(!e._def.checks||!e._def.checks.length))){let e=n.reduce((e,t)=>{let n=Gi[t._def.typeName];return n&&!e.includes(n)?[...e,n]:e},[]);return{type:e.length>1?e:e[0]}}if(n.every(e=>e._def.typeName===`ZodLiteral`&&!e.description)){let e=n.reduce((e,t)=>{let n=typeof t._def.value;switch(n){case`string`:case`number`:case`boolean`:return[...e,n];case`bigint`:return[...e,`integer`];case`object`:if(t._def.value===null)return[...e,`null`];default:return e}},[]);if(e.length===n.length){let t=e.filter((e,t,n)=>n.indexOf(e)===t);return{type:t.length>1?t:t[0],enum:n.reduce((e,t)=>e.includes(t._def.value)?e:[...e,t._def.value],[])}}}else if(n.every(e=>e._def.typeName===`ZodEnum`))return{type:`string`,enum:n.reduce((e,t)=>[...e,...t._def.values.filter(t=>!e.includes(t))],[])};return qi(e,t)}var qi=(e,t)=>{let n=(e.options instanceof Map?Array.from(e.options.values()):e.options).map((e,n)=>ia(e._def,{...t,currentPath:[...t.currentPath,`anyOf`,`${n}`]})).filter(e=>!!e&&(!t.strictUnions||typeof e==`object`&&Object.keys(e).length>0));return n.length?{anyOf:n}:void 0};function Ji(e,t){if([`ZodString`,`ZodNumber`,`ZodBigInt`,`ZodBoolean`,`ZodNull`].includes(e.innerType._def.typeName)&&(!e.innerType._def.checks||!e.innerType._def.checks.length))return t.target===`openApi3`?{type:Gi[e.innerType._def.typeName],nullable:!0}:{type:[Gi[e.innerType._def.typeName],`null`]};if(t.target===`openApi3`){let n=ia(e.innerType._def,{...t,currentPath:[...t.currentPath]});return n&&`$ref`in n?{allOf:[n],nullable:!0}:n&&{...n,nullable:!0}}let n=ia(e.innerType._def,{...t,currentPath:[...t.currentPath,`anyOf`,`0`]});return n&&{anyOf:[n,{type:`null`}]}}function Yi(e,t){let n={type:`number`};if(!e.checks)return n;for(let r of e.checks)switch(r.kind){case`int`:n.type=`integer`,Zn(n,`type`,r.message,t);break;case`min`:t.target===`jsonSchema7`?r.inclusive?Qn(n,`minimum`,r.value,r.message,t):Qn(n,`exclusiveMinimum`,r.value,r.message,t):(r.inclusive||(n.exclusiveMinimum=!0),Qn(n,`minimum`,r.value,r.message,t));break;case`max`:t.target===`jsonSchema7`?r.inclusive?Qn(n,`maximum`,r.value,r.message,t):Qn(n,`exclusiveMaximum`,r.value,r.message,t):(r.inclusive||(n.exclusiveMaximum=!0),Qn(n,`maximum`,r.value,r.message,t));break;case`multipleOf`:Qn(n,`multipleOf`,r.value,r.message,t)}return n}function Xi(e,t){let n=t.target===`openAi`,r={type:`object`,properties:{}},i=[],a=e.shape();for(let e in a){let o=a[e];if(o===void 0||o._def===void 0)continue;let s=Qi(o);s&&n&&(o._def.typeName===`ZodOptional`&&(o=o._def.innerType),o.isNullable()||(o=o.nullable()),s=!1);let c=ia(o._def,{...t,currentPath:[...t.currentPath,`properties`,e],propertyPath:[...t.currentPath,`properties`,e]});c!==void 0&&(r.properties[e]=c,s||i.push(e))}i.length&&(r.required=i);let o=Zi(e,t);return o!==void 0&&(r.additionalProperties=o),r}function Zi(e,t){if(e.catchall._def.typeName!==`ZodNever`)return ia(e.catchall._def,{...t,currentPath:[...t.currentPath,`additionalProperties`]});switch(e.unknownKeys){case`passthrough`:return t.allowedAdditionalProperties;case`strict`:return t.rejectedAdditionalProperties;case`strip`:return t.removeAdditionalStrategy===`strict`?t.allowedAdditionalProperties:t.rejectedAdditionalProperties}}function Qi(e){try{return e.isOptional()}catch{return!0}}var $i=(e,t)=>{if(t.currentPath.toString()===t.propertyPath?.toString())return ia(e.innerType._def,t);let n=ia(e.innerType._def,{...t,currentPath:[...t.currentPath,`anyOf`,`1`]});return n?{anyOf:[{not:Oi(t)},n]}:Oi(t)},_ee=(e,t)=>{if(t.pipeStrategy===`input`)return ia(e.in._def,t);if(t.pipeStrategy===`output`)return ia(e.out._def,t);let n=ia(e.in._def,{...t,currentPath:[...t.currentPath,`allOf`,`0`]});return{allOf:[n,ia(e.out._def,{...t,currentPath:[...t.currentPath,`allOf`,n?`1`:`0`]})].filter(e=>e!==void 0)}};function vee(e,t){return ia(e.type._def,t)}function yee(e,t){let n={type:`array`,uniqueItems:!0,items:ia(e.valueType._def,{...t,currentPath:[...t.currentPath,`items`]})};return e.minSize&&Qn(n,`minItems`,e.minSize.value,e.minSize.message,t),e.maxSize&&Qn(n,`maxItems`,e.maxSize.value,e.maxSize.message,t),n}function bee(e,t){return e.rest?{type:`array`,minItems:e.items.length,items:e.items.map((e,n)=>ia(e._def,{...t,currentPath:[...t.currentPath,`items`,`${n}`]})).reduce((e,t)=>t===void 0?e:[...e,t],[]),additionalItems:ia(e.rest._def,{...t,currentPath:[...t.currentPath,`additionalItems`]})}:{type:`array`,minItems:e.items.length,maxItems:e.items.length,items:e.items.map((e,n)=>ia(e._def,{...t,currentPath:[...t.currentPath,`items`,`${n}`]})).reduce((e,t)=>t===void 0?e:[...e,t],[])}}function ea(e){return{not:Oi(e)}}function ta(e){return Oi(e)}var na=(e,t)=>ia(e.innerType._def,t),ra=(e,t,n)=>{switch(t){case G.ZodString:return Ni(e,n);case G.ZodNumber:return Yi(e,n);case G.ZodObject:return Xi(e,n);case G.ZodBigInt:return see(e,n);case G.ZodBoolean:return cee();case G.ZodDate:return Ai(e,n);case G.ZodUndefined:return ea(n);case G.ZodNull:return Wi(n);case G.ZodArray:return oee(e,n);case G.ZodUnion:case G.ZodDiscriminatedUnion:return Ki(e,n);case G.ZodIntersection:return hee(e,n);case G.ZodTuple:return bee(e,n);case G.ZodRecord:return Bi(e,n);case G.ZodLiteral:return gee(e,n);case G.ZodEnum:return pee(e);case G.ZodNativeEnum:return Hi(e);case G.ZodNullable:return Ji(e,n);case G.ZodOptional:return $i(e,n);case G.ZodMap:return Vi(e,n);case G.ZodSet:return yee(e,n);case G.ZodLazy:return()=>e.getter()._def;case G.ZodPromise:return vee(e,n);case G.ZodNaN:case G.ZodNever:return Ui(n);case G.ZodEffects:return fee(e,n);case G.ZodAny:return Oi(n);case G.ZodUnknown:return ta(n);case G.ZodDefault:return dee(e,n);case G.ZodBranded:return ki(e,n);case G.ZodReadonly:return na(e,n);case G.ZodCatch:return lee(e,n);case G.ZodPipeline:return _ee(e,n);case G.ZodFunction:case G.ZodVoid:case G.ZodSymbol:return;default:return(e=>void 0)(t)}};function ia(e,t,n=!1){let r=t.seen.get(e);if(t.override){let i=t.override?.(e,t,r,n);if(i!==qn)return i}if(r&&!n){let e=aa(r,t);if(e!==void 0)return e}let i={def:e,path:t.currentPath,jsonSchema:void 0};t.seen.set(e,i);let a=ra(e,e.typeName,t),o=typeof a==`function`?ia(a(),t):a;if(o&&oa(e,t,o),t.postProcess){let n=t.postProcess(o,e,t);return i.jsonSchema=o,n}return i.jsonSchema=o,o}var aa=(e,t)=>{switch(t.$refStrategy){case`root`:return{$ref:e.path.join(`/`)};case`relative`:return{$ref:$n(t.currentPath,e.path)};case`none`:case`seen`:return e.path.length<t.currentPath.length&&e.path.every((e,n)=>t.currentPath[n]===e)?(console.warn(`Recursive reference detected at ${t.currentPath.join(`/`)}! Defaulting to any`),Oi(t)):t.$refStrategy===`seen`?Oi(t):void 0}},oa=(e,t,n)=>(e.description&&(n.description=e.description,t.markdownDescription&&(n.markdownDescription=e.description)),n),sa=(e,t)=>{let n=Xn(t),r=typeof t==`object`&&t.definitions?Object.entries(t.definitions).reduce((e,[t,r])=>({...e,[t]:ia(r._def,{...n,currentPath:[...n.basePath,n.definitionPath,t]},!0)??Oi(n)}),{}):void 0,i=typeof t==`string`?t:t?.nameStrategy===`title`?void 0:t?.name,a=ia(e._def,i===void 0?n:{...n,currentPath:[...n.basePath,n.definitionPath,i]},!1)??Oi(n),o=typeof t==`object`&&t.name!==void 0&&t.nameStrategy===`title`?t.name:void 0;o!==void 0&&(a.title=o),n.flags.hasReferencedOpenAiAnyType&&(r||={},r[n.openAiAnyTypeName]||(r[n.openAiAnyTypeName]={type:[`string`,`number`,`integer`,`boolean`,`array`,`null`],items:{$ref:n.$refStrategy===`relative`?`1`:[...n.basePath,n.definitionPath,n.openAiAnyTypeName].join(`/`)}}));let s=i===void 0?r?{...a,[n.definitionPath]:r}:a:{$ref:[...n.$refStrategy===`relative`?[]:n.basePath,n.definitionPath,i].join(`/`),[n.definitionPath]:{...r,[i]:a}};return n.target===`jsonSchema7`?s.$schema=`http://json-schema.org/draft-07/schema#`:(n.target===`jsonSchema2019-09`||n.target===`openAi`)&&(s.$schema=`https://json-schema.org/draft/2019-09/schema#`),n.target===`openAi`&&(`anyOf`in s||`oneOf`in s||`allOf`in s||`type`in s&&Array.isArray(s.type))&&console.warn(`Warning: OpenAI may not support schemas with unions as roots! Try wrapping it in an object property.`),s},ca=class{constructor(e,t){this.catalogs=e,this.actionHandler=t,this.model=new Gn,this.actionHandler&&this.model.onAction.subscribe(this.actionHandler)}getClientCapabilities(e){let t={"v0.9":{supportedCatalogIds:this.catalogs.map(e=>e.id)}};return e?.includeInlineCatalogs&&(t[`v0.9`].inlineCatalogs=this.catalogs.map(e=>this.generateInlineCatalog(e))),t}generateInlineCatalog(e){let t={};for(let[n,r]of e.components.entries()){let e=sa(r.schema,{target:`jsonSchema2019-09`});this.processRefs(e),t[n]={allOf:[{$ref:`common_types.json#/$defs/ComponentCommon`},{properties:{component:{const:n},...e.properties},required:[`component`,...e.required||[]]}]}}let n=[];for(let t of e.functions.values()){let e=sa(t.schema,{target:`jsonSchema2019-09`});this.processRefs(e),n.push({name:t.name,description:t.schema.description,returnType:t.returnType,parameters:e})}let r;if(e.themeSchema){let t=sa(e.themeSchema,{target:`jsonSchema2019-09`});this.processRefs(t),r=t.properties}return{catalogId:e.id,components:t,functions:n.length>0?n:void 0,theme:r}}processRefs(e){if(!(typeof e!=`object`||!e)){if(typeof e.description==`string`&&e.description.startsWith(`REF:`)){let t=e.description.substring(4).split(`|`),n=t[0],r=t[1]||``;for(let t of Object.keys(e))delete e[t];e.$ref=n,r&&(e.description=r);return}if(Array.isArray(e))for(let t of e)this.processRefs(t);else for(let t of Object.keys(e))this.processRefs(e[t])}}getClientDataModel(){let e={};for(let t of this.model.surfacesMap.values())t.sendDataModel&&(e[t.id]=t.dataModel.get(`/`));if(Object.keys(e).length!==0)return{version:`v0.9`,surfaces:e}}onSurfaceCreated(e){return this.model.onSurfaceCreated.subscribe(e)}onSurfaceDeleted(e){return this.model.onSurfaceDeleted.subscribe(e)}processMessages(e){let t=Array.isArray(e)?e:e.messages;for(let e of t)this.processMessage(e)}processMessage(e){let t=[`createSurface`,`updateComponents`,`updateDataModel`,`deleteSurface`].filter(t=>t in e);if(t.length>1)throw new Vt(`Message contains multiple update types: ${t.join(`, `)}.`);if(`createSurface`in e){this.processCreateSurfaceMessage(e);return}if(`deleteSurface`in e){this.processDeleteSurfaceMessage(e);return}if(`updateComponents`in e){this.processUpdateComponentsMessage(e);return}if(`updateDataModel`in e){this.processUpdateDataModelMessage(e);return}}processCreateSurfaceMessage(e){let{surfaceId:t,catalogId:n,theme:r,sendDataModel:i}=e.createSurface,a=this.catalogs.find(e=>e.id===n);if(!a)throw new Wt(`Catalog not found: ${n}`);if(this.model.getSurface(t))throw new Wt(`Surface ${t} already exists.`);let o=new Wn(t,a,r,i??!1);this.model.addSurface(o)}processDeleteSurfaceMessage(e){let t=e.deleteSurface;t.surfaceId&&this.model.deleteSurface(t.surfaceId)}processUpdateComponentsMessage(e){let t=e.updateComponents;if(!t.surfaceId)return;let n=this.model.getSurface(t.surfaceId);if(!n)throw new Wt(`Surface not found for message: ${t.surfaceId}`);for(let e of t.components){let{id:t,component:r,...i}=e;if(!t)throw new Vt(`Component '${r}' is missing an 'id'.`);let a=n.componentsModel.get(t);if(a){if(r&&r!==a.type){n.componentsModel.removeComponent(t);let e=new Kn(t,r,i);n.componentsModel.addComponent(e)}else a.properties=i}else{if(!r)throw new Vt(`Cannot create component ${t} without a type.`);let e=new Kn(t,r,i);n.componentsModel.addComponent(e)}}}processUpdateDataModelMessage(e){let t=e.updateDataModel;if(!t.surfaceId)return;let n=this.model.getSurface(t.surfaceId);if(!n)throw new Wt(`Surface not found for message: ${t.surfaceId}`);let r=t.path||`/`,i=t.value;n.dataModel.set(r,i)}resolvePath(e,t){return e.startsWith(`/`)?e:t?`${t.endsWith(`/`)?t:`${t}/`}${e}`:`/${e}`}},la=class e{constructor(e,t){this.surface=e,this.path=t,this.dataModel=e.dataModel,this.functionInvoker=e.catalog.invoker}set(e,t){let n=this.resolvePath(e);this.dataModel.set(n,t)}resolveDynamicValue(e){if(typeof e!=`object`||!e||Array.isArray(e))return e;if(`path`in e){let t=this.resolvePath(e.path);return this.dataModel.get(t)}if(`call`in e){let t=e,n={};for(let[e,r]of Object.entries(t.args))n[e]=this.resolveDynamicValue(r);let r=new AbortController,i=this.evaluateFunctionReactive(t.call,n,r.signal);return i===void 0?void 0:Pn(i)?Ln(i):i}return e}subscribeDynamicValue(e,t){let n=this.resolveSignal(e),r=!0,i=Ln(n),a=Mn(()=>{let e=Fn(n);i=e,r||t(e)});return r=!1,{get value(){return i},unsubscribe:()=>{a(),n.unsubscribe?.()}}}resolveSignal(e){if(typeof e!=`object`||!e||Array.isArray(e))return An(e);if(`path`in e){let t=this.resolvePath(e.path);return this.dataModel.getSignal(t)}if(`call`in e){let t=e,n={};for(let[e,r]of Object.entries(t.args))n[e]=this.resolveSignal(r);if(Object.keys(n).length===0){let e=new AbortController,n=this.evaluateFunctionReactive(t.call,{},e.signal),r=Pn(n)?n:An(n);return r.unsubscribe=()=>e.abort(),r}let r=Object.keys(n),i=An(void 0),a,o,s=jn(()=>{let e={};for(let t=0;t<r.length;t++)e[r[t]]=Fn(n[r[t]]);return e}),c=Mn(()=>{try{let e=Fn(s);a&&a.abort(),o&&=(o(),void 0),a=new AbortController;let n=this.evaluateFunctionReactive(t.call,e,a.signal);Pn(n)?o=Mn(()=>{In(i,Fn(n))}):In(i,n)}catch(e){this.dispatchExpressionError(e,t.call),In(i,void 0)}});return i.unsubscribe=()=>{c(),o&&o(),a&&a.abort();for(let e=0;e<r.length;e++)n[r[e]].unsubscribe?.()},i}return An(e)}resolveAction(e){if(`event`in e){let t={};if(e.event.context)for(let[n,r]of Object.entries(e.event.context))t[n]=this.resolveDynamicValue(r);return{event:{...e.event,context:t}}}return`functionCall`in e?this.resolveDynamicValue(e.functionCall):e}evaluateFunctionReactive(e,t,n){try{return this.functionInvoker(e,t,this,n)}catch(t){this.dispatchExpressionError(t,e);return}}dispatchExpressionError(e,t){if(e?.name===`ZodError`||e instanceof z){let n=new Ut(`Validation failed for function '${t}': ${e.message}`,t,e.errors??e.issues);this.surface.dispatchError({code:`EXPRESSION_ERROR`,message:n.message,expression:t,details:n.details})}else e instanceof Ut?this.surface.dispatchError({code:`EXPRESSION_ERROR`,message:e.message,expression:e.expression,details:e.details}):this.surface.dispatchError({code:`EXPRESSION_ERROR`,message:e.message??`An unexpected error occurred in function ${t}.`,expression:t,details:{stack:e.stack}})}nested(t){let n=this.resolvePath(t);return new e(this.surface,n)}resolvePath(e){if(e.startsWith(`/`))return e;if(e===``||e===`.`)return this.path;let t=this.path;return t.endsWith(`/`)&&t.length>1&&(t=t.slice(0,-1)),t===`/`&&(t=``),`${t}/${e}`}},ua=class{constructor(e,t,n=`/`){let r=e.componentsModel.get(t);if(!r)throw new Wt(`Component not found: ${t}`);this.componentModel=r,this.surfaceComponents=e.componentsModel,this.theme=e.theme,this.dataContext=new la(e,n),this._actionDispatcher=t=>e.dispatchAction(t,this.componentModel.id)}dispatchAction(e){return this._actionDispatcher(e)}};function da(e){return fa(e)}function fa(e,t){let n=e;for(;n._def.typeName===`ZodOptional`||n._def.typeName===`ZodNullable`||n._def.typeName===`ZodDefault`;)n=n._def.innerType;if(t===`checks`)return{type:`CHECKABLE`};if(n._def.typeName===`ZodUnion`){let e=n._def.options;if(e.some(e=>e._def.typeName===`ZodObject`&&e._def.shape().event))return{type:`ACTION`};if(e.some(e=>e._def.typeName===`ZodObject`&&e._def.shape().path&&!e._def.shape().componentId))return{type:`DYNAMIC`};if(e.some(e=>e._def.typeName===`ZodObject`&&e._def.shape().componentId&&e._def.shape().path))return{type:`STRUCTURAL`}}else n._def.typeName;if(n._def.typeName===`ZodArray`)return{type:`ARRAY`,element:fa(n._def.type)};if(n._def.typeName===`ZodObject`){let e={},t=n._def.shape();for(let[n,r]of Object.entries(t))e[n]=fa(r,n);return{type:`OBJECT`,shape:e}}return{type:`STATIC`}}var pa=class{constructor(e,t){this.dataListeners=[],this.propsListeners=[],this.currentProps={},this.isConnected=!1,this.context=e,this.behaviorTree=da(t),this.behaviorTree.type!==`OBJECT`&&(this.behaviorTree={type:`OBJECT`,shape:{}}),this.resolveInitialProps()}resolveInitialProps(){let e=this.context.componentModel.properties,t=this.resolveAndBind(e,this.behaviorTree,[],!0);this.currentProps={...this.currentProps,...t}}connect(){if(this.isConnected)return;this.isConnected=!0;let e=this.context.componentModel.onUpdated.subscribe(()=>{this.rebuildAllBindings()});this.compUnsub=()=>e.unsubscribe(),this.rebuildAllBindings()}rebuildAllBindings(){this.dataListeners.forEach(e=>e()),this.dataListeners=[];let e=this.context.componentModel.properties,t=this.resolveAndBind(e,this.behaviorTree,[],!1);this.currentProps={...this.currentProps,...t},this.notify()}resolveAndBind(e,t,n,r){if(e==null)return e;switch(t.type){case`DYNAMIC`:{let t=this.context.dataContext.subscribeDynamicValue(e,e=>{this.updateDeepValue(n,e),this.notify()});return r?t.unsubscribe():this.dataListeners.push(()=>t.unsubscribe()),t.value}case`ACTION`:return()=>{let t=e=>{if(typeof e!=`object`||!e)return e;if(`path`in e||`call`in e)return this.context.dataContext.resolveDynamicValue(e);if(Array.isArray(e))return e.map(t);let n={};for(let[r,i]of Object.entries(e))n[r]=t(i);return n};this.context.dispatchAction(t(e))};case`STRUCTURAL`:if(e&&typeof e==`object`&&e.path&&e.componentId){let t=this.context.dataContext.subscribeDynamicValue({path:e.path},t=>{let r=Array.isArray(t)?t:[],i=this.context.dataContext.nested(e.path),a=r.map((t,n)=>({id:e.componentId,basePath:i.nested(String(n)).path}));this.updateDeepValue(n,a),this.notify()});r?t.unsubscribe():this.dataListeners.push(()=>t.unsubscribe());let i=Array.isArray(t.value)?t.value:[],a=this.context.dataContext.nested(e.path);return i.map((t,n)=>({id:e.componentId,basePath:a.nested(String(n)).path}))}return e;case`CHECKABLE`:{let t=Array.isArray(e)?e:[],i=t.map(()=>({valid:!0,message:``})),a=n.slice(0,-1),o=()=>{let e=i.filter(e=>!e.valid).map(e=>e.message);this.updateDeepValue([...a,`isValid`],e.length===0),this.updateDeepValue([...a,`validationErrors`],e),this.notify()};t.forEach((e,t)=>{let n=e.condition||e,a=e.message||`Validation failed`;i[t].message=a;let s=this.context.dataContext.subscribeDynamicValue(n,e=>{i[t].valid=!!e,o()});r?s.unsubscribe():this.dataListeners.push(()=>s.unsubscribe()),i[t].valid=!!s.value});let s=i.filter(e=>!e.valid).map(e=>e.message);return this.updateDeepValue([...a,`isValid`],s.length===0),this.updateDeepValue([...a,`validationErrors`],s),e}case`STATIC`:return e;case`ARRAY`:return Array.isArray(e)?e.map((e,i)=>this.resolveAndBind(e,t.element,[...n,i.toString()],r)):e;case`OBJECT`:{if(typeof e!=`object`)return e;let i={};for(let[a,o]of Object.entries(e)){let e=t.shape[a]||{type:`STATIC`};i[a]=this.resolveAndBind(o,e,[...n,a],r)}for(let[n,r]of Object.entries(t.shape))if(r.type===`DYNAMIC`){let t=`set${n.charAt(0).toUpperCase()+n.slice(1)}`,r=e[n];i[t]=e=>{r&&typeof r==`object`&&`path`in r&&this.context.dataContext.set(r.path,e)}}return i}}}updateDeepValue(e,t){this.currentProps=this.cloneAndUpdate(this.currentProps,e,t)}cloneAndUpdate(e,t,n){if(t.length===0)return n;let[r,...i]=t;if(Array.isArray(e)){let t=[...e];return t[Number(r)]=this.cloneAndUpdate(t[Number(r)],i,n),t}return{...e||{},[r]:this.cloneAndUpdate((e||{})[r],i,n)}}dispose(){this.isConnected&&(this.isConnected=!1,this.dataListeners.forEach(e=>e()),this.dataListeners=[],this.compUnsub&&=(this.compUnsub(),void 0))}notify(){this.propsListeners.forEach(e=>e(this.currentProps))}subscribe(e){return this.propsListeners.length===0&&this.connect(),this.propsListeners.push(e),{unsubscribe:()=>{this.propsListeners=this.propsListeners.filter(t=>t!==e),this.propsListeners.length===0&&this.dispose()}}}get snapshot(){return this.currentProps}},ma=Nt({path:Ot().describe(`A JSON Pointer path to a value in the data model.`)}).describe(`REF:common_types.json#/$defs/DataBinding|A JSON Pointer path to a value in the data model.`),ha=Nt({call:Ot().describe(`The name of the function to call.`),args:Ft(jt()).describe(`Arguments passed to the function.`),returnType:Lt([`string`,`number`,`boolean`,`array`,`object`,`any`,`void`]).default(`boolean`)}).describe(`REF:common_types.json#/$defs/FunctionCall|Invokes a named function on the client.`),ga=Pt([At(),ma,ha]).describe(`REF:common_types.json#/$defs/DynamicBoolean|A boolean value that can be a literal, a path, or a function call returning a boolean.`),_a=Pt([Ot(),ma,ha]).describe(`REF:common_types.json#/$defs/DynamicString|Represents a string`),va=Pt([kt(),ma,ha]).describe(`REF:common_types.json#/$defs/DynamicNumber|Represents a value that can be either a literal number, a path to a number in the data model, or a function call returning a number.`),ya=Pt([Mt(Ot()),ma,ha]).describe(`REF:common_types.json#/$defs/DynamicStringList|Represents a value that can be either a literal array of strings, a path to a string array in the data model, or a function call returning a string array.`),ba=Pt([Ot(),kt(),At(),Mt(jt()),ma,ha]).describe(`REF:common_types.json#/$defs/DynamicValue|A value that can be a literal, a path, or a function call returning any type.`),xa=Ot().describe(`REF:common_types.json#/$defs/ComponentId|The unique identifier for a component.`),Sa=Pt([Mt(xa).describe(`A static list of child component IDs.`),Nt({componentId:xa,path:Ot().describe(`The path to the list of component property objects in the data model.`)}).describe(`A template for generating a dynamic list of children.`)]).describe(`REF:common_types.json#/$defs/ChildList`),Ca=Pt([Nt({event:Nt({name:Ot(),context:Ft(ba).optional()})}).describe(`Triggers a server-side event.`),Nt({functionCall:ha}).describe(`Executes a local client-side function.`)]).describe(`REF:common_types.json#/$defs/Action`),wa=Nt({condition:ga,message:Ot().describe(`The error message to display if the check fails.`)}).describe(`REF:common_types.json#/$defs/CheckRule|A check rule consisting of a condition and an error message.`),Ta=Nt({checks:Mt(wa).optional().describe(`A list of checks to perform.`)}).describe(`REF:common_types.json#/$defs/Checkable|Properties for components that support client-side checks.`),Ea=Nt({label:_a.optional().describe(`REF:common_types.json#/$defs/DynamicString|A short string used by assistive technologies to convey the purpose of an element.`),description:_a.optional().describe(`REF:common_types.json#/$defs/DynamicString|Additional information provided by assistive technologies about an element.`)}).describe(`REF:common_types.json#/$defs/AccessibilityAttributes|Attributes to enhance accessibility.`),Da={ComponentId:xa,ChildList:Sa,DataBinding:ma,DynamicValue:ba,DynamicString:_a,DynamicNumber:va,DynamicBoolean:ga,DynamicStringList:ya,FunctionCall:ha,CheckRule:wa,Checkable:Ta,Action:Ca,AccessibilityAttributes:Ea,AnyComponent:Nt({component:Ot().describe(`The type name of the component.`),id:xa.optional(),weight:kt().optional()}).passthrough().describe(`A generic A2UI component definition.`)},Oa=class e{static{this.MAX_DEPTH=10}parse(t,n=0){if(n>e.MAX_DEPTH)throw new Ut(`Max recursion depth reached in parse`);if(!t||!t.includes("${"))return[t];let r=[],i=new ka(t);for(;!i.isAtEnd();)if(i.matches("${")){i.advance(2);let e=this.extractInterpolationContent(i),t=this.parseExpression(e,n+1);t!==null&&r.push(t)}else if(i.peek()===`\\`&&i.peek(1)===`$`&&i.peek(2)===`{`)i.advance(),r.push("${"),i.advance(2);else{let e=i.pos;for(;!i.isAtEnd()&&!(i.matches("${")||i.peek()===`\\`&&i.peek(1)===`$`&&i.peek(2)===`{`);)i.advance();r.push(i.input.substring(e,i.pos))}return r.filter(e=>e!==null&&e!==``)}extractInterpolationContent(e){let t=e.pos,n=1;for(;!e.isAtEnd()&&n>0;){let t=e.advance();if(t===`{`)n++;else if(t===`}`)n--;else if(t===`'`||t===`"`){let n=t;for(;!e.isAtEnd();){let t=e.advance();if(t===`\\`)e.advance();else if(t===n)break}}}if(n>0)throw new Ut(`Unclosed interpolation: missing '}'`);return e.input.substring(t,e.pos-1)}parseExpression(e,t=0){if(e=e.trim(),!e)return``;let n=new ka(e),r=this.parseExpressionInternal(n,t);if(!n.isAtEnd())throw new Ut(`Unexpected characters at end of expression: '${n.input.substring(n.pos)}'`);return r}parseExpressionInternal(e,t){if(e.skipWhitespace(),e.isAtEnd())return``;if(e.matches("${")){e.advance(2);let n=this.extractInterpolationContent(e);return this.parseExpression(n,t+1)}if(e.matchesString(`'`)||e.matchesString(`"`))return this.parseStringLiteral(e);if(this.isDigit(e.peek()))return this.parseNumberLiteral(e);if(e.matchesKeyword(`true`))return!0;if(e.matchesKeyword(`false`))return!1;if(e.matchesKeyword(`null`))return``;let n=this.scanPathOrIdentifier(e);return e.skipWhitespace(),e.peek()===`(`?this.parseFunctionCall(n,e,t):n?{path:n}:``}scanPathOrIdentifier(e){let t=e.pos;for(;!e.isAtEnd();){let t=e.peek();if(this.isAlnum(t)||t===`/`||t===`.`||t===`_`||t===`-`)e.advance();else break}return e.input.substring(t,e.pos)}parseFunctionCall(e,t,n){t.match(`(`),t.skipWhitespace();let r={};for(;!t.isAtEnd()&&t.peek()!==`)`;){let i=this.scanIdentifier(t);if(t.skipWhitespace(),!t.match(`:`))throw new Ut(`Expected ':' after argument name '${i}' in function '${e}'`);t.skipWhitespace(),r[i]=this.parseExpressionInternal(t,n),t.skipWhitespace(),t.peek()===`,`&&(t.advance(),t.skipWhitespace())}if(!t.match(`)`))throw new Ut(`Expected ')' after function arguments for '${e}'`);return{call:e,args:r,returnType:`any`}}scanIdentifier(e){let t=e.pos;for(;!e.isAtEnd()&&(this.isAlnum(e.peek())||e.peek()===`_`);)e.advance();return e.input.substring(t,e.pos)}parseStringLiteral(e){let t=e.advance(),n=``;for(;!e.isAtEnd();){let r=e.advance();if(r===`\\`){let t=e.advance();n+=t===`n`?`
|
|
5
|
+
`:t===`t`?` `:t===`r`?`\r`:t}else if(r===t)break;else n+=r}return n}parseNumberLiteral(e){let t=e.pos;for(;!e.isAtEnd()&&(this.isDigit(e.peek())||e.peek()===`.`);)e.advance();return Number(e.input.substring(t,e.pos))}isAlnum(e){return e>=`a`&&e<=`z`||e>=`A`&&e<=`Z`||e>=`0`&&e<=`9`}isDigit(e){return e>=`0`&&e<=`9`}},ka=class{constructor(e){this.input=e,this.pos=0}isAtEnd(){return this.pos>=this.input.length}peek(e=0){return this.pos+e>=this.input.length?`\0`:this.input[this.pos+e]}advance(e=1){let t=this.input.substring(this.pos,this.pos+e);return this.pos+=e,t}match(e){return this.peek()===e&&(this.advance(),!0)}matches(e){return!!this.input.startsWith(e,this.pos)}matchesString(e){return this.peek()===e}matchesKeyword(e){if(this.input.startsWith(e,this.pos)){let t=this.peek(e.length);if(!/[a-zA-Z0-9_]/.test(t))return this.advance(e.length),!0}return!1}skipWhitespace(){for(;!this.isAtEnd()&&/\s/.test(this.peek());)this.advance()}},xee=365.2425,Aa=6048e5,See=864e5,ja=86400;ja*7,ja*xee/12*3;var Ma=Symbol.for(`constructDateFrom`);function Na(e,t){return typeof e==`function`?e(t):e&&typeof e==`object`&&Ma in e?e[Ma](t):e instanceof Date?new e.constructor(t):new Date(t)}function Pa(e,t){return Na(t||e,e)}var Fa={};function Ia(){return Fa}function La(e,t){let n=Ia(),r=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??n.weekStartsOn??n.locale?.options?.weekStartsOn??0,i=Pa(e,t?.in),a=i.getDay(),o=(a<r?7:0)+a-r;return i.setDate(i.getDate()-o),i.setHours(0,0,0,0),i}function Ra(e,t){return La(e,{...t,weekStartsOn:1})}function za(e,t){let n=Pa(e,t?.in),r=n.getFullYear(),i=Na(n,0);i.setFullYear(r+1,0,4),i.setHours(0,0,0,0);let a=Ra(i),o=Na(n,0);o.setFullYear(r,0,4),o.setHours(0,0,0,0);let s=Ra(o);return n.getTime()>=a.getTime()?r+1:n.getTime()>=s.getTime()?r:r-1}function Ba(e){let t=Pa(e),n=new Date(Date.UTC(t.getFullYear(),t.getMonth(),t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()));return n.setUTCFullYear(t.getFullYear()),e-+n}function Va(e,...t){let n=Na.bind(null,e||t.find(e=>typeof e==`object`));return t.map(n)}function Ha(e,t){let n=Pa(e,t?.in);return n.setHours(0,0,0,0),n}function Ua(e,t,n){let[r,i]=Va(n?.in,e,t),a=Ha(r),o=Ha(i),s=+a-Ba(a),c=+o-Ba(o);return Math.round((s-c)/See)}function Wa(e,t){let n=za(e,t),r=Na(t?.in||e,0);return r.setFullYear(n,0,4),r.setHours(0,0,0,0),Ra(r)}function Ga(e){return e instanceof Date||typeof e==`object`&&Object.prototype.toString.call(e)===`[object Date]`}function Ka(e){return!(!Ga(e)&&typeof e!=`number`||isNaN(+Pa(e)))}function qa(e,t){let n=Pa(e,t?.in);return n.setFullYear(n.getFullYear(),0,1),n.setHours(0,0,0,0),n}var Ja={lessThanXSeconds:{one:`less than a second`,other:`less than {{count}} seconds`},xSeconds:{one:`1 second`,other:`{{count}} seconds`},halfAMinute:`half a minute`,lessThanXMinutes:{one:`less than a minute`,other:`less than {{count}} minutes`},xMinutes:{one:`1 minute`,other:`{{count}} minutes`},aboutXHours:{one:`about 1 hour`,other:`about {{count}} hours`},xHours:{one:`1 hour`,other:`{{count}} hours`},xDays:{one:`1 day`,other:`{{count}} days`},aboutXWeeks:{one:`about 1 week`,other:`about {{count}} weeks`},xWeeks:{one:`1 week`,other:`{{count}} weeks`},aboutXMonths:{one:`about 1 month`,other:`about {{count}} months`},xMonths:{one:`1 month`,other:`{{count}} months`},aboutXYears:{one:`about 1 year`,other:`about {{count}} years`},xYears:{one:`1 year`,other:`{{count}} years`},overXYears:{one:`over 1 year`,other:`over {{count}} years`},almostXYears:{one:`almost 1 year`,other:`almost {{count}} years`}},Ya=(e,t,n)=>{let r,i=Ja[e];return r=typeof i==`string`?i:t===1?i.one:i.other.replace(`{{count}}`,t.toString()),n?.addSuffix?n.comparison&&n.comparison>0?`in `+r:r+` ago`:r};function Xa(e){return(t={})=>{let n=t.width?String(t.width):e.defaultWidth;return e.formats[n]||e.formats[e.defaultWidth]}}var Za={date:Xa({formats:{full:`EEEE, MMMM do, y`,long:`MMMM do, y`,medium:`MMM d, y`,short:`MM/dd/yyyy`},defaultWidth:`full`}),time:Xa({formats:{full:`h:mm:ss a zzzz`,long:`h:mm:ss a z`,medium:`h:mm:ss a`,short:`h:mm a`},defaultWidth:`full`}),dateTime:Xa({formats:{full:`{{date}} 'at' {{time}}`,long:`{{date}} 'at' {{time}}`,medium:`{{date}}, {{time}}`,short:`{{date}}, {{time}}`},defaultWidth:`full`})},Qa={lastWeek:`'last' eeee 'at' p`,yesterday:`'yesterday at' p`,today:`'today at' p`,tomorrow:`'tomorrow at' p`,nextWeek:`eeee 'at' p`,other:`P`},$a=(e,t,n,r)=>Qa[e];function eo(e){return(t,n)=>{let r=n?.context?String(n.context):`standalone`,i;if(r===`formatting`&&e.formattingValues){let t=e.defaultFormattingWidth||e.defaultWidth,r=n?.width?String(n.width):t;i=e.formattingValues[r]||e.formattingValues[t]}else{let t=e.defaultWidth,r=n?.width?String(n.width):e.defaultWidth;i=e.values[r]||e.values[t]}let a=e.argumentCallback?e.argumentCallback(t):t;return i[a]}}var to={ordinalNumber:(e,t)=>{let n=Number(e),r=n%100;if(r>20||r<10)switch(r%10){case 1:return n+`st`;case 2:return n+`nd`;case 3:return n+`rd`}return n+`th`},era:eo({values:{narrow:[`B`,`A`],abbreviated:[`BC`,`AD`],wide:[`Before Christ`,`Anno Domini`]},defaultWidth:`wide`}),quarter:eo({values:{narrow:[`1`,`2`,`3`,`4`],abbreviated:[`Q1`,`Q2`,`Q3`,`Q4`],wide:[`1st quarter`,`2nd quarter`,`3rd quarter`,`4th quarter`]},defaultWidth:`wide`,argumentCallback:e=>e-1}),month:eo({values:{narrow:[`J`,`F`,`M`,`A`,`M`,`J`,`J`,`A`,`S`,`O`,`N`,`D`],abbreviated:[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`],wide:[`January`,`February`,`March`,`April`,`May`,`June`,`July`,`August`,`September`,`October`,`November`,`December`]},defaultWidth:`wide`}),day:eo({values:{narrow:[`S`,`M`,`T`,`W`,`T`,`F`,`S`],short:[`Su`,`Mo`,`Tu`,`We`,`Th`,`Fr`,`Sa`],abbreviated:[`Sun`,`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`],wide:[`Sunday`,`Monday`,`Tuesday`,`Wednesday`,`Thursday`,`Friday`,`Saturday`]},defaultWidth:`wide`}),dayPeriod:eo({values:{narrow:{am:`a`,pm:`p`,midnight:`mi`,noon:`n`,morning:`morning`,afternoon:`afternoon`,evening:`evening`,night:`night`},abbreviated:{am:`AM`,pm:`PM`,midnight:`midnight`,noon:`noon`,morning:`morning`,afternoon:`afternoon`,evening:`evening`,night:`night`},wide:{am:`a.m.`,pm:`p.m.`,midnight:`midnight`,noon:`noon`,morning:`morning`,afternoon:`afternoon`,evening:`evening`,night:`night`}},defaultWidth:`wide`,formattingValues:{narrow:{am:`a`,pm:`p`,midnight:`mi`,noon:`n`,morning:`in the morning`,afternoon:`in the afternoon`,evening:`in the evening`,night:`at night`},abbreviated:{am:`AM`,pm:`PM`,midnight:`midnight`,noon:`noon`,morning:`in the morning`,afternoon:`in the afternoon`,evening:`in the evening`,night:`at night`},wide:{am:`a.m.`,pm:`p.m.`,midnight:`midnight`,noon:`noon`,morning:`in the morning`,afternoon:`in the afternoon`,evening:`in the evening`,night:`at night`}},defaultFormattingWidth:`wide`})};function no(e){return(t,n={})=>{let r=n.width,i=r&&e.matchPatterns[r]||e.matchPatterns[e.defaultMatchWidth],a=t.match(i);if(!a)return null;let o=a[0],s=r&&e.parsePatterns[r]||e.parsePatterns[e.defaultParseWidth],c=Array.isArray(s)?io(s,e=>e.test(o)):ro(s,e=>e.test(o)),l;l=e.valueCallback?e.valueCallback(c):c,l=n.valueCallback?n.valueCallback(l):l;let u=t.slice(o.length);return{value:l,rest:u}}}function ro(e,t){for(let n in e)if(Object.prototype.hasOwnProperty.call(e,n)&&t(e[n]))return n}function io(e,t){for(let n=0;n<e.length;n++)if(t(e[n]))return n}function ao(e){return(t,n={})=>{let r=t.match(e.matchPattern);if(!r)return null;let i=r[0],a=t.match(e.parsePattern);if(!a)return null;let o=e.valueCallback?e.valueCallback(a[0]):a[0];o=n.valueCallback?n.valueCallback(o):o;let s=t.slice(i.length);return{value:o,rest:s}}}var oo={code:`en-US`,formatDistance:Ya,formatLong:Za,formatRelative:$a,localize:to,match:{ordinalNumber:ao({matchPattern:/^(\d+)(th|st|nd|rd)?/i,parsePattern:/\d+/i,valueCallback:e=>parseInt(e,10)}),era:no({matchPatterns:{narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},defaultMatchWidth:`wide`,parsePatterns:{any:[/^b/i,/^(a|c)/i]},defaultParseWidth:`any`}),quarter:no({matchPatterns:{narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},defaultMatchWidth:`wide`,parsePatterns:{any:[/1/i,/2/i,/3/i,/4/i]},defaultParseWidth:`any`,valueCallback:e=>e+1}),month:no({matchPatterns:{narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},defaultMatchWidth:`wide`,parsePatterns:{narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},defaultParseWidth:`any`}),day:no({matchPatterns:{narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},defaultMatchWidth:`wide`,parsePatterns:{narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},defaultParseWidth:`any`}),dayPeriod:no({matchPatterns:{narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},defaultMatchWidth:`any`,parsePatterns:{any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},defaultParseWidth:`any`})},options:{weekStartsOn:0,firstWeekContainsDate:1}};function so(e,t){let n=Pa(e,t?.in);return Ua(n,qa(n))+1}function co(e,t){let n=Pa(e,t?.in),r=Ra(n)-+Wa(n);return Math.round(r/Aa)+1}function lo(e,t){let n=Pa(e,t?.in),r=n.getFullYear(),i=Ia(),a=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??i.firstWeekContainsDate??i.locale?.options?.firstWeekContainsDate??1,o=Na(t?.in||e,0);o.setFullYear(r+1,0,a),o.setHours(0,0,0,0);let s=La(o,t),c=Na(t?.in||e,0);c.setFullYear(r,0,a),c.setHours(0,0,0,0);let l=La(c,t);return+n>=+s?r+1:+n>=+l?r:r-1}function uo(e,t){let n=Ia(),r=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??n.firstWeekContainsDate??n.locale?.options?.firstWeekContainsDate??1,i=lo(e,t),a=Na(t?.in||e,0);return a.setFullYear(i,0,r),a.setHours(0,0,0,0),La(a,t)}function fo(e,t){let n=Pa(e,t?.in),r=La(n,t)-+uo(n,t);return Math.round(r/Aa)+1}function po(e,t){return(e<0?`-`:``)+Math.abs(e).toString().padStart(t,`0`)}var mo={y(e,t){let n=e.getFullYear(),r=n>0?n:1-n;return po(t===`yy`?r%100:r,t.length)},M(e,t){let n=e.getMonth();return t===`M`?String(n+1):po(n+1,2)},d(e,t){return po(e.getDate(),t.length)},a(e,t){let n=e.getHours()/12>=1?`pm`:`am`;switch(t){case`a`:case`aa`:return n.toUpperCase();case`aaa`:return n;case`aaaaa`:return n[0];default:return n===`am`?`a.m.`:`p.m.`}},h(e,t){return po(e.getHours()%12||12,t.length)},H(e,t){return po(e.getHours(),t.length)},m(e,t){return po(e.getMinutes(),t.length)},s(e,t){return po(e.getSeconds(),t.length)},S(e,t){let n=t.length,r=e.getMilliseconds();return po(Math.trunc(r*10**(n-3)),t.length)}},ho={am:`am`,pm:`pm`,midnight:`midnight`,noon:`noon`,morning:`morning`,afternoon:`afternoon`,evening:`evening`,night:`night`},go={G:function(e,t,n){let r=+(e.getFullYear()>0);switch(t){case`G`:case`GG`:case`GGG`:return n.era(r,{width:`abbreviated`});case`GGGGG`:return n.era(r,{width:`narrow`});default:return n.era(r,{width:`wide`})}},y:function(e,t,n){if(t===`yo`){let t=e.getFullYear(),r=t>0?t:1-t;return n.ordinalNumber(r,{unit:`year`})}return mo.y(e,t)},Y:function(e,t,n,r){let i=lo(e,r),a=i>0?i:1-i;return t===`YY`?po(a%100,2):t===`Yo`?n.ordinalNumber(a,{unit:`year`}):po(a,t.length)},R:function(e,t){return po(za(e),t.length)},u:function(e,t){return po(e.getFullYear(),t.length)},Q:function(e,t,n){let r=Math.ceil((e.getMonth()+1)/3);switch(t){case`Q`:return String(r);case`QQ`:return po(r,2);case`Qo`:return n.ordinalNumber(r,{unit:`quarter`});case`QQQ`:return n.quarter(r,{width:`abbreviated`,context:`formatting`});case`QQQQQ`:return n.quarter(r,{width:`narrow`,context:`formatting`});default:return n.quarter(r,{width:`wide`,context:`formatting`})}},q:function(e,t,n){let r=Math.ceil((e.getMonth()+1)/3);switch(t){case`q`:return String(r);case`qq`:return po(r,2);case`qo`:return n.ordinalNumber(r,{unit:`quarter`});case`qqq`:return n.quarter(r,{width:`abbreviated`,context:`standalone`});case`qqqqq`:return n.quarter(r,{width:`narrow`,context:`standalone`});default:return n.quarter(r,{width:`wide`,context:`standalone`})}},M:function(e,t,n){let r=e.getMonth();switch(t){case`M`:case`MM`:return mo.M(e,t);case`Mo`:return n.ordinalNumber(r+1,{unit:`month`});case`MMM`:return n.month(r,{width:`abbreviated`,context:`formatting`});case`MMMMM`:return n.month(r,{width:`narrow`,context:`formatting`});default:return n.month(r,{width:`wide`,context:`formatting`})}},L:function(e,t,n){let r=e.getMonth();switch(t){case`L`:return String(r+1);case`LL`:return po(r+1,2);case`Lo`:return n.ordinalNumber(r+1,{unit:`month`});case`LLL`:return n.month(r,{width:`abbreviated`,context:`standalone`});case`LLLLL`:return n.month(r,{width:`narrow`,context:`standalone`});default:return n.month(r,{width:`wide`,context:`standalone`})}},w:function(e,t,n,r){let i=fo(e,r);return t===`wo`?n.ordinalNumber(i,{unit:`week`}):po(i,t.length)},I:function(e,t,n){let r=co(e);return t===`Io`?n.ordinalNumber(r,{unit:`week`}):po(r,t.length)},d:function(e,t,n){return t===`do`?n.ordinalNumber(e.getDate(),{unit:`date`}):mo.d(e,t)},D:function(e,t,n){let r=so(e);return t===`Do`?n.ordinalNumber(r,{unit:`dayOfYear`}):po(r,t.length)},E:function(e,t,n){let r=e.getDay();switch(t){case`E`:case`EE`:case`EEE`:return n.day(r,{width:`abbreviated`,context:`formatting`});case`EEEEE`:return n.day(r,{width:`narrow`,context:`formatting`});case`EEEEEE`:return n.day(r,{width:`short`,context:`formatting`});default:return n.day(r,{width:`wide`,context:`formatting`})}},e:function(e,t,n,r){let i=e.getDay(),a=(i-r.weekStartsOn+8)%7||7;switch(t){case`e`:return String(a);case`ee`:return po(a,2);case`eo`:return n.ordinalNumber(a,{unit:`day`});case`eee`:return n.day(i,{width:`abbreviated`,context:`formatting`});case`eeeee`:return n.day(i,{width:`narrow`,context:`formatting`});case`eeeeee`:return n.day(i,{width:`short`,context:`formatting`});default:return n.day(i,{width:`wide`,context:`formatting`})}},c:function(e,t,n,r){let i=e.getDay(),a=(i-r.weekStartsOn+8)%7||7;switch(t){case`c`:return String(a);case`cc`:return po(a,t.length);case`co`:return n.ordinalNumber(a,{unit:`day`});case`ccc`:return n.day(i,{width:`abbreviated`,context:`standalone`});case`ccccc`:return n.day(i,{width:`narrow`,context:`standalone`});case`cccccc`:return n.day(i,{width:`short`,context:`standalone`});default:return n.day(i,{width:`wide`,context:`standalone`})}},i:function(e,t,n){let r=e.getDay(),i=r===0?7:r;switch(t){case`i`:return String(i);case`ii`:return po(i,t.length);case`io`:return n.ordinalNumber(i,{unit:`day`});case`iii`:return n.day(r,{width:`abbreviated`,context:`formatting`});case`iiiii`:return n.day(r,{width:`narrow`,context:`formatting`});case`iiiiii`:return n.day(r,{width:`short`,context:`formatting`});default:return n.day(r,{width:`wide`,context:`formatting`})}},a:function(e,t,n){let r=e.getHours()/12>=1?`pm`:`am`;switch(t){case`a`:case`aa`:return n.dayPeriod(r,{width:`abbreviated`,context:`formatting`});case`aaa`:return n.dayPeriod(r,{width:`abbreviated`,context:`formatting`}).toLowerCase();case`aaaaa`:return n.dayPeriod(r,{width:`narrow`,context:`formatting`});default:return n.dayPeriod(r,{width:`wide`,context:`formatting`})}},b:function(e,t,n){let r=e.getHours(),i;switch(i=r===12?ho.noon:r===0?ho.midnight:r/12>=1?`pm`:`am`,t){case`b`:case`bb`:return n.dayPeriod(i,{width:`abbreviated`,context:`formatting`});case`bbb`:return n.dayPeriod(i,{width:`abbreviated`,context:`formatting`}).toLowerCase();case`bbbbb`:return n.dayPeriod(i,{width:`narrow`,context:`formatting`});default:return n.dayPeriod(i,{width:`wide`,context:`formatting`})}},B:function(e,t,n){let r=e.getHours(),i;switch(i=r>=17?ho.evening:r>=12?ho.afternoon:r>=4?ho.morning:ho.night,t){case`B`:case`BB`:case`BBB`:return n.dayPeriod(i,{width:`abbreviated`,context:`formatting`});case`BBBBB`:return n.dayPeriod(i,{width:`narrow`,context:`formatting`});default:return n.dayPeriod(i,{width:`wide`,context:`formatting`})}},h:function(e,t,n){if(t===`ho`){let t=e.getHours()%12;return t===0&&(t=12),n.ordinalNumber(t,{unit:`hour`})}return mo.h(e,t)},H:function(e,t,n){return t===`Ho`?n.ordinalNumber(e.getHours(),{unit:`hour`}):mo.H(e,t)},K:function(e,t,n){let r=e.getHours()%12;return t===`Ko`?n.ordinalNumber(r,{unit:`hour`}):po(r,t.length)},k:function(e,t,n){let r=e.getHours();return r===0&&(r=24),t===`ko`?n.ordinalNumber(r,{unit:`hour`}):po(r,t.length)},m:function(e,t,n){return t===`mo`?n.ordinalNumber(e.getMinutes(),{unit:`minute`}):mo.m(e,t)},s:function(e,t,n){return t===`so`?n.ordinalNumber(e.getSeconds(),{unit:`second`}):mo.s(e,t)},S:function(e,t){return mo.S(e,t)},X:function(e,t,n){let r=e.getTimezoneOffset();if(r===0)return`Z`;switch(t){case`X`:return vo(r);case`XXXX`:case`XX`:return yo(r);default:return yo(r,`:`)}},x:function(e,t,n){let r=e.getTimezoneOffset();switch(t){case`x`:return vo(r);case`xxxx`:case`xx`:return yo(r);default:return yo(r,`:`)}},O:function(e,t,n){let r=e.getTimezoneOffset();switch(t){case`O`:case`OO`:case`OOO`:return`GMT`+_o(r,`:`);default:return`GMT`+yo(r,`:`)}},z:function(e,t,n){let r=e.getTimezoneOffset();switch(t){case`z`:case`zz`:case`zzz`:return`GMT`+_o(r,`:`);default:return`GMT`+yo(r,`:`)}},t:function(e,t,n){return po(Math.trunc(e/1e3),t.length)},T:function(e,t,n){return po(+e,t.length)}};function _o(e,t=``){let n=e>0?`-`:`+`,r=Math.abs(e),i=Math.trunc(r/60),a=r%60;return a===0?n+String(i):n+String(i)+t+po(a,2)}function vo(e,t){return e%60==0?(e>0?`-`:`+`)+po(Math.abs(e)/60,2):yo(e,t)}function yo(e,t=``){let n=e>0?`-`:`+`,r=Math.abs(e),i=po(Math.trunc(r/60),2),a=po(r%60,2);return n+i+t+a}var bo=(e,t)=>{switch(e){case`P`:return t.date({width:`short`});case`PP`:return t.date({width:`medium`});case`PPP`:return t.date({width:`long`});default:return t.date({width:`full`})}},xo=(e,t)=>{switch(e){case`p`:return t.time({width:`short`});case`pp`:return t.time({width:`medium`});case`ppp`:return t.time({width:`long`});default:return t.time({width:`full`})}},So={p:xo,P:(e,t)=>{let n=e.match(/(P+)(p+)?/)||[],r=n[1],i=n[2];if(!i)return bo(e,t);let a;switch(r){case`P`:a=t.dateTime({width:`short`});break;case`PP`:a=t.dateTime({width:`medium`});break;case`PPP`:a=t.dateTime({width:`long`});break;default:a=t.dateTime({width:`full`})}return a.replace(`{{date}}`,bo(r,t)).replace(`{{time}}`,xo(i,t))}},Co=/^D+$/,wo=/^Y+$/,To=[`D`,`DD`,`YY`,`YYYY`];function Eo(e){return Co.test(e)}function Do(e){return wo.test(e)}function Oo(e,t,n){let r=ko(e,t,n);if(console.warn(r),To.includes(e))throw RangeError(r)}function ko(e,t,n){let r=e[0]===`Y`?`years`:`days of the month`;return`Use \`${e.toLowerCase()}\` instead of \`${e}\` (in \`${t}\`) for formatting ${r} to the input \`${n}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`}var Ao=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,jo=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,Mo=/^'([^]*?)'?$/,No=/''/g,Po=/[a-zA-Z]/;function Fo(e,t,n){let r=Ia(),i=n?.locale??r.locale??oo,a=n?.firstWeekContainsDate??n?.locale?.options?.firstWeekContainsDate??r.firstWeekContainsDate??r.locale?.options?.firstWeekContainsDate??1,o=n?.weekStartsOn??n?.locale?.options?.weekStartsOn??r.weekStartsOn??r.locale?.options?.weekStartsOn??0,s=Pa(e,n?.in);if(!Ka(s))throw RangeError(`Invalid time value`);let c=t.match(jo).map(e=>{let t=e[0];if(t===`p`||t===`P`){let n=So[t];return n(e,i.formatLong)}return e}).join(``).match(Ao).map(e=>{if(e===`''`)return{isToken:!1,value:`'`};let t=e[0];if(t===`'`)return{isToken:!1,value:Io(e)};if(go[t])return{isToken:!0,value:e};if(t.match(Po))throw RangeError("Format string contains an unescaped latin alphabet character `"+t+"`");return{isToken:!1,value:e}});i.localize.preprocessor&&(c=i.localize.preprocessor(s,c));let l={firstWeekContainsDate:a,weekStartsOn:o,locale:i};return c.map(r=>{if(!r.isToken)return r.value;let a=r.value;(!n?.useAdditionalWeekYearTokens&&Do(a)||!n?.useAdditionalDayOfYearTokens&&Eo(a))&&Oo(a,t,String(e));let o=go[a[0]];return o(s,a,i.localize,l)}).join(``)}function Io(e){let t=e.match(Mo);return t?t[1].replace(No,`'`):e}var Lo={name:`add`,returnType:`number`,schema:Nt({a:Rt(e=>e===null?void 0:e,zt.number()),b:Rt(e=>e===null?void 0:e,zt.number())})},Ro={name:`subtract`,returnType:`number`,schema:Nt({a:Rt(e=>e===null?void 0:e,zt.number()),b:Rt(e=>e===null?void 0:e,zt.number())})},zo={name:`multiply`,returnType:`number`,schema:Nt({a:Rt(e=>e===null?void 0:e,zt.number()),b:Rt(e=>e===null?void 0:e,zt.number())})},Bo={name:`divide`,returnType:`number`,schema:Nt({a:Rt(e=>e===null?void 0:e,zt.number()),b:Rt(e=>e===null?void 0:e,zt.number())})},Vo={name:`equals`,returnType:`boolean`,schema:Nt({a:jt().refine(e=>e!==void 0,`Required`),b:jt().refine(e=>e!==void 0,`Required`)})},Ho={name:`not_equals`,returnType:`boolean`,schema:Nt({a:jt().refine(e=>e!==void 0,`Required`),b:jt().refine(e=>e!==void 0,`Required`)})},Uo={name:`greater_than`,returnType:`boolean`,schema:Nt({a:Rt(e=>e===null?void 0:e,zt.number()),b:Rt(e=>e===null?void 0:e,zt.number())})},Wo={name:`less_than`,returnType:`boolean`,schema:Nt({a:Rt(e=>e===null?void 0:e,zt.number()),b:Rt(e=>e===null?void 0:e,zt.number())})},Go={name:`and`,returnType:`boolean`,schema:Nt({values:Mt(jt()).min(2)})},Ko={name:`or`,returnType:`boolean`,schema:Nt({values:Mt(jt()).min(2)})},qo={name:`not`,returnType:`boolean`,schema:Nt({value:jt().refine(e=>e!==void 0,`Required`)})},Jo={name:`contains`,returnType:`boolean`,schema:Nt({string:Rt(e=>e===void 0?void 0:String(e),Ot()),substring:Rt(e=>e===void 0?void 0:String(e),Ot())})},Yo={name:`starts_with`,returnType:`boolean`,schema:Nt({string:Rt(e=>e===void 0?void 0:String(e),Ot()),prefix:Rt(e=>e===void 0?void 0:String(e),Ot())})},Xo={name:`ends_with`,returnType:`boolean`,schema:Nt({string:Rt(e=>e===void 0?void 0:String(e),Ot()),suffix:Rt(e=>e===void 0?void 0:String(e),Ot())})},Zo={name:`required`,returnType:`boolean`,schema:Nt({value:jt().refine(e=>e!==void 0,`Required`)})},Qo={name:`regex`,returnType:`boolean`,schema:Nt({value:Rt(e=>e===void 0?void 0:String(e),Ot()),pattern:Rt(e=>e===void 0?void 0:String(e),Ot())})},$o={name:`length`,returnType:`boolean`,schema:Nt({value:jt().refine(e=>e!==void 0,`Required`),min:zt.number().optional(),max:zt.number().optional()}).refine(e=>e.min!==void 0||e.max!==void 0,{message:`Must provide either 'min' or 'max'`})},es={name:`numeric`,returnType:`boolean`,schema:Nt({value:zt.number(),min:zt.number().optional(),max:zt.number().optional()}).refine(e=>e.min!==void 0||e.max!==void 0,{message:`Must provide either 'min' or 'max'`})},ts={name:`email`,returnType:`boolean`,schema:Nt({value:Rt(e=>e===void 0?void 0:String(e),Ot())})},ns={name:`formatString`,returnType:`any`,schema:Nt({value:zt.string()})},rs={name:`formatNumber`,returnType:`string`,schema:Nt({value:zt.number(),decimals:zt.number().optional(),grouping:At().default(!0)})},is={name:`formatCurrency`,returnType:`string`,schema:Nt({value:zt.number(),currency:zt.string(),decimals:zt.number().optional(),grouping:At().default(!0)})},as={name:`formatDate`,returnType:`string`,schema:Nt({value:jt().refine(e=>e!==void 0,`Required`),format:zt.string()})},os={name:`pluralize`,returnType:`string`,schema:Nt({value:zt.number(),zero:zt.string().optional(),one:zt.string().optional(),two:zt.string().optional(),few:zt.string().optional(),many:zt.string().optional(),other:zt.string()})},ss={name:`openUrl`,returnType:`void`,schema:Nt({url:Rt(e=>e===void 0?void 0:String(e),Ot())})},cs=Gt(Lo,e=>e.a+e.b),ls=Gt(Ro,e=>e.a-e.b),us=Gt(zo,e=>e.a*e.b),ds=Gt(Bo,e=>{let t=e.a,n=e.b;if(t==null||n==null)return NaN;let r=Number(t),i=Number(n);return Number.isNaN(r)||Number.isNaN(i)?NaN:i===0?1/0:r/i}),fs=Gt(Vo,e=>e.a===e.b),ps=Gt(Ho,e=>e.a!==e.b),ms=Gt(Uo,e=>e.a>e.b),hs=Gt(Wo,e=>e.a<e.b),gs=Gt(Go,e=>e.values.every(e=>!!e)),_s=Gt(Ko,e=>e.values.some(e=>!!e)),vs=Gt(qo,e=>!e.value),ys=Gt(Jo,e=>e.string.includes(e.substring)),bs=Gt(Yo,e=>e.string.startsWith(e.prefix)),xs=Gt(Xo,e=>e.string.endsWith(e.suffix)),Ss=Gt(Zo,e=>{let t=e.value;return!(t==null||typeof t==`string`&&t===``||Array.isArray(t)&&t.length===0)}),Cs=Gt(Qo,e=>{try{return new RegExp(e.pattern).test(e.value)}catch(t){throw new Ut(`Invalid regex pattern: ${e.pattern}`,`regex`,t)}}),ws=Gt($o,e=>{let t=e.value,n=0;return(typeof t==`string`||Array.isArray(t))&&(n=t.length),!(e.min!==void 0&&!isNaN(e.min)&&n<e.min||e.max!==void 0&&!isNaN(e.max)&&n>e.max)}),Ts=Gt(es,e=>!(isNaN(e.value)||e.min!==void 0&&!isNaN(e.min)&&e.value<e.min||e.max!==void 0&&!isNaN(e.max)&&e.value>e.max)),Es=Gt(ts,e=>/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/.test(e.value));function Ds(e){if(e==null)return``;if(typeof e==`object`)try{return JSON.stringify(e)??String(e)}catch{return String(e)}return String(e)}var Os=Gt(ns,(e,t)=>{let n=e.value,r=new Oa().parse(n);if(r.length===0)return``;let i=r.map(e=>typeof e!=`object`||!e||Array.isArray(e)?e:t.resolveSignal(e));return jn(()=>i.map(e=>Ds(Pn(e)?Fn(e):e)).join(``))}),ks=new Map;function As(e,t,n){let r=`${e??`default`}:${t??`undef`}:${n??`true`}`,i=ks.get(r);return i||(i=new Intl.NumberFormat(e,{minimumFractionDigits:t,maximumFractionDigits:t,useGrouping:n}),ks.set(r,i)),i}function js(e){return Gt(rs,t=>{if(isNaN(t.value))return``;try{return As(e,t.decimals,t.grouping).format(t.value)}catch(e){return console.warn(`Error formatting number:`,e),t.decimals===void 0?String(t.value):t.value.toFixed(t.decimals)}})}js();var Ms=new Map;function Ns(e,t,n,r){let i=`${e??`default`}:${t}:${n??`undef`}:${r??`true`}`,a=Ms.get(i);return a||(a=new Intl.NumberFormat(e,{style:`currency`,currency:t,minimumFractionDigits:n,maximumFractionDigits:n,useGrouping:r}),Ms.set(i,a)),a}function Ps(e){return Gt(is,t=>{if(isNaN(t.value))return``;try{return Ns(e,t.currency,t.decimals,t.grouping).format(t.value)}catch(e){return console.warn(`Error formatting currency:`,e),t.value.toFixed(t.decimals??2)}})}Ps();var Fs=Gt(as,e=>{if(!e.value)return``;let t=new Date(e.value);if(isNaN(t.getTime()))return``;try{return e.format===`ISO`?t.toISOString():Fo(t,e.format)}catch(e){return console.warn(`Error formatting date:`,e),t.toISOString()}}),Is=new Map;function Ls(e){let t=e??`default`,n=Is.get(t);return n||(n=new Intl.PluralRules(e),Is.set(t,n)),n}function Rs(e){return Gt(os,t=>{try{let n=Ls(e).select(t.value);return String(t[n]??t.other??``)}catch(e){return console.warn(`Error in pluralize:`,e),String(t.other??``)}})}Rs();var zs=Gt(ss,e=>{if(e.url&&typeof window<`u`&&window.open){let t=window.location!==void 0&&window.location.href?window.location.href:void 0,n;try{n=t?new URL(e.url,t):new URL(e.url)}catch(t){throw new Ut(`Invalid URL specified: ${e.url}`,`openUrl`,t)}if(n.protocol!==`https:`&&n.protocol!==`http:`)throw new Ut(`Unsupported URL scheme: ${n.protocol}`,`openUrl`);window.open(n.href,`_blank`,`noopener,noreferrer`)}});function Bs(e){let t=e?.locale;return[cs,ls,us,ds,fs,ps,ms,hs,gs,_s,vs,ys,bs,xs,Ss,Cs,ws,Ts,Es,Os,js(t),Ps(t),Fs,Rs(t),zs]}var Vs=Bs(),Hs={accessibility:Ea.optional(),weight:kt().describe(`The relative weight of this component within a Row or Column. This is similar to the CSS 'flex-grow' property. Note: this may ONLY be set when the component is a direct descendant of a Row or Column.`).optional()},Us={name:`Text`,schema:Nt({...Hs,text:_a.describe(`The text content to display. While simple Markdown formatting is supported (i.e. without HTML, images, or links), utilizing dedicated UI components is generally preferred for a richer and more structured presentation.`),variant:Lt([`h1`,`h2`,`h3`,`h4`,`h5`,`caption`,`body`]).default(`body`).describe(`A hint for the base text style.`).optional()}).strict()},Ws={name:`Image`,schema:Nt({...Hs,url:_a.describe(`The URL of the image to display.`),description:_a.describe(`The accessibility description of the image.`).optional(),fit:Lt([`contain`,`cover`,`fill`,`none`,`scaleDown`]).default(`fill`).describe(`Specifies how the image should be resized to fit its container. This corresponds to the CSS 'object-fit' property.`).optional(),variant:Lt([`icon`,`avatar`,`smallFeature`,`mediumFeature`,`largeFeature`,`header`]).default(`mediumFeature`).describe(`A hint for the image size and style.`).optional()}).strict()},Gs=`accountCircle.add.arrowBack.arrowForward.attachFile.calendarToday.call.camera.check.close.delete.download.edit.event.error.fastForward.favorite.favoriteOff.folder.help.home.info.locationOn.lock.lockOpen.mail.menu.moreVert.moreHoriz.notificationsOff.notifications.pause.payment.person.phone.photo.play.print.refresh.rewind.search.send.settings.share.shoppingCart.skipNext.skipPrevious.star.starHalf.starOff.stop.upload.visibility.visibilityOff.volumeDown.volumeMute.volumeOff.volumeUp.warning`.split(`.`),Ks={name:`Icon`,schema:Nt({...Hs,name:Pt([Lt(Gs),Nt({svgPath:Ot().describe(`Custom SVG path data`)}).strict(),Nt({path:Ot()}).strict()]).describe(`The name of the icon to display.`)}).strict()},qs={name:`Video`,schema:Nt({...Hs,url:_a.describe(`The URL of the video to display.`)}).strict()},Js={name:`AudioPlayer`,schema:Nt({...Hs,url:_a.describe(`The URL of the audio to be played.`),description:_a.describe(`A description of the audio, such as a title or summary.`).optional()}).strict()},Ys={name:`Row`,schema:Nt({...Hs,children:Sa.describe(`Defines the children. Use an array of strings for a fixed set of children, or a template object to generate children from a data list. Children cannot be defined inline, they must be referred to by ID.`),justify:Lt([`center`,`end`,`spaceAround`,`spaceBetween`,`spaceEvenly`,`start`,`stretch`]).default(`start`).describe(`Defines the arrangement of children along the main axis (horizontally). Use 'spaceBetween' to push items to the edges, or 'start'/'end'/'center' to pack them together.`).optional(),align:Lt([`start`,`center`,`end`,`stretch`]).default(`stretch`).describe(`Defines the alignment of children along the cross axis (vertically). This is similar to the CSS 'align-items' property, but uses camelCase values (e.g., 'start').`).optional()}).strict().describe(`A layout component that arranges its children horizontally. To create a grid layout, nest Columns within this Row.`)},Xs={name:`Column`,schema:Nt({...Hs,children:Sa.describe(`Defines the children. Use an array of strings for a fixed set of children, or a template object to generate children from a data list. Children cannot be defined inline, they must be referred to by ID.`),justify:Lt([`start`,`center`,`end`,`spaceBetween`,`spaceAround`,`spaceEvenly`,`stretch`]).default(`start`).describe(`Defines the arrangement of children along the main axis (vertically). Use 'spaceBetween' to push items to the edges (e.g. header at top, footer at bottom), or 'start'/'end'/'center' to pack them together.`).optional(),align:Lt([`center`,`end`,`start`,`stretch`]).default(`stretch`).describe(`Defines the alignment of children along the cross axis (horizontally). This is similar to the CSS 'align-items' property.`).optional()}).strict().describe(`A layout component that arranges its children vertically. To create a grid layout, nest Rows within this Column.`)},Zs={name:`List`,schema:Nt({...Hs,children:Sa.describe(`Defines the children. Use an array of strings for a fixed set of children, or a template object to generate children from a data list.`),direction:Lt([`vertical`,`horizontal`]).default(`vertical`).describe(`The direction in which the list items are laid out.`).optional(),align:Lt([`start`,`center`,`end`,`stretch`]).default(`stretch`).describe(`Defines the alignment of children along the cross axis.`).optional(),listStyle:Lt([`ordered`,`unordered`,`none`]).describe(`The style of the list (ordered, unordered, or none).`).optional()}).strict()},Qs={name:`Card`,schema:Nt({...Hs,child:xa.describe(`The ID of the single child component to be rendered inside the card. To display multiple elements, you MUST wrap them in a layout component (like Column or Row) and pass that container's ID here. Do NOT pass multiple IDs or a non-existent ID. Do NOT define the child component inline.`)}).strict()},$s={name:`Tabs`,schema:Nt({...Hs,tabs:Mt(Nt({title:_a.describe(`The tab title.`),child:xa.describe(`The ID of the child component. Do NOT define the component inline.`)}).strict()).min(1).describe(`An array of objects, where each object defines a tab with a title and a child component.`)}).strict()},ec={name:`Modal`,schema:Nt({...Hs,trigger:xa.describe(`The ID of the component that opens the modal when interacted with (e.g., a button). Do NOT define the component inline.`),content:xa.describe(`The ID of the component to be displayed inside the modal. Do NOT define the component inline.`)}).strict()},tc={name:`Divider`,schema:Nt({...Hs,axis:Lt([`horizontal`,`vertical`]).default(`horizontal`).describe(`The orientation of the divider.`).optional()}).strict()},nc={name:`Button`,schema:Nt({...Hs,child:xa.describe(`The ID of the child component. Use a 'Text' component for a labeled button. Only use an 'Icon' if the requirements explicitly ask for an icon-only button. Do NOT define the child component inline.`),variant:Lt([`default`,`primary`,`borderless`]).default(`default`).describe(`A hint for the button style. If omitted, a default button style is used. 'primary' indicates this is the main call-to-action button. 'borderless' means the button has no visual border or background, making its child content appear like a clickable link.`).optional(),action:Ca,checks:Ta.shape.checks}).strict()},rc={name:`TextField`,schema:Nt({...Hs,label:_a.describe(`The text label for the input field.`),value:_a.describe(`The value of the text field.`).optional(),variant:Lt([`longText`,`number`,`shortText`,`obscured`]).default(`shortText`).describe(`The type of input field to display.`).optional(),validationRegexp:Ot().describe(`A regular expression used for client-side validation of the input.`).optional(),checks:Ta.shape.checks}).strict()},ic={name:`CheckBox`,schema:Nt({...Hs,label:_a.describe(`The text to display next to the checkbox.`),value:ga.describe(`The current state of the checkbox (true for checked, false for unchecked).`),checks:Ta.shape.checks}).strict()},ac={name:`ChoicePicker`,schema:Nt({...Hs,label:_a.describe(`The label for the group of options.`).optional(),variant:Lt([`multipleSelection`,`mutuallyExclusive`]).default(`mutuallyExclusive`).describe(`A hint for how the choice picker should be displayed and behave.`).optional(),options:Mt(Nt({label:_a.describe(`The text to display for this option.`),value:Ot().describe(`The stable value associated with this option.`)}).strict()).describe(`The list of available options to choose from.`),value:ya.describe(`The list of currently selected values. This should be bound to a string array in the data model.`),displayStyle:Lt([`checkbox`,`chips`]).default(`checkbox`).describe(`The display style of the component.`).optional(),filterable:At().default(!1).describe(`If true, displays a search input to filter the options.`).optional(),checks:Ta.shape.checks}).strict().describe(`A component that allows selecting one or more options from a list.`)},oc={name:`Slider`,schema:Nt({...Hs,label:_a.describe(`The label for the slider.`).optional(),min:kt().default(0).describe(`The minimum value of the slider.`).optional(),max:kt().describe(`The maximum value of the slider.`),step:kt().describe(`The granularity or step size of the slider.`).optional(),value:va.describe(`The current value of the slider.`),checks:Ta.shape.checks}).strict()},sc={name:`DateTimeInput`,schema:Nt({...Hs,value:_a.describe(`The selected date and/or time value in ISO 8601 format. If not yet set, initialize with an empty string.`),enableDate:At().default(!1).describe(`If true, allows the user to select a date.`).optional(),enableTime:At().default(!1).describe(`If true, allows the user to select a time.`).optional(),min:Pt([_a,Ot().date(),Ot().time(),Ot().datetime()]).describe(`The minimum allowed date/time in ISO 8601 format.`).optional(),max:Pt([_a,Ot().date(),Ot().time(),Ot().datetime()]).describe(`The maximum allowed date/time in ISO 8601 format.`).optional(),label:_a.describe(`The text label for the input field.`).optional(),checks:Ta.shape.checks}).strict()};function cc(e,t){let n=(0,g.memo)(t,(e,t)=>e.props===t.props&&e.context.componentModel.id===t.context.componentModel.id&&e.context.dataContext.path===t.context.dataContext.path);return{name:e.name,schema:e.schema,render:({context:t,buildChild:r})=>{let i=(0,g.useRef)(null);i.current?i.current.context!==t&&(i.current.dispose(),i.current=new pa(t,e.schema)):i.current=new pa(t,e.schema);let a=i.current,o=(0,g.useSyncExternalStore)((0,g.useCallback)(e=>{let t=a.subscribe(e);return()=>t.unsubscribe()},[a]),(0,g.useCallback)(()=>a.snapshot,[a]));return(0,g.useEffect)(()=>()=>a.dispose(),[a]),(0,v.jsx)(n,{props:o||{},buildChild:r,context:t})}}}var lc=`16px`,uc=`1px solid #ccc`,dc=e=>{switch(e){case`center`:return`center`;case`end`:return`flex-end`;case`spaceAround`:return`space-around`;case`spaceBetween`:return`space-between`;case`spaceEvenly`:return`space-evenly`;case`start`:return`flex-start`;case`stretch`:return`stretch`;default:return`flex-start`}},fc=e=>{switch(e){case`start`:return`flex-start`;case`center`:return`center`;case`end`:return`flex-end`;case`stretch`:return`stretch`;default:return`stretch`}},pc=()=>({margin:`8px`,boxSizing:`border-box`}),Cee=()=>({margin:`8px`,padding:lc,border:uc,borderRadius:`8px`,boxSizing:`border-box`}),wee=cc(Us,({props:e})=>{let t=e.text??``,n={...pc(),display:`inline-block`};switch(e.variant){case`h1`:return(0,v.jsx)(`h1`,{style:n,children:t});case`h2`:return(0,v.jsx)(`h2`,{style:n,children:t});case`h3`:return(0,v.jsx)(`h3`,{style:n,children:t});case`h4`:return(0,v.jsx)(`h4`,{style:n,children:t});case`h5`:return(0,v.jsx)(`h5`,{style:n,children:t});case`caption`:return(0,v.jsx)(`small`,{style:{...n,color:`#666`,textAlign:`left`},children:t});default:return(0,v.jsx)(`span`,{style:n,children:t})}}),Tee=cc(Ws,({props:e})=>{let t=e=>e===`scaleDown`?`scale-down`:e||`fill`,n={...pc(),objectFit:t(e.fit),width:`100%`,height:`auto`,display:`block`};return e.variant===`icon`?(n.width=`24px`,n.height=`24px`):e.variant===`avatar`?(n.width=`40px`,n.height=`40px`,n.borderRadius=`50%`):e.variant===`smallFeature`?n.maxWidth=`100px`:e.variant===`largeFeature`?n.maxHeight=`400px`:e.variant===`header`&&(n.height=`200px`,n.objectFit=`cover`),(0,v.jsx)(`img`,{src:e.url,alt:e.description||``,style:n})}),Eee=cc(Ks,({props:e})=>{let t=typeof e.name==`string`?e.name:e.name?.path;return(0,v.jsx)(`span`,{className:`material-symbols-outlined`,style:{...pc(),fontSize:`24px`,width:`24px`,height:`24px`,display:`inline-flex`,alignItems:`center`,justifyContent:`center`},children:t})}),Dee=cc(qs,({props:e})=>{let t={...pc(),width:`100%`,aspectRatio:`16/9`};return(0,v.jsx)(`video`,{src:e.url,controls:!0,style:t})}),Oee=cc(Js,({props:e})=>{let t={...pc(),width:`100%`};return(0,v.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,gap:`4px`,width:`100%`},children:[e.description&&(0,v.jsx)(`span`,{style:{fontSize:`12px`,color:`#666`},children:e.description}),(0,v.jsx)(`audio`,{src:e.url,controls:!0,style:t})]})}),mc=({childList:e,buildChild:t})=>Array.isArray(e)?(0,v.jsx)(v.Fragment,{children:e.map((e,n)=>{if(e&&typeof e==`object`&&`id`in e){let r=e;return(0,v.jsx)(g.Fragment,{children:t(r.id,r.basePath)},`${r.id}-${n}`)}return typeof e==`string`?(0,v.jsx)(g.Fragment,{children:t(e)},`${e}-${n}`):null})}):null,hc=new Kt(`https://a2ui.org/specification/v0_9/basic_catalog.json`,[wee,Tee,Eee,Dee,Oee,cc(Ys,({props:e,buildChild:t,context:n})=>(0,v.jsx)(`div`,{style:{display:`flex`,flexDirection:`row`,justifyContent:dc(e.justify),alignItems:fc(e.align),width:`100%`,margin:0,padding:0},children:(0,v.jsx)(mc,{childList:e.children,buildChild:t,context:n})})),cc(Xs,({props:e,buildChild:t,context:n})=>(0,v.jsx)(`div`,{style:{display:`flex`,flexDirection:`column`,justifyContent:dc(e.justify),alignItems:fc(e.align),width:`100%`,margin:0,padding:0},children:(0,v.jsx)(mc,{childList:e.children,buildChild:t,context:n})})),cc(Zs,({props:e,buildChild:t,context:n})=>{let r=e.direction===`horizontal`;return(0,v.jsx)(`div`,{style:{display:`flex`,flexDirection:r?`row`:`column`,alignItems:fc(e.align),overflowX:r?`auto`:`hidden`,overflowY:r?`hidden`:`auto`,width:`100%`,margin:0,padding:0},children:(0,v.jsx)(mc,{childList:e.children,buildChild:t,context:n})})}),cc(Qs,({props:e,buildChild:t})=>(0,v.jsx)(`div`,{style:{...Cee(),backgroundColor:`#fff`,boxShadow:`0 2px 4px rgba(0,0,0,0.1)`,width:`100%`},children:e.child?t(e.child):null})),cc($s,({props:e,buildChild:t})=>{let[n,r]=(0,g.useState)(0),i=e.tabs||[],a=i[n];return(0,v.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,width:`100%`,margin:`8px`},children:[(0,v.jsx)(`div`,{style:{display:`flex`,borderBottom:`1px solid #ccc`,marginBottom:`8px`},children:i.map((e,t)=>(0,v.jsx)(`button`,{onClick:()=>r(t),style:{padding:`8px 16px`,border:`none`,background:`none`,borderBottom:n===t?`2px solid var(--a2ui-primary-color, #007bff)`:`none`,fontWeight:n===t?`bold`:`normal`,cursor:`pointer`,color:n===t?`var(--a2ui-primary-color, #007bff)`:`inherit`},children:e.title},t))}),(0,v.jsx)(`div`,{style:{flex:1},children:a?t(a.child):null})]})}),cc(tc,({props:e})=>{let t=e.axis===`vertical`,n={margin:`8px`,border:`none`,backgroundColor:`#ccc`};return t?(n.width=`1px`,n.height=`100%`):(n.width=`100%`,n.height=`1px`),(0,v.jsx)(`div`,{style:n})}),cc(ec,({props:e,buildChild:t})=>{let[n,r]=(0,g.useState)(!1);return(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(`div`,{onClick:()=>r(!0),style:{display:`inline-block`},children:e.trigger?t(e.trigger):null}),n&&(0,v.jsx)(`div`,{style:{position:`fixed`,top:0,left:0,right:0,bottom:0,backgroundColor:`rgba(0,0,0,0.5)`,display:`flex`,alignItems:`center`,justifyContent:`center`,zIndex:1e3},onClick:()=>r(!1),children:(0,v.jsxs)(`div`,{style:{backgroundColor:`#fff`,padding:`24px`,borderRadius:`8px`,maxWidth:`90%`,maxHeight:`90%`,overflow:`auto`,display:`flex`,flexDirection:`column`},onClick:e=>e.stopPropagation(),children:[(0,v.jsx)(`div`,{style:{display:`flex`,justifyContent:`flex-end`},children:(0,v.jsx)(`button`,{onClick:()=>r(!1),style:{border:`none`,background:`none`,fontSize:`20px`,cursor:`pointer`,padding:`4px`},children:`×`})}),(0,v.jsx)(`div`,{style:{flex:1},children:e.content?t(e.content):null})]})})]})}),cc(nc,({props:e,buildChild:t})=>(0,v.jsx)(`button`,{style:{margin:`8px`,padding:`8px 16px`,cursor:`pointer`,border:e.variant===`borderless`?`none`:`1px solid #ccc`,backgroundColor:e.variant===`primary`?`var(--a2ui-primary-color, #007bff)`:e.variant===`borderless`?`transparent`:`#fff`,color:e.variant===`primary`?`#fff`:`inherit`,borderRadius:`4px`,display:`inline-flex`,alignItems:`center`,justifyContent:`center`,boxSizing:`border-box`},onClick:e.action,disabled:e.isValid===!1,children:e.child?t(e.child):null})),cc(rc,({props:e})=>{let t=t=>{e.setValue(t.target.value)},n=e.variant===`longText`,r=e.variant===`number`?`number`:e.variant===`obscured`?`password`:`text`,i={padding:`8px`,width:`100%`,border:uc,borderRadius:`8px`,boxSizing:`border-box`},a=g.useId(),o=e.validationErrors&&e.validationErrors.length>0;return(0,v.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,gap:`4px`,width:`100%`,margin:`8px`},children:[e.label&&(0,v.jsx)(`label`,{htmlFor:a,style:{fontSize:`14px`,fontWeight:`bold`},children:e.label}),n?(0,v.jsx)(`textarea`,{id:a,style:{...i,border:o?`1px solid red`:uc},value:e.value||``,onChange:t}):(0,v.jsx)(`input`,{id:a,type:r,style:{...i,border:o?`1px solid red`:uc},value:e.value||``,onChange:t}),o&&(0,v.jsx)(`span`,{style:{fontSize:`12px`,color:`red`},children:e.validationErrors[0]})]})}),cc(ic,({props:e})=>{let t=t=>{e.setValue(t.target.checked)},n=g.useId(),r=e.validationErrors&&e.validationErrors.length>0;return(0,v.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,margin:`8px`},children:[(0,v.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:`8px`},children:[(0,v.jsx)(`input`,{id:n,type:`checkbox`,checked:!!e.value,onChange:t,style:{cursor:`pointer`,outline:r?`1px solid red`:`none`}}),e.label&&(0,v.jsx)(`label`,{htmlFor:n,style:{cursor:`pointer`,color:r?`red`:`inherit`},children:e.label})]}),r&&(0,v.jsx)(`span`,{style:{fontSize:`12px`,color:`red`,marginTop:`4px`},children:e.validationErrors?.[0]})]})}),cc(ac,({props:e,context:t})=>{let[n,r]=(0,g.useState)(``),i=Array.isArray(e.value)?e.value:[],a=e.variant===`mutuallyExclusive`,o=t=>{if(a)e.setValue([t]);else{let n=i.includes(t)?i.filter(e=>e!==t):[...i,t];e.setValue(n)}},s=(e.options||[]).filter(t=>!e.filterable||n===``||String(t.label).toLowerCase().includes(n.toLowerCase())),c={display:`flex`,flexDirection:`column`,gap:`8px`,margin:`8px`,width:`100%`},l={display:`flex`,flexDirection:e.displayStyle===`chips`?`row`:`column`,flexWrap:e.displayStyle===`chips`?`wrap`:`nowrap`,gap:`8px`};return(0,v.jsxs)(`div`,{style:c,children:[e.label&&(0,v.jsx)(`strong`,{style:{fontSize:`14px`},children:e.label}),e.filterable&&(0,v.jsx)(`input`,{type:`text`,placeholder:`Filter options...`,value:n,onChange:e=>r(e.target.value),style:{padding:`4px 8px`,border:`1px solid #ccc`,borderRadius:`8px`}}),(0,v.jsx)(`div`,{style:l,children:s.map((n,r)=>{let s=i.includes(n.value);return e.displayStyle===`chips`?(0,v.jsx)(`button`,{onClick:()=>o(n.value),style:{padding:`4px 12px`,borderRadius:`16px`,border:s?`1px solid var(--a2ui-primary-color, #007bff)`:uc,backgroundColor:s?`var(--a2ui-primary-color, #007bff)`:`#fff`,color:s?`#fff`:`inherit`,cursor:`pointer`,fontSize:`12px`},children:n.label},r):(0,v.jsxs)(`label`,{style:{display:`flex`,alignItems:`center`,gap:`8px`,cursor:`pointer`},children:[(0,v.jsx)(`input`,{type:a?`radio`:`checkbox`,checked:s,onChange:()=>o(n.value),name:a?`choice-${t.componentModel.id}`:void 0}),(0,v.jsx)(`span`,{style:{fontSize:`14px`},children:n.label})]},r)})})]})}),cc(oc,({props:e})=>{let t=t=>{e.setValue(Number(t.target.value))},n=g.useId();return(0,v.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,gap:`4px`,margin:`8px`,width:`100%`},children:[(0,v.jsxs)(`div`,{style:{display:`flex`,justifyContent:`space-between`},children:[e.label&&(0,v.jsx)(`label`,{htmlFor:n,style:{fontSize:`14px`,fontWeight:`bold`},children:e.label}),(0,v.jsx)(`span`,{style:{fontSize:`12px`,color:`#666`},children:e.value})]}),(0,v.jsx)(`input`,{id:n,type:`range`,min:e.min??0,max:e.max,value:e.value??0,onChange:t,style:{width:`100%`,cursor:`pointer`}})]})}),cc(sc,({props:e})=>{let t=t=>{e.setValue(t.target.value)},n=g.useId(),r=`datetime-local`;e.enableDate&&!e.enableTime&&(r=`date`),!e.enableDate&&e.enableTime&&(r=`time`);let i={padding:`8px`,width:`100%`,border:uc,borderRadius:`8px`,boxSizing:`border-box`};return(0,v.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,gap:`4px`,width:`100%`,margin:`8px`},children:[e.label&&(0,v.jsx)(`label`,{htmlFor:n,style:{fontSize:`14px`,fontWeight:`bold`},children:e.label}),(0,v.jsx)(`input`,{id:n,type:r,style:i,value:e.value||``,onChange:t,min:typeof e.min==`string`?e.min:void 0,max:typeof e.max==`string`?e.max:void 0})]})})],Vs),kee=(0,g.createContext)(void 0);function Aee({theme:e,children:t}){return(0,v.jsx)(kee.Provider,{value:e??{},children:t})}var gc=(0,g.memo)(({surface:e,id:t,basePath:n,compImpl:r,componentModel:i})=>{let a=r.render,o=(0,g.useMemo)(()=>new ua(e,t,n),[e,t,n,i]);return(0,v.jsx)(a,{context:o,buildChild:(0,g.useCallback)((t,n)=>{let r=n||o.dataContext.path;return(0,v.jsx)(_c,{surface:e,id:t,basePath:r},`${t}-${r}`)},[e,o.dataContext.path])})});gc.displayName=`ResolvedChild`;var _c=(0,g.memo)(({surface:e,id:t,basePath:n})=>{let r=(0,g.useMemo)(()=>{let n=0;return{subscribe:r=>{let i=e.componentsModel.onCreated.subscribe(e=>{e.id===t&&(n++,r())}),a=e.componentsModel.onDeleted.subscribe(e=>{e===t&&(n++,r())});return()=>{i.unsubscribe(),a.unsubscribe()}},getSnapshot:()=>{let r=e.componentsModel.get(t);return r?`${r.type}-${n}`:`missing-${n}`}}},[e,t]);(0,g.useSyncExternalStore)(r.subscribe,r.getSnapshot);let i=e.componentsModel.get(t);if(!i)return(0,v.jsx)(`div`,{style:{padding:`12px 16px`,borderRadius:`8px`,background:`linear-gradient(90deg, #f3f4f6 25%, #e5e7eb 50%, #f3f4f6 75%)`,backgroundSize:`200% 100%`,animation:`a2ui-shimmer 1.5s ease-in-out infinite`,minHeight:`2rem`},children:(0,v.jsx)(`style`,{children:`@keyframes a2ui-shimmer { 0% { background-position: 200% 0; } 100% { background-position: -200% 0; } }`})});let a=e.catalog.components.get(i.type);return a?(0,v.jsx)(gc,{surface:e,id:t,basePath:n,componentModel:i,compImpl:a}):(0,v.jsxs)(`div`,{style:{color:`red`},children:[`Unknown component: `,i.type]})});_c.displayName=`DeferredChild`;var jee=({surface:e})=>(0,v.jsx)(_c,{surface:e,id:`root`,basePath:`/`}),vc;(function(e){e.assertEqual=e=>{};function t(e){}e.assertIs=t;function n(e){throw Error()}e.assertNever=n,e.arrayToEnum=e=>{let t={};for(let n of e)t[n]=n;return t},e.getValidEnumValues=t=>{let n=e.objectKeys(t).filter(e=>typeof t[t[e]]!=`number`),r={};for(let e of n)r[e]=t[e];return e.objectValues(r)},e.objectValues=t=>e.objectKeys(t).map(function(e){return t[e]}),e.objectKeys=typeof Object.keys==`function`?e=>Object.keys(e):e=>{let t=[];for(let n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.push(n);return t},e.find=(e,t)=>{for(let n of e)if(t(n))return n},e.isInteger=typeof Number.isInteger==`function`?e=>Number.isInteger(e):e=>typeof e==`number`&&Number.isFinite(e)&&Math.floor(e)===e;function r(e,t=` | `){return e.map(e=>typeof e==`string`?`'${e}'`:e).join(t)}e.joinValues=r,e.jsonStringifyReplacer=(e,t)=>typeof t==`bigint`?t.toString():t})(vc||={});var Mee;(function(e){e.mergeShapes=(e,t)=>({...e,...t})})(Mee||={});var yc=vc.arrayToEnum([`string`,`nan`,`number`,`integer`,`float`,`boolean`,`date`,`bigint`,`symbol`,`function`,`undefined`,`null`,`array`,`object`,`unknown`,`promise`,`void`,`never`,`map`,`set`]),bc=e=>{switch(typeof e){case`undefined`:return yc.undefined;case`string`:return yc.string;case`number`:return Number.isNaN(e)?yc.nan:yc.number;case`boolean`:return yc.boolean;case`function`:return yc.function;case`bigint`:return yc.bigint;case`symbol`:return yc.symbol;case`object`:return Array.isArray(e)?yc.array:e===null?yc.null:e.then&&typeof e.then==`function`&&e.catch&&typeof e.catch==`function`?yc.promise:typeof Map<`u`&&e instanceof Map?yc.map:typeof Set<`u`&&e instanceof Set?yc.set:typeof Date<`u`&&e instanceof Date?yc.date:yc.object;default:return yc.unknown}},K=vc.arrayToEnum([`invalid_type`,`invalid_literal`,`custom`,`invalid_union`,`invalid_union_discriminator`,`invalid_enum_value`,`unrecognized_keys`,`invalid_arguments`,`invalid_return_type`,`invalid_date`,`invalid_string`,`too_small`,`too_big`,`invalid_intersection_types`,`not_multiple_of`,`not_finite`]),xc=class e extends Error{get errors(){return this.issues}constructor(e){super(),this.issues=[],this.addIssue=e=>{this.issues=[...this.issues,e]},this.addIssues=(e=[])=>{this.issues=[...this.issues,...e]};let t=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,t):this.__proto__=t,this.name=`ZodError`,this.issues=e}format(e){let t=e||function(e){return e.message},n={_errors:[]},r=e=>{for(let i of e.issues)if(i.code===`invalid_union`)i.unionErrors.map(r);else if(i.code===`invalid_return_type`)r(i.returnTypeError);else if(i.code===`invalid_arguments`)r(i.argumentsError);else if(i.path.length===0)n._errors.push(t(i));else{let e=n,r=0;for(;r<i.path.length;){let n=i.path[r];r===i.path.length-1?(e[n]=e[n]||{_errors:[]},e[n]._errors.push(t(i))):e[n]=e[n]||{_errors:[]},e=e[n],r++}}};return r(this),n}static assert(t){if(!(t instanceof e))throw Error(`Not a ZodError: ${t}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,vc.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(e=e=>e.message){let t={},n=[];for(let r of this.issues)if(r.path.length>0){let n=r.path[0];t[n]=t[n]||[],t[n].push(e(r))}else n.push(e(r));return{formErrors:n,fieldErrors:t}}get formErrors(){return this.flatten()}};xc.create=e=>new xc(e);var Sc=(e,t)=>{let n;switch(e.code){case K.invalid_type:n=e.received===yc.undefined?`Required`:`Expected ${e.expected}, received ${e.received}`;break;case K.invalid_literal:n=`Invalid literal value, expected ${JSON.stringify(e.expected,vc.jsonStringifyReplacer)}`;break;case K.unrecognized_keys:n=`Unrecognized key(s) in object: ${vc.joinValues(e.keys,`, `)}`;break;case K.invalid_union:n=`Invalid input`;break;case K.invalid_union_discriminator:n=`Invalid discriminator value. Expected ${vc.joinValues(e.options)}`;break;case K.invalid_enum_value:n=`Invalid enum value. Expected ${vc.joinValues(e.options)}, received '${e.received}'`;break;case K.invalid_arguments:n=`Invalid function arguments`;break;case K.invalid_return_type:n=`Invalid function return type`;break;case K.invalid_date:n=`Invalid date`;break;case K.invalid_string:typeof e.validation==`object`?`includes`in e.validation?(n=`Invalid input: must include "${e.validation.includes}"`,typeof e.validation.position==`number`&&(n=`${n} at one or more positions greater than or equal to ${e.validation.position}`)):`startsWith`in e.validation?n=`Invalid input: must start with "${e.validation.startsWith}"`:`endsWith`in e.validation?n=`Invalid input: must end with "${e.validation.endsWith}"`:vc.assertNever(e.validation):n=e.validation===`regex`?`Invalid`:`Invalid ${e.validation}`;break;case K.too_small:n=e.type===`array`?`Array must contain ${e.exact?`exactly`:e.inclusive?`at least`:`more than`} ${e.minimum} element(s)`:e.type===`string`?`String must contain ${e.exact?`exactly`:e.inclusive?`at least`:`over`} ${e.minimum} character(s)`:e.type===`number`||e.type===`bigint`?`Number must be ${e.exact?`exactly equal to `:e.inclusive?`greater than or equal to `:`greater than `}${e.minimum}`:e.type===`date`?`Date must be ${e.exact?`exactly equal to `:e.inclusive?`greater than or equal to `:`greater than `}${new Date(Number(e.minimum))}`:`Invalid input`;break;case K.too_big:n=e.type===`array`?`Array must contain ${e.exact?`exactly`:e.inclusive?`at most`:`less than`} ${e.maximum} element(s)`:e.type===`string`?`String must contain ${e.exact?`exactly`:e.inclusive?`at most`:`under`} ${e.maximum} character(s)`:e.type===`number`?`Number must be ${e.exact?`exactly`:e.inclusive?`less than or equal to`:`less than`} ${e.maximum}`:e.type===`bigint`?`BigInt must be ${e.exact?`exactly`:e.inclusive?`less than or equal to`:`less than`} ${e.maximum}`:e.type===`date`?`Date must be ${e.exact?`exactly`:e.inclusive?`smaller than or equal to`:`smaller than`} ${new Date(Number(e.maximum))}`:`Invalid input`;break;case K.custom:n=`Invalid input`;break;case K.invalid_intersection_types:n=`Intersection results could not be merged`;break;case K.not_multiple_of:n=`Number must be a multiple of ${e.multipleOf}`;break;case K.not_finite:n=`Number must be finite`;break;default:n=t.defaultError,vc.assertNever(e)}return{message:n}},Nee=Sc;function Cc(){return Nee}var wc=e=>{let{data:t,path:n,errorMaps:r,issueData:i}=e,a=[...n,...i.path||[]],o={...i,path:a};if(i.message!==void 0)return{...i,path:a,message:i.message};let s=``,c=r.filter(e=>!!e).slice().reverse();for(let e of c)s=e(o,{data:t,defaultError:s}).message;return{...i,path:a,message:s}};function Tc(e,t){let n=Cc(),r=wc({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,n,n===Sc?void 0:Sc].filter(e=>!!e)});e.common.issues.push(r)}var Ec=class e{constructor(){this.value=`valid`}dirty(){this.value===`valid`&&(this.value=`dirty`)}abort(){this.value!==`aborted`&&(this.value=`aborted`)}static mergeArray(e,t){let n=[];for(let r of t){if(r.status===`aborted`)return Dc;r.status===`dirty`&&e.dirty(),n.push(r.value)}return{status:e.value,value:n}}static async mergeObjectAsync(t,n){let r=[];for(let e of n){let t=await e.key,n=await e.value;r.push({key:t,value:n})}return e.mergeObjectSync(t,r)}static mergeObjectSync(e,t){let n={};for(let r of t){let{key:t,value:i}=r;if(t.status===`aborted`||i.status===`aborted`)return Dc;t.status===`dirty`&&e.dirty(),i.status===`dirty`&&e.dirty(),t.value!==`__proto__`&&(i.value!==void 0||r.alwaysSet)&&(n[t.value]=i.value)}return{status:e.value,value:n}}},Dc=Object.freeze({status:`aborted`}),Oc=e=>({status:`dirty`,value:e}),kc=e=>({status:`valid`,value:e}),Ac=e=>e.status===`aborted`,jc=e=>e.status===`dirty`,Mc=e=>e.status===`valid`,Nc=e=>typeof Promise<`u`&&e instanceof Promise,Pc;(function(e){e.errToObj=e=>typeof e==`string`?{message:e}:e||{},e.toString=e=>typeof e==`string`?e:e?.message})(Pc||={});var Fc=class{constructor(e,t,n,r){this._cachedPath=[],this.parent=e,this.data=t,this._path=n,this._key=r}get path(){return this._cachedPath.length||(Array.isArray(this._key)?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}},Ic=(e,t)=>{if(Mc(t))return{success:!0,data:t.value};if(!e.common.issues.length)throw Error(`Validation failed but no issues detected.`);return{success:!1,get error(){if(this._error)return this._error;let t=new xc(e.common.issues);return this._error=t,this._error}}};function Lc(e){if(!e)return{};let{errorMap:t,invalid_type_error:n,required_error:r,description:i}=e;if(t&&(n||r))throw Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return t?{errorMap:t,description:i}:{errorMap:(t,i)=>{let{message:a}=e;return t.code===`invalid_enum_value`?{message:a??i.defaultError}:i.data===void 0?{message:a??r??i.defaultError}:t.code===`invalid_type`?{message:a??n??i.defaultError}:{message:i.defaultError}},description:i}}var Rc=class{get description(){return this._def.description}_getType(e){return bc(e.data)}_getOrReturnCtx(e,t){return t||{common:e.parent.common,data:e.data,parsedType:bc(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new Ec,ctx:{common:e.parent.common,data:e.data,parsedType:bc(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){let t=this._parse(e);if(Nc(t))throw Error(`Synchronous parse encountered promise.`);return t}_parseAsync(e){let t=this._parse(e);return Promise.resolve(t)}parse(e,t){let n=this.safeParse(e,t);if(n.success)return n.data;throw n.error}safeParse(e,t){let n={common:{issues:[],async:t?.async??!1,contextualErrorMap:t?.errorMap},path:t?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:bc(e)};return Ic(n,this._parseSync({data:e,path:n.path,parent:n}))}"~validate"(e){let t={common:{issues:[],async:!!this[`~standard`].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:bc(e)};if(!this[`~standard`].async)try{let n=this._parseSync({data:e,path:[],parent:t});return Mc(n)?{value:n.value}:{issues:t.common.issues}}catch(e){e?.message?.toLowerCase()?.includes(`encountered`)&&(this[`~standard`].async=!0),t.common={issues:[],async:!0}}return this._parseAsync({data:e,path:[],parent:t}).then(e=>Mc(e)?{value:e.value}:{issues:t.common.issues})}async parseAsync(e,t){let n=await this.safeParseAsync(e,t);if(n.success)return n.data;throw n.error}async safeParseAsync(e,t){let n={common:{issues:[],contextualErrorMap:t?.errorMap,async:!0},path:t?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:bc(e)},r=this._parse({data:e,path:n.path,parent:n});return Ic(n,await(Nc(r)?r:Promise.resolve(r)))}refine(e,t){let n=e=>typeof t==`string`||t===void 0?{message:t}:typeof t==`function`?t(e):t;return this._refinement((t,r)=>{let i=e(t),a=()=>r.addIssue({code:K.custom,...n(t)});return typeof Promise<`u`&&i instanceof Promise?i.then(e=>e?!0:(a(),!1)):i?!0:(a(),!1)})}refinement(e,t){return this._refinement((n,r)=>e(n)?!0:(r.addIssue(typeof t==`function`?t(n,r):t),!1))}_refinement(e){return new Il({schema:this,typeName:Gl.ZodEffects,effect:{type:`refinement`,refinement:e}})}superRefine(e){return this._refinement(e)}constructor(e){this.spa=this.safeParseAsync,this._def=e,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this[`~standard`]={version:1,vendor:`zod`,validate:e=>this[`~validate`](e)}}optional(){return Ll.create(this,this._def)}nullable(){return Rl.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return vl.create(this)}promise(){return Fl.create(this,this._def)}or(e){return xl.create([this,e],this._def)}and(e){return Tl.create(this,e,this._def)}transform(e){return new Il({...Lc(this._def),schema:this,typeName:Gl.ZodEffects,effect:{type:`transform`,transform:e}})}default(e){let t=typeof e==`function`?e:()=>e;return new zl({...Lc(this._def),innerType:this,defaultValue:t,typeName:Gl.ZodDefault})}brand(){return new Hl({typeName:Gl.ZodBranded,type:this,...Lc(this._def)})}catch(e){let t=typeof e==`function`?e:()=>e;return new Bl({...Lc(this._def),innerType:this,catchValue:t,typeName:Gl.ZodCatch})}describe(e){let t=this.constructor;return new t({...this._def,description:e})}pipe(e){return Ul.create(this,e)}readonly(){return Wl.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},zc=/^c[^\s-]{8,}$/i,Bc=/^[0-9a-z]+$/,Vc=/^[0-9A-HJKMNP-TV-Z]{26}$/i,Hc=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,Uc=/^[a-z0-9_-]{21}$/i,Wc=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,Gc=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,Kc=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,qc=`^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$`,Jc,Yc=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,Xc=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,Zc=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,Qc=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,$c=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,el=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,tl=`((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))`,nl=RegExp(`^${tl}$`);function rl(e){let t=`[0-5]\\d`;e.precision?t=`${t}\\.\\d{${e.precision}}`:e.precision??(t=`${t}(\\.\\d+)?`);let n=e.precision?`+`:`?`;return`([01]\\d|2[0-3]):[0-5]\\d(:${t})${n}`}function il(e){return RegExp(`^${rl(e)}$`)}function Pee(e){let t=`${tl}T${rl(e)}`,n=[];return n.push(e.local?`Z?`:`Z`),e.offset&&n.push(`([+-]\\d{2}:?\\d{2})`),t=`${t}(${n.join(`|`)})`,RegExp(`^${t}$`)}function Fee(e,t){return!!((t===`v4`||!t)&&Yc.test(e)||(t===`v6`||!t)&&Zc.test(e))}function Iee(e,t){if(!Wc.test(e))return!1;try{let[n]=e.split(`.`);if(!n)return!1;let r=n.replace(/-/g,`+`).replace(/_/g,`/`).padEnd(n.length+(4-n.length%4)%4,`=`),i=JSON.parse(atob(r));return!(typeof i!=`object`||!i||`typ`in i&&i?.typ!==`JWT`||!i.alg||t&&i.alg!==t)}catch{return!1}}function Lee(e,t){return!!((t===`v4`||!t)&&Xc.test(e)||(t===`v6`||!t)&&Qc.test(e))}var al=class e extends Rc{_parse(e){if(this._def.coerce&&(e.data=String(e.data)),this._getType(e)!==yc.string){let t=this._getOrReturnCtx(e);return Tc(t,{code:K.invalid_type,expected:yc.string,received:t.parsedType}),Dc}let t=new Ec,n;for(let r of this._def.checks)if(r.kind===`min`)e.data.length<r.value&&(n=this._getOrReturnCtx(e,n),Tc(n,{code:K.too_small,minimum:r.value,type:`string`,inclusive:!0,exact:!1,message:r.message}),t.dirty());else if(r.kind===`max`)e.data.length>r.value&&(n=this._getOrReturnCtx(e,n),Tc(n,{code:K.too_big,maximum:r.value,type:`string`,inclusive:!0,exact:!1,message:r.message}),t.dirty());else if(r.kind===`length`){let i=e.data.length>r.value,a=e.data.length<r.value;(i||a)&&(n=this._getOrReturnCtx(e,n),i?Tc(n,{code:K.too_big,maximum:r.value,type:`string`,inclusive:!0,exact:!0,message:r.message}):a&&Tc(n,{code:K.too_small,minimum:r.value,type:`string`,inclusive:!0,exact:!0,message:r.message}),t.dirty())}else if(r.kind===`email`)Kc.test(e.data)||(n=this._getOrReturnCtx(e,n),Tc(n,{validation:`email`,code:K.invalid_string,message:r.message}),t.dirty());else if(r.kind===`emoji`)Jc||=new RegExp(qc,`u`),Jc.test(e.data)||(n=this._getOrReturnCtx(e,n),Tc(n,{validation:`emoji`,code:K.invalid_string,message:r.message}),t.dirty());else if(r.kind===`uuid`)Hc.test(e.data)||(n=this._getOrReturnCtx(e,n),Tc(n,{validation:`uuid`,code:K.invalid_string,message:r.message}),t.dirty());else if(r.kind===`nanoid`)Uc.test(e.data)||(n=this._getOrReturnCtx(e,n),Tc(n,{validation:`nanoid`,code:K.invalid_string,message:r.message}),t.dirty());else if(r.kind===`cuid`)zc.test(e.data)||(n=this._getOrReturnCtx(e,n),Tc(n,{validation:`cuid`,code:K.invalid_string,message:r.message}),t.dirty());else if(r.kind===`cuid2`)Bc.test(e.data)||(n=this._getOrReturnCtx(e,n),Tc(n,{validation:`cuid2`,code:K.invalid_string,message:r.message}),t.dirty());else if(r.kind===`ulid`)Vc.test(e.data)||(n=this._getOrReturnCtx(e,n),Tc(n,{validation:`ulid`,code:K.invalid_string,message:r.message}),t.dirty());else if(r.kind===`url`)try{new URL(e.data)}catch{n=this._getOrReturnCtx(e,n),Tc(n,{validation:`url`,code:K.invalid_string,message:r.message}),t.dirty()}else r.kind===`regex`?(r.regex.lastIndex=0,r.regex.test(e.data)||(n=this._getOrReturnCtx(e,n),Tc(n,{validation:`regex`,code:K.invalid_string,message:r.message}),t.dirty())):r.kind===`trim`?e.data=e.data.trim():r.kind===`includes`?e.data.includes(r.value,r.position)||(n=this._getOrReturnCtx(e,n),Tc(n,{code:K.invalid_string,validation:{includes:r.value,position:r.position},message:r.message}),t.dirty()):r.kind===`toLowerCase`?e.data=e.data.toLowerCase():r.kind===`toUpperCase`?e.data=e.data.toUpperCase():r.kind===`startsWith`?e.data.startsWith(r.value)||(n=this._getOrReturnCtx(e,n),Tc(n,{code:K.invalid_string,validation:{startsWith:r.value},message:r.message}),t.dirty()):r.kind===`endsWith`?e.data.endsWith(r.value)||(n=this._getOrReturnCtx(e,n),Tc(n,{code:K.invalid_string,validation:{endsWith:r.value},message:r.message}),t.dirty()):r.kind===`datetime`?Pee(r).test(e.data)||(n=this._getOrReturnCtx(e,n),Tc(n,{code:K.invalid_string,validation:`datetime`,message:r.message}),t.dirty()):r.kind===`date`?nl.test(e.data)||(n=this._getOrReturnCtx(e,n),Tc(n,{code:K.invalid_string,validation:`date`,message:r.message}),t.dirty()):r.kind===`time`?il(r).test(e.data)||(n=this._getOrReturnCtx(e,n),Tc(n,{code:K.invalid_string,validation:`time`,message:r.message}),t.dirty()):r.kind===`duration`?Gc.test(e.data)||(n=this._getOrReturnCtx(e,n),Tc(n,{validation:`duration`,code:K.invalid_string,message:r.message}),t.dirty()):r.kind===`ip`?Fee(e.data,r.version)||(n=this._getOrReturnCtx(e,n),Tc(n,{validation:`ip`,code:K.invalid_string,message:r.message}),t.dirty()):r.kind===`jwt`?Iee(e.data,r.alg)||(n=this._getOrReturnCtx(e,n),Tc(n,{validation:`jwt`,code:K.invalid_string,message:r.message}),t.dirty()):r.kind===`cidr`?Lee(e.data,r.version)||(n=this._getOrReturnCtx(e,n),Tc(n,{validation:`cidr`,code:K.invalid_string,message:r.message}),t.dirty()):r.kind===`base64`?$c.test(e.data)||(n=this._getOrReturnCtx(e,n),Tc(n,{validation:`base64`,code:K.invalid_string,message:r.message}),t.dirty()):r.kind===`base64url`?el.test(e.data)||(n=this._getOrReturnCtx(e,n),Tc(n,{validation:`base64url`,code:K.invalid_string,message:r.message}),t.dirty()):vc.assertNever(r);return{status:t.value,value:e.data}}_regex(e,t,n){return this.refinement(t=>e.test(t),{validation:t,code:K.invalid_string,...Pc.errToObj(n)})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}email(e){return this._addCheck({kind:`email`,...Pc.errToObj(e)})}url(e){return this._addCheck({kind:`url`,...Pc.errToObj(e)})}emoji(e){return this._addCheck({kind:`emoji`,...Pc.errToObj(e)})}uuid(e){return this._addCheck({kind:`uuid`,...Pc.errToObj(e)})}nanoid(e){return this._addCheck({kind:`nanoid`,...Pc.errToObj(e)})}cuid(e){return this._addCheck({kind:`cuid`,...Pc.errToObj(e)})}cuid2(e){return this._addCheck({kind:`cuid2`,...Pc.errToObj(e)})}ulid(e){return this._addCheck({kind:`ulid`,...Pc.errToObj(e)})}base64(e){return this._addCheck({kind:`base64`,...Pc.errToObj(e)})}base64url(e){return this._addCheck({kind:`base64url`,...Pc.errToObj(e)})}jwt(e){return this._addCheck({kind:`jwt`,...Pc.errToObj(e)})}ip(e){return this._addCheck({kind:`ip`,...Pc.errToObj(e)})}cidr(e){return this._addCheck({kind:`cidr`,...Pc.errToObj(e)})}datetime(e){return typeof e==`string`?this._addCheck({kind:`datetime`,precision:null,offset:!1,local:!1,message:e}):this._addCheck({kind:`datetime`,precision:e?.precision===void 0?null:e?.precision,offset:e?.offset??!1,local:e?.local??!1,...Pc.errToObj(e?.message)})}date(e){return this._addCheck({kind:`date`,message:e})}time(e){return typeof e==`string`?this._addCheck({kind:`time`,precision:null,message:e}):this._addCheck({kind:`time`,precision:e?.precision===void 0?null:e?.precision,...Pc.errToObj(e?.message)})}duration(e){return this._addCheck({kind:`duration`,...Pc.errToObj(e)})}regex(e,t){return this._addCheck({kind:`regex`,regex:e,...Pc.errToObj(t)})}includes(e,t){return this._addCheck({kind:`includes`,value:e,position:t?.position,...Pc.errToObj(t?.message)})}startsWith(e,t){return this._addCheck({kind:`startsWith`,value:e,...Pc.errToObj(t)})}endsWith(e,t){return this._addCheck({kind:`endsWith`,value:e,...Pc.errToObj(t)})}min(e,t){return this._addCheck({kind:`min`,value:e,...Pc.errToObj(t)})}max(e,t){return this._addCheck({kind:`max`,value:e,...Pc.errToObj(t)})}length(e,t){return this._addCheck({kind:`length`,value:e,...Pc.errToObj(t)})}nonempty(e){return this.min(1,Pc.errToObj(e))}trim(){return new e({...this._def,checks:[...this._def.checks,{kind:`trim`}]})}toLowerCase(){return new e({...this._def,checks:[...this._def.checks,{kind:`toLowerCase`}]})}toUpperCase(){return new e({...this._def,checks:[...this._def.checks,{kind:`toUpperCase`}]})}get isDatetime(){return!!this._def.checks.find(e=>e.kind===`datetime`)}get isDate(){return!!this._def.checks.find(e=>e.kind===`date`)}get isTime(){return!!this._def.checks.find(e=>e.kind===`time`)}get isDuration(){return!!this._def.checks.find(e=>e.kind===`duration`)}get isEmail(){return!!this._def.checks.find(e=>e.kind===`email`)}get isURL(){return!!this._def.checks.find(e=>e.kind===`url`)}get isEmoji(){return!!this._def.checks.find(e=>e.kind===`emoji`)}get isUUID(){return!!this._def.checks.find(e=>e.kind===`uuid`)}get isNANOID(){return!!this._def.checks.find(e=>e.kind===`nanoid`)}get isCUID(){return!!this._def.checks.find(e=>e.kind===`cuid`)}get isCUID2(){return!!this._def.checks.find(e=>e.kind===`cuid2`)}get isULID(){return!!this._def.checks.find(e=>e.kind===`ulid`)}get isIP(){return!!this._def.checks.find(e=>e.kind===`ip`)}get isCIDR(){return!!this._def.checks.find(e=>e.kind===`cidr`)}get isBase64(){return!!this._def.checks.find(e=>e.kind===`base64`)}get isBase64url(){return!!this._def.checks.find(e=>e.kind===`base64url`)}get minLength(){let e=null;for(let t of this._def.checks)t.kind===`min`&&(e===null||t.value>e)&&(e=t.value);return e}get maxLength(){let e=null;for(let t of this._def.checks)t.kind===`max`&&(e===null||t.value<e)&&(e=t.value);return e}};al.create=e=>new al({checks:[],typeName:Gl.ZodString,coerce:e?.coerce??!1,...Lc(e)});function ol(e,t){let n=(e.toString().split(`.`)[1]||``).length,r=(t.toString().split(`.`)[1]||``).length,i=n>r?n:r;return Number.parseInt(e.toFixed(i).replace(`.`,``))%Number.parseInt(t.toFixed(i).replace(`.`,``))/10**i}var sl=class e extends Rc{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(e){if(this._def.coerce&&(e.data=Number(e.data)),this._getType(e)!==yc.number){let t=this._getOrReturnCtx(e);return Tc(t,{code:K.invalid_type,expected:yc.number,received:t.parsedType}),Dc}let t,n=new Ec;for(let r of this._def.checks)r.kind===`int`?vc.isInteger(e.data)||(t=this._getOrReturnCtx(e,t),Tc(t,{code:K.invalid_type,expected:`integer`,received:`float`,message:r.message}),n.dirty()):r.kind===`min`?(r.inclusive?e.data<r.value:e.data<=r.value)&&(t=this._getOrReturnCtx(e,t),Tc(t,{code:K.too_small,minimum:r.value,type:`number`,inclusive:r.inclusive,exact:!1,message:r.message}),n.dirty()):r.kind===`max`?(r.inclusive?e.data>r.value:e.data>=r.value)&&(t=this._getOrReturnCtx(e,t),Tc(t,{code:K.too_big,maximum:r.value,type:`number`,inclusive:r.inclusive,exact:!1,message:r.message}),n.dirty()):r.kind===`multipleOf`?ol(e.data,r.value)!==0&&(t=this._getOrReturnCtx(e,t),Tc(t,{code:K.not_multiple_of,multipleOf:r.value,message:r.message}),n.dirty()):r.kind===`finite`?Number.isFinite(e.data)||(t=this._getOrReturnCtx(e,t),Tc(t,{code:K.not_finite,message:r.message}),n.dirty()):vc.assertNever(r);return{status:n.value,value:e.data}}gte(e,t){return this.setLimit(`min`,e,!0,Pc.toString(t))}gt(e,t){return this.setLimit(`min`,e,!1,Pc.toString(t))}lte(e,t){return this.setLimit(`max`,e,!0,Pc.toString(t))}lt(e,t){return this.setLimit(`max`,e,!1,Pc.toString(t))}setLimit(t,n,r,i){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:Pc.toString(i)}]})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}int(e){return this._addCheck({kind:`int`,message:Pc.toString(e)})}positive(e){return this._addCheck({kind:`min`,value:0,inclusive:!1,message:Pc.toString(e)})}negative(e){return this._addCheck({kind:`max`,value:0,inclusive:!1,message:Pc.toString(e)})}nonpositive(e){return this._addCheck({kind:`max`,value:0,inclusive:!0,message:Pc.toString(e)})}nonnegative(e){return this._addCheck({kind:`min`,value:0,inclusive:!0,message:Pc.toString(e)})}multipleOf(e,t){return this._addCheck({kind:`multipleOf`,value:e,message:Pc.toString(t)})}finite(e){return this._addCheck({kind:`finite`,message:Pc.toString(e)})}safe(e){return this._addCheck({kind:`min`,inclusive:!0,value:-(2**53-1),message:Pc.toString(e)})._addCheck({kind:`max`,inclusive:!0,value:2**53-1,message:Pc.toString(e)})}get minValue(){let e=null;for(let t of this._def.checks)t.kind===`min`&&(e===null||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(let t of this._def.checks)t.kind===`max`&&(e===null||t.value<e)&&(e=t.value);return e}get isInt(){return!!this._def.checks.find(e=>e.kind===`int`||e.kind===`multipleOf`&&vc.isInteger(e.value))}get isFinite(){let e=null,t=null;for(let n of this._def.checks)if(n.kind===`finite`||n.kind===`int`||n.kind===`multipleOf`)return!0;else n.kind===`min`?(t===null||n.value>t)&&(t=n.value):n.kind===`max`&&(e===null||n.value<e)&&(e=n.value);return Number.isFinite(t)&&Number.isFinite(e)}};sl.create=e=>new sl({checks:[],typeName:Gl.ZodNumber,coerce:e?.coerce||!1,...Lc(e)});var cl=class e extends Rc{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(e){if(this._def.coerce)try{e.data=BigInt(e.data)}catch{return this._getInvalidInput(e)}if(this._getType(e)!==yc.bigint)return this._getInvalidInput(e);let t,n=new Ec;for(let r of this._def.checks)r.kind===`min`?(r.inclusive?e.data<r.value:e.data<=r.value)&&(t=this._getOrReturnCtx(e,t),Tc(t,{code:K.too_small,type:`bigint`,minimum:r.value,inclusive:r.inclusive,message:r.message}),n.dirty()):r.kind===`max`?(r.inclusive?e.data>r.value:e.data>=r.value)&&(t=this._getOrReturnCtx(e,t),Tc(t,{code:K.too_big,type:`bigint`,maximum:r.value,inclusive:r.inclusive,message:r.message}),n.dirty()):r.kind===`multipleOf`?e.data%r.value!==BigInt(0)&&(t=this._getOrReturnCtx(e,t),Tc(t,{code:K.not_multiple_of,multipleOf:r.value,message:r.message}),n.dirty()):vc.assertNever(r);return{status:n.value,value:e.data}}_getInvalidInput(e){let t=this._getOrReturnCtx(e);return Tc(t,{code:K.invalid_type,expected:yc.bigint,received:t.parsedType}),Dc}gte(e,t){return this.setLimit(`min`,e,!0,Pc.toString(t))}gt(e,t){return this.setLimit(`min`,e,!1,Pc.toString(t))}lte(e,t){return this.setLimit(`max`,e,!0,Pc.toString(t))}lt(e,t){return this.setLimit(`max`,e,!1,Pc.toString(t))}setLimit(t,n,r,i){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:Pc.toString(i)}]})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}positive(e){return this._addCheck({kind:`min`,value:BigInt(0),inclusive:!1,message:Pc.toString(e)})}negative(e){return this._addCheck({kind:`max`,value:BigInt(0),inclusive:!1,message:Pc.toString(e)})}nonpositive(e){return this._addCheck({kind:`max`,value:BigInt(0),inclusive:!0,message:Pc.toString(e)})}nonnegative(e){return this._addCheck({kind:`min`,value:BigInt(0),inclusive:!0,message:Pc.toString(e)})}multipleOf(e,t){return this._addCheck({kind:`multipleOf`,value:e,message:Pc.toString(t)})}get minValue(){let e=null;for(let t of this._def.checks)t.kind===`min`&&(e===null||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(let t of this._def.checks)t.kind===`max`&&(e===null||t.value<e)&&(e=t.value);return e}};cl.create=e=>new cl({checks:[],typeName:Gl.ZodBigInt,coerce:e?.coerce??!1,...Lc(e)});var ll=class extends Rc{_parse(e){if(this._def.coerce&&(e.data=!!e.data),this._getType(e)!==yc.boolean){let t=this._getOrReturnCtx(e);return Tc(t,{code:K.invalid_type,expected:yc.boolean,received:t.parsedType}),Dc}return kc(e.data)}};ll.create=e=>new ll({typeName:Gl.ZodBoolean,coerce:e?.coerce||!1,...Lc(e)});var ul=class e extends Rc{_parse(e){if(this._def.coerce&&(e.data=new Date(e.data)),this._getType(e)!==yc.date){let t=this._getOrReturnCtx(e);return Tc(t,{code:K.invalid_type,expected:yc.date,received:t.parsedType}),Dc}if(Number.isNaN(e.data.getTime()))return Tc(this._getOrReturnCtx(e),{code:K.invalid_date}),Dc;let t=new Ec,n;for(let r of this._def.checks)r.kind===`min`?e.data.getTime()<r.value&&(n=this._getOrReturnCtx(e,n),Tc(n,{code:K.too_small,message:r.message,inclusive:!0,exact:!1,minimum:r.value,type:`date`}),t.dirty()):r.kind===`max`?e.data.getTime()>r.value&&(n=this._getOrReturnCtx(e,n),Tc(n,{code:K.too_big,message:r.message,inclusive:!0,exact:!1,maximum:r.value,type:`date`}),t.dirty()):vc.assertNever(r);return{status:t.value,value:new Date(e.data.getTime())}}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}min(e,t){return this._addCheck({kind:`min`,value:e.getTime(),message:Pc.toString(t)})}max(e,t){return this._addCheck({kind:`max`,value:e.getTime(),message:Pc.toString(t)})}get minDate(){let e=null;for(let t of this._def.checks)t.kind===`min`&&(e===null||t.value>e)&&(e=t.value);return e==null?null:new Date(e)}get maxDate(){let e=null;for(let t of this._def.checks)t.kind===`max`&&(e===null||t.value<e)&&(e=t.value);return e==null?null:new Date(e)}};ul.create=e=>new ul({checks:[],coerce:e?.coerce||!1,typeName:Gl.ZodDate,...Lc(e)});var dl=class extends Rc{_parse(e){if(this._getType(e)!==yc.symbol){let t=this._getOrReturnCtx(e);return Tc(t,{code:K.invalid_type,expected:yc.symbol,received:t.parsedType}),Dc}return kc(e.data)}};dl.create=e=>new dl({typeName:Gl.ZodSymbol,...Lc(e)});var fl=class extends Rc{_parse(e){if(this._getType(e)!==yc.undefined){let t=this._getOrReturnCtx(e);return Tc(t,{code:K.invalid_type,expected:yc.undefined,received:t.parsedType}),Dc}return kc(e.data)}};fl.create=e=>new fl({typeName:Gl.ZodUndefined,...Lc(e)});var pl=class extends Rc{_parse(e){if(this._getType(e)!==yc.null){let t=this._getOrReturnCtx(e);return Tc(t,{code:K.invalid_type,expected:yc.null,received:t.parsedType}),Dc}return kc(e.data)}};pl.create=e=>new pl({typeName:Gl.ZodNull,...Lc(e)});var ml=class extends Rc{constructor(){super(...arguments),this._any=!0}_parse(e){return kc(e.data)}};ml.create=e=>new ml({typeName:Gl.ZodAny,...Lc(e)});var hl=class extends Rc{constructor(){super(...arguments),this._unknown=!0}_parse(e){return kc(e.data)}};hl.create=e=>new hl({typeName:Gl.ZodUnknown,...Lc(e)});var gl=class extends Rc{_parse(e){let t=this._getOrReturnCtx(e);return Tc(t,{code:K.invalid_type,expected:yc.never,received:t.parsedType}),Dc}};gl.create=e=>new gl({typeName:Gl.ZodNever,...Lc(e)});var _l=class extends Rc{_parse(e){if(this._getType(e)!==yc.undefined){let t=this._getOrReturnCtx(e);return Tc(t,{code:K.invalid_type,expected:yc.void,received:t.parsedType}),Dc}return kc(e.data)}};_l.create=e=>new _l({typeName:Gl.ZodVoid,...Lc(e)});var vl=class e extends Rc{_parse(e){let{ctx:t,status:n}=this._processInputParams(e),r=this._def;if(t.parsedType!==yc.array)return Tc(t,{code:K.invalid_type,expected:yc.array,received:t.parsedType}),Dc;if(r.exactLength!==null){let e=t.data.length>r.exactLength.value,i=t.data.length<r.exactLength.value;(e||i)&&(Tc(t,{code:e?K.too_big:K.too_small,minimum:i?r.exactLength.value:void 0,maximum:e?r.exactLength.value:void 0,type:`array`,inclusive:!0,exact:!0,message:r.exactLength.message}),n.dirty())}if(r.minLength!==null&&t.data.length<r.minLength.value&&(Tc(t,{code:K.too_small,minimum:r.minLength.value,type:`array`,inclusive:!0,exact:!1,message:r.minLength.message}),n.dirty()),r.maxLength!==null&&t.data.length>r.maxLength.value&&(Tc(t,{code:K.too_big,maximum:r.maxLength.value,type:`array`,inclusive:!0,exact:!1,message:r.maxLength.message}),n.dirty()),t.common.async)return Promise.all([...t.data].map((e,n)=>r.type._parseAsync(new Fc(t,e,t.path,n)))).then(e=>Ec.mergeArray(n,e));let i=[...t.data].map((e,n)=>r.type._parseSync(new Fc(t,e,t.path,n)));return Ec.mergeArray(n,i)}get element(){return this._def.type}min(t,n){return new e({...this._def,minLength:{value:t,message:Pc.toString(n)}})}max(t,n){return new e({...this._def,maxLength:{value:t,message:Pc.toString(n)}})}length(t,n){return new e({...this._def,exactLength:{value:t,message:Pc.toString(n)}})}nonempty(e){return this.min(1,e)}};vl.create=(e,t)=>new vl({type:e,minLength:null,maxLength:null,exactLength:null,typeName:Gl.ZodArray,...Lc(t)});function yl(e){if(e instanceof bl){let t={};for(let n in e.shape){let r=e.shape[n];t[n]=Ll.create(yl(r))}return new bl({...e._def,shape:()=>t})}return e instanceof vl?new vl({...e._def,type:yl(e.element)}):e instanceof Ll?Ll.create(yl(e.unwrap())):e instanceof Rl?Rl.create(yl(e.unwrap())):e instanceof El?El.create(e.items.map(e=>yl(e))):e}var bl=class e extends Rc{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let e=this._def.shape(),t=vc.objectKeys(e);return this._cached={shape:e,keys:t},this._cached}_parse(e){if(this._getType(e)!==yc.object){let t=this._getOrReturnCtx(e);return Tc(t,{code:K.invalid_type,expected:yc.object,received:t.parsedType}),Dc}let{status:t,ctx:n}=this._processInputParams(e),{shape:r,keys:i}=this._getCached(),a=[];if(!(this._def.catchall instanceof gl&&this._def.unknownKeys===`strip`))for(let e in n.data)i.includes(e)||a.push(e);let o=[];for(let e of i){let t=r[e],i=n.data[e];o.push({key:{status:`valid`,value:e},value:t._parse(new Fc(n,i,n.path,e)),alwaysSet:e in n.data})}if(this._def.catchall instanceof gl){let e=this._def.unknownKeys;if(e===`passthrough`)for(let e of a)o.push({key:{status:`valid`,value:e},value:{status:`valid`,value:n.data[e]}});else if(e===`strict`)a.length>0&&(Tc(n,{code:K.unrecognized_keys,keys:a}),t.dirty());else if(e!==`strip`)throw Error(`Internal ZodObject error: invalid unknownKeys value.`)}else{let e=this._def.catchall;for(let t of a){let r=n.data[t];o.push({key:{status:`valid`,value:t},value:e._parse(new Fc(n,r,n.path,t)),alwaysSet:t in n.data})}}return n.common.async?Promise.resolve().then(async()=>{let e=[];for(let t of o){let n=await t.key,r=await t.value;e.push({key:n,value:r,alwaysSet:t.alwaysSet})}return e}).then(e=>Ec.mergeObjectSync(t,e)):Ec.mergeObjectSync(t,o)}get shape(){return this._def.shape()}strict(t){return Pc.errToObj,new e({...this._def,unknownKeys:`strict`,...t===void 0?{}:{errorMap:(e,n)=>{let r=this._def.errorMap?.(e,n).message??n.defaultError;return e.code===`unrecognized_keys`?{message:Pc.errToObj(t).message??r}:{message:r}}}})}strip(){return new e({...this._def,unknownKeys:`strip`})}passthrough(){return new e({...this._def,unknownKeys:`passthrough`})}extend(t){return new e({...this._def,shape:()=>({...this._def.shape(),...t})})}merge(t){return new e({unknownKeys:t._def.unknownKeys,catchall:t._def.catchall,shape:()=>({...this._def.shape(),...t._def.shape()}),typeName:Gl.ZodObject})}setKey(e,t){return this.augment({[e]:t})}catchall(t){return new e({...this._def,catchall:t})}pick(t){let n={};for(let e of vc.objectKeys(t))t[e]&&this.shape[e]&&(n[e]=this.shape[e]);return new e({...this._def,shape:()=>n})}omit(t){let n={};for(let e of vc.objectKeys(this.shape))t[e]||(n[e]=this.shape[e]);return new e({...this._def,shape:()=>n})}deepPartial(){return yl(this)}partial(t){let n={};for(let e of vc.objectKeys(this.shape)){let r=this.shape[e];n[e]=t&&!t[e]?r:r.optional()}return new e({...this._def,shape:()=>n})}required(t){let n={};for(let e of vc.objectKeys(this.shape))if(t&&!t[e])n[e]=this.shape[e];else{let t=this.shape[e];for(;t instanceof Ll;)t=t._def.innerType;n[e]=t}return new e({...this._def,shape:()=>n})}keyof(){return Ml(vc.objectKeys(this.shape))}};bl.create=(e,t)=>new bl({shape:()=>e,unknownKeys:`strip`,catchall:gl.create(),typeName:Gl.ZodObject,...Lc(t)}),bl.strictCreate=(e,t)=>new bl({shape:()=>e,unknownKeys:`strict`,catchall:gl.create(),typeName:Gl.ZodObject,...Lc(t)}),bl.lazycreate=(e,t)=>new bl({shape:e,unknownKeys:`strip`,catchall:gl.create(),typeName:Gl.ZodObject,...Lc(t)});var xl=class extends Rc{_parse(e){let{ctx:t}=this._processInputParams(e),n=this._def.options;function r(e){for(let t of e)if(t.result.status===`valid`)return t.result;for(let n of e)if(n.result.status===`dirty`)return t.common.issues.push(...n.ctx.common.issues),n.result;let n=e.map(e=>new xc(e.ctx.common.issues));return Tc(t,{code:K.invalid_union,unionErrors:n}),Dc}if(t.common.async)return Promise.all(n.map(async e=>{let n={...t,common:{...t.common,issues:[]},parent:null};return{result:await e._parseAsync({data:t.data,path:t.path,parent:n}),ctx:n}})).then(r);{let e,r=[];for(let i of n){let n={...t,common:{...t.common,issues:[]},parent:null},a=i._parseSync({data:t.data,path:t.path,parent:n});if(a.status===`valid`)return a;a.status===`dirty`&&!e&&(e={result:a,ctx:n}),n.common.issues.length&&r.push(n.common.issues)}if(e)return t.common.issues.push(...e.ctx.common.issues),e.result;let i=r.map(e=>new xc(e));return Tc(t,{code:K.invalid_union,unionErrors:i}),Dc}}get options(){return this._def.options}};xl.create=(e,t)=>new xl({options:e,typeName:Gl.ZodUnion,...Lc(t)});var Sl=e=>e instanceof Al?Sl(e.schema):e instanceof Il?Sl(e.innerType()):e instanceof jl?[e.value]:e instanceof Nl?e.options:e instanceof Pl?vc.objectValues(e.enum):e instanceof zl?Sl(e._def.innerType):e instanceof fl?[void 0]:e instanceof pl?[null]:e instanceof Ll?[void 0,...Sl(e.unwrap())]:e instanceof Rl?[null,...Sl(e.unwrap())]:e instanceof Hl||e instanceof Wl?Sl(e.unwrap()):e instanceof Bl?Sl(e._def.innerType):[],Cl=class e extends Rc{_parse(e){let{ctx:t}=this._processInputParams(e);if(t.parsedType!==yc.object)return Tc(t,{code:K.invalid_type,expected:yc.object,received:t.parsedType}),Dc;let n=this.discriminator,r=t.data[n],i=this.optionsMap.get(r);return i?t.common.async?i._parseAsync({data:t.data,path:t.path,parent:t}):i._parseSync({data:t.data,path:t.path,parent:t}):(Tc(t,{code:K.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[n]}),Dc)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(t,n,r){let i=new Map;for(let e of n){let n=Sl(e.shape[t]);if(!n.length)throw Error(`A discriminator value for key \`${t}\` could not be extracted from all schema options`);for(let r of n){if(i.has(r))throw Error(`Discriminator property ${String(t)} has duplicate value ${String(r)}`);i.set(r,e)}}return new e({typeName:Gl.ZodDiscriminatedUnion,discriminator:t,options:n,optionsMap:i,...Lc(r)})}};function wl(e,t){let n=bc(e),r=bc(t);if(e===t)return{valid:!0,data:e};if(n===yc.object&&r===yc.object){let n=vc.objectKeys(t),r=vc.objectKeys(e).filter(e=>n.indexOf(e)!==-1),i={...e,...t};for(let n of r){let r=wl(e[n],t[n]);if(!r.valid)return{valid:!1};i[n]=r.data}return{valid:!0,data:i}}if(n===yc.array&&r===yc.array){if(e.length!==t.length)return{valid:!1};let n=[];for(let r=0;r<e.length;r++){let i=e[r],a=t[r],o=wl(i,a);if(!o.valid)return{valid:!1};n.push(o.data)}return{valid:!0,data:n}}return n===yc.date&&r===yc.date&&+e==+t?{valid:!0,data:e}:{valid:!1}}var Tl=class extends Rc{_parse(e){let{status:t,ctx:n}=this._processInputParams(e),r=(e,r)=>{if(Ac(e)||Ac(r))return Dc;let i=wl(e.value,r.value);return i.valid?((jc(e)||jc(r))&&t.dirty(),{status:t.value,value:i.data}):(Tc(n,{code:K.invalid_intersection_types}),Dc)};return n.common.async?Promise.all([this._def.left._parseAsync({data:n.data,path:n.path,parent:n}),this._def.right._parseAsync({data:n.data,path:n.path,parent:n})]).then(([e,t])=>r(e,t)):r(this._def.left._parseSync({data:n.data,path:n.path,parent:n}),this._def.right._parseSync({data:n.data,path:n.path,parent:n}))}};Tl.create=(e,t,n)=>new Tl({left:e,right:t,typeName:Gl.ZodIntersection,...Lc(n)});var El=class e extends Rc{_parse(e){let{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==yc.array)return Tc(n,{code:K.invalid_type,expected:yc.array,received:n.parsedType}),Dc;if(n.data.length<this._def.items.length)return Tc(n,{code:K.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:`array`}),Dc;!this._def.rest&&n.data.length>this._def.items.length&&(Tc(n,{code:K.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:`array`}),t.dirty());let r=[...n.data].map((e,t)=>{let r=this._def.items[t]||this._def.rest;return r?r._parse(new Fc(n,e,n.path,t)):null}).filter(e=>!!e);return n.common.async?Promise.all(r).then(e=>Ec.mergeArray(t,e)):Ec.mergeArray(t,r)}get items(){return this._def.items}rest(t){return new e({...this._def,rest:t})}};El.create=(e,t)=>{if(!Array.isArray(e))throw Error(`You must pass an array of schemas to z.tuple([ ... ])`);return new El({items:e,typeName:Gl.ZodTuple,rest:null,...Lc(t)})};var Dl=class e extends Rc{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==yc.object)return Tc(n,{code:K.invalid_type,expected:yc.object,received:n.parsedType}),Dc;let r=[],i=this._def.keyType,a=this._def.valueType;for(let e in n.data)r.push({key:i._parse(new Fc(n,e,n.path,e)),value:a._parse(new Fc(n,n.data[e],n.path,e)),alwaysSet:e in n.data});return n.common.async?Ec.mergeObjectAsync(t,r):Ec.mergeObjectSync(t,r)}get element(){return this._def.valueType}static create(t,n,r){return n instanceof Rc?new e({keyType:t,valueType:n,typeName:Gl.ZodRecord,...Lc(r)}):new e({keyType:al.create(),valueType:t,typeName:Gl.ZodRecord,...Lc(n)})}},Ol=class extends Rc{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==yc.map)return Tc(n,{code:K.invalid_type,expected:yc.map,received:n.parsedType}),Dc;let r=this._def.keyType,i=this._def.valueType,a=[...n.data.entries()].map(([e,t],a)=>({key:r._parse(new Fc(n,e,n.path,[a,`key`])),value:i._parse(new Fc(n,t,n.path,[a,`value`]))}));if(n.common.async){let e=new Map;return Promise.resolve().then(async()=>{for(let n of a){let r=await n.key,i=await n.value;if(r.status===`aborted`||i.status===`aborted`)return Dc;(r.status===`dirty`||i.status===`dirty`)&&t.dirty(),e.set(r.value,i.value)}return{status:t.value,value:e}})}{let e=new Map;for(let n of a){let r=n.key,i=n.value;if(r.status===`aborted`||i.status===`aborted`)return Dc;(r.status===`dirty`||i.status===`dirty`)&&t.dirty(),e.set(r.value,i.value)}return{status:t.value,value:e}}}};Ol.create=(e,t,n)=>new Ol({valueType:t,keyType:e,typeName:Gl.ZodMap,...Lc(n)});var kl=class e extends Rc{_parse(e){let{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==yc.set)return Tc(n,{code:K.invalid_type,expected:yc.set,received:n.parsedType}),Dc;let r=this._def;r.minSize!==null&&n.data.size<r.minSize.value&&(Tc(n,{code:K.too_small,minimum:r.minSize.value,type:`set`,inclusive:!0,exact:!1,message:r.minSize.message}),t.dirty()),r.maxSize!==null&&n.data.size>r.maxSize.value&&(Tc(n,{code:K.too_big,maximum:r.maxSize.value,type:`set`,inclusive:!0,exact:!1,message:r.maxSize.message}),t.dirty());let i=this._def.valueType;function a(e){let n=new Set;for(let r of e){if(r.status===`aborted`)return Dc;r.status===`dirty`&&t.dirty(),n.add(r.value)}return{status:t.value,value:n}}let o=[...n.data.values()].map((e,t)=>i._parse(new Fc(n,e,n.path,t)));return n.common.async?Promise.all(o).then(e=>a(e)):a(o)}min(t,n){return new e({...this._def,minSize:{value:t,message:Pc.toString(n)}})}max(t,n){return new e({...this._def,maxSize:{value:t,message:Pc.toString(n)}})}size(e,t){return this.min(e,t).max(e,t)}nonempty(e){return this.min(1,e)}};kl.create=(e,t)=>new kl({valueType:e,minSize:null,maxSize:null,typeName:Gl.ZodSet,...Lc(t)});var Ree=class e extends Rc{constructor(){super(...arguments),this.validate=this.implement}_parse(e){let{ctx:t}=this._processInputParams(e);if(t.parsedType!==yc.function)return Tc(t,{code:K.invalid_type,expected:yc.function,received:t.parsedType}),Dc;function n(e,n){return wc({data:e,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,Cc(),Sc].filter(e=>!!e),issueData:{code:K.invalid_arguments,argumentsError:n}})}function r(e,n){return wc({data:e,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,Cc(),Sc].filter(e=>!!e),issueData:{code:K.invalid_return_type,returnTypeError:n}})}let i={errorMap:t.common.contextualErrorMap},a=t.data;if(this._def.returns instanceof Fl){let e=this;return kc(async function(...t){let o=new xc([]),s=await e._def.args.parseAsync(t,i).catch(e=>{throw o.addIssue(n(t,e)),o}),c=await Reflect.apply(a,this,s);return await e._def.returns._def.type.parseAsync(c,i).catch(e=>{throw o.addIssue(r(c,e)),o})})}{let e=this;return kc(function(...t){let o=e._def.args.safeParse(t,i);if(!o.success)throw new xc([n(t,o.error)]);let s=Reflect.apply(a,this,o.data),c=e._def.returns.safeParse(s,i);if(!c.success)throw new xc([r(s,c.error)]);return c.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...t){return new e({...this._def,args:El.create(t).rest(hl.create())})}returns(t){return new e({...this._def,returns:t})}implement(e){return this.parse(e)}strictImplement(e){return this.parse(e)}static create(t,n,r){return new e({args:t||El.create([]).rest(hl.create()),returns:n||hl.create(),typeName:Gl.ZodFunction,...Lc(r)})}},Al=class extends Rc{get schema(){return this._def.getter()}_parse(e){let{ctx:t}=this._processInputParams(e);return this._def.getter()._parse({data:t.data,path:t.path,parent:t})}};Al.create=(e,t)=>new Al({getter:e,typeName:Gl.ZodLazy,...Lc(t)});var jl=class extends Rc{_parse(e){if(e.data!==this._def.value){let t=this._getOrReturnCtx(e);return Tc(t,{received:t.data,code:K.invalid_literal,expected:this._def.value}),Dc}return{status:`valid`,value:e.data}}get value(){return this._def.value}};jl.create=(e,t)=>new jl({value:e,typeName:Gl.ZodLiteral,...Lc(t)});function Ml(e,t){return new Nl({values:e,typeName:Gl.ZodEnum,...Lc(t)})}var Nl=class e extends Rc{_parse(e){if(typeof e.data!=`string`){let t=this._getOrReturnCtx(e),n=this._def.values;return Tc(t,{expected:vc.joinValues(n),received:t.parsedType,code:K.invalid_type}),Dc}if(this._cache||=new Set(this._def.values),!this._cache.has(e.data)){let t=this._getOrReturnCtx(e),n=this._def.values;return Tc(t,{received:t.data,code:K.invalid_enum_value,options:n}),Dc}return kc(e.data)}get options(){return this._def.values}get enum(){let e={};for(let t of this._def.values)e[t]=t;return e}get Values(){let e={};for(let t of this._def.values)e[t]=t;return e}get Enum(){let e={};for(let t of this._def.values)e[t]=t;return e}extract(t,n=this._def){return e.create(t,{...this._def,...n})}exclude(t,n=this._def){return e.create(this.options.filter(e=>!t.includes(e)),{...this._def,...n})}};Nl.create=Ml;var Pl=class extends Rc{_parse(e){let t=vc.getValidEnumValues(this._def.values),n=this._getOrReturnCtx(e);if(n.parsedType!==yc.string&&n.parsedType!==yc.number){let e=vc.objectValues(t);return Tc(n,{expected:vc.joinValues(e),received:n.parsedType,code:K.invalid_type}),Dc}if(this._cache||=new Set(vc.getValidEnumValues(this._def.values)),!this._cache.has(e.data)){let e=vc.objectValues(t);return Tc(n,{received:n.data,code:K.invalid_enum_value,options:e}),Dc}return kc(e.data)}get enum(){return this._def.values}};Pl.create=(e,t)=>new Pl({values:e,typeName:Gl.ZodNativeEnum,...Lc(t)});var Fl=class extends Rc{unwrap(){return this._def.type}_parse(e){let{ctx:t}=this._processInputParams(e);return t.parsedType!==yc.promise&&t.common.async===!1?(Tc(t,{code:K.invalid_type,expected:yc.promise,received:t.parsedType}),Dc):kc((t.parsedType===yc.promise?t.data:Promise.resolve(t.data)).then(e=>this._def.type.parseAsync(e,{path:t.path,errorMap:t.common.contextualErrorMap})))}};Fl.create=(e,t)=>new Fl({type:e,typeName:Gl.ZodPromise,...Lc(t)});var Il=class extends Rc{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===Gl.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){let{status:t,ctx:n}=this._processInputParams(e),r=this._def.effect||null,i={addIssue:e=>{Tc(n,e),e.fatal?t.abort():t.dirty()},get path(){return n.path}};if(i.addIssue=i.addIssue.bind(i),r.type===`preprocess`){let e=r.transform(n.data,i);if(n.common.async)return Promise.resolve(e).then(async e=>{if(t.value===`aborted`)return Dc;let r=await this._def.schema._parseAsync({data:e,path:n.path,parent:n});return r.status===`aborted`?Dc:r.status===`dirty`||t.value===`dirty`?Oc(r.value):r});{if(t.value===`aborted`)return Dc;let r=this._def.schema._parseSync({data:e,path:n.path,parent:n});return r.status===`aborted`?Dc:r.status===`dirty`||t.value===`dirty`?Oc(r.value):r}}if(r.type===`refinement`){let e=e=>{let t=r.refinement(e,i);if(n.common.async)return Promise.resolve(t);if(t instanceof Promise)throw Error(`Async refinement encountered during synchronous parse operation. Use .parseAsync instead.`);return e};if(n.common.async===!1){let r=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});return r.status===`aborted`?Dc:(r.status===`dirty`&&t.dirty(),e(r.value),{status:t.value,value:r.value})}return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(n=>n.status===`aborted`?Dc:(n.status===`dirty`&&t.dirty(),e(n.value).then(()=>({status:t.value,value:n.value}))))}if(r.type===`transform`){if(n.common.async===!1){let e=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});if(!Mc(e))return Dc;let a=r.transform(e.value,i);if(a instanceof Promise)throw Error(`Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.`);return{status:t.value,value:a}}return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(e=>Mc(e)?Promise.resolve(r.transform(e.value,i)).then(e=>({status:t.value,value:e})):Dc)}vc.assertNever(r)}};Il.create=(e,t,n)=>new Il({schema:e,typeName:Gl.ZodEffects,effect:t,...Lc(n)}),Il.createWithPreprocess=(e,t,n)=>new Il({schema:t,effect:{type:`preprocess`,transform:e},typeName:Gl.ZodEffects,...Lc(n)});var Ll=class extends Rc{_parse(e){return this._getType(e)===yc.undefined?kc(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};Ll.create=(e,t)=>new Ll({innerType:e,typeName:Gl.ZodOptional,...Lc(t)});var Rl=class extends Rc{_parse(e){return this._getType(e)===yc.null?kc(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};Rl.create=(e,t)=>new Rl({innerType:e,typeName:Gl.ZodNullable,...Lc(t)});var zl=class extends Rc{_parse(e){let{ctx:t}=this._processInputParams(e),n=t.data;return t.parsedType===yc.undefined&&(n=this._def.defaultValue()),this._def.innerType._parse({data:n,path:t.path,parent:t})}removeDefault(){return this._def.innerType}};zl.create=(e,t)=>new zl({innerType:e,typeName:Gl.ZodDefault,defaultValue:typeof t.default==`function`?t.default:()=>t.default,...Lc(t)});var Bl=class extends Rc{_parse(e){let{ctx:t}=this._processInputParams(e),n={...t,common:{...t.common,issues:[]}},r=this._def.innerType._parse({data:n.data,path:n.path,parent:{...n}});return Nc(r)?r.then(e=>({status:`valid`,value:e.status===`valid`?e.value:this._def.catchValue({get error(){return new xc(n.common.issues)},input:n.data})})):{status:`valid`,value:r.status===`valid`?r.value:this._def.catchValue({get error(){return new xc(n.common.issues)},input:n.data})}}removeCatch(){return this._def.innerType}};Bl.create=(e,t)=>new Bl({innerType:e,typeName:Gl.ZodCatch,catchValue:typeof t.catch==`function`?t.catch:()=>t.catch,...Lc(t)});var Vl=class extends Rc{_parse(e){if(this._getType(e)!==yc.nan){let t=this._getOrReturnCtx(e);return Tc(t,{code:K.invalid_type,expected:yc.nan,received:t.parsedType}),Dc}return{status:`valid`,value:e.data}}};Vl.create=e=>new Vl({typeName:Gl.ZodNaN,...Lc(e)});var Hl=class extends Rc{_parse(e){let{ctx:t}=this._processInputParams(e),n=t.data;return this._def.type._parse({data:n,path:t.path,parent:t})}unwrap(){return this._def.type}},Ul=class e extends Rc{_parse(e){let{status:t,ctx:n}=this._processInputParams(e);if(n.common.async)return(async()=>{let e=await this._def.in._parseAsync({data:n.data,path:n.path,parent:n});return e.status===`aborted`?Dc:e.status===`dirty`?(t.dirty(),Oc(e.value)):this._def.out._parseAsync({data:e.value,path:n.path,parent:n})})();{let e=this._def.in._parseSync({data:n.data,path:n.path,parent:n});return e.status===`aborted`?Dc:e.status===`dirty`?(t.dirty(),{status:`dirty`,value:e.value}):this._def.out._parseSync({data:e.value,path:n.path,parent:n})}}static create(t,n){return new e({in:t,out:n,typeName:Gl.ZodPipeline})}},Wl=class extends Rc{_parse(e){let t=this._def.innerType._parse(e),n=e=>(Mc(e)&&(e.value=Object.freeze(e.value)),e);return Nc(t)?t.then(e=>n(e)):n(t)}unwrap(){return this._def.innerType}};Wl.create=(e,t)=>new Wl({innerType:e,typeName:Gl.ZodReadonly,...Lc(t)}),bl.lazycreate;var Gl;(function(e){e.ZodString=`ZodString`,e.ZodNumber=`ZodNumber`,e.ZodNaN=`ZodNaN`,e.ZodBigInt=`ZodBigInt`,e.ZodBoolean=`ZodBoolean`,e.ZodDate=`ZodDate`,e.ZodSymbol=`ZodSymbol`,e.ZodUndefined=`ZodUndefined`,e.ZodNull=`ZodNull`,e.ZodAny=`ZodAny`,e.ZodUnknown=`ZodUnknown`,e.ZodNever=`ZodNever`,e.ZodVoid=`ZodVoid`,e.ZodArray=`ZodArray`,e.ZodObject=`ZodObject`,e.ZodUnion=`ZodUnion`,e.ZodDiscriminatedUnion=`ZodDiscriminatedUnion`,e.ZodIntersection=`ZodIntersection`,e.ZodTuple=`ZodTuple`,e.ZodRecord=`ZodRecord`,e.ZodMap=`ZodMap`,e.ZodSet=`ZodSet`,e.ZodFunction=`ZodFunction`,e.ZodLazy=`ZodLazy`,e.ZodLiteral=`ZodLiteral`,e.ZodEnum=`ZodEnum`,e.ZodEffects=`ZodEffects`,e.ZodNativeEnum=`ZodNativeEnum`,e.ZodOptional=`ZodOptional`,e.ZodNullable=`ZodNullable`,e.ZodDefault=`ZodDefault`,e.ZodCatch=`ZodCatch`,e.ZodPromise=`ZodPromise`,e.ZodBranded=`ZodBranded`,e.ZodPipeline=`ZodPipeline`,e.ZodReadonly=`ZodReadonly`})(Gl||={});var Kl=al.create;sl.create,Vl.create,cl.create,ll.create,ul.create,dl.create,fl.create,pl.create,ml.create;var ql=hl.create;gl.create,_l.create,vl.create;var Jl=bl.create;bl.strictCreate,xl.create,Cl.create,Tl.create,El.create,Dl.create,Ol.create,kl.create,Ree.create,Al.create,jl.create;var Yl=Nl.create;Pl.create,Fl.create,Il.create,Ll.create,Rl.create,Il.createWithPreprocess,Ul.create;var Xl=cc({name:`Text`,schema:Jl({text:Da.DynamicString,variant:Yl([`h1`,`h2`,`h3`,`h4`,`h5`,`caption`,`body`]).optional()})},({props:e})=>{let t=e.text??``;switch(e.variant){case`h1`:return(0,v.jsx)(`h1`,{children:t});case`h2`:return(0,v.jsx)(`h2`,{children:t});case`h3`:return(0,v.jsx)(`h3`,{children:t});case`h4`:return(0,v.jsx)(`h4`,{children:t});case`h5`:return(0,v.jsx)(`h5`,{children:t});case`caption`:return(0,v.jsx)(`small`,{children:t});default:return(0,v.jsx)(`span`,{children:t})}}),Zl=cc({name:`Button`,schema:Jl({child:Da.ComponentId,action:Da.Action,variant:Yl([`primary`,`borderless`]).optional()})},({props:e,buildChild:t})=>(0,v.jsx)(`button`,{style:{padding:`8px 16px`,cursor:`pointer`,border:e.variant===`borderless`?`none`:`1px solid #ccc`,backgroundColor:e.variant===`primary`?`#007bff`:`transparent`,color:e.variant===`primary`?`#fff`:`inherit`,borderRadius:`4px`},onClick:e.action,children:e.child?t(e.child):null})),Ql=({childList:e,buildChild:t})=>Array.isArray(e)?(0,v.jsx)(v.Fragment,{children:e.map((e,n)=>{if(e&&typeof e==`object`&&`id`in e){let r=e;return(0,v.jsx)(g.Fragment,{children:t(r.id,r.basePath)},`${r.id}-${n}`)}return typeof e==`string`?(0,v.jsx)(g.Fragment,{children:t(e)},`${e}-${n}`):null})}):null,$l=Jl({children:Da.ChildList,justify:Yl([`center`,`end`,`spaceAround`,`spaceBetween`,`spaceEvenly`,`start`,`stretch`]).optional(),align:Yl([`start`,`center`,`end`,`stretch`]).optional()}),eu=e=>{switch(e){case`center`:return`center`;case`end`:return`flex-end`;case`spaceAround`:return`space-around`;case`spaceBetween`:return`space-between`;case`spaceEvenly`:return`space-evenly`;case`start`:return`flex-start`;case`stretch`:return`stretch`;default:return`flex-start`}},tu=e=>{switch(e){case`start`:return`flex-start`;case`center`:return`center`;case`end`:return`flex-end`;case`stretch`:return`stretch`;default:return`stretch`}},nu=cc({name:`Row`,schema:$l},({props:e,buildChild:t})=>(0,v.jsx)(`div`,{style:{display:`flex`,flexDirection:`row`,justifyContent:eu(e.justify),alignItems:tu(e.align)},children:(0,v.jsx)(Ql,{childList:e.children,buildChild:t})})),ru=Jl({children:Da.ChildList,justify:Yl([`start`,`center`,`end`,`spaceBetween`,`spaceAround`,`spaceEvenly`,`stretch`]).optional(),align:Yl([`center`,`end`,`start`,`stretch`]).optional()}),iu=e=>{switch(e){case`center`:return`center`;case`end`:return`flex-end`;case`spaceAround`:return`space-around`;case`spaceBetween`:return`space-between`;case`spaceEvenly`:return`space-evenly`;case`start`:return`flex-start`;case`stretch`:return`stretch`;default:return`flex-start`}},au=e=>{switch(e){case`start`:return`flex-start`;case`center`:return`center`;case`end`:return`flex-end`;case`stretch`:return`stretch`;default:return`stretch`}};new Kt(`https://a2ui.org/specification/v0_9/catalogs/minimal/minimal_catalog.json`,[Xl,Zl,nu,cc({name:`Column`,schema:ru},({props:e,buildChild:t})=>(0,v.jsx)(`div`,{style:{display:`flex`,flexDirection:`column`,justifyContent:iu(e.justify),alignItems:au(e.align),gap:`8px`},children:(0,v.jsx)(Ql,{childList:e.children,buildChild:t})})),cc({name:`TextField`,schema:Jl({label:Da.DynamicString,value:Da.DynamicString,variant:Yl([`longText`,`number`,`shortText`,`obscured`]).optional(),validationRegexp:Kl().optional()})},({props:e,context:t})=>{let n=t=>{e.setValue&&e.setValue(t.target.value)},r=e.variant===`longText`,i=e.variant===`number`?`number`:e.variant===`obscured`?`password`:`text`,a={padding:`8px`,width:`100%`,border:`1px solid #ccc`,borderRadius:`4px`,boxSizing:`border-box`},o=`textfield-${t.componentModel.id}`;return(0,v.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,gap:`4px`,width:`100%`},children:[e.label&&(0,v.jsx)(`label`,{htmlFor:o,style:{fontSize:`14px`,fontWeight:`bold`},children:e.label}),r?(0,v.jsx)(`textarea`,{id:o,style:a,value:e.value||``,onChange:n}):(0,v.jsx)(`input`,{id:o,type:i,style:a,value:e.value||``,onChange:n})]})})],[Gt({name:`capitalize`,returnType:`string`,schema:Jl({value:ql()})},e=>{let t=e.value;return typeof t==`string`?t.toUpperCase():t})]);var ou=(0,g.createContext)(null),su=(0,g.createContext)(null);function cu({onAction:e,theme:t,catalog:n,children:r}){let i=(0,g.useRef)(e??null);i.current=e??null;let a=(0,g.useRef)(null);a.current||=new ca([n??hc],e=>{if(i.current){let t={userAction:{name:e?.name??`unknown`,surfaceId:e?.surfaceId??`default`,sourceComponentId:e?.sourceComponentId,context:e?.context,timestamp:e?.timestamp??new Date().toISOString()}};i.current(t)}});let o=a.current,[s,c]=(0,g.useState)(0),[l,u]=(0,g.useState)(null),d=(0,g.useRef)(null);d.current||={processMessages:e=>{try{o.processMessages(e)}catch(e){console.warn(`[A2UI] processMessages error:`,e),u(e instanceof Error?e.message:String(e));return}u(null),c(e=>e+1)},dispatch:e=>{i.current&&i.current(e)},getSurface:e=>o.model.getSurface(e),clearSurfaces:()=>{let e=o.model.surfacesMap;for(let[t]of e)o.processMessages([{version:`v0.9`,deleteSurface:{surfaceId:t}}]);c(e=>e+1)}};let f=d.current,p=(0,g.useMemo)(()=>({version:s,error:l}),[s,l]);return(0,v.jsx)(ou.Provider,{value:f,children:(0,v.jsx)(su.Provider,{value:p,children:(0,v.jsx)(Aee,{theme:t,children:r})})})}function lu(){let e=(0,g.useContext)(ou);if(!e)throw Error(`useA2UIActions must be used within an A2UIProvider`);return e}function uu(){let e=(0,g.useContext)(su);if(!e)throw Error(`useA2UIState must be used within an A2UIProvider`);return e}function du(){let e=lu(),t=uu();return{processMessages:e.processMessages,getSurface:e.getSurface,clearSurfaces:e.clearSurfaces,version:t.version}}function fu(...e){return c(e)}var pu=(0,g.memo)(function(){return(0,v.jsx)(`div`,{className:`a2ui-loading`,style:{padding:`16px`,opacity:.5},children:`Loading...`})}),mu=(0,g.memo)(function({surfaceId:e,className:t,fallback:n=null,loadingFallback:r}){let{getSurface:i,version:a}=du(),o=i(e);if(!o)return(0,v.jsx)(v.Fragment,{children:n});let s=r??(0,v.jsx)(pu,{});return(0,v.jsx)(`div`,{className:fu(`a2ui-surface`,t),"data-surface-id":e,"data-version":a,children:(0,v.jsx)(g.Suspense,{fallback:s,children:(0,v.jsx)(jee,{surface:o})})})}),hu=`https://a2ui.org/specification/v0_9/basic_catalog.json`,gu=`A2UI Component Schema — available components for generating UI surfaces. Use these component names and properties when creating A2UI operations.`;function _u(e){for(let t of hc.components.keys())if(!e.components.has(t))return!1;return!0}function vu(e){let t=[];for(let n of e.components.keys())hc.components.has(n)||t.push(n);return t}function yu(e){let t=e??hc,n=[];if(n.push(`Available A2UI catalog:`),t.id===hu)return n.push(`- ${t.id} (basic catalog)`),n.join(`
|
|
6
|
+
`);let r=_u(t),i=vu(t);n.push(`- ${t.id}`),r?n.push(` Extends the basic catalog with all standard components plus:`):(n.push(` Custom catalog (does NOT include all basic components).`),n.push(` Custom components:`));for(let e of i){let r=t.components.get(e);if(!r)continue;let i=sa(r.schema);n.push(` - ${e}:`),n.push(` ${JSON.stringify(i,null,2).split(`
|
|
7
|
+
`).join(`
|
|
8
|
+
`)}`)}return n.join(`
|
|
9
|
+
`)}function bu(e,t){return typeof t==`function`?t(e):t}var xu=F()(e=>({sidebarOpen:!0,mobileSidebarOpen:!1,mobileActionsOpen:!1,workspacePanelOpen:!1,workspacePanelWidth:820,workspacePanelFullscreen:!1,input:``,attachments:[],previewAttachment:null,previewImageSize:null,queuedDrafts:[],toasts:[],toggleSidebar:()=>e(e=>({sidebarOpen:!e.sidebarOpen})),setSidebarOpen:t=>e({sidebarOpen:t}),toggleMobileSidebar:()=>e(e=>({mobileSidebarOpen:!e.mobileSidebarOpen})),setMobileSidebarOpen:t=>e({mobileSidebarOpen:t}),toggleMobileActions:()=>e(e=>({mobileActionsOpen:!e.mobileActionsOpen})),setMobileActionsOpen:t=>e({mobileActionsOpen:t}),setWorkspacePanelOpen:t=>e({workspacePanelOpen:t}),setWorkspacePanelWidth:t=>e({workspacePanelWidth:t}),setWorkspacePanelFullscreen:t=>e({workspacePanelFullscreen:t}),setInput:t=>e({input:t}),setAttachments:t=>e(e=>({attachments:bu(e.attachments,t)})),setPreviewAttachment:t=>e({previewAttachment:t}),setPreviewImageSize:t=>e({previewImageSize:t}),setQueuedDrafts:t=>e(e=>({queuedDrafts:bu(e.queuedDrafts,t)})),pushToast:(t,n=`info`)=>e(e=>({toasts:[...e.toasts,{id:String(Date.now()+Math.random()),message:t,variant:n,createdAt:Date.now()}]})),dismissToast:t=>e(e=>({toasts:e.toasts.filter(e=>e.id!==t)}))})),Su=e=>Object.keys(e).length>0,Cu={runId:null,status:null,items:[]},wu=new w,Tu=(e,t)=>{let n={...e};return delete n[t],n},Eu=F()((e,t)=>({isStreaming:!1,currentRunId:``,stopRequested:!1,activity:null,sessionActivities:{},sessionStreaming:{},banner:null,lastSeqId:0,activeInvocationId:``,runtimeItems:Cu,setStreaming:t=>e({isStreaming:t}),setBanner:t=>e({banner:t?{...t,createdAt:Date.now()}:null}),setLastSeqId:t=>e({lastSeqId:t}),setActiveInvocationId:t=>e({activeInvocationId:t}),setSessionStreaming:(t,n)=>e(e=>{let r=String(t||``),i=Tu(e.sessionStreaming,r),a=n?{...i,[r]:!0}:i;return{sessionStreaming:a,isStreaming:Su(a)}}),isSessionStreaming:e=>{let n=String(e||``);return!!t().sessionStreaming[n]},getSessionActivity:e=>{let n=String(e||``);return n&&t().sessionActivities[n]||null},setCurrentRunId:t=>e({currentRunId:t}),requestStop:()=>e({stopRequested:!0}),beginActivity:t=>e({stopRequested:!1,activity:{runId:t.runId,source:t.source||`run`,status:t.status||`running`,phase:t.phase,detail:t.detail,startedAt:Date.now(),lastEventAt:Date.now(),eventCount:0}}),updateActivity:t=>e(e=>{let n=String(t.sessionId||``),r=n?e.sessionActivities[n]:e.activity,i=r?{...r,runId:t.runId||r.runId,source:t.source||r.source,status:t.status||r.status,phase:t.phase||r.phase,detail:t.detail===void 0?r.detail:t.detail,lastEventAt:Date.now(),eventCount:r.eventCount+(t.countEvent===!1?0:1)}:{runId:t.runId,source:t.source||`run`,status:t.status||`running`,phase:t.phase||`正在运行`,detail:t.detail,startedAt:Date.now(),lastEventAt:Date.now(),eventCount:t.countEvent===!1?0:1};return n?{isStreaming:Su(e.sessionStreaming),sessionActivities:{...e.sessionActivities,[n]:i},...t.visible===!1?{}:{activity:i}}:{...t.visible===!1?{}:{activity:i}}}),stopActivity:t=>e(e=>({isStreaming:!1,stopRequested:!0,activity:e.activity?{...e.activity,status:`stopped`,phase:`已断开输出流`,detail:t||`前端已断开本次输出流;后台运行可稍后通过会话记录继续查看。`,lastEventAt:Date.now()}:null})),stopSessionActivity:(t,n,r=!0)=>e(e=>{let i=String(t||``);if(!i)return{};let a=e.sessionActivities[i];if(!a)return{};let o={...a,status:`stopped`,phase:`已断开输出流`,detail:n||`前端已断开本次输出流;后台运行可稍后通过会话记录继续查看。`,lastEventAt:Date.now()},s={...e.sessionActivities,[i]:o},c=Tu(e.sessionStreaming,i);return{isStreaming:Su(c),...r?{activity:o,stopRequested:!0}:{},sessionActivities:s,sessionStreaming:c}}),clearActivity:()=>e({activity:null}),clearSessionActivity:t=>e(e=>{let n=String(t||``);if(!n)return{};let{[n]:r,...i}=e.sessionActivities,a=Tu(e.sessionStreaming,n);return{sessionActivities:i,sessionStreaming:a,isStreaming:Su(a),activity:e.activity===r?null:e.activity}}),applyRuntimeItemOperations:t=>{wu.applyAll(t),e({runtimeItems:wu.snapshot()})},resetRun:()=>{wu=new w,e({isStreaming:!1,currentRunId:``,stopRequested:!1,activity:null,sessionActivities:{},sessionStreaming:{},lastSeqId:0,activeInvocationId:``,runtimeItems:Cu})}}));function Du(e,t){let n=new Map;for(let t of e)t?.id&&n.set(t.id,t);for(let e of t)e?.id&&n.set(e.id,{...n.get(e.id)||{},...e});return Array.from(n.values()).sort((e,t)=>e.id.localeCompare(t.id))}var Ou=F()(e=>({availableModels:[],selectedModel:``,modelSource:``,modelCatalogLoaded:!1,thinkingMode:`auto`,upsertModels:t=>e(e=>({availableModels:Du(e.availableModels,t)})),setSelectedModel:t=>e({selectedModel:t}),setModelSource:t=>e({modelSource:t}),setModelCatalogLoaded:t=>e({modelCatalogLoaded:t}),setThinkingMode:t=>e({thinkingMode:t}),resetCatalog:()=>e({availableModels:[],selectedModel:``,modelSource:``,modelCatalogLoaded:!1})})),ku=new class{initialized=!1;scope;blocked=!1;enter(e){if(e!==void 0&&!e.trim())throw Error(`authorizationScopeKey must be non-empty`);return this.blocked?`reload`:this.initialized&&this.scope!==e?(this.blocked=!0,`reload`):(this.initialized=!0,this.scope=e,`ready`)}matches(e){return this.initialized&&!this.blocked&&this.scope===e}key(e){return this.scope===void 0?e:`ksadk:authorization:${encodeURIComponent(this.scope)}:${e}`}get writable(){return!this.blocked}};function Au(e=new Set,t=[]){let n=new Set(e);for(let e of t){let t=Number(e);Number.isFinite(t)&&t>0&&n.add(t)}return new Set(Array.from(n).sort((e,t)=>e-t))}function ju({sessionsLength:e=0,total:t=0,page:n=0,pageSize:r=30,loadedPages:i=new Set}={}){let a=Math.max(0,Number(t)||0),o=Math.max(0,Number(e)||0);return{total:a,page:Math.max(0,Number(n)||0),pageSize:Math.max(1,Number(r)||30),loadedPages:Au(i),hasMore:o<a}}function Mu({total:e=0,pageSize:t=30,loadedPages:n=new Set}={}){let r=Math.max(0,Number(e)||0),i=Math.max(1,Number(t)||30);if(r<=0)return null;let a=Math.ceil(r/i);for(let e=1;e<=a;e+=1)if(!n.has(e))return e;return null}function Nu(e){let t=e.UpdatedAt;if(typeof t==`string`){let e=Date.parse(t);return Number.isNaN(e)?0:e}return typeof t==`number`&&Number.isFinite(t)?t>1e11?t:t*1e3:0}var Pu=`ksadk.pinnedSessionIds`;function Fu(){try{let e=globalThis.localStorage?.getItem(ku.key(Pu)),t=e?JSON.parse(e):[];return Array.isArray(t)?t.filter(e=>typeof e==`string`):[]}catch{return[]}}function Iu(e){if(ku.writable)try{globalThis.localStorage?.setItem(ku.key(Pu),JSON.stringify(e))}catch{}}function Lu(e,t){let n=new Set(t);return e.slice().sort((e,t)=>{let r=+!!n.has(e.SessionId),i=+!!n.has(t.SessionId);return r===i?Nu(t)-Nu(e):i-r})}function Ru(e,t,n){let r=new Map;for(let t of e)t?.SessionId&&r.set(t.SessionId,t);for(let e of t)e?.SessionId&&r.set(e.SessionId,{...r.get(e.SessionId)||{},...e});return Lu(Array.from(r.values()),n)}var zu=F()(e=>({sessions:[],currentSessionId:null,sessionsAgentId:``,sessionsGeneration:0,sessionsTotal:0,sessionsPage:0,sessionsPageSize:30,loadedPages:new Set,hasMoreSessions:!1,isLoadingSessions:!0,pinnedSessionIds:Fu(),messageHistory:{},setSessions:t=>e(e=>({sessions:Lu(t,e.pinnedSessionIds)})),setCurrentSessionId:t=>e({currentSessionId:t}),upsertSessions:(t,n)=>e(e=>{let r=Ru(n?.replace?[]:e.sessions,t,e.pinnedSessionIds),i=n?.page??e.sessionsPage,a=n?.pageSize??e.sessionsPageSize,o=n?.total??Math.max(e.sessionsTotal,r.length),s=n?.replace?Au(new Set,[i]):Au(e.loadedPages,[i]),c=ju({sessionsLength:r.length,total:o,page:i,pageSize:a,loadedPages:s});return{sessions:r,sessionsAgentId:n?.agentId??e.sessionsAgentId,sessionsTotal:c.total,sessionsPage:c.page,sessionsPageSize:c.pageSize,loadedPages:c.loadedPages,hasMoreSessions:c.hasMore}}),removeSession:t=>e(e=>{let n=e.sessions.filter(e=>e.SessionId!==t),r=Math.max(0,e.sessionsTotal-1);return{sessions:n,sessionsTotal:r,hasMoreSessions:ju({sessionsLength:n.length,total:r,page:e.sessionsPage,pageSize:e.sessionsPageSize,loadedPages:e.loadedPages}).hasMore,pinnedSessionIds:e.pinnedSessionIds.filter(e=>e!==t)}}),setLoadingSessions:t=>e({isLoadingSessions:t}),resetSessionPagination:t=>e(e=>({sessionsGeneration:e.sessionsGeneration+1,sessions:[],sessionsAgentId:t,sessionsTotal:0,sessionsPage:0,loadedPages:new Set,hasMoreSessions:!1,isLoadingSessions:!1})),togglePinnedSession:t=>e(e=>{let n=new Set(e.pinnedSessionIds);n.has(t)?n.delete(t):n.add(t);let r=Array.from(n);return Iu(r),{pinnedSessionIds:r,sessions:Lu(e.sessions,r)}}),setSessionMessageHistory:(t,n)=>e(e=>({messageHistory:{...e.messageHistory,[t]:{...e.messageHistory[t],...n,nextCursor:n.nextCursor,hasMore:n.hasMore,isLoadingInitial:!1,isLoadingOlder:n.isLoadingOlder??!1}}})),setSessionInitialMessageHistoryLoading:(t,n)=>e(e=>{let r=e.messageHistory[t];return{messageHistory:{...e.messageHistory,[t]:{...r,nextCursor:r?.nextCursor??null,hasMore:r?.hasMore??!1,isLoadingInitial:n,isLoadingOlder:r?.isLoadingOlder??!1}}}}),setSessionMessageHistoryLoading:(t,n)=>e(e=>{let r=e.messageHistory[t];return r?{messageHistory:{...e.messageHistory,[t]:{...r,isLoadingOlder:n}}}:{}}),clearSessionMessageHistory:t=>e(e=>{if(!t)return{messageHistory:{}};let n={...e.messageHistory};return delete n[t],{messageHistory:n}})}));function Bu(e){let t=typeof e==`object`&&e?e.components:null,n=Array.isArray(t)?t:[],r=[];for(let e of n)typeof e==`object`&&e&&typeof e.id==`string`&&r.push(e.id);return r.sort()}function Vu(e){let t=Bu(e).join(`|`),n=2166136261,r=16777619;for(let e=0;e<t.length;e+=1){let i=t.charCodeAt(e);n=(n^i)>>>0,n=Math.imul(n,16777619)>>>0,r=r+Math.imul(i+e,2246822507)>>>0}return`fnv1a-${n.toString(16)}-${r.toString(16)}`}function Hu(e,t){if(!e)return Uu(null);if(e.wireVersion!==`0.9.1`||!e.messages||e.messages.length===0)return Uu(e);if(e.catalogDigest){let n=Vu(t);if(e.catalogDigest!==n)return`json-schema-form`}return`a2ui`}function Uu(e){return e&&Wu(e)?`json-schema-form`:`basic-controls`}function Wu(e){return e.messages.some(e=>{let t=e.inputSchema??e.input_schema??e.schema;return typeof t==`object`&&!!t})}var Gu=new Set([`resolved`,`cancelled`,`expired`]);function Ku(e){return Gu.has(e)}function qu(e,t){return`interaction:${e}:revision-${t}`}function Ju(e,t){let n=t.approved;if(typeof n==`boolean`)return n?`已同意`:`已拒绝`;let r=Object.keys(t);return r.length===0?e===`approve`?`已同意`:e===`reject`?`已拒绝`:e===`cancel`?`已取消`:`已提交`:`${e}(${r.slice(0,3).map(e=>{let n=t[e];return`${e}=${typeof n==`string`?n.length>24?`${n.slice(0,24)}…`:n:typeof n==`object`&&n?`[object]`:String(n)}`}).join(`, `)})`}var Yu=hc,Xu={description:gu,value:yu(Yu)};function Zu(e){return e.map(e=>{let t=e.updateComponents;if(!t||typeof t!=`object`||Array.isArray(t))return e;let n=t.components;if(!Array.isArray(n))return e;let r=n.filter(e=>!!(e&&typeof e==`object`&&!Array.isArray(e)));if(r.some(e=>e.id===`root`))return e;let i=r.filter(e=>typeof e.id==`string`&&e.id.endsWith(`-root`));if(i.length!==1)return e;let a=i[0];return{...e,updateComponents:{...t,components:n.map(e=>e===a?{...a,id:`root`}:e)}}})}function Qu(e){for(let t of e){let e=t.updateComponents?.components;if(!Array.isArray(e)||!e.some(e=>e.component===`Form`&&e.id===`form`))continue;let n=e.filter(e=>e.component===`MultipleChoice`);if(n.length)return n.map(e=>String(e.description||e.label||e.id))}return null}var $u=(e,t)=>{let n=Array(e.length+t.length);for(let t=0;t<e.length;t++)n[t]=e[t];for(let r=0;r<t.length;r++)n[e.length+r]=t[r];return n},ed=(e,t)=>({classGroupId:e,validator:t}),td=(e=new Map,t=null,n)=>({nextPart:e,validators:t,classGroupId:n}),nd=`-`,rd=[],id=`arbitrary..`,ad=e=>{let t=cd(e),{conflictingClassGroups:n,conflictingClassGroupModifiers:r}=e;return{getClassGroupId:e=>{if(e.startsWith(`[`)&&e.endsWith(`]`))return sd(e);let n=e.split(nd);return od(n,+(n[0]===``&&n.length>1),t)},getConflictingClassGroupIds:(e,t)=>{if(t){let t=r[e],i=n[e];return t?i?$u(i,t):t:i||rd}return n[e]||rd}}},od=(e,t,n)=>{if(e.length-t===0)return n.classGroupId;let r=e[t],i=n.nextPart.get(r);if(i){let n=od(e,t+1,i);if(n)return n}let a=n.validators;if(a===null)return;let o=t===0?e.join(nd):e.slice(t).join(nd),s=a.length;for(let e=0;e<s;e++){let t=a[e];if(t.validator(o))return t.classGroupId}},sd=e=>e.slice(1,-1).indexOf(`:`)===-1?void 0:(()=>{let t=e.slice(1,-1),n=t.indexOf(`:`),r=t.slice(0,n);return r?id+r:void 0})(),cd=e=>{let{theme:t,classGroups:n}=e;return ld(n,t)},ld=(e,t)=>{let n=td();for(let r in e){let i=e[r];ud(i,n,r,t)}return n},ud=(e,t,n,r)=>{let i=e.length;for(let a=0;a<i;a++){let i=e[a];dd(i,t,n,r)}},dd=(e,t,n,r)=>{if(typeof e==`string`){fd(e,t,n);return}if(typeof e==`function`){pd(e,t,n,r);return}md(e,t,n,r)},fd=(e,t,n)=>{let r=e===``?t:hd(t,e);r.classGroupId=n},pd=(e,t,n,r)=>{if(gd(e)){ud(e(r),t,n,r);return}t.validators===null&&(t.validators=[]),t.validators.push(ed(n,e))},md=(e,t,n,r)=>{let i=Object.entries(e),a=i.length;for(let e=0;e<a;e++){let[a,o]=i[e];ud(o,hd(t,a),n,r)}},hd=(e,t)=>{let n=e,r=t.split(nd),i=r.length;for(let e=0;e<i;e++){let t=r[e],i=n.nextPart.get(t);i||(i=td(),n.nextPart.set(t,i)),n=i}return n},gd=e=>`isThemeGetter`in e&&e.isThemeGetter===!0,_d=e=>{if(e<1)return{get:()=>void 0,set:()=>{}};let t=0,n=Object.create(null),r=Object.create(null),i=(i,a)=>{n[i]=a,t++,t>e&&(t=0,r=n,n=Object.create(null))};return{get(e){let t=n[e];if(t!==void 0)return t;if((t=r[e])!==void 0)return i(e,t),t},set(e,t){e in n?n[e]=t:i(e,t)}}},vd=`!`,yd=`:`,bd=[],xd=(e,t,n,r,i)=>({modifiers:e,hasImportantModifier:t,baseClassName:n,maybePostfixModifierPosition:r,isExternal:i}),Sd=e=>{let{prefix:t,experimentalParseClassName:n}=e,r=e=>{let t=[],n=0,r=0,i=0,a,o=e.length;for(let s=0;s<o;s++){let o=e[s];if(n===0&&r===0){if(o===yd){t.push(e.slice(i,s)),i=s+1;continue}if(o===`/`){a=s;continue}}o===`[`?n++:o===`]`?n--:o===`(`?r++:o===`)`&&r--}let s=t.length===0?e:e.slice(i),c=s,l=!1;s.endsWith(vd)?(c=s.slice(0,-1),l=!0):s.startsWith(vd)&&(c=s.slice(1),l=!0);let u=a&&a>i?a-i:void 0;return xd(t,l,c,u)};if(t){let e=t+yd,n=r;r=t=>t.startsWith(e)?n(t.slice(e.length)):xd(bd,!1,t,void 0,!0)}if(n){let e=r;r=t=>n({className:t,parseClassName:e})}return r},Cd=e=>{let t=new Map;return e.orderSensitiveModifiers.forEach((e,n)=>{t.set(e,1e6+n)}),e=>{let n=[],r=[];for(let i=0;i<e.length;i++){let a=e[i],o=a[0]===`[`,s=t.has(a);o||s?(r.length>0&&(r.sort(),n.push(...r),r=[]),n.push(a)):r.push(a)}return r.length>0&&(r.sort(),n.push(...r)),n}},wd=e=>({cache:_d(e.cacheSize),parseClassName:Sd(e),sortModifiers:Cd(e),postfixLookupClassGroupIds:Td(e),...ad(e)}),Td=e=>{let t=Object.create(null),n=e.postfixLookupClassGroups;if(n)for(let e=0;e<n.length;e++)t[n[e]]=!0;return t},Ed=/\s+/,Dd=(e,t)=>{let{parseClassName:n,getClassGroupId:r,getConflictingClassGroupIds:i,sortModifiers:a,postfixLookupClassGroupIds:o}=t,s=[],c=e.trim().split(Ed),l=``;for(let e=c.length-1;e>=0;--e){let t=c[e],{isExternal:u,modifiers:d,hasImportantModifier:f,baseClassName:p,maybePostfixModifierPosition:m}=n(t);if(u){l=t+(l.length>0?` `+l:l);continue}let h=!!m,g;if(h){g=r(p.substring(0,m));let e=g&&o[g]?r(p):void 0;e&&e!==g&&(g=e,h=!1)}else g=r(p);if(!g){if(!h){l=t+(l.length>0?` `+l:l);continue}if(g=r(p),!g){l=t+(l.length>0?` `+l:l);continue}h=!1}let _=d.length===0?``:d.length===1?d[0]:a(d).join(`:`),v=f?_+vd:_,y=v+g;if(s.indexOf(y)>-1)continue;s.push(y);let b=i(g,h);for(let e=0;e<b.length;++e){let t=b[e];s.push(v+t)}l=t+(l.length>0?` `+l:l)}return l},Od=(...e)=>{let t=0,n,r,i=``;for(;t<e.length;)(n=e[t++])&&(r=kd(n))&&(i&&(i+=` `),i+=r);return i},kd=e=>{if(typeof e==`string`)return e;let t,n=``;for(let r=0;r<e.length;r++)e[r]&&(t=kd(e[r]))&&(n&&(n+=` `),n+=t);return n},Ad=(e,...t)=>{let n,r,i,a,o=o=>(n=wd(t.reduce((e,t)=>t(e),e())),r=n.cache.get,i=n.cache.set,a=s,s(o)),s=e=>{let t=r(e);if(t)return t;let a=Dd(e,n);return i(e,a),a};return a=o,(...e)=>a(Od(...e))},jd=[],Md=e=>{let t=t=>t[e]||jd;return t.isThemeGetter=!0,t},Nd=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,Pd=/^\((?:(\w[\w-]*):)?(.+)\)$/i,Fd=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,Id=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,Ld=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,Rd=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,zd=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,Bd=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,Vd=e=>Fd.test(e),Hd=e=>!!e&&!Number.isNaN(Number(e)),Ud=e=>!!e&&Number.isInteger(Number(e)),Wd=e=>e.endsWith(`%`)&&Hd(e.slice(0,-1)),Gd=e=>Id.test(e),Kd=()=>!0,zee=e=>Ld.test(e)&&!Rd.test(e),qd=()=>!1,Bee=e=>zd.test(e),Vee=e=>Bd.test(e),Hee=e=>!Jd(e)&&!nf(e),Uee=e=>e.startsWith(`@container`)&&(e[10]===`/`&&e[11]!==void 0||e[11]===`s`&&e[16]!==void 0&&e.startsWith(`-size/`,10)||e[11]===`n`&&e[18]!==void 0&&e.startsWith(`-normal/`,10)),Wee=e=>df(e,hf,qd),Jd=e=>Nd.test(e),Yd=e=>df(e,gf,zee),Xd=e=>df(e,_f,Hd),Zd=e=>df(e,yf,Kd),Qd=e=>df(e,vf,qd),$d=e=>df(e,pf,qd),ef=e=>df(e,mf,Vee),tf=e=>df(e,bf,Bee),nf=e=>Pd.test(e),rf=e=>ff(e,gf),af=e=>ff(e,vf),of=e=>ff(e,pf),sf=e=>ff(e,hf),cf=e=>ff(e,mf),lf=e=>ff(e,bf,!0),uf=e=>ff(e,yf,!0),df=(e,t,n)=>{let r=Nd.exec(e);return r?r[1]?t(r[1]):n(r[2]):!1},ff=(e,t,n=!1)=>{let r=Pd.exec(e);return r?r[1]?t(r[1]):n:!1},pf=e=>e===`position`||e===`percentage`,mf=e=>e===`image`||e===`url`,hf=e=>e===`length`||e===`size`||e===`bg-size`,gf=e=>e===`length`,_f=e=>e===`number`,vf=e=>e===`family-name`,yf=e=>e===`number`||e===`weight`,bf=e=>e===`shadow`,xf=Ad(()=>{let e=Md(`color`),t=Md(`font`),n=Md(`text`),r=Md(`font-weight`),i=Md(`tracking`),a=Md(`leading`),o=Md(`breakpoint`),s=Md(`container`),c=Md(`spacing`),l=Md(`radius`),u=Md(`shadow`),d=Md(`inset-shadow`),f=Md(`text-shadow`),p=Md(`drop-shadow`),m=Md(`blur`),h=Md(`perspective`),g=Md(`aspect`),_=Md(`ease`),v=Md(`animate`),y=()=>[`auto`,`avoid`,`all`,`avoid-page`,`page`,`left`,`right`,`column`],b=()=>[`center`,`top`,`bottom`,`left`,`right`,`top-left`,`left-top`,`top-right`,`right-top`,`bottom-right`,`right-bottom`,`bottom-left`,`left-bottom`],x=()=>[...b(),nf,Jd],S=()=>[`auto`,`hidden`,`clip`,`visible`,`scroll`],C=()=>[`auto`,`contain`,`none`],w=()=>[nf,Jd,c],T=()=>[Vd,`full`,`auto`,...w()],E=()=>[Ud,`none`,`subgrid`,nf,Jd],D=()=>[`auto`,{span:[`full`,Ud,nf,Jd]},Ud,nf,Jd],O=()=>[Ud,`auto`,nf,Jd],k=()=>[`auto`,`min`,`max`,`fr`,nf,Jd],A=()=>[`start`,`end`,`center`,`between`,`around`,`evenly`,`stretch`,`baseline`,`center-safe`,`end-safe`],j=()=>[`start`,`end`,`center`,`stretch`,`center-safe`,`end-safe`],M=()=>[`auto`,...w()],N=()=>[Vd,`auto`,`full`,`dvw`,`dvh`,`lvw`,`lvh`,`svw`,`svh`,`min`,`max`,`fit`,...w()],P=()=>[Vd,`screen`,`full`,`dvw`,`lvw`,`svw`,`min`,`max`,`fit`,...w()],F=()=>[Vd,`screen`,`full`,`lh`,`dvh`,`lvh`,`svh`,`min`,`max`,`fit`,...w()],I=()=>[e,nf,Jd],ee=()=>[...b(),of,$d,{position:[nf,Jd]}],L=()=>[`no-repeat`,{repeat:[``,`x`,`y`,`space`,`round`]}],te=()=>[`auto`,`cover`,`contain`,sf,Wee,{size:[nf,Jd]}],R=()=>[Wd,rf,Yd],z=()=>[``,`none`,`full`,l,nf,Jd],ne=()=>[``,Hd,rf,Yd],re=()=>[`solid`,`dashed`,`dotted`,`double`],ie=()=>[`normal`,`multiply`,`screen`,`overlay`,`darken`,`lighten`,`color-dodge`,`color-burn`,`hard-light`,`soft-light`,`difference`,`exclusion`,`hue`,`saturation`,`color`,`luminosity`],ae=()=>[Hd,Wd,of,$d],B=()=>[``,`none`,m,nf,Jd],V=()=>[`none`,Hd,nf,Jd],H=()=>[`none`,Hd,nf,Jd],oe=()=>[Hd,nf,Jd],se=()=>[Vd,`full`,...w()];return{cacheSize:500,theme:{animate:[`spin`,`ping`,`pulse`,`bounce`],aspect:[`video`],blur:[Gd],breakpoint:[Gd],color:[Kd],container:[Gd],"drop-shadow":[Gd],ease:[`in`,`out`,`in-out`],font:[Hee],"font-weight":[`thin`,`extralight`,`light`,`normal`,`medium`,`semibold`,`bold`,`extrabold`,`black`],"inset-shadow":[Gd],leading:[`none`,`tight`,`snug`,`normal`,`relaxed`,`loose`],perspective:[`dramatic`,`near`,`normal`,`midrange`,`distant`,`none`],radius:[Gd],shadow:[Gd],spacing:[`px`,Hd],text:[Gd],"text-shadow":[Gd],tracking:[`tighter`,`tight`,`normal`,`wide`,`wider`,`widest`]},classGroups:{aspect:[{aspect:[`auto`,`square`,Vd,Jd,nf,g]}],container:[`container`],"container-type":[{"@container":[``,`normal`,`size`,nf,Jd]}],"container-named":[Uee],columns:[{columns:[Hd,Jd,nf,s]}],"break-after":[{"break-after":y()}],"break-before":[{"break-before":y()}],"break-inside":[{"break-inside":[`auto`,`avoid`,`avoid-page`,`avoid-column`]}],"box-decoration":[{"box-decoration":[`slice`,`clone`]}],box:[{box:[`border`,`content`]}],display:[`block`,`inline-block`,`inline`,`flex`,`inline-flex`,`table`,`inline-table`,`table-caption`,`table-cell`,`table-column`,`table-column-group`,`table-footer-group`,`table-header-group`,`table-row-group`,`table-row`,`flow-root`,`grid`,`inline-grid`,`contents`,`list-item`,`hidden`],sr:[`sr-only`,`not-sr-only`],float:[{float:[`right`,`left`,`none`,`start`,`end`]}],clear:[{clear:[`left`,`right`,`both`,`none`,`start`,`end`]}],isolation:[`isolate`,`isolation-auto`],"object-fit":[{object:[`contain`,`cover`,`fill`,`none`,`scale-down`]}],"object-position":[{object:x()}],overflow:[{overflow:S()}],"overflow-x":[{"overflow-x":S()}],"overflow-y":[{"overflow-y":S()}],overscroll:[{overscroll:C()}],"overscroll-x":[{"overscroll-x":C()}],"overscroll-y":[{"overscroll-y":C()}],position:[`static`,`fixed`,`absolute`,`relative`,`sticky`],inset:[{inset:T()}],"inset-x":[{"inset-x":T()}],"inset-y":[{"inset-y":T()}],start:[{"inset-s":T(),start:T()}],end:[{"inset-e":T(),end:T()}],"inset-bs":[{"inset-bs":T()}],"inset-be":[{"inset-be":T()}],top:[{top:T()}],right:[{right:T()}],bottom:[{bottom:T()}],left:[{left:T()}],visibility:[`visible`,`invisible`,`collapse`],z:[{z:[Ud,`auto`,nf,Jd]}],basis:[{basis:[Vd,`full`,`auto`,s,...w()]}],"flex-direction":[{flex:[`row`,`row-reverse`,`col`,`col-reverse`]}],"flex-wrap":[{flex:[`nowrap`,`wrap`,`wrap-reverse`]}],flex:[{flex:[Hd,Vd,`auto`,`initial`,`none`,Jd]}],grow:[{grow:[``,Hd,nf,Jd]}],shrink:[{shrink:[``,Hd,nf,Jd]}],order:[{order:[Ud,`first`,`last`,`none`,nf,Jd]}],"grid-cols":[{"grid-cols":E()}],"col-start-end":[{col:D()}],"col-start":[{"col-start":O()}],"col-end":[{"col-end":O()}],"grid-rows":[{"grid-rows":E()}],"row-start-end":[{row:D()}],"row-start":[{"row-start":O()}],"row-end":[{"row-end":O()}],"grid-flow":[{"grid-flow":[`row`,`col`,`dense`,`row-dense`,`col-dense`]}],"auto-cols":[{"auto-cols":k()}],"auto-rows":[{"auto-rows":k()}],gap:[{gap:w()}],"gap-x":[{"gap-x":w()}],"gap-y":[{"gap-y":w()}],"justify-content":[{justify:[...A(),`normal`]}],"justify-items":[{"justify-items":[...j(),`normal`]}],"justify-self":[{"justify-self":[`auto`,...j()]}],"align-content":[{content:[`normal`,...A()]}],"align-items":[{items:[...j(),{baseline:[``,`last`]}]}],"align-self":[{self:[`auto`,...j(),{baseline:[``,`last`]}]}],"place-content":[{"place-content":A()}],"place-items":[{"place-items":[...j(),`baseline`]}],"place-self":[{"place-self":[`auto`,...j()]}],p:[{p:w()}],px:[{px:w()}],py:[{py:w()}],ps:[{ps:w()}],pe:[{pe:w()}],pbs:[{pbs:w()}],pbe:[{pbe:w()}],pt:[{pt:w()}],pr:[{pr:w()}],pb:[{pb:w()}],pl:[{pl:w()}],m:[{m:M()}],mx:[{mx:M()}],my:[{my:M()}],ms:[{ms:M()}],me:[{me:M()}],mbs:[{mbs:M()}],mbe:[{mbe:M()}],mt:[{mt:M()}],mr:[{mr:M()}],mb:[{mb:M()}],ml:[{ml:M()}],"space-x":[{"space-x":w()}],"space-x-reverse":[`space-x-reverse`],"space-y":[{"space-y":w()}],"space-y-reverse":[`space-y-reverse`],size:[{size:N()}],"inline-size":[{inline:[`auto`,...P()]}],"min-inline-size":[{"min-inline":[`auto`,...P()]}],"max-inline-size":[{"max-inline":[`none`,...P()]}],"block-size":[{block:[`auto`,...F()]}],"min-block-size":[{"min-block":[`auto`,...F()]}],"max-block-size":[{"max-block":[`none`,...F()]}],w:[{w:[s,`screen`,...N()]}],"min-w":[{"min-w":[s,`screen`,`none`,...N()]}],"max-w":[{"max-w":[s,`screen`,`none`,`prose`,{screen:[o]},...N()]}],h:[{h:[`screen`,`lh`,...N()]}],"min-h":[{"min-h":[`screen`,`lh`,`none`,...N()]}],"max-h":[{"max-h":[`screen`,`lh`,...N()]}],"font-size":[{text:[`base`,n,rf,Yd]}],"font-smoothing":[`antialiased`,`subpixel-antialiased`],"font-style":[`italic`,`not-italic`],"font-weight":[{font:[r,uf,Zd]}],"font-stretch":[{"font-stretch":[`ultra-condensed`,`extra-condensed`,`condensed`,`semi-condensed`,`normal`,`semi-expanded`,`expanded`,`extra-expanded`,`ultra-expanded`,Wd,Jd]}],"font-family":[{font:[af,Qd,t]}],"font-features":[{"font-features":[Jd]}],"fvn-normal":[`normal-nums`],"fvn-ordinal":[`ordinal`],"fvn-slashed-zero":[`slashed-zero`],"fvn-figure":[`lining-nums`,`oldstyle-nums`],"fvn-spacing":[`proportional-nums`,`tabular-nums`],"fvn-fraction":[`diagonal-fractions`,`stacked-fractions`],tracking:[{tracking:[i,nf,Jd]}],"line-clamp":[{"line-clamp":[Hd,`none`,nf,Xd]}],leading:[{leading:[a,...w()]}],"list-image":[{"list-image":[`none`,nf,Jd]}],"list-style-position":[{list:[`inside`,`outside`]}],"list-style-type":[{list:[`disc`,`decimal`,`none`,nf,Jd]}],"text-alignment":[{text:[`left`,`center`,`right`,`justify`,`start`,`end`]}],"placeholder-color":[{placeholder:I()}],"text-color":[{text:I()}],"text-decoration":[`underline`,`overline`,`line-through`,`no-underline`],"text-decoration-style":[{decoration:[...re(),`wavy`]}],"text-decoration-thickness":[{decoration:[Hd,`from-font`,`auto`,nf,Yd]}],"text-decoration-color":[{decoration:I()}],"underline-offset":[{"underline-offset":[Hd,`auto`,nf,Jd]}],"text-transform":[`uppercase`,`lowercase`,`capitalize`,`normal-case`],"text-overflow":[`truncate`,`text-ellipsis`,`text-clip`],"text-wrap":[{text:[`wrap`,`nowrap`,`balance`,`pretty`]}],indent:[{indent:w()}],"tab-size":[{tab:[Ud,nf,Jd]}],"vertical-align":[{align:[`baseline`,`top`,`middle`,`bottom`,`text-top`,`text-bottom`,`sub`,`super`,nf,Jd]}],whitespace:[{whitespace:[`normal`,`nowrap`,`pre`,`pre-line`,`pre-wrap`,`break-spaces`]}],break:[{break:[`normal`,`words`,`all`,`keep`]}],wrap:[{wrap:[`break-word`,`anywhere`,`normal`]}],hyphens:[{hyphens:[`none`,`manual`,`auto`]}],content:[{content:[`none`,nf,Jd]}],"bg-attachment":[{bg:[`fixed`,`local`,`scroll`]}],"bg-clip":[{"bg-clip":[`border`,`padding`,`content`,`text`]}],"bg-origin":[{"bg-origin":[`border`,`padding`,`content`]}],"bg-position":[{bg:ee()}],"bg-repeat":[{bg:L()}],"bg-size":[{bg:te()}],"bg-image":[{bg:[`none`,{linear:[{to:[`t`,`tr`,`r`,`br`,`b`,`bl`,`l`,`tl`]},Ud,nf,Jd],radial:[``,nf,Jd],conic:[Ud,nf,Jd]},cf,ef]}],"bg-color":[{bg:I()}],"gradient-from-pos":[{from:R()}],"gradient-via-pos":[{via:R()}],"gradient-to-pos":[{to:R()}],"gradient-from":[{from:I()}],"gradient-via":[{via:I()}],"gradient-to":[{to:I()}],rounded:[{rounded:z()}],"rounded-s":[{"rounded-s":z()}],"rounded-e":[{"rounded-e":z()}],"rounded-t":[{"rounded-t":z()}],"rounded-r":[{"rounded-r":z()}],"rounded-b":[{"rounded-b":z()}],"rounded-l":[{"rounded-l":z()}],"rounded-ss":[{"rounded-ss":z()}],"rounded-se":[{"rounded-se":z()}],"rounded-ee":[{"rounded-ee":z()}],"rounded-es":[{"rounded-es":z()}],"rounded-tl":[{"rounded-tl":z()}],"rounded-tr":[{"rounded-tr":z()}],"rounded-br":[{"rounded-br":z()}],"rounded-bl":[{"rounded-bl":z()}],"border-w":[{border:ne()}],"border-w-x":[{"border-x":ne()}],"border-w-y":[{"border-y":ne()}],"border-w-s":[{"border-s":ne()}],"border-w-e":[{"border-e":ne()}],"border-w-bs":[{"border-bs":ne()}],"border-w-be":[{"border-be":ne()}],"border-w-t":[{"border-t":ne()}],"border-w-r":[{"border-r":ne()}],"border-w-b":[{"border-b":ne()}],"border-w-l":[{"border-l":ne()}],"divide-x":[{"divide-x":ne()}],"divide-x-reverse":[`divide-x-reverse`],"divide-y":[{"divide-y":ne()}],"divide-y-reverse":[`divide-y-reverse`],"border-style":[{border:[...re(),`hidden`,`none`]}],"divide-style":[{divide:[...re(),`hidden`,`none`]}],"border-color":[{border:I()}],"border-color-x":[{"border-x":I()}],"border-color-y":[{"border-y":I()}],"border-color-s":[{"border-s":I()}],"border-color-e":[{"border-e":I()}],"border-color-bs":[{"border-bs":I()}],"border-color-be":[{"border-be":I()}],"border-color-t":[{"border-t":I()}],"border-color-r":[{"border-r":I()}],"border-color-b":[{"border-b":I()}],"border-color-l":[{"border-l":I()}],"divide-color":[{divide:I()}],"outline-style":[{outline:[...re(),`none`,`hidden`]}],"outline-offset":[{"outline-offset":[Hd,nf,Jd]}],"outline-w":[{outline:[``,Hd,rf,Yd]}],"outline-color":[{outline:I()}],shadow:[{shadow:[``,`none`,u,lf,tf]}],"shadow-color":[{shadow:I()}],"inset-shadow":[{"inset-shadow":[`none`,d,lf,tf]}],"inset-shadow-color":[{"inset-shadow":I()}],"ring-w":[{ring:ne()}],"ring-w-inset":[`ring-inset`],"ring-color":[{ring:I()}],"ring-offset-w":[{"ring-offset":[Hd,Yd]}],"ring-offset-color":[{"ring-offset":I()}],"inset-ring-w":[{"inset-ring":ne()}],"inset-ring-color":[{"inset-ring":I()}],"text-shadow":[{"text-shadow":[`none`,f,lf,tf]}],"text-shadow-color":[{"text-shadow":I()}],opacity:[{opacity:[Hd,nf,Jd]}],"mix-blend":[{"mix-blend":[...ie(),`plus-darker`,`plus-lighter`]}],"bg-blend":[{"bg-blend":ie()}],"mask-clip":[{"mask-clip":[`border`,`padding`,`content`,`fill`,`stroke`,`view`]},`mask-no-clip`],"mask-composite":[{mask:[`add`,`subtract`,`intersect`,`exclude`]}],"mask-image-linear-pos":[{"mask-linear":[Hd]}],"mask-image-linear-from-pos":[{"mask-linear-from":ae()}],"mask-image-linear-to-pos":[{"mask-linear-to":ae()}],"mask-image-linear-from-color":[{"mask-linear-from":I()}],"mask-image-linear-to-color":[{"mask-linear-to":I()}],"mask-image-t-from-pos":[{"mask-t-from":ae()}],"mask-image-t-to-pos":[{"mask-t-to":ae()}],"mask-image-t-from-color":[{"mask-t-from":I()}],"mask-image-t-to-color":[{"mask-t-to":I()}],"mask-image-r-from-pos":[{"mask-r-from":ae()}],"mask-image-r-to-pos":[{"mask-r-to":ae()}],"mask-image-r-from-color":[{"mask-r-from":I()}],"mask-image-r-to-color":[{"mask-r-to":I()}],"mask-image-b-from-pos":[{"mask-b-from":ae()}],"mask-image-b-to-pos":[{"mask-b-to":ae()}],"mask-image-b-from-color":[{"mask-b-from":I()}],"mask-image-b-to-color":[{"mask-b-to":I()}],"mask-image-l-from-pos":[{"mask-l-from":ae()}],"mask-image-l-to-pos":[{"mask-l-to":ae()}],"mask-image-l-from-color":[{"mask-l-from":I()}],"mask-image-l-to-color":[{"mask-l-to":I()}],"mask-image-x-from-pos":[{"mask-x-from":ae()}],"mask-image-x-to-pos":[{"mask-x-to":ae()}],"mask-image-x-from-color":[{"mask-x-from":I()}],"mask-image-x-to-color":[{"mask-x-to":I()}],"mask-image-y-from-pos":[{"mask-y-from":ae()}],"mask-image-y-to-pos":[{"mask-y-to":ae()}],"mask-image-y-from-color":[{"mask-y-from":I()}],"mask-image-y-to-color":[{"mask-y-to":I()}],"mask-image-radial":[{"mask-radial":[nf,Jd]}],"mask-image-radial-from-pos":[{"mask-radial-from":ae()}],"mask-image-radial-to-pos":[{"mask-radial-to":ae()}],"mask-image-radial-from-color":[{"mask-radial-from":I()}],"mask-image-radial-to-color":[{"mask-radial-to":I()}],"mask-image-radial-shape":[{"mask-radial":[`circle`,`ellipse`]}],"mask-image-radial-size":[{"mask-radial":[{closest:[`side`,`corner`],farthest:[`side`,`corner`]}]}],"mask-image-radial-pos":[{"mask-radial-at":b()}],"mask-image-conic-pos":[{"mask-conic":[Hd]}],"mask-image-conic-from-pos":[{"mask-conic-from":ae()}],"mask-image-conic-to-pos":[{"mask-conic-to":ae()}],"mask-image-conic-from-color":[{"mask-conic-from":I()}],"mask-image-conic-to-color":[{"mask-conic-to":I()}],"mask-mode":[{mask:[`alpha`,`luminance`,`match`]}],"mask-origin":[{"mask-origin":[`border`,`padding`,`content`,`fill`,`stroke`,`view`]}],"mask-position":[{mask:ee()}],"mask-repeat":[{mask:L()}],"mask-size":[{mask:te()}],"mask-type":[{"mask-type":[`alpha`,`luminance`]}],"mask-image":[{mask:[`none`,nf,Jd]}],filter:[{filter:[``,`none`,nf,Jd]}],blur:[{blur:B()}],brightness:[{brightness:[Hd,nf,Jd]}],contrast:[{contrast:[Hd,nf,Jd]}],"drop-shadow":[{"drop-shadow":[``,`none`,p,lf,tf]}],"drop-shadow-color":[{"drop-shadow":I()}],grayscale:[{grayscale:[``,Hd,nf,Jd]}],"hue-rotate":[{"hue-rotate":[Hd,nf,Jd]}],invert:[{invert:[``,Hd,nf,Jd]}],saturate:[{saturate:[Hd,nf,Jd]}],sepia:[{sepia:[``,Hd,nf,Jd]}],"backdrop-filter":[{"backdrop-filter":[``,`none`,nf,Jd]}],"backdrop-blur":[{"backdrop-blur":B()}],"backdrop-brightness":[{"backdrop-brightness":[Hd,nf,Jd]}],"backdrop-contrast":[{"backdrop-contrast":[Hd,nf,Jd]}],"backdrop-grayscale":[{"backdrop-grayscale":[``,Hd,nf,Jd]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[Hd,nf,Jd]}],"backdrop-invert":[{"backdrop-invert":[``,Hd,nf,Jd]}],"backdrop-opacity":[{"backdrop-opacity":[Hd,nf,Jd]}],"backdrop-saturate":[{"backdrop-saturate":[Hd,nf,Jd]}],"backdrop-sepia":[{"backdrop-sepia":[``,Hd,nf,Jd]}],"border-collapse":[{border:[`collapse`,`separate`]}],"border-spacing":[{"border-spacing":w()}],"border-spacing-x":[{"border-spacing-x":w()}],"border-spacing-y":[{"border-spacing-y":w()}],"table-layout":[{table:[`auto`,`fixed`]}],caption:[{caption:[`top`,`bottom`]}],transition:[{transition:[``,`all`,`colors`,`opacity`,`shadow`,`transform`,`none`,nf,Jd]}],"transition-behavior":[{transition:[`normal`,`discrete`]}],duration:[{duration:[Hd,`initial`,nf,Jd]}],ease:[{ease:[`linear`,`initial`,_,nf,Jd]}],delay:[{delay:[Hd,nf,Jd]}],animate:[{animate:[`none`,v,nf,Jd]}],backface:[{backface:[`hidden`,`visible`]}],perspective:[{perspective:[h,nf,Jd]}],"perspective-origin":[{"perspective-origin":x()}],rotate:[{rotate:V()}],"rotate-x":[{"rotate-x":V()}],"rotate-y":[{"rotate-y":V()}],"rotate-z":[{"rotate-z":V()}],scale:[{scale:H()}],"scale-x":[{"scale-x":H()}],"scale-y":[{"scale-y":H()}],"scale-z":[{"scale-z":H()}],"scale-3d":[`scale-3d`],skew:[{skew:oe()}],"skew-x":[{"skew-x":oe()}],"skew-y":[{"skew-y":oe()}],transform:[{transform:[nf,Jd,``,`none`,`gpu`,`cpu`]}],"transform-origin":[{origin:x()}],"transform-style":[{transform:[`3d`,`flat`]}],translate:[{translate:se()}],"translate-x":[{"translate-x":se()}],"translate-y":[{"translate-y":se()}],"translate-z":[{"translate-z":se()}],"translate-none":[`translate-none`],zoom:[{zoom:[Ud,nf,Jd]}],accent:[{accent:I()}],appearance:[{appearance:[`none`,`auto`]}],"caret-color":[{caret:I()}],"color-scheme":[{scheme:[`normal`,`dark`,`light`,`light-dark`,`only-dark`,`only-light`]}],cursor:[{cursor:[`auto`,`default`,`pointer`,`wait`,`text`,`move`,`help`,`not-allowed`,`none`,`context-menu`,`progress`,`cell`,`crosshair`,`vertical-text`,`alias`,`copy`,`no-drop`,`grab`,`grabbing`,`all-scroll`,`col-resize`,`row-resize`,`n-resize`,`e-resize`,`s-resize`,`w-resize`,`ne-resize`,`nw-resize`,`se-resize`,`sw-resize`,`ew-resize`,`ns-resize`,`nesw-resize`,`nwse-resize`,`zoom-in`,`zoom-out`,nf,Jd]}],"field-sizing":[{"field-sizing":[`fixed`,`content`]}],"pointer-events":[{"pointer-events":[`auto`,`none`]}],resize:[{resize:[`none`,``,`y`,`x`]}],"scroll-behavior":[{scroll:[`auto`,`smooth`]}],"scrollbar-thumb-color":[{"scrollbar-thumb":I()}],"scrollbar-track-color":[{"scrollbar-track":I()}],"scrollbar-gutter":[{"scrollbar-gutter":[`auto`,`stable`,`both`]}],"scrollbar-w":[{scrollbar:[`auto`,`thin`,`none`]}],"scroll-m":[{"scroll-m":w()}],"scroll-mx":[{"scroll-mx":w()}],"scroll-my":[{"scroll-my":w()}],"scroll-ms":[{"scroll-ms":w()}],"scroll-me":[{"scroll-me":w()}],"scroll-mbs":[{"scroll-mbs":w()}],"scroll-mbe":[{"scroll-mbe":w()}],"scroll-mt":[{"scroll-mt":w()}],"scroll-mr":[{"scroll-mr":w()}],"scroll-mb":[{"scroll-mb":w()}],"scroll-ml":[{"scroll-ml":w()}],"scroll-p":[{"scroll-p":w()}],"scroll-px":[{"scroll-px":w()}],"scroll-py":[{"scroll-py":w()}],"scroll-ps":[{"scroll-ps":w()}],"scroll-pe":[{"scroll-pe":w()}],"scroll-pbs":[{"scroll-pbs":w()}],"scroll-pbe":[{"scroll-pbe":w()}],"scroll-pt":[{"scroll-pt":w()}],"scroll-pr":[{"scroll-pr":w()}],"scroll-pb":[{"scroll-pb":w()}],"scroll-pl":[{"scroll-pl":w()}],"snap-align":[{snap:[`start`,`end`,`center`,`align-none`]}],"snap-stop":[{snap:[`normal`,`always`]}],"snap-type":[{snap:[`none`,`x`,`y`,`both`]}],"snap-strictness":[{snap:[`mandatory`,`proximity`]}],touch:[{touch:[`auto`,`none`,`manipulation`]}],"touch-x":[{"touch-pan":[`x`,`left`,`right`]}],"touch-y":[{"touch-pan":[`y`,`up`,`down`]}],"touch-pz":[`touch-pinch-zoom`],select:[{select:[`none`,`text`,`all`,`auto`]}],"will-change":[{"will-change":[`auto`,`scroll`,`contents`,`transform`,nf,Jd]}],fill:[{fill:[`none`,...I()]}],"stroke-w":[{stroke:[Hd,rf,Yd,Xd]}],stroke:[{stroke:[`none`,...I()]}],"forced-color-adjust":[{"forced-color-adjust":[`auto`,`none`]}]},conflictingClassGroups:{"container-named":[`container-type`],overflow:[`overflow-x`,`overflow-y`],overscroll:[`overscroll-x`,`overscroll-y`],inset:[`inset-x`,`inset-y`,`inset-bs`,`inset-be`,`start`,`end`,`top`,`right`,`bottom`,`left`],"inset-x":[`right`,`left`],"inset-y":[`top`,`bottom`],flex:[`basis`,`grow`,`shrink`],gap:[`gap-x`,`gap-y`],p:[`px`,`py`,`ps`,`pe`,`pbs`,`pbe`,`pt`,`pr`,`pb`,`pl`],px:[`pr`,`pl`],py:[`pt`,`pb`],m:[`mx`,`my`,`ms`,`me`,`mbs`,`mbe`,`mt`,`mr`,`mb`,`ml`],mx:[`mr`,`ml`],my:[`mt`,`mb`],size:[`w`,`h`],"font-size":[`leading`],"fvn-normal":[`fvn-ordinal`,`fvn-slashed-zero`,`fvn-figure`,`fvn-spacing`,`fvn-fraction`],"fvn-ordinal":[`fvn-normal`],"fvn-slashed-zero":[`fvn-normal`],"fvn-figure":[`fvn-normal`],"fvn-spacing":[`fvn-normal`],"fvn-fraction":[`fvn-normal`],"line-clamp":[`display`,`overflow`],rounded:[`rounded-s`,`rounded-e`,`rounded-t`,`rounded-r`,`rounded-b`,`rounded-l`,`rounded-ss`,`rounded-se`,`rounded-ee`,`rounded-es`,`rounded-tl`,`rounded-tr`,`rounded-br`,`rounded-bl`],"rounded-s":[`rounded-ss`,`rounded-es`],"rounded-e":[`rounded-se`,`rounded-ee`],"rounded-t":[`rounded-tl`,`rounded-tr`],"rounded-r":[`rounded-tr`,`rounded-br`],"rounded-b":[`rounded-br`,`rounded-bl`],"rounded-l":[`rounded-tl`,`rounded-bl`],"border-spacing":[`border-spacing-x`,`border-spacing-y`],"border-w":[`border-w-x`,`border-w-y`,`border-w-s`,`border-w-e`,`border-w-bs`,`border-w-be`,`border-w-t`,`border-w-r`,`border-w-b`,`border-w-l`],"border-w-x":[`border-w-r`,`border-w-l`],"border-w-y":[`border-w-t`,`border-w-b`],"border-color":[`border-color-x`,`border-color-y`,`border-color-s`,`border-color-e`,`border-color-bs`,`border-color-be`,`border-color-t`,`border-color-r`,`border-color-b`,`border-color-l`],"border-color-x":[`border-color-r`,`border-color-l`],"border-color-y":[`border-color-t`,`border-color-b`],translate:[`translate-x`,`translate-y`,`translate-none`],"translate-none":[`translate`,`translate-x`,`translate-y`,`translate-z`],"scroll-m":[`scroll-mx`,`scroll-my`,`scroll-ms`,`scroll-me`,`scroll-mbs`,`scroll-mbe`,`scroll-mt`,`scroll-mr`,`scroll-mb`,`scroll-ml`],"scroll-mx":[`scroll-mr`,`scroll-ml`],"scroll-my":[`scroll-mt`,`scroll-mb`],"scroll-p":[`scroll-px`,`scroll-py`,`scroll-ps`,`scroll-pe`,`scroll-pbs`,`scroll-pbe`,`scroll-pt`,`scroll-pr`,`scroll-pb`,`scroll-pl`],"scroll-px":[`scroll-pr`,`scroll-pl`],"scroll-py":[`scroll-pt`,`scroll-pb`],touch:[`touch-x`,`touch-y`,`touch-pz`],"touch-x":[`touch`],"touch-y":[`touch`],"touch-pz":[`touch`]},conflictingClassGroupModifiers:{"font-size":[`leading`]},postfixLookupClassGroups:[`container-type`],orderSensitiveModifiers:[`*`,`**`,`after`,`backdrop`,`before`,`details-content`,`file`,`first-letter`,`first-line`,`marker`,`placeholder`,`selection`]}});function Sf(...e){return xf(c(e))}function Cf(){let e=(0,g.useRef)(!1);return(0,g.useEffect)(()=>{let t=()=>{e.current=!0},n=()=>{e.current=!1};return document.addEventListener(`compositionstart`,t),document.addEventListener(`compositionend`,n),()=>{document.removeEventListener(`compositionstart`,t),document.removeEventListener(`compositionend`,n)}},[]),function(t){return e.current||t.nativeEvent.isComposing===!0||t.nativeEvent.keyCode===229}}function wf(e){return typeof e==`object`&&e&&!Array.isArray(e)?e:null}function Tf(e){let t=wf(e.properties)||{},n=Array.isArray(e.required)?new Set(e.required.map(String)):new Set,r=[];for(let[e,i]of Object.entries(t)){let t=wf(i),a=String(t?.type||``).toLowerCase(),o=a===`string`||a===`number`||a===`boolean`||a===`array`?a:`unknown`,s=wf(t?.items),c=Array.isArray(t?.[`x-codex-options`])?t[`x-codex-options`].map(wf).map(e=>e?.label).filter(e=>typeof e==`string`):[],l=c.length?c:void 0;r.push({name:e,title:typeof t?.title==`string`?t.title:void 0,description:typeof t?.description==`string`?t.description:void 0,allowOther:t?.[`x-codex-is-other`]===!0,secret:t?.[`x-codex-is-secret`]===!0,type:o,required:n.has(e),enumValues:Array.isArray(t?.enum)?t.enum:Array.isArray(s?.enum)?s.enum:l})}return r}function Ef({schema:e,values:t,onChange:n,disabled:r,onSubmit:i,onCancel:a}){let o=Tf(e),[s,c]=(0,g.useState)(``),l=Cf();return(0,v.jsxs)(`form`,{className:`mt-3`,"data-testid":`interaction-schema-form`,onKeyDown:e=>{e.key===`Enter`&&l(e)&&e.preventDefault()},onSubmit:e=>{if(e.preventDefault(),!r){if(!o.every(e=>{let n=t[e.name];return!e.required||(Array.isArray(n)?n.length>0:String(n??``).trim().length>0)})){c(`请回答必填问题后再提交。`);return}c(``),i()}},children:[o.map(e=>(0,v.jsxs)(`div`,{className:`mb-2 block text-xs text-[var(--ksadk-interaction-muted)]`,children:[(0,v.jsxs)(`span`,{className:`mb-1 block font-medium`,children:[e.description||e.title||e.name,e.required?(0,v.jsx)(`span`,{className:`ml-0.5 text-rose-500`,children:`*`}):null]}),e.enumValues&&e.enumValues.length>0?(0,v.jsxs)(`div`,{className:`space-y-1`,"data-testid":`interaction-field-${e.name}`,children:[e.enumValues.map((i,a)=>{let o=e.type===`array`?Array.isArray(t[e.name])&&t[e.name].includes(i):t[e.name]===i;return(0,v.jsxs)(`label`,{className:`flex min-h-10 cursor-pointer items-center gap-2 rounded-xl px-2 text-sm text-[var(--ksadk-interaction-foreground)] hover:bg-[var(--ksadk-interaction-muted-background)]`,children:[(0,v.jsx)(`span`,{className:`flex h-6 w-6 shrink-0 items-center justify-center rounded-full bg-[var(--ksadk-interaction-muted-background)] text-xs text-[var(--ksadk-interaction-muted)]`,children:a+1}),(0,v.jsx)(`input`,{type:e.type===`array`?`checkbox`:`radio`,name:e.name,disabled:r,checked:!!o,onChange:r=>{let a=Array.isArray(t[e.name])?t[e.name]:[],o=e.type===`array`?r.target.checked?[...a,i]:a.filter(e=>e!==i):i;n({...t,[e.name]:o})},className:`h-4 w-4 accent-current`}),(0,v.jsx)(`span`,{children:String(i)})]},String(i))}),e.allowOther?(0,v.jsx)(`input`,{"aria-label":`${e.title||e.name}:自定义回答`,placeholder:`或填写自己的回答`,type:e.secret?`password`:`text`,disabled:r,value:e.type===`array`?(Array.isArray(t[e.name])?t[e.name]:[]).filter(t=>!e.enumValues.includes(t)).join(`
|
|
10
|
+
`):e.enumValues.includes(t[e.name])?``:String(t[e.name]??``),onChange:r=>{let i=r.target.value,a=(Array.isArray(t[e.name])?t[e.name]:[]).filter(t=>e.enumValues.includes(t));n({...t,[e.name]:e.type===`array`?[...a,...i.trim()?[i]:[]]:i})},className:`w-full rounded-lg border border-[var(--ksadk-interaction-border)] bg-[var(--ksadk-interaction-control-background)] px-3 py-2 text-sm text-[var(--ksadk-interaction-foreground)]`}):null]}):e.type===`boolean`?(0,v.jsx)(`input`,{type:`checkbox`,"data-testid":`interaction-field-${e.name}`,disabled:r,checked:!!t[e.name],onChange:r=>n({...t,[e.name]:r.target.checked}),className:`h-4 w-4`}):e.type===`number`?(0,v.jsx)(`input`,{type:`number`,"data-testid":`interaction-field-${e.name}`,disabled:r,value:t[e.name]===void 0?``:String(t[e.name]),onChange:r=>n({...t,[e.name]:r.target.value===``?void 0:Number(r.target.value)}),className:`w-full rounded-md border border-[var(--ksadk-interaction-border)] bg-[var(--ksadk-interaction-control-background)] px-2 py-1.5 text-sm text-foreground`}):(0,v.jsx)(`input`,{type:e.secret?`password`:`text`,"data-testid":`interaction-field-${e.name}`,disabled:r,value:String(t[e.name]??``),onChange:r=>n({...t,[e.name]:r.target.value}),className:`w-full rounded-md border border-[var(--ksadk-interaction-border)] bg-[var(--ksadk-interaction-control-background)] px-2 py-1.5 text-sm text-foreground`})]},e.name)),s?(0,v.jsx)(`p`,{role:`alert`,className:`mt-2 text-xs text-rose-600`,children:s}):null,(0,v.jsxs)(`div`,{className:`mt-2 flex flex-wrap gap-2`,children:[(0,v.jsx)(`button`,{type:`submit`,"data-testid":`interaction-submit`,disabled:r,className:`inline-flex min-h-8 items-center rounded-md bg-[var(--ksadk-interaction-primary-background)] px-3 py-1.5 text-xs font-semibold text-[var(--ksadk-interaction-primary-foreground)] disabled:cursor-not-allowed disabled:opacity-55`,children:`提交`}),(0,v.jsx)(`button`,{type:`button`,"data-testid":`interaction-form-cancel`,disabled:r,onClick:a,className:`inline-flex min-h-8 items-center rounded-md px-3 py-1.5 text-xs font-medium text-slate-500 underline-offset-2 hover:underline disabled:cursor-not-allowed disabled:opacity-55 dark:text-slate-400`,children:`取消本次确认`})]})]})}var Df=`ksadk.web.permission-mode`;function Of(){try{let e=globalThis.localStorage?.getItem(ku.key(Df));return e===`ask`||e===`full`||e===`risk`?e:`risk`}catch{return`risk`}}function kf(e){if(ku.writable)try{globalThis.localStorage?.setItem(ku.key(Df),e)}catch{}}var Af=F()(e=>({permissionMode:Of(),setPermissionMode:t=>{kf(t),e({permissionMode:t})}})),jf=l(`activity`,[[`path`,{d:`M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2`,key:`169zse`}]]),Mf=l(`archive`,[[`rect`,{width:`20`,height:`5`,x:`2`,y:`3`,rx:`1`,key:`1wp1u1`}],[`path`,{d:`M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8`,key:`1s80jp`}],[`path`,{d:`M10 12h4`,key:`a56b0p`}]]),Nf=l(`arrow-left`,[[`path`,{d:`m12 19-7-7 7-7`,key:`1l729n`}],[`path`,{d:`M19 12H5`,key:`x3x0zl`}]]),Pf=l(`arrow-right`,[[`path`,{d:`M5 12h14`,key:`1ays0h`}],[`path`,{d:`m12 5 7 7-7 7`,key:`xquz4c`}]]),Ff=l(`arrow-up-right`,[[`path`,{d:`M7 7h10v10`,key:`1tivn9`}],[`path`,{d:`M7 17 17 7`,key:`1vkiza`}]]),If=l(`arrow-up`,[[`path`,{d:`m5 12 7-7 7 7`,key:`hav0vg`}],[`path`,{d:`M12 19V5`,key:`x0mq9r`}]]),Lf=l(`book-open`,[[`path`,{d:`M12 5v16`,key:`1f6ucr`}],[`path`,{d:`M20.001 19A2 2 0 0022 17V5a2 2 0 00-1.999-2L16 3.002A5 5 0 0012 5a5 5 0 00-4-2H4a2 2 0 00-2 2v12a2 2 0 001.999 2H8a5 5 0 014 2 5 5 0 014-2z`,key:`1fyvmf`}]]),Rf=l(`bot`,[[`path`,{d:`M12 8V4H8`,key:`hb8ula`}],[`rect`,{width:`16`,height:`12`,x:`4`,y:`8`,rx:`2`,key:`enze0r`}],[`path`,{d:`M2 14h2`,key:`vft8re`}],[`path`,{d:`M20 14h2`,key:`4cs60a`}],[`path`,{d:`M15 13v2`,key:`1xurst`}],[`path`,{d:`M9 13v2`,key:`rq6x2g`}]]),zf=l(`box`,[[`path`,{d:`M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z`,key:`hh9hay`}],[`path`,{d:`m3.3 7 8.7 5 8.7-5`,key:`g66t2b`}],[`path`,{d:`M12 22V12`,key:`d0xqtd`}]]),Bf=l(`boxes`,[[`path`,{d:`M2.97 12.92A2 2 0 0 0 2 14.63v3.24a2 2 0 0 0 .97 1.71l3 1.8a2 2 0 0 0 2.06 0L12 19v-5.5l-5-3-4.03 2.42Z`,key:`lc1i9w`}],[`path`,{d:`m7 16.5-4.74-2.85`,key:`1o9zyk`}],[`path`,{d:`m7 16.5 5-3`,key:`va8pkn`}],[`path`,{d:`M7 16.5v5.17`,key:`jnp8gn`}],[`path`,{d:`M12 13.5V19l3.97 2.38a2 2 0 0 0 2.06 0l3-1.8a2 2 0 0 0 .97-1.71v-3.24a2 2 0 0 0-.97-1.71L17 10.5l-5 3Z`,key:`8zsnat`}],[`path`,{d:`m17 16.5-5-3`,key:`8arw3v`}],[`path`,{d:`m17 16.5 4.74-2.85`,key:`8rfmw`}],[`path`,{d:`M17 16.5v5.17`,key:`k6z78m`}],[`path`,{d:`M7.97 4.42A2 2 0 0 0 7 6.13v4.37l5 3 5-3V6.13a2 2 0 0 0-.97-1.71l-3-1.8a2 2 0 0 0-2.06 0l-3 1.8Z`,key:`1xygjf`}],[`path`,{d:`M12 8 7.26 5.15`,key:`1vbdud`}],[`path`,{d:`m12 8 4.74-2.85`,key:`3rx089`}],[`path`,{d:`M12 13.5V8`,key:`1io7kd`}]]),Vf=l(`braces`,[[`path`,{d:`M8 3H7a2 2 0 0 0-2 2v5a2 2 0 0 1-2 2 2 2 0 0 1 2 2v5c0 1.1.9 2 2 2h1`,key:`ezmyqa`}],[`path`,{d:`M16 21h1a2 2 0 0 0 2-2v-5c0-1.1.9-2 2-2a2 2 0 0 1-2-2V5a2 2 0 0 0-2-2h-1`,key:`e1hn23`}]]),Hf=l(`brain-circuit`,[[`path`,{d:`M12 5a3 3 0 1 0-5.997.125 4 4 0 0 0-2.526 5.77 4 4 0 0 0 .556 6.588A4 4 0 1 0 12 18Z`,key:`l5xja`}],[`path`,{d:`M9 13a4.5 4.5 0 0 0 3-4`,key:`10igwf`}],[`path`,{d:`M6.003 5.125A3 3 0 0 0 6.401 6.5`,key:`105sqy`}],[`path`,{d:`M3.477 10.896a4 4 0 0 1 .585-.396`,key:`ql3yin`}],[`path`,{d:`M6 18a4 4 0 0 1-1.967-.516`,key:`2e4loj`}],[`path`,{d:`M12 13h4`,key:`1ku699`}],[`path`,{d:`M12 18h6a2 2 0 0 1 2 2v1`,key:`105ag5`}],[`path`,{d:`M12 8h8`,key:`1lhi5i`}],[`path`,{d:`M16 8V5a2 2 0 0 1 2-2`,key:`u6izg6`}],[`circle`,{cx:`16`,cy:`13`,r:`.5`,key:`ry7gng`}],[`circle`,{cx:`18`,cy:`3`,r:`.5`,key:`1aiba7`}],[`circle`,{cx:`20`,cy:`21`,r:`.5`,key:`yhc1fs`}],[`circle`,{cx:`20`,cy:`8`,r:`.5`,key:`1e43v0`}]]),Uf=l(`brain`,[[`path`,{d:`M12 18V5`,key:`adv99a`}],[`path`,{d:`M15 13a4.17 4.17 0 0 1-3-4 4.17 4.17 0 0 1-3 4`,key:`1e3is1`}],[`path`,{d:`M17.598 6.5A3 3 0 1 0 12 5a3 3 0 1 0-5.598 1.5`,key:`1gqd8o`}],[`path`,{d:`M17.997 5.125a4 4 0 0 1 2.526 5.77`,key:`iwvgf7`}],[`path`,{d:`M18 18a4 4 0 0 0 2-7.464`,key:`efp6ie`}],[`path`,{d:`M19.967 17.483A4 4 0 1 1 12 18a4 4 0 1 1-7.967-.517`,key:`1gq6am`}],[`path`,{d:`M6 18a4 4 0 0 1-2-7.464`,key:`k1g0md`}],[`path`,{d:`M6.003 5.125a4 4 0 0 0-2.526 5.77`,key:`q97ue3`}]]),Wf=l(`calendar-clock`,[[`path`,{d:`M16 14v2.2l1.6 1`,key:`fo4ql5`}],[`path`,{d:`M16 2v3`,key:`otl347`}],[`path`,{d:`M21 7.338V5a2 2 0 00-2-2H5a2 2 0 00-2 2v14a2 2 0 002 2h2.338`,key:`7hb8p4`}],[`path`,{d:`M3 9h5.859`,key:`numkqi`}],[`path`,{d:`M8 2v3`,key:`1ioesn`}],[`circle`,{cx:`16`,cy:`16`,r:`6`,key:`qoo3c4`}]]),Gf=l(`chart-spline`,[[`path`,{d:`M3 3v16a2 2 0 0 0 2 2h16`,key:`c24i48`}],[`path`,{d:`M7 16c.5-2 1.5-7 4-7 2 0 2 3 4 3 2.5 0 4.5-5 5-7`,key:`lw07rv`}]]),Kf=l(`check`,[[`path`,{d:`M20 6 9 17l-5-5`,key:`1gmf2c`}]]),qf=l(`chevron-down`,[[`path`,{d:`m6 9 6 6 6-6`,key:`qrunsl`}]]),Jf=l(`chevron-left`,[[`path`,{d:`m15 18-6-6 6-6`,key:`1wnfg3`}]]),Yf=l(`chevron-right`,[[`path`,{d:`m9 18 6-6-6-6`,key:`mthhwq`}]]),Xf=l(`chevron-up`,[[`path`,{d:`m18 15-6-6-6 6`,key:`153udz`}]]),Zf=l(`circle-alert`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`line`,{x1:`12`,x2:`12`,y1:`8`,y2:`12`,key:`1pkeuh`}],[`line`,{x1:`12`,x2:`12.01`,y1:`16`,y2:`16`,key:`4dfq90`}]]),Qf=l(`circle-check-big`,[[`path`,{d:`M21.801 10A10 10 0 1 1 17 3.335`,key:`yps3ct`}],[`path`,{d:`m9 11 3 3L22 4`,key:`1pflzl`}]]),$f=l(`circle-check`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m9 12 2 2 4-4`,key:`dzmm74`}]]),ep=l(`circle-dot`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`circle`,{cx:`12`,cy:`12`,r:`1`,key:`41hilf`}]]),tp=l(`circle-off`,[[`path`,{d:`m2 2 20 20`,key:`1ooewy`}],[`path`,{d:`M8.35 2.69A10 10 0 0 1 21.3 15.65`,key:`1pfsoa`}],[`path`,{d:`M19.08 19.08A10 10 0 1 1 4.92 4.92`,key:`1ablyi`}]]),np=l(`circle-question-mark`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3`,key:`1u773s`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]]),rp=l(`circle-stop`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`rect`,{x:`9`,y:`9`,width:`6`,height:`6`,rx:`1`,key:`1ssd4o`}]]),ip=l(`circle-x`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m15 9-6 6`,key:`1uzhvr`}],[`path`,{d:`m9 9 6 6`,key:`z0biqf`}]]),ap=l(`clipboard-check`,[[`rect`,{width:`8`,height:`4`,x:`8`,y:`2`,rx:`1`,ry:`1`,key:`tgr4d6`}],[`path`,{d:`M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2`,key:`116196`}],[`path`,{d:`m9 14 2 2 4-4`,key:`df797q`}]]),op=l(`clock-3`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 6v6h4`,key:`135r8i`}]]),sp=l(`cloud-upload`,[[`path`,{d:`M12 13v8`,key:`1l5pq0`}],[`path`,{d:`M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242`,key:`1pljnt`}],[`path`,{d:`m8 17 4-4 4 4`,key:`1quai1`}]]),cp=l(`code-xml`,[[`path`,{d:`m18 16 4-4-4-4`,key:`1inbqp`}],[`path`,{d:`m6 8-4 4 4 4`,key:`15zrgr`}],[`path`,{d:`m14.5 4-5 16`,key:`e7oirm`}]]),lp=l(`coins`,[[`path`,{d:`M13.744 17.736a6 6 0 1 1-7.48-7.48`,key:`bq4yh3`}],[`path`,{d:`M15 6h1v4`,key:`11y1tn`}],[`path`,{d:`m6.134 14.768.866-.5 2 3.464`,key:`17snzx`}],[`circle`,{cx:`16`,cy:`8`,r:`6`,key:`14bfc9`}]]),up=l(`copy`,[[`rect`,{width:`14`,height:`14`,x:`8`,y:`8`,rx:`2`,ry:`2`,key:`17jyea`}],[`path`,{d:`M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2`,key:`zix9uf`}]]),dp=l(`cpu`,[[`path`,{d:`M12 20v2`,key:`1lh1kg`}],[`path`,{d:`M12 2v2`,key:`tus03m`}],[`path`,{d:`M17 20v2`,key:`1rnc9c`}],[`path`,{d:`M17 2v2`,key:`11trls`}],[`path`,{d:`M2 12h2`,key:`1t8f8n`}],[`path`,{d:`M2 17h2`,key:`7oei6x`}],[`path`,{d:`M2 7h2`,key:`asdhe0`}],[`path`,{d:`M20 12h2`,key:`1q8mjw`}],[`path`,{d:`M20 17h2`,key:`1fpfkl`}],[`path`,{d:`M20 7h2`,key:`1o8tra`}],[`path`,{d:`M7 20v2`,key:`4gnj0m`}],[`path`,{d:`M7 2v2`,key:`1i4yhu`}],[`rect`,{x:`4`,y:`4`,width:`16`,height:`16`,rx:`2`,key:`1vbyd7`}],[`rect`,{x:`8`,y:`8`,width:`8`,height:`8`,rx:`1`,key:`z9xiuo`}]]),fp=l(`database`,[[`ellipse`,{cx:`12`,cy:`5`,rx:`9`,ry:`3`,key:`msslwz`}],[`path`,{d:`M3 5V19A9 3 0 0 0 21 19V5`,key:`1wlel7`}],[`path`,{d:`M3 12A9 3 0 0 0 21 12`,key:`mv7ke4`}]]),pp=l(`earth`,[[`path`,{d:`M21.54 15H17a2 2 0 0 0-2 2v4.54`,key:`1djwo0`}],[`path`,{d:`M7 3.34V5a3 3 0 0 0 3 3a2 2 0 0 1 2 2c0 1.1.9 2 2 2a2 2 0 0 0 2-2c0-1.1.9-2 2-2h3.17`,key:`1tzkfa`}],[`path`,{d:`M11 21.95V18a2 2 0 0 0-2-2a2 2 0 0 1-2-2v-1a2 2 0 0 0-2-2H2.05`,key:`14pb5j`}],[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}]]),mp=l(`ellipsis`,[[`circle`,{cx:`12`,cy:`12`,r:`1`,key:`41hilf`}],[`circle`,{cx:`19`,cy:`12`,r:`1`,key:`1wjl8i`}],[`circle`,{cx:`5`,cy:`12`,r:`1`,key:`1pcz8c`}]]),hp=l(`external-link`,[[`path`,{d:`M15 3h6v6`,key:`1q9fwt`}],[`path`,{d:`M10 14 21 3`,key:`gplh6r`}],[`path`,{d:`M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6`,key:`a6xqqp`}]]),gp=l(`eye`,[[`path`,{d:`M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0`,key:`1nclc0`}],[`circle`,{cx:`12`,cy:`12`,r:`3`,key:`1v7zrd`}]]),_p=l(`file-box`,[[`path`,{d:`M14 2v5a1 1 0 001 1h5`,key:`9v5fu7`}],[`path`,{d:`M14.692 22H18a2 2 0 002-2V8a2.4 2.4 0 00-.706-1.706l-3.588-3.588A2.4 2.4 0 0014 2H6a2 2 0 00-2 2v3.804`,key:`1ne0j7`}],[`path`,{d:`M2.264 13.752 7 16.5l4.737-2.748`,key:`t73mg3`}],[`path`,{d:`M2.995 13.014A2 2 0 002 14.744v3.516a2 2 0 00.996 1.73l3 1.74a2 2 0 002.008 0l3-1.74A2 2 0 0012 18.26v-3.517a2 2 0 00-.995-1.73l-3-1.742a2 2 0 00-1.892-.064z`,key:`h4qck`}],[`path`,{d:`M7 16.5V22`,key:`1i1gou`}]]),vp=l(`file-code-corner`,[[`path`,{d:`M4 12.15V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2h-3.35`,key:`1wthlu`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`m5 16-3 3 3 3`,key:`331omg`}],[`path`,{d:`m9 22 3-3-3-3`,key:`lsp7cz`}]]),yp=l(`file-diff`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M9 10h6`,key:`9gxzsh`}],[`path`,{d:`M12 13V7`,key:`h0r20n`}],[`path`,{d:`M9 17h6`,key:`r8uit2`}]]),bp=l(`file-text`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M10 9H8`,key:`b1mrlr`}],[`path`,{d:`M16 13H8`,key:`t4e002`}],[`path`,{d:`M16 17H8`,key:`z1uh3a`}]]),xp=l(`file-up`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M12 12v6`,key:`3ahymv`}],[`path`,{d:`m15 15-3-3-3 3`,key:`15xj92`}]]),Sp=l(`folder-closed`,[[`path`,{d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z`,key:`1kt360`}],[`path`,{d:`M2 10h20`,key:`1ir3d8`}]]),Cp=l(`folder-open`,[[`path`,{d:`m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2`,key:`usdka0`}]]),wp=l(`folder`,[[`path`,{d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z`,key:`1kt360`}]]),Tp=l(`gauge`,[[`path`,{d:`m12 14 4-4`,key:`9kzdfg`}],[`path`,{d:`M3.34 19a10 10 0 1 1 17.32 0`,key:`19p75a`}]]),Ep=l(`git-branch`,[[`path`,{d:`M15 6a9 9 0 0 0-9 9V3`,key:`1cii5b`}],[`circle`,{cx:`18`,cy:`6`,r:`3`,key:`1h7g24`}],[`circle`,{cx:`6`,cy:`18`,r:`3`,key:`fqmcym`}]]),Dp=l(`hand`,[[`path`,{d:`M18 11V6a2 2 0 0 0-2-2a2 2 0 0 0-2 2`,key:`1fvzgz`}],[`path`,{d:`M14 10V4a2 2 0 0 0-2-2a2 2 0 0 0-2 2v2`,key:`1kc0my`}],[`path`,{d:`M10 10.5V6a2 2 0 0 0-2-2a2 2 0 0 0-2 2v8`,key:`10h0bg`}],[`path`,{d:`M18 8a2 2 0 1 1 4 0v6a8 8 0 0 1-8 8h-2c-2.8 0-4.5-.86-5.99-2.34l-3.6-3.6a2 2 0 0 1 2.83-2.82L7 15`,key:`1s1gnw`}]]),Op=l(`image-plus`,[[`path`,{d:`M16 5h6`,key:`1vod17`}],[`path`,{d:`M19 2v6`,key:`4bpg5p`}],[`path`,{d:`M21 11.5V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h7.5`,key:`1ue2ih`}],[`path`,{d:`m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21`,key:`1xmnt7`}],[`circle`,{cx:`9`,cy:`9`,r:`2`,key:`af1f0g`}]]),kp=l(`info`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 16v-4`,key:`1dtifu`}],[`path`,{d:`M12 8h.01`,key:`e9boi3`}]]),Ap=l(`layout-grid`,[[`rect`,{width:`7`,height:`7`,x:`3`,y:`3`,rx:`1`,key:`1g98yp`}],[`rect`,{width:`7`,height:`7`,x:`14`,y:`3`,rx:`1`,key:`6d4xhi`}],[`rect`,{width:`7`,height:`7`,x:`14`,y:`14`,rx:`1`,key:`nxv5o0`}],[`rect`,{width:`7`,height:`7`,x:`3`,y:`14`,rx:`1`,key:`1bb6yr`}]]),jp=l(`list-checks`,[[`path`,{d:`M13 5h8`,key:`a7qcls`}],[`path`,{d:`M13 12h8`,key:`h98zly`}],[`path`,{d:`M13 19h8`,key:`c3s6r1`}],[`path`,{d:`m3 17 2 2 4-4`,key:`1jhpwq`}],[`path`,{d:`m3 7 2 2 4-4`,key:`1obspn`}]]),Mp=l(`list-todo`,[[`path`,{d:`M13 5h8`,key:`a7qcls`}],[`path`,{d:`M13 12h8`,key:`h98zly`}],[`path`,{d:`M13 19h8`,key:`c3s6r1`}],[`path`,{d:`m3 17 2 2 4-4`,key:`1jhpwq`}],[`rect`,{x:`3`,y:`4`,width:`6`,height:`6`,rx:`1`,key:`cif1o7`}]]),Np=l(`list`,[[`path`,{d:`M3 5h.01`,key:`18ugdj`}],[`path`,{d:`M3 12h.01`,key:`nlz23k`}],[`path`,{d:`M3 19h.01`,key:`noohij`}],[`path`,{d:`M8 5h13`,key:`1pao27`}],[`path`,{d:`M8 12h13`,key:`1za7za`}],[`path`,{d:`M8 19h13`,key:`m83p4d`}]]),Pp=l(`loader-circle`,[[`path`,{d:`M21 12a9 9 0 1 1-6.219-8.56`,key:`13zald`}]]),Fp=l(`maximize-2`,[[`path`,{d:`M15 3h6v6`,key:`1q9fwt`}],[`path`,{d:`m21 3-7 7`,key:`1l2asr`}],[`path`,{d:`m3 21 7-7`,key:`tjx5ai`}],[`path`,{d:`M9 21H3v-6`,key:`wtvkvv`}]]),Ip=l(`message-circle-question-mark`,[[`path`,{d:`M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719`,key:`1sd12s`}],[`path`,{d:`M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3`,key:`1u773s`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]]),Lp=l(`message-square-plus`,[[`path`,{d:`M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z`,key:`18887p`}],[`path`,{d:`M12 8v6`,key:`1ib9pf`}],[`path`,{d:`M9 11h6`,key:`1fldmi`}]]),Rp=l(`message-square`,[[`path`,{d:`M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z`,key:`18887p`}]]),zp=l(`messages-square`,[[`path`,{d:`M16 10a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 14.286V4a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2z`,key:`1n2ejm`}],[`path`,{d:`M20 9a2 2 0 0 1 2 2v10.286a.71.71 0 0 1-1.212.502l-2.202-2.202A2 2 0 0 0 17.172 19H10a2 2 0 0 1-2-2v-1`,key:`1qfcsi`}]]),Bp=l(`minimize-2`,[[`path`,{d:`m14 10 7-7`,key:`oa77jy`}],[`path`,{d:`M20 10h-6V4`,key:`mjg0md`}],[`path`,{d:`m3 21 7-7`,key:`tjx5ai`}],[`path`,{d:`M4 14h6v6`,key:`rmj7iw`}]]),Vp=l(`monitor`,[[`rect`,{width:`20`,height:`14`,x:`2`,y:`3`,rx:`2`,key:`48i651`}],[`line`,{x1:`8`,x2:`16`,y1:`21`,y2:`21`,key:`1svkeh`}],[`line`,{x1:`12`,x2:`12`,y1:`17`,y2:`21`,key:`vw1qmm`}]]),Hp=l(`moon`,[[`path`,{d:`M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401`,key:`kfwtm`}]]),Up=l(`network`,[[`rect`,{x:`16`,y:`16`,width:`6`,height:`6`,rx:`1`,key:`4q2zg0`}],[`rect`,{x:`2`,y:`16`,width:`6`,height:`6`,rx:`1`,key:`8cvhb9`}],[`rect`,{x:`9`,y:`2`,width:`6`,height:`6`,rx:`1`,key:`1egb70`}],[`path`,{d:`M5 16v-3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v3`,key:`1jsf9p`}],[`path`,{d:`M12 12V8`,key:`2874zd`}]]),Wp=l(`package-check`,[[`path`,{d:`M12 22V12`,key:`d0xqtd`}],[`path`,{d:`m16 17 2 2 4-4`,key:`uh5qu3`}],[`path`,{d:`M21 11.127V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.729l7 4a2 2 0 0 0 2 .001l1.32-.753`,key:`kpkbpo`}],[`path`,{d:`M3.29 7 12 12l8.71-5`,key:`19ckod`}],[`path`,{d:`m7.5 4.27 8.997 5.148`,key:`9yrvtv`}]]),Gp=l(`package`,[[`path`,{d:`M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z`,key:`1a0edw`}],[`path`,{d:`M12 22V12`,key:`d0xqtd`}],[`polyline`,{points:`3.29 7 12 12 20.71 7`,key:`ousv84`}],[`path`,{d:`m7.5 4.27 9 5.15`,key:`1c824w`}]]),Kp=l(`panel-left-open`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M9 3v18`,key:`fh3hqa`}],[`path`,{d:`m14 9 3 3-3 3`,key:`8010ee`}]]),qp=l(`panel-right`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M15 3v18`,key:`14nvp0`}]]),Jp=l(`paperclip`,[[`path`,{d:`m16 6-8.414 8.586a2 2 0 0 0 2.829 2.829l8.414-8.586a4 4 0 1 0-5.657-5.657l-8.379 8.551a6 6 0 1 0 8.485 8.485l8.379-8.551`,key:`1miecu`}]]),Yp=l(`pencil`,[[`path`,{d:`M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z`,key:`1a8usu`}],[`path`,{d:`m15 5 4 4`,key:`1mk7zo`}]]),Xp=l(`play`,[[`path`,{d:`M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z`,key:`10ikf1`}]]),Zp=l(`plug-zap`,[[`path`,{d:`M6.3 20.3a2.4 2.4 0 0 0 3.4 0L12 18l-6-6-2.3 2.3a2.4 2.4 0 0 0 0 3.4Z`,key:`goz73y`}],[`path`,{d:`m2 22 3-3`,key:`19mgm9`}],[`path`,{d:`M7.5 13.5 10 11`,key:`7xgeeb`}],[`path`,{d:`M10.5 16.5 13 14`,key:`10btkg`}],[`path`,{d:`m18 3-4 4h6l-4 4`,key:`16psg9`}]]),Qp=l(`plug`,[[`path`,{d:`M12 22v-5`,key:`1ega77`}],[`path`,{d:`M15 8V2`,key:`18g5xt`}],[`path`,{d:`M17 8a1 1 0 0 1 1 1v4a4 4 0 0 1-4 4h-4a4 4 0 0 1-4-4V9a1 1 0 0 1 1-1z`,key:`1xoxul`}],[`path`,{d:`M9 8V2`,key:`14iosj`}]]),$p=l(`plus`,[[`path`,{d:`M5 12h14`,key:`1ays0h`}],[`path`,{d:`M12 5v14`,key:`s699le`}]]),em=l(`refresh-ccw`,[[`path`,{d:`M21 12a9 9 0 0 0-9-9 9.75 9.75 0 0 0-6.74 2.74L3 8`,key:`14sxne`}],[`path`,{d:`M3 3v5h5`,key:`1xhq8a`}],[`path`,{d:`M3 12a9 9 0 0 0 9 9 9.75 9.75 0 0 0 6.74-2.74L21 16`,key:`1hlbsb`}],[`path`,{d:`M16 16h5v5`,key:`ccwih5`}]]),tm=l(`refresh-cw`,[[`path`,{d:`M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8`,key:`v9h5vc`}],[`path`,{d:`M21 3v5h-5`,key:`1q7to0`}],[`path`,{d:`M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16`,key:`3uifl3`}],[`path`,{d:`M8 16H3v5`,key:`1cv678`}]]),nm=l(`search`,[[`path`,{d:`m21 21-4.34-4.34`,key:`14j7rj`}],[`circle`,{cx:`11`,cy:`11`,r:`8`,key:`4ej97u`}]]),rm=l(`send`,[[`path`,{d:`M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z`,key:`1ffxy3`}],[`path`,{d:`m21.854 2.147-10.94 10.939`,key:`12cjpa`}]]),im=l(`server-cog`,[[`path`,{d:`m10.852 14.772-.383.923`,key:`11vil6`}],[`path`,{d:`M13.148 14.772a3 3 0 1 0-2.296-5.544l-.383-.923`,key:`1v3clb`}],[`path`,{d:`m13.148 9.228.383-.923`,key:`t2zzyc`}],[`path`,{d:`m13.53 15.696-.382-.924a3 3 0 1 1-2.296-5.544`,key:`1bxfiv`}],[`path`,{d:`m14.772 10.852.923-.383`,key:`k9m8cz`}],[`path`,{d:`m14.772 13.148.923.383`,key:`1xvhww`}],[`path`,{d:`M4.5 10H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2h-.5`,key:`tn8das`}],[`path`,{d:`M4.5 14H4a2 2 0 0 0-2 2v4a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-4a2 2 0 0 0-2-2h-.5`,key:`1g2pve`}],[`path`,{d:`M6 18h.01`,key:`uhywen`}],[`path`,{d:`M6 6h.01`,key:`1utrut`}],[`path`,{d:`m9.228 10.852-.923-.383`,key:`1wtb30`}],[`path`,{d:`m9.228 13.148-.923.383`,key:`1a830x`}]]),am=l(`shield-alert`,[[`path`,{d:`M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z`,key:`oel41y`}],[`path`,{d:`M12 8v4`,key:`1got3b`}],[`path`,{d:`M12 16h.01`,key:`1drbdi`}]]),om=l(`shield-check`,[[`path`,{d:`M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z`,key:`oel41y`}],[`path`,{d:`m9 12 2 2 4-4`,key:`dzmm74`}]]),sm=l(`sparkles`,[[`path`,{d:`M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z`,key:`1s2grr`}],[`path`,{d:`M20 2v4`,key:`1rf3ol`}],[`path`,{d:`M22 4h-4`,key:`gwowj6`}],[`circle`,{cx:`4`,cy:`20`,r:`2`,key:`6kqj1y`}]]),cm=l(`square-pen`,[[`path`,{d:`M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7`,key:`1m0v6g`}],[`path`,{d:`M18.375 2.625a1 1 0 0 1 3 3l-9.013 9.014a2 2 0 0 1-.853.505l-2.873.84a.5.5 0 0 1-.62-.62l.84-2.873a2 2 0 0 1 .506-.852z`,key:`ohrbg2`}]]),lm=l(`square`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}]]),um=l(`sun`,[[`circle`,{cx:`12`,cy:`12`,r:`4`,key:`4exip2`}],[`path`,{d:`M12 2v2`,key:`tus03m`}],[`path`,{d:`M12 20v2`,key:`1lh1kg`}],[`path`,{d:`m4.93 4.93 1.41 1.41`,key:`149t6j`}],[`path`,{d:`m17.66 17.66 1.41 1.41`,key:`ptbguv`}],[`path`,{d:`M2 12h2`,key:`1t8f8n`}],[`path`,{d:`M20 12h2`,key:`1q8mjw`}],[`path`,{d:`m6.34 17.66-1.41 1.41`,key:`1m8zz5`}],[`path`,{d:`m19.07 4.93-1.41 1.41`,key:`1shlcs`}]]),dm=l(`target`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`circle`,{cx:`12`,cy:`12`,r:`6`,key:`1vlfrh`}],[`circle`,{cx:`12`,cy:`12`,r:`2`,key:`1c9p78`}]]),fm=l(`terminal`,[[`path`,{d:`M12 19h8`,key:`baeox8`}],[`path`,{d:`m4 17 6-6-6-6`,key:`1yngyt`}]]),pm=l(`text-wrap`,[[`path`,{d:`m16 16-3 3 3 3`,key:`117b85`}],[`path`,{d:`M3 12h14.5a1 1 0 0 1 0 7H13`,key:`18xa6z`}],[`path`,{d:`M3 19h6`,key:`1ygdsz`}],[`path`,{d:`M3 5h18`,key:`1u36vt`}]]),mm=l(`thumbs-down`,[[`path`,{d:`M9 18.12 10 14H4.17a2 2 0 0 1-1.92-2.56l2.33-8A2 2 0 0 1 6.5 2H20a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2h-2.76a2 2 0 0 0-1.79 1.11L12 22a3.13 3.13 0 0 1-3-3.88Z`,key:`m61m77`}],[`path`,{d:`M17 14V2`,key:`8ymqnk`}]]),hm=l(`thumbs-up`,[[`path`,{d:`M15 5.88 14 10h5.83a2 2 0 0 1 1.92 2.56l-2.33 8A2 2 0 0 1 17.5 22H4a2 2 0 0 1-2-2v-8a2 2 0 0 1 2-2h2.76a2 2 0 0 0 1.79-1.11L12 2a3.13 3.13 0 0 1 3 3.88Z`,key:`emmmcr`}],[`path`,{d:`M7 10v12`,key:`1qc93n`}]]),gm=l(`trash-2`,[[`path`,{d:`M10 11v6`,key:`nco0om`}],[`path`,{d:`M14 11v6`,key:`outv1u`}],[`path`,{d:`M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6`,key:`miytrc`}],[`path`,{d:`M3 6h18`,key:`d0wm0j`}],[`path`,{d:`M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2`,key:`e791ji`}]]),_m=l(`upload`,[[`path`,{d:`M12 3v12`,key:`1x0j5s`}],[`path`,{d:`m17 8-5-5-5 5`,key:`7q97r8`}],[`path`,{d:`M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4`,key:`ih7n3h`}]]),vm=l(`users-round`,[[`path`,{d:`M18 21a8 8 0 0 0-16 0`,key:`3ypg7q`}],[`circle`,{cx:`10`,cy:`8`,r:`5`,key:`o932ke`}],[`path`,{d:`M22 20c0-3.37-2-6.5-4-8a5 5 0 0 0-.45-8.3`,key:`10s06x`}]]),ym=l(`users`,[[`path`,{d:`M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2`,key:`1yyitq`}],[`path`,{d:`M16 3.128a4 4 0 0 1 0 7.744`,key:`16gr8j`}],[`path`,{d:`M22 21v-2a4 4 0 0 0-3-3.87`,key:`kshegd`}],[`circle`,{cx:`9`,cy:`7`,r:`4`,key:`nufk8`}]]),bm=l(`wifi-off`,[[`path`,{d:`M12 20h.01`,key:`zekei9`}],[`path`,{d:`M8.5 16.429a5 5 0 0 1 7 0`,key:`1bycff`}],[`path`,{d:`M5 12.859a10 10 0 0 1 5.17-2.69`,key:`1dl1wf`}],[`path`,{d:`M19 12.859a10 10 0 0 0-2.007-1.523`,key:`4k23kn`}],[`path`,{d:`M2 8.82a15 15 0 0 1 4.177-2.643`,key:`1grhjp`}],[`path`,{d:`M22 8.82a15 15 0 0 0-11.288-3.764`,key:`z3jwby`}],[`path`,{d:`m2 2 20 20`,key:`1ooewy`}]]),xm=l(`wrench`,[[`path`,{d:`M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z`,key:`1ngwbx`}]]),Sm=l(`x`,[[`path`,{d:`M18 6 6 18`,key:`1bl5f8`}],[`path`,{d:`m6 6 12 12`,key:`d8bk6v`}]]),Cm=l(`zap-off`,[[`path`,{d:`M10.768 5.111 13.44 2.44a1.5 1.5 0 012.474 1.561l-1.633 4.625`,key:`l6h226`}],[`path`,{d:`m18.889 13.232.672-.672A1.5 1.5 0 0018.5 10h-2.844`,key:`1717b9`}],[`path`,{d:`m2 2 20 20`,key:`1ooewy`}],[`path`,{d:`m7.94 7.94-3.5 3.499A1.5 1.5 0 005.5 14h4.002a.5.5 0 01.471.666L8.086 20a1.5 1.5 0 002.475 1.56l5.5-5.5`,key:`1bjzrh`}]]),wm=l(`zap`,[[`path`,{d:`M15.914 4a1.5 1.5 0 00-2.474-1.561l-9 9A1.5 1.5 0 005.5 14h4.002a.5.5 0 01.471.666L8.086 20a1.5 1.5 0 002.475 1.56l9-9A1.5 1.5 0 0018.5 10h-3.997a.5.5 0 01-.472-.667z`,key:`1v7up4`}]]),Tm=Object.defineProperty,Em=(e,t)=>Tm(e,`name`,{value:t,configurable:!0}),Dm=!!(typeof window<`u`&&window.document&&window.document.createElement);function Om(e,t,{checkForDefaultPrevented:n=!0}={}){return Em(function(r){if(e?.(r),n===!1||!r||!r.defaultPrevented)return t?.(r)},`handleEvent`)}Em(Om,`composeEventHandlers`);function km(e){if(!Dm)throw Error(`Cannot access window outside of the DOM`);return e?.ownerDocument?.defaultView??window}Em(km,`getOwnerWindow`);function Am(e){if(!Dm)throw Error(`Cannot access document outside of the DOM`);return e?.ownerDocument??document}Em(Am,`getOwnerDocument`);function jm(e,t=!1){let{activeElement:n}=Am(e);if(!n?.nodeName)return null;if(Mm(n)&&n.contentDocument)return jm(n.contentDocument.body,t);if(t){let e=n.getAttribute(`aria-activedescendant`);if(e){let t=Am(n).getElementById(e);if(t)return t}}return n}Em(jm,`getActiveElement`);function Mm(e){return e.tagName===`IFRAME`}Em(Mm,`isFrame`);var Nm=Object.defineProperty,Pm=(e,t)=>Nm(e,`name`,{value:t,configurable:!0});function Fm(e,t){if(typeof e==`function`)return e(t);e!=null&&(e.current=t)}Pm(Fm,`setRef`);function Im(...e){return t=>{let n=!1,r=e.map(e=>{let r=Fm(e,t);return!n&&typeof r==`function`&&(n=!0),r});if(n)return()=>{for(let t=0;t<r.length;t++){let n=r[t];typeof n==`function`?n():Fm(e[t],null)}}}}Pm(Im,`composeRefs`);function Lm(...e){return g.useCallback(Im(...e),e)}Pm(Lm,`useComposedRefs`);var Rm=Object.defineProperty,zm=(e,t)=>Rm(e,`name`,{value:t,configurable:!0});function Bm(e,t){let n=g.createContext(t);n.displayName=e+`Context`;let r=zm(e=>{let{children:t,...r}=e,i=g.useMemo(()=>r,Object.values(r));return(0,v.jsx)(n.Provider,{value:i,children:t})},`Provider`);r.displayName=e+`Provider`;function i(r,i={}){let{optional:a=!1}=i,o=g.useContext(n);if(o)return o;if(t!==void 0)return t;if(!a)throw Error(`\`${r}\` must be used within \`${e}\``)}return zm(i,`useContext`),[r,i]}zm(Bm,`createContext`);function Vm(e,t=[]){let n=[];function r(t,r){let i=g.createContext(r);i.displayName=t+`Context`;let a=n.length;n=[...n,r];let o=zm(t=>{let{scope:n,children:r,...o}=t,s=n?.[e]?.[a]||i,c=g.useMemo(()=>o,Object.values(o));return(0,v.jsx)(s.Provider,{value:c,children:r})},`Provider`);o.displayName=t+`Provider`;function s(n,o,s={}){let{optional:c=!1}=s,l=o?.[e]?.[a]||i,u=g.useContext(l);if(u)return u;if(r!==void 0)return r;if(!c)throw Error(`\`${n}\` must be used within \`${t}\``)}return zm(s,`useContext`),[o,s]}zm(r,`createContext`);let i=zm(()=>{let t=n.map(e=>g.createContext(e));return zm(function(n){let r=n?.[e]||t;return g.useMemo(()=>({[`__scope${e}`]:{...n,[e]:r}}),[n,r])},`useScope`)},`createScope`);return i.scopeName=e,[r,Hm(i,...t)]}zm(Vm,`createContextScope`);function Hm(...e){let t=e[0];if(e.length===1)return t;let n=zm(()=>{let n=e.map(e=>({useScope:e(),scopeName:e.scopeName}));return zm(function(e){let r=n.reduce((t,{useScope:n,scopeName:r})=>{let i=n(e)[`__scope${r}`];return{...t,...i}},{});return g.useMemo(()=>({[`__scope${t.scopeName}`]:r}),[r])},`useComposedScopes`)},`createScope`);return n.scopeName=t.scopeName,n}zm(Hm,`composeContextScopes`);var Um=globalThis?.document?g.useLayoutEffect:()=>{},Wm=Object.defineProperty,Gm=(e,t)=>Wm(e,`name`,{value:t,configurable:!0}),Km=g.useId||(()=>void 0),qm=0;function Jm(e){let[t,n]=g.useState(Km());return Um(()=>{e||n(e=>e??String(qm++))},[e]),e||(t?`radix-${t}`:``)}Gm(Jm,`useId`);var Ym=Object.defineProperty,Xm=(e,t)=>Ym(e,`name`,{value:t,configurable:!0}),Zm=g.useEffectEvent,Qm=g.useInsertionEffect;function $m(e){if(typeof Zm==`function`)return Zm(e);let t=g.useRef(()=>{throw Error(`Cannot call an event handler while rendering.`)});return typeof Qm==`function`?Qm(()=>{t.current=e}):Um(()=>{t.current=e}),g.useMemo(()=>((...e)=>t.current?.(...e)),[])}Xm($m,`useEffectEvent`);var eh=Object.defineProperty,th=(e,t)=>eh(e,`name`,{value:t,configurable:!0}),nh=g.useInsertionEffect||Um;function rh({prop:e,defaultProp:t,onChange:n=th(()=>{},`onChange`),caller:r}){let[i,a,o]=ih({defaultProp:t,onChange:n}),s=e!==void 0;return[s?e:i,g.useCallback(t=>{if(s){let n=ah(t)?t(e):t;n!==e&&o.current?.(n)}else a(t)},[s,e,a,o])]}th(rh,`useControllableState`);function ih({defaultProp:e,onChange:t}){let[n,r]=g.useState(e),i=g.useRef(n),a=g.useRef(t);return nh(()=>{a.current=t},[t]),g.useEffect(()=>{i.current!==n&&(a.current?.(n),i.current=n)},[n,i]),[n,r,a]}th(ih,`useUncontrolledState`);function ah(e){return typeof e==`function`}th(ah,`isFunction`);var oh=Symbol(`RADIX:SYNC_STATE`);function sh(e,t,n,r){let{prop:i,defaultProp:a,onChange:o,caller:s}=t,c=i!==void 0,l=$m(o),u=[{...n,state:a}];r&&u.push(r);let[d,f]=g.useReducer((t,n)=>{if(n.type===oh)return{...t,state:n.state};let r=e(t,n);return c&&!Object.is(r.state,t.state)&&l(r.state),r},...u),p=d.state,m=g.useRef(p);g.useEffect(()=>{m.current!==p&&(m.current=p,c||l(p))},[p,m,c]);let h=g.useMemo(()=>i===void 0?d:{...d,state:i},[d,i]);return g.useEffect(()=>{c&&!Object.is(i,d.state)&&f({type:oh,state:i})},[i,d.state,c]),[h,f]}th(sh,`useControllableStateReducer`);var ch=Object.defineProperty,lh=(e,t)=>ch(e,`name`,{value:t,configurable:!0});function uh(e){let t=g.forwardRef((t,n)=>{let{children:r,...i}=t,a=null,o=!1,s=[];vh(r)&&typeof Sh==`function`&&(r=Sh(r._payload)),g.Children.forEach(r,e=>{if(gh(e)){o=!0;let t=e,n=`child`in t.props?t.props.child:t.props.children;vh(n)&&typeof Sh==`function`&&(n=Sh(n._payload)),a=ph(t,n),s.push(a?.props?.children)}else s.push(e)}),a?a=g.cloneElement(a,void 0,s):!o&&g.Children.count(r)===1&&g.isValidElement(r)&&(a=r);let c=a?hh(a):void 0,l=Lm(n,c);if(!a){if(r||r===0)throw Error(o?xh(e):bh(e));return r}let u=mh(i,a.props??{});return a.type!==g.Fragment&&(u.ref=n?l:c),g.cloneElement(a,u)});return t.displayName=`${e}.Slot`,t}lh(uh,`createSlot`);var dh=Symbol.for(`radix.slottable`);function fh(e){let t=lh(e=>`child`in e?e.children(e.child):e.children,`Slottable`);return t.displayName=`${e}.Slottable`,t.__radixId=dh,t}lh(fh,`createSlottable`);var ph=lh((e,t)=>{if(`child`in e.props){let t=e.props.child;return g.isValidElement(t)?g.cloneElement(t,void 0,e.props.children(t.props.children)):null}return g.isValidElement(t)?t:null},`getSlottableElementFromSlottable`);function mh(e,t){let n={...t};for(let r in t){let i=e[r],a=t[r];/^on[A-Z]/.test(r)?i&&a?n[r]=(...e)=>{let t=a(...e);return i(...e),t}:i&&(n[r]=i):r===`style`?n[r]={...i,...a}:r===`className`&&(n[r]=[i,a].filter(Boolean).join(` `))}return{...e,...n}}lh(mh,`mergeProps`);function hh(e){let t=Object.getOwnPropertyDescriptor(e.props,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}lh(hh,`getElementRef`);function gh(e){return g.isValidElement(e)&&typeof e.type==`function`&&`__radixId`in e.type&&e.type.__radixId===dh}lh(gh,`isSlottable`);var _h=Symbol.for(`react.lazy`);function vh(e){return typeof e==`object`&&!!e&&`$$typeof`in e&&e.$$typeof===_h&&`_payload`in e&&yh(e._payload)}lh(vh,`isLazyComponent`);function yh(e){return typeof e==`object`&&!!e&&`then`in e}lh(yh,`isPromiseLike`);var bh=lh(e=>`${e} failed to slot onto its children. Expected a single React element child or \`Slottable\`.`,`createSlotError`),xh=lh(e=>`${e} failed to slot onto its \`Slottable\`. Expected \`Slottable\` to receive a single React element child.`,`createSlottableError`),Sh=g.use,Ch=Object.defineProperty,wh=(e,t)=>Ch(e,`name`,{value:t,configurable:!0}),Th=[`a`,`button`,`div`,`form`,`h2`,`h3`,`img`,`input`,`label`,`li`,`nav`,`ol`,`p`,`select`,`span`,`svg`,`ul`].reduce((e,t)=>{let n=uh(`Primitive.${t}`),r=g.forwardRef((e,r)=>{let{asChild:i,...a}=e,o=i?n:t;return typeof window<`u`&&(window[Symbol.for(`radix-ui`)]=!0),(0,v.jsx)(o,{...a,ref:r})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{});function Eh(e,t){e&&x.flushSync(()=>e.dispatchEvent(t))}wh(Eh,`dispatchDiscreteCustomEvent`);var Dh=Object.defineProperty,Oh=(e,t)=>Dh(e,`name`,{value:t,configurable:!0});function kh(e){let t=g.useRef(e);return g.useEffect(()=>{t.current=e}),g.useMemo(()=>((...e)=>t.current?.(...e)),[])}Oh(kh,`useCallbackRef`);var Ah=Object.defineProperty,jh=(e,t)=>Ah(e,`name`,{value:t,configurable:!0}),Mh=`dismissableLayer.update`,Nh=`dismissableLayer.pointerDownOutside`,Ph=`dismissableLayer.focusOutside`,Fh,Ih=g.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set,dismissableSurfaces:new Set}),Lh=g.forwardRef(jh(function(e,t){let{disableOutsidePointerEvents:n=!1,deferPointerDownOutside:r=!1,onEscapeKeyDown:i,onPointerDownOutside:a,onFocusOutside:o,onInteractOutside:s,onDismiss:c,...l}=e,u=g.useContext(Ih),[d,f]=g.useState(null),p=d?.ownerDocument??globalThis?.document,[,m]=g.useState({}),h=Lm(t,f),_=Array.from(u.layers),[y]=[...u.layersWithOutsidePointerEventsDisabled].slice(-1),b=y?_.indexOf(y):-1,x=d?_.indexOf(d):-1,S=u.layersWithOutsidePointerEventsDisabled.size>0,C=x>=b,w=g.useRef(!1),T=Bh(e=>{a?.(e),s?.(e),e.defaultPrevented||c?.()},{ownerDocument:p,deferPointerDownOutside:r,isDeferredPointerDownOutsideRef:w,dismissableSurfaces:u.dismissableSurfaces,shouldHandlePointerDownOutside:g.useCallback(e=>{if(!(e instanceof Node))return!1;let t=[...u.branches].some(t=>t.contains(e));return C&&!t},[u.branches,C])}),E=Vh(e=>{if(r&&w.current)return;let t=e.target;[...u.branches].some(e=>e.contains(t))||(o?.(e),s?.(e),e.defaultPrevented||c?.())},p),D=d?x===_.length-1:!1,O=kh(e=>{e.key===`Escape`&&(i?.(e),!e.defaultPrevented&&c&&(e.preventDefault(),c()))});return g.useEffect(()=>{if(D)return p.addEventListener(`keydown`,O,{capture:!0}),()=>p.removeEventListener(`keydown`,O,{capture:!0})},[p,D,O]),g.useEffect(()=>{if(d)return n&&(u.layersWithOutsidePointerEventsDisabled.size===0&&(Fh=p.body.style.pointerEvents,p.body.style.pointerEvents=`none`),u.layersWithOutsidePointerEventsDisabled.add(d)),u.layers.add(d),Hh(),()=>{n&&(u.layersWithOutsidePointerEventsDisabled.delete(d),u.layersWithOutsidePointerEventsDisabled.size===0&&(p.body.style.pointerEvents=Fh))}},[d,p,n,u]),g.useEffect(()=>()=>{d&&(u.layers.delete(d),u.layersWithOutsidePointerEventsDisabled.delete(d),Hh())},[d,u]),g.useEffect(()=>{let e=jh(()=>m({}),`handleUpdate`);return document.addEventListener(Mh,e),()=>document.removeEventListener(Mh,e)},[]),(0,v.jsx)(Th.div,{...l,ref:h,style:{pointerEvents:S?C?`auto`:`none`:void 0,...e.style},onFocusCapture:Om(e.onFocusCapture,E.onFocusCapture),onBlurCapture:Om(e.onBlurCapture,E.onBlurCapture),onPointerDownCapture:Om(e.onPointerDownCapture,T.onPointerDownCapture)})},`DismissableLayer`));function Rh(){let e=g.useContext(Ih),[t,n]=g.useState(null);return g.useEffect(()=>{if(t)return e.dismissableSurfaces.add(t),()=>{e.dismissableSurfaces.delete(t)}},[t,e.dismissableSurfaces]),n}jh(Rh,`useDismissableLayerSurface`);var zh=jh(()=>!0,`IS_TRUE`);function Bh(e,t){let{ownerDocument:n=globalThis?.document,deferPointerDownOutside:r=!1,isDeferredPointerDownOutsideRef:i,dismissableSurfaces:a,shouldHandlePointerDownOutside:o=zh}=t,s=kh(e),c=g.useRef(!1),l=g.useRef(!1),u=g.useRef(new Map),d=g.useRef(()=>{});return g.useEffect(()=>{function e(){l.current=!1,i.current=!1,u.current.clear()}jh(e,`resetOutsideInteraction`);function t(){return Array.from(u.current.values()).some(Boolean)}jh(t,`isOutsideInteractionIntercepted`);function f(e){if(!l.current)return;let t=e.target;t instanceof Node&&[...a].some(e=>e.contains(t))||u.current.set(e.type,!0),e.type===`click`&&window.setTimeout(()=>{l.current&&d.current()},0)}jh(f,`handleInteractionCapture`);function p(e){l.current&&u.current.set(e.type,!1)}jh(p,`handleInteractionBubble`);let m=jh(a=>{if(a.target&&!c.current){let f=function(){n.removeEventListener(`click`,d.current);let r=t();e(),r||Uh(Nh,s,p,{discrete:!0})};if(jh(f,`handleAndDispatchPointerDownOutsideEvent`),!o(a.target)){n.removeEventListener(`click`,d.current),e(),c.current=!1;return}let p={originalEvent:a};l.current=!0,i.current=r&&a.button===0,u.current.clear(),!r||a.button!==0?f():(n.removeEventListener(`click`,d.current),d.current=f,n.addEventListener(`click`,d.current,{once:!0}))}else n.removeEventListener(`click`,d.current),e();c.current=!1},`handlePointerDown`),h=[`pointerup`,`mousedown`,`mouseup`,`touchstart`,`touchend`,`click`];for(let e of h)n.addEventListener(e,f,!0),n.addEventListener(e,p);let g=window.setTimeout(()=>{n.addEventListener(`pointerdown`,m)},0);return()=>{window.clearTimeout(g),n.removeEventListener(`pointerdown`,m),n.removeEventListener(`click`,d.current);for(let e of h)n.removeEventListener(e,f,!0),n.removeEventListener(e,p)}},[n,s,r,i,a,o]),{onPointerDownCapture:jh(()=>c.current=!0,`onPointerDownCapture`)}}jh(Bh,`usePointerDownOutside`);function Vh(e,t=globalThis?.document){let n=kh(e),r=g.useRef(!1);return g.useEffect(()=>{let e=jh(e=>{e.target&&!r.current&&Uh(Ph,n,{originalEvent:e},{discrete:!1})},`handleFocus`);return t.addEventListener(`focusin`,e),()=>t.removeEventListener(`focusin`,e)},[t,n]),{onFocusCapture:jh(()=>r.current=!0,`onFocusCapture`),onBlurCapture:jh(()=>r.current=!1,`onBlurCapture`)}}jh(Vh,`useFocusOutside`);function Hh(){let e=new CustomEvent(Mh);document.dispatchEvent(e)}jh(Hh,`dispatchUpdate`);function Uh(e,t,n,{discrete:r}){let i=n.originalEvent.target,a=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&i.addEventListener(e,t,{once:!0}),r?Eh(i,a):i.dispatchEvent(a)}jh(Uh,`handleAndDispatchCustomEvent`);var Wh=Object.defineProperty,Gh=(e,t)=>Wh(e,`name`,{value:t,configurable:!0}),Kh=`focusScope.autoFocusOnMount`,qh=`focusScope.autoFocusOnUnmount`,Jh={bubbles:!1,cancelable:!0},Yh=g.forwardRef(Gh(function(e,t){let{loop:n=!1,trapped:r=!1,onMountAutoFocus:i,onUnmountAutoFocus:a,...o}=e,[s,c]=g.useState(null),l=kh(i),u=kh(a),d=g.useRef(null),f=Lm(t,c),p=g.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;g.useEffect(()=>{if(r){let e=function(e){if(p.paused||!s)return;let t=e.target;s.contains(t)?d.current=t:ng(d.current,{select:!0})},t=function(e){if(p.paused||!s)return;let t=e.relatedTarget;t!==null&&(s.contains(t)||ng(d.current,{select:!0}))},n=function(e){if(document.activeElement===document.body)for(let t of e)t.removedNodes.length>0&&ng(s)};Gh(e,`handleFocusIn`),Gh(t,`handleFocusOut`),Gh(n,`handleMutations`),document.addEventListener(`focusin`,e),document.addEventListener(`focusout`,t);let r=new MutationObserver(n);return s&&r.observe(s,{childList:!0,subtree:!0}),()=>{document.removeEventListener(`focusin`,e),document.removeEventListener(`focusout`,t),r.disconnect()}}},[r,s,p.paused]),g.useEffect(()=>{if(s){rg.add(p);let e=document.activeElement;if(!s.contains(e)){let t=new CustomEvent(Kh,Jh);s.addEventListener(Kh,l),s.dispatchEvent(t),t.defaultPrevented||(Xh(og(Qh(s)),{select:!0}),document.activeElement===e&&ng(s))}return()=>{s.removeEventListener(Kh,l),setTimeout(()=>{let t=new CustomEvent(qh,Jh);s.addEventListener(qh,u),s.dispatchEvent(t),t.defaultPrevented||ng(e??document.body,{select:!0}),s.removeEventListener(qh,u),rg.remove(p)},0)}}},[s,l,u,p]);let m=g.useCallback(e=>{if(!n&&!r||p.paused)return;let t=e.key===`Tab`&&!e.altKey&&!e.ctrlKey&&!e.metaKey,i=document.activeElement;if(t&&i){let t=e.currentTarget,[r,a]=Zh(t);r&&a?!e.shiftKey&&i===a?(e.preventDefault(),n&&ng(r,{select:!0})):e.shiftKey&&i===r&&(e.preventDefault(),n&&ng(a,{select:!0})):i===t&&e.preventDefault()}},[n,r,p.paused]);return(0,v.jsx)(Th.div,{tabIndex:-1,...o,ref:f,onKeyDown:m})},`FocusScope`));function Xh(e,{select:t=!1}={}){let n=document.activeElement;for(let r of e)if(ng(r,{select:t}),document.activeElement!==n)return}Gh(Xh,`focusFirst`);function Zh(e){let t=Qh(e);return[$h(t,e),$h(t.reverse(),e)]}Gh(Zh,`getTabbableEdges`);function Qh(e){let t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:Gh(e=>{let t=e.tagName===`INPUT`&&e.type===`hidden`;return e.disabled||e.hidden||t?NodeFilter.FILTER_SKIP:e.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP},`acceptNode`)});for(;n.nextNode();)t.push(n.currentNode);return t}Gh(Qh,`getTabbableCandidates`);function $h(e,t){let n=typeof t.checkVisibility==`function`&&t.checkVisibility({checkVisibilityCSS:!0});for(let r of e)if(!(n?!r.checkVisibility({checkVisibilityCSS:!0}):eg(r,{upTo:t})))return r}Gh($h,`findVisible`);function eg(e,{upTo:t}){if(getComputedStyle(e).visibility===`hidden`)return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display===`none`)return!0;e=e.parentElement}return!1}Gh(eg,`isHidden`);function tg(e){return e instanceof HTMLInputElement&&`select`in e}Gh(tg,`isSelectableInput`);function ng(e,{select:t=!1}={}){if(e&&e.focus){let n=document.activeElement;e.focus({preventScroll:!0}),e!==n&&tg(e)&&t&&e.select()}}Gh(ng,`focus`);var rg=ig();function ig(){let e=[];return{add(t){let n=e[0];t!==n&&n?.pause(),e=ag(e,t),e.unshift(t)},remove(t){e=ag(e,t),e[0]?.resume()}}}Gh(ig,`createFocusScopesStack`);function ag(e,t){let n=[...e],r=n.indexOf(t);return r!==-1&&n.splice(r,1),n}Gh(ag,`arrayRemove`);function og(e){return e.filter(e=>e.tagName!==`A`)}Gh(og,`removeLinks`);var sg=Object.defineProperty,cg=g.forwardRef(((e,t)=>sg(e,`name`,{value:t,configurable:!0}))(function(e,t){let{container:n,...r}=e,[i,a]=g.useState(!1);Um(()=>a(!0),[]);let o=n||i&&globalThis?.document?.body;return o?x.createPortal((0,v.jsx)(Th.div,{...r,ref:t}),o):null},`Portal`)),lg=Object.defineProperty,ug=(e,t)=>lg(e,`name`,{value:t,configurable:!0});function dg(e,t){return g.useReducer((e,n)=>t[e][n]??e,e)}ug(dg,`useStateMachine`);var fg=ug(e=>{let{present:t,children:n}=e,r=pg(t),i=typeof n==`function`?n({present:r.isPresent}):g.Children.only(n),a=hg(r.ref,_g(i));return typeof n==`function`||r.isPresent?g.cloneElement(i,{ref:a}):null},`Presence`);function pg(e){let[t,n]=g.useState(),r=g.useRef(null),i=g.useRef(e),a=g.useRef(`none`),o=g.useRef(void 0),[s,c]=dg(e?`mounted`:`unmounted`,{mounted:{UNMOUNT:`unmounted`,ANIMATION_OUT:`unmountSuspended`},unmountSuspended:{MOUNT:`mounted`,ANIMATION_END:`unmounted`},unmounted:{MOUNT:`mounted`}});return g.useEffect(()=>{s===`mounted`?(a.current=o.current??gg(r.current),o.current=void 0):a.current=`none`},[s]),Um(()=>{let t=r.current,n=i.current;if(n!==e){let r=a.current,s=gg(t);e?(o.current=s,c(`MOUNT`)):s===`none`||t?.display===`none`?c(`UNMOUNT`):c(n&&r!==s?`ANIMATION_OUT`:`UNMOUNT`),i.current=e}},[e,c]),Um(()=>{if(t){let e,n=t.ownerDocument.defaultView??window,o=ug(a=>{let o=gg(r.current).includes(CSS.escape(a.animationName));if(a.target===t&&o&&(c(`ANIMATION_END`),!i.current)){let r=t.style.animationFillMode;t.style.animationFillMode=`forwards`,e=n.setTimeout(()=>{t.style.animationFillMode===`forwards`&&(t.style.animationFillMode=r)})}},`handleAnimationEnd`),s=ug(e=>{e.target===t&&(a.current=gg(r.current))},`handleAnimationStart`);return t.addEventListener(`animationstart`,s),t.addEventListener(`animationcancel`,o),t.addEventListener(`animationend`,o),()=>{n.clearTimeout(e),t.removeEventListener(`animationstart`,s),t.removeEventListener(`animationcancel`,o),t.removeEventListener(`animationend`,o)}}c(`ANIMATION_END`)},[t,c]),{isPresent:[`mounted`,`unmountSuspended`].includes(s),ref:g.useCallback(e=>{if(e){let t=getComputedStyle(e);r.current=t,o.current=gg(t)}else r.current=null;n(e)},[])}}ug(pg,`usePresence`);function mg(e,t){if(typeof e==`function`)return e(t);e!=null&&(e.current=t)}ug(mg,`setRef`);function hg(...e){let t=g.useRef(e);return t.current=e,g.useCallback(e=>{let n=t.current,r=!1,i=n.map(t=>{let n=mg(t,e);return!r&&typeof n==`function`&&(r=!0),n});if(r)return()=>{for(let e=0;e<i.length;e++){let t=i[e];typeof t==`function`?t():mg(n[e],null)}}},[])}ug(hg,`useStableComposedRefs`);function gg(e){return e?.animationName||`none`}ug(gg,`getAnimationName`);function _g(e){let t=Object.getOwnPropertyDescriptor(e.props,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}ug(_g,`getElementRef`);var vg=Object.defineProperty,yg=(e,t)=>vg(e,`name`,{value:t,configurable:!0}),bg=0,xg=null;function Sg(e){return Cg(),e.children}yg(Sg,`FocusGuards`);function Cg(){g.useEffect(()=>{xg||={start:wg(),end:wg()};let{start:e,end:t}=xg;return document.body.firstElementChild!==e&&document.body.insertAdjacentElement(`afterbegin`,e),document.body.lastElementChild!==t&&document.body.insertAdjacentElement(`beforeend`,t),bg++,()=>{bg===1&&(xg?.start.remove(),xg?.end.remove(),xg=null),bg=Math.max(0,bg-1)}},[])}yg(Cg,`useFocusGuards`);function wg(){let e=document.createElement(`span`);return e.setAttribute(`data-radix-focus-guard`,``),e.tabIndex=0,e.style.outline=`none`,e.style.opacity=`0`,e.style.position=`fixed`,e.style.pointerEvents=`none`,e}yg(wg,`createFocusGuard`);var Tg=function(e,t){return Tg=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},Tg(e,t)};function Eg(e,t){if(typeof t!=`function`&&t!==null)throw TypeError(`Class extends value `+String(t)+` is not a constructor or null`);Tg(e,t);function n(){this.constructor=e}e.prototype=t===null?Object.create(t):(n.prototype=t.prototype,new n)}var Dg=function(){return Dg=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var i in t=arguments[n],t)Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},Dg.apply(this,arguments)};function Og(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols==`function`)for(var i=0,r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n}function kg(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})}function Ag(e,t){var n={label:0,sent:function(){if(a[0]&1)throw a[1];return a[1]},trys:[],ops:[]},r,i,a,o=Object.create((typeof Iterator==`function`?Iterator:Object).prototype);return o.next=s(0),o.throw=s(1),o.return=s(2),typeof Symbol==`function`&&(o[Symbol.iterator]=function(){return this}),o;function s(e){return function(t){return c([e,t])}}function c(s){if(r)throw TypeError(`Generator is already executing.`);for(;o&&(o=0,s[0]&&(n=0)),n;)try{if(r=1,i&&(a=s[0]&2?i.return:s[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,s[1])).done)return a;switch(i=0,a&&(s=[s[0]&2,a.value]),s[0]){case 0:case 1:a=s;break;case 4:return n.label++,{value:s[1],done:!1};case 5:n.label++,i=s[1],s=[0];continue;case 7:s=n.ops.pop(),n.trys.pop();continue;default:if(a=n.trys,!(a=a.length>0&&a[a.length-1])&&(s[0]===6||s[0]===2)){n=0;continue}if(s[0]===3&&(!a||s[1]>a[0]&&s[1]<a[3])){n.label=s[1];break}if(s[0]===6&&n.label<a[1]){n.label=a[1],a=s;break}if(a&&n.label<a[2]){n.label=a[2],n.ops.push(s);break}a[2]&&n.ops.pop(),n.trys.pop();continue}s=t.call(e,n)}catch(e){s=[6,e],i=0}finally{r=a=0}if(s[0]&5)throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}}function jg(e){var t=typeof Symbol==`function`&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&typeof e.length==`number`)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw TypeError(t?`Object is not iterable.`:`Symbol.iterator is not defined.`)}function Mg(e,t){var n=typeof Symbol==`function`&&e[Symbol.iterator];if(!n)return e;var r=n.call(e),i,a=[],o;try{for(;(t===void 0||t-->0)&&!(i=r.next()).done;)a.push(i.value)}catch(e){o={error:e}}finally{try{i&&!i.done&&(n=r.return)&&n.call(r)}finally{if(o)throw o.error}}return a}function Ng(e,t,n){if(n||arguments.length===2)for(var r=0,i=t.length,a;r<i;r++)(a||!(r in t))&&(a||=Array.prototype.slice.call(t,0,r),a[r]=t[r]);return e.concat(a||Array.prototype.slice.call(t))}function Pg(e){return this instanceof Pg?(this.v=e,this):new Pg(e)}function Fg(e,t,n){if(!Symbol.asyncIterator)throw TypeError(`Symbol.asyncIterator is not defined.`);var r=n.apply(e,t||[]),i,a=[];return i=Object.create((typeof AsyncIterator==`function`?AsyncIterator:Object).prototype),s(`next`),s(`throw`),s(`return`,o),i[Symbol.asyncIterator]=function(){return this},i;function o(e){return function(t){return Promise.resolve(t).then(e,d)}}function s(e,t){r[e]&&(i[e]=function(t){return new Promise(function(n,r){a.push([e,t,n,r])>1||c(e,t)})},t&&(i[e]=t(i[e])))}function c(e,t){try{l(r[e](t))}catch(e){f(a[0][3],e)}}function l(e){e.value instanceof Pg?Promise.resolve(e.value.v).then(u,d):f(a[0][2],e)}function u(e){c(`next`,e)}function d(e){c(`throw`,e)}function f(e,t){e(t),a.shift(),a.length&&c(a[0][0],a[0][1])}}function Ig(e){if(!Symbol.asyncIterator)throw TypeError(`Symbol.asyncIterator is not defined.`);var t=e[Symbol.asyncIterator],n;return t?t.call(e):(e=typeof jg==`function`?jg(e):e[Symbol.iterator](),n={},r(`next`),r(`throw`),r(`return`),n[Symbol.asyncIterator]=function(){return this},n);function r(t){n[t]=e[t]&&function(n){return new Promise(function(r,a){n=e[t](n),i(r,a,n.done,n.value)})}}function i(e,t,n,r){Promise.resolve(r).then(function(t){e({value:t,done:n})},t)}}var Lg=`right-scroll-bar-position`,Rg=`width-before-scroll-bar`,zg=`with-scroll-bars-hidden`,Bg=`--removed-body-scroll-bar-size`;function Vg(e,t){return typeof e==`function`?e(t):e&&(e.current=t),e}function Hg(e,t){var n=(0,g.useState)(function(){return{value:e,callback:t,facade:{get current(){return n.value},set current(e){var t=n.value;t!==e&&(n.value=e,n.callback(e,t))}}}})[0];return n.callback=t,n.facade}var Ug=typeof window<`u`?g.useLayoutEffect:g.useEffect,Wg=new WeakMap;function Gg(e,t){var n=Hg(t||null,function(t){return e.forEach(function(e){return Vg(e,t)})});return Ug(function(){var t=Wg.get(n);if(t){var r=new Set(t),i=new Set(e),a=n.current;r.forEach(function(e){i.has(e)||Vg(e,null)}),i.forEach(function(e){r.has(e)||Vg(e,a)})}Wg.set(n,e)},[e]),n}function Kg(e){return e}function qg(e,t){t===void 0&&(t=Kg);var n=[],r=!1;return{read:function(){if(r)throw Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return n.length?n[n.length-1]:e},useMedium:function(e){var i=t(e,r);return n.push(i),function(){n=n.filter(function(e){return e!==i})}},assignSyncMedium:function(e){for(r=!0;n.length;){var t=n;n=[],t.forEach(e)}n={push:function(t){return e(t)},filter:function(){return n}}},assignMedium:function(e){r=!0;var t=[];if(n.length){var i=n;n=[],i.forEach(e),t=n}var a=function(){var n=t;t=[],n.forEach(e)},o=function(){return Promise.resolve().then(a)};o(),n={push:function(e){t.push(e),o()},filter:function(e){return t=t.filter(e),n}}}}}function Jg(e){e===void 0&&(e={});var t=qg(null);return t.options=Dg({async:!0,ssr:!1},e),t}var Yg=function(e){var t=e.sideCar,n=Og(e,[`sideCar`]);if(!t)throw Error("Sidecar: please provide `sideCar` property to import the right car");var r=t.read();if(!r)throw Error(`Sidecar medium not found`);return g.createElement(r,Dg({},n))};Yg.isSideCarExport=!0;function Xg(e,t){return e.useMedium(t),Yg}var Zg=Jg(),Qg=function(){},$g=g.forwardRef(function(e,t){var n=g.useRef(null),r=g.useState({onScrollCapture:Qg,onWheelCapture:Qg,onTouchMoveCapture:Qg}),i=r[0],a=r[1],o=e.forwardProps,s=e.children,c=e.className,l=e.removeScrollBar,u=e.enabled,d=e.shards,f=e.sideCar,p=e.noRelative,m=e.noIsolation,h=e.inert,_=e.allowPinchZoom,v=e.as,y=v===void 0?`div`:v,b=e.gapMode,x=Og(e,[`forwardProps`,`children`,`className`,`removeScrollBar`,`enabled`,`shards`,`sideCar`,`noRelative`,`noIsolation`,`inert`,`allowPinchZoom`,`as`,`gapMode`]),S=f,C=Gg([n,t]),w=Dg(Dg({},x),i);return g.createElement(g.Fragment,null,u&&g.createElement(S,{sideCar:Zg,removeScrollBar:l,shards:d,noRelative:p,noIsolation:m,inert:h,setCallbacks:a,allowPinchZoom:!!_,lockRef:n,gapMode:b}),o?g.cloneElement(g.Children.only(s),Dg(Dg({},w),{ref:C})):g.createElement(y,Dg({},w,{className:c,ref:C}),s))});$g.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1},$g.classNames={fullWidth:Rg,zeroRight:Lg};var e_,t_=function(){if(e_)return e_;if(typeof __webpack_nonce__<`u`)return __webpack_nonce__};function n_(){if(!document)return null;var e=document.createElement(`style`);e.type=`text/css`;var t=t_();return t&&e.setAttribute(`nonce`,t),e}function r_(e,t){e.styleSheet?e.styleSheet.cssText=t:e.appendChild(document.createTextNode(t))}function i_(e){(document.head||document.getElementsByTagName(`head`)[0]).appendChild(e)}var a_=function(){var e=0,t=null;return{add:function(n){e==0&&(t=n_())&&(r_(t,n),i_(t)),e++},remove:function(){e--,!e&&t&&(t.parentNode&&t.parentNode.removeChild(t),t=null)}}},o_=function(){var e=a_();return function(t,n){g.useEffect(function(){return e.add(t),function(){e.remove()}},[t&&n])}},s_=function(){var e=o_();return function(t){var n=t.styles,r=t.dynamic;return e(n,r),null}},c_={left:0,top:0,right:0,gap:0},l_=function(e){return parseInt(e||``,10)||0},u_=function(e){var t=window.getComputedStyle(document.body),n=t[e===`padding`?`paddingLeft`:`marginLeft`],r=t[e===`padding`?`paddingTop`:`marginTop`],i=t[e===`padding`?`paddingRight`:`marginRight`];return[l_(n),l_(r),l_(i)]},d_=function(e){if(e===void 0&&(e=`margin`),typeof window>`u`)return c_;var t=u_(e),n=document.documentElement.clientWidth,r=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,r-n+t[2]-t[0])}},f_=s_(),p_=`data-scroll-locked`,m_=function(e,t,n,r){var i=e.left,a=e.top,o=e.right,s=e.gap;return n===void 0&&(n=`margin`),`
|
|
11
|
+
.${zg} {
|
|
12
|
+
overflow: hidden ${r};
|
|
13
|
+
padding-right: ${s}px ${r};
|
|
14
|
+
}
|
|
15
|
+
body[${p_}] {
|
|
16
|
+
overflow: hidden ${r};
|
|
17
|
+
overscroll-behavior: contain;
|
|
18
|
+
${[t&&`position: relative ${r};`,n===`margin`&&`
|
|
19
|
+
padding-left: ${i}px;
|
|
20
|
+
padding-top: ${a}px;
|
|
21
|
+
padding-right: ${o}px;
|
|
22
|
+
margin-left:0;
|
|
23
|
+
margin-top:0;
|
|
24
|
+
margin-right: ${s}px ${r};
|
|
25
|
+
`,n===`padding`&&`padding-right: ${s}px ${r};`].filter(Boolean).join(``)}
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
.${Lg} {
|
|
29
|
+
right: ${s}px ${r};
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
.${Rg} {
|
|
33
|
+
margin-right: ${s}px ${r};
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
.${Lg} .${Lg} {
|
|
37
|
+
right: 0 ${r};
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
.${Rg} .${Rg} {
|
|
41
|
+
margin-right: 0 ${r};
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
body[${p_}] {
|
|
45
|
+
${Bg}: ${s}px;
|
|
46
|
+
}
|
|
47
|
+
`},h_=function(){var e=parseInt(document.body.getAttribute(`data-scroll-locked`)||`0`,10);return isFinite(e)?e:0},g_=function(){g.useEffect(function(){return document.body.setAttribute(p_,(h_()+1).toString()),function(){var e=h_()-1;e<=0?document.body.removeAttribute(p_):document.body.setAttribute(p_,e.toString())}},[])},__=function(e){var t=e.noRelative,n=e.noImportant,r=e.gapMode,i=r===void 0?`margin`:r;g_();var a=g.useMemo(function(){return d_(i)},[i]);return g.createElement(f_,{styles:m_(a,!t,i,n?``:`!important`)})},v_=!1;if(typeof window<`u`)try{var y_=Object.defineProperty({},"passive",{get:function(){return v_=!0,!0}});window.addEventListener(`test`,y_,y_),window.removeEventListener(`test`,y_,y_)}catch{v_=!1}var b_=v_?{passive:!1}:!1,x_=function(e){return e.tagName===`TEXTAREA`},S_=function(e,t){if(!(e instanceof Element))return!1;var n=window.getComputedStyle(e);return n[t]!==`hidden`&&!(n.overflowY===n.overflowX&&!x_(e)&&n[t]===`visible`)},C_=function(e){return S_(e,`overflowY`)},w_=function(e){return S_(e,`overflowX`)},T_=function(e,t){var n=t.ownerDocument,r=t;do{if(typeof ShadowRoot<`u`&&r instanceof ShadowRoot&&(r=r.host),O_(e,r)){var i=k_(e,r);if(i[1]>i[2])return!0}r=r.parentNode}while(r&&r!==n.body);return!1},E_=function(e){return[e.scrollTop,e.scrollHeight,e.clientHeight]},D_=function(e){return[e.scrollLeft,e.scrollWidth,e.clientWidth]},O_=function(e,t){return e===`v`?C_(t):w_(t)},k_=function(e,t){return e===`v`?E_(t):D_(t)},A_=function(e,t){return e===`h`&&t===`rtl`?-1:1},j_=function(e,t,n,r,i){var a=A_(e,window.getComputedStyle(t).direction),o=a*r,s=n.target,c=t.contains(s),l=!1,u=o>0,d=0,f=0;do{if(!s)break;var p=k_(e,s),m=p[0],h=p[1]-p[2]-a*m;(m||h)&&O_(e,s)&&(d+=h,f+=m);var g=s.parentNode;s=g&&g.nodeType===Node.DOCUMENT_FRAGMENT_NODE?g.host:g}while(!c&&s!==document.body||c&&(t.contains(s)||t===s));return(u&&(i&&Math.abs(d)<1||!i&&o>d)||!u&&(i&&Math.abs(f)<1||!i&&-o>f))&&(l=!0),l},M_=function(e){return`changedTouches`in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},N_=function(e){return[e.deltaX,e.deltaY]},P_=function(e){return e&&`current`in e?e.current:e},F_=function(e,t){return e[0]===t[0]&&e[1]===t[1]},I_=function(e){return`
|
|
48
|
+
.block-interactivity-${e} {pointer-events: none;}
|
|
49
|
+
.allow-interactivity-${e} {pointer-events: all;}
|
|
50
|
+
`},L_=0,R_=[];function z_(e){var t=g.useRef([]),n=g.useRef([0,0]),r=g.useRef(),i=g.useState(L_++)[0],a=g.useState(s_)[0],o=g.useRef(e);g.useEffect(function(){o.current=e},[e]),g.useEffect(function(){if(e.inert){document.body.classList.add(`block-interactivity-${i}`);var t=Ng([e.lockRef.current],(e.shards||[]).map(P_),!0).filter(Boolean);return t.forEach(function(e){return e.classList.add(`allow-interactivity-${i}`)}),function(){document.body.classList.remove(`block-interactivity-${i}`),t.forEach(function(e){return e.classList.remove(`allow-interactivity-${i}`)})}}},[e.inert,e.lockRef.current,e.shards]);var s=g.useCallback(function(e,t){if(`touches`in e&&e.touches.length===2||e.type===`wheel`&&e.ctrlKey)return!o.current.allowPinchZoom;var i=M_(e),a=n.current,s=`deltaX`in e?e.deltaX:a[0]-i[0],c=`deltaY`in e?e.deltaY:a[1]-i[1],l,u=e.target,d=Math.abs(s)>Math.abs(c)?`h`:`v`;if(`touches`in e&&d===`h`&&u.type===`range`)return!1;var f=window.getSelection(),p=f&&f.anchorNode;if(p&&(p===u||p.contains(u)))return!1;var m=T_(d,u);if(!m)return!0;if(m?l=d:(l=d===`v`?`h`:`v`,m=T_(d,u)),!m)return!1;if(!r.current&&`changedTouches`in e&&(s||c)&&(r.current=l),!l)return!0;var h=r.current||l;return j_(h,t,e,h===`h`?s:c,!0)},[]),c=g.useCallback(function(e){var n=e;if(!(!R_.length||R_[R_.length-1]!==a)){var r=`deltaY`in n?N_(n):M_(n),i=t.current.filter(function(e){return e.name===n.type&&(e.target===n.target||n.target===e.shadowParent)&&F_(e.delta,r)})[0];if(i&&i.should){n.cancelable&&n.preventDefault();return}if(!i){var c=(o.current.shards||[]).map(P_).filter(Boolean).filter(function(e){return e.contains(n.target)});(c.length>0?s(n,c[0]):!o.current.noIsolation)&&n.cancelable&&n.preventDefault()}}},[]),l=g.useCallback(function(e,n,r,i){var a={name:e,delta:n,target:r,should:i,shadowParent:B_(r)};t.current.push(a),setTimeout(function(){t.current=t.current.filter(function(e){return e!==a})},1)},[]),u=g.useCallback(function(e){n.current=M_(e),r.current=void 0},[]),d=g.useCallback(function(t){l(t.type,N_(t),t.target,s(t,e.lockRef.current))},[]),f=g.useCallback(function(t){l(t.type,M_(t),t.target,s(t,e.lockRef.current))},[]);g.useEffect(function(){return R_.push(a),e.setCallbacks({onScrollCapture:d,onWheelCapture:d,onTouchMoveCapture:f}),document.addEventListener(`wheel`,c,b_),document.addEventListener(`touchmove`,c,b_),document.addEventListener(`touchstart`,u,b_),function(){R_=R_.filter(function(e){return e!==a}),document.removeEventListener(`wheel`,c,b_),document.removeEventListener(`touchmove`,c,b_),document.removeEventListener(`touchstart`,u,b_)}},[]);var p=e.removeScrollBar,m=e.inert;return g.createElement(g.Fragment,null,m?g.createElement(a,{styles:I_(i)}):null,p?g.createElement(__,{noRelative:e.noRelative,gapMode:e.gapMode}):null)}function B_(e){for(var t=null;e!==null;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}var V_=Xg(Zg,z_),H_=g.forwardRef(function(e,t){return g.createElement($g,Dg({},e,{ref:t,sideCar:V_}))});H_.classNames=$g.classNames;var U_=function(e){return typeof document>`u`?null:(Array.isArray(e)?e[0]:e).ownerDocument.body},W_=new WeakMap,G_=new WeakMap,K_={},q_=0,J_=function(e){return e&&(e.host||J_(e.parentNode))},Y_=function(e,t){return t.map(function(t){if(e.contains(t))return t;var n=J_(t);return n&&e.contains(n)?n:(console.error(`aria-hidden`,t,`in not contained inside`,e,`. Doing nothing`),null)}).filter(function(e){return!!e})},X_=function(e,t,n,r){var i=Y_(t,Array.isArray(e)?e:[e]);K_[n]||(K_[n]=new WeakMap);var a=K_[n],o=[],s=new Set,c=new Set(i),l=function(e){!e||s.has(e)||(s.add(e),l(e.parentNode))};i.forEach(l);var u=function(e){!e||c.has(e)||Array.prototype.forEach.call(e.children,function(e){if(s.has(e))u(e);else try{var t=e.getAttribute(r),i=t!==null&&t!==`false`,c=(W_.get(e)||0)+1,l=(a.get(e)||0)+1;W_.set(e,c),a.set(e,l),o.push(e),c===1&&i&&G_.set(e,!0),l===1&&e.setAttribute(n,`true`),i||e.setAttribute(r,`true`)}catch(t){console.error(`aria-hidden: cannot operate on `,e,t)}})};return u(t),s.clear(),q_++,function(){o.forEach(function(e){var t=W_.get(e)-1,i=a.get(e)-1;W_.set(e,t),a.set(e,i),t||(G_.has(e)||e.removeAttribute(r),G_.delete(e)),i||e.removeAttribute(n)}),q_--,q_||(W_=new WeakMap,W_=new WeakMap,G_=new WeakMap,K_={})}},Z_=function(e,t,n){n===void 0&&(n=`data-aria-hidden`);var r=Array.from(Array.isArray(e)?e:[e]),i=t||U_(e);return i?(r.push.apply(r,Array.from(i.querySelectorAll(`[aria-live], script`))),X_(r,i,n,`aria-hidden`)):function(){return null}},Q_=Object.defineProperty,$_=(e,t)=>Q_(e,`name`,{value:t,configurable:!0}),ev=`Dialog`,[tv,Gee]=Vm(ev),[nv,rv]=tv(ev),iv=$_(e=>{let{__scopeDialog:t,children:n,open:r,defaultOpen:i,onOpenChange:a,modal:o=!0}=e,s=g.useRef(null),c=g.useRef(null),[l,u]=rh({prop:r,defaultProp:i??!1,onChange:a,caller:ev}),[d,f]=g.useState(0),[p,m]=g.useState(0);return(0,v.jsx)(nv,{scope:t,triggerRef:s,contentRef:c,contentId:Jm(),titleId:Jm(),descriptionId:Jm(),titlePresent:d>0,descriptionPresent:p>0,setTitleCount:f,setDescriptionCount:m,open:l,onOpenChange:u,onOpenToggle:g.useCallback(()=>u(e=>!e),[u]),modal:o,children:n})},`Dialog`),av=`DialogPortal`,[ov,sv]=tv(av,{forceMount:void 0}),cv=$_(e=>{let{__scopeDialog:t,forceMount:n,children:r,container:i}=e,a=rv(av,t);return(0,v.jsx)(ov,{scope:t,forceMount:n,children:g.Children.map(r,e=>(0,v.jsx)(fg,{present:n||a.open,children:(0,v.jsx)(cg,{asChild:!0,container:i,children:e})}))})},`DialogPortal`),lv=`DialogOverlay`,uv=g.forwardRef($_(function(e,t){let n=sv(lv,e.__scopeDialog),{forceMount:r=n.forceMount,...i}=e,a=rv(lv,e.__scopeDialog);return a.modal?(0,v.jsx)(fg,{present:r||a.open,children:(0,v.jsx)(fv,{...i,ref:t})}):null},`DialogOverlay`)),dv=uh(`DialogOverlay.RemoveScroll`),fv=g.forwardRef($_(function(e,t){let{__scopeDialog:n,...r}=e,i=rv(lv,n),a=Lm(t,Rh());return(0,v.jsx)(H_,{as:dv,allowPinchZoom:!0,shards:[i.contentRef],children:(0,v.jsx)(Th.div,{"data-state":wv(i.open),...r,ref:a,style:{pointerEvents:`auto`,...r.style}})})},`DialogOverlayImpl`)),pv=`DialogContent`,mv=g.forwardRef($_(function(e,t){let n=sv(pv,e.__scopeDialog),{forceMount:r=n.forceMount,...i}=e,a=rv(pv,e.__scopeDialog);return(0,v.jsx)(fg,{present:r||a.open,children:a.modal?(0,v.jsx)(hv,{...i,ref:t}):(0,v.jsx)(gv,{...i,ref:t})})},`DialogContent`)),hv=g.forwardRef($_(function(e,t){let n=rv(pv,e.__scopeDialog),r=g.useRef(null),i=Lm(t,n.contentRef,r);return g.useEffect(()=>{let e=r.current;if(e)return Z_(e)},[]),(0,v.jsx)(_v,{...e,ref:i,trapFocus:n.open,disableOutsidePointerEvents:n.open,onCloseAutoFocus:Om(e.onCloseAutoFocus,e=>{e.preventDefault(),n.triggerRef.current?.focus()}),onPointerDownOutside:Om(e.onPointerDownOutside,e=>{let t=e.detail.originalEvent,n=t.button===0&&t.ctrlKey===!0;(t.button===2||n)&&e.preventDefault()}),onFocusOutside:Om(e.onFocusOutside,e=>e.preventDefault())})},`DialogContentModal`)),gv=g.forwardRef($_(function(e,t){let n=rv(pv,e.__scopeDialog),r=g.useRef(!1),i=g.useRef(!1);return(0,v.jsx)(_v,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:t=>{e.onCloseAutoFocus?.(t),t.defaultPrevented||(r.current||n.triggerRef.current?.focus(),t.preventDefault()),r.current=!1,i.current=!1},onInteractOutside:t=>{e.onInteractOutside?.(t),t.defaultPrevented||(r.current=!0,t.detail.originalEvent.type===`pointerdown`&&(i.current=!0));let a=t.target;n.triggerRef.current?.contains(a)&&t.preventDefault(),t.detail.originalEvent.type===`focusin`&&i.current&&t.preventDefault()}})},`DialogContentNonModal`)),_v=g.forwardRef($_(function(e,t){let{__scopeDialog:n,trapFocus:r,onOpenAutoFocus:i,onCloseAutoFocus:a,...o}=e,s=rv(pv,n);return Cg(),(0,v.jsx)(v.Fragment,{children:(0,v.jsx)(Yh,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:i,onUnmountAutoFocus:a,children:(0,v.jsx)(Lh,{role:`dialog`,id:s.contentId,"aria-describedby":s.descriptionPresent?s.descriptionId:void 0,"aria-labelledby":s.titlePresent?s.titleId:void 0,"data-state":wv(s.open),...o,ref:t,deferPointerDownOutside:!0,onDismiss:()=>s.onOpenChange(!1)})})})},`DialogContentImpl`)),vv=`DialogTitle`,yv=g.forwardRef($_(function(e,t){let{__scopeDialog:n,...r}=e,i=rv(vv,n),{setTitleCount:a}=i;return Um(()=>(a(e=>e+1),()=>a(e=>e-1)),[a]),(0,v.jsx)(Th.h2,{id:i.titleId,...r,ref:t})},`DialogTitle`)),bv=`DialogDescription`,xv=g.forwardRef($_(function(e,t){let{__scopeDialog:n,...r}=e,i=rv(bv,n),{setDescriptionCount:a}=i;return Um(()=>(a(e=>e+1),()=>a(e=>e-1)),[a]),(0,v.jsx)(Th.p,{id:i.descriptionId,...r,ref:t})},`DialogDescription`)),Sv=`DialogClose`,Cv=g.forwardRef($_(function(e,t){let{__scopeDialog:n,...r}=e,i=rv(Sv,n);return(0,v.jsx)(Th.button,{type:`button`,...r,ref:t,onClick:Om(e.onClick,()=>i.onOpenChange(!1))})},`DialogClose`));function wv(e){return e?`open`:`closed`}$_(wv,`getState`);function Tv({surfaceId:e,serializedMessages:t}){let{processMessages:n}=du();return(0,g.useEffect)(()=>{n(JSON.parse(t))},[t,n]),(0,v.jsx)(mu,{surfaceId:e,className:`w-full`,fallback:(0,v.jsx)(`div`,{className:`text-sm text-slate-500 dark:text-slate-400`,children:`界面内容暂不可用`}),loadingFallback:(0,v.jsx)(`div`,{className:`text-sm text-slate-500 dark:text-slate-400`,children:`正在加载界面`})})}function Ev({surfaceId:e,messages:t,onAction:n}){let r=e.startsWith(`input-`)?Qu(t):null;if(r)return(0,v.jsxs)(`details`,{className:`mx-auto mb-3 w-full max-w-3xl px-6 text-sm text-muted-foreground`,"data-testid":`legacy-question-history`,children:[(0,v.jsxs)(`summary`,{className:`cursor-pointer`,children:[`历史提问 · `,r.length,` 个问题`]}),(0,v.jsx)(`ul`,{className:`mt-2 list-disc space-y-1 pl-5`,children:r.map((e,t)=>(0,v.jsx)(`li`,{children:e},t))})]});let i=JSON.stringify(t);return(0,v.jsx)(`div`,{className:`mb-3 w-full overflow-hidden rounded-lg border border-slate-200 bg-white p-3 shadow-sm dark:border-slate-700 dark:bg-slate-900`,children:(0,v.jsx)(cu,{catalog:Yu,onAction:n,children:(0,v.jsx)(Tv,{surfaceId:e,serializedMessages:i})},`${e}:${i}`)})}function Dv({a2ui:e,disabled:t,onSubmit:n,onCancel:r}){return(0,v.jsxs)(`div`,{className:`mt-3`,"data-testid":`interaction-a2ui-surface`,children:[(0,v.jsx)(Ev,{surfaceId:`interaction-${e.wireVersion}`,messages:e.messages,onAction:t?void 0:e=>{let t=e.userAction?.context||{};n(typeof t.payload==`object`&&t.payload!==null?t.payload:{...t})}}),t?null:(0,v.jsx)(`button`,{type:`button`,"data-testid":`interaction-a2ui-cancel`,onClick:r,className:`mt-1 inline-flex min-h-8 items-center rounded-md px-3 py-1.5 text-xs font-medium text-slate-500 underline-offset-2 hover:underline dark:text-slate-400`,children:`取消本次确认`})]})}function Ov(e){for(let t of e?.messages||[]){let e=t.inputSchema??t.input_schema??t.schema;if(typeof e==`object`&&e)return e}return null}function kv(e){if(!e.expiresAt)return!1;let t=Date.parse(e.expiresAt);return Number.isFinite(t)&&t<=Date.now()}function Av(e){let t=e.extensions.submit_error;return typeof t==`object`&&t&&`code`in t&&`message`in t?{code:String(t.code),message:String(t.message),retryable:!!(`retryable`in t&&t.retryable)}:null}function jv(e){return typeof e==`object`&&e&&!Array.isArray(e)?e:null}function Mv(e){let t=jv(e);if(t)return t;if(typeof e!=`string`)return null;try{return jv(JSON.parse(e))}catch{return null}}function Nv(e){return Array.isArray(e)?e.map(String).join(` `):typeof e==`string`?e:``}function Pv(e){let t=Mv(e.extensions.detail),n=Mv(e.extensions.arguments),r=t||n||{},i=e.title.replace(/^审批[::]\s*/,``).trim();return{operation:{command_execution:`命令执行`,file_change:`文件修改`,mcp_tool_call:`MCP 工具调用`}[i]||i,command:Nv(r.command??r.cmd),reason:Nv(r.reason??r.justification),cwd:Nv(r.cwd??r.workdir)}}var Fv={approved:`已同意`,rejected:`已拒绝`,submitted:`已提交`,cancelled:`已取消`,expired:`已过期`};function Iv({interactions:e,activeIndex:t,onSelectIndex:n,onRespond:r,localCatalog:i,className:a}){let[o,s]=(0,g.useState)(``),[c,l]=(0,g.useState)({}),u=Cf(),d=e[Math.min(t,Math.max(e.length-1,0))];if(!d)return null;let f=kv(d),p=Av(d),m=Pv(d),h=f||d.status===`resolving`,_=Hu(d.presentation?.a2ui,i),y=d.requestSchema??Ov(d.presentation?.a2ui)??null,b=d.kind===`approval`?`basic-controls`:_===`a2ui`?`a2ui`:_===`json-schema-form`&&y||d.requestSchema&&!d.presentation?`json-schema-form`:`basic-controls`,x=b===`json-schema-form`&&y||d.requestSchema,S=(e,t)=>{h||Promise.resolve(r({interactionId:d.interactionId,expectedRevision:d.revision,action:e,response:t,idempotencyKey:qu(d.interactionId,d.revision)})).catch(()=>{})};return(0,v.jsx)(`div`,{"data-testid":`interaction-tray`,"data-slot":`interaction-tray`,"data-ui":`interaction-tray`,"data-interaction-status":d.status,"data-interaction-count":e.length,className:Sf(`mx-auto mb-2 w-full max-w-[64rem] px-3 sm:px-4`,a),children:(0,v.jsxs)(`div`,{"data-slot":`interaction-card`,className:`rounded-2xl border border-[var(--ksadk-interaction-border)] bg-[var(--ksadk-interaction-background)] px-3 py-3 text-[var(--ksadk-interaction-foreground)] shadow-sm`,children:[(0,v.jsxs)(`div`,{className:`flex items-center justify-between gap-2 text-xs text-[var(--ksadk-interaction-muted)]`,children:[(0,v.jsxs)(`div`,{className:`flex min-w-0 items-center gap-1.5`,children:[(0,v.jsx)(Ip,{className:`h-3.5 w-3.5 shrink-0`,strokeWidth:1.7,"aria-hidden":`true`}),(0,v.jsx)(`span`,{"data-testid":`interaction-tray-title`,children:d.title}),m.operation?(0,v.jsx)(`span`,{className:`truncate text-[11px] text-[var(--ksadk-interaction-muted)]`,children:m.operation}):null]}),(0,v.jsxs)(`div`,{className:`flex items-center gap-1`,children:[e.length>1?(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(`button`,{type:`button`,"data-testid":`interaction-tray-prev`,disabled:t<=0,onClick:()=>n(Math.max(t-1,0)),className:`rounded p-1 transition hover:bg-[var(--ksadk-interaction-muted-background)] disabled:opacity-30`,"aria-label":`上一条待确认`,children:(0,v.jsx)(Jf,{className:`h-3.5 w-3.5`,"aria-hidden":`true`})}),(0,v.jsxs)(`span`,{"data-testid":`interaction-tray-count`,className:`min-w-10 text-center`,children:[t+1,` of `,e.length]}),(0,v.jsx)(`button`,{type:`button`,"data-testid":`interaction-tray-next`,disabled:t>=e.length-1,onClick:()=>n(Math.min(t+1,e.length-1)),className:`rounded p-1 transition hover:bg-[var(--ksadk-interaction-muted-background)] disabled:opacity-30`,"aria-label":`下一条待确认`,children:(0,v.jsx)(Yf,{className:`h-3.5 w-3.5`,"aria-hidden":`true`})})]}):null,(0,v.jsx)(`button`,{type:`button`,"data-testid":`interaction-cancel`,disabled:h,onClick:()=>S(`cancel`,{}),className:`rounded p-1 transition hover:bg-[var(--ksadk-interaction-muted-background)] hover:text-[var(--ksadk-interaction-foreground)] disabled:opacity-30`,"aria-label":`取消本次确认`,children:(0,v.jsx)(Sm,{className:`h-3.5 w-3.5`,"aria-hidden":`true`})})]})]}),d.message===m.command?null:(0,v.jsx)(`p`,{className:`mt-2 whitespace-pre-wrap break-words text-sm font-medium leading-5 text-[var(--ksadk-interaction-foreground)]`,"data-testid":`interaction-tray-message`,children:d.message}),m.command||m.reason||m.cwd?(0,v.jsxs)(`div`,{"data-slot":`interaction-summary`,className:`mt-1.5 space-y-1 rounded-xl bg-[var(--ksadk-interaction-muted-background)] px-2.5 py-2 text-xs leading-5`,children:[m.command?(0,v.jsx)(`code`,{className:`block max-h-12 overflow-auto whitespace-pre-wrap break-all font-mono text-[var(--ksadk-interaction-foreground)]`,children:m.command}):null,m.reason?(0,v.jsx)(`p`,{className:`text-[var(--ksadk-interaction-muted)]`,children:m.reason}):null,m.cwd?(0,v.jsx)(`p`,{className:`truncate font-mono text-[11px] text-[var(--ksadk-interaction-muted)]`,title:m.cwd,children:m.cwd}):null]}):null,f?(0,v.jsxs)(`p`,{className:`mt-2 text-xs font-medium text-rose-600 dark:text-rose-400`,"data-testid":`interaction-tray-expired`,children:[`该确认已过期(`,Fv.expired,`),等待运行时继续处理。`]}):null,p?(0,v.jsxs)(`p`,{className:`mt-2 text-xs font-medium text-rose-600 dark:text-rose-400`,"data-testid":`interaction-tray-error`,children:[`提交失败(`,p.code,`):`,p.message,p.retryable?`,可重试。`:``]}):null,b===`a2ui`&&d.presentation?.a2ui?(0,v.jsx)(Dv,{a2ui:d.presentation.a2ui,disabled:h,onSubmit:e=>S(`submit`,e),onCancel:()=>S(`cancel`,{})}):b===`json-schema-form`&&x?(0,v.jsx)(Ef,{schema:x,values:c,onChange:l,disabled:h,onSubmit:()=>S(`submit`,c),onCancel:()=>S(`cancel`,{})}):d.kind===`approval`?(0,v.jsxs)(`div`,{className:`mt-2 flex flex-col gap-1`,"data-testid":`interaction-tray-basic`,children:[(0,v.jsxs)(`button`,{type:`button`,"data-testid":`interaction-approve`,disabled:h,onClick:()=>S(`approve`,{decision:`approve`}),className:`group flex min-h-9 w-full items-center gap-2.5 rounded-xl px-2.5 py-1.5 text-left text-sm font-medium text-[var(--ksadk-interaction-foreground)] transition hover:bg-[var(--ksadk-interaction-muted-background)] disabled:cursor-not-allowed disabled:opacity-55`,children:[(0,v.jsx)(`span`,{className:`flex h-6 w-6 shrink-0 items-center justify-center rounded-full bg-[var(--ksadk-interaction-muted-background)] text-xs text-[var(--ksadk-interaction-muted)]`,children:`1`}),(0,v.jsx)(`span`,{className:`min-w-0 flex-1`,children:`批准并继续`}),(0,v.jsx)(Pf,{className:`h-3.5 w-3.5 text-[var(--ksadk-interaction-muted)] opacity-0 transition group-hover:opacity-100`,"aria-hidden":`true`})]}),(0,v.jsxs)(`button`,{type:`button`,"data-testid":`interaction-reject`,disabled:h,onClick:()=>S(`reject`,{decision:`reject`}),className:`group flex min-h-9 w-full items-center gap-2.5 rounded-xl px-2.5 py-1.5 text-left text-sm font-medium text-[var(--ksadk-interaction-foreground)] transition hover:bg-[var(--ksadk-interaction-muted-background)] disabled:cursor-not-allowed disabled:opacity-55`,children:[(0,v.jsx)(`span`,{className:`flex h-6 w-6 shrink-0 items-center justify-center rounded-full bg-[var(--ksadk-interaction-muted-background)] text-xs text-[var(--ksadk-interaction-muted)]`,children:`2`}),(0,v.jsx)(`span`,{className:`min-w-0 flex-1`,children:`拒绝`}),(0,v.jsx)(Pf,{className:`h-3.5 w-3.5 text-[var(--ksadk-interaction-muted)] opacity-0 transition group-hover:opacity-100`,"aria-hidden":`true`})]}),(0,v.jsxs)(`label`,{className:`mt-0.5 flex min-w-0 items-center gap-2.5 rounded-xl bg-[var(--ksadk-interaction-muted-background)]/60 px-2.5 py-1.5`,children:[(0,v.jsx)(`span`,{className:`flex h-6 w-6 shrink-0 items-center justify-center rounded-full border border-[var(--ksadk-interaction-border)] bg-[var(--ksadk-interaction-control-background)] text-[var(--ksadk-interaction-muted)]`,children:(0,v.jsx)(Yp,{className:`h-3.5 w-3.5`,"aria-hidden":`true`})}),(0,v.jsx)(`input`,{type:`text`,value:o,onChange:e=>s(e.target.value),onKeyDown:e=>{e.key!==`Enter`||u(e)||!o.trim()||(e.preventDefault(),S(`cancel`,{feedback:o.trim()}))},placeholder:`告诉 Agent 要如何修改`,disabled:h,"data-testid":`interaction-tray-comment`,className:`h-8 min-w-0 flex-1 border-0 bg-transparent px-0 text-sm font-medium text-[var(--ksadk-interaction-foreground)] outline-none placeholder:text-[var(--ksadk-interaction-muted)] disabled:cursor-not-allowed disabled:opacity-55`}),(0,v.jsx)(`button`,{type:`button`,"data-testid":`interaction-feedback-submit`,"aria-label":`提交修改意见`,disabled:h||!o.trim(),onClick:()=>S(`cancel`,{feedback:o.trim()}),className:`flex h-7 w-7 shrink-0 items-center justify-center rounded-full text-[var(--ksadk-interaction-muted)] transition hover:bg-[var(--ksadk-interaction-control-background)] hover:text-[var(--ksadk-interaction-foreground)] disabled:opacity-30`,children:(0,v.jsx)(Pf,{className:`h-3.5 w-3.5`,"aria-hidden":`true`})})]})]}):(0,v.jsxs)(`div`,{className:`mt-2.5`,"data-testid":`interaction-tray-basic`,children:[(0,v.jsx)(`input`,{type:`text`,value:o,onChange:e=>s(e.target.value),onKeyDown:e=>{e.key!==`Enter`||u(e)||!o.trim()||(e.preventDefault(),S(`submit`,{value:o.trim()}))},placeholder:`输入回复`,disabled:h,"data-testid":`interaction-tray-comment`,className:`mb-2 h-8 w-full rounded-lg border border-[var(--ksadk-interaction-border)] bg-[var(--ksadk-interaction-control-background)] px-2.5 text-sm text-[var(--ksadk-interaction-foreground)] outline-none placeholder:text-[var(--ksadk-interaction-muted)] focus:ring-1 focus:ring-[var(--ksadk-interaction-focus-ring)]`}),(0,v.jsx)(`div`,{className:`flex justify-end gap-2`,children:(0,v.jsx)(`button`,{type:`button`,"data-testid":`interaction-submit`,disabled:h,onClick:()=>S(`submit`,{value:o}),className:`inline-flex h-8 items-center gap-1.5 rounded-lg bg-[var(--ksadk-interaction-primary-background)] px-3 text-xs font-medium text-[var(--ksadk-interaction-primary-foreground)] shadow-sm transition hover:opacity-90 disabled:cursor-not-allowed disabled:opacity-55`,children:`提交`})})]}),d.status===`resolving`?(0,v.jsx)(`p`,{className:`mt-2 text-xs text-[var(--ksadk-interaction-muted)]`,children:`正在提交,请稍候…`}):null]})})}function Lv({outcome:e}){return(0,v.jsx)(`span`,{className:Sf(`rounded border px-1.5 py-0.5 text-xs font-medium`,e===`approved`?`border-emerald-300 text-emerald-700 dark:border-emerald-900 dark:text-emerald-300`:e===`rejected`?`border-rose-300 text-rose-700 dark:border-rose-900 dark:text-rose-300`:`border-slate-300 text-slate-600 dark:border-slate-700 dark:text-slate-300`),children:Fv[e]||e})}function Rv(e){if(typeof e==`number`&&Number.isFinite(e)&&e>0)return e;if(typeof e==`string`&&e.trim()){let t=Number(e);if(Number.isFinite(t)&&t>0)return t}return null}function zv(e){return e?Rv(e.context_window_tokens)??Rv(e?.limits?.context_window_tokens):null}function Bv(e){return e?Rv(e.auto_compact_threshold_percentage)??84:84}function Vv({selectedModel:e,contextUsage:t}){let n=t&&(!t.model||t.model===e?.id)?t:null,r=Rv(n?.used_tokens),i=Rv(n?.context_window_tokens),a=i??zv(e),o={contextWindowTokens:a??void 0,contextWindowSource:a?i?`runtime`:`model`:void 0},s=n?.source===`last_request`?`上次请求输入`:`上下文占用`;if(!r)return{label:`上下文用量暂不可用`,phase:`default`,...o};let c=a?Math.round(r/a*100):void 0;return{label:s,phase:c!==void 0&&c>=Bv(e)?`warning`:`normal`,percent:c,usedTokens:r,...o}}var Hv=iv,Uv=cv,Wv=g.forwardRef(({className:e,...t},n)=>(0,v.jsx)(uv,{ref:n,className:Sf(`fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0`,e),...t}));Wv.displayName=uv.displayName;var Gv=g.forwardRef(({className:e,children:t,...n},r)=>(0,v.jsxs)(Uv,{children:[(0,v.jsx)(Wv,{}),(0,v.jsxs)(mv,{ref:r,className:Sf(`fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg`,e),...n,children:[t,(0,v.jsxs)(Cv,{className:`absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground`,children:[(0,v.jsx)(Sm,{className:`h-4 w-4`}),(0,v.jsx)(`span`,{className:`sr-only`,children:`Close`})]})]})]}));Gv.displayName=mv.displayName;var Kv=g.forwardRef(({className:e,...t},n)=>(0,v.jsx)(yv,{ref:n,className:Sf(`text-lg font-semibold leading-none tracking-tight`,e),...t}));Kv.displayName=yv.displayName;var qv=g.forwardRef(({className:e,...t},n)=>(0,v.jsx)(xv,{ref:n,className:Sf(`text-sm text-muted-foreground`,e),...t}));qv.displayName=xv.displayName;function Jv(e,t){if(!(!t||e))return{width:`min(${t.width}px, calc(100vw - 5rem))`,height:`min(${t.height}px, calc(100vh - 9rem))`}}function Yv(e,t){if(!(!t||e))return{width:`min(${t.width+32}px, calc(100vw - 3rem))`}}function Xv({attachment:e,isMobile:t,previewImageSize:n,onClose:r,onImageLoad:i}){return(0,v.jsx)(Hv,{open:!!e?.url,onOpenChange:e=>!e&&r(),children:(0,v.jsxs)(Gv,{className:Sf(`gap-0 overflow-hidden border-slate-700 bg-slate-950 p-0 text-slate-100 shadow-2xl [&>button]:right-3 [&>button]:top-3 [&>button]:rounded-md [&>button]:border [&>button]:border-slate-700 [&>button]:bg-slate-900/70 [&>button]:p-1.5 [&>button]:text-slate-200 [&>button]:opacity-100`,t?`left-0 top-0 h-[var(--app-height)] max-h-[var(--app-height)] w-screen max-w-none translate-x-0 translate-y-0 rounded-none border-0`:`max-h-[calc(100vh-2rem)] max-w-[calc(100vw-2rem)] rounded-2xl`),style:Yv(t,n),children:[(0,v.jsx)(`div`,{className:`flex items-center gap-3 border-b border-slate-800 px-4 py-3 pr-16`,children:(0,v.jsx)(Kv,{className:`truncate text-sm font-medium`,children:e?.name||`附件预览`})}),(0,v.jsx)(`div`,{className:Sf(`flex items-center justify-center overflow-auto bg-slate-950`,t?`h-full p-4 pb-[calc(var(--safe-area-bottom)+1rem)]`:`max-h-[calc(100vh-7rem)] p-4`),children:e?e.type.startsWith(`image/`)?(0,v.jsx)(`img`,{src:e.url,alt:e.name,className:Sf(`object-contain`,t?`h-auto max-h-full w-full max-w-full`:`h-auto w-auto max-h-[calc(100vh-9rem)] max-w-[calc(100vw-5rem)]`),style:Jv(t,n),onLoad:e=>{let t=e.currentTarget;i({width:t.naturalWidth,height:t.naturalHeight})}}):(0,v.jsx)(`iframe`,{src:e.url,title:e.name,className:`h-full min-h-[24rem] w-full rounded-xl border border-slate-800 bg-white`}):null})]})})}var Zv=class{entries=new Map;storageKey;maxEntries;listeners=new Set;runtimeAttachments=new Map;constructor(e=`ksadk.conversation-outbox`,t=128){this.storageKey=e,this.maxEntries=Math.max(1,t),this.restore()}enqueue(e){let t=e.requestId||`request_${Date.now().toString(36)}_${(++Qv).toString(36)}`,n=this.entries.get(t);if(n)return n;let r=Date.now(),i={...e,requestId:t,attachments:e.attachments.map(e=>({...e})),status:`pending`,attempt:0,createdAt:r,updatedAt:r};return this.entries.set(t,i),this.evict(),this.persist(),i}get(e){return this.entries.get(e)}setRuntimeAttachments(e,t){this.entries.has(e)&&this.runtimeAttachments.set(e,[...t])}getRuntimeAttachments(e){return[...this.runtimeAttachments.get(e)||[]]}subscribe(e){return this.listeners.add(e),()=>this.listeners.delete(e)}list(e){return[...this.entries.values()].filter(t=>!e||t.conversationId===e).sort((e,t)=>e.createdAt-t.createdAt)}listUnresolved(e){return this.list(e).filter(e=>e.status===`pending`||e.status===`sending`||e.status===`unknown`||e.status===`failed`)}update(e,t){let n=this.entries.get(e);if(!n)return;let r={...n,...t,updatedAt:Date.now()};return this.entries.set(e,r),this.persist(),r}markSending(e){let t=this.entries.get(e);return t?this.update(e,{status:`sending`,attempt:t.attempt+1,error:void 0}):void 0}requeue(e){let t=this.entries.get(e);return!t||![`pending`,`failed`,`unknown`].includes(t.status)?t:this.update(e,{status:`pending`,error:void 0})}remove(e){this.entries.delete(e),this.runtimeAttachments.delete(e),this.persist()}clear(){this.entries.clear(),this.runtimeAttachments.clear(),this.persist()}evict(){for(;this.entries.size>this.maxEntries;){let e=[...this.entries.values()].find(e=>[`completed`,`cancelled`,`failed`].includes(e.status));if(!e)return;this.entries.delete(e.requestId),this.runtimeAttachments.delete(e.requestId)}}restore(){try{let e=globalThis.localStorage?.getItem(this.storageKey);if(!e)return;let t=JSON.parse(e);if(!Array.isArray(t))return;for(let e of t){let t=e;if(!t.requestId||!t.conversationId||!t.agentId||typeof t.text!=`string`)continue;let n=t.status;if(!n||![`pending`,`sending`,`unknown`,`failed`,`completed`,`cancelled`].includes(n))continue;let r=n===`sending`?`unknown`:n;this.entries.set(t.requestId,{requestId:t.requestId,conversationId:t.conversationId,agentId:t.agentId,text:t.text,attachments:Array.isArray(t.attachments)?t.attachments.map(e=>({name:String(e.name||``),type:String(e.type||``),size:Number(e.size||0)})):[],executionMode:t.executionMode,nativeSessionId:t.nativeSessionId,invocationId:t.invocationId,status:r,attempt:Number(t.attempt||0),createdAt:Number(t.createdAt||Date.now()),updatedAt:Number(t.updatedAt||Date.now()),error:r===`unknown`&&n===`sending`?t.error||`应用重启后投递状态待确认。`:t.error})}this.evict()}catch{}}persist(){try{globalThis.localStorage?.setItem(this.storageKey,JSON.stringify([...this.entries.values()]))}catch{}for(let e of this.listeners)e()}},Qv=0;function $v(e=Math.random){return`conversation_${`${Date.now().toString(36)}_${(++ey).toString(36)}_${Math.floor(e()*4294967296).toString(36)}`}`}var ey=0,ty=128;function ny(){let e=0;return{get current(){return e},next:()=>++e}}var ry=class{drafts=new Map;conflicts=new Map;listeners=new Set;storageKey;maxEntries;storageListener;constructor(e=`ksadk.conversation-drafts`,t=128){this.storageKey=e,this.maxEntries=Math.max(1,t),this.restore(),typeof window<`u`&&typeof window.addEventListener==`function`&&(this.storageListener=e=>{e.key===this.storageKey&&this.applyExternal(e.newValue)},window.addEventListener(`storage`,this.storageListener))}get(e){let t=this.drafts.get(e);return t||(t={conversationId:e,text:``,revision:0,updatedAt:Date.now(),attachments:[]},this.drafts.set(e,t),this.evict(e)&&this.persist()),t}set(e,t,n){let r=this.get(e),i=n??r.attachments,a=r.attachments.length===i.length&&r.attachments.every((e,t)=>e===i[t]);if(r.text===t&&a)return r;let o={conversationId:e,text:t,attachments:i,revision:r.revision+1,updatedAt:Date.now()};return this.drafts.set(e,o),this.conflicts.delete(e),this.evict(e),this.persist(),o}delete(e){this.drafts.delete(e),this.conflicts.delete(e),this.persist()}clear(){this.drafts.clear(),this.conflicts.clear(),this.persist()}size(){return this.drafts.size}subscribe(e){return this.listeners.add(e),()=>this.listeners.delete(e)}getConflict(e){let t=this.conflicts.get(e);return t?{...t,local:{...t.local,attachments:[...t.local.attachments]}}:void 0}resolveConflict(e,t){let n=this.conflicts.get(e);if(!n)return this.drafts.get(e);if(t===`remote`){if(!n.remote){this.drafts.delete(e),this.conflicts.delete(e),this.persist();return}let t={conversationId:e,text:n.remote.text,revision:n.remote.revision,updatedAt:n.remote.updatedAt,attachments:[]};return this.drafts.set(e,t),this.conflicts.delete(e),this.persist(),t}let r=this.drafts.get(e);if(!r)return;let i={...r,revision:Math.max(r.revision,n.remote?.revision||0)+1,updatedAt:Date.now()};return this.drafts.set(e,i),this.conflicts.delete(e),this.persist(),i}dispose(){this.storageListener&&typeof window<`u`&&window.removeEventListener(`storage`,this.storageListener),this.listeners.clear()}restore(){try{let e=globalThis.localStorage?.getItem(this.storageKey);if(!e)return;let t=JSON.parse(e);for(let[e,n]of Object.entries(t)){let t=n;!e.startsWith(`conversation_`)||typeof t.text!=`string`||this.drafts.set(e,{conversationId:e,text:t.text,revision:Number.isFinite(t.revision)?Number(t.revision):0,updatedAt:Number.isFinite(t.updatedAt)?Number(t.updatedAt):Date.now(),attachments:[]})}this.evict()&&this.persist()}catch{}}evict(e){let t=!1;for(;this.drafts.size>this.maxEntries;){let n=[...this.drafts.values()].filter(t=>t.conversationId!==e).sort((e,t)=>e.updatedAt-t.updatedAt)[0];if(!n)break;this.drafts.delete(n.conversationId),t=!0}return t}persist(){try{if(!globalThis.localStorage)return;let e={};for(let[t,n]of this.drafts)n.text&&(e[t]={text:n.text,revision:n.revision,updatedAt:n.updatedAt});globalThis.localStorage.setItem(this.storageKey,JSON.stringify(e))}catch{}this.notify()}notify(){for(let e of this.listeners)e()}applyExternal(e){let t={};try{let n=e?JSON.parse(e):{};n&&typeof n==`object`&&!Array.isArray(n)&&(t=n)}catch{return}let n=new Set([...this.drafts.keys(),...Object.keys(t).filter(e=>e.startsWith(`conversation_`))]),r=!1;for(let e of n){let n=this.drafts.get(e),i=t[e],a=i&&typeof i.text==`string`?{text:i.text,revision:Number(i.revision||0),updatedAt:Number(i.updatedAt||0)}:null;if(!n&&a){this.drafts.set(e,{conversationId:e,...a,attachments:[]}),r=!0;continue}if(!n)continue;let o=a&&a.revision===n.revision&&(a.text!==n.text||a.updatedAt!==n.updatedAt),s=a&&a.revision>n.revision,c=!a&&n.text;o||c?(this.conflicts.set(e,{conversationId:e,local:{...n,attachments:[...n.attachments]},remote:a,detectedAt:Date.now()}),r=!0):s&&(this.drafts.set(e,{conversationId:e,...a,attachments:n.attachments}),this.conflicts.delete(e),r=!0)}r&&this.notify()}},iy=class{drafts;outbox;storageKey;ids=new Map;bindings=new Map;unboundDrafts=new Map;epoch=ny();constructor(e=`ksadk.conversation-bindings`){this.storageKey=e,this.drafts=new ry(`${e}:drafts`),this.outbox=new Zv(`${e}:outbox`),this.restoreIds()}navigate(){return this.epoch.next()}get navigationEpoch(){return this.epoch.current}getOrCreate(e,t,n){let r=this.key(e,t,n),i=this.ids.get(r);if(i)return this.bindings.has(i)||this.bindings.set(i,{conversationId:i,agentId:e,targetId:n,nativeSessionId:t||void 0}),t||this.unboundDrafts.set(i,!0),i;let a=$v();return this.ids.set(r,a),this.bindings.set(a,{conversationId:a,agentId:e,targetId:n,nativeSessionId:t||void 0}),t||(this.unboundDrafts.set(a,!0),this.pruneUnboundDrafts()),this.persistIds(),a}bindNative(e,t){let n=this.bindings.get(e);if(!n)throw Error(`Unknown conversation: ${e}`);if(!t)throw Error(`Native session identity is required`);if(n.nativeSessionId&&n.nativeSessionId!==t)throw Error(`An executed conversation cannot change native sessions`);let r=this.key(n.agentId,t,n.targetId),i=this.ids.get(r);if(i&&i!==e)throw Error(`Native session is already bound`);let a={...n,nativeSessionId:t};this.bindings.set(e,a),this.unboundDrafts.delete(e),this.ids.set(r,e);let o=this.key(n.agentId,null,n.targetId);return this.ids.get(o)===e&&this.ids.delete(o),this.persistIds(),a}createDraft(e,t){return this.ids.delete(this.key(e,null,t)),this.getOrCreate(e,null,t)}clear(){this.navigate(),this.ids.clear(),this.bindings.clear(),this.unboundDrafts.clear(),this.drafts.clear(),this.outbox.clear(),this.persistIds()}restoreIds(){try{let e=globalThis.localStorage?.getItem(this.storageKey);if(!e)return;let t=JSON.parse(e);for(let[e,n]of Object.entries(t)){if(typeof n!=`string`||!n.startsWith(`conversation_`))continue;let t=n;this.ids.set(e,t);try{let n=JSON.parse(e);Array.isArray(n)&&n[2]===null&&this.unboundDrafts.set(t,!0)}catch{}}this.pruneUnboundDrafts()}catch{}}persistIds(){try{globalThis.localStorage?.setItem(this.storageKey,JSON.stringify(Object.fromEntries(this.ids)))}catch{}}pruneUnboundDrafts(){let e=!1;for(;this.unboundDrafts.size>ty;){let t=[...this.unboundDrafts.keys()].find(e=>!this.bindings.get(e)?.nativeSessionId&&this.outbox.listUnresolved(e).length===0);if(!t)break;this.unboundDrafts.delete(t),this.bindings.delete(t);for(let[e,n]of this.ids)n===t&&this.ids.delete(e);this.drafts.delete(t),e=!0}e&&this.persistIds()}key(e,t,n){return JSON.stringify([e,n??null,t])}binding(e){return this.bindings.get(e)}};function ay({indicator:e,onCompact:t,disabled:n}){let r=(0,g.useRef)(null),[i,a]=(0,g.useState)(!1),o=(0,g.useRef)(!1);(0,g.useEffect)(()=>{if(!i)return;let e=e=>{e.target instanceof Node&&!r.current?.contains(e.target)&&(o.current=!1,a(!1))},t=e=>{e.key===`Escape`&&(o.current=!1,a(!1),r.current?.querySelector(`button`)?.focus())};return document.addEventListener(`pointerdown`,e,!0),document.addEventListener(`keydown`,t),()=>{document.removeEventListener(`pointerdown`,e,!0),document.removeEventListener(`keydown`,t)}},[i]);let[s,c]=(0,g.useState)(!1),[l,u]=(0,g.useState)(``),d=typeof e.usedTokens==`number`&&Number.isFinite(e.usedTokens)&&e.usedTokens>=0,f=d&&typeof e.percent==`number`&&Number.isFinite(e.percent)?Math.max(0,Math.min(100,e.percent)):void 0,p=async()=>{if(!(!t||s||n)){c(!0),u(``);try{await t(),u(`上下文已压缩`)}catch(e){u(e instanceof Error?e.message:`压缩失败,请重试`)}finally{c(!1)}}};return(0,v.jsxs)(`div`,{ref:r,className:`relative flex h-8 w-8 items-center justify-center`,onPointerEnter:e=>{e.pointerType!==`touch`&&a(!0)},onPointerLeave:()=>{o.current||a(!1)},children:[(0,v.jsx)(`button`,{type:`button`,"aria-label":`上下文用量与压缩`,"aria-expanded":i,onClick:()=>{o.current=!o.current,a(o.current),u(``)},className:Sf(`flex h-8 w-8 items-center justify-center rounded-full`,e.phase===`warning`?`text-text-primary`:`text-text-muted`),children:(0,v.jsxs)(`svg`,{width:`16`,height:`16`,viewBox:`0 0 16 16`,"aria-hidden":`true`,className:s?`animate-pulse`:void 0,style:{display:`block`,flexShrink:0},children:[(0,v.jsx)(`circle`,{cx:`8`,cy:`8`,r:`6`,fill:`none`,stroke:`var(--ksadk-menu-border, #b8bcb5)`,strokeWidth:`2`}),f!==void 0&&(0,v.jsx)(`circle`,{cx:`8`,cy:`8`,r:`6`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,pathLength:`100`,strokeDasharray:`${f} 100`,transform:`rotate(-90 8 8)`})]})}),(0,v.jsxs)(`div`,{style:{background:`var(--ksadk-menu-background, hsl(var(--popover)))`,borderColor:`var(--ksadk-menu-border, hsl(var(--border)))`,boxShadow:`var(--ksadk-menu-shadow, 0 18px 44px rgba(15, 23, 42, 0.16))`},role:i?`dialog`:void 0,"aria-label":i?`上下文`:void 0,className:Sf(`absolute bottom-full right-0 z-30 w-60 rounded-xl border border-border bg-background p-4 text-sm text-foreground shadow-lg`,i?`block`:`hidden`),children:[(0,v.jsx)(`p`,{className:Sf(`font-medium`,s&&`waiting-thinking-text`),children:s?`正在压缩上下文…`:d?e.label:`上下文用量暂不可用`}),d&&(0,v.jsxs)(`p`,{className:`mt-1 text-text-secondary`,children:[`${oy(e.usedTokens)} tokens`,e.contextWindowTokens?` / ${oy(e.contextWindowTokens)}`:``]}),e.contextWindowTokens&&(0,v.jsxs)(`p`,{className:`mt-1 text-text-muted`,children:[`模型窗口:`,oy(e.contextWindowTokens),` tokens`]}),d&&!e.contextWindowTokens&&(0,v.jsx)(`p`,{className:`mt-1 text-text-muted`,children:`模型窗口大小未报告`}),f!==void 0&&(0,v.jsxs)(`p`,{className:`text-text-muted`,children:[f,`% 已使用`]}),i&&(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(`button`,{type:`button`,onClick:()=>void p(),disabled:!t||s||n,className:`mt-3 w-full rounded-lg border border-border bg-muted px-3 py-2 disabled:opacity-50`,children:s?`正在压缩…`:`压缩上下文`}),(0,v.jsx)(`p`,{className:`mt-2 text-xs text-text-muted`,children:n?`请等待当前运行结束`:t?`压缩模型上下文,保留聊天记录`:`当前会话尚不支持手动压缩`}),l&&(0,v.jsx)(`p`,{role:`status`,className:`mt-2 text-xs`,children:l})]})]})]})}function oy(e){return new Intl.NumberFormat(`zh-CN`).format(e)}var sy=[{value:`plan`,label:`计划模式`,description:`先分析并形成可执行计划`,icon:Mp},{value:`goal`,label:`设定目标`,description:`朝可验证的停止条件持续推进`,icon:dm}],cy={plan:`计划模式`,goal:`目标`};function ly({attachmentsEnabled:e,mode:t,support:n,onSelectMode:r,onUpload:i}){let[a,o]=(0,g.useState)(!1),s=(0,g.useRef)(null),c=sy.filter(e=>n[e.value]);return(0,g.useEffect)(()=>{if(!a)return;let e=e=>{s.current&&!s.current.contains(e.target)&&o(!1)},t=e=>{e.key===`Escape`&&o(!1)};return document.addEventListener(`mousedown`,e),document.addEventListener(`keydown`,t),()=>{document.removeEventListener(`mousedown`,e),document.removeEventListener(`keydown`,t)}},[a]),!e&&c.length===0?null:(0,v.jsxs)(`div`,{ref:s,className:`relative flex min-w-0 items-center gap-1`,children:[(0,v.jsx)(`button`,{type:`button`,onClick:()=>o(e=>!e),className:`flex h-8 w-8 shrink-0 items-center justify-center rounded-xl text-text-secondary transition hover:bg-muted hover:text-text-primary focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/25`,"aria-expanded":a,"aria-haspopup":`menu`,"aria-label":`添加附件或选择执行模式`,title:`添加附件或选择执行模式`,children:(0,v.jsx)($p,{className:`h-[19px] w-[19px]`})}),t?(0,v.jsxs)(`button`,{type:`button`,onClick:()=>o(e=>!e),className:Sf(`flex h-8 max-w-[8.5rem] items-center gap-1 rounded-xl px-2 text-[12px] transition`,t===`goal`?`bg-neutral-50 text-neutral-700 hover:bg-neutral-100 dark:bg-neutral-950/40 dark:text-neutral-300`:`text-text-secondary hover:bg-muted hover:text-text-primary`),"aria-label":`当前执行模式:${cy[t]}`,children:[(0,v.jsx)(`span`,{className:`truncate`,children:cy[t]}),(0,v.jsx)(qf,{className:`h-3.5 w-3.5 shrink-0`})]}):null,a?(0,v.jsxs)(`div`,{role:`menu`,"aria-label":`附件与执行模式`,className:`absolute bottom-[calc(100%+0.6rem)] left-0 z-40 w-[min(18rem,calc(100vw-2rem))] rounded-xl border border-border/80 bg-popover p-1 shadow-[0_10px_24px_rgba(15,23,42,0.12)]`,style:{backgroundColor:`var(--ksadk-popover, #fff)`,borderColor:`var(--ksadk-border, rgba(15, 23, 42, 0.12))`},children:[e?(0,v.jsxs)(`button`,{type:`button`,role:`menuitem`,onClick:()=>{i(),o(!1)},className:`flex h-10 w-full items-center gap-2 rounded-lg px-2.5 text-left transition hover:bg-muted/70`,children:[(0,v.jsx)(_m,{className:`h-4 w-4 shrink-0 text-text-muted`}),(0,v.jsx)(`span`,{className:`shrink-0 text-[13px] font-medium text-text-primary`,children:`上传附件`}),(0,v.jsx)(`span`,{className:`ml-auto truncate text-[11px] text-text-muted`,children:`添加文件或图片`})]}):null,c.map(e=>{let n=e.icon,i=t===e.value;return(0,v.jsxs)(`button`,{type:`button`,role:`menuitemradio`,"aria-checked":i,onClick:()=>{r(e.value),o(!1)},className:Sf(`flex h-10 w-full items-center gap-2 rounded-lg px-2.5 text-left transition`,i?`bg-muted`:`hover:bg-muted/70`),children:[(0,v.jsx)(n,{className:`h-4 w-4 shrink-0 text-text-muted`}),(0,v.jsx)(`span`,{className:`shrink-0 text-[13px] font-medium text-text-primary`,children:e.label}),(0,v.jsx)(`span`,{className:`ml-auto truncate text-[11px] text-text-muted`,children:e.description}),i?(0,v.jsx)(Kf,{className:`h-4 w-4 shrink-0 text-text-primary`}):null]},e.value)})]}):null]})}var uy=[{value:`auto`,label:`自动`},{value:`enabled`,label:`开启`},{value:`disabled`,label:`关闭`}],dy={auto:`自动`,enabled:`开启`,disabled:`关闭`};function fy({availableModels:e,selectedModel:t,thinkingEnabled:n,thinkingMode:r,onSelectModel:i,onSelectThinkingMode:a}){let[o,s]=(0,g.useState)(!1),c=(0,g.useRef)(null),l=e.find(e=>e.id===t)?.display_name||t||`选择模型`;return(0,g.useEffect)(()=>{if(!o)return;let e=e=>{c.current&&!c.current.contains(e.target)&&s(!1)},t=e=>{e.key===`Escape`&&s(!1)};return document.addEventListener(`mousedown`,e),document.addEventListener(`keydown`,t),()=>{document.removeEventListener(`mousedown`,e),document.removeEventListener(`keydown`,t)}},[o]),(0,v.jsxs)(`div`,{ref:c,className:`relative`,children:[(0,v.jsxs)(`button`,{type:`button`,onClick:()=>s(e=>!e),className:`flex h-8 max-w-[15rem] items-center gap-1.5 rounded-xl px-3 text-[13px] text-text-primary transition hover:brightness-[0.98] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/25`,style:{background:`var(--ksadk-menu-trigger-background, hsl(var(--muted)))`},"aria-expanded":o,"aria-haspopup":`menu`,"aria-label":n?`模型 ${l},推理 ${dy[r]}`:`模型 ${l}`,title:n?`选择模型与推理设置`:`选择模型`,children:[(0,v.jsx)(`span`,{className:`min-w-0 truncate`,children:l}),n?(0,v.jsx)(`span`,{className:`shrink-0 text-text-muted`,children:dy[r]}):null,(0,v.jsx)(qf,{className:Sf(`h-3.5 w-3.5 shrink-0 text-text-muted transition-transform`,o&&`rotate-180`)})]}),o?(0,v.jsxs)(`div`,{role:`menu`,"aria-label":`选择模型`,className:`absolute bottom-[calc(100%+0.65rem)] right-0 z-40 w-[min(17rem,calc(100vw-2rem))] overflow-hidden rounded-2xl border p-1.5`,style:{background:`var(--ksadk-menu-background, hsl(var(--popover)))`,borderColor:`var(--ksadk-menu-border, hsl(var(--border)))`,boxShadow:`var(--ksadk-menu-shadow, 0 18px 44px rgba(15, 23, 42, 0.16))`},children:[(0,v.jsx)(`div`,{className:`px-2.5 pb-1.5 pt-1 text-[11px] font-medium text-text-muted`,children:`模型`}),(0,v.jsx)(`div`,{className:`max-h-[min(45vh,18rem)] overflow-y-auto`,children:e.map(e=>{let n=e.id===t;return(0,v.jsxs)(`button`,{type:`button`,role:`menuitemradio`,"aria-checked":n,onClick:()=>{i(e.id),s(!1)},className:Sf(`flex w-full items-center gap-2 rounded-xl px-2.5 py-2 text-left text-[13px] transition-colors`,n?`bg-muted text-text-primary`:`text-text-secondary hover:bg-muted hover:text-text-primary`),children:[(0,v.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:e.display_name||e.id}),n?(0,v.jsx)(Kf,{className:`h-4 w-4 shrink-0`,"aria-hidden":`true`}):null]},e.id)})}),n?(0,v.jsx)(`div`,{className:`mt-1 border-t border-border px-1 pt-1.5`,children:(0,v.jsxs)(`div`,{className:`flex items-center justify-between gap-2 px-1.5 pb-1`,children:[(0,v.jsx)(`span`,{className:`text-[11px] font-medium text-text-muted`,children:`推理`}),(0,v.jsx)(`div`,{className:`flex rounded-lg bg-muted p-0.5`,children:uy.map(e=>(0,v.jsx)(`button`,{type:`button`,onClick:()=>a(e.value),className:Sf(`rounded-md px-2 py-1 text-[11px] transition-colors`,e.value===r?`bg-card text-text-primary shadow-sm`:`text-text-muted hover:text-text-primary`),children:e.label},e.value))})]})}):null]}):null]})}var py=[{value:`ask`,label:`请求批准`,description:`Agent 请求授权时确认`,icon:Dp},{value:`risk`,label:`风险操作需确认`,description:`仅副作用操作`,icon:om},{value:`full`,label:`完全访问`,description:`不再确认`,icon:am}],my={ask:`请求批准`,risk:`风险确认`,full:`完全访问`};function hy({approvalPolicy:e}){let[t,n]=(0,g.useState)(!1),r=(0,g.useRef)(null),i=Af(e=>e.permissionMode),a=Af(e=>e.setPermissionMode),o=i===`ask`?Dp:i===`full`?am:om,s=(0,g.useMemo)(()=>py.filter(t=>!e||e.Modes.includes(t.value)),[e]);return(0,g.useEffect)(()=>{s.some(e=>e.value===i)||a(e?.DefaultMode||s[0]?.value||`risk`)},[e?.DefaultMode,i,a,s]),(0,g.useEffect)(()=>{if(!t)return;let e=e=>{r.current&&!r.current.contains(e.target)&&n(!1)},i=e=>{e.key===`Escape`&&n(!1)};return document.addEventListener(`mousedown`,e),document.addEventListener(`keydown`,i),()=>{document.removeEventListener(`mousedown`,e),document.removeEventListener(`keydown`,i)}},[t]),(0,v.jsxs)(`div`,{ref:r,className:`relative`,children:[(0,v.jsxs)(`button`,{type:`button`,onClick:()=>n(e=>!e),className:Sf(`flex h-8 items-center gap-1.5 rounded-xl px-2.5 text-[13px] transition hover:bg-muted focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/25`,i===`full`?`text-amber-600 dark:text-amber-400`:`text-text-secondary hover:text-text-primary`),"aria-expanded":t,"aria-haspopup":`menu`,title:`设置本次会话的工具审批规则`,children:[(0,v.jsx)(o,{className:`h-3.5 w-3.5`}),(0,v.jsx)(`span`,{children:my[i]}),(0,v.jsx)(qf,{className:Sf(`h-3.5 w-3.5 transition-transform`,t&&`rotate-180`)})]}),t?(0,v.jsx)(`div`,{role:`menu`,"aria-label":`工具权限`,className:`absolute bottom-[calc(100%+0.6rem)] left-0 z-30 w-[18rem] rounded-xl border border-border/80 bg-popover p-1 shadow-[0_10px_24px_rgba(15,23,42,0.12)]`,style:{backgroundColor:`var(--ksadk-popover, #fff)`,borderColor:`var(--ksadk-border, rgba(15, 23, 42, 0.12))`},children:s.map(e=>{let t=e.icon,r=e.value===i;return(0,v.jsxs)(`button`,{type:`button`,role:`menuitemradio`,"aria-checked":r,onClick:()=>{a(e.value),n(!1)},className:Sf(`flex h-10 w-full items-center gap-2 rounded-lg px-2.5 text-left transition-colors`,r?`bg-primary/[0.08]`:`hover:bg-muted/75`),children:[(0,v.jsx)(t,{className:Sf(`h-4 w-4 shrink-0`,r?`text-primary`:`text-text-muted`)}),(0,v.jsx)(`span`,{className:Sf(`shrink-0 text-[13px] font-medium`,r?`text-text-primary`:`text-text-secondary`),children:e.label}),(0,v.jsx)(`span`,{className:`ml-auto truncate text-[11px] text-text-muted`,children:e.description}),r?(0,v.jsx)(Kf,{className:`h-4 w-4 shrink-0 text-primary`,"aria-hidden":`true`}):null]},e.value)})}):null]})}function gy({headerSlot:e,onCompactContext:t,attachments:n,composerContextIndicator:r,composerMaxHeight:i,fileInputRef:a,input:o,isMobile:s,isStreaming:c,attachmentsEnabled:l=!0,approvalEnabled:u=!1,approvalPolicy:d,thinkingEnabled:f=!1,executionMode:p,executionModeSupport:m,queuedDrafts:h,onAppendAttachments:_,onInputChange:y,onSelectExecutionMode:b,onPaste:x,onRemoveAttachment:S,onStopGeneration:C,onCancelRemote:w,onSubmit:T,textareaRef:E,className:D}){let[O,k]=(0,g.useState)(!1),A=Cf(),j=t?async()=>{k(!0);try{await t()}finally{k(!1)}}:void 0,M=p===`goal`?`描述需要持续完成的目标…`:p===`plan`?`描述需要先规划的任务…`:s?`发送消息...`:`发送消息…`,N=w?`保留恢复点并结束本次执行`:`停止生成`,P=p===`goal`?!!o.trim():!!(o.trim()||n.length>0),F=Ou(e=>e.availableModels),I=Ou(e=>e.selectedModel),ee=Ou(e=>e.thinkingMode),L=Ou(e=>e.setSelectedModel),te=Ou(e=>e.setThinkingMode),R=e=>e<1024?`${e} B`:e<1048576?`${(e/1024).toFixed(1)} KB`:`${(e/1024/1024).toFixed(1)} MB`;return(0,v.jsx)(`div`,{className:Sf(`relative z-10 flex-shrink-0 bg-background/95 px-3 py-3 backdrop-blur sm:px-4 sm:py-3`,D),"data-slot":`composer`,children:(0,v.jsxs)(`div`,{className:`mx-auto w-full max-w-[64rem]`,children:[O&&(0,v.jsxs)(`div`,{role:`status`,className:`mb-3 flex items-center gap-2 px-2 text-sm text-text-muted`,children:[(0,v.jsx)(bp,{size:16,"aria-hidden":`true`}),(0,v.jsx)(`span`,{className:`waiting-thinking-text`,children:`正在压缩上下文`})]}),h.length>0?(0,v.jsxs)(`div`,{className:`mb-2 rounded-2xl border border-neutral-200/80 bg-neutral-50/80 px-3 py-2 text-xs text-neutral-900 shadow-sm dark:border-neutral-900/60 dark:bg-neutral-950/30 dark:text-neutral-100`,children:[(0,v.jsxs)(`div`,{className:`mb-1.5 flex items-center justify-between gap-2`,children:[(0,v.jsxs)(`span`,{className:`font-semibold`,children:[`发送队列 · `,h.length]}),(0,v.jsx)(`span`,{className:`text-neutral-700/75 dark:text-neutral-200/75`,children:`当前回复完成后依次发送`})]}),(0,v.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[h.slice(0,3).map((e,t)=>{let n=e.text.trim()||(e.attachments.length>0?`仅附件消息`:`空消息`);return(0,v.jsxs)(`div`,{className:`flex items-center gap-2 rounded-xl bg-background/70 px-2 py-1.5`,children:[(0,v.jsx)(`span`,{className:`flex h-5 w-5 flex-shrink-0 items-center justify-center rounded-full bg-neutral-100 font-mono text-[10px] text-neutral-700 dark:bg-neutral-900/50 dark:text-neutral-100`,children:t+1}),(0,v.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-text-secondary`,children:n}),e.attachments.length>0?(0,v.jsxs)(`span`,{className:`flex-shrink-0 rounded-full bg-neutral-100 px-2 py-0.5 text-[10px] text-neutral-700 dark:bg-neutral-900/50 dark:text-neutral-100`,children:[e.attachments.length,` 附件`]}):null]},`${t}-${n}-${e.attachments.length}`)}),h.length>3?(0,v.jsxs)(`div`,{className:`px-2 pt-0.5 text-[11px] text-neutral-700/80 dark:text-neutral-200/80`,children:[`还有 `,h.length-3,` 条等待发送`]}):null]})]}):null,(0,v.jsx)(`div`,{"data-slot":`composer-surface`,className:`relative rounded-[var(--chat-composer-radius,28px)] bg-surface shadow-[0_0_0_0.5px_rgba(15,23,42,0.08),0_5px_18px_rgba(15,23,42,0.07)] dark:shadow-[0_0_0_0.5px_rgba(255,255,255,0.06),0_8px_24px_rgba(0,0,0,0.24)]`,children:(0,v.jsx)(`div`,{className:`flex items-center gap-3`,children:(0,v.jsxs)(`form`,{"data-slot":`composer-form`,onSubmit:e=>{if(e.preventDefault(),O)return;if(c){w?w():C();return}let t=o.trim();P&&T(t,n)},onDragOver:e=>{e.preventDefault(),e.stopPropagation()},onDrop:e=>{e.preventDefault(),e.stopPropagation(),l&&e.dataTransfer.files&&e.dataTransfer.files.length>0&&_(Array.from(e.dataTransfer.files))},className:`relative flex min-h-[116px] min-w-0 flex-1 flex-col rounded-[var(--chat-composer-radius,28px)] border border-border/55 bg-background px-4 pb-3 pt-3 transition-all focus-within:border-primary/40 focus-within:ring-2 focus-within:ring-primary/15 sm:px-5`,children:[e==null?null:(0,v.jsx)(`div`,{"data-slot":`composer-header`,className:`mb-2 min-w-0`,children:e}),n.length>0?(0,v.jsx)(`div`,{className:`mb-1.5 flex flex-wrap gap-2`,children:n.map((e,t)=>(0,v.jsxs)(`div`,{className:Sf(`group relative flex items-center gap-2 rounded-xl border border-border bg-background px-3 py-2 text-xs`,s?`max-w-full`:`max-w-[14rem]`),children:[(0,v.jsx)(`span`,{className:`flex h-7 w-7 flex-shrink-0 items-center justify-center rounded-lg bg-muted text-text-muted`,children:(0,v.jsx)(Jp,{className:`h-3.5 w-3.5`})}),(0,v.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,v.jsx)(`span`,{className:`block truncate font-medium text-text-primary`,children:e.name}),(0,v.jsx)(`span`,{className:`block text-[10px] text-text-muted`,children:R(e.size)})]}),(0,v.jsx)(`button`,{type:`button`,onClick:()=>S(t),className:`absolute -right-1.5 -top-1.5 flex h-4 w-4 items-center justify-center rounded-full border border-border bg-background text-text-muted shadow-sm transition hover:text-rose-500`,"aria-label":`移除附件 ${e.name}`,children:(0,v.jsx)(`span`,{className:`text-[11px] leading-none`,children:`×`})})]},`${e.name}-${e.size}-${t}`))}):null,(0,v.jsx)(`textarea`,{"data-slot":`composer-input`,ref:E,rows:1,value:o,onChange:y,onKeyDown:e=>{if(e.key===`Enter`&&!e.shiftKey){if(A(e))return;if(e.preventDefault(),c){!O&&P&&T(o.trim(),n);return}e.currentTarget.form?.requestSubmit()}},onPaste:x,placeholder:M,className:Sf(`custom-scrollbar max-h-[176px] min-h-[62px] w-full resize-none overflow-y-auto border-0 bg-transparent px-0 pb-1 pt-1 text-[15px] leading-6 text-text-primary outline-none placeholder:text-text-muted/60`,s?`text-[16px]`:`text-[14px]`),style:{maxHeight:`${i}px`,overflowY:`auto`}}),(0,v.jsxs)(`div`,{"data-slot":`composer-toolbar`,className:`mt-auto flex min-h-8 items-center justify-between gap-2 pt-1.5`,children:[(0,v.jsxs)(`div`,{"data-slot":`composer-toolbar-start`,className:`flex min-w-0 items-center gap-1.5`,children:[(0,v.jsx)(`input`,{ref:a,type:`file`,multiple:!0,className:`hidden`,onChange:e=>{e.target.files&&e.target.files.length>0&&(_(Array.from(e.target.files)),e.target.value=``)}}),(0,v.jsx)(ly,{attachmentsEnabled:l,mode:p,support:m,onSelectMode:b,onUpload:()=>a.current?.click()}),u?(0,v.jsx)(hy,{approvalPolicy:d}):null]}),(0,v.jsxs)(`div`,{"data-slot":`composer-toolbar-end`,className:`flex min-w-0 items-center gap-1.5`,children:[r?(0,v.jsx)(ay,{indicator:r,onCompact:j,disabled:c}):null,F.length>0?(0,v.jsx)(fy,{availableModels:F,selectedModel:I,thinkingEnabled:f,thinkingMode:ee,onSelectModel:L,onSelectThinkingMode:te}):null,(0,v.jsx)(`button`,{type:`submit`,disabled:O||!c&&!P,className:Sf(`flex h-9 w-9 shrink-0 items-center justify-center rounded-full transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/30`,c||P?`bg-[#1f1f1f] text-white hover:opacity-80`:`bg-muted text-text-muted/45`),title:c?N:`发送消息`,children:c?(0,v.jsx)(lm,{className:`h-3.5 w-3.5 fill-current`}):(0,v.jsx)(If,{className:`h-[18px] w-[18px]`})})]})]})]})})})]})})}function _y(e){return[e.name,e.size,e.lastModified,e.type].join(`:`)}function vy(e,t){let n=new Map;for(let t of e)n.set(_y(t),t);for(let e of t)n.set(_y(e),e);return Array.from(n.values())}function yy(e){return Array.from(e.clipboardData.items||[]).filter(e=>e.kind===`file`).map(e=>e.getAsFile()).filter(e=>!!e)}function by({draftKey:e,draftStore:t,headerSlot:n,onCompactContext:r,composerMaxHeight:i,submitDraft:a,stopGeneration:o,cancelRemote:s,isMobile:c,attachmentsEnabled:l=!0,approvalEnabled:u=!1,approvalPolicy:d,thinkingEnabled:f=!1,runtimeCapabilityMatrix:p,pendingInteractions:m,onRespondInteraction:h,localCatalog:_,className:y}){let[b,x]=(0,g.useState)(0),[S,C]=(0,g.useState)(),w=xu(e=>e.input),T=xu(e=>e.attachments),E=zu(e=>e.currentSessionId),D=Eu(t=>t.isSessionStreaming(E||e)),O=xu(e=>e.queuedDrafts),k=zu(e=>e.sessions.find(e=>e.SessionId===E)?.ContextUsage),A=Ou(e=>e.availableModels),j=Ou(e=>e.selectedModel),M=Ou(e=>e.setThinkingMode),N=(0,g.useRef)(null),P=(0,g.useRef)(null),[F]=(0,g.useState)(()=>new ry),I=t||F,ee=(0,g.useRef)(void 0);(0,g.useLayoutEffect)(()=>{if(!e)return;let t=ee.current!==e;ee.current=e;let n=I.get(e),r=xu.getState().input;if(!(!t&&r.trim()))return xu.setState({input:n.text,attachments:n.attachments}),xu.subscribe((t,n)=>{(t.input!==n.input||t.attachments!==n.attachments)&&I.set(e,t.input,t.attachments)})},[e,I]),(0,g.useEffect)(()=>!e||!t?void 0:I.subscribe(()=>{if(I.getConflict(e))return;let t=I.get(e),n=xu.getState(),r=t.attachments.length===n.attachments.length&&t.attachments.every((e,t)=>e===n.attachments[t]);(t.text!==n.input||!r)&&xu.setState({input:t.text,attachments:t.attachments})}),[e,t,I]);let L=(0,g.useMemo)(()=>A.find(e=>e.id===j)||null,[A,j]),te=(0,g.useMemo)(()=>Vv({selectedModel:L,contextUsage:k}),[L,k]),R=(0,g.useMemo)(()=>({plan:!!p?.plan?.supported,goal:!!p?.goal?.supported}),[p]),z=S&&R[S]?S:void 0,ne=(0,g.useCallback)((e,t)=>{!e&&t.length===0||(xu.getState().setInput(``),xu.getState().setAttachments([]),a(e,t,void 0,void 0,z),z===`goal`&&C(void 0))},[z,a]);(0,g.useEffect)(()=>{P.current&&(P.current.style.height=`auto`,P.current.style.height=`${Math.min(P.current.scrollHeight,i)}px`)},[w,i]);let re=e=>{xu.getState().setInput(e.target.value),e.target.style.height=`auto`,e.target.style.height=`${Math.min(e.target.scrollHeight,i)}px`},ie=e=>{!l||!e.length||xu.getState().setAttachments(t=>vy(t,e))},ae=e=>{if(!l)return;let t=yy(e);t.length&&(e.preventDefault(),e.stopPropagation(),ie(t))},B=m||[],V=Math.min(b,Math.max(B.length-1,0));return(0,g.useEffect)(()=>{f||M(`auto`)},[M,f]),(0,v.jsxs)(`div`,{className:`flex w-full flex-col justify-center`,children:[B.length>0&&h?(0,v.jsx)(Iv,{interactions:B,activeIndex:V,onSelectIndex:x,onRespond:h,localCatalog:_}):null,(0,v.jsx)(gy,{headerSlot:n,onCompactContext:E?r:void 0,attachments:T,composerContextIndicator:te,composerMaxHeight:i,fileInputRef:N,input:w,isMobile:c,isStreaming:D,attachmentsEnabled:l,approvalEnabled:u,approvalPolicy:d,thinkingEnabled:f,executionMode:z,executionModeSupport:R,queuedDrafts:O,onAppendAttachments:ie,onInputChange:re,onSelectExecutionMode:C,onPaste:ae,onRemoveAttachment:e=>xu.getState().setAttachments(t=>t.filter((t,n)=>n!==e)),onStopGeneration:o,onCancelRemote:s,onSubmit:ne,textareaRef:P,className:y})]})}var xy=F()(e=>({messages:[],setMessages:t=>e({messages:t}),patchMessages:t=>e(e=>({messages:t(e.messages)}))})),Sy=[],Cy=[];function wy(e){return typeof e==`string`?e.trim():``}function Ty(e){let t=typeof e==`number`?e:Number(e);return Number.isFinite(t)?t:void 0}function Ey(e){return typeof e==`string`||typeof e==`number`?e:void 0}function Dy(e){return e&&typeof e==`object`&&!Array.isArray(e)?e:void 0}function Oy(e){return e!==null}function ky(e){return e!==null}function Ay(e){return[...e].sort((e,t)=>{let n=t.seqId??-1,r=e.seqId??-1;return n===r?(Date.parse(String(t.timestamp||``))||0)-(Date.parse(String(e.timestamp||``))||0):n-r})}function jy(e){return[...e].sort((e,t)=>{let n=t.seqId??-1,r=e.seqId??-1;return n===r?(Date.parse(String(t.timestamp||``))||0)-(Date.parse(String(e.timestamp||``))||0):n-r})}function My(e){return Ay(e)[0]?.runId||``}function Ny(e){let t=My(e);return t?e.filter(e=>e.runId===t):[]}function Py(e){let t=Dy(e);if(!t)return null;let n=Dy(t.Metadata??t.metadata),r=Dy(t.Content??t.content),i=wy(t.CheckpointId??t.checkpointId??t.checkpoint_id??n?.checkpoint_id??n?.checkpointId??r?.checkpoint_id??r?.checkpointId),a=wy(t.RunId??t.runId??t.run_id??n?.run_id??n?.runId??r?.run_id??r?.runId);return!i||!a?null:{checkpointId:i,runId:a,sessionId:wy(t.SessionId??t.sessionId??t.session_id)||void 0,invocationId:wy(t.InvocationId??t.invocationId??t.invocation_id)||void 0,seqId:Ty(t.SeqId??t.seqId??t.seq_id),timestamp:Ey(t.Timestamp??t.timestamp??t.CreatedAt??t.createdAt),framework:wy(t.Framework??t.framework??n?.framework??r?.framework)||void 0,frameworkRef:Dy(t.FrameworkRef??t.frameworkRef??t.framework_ref??n?.framework_ref??n?.frameworkRef),phase:wy(t.Phase??t.phase??n?.phase??r?.phase)||void 0,stage:wy(t.Stage??t.stage??n?.stage??n?.title)||void 0,summary:wy(t.Summary??t.summary??n?.summary??n?.description)||void 0,nextAction:wy(t.NextAction??t.nextAction??t.next_action??n?.nextAction??n?.next_action)||void 0,status:wy(t.Status??t.status??n?.status??r?.status)||void 0,metadata:n}}function Fy(e){let t=Dy(e);if(!t)return null;let n=wy(t.ReceiptId??t.receiptId??t.receipt_id),r=wy(t.IdempotencyKey??t.idempotencyKey??t.idempotency_key),i=wy(t.ToolName??t.toolName??t.tool_name);return!n||!r||!i?null:{receiptId:n,idempotencyKey:r,toolName:i,toolCallId:wy(t.ToolCallId??t.toolCallId??t.tool_call_id)||void 0,runId:wy(t.RunId??t.runId??t.run_id)||void 0,checkpointId:wy(t.CheckpointId??t.checkpointId??t.checkpoint_id)||void 0,sessionId:wy(t.SessionId??t.sessionId??t.session_id)||void 0,invocationId:wy(t.InvocationId??t.invocationId??t.invocation_id)||void 0,seqId:Ty(t.SeqId??t.seqId??t.seq_id),timestamp:Ey(t.Timestamp??t.timestamp??t.CreatedAt??t.createdAt),status:wy(t.Status??t.status)||void 0,replayed:!!(t.Replayed??t.replayed),metadata:Dy(t.Metadata??t.metadata)}}var Iy=F()((e,t)=>({checkpointsBySessionId:{},toolReceiptsBySessionId:{},setSessionCheckpoints:(t,n)=>e(e=>({checkpointsBySessionId:{...e.checkpointsBySessionId,[t]:Ay(Ny(n.map(Py).filter(Oy).map(e=>({...e,sessionId:e.sessionId||t}))))}})),upsertSessionCheckpoint:(t,n)=>{let r=Py(n);r&&e(e=>{let n=e.checkpointsBySessionId[t]||[];r.sessionId=r.sessionId||t;let i=new Map(n.map(e=>[e.checkpointId,e]));i.set(r.checkpointId,{...i.get(r.checkpointId),...r});let a=Ny([...i.values()]);return{checkpointsBySessionId:{...e.checkpointsBySessionId,[t]:Ay(a)}}})},getSessionCheckpoints:e=>{let n=String(e||``);return n&&t().checkpointsBySessionId[n]||Sy},setSessionToolReceipts:(t,n)=>e(e=>({toolReceiptsBySessionId:{...e.toolReceiptsBySessionId,[t]:jy(n.map(Fy).filter(ky).map(e=>({...e,sessionId:e.sessionId||t})))}})),getSessionToolReceipts:e=>{let n=String(e||``);return n&&t().toolReceiptsBySessionId[n]||Cy},clearSessionCheckpoints:t=>e(e=>{let n=String(t||``);if(!n)return{checkpointsBySessionId:{},toolReceiptsBySessionId:{}};let r={...e.checkpointsBySessionId},i={...e.toolReceiptsBySessionId};return delete r[n],delete i[n],{checkpointsBySessionId:r,toolReceiptsBySessionId:i}})}));function Ly(e){return String(e||``).trim()}function Ry(e){let t=Ly(e).toLowerCase();return t===`up`||t===`down`?t:``}function zy(e){if(!e||typeof e!=`object`)return null;let t=Ry(e.Rating||e.rating);return t?{agentId:Ly(e.AgentId||e.agentId),sessionId:Ly(e.SessionId||e.sessionId),responseId:Ly(e.ResponseId||e.responseId),eventId:Ly(e.EventId||e.eventId),rating:t,comment:String(e.Comment??e.comment??``),traceId:Ly(e.TraceId||e.traceId),rootSpanId:Ly(e.RootSpanId||e.rootSpanId),updatedAt:Ly(e.UpdatedAt||e.updatedAt)}:null}function By(e,t,n){return!!(e?.role===`model`&&Ly(e.responseId)&&!(t&&n))}function Vy({agentId:e,sessionId:t,message:n}){let r=Ly(n?.responseId);if(!r)throw Error(`Message missing response id`);return{AgentId:Ly(e),SessionId:Ly(t),ResponseId:r}}function Kee({agentId:e,sessionId:t,message:n,rating:r,comment:i=``}){let a=Ry(r);if(!a)throw Error(`Feedback rating must be up or down`);return{...Vy({agentId:e,sessionId:t,message:n}),Rating:a,Comment:String(i||``),TraceId:Ly(n?.traceId),RootSpanId:Ly(n?.rootSpanId)}}function qee(e,{messageId:t,rating:n,comment:r=``}){let i=e.find(e=>e.id===t),a=i?.feedback?{...i.feedback}:null,o=Ry(n);return{nextMessages:e.map(e=>e.id===t?{...e,feedback:{...e.feedback||{},responseId:Ly(e.responseId),eventId:Ly(e.eventId),rating:o,comment:String(r||``),pending:!0,error:``}}:e),previousFeedback:a}}function Jee(e,{messageId:t,feedback:n}){let r=zy(n)||n;return e.map(e=>e.id===t?{...e,feedback:r?{...r,pending:!1,error:``}:void 0}:e)}function Hy(e,{messageId:t,previousFeedback:n}){return e.map(e=>{if(e.id!==t)return e;if(!n){let{feedback:t,...n}=e;return n}return{...e,feedback:n}})}function Yee(e,{messageId:t}){return e.map(e=>{if(e.id!==t)return e;let{feedback:n,...r}=e;return r})}function Xee(e){return String(e||``).replace(/\\u([0-9a-fA-F]{4})/g,(e,t)=>String.fromCharCode(Number.parseInt(t,16)))}function Uy(e){let t=String(e||``).trim();for(let e=0;e<3;e+=1){if(!t)return t;let e=t[0],n=t[t.length-1];if(!(e===`{`&&n===`}`||e===`[`&&n===`]`||e===`"`&&n===`"`))return t.replace(/\\n/g,`
|
|
51
|
+
`).replace(/\\"/g,`"`);try{let e=JSON.parse(t);if(typeof e!=`string`)return Wy(e);t=e.trim()}catch{return Xee(t).replace(/\\n/g,`
|
|
52
|
+
`).replace(/\\"/g,`"`)}}return t}function Wy(e){return typeof e==`string`?Uy(e):Array.isArray(e)?e.map(e=>Wy(e)):!e||typeof e!=`object`?e:Object.fromEntries(Object.entries(e).map(([e,t])=>[e,Wy(t)]))}function Gy(e){return typeof e==`string`?Uy(e):Wy(e)}function Ky(e){return e===!1||typeof e==`string`&&e.trim().toLowerCase()===`false`}function qy(e){return e===!0||typeof e==`string`&&e.trim().toLowerCase()===`true`}function Jy(e){return e==null||e===!1?!1:typeof e==`string`?e.trim().length>0:typeof e!=`object`||Object.keys(e).length>0}function Zee(e){return String(e?.status||``).trim().toLowerCase()===`accepted_not_extracted`}function Yy(e,t=0){if(!e||t>4)return!1;if(typeof e==`string`){let n=Uy(e);return n!==e&&Yy(n,t+1)}if(Array.isArray(e))return e.some(e=>Yy(e,t+1));if(typeof e!=`object`||Zee(e))return!1;if(Ky(e.ok)||Ky(e.success))return!0;let n=qy(e.ok)||qy(e.success),r=String(e.status||``).trim().toLowerCase();return!n&&[`error`,`failed`,`failure`].includes(r)||!n&&(Jy(e.error_type)||Jy(e.error_message)||Jy(e.error))?!0:Object.values(e).some(e=>Yy(e,t+1))}function Xy(e){return e==null||e===``?!1:Yy(Gy(e))}function Qee(e){if(e==null||e===``)return``;let t=Gy(e);return typeof t==`string`?t:JSON.stringify(t,null,2)}async function Zy(e,t=globalThis){let n=String(e??``),r=t?.navigator;if(r?.clipboard?.writeText)try{return await r.clipboard.writeText(n),!0}catch{}let i=t?.document,a=i?.body;if(!i?.createElement||!a?.appendChild||!a?.removeChild)return!1;let o=i.createElement(`textarea`);o.value=n,o.setAttribute?.(`readonly`,``),o.style&&(o.style.position=`fixed`,o.style.top=`0`,o.style.left=`-9999px`,o.style.opacity=`0`,o.style.pointerEvents=`none`);let s=i.activeElement;a.appendChild(o),o.focus?.(),o.select?.(),o.setSelectionRange?.(0,n.length);try{return typeof i.execCommand==`function`&&!!i.execCommand(`copy`)}finally{a.removeChild(o),s?.focus?.()}}var $ee=/^diff --git "?a\/(.+?)"? "?b\/(.+?)"?$/;function ete(e){let t=[],n=new Map,r=null;for(let i of e.split(`
|
|
53
|
+
`)){let e=i.match($ee);if(e){let a=e[2],o=n.get(a);if(o){o.lines.push(i),r=o;continue}r={oldPath:e[1],path:a,lines:[i]},n.set(a,r),t.push(r);continue}r?.lines.push(i)}return t}function tte(e){let t=0,n=0;for(let r of e.lines)r.startsWith(`+`)&&!r.startsWith(`+++`)?t+=1:r.startsWith(`-`)&&!r.startsWith(`---`)&&(n+=1);return{added:t,removed:n}}function nte(e){return/^diff --git /m.test(e)}function Qy(e){if(!e)return``;let t=Date.parse(e);return Number.isFinite(t)?new Date(t).toLocaleString():e}function rte(e){let t=e?.properties;return typeof t!=`object`||!t?[]:Object.keys(t)}function $y({interaction:e}){if(e.outcome===`cancelled`||e.status===`cancelled`)return null;let t=e.status===`resolved`||e.status===`expired`,n=rte(e.requestSchema);return(0,v.jsxs)(`div`,{"data-testid":`interaction-history-anchor`,"data-interaction-id":e.interactionId,"data-interaction-status":e.status,className:`mt-2 rounded-lg border border-border bg-muted/55 px-3 py-2 text-xs text-text-secondary`,children:[(0,v.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,v.jsx)(`span`,{className:`font-medium text-text-primary`,children:e.title}),(0,v.jsx)(Lv,{outcome:e.outcome||e.status})]}),t?(0,v.jsxs)(v.Fragment,{children:[(0,v.jsxs)(`div`,{className:`mt-1 leading-relaxed`,children:[e.actor?(0,v.jsxs)(`span`,{children:[`操作人:`,e.actor,` · `]}):null,e.resolvedAt?(0,v.jsxs)(`span`,{children:[`决定时间:`,Qy(e.resolvedAt),` · `]}):null,(0,v.jsx)(`span`,{"data-testid":`interaction-history-response-summary`,children:e.responseSummary||`响应内容已脱敏`})]}),(0,v.jsxs)(`details`,{"data-testid":`interaction-history-detail`,className:`mt-1`,children:[(0,v.jsx)(`summary`,{className:`cursor-pointer select-none text-text-muted hover:text-text-primary`,children:`查看确认快照`}),(0,v.jsxs)(`div`,{"data-testid":`interaction-history-snapshot`,className:`mt-1 rounded border border-border bg-card px-2 py-1.5 leading-relaxed text-card-foreground`,children:[(0,v.jsxs)(`div`,{children:[`操作者:`,(0,v.jsx)(`span`,{"data-testid":`interaction-history-actor-ref`,children:e.actor||`—`})]}),(0,v.jsxs)(`div`,{children:[`决定时间:`,Qy(e.resolvedAt)||`—`]}),(0,v.jsxs)(`div`,{children:[`关键参数:`,n.length>0?(0,v.jsx)(`span`,{"data-testid":`interaction-history-schema-keys`,children:n.join(`、`)}):(0,v.jsx)(`span`,{children:`无结构化参数`})]})]})]})]}):(0,v.jsxs)(`div`,{className:`mt-1`,children:[`状态:`,e.status===`pending`?`待处理(见输入区确认面板)`:`处理中…`]})]})}function eb(e){if(e?.status===`cancelled`||e?.status===`expired`||e?.outcome===`cancelled`||e?.outcome===`expired`)return`cancelled`;if(e?.outcome===`approved`||e?.outcome===`rejected`)return e.outcome}function ite({summary:e,children:t,defaultOpen:n=!1,streaming:r=!1}){let[i,a]=(0,g.useState)(n);return(0,v.jsxs)(`div`,{className:`mb-1.5`,children:[(0,v.jsxs)(`button`,{type:`button`,onClick:()=>a(e=>!e),className:`flex w-full items-center gap-1.5 rounded px-1 py-1 text-left text-[13px] text-slate-500 transition-colors hover:bg-slate-100/70 dark:text-slate-400 dark:hover:bg-slate-800/40`,children:[r?(0,v.jsx)(Pp,{className:`h-3.5 w-3.5 animate-spin text-slate-400`}):(0,v.jsx)(qf,{className:Sf(`h-3.5 w-3.5 text-slate-400 transition-transform`,i&&`rotate-90`)}),(0,v.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:e})]}),i&&(0,v.jsx)(`div`,{className:`mt-1.5 border-l border-slate-200 pl-3.5 dark:border-slate-700/60`,children:t})]})}function ate({block:e}){let[t,n]=(0,g.useState)(!1),r=e.status===`streaming`,i=e.content.length,a=`${e.id}-thinking-detail`;return(0,v.jsxs)(`div`,{className:`mb-1.5 min-w-0`,children:[(0,v.jsxs)(`button`,{type:`button`,"aria-expanded":t,"aria-controls":a,onClick:()=>n(e=>!e),className:`inline-flex max-w-full items-center gap-1.5 rounded px-1 py-1 text-left text-[13px] leading-5 text-slate-400 transition-colors hover:text-slate-600 dark:text-slate-500 dark:hover:text-slate-300`,children:[!r&&(0,v.jsx)(sm,{className:`h-3.5 w-3.5 shrink-0`}),(0,v.jsx)(`span`,{className:Sf(`min-w-0 truncate`,r&&`waiting-thinking-text`),"data-testid":r?`thinking-indicator`:void 0,role:r?`status`:void 0,children:r?`正在思考…`:`已思考`}),!r&&(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(`span`,{className:`text-slate-300 dark:text-slate-600`,children:`·`}),(0,v.jsxs)(`span`,{className:`font-mono text-xs text-slate-400 dark:text-slate-500`,children:[i,` 字`]})]}),(0,v.jsx)(qf,{className:Sf(`h-3.5 w-3.5 shrink-0 transition-transform`,t&&`rotate-180`)})]}),t&&e.content&&(0,v.jsx)(`div`,{id:a,className:`custom-scrollbar mt-1.5 max-h-[min(46vh,28rem)] overflow-y-auto border-l border-slate-200/80 pl-3.5 text-[12px] leading-5 text-slate-500 dark:border-slate-700/60 dark:text-slate-400 [&_h1]:!mb-2 [&_h1]:!mt-3 [&_h1]:!text-[13px] [&_h2]:!mb-1.5 [&_h2]:!mt-3 [&_h2]:!text-[12px] [&_h3]:!mb-1 [&_h3]:!mt-2.5 [&_h3]:!text-[12px] [&_li]:!text-[12px] [&_li]:!leading-5 [&_p]:!my-1.5 [&_p]:!text-[12px] [&_p]:!leading-5 [&_p]:!text-slate-500 dark:[&_p]:!text-slate-400 [&_pre]:!my-1.5`,children:(0,v.jsx)(u,{content:e.content})})]})}function ote({block:e,tool:t,interactionRecord:n}){let r=t?.status??e.status,i=t?.args??e.args,a=t?.output??e.output,o=e.extra||{},s=eb(n)||o.approvalStatus||t?.approvalStatus,c=o.approvalRequestId||t?.approvalRequestId,l=r===`running`,u=String(o.summary??t?.summary??``).trim(),d=Number(o.durationMs??t?.durationMs),f=s===`cancelled`||s===`rejected`,p=r===`error`&&!f,m=r===`paused`,h=r===`unknown`?`状态未知`:p?`执行失败`:s===`pending`?`等待确认`:s===`rejected`?`已拒绝`:s===`cancelled`?`已取消`:l?s===`approved`?`已授权 · 执行中`:`正在运行`:s===`approved`?`已授权`:m?`已暂停`:`已完成`,g=p?`text-rose-500 dark:text-rose-400`:m?`text-amber-500 dark:text-amber-400`:l?`text-slate-500 dark:text-slate-400`:`text-slate-400 dark:text-slate-500`;return(0,v.jsx)(ite,{streaming:l&&!i,defaultOpen:s===`pending`||m,summary:(0,v.jsxs)(`span`,{className:`flex items-center gap-1.5`,children:[(0,v.jsx)(xm,{className:Sf(`h-3.5 w-3.5 shrink-0`,g)}),(0,v.jsx)(`span`,{className:g,children:h}),(0,v.jsx)(`span`,{className:`truncate font-medium text-slate-600 dark:text-slate-300`,children:e.toolName}),u?(0,v.jsxs)(`span`,{className:`truncate text-slate-400 dark:text-slate-500`,children:[`· `,u]}):null,Number.isFinite(d)&&d>=0?(0,v.jsxs)(`span`,{className:`shrink-0 font-mono text-[11px] text-slate-400 dark:text-slate-500`,children:[`· `,dte(d)]}):null,l&&i&&(0,v.jsx)(`span`,{className:`ml-0.5 animate-pulse text-slate-400`,children:`…`})]}),children:(0,v.jsxs)(`div`,{className:`flex flex-col gap-2.5 py-1 text-[13px]`,children:[c&&s===`pending`?(0,v.jsxs)(`div`,{"data-slot":`tool-approval-status`,className:`flex items-center gap-1.5 font-sans text-xs text-slate-500 dark:text-slate-400`,children:[(0,v.jsx)(`span`,{className:`h-1.5 w-1.5 shrink-0 rounded-full bg-amber-400`,"aria-hidden":`true`}),`请在输入区确认面板中操作。`]}):null,c&&s&&s!==`pending`&&(0,v.jsxs)(`div`,{className:`flex items-center gap-1.5 font-sans text-xs text-slate-500 dark:text-slate-400`,children:[(0,v.jsx)(`span`,{children:s===`approved`?`已授权`:s===`cancelled`?`已取消`:`已拒绝`}),s===`approved`&&l?(0,v.jsx)(`span`,{children:`· 工具执行中`}):null,s===`approved`&&p?(0,v.jsx)(`span`,{children:`· 工具执行失败`}):null]}),i?(0,v.jsx)(nb,{label:`入参`,value:i,tone:`input`}):null,a&&!f?ste(e.toolName,a,p):null]})})}function ste(e,t,n){if(nte(t))return(0,v.jsx)(cte,{output:t});let r=e.toLowerCase();if(r.includes(`web_search`)||r.includes(`search`)){let e=lte(t);if(e.length>0)return(0,v.jsx)(ute,{sources:e})}return(0,v.jsx)(nb,{label:`输出`,value:t,tone:n?`error`:`output`})}function cte({output:e}){let t=ete(e),[n,r]=(0,g.useState)(!1),i=n?t:t.slice(0,3);return(0,v.jsxs)(`div`,{className:`my-2 overflow-hidden rounded-xl border border-border bg-background`,children:[(0,v.jsxs)(`div`,{className:`flex items-center gap-1.5 border-b border-border px-3 py-2 text-xs font-medium text-text-secondary`,children:[(0,v.jsx)(yp,{className:`h-3.5 w-3.5 text-primary`}),(0,v.jsxs)(`span`,{children:[`改动 `,t.length,` 个文件`]})]}),(0,v.jsx)(`div`,{className:`flex flex-col`,children:i.map(e=>{let{added:t,removed:n}=tte(e);return(0,v.jsxs)(`div`,{className:`group/file-change-row flex min-w-0 items-center gap-2 px-3 py-2 text-sm transition-colors hover:bg-muted`,children:[(0,v.jsx)(`span`,{className:`min-w-0 flex-1 truncate font-mono text-[13px] text-text-primary`,children:e.path}),(0,v.jsxs)(`span`,{className:`flex-shrink-0 text-[11px] font-mono`,children:[(0,v.jsxs)(`span`,{className:`text-emerald-600`,children:[`+`,t]}),` `,(0,v.jsxs)(`span`,{className:`text-rose-500`,children:[`−`,n]})]})]},e.path)})}),t.length>3?(0,v.jsx)(`button`,{type:`button`,onClick:()=>r(e=>!e),className:`flex w-full items-center justify-center gap-1 border-t border-border py-1.5 text-xs text-text-muted transition hover:bg-muted hover:text-text-primary`,children:n?`收起`:`展开剩余 ${t.length-3} 个文件`}):null]})}function lte(e){try{let t=JSON.parse(e),n=Array.isArray(t)?t:t?.results??t?.sources??[];return Array.isArray(n)?n.map(e=>{let t=e,n=String(t?.url??t?.link??t?.href??``),r=``;try{let e=new URL(n,typeof window>`u`?`http://localhost/`:window.location.href).protocol.toLowerCase();[`http:`,`https:`].includes(e)&&(r=n)}catch{r=``}let i=String(t?.title??t?.name??r);return r?{url:r,title:i}:null}).filter(e=>e!==null):[]}catch{return[]}}function ute({sources:e}){return(0,v.jsx)(`div`,{className:`mt-2 flex min-w-0`,children:(0,v.jsxs)(`span`,{className:`group/web-search-sources relative inline-flex min-w-0`,children:[(0,v.jsxs)(`button`,{type:`button`,className:`inline-flex h-7 min-w-0 items-center gap-1.5 rounded-md border border-border bg-surface px-2 text-xs text-text-secondary transition-colors hover:bg-muted hover:text-text-primary`,children:[(0,v.jsx)(pp,{className:`h-3.5 w-3.5 shrink-0`,strokeWidth:1.7}),(0,v.jsxs)(`span`,{children:[`来源 · `,e.length]})]}),(0,v.jsx)(`span`,{className:`absolute bottom-full left-0 z-30 hidden max-w-[calc(100vw-3rem)] pb-1 group-hover/web-search-sources:block`,children:(0,v.jsx)(`span`,{className:`block w-[min(26rem,calc(100vw-3rem))] rounded-xl border border-border bg-popover p-2 text-left text-text-primary shadow-2xl`,children:(0,v.jsx)(`span`,{className:`flex min-w-0 flex-col gap-1`,children:e.map((e,t)=>(0,v.jsxs)(`a`,{href:e.url,target:`_blank`,rel:`noopener noreferrer`,className:`flex min-w-0 items-center gap-2 rounded-lg px-2 py-1.5 text-sm leading-5 text-text-secondary transition-colors hover:bg-muted hover:text-text-primary`,children:[(0,v.jsx)(pp,{className:`h-3.5 w-3.5 shrink-0`,strokeWidth:1.7}),(0,v.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:e.title})]},`${e.url}-${t}`))})})})]})})}var tb=12e3;function dte(e){return e<1e3?`${Math.round(e)}ms`:`${(e/1e3).toFixed(1)}s`}function nb({label:e,tone:t,value:n}){let[r,i]=(0,g.useState)(!1),a=n.length>tb,o=a&&!r?n.slice(0,tb):n;return(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`div`,{className:`mb-1 text-[11px] font-semibold uppercase tracking-wide text-slate-400`,children:e}),(0,v.jsx)(`pre`,{className:Sf(`custom-scrollbar max-h-60 overflow-auto rounded-lg px-3 py-2 text-[12.5px] leading-relaxed whitespace-pre-wrap break-all`,t===`error`?`bg-rose-50/60 text-rose-700 dark:bg-rose-950/20 dark:text-rose-200`:t===`output`?`bg-emerald-50/40 text-emerald-800 dark:bg-emerald-950/20 dark:text-emerald-200`:`bg-slate-50 text-slate-700 dark:bg-slate-900/40 dark:text-slate-200`),children:f(o).map((e,t)=>e.type===`text`?(0,v.jsx)(`span`,{children:e.value},t):(0,v.jsx)(`a`,{href:`#`,style:{textDecoration:`underline`,textUnderlineOffset:2,textDecorationColor:`rgba(0,0,0,0.35)`},title:`预览 ${e.value}`,onClick:t=>{t.preventDefault(),m(e.value)},children:e.value},t))}),a?(0,v.jsx)(`button`,{type:`button`,onClick:()=>i(e=>!e),className:`mt-1 text-xs text-primary hover:underline`,"aria-expanded":r,children:r?`收起完整日志`:`查看完整日志(已显示前 ${tb.toLocaleString()} 字符)`}):null]})}function fte({block:e}){return e.content?(0,v.jsx)(`div`,{className:`w-full break-words py-0.5 text-[14px] leading-[1.65]`,children:(0,v.jsx)(u,{content:e.content})}):null}function rb({message:e,interactionRecords:t,className:n}){let r=e.blocks??[];return(0,v.jsx)(`div`,{className:Sf(`mb-3 min-w-0`,n),"data-slot":`processing-blocks`,children:r.map(n=>{if(n.type===`thinking`)return(0,v.jsx)(ate,{block:n},n.id);if(n.type===`tool`){let r=n.extra||{},i=e.tools?.[n.toolName]||Object.values(e.tools||{}).find(e=>r.approvalRequestId&&e.approvalRequestId===r.approvalRequestId||r.callId&&e.callId===r.callId),a=String(r.approvalRequestId||i?.approvalRequestId||``),o=String(r.callId||r.call_id||``),s=a?t?.find(e=>e.interactionId===a):o?t?.find(e=>String(e.extensions.call_id||``)===o):void 0;return(0,v.jsxs)(`div`,{children:[(0,v.jsx)(ote,{block:n,tool:i,interactionRecord:s}),s?(0,v.jsx)($y,{interaction:s}):null]},n.id)}return(0,v.jsx)(fte,{block:n},n.id)})})}var pte={submitted:`已提交`,working:`正在处理`,input_required:`等待输入`,completed:`已完成`,failed:`执行失败`,cancelled:`已取消`};function mte(e,t){if(typeof e!=`number`||typeof t!=`number`||!Number.isFinite(e)||!Number.isFinite(t)||e<0||t<e)return;let n=Math.floor(t-e);if(n<60)return`${n} 秒`;let r=Math.floor(n/60);return r<60?`${r} 分 ${n%60} 秒`:`${Math.floor(r/60)} 小时 ${r%60} 分`}function hte({block:e,actions:t}){let[n,r]=(0,g.useState)(!1),[i,a]=(0,g.useState)(`none`),o=(0,g.useRef)(!1),s=e.item.payload,c=s.agent,l=s.cancel,d=String(s.status||`submitted`),f=[`submitted`,`working`,`input_required`].includes(d),[p,m]=(0,g.useState)(()=>Date.now());(0,g.useEffect)(()=>{if(!f||typeof s.started_at!=`number`||!Number.isFinite(s.started_at))return;let e=setInterval(()=>m(Date.now()),1e3);return()=>clearInterval(e)},[f,s.started_at]);let h=mte(s.started_at,f?p/1e3:s.ended_at),_={sessionId:e.item.sessionId,runId:e.item.runId,scopeId:String(s.scope_id),parentItemId:e.item.parentItemId||``},y=l?.request_state&&l.request_state!==`none`?l.request_state:i===`none`?t?.getCancelRequestState?.(_)||`none`:i,b={processing:`取消请求处理中`,cancel_requested:`取消请求处理中`,confirmed:`远程取消已确认`,local_confirmed:`已取消`,unknown:`取消结果未知`,unsupported:`不支持远程取消`},x=async()=>{if(!o.current){o.current=!0,a(`processing`);try{a(await t?.cancel?.(_)||`processing`)}catch{a(`unknown`)}finally{o.current=!1}}};return(0,v.jsxs)(`section`,{"data-testid":`agent-block`,className:`mb-3 rounded border border-slate-200 p-3 dark:border-slate-700`,children:[(0,v.jsxs)(`button`,{type:`button`,"aria-expanded":n,"aria-label":c?.name||`远程智能体`,onClick:()=>r(!n),className:`flex w-full items-center justify-between text-sm`,children:[(0,v.jsx)(`span`,{children:c?.name||`远程智能体`}),(0,v.jsxs)(`span`,{className:`flex items-center gap-2`,children:[h&&(0,v.jsx)(`span`,{"data-testid":`agent-block-elapsed`,className:`text-xs text-slate-500`,"aria-label":`耗时 ${h}`,children:h}),(0,v.jsx)(`span`,{role:`status`,children:pte[d]||`状态未知`})]})]}),e.summary&&(0,v.jsx)(`p`,{"data-testid":`agent-block-summary`,className:`mt-1 line-clamp-2 text-xs text-slate-500`,children:e.summary}),b[y]&&(0,v.jsx)(`p`,{role:`status`,"data-testid":`agent-block-cancel-state`,className:`mt-1 text-xs text-slate-500`,children:b[y]}),n&&(0,v.jsxs)(`div`,{className:`mt-3 space-y-2`,"data-testid":`agent-block-detail`,children:[e.messages.map(e=>(0,v.jsxs)(`div`,{children:[e.blocks?.length?(0,v.jsx)(rb,{message:e,isStreaming:f}):(0,v.jsx)(u,{content:e.content}),e.attachments?.map(e=>(0,v.jsx)(`a`,{href:e.url,rel:`noreferrer`,target:`_blank`,children:e.name},e.url))]},e.id)),f&&t?.cancel&&l?.capability===`supported`&&[`none`,`unknown`].includes(y)&&(0,v.jsx)(`button`,{type:`button`,onClick:()=>void x(),children:`取消远程智能体`})]})]})}function ib({onRetry:e}){let t=Eu(e=>e.banner),n=zu(e=>e.currentSessionId);if(!t||t.sessionId&&t.sessionId!==n)return null;let r=t.kind===`rate_limited`?(0,v.jsx)(gte,{message:t.message,retryAfterSec:t.retryAfterSec},t.createdAt||`${t.sessionId||``}:${t.retryAfterSec||0}`):null,i={rate_limited:{icon:(0,v.jsx)(Cm,{className:`h-4 w-4 text-neutral-500`}),bg:`border-neutral-200/70 bg-neutral-50/70 dark:border-neutral-900/40 dark:bg-neutral-950/20`,text:`text-neutral-700 dark:text-neutral-200`,label:r},network:{icon:(0,v.jsx)(Pp,{className:`h-4 w-4 animate-spin text-text-secondary`}),bg:`border-border/70 bg-muted/60`,text:`text-text-secondary`,label:t.message||`网络异常,正在重连…`},error:{icon:(0,v.jsx)(bm,{className:`h-4 w-4 text-rose-500`}),bg:`border-rose-200/70 bg-rose-50/70 dark:border-rose-900/40 dark:bg-rose-950/20`,text:`text-rose-600 dark:text-rose-300`,label:t.message||`运行失败,请重试`}}[t.kind];return(0,v.jsxs)(`div`,{className:Sf(`mx-auto mb-3 flex w-full max-w-3xl items-center gap-2.5 rounded-xl border px-3.5 py-2.5 text-sm shadow-sm`,i.bg,i.text),role:`status`,children:[i.icon,(0,v.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:i.label}),t.kind===`error`&&e?(0,v.jsxs)(`button`,{type:`button`,onClick:e,className:`flex items-center gap-1 rounded-full px-2.5 py-1 text-xs font-medium text-rose-600 transition hover:bg-rose-100 dark:text-rose-300 dark:hover:bg-rose-950/40`,children:[(0,v.jsx)(tm,{className:`h-3 w-3`}),`重试`]}):null]})}function gte({message:e,retryAfterSec:t}){let[n,r]=(0,g.useState)(t||0);return(0,g.useEffect)(()=>{if(!t)return;let e=setInterval(()=>{r(e=>e>0?e-1:0)},1e3);return()=>clearInterval(e)},[t]),n>0?`${e}(${n}s 后可重试)`:e}function ab(e,t,n){return Math.max(t,Math.min(n,e))}function _te({items:e=[],scrollTop:t=0,viewportHeight:n=0,overscan:r=4,defaultItemHeight:i=120,measuredHeights:a=new Map,getItemKey:o=(e,t)=>e?.id||String(t)}={}){let s=Math.max(0,Number(n)||0),c=Math.max(0,Number(t)||0),l=Math.max(0,Number(r)||0),u=Math.max(1,Number(i)||120);if(!e.length)return{startIndex:0,endIndex:0,offsetTop:0,totalHeight:0,visibleItems:[]};let d=e.map((e,t)=>{let n=o(e,t),r=Number(a.get(n));return Number.isFinite(r)&&r>0?r:u}),f=Array(e.length),p=0;for(let t=0;t<e.length;t+=1)f[t]=p,p+=d[t];let m=p,h=c+s,g=0;for(;g<e.length&&f[g]+d[g]<=c;)g+=1;let _=g;for(;_<e.length&&f[_]<h;)_+=1;return g=ab(g-l,0,e.length),_=ab(Math.max(g+1,_+l),0,e.length),{startIndex:g,endIndex:_,offsetTop:f[g]||0,totalHeight:m,visibleItems:e.slice(g,_).map((e,t)=>{let n=g+t;return{index:n,item:e,top:f[n]||0,height:d[n]||u}})}}function ob({scrollHeight:e,scrollTop:t,clientHeight:n}){return Math.max(0,e-t-n)}function vte(e){return e.scrollHeight>e.clientHeight+1&&ob(e)>96}function sb(e){return String(e?.runId||e?.invocationId||``).trim()}function yte(e,t){if(e?.role!==`model`||t.role!==`model`)return!1;let n=sb(e);return!!(n&&n===sb(t))}var cb=140,bte=4;function xte(e){let t=String(e||``).trim().toLowerCase();return t===`elevated`?`高风险`:t===`always`?`始终确认`:t===`confirm`?`需确认`:e||``}function Ste(e){return String(e||``).trim().toLowerCase()===`elevated`?`border-[var(--ksadk-approval-elevated-border)] bg-[var(--ksadk-approval-elevated-background)] text-[var(--ksadk-approval-elevated-foreground)]`:`border-[var(--ksadk-approval-border)] bg-[var(--ksadk-approval-background)] text-[var(--ksadk-approval-foreground)]`}function Cte({messageId:e,top:t,onMeasure:n,children:r,highlighted:i}){let a=(0,g.useRef)(null);return(0,g.useLayoutEffect)(()=>{let r=a.current;if(!r)return;let i=()=>n(e,r.offsetHeight,t);if(i(),typeof ResizeObserver>`u`)return;let o=new ResizeObserver(i);return o.observe(r),()=>o.disconnect()},[e,n,t]),(0,v.jsx)(`div`,{ref:a,"data-message-id":e,"data-search-target":i||void 0,tabIndex:-1,style:{position:`absolute`,top:t,left:0,right:0},children:r})}function wte({agentName:e}){return(0,v.jsxs)(`div`,{className:`flex flex-col items-center justify-center min-h-[50vh] px-4`,children:[(0,v.jsx)(`div`,{className:`mb-6 h-16 w-16 rounded-2xl bg-gradient-to-br from-blue-500 to-indigo-600
|
|
54
|
+
flex items-center justify-center shadow-lg shadow-blue-500/20`,children:(0,v.jsx)(Rf,{className:`h-8 w-8 text-white`})}),(0,v.jsx)(`h2`,{className:`text-xl font-semibold text-slate-900 dark:text-slate-50`,children:`有什么我可以帮您的吗?`}),(0,v.jsxs)(`p`,{className:`mt-2 text-sm text-slate-500`,children:[`我是 `,e,`,由 Ksyun AgentEngine 驱动`]})]})}function Tte(){return(0,v.jsxs)(`div`,{className:`mx-auto flex w-full max-w-[44rem] flex-col gap-5 px-2 py-8`,"aria-label":`正在加载会话历史`,children:[(0,v.jsx)(`div`,{className:`h-4 w-28 animate-pulse rounded bg-slate-200/80 dark:bg-slate-800`}),(0,v.jsx)(`div`,{className:`h-20 w-4/5 animate-pulse rounded-lg bg-slate-100 dark:bg-slate-900`}),(0,v.jsx)(`div`,{className:`ml-auto h-12 w-3/5 animate-pulse rounded-lg bg-slate-100 dark:bg-slate-900`}),(0,v.jsx)(`div`,{className:`h-16 w-11/12 animate-pulse rounded-lg bg-slate-100 dark:bg-slate-900`})]})}function lb({attachments:e,isMobile:t,onOpenAttachmentPreview:n}){let r=e=>typeof e!=`number`||!Number.isFinite(e)||e<0?``:e<1024?`${e} B`:e<1048576?`${(e/1024).toFixed(1)} KB`:`${(e/1048576).toFixed(1)} MB`,i=e=>{let t=e.status===`pending`?`生成中`:e.status===`failed`?`生成失败`:``;return[e.type,r(e.sizeBytes),t,e.runId&&`run ${e.runId.slice(0,12)}`].filter(Boolean).join(` · `)},a=e=>!!(e.artifactId||e.itemId||e.runId||e.sizeBytes!=null);return(0,v.jsx)(`div`,{className:`mb-3 flex flex-wrap gap-3`,children:e.map((e,r)=>e.type.startsWith(`image/`)?e.url?(0,v.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,v.jsx)(`button`,{type:`button`,onClick:()=>n(e),className:Sf(`group relative overflow-hidden rounded-xl border border-slate-200 shadow-sm dark:border-slate-700`,t?`w-full max-w-full`:`max-w-[200px]`),children:(0,v.jsx)(`img`,{src:e.url,alt:e.name,className:Sf(`object-cover transition group-hover:scale-[1.02]`,t?`max-h-[16rem] w-full max-w-full`:`max-h-[200px] max-w-[200px]`)})}),a(e)&&(0,v.jsx)(`span`,{className:`max-w-[200px] truncate text-[11px] text-slate-500 dark:text-slate-400`,title:`来源 item ${e.itemId||`未知`} · run ${e.runId||`未知`}`,children:i(e)})]},`${e.name}-${r}`):(0,v.jsx)(`div`,{className:Sf(`flex items-center justify-center rounded-xl border border-dashed border-slate-300 bg-slate-50 px-4 text-sm text-slate-500 dark:border-slate-700 dark:bg-slate-900/40 dark:text-slate-400`,t?`h-28 w-full`:`h-[120px] w-[200px]`),children:e.name},`${e.name}-${r}`):(0,v.jsxs)(`div`,{className:Sf(`flex items-center gap-2 rounded-xl border border-slate-200 bg-slate-100 px-3 py-2 shadow-sm dark:border-slate-700 dark:bg-slate-800`,t?`w-full max-w-full`:`w-max max-w-full`),children:[(0,v.jsx)(Jp,{className:`h-4 w-4 flex-shrink-0 text-blue-500`}),e.url?(0,v.jsx)(`a`,{href:e.url,target:`_blank`,rel:`noreferrer`,className:`truncate text-sm text-slate-700 hover:underline dark:text-slate-300`,title:e.name,children:e.name}):(0,v.jsx)(`span`,{className:`truncate text-sm text-slate-700 dark:text-slate-300`,title:e.name,children:e.name}),a(e)&&(0,v.jsx)(`span`,{className:`text-[11px] text-slate-500 dark:text-slate-400`,title:`来源 item ${e.itemId||`未知`} · run ${e.runId||`未知`}`,children:i(e)})]},`${e.name}-${r}`))})}function Ete({message:e}){return(0,v.jsx)(`div`,{className:`w-full px-0 py-2 sm:px-4`,children:(0,v.jsxs)(`div`,{className:`mx-auto max-w-3xl rounded-xl border border-neutral-200/70 bg-neutral-50/60 px-4 py-3 text-sm text-neutral-600 dark:border-neutral-800 dark:bg-neutral-900/40 dark:text-neutral-300`,children:[(0,v.jsxs)(`div`,{className:`flex items-center gap-2 font-medium`,children:[e.status===`running`?(0,v.jsx)(em,{className:`h-4 w-4 animate-spin text-neutral-600 dark:text-neutral-300`}):e.status===`failed`?(0,v.jsx)(rp,{className:`h-4 w-4 text-rose-600 dark:text-rose-400`}):(0,v.jsx)(Kf,{className:`h-4 w-4 text-emerald-600 dark:text-emerald-400`}),(0,v.jsx)(`span`,{children:e.content})]}),e.compactedUntilSeqId?(0,v.jsxs)(`div`,{className:`mt-1 text-xs text-neutral-700/80 dark:text-neutral-200/80`,children:[`已折叠到会话事件 #`,e.compactedUntilSeqId]}):null,e.summary?(0,v.jsxs)(`details`,{className:`mt-3 rounded-xl border border-neutral-200/80 bg-white/70 px-3 py-2 dark:border-neutral-900/60 dark:bg-slate-950/40`,children:[(0,v.jsx)(`summary`,{className:`cursor-pointer select-none text-xs font-medium text-neutral-800 dark:text-neutral-200`,children:`查看压缩摘要`}),(0,v.jsx)(`div`,{className:`mt-2 text-[13px] leading-relaxed text-slate-700 dark:text-slate-200`,children:(0,v.jsx)(u,{content:e.summary})})]}):null]})})}function ub({label:e,tone:t,value:n}){let[r,i]=(0,g.useState)(`idle`),a=Qee(n);(0,g.useEffect)(()=>{if(r===`idle`)return;let e=window.setTimeout(()=>i(`idle`),1600);return()=>window.clearTimeout(e)},[r]);let o=async()=>{i(await Zy(a)?`copied`:`failed`)};return(0,v.jsxs)(`div`,{children:[(0,v.jsxs)(`div`,{className:`mb-1 flex items-center justify-between gap-2`,children:[(0,v.jsx)(`div`,{className:Sf(`text-xs font-semibold uppercase`,t===`input`?`text-blue-500`:t===`error`?`text-rose-500`:`text-emerald-500`),children:e}),(0,v.jsxs)(`button`,{type:`button`,onClick:()=>{o()},className:`inline-flex items-center gap-1 rounded-lg px-2 py-1 text-[11px] font-medium text-slate-500 transition hover:bg-white hover:text-slate-900 dark:text-slate-400 dark:hover:bg-slate-900 dark:hover:text-slate-100`,children:[r===`copied`?(0,v.jsx)(Kf,{className:`h-3.5 w-3.5 text-emerald-500`}):(0,v.jsx)(up,{className:`h-3.5 w-3.5`}),r===`copied`?`已复制`:r===`failed`?`复制失败`:`复制`]})]}),(0,v.jsx)(`div`,{className:`custom-scrollbar max-h-[220px] overflow-y-auto whitespace-pre-wrap break-words rounded-xl border border-slate-200/30 bg-white/70 p-3 text-slate-600 shadow-sm dark:border-slate-800 dark:bg-slate-950/40 dark:text-slate-300 sm:max-h-[300px]`,children:a})]})}function Dte({isLastMessage:e,isStreaming:t,message:n,onDeleteFeedback:r,onSubmitFeedback:i,alwaysVisible:a=!1}){let[o,s]=(0,g.useState)(!1),[c,l]=(0,g.useState)(n.feedback?.comment||``),u=By(n,t,e),d=!!n.feedback?.pending,f=n.feedback?.rating,p=async()=>{let e=n.content||``;e&&Zy(e)};return u?(0,v.jsxs)(`div`,{className:Sf(`mt-2 flex flex-col gap-2 transition-opacity duration-150 focus-within:opacity-100`,a?`opacity-100`:`opacity-0 group-hover:opacity-100`),children:[(0,v.jsxs)(`div`,{className:`flex flex-wrap items-center gap-1.5 text-xs text-text-muted`,children:[(0,v.jsx)(`button`,{type:`button`,onClick:()=>{p()},className:`inline-flex items-center gap-1 rounded-full px-2 py-1 font-medium text-text-secondary transition hover:bg-muted hover:text-text-primary`,title:`复制`,children:(0,v.jsx)(up,{className:`h-3.5 w-3.5`})}),(0,v.jsx)(`span`,{className:`text-text-muted/60`,children:`·`}),(0,v.jsx)(`span`,{className:`font-medium`,children:`本次回复有帮助吗?`}),(0,v.jsxs)(`button`,{type:`button`,disabled:d,onClick:()=>i({message:n,rating:`up`,comment:``}),className:Sf(`inline-flex items-center gap-1 rounded-full border px-2.5 py-1 font-medium transition disabled:cursor-not-allowed disabled:opacity-60`,f===`up`?`border-primary/30 bg-primary/10 text-primary`:`border-border bg-background text-text-secondary hover:border-primary/30 hover:text-primary`),children:[(0,v.jsx)(hm,{className:`h-3.5 w-3.5`}),`有帮助`]}),(0,v.jsxs)(`button`,{type:`button`,disabled:d,onClick:()=>{l(n.feedback?.comment||``),s(e=>!e)},className:Sf(`inline-flex items-center gap-1 rounded-full border px-2.5 py-1 font-medium transition disabled:cursor-not-allowed disabled:opacity-60`,f===`down`?`border-rose-300 bg-rose-50 text-rose-600 dark:border-rose-900/70 dark:bg-rose-950/30 dark:text-rose-300`:`border-border bg-background text-text-secondary hover:border-rose-300 hover:text-rose-600`),children:[(0,v.jsx)(mm,{className:`h-3.5 w-3.5`}),`需改进`]}),n.feedback?(0,v.jsxs)(`button`,{type:`button`,disabled:d,onClick:()=>r(n),className:`inline-flex items-center gap-1 rounded-full border border-transparent px-2 py-1 font-medium text-slate-400 transition hover:border-slate-200 hover:text-slate-700 disabled:cursor-not-allowed disabled:opacity-60 dark:hover:border-slate-800 dark:hover:text-slate-200`,children:[(0,v.jsx)(gm,{className:`h-3.5 w-3.5`}),`删除反馈`]}):null,d?(0,v.jsx)(`span`,{className:`text-slate-400`,children:`提交中…`}):null]}),o?(0,v.jsxs)(`div`,{className:`max-w-xl rounded-2xl border border-rose-100 bg-rose-50/60 p-3 shadow-sm dark:border-rose-900/60 dark:bg-rose-950/20`,children:[(0,v.jsx)(`textarea`,{value:c,onChange:e=>l(e.target.value),placeholder:`可以补充哪里不准确、缺失或不符合预期。`,className:`min-h-[84px] w-full resize-y rounded-xl border border-rose-100 bg-white px-3 py-2 text-sm text-slate-700 outline-none transition placeholder:text-slate-400 focus:border-rose-300 focus:ring-2 focus:ring-rose-100 dark:border-rose-900/70 dark:bg-slate-950 dark:text-slate-100 dark:focus:border-rose-700 dark:focus:ring-rose-950`}),(0,v.jsxs)(`div`,{className:`mt-2 flex flex-wrap justify-end gap-2`,children:[(0,v.jsx)(`button`,{type:`button`,onClick:()=>s(!1),className:`rounded-xl px-3 py-1.5 text-xs font-semibold text-slate-500 transition hover:bg-white hover:text-slate-800 dark:text-slate-400 dark:hover:bg-slate-950 dark:hover:text-slate-100`,children:`取消`}),(0,v.jsx)(`button`,{type:`button`,disabled:d,onClick:()=>{i({message:n,rating:`down`,comment:c}),s(!1)},className:`rounded-xl bg-rose-600 px-3 py-1.5 text-xs font-semibold text-white shadow-sm transition hover:bg-rose-500 disabled:cursor-not-allowed disabled:opacity-60`,children:`提交点踩`})]})]}):f===`down`&&n.feedback?.comment?(0,v.jsxs)(`div`,{className:`max-w-xl rounded-xl border border-rose-100 bg-rose-50/50 px-3 py-2 text-xs text-rose-700 dark:border-rose-900/60 dark:bg-rose-950/20 dark:text-rose-200`,children:[`反馈:`,n.feedback.comment]}):null,n.feedback?.error?(0,v.jsx)(`div`,{className:`text-xs text-rose-600 dark:text-rose-300`,children:n.feedback.error}):null]}):null}function Ote({agentName:e,isMobile:t,isStreaming:n,isLastMessage:r,suppressWaitingIndicator:i=!1,showAgentHeader:a,message:o,onDeleteFeedback:s,onOpenAttachmentPreview:c,onRespondToApproval:l,onRespondToAguiApproval:d,onSubmitFeedback:f,onSubmitAguiAction:p,interactionRecords:m,agentBlockActions:h}){if(o.role===`user`)return(0,v.jsx)(`div`,{className:`mb-3 flex justify-end`,children:(0,v.jsxs)(`div`,{"data-slot":`user-message`,className:`max-w-[80%] rounded-2xl bg-muted px-3 py-2 text-[14px] leading-relaxed text-foreground`,children:[o.attachments?.length?(0,v.jsx)(lb,{attachments:o.attachments,isMobile:t,onOpenAttachmentPreview:c}):null,o.content]})});if(o.role===`a2ui`&&o.aguiActivity)return(0,v.jsx)(Ev,{surfaceId:o.aguiActivity.surfaceId,messages:o.aguiActivity.messages,onAction:p});let g=n&&r&&!o.content;return(0,v.jsxs)(`div`,{"data-slot":`assistant-message`,className:`group mx-auto mb-3 w-full max-w-[60rem] px-2 sm:px-4`,children:[a?(0,v.jsxs)(`div`,{className:`mb-1.5 flex items-center gap-2 text-xs text-text-muted`,children:[(0,v.jsx)(Rf,{className:`w-3.5 h-3.5`}),(0,v.jsx)(`span`,{children:e})]}):null,o.attachments?.length?(0,v.jsx)(lb,{attachments:o.attachments,isMobile:t,onOpenAttachmentPreview:c}):null,o.agentBlock?(0,v.jsx)(hte,{block:o.agentBlock,actions:h},o.agentBlock.item.itemId):o.blocks?.length?(0,v.jsx)(rb,{message:o,isStreaming:n,onRespondToApproval:l,interactionRecords:m,onRespondToAguiApproval:d}):(0,v.jsxs)(v.Fragment,{children:[o.reasoning?(0,v.jsxs)(`details`,{className:`group/details mb-3 overflow-hidden rounded-md border border-slate-200/80 bg-slate-50/60 text-sm text-slate-600 transition-colors open:bg-white dark:border-slate-700/80 dark:bg-slate-900/40 dark:text-slate-300 dark:open:bg-slate-950/30`,children:[(0,v.jsxs)(`summary`,{className:`flex cursor-pointer list-none items-center justify-between gap-3 px-3 py-2 font-medium outline-none marker:hidden`,children:[(0,v.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[g?null:(0,v.jsx)(Kf,{className:`h-4 w-4 text-slate-400`}),(0,v.jsx)(`span`,{className:Sf(`truncate`,g&&`waiting-thinking-text`),"data-testid":g?`legacy-thinking-indicator`:void 0,role:g?`status`:void 0,children:g?`正在思考…`:`思考过程`}),g?null:(0,v.jsx)(`span`,{className:`rounded-full bg-slate-200/70 px-2 py-0.5 text-[11px] font-medium text-slate-600 dark:bg-slate-800 dark:text-slate-300`,children:`已完成`})]}),(0,v.jsx)(qf,{className:`h-4 w-4 flex-shrink-0 text-slate-400 transition-transform group-open/details:rotate-180`})]}),(0,v.jsx)(`div`,{className:`border-t border-slate-200/70 bg-white/70 dark:border-slate-800 dark:bg-slate-950/20`,children:(0,v.jsx)(`div`,{className:`custom-scrollbar max-h-[min(46vh,28rem)] overflow-y-auto px-4 py-3 text-[14px] leading-7 text-slate-600 dark:text-slate-300 [&_p]:my-2 [&_pre]:my-2`,children:(0,v.jsx)(u,{content:o.reasoning})})})]}):null,o.tools?Object.values(o.tools).map((e,t)=>{let n=m?.find(t=>t.interactionId===e.approvalRequestId),r={...e,approvalStatus:eb(n)||e.approvalStatus};return(0,v.jsxs)(`details`,{open:r.approvalStatus===`pending`||r.status===`paused`||void 0,className:Sf(`group/details mb-2 overflow-hidden rounded-md border text-sm transition-colors`,r.status===`paused`?`border-neutral-200/80 bg-neutral-50/25 text-slate-700 dark:border-neutral-900/60 dark:bg-neutral-950/10 dark:text-slate-200`:r.status===`error`?`border-rose-200/80 bg-rose-50/25 text-rose-700 dark:border-rose-900/60 dark:bg-rose-950/10 dark:text-rose-200`:`border-slate-200/80 bg-slate-50/40 text-slate-600 dark:border-slate-700/80 dark:bg-slate-900/30 dark:text-slate-300`),children:[(0,v.jsx)(`summary`,{className:`flex cursor-pointer list-none items-center justify-between gap-2 px-3 py-2 font-medium`,children:(0,v.jsxs)(`div`,{className:`flex items-center gap-2`,children:[r.status===`running`?(0,v.jsx)(em,{className:`h-4 w-4 animate-spin text-slate-500`}):r.status===`paused`?(0,v.jsx)(om,{className:`h-4 w-4 text-neutral-500`}):r.status===`error`?(0,v.jsx)(ip,{className:`h-4 w-4 text-rose-500`}):(0,v.jsx)(Kf,{className:`h-4 w-4 text-slate-400`}),(0,v.jsxs)(`span`,{children:[r.approvalStatus===`pending`?`等待审批:`:r.approvalStatus===`approved`?`已批准:`:r.approvalStatus===`rejected`?`已拒绝:`:r.approvalStatus===`cancelled`?`已取消:`:r.status===`error`?`工具调用失败:`:`工具调用:`,r.name]})]})}),(0,v.jsxs)(`div`,{className:Sf(`flex flex-col gap-3 border-t px-3 py-3 font-mono text-[13px] leading-relaxed`,r.status===`paused`?`border-neutral-200/70 dark:border-neutral-900/60`:r.status===`error`?`border-rose-200/70 dark:border-rose-900/60`:`border-slate-200/70 dark:border-slate-800`),children:[r.approvalRequestId?(0,v.jsxs)(`div`,{className:`font-sans text-sm text-slate-700 dark:text-slate-200`,children:[(0,v.jsx)(`div`,{className:`font-medium`,children:r.approvalStatus===`approved`?`已批准该工具调用。`:r.approvalStatus===`rejected`?`已拒绝该工具调用。`:r.approvalStatus===`cancelled`?`已取消该工具调用。`:r.approvalMessage||`该工具调用需要人工确认后继续。`}),r.approvalLevel?(0,v.jsxs)(`div`,{className:Sf(`mt-2 inline-flex items-center rounded border px-1.5 py-0.5 text-xs font-medium`,Ste(r.approvalLevel)),children:[`审批级别:`,xte(r.approvalLevel)]}):null,r.serverLabel?(0,v.jsxs)(`div`,{className:`mt-1 text-xs text-neutral-700/80 dark:text-neutral-200/80`,children:[`MCP Server: `,r.serverLabel]}):null,r.approvalStatus===`pending`?(0,v.jsx)(`div`,{"data-slot":`tool-approval-status`,className:`mt-2 text-xs text-slate-500 dark:text-slate-400`,children:`请在输入区确认面板中操作。`}):r.approvalStatus?(0,v.jsxs)(`div`,{className:`mt-2 inline-flex items-center gap-1.5 text-xs font-medium text-slate-500 dark:text-slate-400`,children:[r.approvalStatus===`approved`?(0,v.jsx)(Kf,{className:`h-3.5 w-3.5 text-emerald-500`}):(0,v.jsx)(ip,{className:`h-3.5 w-3.5 text-rose-500`}),r.approvalStatus===`approved`?`已批准`:r.approvalStatus===`cancelled`?`已取消`:`已拒绝`]}):null]}):null,r.args?(0,v.jsx)(ub,{label:`入参 (Args)`,tone:`input`,value:r.args}):null,r.output?(0,v.jsx)(ub,{label:`输出 (Output)`,tone:r.status===`error`?`error`:`output`,value:r.output}):null]})]},`${r.name}-${t}`)}):null,o.tools?Object.values(o.tools).filter(e=>m?.some(t=>t.interactionId===e.approvalRequestId)).map(e=>(0,v.jsx)($y,{interaction:m.find(t=>t.interactionId===e.approvalRequestId)},`anchor-${e.approvalRequestId}`)):null,(0,v.jsx)(`div`,{"data-slot":`assistant-content`,className:`w-full break-words`,children:o.content?(0,v.jsx)(u,{content:o.content}):!i&&(n&&r&&!o.reasoning&&!o.tools||o.eventType===`optimistic_assistant_placeholder`)?(0,v.jsx)(`span`,{className:`relative mt-1 inline-flex h-4 w-4 items-center justify-center`,role:`status`,"aria-label":`正在生成`,children:(0,v.jsx)(`span`,{className:`waiting-generation-breathe h-2.5 w-2.5 rounded-full`})}):null})]}),o.aguiActivities?.map(e=>(0,v.jsx)(Ev,{surfaceId:e.surfaceId,messages:e.messages,onAction:p},e.surfaceId)),(0,v.jsx)(Dte,{isLastMessage:r,isStreaming:n,message:o,onDeleteFeedback:s,onSubmitFeedback:f})]})}function db({agentName:e,emptyState:t,isMobile:n,isStreaming:r,activity:i,contextIndicator:a,messages:o,showWaitingIndicator:s=!1,isLoadingInitialHistory:c=!1,onDeleteFeedback:l,onOpenAttachmentPreview:u,onRespondToApproval:d,onRespondToAguiApproval:f,onSubmitFeedback:p,onSubmitAguiAction:m,onStopGeneration:h,onCancelRemote:_,agentBlockActions:y,onScrollToBottom:b,checkpoints:x=[],onResumeCheckpoint:S,interactionRecords:C,scrollRef:w,className:T,revealMessage:E}){let[D,O]=(0,g.useState)(0),[k,A]=(0,g.useState)(0),[j,M]=(0,g.useState)(0),[N,P]=(0,g.useState)(new Map),F=(0,g.useRef)(N);(0,g.useLayoutEffect)(()=>{let e=w.current;if(!e)return;let t=()=>{O(e.scrollTop),A(e.clientHeight),M(e.scrollHeight)};if(t(),typeof ResizeObserver>`u`)return;let n=new ResizeObserver(()=>t());return n.observe(e),e.firstElementChild instanceof HTMLElement&&n.observe(e.firstElementChild),()=>n.disconnect()},[w]);let I=(0,g.useMemo)(()=>_te({items:o,scrollTop:D,viewportHeight:k,overscan:bte,defaultItemHeight:cb,measuredHeights:N,getItemKey:(e,t)=>e?.id||String(t)}),[N,o,D,k]),ee=I.visibleItems;(0,g.useEffect)(()=>{if(!E)return;let e=w.current,t=o.findIndex(e=>e.id===E.id);if(!e||t<0)return;let n=e.style.scrollBehavior;e.style.scrollBehavior=`auto`;let r=0,i=0,a=0,s=-1,c=()=>{let l=o.slice(0,t).reduce((e,t)=>e+(F.current.get(t.id)||cb),0);e.scrollTop=Math.max(0,l-24),O(e.scrollTop),A(e.clientHeight);let u=Array.from(e.querySelectorAll(`[data-message-id]`)).find(e=>e.dataset.messageId===E.id);if(a=u&&Math.abs(s-l)<1?a+1:0,s=l,u&&(a>=3||i>=30)){e.scrollTop+=u.getBoundingClientRect().top-e.getBoundingClientRect().top-24,u.focus({preventScroll:!0}),e.dispatchEvent(new Event(`scroll`)),e.style.scrollBehavior=n;return}++i<30?r=requestAnimationFrame(c):e.style.scrollBehavior=n};return r=requestAnimationFrame(c),()=>{cancelAnimationFrame(r),e.style.scrollBehavior=n}},[E,w]);let L=(0,g.useCallback)((e,t,n)=>{if(!e||!Number.isFinite(t)||t<=0)return;let r=F.current,i=r.get(e)??cb;if(i===t)return;let a=new Map(r);a.set(e,t),F.current=a,P(a);let o=w.current;o&&n<o.scrollTop&&(o.scrollTop+=t-i,O(o.scrollTop),M(o.scrollHeight))},[w]),te=ob({scrollHeight:j,scrollTop:D,clientHeight:k}),R=vte({scrollHeight:j,scrollTop:D,clientHeight:k});return(0,v.jsxs)(`div`,{ref:w,onScroll:e=>{O(e.currentTarget.scrollTop),A(e.currentTarget.clientHeight),M(e.currentTarget.scrollHeight)},className:Sf(`custom-scrollbar relative min-h-0 flex-1 overflow-y-auto scroll-smooth`,n?`px-3 py-3`:`px-4 py-5`,T),"data-slot":`message-list`,style:{overflowAnchor:`none`},children:[(0,v.jsx)(`div`,{"data-slot":`message-list-content`,className:`mx-auto flex w-full max-w-[64rem] flex-col pb-6 sm:pb-8`,children:o.length===0&&c?(0,v.jsx)(Tte,{}):o.length===0&&!s?t===void 0?(0,v.jsx)(wte,{agentName:e}):t:(0,v.jsxs)(v.Fragment,{children:[o.length>0&&(0,v.jsx)(`div`,{style:{height:I.totalHeight},className:`relative`,children:ee.map(t=>(0,v.jsx)(Cte,{messageId:t.item.id||String(t.index),highlighted:t.item.id===E?.id,top:t.top,onMeasure:L,children:t.item.role===`system`?(0,v.jsx)(Ete,{message:t.item}):(0,v.jsx)(Ote,{agentName:e,isMobile:n,isStreaming:r,suppressWaitingIndicator:s,isLastMessage:t.index===o.length-1,showAgentHeader:!yte(o[t.index-1],t.item),message:t.item,agentBlockActions:y,onDeleteFeedback:l,onOpenAttachmentPreview:u,onRespondToApproval:d,interactionRecords:C,onRespondToAguiApproval:f,onSubmitFeedback:p,onSubmitAguiAction:m})},t.item.id||t.index))}),s&&(0,v.jsx)(`div`,{className:`mx-auto w-full max-w-[60rem] px-2 sm:px-4`,role:`status`,"data-testid":`waiting-first-token`,children:(0,v.jsx)(`span`,{className:`waiting-thinking-text`,children:`正在思考…`})})]})}),(0,v.jsx)(ib,{}),R?(0,v.jsx)(`button`,{type:`button`,"aria-label":`回到底部`,"data-distance-from-bottom":Math.round(te),onClick:()=>{if(b){b();return}let e=w.current;e&&e.scrollTo({top:e.scrollHeight,behavior:`auto`})},className:`sticky bottom-4 left-1/2 z-20 mx-auto flex h-9 w-9 -translate-x-1/2 items-center justify-center rounded-full border border-border bg-surface text-text-secondary shadow-[0_8px_24px_rgba(15,23,42,0.12)] transition hover:text-text-primary`,title:`回到底部`,children:r?(0,v.jsx)(`span`,{"aria-hidden":`true`,className:`flex items-center gap-0.5`,"data-scroll-indicator":`streaming`,children:[0,1,2].map(e=>(0,v.jsx)(`span`,{className:`h-1 w-1 animate-bounce rounded-full bg-current motion-reduce:animate-none`,style:{animationDelay:`${e*120}ms`}},e))}):(0,v.jsx)(qf,{"aria-hidden":`true`,className:`h-5 w-5`,"data-scroll-indicator":`idle`})}):null]})}function fb(e){return e.requestedSessionId===e.activeSessionId&&e.requestToken===e.activeRequestToken}function kte({agentName:e,emptyState:t,isMobile:n,onDeleteFeedback:r,onSubmitFeedback:i,onRespondToApproval:a,onRespondToAguiApproval:o,onSubmitAguiAction:s,onStopGeneration:c,onCancelRemote:l,agentBlockActions:u,checkpointResumeEnabled:d=!1,onResumeCheckpoint:f,onLoadOlderSessionMessages:p,onRetryHistory:m,interactionRecords:h,className:_,revealMessage:y}){let b=xy(e=>e.messages),x=zu(e=>e.currentSessionId),S=zu(e=>e.isLoadingSessions),C=Eu(e=>e.isSessionStreaming(x)),w=Eu(e=>e.getSessionActivity(x)),T=Iy(e=>e.getSessionCheckpoints(x)),E=zu(e=>x?e.messageHistory[x]:null),D=S||!!E?.isLoadingInitial,O=zu(e=>e.sessions.find(e=>e.SessionId===x)?.ContextUsage),k=Ou(e=>e.availableModels),A=Ou(e=>e.selectedModel),j=xu(e=>e.previewAttachment),M=xu(e=>e.previewImageSize),N=(0,g.useRef)(null),P=(0,g.useRef)(!0),F=(0,g.useRef)(!1),I=(0,g.useRef)(0),ee=(0,g.useRef)(C),L=(0,g.useRef)(!1),te=(0,g.useRef)(null),R=(0,g.useRef)(!0),z=(0,g.useRef)(``),ne=(0,g.useRef)(y);(0,g.useEffect)(()=>{ne.current=y});let re=(0,g.useMemo)(()=>k.find(e=>e.id===A)||null,[k,A]),ie=(0,g.useMemo)(()=>Vv({selectedModel:re,contextUsage:O}),[re,O]),ae=b.reduce((e,t,n)=>t.role===`user`?n:e,-1),B=C&&!b.slice(ae+1).some(e=>!!(e.role===`model`&&(e.content||e.reasoning||e.blocks?.some(e=>e.type===`text`||e.type===`thinking`?e.content:!0)||e.attachments?.length||e.a2ui||e.aguiActivity||e.aguiActivities?.length||Object.keys(e.tools||{}).length))),V=(0,g.useCallback)(()=>{let e=N.current;if(!e)return;P.current=!0,F.current=!1;let t=e.style.scrollBehavior;e.style.scrollBehavior=`auto`;let n=0,r=0,i=-1,a=()=>{if(N.current===e){if(e.scrollTop=e.scrollHeight,I.current=e.scrollTop,e.dispatchEvent(new Event(`scroll`)),r=e.scrollHeight===i?r+1:0,i=e.scrollHeight,n+=1,r>=3||n>=12){e.style.scrollBehavior=t;return}requestAnimationFrame(a)}};a()},[]);return(0,g.useEffect)(()=>{ee.current=C},[C]),(0,g.useEffect)(()=>{R.current=!0,P.current=!0,F.current=!1,I.current=0,L.current=!1,te.current=null,z.current=``},[x]),(0,g.useEffect)(()=>{y&&(P.current=!1,F.current=!0,R.current=!1)},[y]),(0,g.useEffect)(()=>{let e=b.at(-1),t=z.current;z.current=String(e?.id||``),e?.role===`user`&&e.id!==t&&!R.current&&V()},[b,V]),(0,g.useEffect)(()=>{let e=N.current;if(!e)return;let t=()=>{let t=e.scrollHeight-e.scrollTop-e.clientHeight,n=e.scrollTop<I.current-2;if(I.current=e.scrollTop,!R.current&&n&&e.scrollTop<200&&x&&E?.hasMore&&!E.isLoadingOlder&&!L.current&&p){let t=e.scrollHeight,n=x,r=Symbol(n);L.current=!0,te.current=r,p(n).then(()=>{fb({requestedSessionId:n,activeSessionId:zu.getState().currentSessionId,requestToken:r,activeRequestToken:te.current})&&requestAnimationFrame(()=>{if(!fb({requestedSessionId:n,activeSessionId:zu.getState().currentSessionId,requestToken:r,activeRequestToken:te.current}))return;let e=N.current;if(!e)return;let i=e.scrollHeight-t;e.scrollTop+=i,I.current=e.scrollTop})}).finally(()=>{te.current===r&&(te.current=null,L.current=!1)})}if(ee.current&&n){F.current=!0,P.current=!1;return}if(F.current){let e=t<=12;F.current=!e,P.current=e;return}P.current=t<96};return t(),e.addEventListener(`scroll`,t,{passive:!0}),()=>e.removeEventListener(`scroll`,t)},[E,x,p]),(0,g.useEffect)(()=>{let e=N.current;if(!e||typeof ResizeObserver>`u`)return;let t=new ResizeObserver(()=>{!R.current&&!P.current||(e.scrollTop=e.scrollHeight,I.current=e.scrollTop,e.dispatchEvent(new Event(`scroll`)))});return t.observe(e),e.firstElementChild instanceof HTMLElement&&t.observe(e.firstElementChild),()=>t.disconnect()},[x]),(0,g.useEffect)(()=>{let e=N.current;if(e){if(b.length>0&&R.current){let e=ne.current,t=zu.getState().currentSessionId,n=N.current,r=n?n.style.scrollBehavior:``;n&&(n.style.scrollBehavior=`auto`,n.scrollTop=n.scrollHeight,I.current=n.scrollTop);let i=0,a=n?.scrollHeight??-1,o=!1,s=0,c=()=>{let e=N.current;e&&(e.scrollTop=e.scrollHeight,I.current=e.scrollTop,e.dispatchEvent(new Event(`scroll`)))},l=()=>{if(!o){if(o=!0,ne.current!==e){n&&(n.style.scrollBehavior=r);return}c(),n&&(n.style.scrollBehavior=r),P.current=!0,F.current=!1,R.current=!1}},u=()=>{if(o)return;if(ne.current!==e){l();return}if(zu.getState().currentSessionId!==t){o=!0;return}let n=N.current;if(n){if(n.scrollHeight!==a)a=n.scrollHeight,c(),i=0;else if(i+=1,i>=3){l();return}s=requestAnimationFrame(u)}},d=window.setTimeout(l,2e3);return s=requestAnimationFrame(u),()=>{if(cancelAnimationFrame(s),window.clearTimeout(d),zu.getState().currentSessionId!==t){l();return}n&&(n.style.scrollBehavior=r)}}P.current&&(e.scrollTop=e.scrollHeight,I.current=e.scrollTop)}},[b,C,y]),(0,v.jsxs)(v.Fragment,{children:[E?.persistenceDegraded&&(0,v.jsx)(`div`,{role:`status`,"data-testid":`history-persistence-warning`,className:`mx-auto w-full max-w-3xl px-6 py-2 text-sm text-amber-700 dark:text-amber-300`,children:`当前会话历史尚未持久化。刷新或切换设备后,部分消息可能无法恢复。`}),E?.error&&(0,v.jsxs)(`div`,{role:`alert`,"data-testid":`history-reload-error`,className:`mx-auto w-full max-w-3xl px-6 py-2 text-sm text-red-700 dark:text-red-300`,children:[E.error,m&&x&&(0,v.jsx)(`button`,{type:`button`,className:`ml-3 underline`,onClick:()=>void m(x),children:`重试`})]}),E?.preparing&&(0,v.jsx)(`div`,{role:`status`,"data-testid":`history-preparing`,className:`mx-auto w-full max-w-3xl px-6 py-2 text-sm`,children:`历史正在准备,请稍候。`}),(0,v.jsx)(db,{revealMessage:y,emptyState:E?.error||E?.preparing?null:t,agentName:e,isMobile:n,isStreaming:C,activity:w,contextIndicator:ie,messages:b,showWaitingIndicator:B,isLoadingInitialHistory:D,onDeleteFeedback:r,onOpenAttachmentPreview:e=>{xu.getState().setPreviewAttachment(e),xu.getState().setPreviewImageSize(null)},onRespondToApproval:a,onRespondToAguiApproval:o,interactionRecords:h,onScrollToBottom:V,onSubmitFeedback:i,onSubmitAguiAction:s,onStopGeneration:c,onCancelRemote:l,agentBlockActions:u,checkpoints:d?T:[],onResumeCheckpoint:f,scrollRef:N,className:_}),(0,v.jsx)(Xv,{attachment:j,isMobile:n,previewImageSize:M,onClose:()=>{xu.getState().setPreviewAttachment(null),xu.getState().setPreviewImageSize(null)},onImageLoad:e=>xu.getState().setPreviewImageSize(e)})]})}var Ate=e=>fetch(`/api/v1/workspace/file?path=${encodeURIComponent(e)}`,{headers:{Accept:`application/json`}});async function jte(e,t){let n=await fetch(`/api/v1/workspace/file?path=${encodeURIComponent(e)}&download=true`);if(!n.ok)throw Error(`下载失败(${n.status})`);let r=await n.blob(),i=URL.createObjectURL(r),a=document.createElement(`a`);a.href=i,a.download=t,a.click(),URL.revokeObjectURL(i)}function Mte({path:e,fetchFile:t}){let[n,r]=(0,g.useState)({payload:null,error:``,busy:!0});(0,g.useEffect)(()=>{let n=new AbortController,i=!0;return t(e).then(async e=>{let t=await e.json().catch(()=>null);if(!e.ok)throw Error(t?.error?.message||t?.detail||`预览失败(${e.status})`);return t}).then(e=>{i&&r({payload:e,error:``,busy:!1})}).catch(e=>{i&&!n.signal.aborted&&r({payload:null,error:e instanceof Error?e.message:`预览失败。`,busy:!1})}),()=>{i=!1,n.abort()}},[e,t]);let i=n.payload;return(0,v.jsxs)(`div`,{style:{minHeight:0,flex:`1 1 auto`,overflow:`auto`,padding:`16px 20px`,fontSize:14,lineHeight:1.65,color:`#1f2937`},children:[n.busy&&(0,v.jsxs)(`p`,{role:`status`,style:{display:`flex`,alignItems:`center`,gap:8,color:`#6b7280`,fontSize:13},children:[(0,v.jsx)(`span`,{"aria-hidden":!0,style:{width:15,height:15,borderRadius:`50%`,border:`2px solid #d1d5db`,borderTopColor:`#0091ea`,display:`inline-block`,animation:`ksadk-fp-spin 0.8s linear infinite`}}),`正在加载文件…`,(0,v.jsx)(`style`,{children:`@keyframes ksadk-fp-spin { to { transform: rotate(360deg); } }`})]}),!n.busy&&n.error&&(0,v.jsx)(`p`,{role:`alert`,style:{margin:0,color:`#b91c1c`,fontSize:13},children:n.error}),!n.busy&&!n.error&&i?.mediaCategory===`markdown`&&(0,v.jsx)(u,{content:i.content||``}),!n.busy&&!n.error&&i?.mediaCategory===`image`&&(0,v.jsx)(`img`,{src:`data:${i.contentType};base64,${i.dataBase64}`,alt:i.name,style:{display:`block`,maxWidth:`100%`,margin:`0 auto`,borderRadius:8}}),!n.busy&&!n.error&&i?.mediaCategory===`text`&&(0,v.jsx)(`pre`,{style:{overflowX:`auto`,whiteSpace:`pre-wrap`,wordBreak:`break-word`,background:`#f6f8fa`,padding:12,borderRadius:8,margin:0,fontSize:13,lineHeight:1.6,color:`#1f2937`},children:i.content})]})}var pb={width:30,height:30,display:`inline-flex`,alignItems:`center`,justifyContent:`center`,borderRadius:8,border:`1px solid #e5e7eb`,background:`#fff`,cursor:`pointer`,padding:0,color:`#374151`,flex:`0 0 auto`};function Nte({path:e,onClose:t,fetchFile:n=Ate}){if((0,g.useEffect)(()=>{if(!e)return;let n=e=>{e.key===`Escape`&&t()};return window.addEventListener(`keydown`,n),()=>window.removeEventListener(`keydown`,n)},[e,t]),!e)return null;let r=e.split(`/`).pop()||e;return(0,v.jsx)(`div`,{role:`dialog`,"aria-modal":`true`,"aria-label":`文件预览 ${r}`,onClick:t,style:{position:`fixed`,inset:0,zIndex:2147483e3,display:`flex`,alignItems:`center`,justifyContent:`center`,background:`rgba(15, 23, 42, 0.5)`,padding:24,fontFamily:`-apple-system, system-ui, "SF Pro SC", "PingFang SC", "Microsoft YaHei", sans-serif`},children:(0,v.jsxs)(`div`,{onClick:e=>e.stopPropagation(),style:{display:`flex`,flexDirection:`column`,width:`100%`,maxWidth:760,maxHeight:`100%`,overflow:`hidden`,background:`#ffffff`,color:`#1f2937`,border:`1px solid #e5e7eb`,borderRadius:12,boxShadow:`0 20px 50px rgba(15, 23, 42, 0.25)`},children:[(0,v.jsxs)(`header`,{style:{display:`flex`,alignItems:`center`,gap:12,padding:`12px 16px`,borderBottom:`1px solid #e5e7eb`,flex:`0 0 auto`},children:[(0,v.jsxs)(`div`,{style:{minWidth:0,flex:`1 1 auto`},children:[(0,v.jsx)(`h2`,{style:{margin:0,fontSize:14,fontWeight:500,color:`#111827`,whiteSpace:`nowrap`,overflow:`hidden`,textOverflow:`ellipsis`},children:r}),(0,v.jsx)(`p`,{style:{margin:`2px 0 0`,fontSize:12,color:`#6b7280`,whiteSpace:`nowrap`,overflow:`hidden`,textOverflow:`ellipsis`},children:e})]}),(0,v.jsx)(`button`,{type:`button`,"aria-label":`下载文件`,style:pb,onClick:()=>void jte(e,r),children:(0,v.jsxs)(`svg`,{width:`16`,height:`16`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":!0,children:[(0,v.jsx)(`path`,{d:`M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4`}),(0,v.jsx)(`polyline`,{points:`7 10 12 15 17 10`}),(0,v.jsx)(`line`,{x1:`12`,y1:`15`,x2:`12`,y2:`3`})]})}),(0,v.jsx)(`button`,{type:`button`,"aria-label":`关闭预览`,style:pb,onClick:t,children:(0,v.jsxs)(`svg`,{width:`16`,height:`16`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":!0,children:[(0,v.jsx)(`path`,{d:`M18 6 6 18`}),(0,v.jsx)(`path`,{d:`m6 6 12 12`})]})})]}),(0,v.jsx)(Mte,{path:e,fetchFile:n})]})})}function Pte({fetchFile:e}){let[t,n]=(0,g.useState)(null);return(0,g.useEffect)(()=>p(n),[]),(0,v.jsx)(Nte,{path:t,onClose:()=>n(null),fetchFile:e})}var mb=``,hb=window.fetch.bind(window);function gb(e){return e.startsWith(`/api/v1/`)||e.startsWith(`/agentengine/api/v1/`)||e===`/v1/responses`||e.startsWith(`/v1/responses/`)}async function q(e,t={}){let n=String(t.method||(e instanceof Request?e.method:`GET`)).toUpperCase(),r=new URL(e instanceof Request?e.url:String(e),window.location.href),i=new Headers(t.headers||(e instanceof Request?e.headers:void 0));mb&&r.origin===window.location.origin&&gb(r.pathname)&&![`GET`,`HEAD`,`OPTIONS`].includes(n)&&i.set(`X-CSRF-Token`,mb);let a=e instanceof Request?e.clone():e,o={...t,headers:i,credentials:t.credentials||`same-origin`},s=await hb(e,o);if(s.status===401&&r.origin===window.location.origin&&gb(r.pathname)){let e=``;try{e=(await s.clone().json())?.error?.code||``}catch{return s}if(e===`LOCAL_SESSION_REQUIRED`){await hb(`/`,{credentials:`same-origin`}).catch(()=>void 0);let e=await hb(`/api/v1/system/bootstrap`,{credentials:`same-origin`});return e.ok?(mb=(await e.json()).csrfToken||``,mb&&![`GET`,`HEAD`,`OPTIONS`].includes(n)&&i.set(`X-CSRF-Token`,mb),hb(a,{...o,headers:i})):s}}if(s.status!==403||[`GET`,`HEAD`,`OPTIONS`].includes(n)||r.origin!==window.location.origin||!gb(r.pathname))return s;let c=``;try{c=(await s.clone().json())?.error?.code||``}catch{return s}if(c!==`CSRF_TOKEN_INVALID`)return s;let l=await hb(`/api/v1/system/bootstrap`,{credentials:`same-origin`});return!l.ok||(mb=(await l.json()).csrfToken||``,!mb)?s:(i.set(`X-CSRF-Token`,mb),hb(a,{...o,headers:i}))}async function Fte(){let e=window.location.hash.match(/(?:^#|&)session=([^&]+)/);if(e){let t=await hb(`/api/v1/system/session`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({token:decodeURIComponent(e[1])}),credentials:`same-origin`});if(!t.ok){await hb(`/`,{credentials:`same-origin`}).catch(()=>void 0);let e=await hb(`/api/v1/system/bootstrap`,{credentials:`same-origin`});if(!e.ok)throw Error(`本地 Studio 会话已失效,请重新启动服务。`);mb=(await e.json()).csrfToken||``,window.history.replaceState(null,``,`${window.location.pathname}${window.location.search}`);return}mb=(await t.json()).csrfToken||``,window.history.replaceState(null,``,`${window.location.pathname}${window.location.search}`);return}let t=await hb(`/api/v1/system/bootstrap`,{credentials:`same-origin`});!t.ok&&t.status===401&&(await hb(`/`,{credentials:`same-origin`}).catch(()=>void 0),t=await hb(`/api/v1/system/bootstrap`,{credentials:`same-origin`})),t.ok&&(mb=(await t.json()).csrfToken||``)}var Ite={add:``,all:``,check:``,close:``,cpu:``,down:``,folder:``,"left-squared":``,message:``,panel:``,refresh:``,right:``,"right-squared":``,search:``,settings:``,users:``};function _b({name:e,size:t=16,className:n=``,style:r,...i}){return(0,v.jsx)(`span`,{...i,className:`king-icon${n?` ${n}`:``}`,"data-icon":e,"data-glyph":Ite[e],"aria-hidden":`true`,style:{fontSize:t,width:t,height:t,...r}})}var Lte={bot:Rf,sparkles:sm,search:nm,code:cp,workflow:Up};function vb({name:e,appearance:t,template:n,size:r=`md`,className:i=``}){let a=Lte[t?.icon||(n===`research`?`search`:`bot`)],o={"--agent-avatar-color":t?.color||(n===`research`?`#2d7c68`:`#426ea8`)};return(0,v.jsx)(`span`,{className:`agent-avatar agent-avatar-${r}${i?` ${i}`:``}`,style:o,role:`img`,"aria-label":`${e}头像`,children:t?.imageUrl?(0,v.jsx)(`img`,{src:t.imageUrl,alt:``,draggable:!1}):(0,v.jsx)(a,{"aria-hidden":!0,size:r===`lg`?22:r===`xs`?12:16})})}var yb=[],bb=new Map,Rte=[`.skip-link`,`.sidebar`,`.studio-navigation`,`.global-header`,`#mainContent`];function xb(e){if(e){for(let e of document.querySelectorAll(Rte.join(`,`)))bb.has(e)||bb.set(e,e.hasAttribute(`inert`)),e.setAttribute(`inert`,``);return}for(let[e,t]of bb)e.isConnected&&!t&&e.removeAttribute(`inert`);bb.clear()}function Sb(e){if(e.key!==`Escape`||!yb.length)return;let t=yb[yb.length-1];e.preventDefault(),e.stopPropagation(),e.stopImmediatePropagation(),t.disabled||t.close()}function zte(e){return yb.length||(document.addEventListener(`keydown`,Sb,!0),xb(!0)),yb.push(e),()=>{let t=yb.lastIndexOf(e);t>=0&&yb.splice(t,1),yb.length||(document.removeEventListener(`keydown`,Sb,!0),xb(!1))}}function Cb({open:e,onOpenChange:t,closeDisabled:n=!1,children:r}){return(0,v.jsx)(iv,{open:e,onOpenChange:e=>{!e&&n||t(e)},children:r})}function wb({open:e,className:t,closeDisabled:n=!1,role:r=`dialog`,onRequestClose:i,onCloseAutoFocus:a,children:o}){let s=(0,g.useRef)(null),c=(0,g.useRef)({close:i,disabled:n});return c.current.close=i,c.current.disabled=n,(0,g.useEffect)(()=>{if(e)return zte(c.current)},[e]),(0,v.jsx)(cv,{children:(0,v.jsxs)(`div`,{className:`overlay`,children:[(0,v.jsx)(uv,{className:`overlay-backdrop`}),(0,v.jsx)(mv,{className:t,role:r,"aria-busy":n||void 0,onOpenAutoFocus:()=>{s.current=document.activeElement instanceof HTMLElement?document.activeElement:null},onEscapeKeyDown:e=>{e.preventDefault(),e.stopPropagation()},onPointerDownOutside:e=>{n&&e.preventDefault()},onCloseAutoFocus:e=>{if(a?.(e),e.defaultPrevented)return;let t=s.current;t?.isConnected&&(e.preventDefault(),t.focus())},children:o})]})})}function Tb({open:e,onOpenChange:t,title:n,description:r,icon:i,footer:a,children:o,closeDisabled:s=!1,showClose:c=!0,className:l,role:u=`dialog`}){return(0,v.jsx)(Cb,{open:e,onOpenChange:t,closeDisabled:s,children:(0,v.jsxs)(wb,{open:e,className:`studio-dialog${l?` ${l}`:``}`,closeDisabled:s,role:u,onRequestClose:()=>t(!1),children:[i?(0,v.jsx)(`div`,{className:`studio-dialog-icon`,children:i}):null,(0,v.jsxs)(`header`,{className:`studio-dialog-header`,children:[(0,v.jsxs)(`div`,{children:[(0,v.jsx)(yv,{children:n}),r?(0,v.jsx)(xv,{children:r}):null]}),c?(0,v.jsx)(Cv,{asChild:!0,children:(0,v.jsx)(`button`,{className:`icon-button tertiary`,type:`button`,"aria-label":`关闭`,disabled:s,children:(0,v.jsx)(Sm,{size:16})})}):null]}),o?(0,v.jsx)(`div`,{className:`studio-dialog-body`,children:o}):null,a?(0,v.jsx)(`footer`,{className:`studio-dialog-footer`,children:a}):null]})})}function Eb({open:e,onOpenChange:t,onCloseAutoFocus:n,title:r,subtitle:i,wide:a=!1,compact:o=!1,closeDisabled:s=!1,footer:c,children:l}){return(0,v.jsx)(Cb,{open:e,onOpenChange:t,closeDisabled:s,children:(0,v.jsxs)(wb,{open:e,className:`drawer${a?` wide`:``}${o?` compact`:``}`,closeDisabled:s,onRequestClose:()=>t(!1),onCloseAutoFocus:n,children:[(0,v.jsxs)(`header`,{className:`drawer-header`,children:[(0,v.jsxs)(`div`,{children:[(0,v.jsx)(yv,{children:r}),i?(0,v.jsx)(xv,{children:i}):null]}),(0,v.jsx)(Cv,{asChild:!0,children:(0,v.jsx)(`button`,{className:`icon-button tertiary`,type:`button`,"aria-label":`关闭`,disabled:s,children:(0,v.jsx)(Sm,{size:16})})})]}),(0,v.jsx)(`div`,{className:`drawer-body`,children:l}),c?(0,v.jsx)(`footer`,{className:`drawer-footer`,children:c}):null]})})}function Db({title:e,description:t,confirmText:n=`确认`,danger:r=!0,busy:i=!1,onConfirm:a,onCancel:o}){return(0,v.jsx)(Tb,{open:!0,onOpenChange:e=>{!e&&!i&&o()},title:e,description:t,closeDisabled:i,showClose:!1,role:`alertdialog`,className:`confirm-dialog`,icon:(0,v.jsx)(`span`,{className:`confirm-icon${r?` danger`:``}`,style:r?void 0:{background:`var(--accent-soft)`,color:`var(--accent-strong)`},children:r?(0,v.jsx)(Zf,{size:18}):(0,v.jsx)(kp,{size:18})}),footer:(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(Cv,{asChild:!0,children:(0,v.jsx)(`button`,{className:`button secondary`,type:`button`,disabled:i,children:`取消`})}),(0,v.jsx)(`button`,{className:`button ${r?`danger`:`accent`}`,type:`button`,onClick:a,disabled:i,children:i?`处理中…`:n})]})})}var Bte=Object.defineProperty,Ob=(e,t)=>Bte(e,`name`,{value:t,configurable:!0});function kb(e){let t=e+`CollectionProvider`,[n,r]=Vm(t),[i,a]=n(t,{collectionRef:{current:null},itemMap:new Map}),o=Ob(e=>{let{scope:t,children:n}=e,r=g.useRef(null),a=g.useRef(new Map).current;return(0,v.jsx)(i,{scope:t,itemMap:a,collectionRef:r,children:n})},`CollectionProvider`);o.displayName=t;let s=e+`CollectionSlot`,c=uh(s),l=g.forwardRef((e,t)=>{let{scope:n,children:r}=e,i=Lm(t,a(s,n).collectionRef);return(0,v.jsx)(c,{ref:i,children:r})});l.displayName=s;let u=e+`CollectionItemSlot`,d=`data-radix-collection-item`,f=uh(u),p=g.forwardRef((e,t)=>{let{scope:n,children:r,...i}=e,o=g.useRef(null),s=Lm(t,o),c=a(u,n);return g.useEffect(()=>(c.itemMap.set(o,{ref:o,...i}),()=>void c.itemMap.delete(o))),(0,v.jsx)(f,{[d]:``,ref:s,children:r})});p.displayName=u;function m(t){let n=a(e+`CollectionConsumer`,t);return g.useCallback(()=>{let e=n.collectionRef.current;if(!e)return[];let t=Array.from(e.querySelectorAll(`[${d}]`));return Array.from(n.itemMap.values()).sort((e,n)=>t.indexOf(e.ref.current)-t.indexOf(n.ref.current))},[n.collectionRef,n.itemMap])}return Ob(m,`useCollection`),[{Provider:o,Slot:l,ItemSlot:p},m,r]}Ob(kb,`createCollection`);var Ab=new WeakMap,jb=class e extends Map{static{Ob(this,`OrderedDict`)}#e;constructor(e){super(e),this.#e=[...super.keys()],Ab.set(this,!0)}set(e,t){return Ab.get(this)&&(this.has(e)?this.#e[this.#e.indexOf(e)]=e:this.#e.push(e)),super.set(e,t),this}insert(e,t,n){let r=this.has(t),i=this.#e.length,a=Pb(e),o=a>=0?a:i+a,s=o<0||o>=i?-1:o;if(s===this.size||r&&s===this.size-1||s===-1)return this.set(t,n),this;let c=this.size+ +!r;a<0&&o++;let l=[...this.#e],u,d=!1;for(let e=o;e<c;e++)if(o===e){let i=l[e];l[e]===t&&(i=l[e+1]),r&&this.delete(t),u=this.get(i),this.set(t,n)}else{!d&&l[e-1]===t&&(d=!0);let n=l[d?e:e-1],r=u;u=this.get(n),this.delete(n),this.set(n,r)}return this}with(t,n,r){let i=new e(this);return i.insert(t,n,r),i}before(e){let t=this.#e.indexOf(e)-1;if(!(t<0))return this.entryAt(t)}setBefore(e,t,n){let r=this.#e.indexOf(e);return r===-1?this:this.insert(r,t,n)}after(e){let t=this.#e.indexOf(e);if(t=t===-1||t===this.size-1?-1:t+1,t!==-1)return this.entryAt(t)}setAfter(e,t,n){let r=this.#e.indexOf(e);return r===-1?this:this.insert(r+1,t,n)}first(){return this.entryAt(0)}last(){return this.entryAt(-1)}clear(){return this.#e=[],super.clear()}delete(e){let t=super.delete(e);return t&&this.#e.splice(this.#e.indexOf(e),1),t}deleteAt(e){let t=this.keyAt(e);return t!==void 0&&this.delete(t)}at(e){let t=Mb(this.#e,e);if(t!==void 0)return this.get(t)}entryAt(e){let t=Mb(this.#e,e);if(t!==void 0)return[t,this.get(t)]}indexOf(e){return this.#e.indexOf(e)}keyAt(e){return Mb(this.#e,e)}from(e,t){let n=this.indexOf(e);if(n===-1)return;let r=n+t;return r<0&&(r=0),r>=this.size&&(r=this.size-1),this.at(r)}keyFrom(e,t){let n=this.indexOf(e);if(n===-1)return;let r=n+t;return r<0&&(r=0),r>=this.size&&(r=this.size-1),this.keyAt(r)}find(e,t){let n=0;for(let r of this){if(Reflect.apply(e,t,[r,n,this]))return r;n++}}findIndex(e,t){let n=0;for(let r of this){if(Reflect.apply(e,t,[r,n,this]))return n;n++}return-1}filter(t,n){let r=[],i=0;for(let e of this)Reflect.apply(t,n,[e,i,this])&&r.push(e),i++;return new e(r)}map(t,n){let r=[],i=0;for(let e of this)r.push([e[0],Reflect.apply(t,n,[e,i,this])]),i++;return new e(r)}reduce(...e){let[t,n]=e,r=0,i=n??this.at(0);for(let n of this)i=r===0&&e.length===1?n:Reflect.apply(t,this,[i,n,r,this]),r++;return i}reduceRight(...e){let[t,n]=e,r=n??this.at(-1);for(let n=this.size-1;n>=0;n--){let i=this.at(n);r=n===this.size-1&&e.length===1?i:Reflect.apply(t,this,[r,i,n,this])}return r}toSorted(t){let n=[...this.entries()].sort(t);return new e(n)}toReversed(){let t=new e;for(let e=this.size-1;e>=0;e--){let n=this.keyAt(e),r=this.get(n);t.set(n,r)}return t}toSpliced(...t){let n=[...this.entries()];return n.splice(...t),new e(n)}slice(t,n){let r=new e,i=this.size-1;if(t===void 0)return r;t<0&&(t+=this.size),n!==void 0&&n>0&&(i=n-1);for(let e=t;e<=i;e++){let t=this.keyAt(e),n=this.get(t);r.set(t,n)}return r}every(e,t){let n=0;for(let r of this){if(!Reflect.apply(e,t,[r,n,this]))return!1;n++}return!0}some(e,t){let n=0;for(let r of this){if(Reflect.apply(e,t,[r,n,this]))return!0;n++}return!1}};function Mb(e,t){if(`at`in Array.prototype)return Array.prototype.at.call(e,t);let n=Nb(e,t);return n===-1?void 0:e[n]}Ob(Mb,`at`);function Nb(e,t){let n=e.length,r=Pb(t),i=r>=0?r:n+r;return i<0||i>=n?-1:i}Ob(Nb,`toSafeIndex`);function Pb(e){return e!==e||e===0?0:Math.trunc(e)}Ob(Pb,`toSafeInteger`);function Vte(e){let t=e+`CollectionProvider`,[n,r]=Vm(t),[i,a]=n(t,{collectionElement:null,collectionRef:{current:null},collectionRefObject:{current:null},itemMap:new jb,setItemMap:Ob(()=>void 0,`setItemMap`)}),o=Ob(({state:e,...t})=>e?(0,v.jsx)(c,{...t,state:e}):(0,v.jsx)(s,{...t}),`CollectionProvider`);o.displayName=t;let s=Ob(e=>{let t=h();return(0,v.jsx)(c,{...e,state:t})},`CollectionInit`);s.displayName=t+`Init`;let c=Ob(e=>{let{scope:t,children:n,state:r}=e,a=g.useRef(null),[o,s]=g.useState(null),c=Lm(a,s),[l,u]=r;return g.useEffect(()=>{if(!o)return;let e=Rb(()=>{});return e.observe(o,{childList:!0,subtree:!0}),()=>{e.disconnect()}},[o]),(0,v.jsx)(i,{scope:t,itemMap:l,setItemMap:u,collectionRef:c,collectionRefObject:a,collectionElement:o,children:n})},`CollectionProviderImpl`);c.displayName=t+`Impl`;let l=e+`CollectionSlot`,u=uh(l),d=g.forwardRef((e,t)=>{let{scope:n,children:r}=e,i=Lm(t,a(l,n).collectionRef);return(0,v.jsx)(u,{ref:i,children:r})});d.displayName=l;let f=e+`CollectionItemSlot`,p=uh(f),m=g.forwardRef((e,t)=>{let{scope:n,children:r,...i}=e,o=g.useRef(null),[s,c]=g.useState(null),l=Lm(t,o,c),{setItemMap:u}=a(f,n),d=g.useRef(i);Fb(d.current,i)||(d.current=i);let m=d.current;return g.useEffect(()=>{let e=m;return u(t=>s?t.has(s)?t.set(s,{...e,element:s}).toSorted(Lb):(t.set(s,{...e,element:s}),t.toSorted(Lb)):t),()=>{u(e=>!s||!e.has(s)?e:(e.delete(s),new jb(e)))}},[s,m,u]),(0,v.jsx)(p,{"data-radix-collection-item":``,ref:l,children:r})});m.displayName=f;function h(){return g.useState(new jb)}Ob(h,`useInitCollection`);function _(t){let{itemMap:n}=a(e+`CollectionConsumer`,t);return n}return Ob(_,`useCollection`),[{Provider:o,Slot:d,ItemSlot:m},{createCollectionScope:r,useCollection:_,useInitCollection:h}]}Ob(Vte,`createCollection`);function Fb(e,t){if(e===t)return!0;if(typeof e!=`object`||typeof t!=`object`||e==null||t==null)return!1;let n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(let r of n)if(!Object.prototype.hasOwnProperty.call(t,r)||e[r]!==t[r])return!1;return!0}Ob(Fb,`shallowEqual`);function Ib(e,t){return!!(t.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_PRECEDING)}Ob(Ib,`isElementPreceding`);function Lb(e,t){return!e[1].element||!t[1].element?0:Ib(e[1].element,t[1].element)?-1:1}Ob(Lb,`sortByDocumentPosition`);function Rb(e){return new MutationObserver(t=>{for(let n of t)if(n.type===`childList`){e();return}})}Ob(Rb,`getChildListObserver`);var Hte=Object.defineProperty,Ute=(e,t)=>Hte(e,`name`,{value:t,configurable:!0}),Wte=g.createContext(void 0);function zb(e){let t=g.useContext(Wte);return e||t||`ltr`}Ute(zb,`useDirection`);var Gte=[`top`,`right`,`bottom`,`left`],Bb=Math.min,Vb=Math.max,Hb=Math.round,Ub=Math.floor,Wb=e=>({x:e,y:e}),Kte={left:`right`,right:`left`,bottom:`top`,top:`bottom`};function Gb(e,t,n){return Vb(e,Bb(t,n))}function Kb(e,t){return typeof e==`function`?e(t):e}function qb(e){return e.split(`-`)[0]}function Jb(e){return e.split(`-`)[1]}function Yb(e){return e===`x`?`y`:`x`}function Xb(e){return e===`y`?`height`:`width`}function Zb(e){let t=e[0];return t===`t`||t===`b`?`y`:`x`}function Qb(e){return Yb(Zb(e))}function $b(e,t,n){n===void 0&&(n=!1);let r=Jb(e),i=Qb(e),a=Xb(i),o=i===`x`?r===(n?`end`:`start`)?`right`:`left`:r===`start`?`bottom`:`top`;return t.reference[a]>t.floating[a]&&(o=cx(o)),[o,cx(o)]}function ex(e){let t=cx(e);return[tx(e),t,tx(t)]}function tx(e){return e.includes(`start`)?e.replace(`start`,`end`):e.replace(`end`,`start`)}var nx=[`left`,`right`],rx=[`right`,`left`],ix=[`top`,`bottom`],ax=[`bottom`,`top`];function ox(e,t,n){switch(e){case`top`:case`bottom`:return n?t?rx:nx:t?nx:rx;case`left`:case`right`:return t?ix:ax;default:return[]}}function sx(e,t,n,r){let i=Jb(e),a=ox(qb(e),n===`start`,r);return i&&(a=a.map(e=>e+`-`+i),t&&(a=a.concat(a.map(tx)))),a}function cx(e){let t=qb(e);return Kte[t]+e.slice(t.length)}function lx(e){return{top:e.top??0,right:e.right??0,bottom:e.bottom??0,left:e.left??0}}function ux(e){return typeof e==`number`?{top:e,right:e,bottom:e,left:e}:lx(e)}function dx(e){let{x:t,y:n,width:r,height:i}=e;return{width:r,height:i,top:n,left:t,right:t+r,bottom:n+i,x:t,y:n}}function fx(e,t,n){let{reference:r,floating:i}=e,a=Zb(t),o=Qb(t),s=Xb(o),c=qb(t),l=a===`y`,u=r.x+r.width/2-i.width/2,d=r.y+r.height/2-i.height/2,f=r[s]/2-i[s]/2,p;switch(c){case`top`:p={x:u,y:r.y-i.height};break;case`bottom`:p={x:u,y:r.y+r.height};break;case`right`:p={x:r.x+r.width,y:d};break;case`left`:p={x:r.x-i.width,y:d};break;default:p={x:r.x,y:r.y}}let m=Jb(t);return m&&(p[o]+=f*(m===`end`?1:-1)*(n&&l?-1:1)),p}async function qte(e,t){t===void 0&&(t={});let{x:n,y:r,platform:i,rects:a,elements:o,strategy:s}=e,{boundary:c=`clippingAncestors`,rootBoundary:l=`viewport`,elementContext:u=`floating`,altBoundary:d=!1,padding:f=0}=Kb(t,e),p=ux(f),m=o[d?u===`floating`?`reference`:`floating`:u],h=dx(await i.getClippingRect({element:await(i.isElement==null?void 0:i.isElement(m))??!0?m:m.contextElement||await(i.getDocumentElement==null?void 0:i.getDocumentElement(o.floating)),boundary:c,rootBoundary:l,strategy:s})),g=u===`floating`?{x:n,y:r,width:a.floating.width,height:a.floating.height}:a.reference,_=await(i.getOffsetParent==null?void 0:i.getOffsetParent(o.floating)),v=await(i.isElement==null?void 0:i.isElement(_))&&await(i.getScale==null?void 0:i.getScale(_))||{x:1,y:1},y=dx(i.convertOffsetParentRelativeRectToViewportRelativeRect?await i.convertOffsetParentRelativeRectToViewportRelativeRect({elements:o,rect:g,offsetParent:_,strategy:s}):g);return{top:(h.top-y.top+p.top)/v.y,bottom:(y.bottom-h.bottom+p.bottom)/v.y,left:(h.left-y.left+p.left)/v.x,right:(y.right-h.right+p.right)/v.x}}var px=50,mx=async(e,t,n)=>{let{placement:r=`bottom`,strategy:i=`absolute`,middleware:a=[],platform:o}=n,s=o.detectOverflow?o:{...o,detectOverflow:qte},c=await(o.isRTL==null?void 0:o.isRTL(t)),l=await o.getElementRects({reference:e,floating:t,strategy:i}),{x:u,y:d}=fx(l,r,c),f=r,p=0,m={};for(let n=0;n<a.length;n++){let h=a[n];if(!h)continue;let{name:g,fn:_}=h,{x:v,y,data:b,reset:x}=await _({x:u,y:d,initialPlacement:r,placement:f,strategy:i,middlewareData:m,rects:l,platform:s,elements:{reference:e,floating:t}});u=v??u,d=y??d,m[g]={...m[g],...b},x&&p<px&&(p++,typeof x==`object`&&(x.placement&&(f=x.placement),x.rects&&(l=x.rects===!0?await o.getElementRects({reference:e,floating:t,strategy:i}):x.rects),{x:u,y:d}=fx(l,f,c)),n=-1)}return{x:u,y:d,placement:f,strategy:i,middlewareData:m}},hx=e=>({name:`arrow`,options:e,async fn(t){let{x:n,y:r,placement:i,rects:a,platform:o,elements:s,middlewareData:c}=t,{element:l,padding:u=0}=Kb(e,t)||{};if(l==null)return{};let d=ux(u),f={x:n,y:r},p=Qb(i),m=Xb(p),h=await o.getDimensions(l),g=p===`y`,_=g?`top`:`left`,v=g?`bottom`:`right`,y=g?`clientHeight`:`clientWidth`,b=a.reference[m]+a.reference[p]-f[p]-a.floating[m],x=f[p]-a.reference[p],S=await(o.getOffsetParent==null?void 0:o.getOffsetParent(l)),C=S?S[y]:0;(!C||!await(o.isElement==null?void 0:o.isElement(S)))&&(C=s.floating[y]||a.floating[m]);let w=b/2-x/2,T=C/2-h[m]/2-1,E=Bb(d[_],T),D=Bb(d[v],T),O=C-h[m]-D,k=C/2-h[m]/2+w,A=Gb(E,k,O),j=!c.arrow&&Jb(i)!=null&&k!==A&&a.reference[m]/2-(k<E?E:D)-h[m]/2<0,M=j?k<E?k-E:k-O:0;return{[p]:f[p]+M,data:{[p]:A,centerOffset:k-A-M,...j&&{alignmentOffset:M}},reset:j}}}),gx=function(e){return e===void 0&&(e={}),{name:`flip`,options:e,async fn(t){var n;let{placement:r,middlewareData:i,rects:a,initialPlacement:o,platform:s,elements:c}=t,{mainAxis:l=!0,crossAxis:u=!0,fallbackPlacements:d,fallbackStrategy:f=`bestFit`,fallbackAxisSideDirection:p=`none`,flipAlignment:m=!0,...h}=Kb(e,t);if((n=i.arrow)!=null&&n.alignmentOffset)return{};let g=qb(r),_=Zb(o),v=qb(o)===o,y=await(s.isRTL==null?void 0:s.isRTL(c.floating)),b=d||(v||!m?[cx(o)]:ex(o)),x=p!==`none`;!d&&x&&b.push(...sx(o,m,p,y));let S=[o,...b],C=await s.detectOverflow(t,h),w=[],T=i.flip?.overflows||[];if(l&&w.push(C[g]),u){let e=$b(r,a,y);w.push(C[e[0]],C[e[1]])}if(T=[...T,{placement:r,overflows:w}],!w.every(e=>e<=0)){let e=(i.flip?.index||0)+1,t=S[e];if(t&&(u!==`alignment`||_===Zb(t)||T.every(e=>Zb(e.placement)!==_||e.overflows[0]>0)))return{data:{index:e,overflows:T},reset:{placement:t}};let n=T.filter(e=>e.overflows[0]<=0).sort((e,t)=>e.overflows[1]-t.overflows[1])[0]?.placement;if(!n)switch(f){case`bestFit`:{let e=T.filter(e=>{if(x){let t=Zb(e.placement);return t===_||t===`y`}return!0}).map(e=>[e.placement,e.overflows.filter(e=>e>0).reduce((e,t)=>e+t,0)]).sort((e,t)=>e[1]-t[1])[0]?.[0];e&&(n=e);break}case`initialPlacement`:n=o}if(r!==n)return{reset:{placement:n}}}return{}}}};function _x(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function vx(e){return Gte.some(t=>e[t]>=0)}var yx=function(e){return e===void 0&&(e={}),{name:`hide`,options:e,async fn(t){let{rects:n,platform:r}=t,{strategy:i=`referenceHidden`,...a}=Kb(e,t);switch(i){case`referenceHidden`:{let e=_x(await r.detectOverflow(t,{...a,elementContext:`reference`}),n.reference);return{data:{referenceHiddenOffsets:e,referenceHidden:vx(e)}}}case`escaped`:{let e=_x(await r.detectOverflow(t,{...a,altBoundary:!0}),n.floating);return{data:{escapedOffsets:e,escaped:vx(e)}}}default:return{}}}}},bx=new Set([`left`,`top`]);async function xx(e,t){let{placement:n,platform:r,elements:i}=e,a=await(r.isRTL==null?void 0:r.isRTL(i.floating)),o=qb(n),s=Jb(n),c=Zb(n)===`y`,l=bx.has(o)?-1:1,u=a&&c?-1:1,d=Kb(t,e),{mainAxis:f,crossAxis:p,alignmentAxis:m}=typeof d==`number`?{mainAxis:d,crossAxis:0,alignmentAxis:null}:{mainAxis:d.mainAxis||0,crossAxis:d.crossAxis||0,alignmentAxis:d.alignmentAxis};return s&&typeof m==`number`&&(p=s===`end`?m*-1:m),c?{x:p*u,y:f*l}:{x:f*l,y:p*u}}var Sx=function(e){return e===void 0&&(e=0),{name:`offset`,options:e,async fn(t){var n;let{x:r,y:i,placement:a,middlewareData:o}=t,s=await xx(t,e);return a===o.offset?.placement&&(n=o.arrow)!=null&&n.alignmentOffset?{}:{x:r+s.x,y:i+s.y,data:{...s,placement:a}}}}},Cx=function(e){return e===void 0&&(e={}),{name:`shift`,options:e,async fn(t){let{x:n,y:r,placement:i,platform:a}=t,{mainAxis:o=!0,crossAxis:s=!1,limiter:c={fn:e=>{let{x:t,y:n}=e;return{x:t,y:n}}},...l}=Kb(e,t),u={x:n,y:r},d=await a.detectOverflow(t,l),f=Zb(i),p=Yb(f),m=u[p],h=u[f],g=(e,t)=>Gb(t+d[e===`y`?`top`:`left`],t,t-d[e===`y`?`bottom`:`right`]);o&&(m=g(p,m)),s&&(h=g(f,h));let _=c.fn({...t,[p]:m,[f]:h});return{..._,data:{x:_.x-n,y:_.y-r,enabled:{[p]:o,[f]:s}}}}}},wx=function(e){return e===void 0&&(e={}),{options:e,fn(t){let{x:n,y:r,placement:i,rects:a,middlewareData:o}=t,{offset:s=0,mainAxis:c=!0,crossAxis:l=!0}=Kb(e,t),u={x:n,y:r},d=Zb(i),f=Yb(d),p=u[f],m=u[d],h=Kb(s,t),g=typeof h==`number`?{mainAxis:h,crossAxis:0}:{mainAxis:h.mainAxis??0,crossAxis:h.crossAxis??0};if(c){let e=f===`y`?`height`:`width`,t=a.reference[f]-a.floating[e]+g.mainAxis,n=a.reference[f]+a.reference[e]-g.mainAxis;p<t?p=t:p>n&&(p=n)}if(l){let e=f===`y`?`width`:`height`,t=bx.has(qb(i)),n=a.reference[d]-a.floating[e]+(t&&o.offset?.[d]||0)+(t?0:g.crossAxis),r=a.reference[d]+a.reference[e]+(t?0:o.offset?.[d]||0)-(t?g.crossAxis:0);m<n?m=n:m>r&&(m=r)}return{[f]:p,[d]:m}}}},Tx=function(e){return e===void 0&&(e={}),{name:`size`,options:e,async fn(t){let{placement:n,rects:r,platform:i,elements:a}=t,{apply:o=()=>{},...s}=Kb(e,t),c=await i.detectOverflow(t,s),l=qb(n),u=Jb(n),d=Zb(n)===`y`,{width:f,height:p}=r.floating,m,h;l===`top`||l===`bottom`?(m=l,h=u===(await(i.isRTL==null?void 0:i.isRTL(a.floating))?`start`:`end`)?`left`:`right`):(h=l,m=u===`end`?`top`:`bottom`);let g=p-c.top-c.bottom,_=f-c.left-c.right,v=Bb(p-c[m],g),y=Bb(f-c[h],_),b=t.middlewareData.shift,x=!b,S=v,C=y;b!=null&&b.enabled.x&&(C=_),b!=null&&b.enabled.y&&(S=g),x&&!u&&(d?C=f-2*Vb(c.left,c.right):S=p-2*Vb(c.top,c.bottom)),await o({...t,availableWidth:C,availableHeight:S});let w=await i.getDimensions(a.floating);return f!==w.width||p!==w.height?{reset:{rects:!0}}:{}}}};function Ex(){return typeof window<`u`}function Dx(e){return Ax(e)?(e.nodeName||``).toLowerCase():`#document`}function Ox(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function kx(e){return((Ax(e)?e.ownerDocument:e.document)||window.document)?.documentElement}function Ax(e){return Ex()?e instanceof Node||e instanceof Ox(e).Node:!1}function jx(e){return Ex()?e instanceof Element||e instanceof Ox(e).Element:!1}function Mx(e){return Ex()?e instanceof HTMLElement||e instanceof Ox(e).HTMLElement:!1}function Nx(e){return!Ex()||typeof ShadowRoot>`u`?!1:e instanceof ShadowRoot||e instanceof Ox(e).ShadowRoot}function Px(e){let{overflow:t,overflowX:n,overflowY:r,display:i}=Gx(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&i!==`inline`&&i!==`contents`}function Fx(e){return/^(table|td|th)$/.test(Dx(e))}function Ix(e){try{if(e.matches(`:popover-open`))return!0}catch{}try{return e.matches(`:modal`)}catch{return!1}}var Lx=/transform|translate|scale|rotate|perspective|filter/,Rx=/paint|layout|strict|content/,zx=e=>!!e&&e!==`none`,Bx;function Vx(e){let t=jx(e)?Gx(e):e;return zx(t.transform)||zx(t.translate)||zx(t.scale)||zx(t.rotate)||zx(t.perspective)||!Ux()&&(zx(t.backdropFilter)||zx(t.filter))||Lx.test(t.willChange||``)||Rx.test(t.contain||``)}function Hx(e){let t=qx(e);for(;Mx(t)&&!Wx(t);){if(Vx(t))return t;if(Ix(t))return null;t=qx(t)}return null}function Ux(){return Bx??=typeof CSS<`u`&&CSS.supports&&CSS.supports(`-webkit-backdrop-filter`,`none`),Bx}function Wx(e){return/^(html|body|#document)$/.test(Dx(e))}function Gx(e){return Ox(e).getComputedStyle(e)}function Kx(e){return jx(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function qx(e){if(Dx(e)===`html`)return e;let t=e.assignedSlot||e.parentNode||Nx(e)&&e.host||kx(e);return Nx(t)?t.host:t}function Jx(e){let t=qx(e);return Wx(t)?(e.ownerDocument||e).body:Mx(t)&&Px(t)?t:Jx(t)}function Yx(e,t,n){t===void 0&&(t=[]),n===void 0&&(n=!0);let r=Jx(e),i=r===e.ownerDocument?.body,a=Ox(r);if(i){let e=Xx(a);return t.concat(a,a.visualViewport||[],Px(r)?r:[],e&&n?Yx(e):[])}return t.concat(r,Yx(r,[],n))}function Xx(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function Zx(e){let t=Gx(e),n=parseFloat(t.width)||0,r=parseFloat(t.height)||0,i=Mx(e),a=i?e.offsetWidth:n,o=i?e.offsetHeight:r,s=Hb(n)!==a||Hb(r)!==o;return s&&(n=a,r=o),{width:n,height:r,$:s}}function Qx(e){return jx(e)?e:e.contextElement}function $x(e){let t=Qx(e);if(!Mx(t))return Wb(1);let n=t.getBoundingClientRect(),{width:r,height:i,$:a}=Zx(t),o=(a?Hb(n.width):n.width)/r,s=(a?Hb(n.height):n.height)/i;return(!o||!Number.isFinite(o))&&(o=1),(!s||!Number.isFinite(s))&&(s=1),{x:o,y:s}}var eS=Wb(0);function tS(e){let t=Ox(e);return!Ux()||!t.visualViewport?eS:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function nS(e,t,n){return t===void 0&&(t=!1),!!n&&t&&n===Ox(e)}function rS(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);let i=e.getBoundingClientRect(),a=Qx(e),o=Wb(1);t&&(r?jx(r)&&(o=$x(r)):o=$x(e));let s=nS(a,n,r)?tS(a):Wb(0),c=(i.left+s.x)/o.x,l=(i.top+s.y)/o.y,u=i.width/o.x,d=i.height/o.y;if(a&&r){let e=Ox(a),t=jx(r)?Ox(r):r,n=e,i=Xx(n);for(;i&&t!==n;){let e=$x(i),t=i.getBoundingClientRect(),r=Gx(i),a=t.left+(i.clientLeft+parseFloat(r.paddingLeft))*e.x,o=t.top+(i.clientTop+parseFloat(r.paddingTop))*e.y;c*=e.x,l*=e.y,u*=e.x,d*=e.y,c+=a,l+=o,n=Ox(i),i=Xx(n)}}return dx({width:u,height:d,x:c,y:l})}function iS(e,t){let n=Kx(e).scrollLeft;return t?t.left+n:rS(kx(e)).left+n}function aS(e,t){let n=e.getBoundingClientRect();return{x:n.left+t.scrollLeft-iS(e,n),y:n.top+t.scrollTop}}function oS(e){let{elements:t,rect:n,offsetParent:r,strategy:i}=e,a=i===`fixed`,o=kx(r),s=t?Ix(t.floating):!1;if(r===o||s&&a)return n;let c={scrollLeft:0,scrollTop:0},l=Wb(1),u=Wb(0),d=Mx(r);if((d||!a)&&((Dx(r)!==`body`||Px(o))&&(c=Kx(r)),d)){let e=rS(r);l=$x(r),u.x=e.x+r.clientLeft,u.y=e.y+r.clientTop}let f=o&&!d&&!a?aS(o,c):Wb(0);return{width:n.width*l.x,height:n.height*l.y,x:n.x*l.x-c.scrollLeft*l.x+u.x+f.x,y:n.y*l.y-c.scrollTop*l.y+u.y+f.y}}function sS(e){return e.getClientRects?Array.from(e.getClientRects()):[]}function cS(e){let t=Kx(e),n=e.ownerDocument.body,r=Vb(e.scrollWidth,e.clientWidth,n.scrollWidth,n.clientWidth),i=Vb(e.scrollHeight,e.clientHeight,n.scrollHeight,n.clientHeight),a=-t.scrollLeft+iS(e),o=-t.scrollTop;return Gx(n).direction===`rtl`&&(a+=Vb(e.clientWidth,n.clientWidth)-r),{width:r,height:i,x:a,y:o}}var lS=25;function uS(e,t,n){n===void 0&&(n=`viewport`);let r=n===`layoutViewport`,i=Ox(e),a=kx(e),o=i.visualViewport,s=a.clientWidth,c=a.clientHeight,l=0,u=0;if(o){let e=!Ux()||t===`fixed`;r?e||(l=-o.offsetLeft,u=-o.offsetTop):(s=o.width,c=o.height,e&&(l=o.offsetLeft,u=o.offsetTop))}if(iS(a)<=0){let e=a.ownerDocument,t=e.body,n=getComputedStyle(t),r=e.compatMode===`CSS1Compat`&&parseFloat(n.marginLeft)+parseFloat(n.marginRight)||0,i=Math.abs(a.clientWidth-t.clientWidth-r),o=getComputedStyle(a).scrollbarGutter===`stable both-edges`?i/2:i;o<=lS&&(s-=o)}return{width:s,height:c,x:l,y:u}}function dS(e,t){let n=rS(e,!0,t===`fixed`),r=n.top+e.clientTop,i=n.left+e.clientLeft,a=$x(e);return{width:e.clientWidth*a.x,height:e.clientHeight*a.y,x:i*a.x,y:r*a.y}}function fS(e,t,n){let r;if(t===`viewport`||t===`layoutViewport`)r=uS(e,n,t);else if(t===`document`)r=cS(kx(e));else if(jx(t))r=dS(t,n);else{let n=tS(e);r={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return dx(r)}function pS(e,t){let n=t.get(e);if(n)return n;let r=Yx(e,[],!1).filter(e=>jx(e)&&Dx(e)!==`body`),i=null,a=Gx(e).position===`fixed`,o=a?qx(e):e;for(;jx(o)&&!Wx(o);){let e=Gx(o),t=Vx(o),n=i?i.position:a?`fixed`:``;!t&&(n===`fixed`||n===`absolute`&&e.position===`static`)?r=r.filter(e=>e!==o):i=e,o=qx(o)}return t.set(e,r),r}function mS(e){let{element:t,boundary:n,rootBoundary:r,strategy:i}=e,a=[...n===`clippingAncestors`?Ix(t)?[]:pS(t,this._c):[].concat(n),r],o=fS(t,a[0],i),s=o.top,c=o.right,l=o.bottom,u=o.left;for(let e=1;e<a.length;e++){let n=fS(t,a[e],i);s=Vb(n.top,s),c=Bb(n.right,c),l=Bb(n.bottom,l),u=Vb(n.left,u)}return{width:c-u,height:l-s,x:u,y:s}}function hS(e){let{width:t,height:n}=Zx(e);return{width:t,height:n}}function gS(e,t,n){let r=Mx(t),i=kx(t),a=n===`fixed`,o=rS(e,!0,a,t),s={scrollLeft:0,scrollTop:0},c=Wb(0);if((r||!a)&&((Dx(t)!==`body`||Px(i))&&(s=Kx(t)),r)){let e=rS(t,!0,a,t);c.x=e.x+t.clientLeft,c.y=e.y+t.clientTop}!r&&i&&(c.x=iS(i));let l=i&&!r&&!a?aS(i,s):Wb(0);return{x:o.left+s.scrollLeft-c.x-l.x,y:o.top+s.scrollTop-c.y-l.y,width:o.width,height:o.height}}function _S(e){return Gx(e).position===`static`}function vS(e,t){if(!Mx(e)||Gx(e).position===`fixed`)return null;if(t)return t(e);let n=e.offsetParent;return kx(e)===n&&(n=n.ownerDocument.body),n}function yS(e,t){let n=Ox(e);if(Ix(e))return n;if(!Mx(e)){let t=qx(e);for(;t&&!Wx(t);){if(jx(t)&&!_S(t))return t;t=qx(t)}return n}let r=vS(e,t);for(;r&&Fx(r)&&_S(r);)r=vS(r,t);return r&&Wx(r)&&_S(r)&&!Vx(r)?n:r||Hx(e)||n}var bS=async function(e){let t=this.getOffsetParent||yS,n=this.getDimensions,r=await n(e.floating);return{reference:gS(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}};function xS(e){return Gx(e).direction===`rtl`}var SS={convertOffsetParentRelativeRectToViewportRelativeRect:oS,getDocumentElement:kx,getClippingRect:mS,getOffsetParent:yS,getElementRects:bS,getClientRects:sS,getDimensions:hS,getScale:$x,isElement:jx,isRTL:xS};function CS(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function wS(e,t,n){let r=null,i,a=kx(e);function o(){var e;clearTimeout(i),(e=r)==null||e.disconnect(),r=null}function s(n,c){n===void 0&&(n=!1),c===void 0&&(c=1),o();let l=e.getBoundingClientRect(),{left:u,top:d,width:f,height:p}=l;if(n||t(),!f||!p)return;let m=Ub(d),h=Ub(a.clientWidth-(u+f)),g=Ub(a.clientHeight-(d+p)),_=Ub(u),v={rootMargin:-m+`px `+-h+`px `+-g+`px `+-_+`px`,threshold:Vb(0,Bb(1,c))||1},y=!0;function b(t){let n=t[0].intersectionRatio;if(!CS(l,e.getBoundingClientRect()))return s();if(n!==c){if(!y)return s();n?s(!1,n):i=setTimeout(()=>{s(!1,1e-7)},1e3)}y=!1}try{r=new IntersectionObserver(b,{...v,root:a.ownerDocument})}catch{r=new IntersectionObserver(b,v)}r.observe(e)}let c=Ox(e),l=()=>s(n);return c.addEventListener(`resize`,l),s(!0),()=>{c.removeEventListener(`resize`,l),o()}}function TS(e,t,n,r){r===void 0&&(r={});let{ancestorScroll:i=!0,ancestorResize:a=!0,elementResize:o=typeof ResizeObserver==`function`,layoutShift:s=typeof IntersectionObserver==`function`,animationFrame:c=!1}=r,l=Qx(e),u=i||a?[...l?Yx(l):[],...t?Yx(t):[]]:[];u.forEach(e=>{i&&e.addEventListener(`scroll`,n),a&&e.addEventListener(`resize`,n)});let d=l&&s?wS(l,n,a):null,f=-1,p=null;o&&(p=new ResizeObserver(e=>{let[r]=e;r&&r.target===l&&p&&t&&(p.unobserve(t),cancelAnimationFrame(f),f=requestAnimationFrame(()=>{var e;(e=p)==null||e.observe(t)})),n()}),l&&!c&&p.observe(l),t&&p.observe(t));let m,h=c?rS(e):null;c&&g();function g(){let t=rS(e);h&&!CS(h,t)&&n(),h=t,m=requestAnimationFrame(g)}return n(),()=>{var e;u.forEach(e=>{i&&e.removeEventListener(`scroll`,n),a&&e.removeEventListener(`resize`,n)}),d?.(),(e=p)==null||e.disconnect(),p=null,c&&cancelAnimationFrame(m)}}var ES=Sx,DS=Cx,OS=gx,kS=Tx,AS=yx,jS=hx,MS=wx,NS=(e,t,n)=>{let r=new Map,i=n??{},a={...SS,...i.platform,_c:r};return mx(e,t,{...i,platform:a})},PS=typeof document<`u`?g.useLayoutEffect:function(){};function FS(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(typeof e==`function`&&e.toString()===t.toString())return!0;let n,r,i;if(e&&t&&typeof e==`object`){if(Array.isArray(e)){if(n=e.length,n!==t.length)return!1;for(r=n;r--!==0;)if(!FS(e[r],t[r]))return!1;return!0}if(i=Object.keys(e),n=i.length,n!==Object.keys(t).length)return!1;for(r=n;r--!==0;)if(!{}.hasOwnProperty.call(t,i[r]))return!1;for(r=n;r--!==0;){let n=i[r];if(!(n===`_owner`&&e.$$typeof)&&!FS(e[n],t[n]))return!1}return!0}return e!==e&&t!==t}function IS(e){return typeof window>`u`?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function LS(e,t){let n=IS(e);return Math.round(t*n)/n}function RS(e){let t=g.useRef(e);return PS(()=>{t.current=e}),t}function zS(e){e===void 0&&(e={});let{placement:t=`bottom`,strategy:n=`absolute`,middleware:r=[],platform:i,elements:{reference:a,floating:o}={},transform:s=!0,whileElementsMounted:c,open:l}=e,[u,d]=g.useState({x:0,y:0,strategy:n,placement:t,middlewareData:{},isPositioned:!1}),[f,p]=g.useState(r);FS(f,r)||p(r);let[m,h]=g.useState(null),[_,v]=g.useState(null),y=g.useCallback(e=>{e!==w.current&&(w.current=e,h(e))},[]),b=g.useCallback(e=>{e!==T.current&&(T.current=e,v(e))},[]),S=a||m,C=o||_,w=g.useRef(null),T=g.useRef(null),E=g.useRef(u),D=c!=null,O=RS(c),k=RS(i),A=RS(l),j=g.useCallback(()=>{if(!w.current||!T.current)return;let e={placement:t,strategy:n,middleware:f};k.current&&(e.platform=k.current),NS(w.current,T.current,e).then(e=>{let t={...e,isPositioned:A.current!==!1};M.current&&!FS(E.current,t)&&(E.current=t,x.flushSync(()=>{d(t)}))})},[f,t,n,k,A]);PS(()=>{l===!1&&E.current.isPositioned&&(E.current.isPositioned=!1,d(e=>({...e,isPositioned:!1})))},[l]);let M=g.useRef(!1);PS(()=>(M.current=!0,()=>{M.current=!1}),[]),PS(()=>{if(S&&(w.current=S),C&&(T.current=C),S&&C){if(O.current)return O.current(S,C,j);j()}},[S,C,j,O,D]);let N=g.useMemo(()=>({reference:w,floating:T,setReference:y,setFloating:b}),[y,b]),P=g.useMemo(()=>({reference:S,floating:C}),[S,C]),F=g.useMemo(()=>{let e={position:n,left:0,top:0};if(!P.floating)return e;let t=LS(P.floating,u.x),r=LS(P.floating,u.y);return s?{...e,transform:`translate(`+t+`px, `+r+`px)`,...IS(P.floating)>=1.5&&{willChange:`transform`}}:{position:n,left:t,top:r}},[n,s,P.floating,u.x,u.y]);return g.useMemo(()=>({...u,update:j,refs:N,elements:P,floatingStyles:F}),[u,j,N,P,F])}var BS=e=>{function t(e){return{}.hasOwnProperty.call(e,`current`)}return{name:`arrow`,options:e,fn(n){let{element:r,padding:i}=typeof e==`function`?e(n):e;return r&&t(r)?r.current==null?{}:jS({element:r.current,padding:i}).fn(n):r?jS({element:r,padding:i}).fn(n):{}}}},VS=(e,t)=>{let n=ES(e);return{name:n.name,fn:n.fn,options:[e,t]}},HS=(e,t)=>{let n=DS(e);return{name:n.name,fn:n.fn,options:[e,t]}},US=(e,t)=>({fn:MS(e).fn,options:[e,t]}),WS=(e,t)=>{let n=OS(e);return{name:n.name,fn:n.fn,options:[e,t]}},GS=(e,t)=>{let n=kS(e);return{name:n.name,fn:n.fn,options:[e,t]}},KS=(e,t)=>{let n=AS(e);return{name:n.name,fn:n.fn,options:[e,t]}},qS=(e,t)=>{let n=BS(e);return{name:n.name,fn:n.fn,options:[e,t]}},JS=Object.defineProperty,YS=g.forwardRef(((e,t)=>JS(e,`name`,{value:t,configurable:!0}))(function(e,t){let{children:n,width:r=10,height:i=5,...a}=e;return(0,v.jsx)(Th.svg,{...a,ref:t,width:r,height:i,viewBox:`0 0 30 10`,preserveAspectRatio:`none`,children:e.asChild?n:(0,v.jsx)(`polygon`,{points:`0,0 30,0 15,10`})})},`Arrow`)),XS=Object.defineProperty,ZS=(e,t)=>XS(e,`name`,{value:t,configurable:!0});function QS(e){let[t,n]=g.useState(void 0);return Um(()=>{if(e){n({width:e.offsetWidth,height:e.offsetHeight});let t=new ResizeObserver(t=>{if(!Array.isArray(t)||!t.length)return;let r=t[0],i,a;if(`borderBoxSize`in r){let e=r.borderBoxSize,t=Array.isArray(e)?e[0]:e;i=t.inlineSize,a=t.blockSize}else i=e.offsetWidth,a=e.offsetHeight;n({width:i,height:a})});return t.observe(e,{box:`border-box`}),()=>t.unobserve(e)}n(void 0)},[e]),t}ZS(QS,`useSize`);var $S=Object.defineProperty,eC=(e,t)=>$S(e,`name`,{value:t,configurable:!0}),tC=`Popper`,[nC,rC]=Vm(tC),[iC,aC]=nC(tC),oC=eC(e=>{let{__scopePopper:t,children:n}=e,[r,i]=g.useState(null),[a,o]=g.useState(void 0);return(0,v.jsx)(iC,{scope:t,anchor:r,onAnchorChange:i,placementState:a,setPlacementState:o,children:n})},`Popper`),sC=`PopperAnchor`,cC=g.forwardRef(eC(function(e,t){let{__scopePopper:n,virtualRef:r,...i}=e,a=aC(sC,n),o=g.useRef(null),s=a.onAnchorChange,c=Lm(t,g.useCallback(e=>{o.current=e,e&&s(e)},[s])),l=g.useRef(null);g.useEffect(()=>{if(!r)return;let e=l.current;l.current=r.current,e!==l.current&&s(l.current)});let u=a.placementState&&vC(a.placementState),d=u?.[0],f=u?.[1];return r?null:(0,v.jsx)(Th.div,{"data-radix-popper-side":d,"data-radix-popper-align":f,...i,ref:c})},`PopperAnchor`)),lC=`PopperContent`,[uC,dC]=nC(lC),fC=g.forwardRef(eC(function(e,t){let{__scopePopper:n,side:r=`bottom`,sideOffset:i=0,align:a=`center`,alignOffset:o=0,arrowPadding:s=0,avoidCollisions:c=!0,collisionBoundary:l=[],collisionPadding:u=0,sticky:d=`partial`,hideWhenDetached:f=!1,updatePositionStrategy:p=`optimized`,onPlaced:m,...h}=e,_=aC(lC,n),[y,b]=g.useState(null),x=Lm(t,b),[S,C]=g.useState(null),w=QS(S),T=w?.width??0,E=w?.height??0,D=r+(a===`center`?``:`-`+a),O=typeof u==`number`?u:{top:0,right:0,bottom:0,left:0,...u},k=Array.isArray(l)?l:[l],A=k.length>0,j={padding:O,boundary:k.filter(gC),altBoundary:A},{refs:M,floatingStyles:N,placement:P,isPositioned:F,middlewareData:I}=zS({strategy:`fixed`,placement:D,whileElementsMounted:eC((...e)=>TS(...e,{animationFrame:p===`always`}),`whileElementsMounted`),elements:{reference:_.anchor},middleware:[VS({mainAxis:i+E,alignmentAxis:o}),c&&HS({mainAxis:!0,crossAxis:!1,limiter:d===`partial`?US():void 0,...j}),c&&WS({...j}),GS({...j,apply:eC(({elements:e,rects:t,availableWidth:n,availableHeight:r})=>{let{width:i,height:a}=t.reference,o=e.floating.style;o.setProperty(`--radix-popper-available-width`,`${n}px`),o.setProperty(`--radix-popper-available-height`,`${r}px`),o.setProperty(`--radix-popper-anchor-width`,`${i}px`),o.setProperty(`--radix-popper-anchor-height`,`${a}px`)},`apply`)}),S&&qS({element:S,padding:s}),_C({arrowWidth:T,arrowHeight:E}),f&&KS({strategy:`referenceHidden`,...j,boundary:A?j.boundary:void 0})]}),ee=_.setPlacementState;Um(()=>(ee(P),()=>{ee(void 0)}),[P,ee]);let[L,te]=vC(P),R=kh(m);Um(()=>{F&&R?.()},[F,R]);let z=I.arrow?.x,ne=I.arrow?.y,re=I.arrow?.centerOffset!==0,[ie,ae]=g.useState();return Um(()=>{y&&ae(window.getComputedStyle(y).zIndex)},[y]),(0,v.jsx)(`div`,{ref:M.setFloating,"data-radix-popper-content-wrapper":``,style:{...N,transform:F?N.transform:`translate(0, -200%)`,minWidth:`max-content`,zIndex:ie,"--radix-popper-transform-origin":[I.transformOrigin?.x,I.transformOrigin?.y].join(` `),...I.hide?.referenceHidden&&{visibility:`hidden`,pointerEvents:`none`}},dir:e.dir,children:(0,v.jsx)(uC,{scope:n,placedSide:L,placedAlign:te,onArrowChange:C,arrowX:z,arrowY:ne,shouldHideArrow:re,children:(0,v.jsx)(Th.div,{"data-side":L,"data-align":te,...h,ref:x,style:{...h.style,animation:F?h.style?.animation:`none`}})})})},`PopperContent`)),pC=`PopperArrow`,mC={top:`bottom`,right:`left`,bottom:`top`,left:`right`},hC=g.forwardRef(eC(function(e,t){let{__scopePopper:n,...r}=e,i=dC(pC,n),a=mC[i.placedSide];return(0,v.jsx)(`span`,{ref:i.onArrowChange,style:{position:`absolute`,left:i.arrowX,top:i.arrowY,[a]:0,transformOrigin:{top:``,right:`0 0`,bottom:`center 0`,left:`100% 0`}[i.placedSide],transform:{top:`translateY(100%)`,right:`translateY(50%) rotate(90deg) translateX(-50%)`,bottom:`rotate(180deg)`,left:`translateY(50%) rotate(-90deg) translateX(50%)`}[i.placedSide],visibility:i.shouldHideArrow?`hidden`:void 0},children:(0,v.jsx)(YS,{...r,ref:t,style:{...r.style,display:`block`}})})},`PopperArrow`));function gC(e){return e!==null}eC(gC,`isNotNull`);var _C=eC(e=>({name:`transformOrigin`,options:e,fn(t){let{placement:n,rects:r,middlewareData:i}=t,a=i.arrow?.centerOffset!==0,o=a?0:e.arrowWidth,s=a?0:e.arrowHeight,[c,l]=vC(n),u={start:`0%`,center:`50%`,end:`100%`}[l],d=(i.arrow?.x??0)+o/2,f=(i.arrow?.y??0)+s/2,p=``,m=``;return c===`bottom`?(p=a?u:`${d}px`,m=`${-s}px`):c===`top`?(p=a?u:`${d}px`,m=`${r.floating.height+s}px`):c===`right`?(p=`${-s}px`,m=a?u:`${f}px`):c===`left`&&(p=`${r.floating.width+s}px`,m=a?u:`${f}px`),{data:{x:p,y:m}}}}),`transformOrigin`);function vC(e){let[t,n=`center`]=e.split(`-`);return[t,n]}eC(vC,`getSideAndAlignFromPlacement`);var yC=oC,bC=cC,xC=fC,SC=hC,CC=Object.defineProperty,wC=(e,t)=>CC(e,`name`,{value:t,configurable:!0}),TC=!1;function EC(){let[e,t]=g.useState(TC);return g.useEffect(()=>{TC||(TC=!0,t(!0))},[]),e}wC(EC,`useIsHydrated`);var DC=g.useSyncExternalStore;function OC(){return()=>{}}wC(OC,`subscribe`);function kC(){return DC(OC,()=>!0,()=>!1)}wC(kC,`useIsHydratedModern`);var AC=typeof DC==`function`?kC:EC,jC=Object.defineProperty,MC=(e,t)=>jC(e,`name`,{value:t,configurable:!0}),NC=`rovingFocusGroup.onEntryFocus`,PC={bubbles:!1,cancelable:!0},FC=`RovingFocusGroup`,[IC,LC,RC]=kb(FC),[zC,BC]=Vm(FC,[RC]),[VC,HC]=zC(FC),UC=g.forwardRef(MC(function(e,t){return(0,v.jsx)(IC.Provider,{scope:e.__scopeRovingFocusGroup,children:(0,v.jsx)(IC.Slot,{scope:e.__scopeRovingFocusGroup,children:(0,v.jsx)(WC,{...e,ref:t})})})},`RovingFocusGroup`)),WC=g.forwardRef(MC(function(e,t){let{__scopeRovingFocusGroup:n,orientation:r,loop:i=!1,dir:a,currentTabStopId:o,defaultCurrentTabStopId:s,onCurrentTabStopIdChange:c,onEntryFocus:l,preventScrollOnEntryFocus:u=!1,...d}=e,f=g.useRef(null),p=Lm(t,f),m=zb(a),[h,_]=rh({prop:o,defaultProp:s??null,onChange:c,caller:FC}),[y,b]=g.useState(!1),x=kh(l),S=LC(n),C=g.useRef(!1),[w,T]=g.useState(0);return g.useEffect(()=>{let e=f.current;if(e)return e.addEventListener(NC,x),()=>e.removeEventListener(NC,x)},[x]),(0,v.jsx)(VC,{scope:n,orientation:r,dir:m,loop:i,currentTabStopId:h,onItemFocus:g.useCallback(e=>_(e),[_]),onItemShiftTab:g.useCallback(()=>b(!0),[]),onFocusableItemAdd:g.useCallback(()=>T(e=>e+1),[]),onFocusableItemRemove:g.useCallback(()=>T(e=>e-1),[]),children:(0,v.jsx)(Th.div,{tabIndex:y||w===0?-1:0,"data-orientation":r,...d,ref:p,style:{outline:`none`,...e.style},onMouseDown:Om(e.onMouseDown,()=>{C.current=!0}),onFocus:Om(e.onFocus,e=>{let t=!C.current;if(e.target===e.currentTarget&&t&&!y){let t=new CustomEvent(NC,PC);if(e.currentTarget.dispatchEvent(t),!t.defaultPrevented){let e=S().filter(e=>e.focusable);XC([e.find(e=>e.active),e.find(e=>e.id===h),...e].filter(Boolean).map(e=>e.ref.current),u)}}C.current=!1}),onBlur:Om(e.onBlur,()=>b(!1))})})},`RovingFocusGroupImpl`)),GC=`RovingFocusGroupItem`,KC=g.forwardRef(MC(function(e,t){let{__scopeRovingFocusGroup:n,focusable:r=!0,active:i=!1,tabStopId:a,children:o,...s}=e,c=Jm(),l=a||c,u=HC(GC,n),d=u.currentTabStopId===l,f=LC(n),{onFocusableItemAdd:p,onFocusableItemRemove:m,currentTabStopId:h}=u,_=AC();return Um(()=>{if(!(!_||!r))return p(),()=>m()},[_,r,p,m]),g.useEffect(()=>{if(!(_||!r))return p(),()=>m()},[_,r,p,m]),(0,v.jsx)(IC.ItemSlot,{scope:n,id:l,focusable:r,active:i,children:(0,v.jsx)(Th.span,{tabIndex:d?0:-1,"data-orientation":u.orientation,...s,ref:t,onMouseDown:Om(e.onMouseDown,e=>{r?u.onItemFocus(l):e.preventDefault()}),onFocus:Om(e.onFocus,()=>u.onItemFocus(l)),onKeyDown:Om(e.onKeyDown,e=>{if(e.key===`Tab`&&e.shiftKey){u.onItemShiftTab();return}if(e.target!==e.currentTarget)return;let t=YC(e,u.orientation,u.dir);if(t!==void 0){if(e.metaKey||e.ctrlKey||e.altKey||e.shiftKey)return;e.preventDefault();let n=f().filter(e=>e.focusable).map(e=>e.ref.current);if(t===`last`)n.reverse();else if(t===`prev`||t===`next`){t===`prev`&&n.reverse();let r=n.indexOf(e.currentTarget);n=u.loop?ZC(n,r+1):n.slice(r+1)}setTimeout(()=>XC(n))}}),children:typeof o==`function`?o({isCurrentTabStop:d,hasTabStop:h!=null}):o})})},`RovingFocusGroupItem`)),qC={ArrowLeft:`prev`,ArrowUp:`prev`,ArrowRight:`next`,ArrowDown:`next`,PageUp:`first`,Home:`first`,PageDown:`last`,End:`last`};function JC(e,t){return t===`rtl`?e===`ArrowLeft`?`ArrowRight`:e===`ArrowRight`?`ArrowLeft`:e:e}MC(JC,`getDirectionAwareKey`);function YC(e,t,n){let r=JC(e.key,n);if(!(t===`vertical`&&[`ArrowLeft`,`ArrowRight`].includes(r))&&!(t===`horizontal`&&[`ArrowUp`,`ArrowDown`].includes(r)))return qC[r]}MC(YC,`getFocusIntent`);function XC(e,t=!1){let n=document.activeElement;for(let r of e)if(r===n||(r.focus({preventScroll:t}),document.activeElement!==n))return}MC(XC,`focusFirst`);function ZC(e,t){return e.map((n,r)=>e[(t+r)%e.length])}MC(ZC,`wrapArray`);var QC=UC,$C=KC,ew=Object.defineProperty,tw=(e,t)=>ew(e,`name`,{value:t,configurable:!0}),nw=[`Enter`,` `],rw=[`ArrowDown`,`PageUp`,`Home`],iw=[`ArrowUp`,`PageDown`,`End`],aw=[...rw,...iw],ow={ltr:[...nw,`ArrowRight`],rtl:[...nw,`ArrowLeft`]},sw={ltr:[`ArrowLeft`],rtl:[`ArrowRight`]},cw=`Menu`,[lw,uw,dw]=kb(cw),[fw,pw]=Vm(cw,[dw,rC,BC]),mw=rC(),hw=BC(),[gw,_w]=fw(cw),[Jte,vw]=fw(cw),Yte=tw(e=>{let{__scopeMenu:t,open:n=!1,children:r,dir:i,onOpenChange:a,modal:o=!0}=e,s=mw(t),[c,l]=g.useState(null),u=g.useRef(!1),d=kh(a),f=zb(i);return g.useEffect(()=>{let e=tw(()=>{u.current=!0,document.addEventListener(`pointerdown`,t,{capture:!0,once:!0}),document.addEventListener(`pointermove`,t,{capture:!0,once:!0})},`handleKeyDown`),t=tw(()=>u.current=!1,`handlePointer`);return document.addEventListener(`keydown`,e,{capture:!0}),()=>{document.removeEventListener(`keydown`,e,{capture:!0}),document.removeEventListener(`pointerdown`,t,{capture:!0}),document.removeEventListener(`pointermove`,t,{capture:!0})}},[]),g.useEffect(()=>{if(!n)return;let e=tw(()=>d(!1),`handleBlur`);return window.addEventListener(`blur`,e),()=>window.removeEventListener(`blur`,e)},[n,d]),(0,v.jsx)(yC,{...s,children:(0,v.jsx)(gw,{scope:t,open:n,onOpenChange:d,content:c,onContentChange:l,children:(0,v.jsx)(Jte,{scope:t,onClose:g.useCallback(()=>d(!1),[d]),isUsingKeyboardRef:u,dir:f,modal:o,children:r})})})},`Menu`),yw=g.forwardRef(tw(function(e,t){let{__scopeMenu:n,...r}=e,i=mw(n);return(0,v.jsx)(bC,{...i,...r,ref:t})},`MenuAnchor`)),bw=`MenuPortal`,[Xte,xw]=fw(bw,{forceMount:void 0}),Zte=tw(e=>{let{__scopeMenu:t,forceMount:n,children:r,container:i}=e,a=_w(bw,t);return(0,v.jsx)(Xte,{scope:t,forceMount:n,children:(0,v.jsx)(fg,{present:n||a.open,children:(0,v.jsx)(cg,{asChild:!0,container:i,children:r})})})},`MenuPortal`),Sw=`MenuContent`,[Qte,Cw]=fw(Sw),$te=g.forwardRef(tw(function(e,t){let n=xw(Sw,e.__scopeMenu),{forceMount:r=n.forceMount,...i}=e,a=_w(Sw,e.__scopeMenu),o=vw(Sw,e.__scopeMenu);return(0,v.jsx)(lw.Provider,{scope:e.__scopeMenu,children:(0,v.jsx)(fg,{present:r||a.open,children:(0,v.jsx)(lw.Slot,{scope:e.__scopeMenu,children:o.modal?(0,v.jsx)(ene,{...i,ref:t}):(0,v.jsx)(tne,{...i,ref:t})})})})},`MenuContent`)),ene=g.forwardRef(tw(function(e,t){let n=_w(Sw,e.__scopeMenu),r=g.useRef(null),i=Lm(t,r);return g.useEffect(()=>{let e=r.current;if(e)return Z_(e)},[]),(0,v.jsx)(ww,{...e,ref:i,trapFocus:n.open,disableOutsidePointerEvents:n.open,disableOutsideScroll:!0,onFocusOutside:Om(e.onFocusOutside,e=>e.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>n.onOpenChange(!1)})},`MenuRootContentModal`)),tne=g.forwardRef(tw(function(e,t){let n=_w(Sw,e.__scopeMenu);return(0,v.jsx)(ww,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>n.onOpenChange(!1)})},`MenuRootContentNonModal`)),nne=uh(`MenuContent.ScrollLock`),ww=g.forwardRef(tw(function(e,t){let{__scopeMenu:n,loop:r=!1,trapFocus:i,onOpenAutoFocus:a,onCloseAutoFocus:o,disableOutsidePointerEvents:s,onEntryFocus:c,onEscapeKeyDown:l,onPointerDownOutside:u,onFocusOutside:d,onInteractOutside:f,onDismiss:p,disableOutsideScroll:m,...h}=e,_=_w(Sw,n),y=vw(Sw,n),b=mw(n),x=hw(n),S=uw(n),[C,w]=g.useState(null),T=g.useRef(null),E=Lm(t,T,_.onContentChange),D=g.useRef(0),O=g.useRef(``),k=g.useRef(0),A=g.useRef(null),j=g.useRef(`right`),M=g.useRef(0),N=m?H_:g.Fragment,P=m?{as:nne,allowPinchZoom:!0}:void 0,F=tw(e=>{let t=O.current+e,n=S().filter(e=>!e.disabled),r=document.activeElement,i=n.find(e=>e.ref.current===r)?.textValue,a=Uw(n.map(e=>e.textValue),t,i),o=n.find(e=>e.textValue===a)?.ref.current;tw((function e(t){O.current=t,window.clearTimeout(D.current),t!==``&&(D.current=window.setTimeout(()=>e(``),1e3))}),`updateSearch`)(t),o&&setTimeout(()=>o.focus())},`handleTypeaheadSearch`);g.useEffect(()=>()=>window.clearTimeout(D.current),[]),Cg();let I=g.useCallback(e=>j.current===A.current?.side&&Gw(e,A.current?.area),[]);return(0,v.jsx)(Qte,{scope:n,searchRef:O,onItemEnter:g.useCallback(e=>{I(e)&&e.preventDefault()},[I]),onItemLeave:g.useCallback(e=>{I(e)||(T.current?.focus(),w(null))},[I]),onTriggerLeave:g.useCallback(e=>{I(e)&&e.preventDefault()},[I]),pointerGraceTimerRef:k,onPointerGraceIntentChange:g.useCallback(e=>{A.current=e},[]),children:(0,v.jsx)(N,{...P,children:(0,v.jsx)(Yh,{asChild:!0,trapped:i,onMountAutoFocus:Om(a,e=>{e.preventDefault(),T.current?.focus({preventScroll:!0})}),onUnmountAutoFocus:o,children:(0,v.jsx)(Lh,{asChild:!0,disableOutsidePointerEvents:s,onEscapeKeyDown:l,onPointerDownOutside:u,onFocusOutside:d,onInteractOutside:f,onDismiss:p,children:(0,v.jsx)(QC,{asChild:!0,...x,dir:y.dir,orientation:`vertical`,loop:r,currentTabStopId:C,onCurrentTabStopIdChange:w,onEntryFocus:Om(c,e=>{y.isUsingKeyboardRef.current||e.preventDefault()}),preventScrollOnEntryFocus:!0,children:(0,v.jsx)(xC,{role:`menu`,"aria-orientation":`vertical`,"data-state":Rw(_.open),"data-radix-menu-content":``,dir:y.dir,...b,...h,ref:E,style:{outline:`none`,...h.style},onKeyDown:Om(h.onKeyDown,e=>{let t=e.target.closest(`[data-radix-menu-content]`)===e.currentTarget,n=e.ctrlKey||e.altKey||e.metaKey,r=e.key.length===1;t&&(e.key===`Tab`&&e.preventDefault(),!n&&r&&F(e.key));let i=T.current;if(e.target!==i||!aw.includes(e.key))return;e.preventDefault();let a=S().filter(e=>!e.disabled).map(e=>e.ref.current);iw.includes(e.key)&&a.reverse(),Vw(a)}),onBlur:Om(e.onBlur,e=>{e.currentTarget.contains(e.target)||(window.clearTimeout(D.current),O.current=``)}),onPointerMove:Om(e.onPointerMove,Kw(e=>{let t=e.target,n=M.current!==e.clientX;if(e.currentTarget.contains(t)&&n){let t=e.clientX>M.current?`right`:`left`;j.current=t,M.current=e.clientX}}))})})})})})})},`MenuContentImpl`)),rne=g.forwardRef(tw(function(e,t){let{__scopeMenu:n,...r}=e;return(0,v.jsx)(Th.div,{...r,ref:t})},`MenuLabel`)),Tw=`MenuItem`,Ew=`menu.itemSelect`,Dw=g.forwardRef(tw(function(e,t){let{disabled:n=!1,onSelect:r,...i}=e,a=g.useRef(null),o=vw(Tw,e.__scopeMenu),s=Cw(Tw,e.__scopeMenu),c=Lm(t,a),l=g.useRef(!1),u=tw(()=>{let e=a.current;if(!n&&e){let t=new CustomEvent(Ew,{bubbles:!0,cancelable:!0});e.addEventListener(Ew,e=>r?.(e),{once:!0}),Eh(e,t),t.defaultPrevented?l.current=!1:o.onClose()}},`handleSelect`);return(0,v.jsx)(Ow,{...i,ref:c,disabled:n,onClick:Om(e.onClick,u),onPointerDown:t=>{e.onPointerDown?.(t),l.current=!0},onPointerUp:Om(e.onPointerUp,e=>{l.current||e.currentTarget?.click()}),onKeyDown:Om(e.onKeyDown,e=>{n||e.target!==e.currentTarget||(s.searchRef.current===``||e.key!==` `)&&nw.includes(e.key)&&(e.currentTarget.click(),e.preventDefault())})})},`MenuItem`)),Ow=g.forwardRef(tw(function(e,t){let{__scopeMenu:n,disabled:r=!1,textValue:i,...a}=e,o=Cw(Tw,n),s=hw(n),c=g.useRef(null),l=Lm(t,c),[u,d]=g.useState(!1),[f,p]=g.useState(``);return g.useEffect(()=>{let e=c.current;e&&p((e.textContent??``).trim())},[a.children]),(0,v.jsx)(lw.ItemSlot,{scope:n,disabled:r,textValue:i??f,children:(0,v.jsx)($C,{asChild:!0,...s,focusable:!r,children:(0,v.jsx)(Th.div,{role:`menuitem`,"data-highlighted":u?``:void 0,"aria-disabled":r||void 0,"data-disabled":r?``:void 0,...a,ref:l,onPointerMove:Om(e.onPointerMove,Kw(e=>{r?o.onItemLeave(e):(o.onItemEnter(e),e.defaultPrevented||e.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:Om(e.onPointerLeave,Kw(e=>o.onItemLeave(e))),onFocus:Om(e.onFocus,()=>d(!0)),onBlur:Om(e.onBlur,()=>d(!1))})})})},`MenuItemImpl`)),[ine,ane]=fw(`MenuRadioGroup`,{value:void 0,onValueChange:tw(()=>{},`onValueChange`)}),[one,sne]=fw(`MenuItemIndicator`,{checked:!1}),kw=g.forwardRef(tw(function(e,t){let{__scopeMenu:n,...r}=e;return(0,v.jsx)(Th.div,{role:`separator`,"aria-orientation":`horizontal`,...r,ref:t})},`MenuSeparator`)),Aw=`MenuSub`,[jw,Mw]=fw(Aw),Nw=tw(e=>{let{__scopeMenu:t,children:n,open:r=!1,onOpenChange:i}=e,a=_w(Aw,t),o=mw(t),[s,c]=g.useState(null),[l,u]=g.useState(null),d=kh(i);return g.useEffect(()=>(a.open===!1&&d(!1),()=>d(!1)),[a.open,d]),(0,v.jsx)(yC,{...o,children:(0,v.jsx)(gw,{scope:t,open:r,onOpenChange:d,content:l,onContentChange:u,children:(0,v.jsx)(jw,{scope:t,contentId:Jm(),triggerId:Jm(),trigger:s,onTriggerChange:c,children:n})})})},`MenuSub`),Pw=`MenuSubTrigger`,Fw=g.forwardRef(tw(function(e,t){let n=_w(Pw,e.__scopeMenu),r=vw(Pw,e.__scopeMenu),i=Mw(Pw,e.__scopeMenu),a=Cw(Pw,e.__scopeMenu),o=g.useRef(null),{pointerGraceTimerRef:s,onPointerGraceIntentChange:c}=a,l={__scopeMenu:e.__scopeMenu},u=g.useCallback(()=>{o.current&&window.clearTimeout(o.current),o.current=null},[]);g.useEffect(()=>u,[u]),g.useEffect(()=>{let e=s.current;return()=>{window.clearTimeout(e),c(null)}},[s,c]);let d=Lm(t,i.onTriggerChange);return(0,v.jsx)(yw,{asChild:!0,...l,children:(0,v.jsx)(Ow,{id:i.triggerId,"aria-haspopup":`menu`,"aria-expanded":n.open,"aria-controls":n.open?i.contentId:void 0,"data-state":Rw(n.open),...e,ref:d,onClick:t=>{e.onClick?.(t),!(e.disabled||t.defaultPrevented)&&(t.currentTarget.focus(),n.open||n.onOpenChange(!0))},onPointerMove:Om(e.onPointerMove,Kw(t=>{a.onItemEnter(t),!t.defaultPrevented&&!e.disabled&&!n.open&&!o.current&&(a.onPointerGraceIntentChange(null),o.current=window.setTimeout(()=>{n.onOpenChange(!0),u()},100))})),onPointerLeave:Om(e.onPointerLeave,Kw(e=>{u();let t=n.content?.getBoundingClientRect();if(t){let r=n.content?.dataset.side,i=r===`right`,o=i?-5:5,c=t[i?`left`:`right`],l=t[i?`right`:`left`];a.onPointerGraceIntentChange({area:[{x:e.clientX+o,y:e.clientY},{x:c,y:t.top},{x:l,y:t.top},{x:l,y:t.bottom},{x:c,y:t.bottom}],side:r}),window.clearTimeout(s.current),s.current=window.setTimeout(()=>a.onPointerGraceIntentChange(null),300)}else{if(a.onTriggerLeave(e),e.defaultPrevented)return;a.onPointerGraceIntentChange(null)}})),onKeyDown:Om(e.onKeyDown,t=>{e.disabled||t.target!==t.currentTarget||(a.searchRef.current===``||t.key!==` `)&&ow[r.dir].includes(t.key)&&(n.onOpenChange(!0),n.content?.focus(),t.preventDefault())})})})},`MenuSubTrigger`)),Iw=`MenuSubContent`,Lw=g.forwardRef(tw(function(e,t){let n=xw(Sw,e.__scopeMenu),{forceMount:r=n.forceMount,align:i=`start`,...a}=e,o=_w(Sw,e.__scopeMenu),s=vw(Sw,e.__scopeMenu),c=Mw(Iw,e.__scopeMenu),l=g.useRef(null),u=Lm(t,l);return(0,v.jsx)(lw.Provider,{scope:e.__scopeMenu,children:(0,v.jsx)(fg,{present:r||o.open,children:(0,v.jsx)(lw.Slot,{scope:e.__scopeMenu,children:(0,v.jsx)(ww,{id:c.contentId,"aria-labelledby":c.triggerId,...a,ref:u,align:i,side:s.dir===`rtl`?`left`:`right`,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,trapFocus:!1,onOpenAutoFocus:e=>{s.isUsingKeyboardRef.current&&l.current?.focus(),e.preventDefault()},onCloseAutoFocus:e=>e.preventDefault(),onFocusOutside:Om(e.onFocusOutside,e=>{e.target!==c.trigger&&o.onOpenChange(!1)}),onEscapeKeyDown:Om(e.onEscapeKeyDown,e=>{s.onClose(),e.preventDefault()}),onKeyDown:Om(e.onKeyDown,e=>{let t=e.currentTarget.contains(e.target),n=sw[s.dir].includes(e.key);t&&n&&(o.onOpenChange(!1),c.trigger?.focus(),e.preventDefault())})})})})})},`MenuSubContent`));function Rw(e){return e?`open`:`closed`}tw(Rw,`getOpenState`);function zw(e){return e===`indeterminate`}tw(zw,`isIndeterminate`);function Bw(e){return zw(e)?`indeterminate`:e?`checked`:`unchecked`}tw(Bw,`getCheckedState`);function Vw(e){let t=document.activeElement;for(let n of e)if(n===t||(n.focus(),document.activeElement!==t))return}tw(Vw,`focusFirst`);function Hw(e,t){return e.map((n,r)=>e[(t+r)%e.length])}tw(Hw,`wrapArray`);function Uw(e,t,n){let r=t.length>1&&Array.from(t).every(e=>e===t[0])?t[0]:t,i=n?e.indexOf(n):-1,a=Hw(e,Math.max(i,0));r.length===1&&(a=a.filter(e=>e!==n));let o=a.find(e=>e.toLowerCase().startsWith(r.toLowerCase()));return o===n?void 0:o}tw(Uw,`getNextMatch`);function Ww(e,t){let{x:n,y:r}=e,i=!1;for(let e=0,a=t.length-1;e<t.length;a=e++){let o=t[e],s=t[a],c=o.x,l=o.y,u=s.x,d=s.y;l>r!=d>r&&n<(u-c)*(r-l)/(d-l)+c&&(i=!i)}return i}tw(Ww,`isPointInPolygon`);function Gw(e,t){return t?Ww({x:e.clientX,y:e.clientY},t):!1}tw(Gw,`isPointerInGraceArea`);function Kw(e){return t=>t.pointerType===`mouse`?e(t):void 0}tw(Kw,`whenMouse`);var qw=Yte,Jw=yw,Yw=Zte,Xw=$te,Zw=rne,Qw=Dw,$w=kw,eT=Nw,tT=Fw,nT=Lw,rT=Object.defineProperty,iT=(e,t)=>rT(e,`name`,{value:t,configurable:!0}),aT=`DropdownMenu`,[oT,cne]=Vm(aT,[pw]),sT=pw(),[cT,lT]=oT(aT),uT=iT(e=>{let{__scopeDropdownMenu:t,children:n,dir:r,open:i,defaultOpen:a,onOpenChange:o,modal:s=!0}=e,c=sT(t),l=g.useRef(null),[u,d]=rh({prop:i,defaultProp:a??!1,onChange:o,caller:aT});return(0,v.jsx)(cT,{scope:t,triggerId:Jm(),triggerRef:l,contentId:Jm(),open:u,onOpenChange:d,onOpenToggle:g.useCallback(()=>d(e=>!e),[d]),modal:s,children:(0,v.jsx)(qw,{...c,open:u,onOpenChange:d,dir:r,modal:s,children:n})})},`DropdownMenu`),dT=`DropdownMenuTrigger`,fT=g.forwardRef(iT(function(e,t){let{__scopeDropdownMenu:n,disabled:r=!1,...i}=e,a=lT(dT,n),o=sT(n),s=Lm(t,a.triggerRef);return(0,v.jsx)(Jw,{asChild:!0,...o,children:(0,v.jsx)(Th.button,{type:`button`,id:a.triggerId,"aria-haspopup":`menu`,"aria-expanded":a.open,"aria-controls":a.open?a.contentId:void 0,"data-state":a.open?`open`:`closed`,"data-disabled":r?``:void 0,disabled:r,...i,ref:s,onPointerDown:Om(e.onPointerDown,e=>{!r&&e.button===0&&e.ctrlKey===!1&&(a.onOpenToggle(),a.open||e.preventDefault())}),onKeyDown:Om(e.onKeyDown,e=>{r||([`Enter`,` `].includes(e.key)&&a.onOpenToggle(),e.key===`ArrowDown`&&a.onOpenChange(!0),[`Enter`,` `,`ArrowDown`].includes(e.key)&&e.preventDefault())})})})},`DropdownMenuTrigger`)),pT=iT(e=>{let{__scopeDropdownMenu:t,...n}=e,r=sT(t);return(0,v.jsx)(Yw,{...r,...n})},`DropdownMenuPortal`),mT=`DropdownMenuContent`,hT=g.forwardRef(iT(function(e,t){let{__scopeDropdownMenu:n,...r}=e,i=lT(mT,n),a=sT(n),o=g.useRef(!1);return(0,v.jsx)(Xw,{id:i.contentId,"aria-labelledby":i.triggerId,...a,...r,ref:t,onCloseAutoFocus:Om(e.onCloseAutoFocus,e=>{o.current||i.triggerRef.current?.focus(),o.current=!1,e.preventDefault()}),onInteractOutside:Om(e.onInteractOutside,e=>{let t=e.detail.originalEvent,n=t.button===0&&t.ctrlKey===!0,r=t.button===2||n;(!i.modal||r)&&(o.current=!0)}),style:{...e.style,"--radix-dropdown-menu-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-dropdown-menu-content-available-width":`var(--radix-popper-available-width)`,"--radix-dropdown-menu-content-available-height":`var(--radix-popper-available-height)`,"--radix-dropdown-menu-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-dropdown-menu-trigger-height":`var(--radix-popper-anchor-height)`}})},`DropdownMenuContent`)),gT=g.forwardRef(iT(function(e,t){let{__scopeDropdownMenu:n,...r}=e,i=sT(n);return(0,v.jsx)(Zw,{...i,...r,ref:t})},`DropdownMenuLabel`)),_T=g.forwardRef(iT(function(e,t){let{__scopeDropdownMenu:n,...r}=e,i=sT(n);return(0,v.jsx)(Qw,{...i,...r,ref:t})},`DropdownMenuItem`)),vT=g.forwardRef(iT(function(e,t){let{__scopeDropdownMenu:n,...r}=e,i=sT(n);return(0,v.jsx)($w,{...i,...r,ref:t})},`DropdownMenuSeparator`)),yT=iT(e=>{let{__scopeDropdownMenu:t,children:n,open:r,onOpenChange:i,defaultOpen:a}=e,o=sT(t),[s,c]=rh({prop:r,defaultProp:a??!1,onChange:i,caller:`DropdownMenuSub`});return(0,v.jsx)(eT,{...o,open:s,onOpenChange:c,children:n})},`DropdownMenuSub`),bT=g.forwardRef(iT(function(e,t){let{__scopeDropdownMenu:n,...r}=e,i=sT(n);return(0,v.jsx)(tT,{...i,...r,ref:t})},`DropdownMenuSubTrigger`)),xT=g.forwardRef(iT(function(e,t){let{__scopeDropdownMenu:n,...r}=e,i=sT(n);return(0,v.jsx)(nT,{...i,...r,ref:t,style:{...e.style,"--radix-dropdown-menu-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-dropdown-menu-content-available-width":`var(--radix-popper-available-width)`,"--radix-dropdown-menu-content-available-height":`var(--radix-popper-available-height)`,"--radix-dropdown-menu-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-dropdown-menu-trigger-height":`var(--radix-popper-anchor-height)`}})},`DropdownMenuSubContent`)),ST=uT,CT=fT,wT=pT,TT=hT,ET=gT,DT=_T,OT=vT,kT=yT,AT=bT,jT=xT;function MT({items:e,label:t=`更多操作`}){let n=e.findIndex(e=>e.danger),r=(0,g.useRef)(null),i=(0,g.useRef)(null);return(0,v.jsxs)(ST,{children:[(0,v.jsx)(CT,{asChild:!0,children:(0,v.jsx)(`button`,{ref:r,className:`icon-button more-actions-trigger`,type:`button`,"aria-label":t,title:t,children:(0,v.jsx)(mp,{size:16})})}),(0,v.jsx)(wT,{children:(0,v.jsx)(TT,{className:`more-actions-menu`,align:`end`,sideOffset:6,collisionPadding:12,onCloseAutoFocus:e=>{if(!i.current)return;e.preventDefault();let t=i.current;i.current=null,r.current?.focus(),t()},children:e.map((e,t)=>(0,v.jsxs)(g.Fragment,{children:[t===n&&t>0&&(0,v.jsx)(OT,{className:`more-actions-separator`}),(0,v.jsx)(DT,{className:`more-actions-item${e.danger?` danger`:``}`,disabled:e.disabled,onSelect:()=>{i.current=e.onSelect},children:e.label})]},e.label))})})]})}function NT({targetId:e,children:t}){let[n,r]=(0,g.useState)(null);return(0,g.useLayoutEffect)(()=>{r(document.getElementById(e))},[e]),n?(0,x.createPortal)(t,n):(0,v.jsx)(v.Fragment,{children:t})}function PT({children:e}){return(0,v.jsx)(NT,{targetId:`pageHeaderTools`,children:e})}function FT({children:e}){return(0,v.jsx)(NT,{targetId:`pageHeaderActions`,children:e})}function IT(e){return LT(e)||typeof e==`function`||RT(e)}function LT(e){return typeof e==`function`&&(()=>{let t=Object.getPrototypeOf(e);return t.prototype&&t.prototype.isReactComponent})()}function RT(e){return typeof e==`object`&&typeof e.$$typeof==`symbol`&&[`react.memo`,`react.forward_ref`].includes(e.$$typeof.description)}function zT(e,t){return e==null?null:IT(e)?g.createElement(e,t):e}function BT(e){if(`cell`in e&&e.cell){let t=e.cell,n=t.column.columnDef,r=t,i=n;return r.getIsAggregated?.()?zT(i.aggregatedCell??n.cell,t.getContext()):r.getIsPlaceholder?.()?null:zT(n.cell,t.getContext())}return`header`in e&&e.header?zT(e.header.column.columnDef.header,e.header.getContext()):`footer`in e&&e.footer?zT(e.footer.column.columnDef.footer,e.footer.getContext()):null}function VT({update:e,notify:t,unwatched:n}){return{link:r,unlink:i,propagate:a,checkDirty:o,shallowPropagate:s};function r(e,t,n){let r=t.depsTail;if(r!==void 0&&r.dep===e)return;let i=r===void 0?t.deps:r.nextDep;if(i!==void 0&&i.dep===e){i.version=n,t.depsTail=i;return}let a=e.subsTail;if(a!==void 0&&a.version===n&&a.sub===t)return;let o=t.depsTail=e.subsTail={version:n,dep:e,sub:t,prevDep:r,nextDep:i,prevSub:a,nextSub:void 0};i!==void 0&&(i.prevDep=o),r===void 0?t.deps=o:r.nextDep=o,a===void 0?e.subs=o:a.nextSub=o}function i(e,t=e.sub){let r=e.dep,i=e.prevDep,a=e.nextDep,o=e.nextSub,s=e.prevSub;return a===void 0?t.depsTail=i:a.prevDep=i,i===void 0?t.deps=a:i.nextDep=a,o===void 0?r.subsTail=s:o.prevSub=s,s===void 0?(r.subs=o)===void 0&&n(r):s.nextSub=o,a}function a(e){let n=e.nextSub,r;top:do{let i=e.sub,a=i.flags;if(a&60?a&12?a&4?!(a&48)&&c(e,i)?(i.flags=a|40,a&=1):a=0:i.flags=a&-9|32:a=0:i.flags=a|32,a&2&&t(i),a&1){let t=i.subs;if(t!==void 0){let i=(e=t).nextSub;i!==void 0&&(r={value:n,prev:r},n=i);continue}}if((e=n)!==void 0){n=e.nextSub;continue}for(;r!==void 0;)if(e=r.value,r=r.prev,e!==void 0){n=e.nextSub;continue top}break}while(!0)}function o(t,n){let r,i=0,a=!1;top:do{let o=t.dep,c=o.flags;if(n.flags&16)a=!0;else if((c&17)==17){if(e(o)){let e=o.subs;e.nextSub!==void 0&&s(e),a=!0}}else if((c&33)==33){(t.nextSub!==void 0||t.prevSub!==void 0)&&(r={value:t,prev:r}),t=o.deps,n=o,++i;continue}if(!a){let e=t.nextDep;if(e!==void 0){t=e;continue}}for(;i--;){let i=n.subs,o=i.nextSub!==void 0;if(o?(t=r.value,r=r.prev):t=i,a){if(e(n)){o&&s(i),n=t.sub;continue}a=!1}else n.flags&=-33;n=t.sub;let c=t.nextDep;if(c!==void 0){t=c;continue top}}return a}while(!0)}function s(e){do{let n=e.sub,r=n.flags;(r&48)==32&&(n.flags=r|16,(r&6)==2&&t(n))}while((e=e.nextSub)!==void 0)}function c(e,t){let n=t.depsTail;for(;n!==void 0;){if(n===e)return!0;n=n.prevDep}return!1}}function HT(e,t,n){let r=typeof e==`object`,i=r?e:void 0;return{next:(r?e.next:e)?.bind(i),error:(r?e.error:t)?.bind(i),complete:(r?e.complete:n)?.bind(i)}}var UT=[],WT=0,{link:GT,unlink:KT,propagate:qT,checkDirty:JT,shallowPropagate:YT}=VT({update(e){return e._update()},notify(e){UT[ZT++]=e,e.flags&=-3},unwatched(e){e.depsTail!==void 0&&(e.depsTail=void 0,e.flags=17,tE(e))}}),XT=0,ZT=0,QT,$T=0;function eE(e){try{++$T,e()}finally{--$T||nE()}}function tE(e){let t=e.depsTail,n=t===void 0?e.deps:t.nextDep;for(;n!==void 0;)n=KT(n,e)}function nE(){if(!($T>0)){for(;XT<ZT;){let e=UT[XT];UT[XT++]=void 0,e.notify()}XT=0,ZT=0}}function rE(e,t){let n=typeof e==`function`,r=e,i={_snapshot:n?void 0:e,subs:void 0,subsTail:void 0,deps:void 0,depsTail:void 0,flags:+!n,get(){return QT!==void 0&>(i,QT,WT),i._snapshot},subscribe(e){let t=HT(e),n={current:!1},r=iE(()=>{i.get(),n.current?t.next?.(i._snapshot):n.current=!0});return{unsubscribe:()=>{r.stop()}}},_update(e){let a=QT,o=t?.compare??Object.is;if(n)QT=i,++WT,i.depsTail=void 0;else if(e===void 0)return!1;n&&(i.flags=5);try{let t=i._snapshot,a=typeof e==`function`?e(t):e===void 0&&n?r(t):e;return t===void 0||!o(t,a)?(i._snapshot=a,!0):!1}finally{QT=a,n&&(i.flags&=-5),tE(i)}}};return n?(i.flags=17,i.get=function(){let e=i.flags;if(e&16||e&32&&JT(i.deps,i)){if(i._update()){let e=i.subs;e!==void 0&&YT(e)}}else e&32&&(i.flags=e&-33);return QT!==void 0&>(i,QT,WT),i._snapshot}):i.set=function(e){if(i._update(e)){let e=i.subs;e!==void 0&&(qT(e),YT(e),nE())}},i}function iE(e){let t=()=>{let t=QT;QT=n,++WT,n.depsTail=void 0,n.flags=6;try{return e()}finally{QT=t,n.flags&=-5,tE(n)}},n={deps:void 0,depsTail:void 0,subs:void 0,subsTail:void 0,flags:6,notify(){let e=this.flags;e&16||e&32&&JT(this.deps,this)?t():this.flags=2},stop(){this.flags=0,this.depsTail=void 0,tE(this)}};return t(),n}function aE(e,t){if(Object.is(e,t))return!0;if(typeof e!=`object`||!e||typeof t!=`object`||!t)return!1;if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(let[n,r]of e)if(!t.has(n)||!Object.is(r,t.get(n)))return!1;return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;return!0}if(e instanceof Date&&t instanceof Date)return e.getTime()===t.getTime();let n=oE(e);if(n.length!==oE(t).length)return!1;for(let r=0;r<n.length;r++)if(!Object.prototype.hasOwnProperty.call(t,n[r])||!Object.is(e[n[r]],t[n[r]]))return!1;return!0}function oE(e){return Object.keys(e).concat(Object.getOwnPropertySymbols(e))}var sE=n((e=>{var t=r();function n(e,t){return e===t&&(e!==0||1/e==1/t)||e!==e&&t!==t}var i=typeof Object.is==`function`?Object.is:n,a=t.useState,o=t.useEffect,s=t.useLayoutEffect,c=t.useDebugValue;function l(e,t){var n=t(),r=a({inst:{value:n,getSnapshot:t}}),i=r[0].inst,l=r[1];return s(function(){i.value=n,i.getSnapshot=t,u(i)&&l({inst:i})},[e,n,t]),o(function(){return u(i)&&l({inst:i}),e(function(){u(i)&&l({inst:i})})},[e]),c(n),n}function u(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!i(e,n)}catch{return!0}}function d(e,t){return t()}var f=typeof window>`u`||window.document===void 0||window.document.createElement===void 0?d:l;e.useSyncExternalStore=t.useSyncExternalStore===void 0?f:t.useSyncExternalStore})),cE=n(((e,t)=>{t.exports=sE()})),lE=n((e=>{var t=r(),n=cE();function i(e,t){return e===t&&(e!==0||1/e==1/t)||e!==e&&t!==t}var a=typeof Object.is==`function`?Object.is:i,o=n.useSyncExternalStore,s=t.useRef,c=t.useEffect,l=t.useMemo,u=t.useDebugValue;e.useSyncExternalStoreWithSelector=function(e,t,n,r,i){var d=s(null);if(d.current===null){var f={hasValue:!1,value:null};d.current=f}else f=d.current;d=l(function(){function e(e){if(!o){if(o=!0,s=e,e=r(e),i!==void 0&&f.hasValue){var t=f.value;if(i(t,e))return c=t}return c=e}if(t=c,a(s,e))return t;var n=r(e);return i!==void 0&&i(t,n)?(s=e,t):(s=e,c=n)}var o=!1,s,c,l=n===void 0?null:n;return[function(){return e(t())},l===null?void 0:function(){return e(l())}]},[t,n,r,i]);var p=o(e,d[0],d[1]);return c(function(){f.hasValue=!0,f.value=p},[p]),u(p),p}})),uE=n(((e,t)=>{t.exports=lE()}))();function dE(e,t){return e===t}function fE(e,t=e=>e,n){let r=n?.compare??dE,i=(0,g.useCallback)(t=>{let{unsubscribe:n}=e.subscribe(t);return n},[e]),a=(0,g.useCallback)(()=>e.get(),[e]);return(0,uE.useSyncExternalStoreWithSelector)(i,a,a,t,r)}function pE(e){let t=fE(e.source,e.selector,{compare:aE});return typeof e.children==`function`?e.children(t):e.children}function mE(e){let t=e;return Object.defineProperty(e,"state",{get(){return e.get()}}),`set`in e&&(t.setState=e.set.bind(e)),t}function hE(e){let{createAtom:t,batch:n}=e,r=t(0);return{createOptionsStore:!1,wrapExternalAtoms:!1,addSubscription:()=>{throw Error(`Feature not supported in current reactivity implementation`)},unmount:()=>{throw Error(`Feature not supported in current reactivity implementation`)},schedule:e.schedule??(e=>queueMicrotask(e)),batch:n,untrack:e=>e(),createReadonlyAtom:(e,n)=>{let i=n?.compare??Object.is,a=!1,o,s=()=>{let t=e();return(!a||!i(o,t))&&(o=t,a=!0),o},c=t(()=>(r.get(),s()),{compare:i});return{get:s,subscribe:c.subscribe.bind(c)}},createWritableAtom:(e,n)=>t(e,{compare:n?.compare}),commit:()=>{r.set(e=>e+1)}}}function gE(e,t=Object.is){let n=!1,r;return{get:e.get,markCommitted:e=>{r=e,n=!0},subscribe:i=>e.subscribe(e=>{(!n||!t(r,e))&&i(e)})}}function _E(){return hE({createAtom:rE,batch:eE})}function vE(e,t){return typeof e==`function`?e(t):e}function yE(e){if(Array.isArray(e))return e.map(yE);if(e&&typeof e==`object`){let t=Object.getPrototypeOf(e);if(t!==Object.prototype&&t!==null)return e;let n=t===null?bE():{},r=Object.keys(e);for(let t=0;t<r.length;t++){let i=r[t];Object.defineProperty(n,i,{configurable:!0,enumerable:!0,value:yE(e[i]),writable:!0})}return n}return e}function bE(){return Object.create(null)}function xE(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function SE(e){if(typeof e!=`object`||!e)return!1;if(Array.isArray(e))return!0;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}function CE(e){return Reflect.ownKeys(e).filter(t=>Object.prototype.propertyIsEnumerable.call(e,t))}var wE=3;function TE(e,t){return EE(e,t,wE)}function EE(e,t,n){if(Object.is(e,t))return!0;if(n<=0||!SE(e)||!SE(t)||(Array.isArray(e)||Array.isArray(t))&&(!Array.isArray(e)||!Array.isArray(t)||e.length!==t.length))return!1;let r=CE(e),i=CE(t);if(r.length!==i.length)return!1;let a=e,o=t;for(let e=0;e<r.length;e++){let i=r[e];if(!Object.prototype.propertyIsEnumerable.call(t,i)||!EE(a[i],o[i],n-1))return!1}return!0}function DE(e,t,n,r=TE){let i=`on${t.charAt(0).toUpperCase()}${t.slice(1)}Change`,a=e.options[i];a&&a(e=>{let t=vE(n,e);return r(e,t)?e:t})}function OE(e,t){let n=[],r=e=>{e.forEach(e=>{n.push(e);let i=t(e);i.length&&r(i)})};return r(e),n}var kE=({fn:e,memoDeps:t,onAfterCompare:n,onAfterUpdate:r,onBeforeCompare:i,onBeforeUpdate:a})=>{let o=[],s;return c=>{i?.();let l=t?.(c),u=!l||l.length!==o?.length;if(!u&&l){for(let e=0;e<l.length;e++)if(l[e]!==o[e]){u=!0;break}}return n?.(u),u?(o=l,a?.(),s=e(...l??[]),r?.(s),s):s}};function AE(e){let t=!1;return()=>{if(!t){t=!0;return}e()}}function jE({feature:e,fnName:t,objectId:n,onAfterUpdate:r,table:i,...a}){let o=()=>{if(!r)return;let{schedule:e,untrack:t}=i._reactivity;e(()=>t(()=>r()))},s={onAfterUpdate:()=>{o()}};return kE({...a,...s})}function ME(e,t=`_`){let[n,r]=e.split(t);return{fnKey:r,fnName:`${n}.${r}`,parentName:n}}function NE(e,t,n){for(let[r,{fn:i,memoDeps:a}]of Object.entries(n)){let{fnKey:n,fnName:o}=ME(r);t[n]=a?jE({memoDeps:a,fn:i,fnName:o,table:t,feature:e}):i}}function PE(e,t,n,r){for(let[i,{fn:a,memoDeps:o}]of Object.entries(r)){let{fnKey:r,fnName:s}=ME(i);if(o){let i=`_memo_${r}`;t[r]=function(...t){if(!this[i]){let t=this;this[i]=jE({memoDeps:e=>o(t,e),fn:(...e)=>a(t,...e),fnName:s,objectId:t.id,table:n,feature:e})}return this[i](...t)}}else t[r]=function(...e){return a(this,...e)}}}function FE(e,t,n,...r){return e[t]?.(...r)??n(e,...r)}function IE(e){return e.row.getValue(e.column.id)}function LE(e){return e.getValue()??e.table.options.renderFallbackValue}function RE(e){return{table:e.table,column:e.column,row:e.row,cell:e,getValue:()=>e.getValue(),renderValue:()=>e.renderValue()}}var zE={assignCellPrototype:(e,t)=>{PE(`coreCellsFeature`,e,t,{cell_getValue:{fn:e=>IE(e)},cell_renderValue:{fn:e=>LE(e)},cell_getContext:{fn:e=>RE(e),memoDeps:e=>[e]}})}};function BE(e){if(!e._headerPrototype){e._headerPrototype={table:e};let t=Object.values(e._features);for(let n=0;n<t.length;n++)t[n].assignHeaderPrototype?.(e._headerPrototype,e)}return e._headerPrototype}function VE(e,t,n){let r=BE(e),i=Object.create(r);i.colSpan=0,i.column=t,i.depth=n.depth,i.headerGroup=null,i.id=n.id??t.id,i.index=n.index,i.isPlaceholder=!!n.isPlaceholder,i.placeholderId=n.placeholderId,i.rowSpan=0,i.subHeaders=[];let a=e._headerInstanceInitFns;for(let e=0;e<a.length;e++)a[e](i);return i}function HE(){return{start:[],end:[]}}function UE(e){let t=e.table.atoms.columnVisibility?.get();if(!t)return!0;let n=e.columns;return n.length?n.some(e=>FE(e,`getIsVisible`,UE)):(xE(t,e.id)?t[e.id]:void 0)??!0}function WE(e){return e.getAllLeafColumns().filter(e=>FE(e,`getIsVisible`,UE))}function GE(e,t=1){let n=t;for(let r=0;r<e.length;r++){let i=e[r];FE(i,`getIsVisible`,UE)&&i.columns.length&&(n=Math.max(n,GE(i.columns,t+1)))}return n}function KE(e,t){return e?`${e}_${t}`:String(t)}function qE(e,t,n,r){let i=e??``;return t&&(i=i?`${i}_${t}`:String(t)),n&&(i=i?`${i}_${n}`:n),r&&(i=i?`${i}_${r}`:r),i}function JE(e,t){let n=0;for(let r=0;r<e.length;r++)e[r].column===t&&n++;return n}function YE(e,t,n,r,i,a){let o={depth:t,id:KE(r,t),headers:[]},s=[];for(let i=0;i<e.length;i++){if(!(i in e))continue;let a=e[i],c=s[s.length-1],l=a.column.depth===o.depth,u,d=!1;if(l&&a.column.parent?u=a.column.parent:(u=a.column,d=!0),c&&c.column===u)c.subHeaders.push(a);else{let e=VE(n,u,{id:qE(r,t,u.id,a.id),isPlaceholder:d,placeholderId:d?String(JE(s,u)):void 0,depth:t,index:s.length});e.subHeaders.push(a),s.push(e)}o.headers.push(a),a.headerGroup=o}for(let e=0;e<a.length;e++)a[e](o);i.push(o),t>0&&YE(s,t-1,n,r,i,a)}function XE(e){for(let t=0;t<e.length;t++){let n=e[t];if(!FE(n.column,`getIsVisible`,UE))continue;let r=0;if(n.subHeaders.length){XE(n.subHeaders);for(let e=0;e<n.subHeaders.length;e++){let t=n.subHeaders[e];FE(t.column,`getIsVisible`,UE)&&(r+=t.colSpan)}}else r=1;if(n.colSpan=r,n.isPlaceholder&&n.subHeaders.length===1&&n.subHeaders[0].column===n.column){let e=1,t=n.subHeaders[0];for(;t;)t.rowSpan=0,e++,t=t.subHeaders.length===1&&t.subHeaders[0].column===n.column?t.subHeaders[0]:void 0;n.rowSpan=e}else n.rowSpan=1}}function ZE(e,t,n,r){let i=GE(e),a=[],o=n._headerGroupInstanceInitFns,s=Array(t.length);for(let e=0;e<t.length;e++)e in t&&(s[e]=VE(n,t[e],{depth:i,index:e}));return YE(s,i-1,n,r,a,o),a.reverse(),XE(a[0]?.headers??[]),a}function QE(e){if(!e._columnPrototype){e._columnPrototype={table:e};let t=Object.values(e._features);for(let n=0;n<t.length;n++)t[n].assignColumnPrototype?.(e._columnPrototype,e)}return e._columnPrototype}function $E(e,t,n,r){let i={...e.getDefaultColumnDef(),...t},a=i.accessorKey,o=a===void 0?void 0:String(a),s=i.id??o?.replaceAll(`.`,`_`)??(typeof i.header==`string`?i.header:void 0),c;if(i.accessorFn)c=i.accessorFn;else if(a!==void 0){if(typeof a==`string`&&a.includes(`.`)){let e=a.split(`.`);c=t=>{let n=t;for(let t=0;t<e.length;t++){let r=e[t];n=n?.[r]}return n}}else c=e=>e[i.accessorKey]}if(!s)throw Error();let l=QE(e),u=Object.create(l);u.accessorFn=c,u.columnDef=i,u.columns=[],u.depth=n,u.id=`${String(s)}`,u.parent=r;let d=e._columnInstanceInitFns;for(let e=0;e<d.length;e++)d[e](u);return u}function eD(e){let t=e.atoms.columnOrder?.get();return n=>{let r=[];if(!t?.length)r=n;else{let e=new Map;for(let t=0;t<n.length;t++){let r=n[t];e.set(r.id,r)}for(let n=0;n<t.length;n++){let i=t[n],a=e.get(i);a&&(r.push(a),e.delete(i))}for(let t=0;t<n.length;t++){let i=n[t];e.has(i.id)&&r.push(i)}}return tD(e,r)}}function tD(e,t){let n=e.atoms.grouping?.get()??[],{groupedColumnMode:r}=e.options;if(!n.length||!r)return t;let i=t.filter(e=>!n.includes(e.id));if(r===`remove`)return i;let a=new Map;for(let e=0;e<t.length;e++){let n=t[e];a.set(n.id,n)}let o=[];for(let e=0;e<n.length;e++){let t=a.get(n[e]);t&&o.push(t)}return[...o,...i]}function nD(e){return[e,...e.columns.flatMap(e=>e.getFlatColumns())]}function rD(e){if(e.columns.length){let t=e.columns.flatMap(e=>e.getLeafColumns());return FE(e.table,`getOrderColumns`,eD)(t)}return[e]}function iD(e){return{header:e=>{let t=e.header.column.columnDef;return t.accessorKey?t.accessorKey:t.accessorFn?t.id:null},cell:e=>e.renderValue()?.toString?.()??null,...Object.values(e._features).reduce((e,t)=>Object.assign(e,t.getDefaultColumnDef?.()),{}),...e.options.defaultColumn}}function aD(e,t,n,r=0){let i=Array(t.length);for(let a=0;a<t.length;a++){if(!(a in t))continue;let o=t[a],s=$E(e,o,r,n),c=o;s.columns=c.columns?aD(e,c.columns,s,r+1):[],i[a]=s}return i}function oD(e){return aD(e,e.options.columns)}function sD(e){return e.getAllColumns().flatMap(e=>e.getFlatColumns())}function cD(e){let t=bE(),n=e.getAllFlatColumns();for(let e=0;e<n.length;e++){let r=n[e];t[r.id]=r}return t}function lD(e){let t=e.getAllColumns().flatMap(e=>e.getLeafColumns());return FE(e,`getOrderColumns`,eD)(t)}function uD(e){let t=bE(),n=e.getAllLeafColumns();for(let e=0;e<n.length;e++){let r=n[e];t[r.id]=r}return t}function dD(e,t){return e.getAllFlatColumnsById()[t]}var fD={assignColumnPrototype:(e,t)=>{PE(`coreColumnsFeature`,e,t,{column_getFlatColumns:{fn:e=>nD(e),memoDeps:e=>[e.table.options.columns]},column_getLeafColumns:{fn:e=>rD(e),memoDeps:e=>[e.table.atoms.columnOrder?.get(),e.table.atoms.grouping?.get(),e.table.options.columns,e.table.options.groupedColumnMode]}})},constructTableAPIs:e=>{NE(`coreColumnsFeature`,e,{table_getDefaultColumnDef:{fn:()=>iD(e),memoDeps:()=>[e.options.defaultColumn]},table_getAllColumns:{fn:()=>oD(e),memoDeps:()=>[e.options.columns]},table_getAllFlatColumns:{fn:()=>sD(e),memoDeps:()=>[e.options.columns]},table_getAllFlatColumnsById:{fn:()=>cD(e),memoDeps:()=>[e.options.columns]},table_getAllLeafColumns:{fn:()=>lD(e),memoDeps:()=>[e.atoms.columnOrder?.get(),e.atoms.grouping?.get(),e.options.columns,e.options.groupedColumnMode]},table_getAllLeafColumnsById:{fn:()=>uD(e),memoDeps:()=>[e.getAllLeafColumns()]},table_getColumn:{fn:t=>dD(e,t)}})}};function pD(e,t){for(let n=0;n<e.subHeaders.length;n++)pD(e.subHeaders[n],t);t.push(e)}function mD(e){let t=[];return pD(e,t),t}function hD(e){return{column:e.column,header:e,table:e.column.table}}function gD(e){let{start:t,end:n}=e.atoms.columnPinning?.get()??HE(),r=e.getAllColumns(),i=FE(e,`getVisibleLeafColumns`,WE);if(!t.length&&!n.length)return ZE(r,i,e);let a=e.getAllLeafColumnsById(),o=[];for(let e=0;e<t.length;e++){let n=a[t[e]];n&&FE(n,`getIsVisible`,UE)&&o.push(n)}let s=[];for(let e=0;e<n.length;e++){let t=a[n[e]];t&&FE(t,`getIsVisible`,UE)&&s.push(t)}let c=i.filter(e=>!t.includes(e.id)&&!n.includes(e.id));return ZE(r,[...o,...c,...s],e)}function _D(e){return[...e.getHeaderGroups()].reverse()}function vD(e){let t=e.getHeaderGroups(),n=[];for(let e=0;e<t.length;e++){let r=t[e].headers;for(let e=0;e<r.length;e++)n.push(r[e])}return n}function yD(e){let t=e.getHeaderGroups()[0]?.headers??[],n=[];for(let e=0;e<t.length;e++){let r=t[e].getLeafHeaders();for(let e=0;e<r.length;e++)n.push(r[e])}return n}var bD={assignHeaderPrototype:(e,t)=>{PE(`coreHeadersFeature`,e,t,{header_getLeafHeaders:{fn:e=>mD(e),memoDeps:e=>[e.column.table.options.columns]},header_getContext:{fn:e=>hD(e),memoDeps:e=>[e.column.table.options.columns]}})},constructTableAPIs:e=>{NE(`coreHeadersFeature`,e,{table_getHeaderGroups:{fn:()=>gD(e),memoDeps:()=>[e.options.columns,e.atoms.columnOrder?.get(),e.atoms.grouping?.get(),e.atoms.columnPinning?.get(),e.atoms.columnVisibility?.get(),e.options.groupedColumnMode]},table_getFooterGroups:{fn:()=>_D(e),memoDeps:()=>[e.getHeaderGroups()]},table_getFlatHeaders:{fn:()=>vD(e),memoDeps:()=>[e.getHeaderGroups()]},table_getLeafHeaders:{fn:()=>yD(e),memoDeps:()=>[e.getHeaderGroups()]}})}};function xD(e){if(!e._rowPrototype){e._rowPrototype={table:e};let t=Object.values(e._features);for(let n=0;n<t.length;n++)t[n].assignRowPrototype?.(e._rowPrototype,e)}return e._rowPrototype}var SD=(e,t,n,r,i,a,o)=>{let s=xD(e),c=Object.create(s);c._displayIndexCache=-1,c._uniqueValuesCache=bE(),c._valuesCache=bE(),c.depth=i,c.id=t,c.index=r,c.original=n,c.parentId=o,c.subRows=a??[];let l=e._rowInstanceInitFns;for(let e=0;e<l.length;e++)l[e](c);return c};function CD(){return[]}function wD(e,t){DE(e,`cellSelection`,t?CD():yE(e.initialState.cellSelection)??CD())}function TD(e){e.atoms.cellSelection&&(e.options.autoResetAll??e.options.autoResetCellSelection??!0)&&e._reactivity.schedule(()=>wD(e))}function ED(e){e.atoms.expanded&&(e.options.autoResetAll??e.options.autoResetExpanded??!e.options.manualExpanding)&&e._reactivity.schedule(()=>DD(e))}function DD(e,t){let n=e.initialState.expanded;DE(e,`expanded`,t?bE():n===!0||Object.assign(bE(),yE(n??{})))}var OD=0;function kD(e){if(e.options.autoResetAll??e.options.autoResetPageIndex??!e.options.manualPagination){if((e.atoms.pagination?.get()?.pageIndex??OD)===OD)return;MD(e,!0)}}function AD(e,t){DE(e,`pagination`,t)}function jD(e,t){AD(e,n=>{let r=vE(t,n.pageIndex),i=e.options.pageCount===void 0||e.options.pageCount===-1?2**53-1:e.options.pageCount-1;return r=Math.max(0,Math.min(r,i)),{...n,pageIndex:r}})}function MD(e,t){jD(e,t?OD:e.initialState.pagination?.pageIndex??OD)}function ND(e,t){DE(e,`sorting`,t)}function PD(e,t){ND(e,t?[]:yE(e.initialState.sorting??[]))}function FD(e){e.atoms.sorting&&(e.options.autoResetAll??e.options.autoResetSorting??!1)&&PD(e)}function ID(){return e=>jE({feature:`coreRowModelsFeature`,table:e,fnName:`table.getCoreRowModel`,memoDeps:()=>[e.options.data],fn:()=>RD(e,e.options.data),onAfterUpdate:AE(()=>{ED(e),kD(e),FD(e),TD(e)})})}function LD(e,t,n,r=0,i){let a=[];for(let o=0;o<n.length;o++){let s=n[o],c=SD(e,e.getRowId(s,o,i),s,o,r,void 0,i?.id);t.flatRows.push(c),t.rowsById[c.id]=c,a.push(c),e.options.getSubRows&&(c.originalSubRows=e.options.getSubRows(s,o),c.originalSubRows?.length&&(c.subRows=LD(e,t,c.originalSubRows,r+1,c)))}return a}function RD(e,t){let n={rows:[],flatRows:[],rowsById:bE()};return n.rows=LD(e,n,t),n}function zD(e){return e._rowModels.coreRowModel||(e._rowModels.coreRowModel=e.options.features.coreRowModel?.(e)??ID()(e)),e._rowModels.coreRowModel()}function BD(e){return e.getCoreRowModel()}function VD(e){return e._rowModels.filteredRowModel||(e._rowModels.filteredRowModel=e.options.features.filteredRowModel?.(e)),e.options.manualFiltering||!e._rowModels.filteredRowModel?e.getPreFilteredRowModel():e._rowModels.filteredRowModel()}function HD(e){return e.getFilteredRowModel()}function UD(e){return e._rowModels.groupedRowModel||(e._rowModels.groupedRowModel=e.options.features.groupedRowModel?.(e)),e.options.manualGrouping||!e._rowModels.groupedRowModel?e.getPreGroupedRowModel():e._rowModels.groupedRowModel()}function WD(e){return e.getGroupedRowModel()}function GD(e){return e._rowModels.sortedRowModel||(e._rowModels.sortedRowModel=e.options.features.sortedRowModel?.(e)),e.options.manualSorting||!e._rowModels.sortedRowModel?e.getPreSortedRowModel():e._rowModels.sortedRowModel()}function KD(e){return e.getSortedRowModel()}function qD(e){return e._rowModels.expandedRowModel||(e._rowModels.expandedRowModel=e.options.features.expandedRowModel?.(e)),e.options.manualExpanding||!e._rowModels.expandedRowModel?e.getPreExpandedRowModel():e._rowModels.expandedRowModel()}function JD(e){return e.getExpandedRowModel()}function YD(e){return e._rowModels.paginatedRowModel||(e._rowModels.paginatedRowModel=e.options.features.paginatedRowModel?.(e)),e.options.manualPagination||!e._rowModels.paginatedRowModel?e.getPrePaginatedRowModel():e._rowModels.paginatedRowModel()}function XD(e){return e.getPaginatedRowModel()}var ZD={constructTableAPIs:e=>{NE(`coreRowModelsFeature`,e,{table_getCoreRowModel:{fn:()=>zD(e)},table_getPreFilteredRowModel:{fn:()=>BD(e)},table_getFilteredRowModel:{fn:()=>VD(e)},table_getPreGroupedRowModel:{fn:()=>HD(e)},table_getGroupedRowModel:{fn:()=>UD(e)},table_getPreSortedRowModel:{fn:()=>WD(e)},table_getSortedRowModel:{fn:()=>GD(e)},table_getPreExpandedRowModel:{fn:()=>KD(e)},table_getExpandedRowModel:{fn:()=>qD(e)},table_getPrePaginatedRowModel:{fn:()=>JD(e)},table_getPaginatedRowModel:{fn:()=>YD(e)},table_getRowModel:{fn:()=>XD(e)}})}};function QD(e){if(!e._cellPrototype){e._cellPrototype={table:e};let t=Object.values(e._features);for(let n=0;n<t.length;n++)t[n].assignCellPrototype?.(e._cellPrototype,e)}return e._cellPrototype}function $D(e,t,n){let r=QD(n),i=Object.create(r);i.column=e,i.id=`${t.id}_${e.id}`,i.row=t;let a=n._cellInstanceInitFns;for(let e=0;e<a.length;e++)a[e](i);return i}function eO(e){let t=e.table.getRowsInDisplayOrder(),n=e._displayIndexCache;return t[n]===e?n:-1}function tO(e){let t=e.getPrePaginatedRowModel().rows;if(e.options.paginateExpandedRows===!1){let e=[],n=t=>{t._displayIndexCache=e.length,e.push(t),t.subRows.length&&t.getIsExpanded?.()&&t.subRows.forEach(n)};return t.forEach(n),e}for(let e=0;e<t.length;e++)t[e]._displayIndexCache=e;return t}function nO(e,t){if(xE(e._valuesCache,t))return e._valuesCache[t];let n=e.table.getColumn(t);if(n?.accessorFn)return e._valuesCache[t]=n.accessorFn(e.original,e.index),e._valuesCache[t]}function rO(e,t){if(xE(e._uniqueValuesCache,t))return e._uniqueValuesCache[t];let n=e.table.getColumn(t);if(n?.accessorFn)return n.columnDef.getUniqueValues?(e._uniqueValuesCache[t]=n.columnDef.getUniqueValues(e.original,e.index),e._uniqueValuesCache[t]):(e._uniqueValuesCache[t]=[e.getValue(t)],e._uniqueValuesCache[t])}function iO(e,t){return e.getValue(t)??e.table.options.renderFallbackValue}function aO(e){return OE(e.subRows,e=>e.subRows)}function oO(e){let t=e.getCoreRowModel().flatRows,n=0;for(let e=0;e<t.length;e++)n=Math.max(n,t[e].depth);return n}function sO(e){if(e.parentId)return e.table.getCoreRowModel().rowsById[e.parentId]??e.table.getRow(e.parentId,!0)}function cO(e){let t=[],n=e;for(;;){let e=n.getParentRow();if(!e)break;t.push(e),n=e}return t.reverse()}function lO(e){let t=e.table.getAllLeafColumns(),n=e._cellsCache;n||=e._cellsCache=new WeakMap;let r=Array(t.length);for(let i=0;i<t.length;i++){let a=t[i],o=n.get(a);o||(o=$D(a,e,e.table),n.set(a,o)),r[i]=o}return r}function uO(e){let t=bE(),n=e.getAllCells();for(let e=0;e<n.length;e++){let r=n[e];t[r.column.id]=r}return t}function dO(e,t,n,r){return t.options.getRowId?.(e,n,r)??(r?`${r.id}.${n}`:String(n))}function fO(e,t,n){let r=(n?e.getPrePaginatedRowModel():e.getRowModel()).rowsById[t];if(!r&&(r=e.getCoreRowModel().rowsById[t],!r))throw Error();return r}var pO={assignRowPrototype:(e,t)=>{PE(`coreRowsFeature`,e,t,{row_getDisplayIndex:{fn:e=>eO(e)},row_getAllCellsByColumnId:{fn:e=>uO(e),memoDeps:e=>[e.getAllCells()]},row_getAllCells:{fn:e=>lO(e),memoDeps:e=>[e.table.getAllLeafColumns()]},row_getLeafRows:{fn:e=>aO(e),memoDeps:e=>[e.subRows]},row_getParentRow:{fn:e=>sO(e)},row_getParentRows:{fn:e=>cO(e)},row_getUniqueValues:{fn:(e,t)=>rO(e,t)},row_getValue:{fn:(e,t)=>nO(e,t)},row_renderValue:{fn:(e,t)=>iO(e,t)}})},constructTableAPIs:e=>{NE(`coreRowsFeature`,e,{table_getRowsInDisplayOrder:{fn:()=>tO(e),memoDeps:()=>[e.getPrePaginatedRowModel().rows,e.options.paginateExpandedRows,e.options.paginateExpandedRows===!1?e.atoms.expanded?.get():void 0]},table_getRowId:{fn:(t,n,r)=>dO(t,e,n,r)},table_getRow:{fn:(t,n)=>fO(e,t,n)},table_getMaxSubRowDepth:{fn:()=>oO(e),memoDeps:()=>[e.getCoreRowModel()]}})}};function mO(e,t,n=(e,t)=>e===t){let r=t===void 0?e.options.state:t;e._reactivity.batch(()=>{if(r)for(let t in r){let i=e.baseAtoms[t];if(!i)continue;let a=r[t],o=a===void 0?e.initialState[t]:a;n(e._reactivity.untrack(()=>i.get()),o)||i.set(()=>o)}})}function hO(e,t,n=(e,t)=>e===t){e._reactivity.batch(()=>{mO(e,t,n),e._reactivity.commit?.()})}function gO(e){let t=yE(e.initialState);e._reactivity.batch(()=>{let n=Object.keys(t);for(let r=0;r<n.length;r++){let i=n[r];e.baseAtoms[i].set(t[i])}});let n=Object.values(e._features);for(let t=0;t<n.length;t++)n[t].resetTableInstanceData?.(e)}function _O(e,t){let{features:n,atoms:r,initialState:i}=e.options;if(!e.options.mergeOptions)return{...e.options,...t,features:n,atoms:r,initialState:i};let a=e.options.mergeOptions(e.options,t),o={...Object.getOwnPropertyDescriptors(a)};return Object.defineProperties(Object.create(Object.getPrototypeOf(a)),{...o,features:{value:n,enumerable:!0,configurable:!0,writable:!0},atoms:{value:r,enumerable:!0,configurable:!0,writable:!0},initialState:{value:i,enumerable:!0,configurable:!0,writable:!0}})}function vO(e,t,n){let r=_O(e,vE(t,e.options));e.optionsStore?e.optionsStore.set(()=>r):e.options=r,n?.syncExternalState!==!1&&hO(e,r.state??null)}var yO={coreCellsFeature:zE,coreColumnsFeature:fD,coreHeadersFeature:bD,coreRowModelsFeature:ZD,coreRowsFeature:pO,coreTablesFeature:{constructTableAPIs:e=>{NE(`coreTablesFeature`,e,{table_reset:{fn:()=>gO(e)},table_setOptions:{fn:t=>vO(e,t)}})}}};function bO(){return{accessor:(e,t)=>typeof e==`function`?{...t,accessorFn:e}:{...t,accessorKey:e},columns:e=>e,display:e=>e,group:e=>e}}function xO(e){return e}function SO(e,t={}){return Object.values(e).forEach(e=>{t=e.getInitialState?.(t)??t}),yE(t)}function CO(e){let t=e.features.coreReactivityFeature,{aggregationFns:n,columnMeta:r,coreRowModel:i,expandedRowModel:a,facetedMinMaxValues:o,facetedRowModel:s,facetedUniqueValues:c,filterFns:l,filterMeta:u,filteredRowModel:d,groupedRowModel:f,paginatedRowModel:p,sortFns:m,sortedRowModel:h,tableMeta:g,..._}=e.features,v={_cellInstanceInitFns:[],_columnInstanceInitFns:[],_features:{...yO,..._},_headerGroupInstanceInitFns:[],_headerInstanceInitFns:[],_reactivity:t,_rowInstanceInitFns:[],_rowModelFns:{aggregationFns:n,filterFns:l,sortFns:m},_rowModels:{},atoms:{},baseAtoms:{}},y=Object.values(v._features),b={...y.reduce((e,t)=>Object.assign(e,t.getDefaultTableOptions?.(v)),{}),...e};if(t.wrapExternalAtoms&&b.atoms)for(let[e,n]of Object.entries(b.atoms)){let r=n,i=t.createWritableAtom(r.get(),{debugName:`externalAtom/${e}`});b.atoms[e]=i;let a=!1,o=r.subscribe(e=>{a||i.set(e)}),s=i.subscribe(e=>{a=!0,r.set(e),a=!1});t.addSubscription(o),t.addSubscription(s)}t.createOptionsStore?(v.optionsStore=t.createWritableAtom(b,{debugName:`table/optionsStore`}),Object.defineProperty(v,"options",{configurable:!0,enumerable:!0,get(){return v.optionsStore.get()},set(e){v.optionsStore.set(()=>e)}})):v.options=b,v.initialState=SO(v._features,v.options.initialState);let x=Object.keys(v.initialState);for(let e=0;e<x.length;e++){let n=x[e];v.baseAtoms[n]=t.createWritableAtom(v.initialState[n],{debugName:`table/baseAtoms/${n}`}),v.atoms[n]=t.createReadonlyAtom(()=>{let e=v.options,t=e.atoms?.[n],r=t?t.get():v.baseAtoms[n].get();if(t)return r;let i=e.state;if(i&&xE(i,n)){let e=i[n];return e===void 0?v.initialState[n]:e}return r},{debugName:`table/atoms/${n}`})}mO(v),v.store=mE(t.createReadonlyAtom(()=>{let e={};for(let t=0;t<x.length;t++){let n=x[t];e[n]=v.atoms[n].get()}return e},{compare:aE,debugName:`table/store`}));for(let e=0;e<y.length;e++){let t=y[e];t.initTableInstanceData?.(v),t.initCellInstanceData&&v._cellInstanceInitFns.push(t.initCellInstanceData.bind(t)),t.initColumnInstanceData&&v._columnInstanceInitFns.push(t.initColumnInstanceData.bind(t)),t.initHeaderGroupInstanceData&&v._headerGroupInstanceInitFns.push(t.initHeaderGroupInstanceData.bind(t)),t.initHeaderInstanceData&&v._headerInstanceInitFns.push(t.initHeaderInstanceData.bind(t)),t.initRowInstanceData&&v._rowInstanceInitFns.push(t.initRowInstanceData.bind(t)),t.constructTableAPIs?.(v)}return v}var wO=typeof window>`u`?g.useEffect:g.useLayoutEffect;function TO(e,t){let[{table:n,rootSource:r}]=(0,g.useState)(()=>{let t=CO({...e,features:{coreReactivityFeature:_E(),...e.features}});return t.Subscribe=(e=>pE({...e,source:e.source??t.store})),t.FlexRender=BT,{table:t,rootSource:gE(t.store,aE)}}),i=n;vO(i,t=>({...t,...e}),{syncExternalState:!1});let a=i.options.state,o=r.get(),s=fE(r,t,{compare:aE});return wO(()=>{r.markCommitted(o),hO(i,a??null,aE)}),(0,g.useMemo)(()=>({...n,options:e,state:s}),[n,e,s])}var EO=xO({});function DO(e){return typeof e==`number`?`${e}px`:e}function OO(e){return e instanceof Element&&!!e.closest(`button, a, input, select, textarea, [role='button']`)}function kO({columns:e,data:t,getRowId:n,caption:r,minWidth:i=880,loading:a=!1,error:o=``,onRetry:s,empty:c={title:`没有数据`},pagination:l,onRowActivate:u,rowAriaLabel:d,expandRowContent:f}){let p=(0,g.useMemo)(()=>bO(),[]),m=TO({features:EO,columns:(0,g.useMemo)(()=>p.columns(e.map(e=>p.display({id:e.id,header:()=>e.header,cell:t=>e.cell(t.row.original)}))),[e,p]),data:t,getRowId:n}),h=(e,t)=>{!u||!e.currentTarget.contains(e.target)||OO(e.target)||e.key!==`Enter`&&e.key!==` `||(e.preventDefault(),u(t))},_=l&&t.length?l.pageIndex*l.pageSize+1:0,y=l?Math.min(l.pageIndex*l.pageSize+t.length,l.total):0;return(0,v.jsxs)(`div`,{className:`studio-data-table`,"aria-busy":a||void 0,"data-state":a?`loading`:o?`error`:t.length?`ready`:`empty`,children:[(0,v.jsxs)(`div`,{className:`studio-data-table-scroll data-scroll-region`,children:[!a&&!o&&t.length>0&&(0,v.jsxs)(`table`,{style:{minWidth:DO(i)},children:[r&&(0,v.jsx)(`caption`,{className:`sr-only`,children:r}),(0,v.jsx)(`thead`,{children:m.getHeaderGroups().map(t=>(0,v.jsx)(`tr`,{children:t.headers.map((t,n)=>{let r=e[n],i={width:DO(r?.width),minWidth:DO(r?.minWidth)};return(0,v.jsx)(`th`,{className:r?.headerClassName,style:i,children:t.isPlaceholder?null:(0,v.jsx)(m.FlexRender,{header:t})},t.id)})},t.id))}),(0,v.jsx)(`tbody`,{children:m.getRowModel().rows.map(t=>(0,v.jsx)(`tr`,{className:u?`is-interactive`:void 0,tabIndex:u?0:void 0,"aria-label":d?.(t.original),onKeyDown:e=>h(e,t.original),onClick:e=>{u&&e.currentTarget.contains(e.target)&&!OO(e.target)&&u(t.original)},children:t.getAllCells().map((t,n)=>(0,v.jsx)(`td`,{className:e[n]?.className,children:(0,v.jsx)(m.FlexRender,{cell:t})},t.id))},t.id))})]}),a&&(0,v.jsxs)(`div`,{className:`studio-data-table-state is-loading`,role:`status`,children:[(0,v.jsx)(`span`,{className:`sr-only`,children:`正在加载`}),(0,v.jsx)(`div`,{className:`studio-table-skeleton`,"aria-hidden":`true`,children:[0,1,2,3].map(e=>(0,v.jsxs)(`div`,{className:`studio-table-skeleton-row`,children:[(0,v.jsx)(`i`,{}),(0,v.jsx)(`i`,{}),(0,v.jsx)(`i`,{}),(0,v.jsx)(`i`,{})]},e))}),(0,v.jsxs)(`span`,{className:`studio-table-loading-copy`,children:[(0,v.jsx)(Pp,{className:`animate-spin`,size:14}),` 正在加载`]})]}),!a&&o&&(0,v.jsxs)(`div`,{className:`studio-data-table-state is-error`,role:`alert`,children:[(0,v.jsx)(Zf,{size:20}),(0,v.jsx)(`strong`,{children:`加载失败`}),(0,v.jsx)(`span`,{children:o}),s&&(0,v.jsx)(`button`,{className:`button secondary small`,type:`button`,onClick:s,children:`重新加载`})]}),!a&&!o&&t.length===0&&(0,v.jsxs)(`div`,{className:`studio-data-table-state empty-state${c.action?``:` inline`}`,children:[c.icon&&(0,v.jsx)(`span`,{className:`empty-icon`,children:c.icon}),(0,v.jsx)(`h2`,{children:c.title}),c.description&&(0,v.jsx)(`p`,{children:c.description}),c.action]})]}),l&&(l.total>0||l.pageIndex>0)&&!a&&!o&&(0,v.jsxs)(`footer`,{className:`studio-data-table-pagination`,children:[(0,v.jsxs)(`span`,{children:[`第 `,l.pageIndex+1,` 页 · `,_,`–`,y,` / `,l.total,` 条`]}),(0,v.jsxs)(`div`,{children:[(0,v.jsxs)(`button`,{className:`button tertiary small`,type:`button`,disabled:l.pageIndex<=0,onClick:l.onPreviousPage,children:[(0,v.jsx)(Jf,{size:14}),`上一页`]}),(0,v.jsxs)(`button`,{className:`button tertiary small`,type:`button`,disabled:!l.hasNextPage,onClick:l.onNextPage,children:[`下一页`,(0,v.jsx)(Yf,{size:14})]})]})]})]})}var AO=Object.defineProperty,jO=(e,t)=>AO(e,`name`,{value:t,configurable:!0});function MO(e,[t,n]){return Math.min(n,Math.max(t,e))}jO(MO,`clamp`);var NO=Object.defineProperty,PO=(e,t)=>NO(e,`name`,{value:t,configurable:!0});function FO(e){let t=g.useRef({value:e,previous:e});return g.useMemo(()=>(t.current.value!==e&&(t.current.previous=t.current.value,t.current.value=e),t.current.previous),[e])}PO(FO,`usePrevious`);var IO=Object.defineProperty,LO=(e,t)=>IO(e,`name`,{value:t,configurable:!0}),RO=Object.freeze({position:`absolute`,border:0,width:1,height:1,padding:0,margin:-1,overflow:`hidden`,clip:`rect(0, 0, 0, 0)`,whiteSpace:`nowrap`,wordWrap:`normal`}),zO=g.forwardRef(LO(function(e,t){return(0,v.jsx)(Th.span,{...e,ref:t,style:{...RO,...e.style}})},`VisuallyHidden`)),BO=Object.defineProperty,VO=(e,t)=>BO(e,`name`,{value:t,configurable:!0}),HO=[` `,`Enter`,`ArrowUp`,`ArrowDown`],UO=[` `,`Enter`],WO=`Select`,[GO,KO,qO]=kb(WO),[JO,lne]=Vm(WO,[qO,rC]),YO=rC(),[XO,ZO]=JO(WO),[QO,$O]=JO(WO);function ek(e){let{__scopeSelect:t,children:n,open:r,defaultOpen:i,onOpenChange:a,value:o,defaultValue:s,onValueChange:c,dir:l,name:u,autoComplete:d,disabled:f,required:p,form:m,internal_do_not_use_render:h}=e,_=YO(t),[y,b]=g.useState(null),[x,S]=g.useState(null),[C,w]=g.useState(!1),T=zb(l),[E,D]=rh({prop:r,defaultProp:i??!1,onChange:a,caller:WO}),[O,k]=rh({prop:o,defaultProp:s,onChange:c,caller:WO}),A=g.useRef(null),j=g.useRef(O);g.useEffect(()=>{let e=m?y?.ownerDocument.getElementById(m):y?.form;if(e instanceof HTMLFormElement){let t=VO(()=>k(j.current),`reset`);return e.addEventListener(`reset`,t),()=>e.removeEventListener(`reset`,t)}},[m,y,k]);let M=!y||!!m||!!y.closest(`form`),[N,P]=g.useState(new Set),F=Jm(),I=Array.from(N).map(e=>e.props.value).join(`;`),ee=g.useCallback(e=>{P(t=>new Set(t).add(e))},[]),L=g.useCallback(e=>{P(t=>{let n=new Set(t);return n.delete(e),n})},[]),te={required:p,trigger:y,onTriggerChange:b,valueNode:x,onValueNodeChange:S,valueNodeHasChildren:C,onValueNodeHasChildrenChange:w,contentId:F,value:O,onValueChange:k,open:E,onOpenChange:D,dir:T,triggerPointerDownPosRef:A,disabled:f,name:u,autoComplete:d,form:m,nativeOptions:N,nativeSelectKey:I,isFormControl:M};return(0,v.jsx)(yC,{..._,children:(0,v.jsx)(XO,{scope:t,...te,children:(0,v.jsx)(GO.Provider,{scope:t,children:(0,v.jsx)(QO,{scope:t,onNativeOptionAdd:ee,onNativeOptionRemove:L,children:zk(h)?h(te):n})})})})}VO(ek,`SelectProvider`);var tk=VO(e=>{let{__scopeSelect:t,children:n,...r}=e;return(0,v.jsx)(ek,{__scopeSelect:t,...r,internal_do_not_use_render:({isFormControl:e})=>(0,v.jsxs)(v.Fragment,{children:[n,e?(0,v.jsx)(Rk,{__scopeSelect:t}):null]})})},`Select`),nk=`SelectTrigger`,rk=g.forwardRef(VO(function(e,t){let{__scopeSelect:n,disabled:r=!1,...i}=e,a=YO(n),o=ZO(nk,n),s=o.disabled||r,c=Lm(t,o.onTriggerChange),l=KO(n),u=g.useRef(`touch`),[d,f,p]=Vk(e=>{let t=l().filter(e=>!e.disabled),n=Hk(t,e,t.find(e=>e.value===o.value));n!==void 0&&o.onValueChange(n.value)}),m=VO(e=>{s||(o.onOpenChange(!0),p()),e&&(o.triggerPointerDownPosRef.current={x:Math.round(e.pageX),y:Math.round(e.pageY)})},`handleOpen`);return(0,v.jsx)(bC,{asChild:!0,...a,children:(0,v.jsx)(Th.button,{type:`button`,role:`combobox`,"aria-controls":o.open?o.contentId:void 0,"aria-expanded":o.open,"aria-required":o.required,"aria-autocomplete":`none`,dir:o.dir,"data-state":o.open?`open`:`closed`,disabled:s,"data-disabled":s?``:void 0,"data-placeholder":Bk(o.value)?``:void 0,...i,ref:c,onClick:Om(i.onClick,e=>{e.currentTarget.focus(),u.current!==`mouse`&&m(e)}),onPointerDown:Om(i.onPointerDown,e=>{u.current=e.pointerType;let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),e.button===0&&e.ctrlKey===!1&&e.pointerType===`mouse`&&(m(e),e.preventDefault())}),onKeyDown:Om(i.onKeyDown,e=>{let t=d.current!==``;!(e.ctrlKey||e.altKey||e.metaKey)&&e.key.length===1&&f(e.key),!(t&&e.key===` `)&&HO.includes(e.key)&&(m(),e.preventDefault())})})})},`SelectTrigger`)),ik=`SelectValue`,ak=g.forwardRef(VO(function(e,t){let{__scopeSelect:n,className:r,style:i,children:a,placeholder:o=``,...s}=e,c=ZO(ik,n),{onValueNodeHasChildrenChange:l}=c,u=a!==void 0,d=Lm(t,c.onValueNodeChange);Um(()=>{l(u)},[l,u]);let f=Bk(c.value);return(0,v.jsx)(Th.span,{...s,asChild:!f&&s.asChild,ref:d,style:{pointerEvents:`none`},children:(0,v.jsx)(g.Fragment,{children:f?o:a},f?`placeholder`:`value`)})},`SelectValue`)),ok=g.forwardRef(VO(function(e,t){let{__scopeSelect:n,children:r,...i}=e;return(0,v.jsx)(Th.span,{"aria-hidden":!0,...i,ref:t,children:r||`▼`})},`SelectIcon`)),[sk,ck]=JO(`SelectPortal`,{forceMount:void 0}),lk=VO(e=>{let{__scopeSelect:t,forceMount:n,...r}=e;return(0,v.jsx)(sk,{scope:e.__scopeSelect,forceMount:n,children:(0,v.jsx)(cg,{asChild:!0,...r})})},`SelectPortal`),uk=`SelectContent`,dk=g.forwardRef(VO(function(e,t){let n=ck(uk,e.__scopeSelect),{forceMount:r=n.forceMount,...i}=e,a=ZO(uk,e.__scopeSelect),[o,s]=g.useState();return Um(()=>{s(new DocumentFragment)},[]),(0,v.jsx)(fg,{present:r||a.open,children:({present:e})=>e?(0,v.jsx)(_k,{...i,ref:t}):(0,v.jsx)(fk,{...i,fragment:o})})},`SelectContent`)),fk=g.forwardRef(VO(function(e,t){let{__scopeSelect:n,children:r,fragment:i}=e;return i?x.createPortal((0,v.jsx)(mk,{scope:n,children:(0,v.jsx)(GO.Slot,{scope:n,children:(0,v.jsx)(`div`,{ref:t,children:r})})}),i):null},`SelectContentFragment`)),pk=10,[mk,hk]=JO(uk),gk=uh(`SelectContent.RemoveScroll`),_k=g.forwardRef(VO(function(e,t){let{__scopeSelect:n}=e,{position:r=`item-aligned`,onCloseAutoFocus:i,onEscapeKeyDown:a,onPointerDownOutside:o,side:s,sideOffset:c,align:l,alignOffset:u,arrowPadding:d,collisionBoundary:f,collisionPadding:p,sticky:m,hideWhenDetached:h,avoidCollisions:_,...y}=e,b=ZO(uk,n),[x,S]=g.useState(null),[C,w]=g.useState(null),T=Lm(t,S),[E,D]=g.useState(null),[O,k]=g.useState(null),A=KO(n),[j,M]=g.useState(!1),N=g.useRef(!1);g.useEffect(()=>{if(x)return Z_(x)},[x]),Cg();let P=g.useCallback(e=>{let[t,...n]=A().map(e=>e.ref.current),[r]=n.slice(-1),i=document.activeElement;for(let n of e)if(n===i||(n?.scrollIntoView({block:`nearest`}),n===t&&C&&(C.scrollTop=0),n===r&&C&&(C.scrollTop=C.scrollHeight),n?.focus(),document.activeElement!==i))return},[A,C]),F=g.useCallback(()=>P([E,x]),[P,E,x]);g.useEffect(()=>{j&&F()},[j,F]);let{onOpenChange:I,triggerPointerDownPosRef:ee}=b;g.useEffect(()=>{if(x){let e={x:0,y:0},t=VO(t=>{e={x:Math.abs(Math.round(t.pageX)-(ee.current?.x??0)),y:Math.abs(Math.round(t.pageY)-(ee.current?.y??0))}},`handlePointerMove`),n=VO(n=>{e.x<=10&&e.y<=10?n.preventDefault():n.composedPath().includes(x)||I(!1),document.removeEventListener(`pointermove`,t),ee.current=null},`handlePointerUp`);return ee.current!==null&&(document.addEventListener(`pointermove`,t),document.addEventListener(`pointerup`,n,{capture:!0,once:!0})),()=>{document.removeEventListener(`pointermove`,t),document.removeEventListener(`pointerup`,n,{capture:!0})}}},[x,I,ee]),g.useEffect(()=>{let e=VO(()=>I(!1),`close`);return window.addEventListener(`blur`,e),window.addEventListener(`resize`,e),()=>{window.removeEventListener(`blur`,e),window.removeEventListener(`resize`,e)}},[I]);let[L,te]=Vk(e=>{let t=A().filter(e=>!e.disabled),n=Hk(t,e,t.find(e=>e.ref.current===document.activeElement));n&&setTimeout(()=>n.ref.current?.focus())}),R=g.useCallback((e,t,n)=>{let r=!N.current&&!n;(b.value!==void 0&&b.value===t||r)&&(D(e),r&&(N.current=!0))},[b.value]),z=g.useCallback(()=>x?.focus(),[x]),ne=g.useCallback((e,t,n)=>{let r=!N.current&&!n;(b.value!==void 0&&b.value===t||r)&&k(e)},[b.value]),re=r===`popper`?yk:vk,ie=re===yk?{side:s,sideOffset:c,align:l,alignOffset:u,arrowPadding:d,collisionBoundary:f,collisionPadding:p,sticky:m,hideWhenDetached:h,avoidCollisions:_}:{};return(0,v.jsx)(mk,{scope:n,content:x,viewport:C,onViewportChange:w,itemRefCallback:R,selectedItem:E,onItemLeave:z,itemTextRefCallback:ne,focusSelectedItem:F,selectedItemText:O,position:r,isPositioned:j,searchRef:L,children:(0,v.jsx)(H_,{as:gk,allowPinchZoom:!0,children:(0,v.jsx)(Yh,{asChild:!0,trapped:b.open,onMountAutoFocus:e=>{e.preventDefault()},onUnmountAutoFocus:Om(i,e=>{b.trigger?.focus({preventScroll:!0}),e.preventDefault()}),children:(0,v.jsx)(Lh,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:a,onPointerDownOutside:o,onFocusOutside:e=>e.preventDefault(),onDismiss:()=>b.onOpenChange(!1),children:(0,v.jsx)(re,{role:`listbox`,id:b.contentId,"data-state":b.open?`open`:`closed`,dir:b.dir,onContextMenu:e=>e.preventDefault(),...y,...ie,onPlaced:()=>M(!0),ref:T,style:{display:`flex`,flexDirection:`column`,outline:`none`,...y.style},onKeyDown:Om(y.onKeyDown,e=>{let t=e.ctrlKey||e.altKey||e.metaKey;if(e.key===`Tab`&&e.preventDefault(),!t&&e.key.length===1&&te(e.key),[`ArrowUp`,`ArrowDown`,`Home`,`End`].includes(e.key)){let t=A().filter(e=>!e.disabled).map(e=>e.ref.current);if([`ArrowUp`,`End`].includes(e.key)&&(t=t.slice().reverse()),[`ArrowUp`,`ArrowDown`].includes(e.key)){let n=e.target,r=t.indexOf(n);t=t.slice(r+1)}setTimeout(()=>P(t)),e.preventDefault()}})})})})})})},`SelectContentImpl`)),vk=g.forwardRef(VO(function(e,t){let{__scopeSelect:n,onPlaced:r,...i}=e,a=ZO(uk,n),o=hk(uk,n),[s,c]=g.useState(null),[l,u]=g.useState(null),d=Lm(t,u),f=KO(n),p=g.useRef(!1),m=g.useRef(!0),{viewport:h,selectedItem:_,selectedItemText:y,focusSelectedItem:b}=o,x=g.useCallback(()=>{if(a.trigger&&a.valueNode&&s&&l&&h&&_&&y){let e=a.trigger.getBoundingClientRect(),t=l.getBoundingClientRect(),n=a.valueNode.getBoundingClientRect(),i=y.getBoundingClientRect();if(a.dir!==`rtl`){let r=i.left-t.left,a=n.left-r,o=e.left-a,c=e.width+o,l=Math.max(c,t.width),u=window.innerWidth-pk,d=MO(a,[pk,Math.max(pk,u-l)]);s.style.minWidth=c+`px`,s.style.left=d+`px`}else{let r=t.right-i.right,a=window.innerWidth-n.right-r,o=window.innerWidth-e.right-a,c=e.width+o,l=Math.max(c,t.width),u=window.innerWidth-pk,d=MO(a,[pk,Math.max(pk,u-l)]);s.style.minWidth=c+`px`,s.style.right=d+`px`}let o=f(),c=window.innerHeight-pk*2,u=h.scrollHeight,d=window.getComputedStyle(l),m=parseInt(d.borderTopWidth,10),g=parseInt(d.paddingTop,10),v=parseInt(d.borderBottomWidth,10),b=parseInt(d.paddingBottom,10),x=m+g+u+b+v,S=Math.min(_.offsetHeight*5,x),C=window.getComputedStyle(h),w=parseInt(C.paddingTop,10),T=parseInt(C.paddingBottom,10),E=e.top+e.height/2-pk,D=c-E,O=_.offsetHeight/2,k=_.offsetTop+O,A=m+g+k,j=x-A;if(A<=E){let e=o.length>0&&_===o[o.length-1].ref.current;s.style.bottom=`0px`;let t=l.clientHeight-h.offsetTop-h.offsetHeight,n=A+Math.max(D,O+(e?T:0)+t+v);s.style.height=n+`px`}else{let e=o.length>0&&_===o[0].ref.current;s.style.top=`0px`;let t=Math.max(E,m+h.offsetTop+(e?w:0)+O)+j;s.style.height=t+`px`,h.scrollTop=A-E+h.offsetTop}s.style.margin=`${pk}px 0`,s.style.minHeight=S+`px`,s.style.maxHeight=c+`px`,r?.(),requestAnimationFrame(()=>p.current=!0)}},[f,a.trigger,a.valueNode,s,l,h,_,y,a.dir,r]);Um(()=>x(),[x]);let[S,C]=g.useState();Um(()=>{l&&C(window.getComputedStyle(l).zIndex)},[l]);let w=g.useCallback(e=>{e&&m.current===!0&&(x(),b?.(),m.current=!1)},[x,b]);return(0,v.jsx)(bk,{scope:n,contentWrapper:s,shouldExpandOnScrollRef:p,onScrollButtonChange:w,children:(0,v.jsx)(`div`,{ref:c,style:{display:`flex`,flexDirection:`column`,position:`fixed`,zIndex:S},children:(0,v.jsx)(Th.div,{...i,ref:d,style:{boxSizing:`border-box`,maxHeight:`100%`,...i.style}})})})},`SelectItemAlignedPosition`)),yk=g.forwardRef(VO(function(e,t){let{__scopeSelect:n,align:r=`start`,collisionPadding:i=pk,...a}=e,o=YO(n);return(0,v.jsx)(xC,{...o,...a,ref:t,align:r,collisionPadding:i,style:{boxSizing:`border-box`,...a.style,"--radix-select-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-select-content-available-width":`var(--radix-popper-available-width)`,"--radix-select-content-available-height":`var(--radix-popper-available-height)`,"--radix-select-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-select-trigger-height":`var(--radix-popper-anchor-height)`}})},`SelectPopperPosition`)),[bk,xk]=JO(uk,{}),Sk=`SelectViewport`,Ck=g.forwardRef(VO(function(e,t){let{__scopeSelect:n,nonce:r,...i}=e,a=hk(Sk,n),o=xk(Sk,n),s=Lm(t,a.onViewportChange),c=g.useRef(0);return(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(`style`,{dangerouslySetInnerHTML:{__html:`[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}`},nonce:r}),(0,v.jsx)(GO.Slot,{scope:n,children:(0,v.jsx)(Th.div,{"data-radix-select-viewport":``,role:`presentation`,...i,ref:s,style:{position:`relative`,flex:1,overflow:`hidden auto`,...i.style},onScroll:Om(i.onScroll,e=>{let t=e.currentTarget,{contentWrapper:n,shouldExpandOnScrollRef:r}=o;if(r?.current&&n){let e=Math.abs(c.current-t.scrollTop);if(e>0){let r=window.innerHeight-pk*2,i=parseFloat(n.style.minHeight),a=parseFloat(n.style.height),o=Math.max(i,a);if(o<r){let i=o+e,a=Math.min(r,i),s=i-a;n.style.height=a+`px`,n.style.bottom===`0px`&&(t.scrollTop=s>0?s:0,n.style.justifyContent=`flex-end`)}}}c.current=t.scrollTop})})})]})},`SelectViewport`)),[une,dne]=JO(`SelectGroup`),wk=`SelectItem`,[Tk,Ek]=JO(wk),Dk=g.forwardRef(VO(function(e,t){let{__scopeSelect:n,value:r,disabled:i=!1,textValue:a,...o}=e,s=ZO(wk,n),c=hk(wk,n),l=s.value===r,[u,d]=g.useState(a??``),[f,p]=g.useState(!1),m=Lm(t,kh(e=>c.itemRefCallback?.(e,r,i))),h=Jm(),_=g.useRef(`touch`),y=VO(()=>{i||(s.onValueChange(r),s.onOpenChange(!1))},`handleSelect`);return(0,v.jsx)(Tk,{scope:n,value:r,disabled:i,textId:h,isSelected:l,onItemTextChange:g.useCallback(e=>{d(t=>t||(e?.textContent??``).trim())},[]),children:(0,v.jsx)(GO.ItemSlot,{scope:n,value:r,disabled:i,textValue:u,children:(0,v.jsx)(Th.div,{role:`option`,"aria-labelledby":h,"data-highlighted":f?``:void 0,"aria-selected":l&&f,"data-state":l?`checked`:`unchecked`,"aria-disabled":i||void 0,"data-disabled":i?``:void 0,tabIndex:i?void 0:-1,...o,ref:m,onFocus:Om(o.onFocus,()=>p(!0)),onBlur:Om(o.onBlur,()=>p(!1)),onClick:Om(o.onClick,()=>{_.current!==`mouse`&&y()}),onPointerUp:Om(o.onPointerUp,()=>{_.current===`mouse`&&y()}),onPointerDown:Om(o.onPointerDown,e=>{_.current=e.pointerType}),onPointerMove:Om(o.onPointerMove,e=>{_.current=e.pointerType,i?c.onItemLeave?.():_.current===`mouse`&&e.currentTarget.focus({preventScroll:!0})}),onPointerLeave:Om(o.onPointerLeave,e=>{e.currentTarget===document.activeElement&&c.onItemLeave?.()}),onKeyDown:Om(o.onKeyDown,e=>{i||e.target!==e.currentTarget||(c.searchRef?.current===``||e.key!==` `)&&(UO.includes(e.key)&&y(),e.key===` `&&e.preventDefault())})})})})},`SelectItem`)),Ok=`SelectItemText`,kk=g.forwardRef(VO(function(e,t){let{__scopeSelect:n,className:r,style:i,...a}=e,o=ZO(Ok,n),s=hk(Ok,n),c=Ek(Ok,n),l=$O(Ok,n),[u,d]=g.useState(null),f=kh(e=>s.itemTextRefCallback?.(e,c.value,c.disabled)),p=Lm(t,d,c.onItemTextChange,f),m=u?.textContent,h=g.useMemo(()=>(0,v.jsx)(`option`,{value:c.value,disabled:c.disabled,children:m},c.value),[c.disabled,c.value,m]),{onNativeOptionAdd:_,onNativeOptionRemove:y}=l;return Um(()=>(_(h),()=>y(h)),[_,y,h]),(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(Th.span,{id:c.textId,...a,ref:p}),c.isSelected&&o.valueNode&&!o.valueNodeHasChildren&&!Bk(o.value)?x.createPortal(a.children,o.valueNode):null]})},`SelectItemText`)),Ak=`SelectItemIndicator`,jk=g.forwardRef(VO(function(e,t){let{__scopeSelect:n,...r}=e;return Ek(Ak,n).isSelected?(0,v.jsx)(Th.span,{"aria-hidden":!0,...r,ref:t}):null},`SelectItemIndicator`)),Mk=`SelectScrollUpButton`,Nk=g.forwardRef(VO(function(e,t){let n=hk(Mk,e.__scopeSelect),r=xk(Mk,e.__scopeSelect),[i,a]=g.useState(!1),o=Lm(t,r.onScrollButtonChange);return Um(()=>{if(n.viewport&&n.isPositioned){let e=function(){let e=t.scrollTop>0;a(e)};VO(e,`handleScroll`);let t=n.viewport;return e(),t.addEventListener(`scroll`,e),()=>t.removeEventListener(`scroll`,e)}},[n.viewport,n.isPositioned]),i?(0,v.jsx)(Ik,{...e,ref:o,onAutoScroll:()=>{let{viewport:e,selectedItem:t}=n;e&&t&&(e.scrollTop-=t.offsetHeight)}}):null},`SelectScrollUpButton`)),Pk=`SelectScrollDownButton`,Fk=g.forwardRef(VO(function(e,t){let n=hk(Pk,e.__scopeSelect),r=xk(Pk,e.__scopeSelect),[i,a]=g.useState(!1),o=Lm(t,r.onScrollButtonChange);return Um(()=>{if(n.viewport&&n.isPositioned){let e=function(){let e=t.scrollHeight-t.clientHeight,n=Math.ceil(t.scrollTop)<e;a(n)};VO(e,`handleScroll`);let t=n.viewport;return e(),t.addEventListener(`scroll`,e),()=>t.removeEventListener(`scroll`,e)}},[n.viewport,n.isPositioned]),i?(0,v.jsx)(Ik,{...e,ref:o,onAutoScroll:()=>{let{viewport:e,selectedItem:t}=n;e&&t&&(e.scrollTop+=t.offsetHeight)}}):null},`SelectScrollDownButton`)),Ik=g.forwardRef(VO(function(e,t){let{__scopeSelect:n,onAutoScroll:r,...i}=e,a=hk(`SelectScrollButton`,n),o=g.useRef(null),s=KO(n),c=g.useCallback(()=>{o.current!==null&&(window.clearInterval(o.current),o.current=null)},[]);return g.useEffect(()=>()=>c(),[c]),Um(()=>{s().find(e=>e.ref.current===document.activeElement)?.ref.current?.scrollIntoView({block:`nearest`})},[s]),(0,v.jsx)(Th.div,{"aria-hidden":!0,...i,ref:t,style:{flexShrink:0,...i.style},onPointerDown:Om(i.onPointerDown,()=>{o.current===null&&(o.current=window.setInterval(r,50))}),onPointerMove:Om(i.onPointerMove,()=>{a.onItemLeave?.(),o.current===null&&(o.current=window.setInterval(r,50))}),onPointerLeave:Om(i.onPointerLeave,()=>{c()})})},`SelectScrollButtonImpl`)),Lk=`SelectBubbleInput`,Rk=g.forwardRef(VO(function({__scopeSelect:e,...t},n){let r=ZO(Lk,e),{value:i,onValueChange:a,required:o,disabled:s,name:c,autoComplete:l,form:u}=r,{nativeOptions:d,nativeSelectKey:f}=r,p=g.useRef(null),m=Lm(n,p),h=i??``,_=FO(h),y=Array.from(d).some(e=>(e.props.value??``)===``);return g.useEffect(()=>{let e=p.current;if(!e)return;let t=window.HTMLSelectElement.prototype,n=Object.getOwnPropertyDescriptor(t,`value`).set;if(_!==h&&n){let t=new Event(`change`,{bubbles:!0});n.call(e,h),e.dispatchEvent(t)}},[_,h]),(0,v.jsxs)(Th.select,{"aria-hidden":!0,required:o,tabIndex:-1,name:c,autoComplete:l,disabled:s,form:u,onChange:e=>a(e.target.value),...t,style:{...RO,...t.style},ref:m,defaultValue:h,children:[Bk(i)&&!y?(0,v.jsx)(`option`,{value:``}):null,Array.from(d)]},f)},`SelectBubbleInput`));function zk(e){return typeof e==`function`}VO(zk,`isFunction`);function Bk(e){return e===``||e===void 0}VO(Bk,`shouldShowPlaceholder`);function Vk(e){let t=kh(e),n=g.useRef(``),r=g.useRef(0),i=g.useCallback(e=>{let i=n.current+e;t(i),VO((function e(t){n.current=t,window.clearTimeout(r.current),t!==``&&(r.current=window.setTimeout(()=>e(``),1e3))}),`updateSearch`)(i)},[t]),a=g.useCallback(()=>{n.current=``,window.clearTimeout(r.current)},[]);return g.useEffect(()=>()=>window.clearTimeout(r.current),[]),[n,i,a]}VO(Vk,`useTypeaheadSearch`);function Hk(e,t,n){let r=t.length>1&&Array.from(t).every(e=>e===t[0])?t[0]:t,i=n?e.indexOf(n):-1,a=Uk(e,Math.max(i,0));r.length===1&&(a=a.filter(e=>e!==n));let o=a.find(e=>e.textValue.toLowerCase().startsWith(r.toLowerCase()));return o===n?void 0:o}VO(Hk,`findNextItem`);function Uk(e,t){return e.map((n,r)=>e[(t+r)%e.length])}VO(Uk,`wrapArray`);function Wk({id:e,ariaLabel:t,value:n,placeholder:r=`请选择`,options:i,disabled:a=!1,className:o=``,onValueChange:s}){let[c,l]=(0,g.useState)(!1),u=i.find(e=>e.value===n);return(0,v.jsxs)(tk,{value:n||void 0,open:c,disabled:a,onOpenChange:l,onValueChange:e=>{l(!1),s(e)},children:[(0,v.jsxs)(rk,{id:e,className:`studio-select-trigger${o?` ${o}`:``}`,"aria-label":t,title:u?.label||r,children:[(0,v.jsx)(ak,{placeholder:r,children:u?.label}),(0,v.jsx)(ok,{className:`studio-select-chevron`,children:(0,v.jsx)(qf,{size:15})})]}),(0,v.jsx)(lk,{children:(0,v.jsxs)(dk,{className:`studio-select-content`,position:`popper`,sideOffset:5,collisionPadding:10,children:[(0,v.jsx)(Nk,{className:`studio-select-scroll`,children:(0,v.jsx)(Xf,{size:14})}),(0,v.jsx)(Ck,{className:`studio-select-viewport`,children:i.map(e=>(0,v.jsxs)(Dk,{value:e.value,disabled:e.disabled,className:`studio-select-item`,children:[(0,v.jsx)(kk,{children:(0,v.jsxs)(`span`,{className:`studio-select-item-copy`,children:[(0,v.jsx)(`span`,{children:e.label}),e.description&&(0,v.jsx)(`small`,{children:e.description})]})}),(0,v.jsx)(jk,{className:`studio-select-check`,children:(0,v.jsx)(Kf,{size:14})})]},e.value))}),(0,v.jsx)(Fk,{className:`studio-select-scroll`,children:(0,v.jsx)(qf,{size:14})})]})})]})}function Gk(e){return e.spec?.runtime?.type===`codex`}function Kk({agents:e,runtimeReady:t,runtimeChecked:n=!0,workspaceName:r,onCreate:i,onQuickCreate:a,onDetail:o,onChat:s,onBuild:c,onChanged:l}){let[u,d]=(0,g.useState)(``),[f,p]=(0,g.useState)(``),[m,h]=(0,g.useState)(null),[_,y]=(0,g.useState)(!1),[b,x]=(0,g.useState)(``),[S,C]=(0,g.useState)({});(0,g.useEffect)(()=>{let t=new AbortController;for(let n of e){let e=n.metadata.id;n.builds||S[e]||q(`/api/v1/agents/${encodeURIComponent(e)}`,{signal:t.signal}).then(e=>e.ok?e.json():null).then(n=>{n&&!t.signal.aborted&&C(t=>({...t,[e]:n.builds||[]}))}).catch(()=>void 0)}return()=>t.abort()},[e,S]);let w=(0,g.useMemo)(()=>e.map(e=>e.builds?e:{...e,builds:S[e.metadata.id]}),[e,S]),T=(0,g.useMemo)(()=>w.filter(e=>{let t=!!e.builds?.some(e=>e.status===`SUCCEEDED`),n=u.trim().toLowerCase();return(!n||e.metadata.name.toLowerCase().includes(n)||e.metadata.id.toLowerCase().includes(n))&&(!f||f===`built`&&t||f===`draft`&&!t)}),[e,u,f]),E=(0,g.useMemo)(()=>[{id:`agent`,header:`Agent`,minWidth:220,className:`agent-name-column`,headerClassName:`agent-name-column`,cell:e=>{let t=e.metadata.labels?.[`agentkit.ksyun.com/template`]||`blank`;return(0,v.jsxs)(`div`,{className:`agent-cell`,children:[(0,v.jsx)(vb,{name:e.metadata.name,appearance:e.metadata.appearance,template:t}),(0,v.jsxs)(`div`,{className:`agent-cell-copy`,children:[(0,v.jsx)(`strong`,{children:e.metadata.name}),(0,v.jsx)(`span`,{children:e.metadata.id})]})]})}},{id:`template`,header:`运行时`,minWidth:100,className:`agent-runtime-column`,headerClassName:`agent-runtime-column`,cell:e=>{let t=e.spec?.runtime?.type||e.metadata.labels?.[`agentkit.ksyun.com/framework`]||`adk`,n=e.metadata.labels?.[`agentkit.ksyun.com/source-framework`],r=n&&n!==t?`${n} · ${t}`:t;return(0,v.jsx)(`span`,{className:`tag mono`,title:n?`源码框架 ${n},执行适配器 ${t}`:void 0,children:r})}},{id:`capabilities`,header:`能力`,minWidth:170,className:`agent-capabilities-column`,headerClassName:`agent-capabilities-column`,cell:e=>{let t=e.spec?.bindings||{};return(0,v.jsxs)(`div`,{className:`resource-counts`,children:[t.tools?.length?(0,v.jsxs)(`span`,{children:[t.tools.length,` Tool`]}):null,t.mcpServers?.length?(0,v.jsxs)(`span`,{children:[t.mcpServers.length,` MCP`]}):null,t.skills?.length?(0,v.jsxs)(`span`,{children:[t.skills.length,` Skill`]}):null,!t.tools?.length&&!t.mcpServers?.length&&!t.skills?.length&&(0,v.jsx)(`span`,{className:`resource-count-empty`,children:`—`})]})}},{id:`revision`,header:`版本`,width:84,className:`agent-revision-column`,headerClassName:`agent-revision-column`,cell:e=>(0,v.jsxs)(`span`,{className:`mono`,children:[`r`,e.metadata.revision]})},{id:`build`,header:`最近校验 / 构建`,width:108,className:`agent-build-column`,headerClassName:`agent-build-column`,cell:e=>e.builds?.some(e=>e.status===`SUCCEEDED`)?(0,v.jsx)(`span`,{className:`badge`,"data-state":`ready`,children:`已构建`}):(0,v.jsx)(`span`,{className:`badge`,"data-state":`idle`,children:`草稿`})},{id:`actions`,header:`操作`,minWidth:108,className:`actions-column agent-actions-column`,headerClassName:`actions-column agent-actions-column`,cell:e=>(0,v.jsxs)(`div`,{className:`row-actions`,children:[(0,v.jsx)(`button`,{className:`button secondary small`,type:`button`,onClick:()=>s(e.metadata.id),children:`会话`}),(0,v.jsx)(MT,{label:`${e.metadata.name} 的更多操作`,items:[{label:`配置`,onSelect:()=>o(e.metadata.id)},{label:Gk(e)?`校验声明`:`构建`,onSelect:()=>c(e.metadata.id)},{label:`删除`,danger:!0,onSelect:()=>h(e)}]})]})}],[c,s,o]);async function D(){if(m){y(!0),x(``);try{let e=await q(`/api/v1/agents/${encodeURIComponent(m.metadata.id)}`,{method:`DELETE`});if(!e.ok){let t=await e.text().catch(()=>``),n=`删除失败(${e.status})`;try{n=JSON.parse(t)?.error?.message||n}catch{}throw Error(n)}}catch(e){x(e.message||`删除失败`)}y(!1),h(null),l()}}return(0,v.jsxs)(`div`,{className:`page-container agents-page`,"data-layout":`data`,children:[(0,v.jsxs)(FT,{children:[a&&(0,v.jsxs)(`button`,{className:`button secondary`,type:`button`,disabled:!t,onClick:a,title:`使用默认模板、模型和权限直接创建并打开会话`,children:[(0,v.jsx)(_b,{name:`add`,size:16}),(0,v.jsx)(`span`,{children:`快速创建`})]}),(0,v.jsxs)(`button`,{className:`button accent`,type:`button`,disabled:!t,onClick:i,children:[(0,v.jsx)(_b,{name:`add`,size:16}),(0,v.jsx)(`span`,{children:`创建 Agent`})]})]}),(0,v.jsxs)(`div`,{className:`data-page-body table-data-body`,children:[b&&(0,v.jsx)(`div`,{className:`form-error`,style:{marginBottom:16},children:b}),n&&!t&&(0,v.jsxs)(`div`,{className:`compact-status-alert`,role:`alert`,children:[(0,v.jsx)(`strong`,{children:`本地 Runtime 连接失败`}),(0,v.jsx)(`span`,{children:`请确认本地服务正在运行,然后刷新页面。`})]}),(0,v.jsxs)(`section`,{className:`agents-catalog-section block`,"aria-labelledby":`agents-catalog-title`,children:[(0,v.jsxs)(`header`,{className:`agents-catalog-header`,children:[(0,v.jsx)(`h2`,{id:`agents-catalog-title`,className:`sr-only`,children:`Agent 列表`}),(0,v.jsx)(`div`,{className:`agents-catalog-meta`,children:(0,v.jsx)(`span`,{children:T.length===e.length?`${e.length} 个 Agent`:`${T.length} / ${e.length} 个 Agent`})})]}),(0,v.jsxs)(`div`,{className:`section-toolbar`,children:[(0,v.jsxs)(`div`,{className:`search-field`,children:[(0,v.jsx)(_b,{name:`search`,size:15}),(0,v.jsx)(`input`,{type:`search`,placeholder:`搜索 Agent 名称或 ID`,"aria-label":`搜索 Agent`,value:u,onChange:e=>d(e.target.value)})]}),(0,v.jsx)(Wk,{className:`compact-select`,ariaLabel:`筛选 Agent 状态`,value:f||`__all__`,options:[{value:`__all__`,label:`全部状态`},{value:`built`,label:`已构建`},{value:`draft`,label:`草稿`}],onValueChange:e=>p(e===`__all__`?``:e)})]}),(0,v.jsx)(kO,{columns:E,data:T,getRowId:e=>e.metadata.id,caption:`Agent 列表`,minWidth:0,onRowActivate:e=>o(e.metadata.id),rowAriaLabel:e=>`${e.metadata.name} ${e.metadata.id}`,empty:{icon:(0,v.jsx)(_b,{name:`cpu`,size:24}),title:u||f?`没有匹配的 Agent`:`还没有 Agent`,description:u||f?`调整搜索词或状态筛选。`:`创建第一个可运行的 Agent。`,action:u||f?(0,v.jsx)(`button`,{className:`button secondary`,type:`button`,onClick:()=>{d(``),p(``)},children:`清除筛选`}):void 0}})]})]}),m&&(0,v.jsx)(Db,{title:`确认删除 Agent「${m.metadata.name}」?`,description:`Agent ID:${m.metadata.id}。删除后其配置与 Revision 将移除,此操作不可撤销。`,confirmText:`确认删除`,busy:_,onConfirm:D,onCancel:()=>h(null)})]})}var qk=`plugin://io.ksadk.codex-provider@1.0.0`;function Jk({provider:e,approved:t,onChange:n}){return(0,v.jsxs)(`div`,{className:`template-specific`,children:[(0,v.jsx)(`strong`,{children:`Codex 本地执行权限`}),e?.selectable?null:(0,v.jsx)(`p`,{children:e?.reason?.message||`请在插件中心安装并启用官方 Codex Provider,再构建本地 Agent。`}),e?.permissions.length?(0,v.jsxs)(`label`,{className:`post-create-option`,children:[(0,v.jsx)(`input`,{type:`checkbox`,checked:t,onChange:e=>n(e.target.checked)}),(0,v.jsxs)(`span`,{children:[(0,v.jsx)(`strong`,{children:`确认 Codex Provider 请求的权限`}),(0,v.jsxs)(`small`,{children:[e.permissions.map(e=>e===`process:host-user`?`允许 Codex 以当前系统用户启动本地进程`:e).join(`、`),`;官方 Codex Runtime 默认授权并写入此 Agent,可在创建前取消。外部 Provider 不继承该授权。`]})]})]}):null]})}var Yk=(0,g.lazy)(()=>s(()=>import(`./PrismRenderer-5pK6tUdb.js`),__vite__mapDeps([9,1,2,10])));function Xk({code:e,language:t=`text`,filename:n,wrap:r=!1,showLineNumbers:i=!0}){let[a,o]=(0,g.useState)(r),[s,c]=(0,g.useState)(!1);(0,g.useEffect)(()=>o(r),[r]);async function l(){navigator.clipboard?.writeText&&(await navigator.clipboard.writeText(e),c(!0),window.setTimeout(()=>c(!1),1600))}let u=n?`${n} 源码`:`${t||`text`} 代码`;return(0,v.jsxs)(`section`,{className:`code-viewer`,role:`region`,"aria-label":u,"data-code-theme":`studio`,"data-wrap":String(a),children:[(0,v.jsxs)(`header`,{className:`code-viewer-toolbar`,children:[(0,v.jsxs)(`div`,{children:[n&&(0,v.jsx)(`strong`,{title:n,children:n}),(0,v.jsx)(`span`,{children:t||`text`})]}),(0,v.jsxs)(`div`,{className:`code-viewer-actions`,children:[(0,v.jsx)(`button`,{className:`icon-button tertiary`,type:`button`,"aria-label":a?`取消自动换行`:`自动换行`,title:a?`取消自动换行`:`自动换行`,"aria-pressed":a,onClick:()=>o(e=>!e),children:(0,v.jsx)(pm,{size:15})}),(0,v.jsx)(`button`,{className:`icon-button tertiary`,type:`button`,"aria-label":s?`已复制`:`复制代码`,title:s?`已复制`:`复制代码`,onClick:()=>void l(),children:s?(0,v.jsx)(Kf,{size:15}):(0,v.jsx)(up,{size:15})})]})]}),(0,v.jsx)(`div`,{className:`code-viewer-scroll`,children:(0,v.jsx)(g.Suspense,{fallback:(0,v.jsx)(`pre`,{className:`code-viewer-fallback`,children:(0,v.jsx)(`code`,{children:e})}),children:(0,v.jsx)(Yk,{code:e,language:t||`text`,showLineNumbers:i})})})]})}function Zk({inspection:e,project:t=!1}){return(0,v.jsxs)(`div`,{className:`authoring-inspection-summary`,children:[(0,v.jsxs)(`dl`,{children:[(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`dt`,{children:`框架`}),(0,v.jsx)(`dd`,{children:e.runtimeType||`待确认`})]}),t?(0,v.jsxs)(v.Fragment,{children:[(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`dt`,{children:`项目路径`}),(0,v.jsx)(`dd`,{children:e.projectPath||`.`})]}),(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`dt`,{children:`入口`}),(0,v.jsx)(`dd`,{children:e.entryPoint||`使用框架默认入口`})]})]}):(0,v.jsxs)(v.Fragment,{children:[(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`dt`,{children:`文件格式`}),(0,v.jsx)(`dd`,{children:e.kind?.toUpperCase()||`Agent`})]}),Array.isArray(e.files)&&(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`dt`,{children:`文件数量`}),(0,v.jsx)(`dd`,{children:e.files.length})]})]})]}),(0,v.jsxs)(`details`,{className:`secondary-settings`,children:[(0,v.jsx)(`summary`,{children:`查看完整检查结果`}),(0,v.jsx)(Xk,{code:JSON.stringify(e,null,2),language:`json`,filename:t?`project-inspection.json`:`agent-import-inspection.json`,showLineNumbers:!0})]})]})}var Qk=e=>e.type===`checkbox`,$k=e=>e.type===`file`,eA=e=>e instanceof Date,tA=e=>e==null,nA=e=>typeof e==`object`,rA=e=>!tA(e)&&!Array.isArray(e)&&nA(e)&&!eA(e),iA=e=>rA(e)&&e.target?Qk(e.target)?e.target.checked:$k(e.target)?e.target.files:e.target.value:e,aA=(e,t)=>t.split(`.`).some((t,n,r)=>!isNaN(Number(t))&&e.has(r.slice(0,n).join(`.`))),oA=e=>{let t=e.constructor&&e.constructor.prototype;return rA(t)&&t.hasOwnProperty(`isPrototypeOf`)},sA=typeof window<`u`&&window.HTMLElement!==void 0&&typeof document<`u`;function cA(e){if(e instanceof Date)return new Date(e);let t=typeof FileList<`u`&&e instanceof FileList;if(sA&&(e instanceof Blob||t))return e;let n=Array.isArray(e);if(!n&&!(rA(e)&&oA(e)))return e;let r=n?[]:Object.create(Object.getPrototypeOf(e));for(let t in e)Object.prototype.hasOwnProperty.call(e,t)&&(r[t]=cA(e[t]));return r}var lA={BLUR:`blur`,FOCUS_OUT:`focusout`,CHANGE:`change`,SUBMIT:`submit`,TRIGGER:`trigger`,VALID:`valid`},uA={onBlur:`onBlur`,onChange:`onChange`,onSubmit:`onSubmit`,onTouched:`onTouched`,all:`all`},dA={max:`max`,min:`min`,maxLength:`maxLength`,minLength:`minLength`,pattern:`pattern`,required:`required`,validate:`validate`},fA=`root`,pA=[`__proto__`,`constructor`,`prototype`],mA=/^\w*$/,hA=e=>mA.test(e),gA=e=>e===void 0,_A=/[.[\]'"]/,vA=e=>e.split(_A).filter(Boolean),yA=(e,t,n)=>{if(!t||!rA(e))return n;let r=hA(t)?[t]:vA(t);if(r.some(e=>pA.includes(e)))return n;let i=r.reduce((e,t)=>tA(e)?void 0:e[t],e);return gA(i)||i===e?gA(e[t])?n:e[t]:i},bA=e=>typeof e==`boolean`,xA=e=>typeof e==`function`,SA=(e,t,n)=>{let r=-1,i=hA(t)?[t]:vA(t),a=i.length,o=a-1;for(;++r<a;){let t=i[r],a=n;if(r!==o){let n=e[t];a=rA(n)||Array.isArray(n)?n:isNaN(+i[r+1])?{}:[]}if(pA.includes(t))return;e[t]=a,e=e[t]}},CA=g.createContext(null);CA.displayName=`HookFormControlContext`;var wA=(e,t,n,r=!0)=>{let i={};for(let a in e)Object.defineProperty(i,a,{get:()=>{let i=a;return t._proxyFormState[i]!==uA.all&&(t._proxyFormState[i]=!r||uA.all),n&&(n[i]=!0),e[i]}});return i},TA=sA?g.useLayoutEffect:g.useEffect,EA=e=>tA(e)||!nA(e),DA=(e,t)=>t.length===0&&!Array.isArray(e)&&!oA(e);function OA(e,t,n=new WeakMap){if(e===t)return!0;if(EA(e)||EA(t))return Object.is(e,t);if(eA(e)&&eA(t))return Object.is(e.getTime(),t.getTime());let r=Object.keys(e),i=Object.keys(t);if(r.length!==i.length)return!1;if(DA(e,r)||DA(t,i))return Object.is(e,t);if(!r.length&&Array.isArray(e)!==Array.isArray(t))return!1;let a=n.get(e);if(a&&a.has(t))return!0;if(a)a.add(t);else{let r=new WeakSet;r.add(t),n.set(e,r)}for(let i of r){let r=e[i];if(!(i in t))return!1;if(i!==`ref`){let e=t[i];if(eA(r)&&eA(e)||(rA(r)||Array.isArray(r))&&(rA(e)||Array.isArray(e))?!OA(r,e,n):!Object.is(r,e))return!1}}return!0}function kA(){let e=g.useRef(!1),t=g.useRef(void 0);return{resyncIfNeeded:g.useCallback((n,r,i)=>{if(n&&e.current){let e=r();OA(t.current,e)||i(e)}e.current=!0},[]),snapshot:g.useCallback((e,n)=>{e&&(t.current=cA(n()))},[])}}var AA=e=>typeof e==`string`,jA=(e,t,n,r,i)=>AA(e)?(r&&t.watch.add(e),yA(n,e,i)):Array.isArray(e)?e.map(e=>(r&&t.watch.add(e),yA(n,e))):(r&&(t.watchAll=!0),n),MA=e=>({isOnSubmit:!e||e===uA.onSubmit,isOnBlur:e===uA.onBlur,isOnChange:e===uA.onChange,isOnAll:e===uA.all,isOnTouch:e===uA.onTouched}),NA=(e,t,n)=>{if(n)return!1;if(t.watchAll||t.watch.has(e))return!0;for(let n of t.watch)if(e.startsWith(n)&&e.charAt(n.length)===`.`)return!0;return!1},PA=(e,t,n,r)=>{for(let i of n||Object.keys(e)){if(i===`_f`)continue;let a=n?yA(e,i):e[i];if(a){let{_f:e}=a;if(e){if(e.refs&&e.refs[0]&&t(e.refs[0],i)&&!r||e.ref&&t(e.ref,e.name)&&!r)return!0;if(PA(a,t))break}else if((rA(a)||Array.isArray(a))&&PA(a,t))break}}},FA=(e,t,n)=>{let r=yA(e,n),i=Array.isArray(r)?r:[];return SA(i,fA,t[n]),SA(e,n,i),e},IA=e=>rA(e)&&!Object.keys(e).length,LA=e=>{if(!sA)return!1;let t=e?e.ownerDocument:0;return e instanceof(t&&t.defaultView?t.defaultView.HTMLElement:HTMLElement)},RA=e=>e.type===`radio`,zA=e=>e instanceof RegExp,BA=(e,t,n,r,i)=>t?{...n[e],types:{...n[e]&&n[e].types?n[e].types:{},[r]:i||!0}}:{},VA={value:!1,isValid:!1},HA={value:!0,isValid:!0},UA=e=>{if(Array.isArray(e)){if(e.length>1){let t=e.filter(e=>e&&e.checked&&!e.disabled).map(e=>e.value);return{value:t,isValid:!!t.length}}return e[0].checked&&!e[0].disabled?e[0].attributes&&!gA(e[0].attributes.value)?gA(e[0].value)||e[0].value===``?HA:{value:e[0].value,isValid:!0}:HA:VA}return VA},WA={isValid:!1,value:null},GA=e=>Array.isArray(e)?e.reduce((e,t)=>t&&t.checked&&!t.disabled?{isValid:!0,value:t.value}:e,WA):WA;function KA(e,t,n=`validate`){if(AA(e)||Array.isArray(e)&&e.every(AA)||bA(e)&&!e)return{type:n,message:AA(e)?e:``,ref:t}}var qA=e=>rA(e)&&!zA(e)?e:{value:e,message:``},JA=async(e,t,n,r,i,a)=>{let{ref:o,refs:s,required:c,maxLength:l,minLength:u,min:d,max:f,pattern:p,validate:m,name:h,valueAsNumber:g,mount:_}=e._f,v=yA(n,h);if(!_||t.has(h))return{};let y=s?s[0]:o,b=e=>{if(i&&y.reportValidity){let t=bA(e)?``:e||``;s?s.forEach(e=>e.setCustomValidity(t)):y.setCustomValidity(t),y.reportValidity()}},x={},S=RA(o),C=Qk(o),w=S||C,T=(g||$k(o))&&gA(o.value)&&gA(v)||LA(o)&&o.value===``||v===``||Array.isArray(v)&&!v.length,E=BA.bind(null,h,r,x),D=(e,t,n,r=dA.maxLength,i=dA.minLength)=>{let a=e?t:n;x[h]={type:e?r:i,message:a,ref:o,...E(e?r:i,a)}};if(a?!Array.isArray(v)||!v.length:c&&(!w&&(T||tA(v))||bA(v)&&!v||C&&!UA(s).isValid||S&&!GA(s).isValid)){let{value:e,message:t}=AA(c)?{value:!!c,message:c}:qA(c);if(e&&(x[h]={type:dA.required,message:t,ref:y,...E(dA.required,t)},!r))return b(t),x}if(!T&&(!tA(d)||!tA(f))){let e,t,n=qA(f),i=qA(d);if(!tA(v)&&!eA(v)&&!isNaN(v)){let r=o.valueAsNumber||v&&+v;tA(n.value)||(e=r>n.value),tA(i.value)||(t=r<i.value)}else{let r=o.valueAsDate||new Date(v),a=e=>new Date(new Date().toDateString()+` `+e),s=o.type==`time`,c=o.type==`week`;AA(n.value)&&v&&(e=s?a(v)>a(n.value):c?v>n.value:r>new Date(n.value)),AA(i.value)&&v&&(t=s?a(v)<a(i.value):c?v<i.value:r<new Date(i.value))}if((e||t)&&(D(!!e,n.message,i.message,dA.max,dA.min),!r))return b(x[h].message),x}if((l||u)&&!T&&(AA(v)||a&&Array.isArray(v))){let e=qA(l),t=qA(u),n=!tA(e.value)&&v.length>+e.value,i=!tA(t.value)&&v.length<+t.value;if((n||i)&&(D(n,e.message,t.message),!r))return b(x[h].message),x}if(p&&!T&&AA(v)){let{value:e,message:t}=qA(p);if(zA(e)&&!v.match(e)&&(x[h]={type:dA.pattern,message:t,ref:o,...E(dA.pattern,t)},!r))return b(t),x}if(m){if(xA(m)){let e=KA(await m(v,n),y);if(e&&(x[h]={...e,...E(dA.validate,e.message)},!r))return b(e.message),x}else if(rA(m)){let e={};for(let t in m){if(!IA(e)&&!r)break;let i=KA(await m[t](v,n),y,t);i&&(e={...i,...E(t,i.message)},b(i.message),r&&(x[h]=e))}if(!IA(e)&&(x[h]={ref:y,...e},!r))return x}}return b(!0),x},YA=e=>Array.isArray(e)?e:[e],XA=e=>Array.isArray(e)?e.filter(Boolean):[];function ZA(e,t){let n=t.length-1,r=0;for(;r<n;){if(tA(e)){e=void 0;break}e=e[t[r]],r++}return e}function QA(e){for(let t in e)if(e.hasOwnProperty(t)&&!gA(e[t]))return!1;return!0}function $A(e,t){if(AA(t)&&Object.prototype.hasOwnProperty.call(e,t))return delete e[t],e;let n=Array.isArray(t)?t:hA(t)?[t]:vA(t);if(n.some(e=>pA.includes(String(e))))return e;let r=n.length===1?e:ZA(e,n),i=n.length-1,a=n[i];return r&&delete r[a],i!==0&&(rA(r)&&IA(r)||Array.isArray(r)&&QA(r))&&$A(e,n.slice(0,-1)),e}var ej=e=>{let t={};for(let n of Object.keys(e))if(nA(e[n])&&e[n]!==null&&!eA(e[n])){let r=ej(e[n]);for(let e of Object.keys(r))t[`${n}.${e}`]=r[e]}else t[n]=e[n];return t},tj=g.createContext(null);tj.displayName=`HookFormContext`;var nj=({children:e,watch:t,getValues:n,getFieldState:r,setError:i,clearErrors:a,setValue:o,setValues:s,trigger:c,formState:l,resetField:u,reset:d,resetDefaultValues:f,handleSubmit:p,unregister:m,control:h,register:_,setFocus:v,subscribe:y})=>{let b=g.useMemo(()=>({watch:t,getValues:n,getFieldState:r,setError:i,clearErrors:a,setValue:o,setValues:s,trigger:c,formState:l,resetField:u,reset:d,resetDefaultValues:f,handleSubmit:p,unregister:m,control:h,register:_,setFocus:v,subscribe:y}),[a,h,l,r,n,p,_,d,f,u,i,v,o,s,y,c,m,t]);return g.createElement(tj.Provider,{value:b},g.createElement(CA.Provider,{value:b.control},e))},rj=()=>{let e=[];return{get observers(){return e},next:t=>{for(let n of e)n.next&&n.next(t)},subscribe:t=>(e.push(t),{unsubscribe:()=>{e=e.filter(e=>e!==t)}}),unsubscribe:()=>{e=[]}}};function ij(e,t){let n={};for(let r in e)if(e.hasOwnProperty(r)){let i=e[r],a=t[r];if(i&&rA(i)&&a){let e=ij(i,a);rA(e)&&(n[r]=e)}else e[r]&&(n[r]=a)}return n}var aj=e=>e.type===`select-multiple`,oj=e=>RA(e)||Qk(e),sj=e=>LA(e)&&e.isConnected;function cj(e){return Array.isArray(e)||rA(e)}function lj(e,t,n=``,r=[]){for(let i in e){let a=n?`${n}.${i}`:i,o=e[i];cj(o)&&cj(yA(t,a))?lj(o,t,a,r):r.push(a)}return r}var uj=e=>{for(let t in e)if(xA(e[t]))return!0;return!1};function dj(e){return Array.isArray(e)||rA(e)&&!uj(e)}function fj(e){return!!(e&&`_f`in e)}function pj(e){return Array.isArray(e)?!e.some(e=>!gA(e)):!Object.keys(e).length}function mj(e,t){Array.isArray(e)?e[t]=void 0:delete e[t]}function hj(e,t={},n){for(let r in e){let i=e[r],a=n&&n[r];dj(i)&&(!Array.isArray(i)||!fj(a))?(t[r]=Array.isArray(i)?[]:{},hj(i,t[r],a),pj(t[r])&&mj(t,r)):gA(i)||(t[r]=!0)}return t}function gj(e,t,n,r){n||=hj(t,{},r);for(let i in e){let a=e[i],o=r&&r[i];dj(a)&&(!Array.isArray(a)||!fj(o))?(gA(t)||EA(n[i])?n[i]=hj(a,Array.isArray(a)?[]:{},o):gj(a,tA(t)?{}:t[i],n[i],o),pj(n[i])&&mj(n,i)):OA(a,t[i])?mj(n,i):n[i]=!0}return n}var _j=(e,{valueAsNumber:t,valueAsDate:n,setValueAs:r})=>gA(e)?e:t?e===``?NaN:e&&+e:n&&AA(e)?new Date(e):r?r(e):e;function vj(e){let t=e.ref;return $k(t)?t.files:RA(t)?GA(e.refs).value:aj(t)?[...t.selectedOptions].map(({value:e})=>e):Qk(t)?UA(e.refs).value:_j(t.value,e)}var yj=(e,t,n,r)=>{let i={};for(let n of e){let e=yA(t,n);e&&SA(i,n,e._f)}return{criteriaMode:n,names:[...e],fields:i,shouldUseNativeValidation:r}},bj=e=>gA(e)?e:zA(e)?e.source:rA(e)?zA(e.value)?e.value.source:e.value:e,xj=`AsyncFunction`,Sj=e=>{if(!e||!e.validate)return!1;if(xA(e.validate))return e.validate.constructor.name===xj;if(rA(e.validate)){for(let t in e.validate)if(e.validate[t].constructor.name===xj)return!0}return!1},Cj=e=>e.mount&&(e.required||e.min||e.max||e.maxLength||e.minLength||e.pattern||e.validate);function wj(e,t,n){let r=yA(e,n);if(r||hA(n))return{error:r,name:n};let i=n.split(`.`);for(;i.length;){let r=i.join(`.`),a=yA(t,r),o=yA(e,r);if(a&&!Array.isArray(a)&&n!==r)return{name:n};if(o&&o.type)return{name:r,error:o};if(o&&o.root&&o.root.type)return{name:`${r}.root`,error:o.root};i.pop()}return{name:n}}var Tj=(e,t,n,r)=>{n(e);let i=Object.keys(e).filter(e=>e!==`name`);return!i.length||r&&i.length>=Object.keys(t).length||i.find(e=>t[e]===(!r||uA.all))},Ej=(e,t,n)=>!e||!t||e===t||YA(e).some(e=>e&&(n?e===t||e.startsWith(t+`.`):e.startsWith(t)||t.startsWith(e))),Dj=(e,t,n,r,i)=>i.isOnAll?!1:!n&&i.isOnTouch?!(t||e):(n?r.isOnBlur:i.isOnBlur)?!e:!(n?r.isOnChange:i.isOnChange)||e,Oj=(e,t)=>{let n=yA(e,t);!XA(n).length&&!n?.root&&$A(e,t)},kj={mode:uA.onSubmit,reValidateMode:uA.onChange,shouldFocusError:!0},Aj=`form`,jj=(e,t)=>{for(let n in e)n in t||delete e[n];Object.assign(e,t)},Mj={submitCount:0,isDirty:!1,isReady:!1,isValidating:!1,isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,touchedFields:{},dirtyFields:{},validatingFields:{}};function Nj(e={}){let t={...kj,...e},n={...cA(Mj),isLoading:xA(t.defaultValues),errors:t.errors||{},disabled:t.disabled||!1},r={},i=(rA(t.defaultValues)||rA(t.values))&&cA(t.defaultValues||t.values)||{},a=t.shouldUnregister?{}:cA(i),o={action:!1,actionArrayLengths:new Map,mount:!1,watch:!1,keepIsValid:!1},s={mount:new Set,disabled:new Set,unMount:new Set,array:new Set,watch:new Set,registerName:new Set},c={},l={},u=0,d=MA(t.mode),f=MA(t.reValidateMode),p={isDirty:!1,dirtyFields:!1,validatingFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1},m={...p},h={...m},g={array:rj(),state:rj()},_=0,v=t.criteriaMode===uA.all,y=(e,t)=>n=>{clearTimeout(l[e]),l[e]=setTimeout(t,n)},b=async e=>{if(!o.keepIsValid&&!t.disabled&&(m.isValid||h.isValid||e)){let e=++_,i;t.resolver?(i=IA((await j()).errors),e===_&&x()):i=await P({fields:r,onlyCheckValid:!0,eventType:lA.VALID}),e===_&&i!==n.isValid&&g.state.next({isValid:i})}},x=(e,r)=>{!t.disabled&&(m.isValidating||m.validatingFields||h.isValidating||h.validatingFields)&&((e||Array.from(s.mount)).forEach(e=>{e&&(r?SA(n.validatingFields,e,r):$A(n.validatingFields,e))}),g.state.next({validatingFields:n.validatingFields,isValidating:!IA(n.validatingFields)}))},S=()=>{n.dirtyFields=gj(i,a,void 0,r)},C=(e,i=[],s,c,l=!0,u=!0)=>{if(c&&s&&!t.disabled){if(o.action=!0,!o.actionArrayLengths.has(e)){let t=yA(r,e);o.actionArrayLengths.set(e,Array.isArray(t)?t.length:0)}if(u&&Array.isArray(yA(r,e))){let t=s(yA(r,e),c.argA,c.argB);l&&SA(r,e,t)}if(u&&Array.isArray(yA(n.errors,e))){let t=yA(n.errors,e),r=t.root,i=s(t,c.argA,c.argB)||t;r&&(i.root=r),l&&SA(n.errors,e,i),Oj(n.errors,e)}if((m.touchedFields||h.touchedFields)&&u&&Array.isArray(yA(n.touchedFields,e))){let t=s(yA(n.touchedFields,e),c.argA,c.argB);l&&SA(n.touchedFields,e,t)}(m.dirtyFields||h.dirtyFields)&&S(),g.state.next({name:e,isDirty:I(e,i),dirtyFields:n.dirtyFields,errors:n.errors,isValid:n.isValid})}else SA(a,e,i)},w=(e,t)=>{SA(n.errors,e,t),n.errors={...n.errors},g.state.next({errors:n.errors})},T=e=>{n.errors=e,g.state.next({errors:n.errors,isValid:!1})},E=e=>{let t=hA(e)?[e]:vA(e),n=a,r=i;for(let e=0;e<t.length-1;e++){let i=t[e];if(n=tA(n)?n:n[i],r=tA(r)?r:r[i],n===null&&r!==null)return!0}return!1},D=e=>{if(!o.actionArrayLengths.size)return!1;let t=hA(e)?[e]:vA(e),n=a,r=``,i=-1,s=0;for(let e=0;e<t.length;e++){if(tA(n))return!1;let a=t[e];if(r=r?`${r}.${a}`:a,Array.isArray(n)&&+a>=n.length)return i===-1?!1:e!==i||+a<s;o.actionArrayLengths.has(r)&&(i=e+1,s=o.actionArrayLengths.get(r)),n=n[a]}return!1},O=(t,c,l,u)=>{let d=yA(r,t);if(d){if(E(t)||D(t))return;let r=gA(yA(a,t)),f=yA(a,t,gA(l)?yA(i,t):l);gA(f)||u&&u.defaultChecked||c?SA(a,t,c?f:vj(d._f)):te(t,f),o.mount&&!o.action&&(b(),r&&n.isDirty&&(m.isDirty||h.isDirty)&&(I()||(n.isDirty=!1,g.state.next({...n}))),e.shouldUnregister&&r&&!gA(yA(a,t))&&NA(t,s)&&(o.watch=!0))}},k=(e,o,s,c,l)=>{let u=!1,d=!1,f={name:e};if(!t.disabled||c===!0){if(!s||c){let t=OA(yA(i,e),o);(m.isDirty||h.isDirty)&&(d=n.isDirty,n.isDirty=f.isDirty=!t||I(),u=d!==f.isDirty),d=!!yA(n.dirtyFields,e),t===n.isDirty?t?$A(n.dirtyFields,e):SA(n.dirtyFields,e,!0):jj(n.dirtyFields,gj(i,a,void 0,r)),f.dirtyFields=n.dirtyFields,u||=(m.dirtyFields||h.dirtyFields)&&d!==!t}if(s){let t=yA(n.touchedFields,e);t||(SA(n.touchedFields,e,s),f.touchedFields=n.touchedFields,u||=(m.touchedFields||h.touchedFields)&&t!==s)}u&&l&&g.state.next(f)}return u?f:{}},A=(e,r,i,a)=>{let o=yA(n.errors,e),s=(m.isValid||h.isValid)&&bA(r)&&n.isValid!==r;if(t.delayError&&i?(c[e]=y(e,()=>w(e,i)),c[e](t.delayError)):(clearTimeout(l[e]),delete c[e],i?SA(n.errors,e,i):$A(n.errors,e),n.errors={...n.errors}),(i?!OA(o,i):o)||!IA(a)||s){let t={...a,...s&&bA(r)?{isValid:r}:{},errors:n.errors,name:e};n={...n,...t},g.state.next(t)}},j=async e=>(x(e,!0),await t.resolver(a,t.context,yj(e||s.mount,r,t.criteriaMode,t.shouldUseNativeValidation))),M=async e=>{let{errors:t}=await j(e);if(x(e),e){for(let r of e){let e=yA(t,r);e?s.array.has(r)&&rA(e)&&!Object.keys(e).some(e=>!Number.isNaN(Number(e)))?FA(n.errors,{[r]:e},r):SA(n.errors,r,e):$A(n.errors,r)}n.errors={...n.errors}}else n.errors=t;return t},N=async({name:t,eventType:r})=>{if(e.validate){let i=await e.validate({formValues:a,formState:n,name:t,eventType:r});if(rA(i))for(let e in i){let t=i[e];t&&se(`${Aj}.${e}`,{message:AA(t.message)?t.message:``,type:t.type||dA.validate})}else AA(i)||!i?se(Aj,{message:i||``,type:dA.validate}):oe(Aj);return i}return!0},P=async({fields:r,onlyCheckValid:i,name:o,eventType:c,context:l={valid:!0,runRootValidation:!1}})=>{if(e.validate&&(l.runRootValidation=!0,!await N({name:o,eventType:c})&&(l.valid=!1,i)))return l.valid;for(let o in r){let u=r[o];if(u){let{_f:r,...d}=u;if(r){let o=s.array.has(r.name),c=u._f&&Sj(u._f),d=m.validatingFields||m.isValidating||h.validatingFields||h.isValidating;c&&d&&x([r.name],!0);let f=await JA(u,s.disabled,a,v,t.shouldUseNativeValidation&&!i,o);if(c&&d&&x([r.name]),f[r.name]&&(l.valid=!1,i)||(!i&&(yA(f,r.name)?o?FA(n.errors,f,r.name):SA(n.errors,r.name,f[r.name]):$A(n.errors,r.name)),e.shouldUseNativeValidation&&f[r.name]))break}!IA(d)&&await P({context:l,onlyCheckValid:i,fields:d,name:o,eventType:c})}}return l.valid},F=()=>{for(let e of s.unMount){let t=yA(r,e);t&&(t._f.refs?t._f.refs.every(e=>!sj(e)):!sj(t._f.ref))&&de(e)}s.unMount=new Set},I=(e,t)=>(e&&t&&SA(a,e,t),!OA(o.mount?a:i,i)),ee=(e,t,n)=>jA(e,s,{...o.mount?a:gA(t)||AA(e)?i:t},n,t),L=e=>XA(yA(o.mount?a:i,e,t.shouldUnregister?yA(i,e,[]):[])),te=(e,t,n={},i=!1,o=!1,s=!1)=>{let c=yA(r,e),l=t;if(c){let n=c._f;n&&(!n.disabled&&SA(a,e,_j(t,n)),l=LA(n.ref)&&tA(t)?``:t,aj(n.ref)?[...n.ref.options].forEach(e=>e.selected=l.includes(e.value)):n.refs?Qk(n.ref)?n.refs.forEach(e=>{(!e.defaultChecked||!e.disabled)&&(e.checked=Array.isArray(l)?!!l.find(t=>t===e.value):l===e.value||!!l)}):n.refs.forEach(e=>e.checked=e.value===l):$k(n.ref)?n.ref.value=``:(n.ref.value=l,!n.ref.type&&!o&&!s&&g.state.next({name:e,values:i?a:cA(a)})))}(n.shouldDirty||n.shouldTouch)&&k(e,l,n.shouldTouch,n.shouldDirty,!o),n.shouldValidate&&B(e,{delayError:n.delayError})},R=(e,t,n,i=!1,o=!1,c=!1)=>{s.array.has(e)&&g.array.next({name:e,values:i?a:cA(a)});for(let a in t){if(!t.hasOwnProperty(a))return;let l=t[a],u=e+`.`+a,d=yA(r,u);(s.array.has(e)||rA(l)||d&&!d._f)&&!eA(l)?R(u,l,n,i,o,c):te(u,l,n,i,o,c)}},z=(e,t,i,c,l=!1)=>{let u=yA(r,e),d=s.array.has(e),f=c?t:cA(t),p=OA(yA(a,e),f);if(p||SA(a,e,f),d)g.array.next({name:e,values:c?a:cA(a)}),(m.isDirty||m.dirtyFields||h.isDirty||h.dirtyFields)&&i.shouldDirty&&(S(),l||g.state.next({name:e,dirtyFields:n.dirtyFields,isDirty:I(e,f)}));else{let t=Array.isArray(f)&&!f.length||IA(f),n=!p&&!l;!u||u._f||tA(f)||t?te(e,f,i,c,l,n):R(e,f,i,c,l,n)}if(!p&&!l){let t=NA(e,s),r=c?a:cA(a);g.state.next({...t&&n,name:o.mount||t?e:void 0,values:r})}},ne=(e,t,n={})=>z(e,t,n,!1),re=(e,t={})=>{let r=xA(e)?e(a):e;if(!OA(a,r)){a={...a,...r};let e=ej(r);for(let n of s.mount)n in e&&z(n,e[n],t,!0,!0);g.state.next({...n,name:void 0,type:void 0,...u?{values:a}:{}}),t.shouldValidate&&b()}},ie=async i=>{o.mount=!0;let l=i.target,p=l.name,_=!0,y=yA(r,p),S=e=>{_=Number.isNaN(e)||eA(e)&&isNaN(e.getTime())||OA(e,yA(a,p,e))};if(y){let o,C,w=l.type?vj(y._f):iA(i),T=i.type===lA.BLUR||i.type===lA.FOCUS_OUT,E=!Cj(y._f)&&!e.validate&&!t.resolver&&!yA(n.errors,p)&&!y._f.deps,D=E||Dj(T,yA(n.touchedFields,p),n.isSubmitted,f,d),O=NA(p,s,T);if(SA(a,p,w),T){if(!l||!l.readOnly){y._f.onBlur&&y._f.onBlur(i);let e=c[p];e&&e(0)}}else y._f.onChange&&y._f.onChange(i);let M=k(p,w,T),F=!IA(M)||O;if(!T&&g.state.next({name:p,type:i.type,...u?{values:cA(a)}:{}}),D)return(!E||!n.isValid)&&(m.isValid||h.isValid)&&(t.mode===`onBlur`?T&&b():T||b()),F&&g.state.next({name:p,...O?{}:M});if(!t.resolver&&e.validate&&await N({name:p,eventType:i.type}),!T&&O&&g.state.next({...n}),t.resolver){let{errors:e}=await j([p]);if(x([p]),S(w),!_){!IA(M)&&g.state.next(M);return}let t=wj(n.errors,r,p),i=wj(e,r,t.name||p);o=i.error,p=i.name,C=IA(e)}else x([p],!0),o=(await JA(y,s.disabled,a,v,t.shouldUseNativeValidation))[p],x([p]),S(w),_&&(o?C=!1:(m.isValid||h.isValid)&&(C=await P({fields:r,onlyCheckValid:!0,name:p,eventType:i.type})));_&&(y._f.deps&&(!Array.isArray(y._f.deps)||y._f.deps.length>0)&&B(y._f.deps),A(p,C,o,M))}},ae=(e,t)=>{if(yA(n.errors,t)&&e.focus)return e.focus(),1},B=async(e,i={})=>{let a,o,u=YA(e);if(t.resolver){let t=await M(gA(e)?e:u);a=IA(t),o=e?!u.some(e=>yA(t,e)):a}else e?(o=(await Promise.all(u.map(async e=>{let t=yA(r,e);return await P({fields:t&&t._f?{[e]:t}:t,eventType:lA.TRIGGER})}))).every(Boolean),!(!o&&!n.isValid)&&b()):o=a=await P({fields:r,name:e,eventType:lA.TRIGGER});if(i.delayError&&t.delayError&&AA(e)){let r=yA(n.errors,e);r?($A(n.errors,e),c[e]=y(e,()=>w(e,r)),c[e](t.delayError)):(clearTimeout(l[e]),delete c[e])}return g.state.next({...!AA(e)||(m.isValid||h.isValid)&&a!==n.isValid?{}:{name:e},...t.resolver||!e?{isValid:a}:{},errors:n.errors}),i.shouldFocus&&!o&&PA(r,ae,e?u:s.mount),o},V=(e,t)=>{let r={...o.mount?a:i};return t&&(r=ij(t.dirtyFields?n.dirtyFields:n.touchedFields,r)),gA(e)?r:AA(e)?yA(r,e):e.map(e=>yA(r,e))},H=(e,t)=>({invalid:!!yA((t||n).errors,e),isDirty:!!yA((t||n).dirtyFields,e),error:yA((t||n).errors,e),isValidating:!!yA(n.validatingFields,e),isTouched:!!yA((t||n).touchedFields,e)}),oe=e=>{let t=e?YA(e):void 0;t?.forEach(e=>$A(n.errors,e)),t?t.forEach(e=>{g.state.next({name:e,errors:n.errors})}):(n.errors={},g.state.next({errors:n.errors}))},se=(e,t,i)=>{let a=(yA(r,e,{_f:{}})._f||{}).ref,{ref:o,message:s,type:c,...l}=yA(n.errors,e)||{};SA(n.errors,e,{...l,...t,ref:a}),g.state.next({name:e,errors:n.errors,isValid:!1}),i&&i.shouldFocus&&a&&a.focus&&a.focus()},ce=(e,t)=>{if(xA(e)){u++;let{unsubscribe:n}=g.state.subscribe({next:n=>`values`in n&&e(n.values||ee(void 0,t),n)}),r=!1;return{unsubscribe:()=>{r||(r=!0,u--,n())}}}return ee(e,t,!0)},le=e=>{let t=!!e.formState?.values;t&&u++;let{unsubscribe:r}=g.state.subscribe({next:t=>{if(Ej(e.name,t.name,e.exact)&&Tj(t,e.formState||m,be,e.reRenderRoot)){let r={...a};e.callback({values:r,...n,...t,defaultValues:i})}}});if(!t)return r;let o=!1;return()=>{o||(o=!0,u--,r())}},ue=e=>(o.mount=!0,h={...h,...e.formState},le({...e,formState:{...p,...e.formState}})),de=(e,o={})=>{for(let c of e?YA(e):s.mount)s.mount.delete(c),s.array.delete(c),o.keepValue||($A(r,c),$A(a,c)),!o.keepError&&$A(n.errors,c),!o.keepDirty&&$A(n.dirtyFields,c),!o.keepTouched&&$A(n.touchedFields,c),!o.keepIsValidating&&$A(n.validatingFields,c),!t.shouldUnregister&&!o.keepDefaultValue&&$A(i,c);g.state.next({values:cA(a)}),g.state.next({...n,...o.keepDirty?{isDirty:I()}:{}}),!o.keepIsValid&&b()},U=({disabled:e,name:t})=>{if(bA(e)&&o.mount||e||s.disabled.has(t)){let n=s.disabled.has(t)!==!!e;e?s.disabled.add(t):s.disabled.delete(t),n&&o.mount&&!o.action&&b()}},fe=(e,n={})=>{let a=yA(r,e),c=bA(n.disabled)||bA(t.disabled),l=!s.registerName.has(e)&&a&&a._f&&!a._f.mount;return SA(r,e,{...a||{},_f:{...a&&a._f?a._f:{ref:{name:e}},name:e,mount:!0,...n}}),s.mount.add(e),a&&!l?U({disabled:bA(n.disabled)?n.disabled:t.disabled,name:e}):O(e,!0,n.value),{...c?{disabled:n.disabled||t.disabled}:{},...t.progressive?{required:!!n.required,min:bj(n.min),max:bj(n.max),minLength:bj(n.minLength),maxLength:bj(n.maxLength),pattern:bj(n.pattern)}:{},name:e,onChange:ie,onBlur:ie,ref:c=>{if(c){s.registerName.add(e),fe(e,n),s.registerName.delete(e),a=yA(r,e);let t=gA(c.value)&&c.querySelectorAll&&c.querySelectorAll(`input,select,textarea`)[0]||c,o=oj(t),l=a._f.refs||[];if(o?l.find(e=>e===t):t===a._f.ref)return;let u={...a._f};o?(u.refs=[...l.filter(sj),t,...Array.isArray(yA(i,e))?[{}]:[]],u.ref={type:t.type,name:e}):(u.ref=t,delete u.refs),SA(r,e,{_f:u}),O(e,!1,void 0,t)}else a=yA(r,e,{}),a._f&&(a._f.mount=!1),(t.shouldUnregister||n.shouldUnregister)&&!(aA(s.array,e)&&o.action)&&s.unMount.add(e)}}},pe=()=>t.shouldFocusError&&!t.shouldUseNativeValidation&&PA(r,ae,s.mount),me=e=>{bA(e)&&(g.state.next({disabled:e}),PA(r,(t,n)=>{let i=yA(r,n);i&&(t.disabled=i._f.disabled||e,Array.isArray(i._f.refs)&&i._f.refs.forEach(t=>{t.disabled=i._f.disabled||e}))},0,!1))},he=(e,i)=>async o=>{let c,l;o&&(o.preventDefault&&o.preventDefault(),o.persist&&o.persist());let u=cA(a);if(g.state.next({isSubmitting:!0}),t.resolver){let{errors:e,values:t}=await j();x(),n.errors=e,u=cA(t)}else await P({fields:r,eventType:lA.SUBMIT});if(s.disabled.size)for(let e of s.disabled)$A(u,e);if($A(n.errors,fA),IA(n.errors)){g.state.next({errors:{}});try{c=await e(u,o)}catch(e){l=e}}else i&&await i({...n.errors},o),pe(),setTimeout(pe);if(g.state.next({isSubmitted:!0,isSubmitting:!1,isSubmitSuccessful:IA(n.errors)&&!l,submitCount:n.submitCount+1,errors:n.errors}),l)throw l;return c},ge=(e,t={})=>{yA(r,e)&&(gA(t.defaultValue)?ne(e,cA(yA(i,e))):(ne(e,t.defaultValue),SA(i,e,cA(t.defaultValue))),t.keepTouched||$A(n.touchedFields,e),t.keepDirty||($A(n.dirtyFields,e),n.isDirty=t.defaultValue?I(e,cA(yA(i,e))):I()),t.keepError||($A(n.errors,e),m.isValid&&b()),g.state.next({...n}))},_e=(e,c={})=>{let l=e?cA(e):i,u=cA(l),d=IA(e),f=u,p=r;if(c.keepDefaultValues||(i=l),!c.keepValues){if(c.keepDirtyValues){let e=new Set([...s.mount,...lj(gj(i,a,void 0,p),n.dirtyFields)]);for(let t of Array.from(e)){let e=yA(n.dirtyFields,t),r=yA(a,t),i=yA(f,t);e&&!gA(r)?SA(f,t,r):!e&&!gA(i)&&ne(t,i)}}else{if(sA&&gA(e))for(let e of s.mount){let t=yA(r,e);if(t&&t._f){let e=Array.isArray(t._f.refs)?t._f.refs[0]:t._f.ref;if(LA(e)){let t=e.closest(`form`);if(t){t.reset();break}}}}if(c.keepFieldsRef)for(let e of s.mount)ne(e,yA(f,e));else r={}}if(t.shouldUnregister){if(a=c.keepDefaultValues?cA(i):{},c.keepFieldsRef)for(let e of s.mount)SA(a,e,yA(f,e))}else a=cA(f);g.array.next({values:{...f}}),g.state.next({name:void 0,type:void 0,values:{...f}})}s={mount:c.keepDirtyValues?s.mount:new Set,unMount:new Set,array:new Set,registerName:new Set,disabled:new Set,watch:new Set,watchAll:!1,focus:``},o.mount=!m.isValid||!!c.keepIsValid||!!c.keepDirtyValues||!t.shouldUnregister&&!IA(f),o.watch=!!t.shouldUnregister,o.keepIsValid=!!c.keepIsValid,o.action=!1,o.actionArrayLengths.clear(),c.keepErrors||(n.errors={}),g.state.next({submitCount:c.keepSubmitCount?n.submitCount:0,isDirty:d?!1:c.keepDirty?n.isDirty:c.keepValues?I():!!(c.keepDefaultValues&&!OA(e,i)),isSubmitted:c.keepIsSubmitted?n.isSubmitted:!1,dirtyFields:d?{}:c.keepDirtyValues?c.keepDefaultValues&&a?gj(i,a,void 0,p):n.dirtyFields:c.keepDefaultValues&&e?gj(i,e,void 0,p):c.keepDirty?n.dirtyFields:{},touchedFields:c.keepTouched?n.touchedFields:{},errors:c.keepErrors?n.errors:{},isSubmitSuccessful:c.keepIsSubmitSuccessful?n.isSubmitSuccessful:!1,isSubmitting:!1,defaultValues:i})},ve=(e,n)=>_e(xA(e)?e(a):e,{...t.resetOptions,...n}),ye=(e,t={})=>{let n=yA(r,e),i=n&&n._f;if(i){let e=i.refs?i.refs[0]:i.ref;e.focus&&setTimeout(()=>{e.focus(),t.shouldSelect&&xA(e.select)&&e.select()})}},be=e=>{let{name:t,type:r,values:i,...a}=e;n={...n,...a}};g.state.subscribe({next:be});let xe={control:{register:fe,unregister:de,getFieldState:H,handleSubmit:he,setError:se,_subscribe:le,_runSchema:j,_updateIsValidating:x,_focusError:pe,_getWatch:ee,_getDirty:I,_setValid:b,_setFieldArray:C,_setDisabledField:U,_setErrors:T,_getFieldArray:L,_reset:_e,_resetDefaultValues:()=>xA(t.defaultValues)&&t.defaultValues().then(e=>{ve(e,t.resetOptions),g.state.next({isLoading:!1})}),_removeUnmounted:F,_disableForm:me,_subjects:g,_proxyFormState:m,get _fields(){return r},get _formValues(){return a},get _state(){return o},set _state(e){o=e},get _defaultValues(){return i},get _names(){return s},set _names(e){s=e},get _formState(){return n},get _options(){return t},set _options(e){t={...t,...e},d=MA(t.mode),f=MA(t.reValidateMode)}},subscribe:ue,trigger:B,register:fe,handleSubmit:he,watch:ce,setValue:ne,setValues:re,getValues:V,reset:ve,resetField:ge,resetDefaultValues:(e,t={})=>{if(i=cA(e),!t.keepDirty){let e=gj(i,a,void 0,r);n.dirtyFields=e,n.isDirty=!IA(e)}t.keepIsValid||b(),g.state.next({...n,defaultValues:i})},clearErrors:oe,unregister:de,setError:se,setFocus:ye,getFieldState:H};return{...xe,formControl:xe}}function Pj(e={}){let t=g.useRef(void 0),n=g.useRef(void 0),r=g.useRef(e.formControl),[i,a]=g.useState(()=>({...cA(Mj),isLoading:xA(e.defaultValues),errors:e.errors||{},disabled:e.disabled||!1,defaultValues:xA(e.defaultValues)?void 0:e.defaultValues}));if(!t.current||e.formControl&&r.current!==e.formControl){if(r.current=e.formControl,e.formControl)t.current={...e.formControl,formState:i},e.defaultValues&&!xA(e.defaultValues)&&e.formControl.reset(e.defaultValues,e.resetOptions);else{let{formControl:n,...r}=Nj(e);t.current={...r,formState:i}}}let o=t.current.control;o._options=e;let{resyncIfNeeded:s,snapshot:c}=kA();return TA(()=>{let e=()=>({...o._formState,defaultValues:o._defaultValues});s(!0,e,a);let t=o._subscribe({formState:o._proxyFormState,callback:()=>a({...o._formState,defaultValues:o._defaultValues}),reRenderRoot:!0});return a(e=>({...e,isReady:!0})),o._formState.isReady=!0,()=>{t(),c(!0,e)}},[o,s,c]),g.useEffect(()=>o._disableForm(e.disabled),[o,e.disabled]),g.useEffect(()=>{e.mode&&(o._options.mode=e.mode),e.reValidateMode&&(o._options.reValidateMode=e.reValidateMode)},[o,e.mode,e.reValidateMode]),g.useEffect(()=>{e.errors&&(o._setErrors(e.errors),o._focusError())},[o,e.errors]),g.useEffect(()=>{e.shouldUnregister&&o._subjects.state.next({values:o._getWatch()})},[o,e.shouldUnregister]),g.useEffect(()=>{if(o._proxyFormState.isDirty){let e=o._getDirty();e!==i.isDirty&&o._subjects.state.next({isDirty:e})}},[o,i.isDirty]),g.useEffect(()=>{e.values&&!OA(e.values,n.current)?(o._reset(e.values,{keepFieldsRef:!0,...o._options.resetOptions}),o._options.resetOptions?.keepIsValid||o._setValid(),n.current=e.values,a(e=>({...e}))):o._resetDefaultValues()},[o,e.values]),g.useEffect(()=>{o._state.mount||(o._setValid(),o._state.mount=!0),o._state.watch&&(o._state.watch=!1,o._subjects.state.next({...o._formState})),o._removeUnmounted()}),t.current.formState=g.useMemo(()=>wA(i,o),[o,i]),t.current}var Fj=(e,t,n)=>{if(e&&`reportValidity`in e){let r=yA(n,t);e.setCustomValidity(r&&r.message||``),e.reportValidity()}},Ij=(e,t)=>{for(let n in t.fields){let r=t.fields[n];r&&r.ref&&`reportValidity`in r.ref?Fj(r.ref,n,e):r&&r.refs&&r.refs.forEach(t=>Fj(t,n,e))}},Lj=(e,t)=>{t.shouldUseNativeValidation&&Ij(e,t);let n={};for(let r in e){let i=yA(t.fields,r),a=Object.assign(e[r]||{},{ref:i&&i.refs?i.refs[0]:i&&i.ref});if(Rj(t.names||Object.keys(e),r)){let e=Object.assign({},yA(n,r));SA(e,`root`,a),SA(n,r,e)}else SA(n,r,a)}return n},Rj=(e,t)=>{let n=zj(t).replace(/[.*+?^${}()|\\]/g,`\\$&`);return e.some(e=>zj(e).match(`^${n}\\.\\d+`))};function zj(e){return e.replace(/[\[\]]/g,``)}function Bj(){return Bj=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Bj.apply(null,arguments)}function Vj(e,t){try{var n=e()}catch(e){return t(e)}return n&&n.then?n.then(void 0,t):n}function Hj(e,t){for(var n=Object.create(null);e.length;){var r=e[0],i=r.code,a=r.message,o=r.path.join(`.`);if(!n[o]){if(`unionErrors`in r){var s=r.unionErrors.reduce(function(e,t){return t.errors.length<e.errors.length?t:e}).errors[0];n[o]={message:s?.message??a,type:s?.code??i}}else n[o]={message:a,type:i}}if(`unionErrors`in r&&r.unionErrors.forEach(function(t){return t.errors.forEach(function(t){return e.push(t)})}),t){var c=n[o].types,l=c&&c[r.code];n[o]=BA(o,t,n,i,l?[].concat(l,r.message):r.message)}e.shift()}return n}function Uj(e,t){for(var n=Object.create(null),r=function(){var r=e[0],i=r.code,a=r.message,o=r.path.join(`.`);if(!n[o]){if(r.code===`invalid_union`&&r.errors.length>0){var s=r.errors.reduce(function(e,t){return t.length<e.length?t:e})[0];n[o]={message:s?.message??a,type:s?.code??i}}else n[o]={message:a,type:i}}if(r.code===`invalid_union`&&r.errors.forEach(function(t){return t.forEach(function(t){return e.push(Bj({},t,{path:[].concat(r.path,t.path)}))})}),t){var c=n[o].types,l=c&&c[r.code];n[o]=BA(o,t,n,i,l?[].concat(l,r.message):r.message)}e.shift()};e.length;)r();return n}function Wj(e,t,n){if(n===void 0&&(n={}),function(e){return`_zod`in e&&typeof e._zod==`object`}(e))return function(r,i,a){try{return Promise.resolve(Vj(function(){function i(e){return a.shouldUseNativeValidation&&Ij({},a),{errors:{},values:n.raw?Object.assign({},r):e}}var o=e;return n.mode===`sync`?i(o.parse(r,t)):Promise.resolve(o.parseAsync(r,t)).then(i)},function(e){if(function(e){var t;return!(e==null||(t=e._zod)==null||(t=t.traits)==null||!t.has(`$ZodError`))}(e))return{values:{},errors:Lj(Uj(e.issues,!a.shouldUseNativeValidation&&a.criteriaMode===`all`),a)};throw e}))}catch(e){return Promise.reject(e)}};if(function(e){return`_def`in e&&typeof e._def==`object`}(e))return function(r,i,a){try{return Promise.resolve(Vj(function(){return Promise.resolve(e[n.mode===`sync`?`parse`:`parseAsync`](r,t)).then(function(e){return a.shouldUseNativeValidation&&Ij({},a),{errors:{},values:n.raw?Object.assign({},r):e}})},function(e){if(function(e){return Array.isArray(e?.issues)}(e))return{values:{},errors:Lj(Hj(e.errors,!a.shouldUseNativeValidation&&a.criteriaMode===`all`),a)};throw e}))}catch(e){return Promise.reject(e)}};throw Error(`Invalid input: not a Zod schema`)}var Gj;function J(e,t,n){function r(n,r){if(n._zod||Object.defineProperty(n,"_zod",{value:{def:r,constr:o,traits:new Set},enumerable:!1}),n._zod.traits.has(e))return;n._zod.traits.add(e),t(n,r);let i=o.prototype,a=Object.keys(i);for(let e=0;e<a.length;e++){let t=a[e];t in n||(n[t]=i[t].bind(n))}}let i=n?.Parent??Object;class a extends i{}Object.defineProperty(a,"name",{value:e});function o(e){var t;let i=n?.Parent?new a:this;r(i,e),(t=i._zod).deferred??(t.deferred=[]);for(let e of i._zod.deferred)e();return i}return Object.defineProperty(o,"init",{value:r}),Object.defineProperty(o,Symbol.hasInstance,{value:t=>n?.Parent&&t instanceof n.Parent?!0:t?._zod?.traits?.has(e)}),Object.defineProperty(o,"name",{value:e}),o}var Kj=class extends Error{constructor(){super(`Encountered Promise during synchronous parse. Use .parseAsync() instead.`)}},qj=class extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`),this.name=`ZodEncodeError`}};(Gj=globalThis).__zod_globalConfig??(Gj.__zod_globalConfig={});var Jj=globalThis.__zod_globalConfig;function Yj(e){return e&&Object.assign(Jj,e),Jj}function Xj(e){let t=Object.values(e).filter(e=>typeof e==`number`);return Object.entries(e).filter(([e,n])=>t.indexOf(+e)===-1).map(([e,t])=>t)}function Zj(e,t){return typeof t==`bigint`?t.toString():t}function Qj(e){return{get value(){{let t=e();return Object.defineProperty(this,"value",{value:t}),t}}}}function $j(e){return e==null}function eM(e){let t=+!!e.startsWith(`^`),n=e.endsWith(`$`)?e.length-1:e.length;return e.slice(t,n)}function tM(e,t){let n=e/t,r=Math.round(n),i=2**-52*Math.max(Math.abs(n),1);return Math.abs(n-r)<i?0:n-r}var nM=Symbol(`evaluating`);function rM(e,t,n){let r;Object.defineProperty(e,t,{get(){if(r!==nM)return r===void 0&&(r=nM,r=n()),r},set(n){Object.defineProperty(e,t,{value:n})},configurable:!0})}function iM(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0})}function aM(...e){let t={};for(let n of e){let e=Object.getOwnPropertyDescriptors(n);Object.assign(t,e)}return Object.defineProperties({},t)}function oM(e){return JSON.stringify(e)}function sM(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,``).replace(/[\s_-]+/g,`-`).replace(/^-+|-+$/g,``)}var cM=`captureStackTrace`in Error?Error.captureStackTrace:(...e)=>{};function lM(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}var uM=Qj(()=>{if(Jj.jitless||typeof navigator<`u`&&navigator?.userAgent?.includes(`Cloudflare`))return!1;try{return Function(``),!0}catch{return!1}});function dM(e){if(lM(e)===!1)return!1;let t=e.constructor;if(t===void 0||typeof t!=`function`)return!0;let n=t.prototype;return lM(n)!==!1&&Object.prototype.hasOwnProperty.call(n,`isPrototypeOf`)!==!1}function fM(e){return dM(e)?{...e}:Array.isArray(e)?[...e]:e instanceof Map?new Map(e):e instanceof Set?new Set(e):e}var pM=new Set([`string`,`number`,`symbol`]);function mM(e){return e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}function hM(e,t,n){let r=new e._zod.constr(t??e._zod.def);return(!t||n?.parent)&&(r._zod.parent=e),r}function gM(e){let t=e;if(!t)return{};if(typeof t==`string`)return{error:()=>t};if(t?.message!==void 0){if(t?.error!==void 0)throw Error("Cannot specify both `message` and `error` params");t.error=t.message}return delete t.message,typeof t.error==`string`?{...t,error:()=>t.error}:t}function _M(e){return Object.keys(e).filter(t=>e[t]._zod.optin===`optional`&&e[t]._zod.optout===`optional`)}var vM={safeint:[-(2**53-1),2**53-1],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]};function yM(e,t){let n=e._zod.def,r=n.checks;if(r&&r.length>0)throw Error(`.pick() cannot be used on object schemas containing refinements`);return hM(e,aM(e._zod.def,{get shape(){let e={};for(let r in t){if(!(r in n.shape))throw Error(`Unrecognized key: "${r}"`);t[r]&&(e[r]=n.shape[r])}return iM(this,`shape`,e),e},checks:[]}))}function bM(e,t){let n=e._zod.def,r=n.checks;if(r&&r.length>0)throw Error(`.omit() cannot be used on object schemas containing refinements`);return hM(e,aM(e._zod.def,{get shape(){let r={...e._zod.def.shape};for(let e in t){if(!(e in n.shape))throw Error(`Unrecognized key: "${e}"`);t[e]&&delete r[e]}return iM(this,`shape`,r),r},checks:[]}))}function xM(e,t){if(!dM(t))throw Error(`Invalid input to extend: expected a plain object`);let n=e._zod.def.checks;if(n&&n.length>0){let n=e._zod.def.shape;for(let e in t)if(Object.getOwnPropertyDescriptor(n,e)!==void 0)throw Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}return hM(e,aM(e._zod.def,{get shape(){let n={...e._zod.def.shape,...t};return iM(this,`shape`,n),n}}))}function SM(e,t){if(!dM(t))throw Error(`Invalid input to safeExtend: expected a plain object`);return hM(e,aM(e._zod.def,{get shape(){let n={...e._zod.def.shape,...t};return iM(this,`shape`,n),n}}))}function CM(e,t){if(e._zod.def.checks?.length)throw Error(`.merge() cannot be used on object schemas containing refinements. Use .safeExtend() instead.`);return hM(e,aM(e._zod.def,{get shape(){let n={...e._zod.def.shape,...t._zod.def.shape};return iM(this,`shape`,n),n},get catchall(){return t._zod.def.catchall},checks:t._zod.def.checks??[]}))}function wM(e,t,n){let r=t._zod.def.checks;if(r&&r.length>0)throw Error(`.partial() cannot be used on object schemas containing refinements`);return hM(t,aM(t._zod.def,{get shape(){let r=t._zod.def.shape,i={...r};if(n)for(let t in n){if(!(t in r))throw Error(`Unrecognized key: "${t}"`);n[t]&&(i[t]=e?new e({type:`optional`,innerType:r[t]}):r[t])}else for(let t in r)i[t]=e?new e({type:`optional`,innerType:r[t]}):r[t];return iM(this,`shape`,i),i},checks:[]}))}function TM(e,t,n){return hM(t,aM(t._zod.def,{get shape(){let r=t._zod.def.shape,i={...r};if(n)for(let t in n){if(!(t in i))throw Error(`Unrecognized key: "${t}"`);n[t]&&(i[t]=new e({type:`nonoptional`,innerType:r[t]}))}else for(let t in r)i[t]=new e({type:`nonoptional`,innerType:r[t]});return iM(this,`shape`,i),i}}))}function EM(e,t=0){if(e.aborted===!0)return!0;for(let n=t;n<e.issues.length;n++)if(e.issues[n]?.continue!==!0)return!0;return!1}function DM(e,t=0){if(e.aborted===!0)return!0;for(let n=t;n<e.issues.length;n++)if(e.issues[n]?.continue===!1)return!0;return!1}function OM(e,t){return t.map(t=>{var n;return(n=t).path??(n.path=[]),t.path.unshift(e),t})}function kM(e){return typeof e==`string`?e:e?.message}function AM(e,t,n){let r=e.message?e.message:kM(e.inst?._zod.def?.error?.(e))??kM(t?.error?.(e))??kM(n.customError?.(e))??kM(n.localeError?.(e))??`Invalid input`,{inst:i,continue:a,input:o,...s}=e;return s.path??=[],s.message=r,t?.reportInput&&(s.input=o),s}function jM(e){return Array.isArray(e)?`array`:typeof e==`string`?`string`:`unknown`}function MM(...e){let[t,n,r]=e;return typeof t==`string`?{message:t,code:`custom`,input:n,inst:r}:{...t}}var NM=(e,t)=>{e.name=`$ZodError`,Object.defineProperty(e,"_zod",{value:e._zod,enumerable:!1}),Object.defineProperty(e,"issues",{value:t,enumerable:!1}),e.message=JSON.stringify(t,Zj,2),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},PM=J(`$ZodError`,NM),FM=J(`$ZodError`,NM,{Parent:Error});function fne(e,t=e=>e.message){let n={},r=[];for(let i of e.issues)i.path.length>0?(n[i.path[0]]=n[i.path[0]]||[],n[i.path[0]].push(t(i))):r.push(t(i));return{formErrors:r,fieldErrors:n}}function pne(e,t=e=>e.message){let n={_errors:[]},r=(e,i=[])=>{for(let a of e.issues)if(a.code===`invalid_union`&&a.errors.length)a.errors.map(e=>r({issues:e},[...i,...a.path]));else if(a.code===`invalid_key`)r({issues:a.issues},[...i,...a.path]);else if(a.code===`invalid_element`)r({issues:a.issues},[...i,...a.path]);else{let e=[...i,...a.path];if(e.length===0)n._errors.push(t(a));else{let r=n,i=0;for(;i<e.length;){let n=e[i];i===e.length-1?(r[n]=r[n]||{_errors:[]},r[n]._errors.push(t(a))):r[n]=r[n]||{_errors:[]},r=r[n],i++}}}};return r(e),n}var IM=e=>(t,n,r,i)=>{let a=r?{...r,async:!1}:{async:!1},o=t._zod.run({value:n,issues:[]},a);if(o instanceof Promise)throw new Kj;if(o.issues.length){let t=new((i?.Err)??e)(o.issues.map(e=>AM(e,a,Yj())));throw cM(t,i?.callee),t}return o.value},LM=e=>async(t,n,r,i)=>{let a=r?{...r,async:!0}:{async:!0},o=t._zod.run({value:n,issues:[]},a);if(o instanceof Promise&&(o=await o),o.issues.length){let t=new((i?.Err)??e)(o.issues.map(e=>AM(e,a,Yj())));throw cM(t,i?.callee),t}return o.value},RM=e=>(t,n,r)=>{let i=r?{...r,async:!1}:{async:!1},a=t._zod.run({value:n,issues:[]},i);if(a instanceof Promise)throw new Kj;return a.issues.length?{success:!1,error:new(e??PM)(a.issues.map(e=>AM(e,i,Yj())))}:{success:!0,data:a.value}},mne=RM(FM),zM=e=>async(t,n,r)=>{let i=r?{...r,async:!0}:{async:!0},a=t._zod.run({value:n,issues:[]},i);return a instanceof Promise&&(a=await a),a.issues.length?{success:!1,error:new e(a.issues.map(e=>AM(e,i,Yj())))}:{success:!0,data:a.value}},hne=zM(FM),gne=e=>(t,n,r)=>{let i=r?{...r,direction:`backward`}:{direction:`backward`};return IM(e)(t,n,i)},_ne=e=>(t,n,r)=>IM(e)(t,n,r),vne=e=>async(t,n,r)=>{let i=r?{...r,direction:`backward`}:{direction:`backward`};return LM(e)(t,n,i)},yne=e=>async(t,n,r)=>LM(e)(t,n,r),bne=e=>(t,n,r)=>{let i=r?{...r,direction:`backward`}:{direction:`backward`};return RM(e)(t,n,i)},xne=e=>(t,n,r)=>RM(e)(t,n,r),Sne=e=>async(t,n,r)=>{let i=r?{...r,direction:`backward`}:{direction:`backward`};return zM(e)(t,n,i)},Cne=e=>async(t,n,r)=>zM(e)(t,n,r),wne=/^[cC][0-9a-z]{6,}$/,Tne=/^[0-9a-z]+$/,Ene=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,Dne=/^[0-9a-vA-V]{20}$/,One=/^[A-Za-z0-9]{27}$/,kne=/^[a-zA-Z0-9_-]{21}$/,Ane=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,jne=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,BM=e=>e?RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,Mne=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,Nne=`^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$`;function Pne(){return new RegExp(Nne,`u`)}var Fne=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,Ine=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/,Lne=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,Rne=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,zne=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,VM=/^[A-Za-z0-9_-]*$/,Bne=/^https?$/,Vne=/^\+[1-9]\d{6,14}$/,HM=`(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))`,Hne=RegExp(`^${HM}$`);function UM(e){let t=`(?:[01]\\d|2[0-3]):[0-5]\\d`;return typeof e.precision==`number`?e.precision===-1?`${t}`:e.precision===0?`${t}:[0-5]\\d`:`${t}:[0-5]\\d\\.\\d{${e.precision}}`:`${t}(?::[0-5]\\d(?:\\.\\d+)?)?`}function Une(e){return RegExp(`^${UM(e)}$`)}function Wne(e){let t=UM({precision:e.precision}),n=[`Z`];e.local&&n.push(``),e.offset&&n.push(`([+-](?:[01]\\d|2[0-3]):[0-5]\\d)`);let r=`${t}(?:${n.join(`|`)})`;return RegExp(`^${HM}T(?:${r})$`)}var Gne=e=>{let t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??``}}`:`[\\s\\S]*`;return RegExp(`^${t}$`)},Kne=/^-?\d+$/,WM=/^-?\d+(?:\.\d+)?$/,qne=/^(?:true|false)$/i,Jne=/^null$/i,Yne=/^[^A-Z]*$/,Xne=/^[^a-z]*$/,GM=J(`$ZodCheck`,(e,t)=>{var n;e._zod??={},e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),KM={number:`number`,bigint:`bigint`,object:`date`},qM=J(`$ZodCheckLessThan`,(e,t)=>{GM.init(e,t);let n=KM[typeof t.value];e._zod.onattach.push(e=>{let n=e._zod.bag,r=(t.inclusive?n.maximum:n.exclusiveMaximum)??1/0;t.value<r&&(t.inclusive?n.maximum=t.value:n.exclusiveMaximum=t.value)}),e._zod.check=r=>{(t.inclusive?r.value<=t.value:r.value<t.value)||r.issues.push({origin:n,code:`too_big`,maximum:typeof t.value==`object`?t.value.getTime():t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),JM=J(`$ZodCheckGreaterThan`,(e,t)=>{GM.init(e,t);let n=KM[typeof t.value];e._zod.onattach.push(e=>{let n=e._zod.bag,r=(t.inclusive?n.minimum:n.exclusiveMinimum)??-1/0;t.value>r&&(t.inclusive?n.minimum=t.value:n.exclusiveMinimum=t.value)}),e._zod.check=r=>{(t.inclusive?r.value>=t.value:r.value>t.value)||r.issues.push({origin:n,code:`too_small`,minimum:typeof t.value==`object`?t.value.getTime():t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),Zne=J(`$ZodCheckMultipleOf`,(e,t)=>{GM.init(e,t),e._zod.onattach.push(e=>{var n;(n=e._zod.bag).multipleOf??(n.multipleOf=t.value)}),e._zod.check=n=>{if(typeof n.value!=typeof t.value)throw Error(`Cannot mix number and bigint in multiple_of check.`);(typeof n.value==`bigint`?n.value%t.value===BigInt(0):tM(n.value,t.value)===0)||n.issues.push({origin:typeof n.value,code:`not_multiple_of`,divisor:t.value,input:n.value,inst:e,continue:!t.abort})}}),Qne=J(`$ZodCheckNumberFormat`,(e,t)=>{GM.init(e,t),t.format=t.format||`float64`;let n=t.format?.includes(`int`),r=n?`int`:`number`,[i,a]=vM[t.format];e._zod.onattach.push(e=>{let r=e._zod.bag;r.format=t.format,r.minimum=i,r.maximum=a,n&&(r.pattern=Kne)}),e._zod.check=o=>{let s=o.value;if(n){if(!Number.isInteger(s)){o.issues.push({expected:r,format:t.format,code:`invalid_type`,continue:!1,input:s,inst:e});return}if(!Number.isSafeInteger(s)){s>0?o.issues.push({input:s,code:`too_big`,maximum:2**53-1,note:`Integers must be within the safe integer range.`,inst:e,origin:r,inclusive:!0,continue:!t.abort}):o.issues.push({input:s,code:`too_small`,minimum:-(2**53-1),note:`Integers must be within the safe integer range.`,inst:e,origin:r,inclusive:!0,continue:!t.abort});return}}s<i&&o.issues.push({origin:`number`,input:s,code:`too_small`,minimum:i,inclusive:!0,inst:e,continue:!t.abort}),s>a&&o.issues.push({origin:`number`,input:s,code:`too_big`,maximum:a,inclusive:!0,inst:e,continue:!t.abort})}}),$ne=J(`$ZodCheckMaxLength`,(e,t)=>{var n;GM.init(e,t),(n=e._zod.def).when??(n.when=e=>{let t=e.value;return!$j(t)&&t.length!==void 0}),e._zod.onattach.push(e=>{let n=e._zod.bag.maximum??1/0;t.maximum<n&&(e._zod.bag.maximum=t.maximum)}),e._zod.check=n=>{let r=n.value;if(r.length<=t.maximum)return;let i=jM(r);n.issues.push({origin:i,code:`too_big`,maximum:t.maximum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),ere=J(`$ZodCheckMinLength`,(e,t)=>{var n;GM.init(e,t),(n=e._zod.def).when??(n.when=e=>{let t=e.value;return!$j(t)&&t.length!==void 0}),e._zod.onattach.push(e=>{let n=e._zod.bag.minimum??-1/0;t.minimum>n&&(e._zod.bag.minimum=t.minimum)}),e._zod.check=n=>{let r=n.value;if(r.length>=t.minimum)return;let i=jM(r);n.issues.push({origin:i,code:`too_small`,minimum:t.minimum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),tre=J(`$ZodCheckLengthEquals`,(e,t)=>{var n;GM.init(e,t),(n=e._zod.def).when??(n.when=e=>{let t=e.value;return!$j(t)&&t.length!==void 0}),e._zod.onattach.push(e=>{let n=e._zod.bag;n.minimum=t.length,n.maximum=t.length,n.length=t.length}),e._zod.check=n=>{let r=n.value,i=r.length;if(i===t.length)return;let a=jM(r),o=i>t.length;n.issues.push({origin:a,...o?{code:`too_big`,maximum:t.length}:{code:`too_small`,minimum:t.length},inclusive:!0,exact:!0,input:n.value,inst:e,continue:!t.abort})}}),YM=J(`$ZodCheckStringFormat`,(e,t)=>{var n,r;GM.init(e,t),e._zod.onattach.push(e=>{let n=e._zod.bag;n.format=t.format,t.pattern&&(n.patterns??=new Set,n.patterns.add(t.pattern))}),t.pattern?(n=e._zod).check??(n.check=n=>{t.pattern.lastIndex=0,!t.pattern.test(n.value)&&n.issues.push({origin:`string`,code:`invalid_format`,format:t.format,input:n.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})}):(r=e._zod).check??(r.check=()=>{})}),nre=J(`$ZodCheckRegex`,(e,t)=>{YM.init(e,t),e._zod.check=n=>{t.pattern.lastIndex=0,!t.pattern.test(n.value)&&n.issues.push({origin:`string`,code:`invalid_format`,format:`regex`,input:n.value,pattern:t.pattern.toString(),inst:e,continue:!t.abort})}}),rre=J(`$ZodCheckLowerCase`,(e,t)=>{t.pattern??=Yne,YM.init(e,t)}),ire=J(`$ZodCheckUpperCase`,(e,t)=>{t.pattern??=Xne,YM.init(e,t)}),are=J(`$ZodCheckIncludes`,(e,t)=>{GM.init(e,t);let n=mM(t.includes),r=new RegExp(typeof t.position==`number`?`^.{${t.position}}${n}`:n);t.pattern=r,e._zod.onattach.push(e=>{let t=e._zod.bag;t.patterns??=new Set,t.patterns.add(r)}),e._zod.check=n=>{n.value.includes(t.includes,t.position)||n.issues.push({origin:`string`,code:`invalid_format`,format:`includes`,includes:t.includes,input:n.value,inst:e,continue:!t.abort})}}),ore=J(`$ZodCheckStartsWith`,(e,t)=>{GM.init(e,t);let n=RegExp(`^${mM(t.prefix)}.*`);t.pattern??=n,e._zod.onattach.push(e=>{let t=e._zod.bag;t.patterns??=new Set,t.patterns.add(n)}),e._zod.check=n=>{n.value.startsWith(t.prefix)||n.issues.push({origin:`string`,code:`invalid_format`,format:`starts_with`,prefix:t.prefix,input:n.value,inst:e,continue:!t.abort})}}),sre=J(`$ZodCheckEndsWith`,(e,t)=>{GM.init(e,t);let n=RegExp(`.*${mM(t.suffix)}$`);t.pattern??=n,e._zod.onattach.push(e=>{let t=e._zod.bag;t.patterns??=new Set,t.patterns.add(n)}),e._zod.check=n=>{n.value.endsWith(t.suffix)||n.issues.push({origin:`string`,code:`invalid_format`,format:`ends_with`,suffix:t.suffix,input:n.value,inst:e,continue:!t.abort})}}),cre=J(`$ZodCheckOverwrite`,(e,t)=>{GM.init(e,t),e._zod.check=e=>{e.value=t.tx(e.value)}}),lre=class{constructor(e=[]){this.content=[],this.indent=0,this&&(this.args=e)}indented(e){this.indent+=1,e(this),--this.indent}write(e){if(typeof e==`function`){e(this,{execution:`sync`}),e(this,{execution:`async`});return}let t=e.split(`
|
|
55
|
+
`).filter(e=>e),n=Math.min(...t.map(e=>e.length-e.trimStart().length)),r=t.map(e=>e.slice(n)).map(e=>` `.repeat(this.indent*2)+e);for(let e of r)this.content.push(e)}compile(){let e=Function,t=this?.args,n=[...(this?.content??[``]).map(e=>` ${e}`)];return new e(...t,n.join(`
|
|
56
|
+
`))}},ure={major:4,minor:4,patch:3},XM=J(`$ZodType`,(e,t)=>{var n;e??={},e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=ure;let r=[...e._zod.def.checks??[]];e._zod.traits.has(`$ZodCheck`)&&r.unshift(e);for(let t of r)for(let n of t._zod.onattach)n(e);if(r.length===0)(n=e._zod).deferred??(n.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{let t=(e,t,n)=>{let r=EM(e),i;for(let a of t){if(a._zod.def.when){if(DM(e)||!a._zod.def.when(e))continue}else if(r)continue;let t=e.issues.length,o=a._zod.check(e);if(o instanceof Promise&&n?.async===!1)throw new Kj;if(i||o instanceof Promise)i=(i??Promise.resolve()).then(async()=>{await o,e.issues.length!==t&&(r||=EM(e,t))});else{if(e.issues.length===t)continue;r||=EM(e,t)}}return i?i.then(()=>e):e},n=(n,i,a)=>{if(EM(n))return n.aborted=!0,n;let o=t(i,r,a);if(o instanceof Promise){if(a.async===!1)throw new Kj;return o.then(t=>e._zod.parse(t,a))}return e._zod.parse(o,a)};e._zod.run=(i,a)=>{if(a.skipChecks)return e._zod.parse(i,a);if(a.direction===`backward`){let t=e._zod.parse({value:i.value,issues:[]},{...a,skipChecks:!0});return t instanceof Promise?t.then(e=>n(e,i,a)):n(t,i,a)}let o=e._zod.parse(i,a);if(o instanceof Promise){if(a.async===!1)throw new Kj;return o.then(e=>t(e,r,a))}return t(o,r,a)}}rM(e,`~standard`,()=>({validate:t=>{try{let n=mne(e,t);return n.success?{value:n.data}:{issues:n.error?.issues}}catch{return hne(e,t).then(e=>e.success?{value:e.data}:{issues:e.error?.issues})}},vendor:`zod`,version:1}))}),ZM=J(`$ZodString`,(e,t)=>{XM.init(e,t),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??Gne(e._zod.bag),e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=String(n.value)}catch{}return typeof n.value==`string`||n.issues.push({expected:`string`,code:`invalid_type`,input:n.value,inst:e}),n}}),QM=J(`$ZodStringFormat`,(e,t)=>{YM.init(e,t),ZM.init(e,t)}),dre=J(`$ZodGUID`,(e,t)=>{t.pattern??=jne,QM.init(e,t)}),fre=J(`$ZodUUID`,(e,t)=>{if(t.version){let e={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[t.version];if(e===void 0)throw Error(`Invalid UUID version: "${t.version}"`);t.pattern??=BM(e)}else t.pattern??=BM();QM.init(e,t)}),pre=J(`$ZodEmail`,(e,t)=>{t.pattern??=Mne,QM.init(e,t)}),mre=J(`$ZodURL`,(e,t)=>{QM.init(e,t),e._zod.check=n=>{try{let r=n.value.trim();if(!t.normalize&&t.protocol?.source===Bne.source&&!/^https?:\/\//i.test(r)){n.issues.push({code:`invalid_format`,format:`url`,note:`Invalid URL format`,input:n.value,inst:e,continue:!t.abort});return}let i=new URL(r);t.hostname&&(t.hostname.lastIndex=0,t.hostname.test(i.hostname)||n.issues.push({code:`invalid_format`,format:`url`,note:`Invalid hostname`,pattern:t.hostname.source,input:n.value,inst:e,continue:!t.abort})),t.protocol&&(t.protocol.lastIndex=0,t.protocol.test(i.protocol.endsWith(`:`)?i.protocol.slice(0,-1):i.protocol)||n.issues.push({code:`invalid_format`,format:`url`,note:`Invalid protocol`,pattern:t.protocol.source,input:n.value,inst:e,continue:!t.abort})),n.value=t.normalize?i.href:r;return}catch{n.issues.push({code:`invalid_format`,format:`url`,input:n.value,inst:e,continue:!t.abort})}}}),hre=J(`$ZodEmoji`,(e,t)=>{t.pattern??=Pne(),QM.init(e,t)}),gre=J(`$ZodNanoID`,(e,t)=>{t.pattern??=kne,QM.init(e,t)}),_re=J(`$ZodCUID`,(e,t)=>{t.pattern??=wne,QM.init(e,t)}),vre=J(`$ZodCUID2`,(e,t)=>{t.pattern??=Tne,QM.init(e,t)}),yre=J(`$ZodULID`,(e,t)=>{t.pattern??=Ene,QM.init(e,t)}),bre=J(`$ZodXID`,(e,t)=>{t.pattern??=Dne,QM.init(e,t)}),xre=J(`$ZodKSUID`,(e,t)=>{t.pattern??=One,QM.init(e,t)}),Sre=J(`$ZodISODateTime`,(e,t)=>{t.pattern??=Wne(t),QM.init(e,t)}),Cre=J(`$ZodISODate`,(e,t)=>{t.pattern??=Hne,QM.init(e,t)}),wre=J(`$ZodISOTime`,(e,t)=>{t.pattern??=Une(t),QM.init(e,t)}),Tre=J(`$ZodISODuration`,(e,t)=>{t.pattern??=Ane,QM.init(e,t)}),Ere=J(`$ZodIPv4`,(e,t)=>{t.pattern??=Fne,QM.init(e,t),e._zod.bag.format=`ipv4`}),Dre=J(`$ZodIPv6`,(e,t)=>{t.pattern??=Ine,QM.init(e,t),e._zod.bag.format=`ipv6`,e._zod.check=n=>{try{new URL(`http://[${n.value}]`)}catch{n.issues.push({code:`invalid_format`,format:`ipv6`,input:n.value,inst:e,continue:!t.abort})}}}),Ore=J(`$ZodCIDRv4`,(e,t)=>{t.pattern??=Lne,QM.init(e,t)}),kre=J(`$ZodCIDRv6`,(e,t)=>{t.pattern??=Rne,QM.init(e,t),e._zod.check=n=>{let r=n.value.split(`/`);try{if(r.length!==2)throw Error();let[e,t]=r;if(!t)throw Error();let n=Number(t);if(`${n}`!==t||n<0||n>128)throw Error();new URL(`http://[${e}]`)}catch{n.issues.push({code:`invalid_format`,format:`cidrv6`,input:n.value,inst:e,continue:!t.abort})}}});function $M(e){if(e===``)return!0;if(/\s/.test(e)||e.length%4!=0)return!1;try{return atob(e),!0}catch{return!1}}var Are=J(`$ZodBase64`,(e,t)=>{t.pattern??=zne,QM.init(e,t),e._zod.bag.contentEncoding=`base64`,e._zod.check=n=>{$M(n.value)||n.issues.push({code:`invalid_format`,format:`base64`,input:n.value,inst:e,continue:!t.abort})}});function jre(e){if(!VM.test(e))return!1;let t=e.replace(/[-_]/g,e=>e===`-`?`+`:`/`);return $M(t.padEnd(Math.ceil(t.length/4)*4,`=`))}var Mre=J(`$ZodBase64URL`,(e,t)=>{t.pattern??=VM,QM.init(e,t),e._zod.bag.contentEncoding=`base64url`,e._zod.check=n=>{jre(n.value)||n.issues.push({code:`invalid_format`,format:`base64url`,input:n.value,inst:e,continue:!t.abort})}}),Nre=J(`$ZodE164`,(e,t)=>{t.pattern??=Vne,QM.init(e,t)});function Pre(e,t=null){try{let n=e.split(`.`);if(n.length!==3)return!1;let[r]=n;if(!r)return!1;let i=JSON.parse(atob(r));return!(`typ`in i&&i?.typ!==`JWT`||!i.alg||t&&(!(`alg`in i)||i.alg!==t))}catch{return!1}}var Fre=J(`$ZodJWT`,(e,t)=>{QM.init(e,t),e._zod.check=n=>{Pre(n.value,t.alg)||n.issues.push({code:`invalid_format`,format:`jwt`,input:n.value,inst:e,continue:!t.abort})}}),eN=J(`$ZodNumber`,(e,t)=>{XM.init(e,t),e._zod.pattern=e._zod.bag.pattern??WM,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=Number(n.value)}catch{}let i=n.value;if(typeof i==`number`&&!Number.isNaN(i)&&Number.isFinite(i))return n;let a=typeof i==`number`?Number.isNaN(i)?`NaN`:Number.isFinite(i)?void 0:`Infinity`:void 0;return n.issues.push({expected:`number`,code:`invalid_type`,input:i,inst:e,...a?{received:a}:{}}),n}}),Ire=J(`$ZodNumberFormat`,(e,t)=>{Qne.init(e,t),eN.init(e,t)}),Lre=J(`$ZodBoolean`,(e,t)=>{XM.init(e,t),e._zod.pattern=qne,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=!!n.value}catch{}let i=n.value;return typeof i==`boolean`||n.issues.push({expected:`boolean`,code:`invalid_type`,input:i,inst:e}),n}}),Rre=J(`$ZodNull`,(e,t)=>{XM.init(e,t),e._zod.pattern=Jne,e._zod.values=new Set([null]),e._zod.parse=(t,n)=>{let r=t.value;return r===null||t.issues.push({expected:`null`,code:`invalid_type`,input:r,inst:e}),t}}),zre=J(`$ZodUnknown`,(e,t)=>{XM.init(e,t),e._zod.parse=e=>e}),Bre=J(`$ZodNever`,(e,t)=>{XM.init(e,t),e._zod.parse=(t,n)=>(t.issues.push({expected:`never`,code:`invalid_type`,input:t.value,inst:e}),t)});function tN(e,t,n){e.issues.length&&t.issues.push(...OM(n,e.issues)),t.value[n]=e.value}var Vre=J(`$ZodArray`,(e,t)=>{XM.init(e,t),e._zod.parse=(n,r)=>{let i=n.value;if(!Array.isArray(i))return n.issues.push({expected:`array`,code:`invalid_type`,input:i,inst:e}),n;n.value=Array(i.length);let a=[];for(let e=0;e<i.length;e++){let o=i[e],s=t.element._zod.run({value:o,issues:[]},r);s instanceof Promise?a.push(s.then(t=>tN(t,n,e))):tN(s,n,e)}return a.length?Promise.all(a).then(()=>n):n}});function nN(e,t,n,r,i,a){let o=n in r;if(e.issues.length){if(i&&a&&!o)return;t.issues.push(...OM(n,e.issues))}if(!o&&!i){e.issues.length||t.issues.push({code:`invalid_type`,expected:`nonoptional`,input:void 0,path:[n]});return}e.value===void 0?o&&(t.value[n]=void 0):t.value[n]=e.value}function rN(e){let t=Object.keys(e.shape);for(let n of t)if(!e.shape?.[n]?._zod?.traits?.has(`$ZodType`))throw Error(`Invalid element at key "${n}": expected a Zod schema`);let n=_M(e.shape);return{...e,keys:t,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(n)}}function iN(e,t,n,r,i,a){let o=[],s=i.keySet,c=i.catchall._zod,l=c.def.type,u=c.optin===`optional`,d=c.optout===`optional`;for(let i in t){if(i===`__proto__`||s.has(i))continue;if(l===`never`){o.push(i);continue}let a=c.run({value:t[i],issues:[]},r);a instanceof Promise?e.push(a.then(e=>nN(e,n,i,t,u,d))):nN(a,n,i,t,u,d)}return o.length&&n.issues.push({code:`unrecognized_keys`,keys:o,input:t,inst:a}),e.length?Promise.all(e).then(()=>n):n}var Hre=J(`$ZodObject`,(e,t)=>{if(XM.init(e,t),!Object.getOwnPropertyDescriptor(t,`shape`)?.get){let e=t.shape;Object.defineProperty(t,"shape",{get:()=>{let n={...e};return Object.defineProperty(t,"shape",{value:n}),n}})}let n=Qj(()=>rN(t));rM(e._zod,`propValues`,()=>{let e=t.shape,n={};for(let t in e){let r=e[t]._zod;if(r.values){n[t]??(n[t]=new Set);for(let e of r.values)n[t].add(e)}}return n});let r=lM,i=t.catchall,a;e._zod.parse=(t,o)=>{a??=n.value;let s=t.value;if(!r(s))return t.issues.push({expected:`object`,code:`invalid_type`,input:s,inst:e}),t;t.value={};let c=[],l=a.shape;for(let e of a.keys){let n=l[e],r=n._zod.optin===`optional`,i=n._zod.optout===`optional`,a=n._zod.run({value:s[e],issues:[]},o);a instanceof Promise?c.push(a.then(n=>nN(n,t,e,s,r,i))):nN(a,t,e,s,r,i)}return i?iN(c,s,t,o,n.value,e):c.length?Promise.all(c).then(()=>t):t}}),Ure=J(`$ZodObjectJIT`,(e,t)=>{Hre.init(e,t);let n=e._zod.parse,r=Qj(()=>rN(t)),i=e=>{let t=new lre([`shape`,`payload`,`ctx`]),n=r.value,i=e=>{let t=oM(e);return`shape[${t}]._zod.run({ value: input[${t}], issues: [] }, ctx)`};t.write(`const input = payload.value;`);let a=Object.create(null),o=0;for(let e of n.keys)a[e]=`key_${o++}`;t.write(`const newResult = {};`);for(let r of n.keys){let n=a[r],o=oM(r),s=e[r],c=s?._zod?.optin===`optional`,l=s?._zod?.optout===`optional`;t.write(`const ${n} = ${i(r)};`),c&&l?t.write(`
|
|
57
|
+
if (${n}.issues.length) {
|
|
58
|
+
if (${o} in input) {
|
|
59
|
+
payload.issues = payload.issues.concat(${n}.issues.map(iss => ({
|
|
60
|
+
...iss,
|
|
61
|
+
path: iss.path ? [${o}, ...iss.path] : [${o}]
|
|
62
|
+
})));
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
if (${n}.value === undefined) {
|
|
67
|
+
if (${o} in input) {
|
|
68
|
+
newResult[${o}] = undefined;
|
|
69
|
+
}
|
|
70
|
+
} else {
|
|
71
|
+
newResult[${o}] = ${n}.value;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
`):c?t.write(`
|
|
75
|
+
if (${n}.issues.length) {
|
|
76
|
+
payload.issues = payload.issues.concat(${n}.issues.map(iss => ({
|
|
77
|
+
...iss,
|
|
78
|
+
path: iss.path ? [${o}, ...iss.path] : [${o}]
|
|
79
|
+
})));
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
if (${n}.value === undefined) {
|
|
83
|
+
if (${o} in input) {
|
|
84
|
+
newResult[${o}] = undefined;
|
|
85
|
+
}
|
|
86
|
+
} else {
|
|
87
|
+
newResult[${o}] = ${n}.value;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
`):t.write(`
|
|
91
|
+
const ${n}_present = ${o} in input;
|
|
92
|
+
if (${n}.issues.length) {
|
|
93
|
+
payload.issues = payload.issues.concat(${n}.issues.map(iss => ({
|
|
94
|
+
...iss,
|
|
95
|
+
path: iss.path ? [${o}, ...iss.path] : [${o}]
|
|
96
|
+
})));
|
|
97
|
+
}
|
|
98
|
+
if (!${n}_present && !${n}.issues.length) {
|
|
99
|
+
payload.issues.push({
|
|
100
|
+
code: "invalid_type",
|
|
101
|
+
expected: "nonoptional",
|
|
102
|
+
input: undefined,
|
|
103
|
+
path: [${o}]
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
if (${n}_present) {
|
|
108
|
+
if (${n}.value === undefined) {
|
|
109
|
+
newResult[${o}] = undefined;
|
|
110
|
+
} else {
|
|
111
|
+
newResult[${o}] = ${n}.value;
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
`)}t.write(`payload.value = newResult;`),t.write(`return payload;`);let s=t.compile();return(t,n)=>s(e,t,n)},a,o=lM,s=!Jj.jitless,c=s&&uM.value,l=t.catchall,u;e._zod.parse=(d,f)=>{u??=r.value;let p=d.value;return o(p)?s&&c&&f?.async===!1&&f.jitless!==!0?(a||=i(t.shape),d=a(d,f),l?iN([],p,d,f,u,e):d):n(d,f):(d.issues.push({expected:`object`,code:`invalid_type`,input:p,inst:e}),d)}});function aN(e,t,n,r){for(let n of e)if(n.issues.length===0)return t.value=n.value,t;let i=e.filter(e=>!EM(e));return i.length===1?(t.value=i[0].value,i[0]):(t.issues.push({code:`invalid_union`,input:t.value,inst:n,errors:e.map(e=>e.issues.map(e=>AM(e,r,Yj())))}),t)}var oN=J(`$ZodUnion`,(e,t)=>{XM.init(e,t),rM(e._zod,`optin`,()=>t.options.some(e=>e._zod.optin===`optional`)?`optional`:void 0),rM(e._zod,`optout`,()=>t.options.some(e=>e._zod.optout===`optional`)?`optional`:void 0),rM(e._zod,`values`,()=>{if(t.options.every(e=>e._zod.values))return new Set(t.options.flatMap(e=>Array.from(e._zod.values)))}),rM(e._zod,`pattern`,()=>{if(t.options.every(e=>e._zod.pattern)){let e=t.options.map(e=>e._zod.pattern);return RegExp(`^(${e.map(e=>eM(e.source)).join(`|`)})$`)}});let n=t.options.length===1?t.options[0]._zod.run:null;e._zod.parse=(r,i)=>{if(n)return n(r,i);let a=!1,o=[];for(let e of t.options){let t=e._zod.run({value:r.value,issues:[]},i);if(t instanceof Promise)o.push(t),a=!0;else{if(t.issues.length===0)return t;o.push(t)}}return a?Promise.all(o).then(t=>aN(t,r,e,i)):aN(o,r,e,i)}}),sN=J(`$ZodDiscriminatedUnion`,(e,t)=>{t.inclusive=!1,oN.init(e,t);let n=e._zod.parse;rM(e._zod,`propValues`,()=>{let e={};for(let n of t.options){let r=n._zod.propValues;if(!r||Object.keys(r).length===0)throw Error(`Invalid discriminated union option at index "${t.options.indexOf(n)}"`);for(let[t,n]of Object.entries(r)){e[t]||(e[t]=new Set);for(let r of n)e[t].add(r)}}return e});let r=Qj(()=>{let e=t.options,n=new Map;for(let r of e){let e=r._zod.propValues?.[t.discriminator];if(!e||e.size===0)throw Error(`Invalid discriminated union option at index "${t.options.indexOf(r)}"`);for(let t of e){if(n.has(t))throw Error(`Duplicate discriminator value "${String(t)}"`);n.set(t,r)}}return n});e._zod.parse=(i,a)=>{let o=i.value;if(!lM(o))return i.issues.push({code:`invalid_type`,expected:`object`,input:o,inst:e}),i;let s=r.value.get(o?.[t.discriminator]);return s?s._zod.run(i,a):t.unionFallback||a.direction===`backward`?n(i,a):(i.issues.push({code:`invalid_union`,errors:[],note:`No matching discriminator`,discriminator:t.discriminator,options:Array.from(r.value.keys()),input:o,path:[t.discriminator],inst:e}),i)}}),cN=J(`$ZodIntersection`,(e,t)=>{XM.init(e,t),e._zod.parse=(e,n)=>{let r=e.value,i=t.left._zod.run({value:r,issues:[]},n),a=t.right._zod.run({value:r,issues:[]},n);return i instanceof Promise||a instanceof Promise?Promise.all([i,a]).then(([t,n])=>uN(e,t,n)):uN(e,i,a)}});function lN(e,t){if(e===t||e instanceof Date&&t instanceof Date&&+e==+t)return{valid:!0,data:e};if(dM(e)&&dM(t)){let n=Object.keys(t),r=Object.keys(e).filter(e=>n.indexOf(e)!==-1),i={...e,...t};for(let n of r){let r=lN(e[n],t[n]);if(!r.valid)return{valid:!1,mergeErrorPath:[n,...r.mergeErrorPath]};i[n]=r.data}return{valid:!0,data:i}}if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return{valid:!1,mergeErrorPath:[]};let n=[];for(let r=0;r<e.length;r++){let i=e[r],a=t[r],o=lN(i,a);if(!o.valid)return{valid:!1,mergeErrorPath:[r,...o.mergeErrorPath]};n.push(o.data)}return{valid:!0,data:n}}return{valid:!1,mergeErrorPath:[]}}function uN(e,t,n){let r=new Map,i;for(let n of t.issues)if(n.code===`unrecognized_keys`){i??=n;for(let e of n.keys)r.has(e)||r.set(e,{}),r.get(e).l=!0}else e.issues.push(n);for(let t of n.issues)if(t.code===`unrecognized_keys`)for(let e of t.keys)r.has(e)||r.set(e,{}),r.get(e).r=!0;else e.issues.push(t);let a=[...r].filter(([,e])=>e.l&&e.r).map(([e])=>e);if(a.length&&i&&e.issues.push({...i,keys:a}),EM(e))return e;let o=lN(t.value,n.value);if(!o.valid)throw Error(`Unmergable intersection. Error path: ${JSON.stringify(o.mergeErrorPath)}`);return e.value=o.data,e}var dN=J(`$ZodRecord`,(e,t)=>{XM.init(e,t),e._zod.parse=(n,r)=>{let i=n.value;if(!dM(i))return n.issues.push({expected:`record`,code:`invalid_type`,input:i,inst:e}),n;let a=[],o=t.keyType._zod.values;if(o){n.value={};let s=new Set;for(let c of o)if(typeof c==`string`||typeof c==`number`||typeof c==`symbol`){s.add(typeof c==`number`?c.toString():c);let o=t.keyType._zod.run({value:c,issues:[]},r);if(o instanceof Promise)throw Error(`Async schemas not supported in object keys currently`);if(o.issues.length){n.issues.push({code:`invalid_key`,origin:`record`,issues:o.issues.map(e=>AM(e,r,Yj())),input:c,path:[c],inst:e});continue}let l=o.value,u=t.valueType._zod.run({value:i[c],issues:[]},r);u instanceof Promise?a.push(u.then(e=>{e.issues.length&&n.issues.push(...OM(c,e.issues)),n.value[l]=e.value})):(u.issues.length&&n.issues.push(...OM(c,u.issues)),n.value[l]=u.value)}let c;for(let e in i)s.has(e)||(c??=[],c.push(e));c&&c.length>0&&n.issues.push({code:`unrecognized_keys`,input:i,inst:e,keys:c})}else{n.value={};for(let o of Reflect.ownKeys(i)){if(o===`__proto__`||!Object.prototype.propertyIsEnumerable.call(i,o))continue;let s=t.keyType._zod.run({value:o,issues:[]},r);if(s instanceof Promise)throw Error(`Async schemas not supported in object keys currently`);if(typeof o==`string`&&WM.test(o)&&s.issues.length){let e=t.keyType._zod.run({value:Number(o),issues:[]},r);if(e instanceof Promise)throw Error(`Async schemas not supported in object keys currently`);e.issues.length===0&&(s=e)}if(s.issues.length){t.mode===`loose`?n.value[o]=i[o]:n.issues.push({code:`invalid_key`,origin:`record`,issues:s.issues.map(e=>AM(e,r,Yj())),input:o,path:[o],inst:e});continue}let c=t.valueType._zod.run({value:i[o],issues:[]},r);c instanceof Promise?a.push(c.then(e=>{e.issues.length&&n.issues.push(...OM(o,e.issues)),n.value[s.value]=e.value})):(c.issues.length&&n.issues.push(...OM(o,c.issues)),n.value[s.value]=c.value)}}return a.length?Promise.all(a).then(()=>n):n}}),fN=J(`$ZodEnum`,(e,t)=>{XM.init(e,t);let n=Xj(t.entries),r=new Set(n);e._zod.values=r,e._zod.pattern=RegExp(`^(${n.filter(e=>pM.has(typeof e)).map(e=>typeof e==`string`?mM(e):e.toString()).join(`|`)})$`),e._zod.parse=(t,i)=>{let a=t.value;return r.has(a)||t.issues.push({code:`invalid_value`,values:n,input:a,inst:e}),t}}),pN=J(`$ZodLiteral`,(e,t)=>{if(XM.init(e,t),t.values.length===0)throw Error(`Cannot create literal schema with no valid values`);let n=new Set(t.values);e._zod.values=n,e._zod.pattern=RegExp(`^(${t.values.map(e=>typeof e==`string`?mM(e):e?mM(e.toString()):String(e)).join(`|`)})$`),e._zod.parse=(r,i)=>{let a=r.value;return n.has(a)||r.issues.push({code:`invalid_value`,values:t.values,input:a,inst:e}),r}}),mN=J(`$ZodTransform`,(e,t)=>{XM.init(e,t),e._zod.optin=`optional`,e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new qj(e.constructor.name);let i=t.transform(n.value,n);if(r.async)return(i instanceof Promise?i:Promise.resolve(i)).then(e=>(n.value=e,n.fallback=!0,n));if(i instanceof Promise)throw new Kj;return n.value=i,n.fallback=!0,n}});function hN(e,t){return t===void 0&&(e.issues.length||e.fallback)?{issues:[],value:void 0}:e}var gN=J(`$ZodOptional`,(e,t)=>{XM.init(e,t),e._zod.optin=`optional`,e._zod.optout=`optional`,rM(e._zod,`values`,()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),rM(e._zod,`pattern`,()=>{let e=t.innerType._zod.pattern;return e?RegExp(`^(${eM(e.source)})?$`):void 0}),e._zod.parse=(e,n)=>{if(t.innerType._zod.optin===`optional`){let r=e.value,i=t.innerType._zod.run(e,n);return i instanceof Promise?i.then(e=>hN(e,r)):hN(i,r)}return e.value===void 0?e:t.innerType._zod.run(e,n)}}),_N=J(`$ZodExactOptional`,(e,t)=>{gN.init(e,t),rM(e._zod,`values`,()=>t.innerType._zod.values),rM(e._zod,`pattern`,()=>t.innerType._zod.pattern),e._zod.parse=(e,n)=>t.innerType._zod.run(e,n)}),vN=J(`$ZodNullable`,(e,t)=>{XM.init(e,t),rM(e._zod,`optin`,()=>t.innerType._zod.optin),rM(e._zod,`optout`,()=>t.innerType._zod.optout),rM(e._zod,`pattern`,()=>{let e=t.innerType._zod.pattern;return e?RegExp(`^(${eM(e.source)}|null)$`):void 0}),rM(e._zod,`values`,()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,null]):void 0),e._zod.parse=(e,n)=>e.value===null?e:t.innerType._zod.run(e,n)}),yN=J(`$ZodDefault`,(e,t)=>{XM.init(e,t),e._zod.optin=`optional`,rM(e._zod,`values`,()=>t.innerType._zod.values),e._zod.parse=(e,n)=>{if(n.direction===`backward`)return t.innerType._zod.run(e,n);if(e.value===void 0)return e.value=t.defaultValue,e;let r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(e=>bN(e,t)):bN(r,t)}});function bN(e,t){return e.value===void 0&&(e.value=t.defaultValue),e}var xN=J(`$ZodPrefault`,(e,t)=>{XM.init(e,t),e._zod.optin=`optional`,rM(e._zod,`values`,()=>t.innerType._zod.values),e._zod.parse=(e,n)=>(n.direction===`backward`||e.value===void 0&&(e.value=t.defaultValue),t.innerType._zod.run(e,n))}),SN=J(`$ZodNonOptional`,(e,t)=>{XM.init(e,t),rM(e._zod,`values`,()=>{let e=t.innerType._zod.values;return e?new Set([...e].filter(e=>e!==void 0)):void 0}),e._zod.parse=(n,r)=>{let i=t.innerType._zod.run(n,r);return i instanceof Promise?i.then(t=>CN(t,e)):CN(i,e)}});function CN(e,t){return!e.issues.length&&e.value===void 0&&e.issues.push({code:`invalid_type`,expected:`nonoptional`,input:e.value,inst:t}),e}var wN=J(`$ZodCatch`,(e,t)=>{XM.init(e,t),e._zod.optin=`optional`,rM(e._zod,`optout`,()=>t.innerType._zod.optout),rM(e._zod,`values`,()=>t.innerType._zod.values),e._zod.parse=(e,n)=>{if(n.direction===`backward`)return t.innerType._zod.run(e,n);let r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(r=>(e.value=r.value,r.issues.length&&(e.value=t.catchValue({...e,error:{issues:r.issues.map(e=>AM(e,n,Yj()))},input:e.value}),e.issues=[],e.fallback=!0),e)):(e.value=r.value,r.issues.length&&(e.value=t.catchValue({...e,error:{issues:r.issues.map(e=>AM(e,n,Yj()))},input:e.value}),e.issues=[],e.fallback=!0),e)}}),TN=J(`$ZodPipe`,(e,t)=>{XM.init(e,t),rM(e._zod,`values`,()=>t.in._zod.values),rM(e._zod,`optin`,()=>t.in._zod.optin),rM(e._zod,`optout`,()=>t.out._zod.optout),rM(e._zod,`propValues`,()=>t.in._zod.propValues),e._zod.parse=(e,n)=>{if(n.direction===`backward`){let r=t.out._zod.run(e,n);return r instanceof Promise?r.then(e=>EN(e,t.in,n)):EN(r,t.in,n)}let r=t.in._zod.run(e,n);return r instanceof Promise?r.then(e=>EN(e,t.out,n)):EN(r,t.out,n)}});function EN(e,t,n){return e.issues.length?(e.aborted=!0,e):t._zod.run({value:e.value,issues:e.issues,fallback:e.fallback},n)}var DN=J(`$ZodReadonly`,(e,t)=>{XM.init(e,t),rM(e._zod,`propValues`,()=>t.innerType._zod.propValues),rM(e._zod,`values`,()=>t.innerType._zod.values),rM(e._zod,`optin`,()=>t.innerType?._zod?.optin),rM(e._zod,`optout`,()=>t.innerType?._zod?.optout),e._zod.parse=(e,n)=>{if(n.direction===`backward`)return t.innerType._zod.run(e,n);let r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(ON):ON(r)}});function ON(e){return e.value=Object.freeze(e.value),e}var kN=J(`$ZodLazy`,(e,t)=>{XM.init(e,t),rM(e._zod,`innerType`,()=>{let e=t;return e._cachedInner||=t.getter(),e._cachedInner}),rM(e._zod,`pattern`,()=>e._zod.innerType?._zod?.pattern),rM(e._zod,`propValues`,()=>e._zod.innerType?._zod?.propValues),rM(e._zod,`optin`,()=>e._zod.innerType?._zod?.optin??void 0),rM(e._zod,`optout`,()=>e._zod.innerType?._zod?.optout??void 0),e._zod.parse=(t,n)=>e._zod.innerType._zod.run(t,n)}),AN=J(`$ZodCustom`,(e,t)=>{GM.init(e,t),XM.init(e,t),e._zod.parse=(e,t)=>e,e._zod.check=n=>{let r=n.value,i=t.fn(r);if(i instanceof Promise)return i.then(t=>jN(t,n,r,e));jN(i,n,r,e)}});function jN(e,t,n,r){if(!e){let e={code:`custom`,input:n,inst:r,path:[...r._zod.def.path??[]],continue:!r._zod.def.abort};r._zod.def.params&&(e.params=r._zod.def.params),t.issues.push(MM(e))}}var MN,NN=class{constructor(){this._map=new WeakMap,this._idmap=new Map}add(e,...t){let n=t[0];return this._map.set(e,n),n&&typeof n==`object`&&`id`in n&&this._idmap.set(n.id,e),this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove(e){let t=this._map.get(e);return t&&typeof t==`object`&&`id`in t&&this._idmap.delete(t.id),this._map.delete(e),this}get(e){let t=e._zod.parent;if(t){let n={...this.get(t)??{}};delete n.id;let r={...n,...this._map.get(e)};return Object.keys(r).length?r:void 0}return this._map.get(e)}has(e){return this._map.has(e)}};function PN(){return new NN}(MN=globalThis).__zod_globalRegistry??(MN.__zod_globalRegistry=PN());var FN=globalThis.__zod_globalRegistry;function IN(e,t){return new e({type:`string`,...gM(t)})}function LN(e,t){return new e({type:`string`,format:`email`,check:`string_format`,abort:!1,...gM(t)})}function RN(e,t){return new e({type:`string`,format:`guid`,check:`string_format`,abort:!1,...gM(t)})}function zN(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,...gM(t)})}function BN(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v4`,...gM(t)})}function VN(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v6`,...gM(t)})}function HN(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v7`,...gM(t)})}function UN(e,t){return new e({type:`string`,format:`url`,check:`string_format`,abort:!1,...gM(t)})}function WN(e,t){return new e({type:`string`,format:`emoji`,check:`string_format`,abort:!1,...gM(t)})}function GN(e,t){return new e({type:`string`,format:`nanoid`,check:`string_format`,abort:!1,...gM(t)})}function KN(e,t){return new e({type:`string`,format:`cuid`,check:`string_format`,abort:!1,...gM(t)})}function qN(e,t){return new e({type:`string`,format:`cuid2`,check:`string_format`,abort:!1,...gM(t)})}function JN(e,t){return new e({type:`string`,format:`ulid`,check:`string_format`,abort:!1,...gM(t)})}function YN(e,t){return new e({type:`string`,format:`xid`,check:`string_format`,abort:!1,...gM(t)})}function XN(e,t){return new e({type:`string`,format:`ksuid`,check:`string_format`,abort:!1,...gM(t)})}function ZN(e,t){return new e({type:`string`,format:`ipv4`,check:`string_format`,abort:!1,...gM(t)})}function QN(e,t){return new e({type:`string`,format:`ipv6`,check:`string_format`,abort:!1,...gM(t)})}function $N(e,t){return new e({type:`string`,format:`cidrv4`,check:`string_format`,abort:!1,...gM(t)})}function eP(e,t){return new e({type:`string`,format:`cidrv6`,check:`string_format`,abort:!1,...gM(t)})}function tP(e,t){return new e({type:`string`,format:`base64`,check:`string_format`,abort:!1,...gM(t)})}function nP(e,t){return new e({type:`string`,format:`base64url`,check:`string_format`,abort:!1,...gM(t)})}function rP(e,t){return new e({type:`string`,format:`e164`,check:`string_format`,abort:!1,...gM(t)})}function iP(e,t){return new e({type:`string`,format:`jwt`,check:`string_format`,abort:!1,...gM(t)})}function aP(e,t){return new e({type:`string`,format:`datetime`,check:`string_format`,offset:!1,local:!1,precision:null,...gM(t)})}function oP(e,t){return new e({type:`string`,format:`date`,check:`string_format`,...gM(t)})}function sP(e,t){return new e({type:`string`,format:`time`,check:`string_format`,precision:null,...gM(t)})}function cP(e,t){return new e({type:`string`,format:`duration`,check:`string_format`,...gM(t)})}function lP(e,t){return new e({type:`number`,checks:[],...gM(t)})}function uP(e,t){return new e({type:`number`,coerce:!0,checks:[],...gM(t)})}function dP(e,t){return new e({type:`number`,check:`number_format`,abort:!1,format:`safeint`,...gM(t)})}function fP(e,t){return new e({type:`boolean`,...gM(t)})}function pP(e,t){return new e({type:`null`,...gM(t)})}function mP(e){return new e({type:`unknown`})}function hP(e,t){return new e({type:`never`,...gM(t)})}function gP(e,t){return new qM({check:`less_than`,...gM(t),value:e,inclusive:!1})}function _P(e,t){return new qM({check:`less_than`,...gM(t),value:e,inclusive:!0})}function vP(e,t){return new JM({check:`greater_than`,...gM(t),value:e,inclusive:!1})}function yP(e,t){return new JM({check:`greater_than`,...gM(t),value:e,inclusive:!0})}function bP(e,t){return new Zne({check:`multiple_of`,...gM(t),value:e})}function xP(e,t){return new $ne({check:`max_length`,...gM(t),maximum:e})}function SP(e,t){return new ere({check:`min_length`,...gM(t),minimum:e})}function CP(e,t){return new tre({check:`length_equals`,...gM(t),length:e})}function wP(e,t){return new nre({check:`string_format`,format:`regex`,...gM(t),pattern:e})}function TP(e){return new rre({check:`string_format`,format:`lowercase`,...gM(e)})}function EP(e){return new ire({check:`string_format`,format:`uppercase`,...gM(e)})}function DP(e,t){return new are({check:`string_format`,format:`includes`,...gM(t),includes:e})}function OP(e,t){return new ore({check:`string_format`,format:`starts_with`,...gM(t),prefix:e})}function kP(e,t){return new sre({check:`string_format`,format:`ends_with`,...gM(t),suffix:e})}function AP(e){return new cre({check:`overwrite`,tx:e})}function jP(e){return AP(t=>t.normalize(e))}function MP(){return AP(e=>e.trim())}function NP(){return AP(e=>e.toLowerCase())}function PP(){return AP(e=>e.toUpperCase())}function FP(){return AP(e=>sM(e))}function IP(e,t,n){return new e({type:`array`,element:t,...gM(n)})}function LP(e,t,n){return new e({type:`custom`,check:`custom`,fn:t,...gM(n)})}function RP(e,t){let n=zP(t=>(t.addIssue=e=>{if(typeof e==`string`)t.issues.push(MM(e,t.value,n._zod.def));else{let r=e;r.fatal&&(r.continue=!1),r.code??=`custom`,r.input??=t.value,r.inst??=n,r.continue??=!n._zod.def.abort,t.issues.push(MM(r))}},e(t.value,t)),t);return n}function zP(e,t){let n=new GM({check:`custom`,...gM(t)});return n._zod.check=e,n}function BP(e){let t=e?.target??`draft-2020-12`;return t===`draft-4`&&(t=`draft-04`),t===`draft-7`&&(t=`draft-07`),{processors:e.processors??{},metadataRegistry:e?.metadata??FN,target:t,unrepresentable:e?.unrepresentable??`throw`,override:e?.override??(()=>{}),io:e?.io??`output`,counter:0,seen:new Map,cycles:e?.cycles??`ref`,reused:e?.reused??`inline`,external:e?.external??void 0}}function VP(e,t,n={path:[],schemaPath:[]}){var r;let i=e._zod.def,a=t.seen.get(e);if(a)return a.count++,n.schemaPath.includes(e)&&(a.cycle=n.path),a.schema;let o={schema:{},count:1,cycle:void 0,path:n.path};t.seen.set(e,o);let s=e._zod.toJSONSchema?.();if(s)o.schema=s;else{let r={...n,schemaPath:[...n.schemaPath,e],path:n.path};if(e._zod.processJSONSchema)e._zod.processJSONSchema(t,o.schema,r);else{let n=o.schema,a=t.processors[i.type];if(!a)throw Error(`[toJSONSchema]: Non-representable type encountered: ${i.type}`);a(e,t,n,r)}let a=e._zod.parent;a&&(o.ref||=a,VP(a,t,r),t.seen.get(a).isParent=!0)}let c=t.metadataRegistry.get(e);return c&&Object.assign(o.schema,c),t.io===`input`&&WP(e)&&(delete o.schema.examples,delete o.schema.default),t.io===`input`&&`_prefault`in o.schema&&((r=o.schema).default??(r.default=o.schema._prefault)),delete o.schema._prefault,t.seen.get(e).schema}function HP(e,t){let n=e.seen.get(t);if(!n)throw Error(`Unprocessed schema. This is a bug in Zod.`);let r=new Map;for(let t of e.seen.entries()){let n=e.metadataRegistry.get(t[0])?.id;if(n){let e=r.get(n);if(e&&e!==t[0])throw Error(`Duplicate schema id "${n}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);r.set(n,t[0])}}let i=t=>{let r=e.target===`draft-2020-12`?`$defs`:`definitions`;if(e.external){let n=e.external.registry.get(t[0])?.id,i=e.external.uri??(e=>e);if(n)return{ref:i(n)};let a=t[1].defId??t[1].schema.id??`schema${e.counter++}`;return t[1].defId=a,{defId:a,ref:`${i(`__shared`)}#/${r}/${a}`}}if(t[1]===n)return{ref:`#`};let i=`#/${r}/`,a=t[1].schema.id??`__schema${e.counter++}`;return{defId:a,ref:i+a}},a=e=>{if(e[1].schema.$ref)return;let t=e[1],{ref:n,defId:r}=i(e);t.def={...t.schema},r&&(t.defId=r);let a=t.schema;for(let e in a)delete a[e];a.$ref=n};if(e.cycles===`throw`)for(let t of e.seen.entries()){let e=t[1];if(e.cycle)throw Error(`Cycle detected: #/${e.cycle?.join(`/`)}/<root>
|
|
116
|
+
|
|
117
|
+
Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let n of e.seen.entries()){let r=n[1];if(t===n[0]){a(n);continue}if(e.external){let r=e.external.registry.get(n[0])?.id;if(t!==n[0]&&r){a(n);continue}}if(e.metadataRegistry.get(n[0])?.id){a(n);continue}if(r.cycle){a(n);continue}if(r.count>1&&e.reused===`ref`){a(n);continue}}}function UP(e,t){let n=e.seen.get(t);if(!n)throw Error(`Unprocessed schema. This is a bug in Zod.`);let r=t=>{let n=e.seen.get(t);if(n.ref===null)return;let i=n.def??n.schema,a={...i},o=n.ref;if(n.ref=null,o){r(o);let n=e.seen.get(o),s=n.schema;if(s.$ref&&(e.target===`draft-07`||e.target===`draft-04`||e.target===`openapi-3.0`)?(i.allOf=i.allOf??[],i.allOf.push(s)):Object.assign(i,s),Object.assign(i,a),t._zod.parent===o)for(let e in i)e!==`$ref`&&e!==`allOf`&&(e in a||delete i[e]);if(s.$ref&&n.def)for(let e in i)e!==`$ref`&&e!==`allOf`&&e in n.def&&JSON.stringify(i[e])===JSON.stringify(n.def[e])&&delete i[e]}let s=t._zod.parent;if(s&&s!==o){r(s);let t=e.seen.get(s);if(t?.schema.$ref&&(i.$ref=t.schema.$ref,t.def))for(let e in i)e!==`$ref`&&e!==`allOf`&&e in t.def&&JSON.stringify(i[e])===JSON.stringify(t.def[e])&&delete i[e]}e.override({zodSchema:t,jsonSchema:i,path:n.path??[]})};for(let t of[...e.seen.entries()].reverse())r(t[0]);let i={};if(e.target===`draft-2020-12`?i.$schema=`https://json-schema.org/draft/2020-12/schema`:e.target===`draft-07`?i.$schema=`http://json-schema.org/draft-07/schema#`:e.target===`draft-04`?i.$schema=`http://json-schema.org/draft-04/schema#`:e.target,e.external?.uri){let n=e.external.registry.get(t)?.id;if(!n)throw Error("Schema is missing an `id` property");i.$id=e.external.uri(n)}Object.assign(i,n.def??n.schema);let a=e.metadataRegistry.get(t)?.id;a!==void 0&&i.id===a&&delete i.id;let o=e.external?.defs??{};for(let t of e.seen.entries()){let e=t[1];e.def&&e.defId&&(e.def.id===e.defId&&delete e.def.id,o[e.defId]=e.def)}e.external||Object.keys(o).length>0&&(e.target===`draft-2020-12`?i.$defs=o:i.definitions=o);try{let n=JSON.parse(JSON.stringify(i));return Object.defineProperty(n,"~standard",{value:{...t[`~standard`],jsonSchema:{input:KP(t,`input`,e.processors),output:KP(t,`output`,e.processors)}},enumerable:!1,writable:!1}),n}catch{throw Error(`Error converting schema to JSON.`)}}function WP(e,t){let n=t??{seen:new Set};if(n.seen.has(e))return!1;n.seen.add(e);let r=e._zod.def;if(r.type===`transform`)return!0;if(r.type===`array`)return WP(r.element,n);if(r.type===`set`)return WP(r.valueType,n);if(r.type===`lazy`)return WP(r.getter(),n);if(r.type===`promise`||r.type===`optional`||r.type===`nonoptional`||r.type===`nullable`||r.type===`readonly`||r.type==="default"||r.type===`prefault`)return WP(r.innerType,n);if(r.type===`intersection`)return WP(r.left,n)||WP(r.right,n);if(r.type===`record`||r.type===`map`)return WP(r.keyType,n)||WP(r.valueType,n);if(r.type===`pipe`)return e._zod.traits.has(`$ZodCodec`)?!0:WP(r.in,n)||WP(r.out,n);if(r.type===`object`){for(let e in r.shape)if(WP(r.shape[e],n))return!0;return!1}if(r.type===`union`){for(let e of r.options)if(WP(e,n))return!0;return!1}if(r.type===`tuple`){for(let e of r.items)if(WP(e,n))return!0;return!!(r.rest&&WP(r.rest,n))}return!1}var GP=(e,t={})=>n=>{let r=BP({...n,processors:t});return VP(e,r),HP(r,e),UP(r,e)},KP=(e,t,n={})=>r=>{let{libraryOptions:i,target:a}=r??{},o=BP({...i??{},target:a,io:t,processors:n});return VP(e,o),HP(o,e),UP(o,e)},qP={guid:`uuid`,url:`uri`,datetime:`date-time`,json_string:`json-string`,regex:``},JP=(e,t,n,r)=>{let i=n;i.type=`string`;let{minimum:a,maximum:o,format:s,patterns:c,contentEncoding:l}=e._zod.bag;if(typeof a==`number`&&(i.minLength=a),typeof o==`number`&&(i.maxLength=o),s&&(i.format=qP[s]??s,i.format===``&&delete i.format,s===`time`&&delete i.format),l&&(i.contentEncoding=l),c&&c.size>0){let e=[...c];e.length===1?i.pattern=e[0].source:e.length>1&&(i.allOf=[...e.map(e=>({...t.target===`draft-07`||t.target===`draft-04`||t.target===`openapi-3.0`?{type:`string`}:{},pattern:e.source}))])}},YP=(e,t,n,r)=>{let i=n,{minimum:a,maximum:o,format:s,multipleOf:c,exclusiveMaximum:l,exclusiveMinimum:u}=e._zod.bag;i.type=typeof s==`string`&&s.includes(`int`)?`integer`:`number`;let d=typeof u==`number`&&u>=(a??-1/0),f=typeof l==`number`&&l<=(o??1/0),p=t.target===`draft-04`||t.target===`openapi-3.0`;d?p?(i.minimum=u,i.exclusiveMinimum=!0):i.exclusiveMinimum=u:typeof a==`number`&&(i.minimum=a),f?p?(i.maximum=l,i.exclusiveMaximum=!0):i.exclusiveMaximum=l:typeof o==`number`&&(i.maximum=o),typeof c==`number`&&(i.multipleOf=c)},XP=(e,t,n,r)=>{n.type=`boolean`},ZP=(e,t,n,r)=>{t.target===`openapi-3.0`?(n.type=`string`,n.nullable=!0,n.enum=[null]):n.type=`null`},QP=(e,t,n,r)=>{n.not={}},$P=(e,t,n,r)=>{let i=e._zod.def,a=Xj(i.entries);a.every(e=>typeof e==`number`)&&(n.type=`number`),a.every(e=>typeof e==`string`)&&(n.type=`string`),n.enum=a},eF=(e,t,n,r)=>{let i=e._zod.def,a=[];for(let e of i.values)if(e===void 0){if(t.unrepresentable===`throw`)throw Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof e==`bigint`){if(t.unrepresentable===`throw`)throw Error(`BigInt literals cannot be represented in JSON Schema`);a.push(Number(e))}else a.push(e);if(a.length!==0){if(a.length===1){let e=a[0];n.type=e===null?`null`:typeof e,t.target===`draft-04`||t.target===`openapi-3.0`?n.enum=[e]:n.const=e}else a.every(e=>typeof e==`number`)&&(n.type=`number`),a.every(e=>typeof e==`string`)&&(n.type=`string`),a.every(e=>typeof e==`boolean`)&&(n.type=`boolean`),a.every(e=>e===null)&&(n.type=`null`),n.enum=a}},tF=(e,t,n,r)=>{if(t.unrepresentable===`throw`)throw Error(`Custom types cannot be represented in JSON Schema`)},nF=(e,t,n,r)=>{if(t.unrepresentable===`throw`)throw Error(`Transforms cannot be represented in JSON Schema`)},rF=(e,t,n,r)=>{let i=n,a=e._zod.def,{minimum:o,maximum:s}=e._zod.bag;typeof o==`number`&&(i.minItems=o),typeof s==`number`&&(i.maxItems=s),i.type=`array`,i.items=VP(a.element,t,{...r,path:[...r.path,`items`]})},iF=(e,t,n,r)=>{let i=n,a=e._zod.def;i.type=`object`,i.properties={};let o=a.shape;for(let e in o)i.properties[e]=VP(o[e],t,{...r,path:[...r.path,`properties`,e]});let s=new Set(Object.keys(o)),c=new Set([...s].filter(e=>{let n=a.shape[e]._zod;return t.io===`input`?n.optin===void 0:n.optout===void 0}));c.size>0&&(i.required=Array.from(c)),a.catchall?._zod.def.type===`never`?i.additionalProperties=!1:a.catchall?a.catchall&&(i.additionalProperties=VP(a.catchall,t,{...r,path:[...r.path,`additionalProperties`]})):t.io===`output`&&(i.additionalProperties=!1)},aF=(e,t,n,r)=>{let i=e._zod.def,a=i.inclusive===!1,o=i.options.map((e,n)=>VP(e,t,{...r,path:[...r.path,a?`oneOf`:`anyOf`,n]}));a?n.oneOf=o:n.anyOf=o},oF=(e,t,n,r)=>{let i=e._zod.def,a=VP(i.left,t,{...r,path:[...r.path,`allOf`,0]}),o=VP(i.right,t,{...r,path:[...r.path,`allOf`,1]}),s=e=>`allOf`in e&&Object.keys(e).length===1;n.allOf=[...s(a)?a.allOf:[a],...s(o)?o.allOf:[o]]},sF=(e,t,n,r)=>{let i=n,a=e._zod.def;i.type=`object`;let o=a.keyType,s=o._zod.bag?.patterns;if(a.mode===`loose`&&s&&s.size>0){let e=VP(a.valueType,t,{...r,path:[...r.path,`patternProperties`,`*`]});i.patternProperties={};for(let t of s)i.patternProperties[t.source]=e}else(t.target===`draft-07`||t.target===`draft-2020-12`)&&(i.propertyNames=VP(a.keyType,t,{...r,path:[...r.path,`propertyNames`]})),i.additionalProperties=VP(a.valueType,t,{...r,path:[...r.path,`additionalProperties`]});let c=o._zod.values;if(c){let e=[...c].filter(e=>typeof e==`string`||typeof e==`number`);e.length>0&&(i.required=e)}},cF=(e,t,n,r)=>{let i=e._zod.def,a=VP(i.innerType,t,r),o=t.seen.get(e);t.target===`openapi-3.0`?(o.ref=i.innerType,n.nullable=!0):n.anyOf=[a,{type:`null`}]},lF=(e,t,n,r)=>{let i=e._zod.def;VP(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType},uF=(e,t,n,r)=>{let i=e._zod.def;VP(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType,n.default=JSON.parse(JSON.stringify(i.defaultValue))},dF=(e,t,n,r)=>{let i=e._zod.def;VP(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType,t.io===`input`&&(n._prefault=JSON.parse(JSON.stringify(i.defaultValue)))},fF=(e,t,n,r)=>{let i=e._zod.def;VP(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType;let o;try{o=i.catchValue(void 0)}catch{throw Error(`Dynamic catch values are not supported in JSON Schema`)}n.default=o},pF=(e,t,n,r)=>{let i=e._zod.def,a=i.in._zod.traits.has(`$ZodTransform`),o=t.io===`input`?a?i.out:i.in:i.out;VP(o,t,r);let s=t.seen.get(e);s.ref=o},mF=(e,t,n,r)=>{let i=e._zod.def;VP(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType,n.readOnly=!0},hF=(e,t,n,r)=>{let i=e._zod.def;VP(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType},gF=(e,t,n,r)=>{let i=e._zod.innerType;VP(i,t,r);let a=t.seen.get(e);a.ref=i},_F=J(`ZodISODateTime`,(e,t)=>{Sre.init(e,t),KF.init(e,t)});function vF(e){return aP(_F,e)}var yF=J(`ZodISODate`,(e,t)=>{Cre.init(e,t),KF.init(e,t)});function bF(e){return oP(yF,e)}var xF=J(`ZodISOTime`,(e,t)=>{wre.init(e,t),KF.init(e,t)});function SF(e){return sP(xF,e)}var CF=J(`ZodISODuration`,(e,t)=>{Tre.init(e,t),KF.init(e,t)});function wF(e){return cP(CF,e)}var TF=(e,t)=>{PM.init(e,t),e.name=`ZodError`,Object.defineProperties(e,{format:{value:t=>pne(e,t)},flatten:{value:t=>fne(e,t)},addIssue:{value:t=>{e.issues.push(t),e.message=JSON.stringify(e.issues,Zj,2)}},addIssues:{value:t=>{e.issues.push(...t),e.message=JSON.stringify(e.issues,Zj,2)}},isEmpty:{get(){return e.issues.length===0}}})},EF=J(`ZodError`,TF),DF=J(`ZodError`,TF,{Parent:Error}),OF=IM(DF),kF=LM(DF),AF=RM(DF),jF=zM(DF),MF=gne(DF),NF=_ne(DF),PF=vne(DF),FF=yne(DF),IF=bne(DF),LF=xne(DF),RF=Sne(DF),zF=Cne(DF),BF=new WeakMap;function VF(e,t,n){let r=Object.getPrototypeOf(e),i=BF.get(r);if(i||(i=new Set,BF.set(r,i)),!i.has(t)){i.add(t);for(let e in n){let t=n[e];Object.defineProperty(r,e,{configurable:!0,enumerable:!1,get(){let n=t.bind(this);return Object.defineProperty(this,e,{configurable:!0,writable:!0,enumerable:!0,value:n}),n},set(t){Object.defineProperty(this,e,{configurable:!0,writable:!0,enumerable:!0,value:t})}})}}}var HF=J(`ZodType`,(e,t)=>(XM.init(e,t),Object.assign(e[`~standard`],{jsonSchema:{input:KP(e,`input`),output:KP(e,`output`)}}),e.toJSONSchema=GP(e,{}),e.def=t,e.type=t.type,Object.defineProperty(e,"_def",{value:t}),e.parse=(t,n)=>OF(e,t,n,{callee:e.parse}),e.safeParse=(t,n)=>AF(e,t,n),e.parseAsync=async(t,n)=>kF(e,t,n,{callee:e.parseAsync}),e.safeParseAsync=async(t,n)=>jF(e,t,n),e.spa=e.safeParseAsync,e.encode=(t,n)=>MF(e,t,n),e.decode=(t,n)=>NF(e,t,n),e.encodeAsync=async(t,n)=>PF(e,t,n),e.decodeAsync=async(t,n)=>FF(e,t,n),e.safeEncode=(t,n)=>IF(e,t,n),e.safeDecode=(t,n)=>LF(e,t,n),e.safeEncodeAsync=async(t,n)=>RF(e,t,n),e.safeDecodeAsync=async(t,n)=>zF(e,t,n),VF(e,`ZodType`,{check(...e){let t=this.def;return this.clone(aM(t,{checks:[...t.checks??[],...e.map(e=>typeof e==`function`?{_zod:{check:e,def:{check:`custom`},onattach:[]}}:e)]}),{parent:!0})},with(...e){return this.check(...e)},clone(e,t){return hM(this,e,t)},brand(){return this},register(e,t){return e.add(this,t),this},refine(e,t){return this.check(dL(e,t))},superRefine(e,t){return this.check(fL(e,t))},overwrite(e){return this.check(AP(e))},optional(){return GI(this)},exactOptional(){return qI(this)},nullable(){return YI(this)},nullish(){return GI(YI(this))},nonoptional(e){return tL(this,e)},array(){return EI(this)},or(e){return jI([this,e])},and(e){return FI(this,e)},transform(e){return aL(this,UI(e))},default(e){return ZI(this,e)},prefault(e){return $I(this,e)},catch(e){return rL(this,e)},pipe(e){return aL(this,e)},readonly(){return sL(this)},describe(e){let t=this.clone();return FN.add(t,{description:e}),t},meta(...e){if(e.length===0)return FN.get(this);let t=this.clone();return FN.add(t,e[0]),t},isOptional(){return this.safeParse(void 0).success},isNullable(){return this.safeParse(null).success},apply(e){return e(this)}}),Object.defineProperty(e,"description",{get(){return FN.get(e)?.description},configurable:!0}),e)),UF=J(`_ZodString`,(e,t)=>{ZM.init(e,t),HF.init(e,t),e._zod.processJSONSchema=(t,n,r)=>JP(e,t,n,r);let n=e._zod.bag;e.format=n.format??null,e.minLength=n.minimum??null,e.maxLength=n.maximum??null,VF(e,`_ZodString`,{regex(...e){return this.check(wP(...e))},includes(...e){return this.check(DP(...e))},startsWith(...e){return this.check(OP(...e))},endsWith(...e){return this.check(kP(...e))},min(...e){return this.check(SP(...e))},max(...e){return this.check(xP(...e))},length(...e){return this.check(CP(...e))},nonempty(...e){return this.check(SP(1,...e))},lowercase(e){return this.check(TP(e))},uppercase(e){return this.check(EP(e))},trim(){return this.check(MP())},normalize(...e){return this.check(jP(...e))},toLowerCase(){return this.check(NP())},toUpperCase(){return this.check(PP())},slugify(){return this.check(FP())}})}),WF=J(`ZodString`,(e,t)=>{ZM.init(e,t),UF.init(e,t),e.email=t=>e.check(LN(qF,t)),e.url=t=>e.check(UN(XF,t)),e.jwt=t=>e.check(iP(fI,t)),e.emoji=t=>e.check(WN(QF,t)),e.guid=t=>e.check(RN(JF,t)),e.uuid=t=>e.check(zN(YF,t)),e.uuidv4=t=>e.check(BN(YF,t)),e.uuidv6=t=>e.check(VN(YF,t)),e.uuidv7=t=>e.check(HN(YF,t)),e.nanoid=t=>e.check(GN($F,t)),e.guid=t=>e.check(RN(JF,t)),e.cuid=t=>e.check(KN(eI,t)),e.cuid2=t=>e.check(qN(tI,t)),e.ulid=t=>e.check(JN(nI,t)),e.base64=t=>e.check(tP(lI,t)),e.base64url=t=>e.check(nP(uI,t)),e.xid=t=>e.check(YN(rI,t)),e.ksuid=t=>e.check(XN(iI,t)),e.ipv4=t=>e.check(ZN(aI,t)),e.ipv6=t=>e.check(QN(oI,t)),e.cidrv4=t=>e.check($N(sI,t)),e.cidrv6=t=>e.check(eP(cI,t)),e.e164=t=>e.check(rP(dI,t)),e.datetime=t=>e.check(vF(t)),e.date=t=>e.check(bF(t)),e.time=t=>e.check(SF(t)),e.duration=t=>e.check(wF(t))});function GF(e){return IN(WF,e)}var KF=J(`ZodStringFormat`,(e,t)=>{QM.init(e,t),UF.init(e,t)}),qF=J(`ZodEmail`,(e,t)=>{pre.init(e,t),KF.init(e,t)}),JF=J(`ZodGUID`,(e,t)=>{dre.init(e,t),KF.init(e,t)}),YF=J(`ZodUUID`,(e,t)=>{fre.init(e,t),KF.init(e,t)}),XF=J(`ZodURL`,(e,t)=>{mre.init(e,t),KF.init(e,t)});function ZF(e){return UN(XF,e)}var QF=J(`ZodEmoji`,(e,t)=>{hre.init(e,t),KF.init(e,t)}),$F=J(`ZodNanoID`,(e,t)=>{gre.init(e,t),KF.init(e,t)}),eI=J(`ZodCUID`,(e,t)=>{_re.init(e,t),KF.init(e,t)}),tI=J(`ZodCUID2`,(e,t)=>{vre.init(e,t),KF.init(e,t)}),nI=J(`ZodULID`,(e,t)=>{yre.init(e,t),KF.init(e,t)}),rI=J(`ZodXID`,(e,t)=>{bre.init(e,t),KF.init(e,t)}),iI=J(`ZodKSUID`,(e,t)=>{xre.init(e,t),KF.init(e,t)}),aI=J(`ZodIPv4`,(e,t)=>{Ere.init(e,t),KF.init(e,t)}),oI=J(`ZodIPv6`,(e,t)=>{Dre.init(e,t),KF.init(e,t)}),sI=J(`ZodCIDRv4`,(e,t)=>{Ore.init(e,t),KF.init(e,t)}),cI=J(`ZodCIDRv6`,(e,t)=>{kre.init(e,t),KF.init(e,t)}),lI=J(`ZodBase64`,(e,t)=>{Are.init(e,t),KF.init(e,t)}),uI=J(`ZodBase64URL`,(e,t)=>{Mre.init(e,t),KF.init(e,t)}),dI=J(`ZodE164`,(e,t)=>{Nre.init(e,t),KF.init(e,t)}),fI=J(`ZodJWT`,(e,t)=>{Fre.init(e,t),KF.init(e,t)}),pI=J(`ZodNumber`,(e,t)=>{eN.init(e,t),HF.init(e,t),e._zod.processJSONSchema=(t,n,r)=>YP(e,t,n,r),VF(e,`ZodNumber`,{gt(e,t){return this.check(vP(e,t))},gte(e,t){return this.check(yP(e,t))},min(e,t){return this.check(yP(e,t))},lt(e,t){return this.check(gP(e,t))},lte(e,t){return this.check(_P(e,t))},max(e,t){return this.check(_P(e,t))},int(e){return this.check(gI(e))},safe(e){return this.check(gI(e))},positive(e){return this.check(vP(0,e))},nonnegative(e){return this.check(yP(0,e))},negative(e){return this.check(gP(0,e))},nonpositive(e){return this.check(_P(0,e))},multipleOf(e,t){return this.check(bP(e,t))},step(e,t){return this.check(bP(e,t))},finite(){return this}});let n=e._zod.bag;e.minValue=Math.max(n.minimum??-1/0,n.exclusiveMinimum??-1/0)??null,e.maxValue=Math.min(n.maximum??1/0,n.exclusiveMaximum??1/0)??null,e.isInt=(n.format??``).includes(`int`)||Number.isSafeInteger(n.multipleOf??.5),e.isFinite=!0,e.format=n.format??null});function mI(e){return lP(pI,e)}var hI=J(`ZodNumberFormat`,(e,t)=>{Ire.init(e,t),pI.init(e,t)});function gI(e){return dP(hI,e)}var _I=J(`ZodBoolean`,(e,t)=>{Lre.init(e,t),HF.init(e,t),e._zod.processJSONSchema=(t,n,r)=>XP(e,t,n,r)});function vI(e){return fP(_I,e)}var yI=J(`ZodNull`,(e,t)=>{Rre.init(e,t),HF.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ZP(e,t,n,r)});function bI(e){return pP(yI,e)}var xI=J(`ZodUnknown`,(e,t)=>{zre.init(e,t),HF.init(e,t),e._zod.processJSONSchema=(e,t,n)=>void 0});function SI(){return mP(xI)}var CI=J(`ZodNever`,(e,t)=>{Bre.init(e,t),HF.init(e,t),e._zod.processJSONSchema=(t,n,r)=>QP(e,t,n,r)});function wI(e){return hP(CI,e)}var TI=J(`ZodArray`,(e,t)=>{Vre.init(e,t),HF.init(e,t),e._zod.processJSONSchema=(t,n,r)=>rF(e,t,n,r),e.element=t.element,VF(e,`ZodArray`,{min(e,t){return this.check(SP(e,t))},nonempty(e){return this.check(SP(1,e))},max(e,t){return this.check(xP(e,t))},length(e,t){return this.check(CP(e,t))},unwrap(){return this.element}})});function EI(e,t){return IP(TI,e,t)}var DI=J(`ZodObject`,(e,t)=>{Ure.init(e,t),HF.init(e,t),e._zod.processJSONSchema=(t,n,r)=>iF(e,t,n,r),rM(e,`shape`,()=>t.shape),VF(e,`ZodObject`,{keyof(){return zI(Object.keys(this._zod.def.shape))},catchall(e){return this.clone({...this._zod.def,catchall:e})},passthrough(){return this.clone({...this._zod.def,catchall:SI()})},loose(){return this.clone({...this._zod.def,catchall:SI()})},strict(){return this.clone({...this._zod.def,catchall:wI()})},strip(){return this.clone({...this._zod.def,catchall:void 0})},extend(e){return xM(this,e)},safeExtend(e){return SM(this,e)},merge(e){return CM(this,e)},pick(e){return yM(this,e)},omit(e){return bM(this,e)},partial(...e){return wM(WI,this,e[0])},required(...e){return TM(eL,this,e[0])}})});function OI(e,t){return new DI({type:`object`,shape:e??{},...gM(t)})}function kI(e,t){return new DI({type:`object`,shape:e,catchall:wI(),...gM(t)})}var AI=J(`ZodUnion`,(e,t)=>{oN.init(e,t),HF.init(e,t),e._zod.processJSONSchema=(t,n,r)=>aF(e,t,n,r),e.options=t.options});function jI(e,t){return new AI({type:`union`,options:e,...gM(t)})}var MI=J(`ZodDiscriminatedUnion`,(e,t)=>{AI.init(e,t),sN.init(e,t)});function NI(e,t,n){return new MI({type:`union`,options:t,discriminator:e,...gM(n)})}var PI=J(`ZodIntersection`,(e,t)=>{cN.init(e,t),HF.init(e,t),e._zod.processJSONSchema=(t,n,r)=>oF(e,t,n,r)});function FI(e,t){return new PI({type:`intersection`,left:e,right:t})}var II=J(`ZodRecord`,(e,t)=>{dN.init(e,t),HF.init(e,t),e._zod.processJSONSchema=(t,n,r)=>sF(e,t,n,r),e.keyType=t.keyType,e.valueType=t.valueType});function LI(e,t,n){return!t||!t._zod?new II({type:`record`,keyType:GF(),valueType:e,...gM(t)}):new II({type:`record`,keyType:e,valueType:t,...gM(n)})}var RI=J(`ZodEnum`,(e,t)=>{fN.init(e,t),HF.init(e,t),e._zod.processJSONSchema=(t,n,r)=>$P(e,t,n,r),e.enum=t.entries,e.options=Object.values(t.entries);let n=new Set(Object.keys(t.entries));e.extract=(e,r)=>{let i={};for(let r of e)if(n.has(r))i[r]=t.entries[r];else throw Error(`Key ${r} not found in enum`);return new RI({...t,checks:[],...gM(r),entries:i})},e.exclude=(e,r)=>{let i={...t.entries};for(let t of e)if(n.has(t))delete i[t];else throw Error(`Key ${t} not found in enum`);return new RI({...t,checks:[],...gM(r),entries:i})}});function zI(e,t){return new RI({type:`enum`,entries:Array.isArray(e)?Object.fromEntries(e.map(e=>[e,e])):e,...gM(t)})}var BI=J(`ZodLiteral`,(e,t)=>{pN.init(e,t),HF.init(e,t),e._zod.processJSONSchema=(t,n,r)=>eF(e,t,n,r),e.values=new Set(t.values),Object.defineProperty(e,"value",{get(){if(t.values.length>1)throw Error("This schema contains multiple valid literal values. Use `.values` instead.");return t.values[0]}})});function VI(e,t){return new BI({type:`literal`,values:Array.isArray(e)?e:[e],...gM(t)})}var HI=J(`ZodTransform`,(e,t)=>{mN.init(e,t),HF.init(e,t),e._zod.processJSONSchema=(t,n,r)=>nF(e,t,n,r),e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new qj(e.constructor.name);n.addIssue=r=>{if(typeof r==`string`)n.issues.push(MM(r,n.value,t));else{let t=r;t.fatal&&(t.continue=!1),t.code??=`custom`,t.input??=n.value,t.inst??=e,n.issues.push(MM(t))}};let i=t.transform(n.value,n);return i instanceof Promise?i.then(e=>(n.value=e,n.fallback=!0,n)):(n.value=i,n.fallback=!0,n)}});function UI(e){return new HI({type:`transform`,transform:e})}var WI=J(`ZodOptional`,(e,t)=>{gN.init(e,t),HF.init(e,t),e._zod.processJSONSchema=(t,n,r)=>hF(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function GI(e){return new WI({type:`optional`,innerType:e})}var KI=J(`ZodExactOptional`,(e,t)=>{_N.init(e,t),HF.init(e,t),e._zod.processJSONSchema=(t,n,r)=>hF(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function qI(e){return new KI({type:`optional`,innerType:e})}var JI=J(`ZodNullable`,(e,t)=>{vN.init(e,t),HF.init(e,t),e._zod.processJSONSchema=(t,n,r)=>cF(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function YI(e){return new JI({type:`nullable`,innerType:e})}var XI=J(`ZodDefault`,(e,t)=>{yN.init(e,t),HF.init(e,t),e._zod.processJSONSchema=(t,n,r)=>uF(e,t,n,r),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function ZI(e,t){return new XI({type:`default`,innerType:e,get defaultValue(){return typeof t==`function`?t():fM(t)}})}var QI=J(`ZodPrefault`,(e,t)=>{xN.init(e,t),HF.init(e,t),e._zod.processJSONSchema=(t,n,r)=>dF(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function $I(e,t){return new QI({type:`prefault`,innerType:e,get defaultValue(){return typeof t==`function`?t():fM(t)}})}var eL=J(`ZodNonOptional`,(e,t)=>{SN.init(e,t),HF.init(e,t),e._zod.processJSONSchema=(t,n,r)=>lF(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function tL(e,t){return new eL({type:`nonoptional`,innerType:e,...gM(t)})}var nL=J(`ZodCatch`,(e,t)=>{wN.init(e,t),HF.init(e,t),e._zod.processJSONSchema=(t,n,r)=>fF(e,t,n,r),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function rL(e,t){return new nL({type:`catch`,innerType:e,catchValue:typeof t==`function`?t:()=>t})}var iL=J(`ZodPipe`,(e,t)=>{TN.init(e,t),HF.init(e,t),e._zod.processJSONSchema=(t,n,r)=>pF(e,t,n,r),e.in=t.in,e.out=t.out});function aL(e,t){return new iL({type:`pipe`,in:e,out:t})}var oL=J(`ZodReadonly`,(e,t)=>{DN.init(e,t),HF.init(e,t),e._zod.processJSONSchema=(t,n,r)=>mF(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function sL(e){return new oL({type:`readonly`,innerType:e})}var cL=J(`ZodLazy`,(e,t)=>{kN.init(e,t),HF.init(e,t),e._zod.processJSONSchema=(t,n,r)=>gF(e,t,n,r),e.unwrap=()=>e._zod.def.getter()});function lL(e){return new cL({type:`lazy`,getter:e})}var uL=J(`ZodCustom`,(e,t)=>{AN.init(e,t),HF.init(e,t),e._zod.processJSONSchema=(t,n,r)=>tF(e,t,n,r)});function dL(e,t={}){return LP(uL,e,t)}function fL(e,t){return RP(e,t)}function pL(e){return uP(pI,e)}function mL({agentId:e,revision:t,runtime:n,bindings:r,value:i,onChange:a}){let o=(0,g.useId)(),[s,c]=(0,g.useState)(null),[l,u]=(0,g.useState)(``),[d,f]=(0,g.useState)(!1),p=JSON.stringify({agentId:e,revision:t,runtime:n,bindings:r,value:i}),m=(0,g.useRef)(p);m.current=p,(0,g.useEffect)(()=>{c(null),u(``)},[p]);let h=[`adk`,`langgraph`].includes(n.type);function _(e){a(e)}function y(e){if(!i)return;let t=1;for(;i.nodes.some(n=>n.nodeId===`${e}_${t}`);)t++;let n=r.find(e=>!i.nodes.some(t=>t.bindingId===e.bindingId));e===`remote`&&!n||_({...i,nodes:[...i.nodes,{nodeId:`${e}_${t}`,kind:e,...e===`remote`?{bindingId:n.bindingId}:{}}]})}function b(e,t){i&&_({entryNodeId:i.entryNodeId===e?t:i.entryNodeId,nodes:i.nodes.map(n=>n.nodeId===e?{...n,nodeId:t}:n),edges:i.edges.map(n=>({...n,source:n.source===e?t:n.source,target:n.target===e?t:n.target}))})}async function x(){if(!i||d)return;let a=p;f(!0),c(null),u(``);try{let o=await q(`/api/v1/agents/${encodeURIComponent(e)}/a2a:preview`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({expectedRevision:t,runtime:n,bindings:r,orchestration:i})});if(m.current!==a)return;if(!o.ok){u(o.status===409?`Agent、空间或目标版本已变化,请刷新目录并重新绑定。`:`编排校验失败:请检查节点名称、绑定及连线;仅支持顺序单链和本地节点到远端的 handoff。`);return}let s=await o.json();m.current===a&&c(s)}catch{m.current===a&&u(`暂时无法预览,请检查 Studio 连接后重试。`)}finally{f(!1)}}return(0,v.jsxs)(`details`,{className:`subagent-bindings`,children:[(0,v.jsxs)(`summary`,{children:[`A2A 编排 `,(0,v.jsx)(`span`,{className:`helper`,children:i?`${i.nodes.length} 个节点`:`未启用`})]}),(0,v.jsx)(`p`,{className:`agent-policy-note`,children:`顺序节点依次执行;handoff 由本地 Agent 按需调用远端工具并接收结果。多个本地节点需要项目提供对应的节点映射。`}),!h&&(0,v.jsx)(`p`,{role:`status`,children:`当前 Runtime 的编排尚未开放。`}),i?(0,v.jsxs)(v.Fragment,{children:[(0,v.jsxs)(`fieldset`,{disabled:!h||d,children:[(0,v.jsx)(`legend`,{children:`节点与连线`}),i.nodes.map((e,t)=>(0,v.jsxs)(`fieldset`,{className:`subagent-binding`,children:[(0,v.jsxs)(`legend`,{children:[e.kind===`local`?`本地节点`:`远端节点`,` `,t+1]}),(0,v.jsxs)(`label`,{className:`field`,htmlFor:`${o}-node-${t}`,children:[`节点名称 `,t+1,(0,v.jsx)(`input`,{id:`${o}-node-${t}`,value:e.nodeId,maxLength:128,onChange:t=>b(e.nodeId,t.target.value)})]}),e.kind===`remote`&&(0,v.jsxs)(`label`,{className:`field`,htmlFor:`${o}-binding-${t}`,children:[`远端绑定 `,t+1,(0,v.jsxs)(`select`,{id:`${o}-binding-${t}`,value:e.bindingId||``,onChange:e=>_({...i,nodes:i.nodes.map((n,r)=>r===t?{...n,bindingId:e.target.value}:n)}),children:[!r.some(t=>t.bindingId===e.bindingId)&&(0,v.jsx)(`option`,{value:e.bindingId,children:`绑定已移除,请重新选择`}),r.map(e=>(0,v.jsxs)(`option`,{value:e.bindingId,children:[e.localName,` · `,e.expectedVersionId]},e.bindingId))]})]}),(0,v.jsxs)(`button`,{type:`button`,onClick:()=>_({...i,entryNodeId:i.entryNodeId===e.nodeId?``:i.entryNodeId,nodes:i.nodes.filter((e,n)=>n!==t),edges:i.edges.filter(t=>t.source!==e.nodeId&&t.target!==e.nodeId)}),children:[`移除节点 `,t+1]})]},t)),(0,v.jsx)(`button`,{type:`button`,disabled:i.nodes.length>=64,onClick:()=>y(`local`),children:`添加本地节点`}),(0,v.jsx)(`button`,{type:`button`,disabled:i.nodes.length>=64||!r.some(e=>!i.nodes.some(t=>t.bindingId===e.bindingId)),onClick:()=>y(`remote`),children:`添加远端节点`}),(0,v.jsxs)(`label`,{className:`field`,htmlFor:`${o}-entry`,children:[`入口节点`,(0,v.jsxs)(`select`,{id:`${o}-entry`,value:i.entryNodeId,onChange:e=>_({...i,entryNodeId:e.target.value}),children:[(0,v.jsx)(`option`,{value:``,children:`选择入口`}),i.nodes.map((e,t)=>(0,v.jsx)(`option`,{value:e.nodeId,children:e.nodeId},t))]})]}),i.edges.map((e,t)=>(0,v.jsxs)(`fieldset`,{children:[(0,v.jsxs)(`legend`,{children:[`连线 `,t+1]}),[`source`,`target`].map(n=>(0,v.jsxs)(`label`,{className:`field`,htmlFor:`${o}-${n}-${t}`,children:[n===`source`?`起点`:`终点`,` `,t+1,(0,v.jsxs)(`select`,{id:`${o}-${n}-${t}`,value:e[n],onChange:e=>_({...i,edges:i.edges.map((r,i)=>i===t?{...r,[n]:e.target.value}:r)}),children:[(0,v.jsx)(`option`,{value:``,children:`选择节点`}),i.nodes.map((e,t)=>(0,v.jsx)(`option`,{value:e.nodeId,children:e.nodeId},t))]})]},n)),(0,v.jsxs)(`label`,{className:`field`,htmlFor:`${o}-kind-${t}`,children:[`连线方式 `,t+1,(0,v.jsxs)(`select`,{id:`${o}-kind-${t}`,value:e.kind,onChange:e=>_({...i,edges:i.edges.map((n,r)=>r===t?{...n,kind:e.target.value}:n)}),children:[(0,v.jsx)(`option`,{value:`sequential`,children:`顺序`}),(0,v.jsx)(`option`,{value:`handoff`,children:`Handoff 工具`})]})]}),(0,v.jsxs)(`button`,{type:`button`,onClick:()=>_({...i,edges:i.edges.filter((e,n)=>n!==t)}),children:[`移除连线 `,t+1]})]},t)),(0,v.jsx)(`button`,{type:`button`,disabled:i.edges.length>=63||i.nodes.length<2,onClick:()=>_({...i,edges:[...i.edges,{source:``,target:``,kind:`sequential`}]}),children:`添加连线`}),(0,v.jsx)(`button`,{type:`button`,onClick:x,children:`预览当前编排`})]}),(0,v.jsx)(`button`,{type:`button`,disabled:d,onClick:()=>a(null),children:`移除编排`}),d&&(0,v.jsx)(`p`,{role:`status`,children:`正在校验绑定并编译…`}),l&&(0,v.jsx)(`p`,{role:`alert`,children:l}),s&&(0,v.jsxs)(`section`,{"aria-label":`编排预览`,children:[(0,v.jsxs)(`p`,{children:[`顺序:`,s.plan.sequence.join(` → `)]}),s.plan.handoffs.map(e=>(0,v.jsxs)(`p`,{children:[`Handoff:`,e.source,` → `,e.target]},`${e.source}:${e.target}`)),(0,v.jsxs)(`p`,{children:[`摘要:`,s.digest]}),(0,v.jsx)(`p`,{className:`helper`,children:`此预览尚未保存。保存 Agent 后再构建;构建时会重新核验绑定。`}),(0,v.jsx)(Xk,{filename:`studio_a2a_composition.py`,language:`python`,code:s.source}),(0,v.jsx)(Xk,{filename:`studio_a2a_entry.py`,language:`python`,code:s.entrySource})]})]}):(0,v.jsx)(`button`,{type:`button`,disabled:!h,onClick:()=>a({entryNodeId:`local`,nodes:[{nodeId:`local`,kind:`local`}],edges:[]}),children:`启用 A2A 编排`})]})}async function hL(e,t){let n=await q(`/api/v1/a2a/${e}`,t);if(!n.ok)throw Error(n.status===409||n.status===422?`绑定已变化或所选成员不可调用,请重新选择。`:`无法访问 A2A 目录,请检查云端连接后重试。`);return n.json()}function gL({value:e,onChange:t}){let n=(0,g.useId)(),[r,i]=(0,g.useState)(!1),[a,o]=(0,g.useState)([]),[s,c]=(0,g.useState)(1),[l,u]=(0,g.useState)(0),[d,f]=(0,g.useState)(``),[p,m]=(0,g.useState)([]),[h,_]=(0,g.useState)(``),y=p.find(e=>e.targetAgentId===h)?.versionId,[b,x]=(0,g.useState)(``),[S,C]=(0,g.useState)(``),[w,T]=(0,g.useState)(`policy://a2a/runtime`),[E,D]=(0,g.useState)(`auto`),[O,k]=(0,g.useState)(!1),[A,j]=(0,g.useState)(!1),[M,N]=(0,g.useState)(``),[P,F]=(0,g.useState)(0);(0,g.useEffect)(()=>{if(!r)return;let e=!0;return j(!0),N(``),hL(`spaces?page=${s}&size=20`).then(t=>{e&&(o(t.items),u(t.total))}).catch(t=>{e&&N(t.message)}).finally(()=>{e&&j(!1)}),()=>{e=!1}},[r,s,P]),(0,g.useEffect)(()=>{if(!d)return;let e=!0;return N(``),hL(`spaces/${encodeURIComponent(d)}/agents`).then(t=>{e&&m(t.items)}).catch(t=>{e&&N(t.message)}),()=>{e=!1}},[d,P]);async function I(){if(!O){if(e.some(e=>e.localName===S||e.targetAgentId===h)){N(`调用名称或目标 Agent 已绑定,请先移除原绑定。`);return}k(!0),N(``);try{let n=await hL(`bindings:freeze`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({spaceId:d,targetAgentId:h,expectedVersionId:b,localName:S,exposure:E,policyRef:w})});t([...e,n]),C(``)}catch(e){N(e instanceof Error?e.message:`绑定失败,请重新选择。`)}finally{k(!1)}}}return(0,v.jsxs)(`details`,{className:`subagent-bindings`,onToggle:e=>i(e.currentTarget.open),children:[(0,v.jsxs)(`summary`,{children:[`远端 A2A Agent `,(0,v.jsxs)(`span`,{className:`helper`,children:[e.length,` 个已绑定`]})]}),(0,v.jsx)(`p`,{className:`agent-policy-note`,children:`选择空间内可调用的 Agent 并固定版本。成员或版本变化后,构建与部署会要求重新绑定。`}),e.map(n=>(0,v.jsxs)(`fieldset`,{className:`subagent-binding`,children:[(0,v.jsx)(`legend`,{children:n.localName}),(0,v.jsxs)(`p`,{children:[`空间:`,n.spaceId,` · Agent:`,n.targetAgentId]}),(0,v.jsxs)(`p`,{children:[`固定版本:`,n.expectedVersionId,` · 调用方式:`,n.exposure]}),(0,v.jsxs)(`p`,{children:[`策略:`,n.policyRef]}),(0,v.jsxs)(`button`,{type:`button`,disabled:O,onClick:()=>t(e.filter(e=>e.bindingId!==n.bindingId)),children:[`移除 `,n.localName]})]},n.bindingId)),(0,v.jsxs)(`fieldset`,{disabled:O,children:[(0,v.jsx)(`legend`,{children:`添加远端绑定`}),(0,v.jsxs)(`label`,{className:`field`,htmlFor:`${n}-space`,children:[`A2A Space`,(0,v.jsxs)(`select`,{id:`${n}-space`,value:d,disabled:A,onChange:e=>{f(e.target.value),_(``),x(``),m([])},children:[(0,v.jsx)(`option`,{value:``,children:`选择空间`}),a.map(e=>(0,v.jsxs)(`option`,{value:e.spaceId,disabled:e.status!==`available`,children:[e.name,` (`,e.spaceId,`)`]},e.spaceId))]})]}),(0,v.jsx)(`button`,{type:`button`,disabled:A||s<=1,onClick:()=>c(s-1),children:`上一页空间`}),(0,v.jsx)(`button`,{type:`button`,disabled:A||s*20>=l,onClick:()=>c(s+1),children:`下一页空间`}),(0,v.jsxs)(`label`,{className:`field`,htmlFor:`${n}-agent`,children:[`远端 Agent`,(0,v.jsxs)(`select`,{id:`${n}-agent`,value:h,onChange:e=>{_(e.target.value),x(``)},children:[(0,v.jsx)(`option`,{value:``,children:`选择 Agent`}),p.map(e=>(0,v.jsxs)(`option`,{value:e.targetAgentId,children:[e.name,` (`,e.targetAgentId,`)`]},e.targetAgentId))]})]}),(0,v.jsxs)(`label`,{className:`field`,htmlFor:`${n}-version`,children:[`固定版本`,(0,v.jsxs)(`select`,{id:`${n}-version`,value:b,onChange:e=>x(e.target.value),children:[(0,v.jsx)(`option`,{value:``,children:`选择版本`}),y&&(0,v.jsxs)(`option`,{value:y,children:[`当前可调用版本 (`,y,`)`]})]})]}),(0,v.jsx)(`p`,{className:`helper`,children:`固定当前可调用版本;服务版本变化后须重新确认绑定。`}),(0,v.jsxs)(`label`,{className:`field`,htmlFor:`${n}-name`,children:[`调用名称`,(0,v.jsx)(`input`,{id:`${n}-name`,value:S,maxLength:128,onChange:e=>C(e.target.value)})]}),(0,v.jsxs)(`label`,{className:`field`,htmlFor:`${n}-policy`,children:[`策略引用`,(0,v.jsxs)(`select`,{id:`${n}-policy`,value:w,onChange:e=>T(e.target.value),children:[(0,v.jsx)(`option`,{value:`policy://a2a/runtime`,children:`遵循当前会话审批设置`}),(0,v.jsx)(`option`,{value:`policy://a2a/strict`,children:`每次调用均需审批`})]})]}),(0,v.jsxs)(`label`,{className:`field`,htmlFor:`${n}-exposure`,children:[`调用方式`,(0,v.jsxs)(`select`,{id:`${n}-exposure`,value:E,onChange:e=>D(e.target.value),children:[(0,v.jsx)(`option`,{value:`auto`,children:`自动`}),(0,v.jsx)(`option`,{value:`native`,children:`原生节点`}),(0,v.jsx)(`option`,{value:`tool`,children:`工具`})]})]}),(0,v.jsx)(`button`,{type:`button`,disabled:!d||!h||!b||b!==y||!/^[A-Za-z_][A-Za-z0-9_]*$/.test(S)||![`policy://a2a/runtime`,`policy://a2a/strict`].includes(w),onClick:I,children:O?`正在固定版本…`:`固定此绑定`})]}),M&&(0,v.jsx)(`p`,{role:`alert`,children:M}),(0,v.jsx)(`button`,{type:`button`,disabled:O||A,onClick:()=>{f(``),m([]),_(``),x(``),F(P+1)},children:`刷新目录`})]})}function _L(e,t){return e.length&&t!==`harness`?`子 Agent 当前需要 Harness Runtime,请先移除子 Agent 或切回 Harness。`:new Set(e.map(e=>e.name)).size===e.length?e.some(e=>!/^[a-z0-9][a-z0-9_-]{0,63}$/.test(e.name)||!e.instructions.trim())?`请填写子 Agent 的名称和提示词;名称使用小写字母、数字、短横线或下划线。`:e.some(e=>!Number.isInteger(e.maxTurns??4)||(e.maxTurns??4)<1||(e.maxTurns??4)>32||!(Number(e.timeoutSeconds??120)>0)||Number(e.timeoutSeconds??120)>3600)?`子 Agent 的模型轮数应为 1–32,超时应为 1–3600 秒。`:null:`子 Agent 名称不能重复。`}function vL({value:e,tools:t,onChange:n}){let r=(0,g.useId)(),i=(t,r)=>n(e.map((e,n)=>n===t?{...e,...r}:e));function a(){let t=e.length+1;for(;e.some(e=>e.name===`helper_${t}`);)t++;n([...e,{name:`helper_${t}`,description:``,instructions:``,tools:[],maxTurns:4,timeoutSeconds:120,inheritSkills:!1,inheritMcp:!1}])}return(0,v.jsxs)(`details`,{className:`subagent-bindings`,children:[(0,v.jsxs)(`summary`,{children:[`子 Agent `,(0,v.jsx)(`span`,{className:`helper`,children:e.length?`${e.length} 个已配置`:`可选`})]}),(0,v.jsx)(`p`,{className:`agent-policy-note`,children:`由当前 Agent 按需委派独立子任务;执行过程可在团队的执行调用中查看。`}),e.map((a,o)=>(0,v.jsxs)(`fieldset`,{className:`subagent-binding`,children:[(0,v.jsxs)(`legend`,{children:[`子 Agent `,o+1]}),(0,v.jsxs)(`div`,{className:`form-grid two-columns`,children:[(0,v.jsxs)(`label`,{className:`field`,htmlFor:`${r}-${o}-name`,children:[`调用名称`,(0,v.jsx)(`input`,{id:`${r}-${o}-name`,value:a.name,maxLength:64,onChange:e=>i(o,{name:e.target.value})})]}),(0,v.jsxs)(`label`,{className:`field`,htmlFor:`${r}-${o}-description`,children:[`用途说明`,(0,v.jsx)(`input`,{id:`${r}-${o}-description`,value:a.description||``,maxLength:1024,onChange:e=>i(o,{description:e.target.value})})]})]}),(0,v.jsxs)(`label`,{className:`field`,htmlFor:`${r}-${o}-instructions`,children:[`子 Agent 提示词`,(0,v.jsx)(`textarea`,{id:`${r}-${o}-instructions`,rows:4,value:a.instructions,maxLength:32768,onChange:e=>i(o,{instructions:e.target.value})})]}),(0,v.jsxs)(`div`,{className:`form-grid two-columns`,children:[(0,v.jsxs)(`label`,{className:`field`,htmlFor:`${r}-${o}-turns`,children:[`最大模型轮数`,(0,v.jsx)(`input`,{id:`${r}-${o}-turns`,type:`number`,min:1,max:32,value:a.maxTurns??4,onChange:e=>i(o,{maxTurns:Number(e.target.value)})})]}),(0,v.jsxs)(`label`,{className:`field`,htmlFor:`${r}-${o}-timeout`,children:[`超时(秒)`,(0,v.jsx)(`input`,{id:`${r}-${o}-timeout`,type:`number`,min:1,max:3600,value:a.timeoutSeconds??120,onChange:e=>i(o,{timeoutSeconds:Number(e.target.value)})})]})]}),(0,v.jsxs)(`fieldset`,{className:`subagent-tools`,children:[(0,v.jsx)(`legend`,{children:`允许使用的父 Agent 工具`}),t.map(e=>(0,v.jsxs)(`label`,{children:[(0,v.jsx)(`input`,{type:`checkbox`,checked:(a.tools||[]).includes(e.name),onChange:t=>i(o,{tools:t.target.checked?[...a.tools||[],e.name]:(a.tools||[]).filter(t=>t!==e.name)})}),e.label]},e.name)),!t.length&&(0,v.jsx)(`p`,{className:`helper`,children:`父 Agent 尚未选择工具,子 Agent 将仅进行文本推理。`}),(a.tools||[]).filter(e=>!t.some(t=>t.name===e)).map(e=>(0,v.jsxs)(`label`,{children:[(0,v.jsx)(`input`,{type:`checkbox`,checked:!0,onChange:()=>i(o,{tools:(a.tools||[]).filter(t=>t!==e)})}),e,`(历史绑定,构建时核验)`]},e))]}),(0,v.jsxs)(`div`,{className:`subagent-inheritance`,children:[(0,v.jsxs)(`label`,{children:[(0,v.jsx)(`input`,{type:`checkbox`,checked:a.inheritSkills??!0,onChange:e=>i(o,{inheritSkills:e.target.checked})}),`继承父 Agent 的 Skill`]}),(0,v.jsxs)(`label`,{children:[(0,v.jsx)(`input`,{type:`checkbox`,checked:a.inheritMcp??!1,onChange:e=>i(o,{inheritMcp:e.target.checked})}),`继承父 Agent 的 MCP`]})]}),(0,v.jsx)(`button`,{type:`button`,className:`ghost-button`,onClick:()=>n(e.filter((e,t)=>t!==o)),children:`移除此子 Agent`})]},o)),(0,v.jsx)(`button`,{type:`button`,className:`ghost-button`,disabled:e.length>=32,onClick:a,children:`添加子 Agent`})]})}var yL=[],bL=0,xL=new Set;function SL(){xL.forEach(e=>e([...yL]))}function CL(e,t=``,n=`success`){let r=`${n}:${e}:${t}`;if(yL.some(e=>e.toastKey===r))return;let i={key:++bL,toastKey:r,title:e,message:t,type:n};yL=[...yL.filter(e=>e.type===`error`),i],SL(),window.setTimeout(()=>{yL=yL.filter(e=>e.key!==i.key),SL()},n===`error`?7e3:3600)}function wL(){let[e,t]=(0,g.useState)(yL);return(0,g.useEffect)(()=>{let e=e=>t(e);return xL.add(e),()=>{xL.delete(e)}},[]),(0,v.jsx)(`div`,{className:`toast-region`,"aria-live":`polite`,"aria-atomic":`true`,children:e.map(e=>(0,v.jsxs)(`div`,{className:`toast ${e.type}`,children:[e.type===`error`?(0,v.jsx)(Zf,{size:15}):(0,v.jsx)(Kf,{size:15}),(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`strong`,{children:e.title}),e.message?(0,v.jsx)(`p`,{children:e.message}):null]})]},e.key))})}var TL=n(((e,t)=>{var n=!1,r,i,a,o,s,c,l,u,d,f,p,m,h,g,_;function v(){if(!n){n=!0;var e=navigator.userAgent,t=/(?:MSIE.(\d+\.\d+))|(?:(?:Firefox|GranParadiso|Iceweasel).(\d+\.\d+))|(?:Opera(?:.+Version.|.)(\d+\.\d+))|(?:AppleWebKit.(\d+(?:\.\d+)?))|(?:Trident\/\d+\.\d+.*rv:(\d+\.\d+))/.exec(e),v=/(Mac OS X)|(Windows)|(Linux)/.exec(e);if(m=/\b(iPhone|iP[ao]d)/.exec(e),h=/\b(iP[ao]d)/.exec(e),f=/Android/i.exec(e),g=/FBAN\/\w+;/i.exec(e),_=/Mobile/i.exec(e),p=!!/Win64/.exec(e),t){r=t[1]?parseFloat(t[1]):t[5]?parseFloat(t[5]):NaN,r&&document&&document.documentMode&&(r=document.documentMode);var y=/(?:Trident\/(\d+.\d+))/.exec(e);c=y?parseFloat(y[1])+4:r,i=t[2]?parseFloat(t[2]):NaN,a=t[3]?parseFloat(t[3]):NaN,o=t[4]?parseFloat(t[4]):NaN,o?(t=/(?:Chrome\/(\d+\.\d+))/.exec(e),s=t&&t[1]?parseFloat(t[1]):NaN):s=NaN}else r=i=a=s=o=NaN;if(v){if(v[1]){var b=/(?:Mac OS X (\d+(?:[._]\d+)?))/.exec(e);l=!b||parseFloat(b[1].replace(`_`,`.`))}else l=!1;u=!!v[2],d=!!v[3]}else l=u=d=!1}}var y={ie:function(){return v()||r},ieCompatibilityMode:function(){return v()||c>r},ie64:function(){return y.ie()&&p},firefox:function(){return v()||i},opera:function(){return v()||a},webkit:function(){return v()||o},safari:function(){return y.webkit()},chrome:function(){return v()||s},windows:function(){return v()||u},osx:function(){return v()||l},linux:function(){return v()||d},iphone:function(){return v()||m},mobile:function(){return v()||m||h||f||_},nativeApp:function(){return v()||g},android:function(){return v()||f},ipad:function(){return v()||h}};t.exports=y})),EL=n(((e,t)=>{var n=!!(typeof window<`u`&&window.document&&window.document.createElement);t.exports={canUseDOM:n,canUseWorkers:typeof Worker<`u`,canUseEventListeners:n&&!!(window.addEventListener||window.attachEvent),canUseViewport:n&&!!window.screen,isInWorker:!n}})),DL=n(((e,t)=>{var n=EL(),r;n.canUseDOM&&(r=document.implementation&&document.implementation.hasFeature&&document.implementation.hasFeature(``,``)!==!0);function i(e,t){if(!n.canUseDOM||t&&!(`addEventListener`in document))return!1;var i=`on`+e,a=i in document;if(!a){var o=document.createElement(`div`);o.setAttribute(i,`return;`),a=typeof o[i]==`function`}return!a&&r&&e===`wheel`&&(a=document.implementation.hasFeature(`Events.wheel`,`3.0`)),a}t.exports=i})),OL=n(((e,t)=>{var n=TL(),r=DL(),i=10,a=40,o=800;function s(e){var t=0,n=0,r=0,s=0;return`detail`in e&&(n=e.detail),`wheelDelta`in e&&(n=-e.wheelDelta/120),`wheelDeltaY`in e&&(n=-e.wheelDeltaY/120),`wheelDeltaX`in e&&(t=-e.wheelDeltaX/120),`axis`in e&&e.axis===e.HORIZONTAL_AXIS&&(t=n,n=0),r=t*i,s=n*i,`deltaY`in e&&(s=e.deltaY),`deltaX`in e&&(r=e.deltaX),(r||s)&&e.deltaMode&&(e.deltaMode==1?(r*=a,s*=a):(r*=o,s*=o)),r&&!t&&(t=r<1?-1:1),s&&!n&&(n=s<1?-1:1),{spinX:t,spinY:n,pixelX:r,pixelY:s}}s.getEventType=function(){return n.firefox()?`DOMMouseScroll`:r(`wheel`)?`wheel`:`mousewheel`},t.exports=s})),kL=t(n(((e,t)=>{t.exports=OL()}))(),1);function AL(e,t,n,r,i,a){a===void 0&&(a=0);var o=WL(e,t,a),s=o.width,c=o.height,l=Math.min(s,n),u=Math.min(c,r);return l>u*i?{width:u*i,height:u}:{width:l,height:l/i}}function jL(e){return e.width>e.height?e.width/e.naturalWidth:e.height/e.naturalHeight}function ML(e,t,n,r,i){i===void 0&&(i=0);var a=WL(t.width,t.height,i),o=a.width,s=a.height;return{x:NL(e.x,o,n.width,r),y:NL(e.y,s,n.height,r)}}function NL(e,t,n,r){var i=Math.abs(t*r/2-n/2);return GL(e,-i,i)}function PL(e,t){return Math.sqrt((e.y-t.y)**2+(e.x-t.x)**2)}function FL(e,t){return Math.atan2(t.y-e.y,t.x-e.x)*180/Math.PI}function IL(e,t,n,r,i,a,o){a===void 0&&(a=0),o===void 0&&(o=!0);var s=o?LL:RL,c=WL(t.width,t.height,a),l=WL(t.naturalWidth,t.naturalHeight,a),u={x:s(100,((c.width-n.width/i)/2-e.x/i)/c.width*100),y:s(100,((c.height-n.height/i)/2-e.y/i)/c.height*100),width:s(100,n.width/c.width*100/i),height:s(100,n.height/c.height*100/i)},d=Math.round(s(l.width,u.width*l.width/100)),f=Math.round(s(l.height,u.height*l.height/100)),p=l.width>=l.height*r?{width:Math.round(f*r),height:f}:{width:d,height:Math.round(d/r)};return{croppedAreaPercentages:u,croppedAreaPixels:Dg(Dg({},p),{x:Math.round(s(l.width-p.width,u.x*l.width/100)),y:Math.round(s(l.height-p.height,u.y*l.height/100))})}}function LL(e,t){return Math.min(e,Math.max(0,t))}function RL(e,t){return t}function zL(e,t,n,r,i,a){var o=WL(t.width,t.height,n),s=GL(r.width/o.width*(100/e.width),i,a);return{crop:{x:s*o.width/2-r.width/2-o.width*s*(e.x/100),y:s*o.height/2-r.height/2-o.height*s*(e.y/100)},zoom:s}}function BL(e,t,n){var r=jL(t);return n.height>n.width?n.height/(e.height*r):n.width/(e.width*r)}function VL(e,t,n,r,i,a){n===void 0&&(n=0);var o=WL(t.naturalWidth,t.naturalHeight,n),s=GL(BL(e,t,r),i,a),c=r.height>r.width?r.height/e.height:r.width/e.width;return{crop:{x:((o.width-e.width)/2-e.x)*c,y:((o.height-e.height)/2-e.y)*c},zoom:s}}function HL(e,t){return{x:(t.x+e.x)/2,y:(t.y+e.y)/2}}function UL(e){return e*Math.PI/180}function WL(e,t,n){var r=UL(n);return{width:Math.abs(Math.cos(r)*e)+Math.abs(Math.sin(r)*t),height:Math.abs(Math.sin(r)*e)+Math.abs(Math.cos(r)*t)}}function GL(e,t,n){return Math.min(Math.max(e,t),n)}function KL(){return[...arguments].filter(function(e){return typeof e==`string`&&e.length>0}).join(` `).trim()}var qL=`.reactEasyCrop_Container {
|
|
118
|
+
position: absolute;
|
|
119
|
+
top: 0;
|
|
120
|
+
left: 0;
|
|
121
|
+
right: 0;
|
|
122
|
+
bottom: 0;
|
|
123
|
+
overflow: hidden;
|
|
124
|
+
user-select: none;
|
|
125
|
+
touch-action: none;
|
|
126
|
+
cursor: move;
|
|
127
|
+
display: flex;
|
|
128
|
+
justify-content: center;
|
|
129
|
+
align-items: center;
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
.reactEasyCrop_Image,
|
|
133
|
+
.reactEasyCrop_Video {
|
|
134
|
+
will-change: transform; /* this improves performances and prevent painting issues on iOS Chrome */
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
.reactEasyCrop_Contain {
|
|
138
|
+
max-width: 100%;
|
|
139
|
+
max-height: 100%;
|
|
140
|
+
margin: auto;
|
|
141
|
+
position: absolute;
|
|
142
|
+
top: 0;
|
|
143
|
+
bottom: 0;
|
|
144
|
+
left: 0;
|
|
145
|
+
right: 0;
|
|
146
|
+
}
|
|
147
|
+
.reactEasyCrop_Cover_Horizontal {
|
|
148
|
+
width: 100%;
|
|
149
|
+
height: auto;
|
|
150
|
+
}
|
|
151
|
+
.reactEasyCrop_Cover_Vertical {
|
|
152
|
+
width: auto;
|
|
153
|
+
height: 100%;
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
.reactEasyCrop_CropArea {
|
|
157
|
+
position: absolute;
|
|
158
|
+
left: 50%;
|
|
159
|
+
top: 50%;
|
|
160
|
+
transform: translate(-50%, -50%);
|
|
161
|
+
border: 1px solid rgba(255, 255, 255, 0.5);
|
|
162
|
+
box-sizing: border-box;
|
|
163
|
+
box-shadow: 0 0 0 9999em;
|
|
164
|
+
color: rgba(0, 0, 0, 0.5);
|
|
165
|
+
overflow: hidden;
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
.reactEasyCrop_CropAreaRound {
|
|
169
|
+
border-radius: 50%;
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
.reactEasyCrop_CropAreaGrid::before {
|
|
173
|
+
content: ' ';
|
|
174
|
+
box-sizing: border-box;
|
|
175
|
+
position: absolute;
|
|
176
|
+
border: 1px solid rgba(255, 255, 255, 0.5);
|
|
177
|
+
top: 0;
|
|
178
|
+
bottom: 0;
|
|
179
|
+
left: 33.33%;
|
|
180
|
+
right: 33.33%;
|
|
181
|
+
border-top: 0;
|
|
182
|
+
border-bottom: 0;
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
.reactEasyCrop_CropAreaGrid::after {
|
|
186
|
+
content: ' ';
|
|
187
|
+
box-sizing: border-box;
|
|
188
|
+
position: absolute;
|
|
189
|
+
border: 1px solid rgba(255, 255, 255, 0.5);
|
|
190
|
+
top: 33.33%;
|
|
191
|
+
bottom: 33.33%;
|
|
192
|
+
left: 0;
|
|
193
|
+
right: 0;
|
|
194
|
+
border-left: 0;
|
|
195
|
+
border-right: 0;
|
|
196
|
+
}
|
|
197
|
+
`,JL=1,YL=3,XL=1,ZL=function(e){Eg(t,e);function t(){var n=e!==null&&e.apply(this,arguments)||this;return n.cropperRef=g.createRef(),n.imageRef=g.createRef(),n.videoRef=g.createRef(),n.containerPosition={x:0,y:0},n.containerRef=null,n.styleRef=null,n.containerRect=null,n.mediaSize={width:0,height:0,naturalWidth:0,naturalHeight:0},n.dragStartPosition={x:0,y:0},n.dragStartCrop={x:0,y:0},n.gestureZoomStart=0,n.gestureRotationStart=0,n.isTouching=!1,n.lastPinchDistance=0,n.lastPinchRotation=0,n.rafDragTimeout=null,n.rafPinchTimeout=null,n.wheelTimer=null,n.currentDoc=typeof document<`u`?document:null,n.currentWindow=typeof window<`u`?window:null,n.resizeObserver=null,n.previousCropSize=null,n.isInitialized=!1,n.state={cropSize:null,hasWheelJustStarted:!1,mediaObjectFit:void 0},n.initResizeObserver=function(){if(!(window.ResizeObserver===void 0||!n.containerRef)){var e=!0;n.resizeObserver=new window.ResizeObserver(function(t){if(e){e=!1;return}n.computeSizes()}),n.resizeObserver.observe(n.containerRef)}},n.preventZoomSafari=function(e){return e.preventDefault()},n.cleanEvents=function(){n.currentDoc&&(n.currentDoc.removeEventListener(`mousemove`,n.onMouseMove),n.currentDoc.removeEventListener(`mouseup`,n.onDragStopped),n.currentDoc.removeEventListener(`touchmove`,n.onTouchMove),n.currentDoc.removeEventListener(`touchend`,n.onDragStopped),n.currentDoc.removeEventListener(`gesturechange`,n.onGestureChange),n.currentDoc.removeEventListener(`gestureend`,n.onGestureEnd),n.currentDoc.removeEventListener(`scroll`,n.onScroll))},n.clearScrollEvent=function(){n.containerRef&&n.containerRef.removeEventListener(`wheel`,n.onWheel),n.wheelTimer&&clearTimeout(n.wheelTimer)},n.onMediaLoad=function(){var e=n.computeSizes();e&&(n.previousCropSize=e,n.emitCropData(),n.setInitialCrop(e),n.isInitialized=!0),n.props.onMediaLoaded&&n.props.onMediaLoaded(n.mediaSize)},n.setInitialCrop=function(e){if(n.props.initialCroppedAreaPercentages){var t=zL(n.props.initialCroppedAreaPercentages,n.mediaSize,n.props.rotation,e,n.props.minZoom,n.props.maxZoom),r=t.crop,i=t.zoom;n.props.onCropChange(r),n.props.onZoomChange&&n.props.onZoomChange(i)}else if(n.props.initialCroppedAreaPixels){var a=VL(n.props.initialCroppedAreaPixels,n.mediaSize,n.props.rotation,e,n.props.minZoom,n.props.maxZoom),r=a.crop,i=a.zoom;n.props.onCropChange(r),n.props.onZoomChange&&n.props.onZoomChange(i)}},n.computeSizes=function(){var e=n.imageRef.current||n.videoRef.current;if(e&&n.containerRef){n.containerRect=n.containerRef.getBoundingClientRect(),n.saveContainerPosition();var t=n.containerRect.width/n.containerRect.height,r=n.imageRef.current?.naturalWidth||n.videoRef.current?.videoWidth||0,i=n.imageRef.current?.naturalHeight||n.videoRef.current?.videoHeight||0,a=e.offsetWidth<r||e.offsetHeight<i,o=r/i,s=void 0;if(a)switch(n.state.mediaObjectFit){default:case`contain`:s=t>o?{width:n.containerRect.height*o,height:n.containerRect.height}:{width:n.containerRect.width,height:n.containerRect.width/o};break;case`horizontal-cover`:s={width:n.containerRect.width,height:n.containerRect.width/o};break;case`vertical-cover`:s={width:n.containerRect.height*o,height:n.containerRect.height}}else s={width:e.offsetWidth,height:e.offsetHeight};n.mediaSize=Dg(Dg({},s),{naturalWidth:r,naturalHeight:i}),n.props.setMediaSize&&n.props.setMediaSize(n.mediaSize);var c=n.props.cropSize?n.props.cropSize:AL(n.mediaSize.width,n.mediaSize.height,n.containerRect.width,n.containerRect.height,n.props.aspect,n.props.rotation);return(n.state.cropSize?.height!==c.height||n.state.cropSize?.width!==c.width)&&n.props.onCropSizeChange&&n.props.onCropSizeChange(c),n.setState({cropSize:c},n.recomputeCropPosition),n.props.setCropSize&&n.props.setCropSize(c),c}},n.saveContainerPosition=function(){if(n.containerRef){var e=n.containerRef.getBoundingClientRect();n.containerPosition={x:e.left,y:e.top}}},n.onMouseDown=function(e){n.currentDoc&&(e.preventDefault(),n.currentDoc.addEventListener(`mousemove`,n.onMouseMove),n.currentDoc.addEventListener(`mouseup`,n.onDragStopped),n.saveContainerPosition(),n.onDragStart(t.getMousePoint(e)))},n.onMouseMove=function(e){return n.onDrag(t.getMousePoint(e))},n.onScroll=function(e){n.currentDoc&&(e.preventDefault(),n.saveContainerPosition())},n.onTouchStart=function(e){n.currentDoc&&(n.isTouching=!0,!(n.props.onTouchRequest&&!n.props.onTouchRequest(e))&&(n.currentDoc.addEventListener(`touchmove`,n.onTouchMove,{passive:!1}),n.currentDoc.addEventListener(`touchend`,n.onDragStopped),n.saveContainerPosition(),e.touches.length===2?n.onPinchStart(e):e.touches.length===1&&n.onDragStart(t.getTouchPoint(e.touches[0]))))},n.onTouchMove=function(e){e.preventDefault(),e.touches.length===2?n.onPinchMove(e):e.touches.length===1&&n.onDrag(t.getTouchPoint(e.touches[0]))},n.onGestureStart=function(e){n.currentDoc&&(e.preventDefault(),n.currentDoc.addEventListener(`gesturechange`,n.onGestureChange),n.currentDoc.addEventListener(`gestureend`,n.onGestureEnd),n.gestureZoomStart=n.props.zoom,n.gestureRotationStart=n.props.rotation)},n.onGestureChange=function(e){if(e.preventDefault(),!n.isTouching){var r=t.getMousePoint(e),i=n.gestureZoomStart-1+e.scale;if(n.setNewZoom(i,r,{shouldUpdatePosition:!0}),n.props.onRotationChange){var a=n.gestureRotationStart+e.rotation;n.props.onRotationChange(a)}}},n.onGestureEnd=function(e){n.cleanEvents()},n.onDragStart=function(e){var t,r;n.dragStartPosition={x:e.x,y:e.y},n.dragStartCrop=Dg({},n.props.crop),(r=(t=n.props).onInteractionStart)==null||r.call(t)},n.onDrag=function(e){var t=e.x,r=e.y;n.currentWindow&&(n.rafDragTimeout&&n.currentWindow.cancelAnimationFrame(n.rafDragTimeout),n.rafDragTimeout=n.currentWindow.requestAnimationFrame(function(){if(n.state.cropSize&&t!==void 0&&r!==void 0){var e=t-n.dragStartPosition.x,i=r-n.dragStartPosition.y,a={x:n.dragStartCrop.x+e,y:n.dragStartCrop.y+i},o=n.props.restrictPosition?ML(a,n.mediaSize,n.state.cropSize,n.props.zoom,n.props.rotation):a;n.props.onCropChange(o)}}))},n.onDragStopped=function(){var e,t;n.isTouching=!1,n.cleanEvents(),n.emitCropData(),(t=(e=n.props).onInteractionEnd)==null||t.call(e)},n.onWheel=function(e){if(n.currentWindow&&!(n.props.onWheelRequest&&!n.props.onWheelRequest(e))){e.preventDefault();var r=t.getMousePoint(e),i=(0,kL.default)(e).pixelY,a=n.props.zoom-i*n.props.zoomSpeed/200;n.setNewZoom(a,r,{shouldUpdatePosition:!0}),n.state.hasWheelJustStarted||n.setState({hasWheelJustStarted:!0},function(){var e;return(e=n.props).onInteractionStart?.call(e)}),n.wheelTimer&&clearTimeout(n.wheelTimer),n.wheelTimer=n.currentWindow.setTimeout(function(){return n.setState({hasWheelJustStarted:!1},function(){var e;return(e=n.props).onInteractionEnd?.call(e)})},250)}},n.getPointOnContainer=function(e,t){var r=e.x,i=e.y;if(!n.containerRect)throw Error(`The Cropper is not mounted`);return{x:n.containerRect.width/2-(r-t.x),y:n.containerRect.height/2-(i-t.y)}},n.getPointOnMedia=function(e){var t=e.x,r=e.y,i=n.props,a=i.crop,o=i.zoom;return{x:(t+a.x)/o,y:(r+a.y)/o}},n.setNewZoom=function(e,t,r){var i=(r===void 0?{}:r).shouldUpdatePosition,a=i===void 0||i;if(!(!n.state.cropSize||!n.props.onZoomChange)){var o=GL(e,n.props.minZoom,n.props.maxZoom);if(a){var s=n.getPointOnContainer(t,n.containerPosition),c=n.getPointOnMedia(s),l={x:c.x*o-s.x,y:c.y*o-s.y},u=n.props.restrictPosition?ML(l,n.mediaSize,n.state.cropSize,o,n.props.rotation):l;n.props.onCropChange(u)}n.props.onZoomChange(o)}},n.getCropData=function(){return n.state.cropSize?IL(n.props.restrictPosition?ML(n.props.crop,n.mediaSize,n.state.cropSize,n.props.zoom,n.props.rotation):n.props.crop,n.mediaSize,n.state.cropSize,n.getAspect(),n.props.zoom,n.props.rotation,n.props.restrictPosition):null},n.emitCropData=function(){var e=n.getCropData();if(e){var t=e.croppedAreaPercentages,r=e.croppedAreaPixels;n.props.onCropComplete&&n.props.onCropComplete(t,r),n.props.onCropAreaChange&&n.props.onCropAreaChange(t,r)}},n.emitCropAreaChange=function(){var e=n.getCropData();if(e){var t=e.croppedAreaPercentages,r=e.croppedAreaPixels;n.props.onCropAreaChange&&n.props.onCropAreaChange(t,r)}},n.recomputeCropPosition=function(){if(n.state.cropSize){var e=n.props.crop;if(n.isInitialized&&n.previousCropSize?.width&&n.previousCropSize?.height&&(Math.abs(n.previousCropSize.width-n.state.cropSize.width)>1e-6||Math.abs(n.previousCropSize.height-n.state.cropSize.height)>1e-6)){var t=n.state.cropSize.width/n.previousCropSize.width,r=n.state.cropSize.height/n.previousCropSize.height;e={x:n.props.crop.x*t,y:n.props.crop.y*r}}var i=n.props.restrictPosition?ML(e,n.mediaSize,n.state.cropSize,n.props.zoom,n.props.rotation):e;n.previousCropSize=n.state.cropSize,n.props.onCropChange(i),n.emitCropData()}},n.onKeyDown=function(e){var t,r,i=n.props,a=i.crop,o=i.onCropChange,s=i.keyboardStep,c=i.zoom,l=i.rotation,u=s;if(n.state.cropSize){e.shiftKey&&(u*=.2);var d=Dg({},a);switch(e.key){case`ArrowUp`:d.y-=u,e.preventDefault();break;case`ArrowDown`:d.y+=u,e.preventDefault();break;case`ArrowLeft`:d.x-=u,e.preventDefault();break;case`ArrowRight`:d.x+=u,e.preventDefault();break;default:return}n.props.restrictPosition&&(d=ML(d,n.mediaSize,n.state.cropSize,c,l)),e.repeat||(r=(t=n.props).onInteractionStart)==null||r.call(t),o(d)}},n.onKeyUp=function(e){var t,r;switch(e.key){case`ArrowUp`:case`ArrowDown`:case`ArrowLeft`:case`ArrowRight`:e.preventDefault();break;default:return}n.emitCropData(),(r=(t=n.props).onInteractionEnd)==null||r.call(t)},n}return t.prototype.componentDidMount=function(){!this.currentDoc||!this.currentWindow||(this.containerRef&&(this.containerRef.ownerDocument&&(this.currentDoc=this.containerRef.ownerDocument),this.currentDoc.defaultView&&(this.currentWindow=this.currentDoc.defaultView),this.initResizeObserver(),window.ResizeObserver===void 0&&this.currentWindow.addEventListener(`resize`,this.computeSizes),this.props.zoomWithScroll&&this.containerRef.addEventListener(`wheel`,this.onWheel,{passive:!1}),this.containerRef.addEventListener(`gesturestart`,this.onGestureStart)),this.currentDoc.addEventListener(`scroll`,this.onScroll),this.props.disableAutomaticStylesInjection||(this.styleRef=this.currentDoc.createElement(`style`),this.styleRef.setAttribute(`type`,`text/css`),this.props.nonce&&this.styleRef.setAttribute(`nonce`,this.props.nonce),this.styleRef.innerHTML=qL,this.currentDoc.head.appendChild(this.styleRef)),this.imageRef.current&&this.imageRef.current.complete&&this.onMediaLoad(),this.props.setImageRef&&this.props.setImageRef(this.imageRef),this.props.setVideoRef&&this.props.setVideoRef(this.videoRef),this.props.setCropperRef&&this.props.setCropperRef(this.cropperRef))},t.prototype.componentWillUnmount=function(){var e,t;!this.currentDoc||!this.currentWindow||(window.ResizeObserver===void 0&&this.currentWindow.removeEventListener(`resize`,this.computeSizes),(e=this.resizeObserver)==null||e.disconnect(),this.containerRef&&this.containerRef.removeEventListener(`gesturestart`,this.preventZoomSafari),this.styleRef&&((t=this.styleRef.parentNode)==null||t.removeChild(this.styleRef)),this.cleanEvents(),this.props.zoomWithScroll&&this.clearScrollEvent())},t.prototype.componentDidUpdate=function(e){var t;e.rotation===this.props.rotation?e.aspect===this.props.aspect&&e.objectFit===this.props.objectFit?e.zoom===this.props.zoom?e.cropSize?.height!==this.props.cropSize?.height||e.cropSize?.width!==this.props.cropSize?.width?this.computeSizes():(e.crop?.x!==this.props.crop?.x||e.crop?.y!==this.props.crop?.y)&&this.emitCropAreaChange():this.recomputeCropPosition():this.computeSizes():(this.computeSizes(),this.recomputeCropPosition()),e.zoomWithScroll!==this.props.zoomWithScroll&&this.containerRef&&(this.props.zoomWithScroll?this.containerRef.addEventListener(`wheel`,this.onWheel,{passive:!1}):this.clearScrollEvent()),e.video!==this.props.video&&((t=this.videoRef.current)==null||t.load());var n=this.getObjectFit();n!==this.state.mediaObjectFit&&this.setState({mediaObjectFit:n},this.computeSizes)},t.prototype.getAspect=function(){var e=this.props,t=e.cropSize,n=e.aspect;return t?t.width/t.height:n},t.prototype.getObjectFit=function(){if(this.props.objectFit===`cover`){if((this.imageRef.current||this.videoRef.current)&&this.containerRef){this.containerRect=this.containerRef.getBoundingClientRect();var e=this.containerRect.width/this.containerRect.height;return(this.imageRef.current?.naturalWidth||this.videoRef.current?.videoWidth||0)/(this.imageRef.current?.naturalHeight||this.videoRef.current?.videoHeight||0)<e?`horizontal-cover`:`vertical-cover`}return`horizontal-cover`}return this.props.objectFit},t.prototype.onPinchStart=function(e){var n=t.getTouchPoint(e.touches[0]),r=t.getTouchPoint(e.touches[1]);this.lastPinchDistance=PL(n,r),this.lastPinchRotation=FL(n,r),this.onDragStart(HL(n,r))},t.prototype.onPinchMove=function(e){var n=this;if(!(!this.currentDoc||!this.currentWindow)){var r=t.getTouchPoint(e.touches[0]),i=t.getTouchPoint(e.touches[1]),a=HL(r,i);this.onDrag(a),this.rafPinchTimeout&&this.currentWindow.cancelAnimationFrame(this.rafPinchTimeout),this.rafPinchTimeout=this.currentWindow.requestAnimationFrame(function(){var e=PL(r,i),t=n.props.zoom*(e/n.lastPinchDistance);n.setNewZoom(t,a,{shouldUpdatePosition:!1}),n.lastPinchDistance=e;var o=FL(r,i),s=n.props.rotation+(o-n.lastPinchRotation);n.props.onRotationChange&&n.props.onRotationChange(s),n.lastPinchRotation=o})}},t.prototype.render=function(){var e=this,t=this.props,n=t.image,r=t.video,i=t.mediaProps,a=t.cropperProps,o=t.transform,s=t.crop,c=s.x,l=s.y,u=t.rotation,d=t.zoom,f=t.cropShape,p=t.showGrid,m=t.roundCropAreaPixels,h=t.style,_=h.containerStyle,v=h.cropAreaStyle,y=h.mediaStyle,b=t.classes,x=b.containerClassName,S=b.cropAreaClassName,C=b.mediaClassName,w=this.state.mediaObjectFit??this.getObjectFit();return g.createElement(`div`,{onMouseDown:this.onMouseDown,onTouchStart:this.onTouchStart,ref:function(t){return e.containerRef=t},"data-testid":`container`,style:_,className:KL(`reactEasyCrop_Container`,x)},n?g.createElement(`img`,Dg({alt:``,className:KL(`reactEasyCrop_Image`,w===`contain`&&`reactEasyCrop_Contain`,w===`horizontal-cover`&&`reactEasyCrop_Cover_Horizontal`,w===`vertical-cover`&&`reactEasyCrop_Cover_Vertical`,C)},i,{src:n,ref:this.imageRef,style:Dg(Dg({},y),{transform:o||`translate(${c}px, ${l}px) rotate(${u}deg) scale(${d})`}),onLoad:this.onMediaLoad})):r&&g.createElement(`video`,Dg({autoPlay:!0,playsInline:!0,loop:!0,muted:!0,className:KL(`reactEasyCrop_Video`,w===`contain`&&`reactEasyCrop_Contain`,w===`horizontal-cover`&&`reactEasyCrop_Cover_Horizontal`,w===`vertical-cover`&&`reactEasyCrop_Cover_Vertical`,C)},i,{ref:this.videoRef,onLoadedMetadata:this.onMediaLoad,style:Dg(Dg({},y),{transform:o||`translate(${c}px, ${l}px) rotate(${u}deg) scale(${d})`}),controls:!1}),(Array.isArray(r)?r:[{src:r}]).map(function(e){return g.createElement(`source`,Dg({key:e.src},e))})),this.state.cropSize&&g.createElement(`div`,Dg({ref:this.cropperRef,style:Dg(Dg({},v),{width:m?Math.round(this.state.cropSize.width):this.state.cropSize.width,height:m?Math.round(this.state.cropSize.height):this.state.cropSize.height}),tabIndex:0,onKeyDown:this.onKeyDown,onKeyUp:this.onKeyUp,"data-testid":`cropper`,className:KL(`reactEasyCrop_CropArea`,f===`round`&&`reactEasyCrop_CropAreaRound`,p&&`reactEasyCrop_CropAreaGrid`,S)},a)))},t.defaultProps={zoom:1,rotation:0,aspect:4/3,maxZoom:YL,minZoom:JL,cropShape:`rect`,objectFit:`contain`,showGrid:!0,style:{},classes:{},mediaProps:{},cropperProps:{},zoomSpeed:1,restrictPosition:!0,zoomWithScroll:!0,keyboardStep:XL},t.getMousePoint=function(e){return{x:Number(e.clientX),y:Number(e.clientY)}},t.getTouchPoint=function(e){return{x:Number(e.clientX),y:Number(e.clientY)}},t}(g.Component),QL=[{id:`bot`,label:`Bot`,icon:Rf},{id:`sparkles`,label:`Sparkles`,icon:sm},{id:`search`,label:`Search`,icon:nm},{id:`code`,label:`Code`,icon:cp},{id:`workflow`,label:`Workflow`,icon:Up}],$L=[{value:`#426ea8`,label:`云蓝`},{value:`#7c5cc4`,label:`紫罗兰`},{value:`#2d7c68`,label:`松石绿`},{value:`#a86d32`,label:`琥珀`},{value:`#a55267`,label:`玫瑰`},{value:`#526173`,label:`石墨`}];function eR(e){return{icon:e?.icon||`bot`,color:e?.color||`#426ea8`,imageUrl:e?.imageUrl||null}}async function tR(e){let t=new Image;return t.decoding=`async`,t.src=e,await t.decode(),t}async function nR(e,t){let n=await tR(e),r=document.createElement(`canvas`);r.width=512,r.height=512;let i=r.getContext(`2d`);if(!i)throw Error(`当前浏览器无法创建头像画布`);i.imageSmoothingEnabled=!0,i.imageSmoothingQuality=`high`,i.drawImage(n,t.x,t.y,t.width,t.height,0,0,r.width,r.height);let a=await new Promise(e=>r.toBlob(e,`image/webp`,.9));if(!a)throw Error(`头像裁剪失败,请更换图片后重试`);return a}function rR({name:e,appearance:t,disabled:n=!1,onSave:r}){let[i,a]=(0,g.useState)(()=>eR(t)),[o,s]=(0,g.useState)(null),[c,l]=(0,g.useState)({x:0,y:0}),[u,d]=(0,g.useState)(1),[f,p]=(0,g.useState)(null),[m,h]=(0,g.useState)(!1),[_,y]=(0,g.useState)(!1),[b,x]=(0,g.useState)(``),S=(0,g.useRef)(null);(0,g.useEffect)(()=>a(eR(t)),[t]),(0,g.useEffect)(()=>()=>{o&&URL.revokeObjectURL(o)},[o]);let C=eR(t),w=i.icon!==C.icon||i.color!==C.color||i.imageUrl!==C.imageUrl;function T(e){if(x(``),e){if(![`image/png`,`image/webp`].includes(e.type)){x(`仅支持 PNG 或 WebP 图片`);return}if(e.size>2097152){x(`头像文件不能超过 2 MiB`);return}l({x:0,y:0}),d(1),p(null),s(URL.createObjectURL(e))}}async function E(){if(!(!o||!f||m)){h(!0),x(``);try{let e=await nR(o,f),t=await q(`/api/v1/assets/agent-avatars`,{method:`POST`,headers:{"Content-Type":e.type},body:e}),n=await t.json().catch(()=>null);if(!t.ok)throw Error(n?.error?.message||`头像上传失败(${t.status})`);a(e=>({...e,imageUrl:n.url})),s(null)}catch(e){x(e instanceof Error?e.message:`头像上传失败`)}finally{h(!1)}}}async function D(){if(!(!w||_||n)){y(!0),x(``);try{await r(i)}catch(e){x(e instanceof Error?e.message:`外观保存失败`)}finally{y(!1)}}}return(0,v.jsxs)(`section`,{className:`agent-appearance-editor`,"aria-label":`Agent 外观`,children:[(0,v.jsxs)(`div`,{className:`agent-appearance-preview`,children:[(0,v.jsx)(vb,{name:e,appearance:i,size:`lg`}),(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`strong`,{children:`Agent 外观`}),(0,v.jsx)(`span`,{children:`用于列表、会话和 Trace;不会写入模型提示词。`})]})]}),(0,v.jsxs)(`div`,{className:`agent-appearance-controls`,children:[(0,v.jsxs)(`div`,{className:`appearance-choice-group`,role:`group`,"aria-label":`头像图标`,children:[(0,v.jsx)(`span`,{children:`图标`}),(0,v.jsx)(`div`,{children:QL.map(e=>(0,v.jsx)(`button`,{className:i.icon===e.id&&!i.imageUrl?`active`:``,type:`button`,"aria-label":`使用 ${e.label} 图标`,"aria-pressed":i.icon===e.id&&!i.imageUrl,disabled:n,onClick:()=>a(t=>({...t,icon:e.id,imageUrl:null})),children:(0,v.jsx)(e.icon,{size:16})},e.id))})]}),(0,v.jsxs)(`div`,{className:`appearance-choice-group color`,role:`group`,"aria-label":`头像配色`,children:[(0,v.jsx)(`span`,{children:`配色`}),(0,v.jsx)(`div`,{children:$L.map(e=>(0,v.jsx)(`button`,{className:i.color===e.value?`active`:``,type:`button`,"aria-label":`使用${e.label}配色`,"aria-pressed":i.color===e.value,disabled:n,style:{"--appearance-swatch":e.value},onClick:()=>a(t=>({...t,color:e.value}))},e.value))})]})]}),(0,v.jsxs)(`div`,{className:`agent-appearance-actions`,children:[(0,v.jsx)(`input`,{ref:S,className:`sr-only`,type:`file`,accept:`image/png,image/webp`,"aria-label":`选择 Agent 头像图片`,disabled:n,onChange:e=>{T(e.target.files?.[0]),e.target.value=``}}),(0,v.jsxs)(`button`,{className:`button tertiary small`,type:`button`,disabled:n,onClick:()=>S.current?.click(),children:[(0,v.jsx)(Op,{size:14}),(0,v.jsx)(`span`,{children:`上传图片`})]}),i.imageUrl?(0,v.jsxs)(`button`,{className:`button tertiary small`,type:`button`,disabled:n,onClick:()=>a(e=>({...e,imageUrl:null})),children:[(0,v.jsx)(gm,{size:14}),(0,v.jsx)(`span`,{children:`移除图片`})]}):null,(0,v.jsx)(`button`,{className:`button secondary small`,type:`button`,disabled:n||_||!w,onClick:D,children:_?`正在保存`:`保存外观`})]}),b?(0,v.jsx)(`p`,{className:`studio-field-error`,role:`alert`,children:b}):null,(0,v.jsx)(Tb,{open:!!o,onOpenChange:e=>{!e&&!m&&s(null)},title:`调整 Agent 头像`,description:`拖动画面并缩放,保存后会生成 512 × 512 WebP。`,closeDisabled:m,className:`avatar-crop-dialog`,footer:(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(`button`,{className:`button tertiary`,type:`button`,disabled:m,onClick:()=>s(null),children:`取消`}),(0,v.jsx)(`button`,{className:`button accent`,type:`button`,disabled:m||!f,onClick:E,children:m?`正在上传`:`使用裁剪`})]}),children:o?(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(`div`,{className:`avatar-crop-stage`,children:(0,v.jsx)(ZL,{image:o,crop:c,zoom:u,aspect:1,showGrid:!1,onCropChange:l,onZoomChange:d,onCropComplete:(e,t)=>p(t)})}),(0,v.jsxs)(`label`,{className:`avatar-zoom-control`,children:[(0,v.jsx)(`span`,{children:`缩放`}),(0,v.jsx)(`input`,{type:`range`,min:1,max:3,step:.05,value:u,onChange:e=>d(Number(e.target.value))})]})]}):null})]})}var iR=Object.defineProperty,aR=(e,t)=>iR(e,`name`,{value:t,configurable:!0}),oR=`Popover`,[sR,Wre]=Vm(oR,[rC]),cR=rC(),[lR,uR]=sR(oR),dR=aR(e=>{let{__scopePopover:t,children:n,open:r,defaultOpen:i,onOpenChange:a,modal:o=!1}=e,s=cR(t),c=g.useRef(null),[l,u]=g.useState(!1),[d,f]=rh({prop:r,defaultProp:i??!1,onChange:a,caller:oR});return(0,v.jsx)(yC,{...s,children:(0,v.jsx)(lR,{scope:t,contentId:Jm(),triggerRef:c,open:d,onOpenChange:f,onOpenToggle:g.useCallback(()=>f(e=>!e),[f]),hasCustomAnchor:l,onCustomAnchorAdd:g.useCallback(()=>u(!0),[]),onCustomAnchorRemove:g.useCallback(()=>u(!1),[]),modal:o,children:n})})},`Popover`),fR=`PopoverTrigger`,pR=g.forwardRef(aR(function(e,t){let{__scopePopover:n,...r}=e,i=uR(fR,n),a=cR(n),o=Lm(t,i.triggerRef),s=(0,v.jsx)(Th.button,{type:`button`,"aria-haspopup":`dialog`,"aria-expanded":i.open,"aria-controls":i.open?i.contentId:void 0,"data-state":wR(i.open),...r,ref:o,onClick:Om(e.onClick,i.onOpenToggle)});return i.hasCustomAnchor?s:(0,v.jsx)(bC,{asChild:!0,...a,children:s})},`PopoverTrigger`)),mR=`PopoverPortal`,[hR,gR]=sR(mR,{forceMount:void 0}),_R=aR(e=>{let{__scopePopover:t,forceMount:n,children:r,container:i}=e,a=uR(mR,t);return(0,v.jsx)(hR,{scope:t,forceMount:n,children:(0,v.jsx)(fg,{present:n||a.open,children:(0,v.jsx)(cg,{asChild:!0,container:i,children:r})})})},`PopoverPortal`),vR=`PopoverContent`,yR=g.forwardRef(aR(function(e,t){let n=gR(vR,e.__scopePopover),{forceMount:r=n.forceMount,...i}=e,a=uR(vR,e.__scopePopover);return(0,v.jsx)(fg,{present:r||a.open,children:a.modal?(0,v.jsx)(xR,{...i,ref:t}):(0,v.jsx)(SR,{...i,ref:t})})},`PopoverContent`)),bR=uh(`PopoverContent.RemoveScroll`),xR=g.forwardRef(aR(function(e,t){let n=uR(vR,e.__scopePopover),r=g.useRef(null),i=Lm(t,r),a=g.useRef(!1);return g.useEffect(()=>{let e=r.current;if(e)return Z_(e)},[]),(0,v.jsx)(H_,{as:bR,allowPinchZoom:!0,children:(0,v.jsx)(CR,{...e,ref:i,trapFocus:n.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:Om(e.onCloseAutoFocus,e=>{e.preventDefault(),a.current||n.triggerRef.current?.focus()}),onPointerDownOutside:Om(e.onPointerDownOutside,e=>{let t=e.detail.originalEvent,n=t.button===0&&t.ctrlKey===!0,r=t.button===2||n;a.current=r},{checkForDefaultPrevented:!1}),onFocusOutside:Om(e.onFocusOutside,e=>e.preventDefault(),{checkForDefaultPrevented:!1})})})},`PopoverContentModal`)),SR=g.forwardRef(aR(function(e,t){let n=uR(vR,e.__scopePopover),r=g.useRef(!1),i=g.useRef(!1);return(0,v.jsx)(CR,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:t=>{e.onCloseAutoFocus?.(t),t.defaultPrevented||(r.current||n.triggerRef.current?.focus(),t.preventDefault()),r.current=!1,i.current=!1},onInteractOutside:t=>{e.onInteractOutside?.(t),t.defaultPrevented||(r.current=!0,t.detail.originalEvent.type===`pointerdown`&&(i.current=!0));let a=t.target;n.triggerRef.current?.contains(a)&&t.preventDefault(),t.detail.originalEvent.type===`focusin`&&i.current&&t.preventDefault()}})},`PopoverContentNonModal`)),CR=g.forwardRef(aR(function(e,t){let{__scopePopover:n,trapFocus:r,onOpenAutoFocus:i,onCloseAutoFocus:a,disableOutsidePointerEvents:o,onEscapeKeyDown:s,onPointerDownOutside:c,onFocusOutside:l,onInteractOutside:u,...d}=e,f=uR(vR,n),p=cR(n);return Cg(),(0,v.jsx)(Yh,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:i,onUnmountAutoFocus:a,children:(0,v.jsx)(Lh,{asChild:!0,disableOutsidePointerEvents:o,onInteractOutside:u,onEscapeKeyDown:s,onPointerDownOutside:c,onFocusOutside:l,onDismiss:()=>f.onOpenChange(!1),deferPointerDownOutside:!0,children:(0,v.jsx)(xC,{"data-state":wR(f.open),role:`dialog`,id:f.contentId,...p,...d,ref:t,style:{...d.style,"--radix-popover-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-popover-content-available-width":`var(--radix-popper-available-width)`,"--radix-popover-content-available-height":`var(--radix-popper-available-height)`,"--radix-popover-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-popover-trigger-height":`var(--radix-popper-anchor-height)`}})})})},`PopoverContentImpl`));function wR(e){return e?`open`:`closed`}aR(wR,`getState`);var TR=dR,ER=pR,DR=_R,OR=yR,kR=1,AR=.9,jR=.8,MR=.17,NR=.1,PR=.999,FR=.9999,IR=.99,LR=/[\\\/_+.#"@\[\(\{&]/,RR=/[\\\/_+.#"@\[\(\{&]/g,zR=/[\s-]/,BR=/[\s-]/g;function VR(e,t,n,r,i,a,o){if(a===t.length)return i===e.length?kR:IR;var s=`${i},${a}`;if(o[s]!==void 0)return o[s];for(var c=r.charAt(a),l=n.indexOf(c,i),u=0,d,f,p,m;l>=0;)d=VR(e,t,n,r,l+1,a+1,o),d>u&&(l===i?d*=kR:LR.test(e.charAt(l-1))?(d*=jR,p=e.slice(i,l-1).match(RR),p&&i>0&&(d*=PR**+p.length)):zR.test(e.charAt(l-1))?(d*=AR,m=e.slice(i,l-1).match(BR),m&&i>0&&(d*=PR**+m.length)):(d*=MR,i>0&&(d*=PR**+(l-i))),e.charAt(l)!==t.charAt(a)&&(d*=FR)),(d<NR&&n.charAt(l-1)===r.charAt(a+1)||r.charAt(a+1)===r.charAt(a)&&n.charAt(l-1)!==r.charAt(a))&&(f=VR(e,t,n,r,l+1,a+2,o),f*NR>d&&(d=f*NR)),d>u&&(u=d),l=n.indexOf(c,l+1);return o[s]=u,u}function HR(e){return e.toLowerCase().replace(BR,` `)}function UR(e,t,n){return e=n&&n.length>0?`${e+` `+n.join(` `)}`:e,VR(e,t,HR(e),HR(t),0,0,{})}var WR=`[cmdk-group=""]`,GR=`[cmdk-group-items=""]`,KR=`[cmdk-group-heading=""]`,qR=`[cmdk-item=""]`,JR=`${qR}:not([aria-disabled="true"])`,YR=`cmdk-item-select`,XR=`data-value`,ZR=(e,t,n)=>UR(e,t,n),QR=g.createContext(void 0),$R=()=>g.useContext(QR),ez=g.createContext(void 0),tz=()=>g.useContext(ez),nz=g.createContext(void 0),rz=g.forwardRef((e,t)=>{let n=_z(()=>({search:``,value:e.value??e.defaultValue??``,selectedItemId:void 0,filtered:{count:0,items:new Map,groups:new Set}})),r=_z(()=>new Set),i=_z(()=>new Map),a=_z(()=>new Map),o=_z(()=>new Set),s=hz(e),{label:c,children:l,value:u,onValueChange:d,filter:f,shouldFilter:p,loop:m,disablePointerSelection:h=!1,vimBindings:_=!0,...v}=e,y=Jm(),b=Jm(),x=Jm(),S=g.useRef(null),C=bz();gz(()=>{if(u!==void 0){let e=u.trim();n.current.value=e,w.emit()}},[u]),gz(()=>{C(6,A)},[]);let w=g.useMemo(()=>({subscribe:e=>(o.current.add(e),()=>o.current.delete(e)),snapshot:()=>n.current,setState:(e,t,r)=>{var i,a,o;if(!Object.is(n.current[e],t)){if(n.current[e]=t,e===`search`)k(),D(),C(1,O);else if(e===`value`){if(document.activeElement.hasAttribute(`cmdk-input`)||document.activeElement.hasAttribute(`cmdk-root`)){let e=document.getElementById(x);e?e.focus():(i=document.getElementById(y))==null||i.focus()}if(C(7,()=>{n.current.selectedItemId=j()?.id,w.emit()}),r||C(5,A),s.current?.value!==void 0){let e=t??``;(o=(a=s.current).onValueChange)==null||o.call(a,e);return}}w.emit()}},emit:()=>{o.current.forEach(e=>e())}}),[]),T=g.useMemo(()=>({value:(e,t,r)=>{t!==a.current.get(e)?.value&&(a.current.set(e,{value:t,keywords:r}),n.current.filtered.items.set(e,E(t,r)),C(2,()=>{D(),w.emit()}))},item:(e,t)=>(r.current.add(e),t&&(i.current.has(t)?i.current.get(t).add(e):i.current.set(t,new Set([e]))),C(3,()=>{k(),D(),n.current.value||O(),w.emit()}),()=>{a.current.delete(e),r.current.delete(e),n.current.filtered.items.delete(e);let t=j();C(4,()=>{k(),t?.getAttribute(`id`)===e&&O(),w.emit()})}),group:e=>(i.current.has(e)||i.current.set(e,new Set),()=>{a.current.delete(e),i.current.delete(e)}),filter:()=>s.current.shouldFilter,label:c||e[`aria-label`],getDisablePointerSelection:()=>s.current.disablePointerSelection,listId:y,inputId:x,labelId:b,listInnerRef:S}),[]);function E(e,t){let r=s.current?.filter??ZR;return e?r(e,n.current.search,t):0}function D(){if(!n.current.search||s.current.shouldFilter===!1)return;let e=n.current.filtered.items,t=[];n.current.filtered.groups.forEach(n=>{let r=i.current.get(n),a=0;r.forEach(t=>{let n=e.get(t);a=Math.max(n,a)}),t.push([n,a])});let r=S.current;M().sort((t,n)=>{let r=t.getAttribute(`id`),i=n.getAttribute(`id`);return(e.get(i)??0)-(e.get(r)??0)}).forEach(e=>{let t=e.closest(GR);t?t.appendChild(e.parentElement===t?e:e.closest(`${GR} > *`)):r.appendChild(e.parentElement===r?e:e.closest(`${GR} > *`))}),t.sort((e,t)=>t[1]-e[1]).forEach(e=>{let t=S.current?.querySelector(`${WR}[${XR}="${encodeURIComponent(e[0])}"]`);t?.parentElement.appendChild(t)})}function O(){let e=M().find(e=>e.getAttribute(`aria-disabled`)!==`true`)?.getAttribute(XR);w.setState(`value`,e||void 0)}function k(){if(!n.current.search||s.current.shouldFilter===!1){n.current.filtered.count=r.current.size;return}n.current.filtered.groups=new Set;let e=0;for(let t of r.current){let r=E(a.current.get(t)?.value??``,a.current.get(t)?.keywords??[]);n.current.filtered.items.set(t,r),r>0&&e++}for(let[e,t]of i.current)for(let r of t)if(n.current.filtered.items.get(r)>0){n.current.filtered.groups.add(e);break}n.current.filtered.count=e}function A(){var e;let t=j();t&&(t.parentElement?.firstChild===t&&((e=t.closest(WR)?.querySelector(KR))==null||e.scrollIntoView({block:`nearest`})),t.scrollIntoView({block:`nearest`}))}function j(){return S.current?.querySelector(`${qR}[aria-selected="true"]`)}function M(){return Array.from(S.current?.querySelectorAll(JR)||[])}function N(e){let t=M()[e];t&&w.setState(`value`,t.getAttribute(XR))}function P(e){var t;let n=j(),r=M(),i=r.findIndex(e=>e===n),a=r[i+e];(t=s.current)!=null&&t.loop&&(a=i+e<0?r[r.length-1]:i+e===r.length?r[0]:r[i+e]),a&&w.setState(`value`,a.getAttribute(XR))}function F(e){let t=j()?.closest(WR),n;for(;t&&!n;)t=e>0?pz(t,WR):mz(t,WR),n=t?.querySelector(JR);n?w.setState(`value`,n.getAttribute(XR)):P(e)}let I=()=>N(M().length-1),ee=e=>{e.preventDefault(),e.metaKey?I():e.altKey?F(1):P(1)},L=e=>{e.preventDefault(),e.metaKey?N(0):e.altKey?F(-1):P(-1)};return g.createElement(Th.div,{ref:t,tabIndex:-1,...v,"cmdk-root":``,onKeyDown:e=>{var t;(t=v.onKeyDown)==null||t.call(v,e);let n=e.nativeEvent.isComposing||e.keyCode===229;if(!(e.defaultPrevented||n))switch(e.key){case`n`:case`j`:_&&e.ctrlKey&&ee(e);break;case`ArrowDown`:ee(e);break;case`p`:case`k`:_&&e.ctrlKey&&L(e);break;case`ArrowUp`:L(e);break;case`Home`:e.preventDefault(),N(0);break;case`End`:e.preventDefault(),I();break;case`Enter`:{e.preventDefault();let t=j();if(t){let e=new Event(YR);t.dispatchEvent(e)}}}}},g.createElement(`label`,{"cmdk-label":``,htmlFor:T.inputId,id:T.labelId,style:Cz},c),Sz(e,e=>g.createElement(ez.Provider,{value:w},g.createElement(QR.Provider,{value:T},e))))}),iz=g.forwardRef((e,t)=>{let n=Jm(),r=g.useRef(null),i=g.useContext(nz),a=$R(),o=hz(e),s=o.current?.forceMount??i?.forceMount;gz(()=>{if(!s)return a.item(n,i?.id)},[s]);let c=yz(n,r,[e.value,e.children,r],e.keywords),l=tz(),u=vz(e=>e.value&&e.value===c.current),d=vz(e=>s||a.filter()===!1?!0:!e.search||e.filtered.items.get(n)>0);g.useEffect(()=>{let t=r.current;if(!(!t||e.disabled))return t.addEventListener(YR,f),()=>t.removeEventListener(YR,f)},[d,e.onSelect,e.disabled]);function f(){var e,t;p(),(t=(e=o.current).onSelect)==null||t.call(e,c.current)}function p(){l.setState(`value`,c.current,!0)}if(!d)return null;let{disabled:m,value:h,onSelect:_,forceMount:v,keywords:y,...b}=e;return g.createElement(Th.div,{ref:Im(r,t),...b,id:n,"cmdk-item":``,role:`option`,"aria-disabled":!!m,"aria-selected":!!u,"data-disabled":!!m,"data-selected":!!u,onPointerMove:m||a.getDisablePointerSelection()?void 0:p,onClick:m?void 0:f},e.children)}),az=g.forwardRef((e,t)=>{let{heading:n,children:r,forceMount:i,...a}=e,o=Jm(),s=g.useRef(null),c=g.useRef(null),l=Jm(),u=$R(),d=vz(e=>i||u.filter()===!1?!0:!e.search||e.filtered.groups.has(o));gz(()=>u.group(o),[]),yz(o,s,[e.value,e.heading,c]);let f=g.useMemo(()=>({id:o,forceMount:i}),[i]);return g.createElement(Th.div,{ref:Im(s,t),...a,"cmdk-group":``,role:`presentation`,hidden:!d||void 0},n&&g.createElement(`div`,{ref:c,"cmdk-group-heading":``,"aria-hidden":!0,id:l},n),Sz(e,e=>g.createElement(`div`,{"cmdk-group-items":``,role:`group`,"aria-labelledby":n?l:void 0},g.createElement(nz.Provider,{value:f},e))))}),oz=g.forwardRef((e,t)=>{let{alwaysRender:n,...r}=e,i=g.useRef(null),a=vz(e=>!e.search);return!n&&!a?null:g.createElement(Th.div,{ref:Im(i,t),...r,"cmdk-separator":``,role:`separator`})}),sz=g.forwardRef((e,t)=>{let{onValueChange:n,...r}=e,i=e.value!=null,a=tz(),o=vz(e=>e.search),s=vz(e=>e.selectedItemId),c=$R();return g.useEffect(()=>{e.value!=null&&a.setState(`search`,e.value)},[e.value]),g.createElement(Th.input,{ref:t,...r,"cmdk-input":``,autoComplete:`off`,autoCorrect:`off`,spellCheck:!1,"aria-autocomplete":`list`,role:`combobox`,"aria-expanded":!0,"aria-controls":c.listId,"aria-labelledby":c.labelId,"aria-activedescendant":s,id:c.inputId,type:`text`,value:i?e.value:o,onChange:e=>{i||a.setState(`search`,e.target.value),n?.(e.target.value)}})}),cz=g.forwardRef((e,t)=>{let{children:n,label:r=`Suggestions`,...i}=e,a=g.useRef(null),o=g.useRef(null),s=vz(e=>e.selectedItemId),c=$R();return g.useEffect(()=>{if(o.current&&a.current){let e=o.current,t=a.current,n,r=new ResizeObserver(()=>{n=requestAnimationFrame(()=>{let n=e.offsetHeight;t.style.setProperty(`--cmdk-list-height`,n.toFixed(1)+`px`)})});return r.observe(e),()=>{cancelAnimationFrame(n),r.unobserve(e)}}},[]),g.createElement(Th.div,{ref:Im(a,t),...i,"cmdk-list":``,role:`listbox`,tabIndex:-1,"aria-activedescendant":s,"aria-label":r,id:c.listId},Sz(e,e=>g.createElement(`div`,{ref:Im(o,c.listInnerRef),"cmdk-list-sizer":``},e)))}),lz=g.forwardRef((e,t)=>{let{open:n,onOpenChange:r,overlayClassName:i,contentClassName:a,container:o,...s}=e;return g.createElement(iv,{open:n,onOpenChange:r},g.createElement(cv,{container:o},g.createElement(uv,{"cmdk-overlay":``,className:i}),g.createElement(mv,{"aria-label":e.label,"cmdk-dialog":``,className:a},g.createElement(rz,{ref:t,...s}))))}),uz=g.forwardRef((e,t)=>vz(e=>e.filtered.count===0)?g.createElement(Th.div,{ref:t,...e,"cmdk-empty":``,role:`presentation`}):null),dz=g.forwardRef((e,t)=>{let{progress:n,children:r,label:i=`Loading...`,...a}=e;return g.createElement(Th.div,{ref:t,...a,"cmdk-loading":``,role:`progressbar`,"aria-valuenow":n,"aria-valuemin":0,"aria-valuemax":100,"aria-label":i},Sz(e,e=>g.createElement(`div`,{"aria-hidden":!0},e)))}),fz=Object.assign(rz,{List:cz,Item:iz,Input:sz,Group:az,Separator:oz,Dialog:lz,Empty:uz,Loading:dz});function pz(e,t){let n=e.nextElementSibling;for(;n;){if(n.matches(t))return n;n=n.nextElementSibling}}function mz(e,t){let n=e.previousElementSibling;for(;n;){if(n.matches(t))return n;n=n.previousElementSibling}}function hz(e){let t=g.useRef(e);return gz(()=>{t.current=e}),t}var gz=typeof window>`u`?g.useEffect:g.useLayoutEffect;function _z(e){let t=g.useRef();return t.current===void 0&&(t.current=e()),t}function vz(e){let t=tz(),n=()=>e(t.snapshot());return g.useSyncExternalStore(t.subscribe,n,n)}function yz(e,t,n,r=[]){let i=g.useRef(),a=$R();return gz(()=>{var o;let s=(()=>{for(let e of n){if(typeof e==`string`)return e.trim();if(typeof e==`object`&&`current`in e)return e.current?e.current.textContent?.trim():i.current}})(),c=r.map(e=>e.trim());a.value(e,s,c),(o=t.current)==null||o.setAttribute(XR,s),i.current=s}),i}var bz=()=>{let[e,t]=g.useState(),n=_z(()=>new Map);return gz(()=>{n.current.forEach(e=>e()),n.current=new Map},[e]),(e,r)=>{n.current.set(e,r),t({})}};function xz(e){let t=e.type;return typeof t==`function`?t(e.props):`render`in t?t.render(e.props):e}function Sz({asChild:e,children:t},n){return e&&g.isValidElement(t)?g.cloneElement(xz(t),{ref:t.ref},n(t.props.children)):n(t)}var Cz={position:`absolute`,width:`1px`,height:`1px`,padding:`0`,margin:`-1px`,overflow:`hidden`,clip:`rect(0, 0, 0, 0)`,whiteSpace:`nowrap`,borderWidth:`0`};function wz({ariaLabel:e,items:t,selectedIds:n,getId:r,getLabel:i,getDescription:a=()=>``,getGroup:o,onChange:s,searchPlaceholder:c=`搜索`,emptyMessage:l=`没有匹配项`,disabledIds:u=[]}){let[d,f]=(0,g.useState)(!1),[p,m]=(0,g.useState)(!1),h=(0,g.useMemo)(()=>new Set(u),[u]),_=(0,g.useMemo)(()=>new Set(n),[n]),y=t.filter(e=>_.has(r(e))),b=p?y:t,x=b.map(r).filter(e=>!h.has(e)),S=x.length>0&&x.every(e=>_.has(e));function C(){s(S?n.filter(e=>!x.includes(e)):[...new Set([...n,...x])])}function w(e){h.has(e)||s(_.has(e)?n.filter(t=>t!==e):[...n,e])}return(0,v.jsxs)(`div`,{className:`studio-multi-select`,children:[(0,v.jsxs)(`div`,{className:`studio-multi-select-summary`,children:[(0,v.jsx)(`span`,{children:n.length?`已选 ${n.length} 个`:`尚未选择`}),n.length?(0,v.jsx)(`button`,{className:`text-button`,type:`button`,onClick:()=>s([]),children:`清空`}):null]}),(0,v.jsx)(`div`,{className:`studio-multi-select-selection`,"data-testid":`studio-multi-select-selection`,children:y.map(e=>{let t=r(e),n=i(e);return(0,v.jsxs)(`span`,{className:`studio-selection-chip`,children:[(0,v.jsx)(`span`,{title:n,children:n}),h.has(t)?null:(0,v.jsx)(`button`,{type:`button`,"aria-label":`移除 ${n}`,onClick:()=>w(t),children:(0,v.jsx)(Sm,{size:12})})]},t)})}),(0,v.jsxs)(TR,{open:d,onOpenChange:f,children:[(0,v.jsx)(ER,{asChild:!0,children:(0,v.jsxs)(`button`,{className:`studio-multi-select-trigger`,type:`button`,"aria-label":e,"aria-expanded":d,children:[(0,v.jsx)(`span`,{children:n.length?`继续选择`:e}),(0,v.jsx)(qf,{size:15})]})}),(0,v.jsx)(DR,{children:(0,v.jsx)(OR,{className:`studio-multi-select-popover`,align:`start`,sideOffset:6,collisionPadding:12,children:(0,v.jsxs)(fz,{loop:!0,label:c,children:[(0,v.jsxs)(`div`,{className:`studio-command-search`,children:[(0,v.jsx)(nm,{size:14,"aria-hidden":`true`}),(0,v.jsx)(fz.Input,{"aria-label":c,placeholder:c,autoFocus:!0})]}),(0,v.jsxs)(`div`,{className:`studio-multi-select-tools`,children:[(0,v.jsx)(`button`,{type:`button`,onClick:C,disabled:!x.length,children:S?`取消全选`:`全选当前`}),(0,v.jsx)(`button`,{className:p?`selected`:``,type:`button`,"aria-pressed":p,onClick:()=>m(e=>!e),children:`仅看已选`}),(0,v.jsxs)(`span`,{children:[b.length,` 项`]})]}),(0,v.jsxs)(fz.List,{className:`studio-command-list`,children:[(0,v.jsx)(fz.Empty,{children:l}),b.map((e,t)=>{let n=r(e),s=i(e),c=a(e),l=_.has(n),u=h.has(n),d=o?.(e),f=t>0?o?.(b[t-1]):void 0;return(0,v.jsxs)(g.Fragment,{children:[d&&d!==f?(0,v.jsx)(`div`,{className:`studio-multi-select-group`,role:`presentation`,children:d}):null,(0,v.jsxs)(fz.Item,{value:`${s} ${c} ${n}`,disabled:u,onSelect:()=>w(n),children:[(0,v.jsx)(`span`,{className:`studio-option-check`,role:`checkbox`,"aria-checked":l,children:l?(0,v.jsx)(Kf,{size:13}):null}),(0,v.jsxs)(`span`,{className:`studio-option-copy`,children:[(0,v.jsx)(`strong`,{children:s}),c?(0,v.jsx)(`small`,{children:c}):null]})]})]},n)})]})]})})})]})]})}async function Tz(e){let t=await e.json();if(!e.ok||t.error)throw Error(t.error?.message||`插件加载失败`);return t}function Ez({value:e,onChange:t,onPendingChange:n}){let[r,i]=(0,g.useState)([]),[a,o]=(0,g.useState)(!0),[s,c]=(0,g.useState)(!1),[l,u]=(0,g.useState)(``),d=(0,g.useRef)(!0);(0,g.useEffect)(()=>{d.current=!0;let e=new AbortController;return(async()=>{try{let t=((await Tz(await q(`/api/v1/plugin-ecosystems/codex/plugins?installed_only=true`,{signal:e.signal}))).items||[]).filter(e=>e.installed&&e.enabled),n=await Promise.allSettled(t.map(async t=>{let n=await Tz(await q(`/api/v1/plugin-ecosystems/codex/plugins/${encodeURIComponent(t.pluginId)}`,{signal:e.signal}));return{...t,snapshot:n.snapshot||void 0}}));if(e.signal.aborted)return;i(n.flatMap(e=>e.status===`fulfilled`?[e.value]:[])),n.some(e=>e.status===`rejected`)&&u(`部分插件未能加载;已有绑定保持不变,请稍后重新打开此分区。`)}catch(t){e.signal.aborted||u(t instanceof Error?t.message:`插件加载失败`)}finally{e.signal.aborted||o(!1)}})(),()=>{d.current=!1,e.abort()}},[]);let f=[...r.map(e=>({...e,key:e.snapshot?.pluginRef||e.pluginId})),...e.filter(e=>!r.some(t=>t.snapshot?.pluginRef===e.pluginRef)).map(e=>({key:e.pluginRef,pluginId:e.pluginRef,displayName:e.pluginRef,snapshot:void 0}))];async function p(r){if(s)return;let a=r.filter(t=>!e.some(e=>e.enabled&&e.pluginRef===t));c(!0),n(!0),u(``);try{let n=e.filter(e=>!e.enabled&&!a.includes(e.pluginRef)||e.enabled&&r.includes(e.pluginRef));for(let t of a){let r=f.find(e=>e.key===t);if(!r)throw Error(`插件已不可用,请刷新后重试`);let a=r.snapshot||(await Tz(await q(`/api/v1/plugin-ecosystems/codex/plugins/${encodeURIComponent(r.pluginId)}:snapshot`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({marketplaceName:`marketplaceName`in r?r.marketplaceName:void 0})}))).snapshot,o=a.components.filter(e=>e.kind!==`hook`).map(e=>e.id);if(!o.length)throw Error(`此插件没有当前 Runtime 支持的组件`);let s=e.find(e=>e.pluginRef===a.pluginRef);n.push(s?{...s,enabled:!0}:{ecosystem:`codex`,pluginRef:a.pluginRef,snapshotDigest:a.snapshotDigest,components:o,enabled:!0,config:{}}),d.current&&i(e=>e.map(e=>e.pluginId===r.pluginId?{...e,snapshot:a}:e))}d.current&&t(n)}catch(e){d.current&&u(e instanceof Error?e.message:`插件绑定失败`)}finally{d.current&&c(!1),n(!1)}}return(0,v.jsxs)(`div`,{className:`field quick-model-binding-field`,children:[(0,v.jsxs)(`div`,{className:`field-heading`,children:[(0,v.jsx)(`label`,{children:`绑定插件`}),(0,v.jsx)(`span`,{className:`helper`,children:`选择此 Agent 使用的已安装插件。保存并生成配置快照后,在新会话中生效。`})]}),a?(0,v.jsx)(`p`,{role:`status`,children:`正在加载已安装插件…`}):(0,v.jsx)(wz,{ariaLabel:`选择绑定插件`,items:f,selectedIds:e.filter(e=>e.enabled).map(e=>e.pluginRef),getId:e=>e.key,getLabel:e=>e.displayName,getDescription:e=>e.snapshot?`${e.snapshot.components.filter(e=>e.kind!==`hook`).length} 项能力`:`绑定时保存插件快照`,onChange:e=>void p(e),disabledIds:s?f.map(e=>e.key):[],searchPlaceholder:`搜索插件`,emptyMessage:`没有已启用的插件,请先在插件页安装`}),s&&(0,v.jsx)(`p`,{role:`status`,children:`正在准备插件…`}),l&&(0,v.jsx)(`p`,{className:`inline-alert error`,role:`alert`,children:l})]})}var Dz=[{kind:`knowledge-base`,label:`知识库`,description:`绑定一个云端知识库,由 Agent 通过只读检索工具使用。`,empty:`没有可用知识库`,icon:fp},{kind:`memory-instance`,label:`记忆库`,description:`绑定一个长期记忆实例;启用 Memory 策略后用于召回与写入。`,empty:`没有可用记忆实例`,icon:Uf},{kind:`skill-space`,label:`Skill Center`,description:`选择云端 Skill Space。这里展示空间名称,与本地已安装 Skill 分开管理。`,empty:`没有可用 Skill Space`,icon:sm}],Oz=[{kind:`model`,label:`模型`},{kind:`tool`,label:`Tool`},{kind:`mcp`,label:`MCP`},{kind:`skill`,label:`本地 Skill`},{kind:`knowledge-base`,label:`知识库`},{kind:`memory-instance`,label:`记忆库`},{kind:`skill-space`,label:`Skill Center`}],kz=new Set([`kingsoftcloud.dsh-knowledge`,`kingsoftcloud.dsh-memory`,`kingsoftcloud.dsh-skill-center`]);function Az(e){return e.replace(/^plugin:\/\//,``).replace(/@[^@]+$/,``)}function jz(e){return e.config?.binding?.resource?.kind||``}async function Mz(e,t){let n=await e.json().catch(()=>null);if(!e.ok)throw Error(n?.error?.message||`${t}(${e.status})`);return n}function Nz({value:e,onChange:t,onPendingChange:n}){let[r,i]=(0,g.useState)({}),[a,o]=(0,g.useState)(!0),[s,c]=(0,g.useState)(!1),[l,u]=(0,g.useState)(``),d=(0,g.useCallback)(async()=>{o(!0),u(``);try{let e=await Promise.all(Dz.map(async e=>Mz(await q(`/api/v1/platform-resources?kind=${encodeURIComponent(e.kind)}`),`${e.label}加载失败`)));i(Object.fromEntries(e.map(e=>[e.kind,e])))}catch(e){u(e instanceof Error?e.message:`平台资源加载失败`)}finally{o(!1)}},[]);(0,g.useEffect)(()=>{d()},[d]);let f=(0,g.useMemo)(()=>Dz.map(e=>r[e.kind]?.connectionRef).find(Boolean)||null,[r]);async function p(){if(!s){c(!0),n?.(!0),u(``);try{await Mz(await q(`/api/v1/resource-connections:bootstrap`,{method:`POST`}),`平台连接失败`),await d()}catch(e){u(e instanceof Error?e.message:`平台连接失败`)}finally{c(!1),n?.(!1)}}}function m(n,i){let a=r[n];if(!a?.connectionRef){u(`请先连接金山云平台资源,再选择要绑定的资源。`);return}let o=e.filter(e=>jz(e)!==n);if(!i){t(o);return}let s=a.items.find(e=>e.id===i);if(!s||s.disabled)return;let c={schemaVersion:1,binding:{id:`platform-${n}`,connectionRef:a.connectionRef,resource:{kind:n,id:s.id,region:s.region},required:!0}};n===`knowledge-base`&&(c.retrieval={mode:`tool`,topK:5,maxChars:16e3}),n===`skill-space`&&Object.assign(c,{selectionMode:`discovery`,selectedSkills:[],includePublic:!1,executionMode:`outer-agent`}),t([...o,{ecosystem:`dsh`,pluginRef:a.pluginRef,snapshotDigest:a.pluginSnapshotDigest,components:[a.componentId],enabled:!0,config:c}])}let h=e.filter(e=>kz.has(Az(e.pluginRef)));return(0,v.jsxs)(`div`,{className:`platform-resource-bindings`,children:[(0,v.jsxs)(`div`,{className:`platform-resource-heading`,children:[(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`strong`,{children:`平台资源`}),(0,v.jsx)(`span`,{children:`资源选择写入 Agent Revision,构建时锁定连接、资源 ID 与插件摘要。`})]}),!f&&(0,v.jsxs)(`button`,{className:`button secondary small`,type:`button`,disabled:s,onClick:()=>void p(),children:[(0,v.jsx)(Zp,{size:14}),s?`连接中…`:`连接金山云`]})]}),a?(0,v.jsx)(`p`,{role:`status`,children:`正在加载知识库、记忆库和 Skill Center…`}):Dz.map(e=>{let t=r[e.kind],n=h.find(t=>jz(t)===e.kind),i=String((n?.config)?.binding?.resource?.id||``),a=e.icon;return(0,v.jsxs)(`div`,{className:`platform-resource-field`,children:[(0,v.jsxs)(`div`,{className:`capability-heading`,children:[(0,v.jsx)(`span`,{className:`capability-icon`,children:(0,v.jsx)(a,{size:15})}),(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`h3`,{children:e.label}),(0,v.jsx)(`p`,{children:e.description})]})]}),(0,v.jsx)(Wk,{ariaLabel:`选择${e.label}`,value:i,placeholder:f?`选择${e.label}`:`请先连接金山云`,options:(t?.items||[]).map(e=>({value:e.id,label:e.name,description:e.disabled?e.disableReason||`当前不可绑定`:`${e.region} · ${e.status}`,disabled:e.disabled})),onValueChange:t=>m(e.kind,t)}),!t?.items.length&&(0,v.jsx)(`span`,{className:`helper`,children:e.empty}),i&&(0,v.jsx)(`button`,{className:`text-button`,type:`button`,onClick:()=>m(e.kind,``),children:`解除绑定`})]},e.kind)}),l&&(0,v.jsx)(`p`,{className:`inline-alert error`,role:`alert`,children:l})]})}function Pz({kind:e,onKindChange:t,refreshTick:n}){let[r,i]=(0,g.useState)(null),[a,o]=(0,g.useState)(!0),[s,c]=(0,g.useState)(!1),[l,u]=(0,g.useState)(``),d=Dz.find(t=>t.kind===e),f=d.icon,p=(0,g.useCallback)(async()=>{o(!0),u(``);try{i(await Mz(await q(`/api/v1/platform-resources?kind=${encodeURIComponent(e)}`),`${d.label}加载失败`))}catch(e){i(null),u(e instanceof Error?e.message:`${d.label}加载失败`)}finally{o(!1)}},[e,d.label]);(0,g.useEffect)(()=>{p()},[p,n]);async function m(){if(!s){c(!0),u(``);try{await Mz(await q(`/api/v1/resource-connections:bootstrap`,{method:`POST`}),`平台连接失败`),await p()}catch(e){u(e instanceof Error?e.message:`平台连接失败`)}finally{c(!1)}}}return(0,v.jsxs)(`div`,{className:`page-container resources-page`,"data-layout":`data`,"data-scroll-mode":`data`,children:[(0,v.jsx)(Fz,{connected:!!r?.connectionRef,connecting:s,onConnect:()=>void m()}),(0,v.jsxs)(`div`,{className:`data-page-body table-data-body`,children:[(0,v.jsx)(`div`,{className:`page-tabs`,role:`tablist`,"aria-label":`资源类型`,children:Oz.map(n=>(0,v.jsxs)(`button`,{type:`button`,role:`tab`,"aria-selected":e===n.kind,onClick:()=>t(n.kind),children:[n.label,e===n.kind&&r?(0,v.jsx)(`span`,{className:`n`,children:r.total}):null]},n.kind))}),(0,v.jsxs)(`div`,{className:`platform-resource-heading`,children:[(0,v.jsxs)(`div`,{children:[(0,v.jsxs)(`strong`,{children:[(0,v.jsx)(f,{size:16}),` `,d.label]}),(0,v.jsx)(`span`,{children:d.description})]}),(0,v.jsx)(`button`,{className:`button secondary small`,type:`button`,onClick:()=>void p(),children:`刷新`})]}),!r?.connectionRef&&!a&&(0,v.jsx)(`div`,{className:`inline-alert warning`,role:`status`,children:(0,v.jsx)(`span`,{children:`资源列表已从当前云账号读取。绑定到 Agent 前,请点击“连接金山云”建立只含凭据引用的本地连接声明。`})}),l&&(0,v.jsx)(`div`,{className:`inline-alert error`,role:`alert`,children:l}),a?(0,v.jsxs)(`p`,{role:`status`,children:[`正在加载`,d.label,`…`]}):(0,v.jsxs)(`div`,{className:`platform-resource-grid`,children:[(r?.items||[]).map(e=>(0,v.jsxs)(`article`,{className:`platform-resource-card`,children:[(0,v.jsxs)(`header`,{children:[(0,v.jsx)(`strong`,{children:e.name}),(0,v.jsx)(`span`,{className:`status-badge`,"data-status":e.disabled?`invalid`:`ready`,children:e.disabled?`不可绑定`:e.status||`可用`})]}),(0,v.jsx)(`p`,{children:e.region||`未返回区域`}),(0,v.jsx)(`p`,{className:`mono`,children:e.id}),e.disableReason&&(0,v.jsx)(`p`,{children:e.disableReason})]},e.id)),!r?.items.length&&(0,v.jsxs)(`div`,{className:`empty-state`,children:[(0,v.jsx)(f,{size:22}),(0,v.jsx)(`strong`,{children:d.empty})]})]})]})]})}function Fz({connected:e,connecting:t,onConnect:n}){return(0,v.jsx)(FT,{children:(0,v.jsxs)(`button`,{className:`button accent`,type:`button`,disabled:e||t,onClick:n,children:[(0,v.jsx)(Zp,{size:14}),e?`平台已连接`:t?`连接中…`:`连接金山云`]})})}var Iz=Object.defineProperty,Lz=g.forwardRef(((e,t)=>Iz(e,`name`,{value:t,configurable:!0}))(function(e,t){return(0,v.jsx)(Th.label,{...e,ref:t,onMouseDown:t=>{t.target.closest(`button, input, select, textarea`)||(e.onMouseDown?.(t),!t.defaultPrevented&&t.detail>1&&t.preventDefault())}})},`Label`)),Rz=Object.defineProperty,zz=(e,t)=>Rz(e,`name`,{value:t,configurable:!0}),[Bz,Gre]=Vm(`Tooltip`,[rC]),Vz=rC(),Hz=`TooltipProvider`,Uz=700,Wz=`tooltip.open`,[Gz,Kz]=Bz(Hz),qz=zz(e=>{let{__scopeTooltip:t,delayDuration:n=Uz,skipDelayDuration:r=300,disableHoverableContent:i=!1,children:a}=e,o=g.useRef(!0),s=g.useRef(!1),c=g.useRef(0);return g.useEffect(()=>{let e=c.current;return()=>window.clearTimeout(e)},[]),(0,v.jsx)(Gz,{scope:t,isOpenDelayedRef:o,delayDuration:n,onOpen:g.useCallback(()=>{r<=0||(window.clearTimeout(c.current),o.current=!1)},[r]),onClose:g.useCallback(()=>{r<=0||(window.clearTimeout(c.current),c.current=window.setTimeout(()=>o.current=!0,r))},[r]),isPointerInTransitRef:s,onPointerInTransitChange:g.useCallback(e=>{s.current=e},[]),disableHoverableContent:i,children:a})},`TooltipProvider`),Jz=`Tooltip`,[Yz,Xz]=Bz(Jz),Zz=zz(e=>{let{__scopeTooltip:t,children:n,open:r,defaultOpen:i,onOpenChange:a,disableHoverableContent:o,delayDuration:s}=e,c=Kz(Jz,e.__scopeTooltip),l=Vz(t),[u,d]=g.useState(null),[f,p]=g.useState(void 0),m=Jm(),h=g.useRef(0),_=o??c.disableHoverableContent,y=s??c.delayDuration,b=g.useRef(!1),[x,S]=rh({prop:r,defaultProp:i??!1,onChange:zz(e=>{e?(c.onOpen(),document.dispatchEvent(new CustomEvent(Wz))):c.onClose(),a?.(e)},`onChange`),caller:Jz}),C=g.useMemo(()=>x?b.current?`delayed-open`:`instant-open`:`closed`,[x]),w=g.useCallback(()=>{window.clearTimeout(h.current),h.current=0,b.current=!1,S(!0)},[S]),T=g.useCallback(()=>{window.clearTimeout(h.current),h.current=0,S(!1)},[S]),E=g.useCallback(()=>{window.clearTimeout(h.current),h.current=window.setTimeout(()=>{b.current=!0,S(!0),h.current=0},y)},[y,S]);g.useEffect(()=>()=>{h.current&&=(window.clearTimeout(h.current),0)},[]);let D=f??m;return(0,v.jsx)(yC,{...l,children:(0,v.jsx)(Yz,{scope:t,contentId:D,setContentId:p,open:x,stateAttribute:C,trigger:u,onTriggerChange:d,onTriggerEnter:g.useCallback(()=>{c.isOpenDelayedRef.current?E():w()},[c.isOpenDelayedRef,E,w]),onTriggerLeave:g.useCallback(()=>{_?T():(window.clearTimeout(h.current),h.current=0)},[T,_]),onOpen:w,onClose:T,disableHoverableContent:_,children:n})})},`Tooltip`),Qz=`TooltipTrigger`,$z=g.forwardRef(zz(function(e,t){let{__scopeTooltip:n,...r}=e,i=Xz(Qz,n),a=Kz(Qz,n),o=Vz(n),s=Lm(t,g.useRef(null),i.onTriggerChange),c=g.useRef(!1),l=g.useRef(!1),u=g.useCallback(()=>c.current=!1,[]);return g.useEffect(()=>()=>document.removeEventListener(`pointerup`,u),[u]),(0,v.jsx)(bC,{asChild:!0,...o,children:(0,v.jsx)(Th.button,{"aria-describedby":i.open?i.contentId:void 0,"data-state":i.stateAttribute,...r,ref:s,onPointerMove:Om(e.onPointerMove,e=>{e.pointerType!==`touch`&&!l.current&&!a.isPointerInTransitRef.current&&(i.onTriggerEnter(),l.current=!0)}),onPointerLeave:Om(e.onPointerLeave,()=>{i.onTriggerLeave(),l.current=!1}),onPointerDown:Om(e.onPointerDown,()=>{i.open&&i.onClose(),c.current=!0,document.addEventListener(`pointerup`,u,{once:!0})}),onFocus:Om(e.onFocus,()=>{c.current||i.onOpen()}),onBlur:Om(e.onBlur,i.onClose),onClick:Om(e.onClick,i.onClose)})})},`TooltipTrigger`)),eB=`TooltipPortal`,[tB,nB]=Bz(eB,{forceMount:void 0}),rB=zz(e=>{let{__scopeTooltip:t,forceMount:n,children:r,container:i}=e,a=Xz(eB,t);return(0,v.jsx)(tB,{scope:t,forceMount:n,children:(0,v.jsx)(fg,{present:n||a.open,children:(0,v.jsx)(cg,{asChild:!0,container:i,children:r})})})},`TooltipPortal`),iB=`TooltipContent`,aB=g.forwardRef(zz(function(e,t){let n=nB(iB,e.__scopeTooltip),{forceMount:r=n.forceMount,side:i=`top`,...a}=e,o=Xz(iB,e.__scopeTooltip);return(0,v.jsx)(fg,{present:r||o.open,children:o.disableHoverableContent?(0,v.jsx)(cB,{side:i,...a,ref:t}):(0,v.jsx)(oB,{side:i,...a,ref:t})})},`TooltipContent`)),oB=g.forwardRef(zz(function(e,t){let n=Xz(iB,e.__scopeTooltip),r=Kz(iB,e.__scopeTooltip),i=g.useRef(null),a=Lm(t,i),[o,s]=g.useState(null),{trigger:c,onClose:l}=n,u=i.current,{onPointerInTransitChange:d}=r,f=g.useCallback(()=>{s(null),d(!1)},[d]),p=g.useCallback((e,t)=>{let n=e.currentTarget,r={x:e.clientX,y:e.clientY},i=dB(r,uB(r,n.getBoundingClientRect())),a=fB(t.getBoundingClientRect()),o=mB([...i,...a]);s(o),d(!0)},[d]);return g.useEffect(()=>()=>f(),[f]),g.useEffect(()=>{if(c&&u){let e=zz(e=>p(e,u),`handleTriggerLeave`),t=zz(e=>p(e,c),`handleContentLeave`);return c.addEventListener(`pointerleave`,e),u.addEventListener(`pointerleave`,t),()=>{c.removeEventListener(`pointerleave`,e),u.removeEventListener(`pointerleave`,t)}}},[c,u,p,f]),g.useEffect(()=>{if(o){let e=zz(e=>{let t=e.target,n={x:e.clientX,y:e.clientY},r=c?.contains(t)||u?.contains(t),i=!pB(n,o);r?f():i&&(f(),l())},`handleTrackPointerGrace`);return document.addEventListener(`pointermove`,e),()=>document.removeEventListener(`pointermove`,e)}},[c,u,o,l,f]),(0,v.jsx)(cB,{...e,ref:a})},`TooltipContentHoverable`)),sB=fh(`TooltipContent`),cB=g.forwardRef(zz(function(e,t){let{__scopeTooltip:n,children:r,"aria-label":i,id:a,onEscapeKeyDown:o,onPointerDownOutside:s,...c}=e,l=Xz(iB,n),u=Vz(n),{onClose:d}=l;g.useEffect(()=>(document.addEventListener(Wz,d),()=>document.removeEventListener(Wz,d)),[d]),g.useEffect(()=>{if(l.trigger){let e=zz(e=>{e.target instanceof Node&&e.target.contains(l.trigger)&&d()},`handleScroll`);return window.addEventListener(`scroll`,e,{capture:!0}),()=>window.removeEventListener(`scroll`,e,{capture:!0})}},[l.trigger,d]);let{setContentId:f}=l;return Um(()=>(f(a),()=>{f(void 0)}),[a,f]),(0,v.jsx)(Lh,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:o,onPointerDownOutside:s,onFocusOutside:e=>e.preventDefault(),onDismiss:d,children:(0,v.jsxs)(xC,{"data-state":l.stateAttribute,role:i?void 0:`tooltip`,id:i?void 0:l.contentId,...u,...c,ref:t,style:{...c.style,"--radix-tooltip-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-tooltip-content-available-width":`var(--radix-popper-available-width)`,"--radix-tooltip-content-available-height":`var(--radix-popper-available-height)`,"--radix-tooltip-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-tooltip-trigger-height":`var(--radix-popper-anchor-height)`},children:[(0,v.jsx)(sB,{children:r}),i?(0,v.jsx)(zO,{id:l.contentId,role:`tooltip`,children:i}):null]})})},`TooltipContentImpl`)),lB=g.forwardRef(zz(function(e,t){let{__scopeTooltip:n,...r}=e,i=Vz(n);return(0,v.jsx)(SC,{...i,...r,ref:t})},`TooltipArrow`));function uB(e,t){let n=Math.abs(t.top-e.y),r=Math.abs(t.bottom-e.y),i=Math.abs(t.right-e.x),a=Math.abs(t.left-e.x);switch(Math.min(n,r,i,a)){case a:return`left`;case i:return`right`;case n:return`top`;case r:return`bottom`;default:throw Error(`unreachable`)}}zz(uB,`getExitSideFromRect`);function dB(e,t,n=5){let r=[];switch(t){case`top`:r.push({x:e.x-n,y:e.y+n},{x:e.x+n,y:e.y+n});break;case`bottom`:r.push({x:e.x-n,y:e.y-n},{x:e.x+n,y:e.y-n});break;case`left`:r.push({x:e.x+n,y:e.y-n},{x:e.x+n,y:e.y+n});break;case`right`:r.push({x:e.x-n,y:e.y-n},{x:e.x-n,y:e.y+n})}return r}zz(dB,`getPaddedExitPoints`);function fB(e){let{top:t,right:n,bottom:r,left:i}=e;return[{x:i,y:t},{x:n,y:t},{x:n,y:r},{x:i,y:r}]}zz(fB,`getPointsFromRect`);function pB(e,t){let{x:n,y:r}=e,i=!1;for(let e=0,a=t.length-1;e<t.length;a=e++){let o=t[e],s=t[a],c=o.x,l=o.y,u=s.x,d=s.y;l>r!=d>r&&n<(u-c)*(r-l)/(d-l)+c&&(i=!i)}return i}zz(pB,`isPointInPolygon`);function mB(e){let t=e.slice();return t.sort((e,t)=>e.x<t.x?-1:e.x>t.x?1:e.y<t.y?-1:+(e.y>t.y)),hB(t)}zz(mB,`getHull`);function hB(e){if(e.length<=1)return e.slice();let t=[];for(let n=0;n<e.length;n++){let r=e[n];for(;t.length>=2;){let e=t[t.length-1],n=t[t.length-2];if((e.x-n.x)*(r.y-n.y)>=(e.y-n.y)*(r.x-n.x))t.pop();else break}t.push(r)}t.pop();let n=[];for(let t=e.length-1;t>=0;t--){let r=e[t];for(;n.length>=2;){let e=n[n.length-1],t=n[n.length-2];if((e.x-t.x)*(r.y-t.y)>=(e.y-t.y)*(r.x-t.x))n.pop();else break}n.push(r)}return n.pop(),t.length===1&&n.length===1&&t[0].x===n[0].x&&t[0].y===n[0].y?t:t.concat(n)}zz(hB,`getHullPresorted`);var gB=qz,_B=Zz,vB=$z,yB=rB,bB=aB,xB=lB,SB={required:`*`,optional:``,generated:`自动生成`};function CB({children:e,htmlFor:t,requirement:n,hint:r}){return(0,v.jsxs)(`div`,{className:`studio-field-label-row`,children:[(0,v.jsxs)(Lz,{className:`studio-field-label`,htmlFor:t,children:[(0,v.jsx)(`span`,{children:e}),n&&SB[n]?(0,v.jsxs)(`span`,{className:`studio-field-requirement ${n}`,children:[(0,v.jsx)(`span`,{"aria-hidden":`true`,children:SB[n]}),n===`required`&&(0,v.jsx)(`span`,{className:`sr-only`,children:`必填`})]}):null]}),r?(0,v.jsx)(gB,{delayDuration:240,children:(0,v.jsxs)(_B,{children:[(0,v.jsx)(vB,{asChild:!0,children:(0,v.jsx)(`button`,{className:`field-help-trigger`,type:`button`,"aria-label":`${String(e)}说明`,onClick:e=>e.preventDefault(),children:(0,v.jsx)(np,{size:14})})}),(0,v.jsx)(yB,{children:(0,v.jsxs)(bB,{className:`studio-tooltip field-help-tooltip`,side:`top`,sideOffset:7,children:[r,(0,v.jsx)(xB,{className:`studio-tooltip-arrow`})]})})]})}):null]})}function wB({id:e,children:t}){return(0,v.jsx)(`p`,{className:`studio-field-error`,id:e,role:`alert`,children:t})}function Y({label:e,requirement:t,hint:n,error:r,htmlFor:i,children:a,className:o,footer:s}){let c=(0,g.useId)(),l=n?`${c}-hint`:void 0,u=r?`${c}-error`:void 0,d=[l,u].filter(Boolean).join(` `)||void 0,f=a;if((0,g.isValidElement)(a)){let e=a,t=typeof e.props[`aria-describedby`]==`string`?e.props[`aria-describedby`]:void 0;f=(0,g.cloneElement)(e,{"aria-describedby":[t,d].filter(Boolean).join(` `)||void 0,"aria-invalid":r?!0:e.props[`aria-invalid`]})}return(0,v.jsxs)(`div`,{className:`studio-form-field${r?` has-error`:``}${o?` ${o}`:``}`,children:[(0,v.jsx)(CB,{htmlFor:i,requirement:t,hint:n,children:e}),(0,v.jsx)(`div`,{className:`studio-field-control`,children:f}),s?(0,v.jsx)(`div`,{className:`studio-field-footer`,children:s}):null,n?(0,v.jsx)(`span`,{className:`sr-only`,id:l,children:n}):null,r?(0,v.jsx)(wB,{id:u,children:r}):null]})}function TB(e){return(e.split(`.`).filter(Boolean).at(-1)||e).replace(/_([a-z])/g,(e,t)=>t.toUpperCase())}function EB(e){if(!e?.length)return null;let t=e[e.length-1];return typeof t==`string`?t:null}function DB(e,t,n){typeof t==`string`&&t.trim()&&typeof n==`string`&&n&&(e[TB(t)]=n)}function OB(e,t){if(!(!t||typeof t!=`object`||Array.isArray(t)))for(let[n,r]of Object.entries(t))typeof r==`string`?DB(e,n,r):Array.isArray(r)&&typeof r[0]==`string`&&DB(e,n,r[0])}function kB(e){if(!e||typeof e!=`object`)return null;let t=e,n={};OB(n,t.errors);let r=t.error;if(r&&typeof r==`object`&&!Array.isArray(r)){let e=r;if(typeof e.field==`string`&&typeof e.message==`string`)return{[e.field]:e.message};let t=e.fields;if(t&&typeof t==`object`&&!Array.isArray(t)){let e={},n=!1;for(let[r,i]of Object.entries(t))typeof i==`string`&&(e[r]=i,n=!0);if(n)return e}let i=e.details;if(Array.isArray(i))for(let e of i)DB(n,e.field||EB(e.loc),e.message);else i&&typeof i==`object`&&OB(n,i.fields)}return Object.keys(n).length?n:null}function AB(e,t){let n=kB(e);if(!n)return!1;for(let[e,r]of Object.entries(n))t(e,{type:`server`,message:r});return!0}function jB(e,t){return e.contract?.materialization===`dsh-profile`?t===`harness`?(e.health?.toolCount??e.contract.discoveredTools?.length)===0?`此 Profile 当前没有可绑定的 MCP 工具。`:``:`当前 Runtime 尚未接入 DSH Profile MCP;插件设置和渠道服务无需绑定此项。`:``}var MB=GF().trim().min(1,`请填写 Agent 名称`).max(128,`Agent 名称不能超过 128 个字符`),NB=GF().trim().min(3,`本地标识至少填写 3 个字符`).max(63,`本地标识不能超过 63 个字符`).regex(/^[a-z][a-z0-9-]*$/,`本地标识只能包含小写字母、数字和连字符`),PB=jI([VI(``),NB]),FB=zI([`harness`,`codex`,`adk`,`langgraph`,`plugin`]),IB=zI([`harness`,`codex`,`adk`,`langgraph`]),LB=GF().trim().min(4,`系统提示词至少填写 4 个字符`).max(32768,`系统提示词不能超过 32768 个字符`),RB=GF().trim().min(4,`Agent 目标与要求至少填写 4 个字符`).max(32768,`Agent 目标与要求不能超过 32768 个字符`),zB=GF().trim().max(1024,`描述不能超过 1024 个字符`).default(``),BB={maxSteps:mI({error:`请填写最大步骤`}).int(`最大步骤须为整数`).min(1,`最大步骤至少为 1`).max(100,`最大步骤不能超过 100`).default(100),timeoutSeconds:mI({error:`请填写超时时间`}).int(`超时时间须为整数`).min(1,`超时时间至少为 1 秒`).max(3600,`超时时间不能超过 3600 秒`).default(600)},VB=OI({...BB,name:MB,slug:NB,runtimeType:FB,template:zI([`blank`,`research`]).default(`blank`),prompt:RB,description:zB,audience:GF().trim().max(256,`目标读者不能超过 256 个字符`).default(``),language:zI([`zh-CN`,`en-US`]).default(`zh-CN`),depth:zI([`focused`,`standard`,`deep`]).default(`deep`),format:zI([`report`,`brief`,`evidence-table`]).default(`report`),systemPrompt:GF().trim().min(4,`最终系统规则至少填写 4 个字符`).max(32768,`最终系统规则不能超过 32768 个字符`).default(``),taskPrompt:GF().max(32768,`任务契约不能超过 32768 个字符`).default(``),buildAfterCreate:vI().default(!0)}).superRefine((e,t)=>{e.template===`research`&&!e.audience&&t.addIssue({code:`custom`,path:[`audience`],message:`请填写目标读者`})}),HB=OI({name:MB,slug:NB,runtimeType:FB,prompt:LB,description:zB}),UB=OI({name:MB,slug:NB,runtimeType:IB,prompt:LB,description:zB.optional(),modelProfileId:GF().trim().min(3,`请选择用于构建的模型`).max(256).optional()}),WB=OI({name:MB,slug:PB.default(``)}),GB=OI({name:MB,slug:PB.default(``),path:GF().trim().min(1,`请选择项目目录`).max(4096,`项目路径不能超过 4096 个字符`)}),KB=/(?:secret|password|token|api[_-]?key)/i,qB=[`secret://`,`env://`,`credential://`,`vault://`];function JB(e,t=[]){let n=e.trim();if(!n)return{};let r;try{r=JSON.parse(n)}catch{throw Error(`Provider 配置必须是合法的 JSON 对象`)}if(!r||typeof r!=`object`||Array.isArray(r))throw Error(`Provider 配置必须是 JSON 对象`);let i=new Set(t.map(e=>e.replace(/^providerConfig\./,``).replace(/^\.+|\.+$/g,``)).filter(Boolean));return YB(r,`providerConfig`,[],i),r}function YB(e,t,n,r){if(Array.isArray(e)){e.forEach((e,i)=>YB(e,`${t}[${i}]`,[...n,String(i)],r));return}!e||typeof e!=`object`||Object.entries(e).forEach(([e,i])=>{let a=`${t}.${e}`,o=[...n,e],s=o.join(`.`),c=r.has(s)||[...r].some(t=>t.split(`.`).at(-1)===e);if((KB.test(e)||c)&&i!==null&&(typeof i!=`string`||!qB.some(e=>i.startsWith(e))))throw Error(`${a} 只能填写 Secret 引用,不能填写明文`);YB(i,a,o,r)})}function XB(e){let t=e.selectable?`已启用`:e.reason?.message||`不可用`;return`${e.pluginId}@${e.resolvedVersion} · ${t}`}function ZB(e){return e?JSON.stringify([e.providerRef,[...new Set(e.permissions)].sort()]):null}var QB=new Set([`SUCCEEDED`,`FAILED`,`CANCELLED`,`TIMED_OUT`]);function $B(e){return e?.contract?.model||e?.name||``}function eV(e){return e===`harness`?`通用智能体 · KsADK Harness`:e===`adk`?`ADKRuntimeAdapter`:e===`langgraph`?`LangGraphRuntimeAdapter`:e===`plugin`?`External AgentProvider`:`CodexRuntimeAdapter`}function tV(e){return e===`codex`||e===`harness`?{type:e}:{type:e,projectPath:`.`,entryPoint:e===`adk`?`agent.py`:`graph.py`,agentVariable:e===`adk`?`root_agent`:`app`}}function nV(e,t,n){let r=new Set(e.map(e=>e.resourceId));return[...e,...t.filter(e=>!r.has(e)).map(e=>({resourceId:e,kind:n,name:e,displayName:e,version:`历史绑定 · 未进入资源目录`,status:`unresolved`,...n===`model`?{contract:{model:e}}:{}}))]}function rV(e,t){let n=new Map((e||[]).map(e=>[e.resourceId,e]));return t.map(e=>n.get(e)||{resourceId:e,enabled:!0})}function iV(e){return e.split(/\r?\n/).map(e=>e.trim()).filter(Boolean)}async function aV(e){for(let t=0;t<1200;t+=1){let t=await q(`/api/v1/operations/${encodeURIComponent(e)}`),n=await t.json().catch(()=>null);if(!t.ok)throw Error(n?.error?.message||`构建状态获取失败(${t.status})`);if(QB.has(n.status)){if(n.status!==`SUCCEEDED`)throw Error(n.error?.message||`构建未完成`);return n}await new Promise(e=>window.setTimeout(e,200))}throw Error(`构建等待超时`)}function oV({agentId:e,catalog:t,providers:n=[],activeSection:r=1,onSaved:i,onAppearanceSaved:a,onCancel:o}){let[s,c]=(0,g.useState)(null),[l,u]=(0,g.useState)(!1),[d,f]=(0,g.useState)(!1),[p,m]=(0,g.useState)(``),h=Pj({resolver:Wj(HB),defaultValues:{name:``,slug:e,runtimeType:`codex`,prompt:``,description:``}}),_=h.reset,{name:y,slug:b,runtimeType:x,prompt:S}=h.watch(),[C,w]=(0,g.useState)(``),[T,E]=(0,g.useState)([]),[D,O]=(0,g.useState)(`strict`),[k,A]=(0,g.useState)([]),[j,M]=(0,g.useState)([]),[N,P]=(0,g.useState)([]),[F,I]=(0,g.useState)([]),[ee,L]=(0,g.useState)(!1),[te,R]=(0,g.useState)(r),[z,ne]=(0,g.useState)(`.`),[re,ie]=(0,g.useState)(``),[ae,B]=(0,g.useState)(`root_agent`),[V,H]=(0,g.useState)(``),[oe,se]=(0,g.useState)(null),[ce,le]=(0,g.useState)(!1),[ue,de]=(0,g.useState)([]),[U,fe]=(0,g.useState)(!1),[pe,me]=(0,g.useState)([]),[he,ge]=(0,g.useState)(!1),[_e,ve]=(0,g.useState)(`{}`),[ye,be]=(0,g.useState)(null),[xe,Se]=(0,g.useState)(`direct`),[Ce,we]=(0,g.useState)(100),[Te,Ee]=(0,g.useState)(600),[De,Oe]=(0,g.useState)(`auto`),[ke,Ae]=(0,g.useState)(`shadow`),[je,Me]=(0,g.useState)(!1),[Ne,Pe]=(0,g.useState)(``),[Fe,Ie]=(0,g.useState)(``),[Le,Re]=(0,g.useState)(``),[ze,Be]=(0,g.useState)(``),[Ve,He]=(0,g.useState)(!1),[Ue,We]=(0,g.useState)(!1),[Ge,Ke]=(0,g.useState)(`local-default`),[qe,Je]=(0,g.useState)(!0),[Ye,Xe]=(0,g.useState)(1600),[Ze,Qe]=(0,g.useState)(8),[$e,et]=(0,g.useState)(.45),[tt,nt]=(0,g.useState)(`candidate`),[rt,it]=(0,g.useState)(!0),[at,ot]=(0,g.useState)(`shadow`),[st,ct]=(0,g.useState)(!1),[lt,ut]=(0,g.useState)(!0),[dt,ft]=(0,g.useState)(!1),[pt,mt]=(0,g.useState)(``),ht=(0,g.useMemo)(()=>t.filter(e=>e.kind===`model`&&[`ready`,`missing-secret`].includes(e.status)),[t]),gt=(0,g.useMemo)(()=>t.filter(e=>e.kind===`skill`&&e.status===`ready`),[t]),_t=(0,g.useMemo)(()=>t.filter(e=>e.kind===`mcp`),[t]),vt=(0,g.useMemo)(()=>t.filter(e=>e.kind===`tool`&&e.status===`ready`&&[`builtin`,`python`].includes(e.contract?.executor||`builtin`)),[t]),yt=(0,g.useMemo)(()=>nV(ht,T,`model`),[ht,T]),bt=(0,g.useMemo)(()=>nV(gt,k,`skill`),[gt,k]),xt=(0,g.useMemo)(()=>nV(_t,j,`mcp`),[_t,j]),St=(0,g.useMemo)(()=>nV(vt,N,`tool`),[vt,N]),Ct=T.map(e=>yt.find(t=>t.resourceId===e)).filter(Boolean),wt=(0,g.useMemo)(()=>!V||n.some(e=>e.providerRef===V)?n:[{providerRef:V,pluginId:V,resolvedVersion:`历史版本`,displayName:V,state:`disabled`,compatible:!1,selectable:!1,reason:{code:`AGENT_PROVIDER_NOT_INSTALLED`,message:`该历史 Provider 当前未安装`},permissions:[],isolation:`process`,configSchemaDeclared:!1,secretFields:[]},...n],[V,n]),Tt=wt.find(e=>e.providerRef===V),Et=n.find(e=>e.providerRef===qk),Dt=x===`codex`?Et:x===`plugin`?Tt:void 0,Ot=JSON.stringify([e,x,ZB(Dt)]),kt=s?.draft.spec.runtime?.type===`codex`?qk:s?.draft.spec.runtime?.providerRef,At=new Set(s?.draft.spec.security?.allowedPermissions||[]),jt=ye?.key===Ot?ye.approved:!!(s?.draft.metadata.id===e&&Dt&&kt===Dt.providerRef&&Dt.permissions.every(e=>At.has(e))),Mt=e=>be({key:Ot,approved:e}),Nt=wt.map(e=>({value:e.providerRef,label:e.displayName,description:XB(e),disabled:!e.selectable}));(0,g.useEffect)(()=>{let t=!0;return c(null),m(``),q(`/api/v1/agents/${encodeURIComponent(e)}`).then(async n=>{let r=await n.json().catch(()=>null);if(!n.ok)throw Error(r?.error?.message||`Agent 加载失败(${n.status})`);if(!t)return;let i=r.draft,a=i.spec?.bindings||{},o=a.modelProfileIds?.length?a.modelProfileIds:a.modelProfileId?[a.modelProfileId]:[];c(r),u(!!r.draft?.spec?.security?.allowedPermissions?.includes(`process:host-user`)),f(!1),_({name:i.metadata.name||``,slug:i.metadata.id||e,runtimeType:i.spec?.runtime?.type||i.metadata.labels?.[`agentkit.ksyun.com/framework`]||`codex`,prompt:i.spec?.instructions?.system||``,description:i.spec?.description||``}),E(o),w(a.modelProfileId||o[0]||``),O(a.modelFailoverMode===`automatic`?`automatic`:`strict`),A((a.skills||[]).map(e=>e.resourceId)),M((a.mcpServers||[]).map(e=>e.resourceId)),P((a.tools||[]).map(e=>e.resourceId)),se(i.spec?.a2aOrchestration||null),le(!1),de(a.remoteAgents||[]),fe(!1),me(i.spec?.subAgents||[]),ge(!1),I(a.plugins||[]),ne(String(i.spec?.runtime?.projectPath||`.`)),ie(String(i.spec?.runtime?.entryPoint||(i.spec?.runtime?.type===`langgraph`?`graph.py`:`agent.py`))),B(String(i.spec?.runtime?.agentVariable||(i.spec?.runtime?.type===`langgraph`?`app`:`root_agent`))),H(String(i.spec?.runtime?.providerRef||``)),ve(JSON.stringify(i.spec?.runtime?.providerConfig||{},null,2)),Se(String(i.spec?.execution?.strategy||`direct`)),we(Number(i.spec?.execution?.maxSteps??100)),Ee(Number(i.spec?.execution?.timeoutSeconds??600)),Oe(String(i.spec?.context?.ownership||`auto`)),Ae(String(i.spec?.context?.rollout?.contextEngine||`shadow`)),Me(!!i.spec?.soul),Pe(String(i.spec?.soul?.identity||``)),Ie((i.spec?.soul?.principles||[]).join(`
|
|
198
|
+
`)),Re((i.spec?.soul?.boundaries||[]).join(`
|
|
199
|
+
`)),Be(String(i.spec?.soul?.tone||``)),He(!1),We(!!i.spec?.memory?.enabled),Ke(String(i.spec?.memory?.providerRef||`local-default`)),Je(i.spec?.memory?.recall?.enabled??!0),Xe(Number(i.spec?.memory?.recall?.maxTokens??1600)),Qe(Number(i.spec?.memory?.recall?.topK??8)),et(Number(i.spec?.memory?.recall?.minScore??.45)),nt(String(i.spec?.memory?.write?.mode||`candidate`)),it(i.spec?.memory?.write?.flushBeforeCompaction??!0),ot(String(i.spec?.context?.rollout?.memoryWrite||`shadow`)),ct(!1)}).catch(e=>{t&&m(e.message||`Agent 加载失败`)}),()=>{t=!1}},[e,_]),(0,g.useEffect)(()=>R(r),[r]),(0,g.useEffect)(()=>{if(!s||T.length||!ht.length)return;let e=s.draft.metadata.labels?.[`agentkit.ksyun.com/model`],t=ht.find(t=>$B(t)===e)?.resourceId;t&&(E([t]),w(t))},[s,ht,T.length]);function Pt(e){E(e),e.includes(C)||w(e[0]||``)}let Ft=ht.find(e=>e.resourceId===C)||Ct[0],It=[`harness`,`codex`,`plugin`].includes(x),Lt=x===`harness`?[{value:`auto`,label:`自动(推荐)`,description:`按 Harness 能力选择安全模式`},{value:`ksadk`,label:`KsADK 管理`,description:`统一规划、压缩和保护上下文`}]:x===`codex`?[{value:`auto`,label:`自动(推荐)`,description:`按 Codex Runtime 能力选择安全投影方式`},{value:`native`,label:`原生 Runtime 管理`,description:`由 Codex 管理最终模型上下文`}]:x===`langgraph`?[{value:`auto`,label:`自动(推荐)`,description:`按 Runtime 能力选择安全模式`},{value:`framework`,label:`框架管理`,description:`保留 LangGraph 原有上下文行为`},{value:`ksadk`,label:`KsADK 管理`,description:`统一规划、压缩和投影上下文`}]:[{value:`auto`,label:`自动(推荐)`,description:`按 Runtime 能力选择安全模式`},{value:`framework`,label:`框架管理`,description:`保留 ADK 原有上下文行为`}],Rt=s?.draft.metadata.labels?.[`agentkit.ksyun.com/model`]||`deepseek-v4.1-flash`,zt=x===`codex`&&T.length===0&&!!Rt,Bt=s?.draft.metadata.labels?.[`agentkit.ksyun.com/artifact-type`]===`ManagedRuntime`||x===`codex`,Vt=Ct.map($B).filter(Boolean),Ht=je?[` soul:`,` schemaVersion: agentkit.soul/v1`,` identity: |-`,...Ne.split(`
|
|
200
|
+
`).map(e=>` ${e}`),...iV(Fe).length?[` principles:`,...iV(Fe).map(e=>` - ${e}`)]:[],...iV(Le).length?[` boundaries:`,...iV(Le).map(e=>` - ${e}`)]:[],...ze.trim()?[` tone: |-`,...ze.split(`
|
|
201
|
+
`).map(e=>` ${e}`)]:[]]:[],Ut=je?[`soul:`,` schemaVersion: agentkit.soul/v1`,` identity: |-`,...Ne.split(`
|
|
202
|
+
`).map(e=>` ${e}`),...iV(Fe).length?[` principles:`,...iV(Fe).map(e=>` - ${e}`)]:[],...iV(Le).length?[` boundaries:`,...iV(Le).map(e=>` - ${e}`)]:[],...ze.trim()?[` tone: |-`,...ze.split(`
|
|
203
|
+
`).map(e=>` ${e}`)]:[],`soul_source: AgentSpec.soul`,`soul_digest: ${Ve?`<保存后重新计算>`:s?.soulProjection?.digest||`<保存后计算>`}`]:[],Wt=s?.soulProjection?.compileTarget||(x===`codex`?`managed-runtime.base_instructions`:x===`plugin`?`instructions/soul.md`:`resolved-agent-spec.instructions.system`),Gt=x===`codex`?[`name: ${b}`,`version: 1.0.0`,`framework: codex`,`artifact_type: ManagedRuntime`,`runtime:`,` name: codex`,...s?.draft.spec.runtime?.version?[` version: ${s.draft.spec.runtime.version}`]:[],`model: ${$B(Ft)||Rt}`,...Vt.length>1?[`models:`,...Vt.map(e=>` - ${e}`)]:[],...Ut,`prompt: |-`,...S.split(`
|
|
204
|
+
`).map(e=>` ${e}`)].join(`
|
|
205
|
+
`):x===`plugin`?[`apiVersion: agentkit.ksyun.com/v1alpha1`,`kind: Agent`,`metadata:`,` id: ${b}`,`spec:`,` runtime:`,` type: plugin`,` providerRef: ${V||`<未选择>`}`,` providerConfig: # Secret 仅保存引用`,..._e.split(`
|
|
206
|
+
`).map(e=>` ${e}`),...Ht,` instructions:`,` system: |-`,...S.split(`
|
|
207
|
+
`).map(e=>` ${e}`)].join(`
|
|
208
|
+
`):[`apiVersion: agentkit.ksyun.com/v1alpha1`,`kind: Agent`,`metadata:`,` id: ${b}`,`spec:`,` runtime:`,` type: ${x}`,...x===`harness`?[]:[` projectPath: ${z||`.`}`,` entryPoint: ${re||(x===`adk`?`agent.py`:`graph.py`)}`,` agentVariable: ${ae||(x===`adk`?`root_agent`:`app`)}`],...Ht,` instructions:`,` system: |-`,...S.split(`
|
|
209
|
+
`).map(e=>` ${e}`)].join(`
|
|
210
|
+
`);async function Kt(t){if(!s||dt||ee)return;let n=C||T[0]||``;if(!n&&!zt){mt(`请至少绑定一个模型并设置为默认模型`);return}if(je&&!Ne.trim()){mt(`启用 Soul 后必须填写身份定义`),R(1);return}if([`adk`,`langgraph`].includes(t.runtimeType)&&(!z.trim()||!re.trim()||!ae.trim())){mt(`请完整填写项目相对路径、入口文件和 Agent 变量`);return}if(t.runtimeType===`codex`&&Dt?.permissions.length&&!jt){mt(`请先确认 Codex Provider 请求的 Agent 权限`),R(1);return}let r={};if(t.runtimeType===`plugin`){if(!Tt?.selectable){mt(Tt?.reason?.message||`所选 AgentProvider 当前不可用`);return}try{r=JB(_e,Tt.secretFields)}catch(e){mt(e.message||`Provider 配置无效`);return}if(Tt.permissions.length&&!jt){mt(`请先确认 AgentProvider 请求的权限`);return}}if(!Number.isInteger(Ce)||Ce<1){mt(`兼容步骤提示必须是正整数`);return}if(!Number.isInteger(Te)||Te<1||Te>3600){mt(`超时秒数必须是 1 到 3600 的整数`);return}if(st&&(!Ge.trim()||!Number.isInteger(Ye)||Ye<0||!Number.isInteger(Ze)||Ze<1||Ze>64||!Number.isFinite($e)||$e<0||$e>1)){mt(`请检查 Memory Provider 与召回策略范围`),R(3);return}let a=_L(pe,t.runtimeType);if(a){mt(a),R(2);return}ft(!0),mt(``);let o=!1;try{let a=s.draft.spec,u=JSON.parse(JSON.stringify(a));if(t.runtimeType===`harness`&&d){let e=(u.security?.allowedPermissions||[]).filter(e=>e!==`process:host-user`);u.security={...u.security,allowedPermissions:l?[...e,`process:host-user`]:e}}if(u.runtime=t.runtimeType===`plugin`?{type:`plugin`,providerRef:Tt?.providerRef,providerConfig:r}:{...tV(t.runtimeType),...a.runtime||{},type:t.runtimeType,...[`adk`,`langgraph`].includes(t.runtimeType)?{projectPath:z.trim(),entryPoint:re.trim(),agentVariable:ae.trim()}:{}},Dt&&(u.security={...a.security||{},allowedPermissions:[...new Set([...a.security?.allowedPermissions||[],...Dt.permissions])].sort()}),u.instructions={...a.instructions||{},system:t.prompt.trim(),task:a.instructions?.task||``},Ve&&(u.soul=je?{schemaVersion:`agentkit.soul/v1`,identity:Ne.trim(),principles:iV(Fe),boundaries:iV(Le),tone:ze.trim()||null}:null),u.execution={...a.execution||{},strategy:xe,maxSteps:Ce,timeoutSeconds:Te},u.bindings={...a.bindings||{},modelProfileId:n||null,modelProfileIds:T,modelFailoverMode:D,skills:rV(a.bindings?.skills,k),mcpServers:rV(a.bindings?.mcpServers,j),tools:rV(a.bindings?.tools,N),plugins:F},ce&&(u.a2aOrchestration=oe),U&&(u.bindings.remoteAgents=ue),he&&(u.subAgents=pe),u.context={...a.context||{},ownership:De,promptOwnership:De===`ksadk`?`ksadk`:De===`framework`?`framework`:a.context?.promptOwnership||`framework`,rollout:{...a.context?.rollout||{},contextEngine:ke,...st?{memoryWrite:at}:{}}},st){let e=String((F.find(e=>e.config?.binding?.resource?.kind===`memory-instance`)?.config)?.binding?.id||``);u.memory={...a.memory||{},enabled:e?!0:Ue,providerRef:e?`binding://${e}`:Ge.trim(),...e?{scopes:[`user`]}:{},recall:{...a.memory?.recall||{},enabled:e?!0:qe,maxTokens:Ye,topK:Ze,minScore:e?0:$e},write:{...a.memory?.write||{},mode:tt,flushBeforeCompaction:rt}}}let f=await q(`/api/v1/agents/${encodeURIComponent(e)}?name=${encodeURIComponent(t.name.trim())}`,{method:`PUT`,headers:{"Content-Type":`application/json`,"If-Match":String(s.draft.metadata.revision)},body:JSON.stringify(u)}),p=await f.json().catch(()=>null);if(!f.ok)throw AB(p,h.setError),Error(p?.error?.message||`保存失败(${f.status})`);o=!0,p?.metadata&&c(e=>e&&{...e,draft:{metadata:p.metadata,spec:u}});let m=p?.metadata?.id||e;if(CL(`Agent 已更新`,Bt?`本地配置已保存;更新云端后生效。`:`本地声明已保存;已部署版本不会静默改变。`),lt){let e=p?.metadata?.revision;if(!e||typeof e!=`number`){let t=await q(`/api/v1/agents/${encodeURIComponent(m)}`);e=t.ok&&(await t.json().catch(()=>null))?.draft?.metadata?.revision||s.draft.metadata.revision}let n=await q(`/api/v1/agents/${encodeURIComponent(m)}/builds`,{method:`POST`,headers:{"Content-Type":`application/json`,"Idempotency-Key":`build-${m}-r${e}-${Date.now()}`},body:JSON.stringify({revision:e,runEvaluation:!1})}),r=await n.json().catch(()=>null);if(!n.ok)throw Error(r?.error?.message||`构建提交失败(${n.status})`);await aV(r.id),CL(t.runtimeType===`codex`?`YAML 声明已校验`:`${t.runtimeType} Bundle 构建完成`,m)}i(m,lt)}catch(e){let t=e instanceof TypeError&&/fetch|network|load failed/i.test(e.message),n=t?`与 Studio 的连接中断,请确认本地服务仍在运行。当前填写的内容已保留。`:e.message||`保存失败`,r=o?`配置已保存,但后续构建未完成。${n}`:t?`尚未确认保存结果。${n}`:n;mt(r),CL(o?`构建未完成`:`保存未完成`,r,`error`)}finally{ft(!1)}}async function qt(t){if(!s)return;let n=await q(`/api/v1/agents/${encodeURIComponent(e)}/appearance`,{method:`PUT`,headers:{"Content-Type":`application/json`,"If-Match":String(s.draft.metadata.revision)},body:JSON.stringify(t)}),r=await n.json().catch(()=>null);if(!n.ok)throw Error(r?.error?.message||`外观保存失败(${n.status})`);c(e=>e&&{...e,draft:{...e.draft,metadata:r.metadata}}),a?.(),CL(`Agent 外观已更新`,`列表、会话和 Trace 将使用新的头像。`)}return p?(0,v.jsxs)(`div`,{className:`inline-alert error`,children:[(0,v.jsx)(Zf,{size:16}),(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`strong`,{children:`Agent 加载失败`}),(0,v.jsx)(`p`,{children:p})]})]}):s?(0,v.jsxs)(`div`,{className:`quick-create`,children:[(0,v.jsx)(nj,{...h,children:(0,v.jsxs)(`form`,{className:`quick-create-form`,onSubmit:h.handleSubmit(Kt,e=>{let t=Object.values(e).find(e=>typeof e?.message==`string`);mt(String(t?.message||`请检查必填配置后重试`))}),noValidate:!0,children:[(0,v.jsxs)(`div`,{className:`quick-create-heading`,children:[(0,v.jsx)(`h2`,{title:b,children:y||s.draft.metadata.name}),(0,v.jsxs)(`p`,{children:[eV(x),` · 修改基础信息、模型和运行设置`]})]}),(0,v.jsx)(`nav`,{className:`agent-edit-nav`,"aria-label":`Agent 编辑分区`,children:[{id:1,label:`基础与 Prompt`},{id:2,label:`能力绑定`},{id:3,label:`运行策略`}].map(e=>(0,v.jsx)(`button`,{type:`button`,className:te===e.id?`active`:``,"aria-current":te===e.id?`page`:void 0,onClick:()=>R(e.id),children:e.label},e.id))}),(0,v.jsx)(`p`,{className:`agent-version-note`,children:`保存修改后在本地生效;已部署到云端的版本需重新部署。`}),(0,v.jsxs)(`section`,{className:`agent-edit-section`,hidden:te!==1,"aria-label":`基础与 Prompt`,children:[(0,v.jsxs)(`div`,{className:`agent-edit-section-heading`,children:[(0,v.jsx)(`span`,{className:`eyebrow`,children:`01`}),(0,v.jsx)(`div`,{children:(0,v.jsx)(`h3`,{children:`基础与 Prompt`})})]}),(0,v.jsxs)(`details`,{className:`secondary-settings agent-appearance-disclosure`,children:[(0,v.jsx)(`summary`,{children:`头像与配色`}),(0,v.jsx)(rR,{name:y||s.draft.metadata.name,appearance:s.draft.metadata.appearance,disabled:dt,onSave:qt})]}),(0,v.jsxs)(`div`,{className:`form-grid two-columns`,children:[(0,v.jsx)(Y,{label:`显示名称`,requirement:`required`,htmlFor:`editAgentName`,error:h.formState.errors.name?.message,children:(0,v.jsx)(`input`,{id:`editAgentName`,readOnly:!0,...h.register(`name`)})}),(0,v.jsx)(Y,{label:`本地标识(Slug)`,requirement:`generated`,htmlFor:`editAgentSlug`,hint:`本地唯一标识由创建流程生成;云端 AgentId 由部署服务另行映射。`,error:h.formState.errors.slug?.message,children:(0,v.jsx)(`input`,{id:`editAgentSlug`,className:`mono generated-value`,readOnly:!0,...h.register(`slug`)})})]}),(0,v.jsx)(Y,{label:`Runtime`,requirement:`required`,htmlFor:`editAgentRuntime`,hint:`已有 Build 后不能直接切换 Runtime;需创建迁移 Revision。`,error:h.formState.errors.runtimeType?.message,children:(0,v.jsx)(Wk,{id:`editAgentRuntime`,ariaLabel:`Runtime`,disabled:!0,value:x,options:[{value:`harness`,label:`通用智能体 · KsADK Harness`},{value:`codex`,label:`CodexRuntimeAdapter`},{value:`adk`,label:`ADKRuntimeAdapter`},{value:`langgraph`,label:`LangGraphRuntimeAdapter`},{value:`plugin`,label:`External AgentProvider`}],onValueChange:()=>void 0})}),x===`plugin`&&(0,v.jsxs)(`div`,{className:`template-specific`,"data-testid":`edit-external-provider-config`,children:[(0,v.jsx)(Y,{label:`AgentProvider`,requirement:`required`,htmlFor:`editAgentProvider`,hint:`可以切换到另一个已安装、已启用且兼容的精确版本;Runtime 类型保持不变。`,children:(0,v.jsx)(Wk,{id:`editAgentProvider`,ariaLabel:`AgentProvider`,value:V,placeholder:`Provider 不可用`,options:Nt,onValueChange:e=>{H(e)}})}),!Tt?.selectable&&(0,v.jsxs)(`div`,{className:`inline-alert warning`,role:`status`,children:[(0,v.jsx)(Zf,{size:16}),(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`strong`,{children:`AgentProvider 当前不可用`}),(0,v.jsx)(`p`,{children:Tt?.reason?.message||`该 Provider 未安装或未启用,请先在插件中心处理。`})]})]}),(0,v.jsx)(Y,{label:`Provider 配置`,requirement:`optional`,htmlFor:`editProviderConfig`,hint:`填写 JSON 对象;敏感字段只能保存 Secret 引用,不能保存明文。`,children:(0,v.jsx)(`textarea`,{id:`editProviderConfig`,className:`mono`,rows:6,value:_e,onChange:e=>ve(e.target.value)})}),Tt?.permissions.length?(0,v.jsxs)(`label`,{className:`post-create-option`,children:[(0,v.jsx)(`input`,{type:`checkbox`,checked:jt,onChange:e=>Mt(e.target.checked)}),(0,v.jsxs)(`span`,{children:[(0,v.jsx)(`strong`,{children:`确认 Provider 请求的权限`}),(0,v.jsxs)(`small`,{children:[Tt.permissions.join(`、`),`;确认后才会写入新 Revision。`]})]})]}):null]}),x===`codex`&&(0,v.jsx)(Jk,{provider:Et,approved:jt,onChange:Mt}),x===`harness`&&(0,v.jsxs)(`details`,{className:`template-specific`,children:[(0,v.jsxs)(`summary`,{children:[`本地运行:`,l?`已授权`:`未授权`,` · 高级权限`]}),(0,v.jsxs)(`label`,{className:`post-create-option`,children:[(0,v.jsx)(`input`,{type:`checkbox`,checked:l,onChange:e=>{u(e.target.checked),f(!0)}}),(0,v.jsxs)(`span`,{children:[(0,v.jsx)(`strong`,{children:`允许通用智能体在本机运行`}),(0,v.jsx)(`small`,{children:`仅授权本地执行引擎启动;工具仍受权限与审批策略约束。撤销后保存到新版本,该版本将无法使用通用智能体。`})]})]})]}),(0,v.jsxs)(`fieldset`,{className:`agent-policy-editor soul-editor`,"aria-describedby":`soulPolicyHint`,children:[(0,v.jsx)(`legend`,{children:`Soul · 稳定人格`}),(0,v.jsxs)(`label`,{className:`pcm-memory-toggle soul-enable-toggle`,children:[(0,v.jsx)(`input`,{type:`checkbox`,checked:je,onChange:e=>{Me(e.target.checked),He(!0)}}),(0,v.jsxs)(`span`,{children:[(0,v.jsx)(`strong`,{children:je?`已声明 Soul`:`未声明 Soul`}),(0,v.jsx)(`small`,{id:`soulPolicyHint`,children:`Soul 属于人工审核的 Revision 源,不会从会话或 Memory 自动改写。`})]})]}),je?(0,v.jsxs)(`div`,{className:`agent-policy-fields`,children:[(0,v.jsx)(Y,{label:`身份定义`,requirement:`required`,htmlFor:`editSoulIdentity`,hint:`说明 Agent 是谁、承担什么稳定职责。`,children:(0,v.jsx)(`textarea`,{id:`editSoulIdentity`,rows:4,maxLength:4096,value:Ne,onChange:e=>{Pe(e.target.value),He(!0)}})}),(0,v.jsxs)(`div`,{className:`form-grid two-columns soul-list-grid`,children:[(0,v.jsx)(Y,{label:`原则`,requirement:`optional`,htmlFor:`editSoulPrinciples`,hint:`每行一条,最多 64 条。`,children:(0,v.jsx)(`textarea`,{id:`editSoulPrinciples`,rows:5,value:Fe,onChange:e=>{Ie(e.target.value),He(!0)}})}),(0,v.jsx)(Y,{label:`边界`,requirement:`optional`,htmlFor:`editSoulBoundaries`,hint:`每行一条不可突破的行为边界。`,children:(0,v.jsx)(`textarea`,{id:`editSoulBoundaries`,rows:5,value:Le,onChange:e=>{Re(e.target.value),He(!0)}})})]}),(0,v.jsx)(Y,{label:`表达语气`,requirement:`optional`,htmlFor:`editSoulTone`,hint:`稳定语气,不替代本轮用户要求。`,children:(0,v.jsx)(`textarea`,{id:`editSoulTone`,rows:3,maxLength:1024,value:ze,onChange:e=>{Be(e.target.value),He(!0)}})})]}):null,(0,v.jsxs)(`div`,{className:`source-provenance`,role:`status`,"aria-label":`Soul 编译来源`,children:[(0,v.jsxs)(`span`,{children:[(0,v.jsx)(`strong`,{children:`结构化来源`}),(0,v.jsx)(`code`,{children:s.soulProjection?.source||`AgentSpec.soul`})]}),(0,v.jsxs)(`span`,{children:[(0,v.jsx)(`strong`,{children:`生效摘要`}),(0,v.jsx)(`code`,{children:Ve?`保存后重新计算`:s.soulProjection?.digest||`未生成`})]}),(0,v.jsxs)(`span`,{children:[(0,v.jsx)(`strong`,{children:`编译位置`}),(0,v.jsx)(`code`,{children:Wt})]})]}),(0,v.jsx)(`p`,{className:`agent-policy-note`,children:x===`codex`?`ManagedRuntime 启动时会把 Soul 确定性编译到 base_instructions,并保留结构化源与 digest。`:x===`plugin`?`Bundle 保留 instructions/soul.md;外部 Provider 按固定插件合同消费该审核快照。`:`构建时按 canonical JSON 计算 SHA-256,并编译到 resolved-agent-spec.instructions.system;Bundle 同时保留 instructions/soul.md。`})]}),(0,v.jsx)(Y,{label:`系统提示词`,requirement:`required`,htmlFor:`editAgentPrompt`,hint:`首个 Agent 写入根目录 agentengine.yaml;后续 Agent 写入 agents/<id>/agentengine.yaml。`,error:h.formState.errors.prompt?.message,children:(0,v.jsx)(`textarea`,{id:`editAgentPrompt`,maxLength:32768,rows:10,...h.register(`prompt`)})})]}),(0,v.jsxs)(`section`,{className:`agent-edit-section`,hidden:te!==2,"aria-label":`能力绑定`,children:[(0,v.jsxs)(`div`,{className:`agent-edit-section-heading`,children:[(0,v.jsx)(`span`,{className:`eyebrow`,children:`02`}),(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`h3`,{children:`能力绑定`}),(0,v.jsx)(`p`,{children:`配置模型、Skill、MCP 与 Runtime 支持的 Tool;切换分区不会丢失未保存修改。`})]})]}),(0,v.jsx)(`div`,{className:`form-grid two-columns`,children:(0,v.jsx)(Y,{label:`默认模型`,requirement:`required`,htmlFor:`editDefaultModel`,hint:`每轮未指定模型时使用`,footer:Ct.length?null:(0,v.jsx)(`span`,{className:`studio-field-hint`,children:zt?`历史声明模型 ${Rt} 将原样保留;从下方目录选择后可切换。`:`请先从模型 allowlist 中至少选择一个模型。`}),children:(0,v.jsx)(Wk,{id:`editDefaultModel`,ariaLabel:`默认模型`,value:C,placeholder:Rt||`请先绑定模型`,disabled:!Ct.length,options:Ct.map(e=>({value:e.resourceId,label:e.displayName,description:$B(e)})),onValueChange:w})})}),(0,v.jsxs)(`div`,{className:`field quick-model-binding-field`,children:[(0,v.jsxs)(`div`,{className:`field-heading`,children:[(0,v.jsx)(`label`,{children:`绑定模型`}),(0,v.jsx)(`span`,{className:`helper`,children:`会话中只能切换到这里选中的模型;不会因此自动改用其他模型。`})]}),(0,v.jsx)(wz,{ariaLabel:`选择绑定模型`,items:yt,selectedIds:T,getId:e=>e.resourceId,getLabel:e=>e.displayName,getDescription:e=>$B(e)===e.displayName?``:$B(e),getGroup:e=>e.contract?.model?.split(/[/:.-]/)[0]||`其他模型`,onChange:Pt,searchPlaceholder:`搜索绑定模型`,emptyMessage:`当前模型服务没有返回可绑定模型`})]}),(0,v.jsx)(Y,{label:`模型故障策略`,requirement:`optional`,htmlFor:`editModelFailoverMode`,hint:x===`harness`?`Native 暂不支持自动切换,运行时会拒绝此配置;请使用严格模式。`:`严格模式保证一次任务始终使用你选定的模型。`,children:(0,v.jsx)(Wk,{id:`editModelFailoverMode`,ariaLabel:`模型故障策略`,value:D,options:[{value:`strict`,label:`严格使用默认模型`,description:`429 等瞬时错误只重试当前模型,不跨模型切换。`},{value:`automatic`,label:`高可用:自动切换候选模型`,description:`需 Runtime 支持;Native 暂不支持。支持时按绑定顺序切换,并记录活动。`}],onValueChange:e=>O(e===`automatic`?`automatic`:`strict`)})}),(0,v.jsxs)(`div`,{className:`field quick-model-binding-field`,children:[(0,v.jsxs)(`div`,{className:`field-heading`,children:[(0,v.jsx)(`label`,{children:`绑定 Skill / MCP`}),(0,v.jsx)(`span`,{className:`helper`,children:x===`harness`?`Skill 与 MCP 由通用智能体按需加载,并执行权限与审批策略。`:x===`codex`?`Skill 与 MCP 由 Codex Runtime 按能力投影。`:x===`plugin`?`Skill 与 MCP 会通过 PluginHost 投影给外部 Provider。`:`Skill 可编辑;当前 Runtime 尚未实现 MCP 源码注入,历史 MCP 仅保留。`})]}),(0,v.jsxs)(`div`,{className:`quick-capability-bindings`,children:[(0,v.jsx)(wz,{ariaLabel:`选择绑定 Skill`,items:bt,selectedIds:k,getId:e=>e.resourceId,getLabel:e=>e.displayName,getDescription:e=>e.version,getGroup:e=>e.contract?.executor||`builtin`,onChange:A,searchPlaceholder:`搜索 Skill`,emptyMessage:`没有已安装的 Skill`}),(0,v.jsx)(wz,{ariaLabel:`选择绑定 MCP`,items:It?xt:xt.filter(e=>j.includes(e.resourceId)),selectedIds:j,getId:e=>e.resourceId,getLabel:e=>e.displayName,getDescription:e=>jB(e,x)||`${e.version} · ${e.health?.toolCount||0} Tool`,getGroup:e=>e.status===`ready`?`已连接`:`待处理`,onChange:It?M:()=>void 0,disabledIds:It?xt.filter(e=>!j.includes(e.resourceId)&&jB(e,x)).map(e=>e.resourceId):j,searchPlaceholder:`搜索 MCP`,emptyMessage:It?`没有已连接的 MCP`:`当前 Runtime 不支持新增 MCP`})]})]}),([`adk`,`langgraph`,`codex`].includes(x)||ue.length>0)&&(0,v.jsx)(gL,{value:ue,onChange:e=>{de(e),fe(!0)}},e),([`adk`,`langgraph`].includes(x)||oe)&&(0,v.jsx)(mL,{agentId:e,revision:s?.draft.metadata.revision||1,runtime:{type:x,projectPath:z,entryPoint:re,agentVariable:ae},bindings:ue,value:oe,onChange:e=>{se(e),le(!0)}},`${e}-a2a-plan`),x===`harness`&&(0,v.jsx)(vL,{value:pe,tools:St.filter(e=>(N.length?N:(s?.draft.spec.bindings?.tools||[]).map(e=>e.resourceId)).includes(e.resourceId)&&e.contract?.name).map(e=>({name:e.contract.name,label:e.displayName})),onChange:e=>{me(e),ge(!0)}}),x===`codex`&&te===2&&(0,v.jsx)(Ez,{value:F.filter(e=>e.ecosystem===`codex`),onChange:e=>I([...F.filter(e=>e.ecosystem!==`codex`),...e]),onPendingChange:L},`${e}-codex-plugins`),te===2&&(0,v.jsx)(Nz,{value:F,onChange:e=>{I(e);let t=e.find(e=>e.config?.binding?.resource?.kind===`memory-instance`),n=String((t?.config)?.binding?.id||``);n?(We(!0),Ke(`binding://${n}`),Je(!0),et(0),nt(`off`),ot(`off`)):Ge.startsWith(`binding://platform-memory-instance`)&&(We(!1),Ke(`local-default`)),ct(!0)},onPendingChange:L},`${e}-platform-resources`),s.bindingProjection?.unresolvedMcpServers?.length?(0,v.jsxs)(`div`,{className:`inline-alert warning`,role:`status`,children:[(0,v.jsx)(Zf,{size:16}),(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`strong`,{children:`部分 YAML MCP 尚未进入资源目录`}),(0,v.jsxs)(`p`,{children:[s.bindingProjection.unresolvedMcpServers.map(e=>e.name).join(`、`),` 未映射到资源目录;保存时会原样保留,请在资源页接入后再可视化编辑。`]})]})]}):null,![`codex`,`plugin`].includes(x)&&(0,v.jsxs)(`div`,{className:`field quick-model-binding-field`,children:[(0,v.jsxs)(`div`,{className:`field-heading`,children:[(0,v.jsx)(`label`,{children:`绑定 Tool`}),(0,v.jsx)(`span`,{className:`helper`,children:[`codex`,`plugin`].includes(x)?`当前 Runtime 不支持新增 ksadk Tool;历史绑定仅保留,不能修改。`:`仅展示当前 Runtime 合同允许的 ksadk Tool。`})]}),(0,v.jsx)(wz,{ariaLabel:`选择绑定 Tool`,items:St,selectedIds:N,getId:e=>e.resourceId,getLabel:e=>e.displayName,getDescription:e=>e.version,getGroup:e=>e.contract?.executor||`builtin`,onChange:P,disabledIds:[],searchPlaceholder:`搜索 Tool`,emptyMessage:`没有可绑定的 Tool`})]})]}),(0,v.jsxs)(`section`,{className:`agent-edit-section`,hidden:te!==3,"aria-label":`运行策略`,children:[(0,v.jsxs)(`div`,{className:`agent-edit-section-heading`,children:[(0,v.jsx)(`span`,{className:`eyebrow`,children:`03`}),(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`h3`,{children:`运行策略`}),(0,v.jsx)(`p`,{children:`配置跨会话记忆;Context 高级选项通常保持默认即可。`})]})]}),[`adk`,`langgraph`].includes(x)?(0,v.jsxs)(`div`,{className:`form-grid two-columns agent-runtime-config-grid`,children:[(0,v.jsx)(Y,{label:`项目相对路径`,requirement:`required`,htmlFor:`editRuntimeProjectPath`,hint:`相对于当前 Studio 工作区;保存后由新 Revision 构建。`,children:(0,v.jsx)(`input`,{id:`editRuntimeProjectPath`,value:z,onChange:e=>ne(e.target.value)})}),(0,v.jsx)(Y,{label:`入口文件`,requirement:`required`,htmlFor:`editRuntimeEntryPoint`,hint:`ADK 或 LangGraph Agent 的 Python 入口文件。`,children:(0,v.jsx)(`input`,{id:`editRuntimeEntryPoint`,value:re,onChange:e=>ie(e.target.value)})}),(0,v.jsx)(Y,{label:`Agent 变量`,requirement:`required`,htmlFor:`editRuntimeAgentVariable`,hint:`入口模块导出的 Agent 或 Graph 变量名。`,children:(0,v.jsx)(`input`,{id:`editRuntimeAgentVariable`,value:ae,onChange:e=>B(e.target.value)})})]}):null,(0,v.jsxs)(`div`,{className:`form-grid two-columns agent-execution-config-grid`,children:[(0,v.jsx)(Y,{label:`执行策略`,requirement:`required`,htmlFor:`editExecutionStrategy`,hint:`直接执行适合普通对话;计划执行适合多步骤任务。`,children:(0,v.jsx)(Wk,{id:`editExecutionStrategy`,ariaLabel:`执行策略`,value:xe,options:[{value:`direct`,label:`直接执行`},{value:`plan-act-observe`,label:`计划 · 执行 · 观察`}],onValueChange:Se})}),(0,v.jsx)(Y,{label:`步骤提示(兼容)`,requirement:`required`,htmlFor:`editExecutionMaxSteps`,hint:`保留旧配置兼容,不是统一运行上限;实际停止条件由所选 Runtime 的轮次、超时、工具与 Token 预算决定。`,children:(0,v.jsx)(`input`,{id:`editExecutionMaxSteps`,type:`number`,min:1,value:Ce,onChange:e=>we(Number(e.target.value))})}),(0,v.jsx)(Y,{label:`超时秒数`,requirement:`required`,htmlFor:`editExecutionTimeout`,hint:`单次运行的整体超时,范围 1–3600 秒。`,children:(0,v.jsx)(`input`,{id:`editExecutionTimeout`,type:`number`,min:1,max:3600,value:Te,onChange:e=>Ee(Number(e.target.value))})})]}),(0,v.jsxs)(`fieldset`,{className:`agent-policy-editor memory-policy-editor`,children:[(0,v.jsx)(`legend`,{children:`Memory · 跨会话策略`}),(0,v.jsxs)(`label`,{className:`pcm-memory-toggle`,children:[(0,v.jsx)(`input`,{type:`checkbox`,checked:Ue,onChange:e=>{We(e.target.checked),ct(!0)}}),(0,v.jsxs)(`span`,{children:[(0,v.jsx)(`strong`,{children:Ue?`已启用跨会话记忆`:`未启用跨会话记忆`}),(0,v.jsx)(`small`,{children:`启用状态、召回与写入分别受下列 AgentVersion 策略控制;不会因打开编辑页而改写旧配置。`})]})]}),(0,v.jsxs)(`div`,{className:`form-grid two-columns memory-policy-grid`,children:[(0,v.jsx)(Y,{label:`Memory Provider`,requirement:`required`,htmlFor:`editMemoryProvider`,hint:`只保存 providerRef,不保存凭证。`,children:(0,v.jsx)(`input`,{id:`editMemoryProvider`,maxLength:128,value:Ge,onChange:e=>{Ke(e.target.value),ct(!0)}})}),(0,v.jsx)(Y,{label:`写入模式`,requirement:`required`,htmlFor:`editMemoryWriteMode`,hint:`候选模式仍需策略审核;显式模式只接受用户确认的写入。`,children:(0,v.jsx)(Wk,{id:`editMemoryWriteMode`,ariaLabel:`Memory 写入模式`,value:tt,options:[{value:`off`,label:`不产生写入候选`},{value:`explicit_only`,label:`仅显式写入`},{value:`candidate`,label:`候选写入`}],onValueChange:e=>{nt(e),ct(!0)}})}),(0,v.jsx)(Y,{label:`写入 Rollout`,requirement:`required`,htmlFor:`editMemoryWriteRollout`,hint:`关闭、仅观察和正式启用由版本策略明确区分。`,children:(0,v.jsx)(Wk,{id:`editMemoryWriteRollout`,ariaLabel:`Memory 写入 Rollout`,value:at,options:[{value:`off`,label:`关闭`},{value:`shadow`,label:`仅观察`},{value:`enabled`,label:`正式启用`}],onValueChange:e=>{ot(e),ct(!0)}})}),(0,v.jsx)(Y,{label:`召回开关`,requirement:`required`,htmlFor:`editMemoryRecallEnabled`,hint:`可启用 Memory 但关闭自动召回。`,children:(0,v.jsxs)(`div`,{className:`inline-checkbox-control`,children:[(0,v.jsx)(`input`,{id:`editMemoryRecallEnabled`,type:`checkbox`,checked:qe,onChange:e=>{Je(e.target.checked),ct(!0)}}),(0,v.jsx)(`span`,{children:qe?`允许按策略召回`:`不自动召回`})]})}),(0,v.jsx)(Y,{label:`召回 Token 上限`,requirement:`required`,htmlFor:`editMemoryRecallMaxTokens`,hint:`允许为 0,表示不投影召回正文。`,children:(0,v.jsx)(`input`,{id:`editMemoryRecallMaxTokens`,type:`number`,min:0,value:Ye,onChange:e=>{Xe(Number(e.target.value)),ct(!0)}})}),(0,v.jsx)(Y,{label:`召回条数`,requirement:`required`,htmlFor:`editMemoryRecallTopK`,hint:`范围 1–64。`,children:(0,v.jsx)(`input`,{id:`editMemoryRecallTopK`,type:`number`,min:1,max:64,value:Ze,onChange:e=>{Qe(Number(e.target.value)),ct(!0)}})}),(0,v.jsx)(Y,{label:`最小相关度`,requirement:`required`,htmlFor:`editMemoryRecallMinScore`,hint:`范围 0–1。`,children:(0,v.jsx)(`input`,{id:`editMemoryRecallMinScore`,type:`number`,min:0,max:1,step:.05,value:$e,onChange:e=>{et(Number(e.target.value)),ct(!0)}})}),(0,v.jsx)(Y,{label:`压缩前刷新`,requirement:`optional`,htmlFor:`editMemoryFlush`,hint:`在上下文压缩前提交已审核的 Memory 候选。`,children:(0,v.jsxs)(`div`,{className:`inline-checkbox-control`,children:[(0,v.jsx)(`input`,{id:`editMemoryFlush`,type:`checkbox`,checked:rt,onChange:e=>{it(e.target.checked),ct(!0)}}),(0,v.jsx)(`span`,{children:rt?`压缩前刷新`:`不在压缩前刷新`})]})})]}),(0,v.jsxs)(`div`,{className:`source-provenance memory-source-provenance`,role:`status`,"aria-label":`Memory 策略来源`,children:[(0,v.jsxs)(`span`,{children:[(0,v.jsx)(`strong`,{children:`策略来源`}),(0,v.jsx)(`code`,{children:`AgentSpec.memory`})]}),(0,v.jsxs)(`span`,{children:[(0,v.jsx)(`strong`,{children:`Provider`}),(0,v.jsx)(`code`,{children:Ge||`未配置`})]}),(0,v.jsxs)(`span`,{children:[(0,v.jsx)(`strong`,{children:`写入生效`}),(0,v.jsxs)(`code`,{children:[`Context.rollout.memoryWrite=`,at]})]})]})]}),(0,v.jsxs)(`details`,{className:`pcm-policy-card`,children:[(0,v.jsx)(`summary`,{children:(0,v.jsxs)(`span`,{children:[(0,v.jsx)(`strong`,{children:`运行上下文(高级)`}),(0,v.jsx)(`small`,{children:`调整 Context 责任边界和优化策略;不确定时保持自动与仅观察`})]})}),(0,v.jsx)(`div`,{className:`pcm-policy-body`,children:(0,v.jsxs)(`div`,{className:`form-grid two-columns`,children:[(0,v.jsx)(Y,{label:`上下文管理方式`,requirement:`optional`,htmlFor:`editContextOwnership`,hint:`决定由平台、框架或原生 Runtime 负责最终模型输入。`,children:(0,v.jsx)(Wk,{id:`editContextOwnership`,ariaLabel:`上下文管理方式`,value:De,options:Lt,onValueChange:Oe})}),(0,v.jsx)(Y,{label:`上下文优化`,requirement:`optional`,htmlFor:`editContextEngineRollout`,hint:`仅观察只生成诊断证据;正式启用会执行预算、压缩和降载。`,children:(0,v.jsx)(Wk,{id:`editContextEngineRollout`,ariaLabel:`Context Engine`,value:ke,options:[{value:`off`,label:`使用 Runtime 默认行为`},{value:`shadow`,label:`仅观察(推荐)`},{value:`enabled`,label:`正式启用`}],onValueChange:Ae})})]})})]})]}),(0,v.jsxs)(`div`,{className:`quick-create-actions`,children:[(0,v.jsxs)(`label`,{className:`checkbox-row`,children:[(0,v.jsx)(`input`,{type:`checkbox`,checked:lt,onChange:e=>ut(e.target.checked)}),(0,v.jsxs)(`span`,{children:[(0,v.jsx)(`strong`,{children:`保存后生成配置快照(自动生效)`}),(0,v.jsx)(`small`,{children:`默认保存、构建并自动刷新到最新 Revision,无需手动编译或多次刷新。`})]})]}),o&&(0,v.jsx)(`button`,{className:`button secondary`,type:`button`,disabled:dt,onClick:o,children:`取消`}),(0,v.jsxs)(`button`,{className:`button accent`,type:`submit`,disabled:dt||ee,children:[(0,v.jsx)(Gp,{size:15}),(0,v.jsx)(`span`,{children:dt?`正在保存`:`保存修改`})]})]}),pt&&(0,v.jsxs)(`div`,{className:`inline-alert error`,children:[(0,v.jsx)(Zf,{size:16}),(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`strong`,{children:`操作未完成`}),(0,v.jsx)(`p`,{children:pt})]})]})]})}),(0,v.jsxs)(`details`,{className:`manifest-preview`,children:[(0,v.jsx)(`summary`,{children:`查看配置源码`}),(0,v.jsx)(Xk,{code:Gt,language:`yaml`,filename:`agentkit.yaml`,wrap:!0}),(0,v.jsxs)(`div`,{className:`manifest-contract`,children:[(0,v.jsxs)(`span`,{children:[(0,v.jsx)(Kf,{size:13}),`唯一配置源`]}),(0,v.jsxs)(`span`,{children:[(0,v.jsx)(Kf,{size:13}),`SHA-256 可追溯`]}),(0,v.jsxs)(`span`,{children:[(0,v.jsx)(Kf,{size:13}),`RuntimeAdapter 执行`]})]})]})]}):(0,v.jsx)(`div`,{className:`quick-create`,children:(0,v.jsx)(`p`,{children:`正在加载 Agent 配置…`})})}function sV({title:e,subtitle:t,wide:n=!1,closeDisabled:r=!1,onClose:i,footer:a,children:o}){return(0,v.jsx)(Eb,{open:!0,onOpenChange:e=>{e||i()},title:e,subtitle:t,wide:n,closeDisabled:r,footer:a,children:o})}function cV({kind:e,title:t,message:n}){return(0,v.jsxs)(`div`,{className:`inline-alert ${e}`,children:[e===`success`?(0,v.jsx)($f,{size:15}):(0,v.jsx)(Zf,{size:15}),(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`strong`,{children:t}),n?(0,v.jsx)(`p`,{children:n}):null]})]})}function lV(e){let t=e.match(/^---\r?\n([\s\S]*?)\r?\n---(?:\r?\n|$)/);return t?{frontmatter:t[1].trim(),markdown:e.slice(t[0].length)}:{frontmatter:``,markdown:e}}function uV({content:e}){let{frontmatter:t,markdown:n}=lV(e);return(0,v.jsxs)(`div`,{className:`markdown-preview-shell`,children:[t&&(0,v.jsxs)(`details`,{className:`markdown-frontmatter`,children:[(0,v.jsx)(`summary`,{children:`文档元数据`}),(0,v.jsx)(Xk,{code:t,language:`yaml`,filename:`frontmatter.yaml`,showLineNumbers:!1,wrap:!0})]}),(0,v.jsx)(`article`,{className:`markdown-preview`,children:(0,v.jsx)(h,{remarkPlugins:[d],components:{pre:({children:e})=>(0,v.jsx)(v.Fragment,{children:e}),code:({className:e,children:t,...n})=>{let r=/language-([\w-]+)/.exec(e||``)?.[1];return r?(0,v.jsx)(Xk,{code:String(t).replace(/\n$/,``),language:r,showLineNumbers:!1}):(0,v.jsx)(`code`,{className:e,...n,children:t})},table:({children:e,...t})=>(0,v.jsx)(`div`,{className:`markdown-table-scroll`,children:(0,v.jsx)(`table`,{...t,children:e})}),a:({children:e,...t})=>(0,v.jsx)(`a`,{...t,target:`_blank`,rel:`noreferrer noopener`,children:e})},children:n})})]})}function dV(e){let t=Number(e||0);return t<1024?`${t} B`:t<1048576?`${(t/1024).toFixed(1)} KiB`:`${(t/1024/1024).toFixed(1)} MiB`}async function fV(e,t){let n=await e.text().catch(()=>``);try{return JSON.parse(n)?.error?.message||`${t}(${e.status})`}catch{return`${t}(${e.status})`}}function pV(e){return{bash:`bash`,c:`c`,cpp:`cpp`,css:`css`,go:`go`,h:`c`,html:`markup`,java:`java`,js:`javascript`,json:`json`,jsx:`jsx`,md:`markdown`,mjs:`javascript`,py:`python`,rs:`rust`,sh:`bash`,toml:`toml`,ts:`typescript`,tsx:`tsx`,xml:`markup`,yaml:`yaml`,yml:`yaml`}[e.split(`.`).pop()?.toLowerCase()||``]||`text`}function mV(e){let t={name:``,path:``,directory:!0,children:[]};for(let n of e){let e=n.path.split(`/`).filter(Boolean),r=t;e.forEach((t,i)=>{let a=e.slice(0,i+1).join(`/`),o=i<e.length-1,s=r.children.find(e=>e.name===t&&e.directory===o);s||(s={name:t,path:a,directory:o,file:o?void 0:n,children:[]},r.children.push(s)),r=s})}let n=e=>{e.sort((e,t)=>Number(t.directory)-Number(e.directory)||e.name.localeCompare(t.name)),e.forEach(e=>n(e.children))};return n(t.children),t.children}function hV({files:e,selected:t,onSelect:n}){let r=(0,g.useMemo)(()=>mV(e),[e]),[i,a]=(0,g.useState)(new Set),o=(e,r=0)=>e.map(e=>{let s={"--skill-depth":r};if(e.directory){let t=i.has(e.path);return(0,v.jsxs)(`div`,{role:`none`,children:[(0,v.jsxs)(`button`,{className:`skill-tree-row directory`,type:`button`,role:`treeitem`,style:s,"aria-expanded":!t,onClick:()=>a(t=>{let n=new Set(t);return n.has(e.path)?n.delete(e.path):n.add(e.path),n}),children:[t?(0,v.jsx)(Yf,{size:13}):(0,v.jsx)(qf,{size:13}),(0,v.jsx)(Sp,{size:14}),(0,v.jsx)(`span`,{title:e.name,children:e.name})]}),!t&&(0,v.jsx)(`div`,{role:`group`,children:o(e.children,r+1)})]},`dir:${e.path}`)}let c=e.file?.kind===`script`?vp:bp;return(0,v.jsxs)(`button`,{className:`skill-tree-row file${t===e.path?` active`:``}`,type:`button`,role:`treeitem`,"aria-selected":t===e.path,style:s,onClick:()=>n(e.path),children:[(0,v.jsx)(`span`,{className:`skill-tree-spacer`}),(0,v.jsx)(c,{size:14}),(0,v.jsx)(`span`,{title:e.path,children:e.name})]},`file:${e.path}`)});return(0,v.jsx)(`div`,{className:`skill-file-tree`,role:`tree`,"aria-label":`Skill 文件树`,children:o(r)})}function gV({title:e,endpoint:t,onClose:n}){let[r,i]=(0,g.useState)([]),[a,o]=(0,g.useState)(``),[s,c]=(0,g.useState)(null),[l,u]=(0,g.useState)(!0),[d,f]=(0,g.useState)(!1),[p,m]=(0,g.useState)(``),[h,_]=(0,g.useState)(``),y=(0,g.useRef)(0);return(0,g.useEffect)(()=>{let e=new AbortController;return u(!0),m(``),i([]),o(``),c(null),q(t,{signal:e.signal}).then(async e=>{if(!e.ok)throw Error(await fV(e,`Skill 文件读取失败`));return e.json()}).then(e=>{let t=e.files||[];i(t),o(t.find(e=>e.path===`SKILL.md`)?.path||t[0]?.path||``)}).catch(e=>{e?.name!==`AbortError`&&m(e.message||`Skill 文件读取失败`)}).finally(()=>{e.signal.aborted||u(!1)}),()=>e.abort()},[t]),(0,g.useEffect)(()=>{if(!a){c(null),f(!1);return}let e=new AbortController,n=++y.current;return c(null),f(!0),_(``),q(`${t}?${new URLSearchParams({path:a})}`,{signal:e.signal}).then(async e=>{if(!e.ok)throw Error(await fV(e,`Skill 文件读取失败`));return e.json()}).then(e=>{y.current===n&&c(e)}).catch(e=>{e?.name!==`AbortError`&&y.current===n&&_(e.message||`Skill 文件读取失败`)}).finally(()=>{!e.signal.aborted&&y.current===n&&f(!1)}),()=>e.abort()},[t,a]),(0,v.jsx)(sV,{title:`${e} · 文件`,subtitle:`${r.length} 个文件;只读预览,不会执行脚本。`,wide:!0,onClose:n,children:(0,v.jsxs)(`div`,{className:`skill-preview-layout`,children:[(0,v.jsxs)(`aside`,{className:`skill-preview-sidebar`,children:[l&&(0,v.jsx)(`div`,{className:`skill-file-state`,children:`正在读取目录…`}),!l&&p&&(0,v.jsx)(cV,{kind:`error`,title:`无法读取 Skill 文件`,message:p}),!l&&!p&&r.length===0&&(0,v.jsx)(`div`,{className:`skill-file-state`,children:`Skill 中没有可预览的文件。`}),!l&&!p&&r.length>0&&(0,v.jsx)(hV,{files:r,selected:a,onSelect:o})]}),(0,v.jsxs)(`section`,{className:`skill-preview-pane`,"aria-live":`polite`,children:[(s||a)&&(0,v.jsxs)(`header`,{className:`skill-preview-header`,children:[(0,v.jsx)(`strong`,{title:s?.path||a,children:s?.path||a}),s&&(0,v.jsxs)(`span`,{children:[s.kind,` · `,dV(s.size||0)]})]}),(0,v.jsxs)(`div`,{className:`skill-preview-content`,children:[d&&(0,v.jsx)(`div`,{className:`skill-file-state`,children:`正在读取文件…`}),!d&&h&&(0,v.jsx)(cV,{kind:`error`,title:`无法预览文件`,message:h}),!d&&!h&&s?.kind===`markdown`&&(0,v.jsx)(uV,{content:s.content||``}),!d&&!h&&[`script`,`text`].includes(s?.kind||``)&&(0,v.jsx)(Xk,{code:s?.content||``,language:pV(s?.path||a),filename:s?.path||a,showLineNumbers:!0}),!d&&!h&&s?.kind===`binary`&&(0,v.jsx)(`div`,{className:`skill-file-state`,children:`二进制文件不提供内容预览。`}),!d&&!h&&!s&&!a&&(0,v.jsx)(`div`,{className:`skill-file-state`,children:`选择一个文件查看内容。`})]}),s?.truncated&&(0,v.jsx)(`div`,{className:`skill-preview-truncated`,children:`文件较大,仅显示前 512 KiB。`})]})]})})}var _V=new Map([[`avif`,`image/avif`],[`bmp`,`image/bmp`],[`css`,`text/css`],[`csv`,`text/csv`],[`doc`,`application/msword`],[`docx`,`application/vnd.openxmlformats-officedocument.wordprocessingml.document`],[`gif`,`image/gif`],[`gz`,`application/gzip`],[`htm`,`text/html`],[`html`,`text/html`],[`ico`,`image/x-icon`],[`jpeg`,`image/jpeg`],[`jpg`,`image/jpeg`],[`js`,`application/javascript`],[`json`,`application/json`],[`md`,`text/markdown`],[`mjs`,`application/javascript`],[`mp3`,`audio/mpeg`],[`mp4`,`video/mp4`],[`ogg`,`audio/ogg`],[`pdf`,`application/pdf`],[`png`,`image/png`],[`ppt`,`application/powerpoint`],[`pptx`,`application/vnd.openxmlformats-officedocument.presentationml.presentation`],[`svg`,`image/svg+xml`],[`tif`,`image/tiff`],[`tiff`,`image/tiff`],[`txt`,`text/plain`],[`wasm`,`application/wasm`],[`wav`,`audio/x-wav`],[`weba`,`audio/webm`],[`webm`,`video/webm`],[`webp`,`image/webp`],[`xls`,`application/vnd.ms-excel`],[`xlsx`,`application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`],[`xml`,`application/xml`],[`zip`,`application/zip`]]),vV=class extends Error{constructor(e){super(`DataTransferItem is not a file`),this.item=e,this.name=`UnexpectedObjectError`}};function yV(e,t,n){let r=e,{webkitRelativePath:i}=e,a=typeof t==`string`?t:typeof i==`string`&&i.length>0?i:`./${e.name}`;return typeof r.path!=`string`&&xV(r,`path`,a),n!==void 0&&Object.defineProperty(r,"handle",{value:n,writable:!1,configurable:!1,enumerable:!0}),xV(r,`relativePath`,a),r}function bV(e,t=_V){let{name:n}=e;if(n&&n.lastIndexOf(`.`)!==-1&&!e.type){let r=n.split(`.`).pop().toLowerCase(),i=t.get(r);i&&Object.defineProperty(e,"type",{value:i,writable:!1,configurable:!1,enumerable:!0})}return e}function xV(e,t,n){Object.defineProperty(e,t,{value:n,writable:!1,configurable:!1,enumerable:!0})}var SV=[`.DS_Store`,`Thumbs.db`];async function CV(e,{mimeTypes:t=_V}={}){return(await wV(e)).map(e=>e instanceof File?bV(e,t):e)}async function wV(e){return OV(e)&&TV(e.dataTransfer)?jV(e.dataTransfer,e.type):EV(e)?MV(e.clipboardData):DV(e)?kV(e):Array.isArray(e)&&e.every(e=>`getFile`in e&&typeof e.getFile==`function`)?AV(e):[]}function TV(e){return OV(e)}function EV(e){return OV(e)&&TV(e.clipboardData)}function DV(e){return OV(e)&&OV(e.target)}function OV(e){return typeof e==`object`&&!!e}function kV(e){return PV(e.target.files).map(e=>yV(e))}async function AV(e){return(await Promise.all(e.map(e=>e.getFile()))).map(e=>yV(e))}async function jV(e,t){let n=PV(e.items).filter(e=>e.kind===`file`);return t===`drop`?NV(IV(await Promise.all(n.map(FV)))):n}function MV(e){let t=PV(e.items).filter(e=>e.kind===`file`).map(e=>e.getAsFile()).filter(e=>e!==null);return NV((t.length>0?t:PV(e.files)).map(e=>yV(e)))}function NV(e){return e.filter(e=>SV.indexOf(e.name)===-1)}function PV(e){return e===null?[]:Array.from(e)}async function FV(e){if(typeof e.webkitGetAsEntry!=`function`)return LV(e);let t=e.webkitGetAsEntry();if(t?.isDirectory){let n=await RV(e);return n?.kind===`directory`?zV(n,`/${n.name}`):VV(t)}return LV(e,t)}function IV(e){let t=[];for(let n of e)Array.isArray(n)?t.push(...IV(n)):t.push(n);return t}async function LV(e,t){let n=e.getAsFile(),r=await RV(e);if(r!=null){let e=n??await r.getFile();return e.handle=r,yV(e)}if(!n)throw new vV(e);return yV(n,t?.fullPath??void 0)}async function RV(e){if(globalThis.isSecureContext&&typeof e.getAsFileSystemHandle==`function`)return e.getAsFileSystemHandle()}async function zV(e,t){let n=[];for await(let r of e.values()){let e=`${t}/${r.name}`;if(r.kind===`directory`)n.push(...await zV(r,e));else{let t=await r.getFile();n.push(yV(t,e,r))}}return n}async function BV(e){return e.isDirectory?VV(e):HV(e)}function VV(e){let t=e.createReader();return new Promise((e,n)=>{let r=[];function i(){t.readEntries(async t=>{if(t.length){let e=Promise.all(t.map(BV));r.push(e),i()}else try{e(await Promise.all(r))}catch(e){n(e)}},e=>{n(e)})}i()})}async function HV(e){return new Promise((t,n)=>{e.file(n=>{t(yV(n,e.fullPath))},e=>{n(e)})})}var UV=t(n((e=>{e.__esModule=!0,e.default=function(e,t){if(e&&t){var n=Array.isArray(t)?t:t.split(`,`);if(n.length===0)return!0;var r=e.name||``,i=(e.type||``).toLowerCase(),a=i.replace(/\/.*$/,``);return n.some(function(e){var t=e.trim().toLowerCase();return t.charAt(0)===`.`?r.toLowerCase().endsWith(t):t.endsWith(`/*`)?a===t.replace(/\/.*$/,``):i===t})}return!0}}))(),1),WV=typeof UV.default==`function`?UV.default:UV.default.default,GV=`file-invalid-type`,KV=`file-too-large`,qV=`file-too-small`,JV=`too-many-files`;function YV(e=``){let t=e.split(`,`);return{code:GV,message:`File type must be ${t.length>1?`one of ${t.join(`, `)}`:t[0]}`}}var XV=[`KB`,`MB`,`GB`,`TB`,`PB`];function ZV(e){if(e<1024)return`${e} ${e===1?`byte`:`bytes`}`;let t=e/1024,n=0;for(;t>=1024&&n<XV.length-1;)t/=1024,n++;return`${Number(t.toFixed(2))} ${XV[n]}`}function QV(e){return{code:KV,message:`File is larger than ${ZV(e)}`}}function $V(e){return{code:qV,message:`File is smaller than ${ZV(e)}`}}var eH={code:JV,message:`Too many files`};function tH(e){return e.type===``&&typeof e.getAsFile==`function`}function nH(e,t){let n=e.type===`application/x-moz-file`||WV(e,t??``)||tH(e);return[n,n?null:YV(t)]}function rH(e,t,n){if(iH(e.size)){if(iH(t)&&iH(n)){if(e.size>n)return[!1,QV(n)];if(e.size<t)return[!1,$V(t)]}else if(iH(t)&&e.size<t)return[!1,$V(t)];else if(iH(n)&&e.size>n)return[!1,QV(n)]}return[!0,null]}function iH(e){return e!=null}function aH(e){return e!=null&&typeof e.then==`function`}function oH({files:e,accept:t,minSize:n,maxSize:r,multiple:i,maxFiles:a=0,validator:o,getErrorMessage:s}){let c=[],l=[],u=(e,t)=>s&&typeof File<`u`&&t instanceof File?{...e,message:s(e,t)}:e;e.forEach(e=>{let[i,a]=nH(e,t),[o,s]=rH(e,n,r);i&&o?c.push(e):l.push({file:e,errors:[a,s].filter(e=>e!=null).map(t=>u(t,e))})});let d=i?a>=1?a:1/0:1;return c.length>d&&c.slice(d).forEach(e=>{l.push({file:e,errors:[u(eH,e)]})}),l.length>0?{verdict:`reject`,rejections:l}:{verdict:o?`unknown`:`accept`,rejections:l}}function sH(e){return typeof e.isPropagationStopped==`function`?e.isPropagationStopped():e.cancelBubble!==void 0&&e.cancelBubble}function cH(e){let t=e.dataTransfer??e.clipboardData;return t?Array.prototype.some.call(t.types,e=>e===`Files`||e===`application/x-moz-file`)||Array.prototype.some.call(t.items??[],lH):!!e.target&&!!e.target.files}function lH(e){return typeof e==`object`&&!!e&&e.kind===`file`}function uH(e){e.preventDefault()}function dH(e){return e.indexOf(`MSIE`)!==-1||e.indexOf(`Trident/`)!==-1}function fH(e){return e.indexOf(`Edge/`)!==-1}function pH(e=window.navigator.userAgent){return dH(e)||fH(e)}function mH(...e){return(t,...n)=>e.some(e=>(!sH(t)&&e&&e(t,...n),sH(t)))}function hH(){return`showOpenFilePicker`in window}function gH(e){return Array.isArray(e)?e:typeof e==`string`?[e]:[]}function _H(e){if(iH(e))return Array.isArray(e)?e.filter(e=>iH(e)&&iH(e.accept)):[{accept:e}]}function vH(e){let t=[],n=Object.keys(e);for(let n of Object.values(e))for(let e of gH(n))t.includes(e)||t.push(e);return t.length>0?t.join(`, `):n.length>0?n.join(`, `):`Files`}function yH(e){let t=_H(e);if(!iH(t))return;let n={};for(let e of t)for(let[t,r]of Object.entries(e.accept)){let e=n[t]??(n[t]=[]);for(let t of gH(r))e.includes(t)||e.push(t)}return n}function bH(e){let t=_H(e);if(!iH(t))return;let n=t.map(e=>{let t=Object.entries(e.accept).filter(([e,t])=>{let n=!0;return TH(e)||(console.warn(`Skipped "${e}" because it is not a valid MIME type. Check https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Common_types for a list of valid MIME types.`),n=!1),(!(Array.isArray(t)||typeof t==`string`)||!gH(t).every(DH))&&(console.warn(`Skipped "${e}" because an invalid file extension was provided.`),n=!1),n}).reduce((e,[t,n])=>(e[t]=gH(n),e),{});return{description:iH(e.description)&&e.description!==``?e.description:vH(t),accept:t}}).filter(e=>Object.keys(e.accept).length>0);return n.length>0?n:void 0}function xH(e,{omitWildcardMimeTypesWithExtensions:t=!1}={}){if(iH(e))return Object.entries(e).reduce((e,[n,r])=>{let i=gH(r);return t&&EH(n)&&i.some(DH)?e.push(...i):e.push(n,...i),e},[]).filter(e=>TH(e)||DH(e)).join(`,`)}function SH(e){return e instanceof DOMException&&(e.name===`AbortError`||e.code===e.ABORT_ERR)}function CH(e){return e instanceof DOMException&&(e.name===`SecurityError`||e.code===e.SECURITY_ERR)}function wH(e){return e instanceof DOMException&&e.name===`NotAllowedError`}function TH(e){return e===`audio/*`||e===`video/*`||e===`image/*`||e===`text/*`||e===`application/*`||/\w+\/[-+.\w]+/g.test(e)}function EH(e){return e.endsWith(`/*`)}function DH(e){return/^.*\.[\w]+$/.test(e)}var OH=(0,g.forwardRef)(({children:e,...t},n)=>{let{open:r,...i}=AH(t);return(0,g.useImperativeHandle)(n,()=>({open:r}),[r]),(0,v.jsx)(v.Fragment,{children:e?.({...i,open:r})})});OH.displayName=`Dropzone`;var kH={isFocused:!1,isFileDialogActive:!1,isDragActive:!1,isDragAccept:!1,isDragReject:!1,isDragUnknown:!1,isDragGlobal:!1,isProcessing:!1,acceptedFiles:[],fileRejections:[],dragFileRejections:[]};function AH(e={}){let{accept:t,disabled:n=!1,getFilesFromEvent:r=CV,maxSize:i=1/0,minSize:a=0,multiple:o=!0,maxFiles:s=0,onDragEnter:c,onDragLeave:l,onDragOver:u,onDrop:d,onDropAccepted:f,onDropRejected:p,onFileDialogCancel:m,onFileDialogOpen:h,useFsAccessApi:_=!1,autoFocus:v=!1,preventDropOnDocument:y=!0,noClick:b=!1,noKeyboard:x=!1,noDrag:S=!1,noDragEventsBubbling:C=!1,noPaste:w=!1,onError:T,validator:E,getErrorMessage:D}=e,O=(0,g.useMemo)(()=>yH(t),[t]),k=(0,g.useMemo)(()=>xH(O),[O]),A=(0,g.useMemo)(()=>xH(O,{omitWildcardMimeTypesWithExtensions:!0}),[O]),j=(0,g.useMemo)(()=>bH(t),[t]),M=(0,g.useMemo)(()=>typeof h==`function`?h:MH,[h]),N=(0,g.useMemo)(()=>typeof m==`function`?m:MH,[m]),P=(0,g.useRef)(null),F=(0,g.useRef)(null),[I,ee]=(0,g.useReducer)(jH,kH),{isFocused:L,isFileDialogActive:te}=I,R=(0,g.useRef)(te);R.current=te;let z=(0,g.useRef)(null),ne=(0,g.useCallback)(()=>{z.current?.abort();let e=new AbortController;return z.current=e,ee({type:`setProcessing`,isProcessing:!0}),e.signal},[]),re=(0,g.useCallback)(e=>{e.aborted||ee({type:`setProcessing`,isProcessing:!1})},[]),ie=(0,g.useRef)(typeof window<`u`&&window.isSecureContext&&_&&hH()),ae=()=>{!ie.current&&te&&setTimeout(()=>{if(F.current){let{files:e}=F.current;e?.length||(ee({type:`closeDialog`}),N())}},300)};(0,g.useEffect)(()=>(window.addEventListener(`focus`,ae,!1),()=>{window.removeEventListener(`focus`,ae,!1)}),[F,te,N,ie]);let B=(0,g.useRef)([]),V=(0,g.useRef)([]),H=e=>{P.current&&e.target&&P.current.contains(e.target)&&e.defaultPrevented||(e.preventDefault(),B.current=[])};(0,g.useEffect)(()=>(y&&(document.addEventListener(`dragover`,uH,!1),document.addEventListener(`drop`,H,!1)),()=>{y&&(document.removeEventListener(`dragover`,uH),document.removeEventListener(`drop`,H))}),[P,y]),(0,g.useEffect)(()=>{let e=e=>{e.target&&(V.current=[...V.current,e.target]),cH(e)&&ee({isDragGlobal:!0,type:`setDragGlobal`})},t=e=>{V.current=V.current.filter(t=>t!==e.target&&t!==null),!(V.current.length>0)&&ee({isDragGlobal:!1,type:`setDragGlobal`})},n=()=>{V.current=[],ee({isDragGlobal:!1,type:`setDragGlobal`})},r=()=>{V.current=[],ee({isDragGlobal:!1,type:`setDragGlobal`})};return document.addEventListener(`dragenter`,e,!1),document.addEventListener(`dragleave`,t,!1),document.addEventListener(`dragend`,n,!1),document.addEventListener(`drop`,r,!1),()=>{document.removeEventListener(`dragenter`,e),document.removeEventListener(`dragleave`,t),document.removeEventListener(`dragend`,n),document.removeEventListener(`drop`,r)}},[P]),(0,g.useEffect)(()=>(!n&&v&&P.current&&P.current.focus(),()=>{}),[P,v,n]);let oe=(0,g.useCallback)(e=>{T?T(e):console.error(e)},[T]),se=(0,g.useCallback)(e=>{e.preventDefault(),e.persist?.(),xe(e),!R.current&&(B.current=[...B.current,e.target],cH(e)&&Promise.resolve(r(e)).then(t=>{if(sH(e)&&!C)return;let n=t.length>0?oH({files:t,accept:k,minSize:a,maxSize:i,multiple:o,maxFiles:s,validator:E,getErrorMessage:D}):null;ee({isDragAccept:n?.verdict===`accept`,isDragReject:n?.verdict===`reject`,isDragUnknown:n?.verdict===`unknown`,isDragActive:!0,dragFileRejections:n?.rejections??[],type:`setDraggedFiles`}),c&&c(e)}).catch(e=>oe(e)))},[r,c,oe,C,k,a,i,o,s,E,D]),ce=(0,g.useCallback)(e=>{if(e.preventDefault(),e.persist?.(),xe(e),R.current)return!1;let t=cH(e);if(t&&e.dataTransfer)try{e.dataTransfer.dropEffect=`copy`}catch{}return t&&u&&u(e),!1},[u,C]),le=(0,g.useCallback)(e=>{e.preventDefault(),e.persist?.(),xe(e);let t=B.current.filter(e=>P.current?.contains(e)),n=t.indexOf(e.target);n!==-1&&t.splice(n,1),B.current=t,!(t.length>0)&&(ee({type:`setDraggedFiles`,isDragActive:!1,isDragAccept:!1,isDragReject:!1,isDragUnknown:!1,dragFileRejections:[]}),cH(e)&&l&&l(e))},[P,l,C]),ue=(0,g.useCallback)(async(e,t,n)=>{let r=(e,t)=>D?{...e,message:D(e,t)}:e,c=e=>{let n=[],i=[];e.forEach(({file:e,accepted:t,acceptError:a,sizeMatch:o,sizeError:s,customErrors:c})=>{if(t&&o&&!c)n.push(e);else{let t=[a,s];c&&(t=t.concat(c)),i.push({file:e,errors:t.filter(e=>e!=null).map(t=>r(t,e))})}});let a=o?s>=1?s:1/0:1;n.length>a&&n.splice(a).forEach(e=>{i.push({file:e,errors:[r(eH,e)]})}),ee({acceptedFiles:n,fileRejections:i,type:`setFiles`}),d&&d(n,i,t),i.length>0&&p&&p(i,t),n.length>0&&f&&f(n,t)},l=e.map(e=>{let[t,n]=nH(e,A),[r,o]=rH(e,a,i);return{file:e,accepted:t,acceptError:n,sizeMatch:r,sizeError:o,customErrors:E?E(e):null}});if(!l.some(({customErrors:e})=>aH(e))){c(l);return}let u;try{u=await Promise.all(l.map(async({customErrors:e,...t})=>({...t,customErrors:await e})))}catch(e){n.aborted||(re(n),oe(e));return}n.aborted||c(u)},[ee,o,A,a,i,s,d,f,p,E,D,oe,re]),de=(0,g.useCallback)(e=>{if(e.preventDefault(),e.persist?.(),xe(e),B.current=[],!(R.current&&e.dataTransfer)&&(ee({type:`reset`}),cH(e))){let t=ne();Promise.resolve(r(e)).then(n=>{if(!t.aborted){if(sH(e)&&!C){re(t);return}return ue(n,e,t)}}).catch(e=>{t.aborted||(re(t),oe(e))})}},[r,ue,oe,C,ne,re]),U=(0,g.useCallback)(e=>{if(!cH(e))return;e.preventDefault(),e.persist?.(),xe(e);let t=ne();Promise.resolve(r(e)).then(n=>{if(!t.aborted){if(sH(e)&&!C){re(t);return}return ue(n,e,t)}}).catch(e=>{t.aborted||(re(t),oe(e))})},[r,ue,oe,C,ne,re]),fe=(0,g.useCallback)(()=>{if(ie.current){ee({type:`openDialog`}),M();let e={multiple:o,types:j},t;window.showOpenFilePicker(e).then(e=>(t=ne(),r(e))).then(e=>{if(ee({type:`closeDialog`}),!t.aborted)return ue(e,null,t)}).catch(e=>{t&&re(t),SH(e)?(N(e),ee({type:`closeDialog`})):CH(e)||wH(e)?(ie.current=!1,F.current?(F.current.value=``,F.current.click()):oe(Error(`Cannot open the file picker because the https://developer.mozilla.org/en-US/docs/Web/API/File_System_Access_API is not supported and no <input> was provided.`))):oe(e)});return}F.current&&(ee({type:`openDialog`}),M(),F.current.value=``,F.current.click())},[ee,M,N,_,ue,oe,j,o,ne,re]),pe=(0,g.useCallback)(e=>{P.current?.isEqualNode(e.target)&&(e.key===` `||e.key===`Enter`||e.keyCode===32||e.keyCode===13)&&(e.preventDefault(),fe())},[P,fe]),me=(0,g.useCallback)(()=>{ee({type:`focus`})},[]),he=(0,g.useCallback)(()=>{ee({type:`blur`})},[]),ge=(0,g.useCallback)(()=>{b||(pH()?setTimeout(fe,0):fe())},[b,fe]),_e=e=>n?null:e,ve=e=>x?null:_e(e),ye=e=>S?null:_e(e),be=e=>w?null:_e(e),xe=e=>{C&&e.stopPropagation()},Se=(0,g.useMemo)(()=>({refKey:e=`ref`,role:t,onKeyDown:r,onFocus:i,onBlur:a,onClick:o,onDragEnter:s,onDragOver:c,onDragLeave:l,onDrop:u,onPaste:d,...f}={})=>({onKeyDown:ve(mH(r,pe)),onFocus:ve(mH(i,me)),onBlur:ve(mH(a,he)),onClick:_e(mH(o,ge)),onDragEnter:ye(mH(s,se)),onDragOver:ye(mH(c,ce)),onDragLeave:ye(mH(l,le)),onDrop:ye(mH(u,de)),onPaste:be(mH(d,U)),role:typeof t==`string`&&t!==``?t:`presentation`,[e]:P,...!n&&!x?{tabIndex:0}:{},...n?{"aria-disabled":!0}:{},...f}),[P,pe,me,he,ge,se,ce,le,de,U,x,S,w,n]),Ce=(0,g.useCallback)(e=>{e.stopPropagation()},[]),we=(0,g.useMemo)(()=>({refKey:e=`ref`,onChange:t,onClick:n,...r}={})=>({accept:A,multiple:o,type:`file`,"aria-label":`file upload`,style:{border:0,display:`block`,height:0,margin:0,opacity:0,overflow:`hidden`,padding:0,width:0},onChange:_e(mH(t,de)),onClick:_e(mH(n,Ce)),tabIndex:-1,[e]:F,...r}),[F,t,o,de,n]);return{...I,isFocused:L&&!n,getRootProps:Se,getInputProps:we,rootRef:P,inputRef:F,open:_e(fe)}}function jH(e,t){switch(t.type){case`focus`:return{...e,isFocused:!0};case`blur`:return{...e,isFocused:!1};case`openDialog`:return{...kH,isFileDialogActive:!0};case`closeDialog`:return{...e,isFileDialogActive:!1};case`setDraggedFiles`:return{...e,isDragActive:t.isDragActive,isDragAccept:t.isDragAccept,isDragReject:t.isDragReject,isDragUnknown:t.isDragUnknown,dragFileRejections:t.dragFileRejections};case`setProcessing`:return{...e,isProcessing:t.isProcessing};case`setFiles`:return{...e,acceptedFiles:t.acceptedFiles,fileRejections:t.fileRejections,dragFileRejections:[],isProcessing:!1,isDragReject:!1,isDragUnknown:!1};case`setDragGlobal`:return{...e,isDragGlobal:t.isDragGlobal};case`reset`:return{...kH};default:return e}}function MH(){}function NH(e){return e<1024?`${e} B`:e<1048576?`${(e/1024).toFixed(+(e<10240))} KiB`:`${(e/1048576).toFixed(1)} MiB`}function PH(e){let t=e.errors[0]?.code;return t===`file-invalid-type`?`文件类型不受支持,请重新选择。`:t===`file-too-large`?`文件超过允许大小,请重新选择。`:t===`too-many-files`?`一次只能选择一个文件。`:e.errors[0]?.message||`文件无法读取,请重新选择。`}function FH({accept:e,maxSize:t,file:n,onFile:r,onError:i,ariaLabel:a=`选择文件`,hint:o=`拖放文件到这里,或点击选择`}){let{getRootProps:s,getInputProps:c,isDragActive:l,isDragReject:u,open:d}=AH({accept:e,maxSize:t,multiple:!1,noClick:!!n,onDropAccepted:e=>{i(``),r(e[0]||null)},onDropRejected:e=>{r(null),i(PH(e[0]))}});return(0,v.jsxs)(`div`,{...s({className:`studio-file-dropzone${l?` dragging`:``}${u?` rejected`:``}${n?` has-file`:``}`}),children:[(0,v.jsx)(`input`,{...c({"aria-label":a})}),n?(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(`span`,{className:`studio-file-icon`,children:(0,v.jsx)(vp,{size:20})}),(0,v.jsxs)(`span`,{className:`studio-file-copy`,children:[(0,v.jsx)(`strong`,{title:n.name,children:n.name}),(0,v.jsxs)(`small`,{children:[NH(n.size),` · 已准备检查`]})]}),(0,v.jsxs)(`span`,{className:`studio-file-actions`,children:[(0,v.jsx)(`button`,{className:`icon-button tertiary`,type:`button`,"aria-label":`替换 ${n.name}`,title:`替换文件`,onClick:e=>{e.stopPropagation(),d()},children:(0,v.jsx)(tm,{size:14})}),(0,v.jsx)(`button`,{className:`icon-button tertiary`,type:`button`,"aria-label":`移除 ${n.name}`,title:`移除文件`,onClick:e=>{e.stopPropagation(),r(null)},children:(0,v.jsx)(Sm,{size:15})})]})]}):(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(`span`,{className:`studio-file-icon`,children:(0,v.jsx)(xp,{size:20})}),(0,v.jsxs)(`span`,{className:`studio-file-copy`,children:[(0,v.jsx)(`strong`,{children:l?`松开即可选择`:o}),(0,v.jsx)(`small`,{children:`文件只会先做只读检查,确认后才写入 Catalog。`})]})]})]})}var IH=`def query_order(
|
|
211
|
+
order_id: str,
|
|
212
|
+
include_history: bool = False,
|
|
213
|
+
) -> dict[str, object]:
|
|
214
|
+
"""查询订单状态,并按需返回流转记录。"""
|
|
215
|
+
result: dict[str, object] = {
|
|
216
|
+
"order_id": order_id,
|
|
217
|
+
"status": "processing",
|
|
218
|
+
}
|
|
219
|
+
if include_history:
|
|
220
|
+
result["history"] = ["created", "paid"]
|
|
221
|
+
return result
|
|
222
|
+
`;function LH(){let[e,t]=(0,g.useState)(!1),n=(0,g.useId)();return(0,v.jsxs)(`section`,{className:`python-tool-example`,"aria-label":`Python Tool 编写帮助`,children:[(0,v.jsxs)(`button`,{className:`python-tool-example-trigger`,type:`button`,"aria-label":e?`收起编写示例`:`查看编写示例`,"aria-expanded":e,"aria-controls":n,onClick:()=>t(e=>!e),children:[(0,v.jsx)(Lf,{size:17,"aria-hidden":`true`}),(0,v.jsxs)(`span`,{children:[(0,v.jsx)(`strong`,{children:`Python Tool 怎么写?`}),(0,v.jsx)(`small`,{children:`查看可复制的函数样例与约定`})]}),(0,v.jsx)(qf,{className:`python-tool-example-chevron`,size:17,"aria-hidden":`true`})]}),e&&(0,v.jsxs)(`div`,{id:n,className:`python-tool-example-panel`,role:`region`,"aria-label":`Python Tool 编写示例`,children:[(0,v.jsx)(Xk,{code:IH,language:`python`,filename:`tool_example.py`,wrap:!0,showLineNumbers:!0}),(0,v.jsxs)(`ul`,{className:`python-tool-example-rules`,children:[(0,v.jsx)(`li`,{children:`公开函数需定义在模块顶层,同步与异步函数均可。`}),(0,v.jsx)(`li`,{children:`建议提供类型注解和 docstring,方便生成清晰的 Tool Contract。`}),(0,v.jsx)(`li`,{children:`返回值应可 JSON 序列化;模块导入阶段不要执行有副作用的逻辑。`})]})]})]})}var RH=GF().trim().min(1,`请填写显示名称`).max(128,`显示名称不能超过 128 个字符`),zH=GF().trim().min(2,`资源标识至少填写 2 个字符`).max(128,`资源标识不能超过 128 个字符`).regex(/^[a-z][a-z0-9._-]*$/,`资源标识只能包含小写字母、数字、点、下划线和连字符`),BH=GF().trim().min(1,`请填写 Python 标识`).max(128,`Python 标识不能超过 128 个字符`).regex(/^[A-Za-z_][A-Za-z0-9_]*$/,`请输入有效的 Python 标识`),VH=GF().trim().url(`请输入有效的接口地址`).max(1024,`接口地址不能超过 1024 个字符`),HH=GF().trim().max(512,`凭证引用不能超过 512 个字符`).regex(/^env:\/\/[A-Za-z_][A-Za-z0-9_]*$/,`凭证引用需使用 env://环境变量名`),UH=GF().trim().max(4096,`描述不能超过 4096 个字符`).default(``);OI({name:zH,displayName:RH,model:GF().trim().min(1,`请填写模型 ID`).max(256,`模型 ID 不能超过 256 个字符`),endpointUrl:VH,credentialRef:HH,description:UH.optional(),apiKey:GF().max(16384,`API Key 不能超过 16384 个字符`).default(``),temperature:pL().min(0,`temperature 需在 0-2 之间`).max(2,`temperature 需在 0-2 之间`).default(.2),maxTokens:pL().int(`max_tokens 需为 1-131072 的整数`).min(1,`max_tokens 需为 1-131072 的整数`).max(131072,`max_tokens 需为 1-131072 的整数`).default(2048),addressMode:zI([`endpoint`,`base`]).default(`endpoint`),wireApi:zI([``,`chat`,`responses`]).default(``)});var WH=OI({displayName:RH,name:zH,transport:zI([`stdio`,`sse`,`http`,`streamable-http`]),endpointUrl:GF().trim().max(1024,`Server URL 不能超过 1024 个字符`).default(``),command:GF().trim().max(4096,`Command 不能超过 4096 个字符`).default(``),args:GF().trim().max(8192,`Arguments 不能超过 8192 个字符`).default(``),apiKeyName:jI([VI(``),GF().trim().regex(/^[A-Za-z_][A-Za-z0-9_]*$/,`环境变量名需为合法标识符`)]).default(``),apiKeyValue:GF().max(16384,`API Key 不能超过 16384 个字符`).default(``),description:UH}).superRefine((e,t)=>{if(e.transport===`stdio`){e.command||t.addIssue({code:`custom`,path:[`command`],message:`请填写 Command`});return}if(!e.endpointUrl){t.addIssue({code:`custom`,path:[`endpointUrl`],message:`请填写 Server URL`});return}ZF().safeParse(e.endpointUrl).success||t.addIssue({code:`custom`,path:[`endpointUrl`],message:`请输入有效的 Server URL`})}),GH=OI({displayName:RH,name:BH,callableName:BH,description:GF().trim().max(1024,`描述不能超过 1024 个字符`).default(``),sourceMode:zI([`upload`,`workspace`]).default(`upload`),sourcePath:GF().trim().max(4096,`工作区路径不能超过 4096 个字符`).default(``)}).superRefine((e,t)=>{e.sourceMode===`workspace`&&!e.sourcePath&&t.addIssue({code:`custom`,path:[`sourcePath`],message:`请填写工作区 Python 文件`})}),KH=OI({value:GF().max(16384,`API Key 不能超过 16384 个字符`)}),qH=OI({sandbox:zI([`read-only`,`read_only`,`workspace-write`,`workspace-write-auto`,`full-access`]),harnessSandbox:zI([`read-only`,`workspace-write-local`,`workspace-write-remote`,`full-access`]).default(`workspace-write-local`),buildAfterCreate:vI(),codexProxy:zI([`auto`,`forced`,`direct`]),cloudRegion:GF().trim().max(128,`Region 不能超过 128 个字符`).default(``),cloudServerUrl:GF().trim().max(2048,`地址不能超过 2048 个字符`).default(``),cloudBucket:GF().trim().max(128,`KS3 Bucket 不能超过 128 个字符`).default(``),cloudAccessKey:GF().trim().max(256,`Access Key 不能超过 256 个字符`).default(``),cloudSecretKey:GF().trim().max(256,`Secret Key 不能超过 256 个字符`).default(``),cloudAccountId:GF().trim().max(128,`Account ID 不能超过 128 个字符`).default(``)});function JH(e){return e.status===`ready`||e.status===`conflict`}function YH(e){return new Set(e.filter(JH).map(e=>e.candidateId))}async function XH({candidates:e,selectedIds:t,overwriteIds:n,commit:r,onResult:i}){let a=e.filter(e=>t.has(e.candidateId)&&JH(e)),o=[];for(let e of a){let t;try{let i=await r(e,n.has(e.candidateId));t={candidateId:e.candidateId,status:`succeeded`,value:i}}catch(n){t={candidateId:e.candidateId,status:`failed`,error:n instanceof Error?n.message:String(n)}}o.push(t),i?.(t,o.length,a.length)}return{results:o,succeededIds:o.filter(e=>e.status===`succeeded`).map(e=>e.candidateId),failedIds:o.filter(e=>e.status===`failed`).map(e=>e.candidateId)}}var ZH={model:{title:`模型`,description:`管理模型端点和凭据引用。`,addLabel:`配置模型`,headings:[`发现来源`,`上下文窗口`,`输入模态`],icon:dp},tool:{title:`Tool`,description:`管理结构化 Tool Contract、权限和审批策略。`,addLabel:`添加 Python Tool`,headings:[`来源`,`Tool 分组`,`权限 / 边界`],icon:xm},mcp:{title:`MCP`,description:`连接、探测并复用 MCP Server。`,addLabel:`连接 MCP`,headings:[`来源`,`版本`,`说明`],icon:Up},skill:{title:`Skill`,description:`安装版本化 Skill,并在构建时锁定内容摘要。`,addLabel:`发现 Skill`,headings:[`来源`,`版本`,`说明`],icon:sm},"knowledge-base":{title:`知识库`,description:`管理可绑定到 Agent Revision 的云端知识库。`,addLabel:`连接金山云`,headings:[`区域`,`状态`,`说明`],icon:fp},"memory-instance":{title:`记忆库`,description:`管理长期记忆实例。`,addLabel:`连接金山云`,headings:[`区域`,`状态`,`说明`],icon:fp},"skill-space":{title:`Skill Center`,description:`管理云端 Skill Space。`,addLabel:`连接金山云`,headings:[`区域`,`状态`,`说明`],icon:sm}},QH={provider:`模型服务`,builtin:`ksadk 内置`,local:`工作区自定义`,market:`市场`},$H=20;async function eU(e,t){let n=await e.text().catch(()=>``);try{return JSON.parse(n)?.error?.message||`${t}(${e.status})`}catch{return`${t}(${e.status})`}}async function tU(e){let t=new Set([`SUCCEEDED`,`FAILED`,`CANCELLED`,`INTERRUPTED`]);for(let n=0;n<600;n+=1){let n=await q(`/api/v1/operations/${encodeURIComponent(e)}`),r=await n.json().catch(()=>null);if(!n.ok)throw Error(r?.error?.message||`构建状态获取失败`);if(t.has(r?.status)){if(r.status!==`SUCCEEDED`)throw Error(r?.error?.message||`Skill 已绑定,但新构建未完成`);return}await new Promise(e=>window.setTimeout(e,200))}throw Error(`Skill 已绑定,但等待新构建超时`)}function nU(e){return e.requiredSecretRefs?.[0]||e.contract?.credentialRef||``}function rU(e){return e.replace(/^env:\/\//,``)}function iU(e){let t=Number(e||0);return t<1024?`${t} B`:t<1048576?`${(t/1024).toFixed(1)} KiB`:`${(t/1024/1024).toFixed(1)} MiB`}function aU({kind:e,onKindChange:t,refreshTick:n,onOpenModelSetup:r}){let[i,a]=(0,g.useState)([]),[o,s]=(0,g.useState)(``),c=(0,g.useDeferredValue)(o),[l,u]=(0,g.useState)(``),[d,f]=(0,g.useState)(``),[p,m]=(0,g.useState)(`default`),[h,_]=(0,g.useState)($H),[y,b]=(0,g.useState)(0),[x,S]=(0,g.useState)([null]),[C,w]=(0,g.useState)(null),[T,E]=(0,g.useState)(0),[D,O]=(0,g.useState)(!0),[k,A]=(0,g.useState)(``),[j,M]=(0,g.useState)(null),[N,P]=(0,g.useState)(!1),[F,I]=(0,g.useState)(null),[ee,L]=(0,g.useState)(null),[te,R]=(0,g.useState)(!1),[z,ne]=(0,g.useState)(!1),[re,ie]=(0,g.useState)(null),[ae,B]=(0,g.useState)(!1),V=(0,g.useRef)(0),H=(0,g.useCallback)(async t=>{let n=++V.current,r=new URLSearchParams({kind:e,limit:String(h),sort:p});c.trim()&&r.set(`query`,c.trim()),l&&r.set(`status`,l),d&&r.set(`source`,d),t&&r.set(`cursor`,t),O(!0),A(``);try{let e=await q(`/api/v1/catalog/resources?${r}`);if(!e.ok)throw Error(await eU(e,`资源加载失败`));let t=await e.json();if(V.current!==n)return;a(t.items||[]),w(t.nextCursor||null),E(Number(t.total)||0)}catch(e){if(V.current!==n)return;a([]),w(null),E(0),A(e instanceof Error?e.message:`资源加载失败`)}finally{V.current===n&&O(!1)}},[c,e,h,p,d,l]),oe=(0,g.useCallback)(()=>{S([null]),b(0),H(null)},[H]),se=(0,g.useCallback)(()=>{H(x[y]||null)},[x,H,y]);(0,g.useEffect)(()=>{oe()},[n,oe]);let ce=(0,g.useCallback)(async e=>{try{let t=await q(`/api/v1/catalog/mcp-servers/${encodeURIComponent(e.resourceId)}:probe?timeoutSeconds=15`,{method:`POST`});if(!t.ok)throw Error(await eU(t,`MCP 探测失败`));let n=await t.json();se(),CL(`MCP 探测完成`,`已发现 ${n.health?.toolCount||0} 个 Tool。`)}catch(e){se(),CL(`MCP 探测失败`,e.message,`error`)}},[se]);async function le(){if(re){B(!0);try{let e=await q(`/api/v1/catalog/resources/${encodeURIComponent(re.resourceId)}`,{method:`DELETE`});if(!e.ok)throw Error(await eU(e,`删除失败`));if(ie(null),i.length===1&&y>0){let e=y-1;b(e),await H(x[e]||null)}else await H(x[y]||null);CL(`资源已删除`,`${re.displayName||re.name} 已从工作区移除。`)}catch(e){CL(`删除失败`,e.message,`error`)}B(!1)}}function ue(){if(e===`model`){r?.();return}if(e===`mcp`){P(!0);return}if(e===`skill`){R(!0);return}ne(!0)}let de=!!(o.trim()||l||d);function U(){s(``),u(``),f(``)}let fe=ZH[e],pe=(0,g.useMemo)(()=>[{id:`name`,header:`名称`,minWidth:190,className:`resource-name-column`,headerClassName:`resource-name-column`,cell:e=>(0,v.jsx)(cU,{item:e})},{id:`source`,header:fe.headings[0],minWidth:120,className:`resource-source-column`,headerClassName:`resource-source-column`,cell:e=>QH[e.source]||e.source},{id:`detail`,header:fe.headings[1],minWidth:110,className:`resource-detail-column`,headerClassName:`resource-detail-column`,cell:e=>(0,v.jsx)(lU,{item:e})},{id:`capability`,header:fe.headings[2],minWidth:180,className:`capability-cell resource-capability-column`,headerClassName:`resource-capability-column`,cell:e=>(0,v.jsx)(uU,{item:e})},{id:`status`,header:`状态`,minWidth:92,className:`resource-status-column`,headerClassName:`resource-status-column`,cell:e=>(0,v.jsx)(dU,{item:e})},{id:`actions`,header:`操作`,minWidth:108,className:`actions-column resource-actions-column`,headerClassName:`actions-column resource-actions-column`,cell:e=>(0,v.jsx)(fU,{item:e,onConfigure:()=>M(e),onView:()=>e.kind===`mcp`?I(e):L(e),onProbe:()=>ce(e),onDelete:()=>ie(e)})}],[fe.headings,ce]),me=(0,g.useCallback)(()=>{if(y<=0)return;let e=y-1;b(e),H(x[e]||null)},[x,H,y]),he=(0,g.useCallback)(()=>{if(!C)return;let e=y+1;S(t=>{let n=t.slice(0,e);return n[e]=C,n}),b(e),H(C)},[H,C,y]);return(0,v.jsxs)(`div`,{className:`page-container resources-page`,"data-layout":`data`,"data-scroll-mode":`data`,children:[(0,v.jsx)(FT,{children:(0,v.jsxs)(`button`,{className:`button accent`,type:`button`,onClick:ue,children:[(0,v.jsx)($p,{size:15}),(0,v.jsx)(`span`,{children:fe.addLabel})]})}),(0,v.jsxs)(`div`,{className:`data-page-body table-data-body`,children:[(0,v.jsx)(`div`,{className:`page-tabs`,role:`tablist`,"aria-label":`资源类型`,children:Object.keys(ZH).map(n=>(0,v.jsxs)(`button`,{type:`button`,role:`tab`,"aria-selected":e===n,onClick:()=>t(n),children:[ZH[n].title,e===n&&(0,v.jsx)(`span`,{className:`n`,children:T})]},n))}),(0,v.jsxs)(`div`,{className:`section-toolbar`,children:[(0,v.jsxs)(`div`,{className:`search-field`,children:[(0,v.jsx)(nm,{size:14}),(0,v.jsx)(`input`,{type:`search`,placeholder:`搜索资源`,value:o,onChange:e=>s(e.target.value)})]}),(0,v.jsx)(Wk,{className:`compact-select`,ariaLabel:`筛选资源状态`,value:l||`__all__`,options:[{value:`__all__`,label:`全部状态`},{value:`ready`,label:`可用`},{value:`missing-secret`,label:`缺少凭证`},{value:`unhealthy`,label:`异常`},{value:`unresolved`,label:`未解析`}],onValueChange:e=>u(e===`__all__`?``:e)}),(0,v.jsxs)(`details`,{className:`resource-filter-details`,children:[(0,v.jsxs)(`summary`,{children:[`更多选项`,d||p!=="default"||h!==$H?` · 已设置`:``]}),(0,v.jsxs)(`div`,{className:`resource-filter-fields`,children:[(0,v.jsx)(Wk,{className:`compact-select`,ariaLabel:`筛选资源来源`,value:d||`__all__`,options:[{value:`__all__`,label:`全部来源`},{value:`provider`,label:`模型服务`},{value:`builtin`,label:`ksadk 内置`},{value:`local`,label:`工作区自定义`},{value:`market`,label:`市场`}],onValueChange:e=>f(e===`__all__`?``:e)}),(0,v.jsx)(Wk,{className:`compact-select`,ariaLabel:`资源排序`,value:p,options:[{value:`default`,label:`默认排序`},{value:`displayName:asc`,label:`名称升序`},{value:`displayName:desc`,label:`名称降序`}],onValueChange:m}),(0,v.jsx)(Wk,{className:`compact-select`,ariaLabel:`每页显示数量`,value:String(h),options:[{value:`20`,label:`每页 20 条`},{value:`50`,label:`每页 50 条`},{value:`100`,label:`每页 100 条`}],onValueChange:e=>_(Number(e))})]})]}),de&&(D||i.length>0||k)&&(0,v.jsx)(`button`,{className:`button tertiary small`,type:`button`,onClick:U,children:`清除筛选`})]}),(0,v.jsx)(kO,{columns:pe,data:i,getRowId:e=>e.resourceId,caption:`${fe.title}资源列表`,minWidth:0,loading:D,error:k,onRetry:se,empty:{icon:(0,v.jsx)(fp,{size:20}),title:de?`没有匹配的资源`:`还没有${fe.title}`,description:de?`试试其他搜索词或清除筛选。`:`点击右上角「${fe.addLabel}」开始添加。`,action:de?(0,v.jsx)(`button`,{className:`button secondary`,type:`button`,onClick:U,children:`清除筛选`}):void 0},pagination:{pageIndex:y,pageSize:h,total:T,hasNextPage:!!C,onPreviousPage:me,onNextPage:he}})]}),j&&(0,v.jsx)(pU,{model:j,onClose:()=>M(null),onChanged:oe}),N&&(0,v.jsx)(mU,{onClose:()=>P(!1),onConnected:()=>{P(!1),oe()}}),F&&(0,v.jsx)(hU,{item:F,onClose:()=>I(null)}),ee&&(0,v.jsx)(gU,{item:ee,onClose:()=>L(null)}),te&&(0,v.jsx)(_U,{onClose:()=>R(!1),onCatalogChanged:oe}),z&&(0,v.jsx)(vU,{onClose:()=>ne(!1),onAdded:()=>{ne(!1),oe()}}),re&&(0,v.jsx)(Db,{title:`确认删除资源「${re.displayName||re.name}」?`,description:`删除后已绑定该资源的 Agent 不会自动更新,需手动重新编辑。`,confirmText:`确认删除`,busy:ae,onConfirm:le,onCancel:()=>ie(null)})]})}var oU=new Set([`knowledge-base`,`memory-instance`,`skill-space`]);function sU(e){return oU.has(e.kind)?(0,v.jsx)(Pz,{kind:e.kind,onKindChange:e.onKindChange,refreshTick:e.refreshTick}):(0,v.jsx)(aU,{...e,kind:e.kind})}function cU({item:e}){let t=ZH[e.kind]?.icon||fp,n=e.name&&e.name!==e.displayName;return(0,v.jsxs)(`div`,{className:`agent-cell`,children:[(0,v.jsx)(`span`,{className:`capability-icon`,children:(0,v.jsx)(t,{size:15})}),(0,v.jsxs)(`div`,{className:`agent-cell-copy`,children:[(0,v.jsx)(`strong`,{children:e.displayName}),n&&(0,v.jsx)(`span`,{children:e.name})]})]})}function lU({item:e}){if(e.kind===`model`){let t=e.contract?.metadata||{},n=Number(t.context_window_tokens||0),r=e.contract?.discovery?.contextWindow===`provider`?`服务返回`:`ksadk 默认`,i=n>=1e6?`${(n/1e6).toFixed(n%1e6?1:0)}M`:n>=1e3?`${Math.round(n/1e3)}K`:`${n||`-`}`;return(0,v.jsx)(`strong`,{title:`上下文窗口来源:${r}`,children:i})}return e.kind===`tool`?(0,v.jsx)(`span`,{className:`tag`,children:e.contract?.group||e.category||`general`}):(0,v.jsx)(`span`,{className:`mono`,children:e.version})}function uU({item:e}){if(e.kind===`model`){let t=e.contract?.metadata?.capabilities||{},n=[`文字`];t.multimodal_input_image&&n.push(`图片`),t.multimodal_input_video&&n.push(`视频`),t.multimodal_input_file&&n.push(`文件`);let r=e.contract?.discovery?.inputModalities===`provider`?`服务返回`:`ksadk 默认`;return(0,v.jsx)(`span`,{title:`输入模态来源:${r}`,children:n.join(` + `)})}if(e.kind===`tool`){let t=e.contract?.approval===`always`?`需审批`:`无需审批`,n=e.contract?.boundary||`ksadk-runtime`;return(0,v.jsxs)(v.Fragment,{children:[t,(0,v.jsx)(`span`,{className:`resource-origin`,children:n})]})}let t=e.description||`未提供说明`;return(0,v.jsx)(`span`,{className:`cell-clamp`,title:t,children:t})}function dU({item:e}){if(e.kind===`model`){let t=e.status===`ready`;return(0,v.jsx)(`span`,{className:`badge`,"data-state":t?`ready`:`pending`,children:t?`凭证已配置`:`凭证未配置`})}let t=e.status===`ready`?`可用`:e.status===`failed`||e.status===`unhealthy`?`异常`:e.status===`unresolved`?`未解析`:e.status===`missing-secret`?`缺少凭证`:e.status;return(0,v.jsx)(`span`,{className:`badge`,"data-state":e.status===`ready`?`ready`:e.status===`failed`||e.status===`unhealthy`?`failed`:`pending`,children:t})}function fU({item:e,onConfigure:t,onView:n,onProbe:r,onDelete:i}){let a=e.kind===`mcp`?[{label:`重新探测`,onSelect:r,disabled:e.source!==`local`},...e.source===`local`?[{label:`删除`,danger:!0,onSelect:i}]:[]]:[{label:`查看详情`,onSelect:n},...e.source===`local`?[{label:`删除`,danger:!0,onSelect:i}]:[]];return(0,v.jsxs)(`div`,{className:`row-actions`,children:[(0,v.jsx)(`button`,{className:`button secondary small`,type:`button`,onClick:e.kind===`model`?t:n,children:e.kind===`model`?`配置凭证`:`查看`}),(0,v.jsx)(MT,{label:`${e.displayName} 的更多操作`,items:a})]})}function pU({model:e,onClose:t,onChanged:n}){let r=nU(e),i=rU(r),[a,o]=(0,g.useState)(null),s=Pj({resolver:Wj(KH),defaultValues:{value:``}}),[c,l]=(0,g.useState)(null),[u,d]=(0,g.useState)(``);(0,g.useEffect)(()=>{q(`/api/v1/credentials/${encodeURIComponent(i)}`).then(e=>e.json()).then(o).catch(()=>o({configured:!1,source:`missing`}))},[i]);let f=!!a?.configured,p=a?.source||`missing`,m=a==null?`正在检查凭证`:f?`模型凭证已配置`:`模型凭证未配置`,h=a==null?`检查当前 Runtime 是否已经获得模型凭证。`:p===`session`?`当前工作区中引用此凭证的 Agent 可复用。`:p===`environment`?`凭证由启动环境变量提供,可保存新值覆盖当前工作区的使用配置。`:`输入 API Key 后即可在本地运行当前模型。`;async function _(r,a){if(l(null),!a.value&&!f){s.setError(`value`,{type:`manual`,message:`当前模型还没有可用凭证,请输入 API Key。`});return}d(r?`test`:`save`);let o=!1;try{if(a.value){let e=await q(`/api/v1/credentials/${encodeURIComponent(i)}`,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify({value:a.value,persistence:`session`})});if(!e.ok)throw Error(await eU(e,`凭证保存失败`));o=!0}let s=null;if(r){let t=await q(`/api/v1/model-profiles/${encodeURIComponent(e.resourceId)}:test`,{method:`POST`}),n=await t.text().catch(()=>``),r={};try{r=JSON.parse(n)}catch{}if(!t.ok||r.ok===!1)throw Error(r?.error?.message||`HTTP ${t.status}`);s=r.latencyMs??0}n?.(),t(),CL(r?`模型连接测试通过`:`模型凭证已保存`,r?`${e.displayName} · ${s} ms`:`凭证已保存到当前工作区。`)}catch(e){l({title:o?`凭证已保存,但连接测试失败`:`模型凭证配置失败`,message:e.message}),o&&n?.()}d(``)}async function y(){l(null),d(`remove`);try{let r=await q(`/api/v1/credentials/${encodeURIComponent(i)}`,{method:`DELETE`});if(!r.ok)throw Error(await eU(r,`凭证清除失败`));n?.(),CL(`已保存凭证已清除`,e.displayName),t()}catch(e){l({title:`凭证清除失败`,message:e.message})}d(``)}return(0,v.jsx)(nj,{...s,children:(0,v.jsxs)(sV,{title:`配置模型凭证`,subtitle:`凭证保存到当前工作区,不写入 Agent 或 Bundle。`,onClose:t,footer:(0,v.jsxs)(v.Fragment,{children:[p===`session`&&(0,v.jsx)(`button`,{className:`button secondary`,type:`button`,onClick:y,disabled:u!==``,children:u===`remove`?`正在清除`:`清除已保存凭证`}),(0,v.jsx)(`span`,{className:`drawer-footer-spacer`}),(0,v.jsx)(`button`,{className:`button secondary`,type:`button`,onClick:t,children:`取消`}),(0,v.jsx)(`button`,{className:`button secondary`,type:`button`,onClick:s.handleSubmit(e=>_(!1,e)),disabled:u!==``,children:u===`save`?`正在保存`:`仅保存`}),(0,v.jsxs)(`button`,{className:`button accent`,type:`button`,onClick:s.handleSubmit(e=>_(!0,e)),disabled:u!==``,children:[(0,v.jsx)(Kf,{size:15}),(0,v.jsx)(`span`,{children:u===`test`?`正在测试`:`保存并测试`})]})]}),children:[(0,v.jsxs)(`div`,{className:`credential-profile`,children:[(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`span`,{children:`模型`}),(0,v.jsx)(`strong`,{children:e.displayName})]}),(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`span`,{children:`Provider`}),(0,v.jsx)(`strong`,{children:e.contract?.provider||`openai-compatible`})]}),(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`span`,{children:`Endpoint`}),(0,v.jsx)(`code`,{children:e.contract?.endpointUrl||e.contract?.baseUrl||`-`})]}),(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`span`,{children:`凭证引用`}),(0,v.jsx)(`code`,{children:r||`-`})]})]}),(0,v.jsxs)(`div`,{className:`credential-status ${f?`configured`:`missing`}`,children:[(0,v.jsx)(`span`,{className:`status-dot ${a==null?`warning`:f?`success`:`warning`}`}),(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`strong`,{children:m}),(0,v.jsx)(`p`,{children:h})]})]}),(0,v.jsx)(Y,{label:`API Key`,requirement:f?`optional`:`required`,htmlFor:`modelCredValue`,hint:f?`留空保留现有凭证。`:`输入此模型使用的 API Key。`,error:s.formState.errors.value?.message,children:(0,v.jsx)(`input`,{id:`modelCredValue`,type:`password`,autoComplete:`new-password`,maxLength:16384,placeholder:f?`输入新的 API Key 以覆盖当前凭证`:`输入新的 API Key`,...s.register(`value`)})}),c&&(0,v.jsx)(cV,{kind:`error`,title:c.title,message:c.message})]})})}function mU({onClose:e,onConnected:t}){let n=(0,g.useRef)(null),r=Pj({resolver:Wj(WH),defaultValues:{displayName:``,name:``,transport:`http`,command:``,args:``,endpointUrl:``,apiKeyName:``,apiKeyValue:``,description:``}}),{transport:i}=r.watch(),[a,o]=(0,g.useState)(``),[s,c]=(0,g.useState)(!1);function l(){let e=n.current?.value.trim();if(!e)return;let t;try{t=JSON.parse(e)}catch{CL(`配置解析失败`,`请粘贴有效的 JSON`,`error`);return}let i=e=>typeof e==`object`&&!!e&&!Array.isArray(e);if(!i(t)){CL(`配置解析失败`,`未找到 MCP server 定义`,`error`);return}let a=t.mcpServers??t.mcp_servers??t;if(!i(a)){CL(`配置解析失败`,`未找到 MCP server 定义`,`error`);return}let o=Object.keys(a)[0],s=a[o];if(!i(s)){CL(`配置解析失败`,`未找到 MCP server 定义`,`error`);return}r.setValue(`name`,o,{shouldValidate:!0}),r.setValue(`displayName`,s.name||o,{shouldValidate:!0}),s.description&&r.setValue(`description`,s.description);let c=String(s.type||s.transport||``).toLowerCase();c.includes(`http`)||s.url?(r.setValue(`transport`,c===`sse`?`sse`:`http`),s.url&&r.setValue(`endpointUrl`,s.url,{shouldValidate:!0})):(r.setValue(`transport`,`stdio`),s.command&&r.setValue(`command`,s.command,{shouldValidate:!0}),Array.isArray(s.args)&&r.setValue(`args`,s.args.join(` `)));let l=s.headers||{},u=l.Authorization||l.authorization;if(u){let e=String(u).match(/\$\{?([A-Za-z0-9_]+)\}?/);e&&r.setValue(`apiKeyName`,e[1],{shouldValidate:!0})}else s.env_key&&r.setValue(`apiKeyName`,s.env_key,{shouldValidate:!0})}async function u(e){o(``),c(!0);try{if(e.apiKeyName.trim()&&e.apiKeyValue.trim()){let t=await q(`/api/v1/credentials/${encodeURIComponent(e.apiKeyName.trim())}`,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify({value:e.apiKeyValue.trim(),persistence:`session`})});if(!t.ok)throw Error(await eU(t,`凭证保存失败`))}let n=e.transport===`streamable-http`?`http`:e.transport,i=n===`stdio`?e.apiKeyName.trim():`Authorization`,a={name:e.name.trim(),version:`1.0.0`,transport:n,args:n===`stdio`?e.args.trim().split(/\s+/).filter(Boolean):[],envRefs:e.apiKeyName.trim()?{[i]:`env://${e.apiKeyName.trim()}`}:{}};n===`stdio`?a.command=e.command.trim():a.endpointUrl=e.endpointUrl.trim();let o=await q(`/api/v1/catalog/mcp-servers`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({displayName:e.displayName.trim(),description:e.description.trim(),server:a})}),s=await o.json().catch(()=>null);if(!o.ok){if(AB(s,r.setError)){c(!1);return}throw Error(s?.error?.message||`保存失败(${o.status})`)}let l=await q(`/api/v1/catalog/mcp-servers/${encodeURIComponent(s.resourceId)}:probe?timeoutSeconds=15`,{method:`POST`});if(!l.ok)throw Error(await eU(l,`探测失败`));CL(`MCP 已连接`,`已发现 ${(await l.json()).health?.toolCount||0} 个 Tool。`),t()}catch(e){o(e.message)}c(!1)}return(0,v.jsx)(nj,{...r,children:(0,v.jsxs)(sV,{title:`连接 MCP Server`,subtitle:`连接后可在 Agent 中使用。`,onClose:e,footer:(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(`button`,{className:`button secondary`,type:`button`,onClick:e,children:`取消`}),(0,v.jsxs)(`button`,{className:`button accent`,type:`button`,onClick:r.handleSubmit(u),disabled:s,children:[(0,v.jsx)(Up,{size:15}),(0,v.jsx)(`span`,{children:s?`正在探测`:`保存并探测`})]})]}),children:[(0,v.jsx)(Y,{label:`粘贴 MCP 配置`,requirement:`optional`,htmlFor:`mcpPaste`,hint:`粘贴 JSON 后会自动填充下方字段。`,children:(0,v.jsx)(`textarea`,{id:`mcpPaste`,ref:n,rows:5,placeholder:'{"mcpServers":{"metaso":{"type":"streamable-http","url":"https://...","headers":{"Authorization":"Bearer ${KSC_AIPRO_API_KEY}"}}}}',onPaste:()=>window.setTimeout(l,0)})}),(0,v.jsxs)(`div`,{className:`form-grid two-columns`,children:[(0,v.jsx)(Y,{label:`显示名称`,requirement:`required`,htmlFor:`mcpDisplayName`,error:r.formState.errors.displayName?.message,children:(0,v.jsx)(`input`,{id:`mcpDisplayName`,placeholder:`Web Research MCP`,...r.register(`displayName`)})}),(0,v.jsx)(Y,{label:`Server 名称`,requirement:`required`,htmlFor:`mcpName`,error:r.formState.errors.name?.message,children:(0,v.jsx)(`input`,{id:`mcpName`,className:`mono`,placeholder:`web-research`,...r.register(`name`)})})]}),(0,v.jsx)(Y,{label:`Transport`,requirement:`required`,htmlFor:`mcpTransport`,error:r.formState.errors.transport?.message,children:(0,v.jsx)(Wk,{id:`mcpTransport`,ariaLabel:`Transport`,value:i,options:[{value:`http`,label:`Streamable HTTP`},{value:`stdio`,label:`STDIO(本地命令)`},{value:`sse`,label:`SSE`}],onValueChange:e=>r.setValue(`transport`,e,{shouldDirty:!0,shouldValidate:!0})})}),i===`stdio`&&(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(Y,{label:`Command`,requirement:`required`,htmlFor:`mcpCommand`,error:r.formState.errors.command?.message,children:(0,v.jsx)(`input`,{id:`mcpCommand`,className:`mono`,placeholder:`npx`,...r.register(`command`)})}),(0,v.jsx)(Y,{label:`Arguments`,requirement:`optional`,htmlFor:`mcpArgs`,error:r.formState.errors.args?.message,children:(0,v.jsx)(`input`,{id:`mcpArgs`,className:`mono`,placeholder:`-y @your-org/web-research-mcp`,...r.register(`args`)})})]}),i!==`stdio`&&(0,v.jsx)(Y,{label:`Server URL`,requirement:`required`,htmlFor:`mcpEndpoint`,error:r.formState.errors.endpointUrl?.message,children:(0,v.jsx)(`input`,{id:`mcpEndpoint`,className:`mono`,placeholder:`https://mcp.example.com/mcp`,...r.register(`endpointUrl`)})}),(0,v.jsx)(Y,{label:`API Key 环境变量名`,requirement:`optional`,htmlFor:`mcpApiKey`,error:r.formState.errors.apiKeyName?.message,children:(0,v.jsx)(`input`,{id:`mcpApiKey`,className:`mono`,placeholder:`KSC_AIPRO_API_KEY`,...r.register(`apiKeyName`)})}),(0,v.jsx)(Y,{label:`API Key 值`,requirement:`optional`,htmlFor:`mcpApiKeyValue`,hint:`保存到当前工作区;留空则使用现有凭证或环境变量。`,error:r.formState.errors.apiKeyValue?.message,children:(0,v.jsx)(`input`,{id:`mcpApiKeyValue`,type:`password`,autoComplete:`new-password`,placeholder:`留空则从环境变量读取`,...r.register(`apiKeyValue`)})}),(0,v.jsx)(Y,{label:`说明`,requirement:`optional`,htmlFor:`mcpDescription`,error:r.formState.errors.description?.message,children:(0,v.jsx)(`textarea`,{id:`mcpDescription`,rows:2,placeholder:`提供 Web 搜索和页面抓取能力`,...r.register(`description`)})}),a&&(0,v.jsx)(cV,{kind:`error`,title:`连接失败`,message:a})]})})}function hU({item:e,onClose:t}){let n=e.contract||{},r=e.health||{},i=n.discoveredTools||r.discoveredTools||[],a=[[`Resource ID`,e.resourceId],[`Transport`,n.transport||`-`],[`Endpoint`,n.endpointUrl||n.command||`-`],[`状态`,r.status||e.status],[`工具数`,r.toolCount??i.length],[`凭证`,(e.requiredSecretRefs||[]).join(`、`)||`无`]];return(0,v.jsxs)(sV,{title:e.displayName||e.name,subtitle:`${e.name} · ${e.version} · ${n.transport||``}`,onClose:t,children:[(0,v.jsx)(`dl`,{className:`trace-detail-grid`,children:a.map(([e,t])=>(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`dt`,{children:e}),(0,v.jsx)(`dd`,{children:String(t)})]},e))}),(0,v.jsx)(`div`,{className:`inspector-title inspector-title-spaced`,children:`已发现工具`}),(0,v.jsx)(`div`,{className:`resource-detail-list`,children:i.length===0?(0,v.jsx)(`div`,{className:`resource-detail-item`,children:(0,v.jsxs)(`span`,{className:`resource-detail-item-copy`,children:[(0,v.jsx)(`strong`,{children:`未发现工具`}),(0,v.jsx)(`span`,{children:`点击“重新探测”以加载工具列表`})]})}):i.map(e=>(0,v.jsxs)(`div`,{className:`resource-detail-item`,children:[(0,v.jsx)(`span`,{className:`capability-icon`,children:(0,v.jsx)(xm,{size:15})}),(0,v.jsxs)(`span`,{className:`resource-detail-item-copy`,children:[(0,v.jsx)(`strong`,{children:e.name}),(0,v.jsx)(`span`,{children:e.description||``})]})]},e.name))})]})}function gU({item:e,onClose:t}){let[n,r]=(0,g.useState)(!1),i=e.contract||{},a=[[`Resource ID`,e.resourceId],[`来源`,QH[e.source]||e.source],[`版本`,e.version||`-`],[`状态`,e.kind===`model`?e.status===`ready`?`凭证已配置`:`凭证未配置`:e.status]];return e.kind===`tool`&&(a.push([`Tool 分组`,i.group||e.category||`general`]),a.push([`审批`,i.approval===`always`?`需审批`:`无需审批`]),a.push([`边界`,i.boundary||`ksadk-runtime`]),i.sourcePath&&a.push([`源码`,`${i.sourcePath} · ${i.callableName||`-`}()`])),e.kind===`skill`&&i?.contentSha256&&a.push([`内容摘要`,i.contentSha256]),(0,v.jsxs)(sV,{title:e.displayName||e.name,subtitle:`${e.name} · ${e.version}`,onClose:t,children:[(0,v.jsx)(`dl`,{className:`trace-detail-grid`,children:a.map(([e,t])=>(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`dt`,{children:e}),(0,v.jsx)(`dd`,{children:String(t)})]},e))}),(0,v.jsx)(`div`,{className:`inspector-title inspector-title-spaced`,children:`说明`}),(0,v.jsx)(`p`,{style:{margin:0,color:`var(--studio-text-secondary)`,fontSize:`var(--font-size-meta)`,lineHeight:`var(--line-height-body)`},children:e.description||i.description||`未提供说明`}),e.kind===`skill`&&e.source===`local`&&(0,v.jsxs)(`button`,{className:`button secondary skill-files-open`,type:`button`,onClick:()=>r(!0),children:[(0,v.jsx)(gp,{size:15}),(0,v.jsx)(`span`,{children:`查看 Skill 文件`})]}),n&&(0,v.jsx)(gV,{title:e.displayName||e.name,endpoint:`/api/v1/catalog/skills/${encodeURIComponent(e.resourceId)}/files`,onClose:()=>r(!1)})]})}function _U({onClose:e,onCatalogChanged:t}){let[n,r]=(0,g.useState)(`local`),[i,a]=(0,g.useState)(``),[o,s]=(0,g.useState)(``),[c,l]=(0,g.useState)(`main`),[u,d]=(0,g.useState)([]),[f,p]=(0,g.useState)(``),[m,h]=(0,g.useState)(!0),[_,y]=(0,g.useState)(null),[b,x]=(0,g.useState)(new Set),[S,C]=(0,g.useState)({}),[w,T]=(0,g.useState)(null),[E,D]=(0,g.useState)({completed:0,total:0}),[O,k]=(0,g.useState)(``),[A,j]=(0,g.useState)(``),[M,N]=(0,g.useState)(!1),[P,F]=(0,g.useState)(!1),[I,ee]=(0,g.useState)(null),[L,te]=(0,g.useState)(null),R=_?.candidates||[];(0,g.useEffect)(()=>{let e=!0;return q(`/api/v1/agents?limit=200`).then(async e=>e.ok?e.json():{items:[]}).then(t=>{e&&d(t.items||[])}).catch(()=>void 0),()=>{e=!1}},[]);function z(){x(new Set),C({}),T(null),D({completed:0,total:0}),k(``),ee(null)}async function ne(){let e=_?.inspectionToken;e&&await q(`/api/v1/catalog/skills/discoveries/${encodeURIComponent(e)}`,{method:`DELETE`}).catch(()=>void 0)}function re(){P||(ne(),e())}async function ie(){j(``),N(!0);try{if(await ne(),n===`github`&&!o.trim())throw Error(`请输入公开 GitHub 仓库地址`);let e=i.split(`,`).map(e=>e.trim()).filter(Boolean),t=await q(n===`github`?`/api/v1/catalog/skills:discover-github`:`/api/v1/catalog/skills:discover`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(n===`github`?{sourceUrl:o.trim(),ref:c.trim()||`main`}:{scanPaths:e})});if(!t.ok)throw Error(await eU(t,`Skill 发现失败`));let r=await t.json();y(r),z()}catch(e){j(e.message)}N(!1)}function ae(e){P||S[e]?.status===`succeeded`||x(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})}function B(){let e=YH(R);for(let[t,n]of Object.entries(S))n.status===`succeeded`&&e.delete(t);x(e)}async function V(e){let n=_?.inspectionToken;if(!b.size||!n||P)return;let r=new Set(b),i=R.filter(e=>r.has(e.candidateId)&&(e.status===`ready`||e.status===`conflict`)).length;j(``),T(null),C({}),D({completed:0,total:i}),F(!0);let a=0;try{let i=await XH({candidates:R,selectedIds:r,overwriteIds:e,commit:async(e,t)=>{k(e.candidateId);let r=await q(`/api/v1/catalog/skills/discoveries/${encodeURIComponent(n)}:commit`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({candidateId:e.candidateId,overwrite:t})});if(!r.ok)throw Error(await eU(r,`Skill 导入失败`));return r.json()},onResult:(e,t,n)=>{C(t=>({...t,[e.candidateId]:e})),D({completed:t,total:n})}});if(a=i.succeededIds.length,T(i),x(new Set(i.failedIds)),i.succeededIds.length&&(await t(),f)){let e=i.results.filter(e=>e.status===`succeeded`&&e.value?.resourceId).map(e=>String(e.value.resourceId));await se(f,e,m)}i.failedIds.length?CL(`Skill 批量导入完成`,`已导入 ${i.succeededIds.length} 个,${i.failedIds.length} 个失败。`,`error`):CL(`Skill 批量导入完成`,`已导入 ${i.succeededIds.length} 个 Skill。`)}catch(e){j(a?`已有 ${a} 个 Skill 安装到资源目录,但后续绑定或构建未完成:${e.message}`:e.message)}k(``),F(!1)}function H(){let e=R.filter(e=>b.has(e.candidateId)&&e.status===`conflict`);if(e.length){ee(e);return}V(new Set)}let oe=b.size;async function se(e,t,n){if(!t.length)return;let r=await q(`/api/v1/agents/${encodeURIComponent(e)}`),i=await r.json().catch(()=>null);if(!r.ok)throw Error(i?.error?.message||`Agent 加载失败`);let a=i?.draft,o=structuredClone(a?.spec?.bindings||{}),s=new Map((o.skills||[]).map(e=>[e.resourceId,e]));for(let e of t)s.has(e)||s.set(e,{resourceId:e,enabled:!0});o.skills=Array.from(s.values());let c=await q(`/api/v1/agents/${encodeURIComponent(e)}/bindings`,{method:`PUT`,headers:{"Content-Type":`application/json`,"If-Match":String(a.metadata.revision)},body:JSON.stringify(o)}),l=await c.json().catch(()=>null);if(!c.ok)throw Error(l?.error?.message||`Skill 绑定失败`);if(!n){CL(`Skill 已绑定`,`已写入 Agent 草稿;下次构建后生效。`);return}let u=Number(l?.metadata?.revision),d=await q(`/api/v1/agents/${encodeURIComponent(e)}/builds`,{method:`POST`,headers:{"Content-Type":`application/json`,"Idempotency-Key":`skill-bind-${e}-r${u}-${Date.now()}`},body:JSON.stringify({revision:u,runEvaluation:!1})}),f=await d.json().catch(()=>null);if(!d.ok)throw Error(f?.error?.message||`Skill 绑定已保存,但构建失败`);await tU(f.id),CL(`Skill 已绑定并完成构建`,`新会话现在可以使用安装的 Skill。`)}return(0,v.jsxs)(sV,{title:`发现 Skill`,subtitle:`从安全本地目录或公开 GitHub 仓库检查 Skill,确认后安装。`,wide:!0,closeDisabled:P,onClose:re,footer:(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(`button`,{className:`button secondary`,type:`button`,onClick:re,disabled:P,children:`取消`}),(0,v.jsxs)(`button`,{className:`button accent`,type:`button`,onClick:H,disabled:!oe||P,children:[(0,v.jsx)(Kf,{size:15}),(0,v.jsx)(`span`,{children:P?`正在导入 ${E.completed}/${E.total}`:`导入所选 ${oe} 个`})]})]}),children:[(0,v.jsxs)(`div`,{className:`field`,children:[(0,v.jsx)(`label`,{htmlFor:`skillSourceMode`,children:`发现来源`}),(0,v.jsxs)(`select`,{id:`skillSourceMode`,value:n,onChange:e=>{ne(),r(e.target.value),y(null),z()},children:[(0,v.jsx)(`option`,{value:`local`,children:`本地安全目录`}),(0,v.jsx)(`option`,{value:`github`,children:`公开 GitHub 仓库`})]})]}),n===`local`?(0,v.jsxs)(`div`,{className:`field`,children:[(0,v.jsx)(`label`,{htmlFor:`skillScanPaths`,children:`扫描目录(逗号分隔;留空扫描安全默认目录)`}),(0,v.jsx)(`input`,{id:`skillScanPaths`,value:i,onChange:e=>a(e.target.value),placeholder:`skills, .claude/skills, user:codex`}),(0,v.jsx)(`span`,{className:`helper`,children:`用户目录仅支持 user:agents、user:codex、user:claude;不支持任意本机路径扫描。`})]}):(0,v.jsxs)(v.Fragment,{children:[(0,v.jsxs)(`div`,{className:`field`,children:[(0,v.jsx)(`label`,{htmlFor:`skillSourceUrl`,children:`GitHub 仓库地址`}),(0,v.jsx)(`input`,{id:`skillSourceUrl`,value:o,onChange:e=>s(e.target.value),placeholder:`https://github.com/owner/repository`}),(0,v.jsx)(`span`,{className:`helper`,children:`仅支持公开 github.com 仓库;安装前会锁定到不可变 commit,并展示脚本与网络风险。`})]}),(0,v.jsxs)(`div`,{className:`field`,children:[(0,v.jsx)(`label`,{htmlFor:`skillSourceRef`,children:`分支、标签或 commit`}),(0,v.jsx)(`input`,{id:`skillSourceRef`,value:c,onChange:e=>l(e.target.value),placeholder:`main`})]})]}),(0,v.jsxs)(`button`,{className:`button secondary`,type:`button`,onClick:ie,disabled:M||P,children:[(0,v.jsx)(nm,{size:15}),(0,v.jsx)(`span`,{children:M?`正在检查`:`检查候选`})]}),(0,v.jsxs)(`div`,{className:`field`,style:{marginTop:16},children:[(0,v.jsx)(`label`,{htmlFor:`skillBindAgent`,children:`安装后绑定到 Agent(可选)`}),(0,v.jsxs)(`select`,{id:`skillBindAgent`,value:f,onChange:e=>p(e.target.value),children:[(0,v.jsx)(`option`,{value:``,children:`仅安装到资源目录`}),u.map(e=>(0,v.jsx)(`option`,{value:e.metadata.id,children:e.metadata.name},e.metadata.id))]}),f&&(0,v.jsxs)(`label`,{className:`checkbox-row`,children:[(0,v.jsx)(`input`,{type:`checkbox`,checked:m,onChange:e=>h(e.target.checked)}),(0,v.jsx)(`span`,{children:`绑定后立即构建,使新会话可用`})]})]}),R.length>0&&(0,v.jsxs)(`div`,{className:`skill-selection-toolbar`,children:[(0,v.jsxs)(`span`,{children:[`已选择 `,oe,` / `,YH(R).size]}),(0,v.jsxs)(`span`,{className:`skill-selection-actions`,children:[(0,v.jsx)(`button`,{className:`button tertiary small`,type:`button`,onClick:B,disabled:P,children:`全选可导入`}),(0,v.jsx)(`button`,{className:`button tertiary small`,type:`button`,onClick:()=>x(new Set),disabled:!oe||P,children:`清空选择`})]})]}),(0,v.jsx)(`div`,{className:`skill-discovery-list`,style:{marginTop:16},children:R.length===0?(0,v.jsx)(`div`,{className:`trace-stage-empty compact`,children:(0,v.jsx)(`p`,{children:_?n===`github`?`该仓库中没有发现可安装的 SKILL.md。`:`安全默认目录中没有发现 Skill。`:`点击检查候选。`})}):R.map(e=>{let t=e.risk||{},n=[`ready`,`conflict`].includes(e.status),r=S[e.candidateId],i=r?.status===`succeeded`,a=e.status===`ready`?`可导入`:e.status===`conflict`?`已安装`:`无效`,o=e.diagnostics?.map(e=>e.message).join(`;`)||`${e.fileCount||0} 个文件 · ${iU(e.totalBytes||0)}`,s=[t.containsScripts?`包含可执行脚本${t.scripts?.length?`(${t.scripts.length} 个)`:``}`:``,t.networkMarkers?.length?`说明中包含网络访问指令`:``].filter(Boolean).join(`;`),c=r?.status===`succeeded`?`已导入`:r?.status===`failed`?`导入失败:${r.error||`未知错误`}`:O===e.candidateId?`正在导入`:P&&b.has(e.candidateId)?`等待导入`:``;return(0,v.jsxs)(`div`,{className:`skill-candidate${n?``:` invalid`}`,children:[(0,v.jsx)(`input`,{type:`checkbox`,"aria-label":`选择 ${e.displayName||e.name}`,disabled:!n||P||i,checked:b.has(e.candidateId),onChange:()=>ae(e.candidateId)}),(0,v.jsx)(`span`,{className:`capability-icon`,children:(0,v.jsx)(sm,{size:15})}),(0,v.jsxs)(`span`,{className:`skill-candidate-copy`,children:[(0,v.jsx)(`strong`,{children:e.displayName||e.name}),(0,v.jsxs)(`span`,{children:[e.path,` · `,e.version||`版本无效`]}),(0,v.jsx)(`small`,{children:o}),s&&(0,v.jsxs)(`small`,{className:`skill-import-state pending`,children:[`复核原因:`,s]}),c&&(0,v.jsx)(`small`,{className:`skill-import-state ${r?.status||`pending`}`,children:c})]}),(0,v.jsxs)(`span`,{className:`badge`,"data-state":e.status===`ready`?`ready`:`pending`,children:[a,t.requiresReview?` · 需复核`:``]}),n&&(0,v.jsxs)(`button`,{className:`button tertiary small skill-preview-button`,type:`button`,onClick:()=>te(e),children:[(0,v.jsx)(gp,{size:14}),(0,v.jsx)(`span`,{children:`查看详情`})]})]},e.candidateId)})}),w&&(0,v.jsx)(cV,{kind:w.failedIds.length?`warning`:`success`,title:w.failedIds.length?`已导入 ${w.succeededIds.length} 个,${w.failedIds.length} 个失败`:`已导入 ${w.succeededIds.length} 个 Skill`,message:w.failedIds.length?`失败项已保留选择,可修复后再次导入。`:`资源目录已刷新。`}),A&&(0,v.jsx)(cV,{kind:`error`,title:`Skill 发现或导入失败`,message:A}),I&&(0,v.jsx)(Db,{title:`所选 Skill 中有 ${I.length} 个已安装`,description:`${I.map(e=>e.displayName||e.name).join(`、`)} 将被覆盖;旧版本会移入回收位置,可手工恢复。`,confirmText:`覆盖并继续`,danger:!1,onCancel:()=>ee(null),onConfirm:()=>{let e=new Set(I.map(e=>e.candidateId));ee(null),V(e)}}),L&&_?.inspectionToken&&(0,v.jsx)(gV,{title:L.displayName||L.name||`Skill`,endpoint:`/api/v1/catalog/skills/discoveries/${encodeURIComponent(_.inspectionToken)}/candidates/${encodeURIComponent(L.candidateId)}/files`,onClose:()=>te(null)})]})}function vU({onClose:e,onAdded:t}){let n=Pj({resolver:Wj(GH),defaultValues:{displayName:``,name:``,callableName:``,description:``,sourceMode:`upload`,sourcePath:``}}),{sourceMode:r,name:i,callableName:a}=n.watch(),[o,s]=(0,g.useState)(null),[c,l]=(0,g.useState)(null),[u,d]=(0,g.useState)(``),[f,p]=(0,g.useState)(!1);async function m(){if(!o){d(`请先选择 Python 文件`);return}p(!0),d(``);try{let e=new FormData;e.append(`file`,o);let t=await q(`/api/v1/catalog/python-tools:inspect`,{method:`POST`,body:e});if(!t.ok)throw Error(await eU(t,`Python Tool 检查失败`));let r=await t.json(),i=r.callables?.[0];l(r);let a=o.name.replace(/\.py$/i,``).replace(/[^A-Za-z0-9_]+/g,`_`).replace(/^[^A-Za-z_]+/,`tool_`)||`python_tool`;n.setValue(`callableName`,i?.name||``,{shouldValidate:!0}),n.getValues(`name`)||n.setValue(`name`,a,{shouldValidate:!0}),n.getValues(`displayName`)||n.setValue(`displayName`,a,{shouldValidate:!0}),n.getValues(`description`)||n.setValue(`description`,i?.description||``)}catch(e){l(null),d(e.message||`Python Tool 检查失败`)}finally{p(!1)}}async function h(e){if(e.sourceMode===`upload`&&!c){n.setError(`callableName`,{type:`manual`,message:`请先完成 Python 文件检查`});return}p(!0),d(``);try{let r=e.sourceMode===`upload`?await q(`/api/v1/catalog/python-tools/${encodeURIComponent(c.inspectionToken)}:commit`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({displayName:e.displayName.trim(),name:e.name.trim(),callableName:e.callableName.trim(),description:e.description.trim()})}):await q(`/api/v1/catalog/tools`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({displayName:e.displayName.trim(),category:`custom`,contract:{name:e.name.trim(),version:`1.0.0`,description:e.description.trim(),inputSchema:{type:`object`,properties:{}},outputSchema:{},approval:`policy`,sideEffect:`none`,executor:`python`,sourcePath:e.sourcePath.trim(),callableName:e.callableName.trim()}})}),i=await r.json().catch(()=>null);if(!r.ok){if(AB(i,n.setError)){p(!1);return}throw Error(i?.error?.message||`Tool 添加失败(${r.status})`)}CL(`Python Tool 已保存`,`${i.displayName||e.displayName.trim()} · SHA-256 已锁定`),t()}catch(e){d(e.message)}p(!1)}return(0,v.jsx)(nj,{...n,children:(0,v.jsxs)(sV,{title:`添加 Python Tool`,subtitle:`从 Python 文件导入可复用工具。`,onClose:e,footer:(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(`button`,{className:`button secondary`,type:`button`,onClick:e,children:`取消`}),(0,v.jsxs)(`button`,{className:`button accent`,type:`button`,onClick:n.handleSubmit(h),disabled:f,children:[(0,v.jsx)(Kf,{size:15}),(0,v.jsx)(`span`,{children:f?`正在保存`:`保存 Tool`})]})]}),children:[(0,v.jsxs)(`div`,{className:`segmented-control python-tool-source-mode`,"aria-label":`Python Tool 源码方式`,children:[(0,v.jsx)(`button`,{className:r===`upload`?`selected`:``,type:`button`,onClick:()=>{n.setValue(`sourceMode`,`upload`,{shouldValidate:!0}),d(``)},children:`上传文件`}),(0,v.jsx)(`button`,{className:r===`workspace`?`selected`:``,type:`button`,onClick:()=>{n.setValue(`sourceMode`,`workspace`,{shouldValidate:!0}),d(``)},children:`工作区路径`})]}),(0,v.jsx)(LH,{}),r===`upload`?(0,v.jsx)(Y,{label:`Python 文件`,requirement:`required`,hint:`拖放 .py 文件,或点击选择;检查只解析 AST,不会执行脚本。`,children:(0,v.jsxs)(`div`,{children:[(0,v.jsx)(FH,{ariaLabel:`选择 Python Tool 文件`,accept:{"text/x-python":[`.py`],"text/plain":[`.py`]},maxSize:1048576,file:o,onFile:e=>{s(e),l(null),n.setValue(`callableName`,``)},onError:d}),(0,v.jsxs)(`button`,{className:`button secondary`,type:`button`,onClick:m,disabled:!o||f,children:[(0,v.jsx)(nm,{size:15}),(0,v.jsx)(`span`,{children:f?`检查中`:`只读检查 Callable`})]}),c&&(0,v.jsxs)(`div`,{className:`python-tool-inspection-summary`,children:[(0,v.jsx)(Kf,{size:15}),(0,v.jsxs)(`span`,{children:[`SHA-256 `,c.sha256.slice(0,12),`… · 发现 `,c.callables.length,` 个公开函数`]})]})]})}):(0,v.jsx)(Y,{label:`工作区 Python 文件`,requirement:`required`,htmlFor:`ptSource`,hint:`仅允许当前工作区内的普通 .py 文件;符号链接会被拒绝。`,error:n.formState.errors.sourcePath?.message,children:(0,v.jsx)(`input`,{id:`ptSource`,placeholder:`tools/my_tool.py`,...n.register(`sourcePath`)})}),(0,v.jsxs)(`div`,{className:`form-grid two-columns`,children:[(0,v.jsx)(Y,{label:`显示名称`,requirement:`required`,htmlFor:`ptDisplayName`,error:n.formState.errors.displayName?.message,children:(0,v.jsx)(`input`,{id:`ptDisplayName`,placeholder:`例如:订单查询`,...n.register(`displayName`)})}),(0,v.jsx)(Y,{label:`Tool 标识`,requirement:`required`,htmlFor:`ptName`,error:n.formState.errors.name?.message,children:(0,v.jsx)(`input`,{id:`ptName`,className:`mono`,...n.register(`name`)})}),(0,v.jsx)(Y,{label:`Callable`,requirement:`required`,htmlFor:`ptCallable`,error:n.formState.errors.callableName?.message,children:r===`upload`?(0,v.jsx)(Wk,{id:`ptCallable`,ariaLabel:`Callable`,value:a,placeholder:c?`选择公开函数`:`请先检查文件`,disabled:!c,options:(c?.callables||[]).map(e=>({value:e.name,label:`${e.async?`async `:``}${e.name}(${e.parameters.join(`, `)})`,description:e.description||void 0})),onValueChange:e=>{n.setValue(`callableName`,e,{shouldDirty:!0,shouldValidate:!0});let t=c?.callables?.find(t=>t.name===e);t?.description&&n.setValue(`description`,t.description)}}):(0,v.jsx)(`input`,{id:`ptCallable`,className:`mono`,...n.register(`callableName`)})})]}),(0,v.jsx)(Y,{label:`说明`,requirement:`optional`,htmlFor:`ptDesc`,error:n.formState.errors.description?.message,children:(0,v.jsx)(`textarea`,{id:`ptDesc`,rows:3,...n.register(`description`)})}),u&&(0,v.jsx)(cV,{kind:`error`,title:`Tool 添加失败`,message:u})]})})}function yU(e){let t=e?e():new Uint8Array(4);if(!e&&globalThis.crypto?.getRandomValues)globalThis.crypto.getRandomValues(t);else if(!e)for(let e=0;e<t.length;e+=1)t[e]=Math.floor(Math.random()*256);return`agentkit-${Array.from(t,e=>e.toString(16).padStart(2,`0`)).join(``)}`}function bU({value:e,onChange:t,error:n,generate:r=yU,id:i=`agent-slug`,label:a=`本地标识`}){return(0,v.jsx)(Y,{htmlFor:i,label:a,requirement:`generated`,hint:`默认生成唯一的本地 ID;可手动修改,云端 AgentId 由部署服务另行映射。`,error:n,children:(0,v.jsxs)(`div`,{className:`generated-id-control`,children:[(0,v.jsx)(`input`,{id:i,value:e,onChange:e=>t(e.target.value),pattern:`[a-z][a-z0-9-]{2,62}`,maxLength:63,spellCheck:!1,autoComplete:`off`}),(0,v.jsx)(`button`,{className:`icon-button tertiary`,type:`button`,"aria-label":`重新生成本地标识`,title:`重新生成`,onClick:()=>t(r()),children:(0,v.jsx)(tm,{size:15})})]})})}var xU={resolving_model:{text:`正在理解你的需求…`,tip:`分析对话内容,确定 Agent 的框架与能力`},generating:{text:`正在理解你的需求…`,tip:`分析对话内容,确定 Agent 的框架与能力`},codex_writing:{text:`Codex 正在编写 Agent 配置…`,tip:`AI 编程助手正在沙箱中编写 agentkit.yaml,通常需要 1-3 分钟,质量优先`},validating:{text:`正在校验配置…`,tip:`检查配置完整性:名称、模型、运行时与提示词`},correcting:{text:`正在修正配置…`,tip:`发现少量问题,正在按校验意见修正后重新生成`},done:{text:`方案生成完成`,tip:``},failed:{text:`生成失败`,tip:``}};function SU(e){return e&&xU[e]?.text||xU.resolving_model.text}function CU(e){return e&&xU[e]?.tip||xU.resolving_model.tip}function wU(e){if(e<60)return`${e}s`;let t=Math.floor(e/60),n=e%60;return n?`${t}m${n}s`:`${t}m`}function TU({stage:e,startedAt:t,testId:n=`authoring-stage-shimmer`}){let[r,i]=(0,g.useState)(()=>Date.now());(0,g.useEffect)(()=>{if(!t||e===`done`||e===`failed`)return;let n=window.setInterval(()=>i(Date.now()),1e3);return()=>window.clearInterval(n)},[t,e]);let a=CU(e),o=t?wU(Math.max(0,Math.floor((r-t)/1e3))):null,s=e===`done`||e===`failed`;return(0,v.jsxs)(`span`,{className:`authoring-stage`,"data-testid":n,"data-stage":e||`unknown`,children:[(0,v.jsx)(`span`,{className:`text-shimmer`,children:SU(e)}),o&&!s&&(0,v.jsxs)(`span`,{className:`authoring-stage-elapsed`,children:[`已等待 `,o]}),a&&!s&&(0,v.jsx)(`span`,{className:`authoring-stage-tip`,children:a})]})}var EU=`agentkit.studio.agentDraft.v2`,DU=EI(GF().max(512)).max(200),OU=OI({version:VI(2),workspacePath:GF().min(1),savedAt:vF(),fields:OI({...BB,name:GF().max(128),slug:GF().max(63),description:GF().max(1024),prompt:GF().max(32768),runtimeType:zI([`harness`,`codex`,`adk`,`langgraph`,`plugin`]),template:zI([`blank`,`research`]),audience:GF().max(256),language:zI([`zh-CN`,`en-US`]),depth:zI([`focused`,`standard`,`deep`]),format:zI([`report`,`brief`,`evidence-table`]),systemPrompt:GF().max(32768),taskPrompt:GF().max(32768),buildAfterCreate:vI()}),wizard:OI({step:mI().int().min(1).max(4),maxStep:mI().int().min(1).max(4),selectedModels:DU,selectedTools:DU,selectedSkills:DU,selectedMcp:DU,selectedPlatformResources:EI(OI({ecosystem:zI([`codex`,`dsh`]),pluginRef:GF().max(512),snapshotDigest:GF().max(512),components:DU,enabled:vI(),config:LI(GF(),SI())})).max(200).default([]),policy:zI([`strict`,`loose`,`custom`]),contextOwnership:zI([`auto`,`native`,`framework`,`ksadk`]),contextEngineRollout:zI([`off`,`shadow`,`enabled`]),memoryEnabled:vI(),memoryWriteRollout:zI([`off`,`shadow`,`enabled`]),selectedProviderRef:GF().max(512),providerConfigText:GF().max(65536)})});function kU(){return{name:`New Agent`,slug:yU(),runtimeType:`codex`,template:`blank`,prompt:``,description:``,audience:`产品与技术负责人`,language:`zh-CN`,depth:`deep`,format:`report`,systemPrompt:``,taskPrompt:``,buildAfterCreate:!0,maxSteps:100,timeoutSeconds:600}}var AU=`plugin://io.ksadk.codex-provider@`,jU=[{value:`harness`,label:`通用智能体 · KsADK Harness`},{value:`codex`,label:`Codex · ManagedRuntime`}];function MU(e){return e.startsWith(AU)}function NU(e){return e?.requiredSecretRefs?.[0]||e?.contract?.credentialRef||e?.contract?.credential_ref||e?.contract?.requiredSecretRefs?.[0]||e?.contract?.required_secret_refs?.[0]||``}var PU={loose:{title:`宽松权限策略`,description:`本地 Tool 全部自动允许,外部操作仍需审批。`},strict:{title:`严格权限策略`,description:`只读 Tool 自动允许,外部或写入操作需要审批。`},custom:{title:`自定义权限策略`,description:`沿用每个 Tool Contract 中配置的审批策略。`}},FU=jU;function IU({approved:e,onChange:t}){return(0,v.jsxs)(`details`,{className:`template-specific`,children:[(0,v.jsxs)(`summary`,{children:[`本地运行:`,e?`已授权`:`未授权`,` · 高级权限`]}),(0,v.jsxs)(`label`,{className:`post-create-option`,children:[(0,v.jsx)(`input`,{type:`checkbox`,checked:e,onChange:e=>t(e.target.checked)}),(0,v.jsxs)(`span`,{children:[(0,v.jsx)(`strong`,{children:`允许通用智能体在本机运行`}),(0,v.jsx)(`small`,{children:`默认开启,用于启动本地执行引擎;可取消。工具调用仍受权限与审批策略约束。`})]})]})]})}function LU(e,t){if(!t)throw Error(`请先确认 KsADK Harness 本机执行权限`);e.security={...e.security,allowedPermissions:[...new Set([...e.security?.allowedPermissions||[],`process:host-user`])]}}var RU=[[`定义 Agent`,`目标与系统提示词`],[`绑定能力`,`Model · Tool · MCP · Skill`],[`Prompt 与策略`,`检查并调整`],[`检查并创建`,`构建与打开会话`]],zU=new Set([`SUCCEEDED`,`FAILED`,`CANCELLED`,`TIMED_OUT`]),BU=[`deepseek`,`glm`,`kimi`,`minimax`,`qwen`],VU=`你是一个可靠的通用助手,请直接回答用户问题;信息不足时先提出澄清问题。`,HU=`Studio Assistant`,UU=[`deepseek-v4.1-flash`,`glm-5.3-flash`];function WU(e){let t=String(e.contract?.model||e.name||``).toLowerCase(),n=t.includes(`/`)?t.split(`/`,2)[1]:t,r=n.replaceAll(`.`,`-`),i=BU.findIndex(e=>r===e||r.startsWith(e===`qwen`?e:`${e}-`)),a=(n.match(/\d+/g)||[]).slice(0,8).map(e=>-Number(e));for(;a.length<8;)a.push(0);return[i<0?BU.length:i,a,n]}function GU(e,t){let[n,r,i]=WU(e),[a,o,s]=WU(t);if(n!==a)return n-a;for(let e=0;e<r.length;e+=1)if(r[e]!==o[e])return r[e]-o[e];return i.localeCompare(s)}function KU(e){try{let t=JSON.parse(e),n=t?.spec?.instructions||t?.instructions||{},r=String(t?.name||`未命名 Agent`).trim(),i=String(t?.description||t?.spec?.description||n?.task||n?.system||`已根据这轮对话更新草稿。`).trim();return{title:`已更新草稿:${r}`,body:i}}catch{return{title:`已更新草稿`,body:e||`已根据这轮对话更新草稿。`}}}function qU(e){let t=e?.spec?.instructions||e?.instructions||{};return{name:e?.name||``,slug:e?.slug||``,runtimeType:e?.runtimeType||``,description:e?.description||e?.spec?.description||``,spec:{instructions:{system:t?.system||``,task:t?.task||``}}}}function JU(e,t){if(!e||typeof e!=`object`||Array.isArray(e)||!t||typeof t!=`object`||Array.isArray(t))return t;let n={...e};for(let[e,r]of Object.entries(t))n[e]=r&&typeof r==`object`&&!Array.isArray(r)&&n[e]&&typeof n[e]==`object`&&!Array.isArray(n[e])?JU(n[e],r):r;return n}async function YU(e){for(let t=0;t<1200;t+=1){let t=await q(`/api/v1/operations/${encodeURIComponent(e)}`),n=await t.json().catch(()=>null);if(!t.ok)throw Error(n?.error?.message||`构建状态获取失败(${t.status})`);if(zU.has(n?.status)){if(n.status!==`SUCCEEDED`)throw Error(n.error?.message||`构建未完成`);return n}await new Promise(e=>window.setTimeout(e,200))}throw Error(`构建等待超时`)}function XU({editingAgentId:e,viewportMode:t,workspacePath:n,quickCreateRequest:r=0,onBack:i,onCreated:a,onAgentsChanged:o}){let[s,c]=(0,g.useState)(`quick`),[l,u]=(0,g.useState)(!1),[d,f]=(0,g.useState)(`尚未保存`),[p,m]=(0,g.useState)([]),[h,_]=(0,g.useState)(!1),[y,b]=(0,g.useState)([]),[x,S]=(0,g.useState)(``),[C,w]=(0,g.useState)(`{}`),[T,E]=(0,g.useState)(null),[D,O]=(0,g.useState)(null),[k,A]=(0,g.useState)(null),j=(0,g.useRef)(!1),[M,N]=(0,g.useState)({}),[P,F]=(0,g.useState)(1),[I,ee]=(0,g.useState)(1),L=Pj({resolver:Wj(VB),defaultValues:kU()}),{name:te,slug:R,runtimeType:z,template:ne,description:re,prompt:ie,audience:ae,language:B,depth:V,format:H,systemPrompt:oe,taskPrompt:se,buildAfterCreate:ce,maxSteps:le,timeoutSeconds:ue}=L.watch(),[de,U]=(0,g.useState)([]),[fe,pe]=(0,g.useState)([]),[me,he]=(0,g.useState)(!0),[ge,_e]=(0,g.useState)(!0),[ve,ye]=(0,g.useState)([]),[be,xe]=(0,g.useState)([]),[Se,Ce]=(0,g.useState)([]),[we,Te]=(0,g.useState)(!1),[Ee,De]=(0,g.useState)(`strict`),[Oe,ke]=(0,g.useState)(`auto`),[Ae,je]=(0,g.useState)(`shadow`),[Me,Ne]=(0,g.useState)(!1),[Pe,Fe]=(0,g.useState)(`shadow`),Ie=(0,g.useMemo)(()=>{let e={value:`auto`,label:`自动(推荐)`,description:`根据 Runtime 能力选择安全模式`};return z===`codex`?[e,{value:`native`,label:`原生 Runtime 管理`,description:`由 Codex 等原生 Runtime 管理最终上下文`}]:z===`harness`?[e,{value:`ksadk`,label:`KsADK 管理`,description:`统一规划、压缩和保护上下文`}]:z===`langgraph`?[e,{value:`framework`,label:`框架管理`,description:`保留 LangGraph 原有行为`},{value:`ksadk`,label:`KsADK 管理`,description:`统一编译 Prompt 并规划上下文`}]:[e,{value:`framework`,label:`框架管理`,description:`保留 ADK 原有行为`}]},[z]),[Le,Re]=(0,g.useState)(`idle`),[ze,Be]=(0,g.useState)(`compose`),[Ve,He]=(0,g.useState)(``),[Ue,We]=(0,g.useState)(!1),Ge=(0,g.useRef)(0),[Ke,qe]=(0,g.useState)(!1),[Je,Ye]=(0,g.useState)(null),[Xe,Ze]=(0,g.useState)(!1),Qe=(0,g.useRef)(null),$e=(0,g.useRef)(``),[et,tt]=(0,g.useState)(!1),nt=(0,g.useRef)(null),rt=(0,g.useRef)(0),it=(0,g.useRef)(!1);(0,g.useEffect)(()=>{let e=L.getValues(`runtimeType`);e&&((e===`codex`?[`auto`,`native`]:e===`langgraph`?[`auto`,`framework`,`ksadk`]:[`auto`,`framework`]).includes(Oe)||ke(`auto`))},[Oe,Ie,z,L]);let[at,ot]=(0,g.useState)([]),[st,ct]=(0,g.useState)(``),[lt,ut]=(0,g.useState)(``),[dt,ft]=(0,g.useState)([]),[pt,mt]=(0,g.useState)([]),[ht,gt]=(0,g.useState)([]),[_t,vt]=(0,g.useState)([]),[yt,bt]=(0,g.useState)(null),xt=Pj({resolver:Wj(UB),defaultValues:{name:``,slug:yU(),runtimeType:`codex`,prompt:``,description:``,modelProfileId:void 0}}),[St,Ct]=(0,g.useState)(!1),[wt,Tt]=(0,g.useState)(``),[Et,Dt]=(0,g.useState)(``),[Ot,kt]=(0,g.useState)(null),[At,jt]=(0,g.useState)(null),[Mt,Nt]=(0,g.useState)(!1),Pt=(0,g.useRef)(null);(0,g.useEffect)(()=>()=>Pt.current?.abort(),[]);let[Ft,It]=(0,g.useState)(null),[Lt,Rt]=(0,g.useState)(null),zt=Pj({resolver:Wj(WB),defaultValues:{name:``,slug:yU()}}),[Bt,Vt]=(0,g.useState)(null),Ht=Pj({resolver:Wj(GB),defaultValues:{name:``,slug:yU(),path:`.`}}),Ut=(0,g.useRef)(0),Wt=(0,g.useRef)(``),[Gt,Kt]=(0,g.useState)(!1),[qt,Jt]=(0,g.useState)(``),Yt=(0,g.useCallback)(async()=>{try{let[e,t,n]=await Promise.all([q(`/api/v1/catalog/resources?limit=200`).then(e=>e.json()),q(`/api/v1/catalog/models`).then(e=>e.json()).catch(()=>null),q(`/api/v1/agent-providers`).then(e=>e.json()).catch(()=>null)]),r=e.items||[],i=r.filter(e=>e.kind===`model`&&(e.source===`local`||e.source===`market`)),a=t?.items?.length?[...i,...t.items]:r.filter(e=>e.kind===`model`);m([...a,...r.filter(e=>e.kind!==`model`)]);let o=n?.items||[];b(o),_(!0),S(e=>o.some(t=>t.providerRef===e&&t.selectable)?e:o.find(e=>e.selectable)?.providerRef||``);let s=[...new Set(a.map(NU).filter(e=>e.startsWith(`env://`)))],c=await Promise.all(s.map(async e=>{let t=e.slice(6);try{let n=await q(`/api/v1/credentials/${encodeURIComponent(t)}`);return[e,n.ok?await n.json():{configured:!1}]}catch{return[e,{configured:!1}]}}));N(Object.fromEntries(c))}catch{}},[]);(0,g.useEffect)(()=>{Yt()},[Yt]);let Xt=(0,g.useMemo)(()=>p.filter(e=>e.kind===`model`&&[`ready`,`missing-secret`].includes(e.status)).sort(GU),[p]),Zt=(0,g.useMemo)(()=>p.filter(e=>e.kind===`tool`&&e.status===`ready`),[p]),Qt=(0,g.useMemo)(()=>p.filter(e=>e.kind===`mcp`),[p]),$t=(0,g.useMemo)(()=>p.filter(e=>e.kind===`skill`&&e.status===`ready`),[p]),en=(0,g.useMemo)(()=>y,[y]),tn=(0,g.useMemo)(()=>en.find(e=>e.providerRef===x),[en,x]),nn=y.find(e=>e.providerRef===qk),rn=ZB(tn),an=ZB(nn),on=rn!==null&&T===rn,sn=an!==null&&D===an,cn=an!==null&&k===an,ln=e=>E(e?rn:null);(0,g.useEffect)(()=>{an===null||j.current||(j.current=!0,O(an),A(an))},[an]);let un=z===`codex`||z===`plugin`&&MU(x),dn=z===`harness`||z===`adk`||z===`langgraph`,fn=dn?fe:[],pn=(0,g.useMemo)(()=>en.map(e=>({value:e.providerRef,label:e.displayName,description:XB(e),disabled:!e.selectable})),[en]),mn=(0,g.useMemo)(()=>y.some(e=>e.selectable)?[...jU,{value:`plugin`,label:y.filter(e=>e.selectable).length===1?`${y.find(e=>e.selectable)?.displayName||`DSH AgentProvider`} · Plugin`:`DSH AgentProvider · ${y.filter(e=>e.selectable).length} 个可用`}]:[...jU],[y]);(0,g.useEffect)(()=>{x&&en.some(e=>e.providerRef===x&&e.selectable)||S(en.find(e=>e.selectable)?.providerRef||``)},[en,x]),(0,g.useEffect)(()=>{!dn&&fe.length&&pe([])},[fe.length,dn]);let hn=(0,g.useCallback)(e=>p.find(t=>t.resourceId===e),[p]),gn=(0,g.useCallback)(e=>{let t=NU(e);return t?M[t]:void 0},[M]),_n=(0,g.useCallback)(e=>e?gn(e)?.configured??e.status===`ready`:!1,[gn]),vn=xt.watch(`runtimeType`),yn=(0,g.useMemo)(()=>Xt.map(e=>({value:e.resourceId,label:e.displayName,description:`${e.contract?.model||e.name} · ${_n(e)?`凭证已配置`:`需配置凭证`}`})),[_n,Xt]),bn=(0,g.useMemo)(()=>{let e=e=>String(e.contract?.model||e.name).toLowerCase();return(Xt.find(t=>e(t)===`deepseek-v4.1-flash`)||Xt.find(t=>e(t)===`glm-5.3-flash`))?.resourceId||Xt[0]?.resourceId||``},[Xt]),xn=(0,g.useMemo)(()=>{let e=e=>String(e.contract?.model||e.name).toLowerCase(),t=UU.map(t=>Xt.find(n=>e(n)===t)).filter(e=>!!e);return(t.length?t:Xt).slice(0,2).map(e=>e.resourceId)},[Xt]);(0,g.useEffect)(()=>{s!==`conversation`&&(de.length||!bn||U(xn.length?xn:[bn]))},[s,de.length,bn,xn]),(0,g.useEffect)(()=>{!r||e||Ge.current===r||!h||!de.length||we||(Ge.current=r,An())},[h,e,we,r,de.length]),(0,g.useEffect)(()=>{if(s!==`conversation`){it.current=!1;return}it.current||!bn||(it.current=!0,lt||ut(bn),dt.length||ft(xn.length?xn:[bn]))},[dt.length,lt,s,bn,xn]);function Sn(e){let t=new Set(e),n=Xt.map(e=>e.resourceId).filter(e=>t.has(e));ft(n),xt.setValue(`modelProfileId`,n[0]||``,{shouldDirty:!0,shouldValidate:!0})}function Cn(){return`${EU}:${encodeURIComponent(n||``)}`}(0,g.useEffect)(()=>{if(e||!n||!h||$e.current===n)return;let t=!!$e.current;if($e.current=n,!(!t&&L.formState.isDirty)){t&&(L.reset(kU()),F(1),ee(1),U([]),pe([]),ye([]),xe([]),De(`strict`),Ce([]),ke(`auto`),je(`shadow`),Ne(!1),Fe(`shadow`),S(y.find(e=>e.selectable)?.providerRef||``),w(`{}`),ln(!1),f(`尚未保存`),Re(`idle`),He(``),tt(!1),Qe.current=null,rt.current+=1);try{let e=window.localStorage.getItem(`${EU}:${encodeURIComponent(n)}`);if(!e)return;let t=OU.safeParse(JSON.parse(e));if(!t.success||t.data.workspacePath!==n){CL(`未恢复草稿`,`草稿格式已失效,请重新填写。`,`error`);return}let{fields:r,wizard:i}=t.data,a=y.find(e=>e.providerRef===i.selectedProviderRef),o=JB(i.providerConfigText,a?.secretFields);L.reset(r),F(i.step),ee(Math.max(i.step,i.maxStep)),U(i.selectedModels),pe(i.selectedTools),ye(i.selectedMcp),xe(i.selectedSkills),Ce(i.selectedPlatformResources),De(i.policy),ke(i.contextOwnership),je(i.contextEngineRollout),Ne(i.memoryEnabled),Fe(i.memoryWriteRollout),S(i.selectedProviderRef),w(JSON.stringify(o,null,2)),ln(!1),f(`已恢复草稿`),tt(i.step>=3),CL(`已恢复草稿`,`已恢复上次保存的配置。`)}catch{CL(`未恢复草稿`,`无法读取本地草稿,请重新填写。`,`error`)}}},[n,e,h,y,L]);function wn(){try{if(!n)throw Error(`工作区尚未连接,请稍后再试。`);let e=JB(C,tn?.secretFields);window.localStorage.setItem(Cn(),JSON.stringify({version:2,workspacePath:n,savedAt:new Date().toISOString(),wizard:{step:P,maxStep:I,selectedTools:fe,selectedSkills:be,selectedMcp:ve,selectedModels:de,selectedPlatformResources:Se,policy:Ee,contextOwnership:Oe,contextEngineRollout:Ae,memoryEnabled:Me,memoryWriteRollout:Pe,selectedProviderRef:x,providerConfigText:JSON.stringify(e)},fields:L.getValues()})),f(`已保存 ${new Intl.DateTimeFormat(`zh-CN`,{hour:`2-digit`,minute:`2-digit`}).format(new Date)}`),CL(`草稿已保存`,`下次打开此工作区时会恢复。`)}catch(e){f(`保存失败`),CL(`草稿保存失败`,e?.message||`浏览器无法保存本地数据,请检查存储权限。`,`error`)}}function Tn(){f(`有未保存更改`)}let En=(0,g.useCallback)(()=>({prompt:``,goal:ie,description:re,taskPrompt:se,audience:ae,language:B,depth:V,outputFormat:H,modelProfileId:de[0]||null,modelProfileIds:de,toolResourceIds:fn,skillResourceIds:be,mcpResourceIds:ve,policyTemplate:Ee,executionStrategy:ne===`research`?`plan-act-observe`:`direct`,maxSteps:le,timeoutSeconds:ue}),[ie,re,se,ne,ae,B,V,H,de,fn,be,ve,Ee,le,ue]),Dn=(0,g.useCallback)(async({preservePrompt:e=!0,goalOverride:t}={})=>{let n=++rt.current;Be(`compose`),Re(`composing`);try{let r=await q(`/api/v1/agent-templates/${ne}:compose`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({...En(),...t===void 0?{}:{goal:t}})}),i=await r.json();if(!r.ok)throw Error(i?.error?.message||`生成 Agent 配置失败(${r.status})`);if(n!==rt.current)return;Qe.current=i;let a=i.spec?.bindings||{};pe(dn?(a.tools||[]).map(e=>e.resourceId):[]),xe((a.skills||[]).map(e=>e.resourceId)),ye((a.mcpServers||[]).map(e=>e.resourceId));let o=a.modelProfileIds?.length?a.modelProfileIds:a.modelProfileId?[a.modelProfileId]:[];if(o.length&&U(o),!e||!oe.trim()){let e=i.spec?.instructions?.system||ie.trim();L.setValue(`systemPrompt`,t?.trim()||e,{shouldDirty:!0})}(!e||!se.trim())&&L.setValue(`taskPrompt`,i.spec?.instructions?.task||``,{shouldDirty:!0}),Re(`done`)}catch(e){n===rt.current&&(Re(`idle`),He(e.message||`生成 Agent 配置失败`))}},[ne,En,dn,oe,se,L,ie]);(0,g.useEffect)(()=>{et&&(tt(!1),Dn({preservePrompt:!0}))},[et,Dn]);let On=(0,g.useCallback)(async()=>{let e=de[0];if(!e){He(`请先选择用于优化 Prompt 的模型。`);return}let t=++rt.current;He(``),Be(`optimize`),Re(`composing`);try{let n=[`请在不改变业务目标、Runtime 和已选能力的前提下,重写并增强这个 Agent 的角色与任务契约。`,`system 必须明确角色、目标、事实边界、失败处理和回答原则;task 必须明确每次请求的执行步骤、约束和交付结构。`,`不要返回解释,只生成可审查的 Agent Draft Patch。`,`Agent 名称:${te.trim()||`未命名 Agent`}`,`业务描述:${re.trim()||`未填写`}`,`原始目标:${ie.trim()}`,`当前角色与系统提示词:${oe.trim()||`未生成`}`,`当前任务契约:${se.trim()||`未生成`}`].join(`
|
|
223
|
+
|
|
224
|
+
`),r=`quick-optimize-${Date.now()}-${Math.random().toString(36).slice(2,10)}`,i=await q(`/api/v1/authoring/conversations:compose`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({messages:[{role:`user`,content:n}],modelProfileId:e,runtimeType:z===`plugin`?`codex`:z,agentModelProfileIds:de,agentDefaultModelProfileId:e,toolResourceIds:fn,mcpResourceIds:ve,skillResourceIds:be,requestId:r})}),a=await i.json().catch(()=>null);if(!i.ok)throw Error(a?.error?.message||`优化 Prompt 失败(${i.status})`);if(t!==rt.current)return;if(a?.fallback?.active)throw Error(`生成模型暂时不可用,已保留当前角色与任务契约,请稍后重试。`);let o=a?.proposal?.spec||{},s=String(o.instructions?.system||a?.proposal?.instructions?.system||``).trim(),c=String(o.instructions?.task||a?.proposal?.instructions?.task||``).trim();if(!s||!c)throw Error(`生成模型没有同时返回角色提示词与任务契约,已保留当前内容。`);L.setValue(`systemPrompt`,s,{shouldDirty:!0,shouldValidate:!0}),L.setValue(`taskPrompt`,c,{shouldDirty:!0,shouldValidate:!0}),Qe.current?.spec&&(Qe.current={...Qe.current,spec:{...Qe.current.spec,instructions:{system:s,task:c}}}),Tn(),Re(`done`)}catch(e){t===rt.current&&(Re(`done`),He(e.message||`优化 Prompt 失败,已保留当前内容。`))}},[re,te,ie,L,z,ve,de,be,fn,oe,se]);async function kn(e){if(!(e<1||e>4)){if(e>P){if(P===1){if(!await L.trigger([`name`,`slug`,`runtimeType`,`prompt`,`audience`,`maxSteps`,`timeoutSeconds`],{shouldFocus:!0})){He(`请修正标记字段后继续。`);return}if(z===`codex`&&nn?.permissions.length&&!sn){He(`请先确认 Codex Provider 请求的 Agent 权限。`);return}if(z===`plugin`){if(!tn?.selectable){He(tn?.reason?.message||`请先在插件中心安装并启用一个兼容的 AgentProvider。`);return}try{JB(C,tn.secretFields)}catch(e){He(e.message||`Provider 配置无效`);return}if(tn.permissions.length&&!on){He(`请先确认 AgentProvider 请求的权限。`);return}}}if(P===2&&!de.length){He(`请至少选择一个模型后继续。`);return}if(P===1&&z===`harness`&&!me){He(`请先确认 KsADK Harness 本机执行权限`);return}}He(``),e===3&&Le===`idle`&&Dn({preservePrompt:!0}),F(e),ee(t=>Math.max(t,e)),Tn()}}async function An(){if(Ue||we)return;if(!de.length){He(`模型目录仍在加载,请稍候再试。`);return}let e=L.getValues(),t=e.prompt.trim()||VU,n=e.name.trim()&&e.name.trim()!==`New Agent`?e.name.trim():HU,r={...e,name:n,prompt:t,systemPrompt:e.systemPrompt.trim()||t};if(L.reset(r,{keepDirty:!0}),!await L.trigger(void 0,{shouldFocus:!0})){He(`请修正标记字段后继续。`);return}He(``),We(!0);try{if(await Dn({preservePrompt:!1,goalOverride:t}),!Qe.current)throw Error(`未能生成 Agent 配置,请稍后重试。`);await jn(r)}finally{We(!1)}}async function jn(e){He(``),We(!0);try{if(e.runtimeType===`harness`&&!me)throw Error(`请先确认 KsADK Harness 本机执行权限`);if(Qe.current||await Dn({preservePrompt:!0}),!Qe.current)throw Error(`未能生成 Agent 配置,请检查模板和能力绑定后重试。`);let t=JSON.parse(JSON.stringify(Qe.current?.spec||{}));t.execution={...t.execution,maxSteps:e.maxSteps,timeoutSeconds:e.timeoutSeconds},t.instructions={system:e.systemPrompt.trim(),task:e.taskPrompt.trim()},t.description=e.description.trim()||t.description,t.context={...t.context||{},ownership:Oe,promptOwnership:Oe===`ksadk`?`ksadk`:Oe===`framework`?`framework`:t.context?.promptOwnership||`framework`,rollout:{...t.context?.rollout||{},contextEngine:Ae,memoryWrite:Me?Pe:`off`}},t.memory={...t.memory||{},enabled:Me,recall:{...t.memory?.recall||{},enabled:Me}};let n=Se.find(e=>e.config?.binding?.resource?.kind===`memory-instance`),r=String((n?.config)?.binding?.id||``);if(r&&(t.memory={...t.memory||{},enabled:!0,providerRef:`binding://${r}`,scopes:[`user`],recall:{...t.memory?.recall||{},enabled:!0,minScore:0},write:{...t.memory?.write||{}}}),e.runtimeType===`codex`&&nn?.permissions.length){if(!sn)throw Error(`请先确认 Codex Provider 请求的 Agent 权限`);t.security={...t.security||{},allowedPermissions:[...new Set([...t.security?.allowedPermissions||[],...nn.permissions])].sort()}}if(e.runtimeType===`plugin`){if(!tn?.selectable)throw Error(tn?.reason?.message||`所选 AgentProvider 当前不可用`);if(tn.permissions.length&&!on)throw Error(`请先确认 AgentProvider 请求的权限`);t.runtime={type:`plugin`,providerRef:tn.providerRef,providerConfig:JB(C,tn.secretFields)},t.security={...t.security||{},allowedPermissions:[...new Set([...t.security?.allowedPermissions||[],...tn.permissions])].sort()}}dn||(t.bindings={...t.bindings||{},tools:[]},t.capabilities={...t.capabilities||{},tools:[]}),e.runtimeType===`harness`&&LU(t,me),t.bindings={...t.bindings||{},plugins:Se};let i=await q(`/api/v1/authoring/quick`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({name:e.name.trim(),slug:e.slug.trim(),runtimeType:e.runtimeType,description:t.description,template:e.template,spec:t})}),o=await i.json().catch(()=>null);if(!i.ok){if(He(o?.error?.message||`创建失败(${i.status})`),AB(o,L.setError))return;throw Error(o?.error?.message||`创建失败(${i.status})`)}let s=String(o?.metadata?.id||``);if(!s)throw Error(`创建响应未返回 Agent 标识`);if(e.buildAfterCreate){let e=Number(o?.metadata?.revision||1),t=await q(`/api/v1/agents/${encodeURIComponent(s)}/builds`,{method:`POST`,headers:{"Content-Type":`application/json`,"Idempotency-Key":`build-${s}-r${e}-${Date.now()}`},body:JSON.stringify({revision:e,runEvaluation:!1})}),n=await t.json().catch(()=>null);if(!t.ok)throw Error(n?.error?.message||`构建提交失败(${t.status})`);let r=String(n?.id||``);if(!r)throw Error(`构建响应未返回操作标识`);await YU(r)}try{window.localStorage.removeItem(Cn())}catch{}a(s,e.buildAfterCreate)}catch(e){He(e.message||`创建失败`)}finally{We(!1)}}async function Mn(){let e=st.trim();if(!e||!lt||!dt.length){Tt(`请输入需求并选择用于构建的模型。`);return}if(St)return;Tt(``),Dt(``);let t=[...at,{role:`user`,content:e}];ot(t),ct(``),Ct(!0),jt(Date.now());let n=`conv-${Date.now()}-${Math.random().toString(36).slice(2,10)}`;kt(`resolving_model`),Nn(n);try{let e=await q(`/api/v1/authoring/conversations:compose`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({messages:t,modelProfileId:lt,runtimeType:vn,agentModelProfileIds:dt,agentDefaultModelProfileId:dt[0]||null,toolResourceIds:vn===`codex`?[]:pt,mcpResourceIds:ht,skillResourceIds:_t,requestId:n})}),r=await e.json();if(!e.ok)throw Error(r?.error?.message||`生成失败(${e.status})`);kt(`done`),r?.fallback?.active&&Dt(`所选生成模型暂时未能返回可用草稿。Studio 已按当前对话和你选定的 Runtime、模型与能力资源生成可编辑的本地兜底草稿;确认创建前请检查并补全。`),bt(r.proposal),Nt(!1);let i=r.proposal.spec||{description:r.proposal.description||``,instructions:r.proposal.instructions||{}};xt.reset({name:r.proposal.name||``,slug:yU(),runtimeType:vn,prompt:i.instructions?.system||``,description:i.description||r.proposal.description||``,modelProfileId:i.bindings?.modelProfileId||dt[0]}),ot([...t,{role:`assistant`,content:JSON.stringify(qU(r.proposal))}])}catch(e){kt(`failed`),Tt(e.message||`对话构建失败`)}finally{Pt.current?.abort(),Pt.current=null,Ct(!1)}}function Nn(e){let t=new AbortController;return Pt.current?.abort(),Pt.current=t,(async()=>{for(;!t.signal.aborted;){if(await new Promise(e=>window.setTimeout(e,800)),t.signal.aborted)return;try{let n=await q(`/api/v1/authoring/conversations:status/${encodeURIComponent(e)}`,{signal:t.signal});if(!n.ok)continue;let r=await n.json();r?.stage&&kt(String(r.stage))}catch{return}}})(),t}async function Pn(e){if(yt){Ct(!0),Tt(``);try{if(e.runtimeType===`harness`&&!ge)throw Error(`请先确认 KsADK Harness 本机执行权限`);if(e.runtimeType===`codex`&&nn?.permissions.length&&!cn)throw Error(`请在部署配置中确认 Codex Provider 请求的 Agent 权限`);let t=yt.spec||{description:yt.description||``,instructions:yt.instructions||{}},n=dt[0]||e.modelProfileId||null,r=dt.length?dt:n?[n]:[],i=e.runtimeType===`codex`?[]:pt,o=JU(t,{description:e.description?.trim()||t.description||yt.description||``,runtime:null,model:null,instructions:{system:e.prompt.trim(),task:t.instructions?.task||``},bindings:{modelProfileId:n,modelProfileIds:r,modelParameters:null,policyTemplate:`strict`,tools:i.map(e=>({resourceId:e})),mcpServers:ht.map(e=>({resourceId:e})),skills:_t.map(e=>({resourceId:e}))}});e.runtimeType===`harness`&&LU(o,ge),e.runtimeType===`codex`&&nn?.permissions.length&&(o.security={...o.security||{},allowedPermissions:[...new Set([...o.security?.allowedPermissions||[],...nn.permissions])].sort()});let s=await q(`/api/v1/authoring/quick`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({name:e.name.trim(),slug:e.slug.trim(),runtimeType:e.runtimeType,description:o.description,spec:o})}),c=await s.json().catch(()=>null);if(!s.ok){if(Tt(c?.error?.message||`创建失败(${s.status})`),AB(c,xt.setError))return;throw Error(c?.error?.message||`创建失败(${s.status})`)}a(c?.metadata?.id)}catch(e){Tt(e.message||`创建失败`)}finally{Ct(!1)}}}async function Fn(){if(!Ft)return;let e=++Ut.current;Rt(null),Kt(!0),Jt(``);try{let t=new FormData;t.append(`file`,Ft);let n=await q(`/api/v1/authoring/imports:inspect`,{method:`POST`,body:t}),r=await n.json();if(e!==Ut.current)return;if(!n.ok)throw Error(r?.error?.message||`检查失败(${n.status})`);Rt(r),zt.reset({name:r.displayName||``,slug:yU()})}catch(t){e===Ut.current&&Jt(t.message)}finally{e===Ut.current&&Kt(!1)}}async function In(e){if(Lt){Kt(!0),Jt(``);try{let t=await q(`/api/v1/authoring/imports/${encodeURIComponent(Lt.inspectionToken)}:commit`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({name:e.name.trim(),slug:e.slug.trim()||void 0})}),n=await t.json();if(!t.ok){if(AB(n,zt.setError))return;throw Error(n?.error?.message||`导入失败(${t.status})`)}a(n?.metadata?.id)}catch(e){Jt(e.message)}finally{Kt(!1)}}}async function Ln(){if(!await Ht.trigger(`path`))return;let e=++Ut.current,t=Ht.getValues(`path`).trim();Vt(null),Kt(!0),Jt(``);try{let n=await q(`/api/v1/authoring/projects:inspect`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({path:t})}),r=await n.json();if(e!==Ut.current||t!==Ht.getValues(`path`).trim())return;if(!n.ok)throw Error(r?.error?.message||`检测失败(${n.status})`);Wt.current=t,Vt(r),Ht.reset({name:r.name||`Detected Agent`,slug:yU(),path:t})}catch(t){e===Ut.current&&Jt(t.message)}finally{e===Ut.current&&Kt(!1)}}async function Rn(e){if(!(!Bt||e.path.trim()!==Wt.current)){Kt(!0),Jt(``);try{let t=await q(`/api/v1/authoring/projects/${encodeURIComponent(Bt.inspectionToken)}:commit`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({name:e.name.trim(),slug:e.slug.trim()||void 0,modelProfileId:Xt[0]?.resourceId||null})}),n=await t.json();if(!t.ok){if(AB(n,Ht.setError))return;throw Error(n?.error?.message||`创建失败(${t.status})`)}a(n?.metadata?.id)}catch(e){Jt(e.message)}finally{Kt(!1)}}}let zn={harness:`通用智能体 · KsADK Harness`,codex:`Codex`,adk:`ADK`,langgraph:`LangGraph`,plugin:`外部 Provider`}[z]||z,Bn=PU[Ee],Vn=de.map(e=>hn(e)?.displayName||e).join(`、`)||`待选择`,Hn=de.map(hn).filter(e=>!!e),Un=Hn.length===0?`未选择模型;Agent 可以先构建,但运行前需要配置。`:Hn.every(_n)?`已选 ${Hn.length} 个模型 · 凭证已配置`:`部分模型凭证未配置;Agent 可以先构建,但运行前需要配置 API Key。`,Wn=Hn.some(e=>!_n(e)),Gn=z===`codex`||z===`harness`,Kn=Gn?[...RU.slice(0,3),[`检查并创建`,`校验声明与打开会话`]]:RU,qn=(0,g.useCallback)((e=!1)=>{u(!1),e&&requestAnimationFrame(()=>nt.current?.focus())},[]);(0,g.useEffect)(()=>{t!==`compact`&&qn()},[qn,t]);function Jn(e){Ut.current+=1,Kt(!1),Jt(``),c(e),t===`compact`&&qn(!0)}let Yn=[{id:`quick`,icon:wm,label:`快速创建`,sub:`配置 YAML Revision`},{id:`conversation`,icon:zp,label:`对话构建`,sub:`多轮生成 Draft Patch`},{id:`import`,icon:_m,label:`导入`,sub:`YAML / Agent ZIP`},{id:`project`,icon:wp,label:`项目识别`,sub:`检测 ADK / LangGraph`}],Xn=!e&&s===`conversation`?`workbench`:`document`,Zn=()=>(0,v.jsxs)(`div`,{className:`create-rail-panel`,children:[!e&&(0,v.jsx)(`nav`,{className:`authoring-mode-tabs`,"aria-label":`创建方式`,role:`tablist`,children:Yn.map(e=>{let t=e.icon;return(0,v.jsxs)(`button`,{id:`authoring-tab-${e.id}`,className:s===e.id?`active`:``,type:`button`,role:`tab`,"aria-selected":s===e.id,"aria-controls":`authoring-panel-${e.id}`,title:`${e.label}:${e.sub}`,onClick:()=>Jn(e.id),children:[(0,v.jsx)(t,{size:16}),(0,v.jsx)(`span`,{children:(0,v.jsx)(`strong`,{children:e.label})})]},e.id)})}),(e||s===`quick`)&&(0,v.jsx)(v.Fragment,{children:(0,v.jsx)(`nav`,{className:`wizard-steps`,"aria-label":`创建步骤`,children:Kn.map((t,n)=>{let r=n+1,i=!e&&r<I&&r!==P;return(0,v.jsxs)(`button`,{className:`wizard-step${(e?r===1:P===r)?` active`:``}${i?` completed`:``}`,type:`button`,disabled:!!e||r>I,onClick:()=>kn(r),children:[(0,v.jsx)(`span`,{className:`step-number`,children:i?(0,v.jsx)(Kf,{size:13,strokeWidth:3}):r}),(0,v.jsx)(`span`,{children:(0,v.jsx)(`strong`,{children:t[0]})})]},r)})})})]});return(0,v.jsxs)(`div`,{className:`create-shell page-container`,"data-layout":Xn,"data-authoring-mode":s,"data-editing":e?`true`:`false`,children:[(0,v.jsxs)(FT,{children:[!e&&t===`compact`&&(0,v.jsx)(`button`,{ref:nt,className:`icon-button compact-create-rail-trigger`,type:`button`,"aria-label":`查看创建入口与配置步骤`,title:`查看创建入口与配置步骤`,"aria-expanded":l,"aria-controls":`createRail`,onClick:()=>u(e=>!e),children:(0,v.jsx)(qp,{size:16})}),!e&&s===`quick`&&(0,v.jsx)(`span`,{className:`tag`,children:d})]}),(0,v.jsxs)(`div`,{className:`create-workbench`,children:[!e&&t!==`compact`&&(0,v.jsx)(`aside`,{id:`createRail`,className:`create-rail`,"aria-label":`创建方式与步骤`,children:Zn()}),!e&&t===`compact`&&l&&(0,v.jsx)(Eb,{open:!0,compact:!0,title:`创建方式`,subtitle:`切换创建入口,或查看当前配置步骤。`,onOpenChange:e=>{e||qn(!0)},children:(0,v.jsx)(`div`,{id:`createRail`,children:Zn()})}),(0,v.jsxs)(`div`,{className:`create-stage`,children:[e&&(0,v.jsx)(oV,{agentId:e,catalog:p,providers:y,onSaved:(e,t)=>a(e,t),onAppearanceSaved:o,onCancel:i}),!e&&s===`conversation`&&(0,v.jsxs)(`section`,{id:`authoring-panel-conversation`,className:`authoring-mode-panel`,role:`tabpanel`,"aria-labelledby":`authoring-tab-conversation`,children:[(0,v.jsxs)(`div`,{className:`authoring-panel-heading conversation-panel-heading`,children:[(0,v.jsx)(`div`,{children:(0,v.jsx)(`h2`,{children:`对话创建 Agent`})}),(0,v.jsx)(`span`,{className:`tag`,children:`不会自动创建`})]}),(0,v.jsxs)(`div`,{className:`conversation-authoring-layout`,"data-draft-state":yt?Mt?`review`:`summary`:`empty`,children:[(0,v.jsxs)(`section`,{className:`conversation-chat`,"aria-label":`对话创建`,children:[(0,v.jsxs)(`div`,{className:`conversation-chat-header`,children:[(0,v.jsx)(`div`,{children:(0,v.jsx)(`strong`,{children:`描述你的需求`})}),(0,v.jsx)(`span`,{className:`conversation-context-state`,children:at.length?`${Math.ceil(at.length/2)} 轮上下文`:`持续保留上下文`})]}),(0,v.jsxs)(`div`,{className:`conversation-transcript`,"aria-live":`polite`,children:[at.length===0&&(0,v.jsxs)(`div`,{className:`conversation-empty-state`,children:[(0,v.jsx)(sm,{size:18,"aria-hidden":`true`}),(0,v.jsx)(`strong`,{children:`从一句需求开始`}),(0,v.jsx)(`p`,{children:`例如:帮我做一个销售日报 Agent,能汇总群聊记录并标出待跟进事项。`})]}),at.map((e,t)=>{let n=e.role===`user`?null:KU(e.content);return(0,v.jsx)(`div`,{className:`conversation-message ${e.role===`user`?`user`:`assistant`}`,children:e.role===`user`?(0,v.jsx)(`p`,{children:e.content}):(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(`strong`,{children:n?.title}),(0,v.jsx)(`p`,{children:n?.body})]})},t)}),St&&(0,v.jsxs)(`div`,{className:`conversation-thinking`,role:`status`,children:[(0,v.jsxs)(`span`,{className:`conversation-thinking-orb`,"aria-hidden":`true`,children:[(0,v.jsx)(`i`,{}),(0,v.jsx)(`i`,{}),(0,v.jsx)(`i`,{})]}),(0,v.jsx)(TU,{stage:Ot,startedAt:At})]})]}),wt&&(0,v.jsxs)(`div`,{className:`inline-alert error`,children:[(0,v.jsx)(Zf,{size:16}),(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`strong`,{children:`对话构建失败`}),(0,v.jsx)(`p`,{children:wt})]})]}),Et&&(0,v.jsxs)(`div`,{className:`inline-alert warning`,role:`status`,children:[(0,v.jsx)(Zf,{size:16}),(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`strong`,{children:`已生成本地兜底草稿`}),(0,v.jsx)(`p`,{children:Et})]})]}),(0,v.jsxs)(`form`,{className:`conversation-composer`,onSubmit:e=>{e.preventDefault(),Mn()},children:[(0,v.jsx)(`textarea`,{rows:3,placeholder:`描述你想创建或调整的 Agent…`,value:st,onChange:e=>ct(e.target.value),onKeyDown:e=>{let t=e.nativeEvent;e.key===`Enter`&&!e.shiftKey&&!t.isComposing&&t.keyCode!==229&&(e.preventDefault(),Mn())}}),(0,v.jsxs)(`div`,{className:`conversation-composer-footer`,children:[(0,v.jsxs)(`span`,{children:[`Enter 发送 `,(0,v.jsx)(`b`,{children:`·`}),` Shift + Enter 换行`]}),(0,v.jsx)(`button`,{className:`conversation-send-button`,type:`submit`,disabled:St||!st.trim(),"aria-label":St?`正在生成`:`生成方案`,title:St?`正在生成`:`生成方案`,children:(0,v.jsx)(rm,{size:16,"aria-hidden":`true`})})]})]}),(0,v.jsxs)(`details`,{className:`conversation-settings`,children:[(0,v.jsxs)(`summary`,{children:[(0,v.jsx)(`span`,{children:`部署配置`}),(0,v.jsxs)(`small`,{children:[FU.find(e=>e.value===vn)?.label.split(` · `)[0]||`Runtime`,` · `,dt.length||0,` 个模型 · `,_t.length+ht.length+(vn===`codex`?0:pt.length),` 项能力`]})]}),(0,v.jsxs)(`div`,{className:`conversation-settings-body`,children:[(0,v.jsx)(Y,{label:`生成模型 Profile`,className:`authoring-model-field`,footer:(0,v.jsx)(`span`,{children:`只决定本次如何生成草稿;默认 DeepSeek V4 Flash。`}),children:(0,v.jsx)(Wk,{ariaLabel:`选择用于生成草稿的模型`,value:lt,options:yn,onValueChange:ut})}),(0,v.jsx)(Y,{label:`Runtime`,requirement:`required`,htmlFor:`conversationRuntime`,error:xt.formState.errors.runtimeType?.message,children:(0,v.jsx)(Wk,{id:`conversationRuntime`,ariaLabel:`Runtime`,value:vn,options:FU,onValueChange:e=>xt.setValue(`runtimeType`,e,{shouldDirty:!0,shouldValidate:!0})})}),vn===`harness`&&(0,v.jsx)(IU,{approved:ge,onChange:_e}),(0,v.jsx)(Y,{label:`Agent 可用模型`,className:`authoring-model-field`,footer:(0,v.jsx)(`span`,{children:`可多选;按目录中最新的模型作为运行默认值。`}),children:(0,v.jsx)(wz,{ariaLabel:`选择对话 Agent 模型`,items:Xt,selectedIds:dt,getId:e=>e.resourceId,getLabel:e=>e.displayName,getDescription:e=>`${e.contract?.model||e.name} · ${_n(e)?`凭证已配置`:`需配置凭证`}`,onChange:Sn,searchPlaceholder:`搜索 Agent 模型`,emptyMessage:`没有可用模型`})}),(0,v.jsx)(Y,{label:`Skill`,className:`authoring-model-field`,children:(0,v.jsx)(wz,{ariaLabel:`选择对话 Agent Skill`,items:$t,selectedIds:_t,getId:e=>e.resourceId,getLabel:e=>e.displayName,getDescription:e=>`${e.version} · ${e.description||`版本化 Skill`}`,onChange:vt,searchPlaceholder:`搜索 Skill`,emptyMessage:`没有已安装的 Skill`})}),(0,v.jsx)(Y,{label:`MCP Server`,className:`authoring-model-field`,children:(0,v.jsx)(wz,{ariaLabel:`选择对话 Agent MCP Server`,items:Qt,selectedIds:ht,disabledIds:Qt.filter(e=>!ht.includes(e.resourceId)&&jB(e,vn)).map(e=>e.resourceId),getId:e=>e.resourceId,getLabel:e=>e.displayName,getDescription:e=>jB(e,vn)||`${e.description||`MCP Server`} · ${e.health?.toolCount||0} Tool`,onChange:gt,searchPlaceholder:`搜索 MCP Server`,emptyMessage:`没有已连接的 MCP Server`})}),vn===`codex`?(0,v.jsx)(`p`,{className:`helper conversation-runtime-note`,children:`Codex 使用原生工具、MCP 和 Skill;Harness 负责 KsADK Tool 的统一执行与审批。`}):(0,v.jsx)(Y,{label:`KsADK Tool`,className:`authoring-model-field`,children:(0,v.jsx)(wz,{ariaLabel:`选择对话 Agent Tool`,items:Zt,selectedIds:pt,getId:e=>e.resourceId,getLabel:e=>e.displayName,getDescription:e=>`${e.version} · ${e.description||`本地 Tool`}`,onChange:mt,searchPlaceholder:`搜索 Tool`,emptyMessage:`没有可用 Tool`})})]})]})]}),(0,v.jsx)(nj,{...xt,children:(0,v.jsxs)(`aside`,{hidden:!yt,className:`conversation-draft-rail${yt?Mt?` is-reviewing`:``:` is-empty`}`,"aria-label":`Agent 草稿`,children:[(0,v.jsxs)(`div`,{className:`conversation-draft-rail-heading`,children:[(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`strong`,{children:`草稿`}),(0,v.jsx)(`p`,{children:yt?`草稿已随对话更新`:`对话后生成,可随时检查`})]}),(0,v.jsx)(`span`,{className:`badge`,"data-state":yt?`ready`:`pending`,children:yt?`已更新`:`待生成`})]}),yt?Mt?(0,v.jsxs)(`form`,{className:`conversation-review-form`,onSubmit:xt.handleSubmit(Pn),noValidate:!0,children:[(0,v.jsxs)(`div`,{className:`conversation-review-heading`,children:[(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`strong`,{children:`检查并确认`}),(0,v.jsx)(`p`,{children:`确认名称、提示词与能力后创建 Agent。`})]}),(0,v.jsx)(`button`,{type:`button`,className:`button secondary`,onClick:()=>Nt(!1),children:`收起`})]}),(0,v.jsxs)(`div`,{className:`form-grid two-columns`,children:[(0,v.jsx)(Y,{label:`显示名称`,requirement:`required`,htmlFor:`conversationName`,error:xt.formState.errors.name?.message,children:(0,v.jsx)(`input`,{id:`conversationName`,...xt.register(`name`)})}),(0,v.jsx)(bU,{id:`conversationSlug`,value:xt.watch(`slug`),onChange:e=>xt.setValue(`slug`,e,{shouldDirty:!0,shouldValidate:!0}),error:xt.formState.errors.slug?.message})]}),(0,v.jsx)(Y,{label:`系统提示词`,requirement:`required`,htmlFor:`conversationPrompt`,error:xt.formState.errors.prompt?.message,children:(0,v.jsx)(`textarea`,{id:`conversationPrompt`,rows:8,...xt.register(`prompt`)})}),(0,v.jsx)(`div`,{className:`authoring-card-actions`,children:(0,v.jsxs)(`button`,{className:`button accent`,type:`submit`,disabled:St,children:[(0,v.jsx)(Kf,{size:16}),(0,v.jsx)(`span`,{children:`确认创建 Agent`})]})})]}):(0,v.jsxs)(`div`,{className:`conversation-draft-summary`,children:[(0,v.jsxs)(`div`,{className:`conversation-draft-title`,children:[(0,v.jsx)(Rf,{size:18,"aria-hidden":`true`}),(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`strong`,{children:xt.watch(`name`)||yt.name}),(0,v.jsx)(`p`,{children:xt.watch(`description`)||yt.description||`已生成可编辑的 Agent 草稿`})]})]}),(0,v.jsxs)(`div`,{className:`conversation-preview-section`,children:[(0,v.jsx)(`span`,{children:`角色与系统提示词`}),(0,v.jsx)(`p`,{children:xt.watch(`prompt`)||yt?.spec?.instructions?.system||`尚未生成`})]}),(0,v.jsxs)(`div`,{className:`conversation-preview-section`,children:[(0,v.jsx)(`span`,{children:`任务契约`}),(0,v.jsx)(`p`,{children:yt?.spec?.instructions?.task||`根据对话目标完成任务。`})]}),(0,v.jsxs)(`div`,{className:`conversation-draft-tags`,children:[(0,v.jsx)(`span`,{children:FU.find(e=>e.value===vn)?.label.split(` · `)[0]||`Runtime`}),(0,v.jsxs)(`span`,{children:[dt.length,` 个模型`]}),_t.length+ht.length+(vn===`codex`?0:pt.length)>0&&(0,v.jsxs)(`span`,{children:[_t.length+ht.length+(vn===`codex`?0:pt.length),` 项能力`]})]}),(0,v.jsxs)(`button`,{className:`button accent`,type:`button`,onClick:()=>Nt(!0),children:[(0,v.jsx)(qp,{size:16}),(0,v.jsx)(`span`,{children:`编辑并创建`})]})]}):(0,v.jsxs)(`div`,{className:`conversation-draft-empty`,children:[(0,v.jsx)(Rf,{size:20,"aria-hidden":`true`}),(0,v.jsx)(`strong`,{children:`从对话开始`}),(0,v.jsx)(`p`,{children:`先描述目标。草稿会在这里显示摘要,不会自动创建 Agent。`})]})]})})]})]}),!e&&s===`import`&&(0,v.jsxs)(`section`,{id:`authoring-panel-import`,className:`authoring-mode-panel`,role:`tabpanel`,"aria-labelledby":`authoring-tab-import`,children:[(0,v.jsxs)(`div`,{className:`authoring-panel-heading`,children:[(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`h2`,{children:`导入 Agent`}),(0,v.jsx)(`p`,{children:`支持 YAML 或 ZIP,检查后再导入。`})]}),(0,v.jsx)(`span`,{className:`tag`,children:`YAML / ZIP`})]}),(0,v.jsxs)(`div`,{className:`authoring-inspect-grid`,children:[(0,v.jsxs)(`form`,{className:`authoring-input-card`,onSubmit:e=>{e.preventDefault(),Fn()},children:[(0,v.jsxs)(`div`,{className:`authoring-section-heading`,children:[(0,v.jsx)(`span`,{className:`authoring-section-index`,children:`01`}),(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`strong`,{children:`选择 Agent 文件`}),(0,v.jsx)(`p`,{children:`检查文件后再确认导入。`})]})]}),(0,v.jsx)(Y,{label:`Agent 文件`,requirement:`required`,hint:`拖放 Agent YAML / ZIP,或点击选择`,children:(0,v.jsx)(`div`,{children:(0,v.jsx)(FH,{ariaLabel:`选择 Agent YAML 或 ZIP`,accept:{"application/zip":[`.zip`],"application/yaml":[`.yaml`,`.yml`],"text/yaml":[`.yaml`,`.yml`]},maxSize:104857600,file:Ft,onFile:e=>{Ut.current+=1,It(e),Rt(null),Jt(``),Kt(!1)},onError:Jt})})}),(0,v.jsx)(`div`,{className:`authoring-card-actions`,children:(0,v.jsxs)(`button`,{className:`button accent`,type:`submit`,disabled:!Ft||Gt,children:[(0,v.jsx)(nm,{size:16}),(0,v.jsx)(`span`,{children:Gt?`检查中`:`只读检查`})]})})]}),(0,v.jsx)(nj,{...zt,children:(0,v.jsxs)(`form`,{className:`authoring-inspection-card`,hidden:!Lt,onSubmit:zt.handleSubmit(In),noValidate:!0,children:[(0,v.jsxs)(`div`,{className:`authoring-section-heading`,children:[(0,v.jsx)(`span`,{className:`authoring-section-index`,children:`02`}),(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`strong`,{children:`检查并确认`}),(0,v.jsx)(`p`,{children:`确认解析结果与警告。`})]}),(0,v.jsx)(`span`,{className:`badge`,"data-state":Lt?`ready`:`pending`,"aria-live":`polite`,children:Lt?`检查完成`:`等待检查`})]}),(0,v.jsxs)(`div`,{className:`form-grid two-columns`,children:[(0,v.jsx)(Y,{label:`显示名称`,requirement:`required`,htmlFor:`importName`,error:zt.formState.errors.name?.message,children:(0,v.jsx)(`input`,{id:`importName`,...zt.register(`name`)})}),(0,v.jsx)(bU,{id:`importSlug`,value:zt.watch(`slug`),onChange:e=>zt.setValue(`slug`,e,{shouldDirty:!0,shouldValidate:!0}),error:zt.formState.errors.slug?.message})]}),Lt&&(0,v.jsx)(Zk,{inspection:Lt}),(0,v.jsx)(`div`,{className:`authoring-card-actions`,children:(0,v.jsxs)(`button`,{className:`button accent`,type:`submit`,disabled:!Lt||Gt,children:[(0,v.jsx)(Kf,{size:16}),(0,v.jsx)(`span`,{children:`确认导入`})]})})]})})]}),qt&&(0,v.jsxs)(`div`,{className:`inline-alert error`,children:[(0,v.jsx)(Zf,{size:16}),(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`strong`,{children:`操作失败`}),(0,v.jsx)(`p`,{children:qt})]})]})]}),!e&&s===`project`&&(0,v.jsxs)(`section`,{id:`authoring-panel-project`,className:`authoring-mode-panel`,role:`tabpanel`,"aria-labelledby":`authoring-tab-project`,children:[(0,v.jsx)(`div`,{className:`authoring-panel-heading`,children:(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`h2`,{children:`识别现有项目`}),(0,v.jsx)(`p`,{children:`选择工作区项目,检查后导入。`})]})}),(0,v.jsx)(nj,{...Ht,children:(0,v.jsxs)(`div`,{className:`authoring-inspect-grid`,children:[(0,v.jsxs)(`form`,{className:`authoring-input-card`,onSubmit:e=>{e.preventDefault(),Ln()},children:[(0,v.jsxs)(`div`,{className:`authoring-section-heading`,children:[(0,v.jsx)(`span`,{className:`authoring-section-index`,children:`01`}),(0,v.jsx)(`div`,{children:(0,v.jsx)(`strong`,{children:`指定项目路径`})})]}),(0,v.jsx)(Y,{label:`工作区相对路径`,requirement:`required`,htmlFor:`projectPath`,hint:`仅检查当前工作区内的目录,不会修改项目源码。`,error:Ht.formState.errors.path?.message,children:(0,v.jsx)(`input`,{id:`projectPath`,...Ht.register(`path`,{onChange:()=>{Ut.current+=1,Vt(null),Jt(``),Kt(!1)}})})}),(0,v.jsx)(`div`,{className:`authoring-card-actions`,children:(0,v.jsxs)(`button`,{className:`button accent`,type:`submit`,disabled:Gt,children:[(0,v.jsx)(nm,{size:16}),(0,v.jsx)(`span`,{children:Gt?`检测中`:`检测项目`})]})})]}),(0,v.jsxs)(`form`,{className:`authoring-inspection-card`,hidden:!Bt,onSubmit:Ht.handleSubmit(Rn),noValidate:!0,children:[(0,v.jsxs)(`div`,{className:`authoring-section-heading`,children:[(0,v.jsx)(`span`,{className:`authoring-section-index`,children:`02`}),(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`strong`,{children:`检查并确认`}),(0,v.jsx)(`p`,{children:`核对识别结果后创建 Agent。`})]}),(0,v.jsx)(`span`,{className:`badge`,"data-state":Bt?`ready`:`pending`,"aria-live":`polite`,children:Bt?`检测完成`:`等待检测`})]}),(0,v.jsxs)(`div`,{className:`form-grid two-columns`,children:[(0,v.jsx)(Y,{label:`显示名称`,requirement:`required`,htmlFor:`projectName`,error:Ht.formState.errors.name?.message,children:(0,v.jsx)(`input`,{id:`projectName`,...Ht.register(`name`)})}),(0,v.jsx)(bU,{id:`projectSlug`,value:Ht.watch(`slug`),onChange:e=>Ht.setValue(`slug`,e,{shouldDirty:!0,shouldValidate:!0}),error:Ht.formState.errors.slug?.message})]}),Bt&&(0,v.jsx)(Zk,{inspection:Bt,project:!0}),(0,v.jsx)(`div`,{className:`authoring-card-actions`,children:(0,v.jsxs)(`button`,{className:`button accent`,type:`submit`,disabled:!Bt||Gt,children:[(0,v.jsx)(Kf,{size:16}),(0,v.jsx)(`span`,{children:`确认创建 Agent`})]})})]})]})}),qt&&(0,v.jsxs)(`div`,{className:`inline-alert error`,children:[(0,v.jsx)(Zf,{size:16}),(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`strong`,{children:`操作失败`}),(0,v.jsx)(`p`,{children:qt})]})]})]}),!e&&s===`quick`&&(0,v.jsxs)(`div`,{id:`authoring-panel-quick`,className:`wizard-layout`,role:`tabpanel`,"aria-labelledby":`authoring-tab-quick`,children:[(0,v.jsx)(nj,{...L,children:(0,v.jsxs)(`form`,{id:`quickAgentForm`,className:`wizard-content`,onSubmit:L.handleSubmit(jn),noValidate:!0,children:[(0,v.jsxs)(`section`,{className:`wizard-panel${P===1?` active`:``}`,hidden:P!==1,children:[(0,v.jsxs)(`div`,{className:`panel-heading`,children:[(0,v.jsx)(`span`,{className:`panel-index`,children:`01`}),(0,v.jsx)(`div`,{children:(0,v.jsx)(`h2`,{children:`定义 Agent`})})]}),(0,v.jsx)(`div`,{className:`form-grid two-columns`,children:(0,v.jsx)(Y,{label:`Agent 名称`,requirement:`required`,htmlFor:`quickAgentName`,error:L.formState.errors.name?.message,children:(0,v.jsx)(`input`,{id:`quickAgentName`,maxLength:128,placeholder:`例如:技术支持助手`,...L.register(`name`,{onChange:Tn})})})}),(0,v.jsx)(Y,{label:`Runtime`,requirement:`required`,htmlFor:`quickRuntime`,hint:`Codex 支持 OpenAI Responses 与兼容接口。`,error:L.formState.errors.runtimeType?.message,children:(0,v.jsx)(Wk,{id:`quickRuntime`,ariaLabel:`Runtime`,value:z,options:mn,onValueChange:e=>{e&&(L.setValue(`runtimeType`,e,{shouldDirty:!0,shouldValidate:!0}),Tn())}})}),z===`harness`&&(0,v.jsx)(IU,{approved:me,onChange:he}),z===`plugin`&&(0,v.jsxs)(`div`,{className:`template-specific`,"data-testid":`external-provider-config`,children:[(0,v.jsx)(Y,{label:`AgentProvider`,requirement:`required`,htmlFor:`quickAgentProvider`,hint:`选项来自本机已安装的 agent.provider/v1;不可用版本会保留原因但不能选择。`,children:(0,v.jsx)(Wk,{id:`quickAgentProvider`,ariaLabel:`AgentProvider`,value:x,placeholder:`没有可用的 AgentProvider`,options:pn,disabled:!pn.some(e=>!e.disabled),onValueChange:e=>{S(e),ln(!1),Tn()}})}),!tn?.selectable&&(0,v.jsxs)(`div`,{className:`inline-alert warning`,role:`status`,children:[(0,v.jsx)(Zf,{size:16}),(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`strong`,{children:`AgentProvider 当前不可用`}),(0,v.jsx)(`p`,{children:tn?.reason?.message||`请先在插件中心安装并启用兼容的 AgentProvider。`})]})]}),(0,v.jsx)(Y,{label:`Provider 配置`,requirement:`optional`,htmlFor:`quickProviderConfig`,hint:`填写 JSON 对象;密码、Token、API Key 只能使用 env://、secret://、credential:// 或 vault:// 引用。`,children:(0,v.jsx)(`textarea`,{id:`quickProviderConfig`,className:`mono`,rows:5,value:C,onChange:e=>{w(e.target.value),Tn()}})}),tn?.permissions.length?(0,v.jsxs)(`label`,{className:`post-create-option`,children:[(0,v.jsx)(`input`,{type:`checkbox`,checked:on,onChange:e=>{ln(e.target.checked),Tn()}}),(0,v.jsxs)(`span`,{children:[(0,v.jsx)(`strong`,{children:`确认 Provider 请求的权限`}),(0,v.jsxs)(`small`,{children:[tn.permissions.join(`、`),`;确认后才会写入本 Revision。`]})]})]}):null]}),(0,v.jsx)(Y,{label:`Agent 目标与要求`,requirement:`required`,htmlFor:`quickPrompt`,hint:`写清角色、目标、工作边界和回答方式。`,error:L.formState.errors.prompt?.message,footer:(0,v.jsx)(`div`,{className:`field-footer`,children:(0,v.jsxs)(`span`,{children:[ie.length,` / 32768`]})}),children:(0,v.jsx)(`textarea`,{id:`quickPrompt`,rows:6,maxLength:32768,placeholder:`例如:帮助用户排查技术问题。先确认现象,再给出可执行的步骤。`,...L.register(`prompt`,{onChange:Tn})})}),(0,v.jsxs)(`details`,{className:`secondary-settings`,open:!!(L.formState.errors.slug||L.formState.errors.description||L.formState.errors.maxSteps||L.formState.errors.timeoutSeconds)||void 0,children:[(0,v.jsx)(`summary`,{children:`高级配置`}),(0,v.jsxs)(`div`,{className:`form-grid two-columns`,children:[(0,v.jsx)(Y,{label:`最大步骤`,htmlFor:`quickMaxSteps`,error:L.formState.errors.maxSteps?.message,children:(0,v.jsx)(`input`,{id:`quickMaxSteps`,type:`number`,min:1,max:100,step:1,...L.register(`maxSteps`,{valueAsNumber:!0,onChange:Tn})})}),(0,v.jsx)(Y,{label:`超时时间(秒)`,htmlFor:`quickTimeoutSeconds`,error:L.formState.errors.timeoutSeconds?.message,children:(0,v.jsx)(`input`,{id:`quickTimeoutSeconds`,type:`number`,min:1,max:3600,step:1,...L.register(`timeoutSeconds`,{valueAsNumber:!0,onChange:Tn})})}),(0,v.jsx)(bU,{value:R,onChange:e=>{L.setValue(`slug`,e,{shouldDirty:!0,shouldValidate:!0}),Tn()},error:L.formState.errors.slug?.message}),(0,v.jsx)(Y,{label:`描述`,requirement:`optional`,htmlFor:`quickDescription`,error:L.formState.errors.description?.message,children:(0,v.jsx)(`input`,{id:`quickDescription`,maxLength:1024,placeholder:`简要说明这个 Agent 解决什么问题`,...L.register(`description`,{onChange:Tn})})})]})]}),ne===`research`&&(0,v.jsxs)(`div`,{className:`template-specific`,children:[(0,v.jsxs)(`div`,{className:`form-grid two-columns`,children:[(0,v.jsx)(Y,{label:`目标读者`,requirement:`required`,htmlFor:`researchAudience`,error:L.formState.errors.audience?.message,children:(0,v.jsx)(`input`,{id:`researchAudience`,maxLength:256,...L.register(`audience`)})}),(0,v.jsx)(Y,{label:`输出语言`,requirement:`required`,htmlFor:`researchLanguage`,children:(0,v.jsx)(Wk,{id:`researchLanguage`,ariaLabel:`输出语言`,value:B,options:[{value:`zh-CN`,label:`简体中文`},{value:`en-US`,label:`English`}],onValueChange:e=>L.setValue(`language`,e,{shouldDirty:!0,shouldValidate:!0})})})]}),(0,v.jsxs)(`div`,{className:`field`,children:[(0,v.jsx)(`label`,{children:`调研深度`}),(0,v.jsx)(`div`,{className:`choice-grid`,children:[{value:`focused`,label:`聚焦`,desc:`8 个步骤,适合快速事实核验`,time:`约 3 分钟`},{value:`standard`,label:`标准`,desc:`16 个步骤,兼顾范围和深度`,time:`约 8 分钟`},{value:`deep`,label:`深度`,desc:`28 个步骤,多来源交叉验证`,time:`约 15 分钟`}].map(e=>(0,v.jsxs)(`button`,{className:`choice-card${V===e.value?` selected`:``}`,type:`button`,onClick:()=>L.setValue(`depth`,e.value,{shouldDirty:!0}),children:[(0,v.jsx)(`span`,{className:`choice-check`,children:(0,v.jsx)(Kf,{size:14})}),(0,v.jsx)(`strong`,{children:e.label}),(0,v.jsx)(`span`,{children:e.desc}),(0,v.jsx)(`small`,{children:e.time})]},e.value))})]}),(0,v.jsx)(Y,{label:`默认输出`,requirement:`required`,htmlFor:`researchFormat`,children:(0,v.jsx)(Wk,{id:`researchFormat`,ariaLabel:`默认输出`,value:H,options:[{value:`report`,label:`结构化研究报告`},{value:`brief`,label:`决策简报`},{value:`evidence-table`,label:`证据矩阵与结论`}],onValueChange:e=>L.setValue(`format`,e,{shouldDirty:!0,shouldValidate:!0})})})]})]}),(0,v.jsxs)(`section`,{className:`wizard-panel${P===2?` active`:``}`,hidden:P!==2,children:[(0,v.jsxs)(`div`,{className:`panel-heading`,children:[(0,v.jsx)(`span`,{className:`panel-index`,children:`02`}),(0,v.jsx)(`div`,{children:(0,v.jsx)(`h2`,{children:`绑定能力`})})]}),un&&(0,v.jsxs)(`div`,{className:`inline-alert warning codex-capability-notice`,children:[(0,v.jsx)(Zf,{size:16}),(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`strong`,{children:`Codex 使用原生工具,不绑定 KsADK 内置 Tool`}),(0,v.jsx)(`p`,{children:`可继续添加 MCP 和 Skill,并选择已配置凭证的模型。`})]})]}),(0,v.jsxs)(`div`,{className:`capability-section`,children:[(0,v.jsxs)(`div`,{className:`capability-heading`,children:[(0,v.jsx)(`span`,{className:`capability-icon`,children:(0,v.jsx)(dp,{size:15})}),(0,v.jsxs)(`div`,{children:[(0,v.jsxs)(`h3`,{children:[`模型 `,(0,v.jsx)(`span`,{className:`studio-field-requirement required`,"aria-hidden":`true`,children:`*`}),(0,v.jsx)(`span`,{className:`sr-only`,children:`必填`})]}),(0,v.jsx)(`p`,{children:`至少选择一个;支持多选`})]})]}),Wn&&(0,v.jsx)(`div`,{className:`model-profile-control`,children:(0,v.jsx)(`button`,{className:`button secondary`,type:`button`,onClick:()=>Ye(Hn[0]||null),children:`配置凭证`})}),(0,v.jsx)(wz,{ariaLabel:`选择模型`,items:Xt,selectedIds:de,getId:e=>e.resourceId,getLabel:e=>e.displayName,getDescription:e=>`${e.contract?.model||e.name} · ${_n(e)?`凭证已配置`:`需配置凭证`}`,onChange:e=>{U(e),Tn()},searchPlaceholder:`搜索模型`,emptyMessage:`没有可用模型`}),(0,v.jsx)(`span`,{className:`helper`,children:Un})]}),dn&&(0,v.jsxs)(`div`,{className:`capability-section`,children:[(0,v.jsxs)(`div`,{className:`capability-heading`,children:[(0,v.jsx)(`span`,{className:`capability-icon`,children:(0,v.jsx)(xm,{size:15})}),(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`h3`,{children:`Tool 与权限`}),(0,v.jsx)(`p`,{children:`选择本地 Tool,并设置默认审批级别`})]})]}),(0,v.jsx)(`div`,{className:`segmented-control`,"aria-label":`Tool 权限模板`,children:[`loose`,`strict`,`custom`].map(e=>(0,v.jsx)(`button`,{className:Ee===e?`selected`:``,type:`button`,onClick:()=>{De(e),Tn()},children:{loose:`宽松`,strict:`严格`,custom:`自定义`}[e]},e))}),(0,v.jsx)(`p`,{className:`policy-description`,children:Bn.description}),(0,v.jsx)(wz,{ariaLabel:`选择 Tool`,items:Zt,selectedIds:fe,getId:e=>e.resourceId,getLabel:e=>e.displayName,getDescription:e=>`${e.version} · ${e.description||`本地 Tool`}`,onChange:e=>{pe(e),Tn()},searchPlaceholder:`搜索 Tool`,emptyMessage:`没有可用 Tool`})]}),(0,v.jsxs)(`div`,{className:`capability-section`,children:[(0,v.jsxs)(`div`,{className:`capability-heading`,children:[(0,v.jsx)(`span`,{className:`capability-icon`,children:(0,v.jsx)(Up,{size:15})}),(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`h3`,{children:`MCP Server`}),(0,v.jsx)(`p`,{children:`连接外部服务与工具`})]}),(0,v.jsxs)(`button`,{className:`button secondary small`,type:`button`,onClick:()=>Ze(!0),children:[(0,v.jsx)($p,{size:14}),(0,v.jsx)(`span`,{children:`连接 MCP`})]})]}),(0,v.jsx)(wz,{ariaLabel:`选择 MCP Server`,items:Qt,selectedIds:ve,disabledIds:Qt.filter(e=>!ve.includes(e.resourceId)&&jB(e,z)).map(e=>e.resourceId),getId:e=>e.resourceId,getLabel:e=>e.displayName,getDescription:e=>jB(e,z)||`${e.description||`MCP Server`} · ${e.health?.toolCount||0} Tool · ${e.status===`ready`?`Ready`:e.status}`,onChange:e=>{ye(e),Tn()},searchPlaceholder:`搜索 MCP Server`,emptyMessage:`没有已连接的 MCP Server`})]}),(0,v.jsxs)(`div`,{className:`capability-section`,children:[(0,v.jsxs)(`div`,{className:`capability-heading`,children:[(0,v.jsx)(`span`,{className:`capability-icon`,children:(0,v.jsx)(sm,{size:15})}),(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`h3`,{children:`Skill`}),(0,v.jsx)(`p`,{children:`按需注入可复用的方法、知识和任务约束`})]})]}),(0,v.jsx)(wz,{ariaLabel:`选择 Skill`,items:$t,selectedIds:be,getId:e=>e.resourceId,getLabel:e=>e.displayName,getDescription:e=>`${e.version} · ${e.description||`版本化 Skill`}`,onChange:e=>{xe(e),Tn()},searchPlaceholder:`搜索 Skill`,emptyMessage:`没有已安装的 Skill`})]}),(0,v.jsx)(`div`,{className:`capability-section platform-capability-section`,children:(0,v.jsx)(Nz,{value:Se,onChange:e=>{Ce(e),e.some(e=>e.config?.binding?.resource?.kind===`memory-instance`)&&(Ne(!0),Fe(`off`)),Tn()},onPendingChange:Te})})]}),(0,v.jsxs)(`section`,{className:`wizard-panel${P===3?` active`:``}`,hidden:P!==3,children:[(0,v.jsxs)(`div`,{className:`panel-heading`,children:[(0,v.jsx)(`span`,{className:`panel-index`,children:`03`}),(0,v.jsx)(`div`,{children:(0,v.jsx)(`h2`,{children:`提示词与策略`})}),(0,v.jsxs)(`button`,{className:`button secondary small prompt-optimize-button${Le===`composing`?` is-working`:``}`,type:`button`,disabled:Le===`composing`,"aria-busy":Le===`composing`,onClick:On,children:[(0,v.jsx)(tm,{size:14,"aria-hidden":`true`}),(0,v.jsx)(`span`,{className:Le===`composing`?`text-shimmer`:void 0,children:Le===`composing`?ze===`optimize`?`正在优化`:`正在生成`:`一键优化 Prompt`})]})]}),(0,v.jsxs)(`div`,{className:`prompt-status${Le===`composing`?` is-working`:``}`,role:`status`,"aria-live":`polite`,children:[(0,v.jsx)(`span`,{className:`status-dot ${Le===`done`?`success`:`info`}`}),(0,v.jsx)(`span`,{children:Le===`composing`?ze===`optimize`?`正在使用生成模型优化角色与任务契约,通常需要几十秒`:`正在根据模板与能力生成角色与任务契约`:Le===`done`?`角色与任务契约已根据当前选择生成`:`进入此步骤后生成 Prompt`})]}),(0,v.jsx)(Y,{label:`角色与系统提示词`,requirement:`required`,htmlFor:`composedSystemPrompt`,hint:`定义角色、目标、工作边界和回答原则`,error:L.formState.errors.systemPrompt?.message,children:(0,v.jsx)(`textarea`,{id:`composedSystemPrompt`,className:`prompt-editor`,rows:16,...L.register(`systemPrompt`,{onChange:Tn})})}),(0,v.jsx)(Y,{label:`任务契约`,requirement:`optional`,htmlFor:`composedTaskPrompt`,hint:`约束每次请求的执行步骤、工具使用和交付结构`,error:L.formState.errors.taskPrompt?.message,children:(0,v.jsx)(`textarea`,{id:`composedTaskPrompt`,className:`prompt-editor`,rows:10,...L.register(`taskPrompt`,{onChange:Tn})})}),(0,v.jsxs)(`details`,{className:`pcm-policy-card`,children:[(0,v.jsx)(`summary`,{children:(0,v.jsxs)(`span`,{children:[(0,v.jsx)(`strong`,{children:`上下文与记忆策略`}),(0,v.jsx)(`small`,{children:`按 Runtime 能力控制 Prompt 归属、上下文优化和长期记忆`})]})}),(0,v.jsxs)(`div`,{className:`pcm-policy-body form-grid two-columns`,children:[(0,v.jsx)(Y,{label:`上下文责任边界`,requirement:`optional`,htmlFor:`contextOwnership`,hint:`决定由平台、框架或原生 Runtime 负责最终输入。`,children:(0,v.jsx)(Wk,{id:`contextOwnership`,ariaLabel:`上下文责任边界`,value:Oe,options:Ie,onValueChange:e=>{e&&(ke(e),Tn())}})}),(0,v.jsx)(Y,{label:`上下文优化`,requirement:`optional`,htmlFor:`contextEngineRollout`,hint:`控制预算规划、压缩和降载能力的启用阶段。`,children:(0,v.jsx)(Wk,{id:`contextEngineRollout`,ariaLabel:`上下文优化`,value:Ae,options:[{value:`off`,label:`Runtime 默认`,description:`不启用平台上下文优化`},{value:`shadow`,label:`仅观察`,description:`记录规划证据但不接管输入`},{value:`enabled`,label:`正式启用`,description:`按预算规划并组装上下文`}],onValueChange:e=>{je(e),Tn()}})}),(0,v.jsxs)(`label`,{className:`post-create-option`,children:[(0,v.jsx)(`input`,{type:`checkbox`,checked:Me,onChange:e=>{Ne(e.target.checked),Tn()}}),(0,v.jsxs)(`span`,{children:[(0,v.jsx)(`strong`,{children:`启用长期记忆`}),(0,v.jsx)(`small`,{children:`按 Agent 和用户作用域召回相关事实;凭证不会写入 Agent 配置。`})]})]}),(0,v.jsx)(Y,{label:`记忆写入`,requirement:`optional`,htmlFor:`memoryWriteRollout`,hint:`关闭记忆时固定为不写入。`,children:(0,v.jsx)(Wk,{id:`memoryWriteRollout`,ariaLabel:`记忆写入`,value:Me?Pe:`off`,disabled:!Me,options:[{value:`off`,label:`不写入`},{value:`shadow`,label:`仅生成候选`},{value:`enabled`,label:`允许写入`}],onValueChange:e=>{Fe(e),Tn()}})})]})]})]}),(0,v.jsxs)(`section`,{className:`wizard-panel${P===4?` active`:``}`,hidden:P!==4,children:[(0,v.jsxs)(`div`,{className:`panel-heading`,children:[(0,v.jsx)(`span`,{className:`panel-index`,children:`04`}),(0,v.jsx)(`div`,{children:(0,v.jsx)(`h2`,{children:`检查并创建`})})]}),(0,v.jsxs)(`div`,{className:`review-block`,children:[(0,v.jsxs)(`div`,{className:`review-title`,children:[(0,v.jsx)(`span`,{children:`Agent`}),(0,v.jsx)(`button`,{className:`text-button`,type:`button`,onClick:()=>kn(1),children:`编辑`})]}),(0,v.jsxs)(`div`,{className:`review-agent`,children:[(0,v.jsx)(`span`,{className:`agent-avatar`,children:ne===`research`?(0,v.jsx)(nm,{size:16}):(0,v.jsx)(Rf,{size:16})}),(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`strong`,{children:te}),(0,v.jsxs)(`span`,{children:[R,` · `,z]}),(0,v.jsx)(`p`,{children:ie||`等待填写系统提示词`})]})]})]}),(0,v.jsxs)(`div`,{className:`review-block`,children:[(0,v.jsxs)(`div`,{className:`review-title`,children:[(0,v.jsx)(`span`,{children:`能力绑定`}),(0,v.jsx)(`button`,{className:`text-button`,type:`button`,onClick:()=>kn(2),children:`编辑`})]}),(0,v.jsxs)(`div`,{className:`review-capabilities`,children:[(0,v.jsxs)(`div`,{className:`review-capability`,children:[(0,v.jsx)(dp,{size:16}),(0,v.jsx)(`div`,{children:(0,v.jsx)(`strong`,{children:Hn[0]?.displayName||`模型`})})]}),dn&&(0,v.jsxs)(`div`,{className:`review-capability`,children:[(0,v.jsx)(xm,{size:16}),(0,v.jsxs)(`div`,{children:[(0,v.jsxs)(`strong`,{children:[fn.length,` 个 Tool`]}),(0,v.jsx)(`span`,{children:Bn.title})]})]}),(0,v.jsxs)(`div`,{className:`review-capability`,children:[(0,v.jsx)(Up,{size:16}),(0,v.jsxs)(`div`,{children:[(0,v.jsxs)(`strong`,{children:[ve.length,` 个 MCP`]}),(0,v.jsx)(`span`,{children:ve.length?`已连接外部服务`:`未绑定`})]})]}),(0,v.jsxs)(`div`,{className:`review-capability`,children:[(0,v.jsx)(sm,{size:16}),(0,v.jsxs)(`div`,{children:[(0,v.jsxs)(`strong`,{children:[be.length,` 个 Skill`]}),(0,v.jsx)(`span`,{children:be.length?`已注入版本化能力`:`未绑定`})]})]})]})]}),(0,v.jsxs)(`div`,{className:`review-block`,children:[(0,v.jsxs)(`div`,{className:`review-title`,children:[(0,v.jsx)(`span`,{children:`Prompt`}),(0,v.jsx)(`button`,{className:`text-button`,type:`button`,onClick:()=>kn(3),children:`编辑`})]}),(0,v.jsx)(`div`,{className:`prompt-preview`,children:oe||ie||`等待生成`})]}),(0,v.jsxs)(`label`,{className:`post-create-option`,children:[(0,v.jsx)(`input`,{type:`checkbox`,...L.register(`buildAfterCreate`)}),(0,v.jsxs)(`span`,{children:[(0,v.jsx)(`strong`,{children:Gn?`创建后立即校验 YAML 声明并打开会话`:`创建后立即构建并打开会话`}),(0,v.jsx)(`small`,{children:Gn?`只冻结 YAML 和 runtime 摘要;部署时不会上传代码包。`:`生成不可变 AgentBundle,完成后进入 Chat 工作台`})]})]})]}),Ve&&(0,v.jsxs)(`div`,{className:`inline-alert error wizard-error-summary`,role:`alert`,children:[(0,v.jsx)(Zf,{size:16}),(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`strong`,{children:`需要处理一项配置`}),(0,v.jsx)(`p`,{children:Ve})]})]}),(0,v.jsxs)(`footer`,{className:`wizard-actions`,children:[(0,v.jsxs)(`button`,{className:`button secondary`,type:`button`,"aria-label":`上一步`,title:`上一步`,disabled:P===1,onClick:()=>kn(P-1),children:[(0,v.jsx)(Nf,{size:16}),(0,v.jsx)(`span`,{children:`上一步`})]}),(0,v.jsxs)(`span`,{className:`wizard-progress`,children:[`第 `,P,` 步,共 4 步`]}),(0,v.jsxs)(`button`,{className:`button tertiary summary-toggle`,type:`button`,"aria-label":`完整摘要`,title:`完整摘要`,"aria-expanded":Ke,onClick:()=>qe(e=>!e),children:[(0,v.jsx)(qp,{size:16}),(0,v.jsx)(`span`,{children:`完整摘要`})]}),(0,v.jsxs)(`div`,{className:`wizard-flow-actions`,children:[(0,v.jsx)(`button`,{className:`button secondary`,type:`button`,onClick:wn,children:`保存草稿`}),P===1&&(0,v.jsxs)(`button`,{className:`button secondary quick-create-default`,type:`button`,disabled:Ue||we,onClick:()=>void An(),title:`使用通用助手模板、已选模型和当前权限直接创建`,children:[(0,v.jsx)(wm,{size:16}),(0,v.jsx)(`span`,{children:Ue?`正在创建`:`一键创建`})]}),P<4?(0,v.jsxs)(`button`,{className:`button accent`,type:`button`,disabled:we,onClick:e=>{e.preventDefault(),kn(P+1)},children:[(0,v.jsx)(`span`,{children:`继续`}),(0,v.jsx)(Pf,{size:16})]},`continue`):(0,v.jsxs)(`button`,{className:`button accent`,type:`submit`,disabled:Ue||we,children:[(0,v.jsx)($p,{size:16}),(0,v.jsx)(`span`,{children:Ue?`正在创建`:`创建 Agent`})]},`create`)]})]})]})}),(0,v.jsx)(Eb,{open:Ke,compact:!0,title:`配置摘要`,subtitle:`检查本轮创建使用的 Runtime、模型、能力与权限策略。`,onOpenChange:qe,children:(0,v.jsxs)(`div`,{className:`wizard-summary-content`,children:[(0,v.jsxs)(`dl`,{children:[(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`dt`,{children:`Runtime`}),(0,v.jsx)(`dd`,{children:zn})]}),(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`dt`,{children:`模型`}),(0,v.jsx)(`dd`,{children:Vn})]}),(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`dt`,{children:`Skill`}),(0,v.jsx)(`dd`,{children:be.length})]}),(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`dt`,{children:`MCP`}),(0,v.jsx)(`dd`,{children:ve.length})]}),(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`dt`,{children:`Tool`}),(0,v.jsx)(`dd`,{children:fn.length})]}),(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`dt`,{children:`策略`}),(0,v.jsx)(`dd`,{children:ne===`research`?`Plan-Act-Observe`:`Direct`})]})]}),(0,v.jsx)(`div`,{className:`summary-divider`}),(0,v.jsxs)(`div`,{className:`summary-note`,children:[(0,v.jsx)(om,{size:16}),(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`strong`,{children:Bn.title}),(0,v.jsx)(`p`,{children:Bn.description})]})]}),(0,v.jsxs)(`div`,{className:`summary-note`,children:[(0,v.jsx)(Gp,{size:16}),(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`strong`,{children:Gn?`声明校验`:`不可变构建`}),(0,v.jsx)(`p`,{children:Gn?`冻结 YAML 与 runtime 摘要;云端部署不使用代码包。`:un?`Skill 与 MCP 将锁定版本与摘要;工具由 Codex Runtime 提供。`:`Skill、MCP 和 Tool 将锁定版本与摘要。`})]})]})]})})]})]})]}),Je&&(0,v.jsx)(pU,{model:Je,onClose:()=>Ye(null),onChanged:Yt}),Xe&&(0,v.jsx)(mU,{onClose:()=>Ze(!1),onConnected:()=>{Ze(!1),Yt()}})]})}function ZU(e){if(!e)return`—`;let t=new Date(e);return Number.isNaN(t.getTime())?e:new Intl.DateTimeFormat(`zh-CN`,{month:`2-digit`,day:`2-digit`,hour:`2-digit`,minute:`2-digit`}).format(t)}function QU(e){return e.displayName||e.command.payload.content?.slice(0,28)||e.taskId}function $U(e){if(e.kind===`once`)return`单次 · ${e.at?rW(e.at,e.timezone).replace(`T`,` `):`待设置`}`;if(e.kind===`interval`){let t=e.everySeconds||60;for(let[e,n]of[[86400,`天`],[3600,`小时`],[60,`分钟`]])if(t%e===0)return`每 ${t/e} ${n}`;return`每 ${t} 秒`}let t=/^(\d+) (\d+) \* \* (\*|1-5|[0-7])$/.exec(e.expression||``);if(!t)return e.expression||`自定义时间`;let[,n,r,i]=t;return`${i===`*`?`每天`:i===`1-5`?`工作日`:`每周${`日一二三四五六日`[Number(i)]}`} ${r.padStart(2,`0`)}:${n.padStart(2,`0`)}`}function eW(e=``){return{agentId:e,displayName:``,prompt:``,kind:`cron`,timezone:`Asia/Shanghai`,at:``,expression:`0 10 * * *`,misfirePolicy:`skip`,enabled:!0,continuity:`new_session`,sessionId:``,preset:`daily`,time:`10:00`,weekday:`1`,intervalValue:`30`,intervalUnit:`60`}}function tW(e){let t=/^(\d+) (\d+) \* \* (\*|1-5|[0-7])$/.exec(e.schedule.expression||``),n=e.schedule.everySeconds||3600,r=[86400,3600,60,1].find(e=>n%e===0);return{...eW(e.target.agentId||``),agentId:e.target.agentId||``,displayName:e.displayName||``,prompt:e.command.payload.content||``,kind:e.schedule.kind,timezone:e.schedule.timezone||`Asia/Shanghai`,at:e.schedule.at?rW(e.schedule.at,e.schedule.timezone):``,expression:e.schedule.expression||`0 9 * * 1-5`,misfirePolicy:e.schedule.misfirePolicy||`skip`,enabled:e.enabled,continuity:e.continuity,sessionId:e.target.sessionId||``,preset:t?t[3]===`*`?`daily`:t[3]===`1-5`?`weekdays`:`weekly`:`custom`,time:t?`${t[2].padStart(2,`0`)}:${t[1].padStart(2,`0`)}`:`10:00`,weekday:t&&/^[0-7]$/.test(t[3])?String(Number(t[3])%7):`1`,intervalValue:String(n/r),intervalUnit:String(r)}}function nW(e){let t={kind:e.kind,timezone:e.timezone.trim()||`Asia/Shanghai`,misfirePolicy:e.misfirePolicy};if(e.kind===`once`){if(!e.at)throw Error(`请填写单次任务的执行时间`);t.at=iW(e.at,t.timezone)}else if(e.kind===`interval`){let n=Number(e.intervalValue)*Number(e.intervalUnit);if(!Number.isInteger(n)||n<60)throw Error(`间隔至少为 60 秒`);t.everySeconds=n}else if(e.preset===`custom`){if(!e.expression.trim())throw Error(`请填写 Cron 表达式`);t.expression=e.expression.trim()}else{if(!/^\d{2}:\d{2}$/.test(e.time))throw Error(`请选择执行时间`);let[n,r]=e.time.split(`:`).map(Number);t.expression=`${r} ${n} * * ${e.preset===`daily`?`*`:e.preset===`weekdays`?`1-5`:e.weekday}`}if(e.continuity===`continue_session`&&!e.sessionId)throw Error(`请选择要继续的会话`);return{displayName:e.displayName.trim()||e.prompt.trim().slice(0,32),prompt:e.prompt.trim(),schedule:t,enabled:e.enabled,continuity:e.continuity,sessionId:e.continuity===`continue_session`&&e.sessionId.trim()||null}}function rW(e,t){let n=new Intl.DateTimeFormat(`en-CA`,{timeZone:t,year:`numeric`,month:`2-digit`,day:`2-digit`,hour:`2-digit`,minute:`2-digit`,hourCycle:`h23`}).formatToParts(new Date(e)),r=e=>n.find(t=>t.type===e)?.value;return`${r(`year`)}-${r(`month`)}-${r(`day`)}T${r(`hour`)}:${r(`minute`)}`}function iW(e,t){let n=Date.parse(`${e}:00Z`);if(!Number.isFinite(n))throw Error(`请填写有效的执行时间`);let r=n;for(let e=0;e<4;e++){let e=Date.parse(`${rW(new Date(r).toISOString(),t)}:00Z`);r+=n-e}if(rW(new Date(r).toISOString(),t)!==e)throw Error(`该时间处于夏令时跳转,请选择其他时间`);if([-36e5,36e5].some(n=>rW(new Date(r+n).toISOString(),t)===e))throw Error(`该时间在夏令时切换时重复,请选择其他时间`);return new Date(r).toISOString()}function aW({form:e,agents:t,editing:n,busy:r,error:i,scoped:a,onChange:o,onSave:s,onClose:c}){let[l,u]=(0,g.useState)([]),[d,f]=(0,g.useState)(``),[p,m]=(0,g.useState)(!1),h=(t,n)=>o({...e,[t]:n});(0,g.useEffect)(()=>{let t=!0;if(u([]),f(``),!(e.continuity!==`continue_session`||!e.agentId))return m(!0),(async()=>{try{let n=[];for(let r=1;;r++){let i=await q(`/agentengine/api/v1/ListSessions`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({AgentId:e.agentId,Page:r,PageSize:100})});if(!i.ok)throw Error(`会话加载失败,请重新选择对话方式后重试。`);let a=await i.json();if(a.Code)throw Error(a.Message||`会话加载失败`);let o=a.Data?.Sessions||[];if(n.push(...o),!t)return;if(!o.length||n.length>=(a.Data?.Total||o.length))break}t&&u(n)}catch(e){t&&f(e.message)}finally{t&&m(!1)}})(),()=>{t=!1}},[e.agentId,e.continuity]);let _=`设置任务的执行时间`;try{_=$U(nW({...e,continuity:`new_session`}).schedule)}catch{}return(0,v.jsx)(sV,{title:n?`编辑定时任务`:`新建定时任务`,subtitle:`安排好下一次,把重复的工作交给智能体。`,closeDisabled:r,onClose:c,footer:(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(`button`,{className:`button secondary`,disabled:r,onClick:c,children:`取消`}),(0,v.jsx)(`button`,{className:`button accent`,disabled:r||!e.agentId||!e.prompt.trim(),onClick:s,children:r?`保存中…`:n?`保存变更`:`创建任务`})]}),children:(0,v.jsxs)(`div`,{className:`automation-editor`,children:[i&&(0,v.jsx)(`div`,{className:`form-error`,role:`alert`,children:i}),(0,v.jsxs)(`label`,{children:[`交给谁`,(0,v.jsxs)(`select`,{value:e.agentId,disabled:n||a,onChange:t=>o({...e,agentId:t.target.value,sessionId:``}),children:[(0,v.jsx)(`option`,{value:``,children:`选择智能体`}),t.map(e=>(0,v.jsx)(`option`,{value:e.metadata.id,children:e.metadata.name},e.metadata.id))]})]}),(0,v.jsxs)(`label`,{children:[`任务名称`,(0,v.jsx)(`input`,{maxLength:128,value:e.displayName,onChange:e=>h(`displayName`,e.target.value),placeholder:`例如:每日工作简报`})]}),(0,v.jsxs)(`label`,{children:[`任务说明`,(0,v.jsx)(`textarea`,{"aria-label":`任务说明`,maxLength:32768,rows:4,value:e.prompt,onChange:e=>h(`prompt`,e.target.value),placeholder:`到时间后需要做什么?例如:整理昨日进展,列出待办和风险。`})]}),(0,v.jsxs)(`fieldset`,{children:[(0,v.jsx)(`legend`,{children:`何时执行`}),(0,v.jsx)(`div`,{className:`automation-frequency`,role:`group`,"aria-label":`计划类型`,children:[[`cron`,`固定时间`],[`interval`,`固定间隔`],[`once`,`仅一次`]].map(([t,n])=>(0,v.jsx)(`button`,{type:`button`,"aria-pressed":e.kind===t,onClick:()=>o({...e,kind:t,misfirePolicy:t===`once`?`run_once`:`skip`}),children:n},t))}),e.kind===`cron`&&(0,v.jsxs)(v.Fragment,{children:[(0,v.jsxs)(`div`,{className:`form-grid two-columns`,children:[(0,v.jsxs)(`label`,{children:[`重复`,(0,v.jsxs)(`select`,{value:e.preset,onChange:e=>h(`preset`,e.target.value),children:[(0,v.jsx)(`option`,{value:`daily`,children:`每天`}),(0,v.jsx)(`option`,{value:`weekdays`,children:`工作日(周一至周五)`}),(0,v.jsx)(`option`,{value:`weekly`,children:`每周`}),(0,v.jsx)(`option`,{value:`custom`,children:`自定义 Cron`})]})]}),e.preset!==`custom`&&(0,v.jsxs)(`label`,{children:[`执行时间`,(0,v.jsx)(`input`,{type:`time`,value:e.time,onChange:e=>h(`time`,e.target.value)})]})]}),e.preset===`weekly`&&(0,v.jsxs)(`label`,{children:[`星期`,(0,v.jsx)(`select`,{value:e.weekday,onChange:e=>h(`weekday`,e.target.value),children:[1,2,3,4,5,6,0].map(e=>(0,v.jsxs)(`option`,{value:e,children:[`星期`,`日一二三四五六`[e]]},e))})]}),e.preset===`custom`&&(0,v.jsxs)(`label`,{children:[`Cron 表达式`,(0,v.jsx)(`input`,{value:e.expression,onChange:e=>h(`expression`,e.target.value),placeholder:`0 10 * * *`}),(0,v.jsx)(`small`,{children:`依次为分钟、小时、日期、月份、星期。`})]})]}),e.kind===`interval`&&(0,v.jsxs)(`div`,{className:`form-grid two-columns`,children:[(0,v.jsxs)(`label`,{children:[`每隔`,(0,v.jsx)(`input`,{type:`number`,min:1,value:e.intervalValue,onChange:e=>h(`intervalValue`,e.target.value)})]}),(0,v.jsxs)(`label`,{children:[`时间单位`,(0,v.jsxs)(`select`,{value:e.intervalUnit,onChange:e=>h(`intervalUnit`,e.target.value),children:[(0,v.jsx)(`option`,{value:`60`,children:`分钟`}),(0,v.jsx)(`option`,{value:`3600`,children:`小时`}),(0,v.jsx)(`option`,{value:`86400`,children:`天`}),e.intervalUnit===`1`&&(0,v.jsx)(`option`,{value:`1`,children:`秒`})]})]})]}),e.kind===`once`&&(0,v.jsxs)(`label`,{children:[`执行日期与时间`,(0,v.jsx)(`input`,{type:`datetime-local`,value:e.at,onChange:e=>h(`at`,e.target.value)})]}),(0,v.jsxs)(`label`,{children:[`时区`,(0,v.jsx)(`input`,{list:`automation-timezones`,value:e.timezone,onChange:e=>h(`timezone`,e.target.value)}),(0,v.jsx)(`datalist`,{id:`automation-timezones`,children:[`Asia/Shanghai`,`Asia/Tokyo`,`UTC`,`America/New_York`,`Europe/London`].map(e=>(0,v.jsx)(`option`,{value:e},e))})]}),(0,v.jsxs)(`div`,{className:`automation-schedule-preview`,children:[(0,v.jsx)(Wf,{size:18}),(0,v.jsxs)(`span`,{children:[_,(0,v.jsx)(`small`,{children:e.timezone})]})]})]}),(0,v.jsxs)(`label`,{children:[`对话方式`,(0,v.jsxs)(`select`,{value:e.continuity,onChange:e=>h(`continuity`,e.target.value),children:[(0,v.jsx)(`option`,{value:`new_session`,children:`每次新建会话`}),(0,v.jsx)(`option`,{value:`continue_session`,children:`继续已有会话`})]}),(0,v.jsx)(`small`,{children:`日报、巡检建议每次新建会话,结果更容易查找。`})]}),e.continuity===`continue_session`&&(0,v.jsxs)(`label`,{children:[`选择会话`,(0,v.jsxs)(`select`,{value:e.sessionId,onChange:e=>h(`sessionId`,e.target.value),disabled:p,children:[(0,v.jsx)(`option`,{value:``,children:p?`正在加载…`:`选择该智能体的会话`}),e.sessionId&&!l.some(t=>t.SessionId===e.sessionId)&&(0,v.jsxs)(`option`,{value:e.sessionId,children:[`当前绑定的会话 · `,e.sessionId]}),l.map(e=>(0,v.jsxs)(`option`,{value:e.SessionId,children:[e.Title||`未命名会话`,` · `,e.SessionId.slice(-8)]},e.SessionId))]}),d&&(0,v.jsx)(`small`,{role:`alert`,children:d})]}),(0,v.jsxs)(`details`,{className:`automation-advanced`,children:[(0,v.jsx)(`summary`,{children:`更多设置`}),(0,v.jsxs)(`label`,{children:[`错过执行时间时`,(0,v.jsxs)(`select`,{value:e.misfirePolicy,onChange:e=>h(`misfirePolicy`,e.target.value),children:[(0,v.jsx)(`option`,{value:`skip`,children:`跳过,等待下一次`}),(0,v.jsx)(`option`,{value:`run_once`,children:`恢复后补跑一次`})]})]}),(0,v.jsxs)(`label`,{className:`automation-checkbox`,children:[(0,v.jsx)(`input`,{type:`checkbox`,checked:e.enabled,onChange:e=>h(`enabled`,e.target.checked)}),`启用此任务`]})]}),(0,v.jsx)(`p`,{className:`automation-local-note`,children:`任务在此设备执行。请保持 Studio 运行;同一任务尚未完成时,会跳过重叠的触发。`})]})})}function oW(e){return e===`succeeded`?`成功`:e===`failed`?`失败`:e===`running`?`运行中`:e===`accepted`?`已接收`:e===`claimed`?`已认领`:e===`skipped`?`已跳过`:e===`cancelled`?`已取消`:e||`未知`}function sW(e){return e===`succeeded`?`ready`:e===`failed`||e===`cancelled`?`failed`:`pending`}function cW(e){return e.state===`claimed`||e.state===`accepted`||e.state===`running`}var lW={DISPATCH_FAILED:`提交失败`,PLUGIN_EXECUTION_FAILED:`插件执行失败`,RUNTIME_TIMEOUT:`执行超时`,misfire_skipped:`错过计划时间,已按策略跳过`,concurrency_forbid_active_occurrence:`已有执行未结束,本次已跳过`,runtime_completed:`运行时已确认完成`};function uW(e){return e?lW[e]||e:``}function dW(e){if(!e.errorCode)return`执行说明`;let t=uW(e.errorCode);return t===e.errorCode?t:`${t} · ${e.errorCode}`}function fW(e){return e.transitions?.length?e.transitions:[e.claimedAt&&{state:`claimed`,at:e.claimedAt},e.acceptedAt&&{state:`accepted`,at:e.acceptedAt},e.startedAt&&{state:`running`,at:e.startedAt},e.completedAt&&{state:e.state,at:e.completedAt,detail:e.detail,errorCode:e.errorCode}].filter(Boolean)}function pW({items:e,taskNames:t,agentNames:n}){return e.length?(0,v.jsx)(`div`,{className:`automation-occurrences`,children:e.map(e=>{let r=e.target?.agentId||``,i=fW(e);return(0,v.jsxs)(`article`,{className:`automation-occurrence-card`,children:[(0,v.jsxs)(`div`,{className:`automation-occurrence-summary`,children:[(0,v.jsx)(`span`,{className:`automation-state`,"data-state":sW(e.state),children:oW(e.state)}),(0,v.jsx)(`strong`,{children:t.get(e.taskId)||e.taskId}),(0,v.jsx)(`span`,{children:e.trigger===`manual`?`手动触发`:`计划触发`}),(0,v.jsx)(`time`,{children:ZU(e.scheduledFor)})]}),r&&e.runId&&(0,v.jsxs)(`a`,{className:`button secondary small`,href:`#/conversations?agentId=${encodeURIComponent(r)}&sessionId=${encodeURIComponent(e.sessionId)}`,children:[(0,v.jsx)(Ff,{size:14}),`查看会话与结果`]}),(0,v.jsxs)(`details`,{className:`automation-advanced`,children:[(0,v.jsx)(`summary`,{children:`执行详情`}),(0,v.jsxs)(`dl`,{className:`automation-occurrence-facts`,children:[(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`dt`,{children:`Occurrence`}),(0,v.jsx)(`dd`,{children:e.occurrenceId})]}),(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`dt`,{children:`Agent`}),(0,v.jsx)(`dd`,{children:n.get(r)||r||`目标已删除`})]}),(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`dt`,{children:`Attempt`}),(0,v.jsx)(`dd`,{children:e.attempt||1})]}),(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`dt`,{children:`Command`}),(0,v.jsx)(`dd`,{children:e.commandId||`尚未接收`})]}),(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`dt`,{children:`Session`}),(0,v.jsx)(`dd`,{children:e.sessionId})]}),(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`dt`,{children:`Run`}),(0,v.jsx)(`dd`,{children:e.runId||`尚未绑定`})]})]}),i.length>0&&(0,v.jsx)(`ol`,{className:`automation-timeline`,"aria-label":`${e.occurrenceId} 状态时间线`,children:i.map((e,t)=>(0,v.jsxs)(`li`,{children:[(0,v.jsx)(`span`,{children:oW(e.state)}),(0,v.jsx)(`time`,{children:ZU(e.at)}),(e.errorCode||e.detail)&&(0,v.jsx)(`small`,{children:uW(e.errorCode||e.detail)})]},`${e.state}-${e.at}-${t}`))}),e.detail&&!e.errorCode&&e.state===`succeeded`&&(0,v.jsx)(`p`,{className:`automation-execution-note`,children:uW(e.detail)})]}),(e.errorCode||e.detail&&e.state!==`succeeded`)&&(0,v.jsxs)(`div`,{className:`automation-diagnosis`,"data-state":sW(e.state),children:[(0,v.jsx)(`strong`,{children:dW(e)}),(0,v.jsx)(`span`,{children:uW(e.detail)||`—`})]})]},e.occurrenceId)})}):(0,v.jsx)(`p`,{className:`automation-empty`,children:`还没有执行记录。`})}function mW({currentAgentId:e,agents:t,scopedAgentId:n=``,embedded:r=!1,onTaskCountChanged:i,refreshTick:a=0}){let[o,s]=(0,g.useState)([]),[c,l]=(0,g.useState)([]),[u,d]=(0,g.useState)([]),[f,p]=(0,g.useState)(null),[m,h]=(0,g.useState)(!0),[_,y]=(0,g.useState)(``),[b,x]=(0,g.useState)(null),[S,C]=(0,g.useState)([]),[w,T]=(0,g.useState)(()=>eW(e)),[E,D]=(0,g.useState)(``),[O,k]=(0,g.useState)(!1),[A,j]=(0,g.useState)(!1),[M,N]=(0,g.useState)(null),[P,F]=(0,g.useState)(`tasks`),[I,ee]=(0,g.useState)(`board`),[L,te]=(0,g.useState)(``),[R,z]=(0,g.useState)(!1),ne=(0,g.useRef)(0),re=(0,g.useRef)(0),[ie,ae]=(0,g.useState)(n),B=(0,g.useCallback)(async(e=!1)=>{let t=++re.current;e||h(!0);try{let[e,r]=await Promise.all([q(`/api/v1/schedules`),q(`/api/v1/schedule-occurrences?limit=200`)]);if(!e.ok)throw Error(`定时任务加载失败(${e.status})`);let a=await e.json();if(!r.ok)throw Error(`执行记录加载失败,请刷新重试`);let o=await r.json();if(t!==re.current)return;let c=a.items||[];s(c),l(o.items||[]),d(a.taskOccurrences||o.items||[]),p(a.availability||null),x(e=>c.find(t=>t.taskId===e?.taskId)||null),i&&i(n?c.filter(e=>e.target.agentId===n).length:c.length)}catch(e){t===re.current&&y(e?.message||`定时任务加载失败`)}finally{t===re.current&&h(!1)}},[i,n]),V=(0,g.useCallback)(async(e,t=!0)=>{let n=++ne.current;t&&(x(e),C([]));try{let t=await q(`/api/v1/agents/${encodeURIComponent(e.target.agentId||``)}/schedules/${encodeURIComponent(e.taskId)}/occurrences`);if(!t.ok)throw Error(`运行记录加载失败,请重新打开任务。`);let r=await t.json();n===ne.current&&C(r.items||[])}catch(e){n===ne.current&&y(e.message)}},[]);(0,g.useEffect)(()=>{B();let e=window.setInterval(()=>{document.hidden||B(!0)},5e3);return()=>{window.clearInterval(e),re.current++,ne.current++}},[B,a]),(0,g.useEffect)(()=>{ae(n),x(null),ne.current++},[n]),(0,g.useEffect)(()=>{if(!b)return;let e=window.setInterval(()=>{document.hidden||V(b,!1)},2e3);return()=>window.clearInterval(e)},[V,b?.taskId]);let H=(0,g.useMemo)(()=>new Map(t.map(e=>[e.metadata.id,e.metadata.name])),[t]),oe=(0,g.useMemo)(()=>new Map(o.map(e=>[e.taskId,QU(e)])),[o]),se=(0,g.useMemo)(()=>o.filter(e=>(!ie||e.target.agentId===ie)&&`${QU(e)} ${e.command.payload.content||``}`.toLowerCase().includes(L.toLowerCase())),[ie,o,L]),ce=(0,g.useMemo)(()=>ie?c.filter(e=>e.target?.agentId===ie):c,[ie,c]),le=(0,g.useMemo)(()=>{let e=new Map;for(let t of u)e.has(t.taskId)||e.set(t.taskId,t);return e},[u]),ue=[{id:`task`,header:`任务`,minWidth:220,cell:e=>(0,v.jsxs)(`div`,{className:`automation-task-cell`,children:[(0,v.jsx)(`strong`,{children:QU(e)}),(0,v.jsx)(`span`,{children:H.get(e.target.agentId||``)||e.target.agentId||`历史任务`})]})},{id:`trigger`,header:`触发规则`,minWidth:150,cell:e=>$U(e.schedule)},{id:`next`,header:`下次执行`,minWidth:120,cell:e=>e.enabled?ZU(e.nextRunAt):`—`},{id:`mode`,header:`会话`,minWidth:100,cell:e=>e.continuity===`continue_session`?`继续会话`:`新会话`},{id:`recent`,header:`最近终态`,minWidth:110,cell:e=>le.has(e.taskId)?oW(le.get(e.taskId).state):`—`},{id:`state`,header:`状态`,width:110,cell:e=>{let t=e.enabled?f?.triggerActive?`已启用`:`已配置`:`已停用`;return(0,v.jsx)(`span`,{className:`automation-state`,"data-state":e.enabled&&f?.triggerActive?`ready`:`idle`,children:t})}}];function de(e){D(e.taskId),T(tW(e)),x(e),k(!0),F(`tasks`),V(e)}async function U(){if(!w.agentId){y(`请选择 Agent`);return}if(!w.prompt.trim()){y(`请填写到期时发送给 Agent 的提示词`);return}j(!0),y(``);try{let e=nW(w),t=!!E,n=await q(t?`/api/v1/agents/${encodeURIComponent(w.agentId)}/schedules/${encodeURIComponent(E)}`:`/api/v1/agents/${encodeURIComponent(w.agentId)}/schedules`,{method:t?`PUT`:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(e)}),r=await n.json().catch(()=>null);if(!n.ok)throw Error(r?.error?.message||`保存失败(${n.status})`);D(``),k(!1),T(eW(w.agentId)),CL(t?`定时任务已更新`:`定时任务已创建`,r?.displayName||`本地自动化`),await B(),r&&await V(r)}catch(e){y(e?.message||`保存定时任务失败`)}finally{j(!1)}}async function fe(e){let t=e.target.agentId;if(!t){y(`历史任务缺少 Agent 标识,不能从 Studio 触发`);return}let n=await q(`/api/v1/agents/${encodeURIComponent(t)}/schedules/${encodeURIComponent(e.taskId)}:run`,{method:`POST`}),r=await n.json().catch(()=>null);if(!n.ok){y(r?.error?.message||`立即运行失败(${n.status})`);return}CL(`任务已提交`,`可在执行记录中查看进度和结果。`),await V(e),await B()}async function pe(e){let t=e.target.agentId;if(!t)return;let n={displayName:QU(e),prompt:e.command.payload.content,schedule:e.schedule,enabled:!e.enabled,continuity:e.continuity,sessionId:e.target.sessionId||null};if(!(await q(`/api/v1/agents/${encodeURIComponent(t)}/schedules/${encodeURIComponent(e.taskId)}`,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify(n)})).ok){y(`更新任务状态失败`);return}await B()}async function me(){if(M?.target.agentId){if(!(await q(`/api/v1/agents/${encodeURIComponent(M.target.agentId)}/schedules/${encodeURIComponent(M.taskId)}`,{method:`DELETE`})).ok){y(`删除任务失败`);return}N(null),x(null),C([]),await B()}}function he(r){y(``),x(null),D(``);let i=eW(n||ie||e||t[0]?.metadata.id||``);r===`daily`&&(i.displayName=`每日工作简报`,i.prompt=`整理昨日工作进展,列出今日待办和需要关注的风险。`),r===`interval`&&(i.displayName=`定期巡检`,i.prompt=`检查当前服务状态,汇总异常和建议处理的事项。`,i.kind=`interval`),r===`weekly`&&(i.displayName=`每周总结`,i.prompt=`总结本周完成的工作、未完成事项和下周计划。`,i.preset=`weekly`,i.weekday=`5`,i.time=`17:00`),T(i),k(!0)}async function ge(e){if(!R){z(!0),y(``);try{await e()}catch(e){y(e.message||`操作失败,请重试`)}finally{z(!1)}}}function _e(e){let t=le.get(e.taskId);return t&&cW(t)?`running`:e.enabled?t?.state===`failed`?`attention`:`scheduled`:`paused`}let ve=[{id:`scheduled`,label:`待执行`},{id:`running`,label:`执行中`},{id:`attention`,label:`需关注`},{id:`paused`,label:`已暂停 / 已结束`}],ye=(0,v.jsxs)(`button`,{className:`button accent`,type:`button`,onClick:()=>he(),children:[(0,v.jsx)($p,{size:15}),`新建定时任务`]});return(0,v.jsxs)(`div`,{className:`${r?`automation-page-embedded`:`page-container`} automation-page`,"data-layout":r?`embedded`:`document`,children:[!r&&(0,v.jsx)(FT,{children:ye}),(0,v.jsxs)(`div`,{className:`automation-intro`,children:[r&&(0,v.jsx)(`h2`,{children:`该 Agent 的自动化`}),r&&ye]}),_&&!O&&!b&&(0,v.jsx)(`div`,{className:`form-error`,role:`alert`,children:_}),(0,v.jsxs)(`div`,{className:`automation-summary-strip`,children:[(0,v.jsx)(`span`,{className:`automation-availability`,"data-state":f?.triggerActive?`ready`:`idle`,children:f?.triggerActive?`本地调度运行中`:`本地调度未就绪`}),(0,v.jsx)(`span`,{children:`保持 Studio 运行,任务才会自动执行。`}),(0,v.jsx)(`button`,{type:`button`,className:`button secondary small`,"aria-label":`刷新任务`,onClick:()=>{y(``),B()},children:(0,v.jsx)(tm,{size:14})})]}),(0,v.jsxs)(`div`,{className:`automation-templates`,children:[(0,v.jsx)(`span`,{children:`从常用任务开始`}),(0,v.jsxs)(`button`,{onClick:()=>he(`daily`),children:[(0,v.jsx)(Wf,{size:15}),`每日简报`,(0,v.jsx)(`small`,{children:`每天 10:00`})]}),(0,v.jsxs)(`button`,{onClick:()=>he(`interval`),children:[(0,v.jsx)(op,{size:15}),`定期巡检`,(0,v.jsx)(`small`,{children:`每 30 分钟`})]}),(0,v.jsxs)(`button`,{onClick:()=>he(`weekly`),children:[(0,v.jsx)(Wf,{size:15}),`每周总结`,(0,v.jsx)(`small`,{children:`周五 17:00`})]})]}),(0,v.jsxs)(`div`,{className:`automation-toolbar`,children:[(0,v.jsxs)(`div`,{className:`automation-tabs`,role:`tablist`,"aria-label":`自动化视图`,children:[(0,v.jsxs)(`button`,{role:`tab`,"aria-selected":P===`tasks`,className:P===`tasks`?`active`:``,onClick:()=>F(`tasks`),children:[`全部任务 `,(0,v.jsx)(`small`,{children:se.length})]}),(0,v.jsx)(`button`,{role:`tab`,"aria-selected":P===`history`,className:P===`history`?`active`:``,onClick:()=>F(`history`),children:`执行记录`})]}),(0,v.jsxs)(`div`,{className:`automation-filters`,children:[P===`tasks`&&(0,v.jsxs)(`label`,{className:`automation-search`,children:[(0,v.jsx)(nm,{size:15}),(0,v.jsx)(`input`,{"aria-label":`搜索任务`,placeholder:`搜索任务`,value:L,onChange:e=>te(e.target.value)})]}),!r&&(0,v.jsxs)(`select`,{"aria-label":`筛选 Agent`,value:ie,onChange:e=>ae(e.target.value),children:[(0,v.jsx)(`option`,{value:``,children:`全部智能体`}),t.map(e=>(0,v.jsx)(`option`,{value:e.metadata.id,children:e.metadata.name},e.metadata.id))]}),P===`tasks`&&(0,v.jsxs)(`div`,{className:`automation-view-toggle`,role:`group`,"aria-label":`任务布局`,children:[(0,v.jsx)(`button`,{"aria-label":`看板视图`,"aria-pressed":I===`board`,onClick:()=>ee(`board`),children:(0,v.jsx)(Ap,{size:16})}),(0,v.jsx)(`button`,{"aria-label":`列表视图`,"aria-pressed":I===`list`,onClick:()=>ee(`list`),children:(0,v.jsx)(Np,{size:16})})]})]})]}),P===`tasks`&&(I===`list`?(0,v.jsx)(kO,{columns:ue,data:se,getRowId:e=>e.taskId,caption:`定时任务列表`,loading:m,error:_&&!o.length?_:``,onRetry:()=>void B(),onRowActivate:e=>void V(e),rowAriaLabel:e=>`查看定时任务 ${QU(e)} 的详情`,empty:{icon:(0,v.jsx)(Wf,{size:22}),title:`还没有定时任务`,description:`新建任务,或在对话中说:每天10点帮我生成日报。`}}):(0,v.jsx)(`div`,{className:`automation-board`,"aria-label":`任务看板`,"aria-busy":m,children:ve.map(e=>{let t=se.filter(t=>_e(t)===e.id);return(0,v.jsxs)(`section`,{className:`automation-board-column`,"data-status":e.id,"aria-label":e.label,children:[(0,v.jsxs)(`header`,{children:[(0,v.jsx)(`span`,{className:`automation-column-dot`}),(0,v.jsx)(`h3`,{children:e.label}),(0,v.jsx)(`span`,{children:t.length})]}),t.map(e=>{let t=le.get(e.taskId);return(0,v.jsxs)(`button`,{className:`automation-board-card`,"aria-label":`查看定时任务 ${QU(e)} 的详情`,onClick:()=>void V(e),children:[(0,v.jsx)(`span`,{className:`automation-card-agent`,children:H.get(e.target.agentId||``)||`智能体`}),(0,v.jsx)(`strong`,{children:QU(e)}),(0,v.jsx)(`p`,{children:e.command.payload.content}),(0,v.jsxs)(`span`,{className:`automation-card-rule`,children:[(0,v.jsx)(Wf,{size:14}),$U(e.schedule)]}),(0,v.jsxs)(`footer`,{children:[(0,v.jsx)(`span`,{children:e.enabled?`下次 ${ZU(e.nextRunAt)}`:e.schedule.kind===`once`&&t?`已结束`:`已暂停`}),t&&(0,v.jsx)(`span`,{"data-state":t.state,children:oW(t.state)})]})]},e.taskId)}),!t.length&&(0,v.jsx)(`p`,{className:`automation-column-empty`,children:m?`正在加载…`:L?`没有匹配的任务`:e.id===`scheduled`?`新建任务,安排下一次执行`:`暂无任务`}),e.id===`scheduled`&&(0,v.jsxs)(`button`,{className:`automation-column-add`,onClick:()=>he(),children:[(0,v.jsx)($p,{size:14}),`添加任务`]})]},e.id)})})),P===`history`&&(0,v.jsxs)(`section`,{className:`automation-history block`,children:[(0,v.jsx)(`div`,{className:`section-heading`,children:(0,v.jsxs)(`div`,{className:`section-heading-copy`,children:[(0,v.jsx)(`h2`,{children:`执行记录`}),(0,v.jsx)(`p`,{children:`查看每次任务的状态,打开会话阅读结果。`})]})}),(0,v.jsx)(pW,{items:ce,taskNames:oe,agentNames:H})]}),(0,v.jsxs)(`p`,{className:`automation-conversation-tip`,children:[`也可以在智能体对话中直接说:`,(0,v.jsx)(`strong`,{children:`“每天 10 点帮我生成日报”`}),`,或 `,(0,v.jsx)(`strong`,{children:`“每 30 分钟检查一次服务状态”`}),`。`]}),O&&(0,v.jsx)(aW,{form:w,agents:t,editing:!!E,scoped:!!n,busy:A,error:_,onChange:T,onSave:()=>void U(),onClose:()=>{k(!1),D(``),y(``)}}),b&&!O&&(0,v.jsx)(sV,{title:QU(b),subtitle:`${H.get(b.target.agentId||``)||`智能体`} · ${$U(b.schedule)}`,onClose:()=>{ne.current++,x(null),C([])},children:(0,v.jsxs)(`div`,{className:`automation-detail`,children:[_&&(0,v.jsx)(`div`,{className:`form-error`,role:`alert`,children:_}),(0,v.jsxs)(`div`,{className:`automation-detail-heading`,children:[(0,v.jsx)(`span`,{className:`automation-state`,"data-state":b.enabled?`ready`:`idle`,children:b.enabled?`已启用`:`已暂停`}),(0,v.jsxs)(`span`,{children:[`下次执行 `,b.enabled?ZU(b.nextRunAt):`—`]})]}),(0,v.jsxs)(`div`,{className:`automation-detail-actions`,children:[(0,v.jsxs)(`button`,{className:`button secondary small`,disabled:R,onClick:()=>de(b),children:[(0,v.jsx)(Yp,{size:14}),`编辑`]}),(0,v.jsxs)(`button`,{className:`button secondary small`,disabled:R||!f?.available||!b.enabled||S.some(cW),onClick:()=>void ge(()=>fe(b)),children:[(0,v.jsx)(Xp,{size:14}),`立即运行`]}),(0,v.jsx)(`button`,{className:`button secondary small`,disabled:R,onClick:()=>void ge(()=>pe(b)),children:b.enabled?`暂停`:`启用`})]}),(0,v.jsxs)(`div`,{className:`automation-detail-grid`,children:[(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`span`,{children:`任务说明`}),(0,v.jsx)(`p`,{children:b.command.payload.content})]}),(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`span`,{children:`执行计划`}),(0,v.jsxs)(`p`,{children:[$U(b.schedule),` · `,b.schedule.timezone]})]}),(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`span`,{children:`对话方式`}),(0,v.jsx)(`p`,{children:b.continuity===`continue_session`?`继续已有会话`:`每次新建会话`})]}),(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`span`,{children:`错过时`}),(0,v.jsx)(`p`,{children:b.schedule.misfirePolicy===`run_once`?`补跑一次`:`等待下一次`})]})]}),(0,v.jsxs)(`div`,{className:`automation-inspector-history`,children:[(0,v.jsxs)(`h3`,{children:[(0,v.jsx)(op,{size:16}),`最近执行`]}),(0,v.jsx)(pW,{items:S,taskNames:oe,agentNames:H})]}),(0,v.jsxs)(`details`,{className:`automation-advanced`,children:[(0,v.jsx)(`summary`,{children:`技术详情`}),(0,v.jsxs)(`p`,{children:[`任务:`,b.taskId]}),(0,v.jsxs)(`p`,{children:[`构建版本:`,b.target.agentVersionRef]})]}),(0,v.jsxs)(`button`,{className:`automation-delete-link`,disabled:R,onClick:()=>N(b),children:[(0,v.jsx)(gm,{size:14}),`删除任务`]})]})}),M&&(0,v.jsx)(Db,{title:`删除定时任务「${QU(M)}」?`,description:`删除后不再自动执行,已有执行记录会保留。`,confirmText:`删除任务`,busy:R,onConfirm:()=>void ge(me),onCancel:()=>N(null)})]})}var hW=`/agentengine/api/v1`;async function gW(e,t={}){let n=await q(`${hW}/${e}`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(t)});if(!n.ok){let e=`HTTP ${n.status}`;try{let t=await n.json();e=t.Message||t.error?.message||t.message||e}catch{}throw Error(e)}let r=await n.json();if(r.Code!==0)throw Error(r.Message||`错误码 ${r.Code}`);return r.Data}var _W={"wps-xiezuo":`WPS 协作`,feishu:`飞书`,wecom:`企业微信`};Object.keys(_W).map(e=>({value:e,label:_W[e]}));var vW={"wps-xiezuo":`WPS`,feishu:`飞书`,wecom:`企微`},yW={pairing:`需配对`,open:`开放`},bW=Object.keys(yW).map(e=>({value:e,label:yW[e]})),xW={allowlist:`白名单`,open:`开放`},SW=Object.keys(xW).map(e=>({value:e,label:xW[e]})),CW={"per-peer":`按用户`,"per-group":`按群聊`},wW=Object.keys(CW).map(e=>({value:e,label:CW[e]}));function TW(e){if(!e)return`-`;let t=new Date(e);if(Number.isNaN(t.getTime()))return e;let n=e=>String(e).padStart(2,`0`);return`${t.getFullYear()}-${n(t.getMonth()+1)}-${n(t.getDate())} ${n(t.getHours())}:${n(t.getMinutes())}`}var EW=[{value:`wps-xiezuo`,label:`WPS 协作`,desc:`金山办公协作平台`,Icon:Rp},{value:`feishu`,label:`飞书`,desc:`字节跳动企业协作`,Icon:rm},{value:`wecom`,label:`企业微信`,desc:`腾讯企业即时通讯`,Icon:ym}],DW={Channel:`wps-xiezuo`,ChannelAccountId:``,AppId:``,AppSecret:``,DmPolicy:`pairing`,GroupPolicy:`allowlist`,RequireMention:!0,SessionScope:`per-peer`,Enabled:!0,ConfigJson:`{}`};function OW({agentId:e,agentName:t,refreshTick:n}){let[r,i]=(0,g.useState)([]),[a,o]=(0,g.useState)(!0),[s,c]=(0,g.useState)(``),[l,u]=(0,g.useState)(!1),[d,f]=(0,g.useState)(!1),[p,m]=(0,g.useState)({...DW}),[h,_]=(0,g.useState)(!1),[y,b]=(0,g.useState)(null),[x,S]=(0,g.useState)(!1),C=(0,g.useCallback)(async()=>{o(!0),c(``);try{let t=await gW(`ListChannels`,{Offset:0,Limit:100});i((t.Items||[]).filter(t=>t.AgentId===e))}catch(e){c(e instanceof Error?e.message:`渠道加载失败,请稍后重试。`),i([])}finally{o(!1)}},[e]);(0,g.useEffect)(()=>{C()},[C,n]);let w=r.filter(e=>e.Enabled).length,T=p.ChannelAccountId.trim()&&p.AppId.trim()&&p.AppSecret.trim();function E(){m({...DW}),_(!1),u(!0)}async function D(t){t.preventDefault(),f(!0);try{await gW(`CreateChannel`,{AgentId:e,Channel:p.Channel,ChannelAccountId:p.ChannelAccountId.trim(),AppId:p.AppId.trim(),AppSecret:p.AppSecret.trim(),DmPolicy:p.DmPolicy,GroupPolicy:p.GroupPolicy,RequireMention:p.RequireMention,SessionScope:p.SessionScope,Enabled:p.Enabled,ConfigJson:p.ConfigJson||`{}`}),CL(`渠道已创建`,`${_W[p.Channel]} · ${p.ChannelAccountId}`),u(!1),await C()}catch(e){CL(`渠道创建失败`,e instanceof Error?e.message:`请稍后重试`,`error`)}finally{f(!1)}}async function O(){if(y){S(!0);try{await gW(`DeleteChannel`,{Id:y.Id}),i(e=>e.filter(e=>e.Id!==y.Id)),CL(`渠道已解绑`,`${_W[y.Channel]} · ${y.ChannelAccountId}`),b(null)}catch(e){CL(`解绑失败`,e instanceof Error?e.message:`请稍后重试`,`error`)}finally{S(!1)}}}let k=(0,g.useMemo)(()=>[{id:`name`,header:`渠道`,minWidth:220,cell:e=>(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(`span`,{className:`channel-platform-tag`,"data-platform":e.Channel,"aria-hidden":`true`,children:vW[e.Channel]}),(0,v.jsxs)(`strong`,{children:[_W[e.Channel],` · `,e.ChannelAccountId]}),(0,v.jsx)(`span`,{className:`resource-origin mono`,children:e.Id})]})},{id:`enabled`,header:`状态`,width:100,cell:e=>(0,v.jsx)(`span`,{className:`badge`,"data-state":e.Enabled?`ready`:`idle`,children:e.Enabled?`已启用`:`已停用`})},{id:`dmPolicy`,header:`私聊策略`,width:100,cell:e=>(0,v.jsx)(`span`,{className:`channel-policy-tag`,"data-policy":e.DmPolicy,children:yW[e.DmPolicy]})},{id:`groupPolicy`,header:`群聊策略`,width:100,cell:e=>(0,v.jsx)(`span`,{className:`channel-policy-tag`,"data-policy":e.GroupPolicy,children:xW[e.GroupPolicy]})},{id:`createdAt`,header:`创建时间`,minWidth:140,cell:e=>TW(e.CreatedAt)},{id:`actions`,header:``,width:72,className:`channels-page__row-actions`,cell:e=>(0,v.jsx)(`button`,{className:`button tertiary small`,type:`button`,onClick:()=>b(e),children:`解绑`})}],[]);return(0,v.jsxs)(`div`,{className:`agent-channel-tab`,children:[(0,v.jsxs)(`section`,{className:`agent-channel-tab__summary`,"aria-label":`渠道汇总`,children:[(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`span`,{children:`已绑定渠道`}),(0,v.jsx)(`strong`,{children:r.length})]}),(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`span`,{children:`已启用`}),(0,v.jsx)(`strong`,{children:w})]}),(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`span`,{children:`当前 Agent`}),(0,v.jsx)(`strong`,{children:t})]})]}),(0,v.jsxs)(`section`,{className:`channels-page__panel`,"aria-label":`渠道列表`,children:[(0,v.jsxs)(`div`,{className:`channels-page__panel-header`,children:[(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`strong`,{children:`IM 渠道`}),(0,v.jsx)(`span`,{children:`绑定 IM 平台后,用户即可在这些渠道直接对话该 Agent`})]}),(0,v.jsxs)(`button`,{className:`button accent`,type:`button`,onClick:E,children:[(0,v.jsx)($p,{size:15}),(0,v.jsx)(`span`,{children:`绑定新渠道`})]})]}),s&&(0,v.jsx)(`div`,{className:`form-error`,style:{margin:`0 16px 12px`},children:s}),(0,v.jsx)(kO,{columns:k,data:r,getRowId:e=>e.Id,caption:`Agent IM 渠道列表`,minWidth:760,loading:a,empty:{icon:(0,v.jsx)(Rp,{size:22}),title:`尚未绑定 IM 渠道`,description:`点击「绑定新渠道」为该 Agent 接入 IM 平台。`}})]}),l&&(0,v.jsx)(sV,{title:`绑定新渠道`,subtitle:`为当前 Agent 配置 IM 平台接入信息与对话策略。`,wide:!0,closeDisabled:d,onClose:()=>u(!1),footer:(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(`span`,{className:`drawer-footer-spacer`}),(0,v.jsx)(`button`,{className:`button tertiary`,type:`button`,onClick:()=>u(!1),disabled:d,children:`取消`}),(0,v.jsx)(`button`,{className:`button accent`,type:`submit`,form:`agent-channel-create-form`,disabled:d||!T,children:d?`正在绑定`:`绑定渠道`})]}),children:(0,v.jsxs)(`form`,{id:`agent-channel-create-form`,className:`channels-page__create-form`,onSubmit:D,children:[(0,v.jsxs)(`div`,{className:`channels-page__form-section`,children:[(0,v.jsx)(`div`,{className:`channels-page__form-section-title`,"data-step":`1`,children:`选择平台`}),(0,v.jsx)(`div`,{className:`channels-page__platform-cards`,children:EW.map(({value:e,label:t,desc:n,Icon:r})=>(0,v.jsxs)(`button`,{type:`button`,className:`channels-page__platform-card${p.Channel===e?` selected`:``}`,onClick:()=>m(t=>({...t,Channel:e})),children:[(0,v.jsx)(`span`,{className:`channels-page__platform-card-icon`,children:(0,v.jsx)(r,{size:22})}),(0,v.jsxs)(`span`,{className:`channels-page__platform-card-text`,children:[(0,v.jsx)(`span`,{className:`channels-page__platform-card-name`,children:t}),(0,v.jsx)(`span`,{className:`channels-page__platform-card-desc`,children:n})]}),p.Channel===e&&(0,v.jsx)(Kf,{size:14,className:`channels-page__platform-card-check`})]},e))})]}),(0,v.jsxs)(`div`,{className:`channels-page__form-section`,children:[(0,v.jsx)(`div`,{className:`channels-page__form-section-title`,"data-step":`2`,children:`接入配置`}),(0,v.jsxs)(`div`,{className:`channels-page__form-grid`,children:[(0,v.jsx)(`div`,{className:`channels-page__form-col-12`,children:(0,v.jsx)(Y,{label:`渠道账号 ID`,htmlFor:`agent-channel-account-id`,requirement:`required`,children:(0,v.jsx)(`input`,{id:`agent-channel-account-id`,value:p.ChannelAccountId,onChange:e=>m(t=>({...t,ChannelAccountId:e.target.value})),placeholder:`如:wps-default`,required:!0})})}),(0,v.jsx)(`div`,{className:`channels-page__form-col-6`,children:(0,v.jsx)(Y,{label:`App ID`,htmlFor:`agent-channel-app-id`,requirement:`required`,children:(0,v.jsx)(`input`,{id:`agent-channel-app-id`,value:p.AppId,onChange:e=>m(t=>({...t,AppId:e.target.value})),placeholder:`平台分配的应用 ID`,required:!0})})}),(0,v.jsx)(`div`,{className:`channels-page__form-col-6`,children:(0,v.jsx)(Y,{label:`App Secret`,htmlFor:`agent-channel-app-secret`,requirement:`required`,children:(0,v.jsx)(`input`,{id:`agent-channel-app-secret`,type:`password`,value:p.AppSecret,onChange:e=>m(t=>({...t,AppSecret:e.target.value})),placeholder:`平台分配的应用密钥`,required:!0})})})]})]}),(0,v.jsxs)(`div`,{className:`channels-page__form-section`,children:[(0,v.jsx)(`div`,{className:`channels-page__form-section-title`,"data-step":`3`,children:`策略与启用`}),(0,v.jsxs)(`div`,{className:`channels-page__form-grid`,children:[(0,v.jsx)(`div`,{className:`channels-page__form-col-6`,children:(0,v.jsx)(Y,{label:`私聊策略`,children:(0,v.jsx)(Wk,{ariaLabel:`私聊策略`,value:p.DmPolicy,options:bW,onValueChange:e=>m(t=>({...t,DmPolicy:e}))})})}),(0,v.jsx)(`div`,{className:`channels-page__form-col-6`,children:(0,v.jsx)(Y,{label:`群聊策略`,children:(0,v.jsx)(Wk,{ariaLabel:`群聊策略`,value:p.GroupPolicy,options:SW,onValueChange:e=>m(t=>({...t,GroupPolicy:e}))})})})]})]}),(0,v.jsx)(`div`,{className:`channels-page__advanced-toggle`,children:(0,v.jsxs)(`button`,{type:`button`,className:`channels-page__advanced-header`,onClick:()=>_(e=>!e),"aria-expanded":h,children:[(0,v.jsx)(qf,{size:16,className:`channels-page__chevron${h?``:` channels-page__chevron--closed`}`}),(0,v.jsx)(`span`,{children:`高级设置`}),(0,v.jsx)(`small`,{children:`会话隔离、@机器人、启用状态等`})]})}),h&&(0,v.jsxs)(`div`,{className:`channels-page__advanced-body`,children:[(0,v.jsxs)(`div`,{className:`channels-page__advanced-section`,children:[(0,v.jsx)(`div`,{className:`channels-page__advanced-section-title`,children:`会话设置`}),(0,v.jsxs)(`div`,{className:`channels-page__form-grid`,children:[(0,v.jsx)(`div`,{className:`channels-page__form-col-6`,children:(0,v.jsx)(Y,{label:`会话隔离`,children:(0,v.jsx)(Wk,{ariaLabel:`会话隔离`,value:p.SessionScope,options:wW,onValueChange:e=>m(t=>({...t,SessionScope:e}))})})}),(0,v.jsx)(`div`,{className:`channels-page__form-col-6`,children:(0,v.jsxs)(`label`,{className:`channel-toggle-row channel-toggle-row--compact`,children:[(0,v.jsx)(`input`,{type:`checkbox`,checked:p.RequireMention,onChange:e=>m(t=>({...t,RequireMention:e.target.checked}))}),(0,v.jsxs)(`span`,{children:[(0,v.jsx)(`strong`,{children:`群聊 @机器人`}),(0,v.jsx)(`small`,{children:`开启后群聊中需 @机器人才会触发响应`})]})]})})]})]}),(0,v.jsx)(`div`,{className:`channels-page__advanced-section`,children:(0,v.jsxs)(`label`,{className:`channel-toggle-row`,children:[(0,v.jsx)(`input`,{type:`checkbox`,checked:p.Enabled,onChange:e=>m(t=>({...t,Enabled:e.target.checked}))}),(0,v.jsxs)(`span`,{children:[(0,v.jsx)(`strong`,{children:`启用渠道`}),(0,v.jsx)(`small`,{children:`停用后渠道不再接收和发送消息`})]})]})})]})]})}),y&&(0,v.jsx)(Db,{title:`解绑渠道`,description:`确定要解绑「${_W[y.Channel]} · ${y.ChannelAccountId}」吗?已绑定的会话将断开连接。`,confirmText:`解绑`,danger:!0,busy:x,onConfirm:O,onCancel:()=>b(null)})]})}function kW(e,t){let n=new URLSearchParams({buildId:e});return t&&n.set(`agentId`,t),`#/deployments/new?${n.toString()}`}function AW(e){return`#/deployments/${encodeURIComponent(e)}`}function jW(e){if(window.location.hash===e){window.dispatchEvent(new HashChangeEvent(`hashchange`));return}window.location.hash=e}function MW(e,t=28){return e.length>t?`${e.slice(0,t)}…`:e}function NW({detail:e,catalog:t,buildId:n,onClose:r}){let[i,a]=(0,g.useState)(`curl`),o=e.draft,s=o.metadata.labels||{},c=o.spec.bindings?.modelProfileId||o.spec.bindings?.modelProfileIds?.[0]||``,l=t.find(e=>e.resourceId===c),u=s[`agentkit.ksyun.com/template`]||`blank`,d={model:l?.contract?.model||l?.name||s[`agentkit.ksyun.com/model`]||`deepseek-v4.1-flash`,input:[{role:`user`,content:[{type:`input_text`,text:u===`research`?`调研 Agent 工程平台的核心能力`:`请根据你的职责处理这个请求`}]}],metadata:{agent_id:o.metadata.id},stream:!0},f=i===`curl`?[`curl -X POST "${window.location.origin}/v1/responses" \\`,` -H "Content-Type: application/json" \\`,` -H "Authorization: Bearer <RUNTIME_API_KEY>" \\`,` -d '${JSON.stringify(d,null,2)}'`].join(`
|
|
225
|
+
`):[`const response = await fetch("${window.location.origin}/v1/responses", {`,` method: "POST",`,` headers: {`,` "Content-Type": "application/json",`,' "Authorization": `Bearer ${runtimeApiKey}`',` },`,` body: JSON.stringify(${JSON.stringify(d,null,2)})`,`});`].join(`
|
|
226
|
+
`);return(0,v.jsxs)(sV,{title:`调用 Agent`,subtitle:`使用统一 Runtime 的 OpenAI Responses API;本地与云端请求体一致。`,onClose:r,children:[(0,v.jsxs)(`div`,{className:`callout`,children:[(0,v.jsx)(om,{size:16}),(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`strong`,{children:`标准接入协议`}),(0,v.jsx)(`p`,{children:`本地 Studio 仅监听 loopback;部署后由云端网关校验 Runtime API Key,不暴露 Studio Session 或 CSRF Token。`})]})]}),(0,v.jsxs)(`div`,{className:`code-tabs`,children:[(0,v.jsx)(`button`,{className:i===`curl`?`active`:``,type:`button`,onClick:()=>a(`curl`),children:`cURL`}),(0,v.jsx)(`button`,{className:i===`javascript`?`active`:``,type:`button`,onClick:()=>a(`javascript`),children:`JavaScript`})]}),(0,v.jsx)(Xk,{code:f,language:i===`curl`?`bash`:`javascript`,filename:i===`curl`?`invoke-agent.sh`:`invoke-agent.js`,wrap:!0}),(0,v.jsxs)(`div`,{className:`api-contract`,children:[(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`span`,{children:`Endpoint`}),(0,v.jsx)(`code`,{children:`POST /v1/responses`})]}),(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`span`,{children:`本地 Build`}),(0,v.jsx)(`code`,{children:n||`尚未构建`})]}),(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`span`,{children:`Conversation`}),(0,v.jsx)(`code`,{children:`首次调用可省略`})]})]})]})}function PW({agentId:e,onBack:t,onChat:n,onBuild:r,onEdit:i,onChanged:a,refreshTick:o=0}){let[s,c]=(0,g.useState)(null),[l,u]=(0,g.useState)([]),[d,f]=(0,g.useState)([]),[p,m]=(0,g.useState)(!1),[h,_]=(0,g.useState)(!1),[y,b]=(0,g.useState)(!1),[x,S]=(0,g.useState)(``),[C,w]=(0,g.useState)(null),[T,E]=(0,g.useState)(`overview`);(0,g.useEffect)(()=>{E(`overview`),c(null),S(``)},[e]),(0,g.useEffect)(()=>{let t=!1;return q(`/api/v1/agents/${encodeURIComponent(e)}`).then(e=>{if(!e.ok)throw Error(`Agent 配置读取失败,请刷新重试。`);return e.json()}).then(e=>{t||(c(e),S(``))}).catch(()=>{t||S(`Agent 配置读取失败,请刷新重试。`)}),q(`/api/v1/catalog/resources?limit=200`).then(e=>e.json()).then(e=>{t||u(e.items||[])}).catch(()=>{}),q(`/api/v1/deployments`).then(e=>e.json()).then(e=>{t||f(e.items||[])}).catch(()=>{}),q(`/api/v1/agents/${encodeURIComponent(e)}/schedules`).then(e=>e.ok?e.json():null).then(e=>{t||w(e?.items?.length??0)}).catch(()=>{t||w(null)}),()=>{t=!0}},[e,o]);async function D(){b(!0),S(``);try{let n=await q(`/api/v1/agents/${encodeURIComponent(e)}`,{method:`DELETE`});if(!n.ok){let e=await n.json().catch(()=>null);throw Error(e?.error?.message||`删除失败(${n.status})`)}m(!1),a(),t()}catch(e){S(e.message)}finally{b(!1)}}if(!s)return(0,v.jsx)(`div`,{className:`page-container`,"data-layout":`document`,children:x?(0,v.jsx)(`p`,{className:`form-error`,role:`alert`,children:x}):(0,v.jsx)(`p`,{style:{color:`var(--text-tertiary)`},children:`正在加载 Agent 配置…`})});let O=s.draft,k=O.spec.bindings||{},A=O.metadata.labels||{},j=String(A[`agentkit.ksyun.com/models`]||``).split(`,`).map(e=>e.trim()).filter(Boolean),M=k.modelProfileIds?.length?k.modelProfileIds:k.modelProfileId?[k.modelProfileId]:j.length?j:A[`agentkit.ksyun.com/model`]?[A[`agentkit.ksyun.com/model`]]:[],N=(s.builds||[]).find(e=>e.status===`SUCCEEDED`),P=N?d.find(e=>e.buildId===N.id):void 0,F=P?.status===`READY`,I=e=>l.find(t=>t.resourceId===e)?.displayName||MW(e),ee=(k.tools||[]).map(e=>typeof e==`string`?e:e.resourceId),L=[[`Model`,M],[`Skill`,(k.skills||[]).map(e=>e.resourceId)],[`MCP`,(k.mcpServers||[]).map(e=>e.resourceId)],[`Tool`,ee]].filter(([,e])=>e.length>0);function te(){N&&jW(P?AW(P.id):kW(N.id,O.metadata.id))}return(0,v.jsxs)(`div`,{className:`page-container`,"data-layout":`document`,children:[(0,v.jsxs)(FT,{children:[(0,v.jsxs)(`button`,{className:`button accent`,type:`button`,onClick:()=>n(e),children:[(0,v.jsx)(zp,{size:15}),(0,v.jsx)(`span`,{children:`打开会话`})]}),(0,v.jsxs)(`button`,{className:`button secondary`,type:`button`,onClick:()=>i(e),children:[(0,v.jsx)(cm,{size:15}),(0,v.jsx)(`span`,{children:`编辑`})]}),(0,v.jsxs)(`button`,{className:`button secondary`,type:`button`,onClick:r,children:[(0,v.jsx)(Gp,{size:15}),(0,v.jsx)(`span`,{children:`校验并构建`})]}),(0,v.jsxs)(`button`,{className:`button secondary`,type:`button`,onClick:te,disabled:!N,children:[(0,v.jsx)(sp,{size:15}),(0,v.jsx)(`span`,{children:P?`查看云端部署`:`部署到云端`})]}),(0,v.jsx)(MT,{label:`${O.metadata.name} 的更多操作`,items:[{label:`编辑`,onSelect:()=>i(e)},{label:`校验并构建`,onSelect:r},{label:P?`查看云端部署`:`部署到云端`,onSelect:te,disabled:!N},{label:`管理定时任务`,onSelect:()=>E(`automations`)},{label:`调用方式`,onSelect:()=>_(!0)},{label:`删除 Agent`,danger:!0,onSelect:()=>m(!0)}]})]}),x&&(0,v.jsx)(`div`,{className:`form-error`,style:{marginBottom:16},children:x}),(0,v.jsxs)(`div`,{className:`automation-tabs agent-detail-tabs`,role:`tablist`,"aria-label":`Agent 详情`,children:[(0,v.jsx)(`button`,{type:`button`,role:`tab`,"aria-selected":T===`overview`,className:T===`overview`?`active`:``,onClick:()=>E(`overview`),children:`概览`}),(0,v.jsx)(`button`,{type:`button`,role:`tab`,"aria-selected":T===`channels`,className:T===`channels`?`active`:``,onClick:()=>E(`channels`),children:`IM 渠道`}),(0,v.jsx)(`button`,{type:`button`,role:`tab`,"aria-selected":T===`automations`,className:T===`automations`?`active`:``,onClick:()=>E(`automations`),children:`自动化`})]}),T===`overview`&&(0,v.jsxs)(`div`,{className:`detail-layout`,children:[(0,v.jsxs)(`div`,{className:`detail-main`,children:[(0,v.jsxs)(`section`,{className:`detail-section block`,children:[(0,v.jsx)(`div`,{className:`section-heading`,children:(0,v.jsx)(`h2`,{children:`角色与任务`})}),(0,v.jsxs)(`div`,{className:`readonly-field`,children:[(0,v.jsx)(`span`,{children:`系统提示词`}),(0,v.jsx)(`pre`,{children:O.spec.instructions?.system||``})]}),(0,v.jsxs)(`div`,{className:`readonly-field`,children:[(0,v.jsx)(`span`,{children:`任务契约`}),(0,v.jsx)(`pre`,{children:O.spec.instructions?.task||`未配置任务契约`})]})]}),(0,v.jsxs)(`section`,{className:`detail-section block`,children:[(0,v.jsx)(`div`,{className:`section-heading`,children:(0,v.jsx)(`h2`,{children:`能力绑定`})}),L.length?(0,v.jsx)(`div`,{className:`binding-groups`,children:L.map(([e,t])=>(0,v.jsxs)(`div`,{className:`binding-group`,children:[(0,v.jsx)(`span`,{children:e}),(0,v.jsx)(`div`,{className:`binding-items`,children:t.map(e=>(0,v.jsxs)(`span`,{className:`compact-resource`,children:[(0,v.jsx)(Kf,{size:13}),I(e)]},e))})]},e))}):(0,v.jsxs)(`div`,{className:`capability-empty-state`,children:[(0,v.jsx)(`span`,{children:`当前 Agent 尚未绑定模型、Tool、MCP 或 Skill。`}),(0,v.jsx)(`button`,{className:`button secondary small`,type:`button`,onClick:()=>i(e),children:`绑定能力`})]})]}),(0,v.jsxs)(`section`,{className:`detail-section block`,children:[(0,v.jsxs)(`div`,{className:`section-heading`,children:[(0,v.jsx)(Wf,{size:18}),(0,v.jsxs)(`div`,{className:`section-heading-copy`,children:[(0,v.jsx)(`h2`,{children:`自动化`}),(0,v.jsx)(`p`,{children:`定时任务仅在本地 Studio 与该 Agent 的 Kernel Runtime 精确绑定时执行。`})]})]}),(0,v.jsxs)(`div`,{className:`capability-empty-state`,children:[(0,v.jsx)(`span`,{children:C===null?`正在读取定时任务…`:C?`已配置 ${C} 个定时任务`:`还没有定时任务`}),(0,v.jsx)(`button`,{className:`button secondary small`,type:`button`,onClick:()=>E(`automations`),children:`管理定时任务`})]})]})]}),(0,v.jsxs)(`aside`,{className:`detail-aside block`,children:[(0,v.jsx)(`div`,{className:`aside-title`,children:`运行摘要`}),(0,v.jsxs)(`dl`,{children:[(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`dt`,{children:`Revision`}),(0,v.jsxs)(`dd`,{children:[`r`,O.metadata.revision]})]}),(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`dt`,{children:`Runtime`}),(0,v.jsx)(`dd`,{children:O.spec.runtime?.type||A[`agentkit.ksyun.com/framework`]||`adk`})]}),(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`dt`,{children:`策略`}),(0,v.jsx)(`dd`,{children:O.spec.execution?.strategy||`-`})]}),(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`dt`,{children:`步骤提示(兼容)`}),(0,v.jsx)(`dd`,{children:O.spec.execution?.maxSteps??`-`})]}),(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`dt`,{children:`超时`}),(0,v.jsx)(`dd`,{children:O.spec.execution?.timeoutSeconds?`${O.spec.execution.timeoutSeconds}s`:`-`})]})]}),(0,v.jsx)(`div`,{className:`aside-divider`}),(0,v.jsx)(`div`,{className:`build-state notice`,"data-state":N?`ready`:`idle`,children:N?(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(`span`,{className:`status-dot success`}),(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`strong`,{children:`部署声明已就绪`}),(0,v.jsx)(`span`,{children:MW(N.bundleDigest||N.id)})]})]}):(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(`span`,{className:`status-dot neutral`}),(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`strong`,{children:`尚未构建`}),(0,v.jsx)(`span`,{children:`校验 YAML 声明后即可部署或本地对话`})]})]})}),P&&(0,v.jsxs)(`div`,{className:`build-state notice`,"data-state":F?`ready`:`idle`,children:[(0,v.jsx)(`span`,{className:`status-dot ${F?`success`:`neutral`}`}),(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`strong`,{children:F?`云端实例运行中`:`云端部署:${P.status}`}),(0,v.jsx)(`span`,{children:P.agentId||P.instanceId||P.id})]})]})]})]}),T===`channels`&&(0,v.jsx)(OW,{agentId:e,agentName:O.metadata.name,refreshTick:o}),T===`automations`&&(0,v.jsx)(mW,{refreshTick:o,currentAgentId:e,agents:[{metadata:{id:e,name:O.metadata.name}}],onSelectAgent:()=>{},scopedAgentId:e,embedded:!0,onTaskCountChanged:w}),p&&(0,v.jsx)(Db,{title:`确认删除 Agent「${O.metadata.name}」?`,description:`Agent ID:${O.metadata.id}。删除后其配置与 Revision 将移除,此操作不可撤销。`,confirmText:`确认删除`,busy:y,onConfirm:D,onCancel:()=>m(!1)}),h&&(0,v.jsx)(NW,{detail:s,catalog:l,buildId:N?.id,onClose:()=>_(!1)})]})}var FW=new Set([`SUCCEEDED`,`FAILED`,`CANCELLED`,`TIMED_OUT`]);function IW(e){return e===`SUCCEEDED`?`ready`:[`FAILED`,`CANCELLED`,`TIMED_OUT`].includes(e)?`failed`:e===`IDLE`?`idle`:`pending`}function LW(e){return{IDLE:`尚未构建`,QUEUED:`排队中`,RUNNING:`构建中`,SUCCEEDED:`构建完成`,FAILED:`构建失败`,CANCELLED:`已取消`,TIMED_OUT:`已超时`}[e]||e}function RW(e,t=42){return e.length>t?`${e.slice(0,t)}…`:e}function zW(e){return e.split(/\r?\n\r?\n/).filter(Boolean).map(e=>{let t=e.split(/\r?\n/),n=Number(t.find(e=>e.startsWith(`id:`))?.slice(3).trim()),r=t.find(e=>e.startsWith(`event:`))?.slice(6).trim()||``,i=t.filter(e=>e.startsWith(`data:`)).map(e=>e.slice(5).trimStart()).join(`
|
|
227
|
+
`);if(!Number.isFinite(n)||n<=0||!r||!i)return null;try{let e=JSON.parse(i);return{id:n,type:r,data:e&&typeof e==`object`?e:{}}}catch{return null}}).filter(e=>e!==null)}async function BW(e){let t=await q(`/api/v1${e}`);return t.ok?zW(await t.text()):[]}function VW({currentAgentId:e,agents:t,onSelectAgent:n,onCreate:r,refreshTick:i=0}){let[a,o]=(0,g.useState)(null),[s,c]=(0,g.useState)(`IDLE`),[l,u]=(0,g.useState)(`选择 Agent 后开始本地构建。
|
|
228
|
+
`),[d,f]=(0,g.useState)(``),[p,m]=(0,g.useState)(!1),h=(0,g.useRef)(null),_=(0,g.useRef)(0),y=(0,g.useRef)(0),b=(0,g.useCallback)(async()=>{let t=++y.current;if(!e){o(null);return}try{let n=await q(`/api/v1/agents/${encodeURIComponent(e)}`);if(!n.ok)throw Error(`Agent detail is unavailable`);let r=await n.json();t===y.current&&o(r)}catch{t===y.current&&o(null)}},[e]);(0,g.useEffect)(()=>(b(),()=>{y.current+=1}),[b,i]);let x=a?.draft,S=a?.builds||[],C=S.find(e=>e.status===`SUCCEEDED`)||S[0],w=C?.status===`SUCCEEDED`&&!p,T=t.find(t=>t.metadata.id===e),E=x?.metadata?.labels?.[`agentkit.ksyun.com/artifact-type`],D=E===`ManagedRuntime`||!E&&x?.spec?.runtime?.type===`codex`,O=e=>D?{IDLE:`尚未校验`,QUEUED:`校验排队中`,RUNNING:`正在校验`,SUCCEEDED:`声明已校验`,FAILED:`校验失败`,CANCELLED:`已取消`,TIMED_OUT:`校验超时`}[e]||e:LW(e);(0,g.useEffect)(()=>{p||(c(C?.status||`IDLE`),f(``),u(C?[`${D?`Declaration`:`Build`} ${C.id}`,`Revision ${C.sourceRevision??x?.metadata?.revision??`-`}`,`${D?`YAML digest`:`Bundle`} ${C.bundleDigest||`-`}`,`Resolved ${C.resolvedDigest||`-`}`,`Status ${C.status}`].join(`
|
|
229
|
+
`):D?`选择 YAML Agent 后校验声明。
|
|
230
|
+
`:`选择 Agent 后开始本地构建。
|
|
231
|
+
`))},[p,x?.metadata?.revision,D,C]);function k(e){u(t=>`${t}${e}`),requestAnimationFrame(()=>{h.current&&(h.current.scrollTop=h.current.scrollHeight)})}function A(){!e||!w||(n(e),jW(kW(C.id,e)))}async function j(){if(!x||p)return;let e=++_.current;m(!0),c(`QUEUED`),f(`提交中`),u(D?`提交 YAML 声明校验…
|
|
232
|
+
`:`提交本地构建…
|
|
233
|
+
`);try{let t=await q(`/api/v1/agents/${encodeURIComponent(x.metadata.id)}/builds`,{method:`POST`,headers:{"Content-Type":`application/json`,"Idempotency-Key":`build-${x.metadata.id}-r${x.metadata.revision}-${Date.now()}`},body:JSON.stringify({revision:x.metadata.revision,runEvaluation:!1})});if(!t.ok)throw t.status===409?(await b(),Error(`Agent 信息已更新,请重新点击构建`)):Error(`构建提交失败(${t.status})`);let n=await t.json();f(n.id);let r=0,i=null;for(let t=0;t<1200;t+=1){if(_.current!==e)return;let t=await BW(`/operations/${encodeURIComponent(n.id)}/events?after=${r}`);t.length&&(r=Math.max(r,...t.map(e=>Number(e.id)||0)),k(t.map(e=>`${String(e.id).padStart(2,`0`)} ${e.type}`).join(`
|
|
234
|
+
`)+`
|
|
235
|
+
`));let a=await q(`/api/v1/operations/${encodeURIComponent(n.id)}`).then(e=>e.json());if(c(a.status||`QUEUED`),FW.has(a.status)){i=a;break}await new Promise(e=>setTimeout(e,200))}if(!i)throw Error(`构建操作等待超时`);if(i.status!==`SUCCEEDED`)throw Error(i.error?.message||`构建未完成`);await b(),CL(D?`YAML 声明已校验`:`不可变 Bundle 已构建`,i.resourceId||`构建完成`)}catch(t){_.current===e&&(c(`FAILED`),k(`${t?.message||`构建失败`}\n`),CL(`构建失败`,t?.message||`未知错误`,`error`))}finally{_.current===e&&m(!1)}}let M=IW(s),N=C?.runtimeName?`${C.runtimeName} ${C.runtimeVersion||``}`.trim():x?.spec?.runtime?.type||`未选择`;return(0,v.jsxs)(`div`,{className:`delivery-page`,"data-layout":`document`,children:[(0,v.jsx)(FT,{children:(0,v.jsxs)(`button`,{className:`button accent`,type:`button`,onClick:j,disabled:!x||p,children:[(0,v.jsx)(Gp,{size:15}),(0,v.jsx)(`span`,{children:p?D?`校验中`:`构建中`:D?`校验 YAML 声明`:`构建当前 Agent`})]})}),(0,v.jsxs)(`div`,{className:`delivery-intro`,children:[(0,v.jsx)(`h2`,{children:D?`ManagedRuntime 声明`:`Code Bundle`}),(0,v.jsx)(`span`,{className:`delivery-status-badge`,"data-state":M,children:O(s)})]}),t.length===0?(0,v.jsxs)(`div`,{className:`delivery-empty-state`,children:[(0,v.jsx)(Gp,{size:24}),(0,v.jsx)(`h2`,{children:`还没有可构建的 Agent`}),(0,v.jsx)(`p`,{children:`先创建 Agent,再生成可部署到云端的交付记录。`}),(0,v.jsxs)(`button`,{className:`button accent`,type:`button`,onClick:r,children:[(0,v.jsx)($p,{size:15}),(0,v.jsx)(`span`,{children:`创建 Agent`})]})]}):(0,v.jsxs)(v.Fragment,{children:[(0,v.jsxs)(`section`,{className:`delivery-stat-strip compact-delivery-summary`,"aria-label":`构建摘要`,children:[(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`span`,{className:`stat-label`,children:`Agent`}),(0,v.jsx)(`strong`,{title:e||``,children:T?.metadata.name||x?.metadata?.name||`未选择`})]}),(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`span`,{className:`stat-label`,children:`Revision`}),(0,v.jsx)(`strong`,{children:x?`r${x.metadata.revision}`:`-`})]}),(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`span`,{className:`stat-label`,children:`Runtime`}),(0,v.jsx)(`strong`,{children:N})]}),(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`span`,{className:`stat-label`,children:D?`YAML 摘要`:`Bundle`}),(0,v.jsx)(`strong`,{className:`mono`,children:RW(C?.bundleDigest||`-`)})]})]}),(0,v.jsxs)(`section`,{className:`delivery-next-step`,"data-state":w?`ready`:M,"aria-label":`构建下一步`,children:[(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`span`,{children:`下一步`}),(0,v.jsx)(`strong`,{children:w?`构建完成,下一步可部署到云端`:p?`等待当前操作完成`:`点击右上角开始校验或构建`})]}),w&&(0,v.jsxs)(`button`,{className:`button secondary compact`,type:`button`,onClick:A,children:[(0,v.jsx)(sp,{size:15}),`部署到云端`]})]}),(0,v.jsxs)(`details`,{className:`delivery-block delivery-detail-disclosure`,children:[(0,v.jsx)(`summary`,{children:D?`声明详情`:`构建详情`}),(0,v.jsx)(`p`,{children:D?`校验 YAML 声明并锁定 Runtime、模型与能力摘要,生成可追溯的托管运行时制品。`:`查看不可变 Bundle、输入 Revision 与交付记录。`}),(0,v.jsxs)(`div`,{className:`delivery-fact-chain`,children:[(0,v.jsxs)(`div`,{className:`delivery-fact-step`,"data-state":x?`ready`:`idle`,children:[(0,v.jsx)(`span`,{children:D?`输入 YAML Revision`:`输入 Revision`}),(0,v.jsx)(`strong`,{children:x?`r${x.metadata.revision}`:`未选择`}),(0,v.jsx)(`code`,{children:x?.metadata?.id||`-`})]}),(0,v.jsxs)(`div`,{className:`delivery-fact-step`,"data-state":M,children:[(0,v.jsx)(`span`,{children:D?`声明摘要`:`不可变 Bundle`}),(0,v.jsx)(`strong`,{children:C?.status===`SUCCEEDED`?D?`已校验`:`已生成`:O(s)}),(0,v.jsx)(`code`,{children:C?.bundleDigest||`尚无 digest`})]})]})]}),(0,v.jsxs)(`details`,{className:`delivery-block`,open:p,children:[(0,v.jsxs)(`summary`,{children:[D?`声明校验日志`:`构建技术日志`,` `,d?`· ${RW(d,28)}`:``]}),(0,v.jsx)(`pre`,{ref:h,children:l})]})]})]})}function HW(e){let t=e.agentName?.trim()||e.agentId?.trim()||`云端 Agent`,n=e.versionId?.trim();return n?`云端 · ${t} · 版本 ${n.length>18?`${n.slice(0,10)}…${n.slice(-5)}`:n}`:`云端 · ${t}`}var UW=new Set([`CREATING`,`DEPLOYING`,`ADMITTING`,`PENDING`,`DELETING`,`DELETED`]);function WW(e){let t=String(e.status||``).trim().toUpperCase();return!t||!UW.has(t)}var GW=new Set([`hermes`,`openclaw`]);function KW(e){if(!e)return!1;let t=e.sessionEventChat??e.SessionEventChat??e.session_event_chat;if(t===!0)return!0;if(!t||typeof t!=`object`)return!1;let n=t;return n.enabled===!0||n.Enabled===!0||n.supported===!0||n.Supported===!0}function qW(e){if(e.chatTransport)return{kind:e.chatTransport,reason:e.chatRoutingReason||(e.chatTransport===`official-dashboard`?`native-runtime-without-session-event-chat-capability`:`studio-compatible-framework`)};if(KW(e.capabilities))return{kind:`studio-session-events`,reason:`declared-session-event-chat-capability`};let t=String(e.runtimeType||e.framework||``).trim().toLowerCase();return GW.has(t)?{kind:`official-dashboard`,reason:`native-runtime-without-session-event-chat-capability`}:{kind:`studio-session-events`,reason:`studio-compatible-framework`}}var JW={READY:5,DEPLOYING:4,ADMITTING:3,FAILED:2,ROLLED_BACK:1};function YW(e,t=new Map){let n=new Map;for(let r of e){let e=r.agentId?.trim();if(!e)continue;let i=n.get(e),a=t.get(e)?.trim(),o=!!(a&&r.versionId===a),s=!!(a&&i?.versionId===a),c=JW[r.status||``]||0,l=JW[i?.status||``]||0;(!i||o&&!s||o===s&&c>l)&&n.set(e,r)}return[...n.values()]}function XW(e,t){let n=new Map;for(let e of t){let t=e.agentId?.trim();t&&!n.has(t)&&n.set(t,e)}let r=YW(e,new Map([...n.entries()].flatMap(([e,t])=>t.versionId?.trim()?[[e,t.versionId.trim()]]:[]))).map(e=>{let t=n.get(e.agentId?.trim()||``);return{...e,agentName:t?.name||e.agentName,status:t?.status||e.status,endpoint:t?.endpoint||e.endpoint,framework:t?.framework||e.framework,runtimeType:t?.runtimeType||e.runtimeType,capabilities:t?.capabilities||e.capabilities,chatTransport:t?.chatTransport||e.chatTransport,chatRoutingReason:t?.chatRoutingReason||e.chatRoutingReason,versionId:t?.versionId||e.versionId,updatedAt:t?.updatedAt||e.updatedAt,creatorName:t?.creatorName===void 0?e.creatorName:t.creatorName,kernelReady:t?.kernelReady??e.kernelReady,deploymentPhase:t?.deploymentPhase||e.deploymentPhase,statusMessage:t?.statusMessage||e.statusMessage,kernelReason:t?.kernelReason||e.kernelReason,kernelObservedAt:t?.kernelObservedAt||e.kernelObservedAt,source:`receipt`}}),i=new Set(r.map(e=>e.agentId)),a=[...n.values()].flatMap(e=>{let t=e.agentId?.trim();return!t||i.has(t)?[]:[{id:`account:${t}`,agentId:t,agentName:e.name||t,status:e.status,endpoint:e.endpoint,framework:e.framework,runtimeType:e.runtimeType,capabilities:e.capabilities,chatTransport:e.chatTransport,chatRoutingReason:e.chatRoutingReason,versionId:e.versionId,updatedAt:e.updatedAt,creatorName:e.creatorName,kernelReady:e.kernelReady,deploymentPhase:e.deploymentPhase,statusMessage:e.statusMessage,kernelReason:e.kernelReason,kernelObservedAt:e.kernelObservedAt,source:`account`}]});return[...r,...a]}var ZW=new Set([`SUCCEEDED`,`FAILED`,`CANCELLED`,`TIMED_OUT`,`INTERRUPTED`]),QW=`agentkit-studio:deployment-operation-attempts:v2`,$W=500,eG=new Set([403,404,410]),tG=new Map,nG={},rG=class extends Error{status;constructor(e,t){super(e),this.status=t,this.name=`OperationStatusError`}};function iG(){try{return typeof document>`u`?void 0:document.defaultView?.localStorage}catch{return}}function aG(e,t){return t?q(e,{signal:t}):q(e)}function oG(e,t){return t?{...e,status:String(t.status||e.status).toUpperCase(),agentName:t.name||e.agentName,endpoint:t.endpoint||e.endpoint,framework:t.framework||e.framework,runtimeType:t.runtimeType||e.runtimeType,capabilities:t.capabilities||e.capabilities,chatTransport:t.chatTransport||e.chatTransport,chatRoutingReason:t.chatRoutingReason||e.chatRoutingReason,versionId:t.versionId||e.versionId,updatedAt:t.updatedAt||e.updatedAt,creatorName:t.creatorName===void 0?e.creatorName:t.creatorName}:e}function sG(e){try{let t=iG();if(!t)return{...nG[e]||{}};let n=JSON.parse(t.getItem(e)||`{}`);return n&&typeof n==`object`?n:{}}catch{return{...nG[e]||{}}}}function cG(e,t){nG={...nG,[e]:{...t}};try{iG()?.setItem(e,JSON.stringify(t))}catch{}}function lG(e){return`studio-${e}-${globalThis.crypto?.randomUUID?.()||`${Math.random().toString(36).slice(2)}-${Date.now().toString(36)}`}`}function uG(e,t,n){let r=sG(e),i=r[t];if(i?.idempotencyKey)return i;let a={actionKey:t,idempotencyKey:lG(n),operationId:``};return r[t]=a,cG(e,r),a}function dG(e,t,n){let r={...t,operationId:n},i=sG(e);return i[t.actionKey]=r,cG(e,i),r}function fG(e,t){let n=sG(e),r=n[t.actionKey];!r||r.idempotencyKey!==t.idempotencyKey||(delete n[t.actionKey],cG(e,n))}function pG(e){return e instanceof DOMException&&e.name===`AbortError`}function mG(e){if(e.aborted)throw new DOMException(`Operation aborted`,`AbortError`)}async function hG(e,t){mG(t),await new Promise((n,r)=>{let i=window.setTimeout(()=>{t.removeEventListener(`abort`,a),n()},e),a=()=>{window.clearTimeout(i),r(new DOMException(`Operation aborted`,`AbortError`))};t.addEventListener(`abort`,a,{once:!0})})}async function gG(e,t){let n=tG.get(e)||Promise.resolve(),r,i=new Promise(e=>{r=e}),a=n.then(()=>i);tG.set(e,a),await n;try{return await t()}finally{r(),tG.get(e)===a&&tG.delete(e)}}async function _G(e,t,n){mG(t);let r=navigator.locks;return r?r.request(e,{mode:`exclusive`,signal:t},async()=>n()):gG(e,async()=>(mG(t),n()))}async function vG(e){let t=await q(`/api/v1/system/bootstrap`,{signal:e});if(!t.ok)throw Error(`读取部署操作作用域失败(${t.status})`);let n=(await t.json())?.operationScope,r=String(n?.workspace||``).trim(),i=String(n?.cloudCredential||``).trim();if(!r||!i)throw Error(`部署操作作用域不可用,请刷新 Studio`);return`${QW}:${encodeURIComponent(r)}:${encodeURIComponent(i)}`}async function yG(e,t,n){for(;;){await hG($W,n);let r=await q(`/api/v1/operations/${encodeURIComponent(e)}`,{signal:n});if(!r.ok)throw new rG(`${t}状态读取失败(${r.status})`,r.status);let i=await r.json();if(ZW.has(i.status))return i}}async function bG(e,t,n,r,i,a){let o=`${e}:${t}`,s=await _G(o,i,async()=>{let o=uG(e,t,n);if(!o.operationId){let t=await a(o.idempotencyKey,i);if(!t.ok){t.status<500&&fG(e,o);let n=``;try{n=(await t.clone().json())?.error?.message||``}catch{}throw Error(n||`${r}提交失败(${t.status})`)}let n=await t.json(),s=String(n?.id||``).trim();if(!s)throw fG(e,o),Error(`${r}提交结果缺少 operation_id`);o=dG(e,o,s)}return o}),c;try{c=await yG(s.operationId,r,i)}catch(t){throw t instanceof rG&&eG.has(t.status)&&await _G(o,i,async()=>{fG(e,s)}),t}return await _G(o,i,async()=>{fG(e,s)}),c}function xG(e){return[`READY`,`RUNNING`].includes(e)?`ready`:[`FAILED`,`ROLLED_BACK`,`ERROR`,`TERMINATED`].includes(e)?`failed`:[`ADMITTING`,`DEPLOYING`,`CREATING`,`UPDATING`].includes(e)?`pending`:`idle`}function SG(e){return{ADMITTING:`准入中`,DEPLOYING:`部署中`,READY:`已就绪`,FAILED:`部署失败`,ROLLED_BACK:`已回滚`,RUNNING:`运行中`,CREATING:`创建中`,UPDATING:`更新中`,ERROR:`异常`,TERMINATED:`已终止`}[e]||`状态未知`}function CG(e,t=28){return e.length>t?`${e.slice(0,t)}…`:e}function wG(){let e=window.location.hash.match(/^#\/deployments\/([^/?]+)(?:\?.*)?$/),t=e?decodeURIComponent(e[1]):``;return t===`new`?``:t}function TG(){let e=window.location.hash.match(/^#\/deployments\/new(?:\?(.*))?$/);if(!e)return null;let t=new URLSearchParams(e[1]||``);return{buildId:t.get(`buildId`)?.trim()||``,agentId:t.get(`agentId`)?.trim()||``}}function EG(e){if(!e)return`—`;let t=new Date(e);return Number.isNaN(t.getTime())?e:t.toLocaleString(`zh-CN`,{hour12:!1})}function DG({onCreate:e,onOpenChat:t,onSelectBuild:n,refreshTick:r=0}){let[i,a]=(0,g.useState)([]),[o,s]=(0,g.useState)(``),[c,l]=(0,g.useState)(!0),[u,d]=(0,g.useState)(``),[f,p]=(0,g.useState)(new Set),[m,h]=(0,g.useState)(``),[_,y]=(0,g.useState)(!1),[b,x]=(0,g.useState)(!1),[S,C]=(0,g.useState)(null),[w,T]=(0,g.useState)(!1),[E,D]=(0,g.useState)(null),[O,k]=(0,g.useState)(!1),[A,j]=(0,g.useState)(()=>TG()),[M,N]=(0,g.useState)([]),[P,F]=(0,g.useState)(()=>TG()?.buildId||``),[I,ee]=(0,g.useState)(``),[L,te]=(0,g.useState)(!1),[R,z]=(0,g.useState)(!1),[ne,re]=(0,g.useState)(``),ie=(0,g.useRef)(new Set),ae=(0,g.useRef)(r),B=(0,g.useRef)(null);(0,g.useEffect)(()=>()=>{for(let e of ie.current)e.abort();ie.current.clear()},[]);function V(){let e=new AbortController;return ie.current.add(e),e}function H(e){ie.current.delete(e)}let oe=(0,g.useCallback)(async e=>{l(!0),d(``);try{let[t,n]=await Promise.all([aG(`/api/v1/deployments`,e),aG(`/api/v1/cloud-agents?size=100`,e)]);if(!t.ok)throw Error(`读取部署记录失败(${t.status})`);let r=await t.json();e?.aborted||s(String(r.currentIdentity?.userName||``));let i=n.ok?await n.json():{items:[]},o=Array.isArray(r.items)?r.items:[],c=[...new Set(o.flatMap(e=>e.agentId?.trim()?[e.agentId.trim()]:[]))],l=await Promise.all(c.map(t=>Promise.resolve().then(()=>aG(`/api/v1/cloud-agents/${encodeURIComponent(t)}`,e)).then(async e=>e.ok?await e.json():null).catch(e=>{if(pG(e))throw e;return null}))),u=Array.isArray(i.items)?i.items:[],d=new Map(u.flatMap(e=>e.agentId?[[e.agentId,e]]:[]));for(let e of l)if(e?.agentId){let t=d.get(e.agentId);d.set(e.agentId,{...t,...e,creatorName:t?.creatorName===void 0?e.creatorName:t.creatorName})}let f=[...d.values()],p=new Map(o.map(e=>[e.id,e])),m=XW(o,f).map(e=>{if(e.source===`receipt`)return{...p.get(e.id),...e,id:e.id,source:`receipt`};let t=f.find(t=>t.agentId===e.agentId);return{id:e.id,buildId:``,bundleDigest:``,versionId:String(e.versionId||t?.versionId||``),status:String(e.status||t?.status||`UNKNOWN`).toUpperCase(),target:{region:String(t?.region||``),environment:`cloud`},agentId:e.agentId,agentName:e.agentName,endpoint:e.endpoint,framework:String(e.framework||t?.framework||``),runtimeType:String(e.runtimeType||t?.runtimeType||``),capabilities:e.capabilities||t?.capabilities,chatTransport:e.chatTransport||t?.chatTransport,chatRoutingReason:e.chatRoutingReason||t?.chatRoutingReason,updatedAt:String(e.updatedAt||t?.updatedAt||``),creatorName:e.creatorName||t?.creatorName,source:`account`}});e?.aborted||a(m)}catch(t){!pG(t)&&!e?.aborted&&d(t?.message||`部署记录不可用`)}finally{e?.aborted||l(!1)}},[]);(0,g.useEffect)(()=>{let e=new AbortController;return oe(e.signal),()=>e.abort()},[oe,r]),(0,g.useEffect)(()=>{if(ae.current===r||(ae.current=r,!S||w||b))return;let e=new AbortController;return de(S.deployment,!1,e.signal,!0),()=>e.abort()},[r,S?.deployment.id,w,b]),(0,g.useEffect)(()=>{let e=()=>{let e=TG();if(j(t=>t?.agentId===e?.agentId&&t?.buildId===e?.buildId?t:e),e){C(null);return}let t=wG();if(!t){C(null);return}let n=i.find(e=>e.id===t);n&&S?.deployment.id!==t&&de(n,!1)};return e(),window.addEventListener(`popstate`,e),window.addEventListener(`hashchange`,e),()=>{window.removeEventListener(`popstate`,e),window.removeEventListener(`hashchange`,e)}},[i,S?.deployment.id]),(0,g.useEffect)(()=>{if(!A){B.current=null;return}let e=`${A.agentId}:${A.buildId}`,t=B.current===e;B.current=e,t||F(A.buildId);let n=!1;return te(!0),re(``),(async()=>{try{let[e,r]=await Promise.all([q(`/api/v1/agents?limit=100`),q(`/api/v1/system/settings`)]);if(!e.ok)throw Error(`读取可部署 Build 失败(${e.status})`);let i=await e.json(),a=r.ok?await r.json():{},o=Array.isArray(i.items)?i.items:[],s=A.agentId?o.filter(e=>String(e?.metadata?.id||``).trim()===A.agentId):o,c=(await Promise.all(s.map(async e=>{let t=String(e?.metadata?.id||``).trim();if(!t)return null;let n=await q(`/api/v1/agents/${encodeURIComponent(t)}`);return n.ok?n.json():null}))).flatMap(e=>{if(!e)return[];let t=String(e?.draft?.metadata?.id||``).trim(),n=String(e?.draft?.metadata?.name||t||`未命名 Agent`),r=String(e?.draft?.spec?.runtime?.type||``),i=String(e?.draft?.metadata?.labels?.[`agentkit.ksyun.com/artifact-type`]||(r===`codex`?`ManagedRuntime`:`Code`));return(Array.isArray(e.builds)?e.builds:[]).filter(e=>e.status===`SUCCEEDED`).map(e=>({...e,agentId:t,agentName:n,runtimeName:e.runtimeName||r,artifactType:i}))}).sort((e,t)=>String(t.createdAt||``).localeCompare(String(e.createdAt||``)));if(A.buildId&&!c.some(e=>e.id===A.buildId)){let e=await q(`/api/v1/builds/${encodeURIComponent(A.buildId)}`);if(e.ok){let t=await e.json(),n=String(t.agentId||A.agentId||``).trim();if(A.agentId&&n!==A.agentId)throw Error(`Build ${A.buildId} 不属于当前 Agent`);let r=n?await q(`/api/v1/agents/${encodeURIComponent(n)}`):null,i=r?.ok?await r.json():null;if(String(t.status||``)===`SUCCEEDED`&&n){let e=String(i?.draft?.spec?.runtime?.type||t.runtimeName||``);c=[{...t,agentId:n,agentName:String(i?.draft?.metadata?.name||n),runtimeName:t.runtimeName||e,artifactType:String(i?.draft?.metadata?.labels?.[`agentkit.ksyun.com/artifact-type`]||(e===`codex`?`ManagedRuntime`:`Code`))},...c]}}}if(A.agentId&&(c=c.filter(e=>e.agentId===A.agentId)),n)return;ee(String(a.cloudRegion||``).trim()),N(c);let l=c.find(e=>e.isCurrent!==!1);if(A.buildId){let e=c.find(e=>e.id===A.buildId);if(!e)throw Error(`Build ${A.buildId} 不存在或尚未成功`);F(n=>t&&c.some(e=>e.id===n)?n:e.isCurrent===!1&&l?l.id:A.buildId)}else F(e=>c.some(t=>t.id===e)?e:(l||c[0])?.id||``)}catch(e){n||re(e?.message||`可部署 Build 不可用`)}finally{n||te(!1)}})(),()=>{n=!0}},[A?.agentId,A?.buildId,r]);async function se(e){p(t=>new Set(t).add(e.id));try{let t=e.source===`account`?await q(`/api/v1/cloud-agents/${encodeURIComponent(e.agentId||``)}`):await q(`/api/v1/deployments/${encodeURIComponent(e.id)}`);if(!t.ok)throw Error(`状态刷新失败(${t.status})`);let n=await t.json(),r=e.source===`account`?oG(e,n):{...e,...n,source:`receipt`};if(e.source===`receipt`&&r.agentId){let e=await q(`/api/v1/cloud-agents/${encodeURIComponent(r.agentId)}`).catch(()=>null);e?.ok&&(r=oG(r,await e.json()))}a(t=>t.map(t=>t.id===e.id?r:t))}catch(t){d(`${e.instanceId||e.id}:${t?.message||`状态未知`}`)}finally{p(t=>{let n=new Set(t);return n.delete(e.id),n})}}async function ce(){await Promise.all(i.map(e=>se(e)))}async function le(e){d(``);try{let t=await q(qW(e).kind===`official-dashboard`||e.source===`account`?`/api/v1/cloud-agents/${encodeURIComponent(e.agentId||``)}:dashboard`:`/api/v1/deployments/${encodeURIComponent(e.id)}:dashboard`,{method:`POST`});if(!t.ok)throw Error(`创建云端 UI 访问链接失败(${t.status})`);let n=await t.json(),r=String(n?.accessUrl||n?.access_url||``).trim();if(!r)throw Error(`云端未返回 Agent UI 地址`);window.open(r,`_blank`,`noopener,noreferrer`)}catch(t){d(`${e.instanceId||e.id}:${t?.message||`无法打开云端 UI`}`)}}async function ue(e,t){let n=await aG(`/api/v1/cloud-agents/${encodeURIComponent(e)}/versions?page=1&size=100`,t);if(!n.ok)throw Error(`读取云端版本失败(${n.status})`);let r=await n.json(),i=r.items||r.versions||r.Versions||[];return{items:(Array.isArray(i)?i:[]).map(e=>({versionId:String(e.versionId||e.version_id||e.VersionId||``),versionName:String(e.versionName||e.version_name||e.VersionName||``),tag:String(e.tag||e.Tag||``),status:String(e.status||e.Status||``),trafficPercentage:Number(e.trafficPercentage??e.traffic_percentage??e.TrafficPercentage??0),createdAt:e.createdAt||e.created_at||e.CreatedAt,createdBy:e.createdBy||e.created_by||e.CreatedBy,canRollback:!!(e.canRollback??e.can_rollback??e.CanRollback),rollbackDisabledReason:String(e.rollbackDisabledReason||e.rollback_disabled_reason||e.RollbackDisabledReason||``)})).filter(e=>e.versionId),currentVersionId:String(r.currentVersionId||r.current_version_id||r.CurrentVersionId||``)}}async function de(e,t=!0,n,r=!1){if(n?.aborted)return;t&&window.history.pushState(null,``,`#/deployments/${encodeURIComponent(e.id)}`),r||(C({deployment:e,sourceAgentId:``,sourceAgentName:``,builds:[],versions:[],currentVersionId:``,loading:!0,error:``}),h(``),y(!1));let i=e.agentId?ue(e.agentId,n):Promise.resolve({items:[],currentVersionId:``});try{if(e.source===`account`){let t=await aG(`/api/v1/cloud-agents/${encodeURIComponent(e.agentId||``)}`,n);if(!t.ok)throw Error(`刷新云端 Agent 状态失败(${t.status})`);let r=await t.json(),o={...e,agentName:String(r.name||e.agentName||e.agentId||`云端 Agent`),status:String(r.status||e.status).toUpperCase(),endpoint:r.endpoint||e.endpoint,framework:r.framework||e.framework,runtimeType:r.runtimeType||e.runtimeType,capabilities:r.capabilities||e.capabilities,chatTransport:r.chatTransport||e.chatTransport,chatRoutingReason:r.chatRoutingReason||e.chatRoutingReason,versionId:r.versionId||e.versionId,updatedAt:r.updatedAt||e.updatedAt,creatorName:r.creatorName===void 0?e.creatorName:r.creatorName},s=await i;if(n?.aborted)return;a(t=>t.map(t=>t.id===e.id?o:t)),C({deployment:o,sourceAgentId:``,sourceAgentName:o.agentName||o.agentId||`账号云端 Agent`,builds:[],versions:s.items,currentVersionId:s.currentVersionId,loading:!1,error:``});return}let t=await aG(`/api/v1/deployments/${encodeURIComponent(e.id)}`,n);if(!t.ok)throw Error(`刷新云端 Agent 状态失败(${t.status})`);let r={...e,...await t.json(),source:`receipt`},o=r;if(r.agentId){let e=await aG(`/api/v1/cloud-agents/${encodeURIComponent(r.agentId)}`,n).catch(e=>{if(pG(e))throw e;return null});e?.ok&&(o=oG(r,await e.json()))}if(n?.aborted)return;a(t=>t.map(t=>t.id===e.id?o:t));let s=await aG(`/api/v1/builds/${encodeURIComponent(o.buildId)}`,n);if(!s.ok)throw Error(`读取当前 Build 失败(${s.status})`);let c=await s.json(),l=String(c.agentId||``).trim();if(!l)throw Error(`当前部署缺少本地 Agent 关联`);let u=await aG(`/api/v1/agents/${encodeURIComponent(l)}`,n);if(!u.ok)throw Error(`读取本地 Build 历史失败(${u.status})`);let d=await u.json(),f=(Array.isArray(d.builds)?d.builds:[]).filter(e=>e.status===`SUCCEEDED`).sort((e,t)=>String(t.createdAt||``).localeCompare(String(e.createdAt||``))),p=await i;if(n?.aborted)return;C({deployment:o,sourceAgentId:l,sourceAgentName:String(d?.draft?.metadata?.name||l),builds:f,versions:p.items,currentVersionId:p.currentVersionId,loading:!1,error:``})}catch(e){if(pG(e)||n?.aborted)return;let t=await i.catch(()=>({items:[],currentVersionId:``}));C(n=>n?{...n,versions:t.items,currentVersionId:t.currentVersionId,loading:!1,error:e?.message||`云端 Agent 详情不可用`}:null)}}async function U(){if(!P||R)return;let e=M.find(e=>e.id===P);if(!e){re(`请选择一个已成功的 Build`);return}if(!I){re(`请先在 Studio 设置中配置云端 Region`);return}z(!0),re(``);let t=`deploy:${P}:${I}`,n=V();try{let r=await bG(await vG(n.signal),t,`deploy`,`部署`,n.signal,(e,t)=>q(`/api/v1/builds/${encodeURIComponent(P)}/deployments`,{method:`POST`,headers:{"Content-Type":`application/json`,"Idempotency-Key":e},body:JSON.stringify({target:{region:I,environment:`cloud`},releasePolicy:{strategy:`rolling`,approval:`none`}}),signal:t}));if(r.status!==`SUCCEEDED`)throw Error(r.error?.message||`部署未完成`);mG(n.signal),await oe(n.signal),mG(n.signal);let i=String(r.resourceId||``).trim();jW(i?AW(i):`#/deployments`),CL(`已提交云端部署`,`${e.agentName||e.agentId} · ${e.id}`)}catch(e){!pG(e)&&!n.signal.aborted&&re(e?.message||`部署失败`)}finally{H(n),n.signal.aborted||z(!1)}}function fe(){C(null),h(``),y(!1),window.history.pushState(null,``,`#/deployments`)}async function pe(e,t){if(!t||w)return;T(!0),d(``);let n=`update:${e.agentId||e.id}:${t}`,r=V();try{let i=await bG(await vG(r.signal),n,`update`,`更新`,r.signal,(n,r)=>q(`/api/v1/builds/${encodeURIComponent(t)}/deployments`,{method:`POST`,headers:{"Content-Type":`application/json`,"Idempotency-Key":n},body:JSON.stringify({target:e.target,releasePolicy:{strategy:`rolling`,approval:`none`}}),signal:r}));if(i.status!==`SUCCEEDED`)throw Error(i.error?.message||`更新未完成`);mG(r.signal),C(null),await oe(r.signal),mG(r.signal),CL(`已提交云端更新`,`Build ${t}`)}catch(e){!pG(e)&&!r.signal.aborted&&d(e?.message||`更新失败`)}finally{H(r),r.signal.aborted||T(!1)}}async function me(){if(!E||O)return;let e=E;k(!0),d(``);try{let t=await q(e.source===`account`?`/api/v1/cloud-agents/${encodeURIComponent(e.agentId||``)}`:`/api/v1/deployments/${encodeURIComponent(e.id)}`,{method:`DELETE`});if(!t.ok)throw Error(`删除云端 Agent 失败(${t.status})`);let n=await t.json();D(null),C(null),await oe(),CL(`云端 Agent 已删除`,String(n.agentId||e.agentId||``))}catch(e){d(e?.message||`删除云端 Agent 失败`)}finally{k(!1)}}async function he(){if(!S||!m||b)return;let e=S.deployment,t=String(e.agentId||``).trim(),n=m,r=S.versions.find(e=>e.versionId===n),i=n===S.currentVersionId||r?.status.toLowerCase()===`current`;if(!t||!r?.canRollback||i)return;x(!0),C(e=>e&&{...e,error:``});let a=`rollback:${t}:${n}`,o=V();try{let r=await bG(await vG(o.signal),a,`rollback`,`回滚`,o.signal,(e,r)=>q(`/api/v1/cloud-agents/${encodeURIComponent(t)}:rollback-version`,{method:`POST`,headers:{"Content-Type":`application/json`,"Idempotency-Key":e},body:JSON.stringify({versionId:n}),signal:r}));if(r.status!==`SUCCEEDED`)throw Error(r.error?.message||`回滚未完成`);mG(o.signal),y(!1),h(``),await oe(o.signal),await de(e,!1,o.signal),mG(o.signal),CL(`已提交版本回滚`,`云端版本 ${n}`)}catch(e){!pG(e)&&!o.signal.aborted&&(y(!1),C(t=>t&&{...t,error:e?.message||`回滚失败`}))}finally{H(o),o.signal.aborted||x(!1)}}if(A){let e=M.find(e=>e.id===P),t=e?.agentName||M[0]?.agentName;return(0,v.jsxs)(`div`,{className:`delivery-page deployment-create-page`,"data-layout":`document`,children:[(0,v.jsxs)(FT,{children:[(0,v.jsxs)(`button`,{className:`button secondary`,type:`button`,onClick:()=>jW(`#/deployments`),children:[(0,v.jsx)(Nf,{size:15}),(0,v.jsx)(`span`,{children:`返回云端 Agent`})]}),(0,v.jsxs)(`button`,{className:`button accent`,type:`button`,onClick:()=>void U(),disabled:!e||R||L,children:[(0,v.jsx)(sp,{size:15}),(0,v.jsx)(`span`,{children:R?`部署中…`:`部署到云端`})]})]}),(0,v.jsx)(`div`,{className:`delivery-intro`,children:(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`h2`,{children:t?`部署 ${t}`:`部署到云端`}),(0,v.jsx)(`p`,{children:`选择已完成的构建,部署为可访问的云端 Agent。`})]})}),ne&&(0,v.jsx)(`div`,{className:`form-error`,role:`alert`,children:ne}),(0,v.jsxs)(`section`,{className:`delivery-block`,"aria-label":`选择部署 Build`,children:[(0,v.jsx)(`h2`,{children:`选择构建`}),L?(0,v.jsx)(`p`,{children:`正在读取可部署 Build…`}):M.length?(0,v.jsx)(`div`,{className:`deployment-version-list`,role:`radiogroup`,"aria-label":`可部署 Build`,children:M.map(e=>(0,v.jsxs)(`button`,{type:`button`,role:`radio`,"aria-checked":e.id===P,"aria-label":`${e.agentName||e.agentId||`Agent`} ${e.id}${e.isCurrent===!1?` (声明已变更)`:``}`,className:`deployment-version-option`,"data-selected":e.id===P,"data-stale":e.isCurrent===!1,onClick:()=>F(e.id),children:[(0,v.jsx)(`strong`,{className:`deployment-version-name`,children:e.agentName||e.agentId||`未命名 Agent`}),(0,v.jsxs)(`span`,{className:`deployment-version-state`,"data-state":e.isCurrent===!1?`stale`:`available`,children:[e.artifactType===`ManagedRuntime`?`托管声明`:`代码 Bundle`,e.isCurrent===!1?` · 声明已变更`:``]}),(0,v.jsx)(`code`,{title:e.id,children:CG(e.id,24)}),(0,v.jsx)(`time`,{className:`deployment-version-time`,dateTime:e.createdAt||void 0,children:EG(e.createdAt)})]},e.id))}):(0,v.jsxs)(`div`,{className:`delivery-empty-state`,children:[(0,v.jsx)(Gp,{size:24}),(0,v.jsx)(`h2`,{children:`没有可部署的 Build`}),(0,v.jsx)(`p`,{children:`请先完成 Agent 构建或 ManagedRuntime 声明校验。`}),(0,v.jsx)(`button`,{className:`button secondary`,type:`button`,onClick:n,children:`前往构建`})]}),e&&(0,v.jsxs)(`div`,{className:`deployment-selection-summary`,"aria-label":`部署提交摘要`,children:[(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`span`,{children:`Agent`}),(0,v.jsx)(`strong`,{children:e.agentName||e.agentId})]}),(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`span`,{children:`Build`}),(0,v.jsx)(`code`,{children:e.id})]})]})]})]})}if(S){let e=S.builds[0],n=S.versions.find(e=>e.versionId===m&&e.canRollback&&e.versionId!==S.currentVersionId&&e.status.toLowerCase()!==`current`),r=S.versions.find(e=>e.versionId===S.currentVersionId||e.status.toLowerCase()===`current`),i=S.deployment.source===`receipt`,a=i&&S.deployment.artifactId===`managed-runtime`&&!!e&&e.id!==S.deployment.buildId,o=qW(S.deployment);return(0,v.jsxs)(`div`,{className:`delivery-page deployment-detail-page`,"data-layout":`document`,children:[(0,v.jsxs)(FT,{children:[(0,v.jsxs)(`button`,{className:`button secondary`,type:`button`,onClick:fe,children:[(0,v.jsx)(Nf,{size:15}),(0,v.jsx)(`span`,{children:`返回云端 Agent`})]}),a&&(0,v.jsx)(`button`,{className:`button secondary`,type:`button`,onClick:()=>void pe(S.deployment,e.id),disabled:w,children:w?`更新中…`:`部署最新 Build`}),xG(S.deployment.status)===`ready`&&(0,v.jsx)(`button`,{className:`button accent`,type:`button`,onClick:()=>o.kind===`official-dashboard`?void le(S.deployment):t(S.deployment),disabled:w,children:o.kind===`official-dashboard`?(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(hp,{size:15}),`链接`]}):(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(zp,{size:15}),`进入会话`]})})]}),(0,v.jsx)(`div`,{className:`delivery-intro deployment-detail-heading`,children:(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`h2`,{children:S.deployment.agentName||S.sourceAgentName||`云端 Agent`}),(0,v.jsx)(`p`,{children:S.deployment.agentId||S.deployment.id})]})}),(0,v.jsxs)(`div`,{className:`deployment-current-summary`,role:`region`,"aria-label":`当前部署摘要`,children:[(0,v.jsx)(`span`,{className:`delivery-status-badge`,"data-state":xG(S.deployment.status),children:SG(S.deployment.status)}),(0,v.jsxs)(`span`,{children:[`当前版本 `,(0,v.jsx)(`strong`,{children:r?.versionName||r?.tag||S.deployment.versionId||`尚未返回`})]}),(0,v.jsx)(`span`,{children:S.deployment.framework||S.deployment.artifactId}),(0,v.jsxs)(`span`,{children:[`更新于 `,EG(S.deployment.updatedAt)]})]}),S.error&&(0,v.jsx)(`div`,{className:`form-error`,role:`alert`,children:S.error}),(0,v.jsxs)(`section`,{className:`delivery-block`,"aria-label":`云端 Agent 详情`,children:[S.deployment.agentId?(0,v.jsxs)(`section`,{className:`deployment-version-history`,"aria-label":`云端版本历史`,children:[(0,v.jsxs)(`div`,{className:`deployment-version-heading`,children:[(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`h3`,{children:`云端版本历史`}),(0,v.jsx)(`p`,{children:`选择历史版本后可以回滚。`})]}),!!S.deployment.agentId&&(0,v.jsx)(`button`,{className:`button secondary`,type:`button`,onClick:()=>y(!0),disabled:!n?.canRollback||w||b,children:b?`回滚中…`:n?`回滚到所选版本`:`选择版本回滚`})]}),S.loading?(0,v.jsx)(`p`,{children:`正在读取版本…`}):(0,v.jsxs)(`div`,{className:`deployment-version-list`,role:`radiogroup`,"aria-label":`选择回滚版本`,children:[(0,v.jsxs)(`div`,{className:`deployment-version-header`,"aria-hidden":`true`,children:[(0,v.jsx)(`span`,{children:`版本`}),(0,v.jsx)(`span`,{children:`状态`}),(0,v.jsx)(`span`,{children:`流量`}),(0,v.jsx)(`span`,{children:`创建时间`})]}),S.versions.length?S.versions.map(e=>{let t=e.versionId===S.currentVersionId||e.status.toLowerCase()===`current`,n=t?`当前`:e.canRollback?`可回滚`:`不可回滚`;return(0,v.jsxs)(`button`,{type:`button`,role:`radio`,"aria-checked":e.versionId===m,"aria-label":`${t?`当前版本`:e.canRollback?`可回滚版本`:`不可回滚版本`} ${e.versionName||e.tag||`未命名`}`,className:`deployment-version-option`,"data-current":t,"data-selected":e.versionId===m,disabled:t||!e.canRollback||w||b,onClick:()=>h(e.versionId),children:[(0,v.jsx)(`strong`,{className:`deployment-version-name`,children:e.versionName||e.tag||`未命名版本`}),(0,v.jsx)(`span`,{className:`deployment-version-state`,"data-state":t?`current`:e.canRollback?`available`:`disabled`,children:n}),(0,v.jsxs)(`span`,{className:`deployment-version-traffic`,children:[e.trafficPercentage,`%`]}),(0,v.jsx)(`time`,{className:`deployment-version-time`,dateTime:e.createdAt||void 0,children:EG(e.createdAt)})]},e.versionId)}):(0,v.jsx)(`p`,{className:`deployment-version-empty`,children:`云端暂未返回版本记录。`})]})]}):(0,v.jsx)(`div`,{className:`callout`,children:(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`strong`,{children:`缺少云端 Agent ID`}),(0,v.jsx)(`p`,{children:`当前记录无法查询 Server 版本历史,因此不开放版本回滚。`})]})}),(0,v.jsxs)(`details`,{className:`deployment-technical-details`,children:[(0,v.jsx)(`summary`,{children:`部署配置与标识`}),(0,v.jsxs)(`div`,{className:`api-contract`,"aria-label":`云端部署事实`,children:[(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`span`,{children:`名称`}),(0,v.jsx)(`strong`,{children:S.deployment.agentName||S.sourceAgentName})]}),(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`span`,{children:`来源`}),(0,v.jsx)(`strong`,{children:i?`Studio 部署记录`:`账号云端 Agent`})]}),(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`span`,{children:`创建子账号`}),(0,v.jsx)(`strong`,{children:S.deployment.creatorName||`创建人未记录`})]}),(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`span`,{children:`状态`}),(0,v.jsx)(`strong`,{children:SG(S.deployment.status)})]}),(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`span`,{children:`云端 Agent`}),(0,v.jsx)(`code`,{children:S.deployment.agentId||`尚未返回`})]}),(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`span`,{children:`类型`}),(0,v.jsx)(`code`,{children:S.deployment.framework||S.deployment.artifactId||`尚未返回`})]}),(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`span`,{children:`Endpoint`}),(0,v.jsx)(`code`,{children:S.deployment.endpoint||`尚未返回`})]}),S.deployment.instanceId&&(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`span`,{children:`实例`}),(0,v.jsx)(`code`,{children:S.deployment.instanceId})]}),i&&(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`span`,{children:`当前 Build`}),(0,v.jsx)(`code`,{children:S.deployment.buildId})]}),(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`span`,{children:`当前版本`}),(0,v.jsx)(`code`,{title:r?.versionId||S.deployment.versionId||void 0,children:r?.versionName||r?.tag||S.deployment.versionId||`尚未返回`})]}),(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`span`,{children:`更新时间`}),(0,v.jsx)(`code`,{children:EG(S.deployment.updatedAt)})]}),i&&(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`span`,{children:`Bundle`}),(0,v.jsx)(`code`,{title:S.deployment.bundleDigest,children:S.deployment.bundleDigest})]})]})]})]}),_&&n&&(0,v.jsx)(Db,{title:`确认回滚云端 Agent?`,description:`当前云端版本 ${r?.versionName||S.deployment.versionId||`未知`}(${r?.versionId||S.deployment.versionId||`未知`})将回滚到 ${n.versionName||n.tag||`目标版本`}(${n.versionId})。回滚会改变当前云端 Agent 使用的版本。`,confirmText:`确认回滚`,danger:!1,busy:b,onConfirm:()=>void he(),onCancel:()=>y(!1)})]})}return(0,v.jsxs)(`div`,{className:`delivery-page`,"data-layout":`document`,children:[(0,v.jsxs)(FT,{children:[(0,v.jsxs)(`button`,{className:`button accent`,type:`button`,onClick:()=>jW(`#/deployments/new`),children:[(0,v.jsx)(sp,{size:15}),(0,v.jsx)(`span`,{children:`部署 Agent`})]}),(0,v.jsxs)(`button`,{className:`button secondary`,type:`button`,onClick:()=>void ce(),disabled:!i.length||f.size>0,children:[(0,v.jsx)(tm,{size:15}),(0,v.jsx)(`span`,{children:`刷新全部状态`})]})]}),u&&(0,v.jsx)(`div`,{className:`form-error`,role:`alert`,children:u}),c?(0,v.jsx)(`div`,{className:`delivery-empty-state`,children:(0,v.jsx)(`p`,{children:`正在读取云端 Agent…`})}):i.length?(0,v.jsxs)(`section`,{className:`delivery-block`,"aria-label":`云端 Agent 列表`,children:[(0,v.jsxs)(`div`,{className:`delivery-section-heading`,children:[(0,v.jsx)(`h2`,{children:`Agent 列表`}),(0,v.jsxs)(`span`,{children:[i.length,` 个`]})]}),(0,v.jsx)(`div`,{className:`delivery-table-scroll`,children:(0,v.jsxs)(`table`,{className:`delivery-table`,children:[(0,v.jsx)(`thead`,{children:(0,v.jsxs)(`tr`,{children:[(0,v.jsx)(`th`,{children:`Agent`}),(0,v.jsx)(`th`,{children:`状态`}),(0,v.jsx)(`th`,{children:`类型`}),(0,v.jsx)(`th`,{children:`创建子账号`}),(0,v.jsx)(`th`,{children:`版本`}),(0,v.jsx)(`th`,{children:`更新时间`}),(0,v.jsx)(`th`,{children:(0,v.jsx)(`span`,{className:`sr-only`,children:`操作`})})]})}),(0,v.jsx)(`tbody`,{children:i.map(e=>{let n=f.has(e.id),r=qW(e);return(0,v.jsxs)(`tr`,{children:[(0,v.jsx)(`td`,{children:(0,v.jsxs)(`button`,{className:`delivery-agent-identity`,type:`button`,"aria-label":`查看 ${e.agentName||e.agentId||`云端 Agent`} 详情`,onClick:()=>void de(e),children:[(0,v.jsx)(`strong`,{children:e.agentName||e.agentId||`云端 Agent`}),(0,v.jsx)(`code`,{title:e.agentId||e.id,children:CG(e.agentId||e.id,24)})]})}),(0,v.jsx)(`td`,{children:(0,v.jsx)(`span`,{className:`delivery-status-badge`,"data-state":xG(e.status),children:SG(e.status)})}),(0,v.jsxs)(`td`,{children:[(0,v.jsx)(`strong`,{children:e.framework||(e.artifactId===`managed-runtime`?`YAML Agent`:`高代码 Agent`)}),e.source===`receipt`&&(0,v.jsx)(`small`,{children:`Studio 部署记录`})]}),(0,v.jsx)(`td`,{children:e.creatorName||e.createdByName||(e.source===`receipt`&&o?(0,v.jsxs)(`span`,{title:`当前工作区 AK/SK 对应的身份;历史创建人未记录`,children:[o,(0,v.jsx)(`small`,{children:`当前凭证`})]}):`创建人未记录`)}),(0,v.jsx)(`td`,{children:(0,v.jsx)(`code`,{title:e.versionId||``,children:CG(e.versionId||`—`,20)})}),(0,v.jsx)(`td`,{children:(0,v.jsx)(`span`,{className:`delivery-updated-at`,children:EG(e.updatedAt)})}),(0,v.jsx)(`td`,{children:(0,v.jsxs)(`div`,{className:`delivery-row-actions`,children:[xG(e.status)===`ready`&&e.agentId&&(0,v.jsx)(`button`,{className:`button secondary compact`,type:`button`,"aria-label":r.kind===`official-dashboard`?`打开官方 Dashboard`:`打开云端 Agent 会话`,onClick:()=>r.kind===`official-dashboard`?void le(e):t(e),children:r.kind===`official-dashboard`?(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(hp,{size:15}),(0,v.jsx)(`span`,{children:`链接`})]}):(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(zp,{size:15}),(0,v.jsx)(`span`,{children:`会话`})]})}),(0,v.jsx)(MT,{label:`${e.agentName||e.agentId||e.id} 的更多操作`,items:[{label:n?`正在刷新状态`:`刷新状态`,disabled:n,onSelect:()=>void se(e)},...xG(e.status)===`ready`&&e.agentId?[{label:`在 Hosted UI 中打开`,onSelect:()=>void le(e)}]:[],...e.source===`receipt`?[{label:`版本管理`,onSelect:()=>void de(e)}]:[],...e.agentId?[{label:`删除云端 Agent`,danger:!0,onSelect:()=>D(e)}]:[]]})]})})]},e.id)})})]})})]}):(0,v.jsxs)(`div`,{className:`delivery-empty-state`,children:[(0,v.jsx)(sp,{size:24}),(0,v.jsx)(`h2`,{children:`还没有云端 Agent`}),(0,v.jsx)(`p`,{children:`准备好本地 Agent 后,点击右上角「部署 Agent」。`}),(0,v.jsx)(`div`,{className:`delivery-empty-actions`,children:(0,v.jsx)(`button`,{className:`button secondary`,type:`button`,onClick:e,children:`创建 Agent`})})]}),E&&(0,v.jsx)(Db,{title:`删除云端 Agent?`,description:`将删除 ${E.agentId||E.id} 的云端实例和本地部署记录。此操作不会删除本地 Agent 与 Build。`,confirmText:`删除云端 Agent`,busy:O,onConfirm:()=>void me(),onCancel:()=>D(null)})]})}var OG=e=>typeof e==`boolean`||e instanceof Boolean,kG=e=>typeof e==`number`||e instanceof Number,AG=e=>typeof e==`bigint`||e instanceof BigInt,jG=e=>!!e&&e instanceof Date,MG=e=>typeof e==`string`||e instanceof String,NG=e=>Array.isArray(e),PG=e=>typeof e==`object`&&!!e,FG=e=>!!e&&e instanceof Object&&typeof e==`function`;function IG(e,t){return t===void 0&&(t=!1),!e||t?`"${e}"`:e}function LG(e,t,n){return n?JSON.stringify(e):t?`"${e}"`:e}function RG(e){let{field:t,value:n,data:r,lastElement:i,openBracket:a,closeBracket:o,level:s,style:c,shouldExpandNode:l,clickToExpandNode:u,outerRef:d,beforeExpandChange:f}=e,p=(0,g.useRef)(!1),[m,h]=(0,g.useState)(()=>l(s,n,t)),_=(0,g.useRef)(null);(0,g.useEffect)(()=>{p.current?h(l(s,n,t)):p.current=!0},[l]);let v=(0,g.useId)();if(r.length===0)return zG({field:t,openBracket:a,closeBracket:o,lastElement:i,style:c});let y=m?c.collapseIcon:c.expandIcon,b=m?c.ariaLables.collapseJson:c.ariaLables.expandJson,x=s+1,S=r.length-1,C=e=>{m!==e&&(!f||f({level:s,value:n,field:t,newExpandValue:e}))&&h(e)},w=e=>{if(e.key===`ArrowRight`||e.key===`ArrowLeft`)e.preventDefault(),C(e.key===`ArrowRight`);else if(e.key===`ArrowUp`||e.key===`ArrowDown`){e.preventDefault();let t=e.key===`ArrowUp`?-1:1;if(!d.current)return;let n=d.current.querySelectorAll(`[role=button]`),r=-1;for(let e=0;e<n.length;e++)if(n[e].tabIndex===0){r=e;break}if(r<0)return;let i=(r+t+n.length)%n.length;n[r].tabIndex=-1,n[i].tabIndex=0,n[i].focus()}},T=()=>{C(!m);let e=_.current;if(!e)return;let t=d.current?.querySelector(`[role=button][tabindex="0"]`);t&&(t.tabIndex=-1),e.tabIndex=0,e.focus()};return(0,g.createElement)(`div`,{className:c.basicChildStyle,role:`treeitem`,"aria-expanded":m,"aria-selected":void 0},(0,g.createElement)(`span`,{className:y,onClick:T,onKeyDown:w,role:`button`,"aria-label":b,"aria-expanded":m,"aria-controls":m?v:void 0,ref:_,tabIndex:s===0?0:-1}),(t||t===``)&&(u?(0,g.createElement)(`span`,{className:c.clickableLabel,onClick:T,onKeyDown:w},IG(t,c.quotesForFieldNames),`:`):(0,g.createElement)(`span`,{className:c.label},IG(t,c.quotesForFieldNames),`:`)),(0,g.createElement)(`span`,{className:c.punctuation},a),m?(0,g.createElement)(`ul`,{id:v,role:`group`,className:c.childFieldsContainer},r.map((e,t)=>(0,g.createElement)(UG,{key:e[0]||t,field:e[0],value:e[1],style:c,lastElement:t===S,level:x,shouldExpandNode:l,clickToExpandNode:u,beforeExpandChange:f,outerRef:d}))):(0,g.createElement)(`span`,{className:c.collapsedContent,onClick:T,onKeyDown:w}),(0,g.createElement)(`span`,{className:c.punctuation},o),!i&&(0,g.createElement)(`span`,{className:c.punctuation},`,`))}function zG(e){let{field:t,openBracket:n,closeBracket:r,lastElement:i,style:a}=e;return(0,g.createElement)(`div`,{className:a.basicChildStyle,role:`treeitem`,"aria-selected":void 0},(t||t===``)&&(0,g.createElement)(`span`,{className:a.label},IG(t,a.quotesForFieldNames),`:`),(0,g.createElement)(`span`,{className:a.punctuation},n),(0,g.createElement)(`span`,{className:a.punctuation},r),!i&&(0,g.createElement)(`span`,{className:a.punctuation},`,`))}function BG(e){let{field:t,value:n,style:r,lastElement:i,shouldExpandNode:a,clickToExpandNode:o,level:s,outerRef:c,beforeExpandChange:l}=e;return RG({field:t,value:n,lastElement:i||!1,level:s,openBracket:`{`,closeBracket:`}`,style:r,shouldExpandNode:a,clickToExpandNode:o,data:Object.keys(n).map(e=>[e,n[e]]),outerRef:c,beforeExpandChange:l})}function VG(e){let{field:t,value:n,style:r,lastElement:i,level:a,shouldExpandNode:o,clickToExpandNode:s,outerRef:c,beforeExpandChange:l}=e;return RG({field:t,value:n,lastElement:i||!1,level:a,openBracket:`[`,closeBracket:`]`,style:r,shouldExpandNode:o,clickToExpandNode:s,data:n.map(e=>[void 0,e]),outerRef:c,beforeExpandChange:l})}function HG(e){let{field:t,value:n,style:r,lastElement:i}=e,a,o=r.otherValue;return n===null?(a=`null`,o=r.nullValue):n===void 0?(a=`undefined`,o=r.undefinedValue):MG(n)?(a=LG(n,!r.noQuotesForStringValues,r.stringifyStringValues),o=r.stringValue):OG(n)?(a=n?`true`:`false`,o=r.booleanValue):kG(n)?(a=n.toString(),o=r.numberValue):AG(n)?(a=`${n.toString()}n`,o=r.numberValue):a=jG(n)?n.toISOString():FG(n)?`function() { }`:n.toString(),(0,g.createElement)(`div`,{className:r.basicChildStyle,role:`treeitem`,"aria-selected":void 0},(t||t===``)&&(0,g.createElement)(`span`,{className:r.label},IG(t,r.quotesForFieldNames),`:`),(0,g.createElement)(`span`,{className:o},a),!i&&(0,g.createElement)(`span`,{className:r.punctuation},`,`))}function UG(e){let t=e.value;return NG(t)?(0,g.createElement)(VG,Object.assign({},e)):PG(t)&&!jG(t)&&!FG(t)?(0,g.createElement)(BG,Object.assign({},e)):(0,g.createElement)(HG,Object.assign({},e))}var WG={"container-base":`_GzYRV`,"punctuation-base":`_3eOF8`,pointer:`_1MFti`,"expander-base":`_f10Tu _1MFti`,"expand-icon":`_1UmXx`,"collapse-icon":`_1LId0`,"collapsed-content-base":`_1pNG9 _1MFti`,"container-light":`_2IvMF _GzYRV`,"basic-element-style":`_2bkNM`,"child-fields-container":`_1BXBN`,"label-light":`_1MGIk`,"clickable-label-light":`_2YKJg _1MGIk _1MFti`,"punctuation-light":`_3uHL6 _3eOF8`,"value-null-light":`_2T6PJ`,"value-undefined-light":`_1Gho6`,"value-string-light":`_vGjyY`,"value-number-light":`_1bQdo`,"value-boolean-light":`_3zQKs`,"value-other-light":`_1xvuR`,"collapse-icon-light":`_oLqym _f10Tu _1MFti _1LId0`,"expand-icon-light":`_2AXVT _f10Tu _1MFti _1UmXx`,"collapsed-content-light":`_2KJWg _1pNG9 _1MFti`,"container-dark":`_11RoI _GzYRV`,"expand-icon-dark":`_17H2C _f10Tu _1MFti _1UmXx`,"collapse-icon-dark":`_3QHg2 _f10Tu _1MFti _1LId0`,"collapsed-content-dark":`_3fDAz _1pNG9 _1MFti`,"label-dark":`_2bSDX`,"clickable-label-dark":`_1RQEj _2bSDX _1MFti`,"punctuation-dark":`_gsbQL _3eOF8`,"value-null-dark":`_LaAZe`,"value-undefined-dark":`_GTKgm`,"value-string-dark":`_Chy1W`,"value-number-dark":`_2bveF`,"value-boolean-dark":`_2vRm-`,"value-other-dark":`_1prJR`},GG={container:WG[`container-light`],basicChildStyle:WG[`basic-element-style`],childFieldsContainer:WG[`child-fields-container`],label:WG[`label-light`],clickableLabel:WG[`clickable-label-light`],nullValue:WG[`value-null-light`],undefinedValue:WG[`value-undefined-light`],stringValue:WG[`value-string-light`],booleanValue:WG[`value-boolean-light`],numberValue:WG[`value-number-light`],otherValue:WG[`value-other-light`],punctuation:WG[`punctuation-light`],collapseIcon:WG[`collapse-icon-light`],expandIcon:WG[`expand-icon-light`],collapsedContent:WG[`collapsed-content-light`],noQuotesForStringValues:!1,quotesForFieldNames:!1,ariaLables:{collapseJson:`collapse JSON`,expandJson:`expand JSON`},stringifyStringValues:!1};WG[`container-dark`],WG[`basic-element-style`],WG[`child-fields-container`],WG[`label-dark`],WG[`clickable-label-dark`],WG[`value-null-dark`],WG[`value-undefined-dark`],WG[`value-string-dark`],WG[`value-boolean-dark`],WG[`value-number-dark`],WG[`value-other-dark`],WG[`punctuation-dark`],WG[`collapse-icon-dark`],WG[`expand-icon-dark`],WG[`collapsed-content-dark`];var KG=()=>!0,qG=e=>e<1,JG=e=>{let{data:t,style:n=GG,shouldExpandNode:r=KG,clickToExpandNode:i=!1,beforeExpandChange:a,compactTopLevel:o,...s}=e,c=(0,g.useRef)(null);return(0,g.createElement)(`div`,Object.assign({"aria-label":`JSON view`},s,{className:n.container,ref:c,role:`tree`}),o&&PG(t)?Object.entries(t).map(e=>{let[t,o]=e;return(0,g.createElement)(UG,{key:t,field:t,value:o,style:{...GG,...n},lastElement:!0,level:1,shouldExpandNode:r,clickToExpandNode:i,beforeExpandChange:a,outerRef:c})}):(0,g.createElement)(UG,{value:t,style:{...GG,...n},lastElement:!0,level:0,shouldExpandNode:r,clickToExpandNode:i,outerRef:c,beforeExpandChange:a}))};function YG(e){return e===`failed`||e===`canceled`||e===`cancelled`||e===`interrupted`?3:e===`completed`?2:+(e===`running`)}function XG(e,t){let n=[...e?.sourceEvents||[],t].sort((e,t)=>e.seqId-t.seqId),r=n[0],i=n[n.length-1],a={...e?.details||{},...t.details},o=t.details.text,s=t.type.startsWith(`reasoning.`),c=t.type.startsWith(`text.`),l=t.category===`assistant`;if((s||c)&&typeof o==`string`){let n=s?`reasoning`:`output`,r=e?.details[n];a[n]=t.type.endsWith(`.delta`)&&t.details.replace!==!0&&typeof r==`string`?r+o:o,a.text=a[n]}t.type===`usage.reported`&&(a.usage={...t.details});let u=YG(t.status)>=YG(e?.status||null)?t.status??e?.status??null:e?.status??null,d=!!(u&&YG(u)>=2)||/\.(end|completed|resolved)$/.test(t.type),f=r.timestamp,p=d?i.timestamp:e?.endedAt??null,m=p!==null&&n.length>1&&p>f?(p-f)*1e3:null;return{...e||t,...t,type:l?`assistant.message`:t.type,summary:l?`Message`:t.summary,status:u,durationMs:t.durationMs??e?.durationMs??m,details:a,sourceEvents:n,firstSeqId:r.seqId,lastSeqId:i.seqId,startedAt:f,endedAt:p}}function ZG(e,t){let n=e.byRecordId.get(t.recordId);if(n===void 0){e.byRecordId.set(t.recordId,e.items.length),e.items.push(XG(void 0,t));return}e.items[n]=XG(e.items[n],t)}function QG(e){return{...e,items:[...e.items],bySeq:new Map(e.bySeq),byRecordId:new Map(e.byRecordId)}}function $G(e=[],t=!1){let n={items:[],bySeq:new Map,byRecordId:new Map,lastSeqId:0,gap:null,hasMore:t,followTail:!0};for(let t of[...e].sort((e,t)=>e.seqId-t.seqId))n.bySeq.has(t.seqId)||(n.bySeq.set(t.seqId,t),ZG(n,t),n.lastSeqId=t.seqId);return n}function eK(e,t,n=!0){if(e.bySeq.has(t.seqId))return e;let r=QG(e);if(r.bySeq.set(t.seqId,t),t.seqId<=r.lastSeqId)return r;if(!n)return ZG(r,t),r.lastSeqId=t.seqId,r.gap=null,r;if(t.seqId>r.lastSeqId+1)return r.gap={afterSeqId:r.lastSeqId,beforeSeqId:t.seqId},r;let i=t;for(;i;)ZG(r,i),r.lastSeqId=i.seqId,i=r.bySeq.get(r.lastSeqId+1);let a=[...r.bySeq.keys()].filter(e=>e>r.lastSeqId).sort((e,t)=>e-t)[0];return r.gap=a===void 0?null:{afterSeqId:r.lastSeqId,beforeSeqId:a},r}function tK(e,t,n){let r=new Map(e.bySeq);for(let e of t)r.has(e.seqId)||r.set(e.seqId,e);let i=$G([...r.values()],n);return i.followTail=e.followTail,i}function nK(e){return e===null||Number.isNaN(e)?`不可用`:e<1e3?`${Math.round(e)} ms`:`${(e/1e3).toFixed(e<1e4?2:1)} s`}function rK(e){return e===`tool`?(0,v.jsx)(xm,{size:15}):e===`assistant`?(0,v.jsx)(Rf,{size:15}):e===`context`?(0,v.jsx)(Vf,{size:15}):e===`user`?(0,v.jsx)(Rp,{size:15}):e===`approval`?(0,v.jsx)(om,{size:15}):e===`artifact`?(0,v.jsx)(_p,{size:15}):(0,v.jsx)(ep,{size:15})}function iK(e){return[oK(e),e.status||`未上报`,nK(e.durationMs)].join(` · `)}function aK(e){return typeof e==`object`&&e&&!Array.isArray(e)?e:{}}function oK(e){let t=e.details.name??e.details.model;return typeof t==`string`&&t?t:e.summary}function sK(e,t){let n=aK(e.details.usage)[t];return typeof n==`number`?String(n):`-`}function cK(e){return{user:`User`,context:`Context`,assistant:`Assistant`,tool:`Tool`,approval:`Approval`,artifact:`Artifact`,system:`System`}[e]}function lK(e){return e.category===`user`||e.category===`context`?`input`:e.category===`assistant`?`model`:e.category===`tool`?`tools`:null}function uK(e,t){let n=new URLSearchParams({limit:`100`});return t&&n.set(`invocationId`,t),`/api/v1/sessions/${encodeURIComponent(e)}/events?${n}`}function dK({record:e}){let[t,n]=(0,g.useState)(e.category===`system`?`source`:`summary`);return(0,v.jsxs)(`div`,{className:`trajectory-detail`,children:[(0,v.jsxs)(`header`,{className:`trajectory-detail-heading`,children:[(0,v.jsx)(`strong`,{children:oK(e)}),(0,v.jsxs)(`span`,{children:[cK(e.category),` · `,e.status||`未上报`]})]}),(0,v.jsx)(`div`,{className:`trajectory-detail-tabs`,role:`tablist`,"aria-label":`节点详情`,children:[`summary`,`preview`,`raw`,`source`].map(e=>(0,v.jsx)(`button`,{type:`button`,role:`tab`,"aria-selected":t===e,onClick:()=>n(e),children:e===`summary`?`Summary`:e===`preview`?`Preview`:e===`raw`?`Raw Events`:`Source`},e))}),t===`summary`&&(0,v.jsxs)(v.Fragment,{children:[(0,v.jsxs)(`section`,{children:[(0,v.jsx)(`h3`,{children:`Timing`}),(0,v.jsx)(`pre`,{children:JSON.stringify({status:e.status,durationMs:e.durationMs,ttftMs:e.details.ttft_ms??null,startedAt:e.startedAt,endedAt:e.endedAt},null,2)})]}),e.details.usage!==void 0&&(0,v.jsxs)(`section`,{children:[(0,v.jsx)(`h3`,{children:`Usage`}),(0,v.jsx)(`pre`,{children:JSON.stringify(e.details.usage,null,2)})]})]}),t===`preview`&&(0,v.jsxs)(v.Fragment,{children:[(0,v.jsxs)(`section`,{children:[(0,v.jsx)(`h3`,{children:`Input`}),(0,v.jsx)(`pre`,{children:JSON.stringify(e.details.args??e.details.input??(e.category===`user`?e.details.text:null),null,2)})]}),(0,v.jsxs)(`section`,{children:[(0,v.jsx)(`h3`,{children:`Output`}),(0,v.jsx)(`pre`,{children:JSON.stringify(e.details.result??e.details.output??null,null,2)})]}),(0,v.jsxs)(`section`,{children:[(0,v.jsx)(`h3`,{children:`Reasoning`}),(0,v.jsx)(`pre`,{children:JSON.stringify(e.details.reasoning??null,null,2)})]})]}),t===`raw`&&(0,v.jsxs)(`section`,{children:[(0,v.jsx)(`h3`,{children:`Raw Events`}),(0,v.jsx)(`pre`,{children:JSON.stringify(e.sourceEvents.map(e=>e.source??e),null,2)})]}),t===`source`&&(0,v.jsxs)(`section`,{children:[(0,v.jsx)(`h3`,{children:`Source`}),(0,v.jsx)(`pre`,{children:JSON.stringify({recordId:e.recordId,eventIds:e.sourceEvents.map(e=>e.eventId),seqIds:e.sourceEvents.map(e=>e.seqId),turnId:e.turnId,stepId:e.stepId},null,2)})]})]})}function fK({sessionId:e,invocationId:t,onSelectionChange:n}){let[r,i]=(0,g.useState)(()=>$G()),[a,o]=(0,g.useState)(!0),[s,c]=(0,g.useState)(!0),[l,u]=(0,g.useState)(!0),[d,f]=(0,g.useState)(!1),[p,m]=(0,g.useState)(null),[h,_]=(0,g.useState)(!0),[y,b]=(0,g.useState)(``),x=(0,g.useRef)(null);(0,g.useEffect)(()=>{let n=!1,r=null;return _(!0),b(``),i($G()),m(null),q(uK(e,t)).then(async e=>{if(!e.ok)throw Error(`轨迹加载失败(${e.status})`);return e.json()}).then(a=>{if(n)return;let o=$G(a.items||[],!!a.page?.hasMore);i(o),_(!1);let s=new URLSearchParams({afterSeqId:String(o.lastSeqId)});t&&s.set(`invocationId`,t),r=new EventSource(`/api/v1/sessions/${encodeURIComponent(e)}/events/stream?${s}`),r.addEventListener(`runtime_event`,e=>{try{let n=JSON.parse(e.data);i(e=>eK(e,n,!t))}catch{b(`实时轨迹包含无法解析的事件`)}})}).catch(e=>{n||(_(!1),b(e instanceof Error?e.message:`轨迹加载失败`))}),()=>{n=!0,r?.close()}},[t,e]),(0,g.useEffect)(()=>{if(!r.gap)return;let n=!1,a=r.gap,o=new URLSearchParams({limit:`500`,beforeSeqId:String(a.beforeSeqId)});return t&&o.set(`invocationId`,t),q(`/api/v1/sessions/${encodeURIComponent(e)}/events?${o}`).then(e=>{if(!e.ok)throw Error(`轨迹补拉失败(${e.status})`);return e.json()}).then(e=>{if(n)return;let t=(e.items||[]).filter(e=>e.seqId>a.afterSeqId).sort((e,t)=>e.seqId-t.seqId);i(e=>t.reduce((e,t)=>eK(e,t),e))}).catch(()=>{n||b(`实时轨迹存在序号缺口,补拉失败`)}),()=>{n=!0}},[t,e,r.gap]),(0,g.useEffect)(()=>{let e=x.current;e&&r.followTail&&(e.scrollTop=e.scrollHeight)},[r.followTail,r.items]);let S=(0,g.useCallback)(async()=>{let n=Math.min(...r.bySeq.keys());if(!Number.isFinite(n))return;let a=new URLSearchParams({limit:`100`,beforeSeqId:String(n)});t&&a.set(`invocationId`,t);let o=await q(`/api/v1/sessions/${encodeURIComponent(e)}/events?${a}`);if(!o.ok){b(`更早轨迹加载失败`);return}let s=await o.json();i(e=>tK(e,s.items||[],s.page.hasMore))},[t,e,r.bySeq]),C=(0,g.useMemo)(()=>{let e=new Map,t=new Map;for(let n of r.items){if(n.recordId.startsWith(`turn:`)&&n.turnId){let t=n.details.turn_index;e.set(n.turnId,typeof t==`number`?`Turn ${t}`:n.summary)}if(n.recordId.startsWith(`step:`)&&n.stepId){let e=n.details.step_index;t.set(n.stepId,typeof e==`number`?`Step ${e}`:n.summary)}}let n=r.items.filter(e=>e.category!==`system`),i=l?n:n.filter(e=>e.category!==`tool`),a=new Map;for(let t of i){let n=t.turnId||`run`,r=t.turnId?e.get(t.turnId)||`Turn`:`Run`,i=a.get(n)||{id:n,label:r,items:[]};i.items.push(t),a.set(n,i)}let o=Math.max(0,...r.items.map(e=>e.durationMs||0));return{groups:[...a.values()],semanticItems:n,systemItems:r.items.filter(e=>e.category===`system`),steps:t,turns:e.size,hasUsage:n.some(e=>Object.keys(aK(e.details.usage)).length>0),duration:o,calls:n.filter(e=>e.category===`tool`).length}},[l,r.items]),w=p&&r.items.find(e=>e.recordId===p)||null;(0,g.useEffect)(()=>{n?.(w)},[n,w]);let T=(0,g.useMemo)(()=>{let e=C.semanticItems.filter(e=>lK(e)&&(l||e.category!==`tool`)),t=Math.min(...e.map(e=>e.startedAt)),n=Math.max(...e.map(e=>e.endedAt??e.startedAt));return{items:e,start:t,span:Math.max(n-t,.001)}},[l,C.semanticItems]);return(0,v.jsxs)(`section`,{className:`trajectory-view`,"aria-label":`实时轨迹`,children:[(0,v.jsxs)(`header`,{className:`trajectory-toolbar`,children:[(0,v.jsxs)(`div`,{className:`segmented-control`,"aria-label":`轨迹显示控制`,children:[(0,v.jsx)(`button`,{type:`button`,className:a?`selected`:``,"aria-pressed":a,disabled:T.items.length<=1,onClick:()=>o(e=>!e),children:`Duration`}),(0,v.jsx)(`button`,{type:`button`,className:s?`selected`:``,"aria-pressed":s,onClick:()=>c(e=>!e),children:`Turns`}),(0,v.jsx)(`button`,{type:`button`,className:l?`selected`:``,"aria-pressed":l,disabled:C.calls===0,onClick:()=>u(e=>!e),children:`Calls`})]}),(0,v.jsxs)(`strong`,{className:`trajectory-summary-value`,children:[C.turns,` Turn · `,C.calls,` Call · `,nK(C.duration)]}),r.hasMore&&(0,v.jsxs)(`button`,{className:`button tertiary small`,type:`button`,onClick:()=>void S(),children:[(0,v.jsx)(Xf,{size:14}),(0,v.jsx)(`span`,{children:`加载更早`})]})]}),y&&(0,v.jsx)(`div`,{className:`trajectory-status error`,children:y}),h&&(0,v.jsx)(`div`,{className:`trajectory-status`,children:`正在读取轨迹...`}),!h&&!C.semanticItems.length&&!C.systemItems.length&&(0,v.jsx)(`div`,{className:`trajectory-status`,children:`当前 Session 没有轨迹事件。`}),!!T.items.length&&(0,v.jsx)(`div`,{className:`trajectory-timeline`,"aria-label":`轨迹时间带`,"data-mode":a?`duration`:`equal`,children:[`input`,`model`,`tools`].map(e=>(0,v.jsxs)(`div`,{className:`trajectory-lane`,children:[(0,v.jsx)(`span`,{children:e===`input`?`Input`:e===`model`?`Model`:`Tools`}),(0,v.jsx)(`div`,{children:T.items.filter(t=>lK(t)===e).map((e,t,n)=>{let r=a?(e.startedAt-T.start)/T.span*100:t/Math.max(n.length,1)*100,i=a?Math.max(2,((e.endedAt??e.startedAt)-e.startedAt)/T.span*100):100/Math.max(n.length,1);return(0,v.jsx)(`i`,{"data-category":e.category,title:oK(e),style:{left:`${r}%`,width:`${Math.min(i,100-r)}%`}},e.recordId)})})]},e))}),(0,v.jsxs)(`div`,{ref:x,className:`trajectory-ledger`,role:`log`,"aria-label":`轨迹事件`,onScroll:e=>{let t=e.currentTarget,n=t.scrollHeight-t.scrollTop-t.clientHeight<48;i(e=>e.followTail===n?e:{...e,followTail:n})},children:[!!C.semanticItems.length&&(0,v.jsxs)(`div`,{className:`trajectory-column-header`,"data-usage":C.hasUsage,"aria-hidden":`true`,children:[(0,v.jsx)(`span`,{children:`Event`}),C.hasUsage&&(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(`span`,{children:`Input Tokens`}),(0,v.jsx)(`span`,{children:`Output Tokens`}),(0,v.jsx)(`span`,{children:`Think`})]}),(0,v.jsx)(`span`,{children:`Time`})]}),C.groups.map(e=>(0,v.jsxs)(g.Fragment,{children:[(0,v.jsxs)(`div`,{className:`trajectory-turn-header`,children:[(0,v.jsx)(`strong`,{children:e.label}),(0,v.jsxs)(`span`,{children:[e.items.length,` nodes`]})]}),s&&e.items.map((t,n)=>{let r=t.stepId?C.steps.get(t.stepId)||`Step`:``,i=n>0?e.items[n-1]:null,a=i?.stepId?C.steps.get(i.stepId)||`Step`:``;return(0,v.jsxs)(g.Fragment,{children:[r&&r!==a&&(0,v.jsxs)(`div`,{className:`trajectory-group-label`,children:[e.label,` · `,r]}),(0,v.jsxs)(`button`,{type:`button`,className:`trajectory-row`,"data-usage":C.hasUsage,"data-category":t.category,"data-status":t.status||`unknown`,"aria-pressed":t.recordId===p,"aria-label":iK(t),onClick:()=>m(t.recordId),children:[(0,v.jsx)(`span`,{className:`trajectory-row-icon`,children:rK(t.category)}),(0,v.jsxs)(`span`,{className:`trajectory-row-copy`,children:[(0,v.jsx)(`strong`,{children:oK(t)}),(0,v.jsxs)(`small`,{children:[cK(t.category),` · `,t.status||`未上报`]})]}),C.hasUsage&&(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(`span`,{className:`trajectory-row-metric`,children:sK(t,`input_tokens`)}),(0,v.jsx)(`span`,{className:`trajectory-row-metric`,children:sK(t,`output_tokens`)}),(0,v.jsx)(`span`,{className:`trajectory-row-metric`,children:sK(t,`reasoning_tokens`)})]}),(0,v.jsx)(`span`,{className:`trajectory-row-duration`,children:nK(t.durationMs)})]})]},t.recordId)})]},e.id)),!!C.systemItems.length&&(0,v.jsxs)(`div`,{className:`trajectory-system-events`,children:[(0,v.jsxs)(`button`,{type:`button`,onClick:()=>f(e=>!e),"aria-expanded":d,children:[(0,v.jsx)(Mf,{size:14}),`System Events (`,C.systemItems.length,`)`]}),d&&C.systemItems.map(e=>(0,v.jsxs)(`button`,{type:`button`,className:`trajectory-system-row`,"aria-pressed":e.recordId===p,onClick:()=>m(e.recordId),children:[e.type,` · #`,e.lastSeqId]},e.recordId))]})]}),!r.followTail&&(0,v.jsx)(`button`,{className:`button secondary small trajectory-latest`,type:`button`,onClick:()=>{let e=x.current;e&&(e.scrollTop=e.scrollHeight),i(e=>({...e,followTail:!0}))},children:`回到最新`})]})}function pK(e,t=18){let n=String(e||``);return n.length>t?`${n.slice(0,t)}…`:n}function mK(e,t=`-`){return e==null||e===``?t:String(e)}function hK(e){let t=String(e||``).toUpperCase();return t===`COMPLETED`||t===`SUCCEEDED`||t===`OK`?`成功`:t===`RUNNING`?`运行中`:t===`PAUSED`?`已暂停`:t===`FAILED`||t===`ERROR`||t===`INTERNAL`?`失败`:t===`CANCELLED`?`已取消`:t||`未知`}function gK(e){if(e==null||Number.isNaN(Number(e)))return`未上报`;let t=Number(e);return t<1?`${t.toFixed(3)} ms`:t<1e3?`${Math.round(t)} ms`:`${(t/1e3).toFixed(t<1e4?2:1)} s`}function _K(e){return e==null?`未上报`:new Intl.NumberFormat(`zh-CN`).format(Number(e))}function vK(e){if(e==null||typeof e==`boolean`)return null;let t=Number(e);return Number.isFinite(t)&&t>=0?t:null}function yK(e){let t=vK(e.totalTokens);if(t!==null&&e.usageCompleteness?.totalTokens!==!1)return t;let n=vK(e.inputTokens),r=vK(e.outputTokens);return n!==null&&r!==null&&e.usageCompleteness?.inputTokens!==!1&&e.usageCompleteness?.outputTokens!==!1?n+r:null}function bK(e){return[e.inputTokens,e.outputTokens,e.totalTokens].some(e=>vK(e)!==null)}function xK(e){let t=yK(e);return t===null?bK(e)?`部分上报`:`未上报`:_K(t)}function SK(e){let t=vK(e.inputTokens),n=vK(e.outputTokens);return`${t===null?`—`:`${e.usageCompleteness?.inputTokens===!1?`≥`:``}${_K(t)}`} 输入 · ${n===null?`—`:`${e.usageCompleteness?.outputTokens===!1?`≥`:``}${_K(n)}`} 输出`}function CK(e){let t=yK(e);if(t!==null)return _K(t);if(vK(e.totalTokens)!==null)return`部分上报`;let n=vK(e.inputTokens),r=vK(e.outputTokens);return n!==null&&r!==null||n!==null&&e.usageCompleteness?.inputTokens===!1||r!==null&&e.usageCompleteness?.outputTokens===!1?`部分上报`:n===null?r===null?`未上报`:`${_K(r)} 输出`:`${_K(n)} 输入`}function wK(e){try{let t=Number(BigInt(String(e||`0`))/1000000n);return t?new Date(t).toISOString():`-`}catch{return`-`}}function TK(e){if(!e)return`刚刚`;let t=new Date(e);return Number.isNaN(t.getTime())?`未知时间`:new Intl.DateTimeFormat(`zh-CN`,{month:`2-digit`,day:`2-digit`,hour:`2-digit`,minute:`2-digit`}).format(t)}function EK(e){try{return JSON.stringify(e,(e,t)=>typeof t==`bigint`?t.toString():t,2)}catch{return String(e)}}function DK(e){return e==null?`-`:typeof e==`object`?EK(e):String(e)}var OK={container:`otlp-json`,childFieldsContainer:`otlp-json-children`,basicChildStyle:`otlp-json-row`,collapseIcon:`otlp-json-toggle otlp-json-collapse`,expandIcon:`otlp-json-toggle otlp-json-expand`,collapsedContent:`otlp-json-collapsed`,label:`otlp-json-key`,clickableLabel:`otlp-json-key otlp-json-key-clickable`,nullValue:`otlp-json-null`,undefinedValue:`otlp-json-null`,numberValue:`otlp-json-number`,stringValue:`otlp-json-string`,booleanValue:`otlp-json-boolean`,otherValue:`otlp-json-other`,punctuation:`otlp-json-punctuation`,quotesForFieldNames:!0,stringifyStringValues:!0,ariaLables:{collapseJson:`收起 JSON 节点`,expandJson:`展开 JSON 节点`}},kK=[`agentkit.event.text`,`agentkit.event.delta`,`agentkit.event.content`,`agentkit.event.output`,`agentkit.event.args`,`agentkit.event.command`,`agentkit.event.input`,`agentkit.event.prompt`];function AK(e){if(!e)return``;for(let t of kK){let n=e[t];if(typeof n==`string`&&n.trim())return n;if(typeof n==`number`||typeof n==`boolean`)return String(n)}return``}function jK(e){let t=[],n=``,r=null,i=0,a=(e=!1)=>{r&&n.trim()&&t.push({kind:r,text:n,segments:i,final:e}),n=``,i=0},o={};for(let t of e||[]){let e=AK(t.attributes);if(t.name===`thinking.delta`||t.name===`message.delta`){let o=t.name===`thinking.delta`?`thinking`:`message`;r!==o&&(a(),r=o),n+=e,i+=1}else if(t.name===`thinking.completed`||t.name===`message.completed`){let n=t.name===`thinking.completed`?`thinking`:`message`;e&&(o[n]=e)}}a();for(let e of[`thinking`,`message`]){let n=o[e];if(!n)continue;let r=t.findIndex(t=>t.kind===e);r>=0?t[r]={kind:e,text:n,segments:t[r].segments,final:!0}:t.push({kind:e,text:n,segments:1,final:!0})}return t}async function MK(e){try{await navigator.clipboard.writeText(e);return}catch{}let t=document.createElement(`textarea`);t.value=e,document.body.appendChild(t),t.select();try{document.execCommand(`copy`)}catch{}t.remove()}function NK({text:e,className:t}){let[n,r]=(0,g.useState)(!1);return(0,v.jsx)(`button`,{type:`button`,className:`copy-btn ${t||``}`,title:`复制`,onClick:t=>{t.stopPropagation(),MK(e),r(!0),setTimeout(()=>r(!1),1500)},children:n?(0,v.jsx)(Kf,{size:12,style:{color:`var(--success)`}}):(0,v.jsx)(up,{size:12})})}function PK({label:e,text:t,tone:n,icon:r,meta:i}){let[a,o]=(0,g.useState)(!1),s=t.length>600,c=a||!s?t:`${t.slice(0,600)}…`;return(0,v.jsxs)(`div`,{className:`io-block io-${n}`,children:[(0,v.jsxs)(`div`,{className:`io-head`,children:[(0,v.jsxs)(`span`,{className:`io-label`,children:[r,e]}),i&&(0,v.jsx)(`span`,{className:`io-meta`,children:i}),(0,v.jsx)(`span`,{style:{flex:1}}),(0,v.jsx)(NK,{text:t,className:`copy-visible`})]}),(0,v.jsx)(`div`,{className:`io-text`,children:c}),s&&(0,v.jsx)(`button`,{type:`button`,className:`io-expand`,onClick:()=>o(!a),children:a?`收起`:`展开全文(${t.length} 字符)`})]})}function FK({span:e}){let t=e.attributes||{},n=t[`agentkit.tool.input`],r=t[`agentkit.tool.output`],i=jK(e.events||[]);return n!=null&&n!==``||r!=null&&r!==``||i.length>0?(0,v.jsxs)(`div`,{className:`io-stack`,children:[n!=null&&n!==``&&(0,v.jsx)(PK,{label:`工具输入`,text:DK(n),tone:`tool`}),r!=null&&r!==``&&(0,v.jsx)(PK,{label:`工具输出`,text:DK(r),tone:`tool`}),i.map((e,t)=>(0,v.jsx)(PK,{label:e.kind===`message`?`模型输出`:`思考过程`,text:e.text,tone:e.kind,icon:e.kind===`message`?(0,v.jsx)(Rp,{size:12}):(0,v.jsx)(Uf,{size:12}),meta:e.final?`完整`:`${e.segments} 段增量`},t))]}):(0,v.jsx)(`div`,{className:`trace-stage-empty compact`,children:(0,v.jsx)(`p`,{children:`该 Span 没有捕获内容(可在 设置 → 可观测 开启 Trace 内容记录)。`})})}function IK({values:e}){let t=Object.entries(e||{}).sort(([e],[t])=>e.localeCompare(t));return t.length?(0,v.jsx)(`dl`,{className:`trace-kv-list`,children:t.map(([e,t])=>(0,v.jsxs)(`div`,{className:`trace-kv-row`,children:[(0,v.jsx)(`dt`,{className:`trace-kv-key`,children:e}),(0,v.jsx)(`dd`,{className:`trace-kv-value`,children:DK(t)}),(0,v.jsx)(NK,{text:DK(t),className:`trace-kv-copy`})]},e))}):(0,v.jsx)(`div`,{className:`trace-stage-empty compact`,children:(0,v.jsx)(`p`,{children:`没有可展示的字段。`})})}var LK=[{id:`spans`,label:`概览`},{id:`trajectory`,label:`轨迹`},{id:`attributes`,label:`属性`},{id:`events`,label:`事件`},{id:`resource`,label:`资源`},{id:`raw`,label:`原始数据`}],RK=10;function zK({refreshTick:e}){let[t,n]=(0,g.useState)([]),[r,i]=(0,g.useState)([]),[a,o]=(0,g.useState)(``),[s,c]=(0,g.useState)(``),[l,u]=(0,g.useState)(``),[d,f]=(0,g.useState)(`24h`),[p,m]=(0,g.useState)(null),[h,_]=(0,g.useState)(null),[y,b]=(0,g.useState)(null),[x,S]=(0,g.useState)(`spans`),[C,w]=(0,g.useState)(null),[T,E]=(0,g.useState)(null),[D,O]=(0,g.useState)(!1),[k,A]=(0,g.useState)(!0),[j,M]=(0,g.useState)(!1),[N,P]=(0,g.useState)(!1),[F,I]=(0,g.useState)(0),[ee,L]=(0,g.useState)([null]),[te,R]=(0,g.useState)(null),[z,ne]=(0,g.useState)(0),[re,ie]=(0,g.useState)(!0),[ae,B]=(0,g.useState)(``),[V,H]=(0,g.useState)(``),oe=(0,g.useRef)(0),se=(0,g.useRef)(0),ce=(0,g.useRef)(e);(0,g.useEffect)(()=>{q(`/api/v1/agents?limit=100`).then(e=>e.json()).then(e=>{i((e.items||[]).map(e=>({id:e.metadata.id,name:e.metadata.name,appearance:e.metadata.appearance})))}).catch(()=>{})},[e]);let le=(0,g.useCallback)(async(e,t=!1)=>{let n=++oe.current;try{let r=await q(`/api/v1/traces/${encodeURIComponent(e)}`);if(!r.ok)throw Error(`调用详情加载失败(${r.status}),请重试。`);let i=await r.json();if(oe.current!==n)return;H(``),_(i),b(e=>t&&i.spans?.some(t=>t.spanId===e)?e:i.rootSpanId||i.spans?.[0]?.spanId||null),E(null),t||(S(`spans`),w(null),A(!0),M(!1),P(!1))}catch(e){oe.current===n&&H(e instanceof Error?e.message:`调用详情加载失败,请重试。`)}},[]);(0,g.useEffect)(()=>{ce.current!==e&&(ce.current=e,h?.traceId&&le(h.traceId,!0))},[h?.traceId,le,e]);let ue=(0,g.useCallback)(async e=>{let t=++se.current,r=new URLSearchParams({limit:String(RK),sort:`startedAt:desc`});s&&r.set(`agentId`,s),l&&r.set(`status`,l),a.trim()&&r.set(`query`,a.trim()),e&&r.set(`cursor`,e),ie(!0),B(``);try{let e=await q(`/api/v1/traces?${r}`);if(!e.ok)throw Error(`Trace 列表加载失败(${e.status})`);let i=await e.json();if(se.current!==t)return;let a=i.items||[];n(a),R(i.nextCursor||null),ne(Number(i.total)||0)}catch(e){if(se.current!==t)return;n([]),R(null),ne(0),B(e instanceof Error?e.message:`Trace 列表加载失败`)}finally{se.current===t&&ie(!1)}},[s,a,l]);(0,g.useEffect)(()=>{L([null]),I(0),ue(null)},[ue,e]),(0,g.useEffect)(()=>{let e=new URLSearchParams({range:d});s&&e.set(`agentId`,s),l&&e.set(`status`,l),q(`/api/v1/traces/overview?${e}`).then(e=>e.ok?e.json():Promise.reject(Error())).then(m).catch(()=>m(null))},[s,d,e,l]),(0,g.useEffect)(()=>{if(x!==`raw`||!h||T)return;let e=h.traceId,t=!1;return O(!0),q(`/api/v1/traces/${encodeURIComponent(e)}/otlp`).then(e=>{if(!e.ok)throw Error();return e.json()}).then(e=>{t||(E(e),O(!1))}).catch(()=>{t||O(!1)}),()=>{t=!0}},[x,h,T]);let de=h?.spans?.find(e=>e.spanId===y)||null,U=(0,g.useMemo)(()=>{let e=h?.spans||[],t=new Map;e.forEach(e=>{let n=e.parentSpanId||``;t.has(n)||t.set(n,[]),t.get(n).push(e)}),t.forEach(e=>e.sort((e,t)=>{try{return Number(BigInt(e.startTimeUnixNano||`0`)-BigInt(t.startTimeUnixNano||`0`))}catch{return 0}}));let n=[],r=new Set,i=(e,a)=>{!e||r.has(e.spanId)||(r.add(e.spanId),n.push({span:e,depth:a}),(t.get(e.spanId)||[]).forEach(e=>i(e,a+1)))};return i(e.find(e=>e.spanId===h?.rootSpanId)||e.find(e=>!e.parentSpanId),0),e.forEach(e=>i(e,+!!e.parentSpanId)),n},[h]),fe=U.find(e=>e.span.spanId===h?.rootSpanId)?.span||U[0]?.span,pe=(0,g.useMemo)(()=>{if(!fe)return{start:0n,duration:1};try{let e=BigInt(fe.startTimeUnixNano||`0`),t=BigInt(fe.endTimeUnixNano||fe.startTimeUnixNano||`0`);return{start:e,duration:Number(t>e?t-e:1n)}}catch{return{start:0n,duration:1}}},[fe]),me=h?.metrics||{durationMs:h?.durationMs,inputTokens:h?.inputTokens,outputTokens:h?.outputTokens,totalTokens:h?.totalTokens,usageReported:h?.usageReported},he=r.find(e=>e.id===h?.agentId),ge=(0,g.useMemo)(()=>[{id:`status`,className:`trace-column--status`,header:`状态`,width:130,cell:e=>(0,v.jsxs)(`span`,{className:`trace-table-status ${e.status}`,title:e.status,children:[(0,v.jsx)(`span`,{className:`trace-list-status ${e.status}`}),hK(e.status)]})},{id:`identity`,className:`trace-column--identity`,header:`Agent / Run`,minWidth:270,cell:e=>{let t=r.find(t=>t.id===e.agentId),n=t?.name||e.agentId||`unknown-agent`;return(0,v.jsxs)(`button`,{type:`button`,className:`trace-table-open trace-table-agent`,onClick:()=>le(e.traceId),children:[(0,v.jsx)(vb,{name:n,appearance:t?.appearance,size:`xs`}),(0,v.jsxs)(`span`,{children:[(0,v.jsx)(`strong`,{children:n}),(0,v.jsx)(`small`,{children:pK(e.runId||e.traceId,32)})]})]})}},{id:`startedAt`,className:`trace-column--startedAt`,header:`开始时间`,minWidth:140,cell:e=>TK(e.startedAt)},{id:`duration`,className:`trace-column--duration`,header:`耗时`,width:110,cell:e=>gK(e.durationMs)},{id:`model`,className:`trace-column--model`,header:`模型`,minWidth:140,cell:e=>e.model||`-`},{id:`tokens`,className:`trace-column--tokens`,header:`Token`,width:110,cell:e=>CK(e)},{id:`spans`,className:`trace-column--spans`,header:`Span`,width:80,cell:e=>e.spanCount||0},{id:`actions`,header:(0,v.jsx)(`span`,{className:`sr-only`,children:`操作`}),width:110,className:`actions-column`,headerClassName:`actions-column`,cell:e=>(0,v.jsx)(`button`,{type:`button`,className:`button tertiary small`,onClick:()=>le(e.traceId),children:`查看详情`})}],[r,le]),_e=(0,g.useCallback)(()=>{if(h?.traceId){le(h.traceId);return}ue(ee[F]||null)},[h?.traceId,ee,F,ue,le]),ve=(0,g.useCallback)(()=>{if(F<=0)return;let e=F-1;I(e),ue(ee[e]||null)},[ee,F,ue]),ye=(0,g.useCallback)(()=>{if(!te)return;let e=F+1;L(t=>{let n=t.slice(0,e);return n[e]=te,n}),I(e),ue(te)},[F,ue,te]);async function be(){!h?.traceId||!h.rootSpanId||(await MK(`00-${h.traceId}-${h.rootSpanId}-01`),CL(`traceparent 已复制`,pK(h.traceId,24)))}async function xe(){if(!h)return;let e=T;e||(e=await q(`/api/v1/traces/${encodeURIComponent(h.traceId)}/otlp`).then(e=>e.json()).catch(()=>null),e&&E(e)),e&&(await MK(JSON.stringify(e,null,2)),CL(`Raw OTLP 已复制`,pK(h.traceId,24)))}async function Se(){if(!h?.sessionId)return;let e=window.showSaveFilePicker;if(!e){CL(`浏览器不支持导出`,`请使用支持文件保存的 Chromium 浏览器。`,`error`);return}let t;try{t=await e({suggestedName:`${h.sessionId}-${h.runId||`session`}-session-log.jsonl`,types:[{description:`Session Log`,accept:{"application/x-ndjson":[`.jsonl`]}}]})}catch(e){if(e instanceof DOMException&&e.name===`AbortError`)return;CL(`Session Log 导出失败`,e instanceof Error?e.message:`无法选择保存位置`,`error`);return}try{let e=await q(`/api/v1/sessions/${encodeURIComponent(h.sessionId)}:export`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({filename:t.name,invocationId:h.runId||void 0,download:!0})});if(!e.ok)throw Error(`导出失败(${e.status})`);let n=await t.createWritable();await n.write(await e.blob()),await n.close();let r=e.headers.get(`X-Session-Event-Count`)||`0`;CL(`Session Log 已导出`,`${t.name} · ${r} 条事件`)}catch(e){CL(`Session Log 导出失败`,e instanceof Error?e.message:`未知错误`,`error`)}}return(0,v.jsxs)(`div`,{className:`page-container observability-page`,id:`traceExplorer`,"data-layout":`workbench`,"data-scroll-mode":`workbench`,children:[!h&&(0,v.jsxs)(`div`,{className:`trace-query-tools`,children:[(0,v.jsxs)(`div`,{className:`search-field header-search-field`,children:[(0,v.jsx)(nm,{size:14}),(0,v.jsx)(`input`,{type:`search`,"aria-label":`搜索 Trace、Run 或 Session`,placeholder:`搜索 Trace、Run 或 Session`,value:a,onChange:e=>o(e.target.value)})]}),(0,v.jsxs)(`div`,{className:`segmented-control compact`,"aria-label":`可观测时间范围`,children:[(0,v.jsx)(`button`,{type:`button`,className:d===`24h`?`selected`:``,onClick:()=>f(`24h`),children:`24 小时`}),(0,v.jsx)(`button`,{type:`button`,className:d===`7d`?`selected`:``,onClick:()=>f(`7d`),children:`7 天`})]})]}),h&&(0,v.jsxs)(FT,{children:[(0,v.jsxs)(`button`,{className:`button tertiary`,type:`button`,onClick:()=>void Se(),children:[(0,v.jsx)(Mf,{size:15}),(0,v.jsx)(`span`,{children:`导出 Session Log`})]}),(0,v.jsxs)(`button`,{className:`button tertiary`,type:`button`,onClick:()=>{oe.current+=1,_(null),H(``),b(null),M(!1),P(!1)},children:[(0,v.jsx)(Nf,{size:15}),(0,v.jsx)(`span`,{children:`返回 Trace 列表`})]}),(0,v.jsx)(MT,{label:`调用详情操作`,items:[{label:`复制 traceparent`,onSelect:()=>void be()},{label:`复制 Raw OTLP`,onSelect:()=>void xe()}]})]}),(0,v.jsxs)(`div`,{className:`data-page-body observability-body`,children:[V&&(0,v.jsx)(`p`,{className:`studio-field-error`,role:`alert`,children:V}),!h&&(0,v.jsx)(BK,{overview:p,range:d}),!h&&(0,v.jsxs)(`div`,{className:`trace-toolbar`,"aria-label":`Trace 筛选`,children:[(0,v.jsx)(Wk,{className:`compact-select`,ariaLabel:`按 Agent 筛选`,value:s||`__all__`,options:[{value:`__all__`,label:`全部 Agent`},...r.map(e=>({value:e.id,label:e.name}))],onValueChange:e=>c(e===`__all__`?``:e)}),(0,v.jsx)(Wk,{className:`compact-select`,ariaLabel:`按状态筛选`,value:l||`__all__`,options:[{value:`__all__`,label:`全部状态`},{value:`COMPLETED`,label:`成功`},{value:`FAILED`,label:`失败`},{value:`CANCELLED`,label:`已取消`}],onValueChange:e=>u(e===`__all__`?``:e)})]}),h&&(0,v.jsxs)(`section`,{className:`stat-strip compact-summary`,"aria-label":`Trace 指标`,children:[(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`span`,{children:`Trace 状态`}),(0,v.jsx)(`strong`,{children:h?hK(h.status):`未选择`}),(0,v.jsx)(`small`,{children:h?`${h.spans?.length||0} Span · ${h.target?.name||`本地工作区`}`:`选择一条 Trace 查看`})]}),(0,v.jsxs)(`div`,{className:`emphasis`,"data-state":h?.status===`FAILED`?`failed`:h?.status===`COMPLETED`?`ready`:`running`,children:[(0,v.jsx)(`span`,{children:`总耗时`}),(0,v.jsx)(`strong`,{children:h?gK(me.durationMs):`未上报`}),(0,v.jsx)(`small`,{children:h?me.durationMs===null||me.durationMs===void 0?`Runtime 未上报`:me.durationSource===`runtime`?`Runtime 精确上报`:`Studio 时钟回退`:`等待 Runtime 上报`})]}),(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`span`,{children:`Token`}),(0,v.jsx)(`strong`,{children:h?xK(me):`未上报`}),(0,v.jsx)(`small`,{children:h&&bK(me)?SK(me):`输入 / 输出`})]}),(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`span`,{children:`模型`}),(0,v.jsx)(`strong`,{children:h?.model||`-`}),(0,v.jsx)(`small`,{children:h?`${h.runtimeType||`unknown`} · ${me.usageSource||`Usage 未上报`}`:`Runtime`})]})]}),!h&&(0,v.jsxs)(`section`,{className:`trace-list-page`,"aria-label":`Trace 列表`,children:[(0,v.jsx)(`header`,{className:`trace-list-page-header`,children:(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`strong`,{children:`Trace`}),(0,v.jsxs)(`span`,{children:[z,` 条`]})]})}),(0,v.jsx)(kO,{columns:ge,data:t,getRowId:e=>e.traceId,caption:`Trace 列表`,minWidth:1060,loading:re,error:ae,onRetry:_e,onRowActivate:e=>le(e.traceId),rowAriaLabel:e=>`${e.agentId||`Agent`} ${e.runId||e.traceId}`,empty:{icon:(0,v.jsx)(jf,{size:20}),title:`还没有 Trace`,description:`运行一次 Agent 后在这里查看调用链,或调整筛选条件。`},pagination:{pageIndex:F,pageSize:RK,total:z,hasNextPage:!!te,onPreviousPage:ve,onNextPage:ye}})]}),h&&(0,v.jsxs)(`div`,{className:`trace-workbench detail-route${j?` detail-expanded`:``}${N?` detail-collapsed`:``}`,children:[(0,v.jsxs)(`aside`,{className:`trace-run-panel`,"aria-label":`本页 Trace`,children:[(0,v.jsx)(`div`,{className:`trace-panel-header`,children:(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`strong`,{children:`Traces`}),(0,v.jsxs)(`span`,{children:[z,` 条结果`]})]})}),(0,v.jsx)(`div`,{className:`trace-run-list`,children:t.map(e=>{let t=r.find(t=>t.id===e.agentId);return(0,v.jsxs)(`button`,{type:`button`,className:e.traceId===h.traceId?`active`:``,onClick:()=>le(e.traceId),children:[(0,v.jsxs)(`span`,{className:`trace-run-identity`,children:[(0,v.jsx)(vb,{name:t?.name||e.agentId||`Agent`,appearance:t?.appearance,size:`xs`}),(0,v.jsxs)(`span`,{children:[(0,v.jsx)(`strong`,{children:t?.name||e.agentId||`Agent`}),(0,v.jsx)(`small`,{children:pK(e.runId||e.traceId,22)})]})]}),(0,v.jsxs)(`span`,{className:`trace-run-meta`,children:[(0,v.jsx)(`span`,{className:`mono`,children:gK(e.durationMs)}),(0,v.jsx)(`span`,{className:`badge`,"data-state":e.status===`FAILED`?`failed`:e.status===`COMPLETED`?`ready`:`running`,title:e.status,children:hK(e.status)})]})]},e.traceId)})})]}),(0,v.jsxs)(`section`,{className:`trace-span-panel`,"aria-label":`Span 时间瀑布`,children:[(0,v.jsxs)(`div`,{className:`trace-panel-header trace-span-header`,children:[(0,v.jsx)(vb,{name:he?.name||h.agentId||`Agent`,appearance:he?.appearance,size:`sm`}),(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`strong`,{children:h?`${he?.name||h.agentId||`Agent`} · ${h.runId||`Run`}`:`选择一条 Trace`}),(0,v.jsx)(`span`,{className:`mono`,children:h?.traceId||`-`})]}),N&&(0,v.jsxs)(`button`,{className:`button secondary small trace-detail-reopen`,type:`button`,onClick:()=>P(!1),children:[(0,v.jsx)(Xf,{size:14}),(0,v.jsx)(`span`,{children:`展开右侧详情`})]})]}),(0,v.jsxs)(`div`,{className:`trace-axis`,"aria-hidden":`true`,children:[(0,v.jsx)(`span`,{children:`Span`}),(0,v.jsx)(`span`,{children:`0%`}),(0,v.jsx)(`span`,{children:`50%`}),(0,v.jsx)(`span`,{children:`100%`}),(0,v.jsx)(`span`,{children:`耗时`})]}),(0,v.jsx)(`div`,{className:`trace-span-tree`,children:U.length===0?(0,v.jsxs)(`div`,{className:`trace-stage-empty`,children:[(0,v.jsx)(Up,{size:20}),(0,v.jsx)(`p`,{children:h?`该 OTLP Trace 没有 Span。`:`选择左侧 Trace,查看 Agent、模型和 Tool 的父子关系与耗时。`})]}):U.map(({span:e,depth:t})=>{let n=0,r=0;try{let t=BigInt(e.startTimeUnixNano||`0`),i=BigInt(e.endTimeUnixNano||e.startTimeUnixNano||`0`);n=Math.max(0,Math.min(100,Number(t-pe.start)/pe.duration*100)),r=Math.max(0,Math.min(100-n,Number(i-t)/pe.duration*100))}catch{}return(0,v.jsxs)(`button`,{type:`button`,className:`trace-span-row${e.spanId===y?` active`:``}`,"data-kind":e.kind,"data-status":e.status,onClick:()=>{b(e.spanId),S(`spans`)},children:[(0,v.jsxs)(`span`,{className:`trace-span-name`,children:[(0,v.jsx)(`span`,{className:`trace-span-guides`,children:Array.from({length:t},(e,t)=>(0,v.jsx)(`span`,{className:`trace-span-guide`},t))}),(0,v.jsx)(`span`,{className:`trace-span-status ${e.status}`}),(0,v.jsxs)(`span`,{className:`trace-span-name-copy`,children:[(0,v.jsx)(`strong`,{children:e.name}),(0,v.jsxs)(`span`,{children:[e.kind,` · `,pK(e.spanId,16)]})]})]}),(0,v.jsx)(`span`,{className:`trace-waterfall-track`,children:(0,v.jsx)(`span`,{className:`trace-waterfall-bar`,style:{"--span-left":`${n.toFixed(3)}%`,"--span-width":`${r.toFixed(3)}%`}})}),(0,v.jsx)(`span`,{className:`trace-span-duration`,children:gK(e.durationMs)})]},e.spanId)})})]}),(0,v.jsxs)(`aside`,{className:`trace-detail-panel${N?` is-collapsed`:``}`,"aria-label":`Span 详情`,children:[(0,v.jsxs)(`div`,{className:`trace-panel-header`,children:[(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`strong`,{children:de?mK(de.name):`Span 详情`}),(0,v.jsx)(`span`,{children:de?`${mK(de.kind)} · ${hK(de.status)}`:`尚未选择 Span`})]}),(0,v.jsxs)(`div`,{className:`trace-detail-actions`,children:[!N&&(0,v.jsx)(v.Fragment,{children:(0,v.jsxs)(`button`,{className:`button tertiary small trace-detail-expand`,type:`button`,"aria-pressed":j,title:j?`退出放大详情`:`放大详情`,onClick:()=>M(!j),children:[j?(0,v.jsx)(Bp,{size:14}):(0,v.jsx)(Fp,{size:14}),(0,v.jsx)(`span`,{children:j?`退出放大`:`放大详情`})]})}),(0,v.jsxs)(`button`,{className:`button tertiary small trace-detail-collapse`,type:`button`,"aria-expanded":!N,title:N?`展开 Trace 详情`:`收起 Trace 详情`,onClick:()=>{P(e=>!e),N||M(!1)},children:[N?(0,v.jsx)(Xf,{size:14}):(0,v.jsx)(qf,{size:14}),(0,v.jsx)(`span`,{children:N?`展开详情`:`收起详情`})]})]})]}),!N&&(0,v.jsx)(`div`,{className:`trace-tabs`,role:`tablist`,"aria-label":`Trace 详情分类`,children:LK.map(e=>(0,v.jsx)(`button`,{type:`button`,role:`tab`,"aria-selected":x===e.id,className:x===e.id?`active`:``,onClick:()=>S(e.id),children:e.label},e.id))}),!N&&(0,v.jsxs)(`div`,{className:`trace-detail-body${x===`raw`?` raw-active`:``}`,children:[x===`trajectory`&&(0,v.jsxs)(`div`,{className:`trace-trajectory-layout`,children:[(0,v.jsx)(fK,{sessionId:h.sessionId,invocationId:h.runId||void 0,onSelectionChange:w}),(0,v.jsx)(`aside`,{className:`trajectory-selection`,"aria-label":`轨迹详情`,children:C?(0,v.jsx)(dK,{record:C}):(0,v.jsx)(`div`,{className:`trace-stage-empty compact`,children:(0,v.jsx)(`p`,{children:`选择一条轨迹事件查看详情。`})})})]}),x!==`raw`&&x!==`trajectory`&&(0,v.jsxs)(`div`,{children:[!de&&(0,v.jsx)(`div`,{className:`trace-stage-empty compact`,children:(0,v.jsx)(`p`,{children:`选择一个 Span 查看标准属性。`})}),de&&x===`spans`&&(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(FK,{span:de}),(0,v.jsxs)(`dl`,{className:`trace-detail-grid`,style:{marginTop:14},children:[(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`dt`,{children:`Trace ID`}),(0,v.jsx)(`dd`,{children:h?.traceId})]}),(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`dt`,{children:`Span ID`}),(0,v.jsx)(`dd`,{children:de.spanId})]}),(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`dt`,{children:`Parent`}),(0,v.jsx)(`dd`,{children:de.parentSpanId||`Root`})]}),(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`dt`,{children:`Kind`}),(0,v.jsx)(`dd`,{children:de.kind})]}),(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`dt`,{children:`状态`}),(0,v.jsx)(`dd`,{title:de.status,children:hK(de.status)})]}),(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`dt`,{children:`开始`}),(0,v.jsx)(`dd`,{children:wK(de.startTimeUnixNano)})]}),(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`dt`,{children:`耗时`}),(0,v.jsx)(`dd`,{children:gK(de.durationMs)})]})]})]}),de&&x===`attributes`&&(0,v.jsx)(IK,{values:de.attributes||{}}),de&&x===`events`&&(0,v.jsx)(UK,{events:de.events||[]}),de&&x===`resource`&&(0,v.jsx)(IK,{values:{...h?.resource||{},"otel.scope.name":h?.scope?.name,"otel.scope.version":h?.scope?.version}})]}),(0,v.jsxs)(`div`,{className:`trace-raw`,hidden:x!==`raw`,children:[x===`raw`&&!D&&T&&(0,v.jsxs)(`div`,{className:`trace-raw-toolbar`,children:[(0,v.jsx)(`span`,{children:`JSON Tree`}),(0,v.jsxs)(`div`,{role:`group`,"aria-label":`JSON 展开控制`,children:[(0,v.jsx)(`button`,{type:`button`,className:k?``:`active`,onClick:()=>A(!1),children:`全部收起`}),(0,v.jsx)(`button`,{type:`button`,className:k?`active`:``,onClick:()=>A(!0),children:`全部展开`})]})]}),x===`raw`&&D&&(0,v.jsx)(`div`,{className:`trace-raw-loading`,children:`正在读取 OTLP JSON…`}),x===`raw`&&!D&&T&&(0,v.jsx)(`div`,{className:`trace-raw-tree`,children:(0,v.jsx)(JG,{"aria-label":`Raw OTLP JSON`,data:T,style:OK,shouldExpandNode:k?KG:qG,clickToExpandNode:!0})}),x===`raw`&&!D&&!T&&(0,v.jsx)(`div`,{className:`trace-raw-loading`,children:`没有可显示的 OTLP JSON。`})]})]})]})]})]})]})}function BK({overview:e,range:t}){let n=e?.total||0,r=e?.completed||0,i=e?.successRate==null?`—`:`${Math.round(e.successRate*100)}%`,a=e?.averageDurationMs==null?`—`:gK(e.averageDurationMs),o=e?.totalTokens||0,s=e?.inputTokens||0,c=e?.outputTokens||0,l=e?.buckets||[],u=l.some(e=>e.runs>0);return(0,v.jsxs)(`section`,{className:`observability-overview${u?` has-trend`:``}`,"aria-label":`运行概览`,children:[(0,v.jsxs)(`div`,{className:`overview-metric-grid`,children:[(0,v.jsx)(VK,{icon:(0,v.jsx)(jf,{size:15}),label:t===`7d`?`近 7 天运行`:`近 24 小时运行`,value:String(n)}),(0,v.jsx)(VK,{icon:(0,v.jsx)(Qf,{size:15}),label:`成功率`,value:i,note:n?`${r} / ${n}`:void 0,tone:`success`}),(0,v.jsx)(VK,{icon:(0,v.jsx)(op,{size:15}),label:`平均耗时`,value:a,note:r?`${r} 个完成运行`:void 0}),(0,v.jsx)(VK,{icon:(0,v.jsx)(lp,{size:15}),label:`Token`,value:n?o?_K(o):`未上报`:`—`,note:o?`${_K(s)} 输入 · ${_K(c)} 输出`:void 0})]}),u&&(0,v.jsxs)(`div`,{className:`overview-chart-card`,children:[(0,v.jsx)(`div`,{className:`overview-chart-header`,children:(0,v.jsx)(`strong`,{children:`运行趋势`})}),(0,v.jsx)(HK,{buckets:l,range:t}),(0,v.jsxs)(`div`,{className:`overview-chart-legend`,children:[(0,v.jsx)(`span`,{className:`legend-runs`}),`运行数`,(0,v.jsx)(`span`,{className:`legend-success`}),`成功数`]})]})]})}function VK({icon:e,label:t,value:n,note:r,tone:i=`neutral`}){return(0,v.jsxs)(`article`,{className:`overview-metric-card ${i}`,children:[(0,v.jsxs)(`div`,{className:`overview-metric-label`,children:[(0,v.jsx)(`span`,{children:e}),(0,v.jsx)(`small`,{children:t})]}),(0,v.jsx)(`strong`,{children:n}),r&&(0,v.jsx)(`p`,{children:r})]})}function HK({buckets:e,range:t}){let n=e.map(e=>{let n=new Date(e.startedAt),r=t===`7d`?`${n.getMonth()+1}/${n.getDate()}`:`${String(n.getHours()).padStart(2,`0`)}:00`;return{...e,label:r,success:e.completed}});if(!n.length||!n.some(e=>e.runs>0))return(0,v.jsx)(`div`,{className:`trace-stage-empty compact`,children:(0,v.jsx)(`p`,{children:`暂无运行数据`})});let r=Math.max(1,...n.map(e=>e.runs)),i={l:30,r:10,t:10,b:22},a=800-i.l-i.r,o=118-i.t-i.b,s=a/Math.max(1,n.length-1),c=e=>i.t+o-e/r*o,l=n.map((e,t)=>`${i.l+t*s},${c(e.runs)}`).join(` `),u=n.map((e,t)=>`${i.l+t*s},${c(e.success)}`).join(` `),d=`M ${i.l},${i.t+o} L ${l.split(` `).join(` L `)} L ${i.l+(n.length-1)*s},${i.t+o} Z`,f=Math.ceil(n.length/6);return(0,v.jsxs)(`svg`,{className:`overview-chart`,viewBox:`0 0 800 118`,preserveAspectRatio:`none`,"aria-label":`运行趋势曲线`,children:[[0,.25,.5,.75,1].map(e=>{let t=i.t+o-e*o;return(0,v.jsx)(`line`,{x1:i.l,y1:t,x2:800-i.r,y2:t,stroke:`var(--studio-border)`,strokeWidth:`1`,strokeDasharray:e===0?`0`:`3 3`},e)}),(0,v.jsx)(`path`,{d,fill:`var(--accent-soft)`,opacity:`0.6`}),(0,v.jsx)(`polyline`,{points:l,fill:`none`,stroke:`var(--studio-accent)`,strokeWidth:`2`,strokeLinejoin:`round`,strokeLinecap:`round`}),(0,v.jsx)(`polyline`,{points:u,fill:`none`,stroke:`var(--success)`,strokeWidth:`2`,strokeLinejoin:`round`,strokeLinecap:`round`,strokeDasharray:`4 3`}),n.map((e,t)=>(0,v.jsx)(`circle`,{cx:i.l+t*s,cy:c(e.runs),r:`2.5`,fill:`var(--studio-accent)`,children:(0,v.jsx)(`title`,{children:`${e.label}:${e.runs} 次运行,${e.success} 次成功`})},e.startedAt)),n.map((e,t)=>(t%f===0||t===n.length-1)&&(0,v.jsx)(`text`,{x:i.l+t*s,y:110,textAnchor:`middle`,fill:`var(--text-tertiary)`,fontSize:`11`,children:e.label},`label-${e.startedAt}`))]})}function UK({events:e}){let t=(0,g.useMemo)(()=>{let t=[],n=``,r=null,i=0,a=()=>{r&&n.trim()&&t.push({type:`card`,card:{kind:r,text:n,segments:i,final:!1}}),n=``,i=0,r=null};for(let o of e)if(o.name===`thinking.delta`||o.name===`message.delta`){let e=o.name===`thinking.delta`?`thinking`:`message`;r!==e&&a(),r=e,n+=AK(o.attributes),i+=1}else o.name===`thinking.completed`||o.name===`message.completed`||(a(),t.push({type:`event`,event:o}));return a(),t},[e]);return e.length?(0,v.jsx)(`div`,{className:`io-stack`,children:t.map((e,t)=>e.type===`card`?(0,v.jsx)(PK,{label:e.card.kind===`message`?`模型输出流`:`思考流`,text:e.card.text,tone:e.card.kind,icon:e.card.kind===`message`?(0,v.jsx)(Rp,{size:12}):(0,v.jsx)(Uf,{size:12}),meta:`${e.card.segments} 段增量`},t):(0,v.jsxs)(`article`,{className:`trace-event-card`,children:[(0,v.jsx)(`strong`,{children:e.event.name}),(0,v.jsx)(`span`,{children:wK(e.event.timeUnixNano)}),(0,v.jsx)(IK,{values:e.event.attributes||{}})]},t))}):(0,v.jsx)(`div`,{className:`trace-stage-empty compact`,children:(0,v.jsx)(`p`,{children:`该 Span 没有 Events。`})})}var WK=[{kind:`model`,label:`模型`,icon:dp},{kind:`tool`,label:`Tool`,icon:xm},{kind:`mcp`,label:`MCP Server`,icon:Up},{kind:`skill`,label:`Skill`,icon:sm}];function GK(e){return e===`ready`?`可用`:e===`missing-secret`?`缺少凭证`:e===`unhealthy`||e===`failed`?`异常`:e===`unresolved`?`未解析`:e||`未知`}function KK(e){return e.requiredSecretRefs?.[0]||e.contract?.credentialRef||``}function qK({refreshTick:e,onOpenResources:t}){let[n,r]=(0,g.useState)([]),[i,a]=(0,g.useState)({}),[o,s]=(0,g.useState)(0),[c,l]=(0,g.useState)(``),[u,d]=(0,g.useState)(null),[f,p]=(0,g.useState)(`24h`),[m,h]=(0,g.useState)(null),[_,y]=(0,g.useState)([]),[b,x]=(0,g.useState)(``),S=(0,g.useCallback)(async()=>{let[e,t,n,i,o,c]=await Promise.all([q(`/api/v1/catalog/resources?limit=200`).then(e=>e.json()).catch(()=>({items:[]})),q(`/api/v1/catalog/models`).then(e=>e.json()).catch(()=>null),q(`/api/v1/runs?limit=200`).then(e=>e.json()).catch(()=>({items:[]})),q(`/api/v1/system/bootstrap`).then(e=>e.json()).catch(()=>null),q(`/api/v1/traces/overview?range=${f}`).then(e=>e.ok?e.json():null).catch(()=>null),q(`/api/v1/deployments`).then(e=>e.ok?e.json():{items:[]}).catch(()=>({items:[]}))]),u=e.items||[];t?.items?.length&&(u=[...u.filter(e=>e.kind!==`model`||e.source===`local`||e.source===`market`),...t.items]),r(u),s((n.items||[]).length),l(i?.workspace?.path||``),d(!!i?.workspace),h(o),y(Array.isArray(c?.items)?c.items:[]);let p=[...new Set(u.filter(e=>e.kind===`model`).map(KK).filter(Boolean))],m=await Promise.all(p.map(async e=>{try{return[e,await(await q(`/api/v1/credentials/${encodeURIComponent(e.replace(/^env:\/\//,``))}`)).json()]}catch{return[e,{configured:!1}]}}));a(Object.fromEntries(m))},[f]);(0,g.useEffect)(()=>{S()},[S,e]);let C=e=>e.kind===`model`?i[KK(e)]?.configured?`ready`:`missing-secret`:e.status,w=n.filter(e=>e.kind===`model`).filter(e=>C(e)===`ready`),T=n.filter(e=>[`tool`,`mcp`,`skill`].includes(e.kind)).filter(e=>C(e)===`ready`),E=u==null?`pending`:u?`ready`:`failed`,D=u==null?`检查中`:u?`运行正常`:`连接失败`,O=m?.buckets||[],k=O.length>1&&O.some(e=>e.runs>0),A=Math.max(1,...O.map(e=>e.runs)),j=k?O.find(e=>e.runs===A):void 0,M=b.trim().toLocaleLowerCase(),N=(0,g.useMemo)(()=>n.filter(e=>C(e)!==`ready`).length,[i,n]),P=_.filter(e=>e.status===`READY`).length,F=_.filter(e=>[`ADMITTING`,`DEPLOYING`].includes(String(e.status))).length,I=P?`ready`:F?`pending`:`idle`,ee=P?`${P} 已就绪`:F?`${F} 部署中`:`尚未部署`;return(0,v.jsxs)(`div`,{className:`page-container runtime-resource-page`,"data-layout":`document`,children:[(0,v.jsx)(PT,{children:(0,v.jsxs)(`div`,{className:`segmented-control compact`,role:`tablist`,"aria-label":`运行趋势时间范围`,children:[(0,v.jsx)(`button`,{type:`button`,role:`tab`,"aria-selected":f===`24h`,onClick:()=>p(`24h`),children:`24 小时`}),(0,v.jsx)(`button`,{type:`button`,role:`tab`,"aria-selected":f===`7d`,onClick:()=>p(`7d`),children:`7 天`})]})}),(0,v.jsxs)(`div`,{className:`data-page-body`,children:[(0,v.jsxs)(`section`,{className:`runtime-status-summary`,"aria-label":`运行状态`,children:[(0,v.jsxs)(`div`,{title:c||`本地工作区`,"data-state":E,children:[(0,v.jsx)(`span`,{className:`stat-label`,children:`本地 Runtime`}),(0,v.jsxs)(`strong`,{className:`stat-value`,children:[(0,v.jsx)(`span`,{className:`summary-status-dot`}),D]}),E===`failed`&&(0,v.jsxs)(`button`,{className:`text-button`,type:`button`,onClick:()=>void S(),children:[(0,v.jsx)(tm,{size:13}),`重新检查`]})]}),(0,v.jsxs)(`div`,{"data-state":I,children:[(0,v.jsx)(`span`,{className:`stat-label`,children:`云端部署`}),(0,v.jsx)(`strong`,{className:`stat-value`,children:ee})]})]}),(0,v.jsxs)(`div`,{className:`stat-strip compact-summary runtime-metric-summary`,children:[(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`span`,{className:`stat-label`,children:`可用模型`}),(0,v.jsx)(`strong`,{className:`stat-value`,children:w.length})]}),(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`span`,{className:`stat-label`,children:`能力资源`}),(0,v.jsx)(`strong`,{className:`stat-value`,children:T.length})]}),(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`span`,{className:`stat-label`,children:f===`24h`?`近 24 小时运行`:`近 7 天运行`}),(0,v.jsx)(`strong`,{className:`stat-value`,children:m?.total??o})]})]}),(0,v.jsxs)(`section`,{className:`runtime-trend block${k?``:` is-empty`}`,children:[(0,v.jsxs)(`div`,{className:`block-head`,children:[(0,v.jsx)(`strong`,{children:`运行量趋势`}),j&&(0,v.jsx)(`span`,{className:`head-actions`,children:(0,v.jsxs)(`span`,{className:`tag`,children:[`峰值 `,A]})})]}),k?(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(`div`,{className:`runtime-trend-bars`,"aria-label":`运行量趋势`,children:O.map((e,t)=>(0,v.jsx)(`span`,{className:`runtime-trend-bar`,"data-peak":e.runs===A||void 0,style:{height:`${Math.max(4,Math.round(e.runs/A*100))}%`},title:`${e.startedAt} · ${e.runs} 次运行`},`${e.startedAt}-${t}`))}),(0,v.jsxs)(`div`,{className:`chart-axis`,children:[(0,v.jsx)(`span`,{children:`开始`}),(0,v.jsx)(`span`,{children:f===`24h`?`12:00`:`中段`}),(0,v.jsx)(`span`,{children:`现在`})]})]}):(0,v.jsx)(`div`,{className:`runtime-trend-empty`,children:(0,v.jsx)(`strong`,{children:O.length===1?`继续运行后即可形成趋势`:`运行 Agent 后即可查看趋势`})})]}),(0,v.jsxs)(`section`,{className:`runtime-resource-section block`,children:[(0,v.jsxs)(`div`,{className:`section-heading`,children:[(0,v.jsx)(`h2`,{title:`优先展示异常资源,每类最多展示 5 项`,children:`本地能力概览`}),(0,v.jsx)(`span`,{className:`badge`,"data-state":N?`warning`:`ready`,children:N?`${N} 项需处理`:`全部可用`})]}),(0,v.jsx)(`div`,{className:`section-toolbar runtime-resource-toolbar`,children:(0,v.jsxs)(`div`,{className:`search-field`,children:[(0,v.jsx)(nm,{size:14}),(0,v.jsx)(`input`,{type:`search`,"aria-label":`搜索运行资源`,placeholder:`搜索资源`,value:b,onChange:e=>x(e.target.value)})]})}),(0,v.jsx)(`div`,{className:`runtime-resource-groups`,children:WK.map(e=>{let r=n.filter(t=>t.kind===e.kind),i=r.filter(e=>!M||`${e.displayName} ${e.name}`.toLocaleLowerCase().includes(M)).sort((e,t)=>Number(C(e)===`ready`)-Number(C(t)===`ready`)).slice(0,5),a=e.icon;return(0,v.jsxs)(`article`,{className:`runtime-resource-group block`,children:[(0,v.jsxs)(`header`,{children:[(0,v.jsx)(`span`,{className:`runtime-group-icon`,children:(0,v.jsx)(a,{size:15})}),(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`strong`,{children:e.label}),(0,v.jsx)(`small`,{children:r.length})]}),r.length>0&&(0,v.jsxs)(`button`,{className:`text-button`,type:`button`,onClick:()=>t(e.kind),children:[`查看全部 `,(0,v.jsx)(Pf,{size:13})]})]}),(0,v.jsx)(`div`,{className:`runtime-resource-list`,children:i.length===0?(0,v.jsx)(`div`,{className:`runtime-resource-empty`,children:`暂无资源`}):i.map(e=>{let t=C(e);return(0,v.jsxs)(`div`,{className:`runtime-resource-row`,children:[(0,v.jsx)(`span`,{className:`resource-state ${t===`ready`?`ready`:`warning`}`}),(0,v.jsxs)(`span`,{children:[(0,v.jsx)(`strong`,{children:e.displayName}),(0,v.jsx)(`small`,{children:e.version||e.source||e.name})]}),(0,v.jsx)(`span`,{className:`badge`,"data-state":t===`ready`?`ready`:`pending`,children:GK(t)})]},e.resourceId)})})]},e.kind)})})]})]})]})}var JK=class extends Error{code;details;status;constructor(e,t,n,r){super(e),this.code=t,this.details=n,this.status=r}};async function YK(e,t={}){let n=await q(e,t),r=n.status===204?void 0:await n.json();if(!n.ok)throw new JK(r?.error?.message||r?.detail||`请求失败(${n.status})`,r?.error?.code,r?.error?.details,n.status);return r}var XK=e=>YK(`/api/v1/plugins/teams/lifecycle`,{signal:e});function ZK({compact:e=!1}){let[t,n]=(0,g.useState)(null),[r,i]=(0,g.useState)(``),[a,o]=(0,g.useState)(null),[s,c]=(0,g.useState)(!1);(0,g.useEffect)(()=>{let e=new AbortController,t,r=async()=>{try{let t=await XK(e.signal);if(e.signal.aborted)return;n(t),i(``)}catch(t){e.signal.aborted||i(t instanceof Error?t.message:`团队状态读取失败。`)}finally{e.signal.aborted||(t=setTimeout(()=>void r(),1500))}};return r(),()=>{e.abort(),clearTimeout(t)}},[]);let l=a||t?.failure,u=t?.health===`failed`||!!l;async function d(){c(!0),i(``);try{let e=await YK(`/api/v1/plugins/teams/repair`,{method:`POST`});n(e),o(null),e.enabled&&window.location.reload()}catch(e){i(e instanceof Error?e.message:`修复未完成,原历史仍保留。`)}finally{c(!1)}}async function f(e){c(!0),i(``),o(null);try{let t=await YK(`/api/v1/plugins/teams/lifecycle`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({enabled:e})});if(n(t),!e||t.health!==`ready`)return;if(window.__STUDIO_DSH__?.workspacePages?.().some(e=>e.id===`teams`)){window.location.hash=`/workspace/teams`,window.location.reload();return}await YK(`/api/v1/plugin-ecosystems/dsh/core/session`,{method:`POST`}),window.location.assign(`/studio-core/?workspacePage=teams#/workspace/teams`)}catch(e){i(e instanceof Error?e.message:`团队插件启用失败。`),e instanceof JK&&o(e.details||null)}finally{c(!1)}}return(0,v.jsxs)(`section`,{className:u?`studio-teams-recovery`:e?`studio-teams-availability compact`:`studio-teams-availability`,"aria-label":`Agent Teams 插件`,children:[!u&&(0,v.jsx)(`span`,{className:`studio-teams-symbol`,children:(0,v.jsx)(vm,{size:23})}),(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`span`,{className:`studio-teams-eyebrow`,children:`Agent Teams`}),(0,v.jsx)(`h2`,{children:u?`团队暂时无法启动`:e?`让多个 Agent 一起完成目标`:t?.enabled?`打开团队工作区`:`组建你的 Agent 团队`}),(0,v.jsx)(`p`,{role:u?`alert`:void 0,children:u?r||l?.message||l?.reason||t?.reason||`启动没有完成。修复后可以继续使用已有团队与记录。`:`选择成员与 Leader,为不同目标建立独立任务。`}),!u&&t?.health===`error`&&(0,v.jsx)(`p`,{className:`form-error`,role:`alert`,children:t.reason===`authority_in_use`?`此工作区的团队正在另一个 Studio 中运行。关闭该实例后重试。`:t.reason===`DSH_CAPABILITY_HOST_UNAVAILABLE`?`团队插件未能连接本地插件服务,请重试。`:`团队插件自动准备未完成,请重试。`}),(0,v.jsxs)(`div`,{className:`studio-teams-recovery-actions`,children:[(0,v.jsx)(`button`,{className:`button primary`,disabled:s||t?.health===`preparing`||!t&&!r||u&&l?.retryable===!1,onClick:()=>void f(!0),children:s?`正在处理…`:u?`重新尝试启动`:t?.health===`preparing`?`正在准备团队…`:t?.health===`error`?`重试准备团队`:t?.enabled?`打开团队`:`启用 Agent Teams`}),u&&t?.configuredEnabled!==!1&&(0,v.jsx)(`button`,{className:`button secondary`,disabled:s,onClick:()=>void f(!1),children:`暂时禁用`}),l?.code===`artifact_migration_required`&&(0,v.jsx)(`button`,{className:`button secondary`,disabled:s,onClick:()=>void d(),children:`备份并升级兼容历史`}),u?(0,v.jsx)(`a`,{href:`/studio-recovery/`,className:`button tertiary`,children:`修复与诊断`}):!e&&(0,v.jsx)(`a`,{href:`#/agents`,className:`button tertiary`,children:`管理 Agent`})]}),l&&(0,v.jsxs)(`details`,{children:[(0,v.jsx)(`summary`,{children:`查看诊断信息`}),(0,v.jsxs)(`dl`,{children:[(0,v.jsx)(`dt`,{children:`错误`}),(0,v.jsx)(`dd`,{children:l.code}),(0,v.jsx)(`dt`,{children:`阶段`}),(0,v.jsx)(`dd`,{children:l.stage||t?.stage})]})]})]})]})}function QK({onBack:e,pluginId:t}){let n=window.__STUDIO_DSH__,[r,i]=(0,g.useState)(()=>n?.sections()||[]),[a,o]=(0,g.useState)(``),[s,c]=(0,g.useState)(``),[l,u]=(0,g.useState)(0),d=(0,g.useRef)(null);(0,g.useEffect)(()=>{if(!n){let e=new AbortController;return q(`/api/v1/plugin-ecosystems/dsh/core/session`,{method:`POST`,signal:e.signal}).then(async e=>{if(!e.ok)throw Error((await e.json())?.error?.message||`插件服务启动失败`);let n=new URLSearchParams({pluginSettings:t||``});window.location.assign(`/studio-core/?${n}#/plugins`)}).catch(t=>{e.signal.aborted||c(String(t.message||t))}),()=>e.abort()}let e=()=>i(n.sections());return e(),n.subscribe(e)},[n,l,t]);let f=t?r.filter(e=>e.pluginId===t):r,p=f.some(e=>e.id===a)?a:t&&f.length===1?f[0].id:void 0;return(0,g.useEffect)(()=>{if(n&&p&&d.current)return n.attach(p,d.current,e)},[n,p,e]),(0,v.jsxs)(`section`,{className:`dsh-plugin-workspace`,"aria-label":`插件设置`,children:[(0,v.jsxs)(`header`,{children:[(0,v.jsxs)(`button`,{className:`button tertiary`,onClick:p&&!t?()=>o(``):e,children:[(0,v.jsx)(Nf,{size:16}),p&&!t?`所有插件设置`:`返回插件`]}),(0,v.jsx)(`h2`,{children:`插件设置`})]}),s&&(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`p`,{className:`form-error`,role:`alert`,children:s}),(0,v.jsx)(`button`,{className:`button secondary`,onClick:()=>{c(``),u(e=>e+1)},children:`重试`})]}),!n&&!s&&(0,v.jsxs)(`p`,{role:`status`,children:[(0,v.jsx)(Pp,{className:`animate-spin`,size:16}),`正在准备插件…`]}),n&&(0,v.jsxs)(`div`,{className:`studio-plugin-settings${p?``:` choosing`}`,children:[!p&&!!f.length&&(0,v.jsx)(`p`,{children:t?`选择设置页面`:`选择要配置的插件`}),(0,v.jsx)(`nav`,{"aria-label":`插件设置页面`,children:f.map(e=>(0,v.jsx)(`button`,{"data-plugin-id":e.pluginId,"aria-current":p===e.id?`page`:void 0,className:p===e.id?`active`:``,onClick:()=>o(e.id),children:e.label},e.id))}),p&&(0,v.jsx)(`div`,{ref:d,className:`studio-plugin-surface`}),!f.length&&(0,v.jsx)(`p`,{children:`当前插件没有提供设置页面。`})]})]})}function $K(e){let t=e?.item||e;if(t?.ecosystem!==`dsh`&&t?.ecosystem!==`codex`)throw Error(`不支持的插件生态`);let n=String(t.pluginId||``).trim();if(!n)throw Error(`插件状态缺少 pluginId`);let r=t.runtimeState||t.runtime_state||{},i=String(t.state||``).toLowerCase(),a=String(r.state||t.providerState||t.provider_state||``).toLowerCase(),o=t.installed!==!1,s=o&&(t.failed===!0||i===`failed`||a===`failed`),c=o&&!s&&(t.bound===!0||i===`bound`||a===`bound`),l=o&&!s&&(c||t.ready===!0||i===`ready`||a===`ready`),u=o&&(t.enabled===!0||l||i===`enabled`),d=s?`failed`:c?`bound`:l?`ready`:u?`enabled`:`installed`,f=String(r.providerRef||r.provider_ref||t.providerRef||t.provider_ref||``).trim(),p=String(r.errorCode||r.error_code||t.errorCode||t.error_code||``).trim();return{ecosystem:t.ecosystem,pluginId:n,resolvedVersion:String(t.resolvedVersion||``),distributionName:String(t.distributionName||n),displayName:t.displayName,marketplaceName:t.marketplaceName,installed:o,enabled:u,ready:l,bound:c,failed:s,state:d,providerRef:f||void 0,errorCode:p||void 0,riskDisclosures:Array.isArray(t.riskDisclosures)?t.riskDisclosures:[],host:t.host,description:e?.description||t.description,clientExtension:t.clientExtension===!0,settingsIntegration:t.settingsIntegration===!0,capabilities:e?.capabilities||t.capabilities,interface:t.interface||{}}}var eq=e=>[e.ecosystem,e.marketplaceName||`default`,e.pluginId,e.resolvedVersion||`host-managed`].join(`:`),tq=e=>e.ecosystem===`codex`&&[`openai-curated`,`openai-curated-remote`,`openai-primary-runtime`,`openai-bundled`].includes(e.marketplaceName||``),nq=e=>e.pluginId.startsWith(`@kingsoftcloud/`);function rq(){window.__STUDIO_DSH__&&window.location.reload()}var iq=e=>e.ecosystem===`dsh`?`DeepSeek Harness 插件`:`Codex 官方插件`,aq={"@kingsoftcloud/ksadk-codex-provider":{title:`Codex AgentProvider`,publisher:`KsADK 官方`,kind:`Agent Provider`,summary:`让 Agent 使用 Codex App Server 的原生会话、工具与审批能力。`}};function oq(e){let t=aq[e.pluginId];return t?t.title:e.displayName?.trim()?e.displayName.trim():(e.pluginId.split(`/`).at(-1)||e.pluginId).replace(/^(ksadk-|dsh-)/,``).split(/[-_.]+/).map(e=>e?`${e[0].toUpperCase()}${e.slice(1)}`:``).join(` `)}function sq(e){if(e.interface?.developerName)return e.interface.developerName;let t=aq[e.pluginId];return t?t.publisher:e.pluginId.match(/^(@[^/]+)\//)?.[1]||e.marketplaceName||(e.ecosystem===`dsh`?`DeepSeek Harness`:`Codex Marketplace`)}function cq(e){let t=aq[e.pluginId];return t?t.kind:e.providerRef?`Agent Provider`:e.clientExtension||(e.capabilities?.apps||[]).length?`界面扩展`:(e.capabilities?.skills||[]).length||(e.capabilities?.mcpServers||[]).length?`Agent 能力`:e.ecosystem===`dsh`?`Harness 扩展`:`工作台扩展`}function lq(e){let t=aq[e.pluginId];return t?t.summary:e.description?.trim()?e.description.trim():e.providerRef?`为 Studio Agent 提供可选运行时与执行能力。`:e.ecosystem===`dsh`?`通过 DeepSeek Harness 扩展 Agent 的上下文、工具或工作流。`:`通过 Codex App Server 扩展工作台能力。`}var uq=[`常用`,`效率`,`创意`,`开发`,`更多`];function dq(e){let t=`${e.pluginId} ${oq(e)}`.toLowerCase();return/gmail|google-drive|google-calendar|github|notion|slack/.test(t)?`常用`:/linear|atlassian|calendar|outlook|teams|sharepoint|clickup|monday|granola|todo|asana|trello/.test(t)?`效率`:/canva|figma|design|image|video|remotion|hyperframe|higgs|adobe|runway/.test(t)?`创意`:/github|cloudflare|sentry|vercel|circleci|coderabbit|security|build|developer|code/.test(t)?`开发`:`更多`}var fq=(e,t)=>e?.error?.message||e?.detail||e?.message||t,pq={installed:`待启用`,enabled:`已启用`,ready:`就绪`,bound:`已绑定`,failed:`失败`};function mq({item:e}){let t=e.failed?Zf:e.state===`installed`?tp:$f,n=e.ecosystem===`codex`&&e.state===`enabled`?`已安装`:pq[e.state];return(0,v.jsxs)(`span`,{className:`plugin-state`,"data-state":e.state,children:[(0,v.jsx)(t,{size:13}),` `,n]})}function hq({item:e}){let t=!!(e.providerRef&&(e.ready||e.bound)),n=[...e.capabilities?.skills||[],...e.capabilities?.mcpServers||[]],r=!!(e.capabilities?.apps||[]).length;return e.ecosystem!==`dsh`&&!e.providerRef&&n.length===0&&!r?null:(0,v.jsxs)(`section`,{className:`plugin-detail-section`,"aria-label":`贡献能力与使用方式`,children:[(0,v.jsx)(`h3`,{children:`贡献能力与使用方式`}),e.providerRef&&(0,v.jsxs)(v.Fragment,{children:[(0,v.jsxs)(`dl`,{className:`plugin-compatibility-list`,children:[(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`dt`,{children:`AgentProvider`}),(0,v.jsx)(`dd`,{children:t?`可用`:`未就绪`})]}),(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`dt`,{children:`providerRef`}),(0,v.jsx)(`dd`,{children:e.providerRef})]})]}),(0,v.jsx)(`p`,{className:`plugin-detail-muted`,children:t?`在创建或编辑 Agent 时从 Runtime 选择器使用。`:`Provider 尚未就绪,暂不能用于创建 Agent。`}),t&&(0,v.jsx)(`p`,{children:(0,v.jsx)(`a`,{className:`button secondary`,href:`#/create`,children:`去创建 Agent`})})]}),e.ecosystem===`dsh`&&!e.providerRef&&e.settingsIntegration&&(0,v.jsx)(`p`,{className:`plugin-detail-muted`,children:`插件提供的设置页面可直接在 Studio 的插件设置中使用。`}),e.ecosystem===`dsh`&&!e.providerRef&&e.clientExtension&&!e.settingsIntegration&&(0,v.jsx)(`p`,{className:`plugin-detail-muted`,children:`这是 DSH Core 会话界面扩展,会在插件定义的交互状态下显示。插件未声明独立设置页,因此不会新增左侧设置标签。`}),e.ecosystem===`dsh`&&!e.providerRef&&!e.clientExtension&&(0,v.jsx)(`p`,{className:`plugin-detail-muted`,children:`此插件扩展 DSH Core 运行能力,未提供独立 Studio 设置页。`}),(n.length>0||e.ecosystem===`codex`&&r)&&(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(`p`,{className:`plugin-detail-muted`,children:e.ecosystem===`codex`?`在 Agent 编辑页的「能力绑定 → 绑定插件」选择此插件,保存并生成配置快照后,在新会话中使用。`:`Skill 与 MCP 能力需在 Agent 编辑页绑定后使用。`}),(0,v.jsx)(`p`,{children:(0,v.jsx)(`a`,{className:`button secondary`,href:`#/agents`,children:`去 Agent 列表绑定`})})]}),e.ecosystem===`codex`&&r&&(0,v.jsx)(`p`,{className:`plugin-detail-muted`,children:`此插件包含应用连接。安装和绑定会加载技能;实际操作应用还需要在运行环境中完成 Codex 账户登录及对应应用授权,模型 API Key 不代替应用授权。`})]})}function gq({item:e,large:t=!1}){let[n,r]=(0,g.useState)(!1),i=e.interface?.logoUrl||e.interface?.composerIconUrl;return(0,g.useEffect)(()=>r(!1),[i]),(0,v.jsx)(`span`,{className:`plugin-store-icon${t?` large`:``}`,children:i&&/^(https:\/\/|data:image\/(png|jpeg|gif|webp|svg\+xml);base64,)/.test(i)&&!n?(0,v.jsx)(`img`,{src:i,alt:``,loading:`lazy`,referrerPolicy:`no-referrer`,onError:()=>r(!0)}):(0,v.jsx)(`span`,{children:oq(e).replace(/^@/,``).slice(0,2).toUpperCase()})})}function _q({refreshTick:e=0}){let[t,n]=(0,g.useState)(()=>new URLSearchParams(window.location.search).has(`pluginSettings`)),[r,i]=(0,g.useState)(()=>new URLSearchParams(window.location.search).get(`pluginSettings`)||void 0),[a,o]=(0,g.useState)([]),[s,c]=(0,g.useState)([]),[l,u]=(0,g.useState)({}),[d,f]=(0,g.useState)(``),[p,m]=(0,g.useState)(null),[h,_]=(0,g.useState)(``),[y,b]=(0,g.useState)(!1),[x,S]=(0,g.useState)(!1),[C,w]=(0,g.useState)(``),[T,E]=(0,g.useState)(`all`),[D,O]=(0,g.useState)(`codex`),[k,A]=(0,g.useState)(`load`),[j,M]=(0,g.useState)(``),N=(0,g.useCallback)(async()=>{A(`load`),M(``);try{let[e,t]=await Promise.all([q(`/api/v1/plugin-ecosystems/dsh/plugins`),q(`/api/v1/plugin-ecosystems/codex/plugins`)]),[n,r]=await Promise.all([e.json(),t.json()]),i=(r.items||[]).map($K),a=[...(n.items||[]).map($K),...i.filter(e=>e.installed)];o(a),c(i.filter(e=>!e.installed)),u({dsh:n.host,codex:r.host})}catch(e){M(e?.message||`插件状态加载失败`)}finally{A(``)}},[]);(0,g.useEffect)(()=>{N()},[N,e]);let P=(0,g.useMemo)(()=>[...a,...s].find(e=>eq(e)===d)||null,[a,s,d]),F=p?.key===d&&P?{...p.item,...P,capabilities:p.item.capabilities,interface:{...P.interface,...p.item.interface}}:P;(0,g.useEffect)(()=>{if(P?.ecosystem!==`codex`)return;let e=new AbortController,t=new URLSearchParams({marketplace_name:P.marketplaceName||``});return q(`/api/v1/plugin-ecosystems/codex/plugins/${encodeURIComponent(P.pluginId)}?${t}`,{signal:e.signal}).then(async t=>{if(!t.ok)throw Error(fq(await t.json(),`插件详情加载失败`));let n=$K(await t.json());e.signal.aborted||m({key:d,item:n})}).catch(t=>{e.signal.aborted||M(t.message||`插件详情加载失败`)}),()=>e.abort()},[d,P]);let I=(0,g.useMemo)(()=>{let e=C.trim().toLowerCase(),t=s.filter(t=>!e||[oq(t),sq(t),cq(t),lq(t),t.pluginId].some(t=>t.toLowerCase().includes(e)));return uq.map(e=>({category:e,items:t.filter(t=>dq(t)===e)})).filter(e=>e.items.length>0)},[C,s]),ee=(0,g.useMemo)(()=>{let e=C.trim().toLowerCase();return a.filter(t=>T===`ksadk`&&!nq(t)||T===`dsh`&&(t.ecosystem!==`dsh`||nq(t))||T===`codex`&&t.ecosystem!==`codex`?!1:!e||[oq(t),sq(t),lq(t),t.pluginId].some(t=>t.toLowerCase().includes(e)))},[C,T,a]);async function L(){if(!(!y||!h.trim())){A(`install`),M(``);try{let e=await q(`/api/v1/plugin-ecosystems/dsh/plugins:install`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({source:h.trim(),acceptHostPermissions:!0})}),t=await e.json();if(!e.ok)throw Error(t?.error?.message||`DSH 插件安装失败`);let n=$K(t);f(eq(n)),b(!1),_(``),CL(n.enabled?`插件已安装`:`已安装,待启用`,n.displayName||n.pluginId),await N(),rq()}catch(e){M(e?.message||`DSH 插件安装失败`)}finally{A(``)}}}async function te(e){if(!(!tq(e)&&!x)){A(`codex:${eq(e)}`),M(``);try{let t=await q(`/api/v1/plugin-ecosystems/codex/plugins/${encodeURIComponent(e.pluginId)}:install`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({marketplaceName:e.marketplaceName||null,acceptUndeclaredPermissions:!0})}),n=await t.json();if(!t.ok)throw Error(fq(n,`Codex 插件安装失败`));let r=$K(n);f(eq(r)),S(!1),CL(r.enabled?`插件已安装`:`已安装,待启用`,r.displayName||r.pluginId),await N()}catch(e){M(e?.message||`Codex 插件安装失败`)}finally{A(``)}}}async function R(e){if(e.ecosystem!==`dsh`)return;let t=e.enabled?`disable`:`enable`;A(`toggle`),M(``);try{let n=await q(`/api/v1/plugin-ecosystems/dsh/plugins/${encodeURIComponent(e.pluginId)}:${t}`,{method:`POST`}),r=await n.json();if(!n.ok)throw Error(fq(r,`DSH 插件状态更新失败`));await N(),rq()}catch(e){M(e?.message||`DSH 插件状态更新失败`)}finally{A(``)}}async function z(e){let t=`/api/v1/plugin-ecosystems/${e.ecosystem}/plugins/${encodeURIComponent(e.pluginId)}`;A(`delete`),M(``);try{let n=await q(t,{method:`DELETE`});if(!n.ok){let e=await n.json();throw Error(fq(e,`插件卸载失败`))}f(``),await N(),e.ecosystem===`dsh`&&rq()}catch(e){M(e?.message||`插件卸载失败`)}finally{A(``)}}if(t)return(0,v.jsx)(QK,{pluginId:r,onBack:()=>{n(!1);let e=new URL(window.location.href);e.searchParams.delete(`pluginSettings`),window.history.replaceState(null,``,e),N()}});let ne=(0,v.jsxs)(`label`,{className:`plugin-install-consent`,children:[(0,v.jsx)(`input`,{type:`checkbox`,checked:x,onChange:e=>S(e.target.checked)}),`我信任此插件来源,允许以当前用户权限安装`]}),re=e=>{f(eq(e)),S(!1)},ie=(F?.interface?.longDescription||F?.description||``).trim(),ae=F&&ie&&ie.replace(/\s+/g,` `)!==lq(F).replace(/\s+/g,` `);return(0,v.jsxs)(`div`,{className:`page-container plugins-page plugin-store`,"data-layout":`document`,children:[j&&(0,v.jsx)(`p`,{className:`form-error`,role:`alert`,children:j}),F?(0,v.jsxs)(`article`,{className:`plugin-product`,"aria-label":`插件详情`,children:[(0,v.jsxs)(`button`,{className:`plugin-back`,onClick:()=>{f(``),S(!1)},children:[(0,v.jsx)(Nf,{size:15}),`插件`]}),(0,v.jsx)(gq,{item:F,large:!0}),(0,v.jsxs)(`header`,{children:[(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`h2`,{children:oq(F)}),(0,v.jsx)(`p`,{children:lq(F)})]}),(0,v.jsx)(`div`,{className:`plugin-product-actions`,children:F.installed?(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(mq,{item:F}),F.ecosystem===`dsh`&&(0,v.jsx)(`button`,{className:`button secondary`,disabled:!!k,onClick:()=>void R(F),children:F.enabled?`停用`:`启用`}),(0,v.jsx)(`button`,{className:`icon-button tertiary`,"aria-label":`卸载`,disabled:!!k,onClick:()=>void z(F),children:(0,v.jsx)(gm,{size:16})})]}):(0,v.jsxs)(`button`,{className:`button primary`,disabled:!tq(F)&&!x||!!k,onClick:()=>void te(F),children:[k?(0,v.jsx)(Pp,{className:`animate-spin`,size:16}):(0,v.jsx)($p,{size:16}),`安装`]})})]}),!F.installed&&!tq(F)&&ne,!!F.interface?.defaultPrompt?.length&&(0,v.jsx)(`div`,{className:`plugin-examples`,"aria-label":`使用示例`,children:F.interface.defaultPrompt.map(e=>(0,v.jsxs)(`p`,{children:[(0,v.jsx)(`span`,{children:e}),(0,v.jsx)(Ff,{size:16})]},e))}),ae&&(0,v.jsx)(`p`,{className:`plugin-long-description`,children:ie}),F.ecosystem===`dsh`&&F.enabled&&!F.providerRef&&F.settingsIntegration&&(0,v.jsxs)(`button`,{className:`button secondary`,onClick:()=>{i(F.pluginId),n(!0)},children:[`打开插件设置`,(0,v.jsx)(Ff,{size:15})]}),F.failed&&(0,v.jsx)(`p`,{className:`form-error`,children:F.errorCode||`插件当前不可用`}),(0,v.jsx)(hq,{item:F}),(0,v.jsxs)(`section`,{className:`plugin-product-info`,children:[(0,v.jsx)(`h3`,{children:`信息`}),(0,v.jsxs)(`dl`,{children:[(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`dt`,{children:`开发者`}),(0,v.jsx)(`dd`,{children:sq(F)})]}),(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`dt`,{children:`类别`}),(0,v.jsx)(`dd`,{children:F.interface?.category||cq(F)})]}),!!F.interface?.capabilities?.length&&(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`dt`,{children:`功能`}),(0,v.jsx)(`dd`,{children:F.interface.capabilities.join(`、`)})]}),(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`dt`,{children:`版本`}),(0,v.jsx)(`dd`,{children:F.resolvedVersion||`由宿主管理`})]}),(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`dt`,{children:`生态`}),(0,v.jsx)(`dd`,{children:iq(F)})]}),[[`websiteUrl`,`网站`],[`privacyPolicyUrl`,`隐私政策`],[`termsOfServiceUrl`,`服务条款`]].map(([e,t])=>F.interface?.[e]&&(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`dt`,{children:t}),(0,v.jsx)(`dd`,{children:(0,v.jsxs)(`a`,{href:F.interface[e],target:`_blank`,rel:`noreferrer`,children:[(0,v.jsx)(Ff,{size:15}),(0,v.jsx)(`span`,{className:`sr-only`,children:t})]})})]},e))]})]})]}):(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(`header`,{className:`plugins-intro`,children:(0,v.jsx)(`p`,{children:`为 Agent 添加工具、技能和应用。`})}),(0,v.jsx)(ZK,{compact:!0}),(0,v.jsxs)(`label`,{className:`plugin-store-search`,children:[(0,v.jsx)(nm,{size:16}),(0,v.jsx)(`input`,{"aria-label":`搜索插件`,value:C,onChange:e=>w(e.target.value),placeholder:`搜索插件`})]}),(0,v.jsxs)(`section`,{className:`plugin-installed-strip`,children:[(0,v.jsxs)(`header`,{children:[(0,v.jsxs)(`h3`,{children:[`已安装 `,(0,v.jsx)(`small`,{children:a.length})]}),(0,v.jsx)(`button`,{className:`plugin-text-button`,onClick:()=>{i(void 0),n(!0)},children:`插件设置`})]}),(0,v.jsx)(`div`,{className:`plugin-installed-tabs`,role:`tablist`,"aria-label":`筛选已安装插件`,children:[[`all`,`全部`],[`ksadk`,`KsADK 官方`],[`dsh`,`DSH 插件`],[`codex`,`Codex 插件`]].map(([e,t])=>(0,v.jsx)(`button`,{role:`tab`,"aria-selected":T===e,onClick:()=>E(e),children:t},e))}),(0,v.jsx)(`div`,{className:`plugin-installed-items`,children:ee.map(e=>(0,v.jsxs)(`button`,{"aria-label":oq(e),title:oq(e),onClick:()=>re(e),children:[(0,v.jsx)(gq,{item:e}),(0,v.jsx)(`span`,{children:oq(e)})]},eq(e)))}),!ee.length&&(0,v.jsx)(`p`,{className:`plugin-installed-empty`,children:`当前分类没有匹配的已安装插件。`})]}),(0,v.jsxs)(`div`,{className:`plugin-marketplace-tabs`,role:`tablist`,"aria-label":`插件市场`,children:[(0,v.jsx)(`button`,{role:`tab`,"aria-selected":D===`codex`,onClick:()=>O(`codex`),children:`Codex 插件`}),(0,v.jsx)(`button`,{role:`tab`,"aria-selected":D===`dsh`,onClick:()=>O(`dsh`),children:`DeepSeek Harness 插件`})]}),D===`codex`?(0,v.jsxs)(`div`,{className:`plugin-category-list`,"aria-label":`可安装 Codex 插件`,children:[k===`load`&&(0,v.jsxs)(`p`,{role:`status`,children:[(0,v.jsx)(Pp,{className:`animate-spin`,size:16}),`正在读取插件…`]}),I.map(e=>(0,v.jsxs)(`section`,{className:`plugin-category`,children:[(0,v.jsx)(`h3`,{children:e.category}),(0,v.jsx)(`div`,{className:`plugin-discovery-grid`,children:e.items.map(e=>(0,v.jsxs)(`div`,{className:`plugin-discovery-item`,children:[(0,v.jsxs)(`button`,{className:`plugin-discovery-open`,"aria-label":oq(e),onClick:()=>re(e),children:[(0,v.jsx)(gq,{item:e}),(0,v.jsxs)(`span`,{children:[(0,v.jsx)(`strong`,{children:oq(e)}),(0,v.jsx)(`small`,{children:lq(e)})]})]}),(0,v.jsx)(`button`,{className:`icon-button plugin-install-inline`,"aria-label":tq(e)?`安装 ${oq(e)}`:`查看 ${oq(e)}`,disabled:k===`codex:${eq(e)}`,onClick:()=>tq(e)?void te(e):re(e),children:k===`codex:${eq(e)}`?(0,v.jsx)(Pp,{className:`animate-spin`,size:16}):(0,v.jsx)($p,{size:16})})]},eq(e)))})]},e.category)),!I.length&&k!==`load`&&(0,v.jsx)(`p`,{className:`plugin-discovery-empty`,children:l.codex?.available?`没有匹配的插件。`:`Codex 插件服务当前不可用,请稍后刷新。`})]}):(0,v.jsxs)(`section`,{className:`plugin-source-panel`,children:[(0,v.jsx)(`h3`,{children:`从来源添加`}),(0,v.jsx)(`p`,{children:`输入 npm 包名安装最新版本,也可用 @版本号指定版本。`}),(0,v.jsxs)(`div`,{className:`plugin-source-form`,children:[(0,v.jsx)(`label`,{className:`sr-only`,htmlFor:`dshSource`,children:`DSH 插件来源`}),(0,v.jsx)(`input`,{id:`dshSource`,value:h,onChange:e=>_(e.target.value),placeholder:`@xmanrui/dsh-im`}),(0,v.jsxs)(`button`,{className:`button secondary`,disabled:!y||!h.trim()||!!k,onClick:()=>void L(),children:[k===`install`?(0,v.jsx)(Pp,{className:`animate-spin`,size:15}):(0,v.jsx)(zf,{size:15}),`安装`]})]}),(0,v.jsxs)(`label`,{className:`plugin-install-consent`,children:[(0,v.jsx)(`input`,{type:`checkbox`,checked:y,onChange:e=>b(e.target.checked)}),`我已知悉:DSH 包及安装脚本以当前系统用户权限运行。`]})]})]})]})}function vq({pageId:e,contributions:t}){let n=(0,g.useRef)(null),r=t.find(t=>t.id===e),[i,a]=(0,g.useState)(``),[o,s]=(0,g.useState)(0);return(0,g.useEffect)(()=>{if(a(``),!(!r||!n.current)){if(!window.__STUDIO_DSH__){if(!r.pluginId){let t,r=!1;return b(e,n.current,{}).then(e=>{r||(t=e)}).catch(e=>{r||a(e instanceof Error?e.message:`插件页面打开失败。`)}),()=>{r=!0,t?.()}}let t=!1;return q(`/api/v1/plugin-ecosystems/dsh/core/session`,{method:`POST`}).then(n=>{if(!n.ok)throw Error(`插件服务尚未就绪,请稍后重试`);t||window.location.assign(`/studio-core/?workspacePage=${e}#/workspace/${e}`)}).catch(e=>{t||a(e instanceof Error?e.message:String(e))}),()=>{t=!0}}try{return window.__STUDIO_DSH__?.attachWorkspace?.(e,n.current,{})}catch(e){a(e instanceof Error?e.message:`插件页面打开失败。`)}}},[e,r?.pluginId,!!r,o]),r?(0,v.jsxs)(`div`,{className:`studio-plugin-page-surface`,children:[i&&(0,v.jsxs)(`div`,{role:`alert`,className:`studio-plugin-empty`,children:[(0,v.jsx)(`p`,{children:i}),(0,v.jsx)(`button`,{className:`button secondary`,onClick:()=>s(e=>e+1),children:`重试`})]}),(0,v.jsx)(`div`,{ref:n,className:`studio-plugin-page-mount`})]}):e===`teams`?(0,v.jsx)(ZK,{}):(0,v.jsxs)(`div`,{className:`studio-plugin-empty`,children:[(0,v.jsx)(`h2`,{children:`此插件工作区尚未加载`}),(0,v.jsx)(`p`,{children:`请在插件管理中启用对应插件。`}),(0,v.jsx)(`a`,{className:`button secondary`,href:`#/plugins`,children:`打开插件管理`})]})}function yq(){let[e,t]=(0,g.useState)([]);return(0,g.useEffect)(()=>{let e=!1,n,r,i=()=>{e||t([...window.__STUDIO_DSH__?.workspacePages?.()||[]].sort((e,t)=>(e.order||0)-(t.order||0)))},a=()=>{n?.(),n=window.__STUDIO_DSH__?.subscribeWorkspace?.(i),i()};a();let o=()=>{e||window.__STUDIO_DSH__||Promise.all([q(`/api/v1/plugins/teams/lifecycle`).then(e=>e.ok?e.json():null),q(`/api/v1/plugins/workspace-contributions`).then(e=>e.ok?e.json():null)]).then(([n,r])=>{let i=[];n?.available&&n?.enabled&&n?.health===`ready`&&i.push({id:`teams`,label:`团队`,pluginId:`teams`,order:30}),Array.isArray(r?.items)&&i.push(...r.items),!(e||window.__STUDIO_DSH__)&&t(i.sort((e,t)=>(e.order||0)-(t.order||0)))}).catch(()=>void 0)};o(),r=window.setInterval(o,1500);let s=()=>{r!==void 0&&window.clearInterval(r),r=void 0,a()};return window.addEventListener(`studio:bridge-ready`,s),window.addEventListener(`studio:workspace-changed`,i),()=>{n?.(),e=!0,r!==void 0&&window.clearInterval(r),window.removeEventListener(`studio:bridge-ready`,s),window.removeEventListener(`studio:workspace-changed`,i)}},[]),e}var bq=new Set([`QUEUED`,`RUNNING`]);function xq(e){if(!e)return`-`;let t=new Date(e);return Number.isNaN(t.getTime())?`-`:new Intl.DateTimeFormat(`zh-CN`,{month:`2-digit`,day:`2-digit`,hour:`2-digit`,minute:`2-digit`}).format(t)}function Sq(e){return e==null?`-`:e<1e3?`${e} ms`:`${(e/1e3).toFixed(2)} s`}function Cq(e){if(!e.completedAt)return bq.has(e.status)?`进行中`:`-`;let t=new Date(e.completedAt).getTime()-new Date(e.createdAt).getTime();return Number.isFinite(t)&&t>=0?Sq(t):`-`}function wq(e){return e===`PASSED`||e===`SUCCEEDED`?`success`:bq.has(e)?`info`:e===`CANCELLED`||e===`INTERRUPTED`?`warning`:`danger`}function Tq(e){return[`ERROR`,`CANCELLED`,`UNAVAILABLE`].includes(e.targetRun.status)?e.targetRun.status:e.metrics.every(e=>!e.required||e.status===`PASS`)?`PASSED`:`FAILED`}async function Eq(e,t){try{let n=await e.json();return n?.error?.message||n?.detail?.message||t}catch{return t}}function Dq(e,t){return t===`active`?bq.has(e.status):t===`passed`?e.status===`PASSED`:t!==`attention`||[`FAILED`,`ERROR`,`INTERRUPTED`,`UNAVAILABLE`].includes(e.status)}var Oq=[{id:`response_contract@v1`,label:`响应契约`},{id:`runtime_budget@v1`,label:`运行预算`},{id:`tool_trajectory@v1`,label:`工具轨迹`},{id:`reference_match@v1`,label:`参考答案匹配`}],kq=Oq.slice(0,3).map(e=>e.id);function Aq({refreshTick:e,onOpenRun:t=e=>window.history.pushState(null,``,`#/evaluations/${encodeURIComponent(e)}`)}){let n=(0,g.useRef)(null),r=(0,g.useRef)(0),[i,a]=(0,g.useState)([]),[o,s]=(0,g.useState)(`all`),[c,l]=(0,g.useState)({builds:[]}),[u,d]=(0,g.useState)([]),[f,p]=(0,g.useState)(!0),[m,h]=(0,g.useState)(``),[_,y]=(0,g.useState)(!1),[b,x]=(0,g.useState)(!1),[S,C]=(0,g.useState)(``),[w,T]=(0,g.useState)(``),[E,D]=(0,g.useState)(!1),[O,k]=(0,g.useState)(``),[A,j]=(0,g.useState)(`a2a`),[M,N]=(0,g.useState)(``),[P,F]=(0,g.useState)(``),[I,ee]=(0,g.useState)(120),[L,te]=(0,g.useState)(`risk`),[R,z]=(0,g.useState)(!1),[ne,re]=(0,g.useState)(()=>[...kq]),ie=(0,g.useCallback)(async()=>{let e=++r.current;n.current?.abort();let t=new AbortController;n.current=t;try{let n=await q(`/api/v1/evaluation-runs`,{signal:t.signal});if(!n.ok)throw Error(await Eq(n,`评测任务加载失败`));let i=await n.json();e===r.current&&(a(i.items||[]),h(``))}catch(n){if(t.signal.aborted)return;e===r.current&&h(n instanceof Error?n.message:`评测任务加载失败`)}finally{e===r.current&&p(!1)}},[]),ae=(0,g.useCallback)(async()=>{try{let[e,t]=await Promise.all([q(`/api/v1/evaluation-targets`),q(`/api/v1/agents`)]);if(!e.ok)return;let[n,r]=await Promise.all([e.json(),t.ok?t.json():Promise.resolve({items:[]})]);l({builds:n.builds||[]}),d(r.items||[])}catch{}},[]);(0,g.useEffect)(()=>{p(!0),ie(),ae()},[ae,ie,e]),(0,g.useEffect)(()=>{if(!i.some(e=>bq.has(e.status)))return;let e=()=>{document.visibilityState===`visible`&&ie()},t=window.setInterval(e,1e3);return document.addEventListener(`visibilitychange`,e),()=>{window.clearInterval(t),document.removeEventListener(`visibilitychange`,e)}},[ie,i]),(0,g.useEffect)(()=>()=>n.current?.abort(),[]);function B(e){if(j(e),e!==`studio_build`){F(``);return}let t=u.find(e=>c.builds.some(t=>t.agentId===e.metadata.id))?.metadata.id||c.builds[0]?.agentId||``;N(t),F(c.builds.find(e=>e.agentId===t)?.id||``)}let V=(0,g.useMemo)(()=>c.builds.filter(e=>e.agentId===M),[c.builds,M]);(0,g.useEffect)(()=>{A===`studio_build`&&N(e=>e&&c.builds.some(t=>t.agentId===e)?e:u.find(e=>c.builds.some(t=>t.agentId===e.metadata.id))?.metadata.id||c.builds[0]?.agentId||``)},[u,c.builds,A]),(0,g.useEffect)(()=>{A===`studio_build`&&F(e=>V.some(t=>t.id===e)?e:V[0]?.id||``)},[V,A]);async function H(e){if(e.preventDefault(),!(b||E||!w.trim()||!P.trim()||!ne.length)){x(!0),C(``);try{let e=await q(`/api/v1/evaluations`,{method:`POST`,headers:{"Content-Type":`application/json`,"Idempotency-Key":`evaluation-${Date.now()}`},body:JSON.stringify({evalsetFile:w.trim(),target:{kind:A,locator:P.trim()},config:{timeoutSeconds:I,failFast:R,dataPolicy:`local_only`,toolApprovalMode:L,evaluators:ne}})});if(!e.ok)throw Error(await Eq(e,`评测任务创建失败`));y(!1),C(`评测任务已创建`),CL(`评测任务已创建`,w.trim()),await ie()}catch(e){CL(`评测任务创建失败`,e instanceof Error?e.message:`请稍后重试`,`error`)}finally{x(!1)}}}async function oe(e){D(!0),T(``),k(``);let t=new FormData;t.append(`file`,e);try{let e=await q(`/api/v1/evaluation-files`,{method:`POST`,body:t});if(!e.ok)throw Error(await Eq(e,`EvalSet 文件导入失败`));let n=await e.json();T(n.path||``)}catch(e){k(e instanceof Error?e.message:`EvalSet 文件导入失败`)}finally{D(!1)}}let se=(0,g.useMemo)(()=>[{id:`evalset`,header:`评测任务`,className:`evaluation-run__name`,minWidth:260,cell:e=>(0,v.jsx)(`strong`,{title:e.id,children:e.evalset.name||`未命名评测`})},{id:`target`,header:`评测目标`,className:`evaluation-run__target`,minWidth:180,cell:e=>(0,v.jsx)(`span`,{children:e.target.label||e.target.kind||`-`})},{id:`status`,header:`状态`,className:`evaluation-run__status`,width:120,cell:e=>(0,v.jsx)(`span`,{className:`status-badge ${wq(e.status)}`,children:e.status})},{id:`progress`,header:`用例结果`,className:`evaluation-run__progress`,minWidth:150,cell:e=>e.summary?(0,v.jsxs)(`span`,{children:[(0,v.jsxs)(`strong`,{children:[e.summary.passedCases,` / `,e.summary.totalCases]}),` 通过`]}):e.progress?(0,v.jsxs)(v.Fragment,{children:[(0,v.jsxs)(`strong`,{children:[e.progress.current,` / `,e.progress.total]}),(0,v.jsx)(`span`,{className:`resource-origin`,children:e.progress.caseId||`执行中`})]}):(0,v.jsx)(`span`,{children:`等待开始`})},{id:`createdAt`,header:`创建时间`,className:`evaluation-run__date`,minWidth:150,cell:e=>xq(e.createdAt)},{id:`duration`,header:`耗时`,className:`evaluation-run__duration`,width:100,cell:Cq}],[]),ce=i.filter(e=>Dq(e,o)),le=[{value:`all`,label:`全部`},{value:`active`,label:`运行中`},{value:`passed`,label:`已通过`},{value:`attention`,label:`需关注`}],ue=A===`a2a`?`Agent 地址`:A===`local_source`?`Agent 源码目录`:`Build`;return(0,v.jsxs)(`div`,{className:`page-container evaluation-page`,"data-layout":`data`,"data-scroll-mode":`data`,children:[(0,v.jsx)(FT,{children:(0,v.jsxs)(`button`,{className:`button accent`,type:`button`,onClick:()=>y(!0),children:[(0,v.jsx)(Xp,{size:15}),(0,v.jsx)(`span`,{children:`新建评测`})]})}),S&&(0,v.jsx)(`p`,{className:`sr-only`,role:`status`,children:S}),i.length>0&&(0,v.jsx)(`div`,{className:`evaluation-page__filters`,role:`group`,"aria-label":`筛选评测状态`,children:le.map(e=>(0,v.jsxs)(`button`,{type:`button`,"aria-label":`${e.label} ${i.filter(t=>Dq(t,e.value)).length}`,"aria-pressed":o===e.value,onClick:()=>s(e.value),children:[e.label,(0,v.jsx)(`span`,{children:i.filter(t=>Dq(t,e.value)).length})]},e.value))}),(0,v.jsx)(`section`,{className:`evaluation-page__run-list`,"aria-label":`评测运行`,children:(0,v.jsx)(kO,{columns:se,data:ce,getRowId:e=>e.id,caption:`评测运行列表`,minWidth:980,loading:f,error:m,onRetry:()=>void ie(),onRowActivate:e=>t(e.id),rowAriaLabel:e=>`打开评测 ${e.evalset.name||e.id}`,empty:{icon:(0,v.jsx)(jf,{size:22}),title:i.length?`没有符合条件的评测`:`还没有评测任务`,description:i.length?`选择其他状态查看任务。`:`创建评测后即可在这里查看结果。`}})}),_&&(0,v.jsx)(sV,{title:`新建评测`,subtitle:`选择测试集、评测目标和评估器,开始后在后台执行。`,wide:!0,closeDisabled:b,onClose:()=>y(!1),footer:(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(`span`,{className:`drawer-footer-spacer`}),(0,v.jsx)(`button`,{className:`button tertiary`,type:`button`,onClick:()=>y(!1),disabled:b,children:`取消`}),(0,v.jsx)(`button`,{className:`button accent`,type:`submit`,form:`evaluation-create-form`,disabled:b||E||!w.trim()||!P.trim()||!ne.length,children:b?`正在创建`:`开始评测`})]}),children:(0,v.jsxs)(`form`,{id:`evaluation-create-form`,className:`evaluation-page__create form-grid two-columns`,onSubmit:H,children:[(0,v.jsxs)(Y,{className:`evaluation-page__field--wide`,label:`EvalSet 文件`,htmlFor:`evaluation-evalset`,requirement:`required`,children:[(0,v.jsxs)(`div`,{className:`evaluation-page__evalset-picker`,children:[(0,v.jsx)(`input`,{id:`evaluation-evalset`,className:`sr-only`,type:`file`,accept:`.yaml,.yml,.json,application/json,application/yaml,text/yaml`,"aria-label":`选择 EvalSet 文件`,disabled:E,onChange:e=>{let t=e.target.files?.[0];e.target.value=``,t&&oe(t)}}),(0,v.jsxs)(`label`,{className:`button secondary`,htmlFor:`evaluation-evalset`,children:[(0,v.jsx)(xp,{size:15}),(0,v.jsx)(`span`,{children:E?`正在导入`:`选择文件`})]}),(0,v.jsx)(`span`,{className:`evaluation-page__evalset-path`,title:w,children:w||`尚未选择 EvalSet`})]}),O&&(0,v.jsx)(`p`,{className:`studio-field-error`,role:`alert`,children:O})]}),(0,v.jsx)(Y,{label:`评测目标`,requirement:`required`,children:(0,v.jsx)(Wk,{ariaLabel:`评测目标`,value:A,options:[{value:`a2a`,label:`A2A Agent`},{value:`local_source`,label:`本地源码`},{value:`studio_build`,label:`Studio Build`}],onValueChange:e=>B(e)})}),A===`studio_build`&&(0,v.jsx)(Y,{label:`Agent`,htmlFor:`evaluation-agent`,requirement:`required`,children:(0,v.jsx)(Wk,{id:`evaluation-agent`,ariaLabel:`Studio Agent`,value:M,placeholder:`请选择 Agent`,options:u.map(e=>({value:e.metadata.id,label:e.metadata.name,description:c.builds.some(t=>t.agentId===e.metadata.id)?e.metadata.id:`${e.metadata.id} · 需先构建`,disabled:!c.builds.some(t=>t.agentId===e.metadata.id)})),disabled:!u.some(e=>c.builds.some(t=>t.agentId===e.metadata.id)),onValueChange:N})}),(0,v.jsx)(Y,{label:ue,htmlFor:`evaluation-locator`,requirement:`required`,children:A===`studio_build`?(0,v.jsx)(Wk,{id:`evaluation-locator`,ariaLabel:`Studio Build`,value:P,placeholder:`暂无成功 Build`,options:V.map(e=>({value:e.id,label:e.id,description:e.runtime})),disabled:!V.length,onValueChange:F}):(0,v.jsx)(`input`,{id:`evaluation-locator`,value:P,onChange:e=>F(e.target.value),required:!0,placeholder:A===`a2a`?`https://agent.example.test/a2a`:`.`})}),(0,v.jsx)(Y,{label:`超时(秒)`,htmlFor:`evaluation-timeout`,requirement:`required`,children:(0,v.jsx)(`input`,{id:`evaluation-timeout`,type:`number`,min:1,max:3600,value:I,onChange:e=>ee(Number(e.target.value)),required:!0})}),(0,v.jsx)(Y,{label:`工具审批`,requirement:`required`,children:(0,v.jsx)(Wk,{ariaLabel:`工具审批`,value:L,options:[{value:`risk`,label:`风险操作需确认`,description:`默认;遇到审批时等待人工处理`},{value:`full`,label:`完全访问`,description:`仅用于已隔离、允许写入的自动评测`},{value:`ask`,label:`每次确认`,description:`所有工具操作都要求人工确认`}],onValueChange:e=>te(e)})}),(0,v.jsx)(Y,{label:`运行策略`,children:(0,v.jsxs)(`label`,{className:`checkbox-row evaluation-page__fail-fast`,children:[(0,v.jsx)(`input`,{type:`checkbox`,checked:R,onChange:e=>z(e.target.checked)}),(0,v.jsxs)(`span`,{children:[(0,v.jsx)(`strong`,{children:`失败时停止`}),(0,v.jsx)(`small`,{children:`首个用例失败后结束评测`})]})]})}),(0,v.jsxs)(Y,{className:`evaluation-page__field--wide`,label:`评估器`,requirement:`required`,children:[(0,v.jsx)(`div`,{className:`evaluation-page__evaluator-options`,role:`group`,"aria-label":`评估器`,children:Oq.map(e=>(0,v.jsxs)(`label`,{className:`checkbox-row`,children:[(0,v.jsx)(`input`,{type:`checkbox`,"aria-label":e.label,checked:ne.includes(e.id),onChange:t=>re(n=>t.target.checked?[...n,e.id]:n.filter(t=>t!==e.id))}),(0,v.jsx)(`span`,{title:e.id,children:(0,v.jsx)(`strong`,{children:e.label})})]},e.id))}),!ne.length&&(0,v.jsx)(`p`,{className:`studio-field-error`,role:`alert`,children:`至少选择一个评估器`})]})]})})]})}function jq(e){return typeof e==`string`?e:e==null?`-`:JSON.stringify(e,null,2)}function Mq(e,t,n,r){let i=n.slice(0,t).filter(t=>t.type===e.type).length;return r.filter(t=>t.evidence?.assertion===e.type)[i]}function Nq({runId:e,onBack:t,refreshTick:n=0}){let r=(0,g.useRef)(null),[i,a]=(0,g.useState)(null),[o,s]=(0,g.useState)(``),[c,l]=(0,g.useState)(!0),[u,d]=(0,g.useState)(``),[f,p]=(0,g.useState)(!1),m=(0,g.useCallback)(async()=>{r.current?.abort();let t=new AbortController;r.current=t;try{let n=await q(`/api/v1/evaluation-runs/${encodeURIComponent(e)}`,{signal:t.signal});if(!n.ok)throw Error(await Eq(n,`评测详情加载失败`));let r=await n.json();if(t.signal.aborted)return;a(r),s(e=>r.report?.caseRuns.some(t=>t.caseId===e)?e:r.report?.caseRuns[0]?.caseId||``),d(``)}catch(e){if(t.signal.aborted)return;d(e instanceof Error?e.message:`评测详情加载失败`)}finally{t.signal.aborted||l(!1)}},[e]);(0,g.useEffect)(()=>(l(!0),m(),()=>r.current?.abort()),[m,n]),(0,g.useEffect)(()=>{if(!i||!bq.has(i.status))return;let e=()=>{document.visibilityState===`visible`&&m()},t=window.setInterval(e,1e3);return document.addEventListener(`visibilitychange`,e),()=>{window.clearInterval(t),document.removeEventListener(`visibilitychange`,e)}},[m,i]);let h=(0,g.useMemo)(()=>i?.report?.caseRuns.find(e=>e.caseId===o)||null,[o,i]),_=(0,g.useMemo)(()=>new Map((i?.report?.spec.evalset.cases||[]).map(e=>[e.id,e])),[i]),y=h?_.get(h.caseId):void 0;async function b(){if(!(!i||!bq.has(i.status)||f)){p(!0);try{let e=await q(`/api/v1/operations/${encodeURIComponent(i.operationId)}:cancel`,{method:`POST`});if(!e.ok)throw Error(await Eq(e,`取消评测失败`));CL(`已提交取消请求`,i.evalset.name||i.id),await m()}catch(e){CL(`取消评测失败`,e instanceof Error?e.message:`请稍后重试`,`error`)}finally{p(!1)}}}return(0,v.jsxs)(`div`,{className:`page-container evaluation-page evaluation-detail-page`,"data-layout":`data`,"data-scroll-mode":`workbench`,children:[(0,v.jsxs)(FT,{children:[(0,v.jsxs)(`button`,{className:`button tertiary`,type:`button`,onClick:t,children:[(0,v.jsx)(Nf,{size:15}),(0,v.jsx)(`span`,{children:`返回评测列表`})]}),i&&bq.has(i.status)&&(0,v.jsxs)(`button`,{className:`button danger`,type:`button`,onClick:()=>void b(),disabled:f,children:[(0,v.jsx)(lm,{size:14}),(0,v.jsx)(`span`,{children:f?`正在取消`:`取消评测`})]})]}),(0,v.jsx)(`header`,{className:`evaluation-detail-page__title`,children:(0,v.jsx)(`h2`,{children:i?.evalset.name||`评测详情`})}),u&&i&&(0,v.jsx)(`p`,{className:`studio-field-error`,role:`alert`,children:u}),c&&!i?(0,v.jsxs)(`div`,{className:`evaluation-page__detail-empty`,children:[(0,v.jsx)(jf,{size:22}),(0,v.jsx)(`strong`,{children:`正在加载评测详情`})]}):u&&!i?(0,v.jsxs)(`div`,{className:`evaluation-page__detail-empty`,role:`alert`,children:[(0,v.jsx)(`strong`,{children:`评测详情加载失败`}),(0,v.jsx)(`span`,{children:u}),(0,v.jsx)(`button`,{className:`button secondary`,type:`button`,onClick:()=>void m(),children:`重试`})]}):i?(0,v.jsxs)(v.Fragment,{children:[(0,v.jsxs)(`section`,{className:`evaluation-detail-page__overview`,"aria-label":`评测运行概览`,children:[(0,v.jsx)(`span`,{className:`status-badge ${wq(i.status)}`,children:i.status}),(0,v.jsx)(`span`,{children:i.summary?(0,v.jsxs)(v.Fragment,{children:[(0,v.jsxs)(`strong`,{children:[i.summary.passedCases,` / `,i.summary.totalCases]}),` 用例通过`]}):i.progress?(0,v.jsxs)(v.Fragment,{children:[(0,v.jsxs)(`strong`,{children:[i.progress.current,` / `,i.progress.total]}),` 已执行`]}):`等待开始`}),(0,v.jsx)(`span`,{children:Cq(i)}),(0,v.jsx)(`span`,{children:xq(i.createdAt)})]}),i.error?.message&&(0,v.jsx)(`p`,{className:`studio-field-error`,role:`alert`,children:i.error.message}),(0,v.jsxs)(`details`,{className:`evaluation-detail-page__configuration`,children:[(0,v.jsx)(`summary`,{children:`评测配置与数据集`}),(0,v.jsxs)(`dl`,{className:`evaluation-page__snapshot`,children:[(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`dt`,{children:`任务 ID`}),(0,v.jsx)(`dd`,{className:`mono`,children:e})]}),(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`dt`,{children:`评测目标`}),(0,v.jsx)(`dd`,{children:i.target.label||i.target.kind||`-`})]})]}),i.report&&(0,v.jsxs)(v.Fragment,{children:[(0,v.jsxs)(`dl`,{className:`evaluation-page__snapshot`,children:[(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`dt`,{children:`Target`}),(0,v.jsx)(`dd`,{children:i.report.spec.target.kind})]}),(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`dt`,{children:`Runtime`}),(0,v.jsx)(`dd`,{children:i.report.spec.target.runtime||`-`})]}),(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`dt`,{children:`Revision Digest`}),(0,v.jsx)(`dd`,{className:`mono`,children:i.report.spec.target.revisionDigest})]}),(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`dt`,{children:`Entrypoint`}),(0,v.jsx)(`dd`,{className:`mono`,children:i.report.spec.target.entrypoint})]})]}),(0,v.jsxs)(`section`,{className:`evaluation-page__dataset`,"aria-labelledby":`evaluation-dataset-heading`,children:[(0,v.jsxs)(`div`,{className:`evaluation-page__dataset-heading`,children:[(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`h2`,{id:`evaluation-dataset-heading`,children:`数据集快照`}),typeof i.report.spec.evalset.metadata?.description==`string`&&(0,v.jsx)(`p`,{children:i.report.spec.evalset.metadata.description})]}),(0,v.jsx)(`span`,{children:i.report.spec.evalset.schemaVersion||`ksadk.eval/v1`})]}),(0,v.jsxs)(`dl`,{className:`evaluation-page__dataset-summary`,children:[(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`dt`,{children:`名称`}),(0,v.jsx)(`dd`,{children:i.report.spec.evalset.name})]}),(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`dt`,{children:`Case`}),(0,v.jsx)(`dd`,{children:i.report.spec.evalset.cases?.length??i.report.caseRuns.length})]}),(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`dt`,{children:`来源格式`}),(0,v.jsx)(`dd`,{children:i.report.spec.evalset.sourceFormat||`-`})]}),(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`dt`,{children:`Content Digest`}),(0,v.jsx)(`dd`,{className:`mono`,children:i.report.spec.evalset.contentDigest||`-`})]})]})]})]})]}),!i.report&&(0,v.jsxs)(`section`,{className:`evaluation-detail-page__pending`,children:[(0,v.jsx)(jf,{size:20}),(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`strong`,{children:bq.has(i.status)?`评测正在后台执行`:`该任务没有可用报告`}),(0,v.jsx)(`span`,{children:i.progress?.caseId?`当前 Case:${i.progress.caseId}`:i.error?.message||`等待运行状态更新。`})]})]}),i.report&&(0,v.jsxs)(`section`,{className:`evaluation-detail-page__report`,children:[(0,v.jsxs)(`div`,{className:`evaluation-page__panel-header`,children:[(0,v.jsx)(`div`,{children:(0,v.jsx)(`strong`,{children:`用例结果`})}),(0,v.jsxs)(`span`,{children:[i.report.caseRuns.length,` 个用例`]})]}),(0,v.jsxs)(`div`,{className:`evaluation-page__case-layout`,children:[(0,v.jsx)(`div`,{className:`evaluation-page__case-list`,"aria-label":`用例列表`,children:i.report.caseRuns.map(e=>{let t=Tq(e),n=_.get(e.caseId)?.turns.at(-1)?.input;return(0,v.jsxs)(`button`,{type:`button`,"aria-pressed":e.caseId===o,className:e.caseId===o?`active`:``,onClick:()=>s(e.caseId),children:[(0,v.jsxs)(`span`,{children:[(0,v.jsx)(`strong`,{children:e.caseId}),(0,v.jsx)(`small`,{className:`evaluation-page__case-preview`,children:n||`Attempt ${e.attempt}`})]}),(0,v.jsxs)(`span`,{children:[(0,v.jsx)(`span`,{className:`status-badge ${wq(t)}`,children:t}),(0,v.jsx)(`small`,{children:Sq(e.targetRun.durationMs)})]})]},e.caseId)})}),(0,v.jsx)(`div`,{className:`evaluation-page__case-detail`,children:h?(0,v.jsxs)(v.Fragment,{children:[(0,v.jsxs)(`section`,{children:[(0,v.jsx)(`h3`,{children:`输入与预期`}),y?(0,v.jsx)(`div`,{className:`evaluation-page__turns`,children:y.turns.map((e,t)=>(0,v.jsxs)(`article`,{children:[(0,v.jsxs)(`strong`,{children:[`Turn `,t+1]}),(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`span`,{children:`输入`}),(0,v.jsx)(`pre`,{children:e.input})]}),e.expectedOutput!==void 0&&e.expectedOutput!==null&&(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`span`,{children:`期望输出`}),(0,v.jsx)(`pre`,{children:e.expectedOutput})]}),!!e.expectedTools?.length&&(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`span`,{children:`期望工具`}),(0,v.jsx)(`div`,{className:`evaluation-page__expected-tools`,children:e.expectedTools.map((e,n)=>(0,v.jsx)(`code`,{children:String(e.name||jq(e))},`${t}-${n}`))})]})]},`${y.id}-turn-${t}`))}):(0,v.jsx)(`p`,{className:`evaluation-page__muted`,children:`该报告没有保存 Case 输入快照。`})]}),!!y?.assertions?.length&&(0,v.jsxs)(`section`,{children:[(0,v.jsx)(`h3`,{children:`断言与评估结果`}),(0,v.jsx)(`div`,{className:`evaluation-page__assertions`,children:y.assertions.map((e,t,n)=>{let r=Mq(e,t,n,h.metrics);return(0,v.jsxs)(`div`,{children:[(0,v.jsxs)(`span`,{children:[(0,v.jsx)(`strong`,{children:e.type}),(0,v.jsx)(`small`,{children:e.required===!1?`可选`:`必需`})]}),(0,v.jsx)(`code`,{children:jq(e.value)}),(0,v.jsx)(`span`,{className:`status-badge ${wq(r?.status===`PASS`?`PASSED`:r?.status||`UNAVAILABLE`)}`,children:r?.status||`-`})]},`${e.type}-${t}`)})})]}),(0,v.jsxs)(`section`,{children:[(0,v.jsxs)(`div`,{className:`evaluation-page__section-title`,children:[(0,v.jsx)(`h3`,{children:`Agent 输出`}),(0,v.jsxs)(`span`,{children:[Sq(h.targetRun.durationMs),` · `,h.targetRun.usage?.reported?`${h.targetRun.usage.totalTokens||0} Tokens`:`Token 未上报`]})]}),(0,v.jsx)(`pre`,{children:h.targetRun.output||h.targetRun.errorMessage||`无输出`})]}),(0,v.jsxs)(`section`,{children:[(0,v.jsx)(`h3`,{children:`评估指标`}),(0,v.jsx)(`div`,{className:`evaluation-page__evidence`,children:h.metrics.map(e=>(0,v.jsxs)(`div`,{children:[(0,v.jsxs)(`strong`,{children:[e.name,`@`,e.version||`v1`]}),(0,v.jsx)(`span`,{className:`status-badge ${wq(e.status===`PASS`?`PASSED`:e.status)}`,children:e.status}),(0,v.jsx)(`span`,{children:e.score??`-`})]},`${e.name}-${e.version||`v1`}-${e.status}`))})]}),(0,v.jsx)(`section`,{className:`evaluation-page__case-evidence`,children:(0,v.jsxs)(`details`,{children:[(0,v.jsx)(`summary`,{children:`执行证据`}),(0,v.jsx)(`h4`,{children:`TraceRef`}),(0,v.jsx)(`pre`,{children:h.targetRun.traceRef?JSON.stringify(h.targetRun.traceRef,null,2):`未上报 TraceRef`}),!!y&&Object.keys(y.metadata||{}).length>0&&(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(`h4`,{children:`Case Metadata`}),(0,v.jsx)(`pre`,{children:JSON.stringify(y.metadata,null,2)})]})]})})]}):(0,v.jsx)(`div`,{className:`evaluation-page__detail-empty`,children:(0,v.jsx)(`span`,{children:`选择一个 Case 查看详情。`})})})]})]})]}):null]})}var Pq=`https://kspmas.ksyun.com/v1`,Fq=OI({apiKey:GF().max(16384,`API Key 不能超过 16384 个字符`).default(``),endpointUrl:GF().trim().max(1024,`接口地址不能超过 1024 个字符`).default(``),manualModel:GF().trim().max(256,`模型 ID 不能超过 256 个字符`).default(``),temperature:pL().min(0,`temperature 需在 0-2 之间`).max(2,`temperature 需在 0-2 之间`).default(.2),maxTokens:pL().int(`max_tokens 需为 1-131072 的整数`).min(1,`max_tokens 需为 1-131072 的整数`).max(131072,`max_tokens 需为 1-131072 的整数`).default(2048),credentialEnv:GF().trim().regex(/^[A-Za-z_][A-Za-z0-9_]*$/,`环境变量名需为合法标识符`).default(`MODEL_API_KEY`)}),Iq=[`deepseek`,`glm`,`qwen`,`kimi`,`doubao`,`claude`,`gpt`,`gemini`];function Lq(e){for(let t of Iq){let n=e.find(e=>e.toLowerCase().includes(t));if(n)return n}return e[0]||``}function Rq(e,t){let n=e.toLowerCase().replace(/[^a-z0-9._-]+/g,`-`).replace(/^[-._]+/,``).slice(0,120);/^[a-z]/.test(n)||(n=`model-${n}`),n.length<2&&(n=`${n}-x`);let r=n,i=2;for(;t.has(r);)r=`${n}-${i++}`;return t.add(r),r}var zq={chat:`Chat`,responses:`Responses`,anthropic:`Anthropic`},Bq={ok:`可用`,auth_required:`需凭证`,recognized:`可识别`,unavailable:`不存在`,unreachable:`不可达`,error:`错误`};function Vq({onSaved:e}){let t=Pj({resolver:Wj(Fq),defaultValues:{apiKey:``,endpointUrl:``,manualModel:``,temperature:.2,maxTokens:2048,credentialEnv:`MODEL_API_KEY`}}),[n,r]=(0,g.useState)(!1),[i,a]=(0,g.useState)(``),[o,s]=(0,g.useState)(null),[c,l]=(0,g.useState)(new Set),u=(0,g.useRef)(!1),[d,f]=(0,g.useState)(!1),[p,m]=(0,g.useState)(``),[h,_]=(0,g.useState)([]);(0,g.useEffect)(()=>{q(`/api/v1/catalog/models`).then(e=>e.json()).then(e=>{_((e.items||[]).map(e=>e.name).filter(Boolean))}).catch(()=>{})},[]);let y=(0,g.useCallback)(async()=>{let e=t.getValues(),n=e.endpointUrl.trim()||`https://kspmas.ksyun.com/v1`;r(!0),a(``);try{let t={url:n},r=e.apiKey.trim();r&&(t.apiKey=r);let i=await q(`/api/v1/model-endpoints:probe`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(t)});if(!i.ok)throw Error(await eU(i,`探测失败`));let a=await i.json();s(a),a.models.length>0&&!u.current&&l(new Set([Lq(a.models)]))}catch(e){s(null),a(e.message)}r(!1)},[t]),b=t.watch(`apiKey`),x=t.watch(`endpointUrl`),S=(0,g.useRef)(null);(0,g.useEffect)(()=>{if(!(b.trim().length<8))return S.current&&clearTimeout(S.current),S.current=setTimeout(()=>{y()},700),()=>{S.current&&clearTimeout(S.current)}},[b,x,y]);function C(e){u.current=!0,l(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})}async function w(){let n=t.getValues(),r=n.credentialEnv.trim()||`MODEL_API_KEY`,i=`env://${r}`,a=c.size>0?[...c]:[n.manualModel.trim()].filter(Boolean);if(a.length===0){m(o?.models.length?`请至少选择一个模型`:`请选择模型或手动填写模型 ID`);return}f(!0),m(``);try{if(n.apiKey.trim()){let e=await q(`/api/v1/credentials/${encodeURIComponent(r)}`,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify({value:n.apiKey.trim(),persistence:`session`})});if(!e.ok)throw Error(await eU(e,`凭证保存失败`))}let c=o?.recommended?.endpointUrl||n.endpointUrl.trim()||`https://kspmas.ksyun.com/v1`,d=o?.recommended?.wireApi||``,f=new Set;for(let e of a){let t={provider:`openai-compatible`,model:e,credentialRef:i,parameters:{temperature:n.temperature,max_tokens:n.maxTokens}};d&&(t.wireApi=d),t.endpointUrl=c;let r=await q(`/api/v1/catalog/model-profiles`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({name:Rq(e,f),displayName:e,version:`1.0.0`,description:``,spec:t})});if(!r.ok){let t=await r.json().catch(()=>null);throw Error(t?.error?.message||`创建 ${e} 失败(${r.status})`)}}CL((a.length,`模型已创建`),a.join(`、`)),s(null),l(new Set),u.current=!1,t.setValue(`apiKey`,``),t.setValue(`manualModel`,``),e()}catch(e){m(e.message)}f(!1)}let T=[...new Set([...o?.models||[],...h])],E=(o?.models.length||0)>0,D=o?.recommended?.status===`auth_required`||o?.attempts.some(e=>e.status===`auth_required`);return(0,v.jsxs)(`div`,{className:`model-setup-form`,"data-testid":`model-setup-form`,children:[(0,v.jsx)(Y,{label:`API Key`,requirement:`required`,htmlFor:`setupApiKey`,hint:`保存到当前工作区;填完后会自动智能探测可用模型。`,children:(0,v.jsx)(`input`,{id:`setupApiKey`,type:`password`,autoComplete:`new-password`,placeholder:`输入模型服务 API Key`,...t.register(`apiKey`)})}),(0,v.jsx)(Y,{label:`接口地址`,requirement:`optional`,htmlFor:`setupEndpoint`,hint:`留空默认使用 ${Pq};支持主机、/v1 或完整 endpoint 地址,探测会自动归一化。`,children:(0,v.jsx)(`input`,{id:`setupEndpoint`,className:`mono`,placeholder:`默认 ${Pq}`,...t.register(`endpointUrl`)})}),(n||o||i)&&(0,v.jsxs)(`div`,{className:`model-probe-result`,role:`status`,children:[n&&(0,v.jsx)(`span`,{className:`helper`,children:`正在智能探测可用协议与模型…`}),!n&&o&&(0,v.jsxs)(v.Fragment,{children:[(0,v.jsxs)(`div`,{className:`model-probe-attempts`,children:[(o.attempts||[]).map((e,t)=>(0,v.jsxs)(`span`,{className:`badge`,"data-state":e.status===`ok`?`ready`:e.status===`unavailable`||e.status===`unreachable`?`failed`:`pending`,title:e.endpointUrl,children:[zq[e.protocol]||e.protocol,`·`,Bq[e.status]||e.status,e.latencyMs!=null&&e.status===`ok`?` ${e.latencyMs}ms`:``]},t)),o.recommended&&(0,v.jsxs)(`span`,{className:`tag`,children:[`推荐协议:`,zq[o.recommended.protocol]||o.recommended.protocol]})]}),D&&(0,v.jsx)(`span`,{className:`helper`,children:`端点可达但需要有效凭证(401/403),确认 API Key 后可正常使用。`})]}),!n&&!o&&i&&(0,v.jsxs)(`span`,{className:`helper`,children:[`探测未成功:`,i,`,可稍后重试或手动填写模型 ID。`]})]}),E?(0,v.jsxs)(`div`,{className:`form-field-scope`,children:[(0,v.jsx)(`span`,{className:`field-label`,children:`可用模型`}),(0,v.jsx)(`div`,{className:`model-chip-list`,children:o.models.map(e=>(0,v.jsx)(`button`,{type:`button`,className:`model-chip`,"data-selected":c.has(e),"aria-pressed":c.has(e),onClick:()=>C(e),children:e},e))}),(0,v.jsx)(`span`,{className:`helper`,children:`已预选推荐模型;点击可多选,保存时按所选批量创建。`})]}):(0,v.jsx)(Y,{label:`模型 ID`,requirement:`required`,htmlFor:`setupManualModel`,hint:`探测未返回模型清单时可手动填写。`,children:(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`input`,{id:`setupManualModel`,className:`mono`,placeholder:`deepseek-v4.1-flash / …`,list:`setup-model-suggestions`,...t.register(`manualModel`)}),(0,v.jsx)(`datalist`,{id:`setup-model-suggestions`,children:T.map(e=>(0,v.jsx)(`option`,{value:e},e))})]})}),(0,v.jsxs)(`details`,{className:`setup-advanced`,children:[(0,v.jsx)(`summary`,{children:`高级选项`}),(0,v.jsxs)(`div`,{className:`form-grid two-columns`,children:[(0,v.jsx)(Y,{label:`temperature`,requirement:`optional`,htmlFor:`setupTemp`,error:t.formState.errors.temperature?.message,children:(0,v.jsx)(`input`,{id:`setupTemp`,type:`number`,step:`0.1`,min:0,max:2,...t.register(`temperature`,{valueAsNumber:!0})})}),(0,v.jsx)(Y,{label:`max_tokens`,requirement:`optional`,htmlFor:`setupMaxTokens`,error:t.formState.errors.maxTokens?.message,children:(0,v.jsx)(`input`,{id:`setupMaxTokens`,type:`number`,min:1,max:131072,...t.register(`maxTokens`,{valueAsNumber:!0})})})]}),(0,v.jsx)(Y,{label:`凭证环境变量名`,requirement:`required`,htmlFor:`setupCredentialEnv`,error:t.formState.errors.credentialEnv?.message,children:(0,v.jsx)(`input`,{id:`setupCredentialEnv`,className:`mono`,placeholder:`MODEL_API_KEY`,...t.register(`credentialEnv`)})})]}),p&&(0,v.jsx)(cV,{kind:`error`,title:`添加模型`,message:p}),(0,v.jsxs)(`div`,{className:`model-setup-actions`,children:[(0,v.jsxs)(`button`,{className:`button secondary`,type:`button`,onClick:()=>{u.current=!1,y()},disabled:n,children:[(0,v.jsx)(tm,{size:14}),(0,v.jsx)(`span`,{children:n?`探测中…`:`重新探测`})]}),(0,v.jsxs)(`button`,{className:`button accent`,type:`button`,onClick:w,disabled:d,children:[(0,v.jsx)(Kf,{size:15}),(0,v.jsx)(`span`,{children:d?`创建中…`:`创建模型${c.size>1?`(${c.size} 个)`:``}`})]})]})]})}var Hq=[{value:`system`,label:`跟随系统`,description:`随 macOS 或浏览器切换`,icon:Vp},{value:`light`,label:`浅色`,description:`始终使用明亮界面`,icon:um},{value:`dark`,label:`深色`,description:`始终使用暗色界面`,icon:Hp}],Uq=[`models`,`general`,`cloud`,`runtime`,`about`],Wq=[{id:`models`,label:`模型`},{id:`general`,label:`通用`},{id:`cloud`,label:`云端连接`},{id:`runtime`,label:`运行与沙箱`},{id:`about`,label:`关于`}];function Gq(e){return e=e.replace(/-alias$/,``),e===`workspace`||e===`session`?`工作区`:e===`environment`?`启动环境`:e===`env-file`?`启动时指定的配置`:e===`dotenv`?`项目环境配置`:e===`missing`?`未配置`:e}function Kq(e){let t=(e||`workspace-write-auto`).replaceAll(`_`,`-`);return t===`read-only`||t===`workspace-write`||t===`workspace-write-auto`||t===`full-access`?t:`workspace-write-auto`}function qq(e){let t=(e||`workspace-write-local`).replaceAll(`_`,`-`);return t===`read-only`||t===`workspace-write-local`||t===`workspace-write-remote`||t===`full-access`?t:`workspace-write-local`}function Jq({themePreference:e,onThemePreferenceChange:t,initialSection:n=`models`,onSectionChange:r}){let[i,a]=(0,g.useState)(null),o=Pj({resolver:Wj(qH),defaultValues:{sandbox:`workspace-write-auto`,harnessSandbox:`workspace-write-local`,buildAfterCreate:!0,codexProxy:`auto`,cloudRegion:``,cloudBucket:``,cloudServerUrl:``,cloudAccessKey:``,cloudSecretKey:``,cloudAccountId:``}}),[s,c]=(0,g.useState)([]),[l,u]=(0,g.useState)(!1),[d,f]=(0,g.useState)(null),[p,m]=(0,g.useState)(n),[h,_]=(0,g.useState)([]),[y,b]=(0,g.useState)(null),[x,S]=(0,g.useState)(!1);(0,g.useEffect)(()=>{m(n)},[n]);function C(e){m(e),r?.(e)}function w(e){C(e.startsWith(`cloud`)?`cloud`:`runtime`),requestAnimationFrame(()=>o.setFocus(e))}async function T(){S(!0);try{let e=await q(`/api/v1/system/update-check`);if(!e.ok)throw Error(`HTTP ${e.status}`);b(await e.json())}catch{b({latestVersion:null,hasUpdate:!1,error:`network`})}S(!1)}let E=(0,g.useCallback)(async()=>{try{let e=((await q(`/api/v1/catalog/resources?limit=200`).then(e=>e.json())).items||[]).filter(e=>e.kind===`model`&&(e.source===`local`||e.source===`market`)),t=[];for(let n of e){let e=n.requiredSecretRefs?.[0]||n.contract?.credentialRef||``,r=e.replace(/^env:\/\//,``),i={configured:!1,source:`missing`};if(r)try{i=await q(`/api/v1/credentials/${encodeURIComponent(r)}`).then(e=>e.json())}catch{}t.push({item:n,ref:e,name:r,configured:!!i?.configured,source:i?.source||`missing`})}_(t)}catch{_([])}},[]);(0,g.useEffect)(()=>{(async()=>{try{let e=await q(`/api/v1/system/settings`).then(e=>e.json());a(e),o.reset({sandbox:Kq(e.sandbox),harnessSandbox:qq(e.harnessSandbox),buildAfterCreate:e.buildAfterCreate!==!1,codexProxy:e.codexProxy||`auto`,cloudRegion:e.cloudRegion||``,cloudBucket:e.cloudBucket||``,cloudServerUrl:e.cloudServerUrl||``,cloudAccessKey:``,cloudSecretKey:``,cloudAccountId:e.cloudAccountId||``})}catch{a({})}await E();try{let e=await q(`/api/v1/system/bootstrap`).then(e=>e.json());c([[`工作区`,e?.workspace?.name||`-`],[`路径`,e?.workspace?.path||`-`],[`API 版本`,e?.apiVersion||`-`],[`Studio 版本`,e?.sdkVersion||`-`]])}catch{c([])}})()},[E,o]);async function D(e){u(!0);try{let t={sandbox:e.sandbox,harnessSandbox:e.harnessSandbox,buildAfterCreate:e.buildAfterCreate,codexProxy:e.codexProxy};e.cloudRegion.trim()&&(t.cloudRegion=e.cloudRegion.trim()),e.cloudBucket.trim()&&(t.cloudBucket=e.cloudBucket.trim()),e.cloudServerUrl.trim()&&(t.cloudServerUrl=e.cloudServerUrl.trim()),e.cloudAccessKey.trim()&&(t.cloudAccessKey=e.cloudAccessKey.trim()),e.cloudSecretKey.trim()&&(t.cloudSecretKey=e.cloudSecretKey.trim()),e.cloudAccountId.trim()&&(!t.cloudAccessKey||o.formState.dirtyFields.cloudAccountId)&&(t.cloudAccountId=e.cloudAccountId.trim());let n=await q(`/api/v1/system/settings`,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify(t)});if(!n.ok){let e=await n.json().catch(()=>null);if(AB(e,(e,t)=>{if(!Object.hasOwn(o.getValues(),e)){CL(`保存失败`,t.message||`请检查配置`,`error`);return}let n=e;o.setError(n,t),w(n)})){u(!1);return}throw Error(e?.error?.message||`保存失败(${n.status})`)}CL(`设置已保存`,`已保存到当前工作区,运行配置已更新。`)}catch(e){CL(`保存失败`,e.message,`error`)}u(!1)}let O=(0,v.jsxs)(`button`,{className:`button accent`,type:`button`,onClick:o.handleSubmit(D,e=>{let t=Object.keys(e)[0];t&&w(t)}),disabled:l||i==null,children:[(0,v.jsx)(Kf,{size:15}),(0,v.jsx)(`span`,{children:l?`保存中`:`保存`})]});return(0,v.jsx)(nj,{...o,children:(0,v.jsxs)(`div`,{className:`page-container settings-page`,children:[(0,v.jsxs)(`div`,{className:`settings-page-layout`,children:[(0,v.jsx)(`nav`,{className:`settings-page-nav`,"aria-label":`设置分类`,children:Wq.map(e=>(0,v.jsx)(`button`,{className:p===e.id?`active`:``,type:`button`,"aria-pressed":p===e.id,"aria-controls":`settings-${e.id}`,onClick:()=>C(e.id),children:e.label},e.id))}),(0,v.jsxs)(`div`,{className:`settings-page-sections`,children:[(0,v.jsxs)(`section`,{id:`settings-models`,hidden:p!==`models`,className:`settings-group`,tabIndex:-1,children:[(0,v.jsx)(`h3`,{children:`模型`}),h.length===0?(0,v.jsx)(`div`,{className:`settings-empty`,children:`还没有模型配置。填写 API Key 即可自动探测并创建。`}):h.map(e=>(0,v.jsx)(Yq,{row:e,onDeleted:E,onConfigure:()=>f(e.item)},e.item.resourceId)),(0,v.jsx)(`h3`,{className:`settings-model-add-title`,children:`添加模型`}),(0,v.jsx)(Vq,{onSaved:E})]}),(0,v.jsxs)(`section`,{id:`settings-general`,hidden:p!==`general`,className:`settings-group`,tabIndex:-1,children:[(0,v.jsx)(`h3`,{children:`外观`}),(0,v.jsx)(`div`,{className:`appearance-options`,role:`radiogroup`,"aria-label":`颜色模式`,children:Hq.map(n=>{let r=n.icon;return(0,v.jsxs)(`label`,{className:`appearance-option${e===n.value?` selected`:``}`,children:[(0,v.jsx)(r,{"aria-hidden":`true`}),(0,v.jsx)(`span`,{children:(0,v.jsx)(`strong`,{children:n.label})}),(0,v.jsx)(`input`,{type:`radio`,name:`studio-theme`,value:n.value,checked:e===n.value,onChange:()=>t(n.value)})]},n.value)})}),(0,v.jsx)(`p`,{className:`appearance-note`,children:`立即生效,仅保存在当前浏览器。`})]}),(0,v.jsxs)(`section`,{id:`settings-cloud`,hidden:p!==`cloud`,className:`settings-group`,tabIndex:-1,children:[(0,v.jsx)(`h3`,{children:`云端部署`}),(0,v.jsx)(`p`,{className:`helper`,children:`配置本地平台资源调用和云端部署使用的连接,保存后无需另建环境文件。`}),(0,v.jsx)(Y,{label:`控制面地址`,requirement:`optional`,htmlFor:`settingCloudServerUrl`,hint:`平台资源调用使用的 HTTPS 服务地址;留空保留现有配置。`,error:o.formState.errors.cloudServerUrl?.message,children:(0,v.jsx)(`input`,{id:`settingCloudServerUrl`,placeholder:`https://…`,...o.register(`cloudServerUrl`)})}),(0,v.jsxs)(`p`,{className:`helper`,children:[`地址来源:`,Gq(i?.configurationSources?.cloudServerUrl||`missing`),`;账号来源:`,Gq(i?.configurationSources?.cloudAccessKey||`missing`)]}),(0,v.jsxs)(`div`,{className:`form-grid two-columns`,children:[(0,v.jsx)(Y,{label:`Region`,requirement:`optional`,htmlFor:`settingCloudRegion`,error:o.formState.errors.cloudRegion?.message,children:(0,v.jsx)(`input`,{id:`settingCloudRegion`,placeholder:`cn-beijing-6`,...o.register(`cloudRegion`)})}),(0,v.jsx)(Y,{label:`KS3 Bucket`,requirement:`optional`,htmlFor:`settingCloudBucket`,hint:`留空时复用启动环境或 SDK 默认 Bucket。`,error:o.formState.errors.cloudBucket?.message,children:(0,v.jsx)(`input`,{id:`settingCloudBucket`,placeholder:`agentengine-<account>-cn-beijing-6`,...o.register(`cloudBucket`)})})]}),(0,v.jsxs)(`div`,{className:`form-grid two-columns`,children:[(0,v.jsx)(Y,{label:`Access Key`,requirement:`optional`,htmlFor:`settingCloudAccessKey`,hint:`金山云账号 AK,用于云端请求签名;留空保留已保存值。`,error:o.formState.errors.cloudAccessKey?.message,children:(0,v.jsx)(`input`,{id:`settingCloudAccessKey`,type:`password`,autoComplete:`off`,placeholder:i?.cloudAccountConfigured?`已配置(留空保持不变)`:`AKLT...`,...o.register(`cloudAccessKey`)})}),(0,v.jsx)(Y,{label:`Secret Key`,requirement:`optional`,htmlFor:`settingCloudSecretKey`,hint:`金山云账号 SK;留空保留已保存值。`,error:o.formState.errors.cloudSecretKey?.message,children:(0,v.jsx)(`input`,{id:`settingCloudSecretKey`,type:`password`,autoComplete:`off`,placeholder:i?.cloudAccountConfigured?`已配置(留空保持不变)`:``,...o.register(`cloudSecretKey`)})})]}),(0,v.jsx)(Y,{label:`Account ID`,requirement:`optional`,htmlFor:`settingCloudAccountId`,hint:`主账号 ID(X-Ksc-Account-Id);可从金山云控制台获取。`,error:o.formState.errors.cloudAccountId?.message,children:(0,v.jsx)(`input`,{id:`settingCloudAccountId`,placeholder:`10203040...`,...o.register(`cloudAccountId`)})}),!!i?.platformResourceMissingFields?.length&&(0,v.jsxs)(`p`,{className:`helper`,role:`status`,children:[`平台资源连接还需配置:`,i.platformResourceMissingFields.map(e=>({cloudAccessKey:`Access Key`,cloudSecretKey:`Secret Key`,cloudServerUrl:`控制面地址`})[e]||e).join(`、`)]}),(0,v.jsxs)(`p`,{className:`helper`,children:[`平台资源:`,i?.platformResourcesConfigured?`连接配置完整`:`连接配置未完成`,`;云端账号:`,i?.cloudAccountConfigured?`已就绪`:`尚未配置`,`;云端部署:`,i?.cloudSignedAccountConfigured?`已就绪`:`尚未配置`]}),(0,v.jsx)(`div`,{className:`settings-section-actions`,children:O})]}),(0,v.jsxs)(`section`,{id:`settings-runtime`,hidden:p!==`runtime`,className:`settings-group`,tabIndex:-1,children:[(0,v.jsx)(`h3`,{children:`执行与沙箱`}),(0,v.jsx)(Y,{label:`默认执行权限(Codex)`,requirement:`required`,htmlFor:`settingSandbox`,hint:`新 Agent 默认值;会话页可单次覆盖,下一轮对话生效。`,error:o.formState.errors.sandbox?.message,children:(0,v.jsx)(Wk,{id:`settingSandbox`,ariaLabel:`默认执行权限`,value:o.watch(`sandbox`),options:[{value:`read-only`,label:`只读沙箱(不可写)`},{value:`workspace-write`,label:`请求批准(写工作区,每次询问)`},{value:`workspace-write-auto`,label:`风险操作需确认(写工作区)`},{value:`full-access`,label:`完全访问(不受限读写)`}],onValueChange:e=>o.setValue(`sandbox`,e,{shouldDirty:!0,shouldValidate:!0})})}),(0,v.jsx)(Y,{label:`默认沙箱(Harness 通用智能体)`,requirement:`required`,htmlFor:`settingHarnessSandbox`,hint:`隔离强度语义;后端按部署形态自动选择。会话页可单次覆盖。`,error:o.formState.errors.harnessSandbox?.message,children:(0,v.jsx)(Wk,{id:`settingHarnessSandbox`,ariaLabel:`默认沙箱(Harness)`,value:o.watch(`harnessSandbox`),options:[{value:`read-only`,label:`只读沙箱(不可写)`},{value:`workspace-write-local`,label:`工作区可写 · 本地隔离`},{value:`workspace-write-remote`,label:`工作区可写 · 远程沙箱`},{value:`full-access`,label:`完全访问(不受限读写)`}],onValueChange:e=>o.setValue(`harnessSandbox`,e,{shouldDirty:!0,shouldValidate:!0})})}),(0,v.jsx)(`div`,{className:`studio-form-field`,children:(0,v.jsxs)(`label`,{className:`checkbox-row`,children:[(0,v.jsx)(`input`,{type:`checkbox`,...o.register(`buildAfterCreate`)}),(0,v.jsxs)(`span`,{children:[(0,v.jsx)(`strong`,{children:`创建后立即构建`}),(0,v.jsx)(`small`,{children:`新建 Agent 保存后自动构建并进入会话`})]})]})}),(0,v.jsx)(`h3`,{children:`运行时`}),(0,v.jsx)(Y,{label:`Codex Responses→Chat 代理`,requirement:`required`,htmlFor:`settingCodexProxy`,hint:`非原生 Responses 上游可启用兼容代理。`,error:o.formState.errors.codexProxy?.message,children:(0,v.jsx)(Wk,{id:`settingCodexProxy`,ariaLabel:`Codex Responses 代理`,value:o.watch(`codexProxy`),options:[{value:`auto`,label:`自动(探测)`},{value:`forced`,label:`强制启用`},{value:`direct`,label:`强制直连`}],onValueChange:e=>o.setValue(`codexProxy`,e,{shouldDirty:!0,shouldValidate:!0})})}),(0,v.jsx)(`div`,{className:`settings-section-actions`,children:O})]}),(0,v.jsxs)(`section`,{id:`settings-about`,hidden:p!==`about`,className:`settings-group`,tabIndex:-1,children:[(0,v.jsx)(`h3`,{children:`关于`}),(0,v.jsx)(`dl`,{className:`trace-detail-grid`,children:s.map(([e,t])=>(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`dt`,{children:e}),(0,v.jsx)(`dd`,{children:t})]},e))}),(0,v.jsxs)(`div`,{className:`settings-update-check`,children:[(0,v.jsx)(`button`,{className:`button secondary small`,type:`button`,onClick:T,disabled:x,children:x?`检查中…`:`检查更新`}),y&&(0,v.jsx)(`span`,{className:`helper`,role:`status`,children:y.error?`检查失败,请确认网络后重试。`:y.hasUpdate?`发现新版本 ${y.latestVersion},可运行 pip install -U ksadk 升级。`:`已是最新版本。`})]})]})]})]}),d&&(0,v.jsx)(pU,{model:d,onClose:()=>f(null),onChanged:E})]})})}function Yq({row:e,onDeleted:t,onConfigure:n}){let[r,i]=(0,g.useState)(!1),[a,o]=(0,g.useState)(!1),s=e.item.contract?.endpointUrl||e.item.contract?.baseUrl||``,c=e.item.contract?.model||``;async function l(){o(!0);try{let n=await q(`/api/v1/catalog/resources/${encodeURIComponent(e.item.resourceId)}`,{method:`DELETE`});if(!n.ok)throw Error(`删除失败(${n.status})`);CL(`模型已删除`,e.item.displayName),t()}catch(e){CL(`删除失败`,e.message,`error`)}o(!1),i(!1)}return(0,v.jsxs)(`div`,{className:`settings-credential`,children:[(0,v.jsxs)(`span`,{children:[(0,v.jsx)(`strong`,{children:e.item.displayName}),(0,v.jsxs)(`small`,{children:[c,s?` · ${s}`:``,` · `,e.configured?`凭证已配置 · ${Gq(e.source)}`:`凭证未配置`]})]}),(0,v.jsxs)(`span`,{className:`row-actions`,children:[(0,v.jsx)(`button`,{className:`button secondary small`,type:`button`,onClick:n,children:`配置凭证`}),e.item.source===`local`&&(0,v.jsx)(`button`,{className:`button secondary small`,type:`button`,"data-state":r?`danger`:void 0,onClick:()=>r?l():i(!0),onBlur:()=>i(!1),disabled:a,children:a?`删除中…`:r?`确认删除`:`删除`})]})]})}var Xq=class extends Error{code;status;capability;runId;cursor;cause;constructor(e,t,n={}){super(t),this.name=`ConversationClientError`,this.code=e,this.status=n.status,this.capability=n.capability,this.runId=n.runId,this.cursor=n.cursor,this.cause=n.cause}},Zq=`conversation.ksadk.io/v1`,Qq=/^[a-z][a-z0-9]*(?:[._-][a-z0-9]+)*$/,$q=new Set([`native`,`translated`,`degraded`,`unavailable`]),eJ=new Set([`user_message`,`assistant_text`,`reasoning`,`agent`,`tool_call`,`approval`,`progress`,`plan`,`goal`,`artifact`,`a2ui`,`error`,`unknown`]),tJ=new Set([`append`,`replace`,`completed`]),nJ=new Set([`pending`,`streaming`,`completed`,`failed`]),rJ=new Set([`public`,`internal`,`hidden`]),iJ=new Set([`apiVersion`,`kind`,`inputId`,`sessionId`,`idempotencyKey`,`parts`,`modelRef`,`reasoning`,`extensions`]),aJ=new Set([`kind`,`text`]),oJ=new Set([`kind`,`attachmentRef`,`mediaType`,`name`]),sJ=`ksadk.approval`,cJ=`ksadk.collaboration`,lJ=`ksadk.goal`;function uJ(e){return typeof e==`object`&&e&&!Array.isArray(e)?e:null}function dJ(e,t){return typeof e==`string`&&e.length>0&&e.length<=t}function fJ(e,t,n=!1){return e==null||typeof e==`string`&&e.length<=t&&(n||e.length>0)}function pJ(e,t){return Object.keys(e).every(e=>t.has(e))}function mJ(e){let t=uJ(e);return!t||typeof t.kind!=`string`?null:t.kind===`text`?!pJ(t,aJ)||!dJ(t.text,131072)?null:{kind:`text`,text:t.text}:t.kind===`attachment`?!pJ(t,oJ)||!dJ(t.attachmentRef,2048)||!dJ(t.mediaType,256)||!fJ(t.name,1024,!0)?null:{kind:`attachment`,attachmentRef:t.attachmentRef,mediaType:t.mediaType,...t.name===void 0?{}:{name:t.name}}:null}function hJ(e){if(e===void 0)return{};let t=uJ(e);if(!t||Object.keys(t).some(e=>!Qq.test(e)||!e.includes(`.`)))return null;let n=t[`ksadk.presentation`];if(n!==void 0){let e=uJ(n);if(!e||Object.keys(e).some(e=>e!==`profile`)||![`agent-block-v1`,`flat-v1`].includes(String(e.profile)))return null}let r=t[sJ],i=t[cJ],a=t[lJ];return r!==void 0&&![`ask`,`risk`,`full`].includes(String(r))||i!==void 0&&![`default`,`plan`].includes(String(i))||a!==void 0&&!dJ(a,4096)?null:{...t}}function gJ(e){let t=uJ(e);if(!t||!pJ(t,iJ)||t.apiVersion!==Zq||t.kind!==`ConversationInput`||!dJ(t.inputId,256)||!dJ(t.sessionId,256)||!dJ(t.idempotencyKey,512)||!Array.isArray(t.parts)||t.parts.length===0||!fJ(t.modelRef,256)||!fJ(t.reasoning,64))return null;let n=t.parts.map(mJ),r=hJ(t.extensions);return n.some(e=>e===null)||r===null?null:{apiVersion:Zq,kind:`ConversationInput`,inputId:t.inputId,sessionId:t.sessionId,idempotencyKey:t.idempotencyKey,parts:n,...t.modelRef===void 0?{}:{modelRef:t.modelRef},...t.reasoning===void 0?{}:{reasoning:t.reasoning},...t.extensions===void 0?{}:{extensions:r}}}function _J(e){let t=gJ({...e,apiVersion:e.apiVersion||Zq,kind:e.kind||`ConversationInput`});if(!t)throw new Xq(`conversation_contract_mismatch`,`Conversation input does not match conversation.ksadk.io/v1.`);return t}function vJ(e){let t=e.parts.map(e=>e.kind===`text`?`text`:e.mediaType.toLowerCase().startsWith(`image/`)?`attachment.image`:`attachment.file`);e.modelRef&&t.push(`model.select`),e.reasoning&&t.push(`reasoning.effort`);for(let n of Object.keys(e.extensions||{}))n===sJ?t.push(`approval`):n===cJ?e.extensions?.[n]===`plan`&&t.push(`plan`):n===lJ?t.push(`goal`):t.push(n);return[...new Set(t)]}function yJ(e,t){if(e.sessionId!==t.sessionId)throw new Xq(`conversation_session_mismatch`,`Conversation input session does not match the active surface.`);for(let n of vJ(t))if(!wJ(e,n))throw new Xq(`conversation_input_unsupported`,`Conversation input is not declared by the active surface.`,{capability:n});return t}function bJ(e){let t=uJ(e);return!t||!dJ(t.name,128)||!Qq.test(t.name)||!$q.has(t.mode)||!fJ(t.reason,512,!0)||(t.mode===`degraded`||t.mode===`unavailable`)&&!dJ(t.reason,512)?null:{name:t.name,mode:t.mode,...t.reason===void 0?{}:{reason:t.reason}}}function xJ(e){if(e===void 0)return[];if(!Array.isArray(e))return null;let t=e.map(bJ);if(t.some(e=>e===null))return null;let n=t;return new Set(n.map(e=>e.name)).size===n.length?n:null}function SJ(e){let t=uJ(e);if(!t||t.apiVersion!==Zq||t.kind!==`ConversationSurface`||!dJ(t.surfaceId,256)||!dJ(t.sessionId,256)||!dJ(t.providerRef,256))return null;let n=xJ(t.inputs),r=xJ(t.outputs);return!n||!r?null:{apiVersion:Zq,kind:`ConversationSurface`,surfaceId:t.surfaceId,sessionId:t.sessionId,providerRef:t.providerRef,inputs:n,outputs:r}}function CJ(e){let t=uJ(e);if(!t||t.apiVersion!==Zq||t.kindVersion!==1||!dJ(t.itemId,512)||!fJ(t.parentItemId,512)||!Array.isArray(t.sourceEventIds)||t.sourceEventIds.length===0||t.sourceEventIds.some(e=>typeof e!=`string`||e.length===0)||new Set(t.sourceEventIds).size!==t.sourceEventIds.length||!dJ(t.sessionId,256)||!dJ(t.runId,256)||!dJ(t.kind,128)||!tJ.has(t.operation)||!nJ.has(t.lifecycle)||t.visibility!==void 0&&!rJ.has(t.visibility)||!dJ(t.payloadSchemaRef,256)||!fJ(t.capabilityRef,256,!0))return null;let n=t.operation,r=t.lifecycle;if(n===`completed`&&r!==`completed`&&r!==`failed`)return null;let i=t.payload===void 0?{}:uJ(t.payload),a=t.nativeRef===void 0?{}:uJ(t.nativeRef);if(!i||!a)return null;let o=String(t.kind||`unknown`),s=eJ.has(o)?o:`unknown`;return{apiVersion:Zq,kindVersion:1,itemId:t.itemId,...t.parentItemId===void 0?{}:{parentItemId:t.parentItemId},sourceEventIds:[...t.sourceEventIds],sessionId:t.sessionId,runId:t.runId,kind:s,operation:n,lifecycle:r,visibility:s===`unknown`&&o!==`unknown`?`hidden`:t.visibility||`public`,payloadSchemaRef:t.payloadSchemaRef,payload:s===`unknown`&&o!==`unknown`?{originalKind:o,summary:`This content type is not supported by the current renderer.`}:{...i},...t.capabilityRef===void 0?{}:{capabilityRef:t.capabilityRef},nativeRef:{...a}}}function wJ(e,...t){return e.inputs.some(e=>t.includes(e.name)&&(e.mode===`native`||e.mode===`translated`))}function TJ(e,t){let n=SJ(e);return n?EJ(n,t):`flat-v1`}function EJ(e,t){let n=(e,t)=>t.some(t=>t.name===e&&[`native`,`translated`].includes(t.mode));return n(`ksadk.presentation`,e.inputs)&&n(`agent.block`,e.outputs)&&t?.entries().some(e=>e.schemaRef===`conversation.item.agent/v1`&&e.kinds.includes(`agent`))?`agent-block-v1`:`flat-v1`}var DJ=e=>[`completed`,`failed`,`cancelled`].includes(String(e)),OJ=e=>typeof e==`string`&&e.trim().length>0;function kJ(e,t){if(e.kind!==`agent`||e.payloadSchemaRef!==`conversation.item.agent/v1`)return;let n=e.payload,r=n.trigger_ref,i=n.cancel,a=n.agent;if(n.schema!==`execution.scope/v1`||!OJ(n.scope_id)||!OJ(n.parent_scope_id)||!OJ(n.binding_id)||!OJ(r?.item_id)||!OJ(r?.call_id)||r?.scope_id!==n.parent_scope_id||!a||[`id`,`name`,`version_id`,`protocol`].some(e=>!OJ(a[e]))||![`submitted`,`working`,`input_required`,`completed`,`failed`,`cancelled`].includes(String(n.status))||!Number.isFinite(n.started_at)||(DJ(n.status)?!Number.isFinite(n.ended_at):n.ended_at!==null)||!Array.isArray(n.output_refs))throw Error(`Invalid agent scope descriptor`);if(!i||![`supported`,`unsupported`,`unknown`].includes(String(i.capability))||![`none`,`cancel_requested`,`unsupported`,`unknown`,`confirmed`,`local_confirmed`].includes(String(i.request_state)))throw Error(`Invalid agent cancel state`);if(i.request_state===`confirmed`&&i.capability!==`supported`)throw Error(`Unsupported remote cancel confirmation`);if(i.request_state===`local_confirmed`&&n.status!==`cancelled`)throw Error(`Local cancellation must be terminal`);if(t){for(let e of[`scope_id`,`parent_scope_id`,`trigger_ref`,`binding_id`,`agent`])if(JSON.stringify(t.payload[e])!==JSON.stringify(n[e]))throw Error(`Agent descriptor identity changed`);let e=String(t.payload.status);if(DJ(e)&&JSON.stringify(t.payload)!==JSON.stringify(n))throw Error(`Agent terminal conflict`);if([`working`,`input_required`].includes(e)&&n.status===`submitted`)throw Error(`Agent status regression`);if(i.request_state===`local_confirmed`&&e!==`submitted`&&e!==`cancelled`)throw Error(`Local cancellation after send`)}}function AJ(){return{items:[],appliedSources:[]}}function jJ(e){return e.lifecycle===`completed`||e.lifecycle===`failed`}function MJ(e,t){let n={...e,...t};typeof e.text==`string`&&typeof t.text==`string`&&(n.text=e.text+t.text);for(let r of[`data`,`operations`])Array.isArray(e[r])&&Array.isArray(t[r])&&(n[r]=[...e[r],...t[r]]);return n}function NJ(e,t){let n=t.sourceEventIds.map(e=>JSON.stringify([t.itemId,e])),r=new Set(e.appliedSources);if(n.every(e=>r.has(e)))return e;n.forEach(e=>r.add(e));let i=e.items.findIndex(e=>e.itemId===t.itemId),a=i>=0?e.items[i]:void 0;if(kJ(t,a),a&&(a.runId!==t.runId||a.parentItemId!==t.parentItemId))throw Error(`Conversation item locator changed`);if(a&&(a.nativeRef.scopeId||a.nativeRef.scope_id)!==(t.nativeRef.scopeId||t.nativeRef.scope_id))throw Error(`Conversation item scope changed`);if(a?.payload.callId&&t.payload.callId&&a.payload.callId!==t.payload.callId)throw Error(`Conversation call identity changed`);if(a&&jJ(a)&&!jJ(t))return{...e,appliedSources:[...r]};let o=[...e.items];if(!a)o.push(t);else{let e=[...new Set([...a.sourceEventIds,...t.sourceEventIds])];o[i]=a.kind===t.kind?t.operation===`append`?{...t,payload:MJ(a.payload,t.payload),sourceEventIds:e}:{...t,sourceEventIds:e}:{...t,kind:`unknown`,operation:`replace`,payloadSchemaRef:`conversation.item.unknown/v1`,payload:{summary:`The content type changed for the same item and was safely degraded.`},sourceEventIds:e}}return{items:o,appliedSources:[...r]}}var PJ=class{state=AJ();apply(e){let t=NJ(this.state,e);if(t===this.state)return!1;let n=t.items!==this.state.items;return this.state=t,n}applyAll(e){for(let t of e)this.apply(t)}snapshot(){return{items:this.state.items.map(e=>({...e,sourceEventIds:[...e.sourceEventIds],payload:{...e.payload},nativeRef:{...e.nativeRef}})),appliedSources:[...this.state.appliedSources]}}},FJ=[`authorization`,`credential`,`password`,`secret`,`token`,`cookie`,`apikey`,`accesskey`,`secretaccesskey`,`clientsecret`,`refreshtoken`,`accesstoken`,`setcookie`,`traceback`,`stack`,`exception`];function IJ(e){return e.normalize(`NFKC`).toLowerCase().replace(/[^a-z0-9]/g,``)}function LJ(e){let t=IJ(e);return FJ.some(e=>t.includes(e))}function RJ(e){let t=e.split(`.`);if(t.length>4||t.some(e=>e.length===0))return null;let n=t.map(e=>{let t=/^0x/i.test(e)?16:e.length>1&&e.startsWith(`0`)?8:10,n=t===16?e.slice(2):e;if(!n||!RegExp(`^[0-9a-f]+$`,`i`).test(n))return null;let r=Number.parseInt(n,t);return Number.isSafeInteger(r)?r:null});if(n.some(e=>e===null))return null;let r=n,i=2**(8*(5-r.length));return r.slice(0,-1).some(e=>e>255)||r.at(-1)>=i?null:r.slice(0,-1).reduce((e,t,n)=>e+t*2**(8*(3-n)),r.at(-1))}function zJ(e){return!(e>>>24)||e>>>24==10||e>>>24==127||e>>>16==43518||e>>>16==49320||e>>>20==2753}function BJ(e){let t;try{t=decodeURIComponent(e).toLowerCase().replace(/^\[|\]$/g,``).replace(/\.$/,``)}catch{return!0}if(t===`localhost`||t.endsWith(`.localhost`)||t.endsWith(`.local`)||t.endsWith(`.internal`))return!0;let n=t.match(/^::ffff:(\d+(?:\.\d+){0,3})$/)?.[1],r=t.match(/^::ffff:([0-9a-f]{1,4}):([0-9a-f]{1,4})$/i),i=r?Number.parseInt(r[1],16)*65536+Number.parseInt(r[2],16):RJ(n||t);if(i!==null)return zJ(i);let a=Number.parseInt(t.split(`:`,1)[0],16);return t===`::`||t===`::1`||Number.isInteger(a)&&(a&65024)==64512||Number.isInteger(a)&&(a&65472)==65152}function VJ(e){return(e.match(/https?:\/\/\[[^\]]+\](?::\d+)?[^\s<>{}"']*|https?:\/\/[^\s<>{}"'[\]()]+/gi)||[]).some(e=>{let t=e.replace(/[.,;:!?]+$/,``).replace(/\\/g,`/`);try{let e=new URL(t);return!!(e.username||e.password)||BJ(e.hostname)}catch{return!0}})}function HJ(e,t=0){return WJ(e,t,8192)}function UJ(e,t,n){return WJ(e,0,[`langgraph`,`adk`,`codex`].includes(String(t))&&!String(n||``).toLowerCase().includes(`a2a`)?1/0:8192)}function WJ(e,t,n){return t>8?`[truncated]`:typeof e==`string`?/bearer\s+\S+|traceback|(?:token|authorization|api[_ .-]?key|access[_ .-]?token|refresh[_ .-]?token|secretaccesskey|accesstoken|refreshtoken|cookie|password|secret)\s*["']?\s*[=:]/i.test(e)||VJ(e)?`[redacted]`:e.length>n?`${e.slice(0,n)}[truncated]`:e:Array.isArray(e)?e.slice(0,128).map(e=>WJ(e,t+1,n)):e&&typeof e==`object`?Object.fromEntries(Object.entries(e).slice(0,128).filter(([e])=>!LJ(e)).map(([e,r])=>[e,WJ(r,t+1,n)])):e}var GJ=e=>e&&typeof e==`object`&&!Array.isArray(e)?e:{},KJ=(e,t,n)=>JSON.stringify([e,t,n]),qJ=class{runtime=new w;flatChildren=new PJ;seen=new Set;parents=new Map;descriptorItemIds=new Map;descriptors=new Map;rootScope=``;runId=``;sessionId;conversation;profile;constructor(e,t=new PJ,n=`flat-v1`){this.sessionId=e,this.conversation=t,this.profile=n}identity(e,t,n,r=!1){return this.profile===`agent-block-v1`||r?KJ(e,t,n):n}snapshot(){let e=this.conversation.snapshot();if(this.profile!==`flat-v1`)return e;let t=this.flatChildren.snapshot();return{items:[...e.items,...t.items],appliedSources:[...e.appliedSources,...t.appliedSources]}}apply(e){if(e.schema_version!==2)return null;let t=String(e.run_id||``),n=String(e.scope_id||``),r=String(e.event_id||``),i=String(e.event_type||``);if(!i.startsWith(`item.`)&&!i.startsWith(`run.`))return null;if(!t||!n||!r)throw Error(`RuntimeEvent identity missing`);if(this.runId&&this.runId!==t)throw Error(`RuntimeEvent run identity changed`);if(this.seen.has(r))return null;let a=String(e.parent_scope_id??this.descriptors.get(n)?.parent_scope_id??this.parents.get(n)??``),o=GJ(e.source),s=[`adk`,`langgraph`,`codex`].includes(String(o.framework))&&!this.descriptors.has(n);if(s&&a&&i===`run.progress`)return null;if(i.startsWith(`run.`)&&(a||!s&&this.rootScope&&n!==this.rootScope))throw Error(`Child scope cannot transition root run`);if(this.parents.has(n)&&this.parents.get(n)!==a)throw Error(`Scope parent changed`);let c=String(e.item_id||``),l=this.identity(t,n,c||r,!!a),u=Object.fromEntries(Object.entries({framework:o.framework,protocol:o.protocol,eventId:o.native_event_id,cursor:o.native_cursor,runId:o.native_run_id,itemId:o.native_item_id,scopeId:n,runtimeItemId:c||void 0,parentScopeId:a||void 0,phase:e.phase}).filter(([,e])=>e!=null)),d={apiVersion:`conversation.ksadk.io/v1`,kindVersion:1,itemId:l,sessionId:this.sessionId,runId:t,sourceEventIds:[r],kind:`progress`,operation:`replace`,lifecycle:`streaming`,visibility:`public`,payloadSchemaRef:`conversation.item.progress/v1`,payload:{},nativeRef:u},f=GJ(GJ(e.source).metadata).conversation_visibility;if([`public`,`internal`,`hidden`].includes(String(f))?d.visibility=f:a&&e.item_kind===`reasoning`&&(d.visibility=`hidden`),i.startsWith(`run.`))this.rootScope=n,d.payload={status:[`run.started`,`run.progress`].includes(i)?`running`:i.slice(4),...e.output_refs?{outputRefs:e.output_refs}:{}},i===`run.progress`&&Object.assign(d.payload,{progress:e.progress,message:e.message}),i===`run.interrupted`&&(d.payload.reason=e.reason||``),d.operation=[`run.started`,`run.progress`].includes(i)?`append`:`completed`,[`run.failed`,`run.canceled`,`run.cancelled`].includes(i)&&(d.kind=`error`,d.payloadSchemaRef=`conversation.item.error/v1`,d.payload.error=GJ(e.error).message||e.reason||``),d.lifecycle=[`run.completed`,`run.interrupted`].includes(i)?`completed`:[`run.failed`,`run.canceled`,`run.cancelled`].includes(i)?`failed`:`streaming`;else{if(!c)throw Error(`RuntimeEvent item identity missing`);let u=GJ(e.snapshot||e.initial),p=i===`item.updated`?[GJ(e.update)]:Array.isArray(u.parts)?u.parts:[],m=p.map(e=>{let t=GJ(e);return{partId:String(t.part_id||`part`),contentType:String(t.content_type||`data`),...typeof t.text==`string`?{text:t.text}:{},value:t}}),h=p.map(e=>GJ(GJ(e).data)).find(e=>e.schema===`execution.scope/v1`);if(a&&!h&&!s){let e=this.descriptorItemIds.get(n);if(!e)throw Error(`Child content requires its scope descriptor first`);d.parentItemId=e}if(h){if(this.descriptorItemIds.has(n)&&this.descriptorItemIds.get(n)!==l)throw Error(`Scope descriptor item identity changed`);let e=GJ(h.trigger_ref);if(h.scope_id!==n||h.parent_scope_id!==a||e.scope_id!==a||!e.item_id||!e.call_id||!a)throw Error(`Invalid scope descriptor locator`);let t=this.runtime.snapshot().items.find(t=>t.scopeId===e.scope_id&&t.itemId===e.item_id);if(t&&!t.parts.some(t=>GJ(t.value).call_id===e.call_id))throw Error(`Scope trigger call mismatch`);let r=this.descriptors.get(n);kJ({...d,kind:`agent`,payloadSchemaRef:`conversation.item.agent/v1`,payload:h},r?{...d,kind:`agent`,payload:r}:void 0),this.descriptors.set(n,h),this.descriptorItemIds.set(n,l)}for(let e of this.descriptors.values()){let t=GJ(e.trigger_ref);if(t.scope_id===n&&t.item_id===c&&m.length&&!m.some(e=>GJ(e.value).call_id===t.call_id))throw Error(`Scope trigger call mismatch`)}let g=this.runtime.snapshot().items.find(e=>e.scopeId===n&&e.itemId===c);if(a&&g&&g.status!==`open`){if(i===`item.updated`||i===`item.started`)throw Error(`Remote item cannot reopen`);if(Array.isArray(u.parts)&&JSON.stringify(g.parts)!==JSON.stringify(m))throw Error(`Remote terminal content conflict`)}let _={type:i.replaceAll(`.`,`_`),runId:t,scopeId:n,itemId:c,itemKind:e.item_kind,eventId:r,initialParts:m,phase:e.phase,...Array.isArray(u.parts)?{parts:m}:{},...i===`item.updated`?{partId:m[0]?.partId,part:m[0],op:e.op||`replace`}:{}};this.runtime.apply(_);let v=this.runtime.snapshot().items.find(e=>e.scopeId===n&&e.itemId===c);if(!v||a&&v.itemKind===`status`&&v.status===`open`&&!v.parts.length)return null;if(a&&[`artifact`,`tool_call`,`tool_result`].includes(v.itemKind)&&!v.parts.length)return this.runId=t,this.parents.set(n,a),this.seen.add(r),null;let y=v.parts.map(e=>GJ(e.value)),b=y.map(e=>GJ(e.data)).find(e=>e.schema===`execution.scope/v1`);if(d.lifecycle=v.status===`open`?i===`item.started`?`pending`:`streaming`:v.status,d.operation=[`completed`,`failed`].includes(d.lifecycle)?`completed`:i===`item.started`?`append`:`replace`,b)d.operation=[`completed`,`failed`].includes(d.lifecycle)?`completed`:`replace`,d.kind=`agent`,d.payloadSchemaRef=`conversation.item.agent/v1`,d.payload=b,d.parentItemId=this.identity(t,String(GJ(b.trigger_ref).scope_id),String(GJ(b.trigger_ref).item_id),!!this.parents.get(String(GJ(b.trigger_ref).scope_id))),d.capabilityRef=`agent.block`;else if(v.itemKind===`tool_call`||v.itemKind===`tool_result`){let e=y.find(e=>e.content_type===`tool_call`),t=y.find(e=>e.content_type===`tool_result`);d.kind=`tool_call`,d.capabilityRef=`tool.inspect`,d.payloadSchemaRef=`conversation.item.tool-call/v1`,d.payload={...e?{callId:e.call_id,tool:e.name,args:HJ(e.arguments)}:{},...t?{callId:t.call_id,output:UJ(t.result,o.framework,o.protocol),isError:t.is_error}:{},executionStatus:v.status===`failed`?`failed`:t&&v.status!==`open`?t.is_error?`failed`:`completed`:v.itemKind===`tool_result`?`unknown`:`running`,sourceKind:v.itemKind}}else if(v.itemKind===`message`||v.itemKind===`reasoning`||v.itemKind===`artifact`&&v.parts.length>0&&v.parts.every(e=>e.contentType===`text`))d.kind=v.itemKind===`reasoning`?`reasoning`:GJ(GJ(e.source).metadata).native_item_kind===`userMessage`?`user_message`:`assistant_text`,d.payloadSchemaRef=`conversation.item.${d.kind}/v1`,d.payload={text:v.parts.map(e=>e.text||``).join(``)},i===`item.updated`&&e.op===`append`&&(d.operation=`append`,d.payload.text=GJ(e.update).text||``);else if(v.itemKind===`artifact`){let e=y.find(e=>e.content_type===`artifact`)||{};d.kind=`artifact`,d.payloadSchemaRef=`conversation.item.artifact/v1`,d.payload={name:e.name,mimeType:e.mime_type,uri:e.uri}}else if(v.status===`failed`){let t=GJ(e.error);d.kind=`error`,d.payloadSchemaRef=`conversation.item.error/v1`,d.payload={error:String(t.message||t.code||`Remote call failed`)}}else d.visibility=f===`public`?`public`:`hidden`,d.kind=`unknown`,d.payloadSchemaRef=`conversation.item.unknown/v1`,d.payload={summary:`Unsupported runtime content`}}return this.runId=t,this.parents.set(n,a),this.seen.add(r),(this.profile===`flat-v1`&&a?this.flatChildren:this.conversation).apply(d),d}},JJ={user_message:`conversation.item.user_message/v1`,assistant_text:`conversation.item.assistant_text/v1`,reasoning:`conversation.item.reasoning/v1`,tool_call:`conversation.item.tool-call/v1`,agent:`conversation.item.agent/v1`,approval:`conversation.item.approval/v1`,artifact:`conversation.item.artifact/v1`,a2ui:`conversation.item.a2ui/v1`,error:`conversation.item.error/v1`};function YJ(e){return e.lifecycle===`completed`||e.lifecycle===`failed`}var XJ=new Set([`aborted`,`canceled`,`cancelled`,`failed`,`incomplete`,`interrupted`]);function ZJ(e){if(e.parentItemId||e.nativeRef.parentScopeId||e.nativeRef.parent_scope_id||e.kind!==`progress`&&e.kind!==`error`||!YJ(e))return;let t=typeof e.payload.status==`string`?e.payload.status.toLowerCase():``;if(t===`completed`)return`completed`;if(XJ.has(t))return`failed`}function QJ(e){let t=JJ[e.kind];return t===void 0||t===e.payloadSchemaRef}function $J(e){if(typeof e!=`string`||e.length===0)return null;try{let t=new URL(e);return t.protocol!==`http:`&&t.protocol!==`https:`||t.username||t.password?null:t.toString()}catch{return null}}function eY(e){return{id:e.itemId,parentId:e.parentItemId||null,runId:e.runId,kind:e.kind,text:typeof e.payload.text==`string`?e.payload.text:``,lifecycle:e.lifecycle}}function tY(e){let t=typeof e.payload.artifactId==`string`&&e.payload.artifactId?e.payload.artifactId:e.itemId,n=e.payload.sizeBytes??e.payload.size,r=typeof n==`number`&&Number.isFinite(n)&&n>=0?n:null,i=$J(e.payload.uri);return{artifactId:t,itemId:e.itemId,runId:e.runId,sourceEventIds:[...e.sourceEventIds],id:e.itemId,name:typeof e.payload.name==`string`&&e.payload.name?e.payload.name:`Artifact`,mimeType:typeof e.payload.mimeType==`string`&&e.payload.mimeType?e.payload.mimeType:`application/octet-stream`,sizeBytes:r,status:e.lifecycle===`failed`?`failed`:e.lifecycle===`completed`?i?`ready`:`failed`:`pending`,uri:i}}function nY(e,t){let n=e.payload[t];return typeof n==`string`&&n?n:null}function rY(e){if(e.kind===`tool_call`){let t=nY(e,`callId`);if(t)return`tool:${JSON.stringify([e.runId,e.nativeRef.scopeId||e.nativeRef.scope_id||``,t])}`}if(e.kind===`approval`){let t=nY(e,`interactionId`);if(t)return`approval:${t}`}if(e.kind===`a2ui`){let t=nY(e,`surfaceId`);if(t)return`a2ui:${t}`}return`item:${e.itemId}`}function iY(e,t){let n=YJ(e)&&!YJ(t);return{...e,...t,itemId:e.itemId,parentItemId:e.parentItemId,sourceEventIds:[...new Set([...e.sourceEventIds,...t.sourceEventIds])],payload:{...e.payload,...t.payload,...e.payload.sourceKind===`tool_result`&&t.payload.sourceKind===`tool_call`?{executionStatus:e.payload.executionStatus,sourceKind:`tool_result`}:{}},nativeRef:{...e.nativeRef,...t.nativeRef},...n?{lifecycle:e.lifecycle,operation:e.operation}:{}}}function aY(e){let t=[],n=new Map;for(let r of e){let e=rY(r),i=n.get(e);if(i===void 0){n.set(e,t.length),t.push({key:e,item:r,sourceItemIds:[r.itemId]});continue}let a=t[i];t[i]={key:e,item:iY(a.item,r),sourceItemIds:[...new Set([...a.sourceItemIds,r.itemId])]}}return t.map(t=>t.item.kind===`tool_call`?{...t,item:{...t.item,payload:{...t.item.payload,...t.item.payload.sourceKind===`tool_result`?{orphan:!e.some(e=>t.sourceItemIds.includes(e.itemId)&&e.payload.sourceKind===`tool_call`)}:{}}}}:t)}function oY(e,t){let n=e.payload.trigger_ref;return n?t.filter(t=>t.kind===`tool_call`&&t.runId===e.runId&&(t.nativeRef.scopeId||t.nativeRef.scope_id)===n.scope_id&&(t.payload.callId===n.call_id||t.itemId===e.parentItemId)):[]}function sY(e){let t=e.filter(e=>e.kind===`agent`),n=e=>String(e.nativeRef.scopeId||e.nativeRef.scope_id||``),r=e=>t.find(t=>t.runId===e.runId&&t.itemId!==e.itemId&&(e.parentItemId===t.itemId||(e.kind===`agent`?e.payload.parent_scope_id===t.payload.scope_id:n(e)&&n(e)===String(t.payload.scope_id)))),i=new Set(t.flatMap(t=>oY(t,e).map(e=>e.itemId))),a=e.filter(e=>!r(e)&&!i.has(e.itemId));return a.sort((t,n)=>{let r=t=>t.kind===`agent`&&t.parentItemId&&e.some(e=>e.itemId===t.parentItemId)?e.findIndex(e=>e.itemId===t.parentItemId):e.indexOf(t);return r(t)-r(n)}),aY(a).map(t=>{if(t.item.kind!==`agent`)return t;let n=aY(e.filter(e=>r(e)===t.item&&!i.has(e.itemId)));return{...t,sourceItemIds:[...new Set([...oY(t.item,e).map(e=>e.itemId),...t.sourceItemIds])],children:n}})}function cY(e,t={}){let n=e.items.filter(e=>e.visibility===`public`||t.includeInternal===!0&&e.visibility===`internal`);if(t.profile===`flat-v1`&&n.some(e=>e.kind===`agent`)){let e=n.filter(e=>e.kind===`agent`),t=new Set(e.flatMap(e=>oY(e,n).map(e=>e.itemId))),r=t=>e.some(e=>e.runId===t.runId&&(t.parentItemId===e.itemId||typeof e.payload.scope_id==`string`&&e.payload.scope_id.length>0&&e.payload.scope_id===(t.nativeRef.scopeId||t.nativeRef.scope_id))),i=n.find(e=>ZJ(e)),a=n.filter(e=>e.kind!==`agent`&&(e.kind===`error`||!r(e)&&!t.has(e.itemId))),o=i?.payload.outputRefs||i?.payload.output_refs;Array.isArray(o)&&o.length&&(a=a.filter(e=>e.kind!==`assistant_text`||o.some(t=>e.nativeRef.scopeId===t.scope_id&&e.nativeRef.runtimeItemId===t.item_id)));let s=a.filter(e=>e.kind===`assistant_text`);if(i&&!s.some(e=>e.payload.text)&&Array.isArray(o)){let e=o.flatMap(e=>n.filter(t=>t.runId===i.runId&&t.nativeRef.scopeId===e.scope_id&&t.nativeRef.runtimeItemId===e.item_id&&t.kind===`assistant_text`));e.length&&a.push({...e[0],itemId:`${i.runId}:delegated-final`,parentItemId:null,nativeRef:{},payload:{text:e.map(e=>e.payload.text).join(``)},lifecycle:`completed`})}n=a.filter(e=>e.kind!==`assistant_text`||!!i)}let r=n.filter(QJ),i=n.filter(e=>!QJ(e)),a=new Set([`user_message`,`assistant_text`,`reasoning`]),o=r.filter(e=>a.has(e.kind)).map(eY),s=e=>e.nativeRef.parentScopeId||e.nativeRef.parent_scope_id||r.some(t=>t.kind===`agent`&&(e.parentItemId===t.itemId||t.runId===e.runId&&t.payload.scope_id===(e.nativeRef.scopeId||e.nativeRef.scope_id))),c=e=>r.filter(t=>t.kind===e&&!s(t)).map(e=>typeof e.payload.text==`string`?e.payload.text:``).join(``),l=[...r.filter(e=>e.kind===`unknown`),...i],u=r.filter(e=>e.kind===`error`),d=[...r].reverse().find(e=>ZJ(e)!==void 0);return{timeline:sY(r.filter(e=>e.kind!==`progress`)),output:c(`assistant_text`),reasoning:c(`reasoning`),textItems:o,toolItems:r.filter(e=>e.kind===`tool_call`),approvalItems:r.filter(e=>e.kind===`approval`),structuredInputItems:r.filter(e=>e.kind===`progress`&&e.payloadSchemaRef===`conversation.item.structured-input/v1`),a2uiItems:r.filter(e=>e.kind===`a2ui`),artifacts:r.filter(e=>e.kind===`artifact`).map(tY),fallbacks:[...l.map(e=>({id:e.itemId,title:`Unsupported content`,detail:String(e.payload.summary||e.payload.originalKind||e.payloadSchemaRef),failed:e.lifecycle===`failed`})),...u.map(e=>({id:e.itemId,title:`Run failed`,detail:String(e.payload.error||`The agent run failed.`),failed:!0}))],runId:n.at(-1)?.runId||``,terminalStatus:d?ZJ(d):void 0}}var lY=8;function uY(e){return typeof e==`object`&&e&&!Array.isArray(e)?e:null}function dY(e){if(e?.aborted)throw new Xq(`conversation_aborted`,`Conversation request was aborted.`)}function fY(e,t){return t?.aborted===!0||e instanceof Error&&e.name===`AbortError`}function pY(e){let t=e.trim().replace(/\/+$/,``);if(!t)return``;if(!t.includes(`://`))return t.startsWith(`/`)?t:`/${t}`;try{let e=new URL(t);if(e.protocol!==`http:`&&e.protocol!==`https:`||e.username||e.password)throw Error(`unsafe URL`);return e.toString().replace(/\/$/,``)}catch(e){throw new Xq(`conversation_contract_mismatch`,`Conversation base URL must be an HTTP(S) URL without embedded credentials.`,{cause:e})}}function mY(e){return Math.min(200*2**Math.max(0,e-1),2e3)}function hY(e){return new Promise(t=>{setTimeout(t,e)})}async function gY(e,t,n){if(dY(n),!n){await e(t);return}await new Promise((r,i)=>{let a=()=>i(new Xq(`conversation_aborted`,`Conversation request was aborted.`));n.addEventListener(`abort`,a,{once:!0}),e(t).then(r,i).finally(()=>{n.removeEventListener(`abort`,a)})})}function _Y(e,t,n,r,i){let a=i?i.snapshot():e.snapshot();return{cursor:t,runId:n,state:a,presentation:cY(a,{profile:r})}}function vY(e,t){let n,r=[];for(let t of e.split(/\r?\n/)){let e=t.endsWith(`\r`)?t.slice(0,-1):t;if(!e||e.startsWith(`:`))continue;let i=e.indexOf(`:`),a=i<0?e:e.slice(0,i),o=i<0?``:e.slice(i+1),s=o.startsWith(` `)?o.slice(1):o;if(a===`id`){if(!/^\d+$/.test(s)||!Number.isSafeInteger(Number(s)))throw new Xq(`conversation_stream_error`,`Conversation stream contains an invalid replay cursor.`);n=Number(s)}else a===`data`&&r.push(s)}if(r.length===0)return;let i=r.join(`
|
|
236
|
+
`);if(!i||i===`[DONE]`)return;let a;try{a=JSON.parse(i)}catch(e){throw new Xq(`conversation_contract_mismatch`,`Conversation stream contains invalid JSON.`,{cause:e})}let o=uY(a),s=uY(o?.runtimeEvent)||uY(o?.runtime_event)||(o?.schema_version===2?o:null);if(!o||o.conversationItem===void 0&&!s){n!==void 0&&(t.cursor=Math.max(t.cursor,n));return}if(n===void 0)throw new Xq(`conversation_stream_error`,`Canonical conversation items require an SSE replay cursor.`);let c=o.conversationItem===void 0?`runtime`:`native`;if(t.lane&&t.lane!==c){t.cursor=Math.max(t.cursor,n);return}let l;try{l=c===`native`?CJ(o.conversationItem):t.runtime.apply(s)}catch(e){throw new Xq(`conversation_contract_mismatch`,`Runtime conversation identity or lifecycle invariant failed.`,{cause:e})}if(c===`runtime`&&!l){t.cursor=Math.max(t.cursor,n);return}if(!l)throw new Xq(`conversation_contract_mismatch`,`Conversation stream item does not match conversation.ksadk.io/v1.`);if(t.runId&&t.runId!==l.runId)throw new Xq(`conversation_contract_mismatch`,`Conversation stream changed canonical run identity.`,{runId:t.runId,cursor:t.cursor});t.runId=l.runId;let u;try{u=c===`runtime`||t.reducer.apply(l)}catch(e){throw new Xq(`conversation_contract_mismatch`,`Conversation identity or lifecycle invariant failed.`,{cause:e})}t.cursor=Math.max(t.cursor,n),u&&!(t.profile===`flat-v1`&&l.nativeRef.parentScopeId)&&t.options.onItem?.(l),t.options.onUpdate?.(_Y(t.reducer,t.cursor,t.runId,t.profile,t.lane===`runtime`?t.runtime:void 0))}async function yY(e,t){if(!e.body)throw new Xq(`conversation_stream_error`,`Conversation response has no event stream body.`);let n=e.body.getReader(),r=new TextDecoder,i=``;try{for(;;){dY(t.options.signal);let{value:e,done:a}=await n.read();if(a)break;i+=r.decode(e,{stream:!0});let o=/\r?\n\r?\n/.exec(i);for(;o?.index!==void 0;){let e=o.index,n=o[0].length;vY(i.slice(0,e),t),i=i.slice(e+n),o=/\r?\n\r?\n/.exec(i)}}i+=r.decode(),i.trim()&&vY(i,t)}catch(e){throw e instanceof Xq?e:(fY(e,t.options.signal)&&dY(t.options.signal),new Xq(`conversation_stream_error`,`Conversation event stream was interrupted.`,{cause:e,runId:t.runId||void 0,cursor:t.cursor}))}finally{n.releaseLock()}}function bY(e){return e.state.items.some(e=>ZJ(e)!==void 0)}var xY=class{fetcher;ingressLane;rendererCatalog;baseUrl;maxReconnects;sleep;retryDelayMs;constructor(e={}){if(!Number.isInteger(e.maxReconnects??lY)||(e.maxReconnects??lY)<0||(e.maxReconnects??lY)>32)throw new Xq(`conversation_contract_mismatch`,`Conversation reconnect limit must be an integer from 0 to 32.`);this.fetcher=e.fetch,this.rendererCatalog=e.rendererCatalog,this.ingressLane=e.ingressLane,this.baseUrl=pY(e.baseUrl||``),this.maxReconnects=e.maxReconnects??lY,this.sleep=e.sleep||hY,this.retryDelayMs=e.retryDelayMs||mY}fetch(){if(this.fetcher)return this.fetcher;if(typeof globalThis.fetch==`function`)return globalThis.fetch.bind(globalThis);throw new Xq(`conversation_http_error`,`No fetch implementation is available for the conversation client.`)}url(e){return`${this.baseUrl}${e}`}async request(e,t,n,r=`conversation_stream_error`){dY(n);try{return await this.fetch()(e,t)}catch(e){throw e instanceof Xq?e:(fY(e,n)&&dY(n),new Xq(r,`Conversation network request failed.`,{cause:e}))}}assertOk(e){if(!e.ok)throw new Xq(`conversation_http_error`,`Conversation endpoint returned HTTP ${e.status}.`,{status:e.status})}async getSurface(e,t,n={}){if(!e||!t)throw new Xq(`conversation_contract_mismatch`,`Agent and session identities are required to get a conversation surface.`);let r=n.signal?{signal:n.signal}:void 0,i=await this.request(this.url(`/api/v1/agents/${encodeURIComponent(e)}/conversation-surface?sessionId=${encodeURIComponent(t)}`),r,n.signal,`conversation_http_error`);this.assertOk(i);let a;try{a=await i.json()}catch(e){throw new Xq(`conversation_contract_mismatch`,`Conversation surface response is not valid JSON.`,{cause:e})}let o=uY(a),s=SJ(o?.surface);if(!o||typeof o.buildId!=`string`||!o.buildId||!s)throw new Xq(`conversation_contract_mismatch`,`Conversation surface response does not match conversation.ksadk.io/v1.`);return{buildId:o.buildId,surface:s}}async streamTurn(e){dY(e.signal);let t=EJ(e.bootstrap.surface,this.rendererCatalog),n={...e.input,...t===`agent-block-v1`||e.input.extensions?.[`ksadk.presentation`]?{extensions:{...e.input.extensions,"ksadk.presentation":{profile:t}}}:{}};yJ(e.bootstrap.surface,n);let r=e.bootstrap.surface.outputs.find(e=>e.name===`agent.block`),i=r?.mode===`native`?`native`:r?.mode===`translated`?`runtime`:void 0;if(i&&this.ingressLane&&i!==this.ingressLane)throw new Xq(`conversation_contract_mismatch`,`Configured ingress lane disagrees with the conversation surface.`);let a=i||this.ingressLane||`native`,o=new PJ,s={profile:t,lane:a,runtime:new qJ(n.sessionId,o,t),cursor:0,runId:``,reducer:o,options:e},c={method:`POST`,headers:{"Content-Type":`application/json`,"Idempotency-Key":e.input.idempotencyKey},body:JSON.stringify({input:n}),...e.signal?{signal:e.signal}:{}},l=await this.request(this.url(`/api/v1/builds/${encodeURIComponent(e.bootstrap.buildId)}/conversation:stream`),c,e.signal);this.assertOk(l);try{await yY(l,s)}catch(e){if(!(e instanceof Xq)||e.code!==`conversation_stream_error`||!s.runId)throw e}let u=_Y(s.reducer,s.cursor,s.runId,s.profile,s.lane===`runtime`?s.runtime:void 0);if(bY(u))return u;if(!s.runId)throw new Xq(`conversation_run_identity_missing`,`The stream ended before a canonical item supplied its run identity.`,{cursor:s.cursor});for(let t=1;t<=this.maxReconnects;t+=1){await gY(this.sleep,this.retryDelayMs(t),e.signal),dY(e.signal);let n;try{n=await this.request(this.url(`/api/v1/runs/${encodeURIComponent(s.runId)}/events?after=${s.cursor}${s.profile===`agent-block-v1`?`&presentationProfile=agent-block-v1`:``}`),{method:`GET`,headers:{"Last-Event-ID":String(s.cursor)},...e.signal?{signal:e.signal}:{}},e.signal),this.assertOk(n),await yY(n,s)}catch(e){if(e instanceof Xq&&e.code===`conversation_aborted`||e instanceof Xq&&e.code===`conversation_contract_mismatch`||e instanceof Xq&&e.code===`conversation_http_error`&&e.status!==void 0&&e.status<500)throw e;continue}if(u=_Y(s.reducer,s.cursor,s.runId,s.profile,s.lane===`runtime`?s.runtime:void 0),bY(u))return u}throw new Xq(`conversation_reconnect_exhausted`,`Conversation replay stopped after the configured reconnect limit.`,{runId:s.runId,cursor:s.cursor})}};function SY(e,t){if(!e.trim())throw Error(`trusted conversation renderer ${t} must not be empty`)}function CY(e){let t=new Map;for(let n of e){if(SY(n.id,`id`),SY(n.schemaRef,`schemaRef`),!n.kinds.length)throw Error(`trusted conversation renderer kinds must not be empty`);if(t.has(n.schemaRef))throw Error(`duplicate trusted conversation renderer schemaRef: ${n.schemaRef}`);t.set(n.schemaRef,Object.freeze({...n,kinds:Object.freeze([...n.kinds])}))}let n=Object.freeze([...t.values()]);return Object.freeze({resolve(e){let n=t.get(e.payloadSchemaRef);return n?.kinds.includes(e.kind)?n:void 0},entries(){return n}})}var wY=CY([{id:`ksadk.agent-block`,schemaRef:`conversation.item.agent/v1`,kinds:[`agent`]}]),TY=e=>e.runId||e.invocationId;function EY(e){let t=new Map;for(let n of e){let e=TY(n),r=n.historyOrder?.group;e&&r!==void 0&&t.set(e,Math.min(r,t.get(e)??r))}let n=e.map((e,n)=>({message:e,index:n,seq:e.historyOrder?.seq,group:e.historyOrder?.group??t.get(TY(e)||``)??e.historyOrder?.seq,part:e.historyOrder?.index||0})),r,i=n.map(()=>void 0);for(let e=n.length-1;e>=0;e--)i[e]=r,n[e].group!==void 0&&(r=n[e].group);let a;return n.map(e=>e.group===void 0?{...e,anchor:a??i[e.index]??0,side:a===void 0&&i[e.index]!==void 0?-1:1}:(a=e.group,{...e,anchor:e.group,side:0})).sort((e,t)=>e.anchor-t.anchor||e.side-t.side||(e.side===0?(e.seq??e.anchor)-(t.seq??t.anchor):0)||(e.side===0?e.part-t.part:0)||e.index-t.index).map(e=>e.message)}function DY(e,t){if(!t)return!0;let n=n=>n===`feedback`?!1:n===`historyOrder`?e.historyOrder?.seq!==t.historyOrder?.seq||e.historyOrder?.index!==t.historyOrder?.index||e.historyOrder?.group!==t.historyOrder?.group:e[n]!==t[n];return Object.keys(e).some(n)||Object.keys(t).some(n)}function OY(e,t,n){let r=new Map(t.map(e=>[e.id,e])),i=n.filter(e=>r.has(e.id)&&r.get(e.id)?.feedback!==e.feedback),a=new Map(i.map(e=>[e.id,e.feedback])),o=e=>JSON.stringify([TY(e),e.responseId]),s=new Map(i.filter(e=>e.responseId).map(e=>[o(e),e.feedback])),c=e=>e.map(e=>{if(a.has(e.id))return{...e,feedback:a.get(e.id)};let t=o(e);return e.responseId&&s.has(t)?{...e,feedback:s.get(t)}:e}),l=n.filter(e=>DY(e,r.get(e.id)));if(!l.length)return c(e);let u=new Set(l.map(TY).filter(Boolean)),d=new Set(l.map(e=>e.id)),f=n.filter(e=>u.has(TY(e))||d.has(e.id)),p=e;for(let t of u){let n=f.filter(e=>TY(e)===t),r=e.filter(e=>TY(e)===t),i=p.findIndex(e=>TY(e)===t),a=n.some(e=>e.role===`user`)?[]:r.filter(e=>e.role===`user`);p=p.filter(e=>TY(e)!==t);let o=i<0?p.length:Math.min(i,p.length);p.splice(o,0,...a,...n.map(e=>({...e,historyOrder:e.historyOrder||r.find(t=>t.id===e.id)?.historyOrder})))}for(let e of f.filter(e=>!TY(e))){let t=p.findIndex(t=>t.id===e.id);if(t<0){let t=n.indexOf(e),r=n.slice(t+1).find(e=>p.some(t=>t.id===e.id)),i=n.slice(0,t).findLast(e=>p.some(t=>t.id===e.id)),a=r?p.findIndex(e=>e.id===r.id):i?p.findIndex(e=>e.id===i.id)+1:p.length;p=[...p.slice(0,a),e,...p.slice(a)]}else p=p.map((n,r)=>r===t?{...e,historyOrder:e.historyOrder||n.historyOrder}:n)}return c(EY(p))}var kY=`conversation_item_v1`;function AY(e){return typeof e==`object`&&e&&!Array.isArray(e)?e:null}function jY(e){return typeof e==`string`&&e.trim()?e:null}function MY(e){if(typeof e==`string`)return e;if(e==null)return``;try{return JSON.stringify(e,null,2)}catch{return String(e)}}function NY(e){return{id:`conversation:${e.runId}:${e.itemId}`,timestamp:0,eventType:kY,eventId:e.sourceEventIds.at(-1),runId:e.runId,itemId:e.itemId,status:e.lifecycle===`failed`?`failed`:e.lifecycle===`completed`?`completed`:`running`}}function PY(e){return e.lifecycle===`failed`?`error`:e.lifecycle===`completed`?`done`:`streaming`}function FY(e){let t=typeof e.payload.text==`string`?e.payload.text:``;if(e.kind===`user_message`)return{...NY(e),role:`user`,content:t,eventType:`user_message`};let n=e.kind===`reasoning`?{id:`conversation-block:${e.itemId}`,type:`thinking`,content:t,status:PY(e)}:{id:`conversation-block:${e.itemId}`,type:`text`,content:t,status:PY(e)};return{...NY(e),role:`model`,content:e.kind===`assistant_text`?t:``,reasoning:e.kind===`reasoning`?t:void 0,blocks:[n]}}function IY(e){let t=jY(e.payload.tool)||(e.payload.sourceKind===`tool_result`?`Tool result`:`Tool`),n=jY(e.payload.callId),r=MY(HJ(e.payload.args)),i=Object.prototype.hasOwnProperty.call(e.payload,`output`)?MY(UJ(e.payload.output,e.nativeRef.framework,e.nativeRef.protocol)):void 0,a={failed:`error`,completed:`completed`,running:`running`,unknown:`unknown`},o=e.payload.executionStatus,s=typeof o==`string`&&Object.hasOwn(a,o)?a[o]:e.lifecycle===`failed`||e.payload.isError===!0?`error`:e.lifecycle===`completed`?`completed`:`running`;return{...NY(e),role:`model`,content:``,blocks:[{id:`conversation-block:${e.itemId}`,type:`tool`,toolName:t,args:r,output:i,status:s,...n?{extra:{callId:n}}:{}}],tools:{[t]:{name:t,...n?{callId:n}:{},args:r,output:i,status:s}}}}function LY(e){return e===`structured_input`?`structured_input`:e===`plan_review`?`plan_review`:e===`custom`?`custom`:`approval`}function RY(e){let t=jY(e.payload.interactionId),n=e.payload.revision;if(!t||!Number.isInteger(n)||Number(n)<1)return null;let r=MY(e.payload.detail),i=jY(e.payload.prompt)||r,a=LY(e.payload.interactionKind),o=e.lifecycle===`completed`;return{interactionId:t,sessionId:e.sessionId,runId:e.runId,kind:a,title:jY(e.payload.title)||(a===`approval`?`审批:${jY(e.payload.kind)||`操作`}`:`需要补充信息`),message:i||`运行需要人工确认。`,requestSchema:AY(e.payload.inputSchema),presentation:null,status:o?`resolved`:`pending`,revision:Number(n),createdAt:jY(e.payload.createdAt)||``,expiresAt:jY(e.payload.expiresAt),resolvedAt:o?jY(e.payload.resolvedAt):null,actor:o?jY(e.payload.actor):null,outcome:o&&[`approved`,`rejected`,`submitted`,`cancelled`,`expired`].includes(String(e.payload.outcome||``))?e.payload.outcome:null,responseSummary:o?jY(e.payload.responseSummary):null,source:`interaction_v1`,extensions:{conversation_item_id:e.itemId,...jY(e.payload.callId)?{call_id:jY(e.payload.callId)}:{}}}}function zY(e,t){let n=jY(e.payload.kind)||`approval`,r=MY(e.payload.detail),i=t.status===`resolved`?t.outcome===`rejected`?`rejected`:t.outcome===`cancelled`||t.outcome===`expired`?`cancelled`:`approved`:`pending`,a=t.status===`pending`?`paused`:`completed`,o={approvalRequestId:t.interactionId,approvalStatus:i,approvalMessage:t.message};return{...NY(e),role:`model`,content:``,blocks:[{id:`conversation-block:${e.itemId}`,type:`tool`,toolName:n,args:r,status:a,extra:o}],tools:{[n]:{name:n,args:r,status:a,approvalRequestId:t.interactionId,approvalStatus:i,approvalMessage:t.message}}}}function BY(e){for(let t of[`createSurface`,`updateComponents`,`updateDataModel`,`deleteSurface`]){let n=jY(AY(e[t])?.surfaceId);if(n)return n}return null}function VY(e){let t=Array.isArray(e.payload.data)?e.payload.data:Array.isArray(e.payload.operations)?e.payload.operations:null;if(!t)return null;let n=t.map(AY);if(n.some(e=>e===null))return null;let r=n,i=jY(e.payload.surfaceId)||r.map(BY).find(e=>e!==null)||null;return i?{...NY(e),role:`a2ui`,content:``,aguiActivity:{surfaceId:i,messages:r}}:null}function HY(e,t,n,r=!1){return{...NY(e),role:`system`,content:n?`${t}: ${n}`:t,status:r?`failed`:NY(e).status}}function UY(e){for(let{item:t}of[...e].reverse()){if(t.visibility!==`public`||t.kind!==`assistant_text`||t.payloadSchemaRef!==`conversation.item.assistant_text/v1`||typeof t.payload.text!=`string`)continue;let e=HJ(t.payload.text);if(typeof e!=`string`||e===`[redacted]`)continue;let n=e.replace(/\s+/g,` `).trim();if(!n)continue;let r=Array.from(n);return r.length>160?`${r.slice(0,160).join(``)}…`:n}}function WY(e){let t=e.presentation,n=new Map(t.textItems.map(e=>[e.id,e])),r=new Set(t.toolItems.map(e=>e.itemId)),i=new Set(t.approvalItems.map(e=>e.itemId)),a=new Set(t.structuredInputItems.map(e=>e.itemId)),o=new Set(t.a2uiItems.map(e=>e.itemId)),s=new Map(t.artifacts.map(e=>[e.id,e])),c=new Map(t.fallbacks.map(e=>[e.id,e])),l=[],u=[];for(let d of t.timeline){let{item:f}=d;if(f.kind===`agent`){if(!d.children){l.push(HY(f,`Remote agent`,String(f.payload.status||`submitted`)));continue}let n=WY({...e,presentation:{...t,timeline:d.children||[]}});l.push({...NY(f),role:`model`,content:``,agentBlock:{item:f,messages:n.messages,summary:UY(d.children||[])},status:f.payload.status===`cancelled`?`cancelled`:NY(f).status}),u.push(...n.interactions);continue}if(n.has(f.itemId)){l.push(FY(f));continue}if(r.has(f.itemId)){l.push(IY(f));continue}if(i.has(f.itemId)||a.has(f.itemId)){let e=RY(f);e?(u.push(e),l.push(zY(f,e))):l.push(HY(f,`Interaction unavailable`,`The server did not provide a durable interaction revision; this card is read-only.`));continue}if(o.has(f.itemId)){let e=VY(f);l.push(e||HY(f,`Unsupported content`,`A2UI payload is not a valid passive operation list.`));continue}let p=s.get(f.itemId);if(p){l.push(p.status===`pending`?{...NY(f),role:`model`,content:p.name,attachments:[{name:p.name,type:p.mimeType,url:``,artifactId:p.artifactId,itemId:p.itemId,runId:p.runId,sizeBytes:p.sizeBytes,status:`pending`}]}:p.status===`ready`&&p.uri?{...NY(f),role:`model`,content:p.name,attachments:[{name:p.name,type:p.mimeType,url:p.uri,artifactId:p.artifactId,itemId:p.itemId,runId:p.runId,sizeBytes:p.sizeBytes,status:p.status}]}:HY(f,`Artifact unavailable`,p.status===`failed`?`The artifact failed to generate or its URI is not a safe HTTP(S) link.`:`The artifact URI is not a safe HTTP(S) link.`));continue}let m=c.get(f.itemId);if(m){if(f.kind===`error`&&[`cancelled`,`canceled`].includes(String(f.payload.status||``).toLowerCase()))continue;l.push(HY(f,m.title,m.detail,m.failed))}}return{messages:l,interactions:u}}function GY(e,t,n){let r=WY(t).messages;if(!r.length)return e;let i=e.filter(e=>e.eventType!==`optimistic_assistant_placeholder`),a=e=>e.runId===t.runId||e.invocationId===t.runId,o=i.findIndex(a),s=n?i.findIndex(e=>e.id===n):o<0?i.findLastIndex(e=>e.role===`user`&&e.eventType===`optimistic_user_message`):i.findIndex(e=>e.role===`user`&&a(e)),c=i[s],l=i.filter((e,t)=>t!==s&&!a(e)),u=[s,o].filter(e=>e>=0),d=u.length?Math.min(...u):l.length,f=c&&!r.some(e=>e.role===`user`)?[{...c,invocationId:t.runId,eventType:void 0}]:[];return[...l.slice(0,d),...f,...r,...l.slice(d)]}var KY=0;function qY(e){return KY+=1,`${e}-${KY}`}function JY(e){return e.map(e=>e.type===`thinking`&&e.status===`streaming`?{...e,status:`done`}:e)}function YY(e,t){let n=[...e??[]],r=n[n.length-1];return r?.type===`thinking`&&r.status===`streaming`?(n[n.length-1]={...r,content:r.content+t},n):[...n,{id:qY(`thinking`),type:`thinking`,content:t,status:`streaming`}]}function XY(e,t){let n=[...JY(e??[])],r=n[n.length-1];return r?.type===`text`&&r.status===`streaming`?(n[n.length-1]={...r,content:r.content+t},n):[...n,{id:qY(`text`),type:`text`,content:t,status:`streaming`}]}function ZY(e,t){let n=JY(e??[]);if(n.filter(e=>e.type===`text`).map(e=>e.content).join(``)===t)return n.map(e=>e.type===`text`&&e.status===`streaming`?{...e,status:`done`}:e);let r=[...n],i=r.map(e=>e.type).lastIndexOf(`text`);return i>=0&&r[i].type===`text`?(r[i]={...r[i],content:t,status:`done`},r):[...r,{id:qY(`text`),type:`text`,content:t,status:`done`}]}function QY(e,t){if(!t)return[...e??[]];let n=[...e??[]],r=n[n.length-1];if(r?.type!==`thinking`||!r.content.endsWith(t))return n;let i=r.content.slice(0,-t.length);return i?(n[n.length-1]={...r,content:i},n):(n.pop(),n)}function $Y(e,t,n){let r=[...JY(e??[])],i=r.findIndex(e=>e.type===`tool`&&e.toolName===t);if(i>=0&&r[i].type===`tool`){let e=r[i],t=e.status===`error`||e.status===`completed`,a=n.output!==void 0,o=n.extra&&(n.extra.approvalRequestId||n.extra.approvalStatus);if(t&&!a&&!o)return r;let s=n.extra??e.extra;return r[i]={...e,...n,extra:s},r}return[...r,{id:qY(`tool`),type:`tool`,toolName:t,args:n.args??``,output:n.output,status:n.status??`running`,extra:n.extra}]}function eX(e){return JY(e??[])}function tX(e){let t=[];if(e.reasoning&&e.reasoning.trim()&&t.push({id:qY(`thinking`),type:`thinking`,content:e.reasoning,status:`done`}),e.tools)for(let n of Object.values(e.tools))t.push({id:qY(`tool`),type:`tool`,toolName:n.name,args:n.args??``,output:n.output,status:n.status??`completed`,...n.callId||n.approvalRequestId?{extra:{...n.callId?{callId:n.callId}:{},...n.approvalRequestId?{approvalRequestId:n.approvalRequestId}:{}}}:{}});return e.content&&e.content.trim()&&t.push({id:qY(`text`),type:`text`,content:e.content,status:`done`}),t}var nX={"run.started":`in_progress`,"run.progress":`in_progress`,"run.completed":`completed`,"run.failed":`failed`,"run.canceled":`cancelled`,"run.interrupted":`interrupted`},rX=new Set([`completed`,`failed`,`cancelled`,`canceled`]);function iX(e){return typeof e==`object`&&e&&!Array.isArray(e)?e:null}function aX(e){let t=iX(e.source),n=t?iX(t.metadata):null;return String(n?.native_item_kind||``)}function oX(e,t){let n=iX(e[t]);if(!n)return[];let r=n?.parts;return Array.isArray(r)?r:t===`update`?[n]:[]}function sX(e){let t=iX(e);if(!t)return``;if(typeof t.text==`string`)return t.text;let n=iX(t.data);if(n){let e=n.content;if(Array.isArray(e))return e.map(e=>String(iX(e)?.text||``)).join(``);for(let e of[`text`,`output`,`stdout`,`stderr`])if(n[e]!=null)return String(n[e])}return``}function cX(e){return e.map(sX).join(``)}function lX(e){return e.some(e=>iX(iX(e)?.data)?.type===`userMessage`)}function uX(e){if(e.length===1){let t=iX(iX(e[0])?.data);if(t)return t}return cX(e)||null}function dX(e){let t=iX(e);return t?iX(t.data)||t:null}function fX(e){let t=dX(e);return String(t?.content_type||t?.type||``).trim().toLowerCase()}function pX(e){for(let t of e){let e=dX(t);if(!e||fX(t)!==`tool_call`)continue;let n=String(e.call_id||``).trim(),r=String(e.name||e.tool_name||``).trim();if(!(!n&&!r))return{callId:n,name:r,arguments:e.arguments??e.args??{}}}return null}function mX(e){for(let t of e){let e=dX(t);if(!e||fX(t)!==`tool_result`)continue;let n=String(e.call_id||e.tool_call_id||``).trim(),r=e.is_error===!0||e.error!=null;return{callId:n,result:e.result??e.output??e.error??null,isError:r}}return null}function hX(e,t,n,r){let i=String(e.item_id||``),a=String(r||i);return{RuntimeItem:{RunId:String(e.run_id||``),ScopeId:String(e.scope_id||e.run_id||``),ItemId:a,...n?{PartId:n}:{},Operation:t,SourceEventId:String(e.event_id||``),...i&&i!==a?{SourceItemId:i}:{}}}}var gX=class{textByPart=new Map;toolNameByCallId=new Map;toolCallByItemId=new Map;toolResultByItemId=new Map;sessionId;constructor(e){this.sessionId=e}translate(e){if(!iX(e))return null;let t=Number(e.seq);if(!Number.isFinite(t)||t<=0)return null;let n=String(e.family||``),r=String(e.event_type||``),i=String(e.run_id||``),a=()=>({EventId:e.event_id?String(e.event_id):`kernel-${t}`,SessionId:this.sessionId,InvocationId:i||void 0,SeqId:t});if(n===`interaction`)return{...a(),EventType:r,payload:e};if(n===`control`){if(r===`control.command_rejected`)return{...a(),EventType:r,Content:e};if(r===`control.run_transition`){let t=String(e.state||``).toLowerCase();if(rX.has(t))return{...a(),EventType:`run_status`,Content:{status:t}}}return null}if(n!==`runtime`)return null;let o=nX[r];if(o)return{...a(),EventType:`run_status`,Content:{status:o}};let s=aX(e);if(r===`item.started`){let t=oX(e,`initial`);if(e.item_kind===`tool_call`){let n=pX(t),r=n?.callId||String(e.item_id||``),o=n?.name||`tool`;return r&&this.toolNameByCallId.set(r,o),e.item_id&&this.toolCallByItemId.set(String(e.item_id),{callId:r,name:o}),{...a(),EventType:`tool_call`,Metadata:{...hX(e,`replace`,void 0,r),call_id:r,tool_name:o,run_id:i,tool_args:n?.arguments??uX(t)}}}return e.item_kind===`tool_result`||s===`userMessage`||lX(t)||s===`reasoning`||e.item_kind===`reasoning`?null:s===`agentMessage`||!s&&e.item_kind===`message`?{...a(),EventType:`assistant_stream_snapshot`,Content:{parts:[{text:``}]},Metadata:hX(e,`replace`)}:s&&s!==`notification`?{...a(),EventType:`tool_call`,Metadata:{...hX(e,`replace`),call_id:String(e.item_id||``),tool_name:s,run_id:i,tool_args:uX(t)}}:null}if(r===`item.updated`){let n=oX(e,`update`);if(e.item_kind===`tool_call`){let t=mX(n);if(!t)return null;let r=this.toolCallByItemId.get(String(e.item_id||``)),o=t.callId||r?.callId||String(e.item_id||``),s=r?.name||this.toolNameByCallId.get(o)||`tool`,c=t.isError?{error:t.result}:t.result;return e.item_id&&this.toolResultByItemId.set(String(e.item_id),c),{...a(),EventType:`tool_result`,Metadata:{...hX(e,`completed`,void 0,o),call_id:o,tool_name:s,run_id:i,tool_output:c}}}let r=iX(n[0]),o=String(r?.part_id||e.item_id||t),c=String(e.op||`replace`),l=cX(n),u=this.textByPart.get(o)||``,d=c===`append`?u+l:l;return this.textByPart.set(o,d),s===`agentMessage`||!s&&e.item_kind===`message`?{...a(),EventType:`assistant_stream_snapshot`,Content:{parts:[{text:d}]},Metadata:hX(e,`replace`,o)}:s===`reasoning`||e.item_kind===`reasoning`?{...a(),EventType:`reasoning`,Content:{parts:[{text:l}]},Metadata:hX(e,c===`append`?`append`:`replace`,o)}:null}if(r===`item.snapshot_replaced`){let n=oX(e,`snapshot`),r=String(iX(n[0])?.part_id||e.item_id||t),i=cX(n);return this.textByPart.set(r,i),s===`agentMessage`||!s&&e.item_kind===`message`?{...a(),EventType:`assistant_stream_snapshot`,Content:{parts:[{text:i}]},Metadata:hX(e,`replace`,r)}:s===`reasoning`||e.item_kind===`reasoning`?{...a(),EventType:`reasoning`,Content:{parts:[{text:i}]},Metadata:hX(e,`replace`,r)}:null}if(r===`item.completed`){let n=oX(e,`snapshot`);if(e.item_kind===`tool_call`){let t=pX(n),r=mX(n),o=this.toolCallByItemId.get(String(e.item_id||``)),s=r?.callId||t?.callId||o?.callId||String(e.item_id||``),c=t?.name||o?.name||this.toolNameByCallId.get(s)||`tool`;if(s&&this.toolNameByCallId.set(s,c),r){let t=r.isError?{error:r.result}:r.result;return{...a(),EventType:`tool_result`,Metadata:{...hX(e,`completed`,void 0,s),call_id:s,tool_name:c,run_id:i,tool_output:t}}}return{...a(),EventType:`tool_call`,Metadata:{...hX(e,`replace`,void 0,s),call_id:s,tool_name:c,run_id:i,tool_args:t?.arguments??uX(n)}}}if(e.item_kind===`tool_result`){let t=mX(n),r=t?.callId||String(e.item_id||``),o=this.toolNameByCallId.get(r)||s||`tool`,c=t?.isError?{error:t.result}:t?.result??uX(n);return{...a(),EventType:`tool_result`,Metadata:{...hX(e,`completed`,void 0,r),call_id:r,tool_name:o,run_id:i,tool_output:c}}}if(s===`userMessage`||lX(n))return{...a(),EventType:`user_message`,Content:{parts:[{text:cX(n)}]}};if(s===`agentMessage`||!s&&e.item_kind===`message`){let r=cX(n),i=String(iX(n[0])?.part_id||e.item_id||t);return this.textByPart.set(i,r),{...a(),EventType:`assistant_message`,Content:{parts:[{text:r}]},Metadata:hX(e,`completed`,i)}}if(s===`reasoning`||e.item_kind===`reasoning`){let r=String(iX(n[0])?.part_id||e.item_id||t);return{...a(),EventType:`reasoning`,Content:{parts:[{text:cX(n)}]},Metadata:hX(e,`completed`,r)}}return s&&s!==`notification`?{...a(),EventType:`tool_result`,Metadata:{...hX(e,`completed`),call_id:String(e.item_id||``),tool_name:s,run_id:i,tool_output:uX(n)}}:null}if(r===`item.failed`){if(e.item_kind===`tool_call`){let t=this.toolCallByItemId.get(String(e.item_id||``)),n=t?.callId||String(e.item_id||``),r=t?.name||this.toolNameByCallId.get(n)||`tool`,o=this.toolResultByItemId.get(String(e.item_id||``));return{...a(),EventType:`tool_result`,Metadata:{...hX(e,`completed`,void 0,n),call_id:n,tool_name:r,run_id:i,tool_output:o??{error:iX(e.error)||e.error||`item failed`}}}}return s&&s!==`notification`&&s!==`agentMessage`&&s!==`reasoning`?{...a(),EventType:`tool_result`,Metadata:{...hX(e,`completed`),call_id:String(e.item_id||``),tool_name:s,run_id:i,tool_output:{error:iX(e.error)||e.error||`item failed`}}}:null}return null}};async function _X(e){let t=e.getReader(),n=new TextDecoder,r=``,i=null,a=!1,o=e=>e.includes(`data:`)||e.includes(`event:`)||e.includes(`:`);try{for(;;){let{value:e,done:s}=await t.read();if(e&&(r+=n.decode(e,{stream:!0})),s){a=!0;break}if(r.trimStart().startsWith(`{`)){if(vX(r)){i=yX(r);break}}else if(o(r))break}}catch(e){throw t.releaseLock(),e}let s=new TextEncoder().encode(r),c=new ReadableStream({start(e){if(s.length>0&&e.enqueue(s),a||i){e.close();return}let n=()=>t.read().then(({value:t,done:r})=>{if(t&&e.enqueue(t),r){e.close();return}return n()}).catch(t=>{try{e.error(t)}catch{}});n()},cancel(){t.cancel().catch(()=>{})}});return{receipt:i,stream:c}}function vX(e){let t=e.trim();if(!t.endsWith(`}`))return!1;let n=0,r=!1,i=!1;for(let e of t){if(i){i=!1;continue}if(e===`\\`){i=!0;continue}e===`"`&&(r=!r),!r&&((e===`{`||e===`[`)&&(n+=1),(e===`}`||e===`]`)&&--n)}return n===0}function yX(e){try{let t=iX(JSON.parse(e).Data),n=String(t?.ReceiptStatus||``);if(!n)return null;let r=iX(t?.Error);return{status:n,presentationProfile:t?.PresentationProfile===`agent-block-v1`?`agent-block-v1`:`flat-v1`,commandId:t?.CommandId??null,messageId:t?.MessageId??null,runId:t?.RunId??null,acceptedSeq:t?.AcceptedSeq??null,error:r?{code:String(r.code||``),message:String(r.message||``)}:null}}catch{return null}}function bX(){return{toolNames:new Map,toolArguments:new Map,callIds:new Map,currentResponseId:``,sawTextDelta:!1,sawReasoningDelta:!1}}function xX(e){return typeof e==`string`?e:Array.isArray(e)?e.map(e=>typeof e==`string`?e:e&&typeof e==`object`&&typeof e.text==`string`?e.text:``).join(``):e&&typeof e==`object`&&typeof e.text==`string`?e.text:``}function SX(e){return e==null?``:typeof e==`string`?e:typeof e==`object`?JSON.stringify(e,null,2):String(e)}function CX(...e){for(let t of e){let e=xX(t);if(e)return e}return``}function wX(e,t){return String(e?.id||e?.item_id||e?.call_id||t?.item_id||t?.call_id||t?.output_index||``)}function TX(e,t,n,r,i){t&&(e.toolNames.set(t,r),e.toolArguments.set(t,i));let a=String(n?.call_id||``);a&&(e.callIds.set(a,t||r),e.toolNames.set(a,r),e.toolArguments.set(a,i))}function EX(e,t,n,r=`tool`){let i=String(n?.call_id||``);return String(n?.name||n?.tool_name||(t?e.toolNames.get(t):``)||(i?e.toolNames.get(i):``)||r)}function DX(e){if(!e||typeof e!=`object`)return``;let t=xX(e.content);return CX(e.output_text,e.text,e.summary_text,e.summary,e.delta,t)}function OX(e){let t=e?.response&&typeof e.response==`object`?e.response:e,n=CX(t?.output_text,t?.text);if(n)return n;let r=Array.isArray(t?.output)?t.output:[];for(let e of r){let t=DX(e);if(t)return t}return``}function kX(e){let t=e?.response&&typeof e.response==`object`?e.response:e;return Array.isArray(t?.output)?t.output:[]}function AX(e){let t=e;if(typeof t==`string`)try{t=JSON.parse(t)}catch{return{}}return Array.isArray(t)&&(t=t[0]||{}),!t||typeof t!=`object`?{}:t.value&&typeof t.value==`object`&&!Array.isArray(t.value)?{...t.value,approval_request_id:t.value.approval_request_id||t.value.id||t.id}:t}function jX({data:e,state:t,status:n}){let r=e?.item||e?.output_item||e||{},i=String(r.type||``).trim(),a=wX(r,e);if(i===`function_call`){let e=EX(t,a,r),i=SX(r.arguments??r.args??r.input);return TX(t,a,r,e,i),[{type:`tool_upsert`,name:e,args:i,status:n}]}if(i===`function_call_output`)return[{type:`tool_result`,name:EX(t,a,r),output:SX(r.output??r.result??r.content)}];if(i===`mcp_approval_request`){let n=String(r.name||`approval`),i=SX(r.arguments??r.args),a=String(r.id||r.approval_request_id||``),o=String(r.run_id||r.runId||e?.run_id||e?.runId||``);return[{type:`tool_upsert`,name:n,args:i,status:`paused`,approvalRequestId:a,previousResponseId:String(e?.response_id||t.currentResponseId||``),serverLabel:String(r.server_label||``)},{type:`approval_request`,approvalRequestId:a,previousResponseId:String(e?.response_id||t.currentResponseId||``),...o?{runId:o}:{},name:n,args:i}]}if(i===`reasoning`||i===`reasoning_summary`||i===`reasoning_summary_text`){let e=DX(r);return e?[{type:`reasoning_delta`,text:e}]:[]}if(i===`message`){let e=DX(r);return e?[{type:n===`completed`?`text_final`:`text_delta`,text:e}]:[]}return[]}function MX({eventName:e,data:t,state:n}){let r=String(t?.type||e||``).trim(),i=String(t?.id||t?.response?.id||t?.response_id||``);if(i.startsWith(`resp_`)&&(n.currentResponseId=i),r===`response.tool_call`)return[{type:`tool_upsert`,name:String(t?.name||t?.tool_name||`tool`),args:SX(t?.args??t?.arguments),status:`running`}];if(r===`response.tool_result`||r===`response.ksadk.tool_result`)return[{type:`tool_result`,name:String(t?.name||t?.tool_name||`tool`),output:SX(t?.output??t?.result)}];if(r===`response.output_item.added`)return jX({data:t,state:n,status:`running`});if(r===`response.output_item.done`)return jX({data:t,state:n,status:`completed`});if(r===`response.function_call_arguments.delta`){let e=String(t?.item_id||t?.call_id||``),r=EX(n,e,t),i=`${n.toolArguments.get(e)||``}${String(t?.delta||``)}`;return n.toolArguments.set(e,i),[{type:`tool_upsert`,name:r,args:i,status:`running`}]}if(r===`response.function_call_arguments.done`){let e=String(t?.item_id||t?.call_id||``),r=EX(n,e,t),i=SX(t?.arguments??n.toolArguments.get(e));return n.toolArguments.set(e,i),[{type:`tool_upsert`,name:r,args:i,status:`running`}]}if(r===`response.reasoning.delta`||r===`response.reasoning_text.delta`||r===`response.reasoning_summary.delta`||r===`response.reasoning_summary_text.delta`){let e=CX(t?.delta,t?.text);return e&&(n.sawReasoningDelta=!0),e?[{type:`reasoning_delta`,text:e}]:[]}if(r===`response.output_text.delta`){let e=CX(t?.delta,t?.text);return e&&(n.sawTextDelta=!0),e?[{type:`text_delta`,text:e}]:[]}if(r===`response.output_text.done`){let e=CX(t?.text,t?.delta);return e?[{type:`text_final`,text:e}]:[]}if(r===`response.content_part.delta`){let e=String(t?.part?.type||t?.delta?.type||t?.content_type||``),r=CX(t?.delta?.text,t?.delta,t?.text);return r?e.includes(`reasoning`)?(n.sawReasoningDelta=!0,[{type:`reasoning_delta`,text:r}]):(n.sawTextDelta=!0,[{type:`text_delta`,text:r}]):[]}if(r===`response.completed`){let e=OX(t),r=kX(t).flatMap(e=>jX({data:{...t,item:e},state:n,status:`completed`})).filter(e=>!(n.sawTextDelta&&e.type===`text_final`)&&!(n.sawReasoningDelta&&e.type===`reasoning_delta`)),i=r.some(e=>e.type===`text_final`);return[...r,...e&&!n.sawTextDelta&&!i?[{type:`text_final`,text:e}]:[],{type:`terminal`,status:`completed`}]}if(r===`response.failed`)return[{type:`failed`,message:t?.error?.message||`Agent 运行失败`},{type:`terminal`,status:`failed`}];if(r===`response.incomplete`)return[{type:`incomplete`},{type:`terminal`,status:`incomplete`}];if(r===`response.cancelled`)return[{type:`terminal`,status:`cancelled`}];if(r===`response.approval_request`||r===`response.ksadk.approval_request`){let e=AX(t?.interrupt_info),r=String(e.approval_request_id||e.id||``),i=String(t?.response_id||n.currentResponseId||``),a=String(t?.run_id||t?.runId||``),o=e.approval_requests&&typeof e.approval_requests==`object`?e.approval_requests:e,s=Array.isArray(o.action_requests)?o.action_requests:[];if(s.length>0){let e=s.map(e=>({type:`tool_upsert`,name:String(e?.name||`tool`),args:JSON.stringify(e?.args??{}),status:`paused`,approvalRequestId:r,previousResponseId:i})),t=s[0]||{};return[...e,{type:`approval_request`,approvalRequestId:r,previousResponseId:i,...a?{runId:a}:{},name:String(t?.name||`人工确认`),args:JSON.stringify(t?.args??{})}]}return[{type:`approval_request`,approvalRequestId:r,previousResponseId:i,...a?{runId:a}:{}}]}if(r===`response.approval_resolved`||r===`response.ksadk.approval_resolved`){let e=String(t?.decision||t?.outcome||``).toLowerCase(),n=e===`reject`||e===`rejected`||e===`denied`?`rejected`:e===`cancel`||e===`cancelled`||e===`canceled`?`cancelled`:`approved`;return[{type:`approval_resolved`,approvalRequestId:String(t?.approval_request_id||t?.approvalRequestId||t?.approval_id||t?.approvalId||``),decision:n,revision:Number(t?.revision||2)}]}if(new Set([`response.ksadk.a2ui_surface_begin`,`a2ui.surface.begin`,`response.a2ui.createSurface`,`a2ui.createSurface`,`createSurface`]).has(r)){let e=t?.surface&&typeof t.surface==`object`?t.surface:{};return[{type:`a2ui_surface_begin`,surfaceId:String(t?.surface_id||t?.surfaceId||e.surface_id||e.surfaceId||``),surface:e}]}if(new Set([`response.ksadk.a2ui_surface_update`,`a2ui.surface.update`,`response.a2ui.updateComponents`,`a2ui.updateComponents`,`updateComponents`]).has(r)){let e=t?.surface&&typeof t.surface==`object`?t.surface:{};return[{type:`a2ui_surface_update`,surfaceId:String(t?.surface_id||t?.surfaceId||e.surface_id||e.surfaceId||``),surface:e}]}if(new Set([`response.ksadk.a2ui_surface_end`,`a2ui.surface.end`,`response.a2ui.deleteSurface`,`a2ui.deleteSurface`,`deleteSurface`]).has(r))return[{type:`a2ui_surface_end`,surfaceId:String(t?.surface_id||t?.surfaceId||``)}];if(new Set([`response.ksadk.a2ui_interaction`,`a2ui.interaction`]).has(r))return[{type:`a2ui_interaction`,surfaceId:String(t?.surface_id||t?.surfaceId||``),interactionId:String(t?.interaction_id||t?.interactionId||``),kind:String(t?.kind||`input`),inputSchema:t?.input_schema&&typeof t.input_schema==`object`?t.input_schema:{}}];let a=t?.content?.parts?.[0]?.text;return a&&!t?.actions?.finishReason?[{type:`text_delta`,text:String(a)}]:[]}var NX=new Set([`completed`,`failed`,`error`,`cancelled`,`canceled`,`aborted`,`interrupted`,`resume_failed`]),PX=new Set([`tool_call`,`tool_result`,`stage_tool_call`,`stage_tool_result`]),FX={"run.started":`in_progress`,"run.progress":`in_progress`,"run.interrupted":`interrupted`,"run.completed":`completed`,"run.failed":`failed`,"run.canceled":`cancelled`};function IX(e){let t=e?.Content?.payload;return t&&typeof t==`object`?t:{}}function LX(e,t){let n=String(e||``),r=String(t||``);return n?!r||n.endsWith(r)?n:r.startsWith(n)?r:`${n}${r}`:r}function RX(e){let t=String(e?.EventType||``),n=IX(e);return FX[t]?{...e,EventType:`run_status`,Content:{status:String(n.status||FX[t]),...n.detail?{detail:String(n.detail)}:{}}}:t===`reasoning.delta`||t===`reasoning.completed`?{...e,EventType:`reasoning`,Content:{role:`model`,parts:[{text:String(n.text||``)}]}}:t===`tool.call.begin`?{...e,EventType:`tool_call`,Metadata:{...e.Metadata||{},tool_name:n.name,tool_args:n.args,tool_call_id:n.call_id},Content:{role:`model`,parts:[]}}:t===`tool.call.end`?{...e,EventType:`tool_result`,Metadata:{...e.Metadata||{},tool_name:n.name,tool_output:n.error||n.result,tool_call_id:n.call_id},Content:{role:`model`,parts:[]}}:e}function zX(e){let t=[],n=new Map;for(let r of Array.isArray(e)?e:[]){let e=String(r?.EventType||``);if(e===`text.delta`||e===`text.completed`||e===`message.delta`){let e=String(r?.InvocationId||``).trim();if(!e)continue;let t=n.get(e);n.set(e,{event:r,text:LX(t?.text,IX(r).text||r?.Content?.text)});continue}t.push(RX(r))}for(let{event:e,text:r}of n.values())t.push({...e,EventType:`assistant_stream_snapshot`,Content:{role:`model`,parts:[{text:r}]},Metadata:{...e.Metadata||{},stream_snapshot:!0}});for(let n of Array.isArray(e)?e:[])String(n?.EventType||``)===`message.completed`&&t.push({...n,EventType:`assistant_message`,Content:{role:`model`,parts:[{text:String(IX(n).text||n?.Content?.text||``)}]}});return t.sort((e,t)=>eZ(e)-eZ(t))}function BX(e){let t=String(e?.EventType||``).trim();if(t!==`run_status`&&!t.startsWith(`run.`))return``;let n=IX(e);return String(e?.Content?.status||n.status||FX[t]||``).trim().toLowerCase()}function VX(e){return typeof e==`string`?e:Array.isArray(e)?e.map(e=>typeof e==`string`?e:e&&typeof e==`object`&&typeof e.text==`string`?e.text:``).join(``):``}function HX(e){let t=String(e||``).trim();return t?`/agentengine/api/v1/AttachmentContent?FileUri=${encodeURIComponent(t)}`:``}function UX(e){return String(e||``).match(/^data:([^;,]+)/)?.[1]||``}function WX(e,t){let n=String(e||``).trim(),r=String(t||``).trim();return!n||!r||n===r?!0:n.endsWith(`/*`)?r.startsWith(n.slice(0,-1)):r.endsWith(`/*`)?n.startsWith(r.slice(0,-1)):!1}function GX(e){let t=e?.Content?.parts||[],n=[],r=new Map,i=e=>{let t=`${e.fileUri||e.url||e.name}|${e.type}`;r.has(t)||r.set(t,e)};for(let e of t){if(e?.type===`input_text`||e?.text){n.push(e.text||``);continue}if(e?.type===`input_file`&&e.inlineData){i({name:e.inlineData.displayName||`attachment`,url:`data:${e.inlineData.mimeType||`application/octet-stream`};base64,${e.inlineData.data}`,type:e.inlineData.mimeType||`application/octet-stream`});continue}if(e?.type===`input_file`&&typeof e.file_data==`string`&&e.file_data){i({name:e.filename||e.displayName||e.display_name||`attachment`,url:`data:${e.mime_type||e.mimeType||`application/octet-stream`};base64,${e.file_data}`,type:e.mime_type||e.mimeType||`application/octet-stream`});continue}if(e?.type===`input_file`&&typeof e.file_url==`string`&&e.file_url.trim()){let t=e.file_url.trim();i({name:e.filename||e.displayName||e.display_name||`attachment`,url:HX(t),type:e.mime_type||e.mimeType||`application/octet-stream`,fileUri:t});continue}if(e?.type===`input_image`||e?.type===`image_url`){let t=typeof e.image_url==`string`?e.image_url:e.image_url?.url;t&&i({name:e.filename||e.displayName||e.display_name||`uploaded_image`,url:t,type:e.mime_type||e.mimeType||UX(t)||`image/*`});continue}if(e?.type===`input_file`&&e.fileData){let t=String(e.fileData.fileUri||``).trim();i({name:e.fileData.displayName||`attachment`,url:HX(t),type:e.fileData.mimeType||`application/octet-stream`,fileUri:t})}}let a=Array.isArray(e?.Metadata?.attachments)?e.Metadata.attachments:[];for(let e of a){let t=String(e.file_uri||``).trim(),n={name:e.display_name||`attachment`,url:HX(t),type:e.mime_type||`application/octet-stream`,fileUri:t};!n.url&&!n.fileUri&&Array.from(r.values()).some(e=>e.name===n.name&&WX(e.type,n.type)&&(e.url||e.fileUri))||i(n)}let o=Array.from(r.values());return{text:n.join(``),attachments:o.length>0?o:void 0}}function KX(e){let t=e?.Metadata?.responses_output;if(!Array.isArray(t))return{};let n=bX(),r=MX({eventName:`response.completed`,data:{response:{id:String(e.Metadata?.response_id||``),output:t}},state:n}),i=``,a={};for(let e of r){if(e.type===`reasoning_delta`){i+=e.text;continue}if(e.type===`tool_upsert`){a[e.name]={...a[e.name]||{name:e.name,args:``},name:e.name,args:e.args,status:e.status,...e.approvalRequestId?{approvalRequestId:e.approvalRequestId}:{},...e.previousResponseId?{previousResponseId:e.previousResponseId}:{},...e.serverLabel?{serverLabel:e.serverLabel}:{},...e.approvalRequestId?{approvalStatus:`pending`}:{}};continue}e.type===`tool_result`&&(a[e.name]={...a[e.name]||{name:e.name,args:``},name:e.name,output:e.output,status:Xy(e.output)?`error`:`completed`})}return{...i?{reasoning:i}:{},...Object.keys(a).length>0?{tools:a}:{}}}function qX(e,t,n){return t===`running`?e===`prompt_too_long`?`检测到上下文过长,正在自动压缩历史后重试`:`正在自动压缩上下文`:n?e===`prompt_too_long`?`上下文过长,系统已自动压缩历史并重试`:`系统已自动压缩较早的对话上下文`:t===`failed`?`自动压缩上下文未完成`:e===`prompt_too_long`?`已完成上下文压缩,并继续当前回复`:`已完成上下文压缩`}function JX(e,t){return t?.itemId?[`runtime-item`,t.runId||e,t.scopeId||e,t.itemId].join(`\0`):[e,t.content||``,t.reasoning||``].join(`\0`)}function YX(e){let t=String(e?.InvocationId||``).trim(),n=e?.Metadata?.RuntimeItem;return n?.ItemId?[`runtime-item`,n.RunId||t,n.ScopeId||t,n.ItemId].join(`\0`):t}function XX(e){let t=e?.Metadata?.RuntimeItem;return t?.ItemId?{id:`runtime:${t.RunId||e.InvocationId||`run`}:${t.ScopeId||e.InvocationId||`scope`}:${t.ItemId}`,runId:String(t.RunId||e.InvocationId||``),scopeId:String(t.ScopeId||e.InvocationId||``),itemId:String(t.ItemId),partId:t.PartId?String(t.PartId):void 0}:null}function ZX(e){return e?.Metadata?.responses_mirror===!0||String(e?.Metadata?.responses_mirror||``).trim().toLowerCase()===`true`}function QX(e){if(e?.EventType!==`user_message`)return``;let t=GX(e),n=(t.attachments||[]).map(e=>[e.name||``,e.fileUri||``,e.url||``,e.type||``].join(``)).sort().join(``);return[String(t.text||``).trim(),n].join(`\0`)}function $X(e){return e?.EventType===`assistant_stream_snapshot`}function eZ(e){let t=Number(e?.SeqId||0);if(Number.isFinite(t)&&t>0)return t;let n=Number(e?.Timestamp||0);return Number.isFinite(n)?n:0}function tZ(e){if(typeof e==`string`)return e;if(e==null)return``;try{return JSON.stringify(e,null,2)}catch{return String(e)}}function nZ(e){let t=String(e?.EventType||``);if(!PX.has(t))return null;let n=String(e.Metadata?.tool_name||e.Metadata?.name||e.Metadata?.function_name||VX(e.Content?.parts)||`tool`).trim()||`tool`,r=String(e.Metadata?.call_id||e.Metadata?.callId||e.Metadata?.RuntimeItem?.ToolCallId||``).trim(),i={name:n,...r?{callId:r}:{},args:``,status:`running`},a=t===`tool_result`||t===`stage_tool_result`?(()=>{let t=tZ(e.Metadata?.tool_output??e.Metadata?.output??e.Metadata?.result??VX(e.Content?.parts));return{...i,output:t,status:Xy(t)?`error`:`completed`}})():{...i,args:tZ(e.Metadata?.tool_args??e.Metadata?.arguments??e.Metadata?.args??{})},o=XX(e);return{id:o?.id||e.EventId||String(Date.now()+Math.random()),role:`model`,content:``,timestamp:e.Timestamp||Date.now(),eventType:t,...o||{},tools:{[n]:a}}}function rZ(e={},t={}){let n={...e||{}};for(let[e,r]of Object.entries(t||{}))n[e]={...n[e]||{},...r||{},name:e,args:r?.args||n[e]?.args||``};return n}function iZ(e={},t=``){let n=String(t||``).trim().toLowerCase(),r=n===`completed`?`completed`:NX.has(n)?`error`:``;if(!r)return e;let i=!1,a={};for(let[t,n]of Object.entries(e||{}))n?.status===`running`?(i=!0,a[t]={...n,status:r}):a[t]=n;return i?a:e}function aZ(e,t){return{...e,reasoning:oZ(e.reasoning,t.reasoning),tools:rZ(e.tools,t.tools),eventId:t.eventId||e.eventId,responseId:t.responseId||e.responseId,traceId:t.traceId||e.traceId,rootSpanId:t.rootSpanId||e.rootSpanId,timestamp:Math.max(Number(e.timestamp||0),Number(t.timestamp||0))||t.timestamp||e.timestamp,id:t.responseId||t.reasoning||t.tools?t.id:e.id}}function oZ(e=``,t=``){let n=String(e||``),r=String(t||``);return n?!r||n.endsWith(r)?n:r.startsWith(n)?r:`${n}${r}`:r}function sZ(e){return{id:e.id,role:`system`,eventType:`context_checkpoint`,status:e.status,trigger:e.trigger,compactedUntilSeqId:e.compactedUntilSeqId,summary:e.summary,historical:e.historical,timestamp:e.timestamp,content:qX(e.trigger,e.status,e.historical)}}function cZ(e){let t=lZ(e);return t&&Number.isSafeInteger(e.SeqId)&&e.SeqId>0&&(t.historyOrder={seq:e.SeqId}),t}function lZ(e){let t=e?.EventType||``,n=XX(e);if(t===`run_status`)return e.Content?.status===`failed`?{id:e.EventId||String(Date.now()+Math.random()),role:`system`,content:e.Content?.detail||`本轮运行失败。`,eventType:t,status:`failed`,timestamp:e.Timestamp||Date.now()}:e.Content?.status===`cancelled`?{id:e.EventId||String(Date.now()+Math.random()),role:`system`,content:e.Content?.detail||`本轮输出已停止。`,eventType:t,status:`cancelled`,timestamp:e.Timestamp||Date.now()}:null;if(t===`context_checkpoint`){let t=GX(e);return sZ({id:e.EventId||String(Date.now()+Math.random()),timestamp:e.Timestamp||Date.now(),status:`completed`,trigger:String(e.Metadata?.trigger||`auto`),compactedUntilSeqId:Number(e.Metadata?.compacted_until_seq_id||0)||void 0,summary:t.text||void 0,historical:!0})}if(t===`reasoning`){let r=GX(e).text||VX(e.Metadata?.reasoning);return r?{id:n?.id||e.EventId||String(Date.now()+Math.random()),role:`model`,content:``,reasoning:r,timestamp:e.Timestamp||Date.now(),eventType:t,...n||{}}:null}if(PX.has(t))return nZ(e);if(t!==`user_message`&&t!==`assistant_message`&&t!==`assistant_stream_snapshot`)return null;let r=GX(e),i=t===`assistant_message`?KX(e):{};if(!r.text&&!r.attachments?.length&&!i.reasoning&&!i.tools)return null;let a=String(e.Metadata?.response_id||e.Metadata?.ResponseId||``).trim(),o=String(e.Metadata?.trace_id||e.Metadata?.TraceId||``).trim(),s=String(e.Metadata?.root_span_id||e.Metadata?.rootSpanId||e.Metadata?.RootSpanId||``).trim();return{id:n?.id||e.EventId||String(Date.now()+Math.random()),role:t===`user_message`?`user`:`model`,content:r.text,timestamp:e.Timestamp||Date.now(),eventType:t,eventId:e.EventId||void 0,responseId:a||void 0,traceId:o||void 0,rootSpanId:s||void 0,attachments:r.attachments,...n||{},...i}}function uZ(e=[]){let t=new Map,n=new Map,r=new Set,i=new Set,a=new Set,o=new Set,s=zX(e),c=[];for(let e of s){let t=String(e?.EventId||``).trim();if(t){if(o.has(t))continue;o.add(t)}c.push(e)}let l=new Set,u=new Set,d=new Map;for(let e of c){if(e?.EventType!==`user_message`||ZX(e)){if(e?.EventType===`assistant_message`){let t=YX(e);t&&u.add(t)}if($X(e)){let t=YX(e);if(t){let n=d.get(t);(!n||eZ(e)>=eZ(n))&&d.set(t,e)}}continue}let t=QX(e);t&&l.add(t)}let f=c.filter(e=>{if($X(e)){let t=YX(e);return!t||!u.has(t)&&d.get(t)===e}if(e?.EventType!==`user_message`||!ZX(e))return!0;let t=QX(e);return!t||!l.has(t)});for(let e of f){let a=String(e.InvocationId||``).trim();a&&e.EventType===`user_message`&&i.add(a),a&&[`assistant_message`,`assistant_stream_snapshot`,`reasoning`,`tool_call`,`tool_result`,`stage_tool_call`,`stage_tool_result`].includes(String(e.EventType||``))&&r.add(a),e.EventType===`run_status`&&a&&(t.set(a,String(e.Content?.status||``).trim()),n.set(a,e))}let p=[],m=new Map,h=new Map,g=null,_=new Map,v=e=>{let t=e?.itemId?`${e.runId||e.invocationId||``}\u0000${e.scopeId||e.invocationId||``}\u0000${e.itemId}`:``,n=t?h.get(t):void 0;if(n!==void 0){p[n]=aZ(p[n],e);return}let r=String(e?.responseId||``).trim(),i=r?m.get(r):void 0;if(i!==void 0){p[i]=aZ(p[i],e);return}r&&m.set(r,p.length),t&&h.set(t,p.length),p.push(e)},y=()=>{g&&=(v(g),null)},b=(e,n=``)=>{let r=String(e||``).trim();if(!r)return{};let i=_.get(r);return i?(_.delete(r),{tools:iZ(i.tools,t.get(r)||n)}):{}};for(let e of f){if(e.EventType===`run_status`)continue;let t=cZ(e);if(!t)continue;let n=String(e.InvocationId||``).trim();if(n&&(t.invocationId=n),PX.has(t.eventType)){let n=String(e.InvocationId||``).trim();if(t.itemId){y(),v(t);continue}if(!n){y(),v(t);continue}let r=_.get(n);_.set(n,{...r||{id:t.id,role:`model`,content:``,timestamp:t.timestamp,invocationId:n},timestamp:Math.max(Number(r?.timestamp||0),Number(t.timestamp||0)),tools:rZ(r?.tools,t.tools)});continue}if(t.eventType===`reasoning`){let n=String(e.InvocationId||``).trim(),r=String(e.Metadata?.RuntimeItem?.Operation||``).toLowerCase(),i=!!(t.itemId&&g?.itemId===t.itemId&&g?.runId===t.runId&&g?.scopeId===t.scopeId),a=!!(!t.itemId&&!g?.itemId&&n&&g?.invocationId===n);if(g&&(i||a)){g.reasoning=r===`replace`||r===`completed`?t.reasoning:`${g.reasoning||``}${t.reasoning||``}`,g.timestamp=t.timestamp;continue}y(),g={...t,...n?{invocationId:n}:{}};continue}let r=t.eventType===`assistant_message`||t.eventType===`assistant_stream_snapshot`;if(r&&g){let n=String(e.InvocationId||``).trim(),r=JX(n,t);if(t.eventType===`assistant_message`&&n&&a.has(r)){g=null;continue}t.eventType===`assistant_message`&&n&&a.add(r),v({...t,...b(n,t.eventType===`assistant_message`?`completed`:``),reasoning:oZ(g.reasoning,t.reasoning)}),g=null;continue}if(y(),r){let n=String(e.InvocationId||``).trim(),r=JX(n,t);if(t.eventType===`assistant_message`&&n&&a.has(r))continue;t.eventType===`assistant_message`&&n&&a.add(r),v({...t,...b(n,t.eventType===`assistant_message`?`completed`:``)});continue}v(t)}y();for(let[e,n]of _.entries())v({...n,tools:iZ(n.tools,t.get(e))});for(let[e,a]of t.entries()){if(a!==`in_progress`||r.has(e)||!i.has(e))continue;let t=n.get(e)||{};v({id:`run-placeholder-${e}`,role:`model`,content:``,status:`running`,eventType:`run_status`,timestamp:t.Timestamp||Date.now()})}return p}function dZ(e=[],t=[]){let n=[],r=new Set;for(let i of[...Array.isArray(e)?e:[],...Array.isArray(t)?t:[]]){let e=String(i?.EventId||``).trim();if(e){if(r.has(e))continue;r.add(e)}n.push(i)}return n.sort((e,t)=>{let n=Number(e?.SeqId||0),r=Number(t?.SeqId||0);return Number.isFinite(n)&&Number.isFinite(r)&&n!==r?n-r:Number(e?.Timestamp||0)-Number(t?.Timestamp||0)})}function fZ(e=[]){return(Array.isArray(e)?e:[]).reduce((e,t)=>{let n=Number(t.SeqId||0);return Number.isFinite(n)?Math.max(e,n):e},0)}function pZ(e){return NX.has(BX(e))}function mZ(e){return e&&typeof e==`object`&&!Array.isArray(e)?e:null}function hZ(e){if(typeof e==`number`&&Number.isFinite(e))return e>0&&e<1e11?e*1e3:e;if(typeof e==`string`&&e.trim()){let t=Number(e.trim());if(Number.isFinite(t))return t>0&&t<1e11?t*1e3:t}let t=Date.parse(String(e||``));return Number.isFinite(t)?t:Date.now()}function gZ(e){let t=mZ(e?.Content?.runtime_event||e?.Content?.runtimeEvent);if(t&&String(t.event_type||``))return{...t,family:`runtime`,seq:Number(e.SeqId||t.seq||0),timestamp:e.Timestamp||t.timestamp};let n=mZ(e?.Content?.session_event||e?.Content?.sessionEvent);if(!n||String(n.family||``)!==`runtime`)return null;let r=mZ(n.payload);return!r||!String(r.event_type||n.event_type||``)?null:{...r,family:`runtime`,event_type:r.event_type||n.event_type,run_id:r.run_id||n.run_id,seq:Number(e.SeqId||n.seq||r.seq||0),timestamp:e.Timestamp||n.timestamp||r.timestamp}}function _Z(e,t,n){let r=new Map;for(let e of t){if(e.EventType!==`run_status`||gZ(e))continue;let t=String(e.InvocationId||e.Metadata?.run_id||``).trim();t&&!n.has(t)&&r.set(t,e)}let i=e;for(let[e,t]of r){let n=cZ({...t,EventId:t.EventId||`legacy-terminal:${e}:${t.SeqId||0}`,Timestamp:hZ(t.Timestamp)});if(!n)continue;let r=t=>(t.invocationId||t.runId)===e;i=i.filter(e=>!(r(e)&&e.role===`system`&&e.eventType===`run_status`)).map(e=>{if(!r(e)||e.role!==`model`)return e;let t=e=>e===`running`||e===`paused`,i=`运行已结束,未记录此工具的最终结果。`;return{...e,tools:e.tools&&Object.fromEntries(Object.entries(e.tools).map(([e,n])=>[e,t(n.status)?{...n,status:`unknown`,summary:n.summary||i}:n])),blocks:e.blocks?.map(e=>e.type===`thinking`&&e.status===`streaming`?{...e,status:`done`}:e.type!==`tool`||!t(e.status)?e:{...e,status:`unknown`,summary:e.summary||i,extra:{...e.extra,persistedToolStatus:e.status,terminalRunStatus:n.status}})}}),i.push({...n,invocationId:e,eventId:t.EventId})}return i===e?e:EY(i)}function vZ(e){return e.role===`model`?{...e,blocks:e.blocks?.length?e.blocks:tX({content:e.content,reasoning:e.reasoning,tools:e.tools})}:e}function yZ(e,t){let n=t.find(e=>e.role===`user`),r=e.some(e=>e.role===`user`),i=t.filter(e=>e.role===`model`),a=e.filter(e=>e.role===`model`).at(-1),o=i.at(-1),s=e.map(e=>e.role===`user`&&n?{...e,...n,invocationId:e.invocationId||n.invocationId}:vZ(e===a&&o?{...e,responseId:o.responseId||e.responseId,traceId:o.traceId||e.traceId,rootSpanId:o.rootSpanId||e.rootSpanId}:e));return n&&!r?[n,...s]:s}function bZ(e,t){let n=t.filter(e=>e.role===`model`),r=n.reduce((e,t)=>({...e,...t.tools||{}}),{}),i=n.map(e=>String(e.reasoning||``).trim()).filter(Boolean).join(`
|
|
237
|
+
|
|
238
|
+
`),a=[...e].reverse().find(e=>e.role===`model`);return!a||Object.keys(r).length===0&&!i?e:e.map(e=>e===a?vZ({...e,reasoning:e.reasoning||i||void 0,tools:Object.keys(r).length>0?{...e.tools||{},...r}:e.tools}):e)}function xZ(e){return new Set(e.filter(e=>e.role===`model`&&e.eventType===`assistant_message`&&!!String(e.content||``).trim()&&!!e.invocationId).map(e=>String(e.invocationId)))}var SZ=new Set([`approval.resolved`,`interaction.resolved`,`interaction.cancelled`,`interaction.canceled`,`a2ui.action`]);function CZ(e){let t=new Set;for(let n of e){let e=mZ(n.Content)||{},r=mZ(e.runtime_event||e.runtimeEvent)||{},i=mZ(e.payload)||mZ(r.payload)||{},a=String(n.EventType||e.event_type||e.eventType||r.event_type||``).toLowerCase();if(!SZ.has(a))continue;let o=String(e.outcome||e.action||e.name||e.status||i.outcome||i.action||i.name||i.status||``).toLowerCase();if(![`cancel`,`cancelled`,`canceled`].includes(o))continue;let s=String(n.InvocationId||e.runId||e.run_id||i.runId||i.run_id||r.run_id||``).trim();s&&t.add(s)}return t}function wZ(e,t,n,r=`flat-v1`){let i=new gX(n),a=[],o=new Set,s=new Set,c=new Set,l=[...t||[]].filter(e=>{let t=e.Content,r=mZ(t?.session_event||t?.sessionEvent),i=mZ(t?.runtime_event||t?.runtimeEvent);return[e.SessionId,r?.session_id,i?.session_id].every(e=>!e||e===n)}).sort((e,t)=>Number(e.SeqId||0)-Number(t.SeqId||0)),u=Number(l[0]?.SeqId||0)<=1;for(let e of l){let t=gZ(e);if(!t)continue;let n=String(t.run_id||``).trim();if(n){o.add(n),!t.parent_scope_id&&[`run.completed`,`run.failed`,`run.cancelled`,`run.canceled`].includes(String(t.event_type))&&s.add(n);let e=mZ(mZ(t.source)?.metadata),r=String(t.event_type||``)===`run.started`,i=e?.native_item_kind===`userMessage`;(u||r||i)&&c.add(n)}let r=i.translate(t);r&&a.push({...r,SeqId:Number(e.SeqId||r.SeqId||0),Timestamp:hZ(e.Timestamp||r.Timestamp)})}let d=uZ(a).filter(e=>e.invocationId&&o.has(e.invocationId)),f=new Map;for(let t of e){let e=String(t.invocationId||``);e&&f.set(e,[...f.get(e)||[],t])}let p=new Set([...xZ(d)].filter(e=>c.has(e))),m=new Map;for(let e of l){let t=gZ(e);if(t?.schema_version!==2||!t.run_id)continue;let n=String(t.run_id),r=m.get(n)||[];r.push(t),m.set(n,r)}let h=e=>[mZ(e.initial),mZ(e.snapshot),mZ(e.update)].some(e=>mZ(e?.data)?.schema===`execution.scope/v1`||Array.isArray(e?.parts)&&e.parts.some(e=>mZ(mZ(e)?.data)?.schema===`execution.scope/v1`)),g=new Set([...m].filter(([,e])=>e.some(h)).map(([e])=>e)),_=new Map,v=new Set;for(let[e,t]of m){if(!g.has(e)&&!p.has(e)&&!t.some(e=>[`item.failed`,`run.failed`].includes(String(e.event_type))))continue;let i=t.some(e=>e.event_type===`run.started`&&!e.parent_scope_id),a=new Set,o=t.every(e=>{let t=JSON.stringify([e.scope_id,e.item_id]);return e.event_type===`item.started`&&a.add(t),!h(e)||a.has(t)});if(!(!i||!o))try{let i=new qJ(n,void 0,r);t.forEach(e=>i.apply(e));let a=i.snapshot(),o=cY(a,{profile:r}),s=hZ(t[0].timestamp);_.set(e,WY({state:a,presentation:o,runId:e,cursor:Math.max(...t.map(e=>Number(e.seq||0)))}).messages.map((n,r)=>{let i=t.find(e=>e.item_id===n.itemId&&(!n.scopeId||e.scope_id===n.scopeId))||t[0];return{...n,invocationId:e,timestamp:s+r,historyOrder:{seq:Number(i.seq),index:r}}}))}catch(t){v.add(e),console.warn(`[SessionHistory] strict replay skipped for run ${e}:`,t instanceof Error?t.message:`invalid runtime history`)}}for(let e of new Set([...g,...v]))_.has(e)||p.delete(e);let y=CZ(l),b=[...p].flatMap(e=>yZ(d.filter(t=>t.invocationId===e),f.get(e)||[])),x=new Map,S=[];for(let[e,t]of f){if(p.has(e)||!o.has(e))continue;let n=d.filter(t=>t.invocationId===e);x.set(e,bZ(t,n)),t.some(e=>e.role===`model`&&String(e.content||``).trim())||S.push(...n.map(vZ))}for(let e of o)p.has(e)||f.has(e)||S.push(...d.filter(t=>t.invocationId===e).map(vZ));let C=new Map([...x.values()].flat().map(e=>[e.id,e])),w=EY([...e.filter(e=>!(e.role===`model`&&e.invocationId&&y.has(e.invocationId))&&(e.role===`a2ui`||!e.invocationId||!p.has(e.invocationId))).map(e=>C.get(e.id)||e),...b,...S]);for(let[e,t]of _){if(!t.length)continue;let n=t=>t.invocationId===e||t.runId===e,r=w.findIndex(n),i=w.filter(n),a=i.find(e=>e.role===`user`),o=g.has(e)?a&&!t.some(e=>e.role===`user`)?[a,...t]:t:yZ(t,i),s=w.filter(e=>!n(e)),c=r<0?s.length:r;w=[...s.slice(0,c),...o,...s.slice(c)],p.add(e)}return{messages:EY(_Z(w,l,s)),canonicalRunIds:[...p],translatedEvents:a}}function TZ(e,t){let n=t.trim().toLocaleLowerCase(),r=[],i=0;for(let t of e){if(!n)break;let e=[t.content,...(t.blocks||[]).flatMap(e=>e.type===`text`?[e.content]:e.type===`tool`?[e.toolName,e.output||``]:[]),...Object.values(t.tools||{}).flatMap(e=>[e.name,e.output||``]),...(t.attachments||[]).map(e=>e.name)];for(let a of e){let e=a.toLocaleLowerCase().indexOf(n);if(!(e<0)){if(i+=1,r.length<200){let i=Math.max(0,e-48),o=Math.min(a.length,e+n.length+112);r.push({messageId:t.id,role:t.role,excerpt:`${i?`…`:``}${a.slice(i,o)}${o<a.length?`…`:``}`})}break}}}return{matches:r,matchedMessages:i,searchedMessages:e.length,complete:!1}}async function EZ(e){let t=e.snapshot().owner,n=()=>{e.signal.throwIfAborted();let n=e.snapshot();if(n.owner!==t)throw new DOMException(`Conversation changed`,`AbortError`);return n},r=()=>new Promise(e=>setTimeout(e,16));for(;;){let t=n();if(t.loading){await r();continue}let i=TZ(t.messages,e.query);if(i.complete=!t.hasMore&&!t.error,e.onProgress?.(i),t.error)throw Error(t.error);if(i.complete||!e.query.trim())return i;let a=t.checkpoint;await e.readOlder(e.signal);let o=n();if(o.hasMore&&o.checkpoint===a&&!o.loading)throw Error(`更早历史未返回新内容,请重试。当前结果只包含已加载的消息。`);await r()}}var DZ=new Set([`RUNNING`,`PAUSED`,`WAITING_INPUT`]);function OZ(e){let t=e.completedAt||e.startedAt||``,n=Date.parse(t);return Number.isFinite(n)?n:0}function kZ(e,t){let n=new Map;for(let r of e){if(r.agentId!==t||!r.sessionId)continue;let e=n.get(r.sessionId)||[];e.push(r),n.set(r.sessionId,e)}return[...n.entries()].map(([e,t])=>{let n=[...t].sort((e,t)=>OZ(e)-OZ(t)),r=n[0],i=n.at(-1),a=[...n].reverse().find(e=>DZ.has(String(e.status||``)));return{id:e,title:r?.input?.trim()||`新会话`,updatedAt:i.completedAt||i.startedAt||``,running:!!a,activeStatus:a?.status,runs:n}}).sort((e,t)=>Date.parse(t.updatedAt||`1970-01-01`)-Date.parse(e.updatedAt||`1970-01-01`))}function AZ(e){return e&&typeof e==`object`?e:{}}function jZ(e){let t=``,n=(e=!1)=>{t=t.replaceAll(`\r
|
|
239
|
+
`,`
|
|
240
|
+
`);let n=t.indexOf(`
|
|
241
|
+
|
|
242
|
+
`);for(;n>=0;)r(t.slice(0,n)),t=t.slice(n+2),n=t.indexOf(`
|
|
243
|
+
|
|
244
|
+
`);e&&t.trim()&&(r(t),t=``)},r=t=>{let n=`message`,r,i=[];for(let e of t.split(`
|
|
245
|
+
`))if(!(!e||e.startsWith(`:`))){if(e.startsWith(`event:`)&&(n=e.slice(6).trim()),e.startsWith(`id:`)){let t=Number(e.slice(3).trim());Number.isSafeInteger(t)&&t>=0&&(r=t)}e.startsWith(`data:`)&&i.push(e.slice(5).trimStart())}if(!i.length)return;let a=i.join(`
|
|
246
|
+
`);if(a!==`[DONE]`)try{let t=JSON.parse(a);e({...t,type:String(t.type||n),...r===void 0?{}:{sseId:r}})}catch{e({type:n,message:a,...r===void 0?{}:{sseId:r}})}};return{push(e){t+=e,n()},finish(){n(!0)}}}function MZ(e,t){return String(e.callId||e.call_id||e.toolCallId||e.tool_call_id||t)}function NZ(e,t){return String(e===`command`?t.command||t.name||`执行命令`:e===`tool`?t.name||t.tool||`调用工具`:t.kind||t.action||`等待批准`)}function PZ(e){let t=e.output??e.result??e.message??e.error??``;return typeof t==`string`?t:t&&typeof t==`object`?JSON.stringify(t,null,2):t===``?``:String(t)}function FZ(e){let t=Number(e.totalTokens??e.total_tokens??0);return`${Number.isFinite(t)?t.toLocaleString(`en-US`):`0`} tokens`}function IZ(e){let t=Number(e.durationMs??e.duration_ms);return!Number.isFinite(t)||t<0?``:t<1e3?`${Math.round(t)}ms`:`${(t/1e3).toFixed(1)}s`}function LZ(e){let t=[],n=new Map,r=e.some(e=>e.type===`run.started`),i=(e,r)=>{let i=n.get(e);if(i===void 0){n.set(e,t.length),t.push(r);return}t[i]={...t[i],...r}};for(let a of e){let e=a.data||{},o=a.type||``;if(o===`run.created`){if(r)continue;t.push({id:`run:${a.id}`,kind:`run`,title:`Run 创建`,summary:String(e.model||e.runtimeType||``),detail:``,status:`running`,createdAt:a.createdAt,data:e});continue}if(o===`run.started`){let n=AZ(e.runtimeEvent);t.push({id:`run:${a.id}`,kind:`run`,title:`Run 启动`,summary:String(e.runtimeType||n.runtimeType||n.model||`Local Runtime`),detail:``,status:`running`,createdAt:a.createdAt,data:e});continue}if([`run.completed`,`run.failed`,`run.interrupted`,`run.cancelled`,`run.canceled`].includes(o)){let n=o===`run.failed`||o===`run.interrupted`,r=o===`run.cancelled`||o===`run.canceled`,i=AZ(AZ(AZ(e.runtimeEvent).source).metadata).outcome,s=o===`run.completed`&&i===`unverified`,c=o===`run.completed`&&i===`verified`;t.push({id:`run:${a.id}`,kind:`run`,title:n?o===`run.interrupted`?`Run 中断`:`Run 失败`:r?`Run 取消`:s?`Run 结束 · 未验收`:c?`Run 已验收`:`Run 完成`,summary:IZ(e),detail:n?String(e.error||e.message||``):``,status:n?`failed`:`completed`,createdAt:a.createdAt,data:e});continue}if(o.startsWith(`thinking.`)||o.startsWith(`message.`)){let r=o.startsWith(`thinking.`)?`thinking`:`message`,s=`stream:${r}`,c=n.get(s),l=c===void 0?null:t[c],u=String(e.text||e.delta||AZ(e.payload).text||AZ(e.payload).delta||``),d=o.endsWith(`.completed`),f=d&&u?u:`${l?.detail||``}${u}`;i(s,{id:s,kind:r,title:r===`thinking`?`思考过程`:`模型回复`,summary:f?`${f.length} 字`:``,detail:f,status:d?`completed`:`running`,createdAt:a.createdAt||l?.createdAt,data:e});continue}let s=null;if(o.startsWith(`command.`)?s=`command`:o.startsWith(`tool.`)?s=`tool`:o.startsWith(`approval.`)&&(s=`approval`),s){let r=`${s}:${MZ(e,String(a.id))}`,c=n.get(r),l=c===void 0?null:t[c],u=o.endsWith(`.failed`)||!!e.error||[`failed`,`error`,`uncertain`].includes(String(e.status||``).toLowerCase())||Number(e.exitCode??e.exit_code??0)!==0,d=o.endsWith(`.completed`)||o.endsWith(`.resolved`),f=PZ(e)||l?.detail||``,p=NZ(s,e),m=NZ(s,{});i(r,{id:r,kind:s,title:p===m&&l?.title?l.title:p,summary:IZ(e),detail:f,status:u?`failed`:d?`completed`:s===`approval`?`waiting`:`running`,createdAt:a.createdAt||l?.createdAt,data:e});continue}o===`usage.reported`&&t.push({id:`usage:${a.id}`,kind:`usage`,title:`用量上报`,summary:FZ(e),detail:``,status:`completed`,createdAt:a.createdAt,data:e})}if([...e].reverse().find(e=>[`run.completed`,`run.failed`,`run.interrupted`,`run.cancelled`,`run.canceled`].includes(e.type)))for(let e of t)e.status===`running`&&(e.kind===`thinking`||e.kind===`message`)&&(e.status=`completed`);return t}var RZ={running:`正在运行`,completed:`已完成`,failed:`执行失败`,cancelled:`已取消`,unknown:`状态未确认`};function zZ({runId:e,callId:t,onClose:n,onOpenSession:r}){let[i,a]=(0,g.useState)(null),[o,s]=(0,g.useState)(null);(0,g.useEffect)(()=>{let n=new AbortController,r,i=!0,o=async()=>{try{let r=await q(`/api/v1/runs/${encodeURIComponent(e)}/subagents/${encodeURIComponent(t)}`,{signal:n.signal});if(!r.ok)throw Error(`detail unavailable`);let o=await r.json();n.signal.aborted||(a(o),s(null)),i=[o.status,o.parentStatus].some(e=>[`running`,`pending`,`waiting_input`,`paused`].includes(String(e||``).toLowerCase()))}catch{n.signal.aborted||s(`详情暂时无法加载,请稍后重试。`),i=!0}i&&!n.signal.aborted&&(r=setTimeout(()=>void o(),2500))};return o(),()=>{n.abort(),clearTimeout(r)}},[e,t]);let c=i?.facts.filter(e=>e.kind===`commentary`)||[],l=i?.facts.filter(e=>e.kind!==`commentary`)||[];return(0,v.jsxs)(`aside`,{className:`subagent-detail`,"aria-label":`子智能体详情`,children:[(0,v.jsxs)(`div`,{className:`subagent-detail-head`,children:[(0,v.jsxs)(`span`,{className:`subagent-detail-title`,children:[(0,v.jsx)(Rf,{size:15}),` `,i?.label||`子智能体`]}),(0,v.jsx)(`button`,{type:`button`,className:`icon-btn`,onClick:n,title:`关闭`,children:(0,v.jsx)(Sm,{size:14})})]}),o?(0,v.jsx)(`p`,{className:`subagent-detail-note`,role:`alert`,children:o}):i?(0,v.jsxs)(`div`,{className:`subagent-detail-body`,children:[(0,v.jsxs)(`div`,{className:`subagent-detail-meta`,children:[(0,v.jsxs)(`span`,{className:`subagent-detail-state ${i.status}`,children:[i.status===`running`?(0,v.jsx)(Pp,{size:13,className:`activity-spin`}):i.status===`failed`?(0,v.jsx)(Zf,{size:13}):(0,v.jsx)(Kf,{size:13}),RZ[i.status]||`状态未确认`]}),(0,v.jsx)(JZ,{activity:i}),i.provider&&(0,v.jsxs)(`span`,{children:[`Provider:`,i.provider]}),i.models?.length?(0,v.jsxs)(`span`,{children:[`模型:`,i.models.join(`、`)]}):null]}),(0,v.jsxs)(`div`,{className:`subagent-detail-facts`,children:[i.messages?.length?(0,v.jsxs)(`section`,{"aria-label":`子智能体对话预览`,className:`subagent-conversation`,children:[(0,v.jsx)(`strong`,{children:`最近对话`}),i.messages.map(e=>(0,v.jsxs)(`p`,{"data-streaming":e.streaming,children:[e.text,e.streaming&&(0,v.jsx)(`span`,{className:`text-shimmer`,children:` · 正在输出`})]},e.id)),(0,v.jsx)(`span`,{className:`harness-tool-note`,children:`仅展示最近 20 条公开消息。`})]}):null,(0,v.jsx)(`strong`,{children:`进展摘要`}),c.length?c.map(e=>(0,v.jsxs)(`p`,{className:`subagent-progress`,children:[(0,v.jsx)(sm,{size:13}),` `,(0,v.jsx)(`span`,{children:e.text})]},e.id)):(0,v.jsx)(`p`,{children:`暂未记录可展示的进展摘要。`}),l.length?(0,v.jsxs)(`details`,{className:`subagent-execution`,children:[(0,v.jsxs)(`summary`,{children:[(0,v.jsx)(jp,{size:13}),` 执行记录 `,(0,v.jsxs)(`span`,{children:[l.length,` 类`]})]}),(0,v.jsx)(`div`,{children:l.map(t=>(0,v.jsx)(XZ,{activity:t,runId:e},t.id))})]}):null]}),i.sessionId&&(0,v.jsxs)(`button`,{type:`button`,className:`button tertiary small`,onClick:()=>r?.(i.sessionId),children:[(0,v.jsx)(Yf,{size:13}),` 打开完整子会话`]})]}):(0,v.jsx)(`p`,{className:`subagent-detail-note`,children:`正在读取子智能体执行记录…`})]})}var BZ={terminal:`终端`,read:`读取文件`,search:`搜索`,edit:`文件修改`,todo:`更新计划`,tool:`工具调用`},VZ={running:`执行中`,completed:`已完成`,failed:`失败`,unknown:`结果未确认`,cancelled:`已取消`};function HZ(e){let t,n;return e.split(`
|
|
247
|
+
`).map(e=>{let r=/^@@ -(\d+)(?:,\d+)? \+(\d+)(?:,\d+)? @@/.exec(e);r&&(t=Number(r[1]),n=Number(r[2]));let i=e.startsWith(`+`)&&!e.startsWith(`+++`)?`add`:e.startsWith(`-`)&&!e.startsWith(`---`)?`remove`:`context`,a=!r&&t!==void 0&&n!==void 0&&!e.startsWith(`\\`)&&/^[ +\-]/.test(e)&&!e.startsWith(`+++`)&&!e.startsWith(`---`),o=a&&i!==`add`?t:void 0,s=a&&i!==`remove`?n:void 0;return a&&(i!==`add`&&t++,i!==`remove`&&n++),(e.startsWith(`diff `)||e.startsWith(`---`)||e.startsWith(`+++`))&&(t=void 0,n=void 0),{line:e,change:i,before:o,after:s}})}function UZ({tool:e,runId:t}){let[n,r]=(0,g.useState)(!1),[i,a]=(0,g.useState)(!1),[o,s]=(0,g.useState)(!0),[c,l]=(0,g.useState)(``),u=(0,g.useRef)(null),d=e.display,f=d.diff||d.output||``;if((0,g.useEffect)(()=>{o&&d.category===`terminal`&&u.current&&(u.current.scrollTop=u.current.scrollHeight)},[f,n,o,d.category]),d.version!==`tool-display/v1`)return null;let p=d.category===`terminal`?fm:d.category===`search`?nm:bp;return(0,v.jsxs)(`details`,{className:`harness-tool-card`,open:n,"data-status":e.status,"data-category":d.category,onToggle:e=>r(e.currentTarget.open),children:[(0,v.jsxs)(`summary`,{children:[(0,v.jsx)(Yf,{size:13,className:`activity-chevron`}),(0,v.jsx)(p,{size:14}),(0,v.jsx)(`span`,{children:d.summary||d.path||BZ[d.category]}),(0,v.jsx)(`span`,{className:`activity-status`,children:VZ[e.status]||`状态未确认`}),d.exit_code!==void 0&&(0,v.jsxs)(`span`,{className:`activity-status`,children:[`退出码 `,d.exit_code]})]}),n&&(0,v.jsxs)(`div`,{className:`harness-tool-body`,children:[d.path&&(0,v.jsx)(`p`,{className:`harness-tool-path`,children:d.path}),f?(0,v.jsxs)(v.Fragment,{children:[(0,v.jsxs)(`div`,{className:`harness-tool-actions`,children:[(0,v.jsx)(`button`,{type:`button`,onClick:()=>a(e=>!e),children:i?`收起高度`:`展开高度`}),(0,v.jsxs)(`button`,{type:`button`,onClick:()=>void navigator.clipboard.writeText(f).then(()=>l(`已复制`),()=>l(`复制失败`)),children:[`复制`,d.diff?` diff`:`输出`]}),(0,v.jsx)(`span`,{role:`status`,children:c}),!o&&d.category===`terminal`&&e.status===`running`&&(0,v.jsx)(`button`,{type:`button`,onClick:()=>s(!0),children:`跟随最新输出`})]}),(0,v.jsx)(`pre`,{ref:u,className:`harness-tool-output`,"data-expanded":i,tabIndex:0,"aria-label":d.diff?`编辑 diff`:`工具输出`,onScroll:e=>{let t=e.currentTarget;s(t.scrollHeight-t.clientHeight-t.scrollTop<24)},children:d.diff?HZ(f).map(({line:e,change:t,before:n,after:r},i)=>(0,v.jsxs)(`span`,{className:`harness-diff-line`,"data-change":t,children:[(0,v.jsx)(`span`,{className:`harness-diff-number`,"aria-hidden":`true`,children:n??``}),(0,v.jsx)(`span`,{className:`harness-diff-number`,"aria-hidden":`true`,children:r??``}),e,`
|
|
248
|
+
`]},i)):f})]}):(0,v.jsx)(`p`,{children:`未记录可公开展示的输出。完整审计记录可在检查器中查看。`}),d.truncated&&(0,v.jsxs)(`p`,{className:`harness-tool-note`,children:[`输出已截断`,d.total_chars?`(原始 ${d.total_chars.toLocaleString()} 字符)`:``,`,展开高度仅显示已收到的部分。`]}),t&&/^[a-f0-9]{64}$/.test(d.artifact_id||``)&&(0,v.jsxs)(`p`,{className:`harness-tool-note`,children:[(0,v.jsx)(`a`,{href:`/api/v1/runs/${encodeURIComponent(t)}/public-output/${d.artifact_id}`,download:!0,children:`下载已保留输出`}),`(已脱敏;宿主输出上限之外的内容无法恢复)`]})]})]})}function WZ({items:e}){let t=e.filter(e=>e.status===`completed`).length,n=e.find(e=>e.status===`in_progress`),[r,i]=(0,g.useState)(!0);return(0,v.jsxs)(`details`,{className:`harness-task-plan`,open:r,onToggle:e=>i(e.currentTarget.open),children:[(0,v.jsxs)(`summary`,{children:[(0,v.jsx)(Yf,{size:13,className:`activity-chevron`}),(0,v.jsx)(`span`,{children:`任务计划`}),(0,v.jsxs)(`span`,{children:[t,`/`,e.length]}),n&&(0,v.jsx)(`span`,{className:`harness-plan-current`,children:n.content})]}),r&&(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(`progress`,{max:Math.max(1,e.length),value:t,"aria-label":`计划完成进度`}),(0,v.jsx)(`ol`,{children:e.map(e=>(0,v.jsxs)(`li`,{"data-status":e.status,children:[e.status===`completed`?(0,v.jsx)(Kf,{size:13}):e.status===`in_progress`?(0,v.jsx)(Zf,{size:13}):(0,v.jsx)(`span`,{"aria-hidden":`true`,children:`○`}),(0,v.jsx)(`span`,{children:e.content}),(0,v.jsx)(`span`,{className:`activity-status`,children:e.status===`completed`?`已完成`:e.status===`in_progress`?`进行中`:`待处理`})]},e.id))}),(0,v.jsx)(`p`,{className:`harness-tool-note`,children:`模型维护的工作计划;验收和验证结果以审计记录为准。`})]})]})}var GZ={running:`正在运行`,completed:`已完成`,partial:`部分未完成`,failed:`执行失败`,cancelled:`已取消`,unknown:`状态未确认`,paused:`等待处理`};function KZ(e){if(e)try{let t=new URL(e);return[`http:`,`https:`].includes(t.protocol)&&!t.username&&!t.password?t.href:void 0}catch{return}}function qZ(e){if(!Number.isFinite(e)||Number(e)<0)return;let t=Math.round(Number(e)/1e3);return t<60?`${t}s`:`${Math.floor(t/60)}m${String(t%60).padStart(2,`0`)}s`}function JZ({activity:e}){let t=qZ(e.durationMs);if(!t)return null;let n=e.durationSource===`studio_observed`;return(0,v.jsx)(`span`,{className:`activity-duration`,title:n?`按记录到的事件时间计算,包含传输与排队时间。`:void 0,children:n?`观测耗时 ${t}`:t})}function YZ({activity:e}){return e.status===`running`?(0,v.jsx)(Pp,{className:`activity-spin`,size:14}):[`failed`,`partial`].includes(e.status)?(0,v.jsx)(Zf,{size:14}):e.kind===`subagent`?(0,v.jsx)(Rf,{size:14}):e.kind===`sandbox`?e.status===`failed`?(0,v.jsx)(am,{size:14}):(0,v.jsx)(om,{size:14}):e.status===`completed`?(0,v.jsx)(Kf,{size:14}):(0,v.jsx)(sm,{size:14})}function XZ({activity:e,onOpenDetail:t,runId:n}){let r=GZ[e.status]||`状态未确认`,i=e.capabilities||{},a=e.kind===`sandbox`?`文件隔离 ${typeof i.filesystem_isolation==`string`?i.filesystem_isolation:`未声明`};网络 ${typeof i.network_control==`string`?i.network_control:`未声明`}${i.process_boundary===!1?`;无进程边界`:``}`:``;return e.kind===`subagent`&&e.callId&&t?(0,v.jsxs)(`button`,{type:`button`,className:`harness-subagent-row`,"data-status":e.status,onClick:()=>t?.(e),children:[(0,v.jsx)(YZ,{activity:e}),(0,v.jsx)(`span`,{className:`activity-label`,children:e.label}),(0,v.jsx)(JZ,{activity:e}),(0,v.jsx)(`span`,{className:`activity-status`,children:r}),(0,v.jsx)(Yf,{size:13})]}):(0,v.jsxs)(`details`,{className:`harness-activity-row`,"data-status":e.status,"data-kind":e.kind,children:[(0,v.jsxs)(`summary`,{children:[(0,v.jsx)(Yf,{className:`activity-chevron`,size:13}),(0,v.jsx)(YZ,{activity:e}),(0,v.jsx)(`span`,{className:`activity-label`,children:e.label}),e.count!==void 0&&e.count>1&&(0,v.jsxs)(`span`,{className:`activity-status`,children:[e.count,` 次`]}),(0,v.jsx)(JZ,{activity:e}),(0,v.jsx)(`span`,{className:`activity-status`,children:r})]}),(0,v.jsxs)(`div`,{className:`harness-activity-detail`,children:[e.tools?.map(e=>(0,v.jsx)(UZ,{tool:e,runId:n},e.id)),e.details.length?(0,v.jsx)(`ul`,{children:e.details.map(e=>(0,v.jsx)(`li`,{children:KZ(e.href)?(0,v.jsx)(`a`,{href:KZ(e.href),target:`_blank`,rel:`noopener noreferrer`,children:e.text}):e.text},e.id))}):a?(0,v.jsx)(`p`,{children:a}):!e.children?.length&&!e.tools?.length?(0,v.jsx)(`p`,{children:`这段记录没有保存更细的执行步骤。`}):null,e.children?.map(e=>(0,v.jsx)(XZ,{activity:e,runId:n},e.id))]})]})}function ZZ(e){return e.reduce((e,t)=>e+Math.max(1,t.count||1),0)}function QZ(e){let t=[...new Set(e.map(e=>e.label))];return`${t.slice(0,3).join(`、`)}${t.length>3?`等`:``} · ${ZZ(e)} 项`}function $Z({activities:e,runStatus:t,runId:n}){if(!e.length)return null;let r=e.some(e=>e.status===`running`),i=e.some(e=>[`failed`,`partial`,`unknown`].includes(e.status)),a=t?.toLowerCase(),o=i&&(!a||[`failed`,`cancelled`,`partial`,`unknown`].includes(a));return(0,v.jsxs)(`details`,{className:`harness-execution-details`,"data-status":o?`attention`:r?`running`:`completed`,children:[(0,v.jsxs)(`summary`,{children:[r?(0,v.jsx)(Pp,{className:`activity-spin`,size:14}):o?(0,v.jsx)(Zf,{size:14}):(0,v.jsx)(jp,{size:14}),(0,v.jsx)(`span`,{children:`执行记录`}),(0,v.jsx)(`span`,{className:`harness-execution-summary`,children:QZ(e)}),(0,v.jsx)(Yf,{className:`activity-chevron`,size:13})]}),(0,v.jsx)(`div`,{className:`harness-execution-body`,children:e.map(e=>(0,v.jsx)(XZ,{activity:e,runId:n},e.id))})]})}function eQ(e){return e.toLowerCase().replace(/[\s\p{P}\p{S}]+/gu,``)}function tQ(e,t){let n=eQ(e),r=eQ(t);if(!n||!r)return 0;if(n===r||n.includes(r)||r.includes(n))return 1;let i=e=>new Set(Array.from({length:Math.max(0,e.length-1)},(t,n)=>e.slice(n,n+2))),a=i(n),o=i(r);return[...a].filter(e=>o.has(e)).length/Math.max(1,Math.min(a.size,o.size))}function nQ(e,t=4){let n=[];for(let t of e){if(t.kind!==`commentary`||!t.text)continue;let e=n.at(-1);e?.text&&tQ(e.text,t.text)>=.62?n[n.length-1]=t:n.push(t)}return n.length<=t?n:[n[0],...n.slice(-(t-1))]}function rQ({runId:e,streaming:t,fallback:n,onOpenSession:r}){let[i,a]=(0,g.useState)(null),[o,s]=(0,g.useState)(!1),[c,l]=(0,g.useState)(null);(0,g.useEffect)(()=>{if(a(null),s(!1),l(null),!e)return;let n=new AbortController,r,i,o=!1,c=async()=>{let l=t;try{let t=await q(`/api/v1/runs/${encodeURIComponent(e)}/activities`,{signal:n.signal});if(!t.ok)throw Error(`activity unavailable`);let u=await t.json();if(!Array.isArray(u.activities))throw Error(`invalid activity response`);n.signal.aborted||(a(u),s(!1)),l||=[`running`,`pending`,`waiting_input`,`paused`].includes(u.status.toLowerCase()),l&&!n.signal.aborted&&!o&&typeof EventSource<`u`&&(i=new EventSource(`/api/v1/runs/${encodeURIComponent(e)}/activities/stream`),i.addEventListener(`snapshot`,e=>{if(!n.signal.aborted)try{let t=JSON.parse(e.data);if(!Array.isArray(t.activities))throw Error(`invalid snapshot`);a(t),s(!1),[`completed`,`failed`,`cancelled`,`interrupted`,`timed_out`].includes(t.status)&&i?.close()}catch{i?.close(),o=!0,r=setTimeout(()=>void c(),1e3)}}),i.onerror=()=>{i?.close(),o=!0,n.signal.aborted||(r=setTimeout(()=>void c(),1e3))},l=!1)}catch{n.signal.aborted||s(!0)}l&&!n.signal.aborted&&(r=setTimeout(()=>void c(),2500))};return c(),()=>{n.abort(),clearTimeout(r),i?.close()}},[e,t]);let u=i?.activities.length?i.activities:n;if(!u.length&&!i?.approvalAlerts?.length)return null;let d=new Set(nQ(u).map(e=>e.id)),f=u.flatMap(e=>e.tools||[]).filter(e=>e.status===`completed`&&e.display.category===`todo`&&e.display.todos).at(-1)?.display.todos,p=u.filter(e=>[`commentary`,`subagent`].includes(e.kind)||e.category===`reasoning`||[`思考`,`分析任务`,`汇总结果`].includes(e.label)||e.category===`context`||e.label===`压缩上下文`||e.kind===`sandbox`&&e.status===`failed`?!1:e.status!==`running`);return(0,v.jsxs)(`section`,{className:`harness-activity`,"aria-label":`执行过程`,children:[i?.approvalAlerts?.map(e=>(0,v.jsxs)(`p`,{role:`alert`,className:`harness-approval-unknown`,children:[(0,v.jsx)(am,{size:14}),` 审批结果未确认,当前记录缺少有效决策。请查看审批审计记录。`]},e.id)),f&&(0,v.jsx)(WZ,{items:f}),u.map(t=>{if(t.kind===`commentary`&&t.text){if(!d.has(t.id))return null;let e=t.label&&t.label!==`公开进展`;return(0,v.jsxs)(`div`,{className:`harness-activity-commentary`,children:[(0,v.jsx)(sm,{size:14,"aria-hidden":`true`}),(0,v.jsxs)(`p`,{children:[e&&(0,v.jsxs)(`strong`,{children:[t.label,`:`]}),t.text]})]},t.id)}if(t.kind===`subagent`)return(0,v.jsxs)(`div`,{className:`harness-subagent`,children:[(0,v.jsx)(XZ,{activity:t,runId:e,onOpenDetail:e=>l(c===e.callId?null:e.callId||null)}),e&&c===t.callId&&(0,v.jsx)(zZ,{runId:e,callId:c,onClose:()=>l(null),onOpenSession:r})]},t.id);if(t.kind===`sandbox`){let n=t.capabilities||{},r=t.rejected,i=typeof n.filesystem_isolation==`string`?n.filesystem_isolation:``,a=typeof n.network_control==`string`?n.network_control:``,o=n.process_boundary===!1?`无进程边界`:``;return!r&&t.status!==`running`?null:(0,v.jsxs)(`div`,{className:`harness-activity-event harness-activity-sandbox`,"data-rejected":r?`true`:`false`,children:[(0,v.jsx)(XZ,{activity:t,runId:e}),(0,v.jsx)(`p`,{className:`harness-activity-sandbox-capabilities`,children:r?`沙箱拒绝执行`:`文件隔离 ${i||`未声明`};网络 ${a||`未声明`}${o?`;${o}`:``}`})]},t.id)}let n=t.category===`reasoning`||[`思考`,`分析任务`,`汇总结果`].includes(t.label),i=t.category===`context`||t.label===`压缩上下文`,a=n&&t.status!==`running`,o=!n&&!i&&t.status!==`running`;return(0,v.jsx)(`div`,{className:`harness-activity-event`,children:!a&&!o&&(0,v.jsx)(XZ,{activity:t,runId:e})},t.id)}),(0,v.jsx)($Z,{activities:p,runStatus:i?.status,runId:e}),o&&(0,v.jsx)(`p`,{className:`harness-activity-note`,children:`详细步骤暂时无法加载,显示已收到的进度。`})]})}function iQ(e,t){let n=e.filter(e=>e.type.startsWith(`memory.recall.`)),r=[...n].reverse().find(e=>e.type===`memory.recall.projected`);if(r){let e=Number(r.data?.candidate_count??r.data?.count??0);return{status:`used`,title:`已提供长期记忆`,description:e>0?`${e} 条相关记忆已交付本次运行`:`相关记忆已交付本次运行`}}let i=[...n].reverse().find(e=>e.type===`memory.recall.completed`);if(i){let e=Number(i.data?.candidate_count??i.data?.count??0);return{status:`recalled`,title:`已召回长期记忆`,description:e>0?`已找到 ${e} 条,但未确认交付 Runner`:`已找到相关记忆,但未确认交付 Runner`}}return n.some(e=>e.type===`memory.recall.failed`)?{status:`failed`,title:`长期记忆召回失败`,description:`本次未能读取长期记忆,可在 Trace 中查看原因`}:n.some(e=>e.type===`memory.recall.empty`)?{status:`empty`,title:`未使用长期记忆`,description:`未找到与当前问题相关的记忆`}:Number(t||0)>0?{status:`used`,title:`已纳入长期记忆`,description:`相关记忆已纳入本次上下文`}:{status:`unused`,title:`未使用长期记忆`,description:`本次回答未选入长期记忆`}}function aQ(e){return!Number.isFinite(e)||Number(e)<0?`未上报`:Number(e)<1e3?`${Math.round(Number(e))}ms`:`${(Number(e)/1e3).toFixed(2)}s`}function oQ(e){return Number.isFinite(e)?Number(e).toLocaleString():`未上报`}function sQ(e){return{platform_safety:`平台安全规则`,agent_identity:`角色定义`,agent_policy:`任务规则`,runtime_capabilities:`运行时能力说明`,resource_manifest:`工具与 Skill 说明`,request_instructions:`本次请求指令`}[e]||e}function cQ(e){return{platform_safety:`平台策略`,agent_identity:`Agent Revision`,agent_policy:`Agent Revision`,runtime_capabilities:`Runtime Adapter`,resource_manifest:`构建资源清单`,request_instructions:`本次请求`}[e]||`Prompt Compiler`}function lQ(e){return e.length>20?`${e.slice(0,17)}…`:e}function uQ(e,t){return e===`RUNNING`||e===`CREATED`?`运行中`:e===`COMPLETED`?t===`verified`?`已验收`:t===`unverified`?`已结束 · 未验收`:t===`partial`?`已结束 · 部分验收`:t===`blocked`?`已结束 · 验收受阻`:`已完成`:e===`CANCELLED`?`已取消`:e===`INTERRUPTED`?`已中断`:e===`TIMED_OUT`?`已超时`:`失败`}function dQ(e){try{return BigInt(String(e.startTimeUnixNano||`0`))}catch{return 0n}}function fQ(e){if(!e.length)return[];let t=[...e].sort((e,t)=>dQ(e)<dQ(t)?-1:1),n=t.reduce((e,t)=>{let n=dQ(t);return!e||n<e?n:e},0n),r=t.map(e=>Number(dQ(e)-n)/1e6),i=Math.max(1,...t.map((e,t)=>r[t]+Math.max(0,Number(e.durationMs)||0))),a=new Map(t.map(e=>[e.spanId,e])),o=e=>{let t=0,n=e.parentSpanId,r=new Set;for(;n&&a.has(n)&&!r.has(n)&&t<3;)r.add(n),t+=1,n=a.get(n)?.parentSpanId;return t};return t.slice(0,8).map((e,t)=>({...e,left:Math.min(96,Math.max(0,r[t]/i*100)),width:Math.max(3,Math.min(100,Math.max(0,Number(e.durationMs)||0)/i*100)),depth:o(e)}))}function pQ(e){return e.kind===`thinking`?(0,v.jsx)(Hf,{size:13}):e.kind===`message`?(0,v.jsx)(Rp,{size:13}):e.kind===`command`?(0,v.jsx)(fm,{size:13}):e.kind===`tool`?(0,v.jsx)(xm,{size:13}):e.kind===`approval`?(0,v.jsx)(om,{size:13}):e.kind===`usage`?(0,v.jsx)(Tp,{size:13}):(0,v.jsx)(Xp,{size:13})}async function mQ(e){let t=await q(`/api/v1/runs/${encodeURIComponent(e)}/events`);if(!t.ok)return[];let n=[],r=jZ(e=>{let{type:t,...r}=e;n.push({id:n.length+1,type:t,data:r})});return r.push(await t.text()),r.finish(),n}function hQ({agentId:e,sessionId:t,onOpenTrace:n,onClose:r}){let[i,a]=(0,g.useState)(null),[o,s]=(0,g.useState)([]),[c,l]=(0,g.useState)([]),[u,d]=(0,g.useState)(null),[f,p]=(0,g.useState)(null),[m,h]=(0,g.useState)(null),[_,y]=(0,g.useState)(!1),[b,x]=(0,g.useState)(!0),[S,C]=(0,g.useState)(0);(0,g.useEffect)(()=>{let n=!1,r=null,i=0;if(a(null),s([]),l([]),d(null),p(null),!t)return x(!1),()=>{n=!0};async function o(){let c=++i;try{let r=((await q(`/api/v1/runs?sessionId=${encodeURIComponent(t)}`).then(e=>e.json())).items||[]).filter(n=>(!e||n.agentId===e)&&n.sessionId===t).at(-1)||null;if(n||c!==i)return;if(a(r),!r){s([]),l([]),d(null),p(null);return}let[o,u,f,m]=await Promise.all([mQ(r.id),q(`/api/v1/traces/${encodeURIComponent(r.traceId)}`).then(e=>e.ok?e.json():null).catch(()=>null),q(`/api/v1/runs/${encodeURIComponent(r.id)}/context`).then(e=>e.ok?e.json():null).catch(()=>null),q(`/api/v1/runs/${encodeURIComponent(r.id)}/prompt`).then(e=>e.ok?e.json():null).catch(()=>null)]);!n&&c===i&&(s(o),l(u?.spans||[]),d(f),p(m))}catch{}finally{!n&&c===i&&x(!1),n||(r=window.setTimeout(o,2500))}}return x(!0),o(),()=>{n=!0,i+=1,r!==null&&window.clearTimeout(r)}},[e,t,S]),(0,g.useEffect)(()=>{h(null),y(!1)},[i?.id]);async function w(e){if(!(m||_)){y(!0);try{let t=await q(`/api/v1/runs/${encodeURIComponent(e)}/prompt?include_content=true`),n=t.ok?await t.json():null;h(n?.reveal||{available:!1,reason:`Prompt 详情读取失败。`})}catch{h({available:!1,reason:`Prompt 详情读取失败。`})}finally{y(!1)}}}let T=i?.status===`RUNNING`||i?.status===`CREATED`,E=i?/fail|error|interrupt|timed/i.test(i.status):!1,D=i?.status===`COMPLETED`&&[`unverified`,`partial`,`blocked`].includes(i.verificationOutcome||``),O=(0,g.useMemo)(()=>LZ(o),[o]),k=(0,g.useMemo)(()=>fQ(c),[c]),A=i?.usage?.reported===!0,j=u?.decisions||[],M=!!(u||f||A),N=j.some(e=>e.decision===`dropped`)?`部分内容已舍弃`:j.some(e=>e.decision===`compressed`)?`已自动压缩`:j.some(e=>e.decision===`replaced`)?`部分内容已替换`:M?`正常`:`等待证据`,P=Object.keys(f?.tokensBySection||{}).map(sQ),F=u?.tokensByKind?.recalled_memory,I=(0,g.useMemo)(()=>iQ(o,F),[o,F]),ee=Number.isFinite(u?.plannedInputTokens)&&Number.isFinite(u?.projectedInputTokens)&&Number(u?.plannedInputTokens)!==Number(u?.projectedInputTokens);return(0,v.jsxs)(`aside`,{className:`chat-run-panel`,"aria-label":`运行检查器`,children:[(0,v.jsxs)(`div`,{className:`chat-run-head`,children:[(0,v.jsxs)(`span`,{className:`chat-run-title`,children:[(0,v.jsx)(jf,{size:15}),` 运行检查器`]}),(0,v.jsx)(`span`,{className:`chat-run-head-spacer`}),(0,v.jsx)(`button`,{className:`icon-btn`,onClick:()=>C(e=>e+1),title:`刷新`,children:(0,v.jsx)(tm,{size:14})}),(0,v.jsx)(`button`,{className:`icon-btn`,onClick:r,title:`收起`,children:(0,v.jsx)(Sm,{size:14})})]}),b&&!i?(0,v.jsxs)(`div`,{className:`chat-run-empty`,children:[(0,v.jsx)(Pp,{size:16,className:`animate-spin`}),` 正在读取最近运行…`]}):i?(0,v.jsxs)(v.Fragment,{children:[(0,v.jsxs)(`div`,{className:`chat-run-scroll`,children:[(0,v.jsxs)(`section`,{className:`chat-run-overview`,children:[(0,v.jsxs)(`div`,{className:`chat-run-status-row`,children:[(0,v.jsx)(`span`,{className:`chat-run-state-icon ${T?`running`:E?`failed`:D?`unverified`:`completed`}`,children:T?(0,v.jsx)(Pp,{size:15,className:`animate-spin`}):E?(0,v.jsx)(ip,{size:15}):D?(0,v.jsx)(op,{size:15}):(0,v.jsx)($f,{size:15})}),(0,v.jsxs)(`div`,{className:`chat-run-identity`,children:[(0,v.jsx)(`strong`,{children:uQ(i.status,i.verificationOutcome)}),(0,v.jsx)(`span`,{title:i.id,children:lQ(i.id)})]}),(0,v.jsx)(`span`,{className:`chat-run-state ${T?`running`:E?`failed`:D?`unverified`:`completed`}`,children:i.status})]}),i.error?.message&&(0,v.jsxs)(`div`,{className:`chat-run-error`,role:`alert`,children:[(0,v.jsx)(ip,{size:15}),(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`strong`,{children:i.error.code||`运行失败`}),(0,v.jsx)(`span`,{children:i.error.message})]})]}),(0,v.jsxs)(`div`,{className:`chat-run-route`,children:[(0,v.jsx)(dp,{size:13}),(0,v.jsx)(`span`,{children:`Edge · Local`}),(0,v.jsx)(`i`,{}),(0,v.jsxs)(`span`,{children:[i.runtimeType||`codex`,` Runtime`]}),(0,v.jsx)(`i`,{}),(0,v.jsx)(`span`,{children:i.model||`未指定模型`})]})]}),(0,v.jsxs)(`section`,{className:`chat-run-section`,children:[(0,v.jsxs)(`div`,{className:`chat-run-section-title`,children:[(0,v.jsx)(`span`,{children:`本次运行`}),(0,v.jsx)(`small`,{children:i.startedAt?new Date(i.startedAt).toLocaleTimeString([],{hour:`2-digit`,minute:`2-digit`,second:`2-digit`}):``})]}),(0,v.jsxs)(`div`,{className:`chat-run-metrics`,children:[(0,v.jsxs)(`div`,{children:[(0,v.jsx)(op,{size:13}),(0,v.jsx)(`span`,{children:`耗时`}),(0,v.jsx)(`strong`,{children:aQ(i.durationMs)})]}),(0,v.jsxs)(`div`,{children:[(0,v.jsx)(lp,{size:13}),(0,v.jsx)(`span`,{children:`总 Token`}),(0,v.jsx)(`strong`,{children:A?oQ(i.usage?.totalTokens):`未上报`})]}),(0,v.jsxs)(`div`,{children:[(0,v.jsx)(Rp,{size:13}),(0,v.jsx)(`span`,{children:`输入 / 输出`}),(0,v.jsx)(`strong`,{children:A?`${oQ(i.usage?.inputTokens)} / ${oQ(i.usage?.outputTokens)}`:`未上报`})]}),(0,v.jsxs)(`div`,{children:[(0,v.jsx)(Ep,{size:13}),(0,v.jsx)(`span`,{children:`Span`}),(0,v.jsx)(`strong`,{children:c.length||`—`})]})]})]}),(0,v.jsxs)(`section`,{className:`chat-run-section pcm-run-summary`,children:[(0,v.jsxs)(`div`,{className:`chat-run-section-title`,children:[(0,v.jsx)(`span`,{children:`运行解释`}),(0,v.jsx)(`small`,{children:N})]}),(0,v.jsxs)(`div`,{className:`pcm-run-health ${N===`正常`?`healthy`:N===`等待证据`?`pending`:`adjusted`}`,children:[N===`正常`?(0,v.jsx)($f,{size:16}):(0,v.jsx)(Tp,{size:16}),(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`strong`,{children:N===`正常`?`本次运行依据已正常准备`:N}),(0,v.jsx)(`span`,{children:u?`规则、相关记忆和当前问题已按策略处理`:f&&A?`规则证据与模型用量已记录;Runner 内部上下文由框架管理`:`正在收集本次运行依据`})]})]}),(0,v.jsxs)(`div`,{className:`pcm-run-signal-list`,children:[(0,v.jsxs)(`details`,{className:`pcm-run-signal`,onToggle:e=>{e.currentTarget.open&&w(i.id)},children:[(0,v.jsxs)(`summary`,{children:[(0,v.jsx)($f,{size:14}),(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`strong`,{children:`规则已应用`}),(0,v.jsx)(`span`,{children:P.length?P.join(` · `):f?.sectionCount?`${f.sectionCount} 个规则来源`:`本次未提供规则来源证据`})]}),(0,v.jsx)(qf,{className:`pcm-run-signal-chevron`,size:14})]}),(0,v.jsx)(`div`,{className:`pcm-run-signal-details`,children:_?(0,v.jsx)(`p`,{children:`正在按本次不可变 Build 校验并读取 Prompt…`}):m?.available&&m.sections?.length?m.sections.map(e=>(0,v.jsxs)(`div`,{className:`pcm-run-prompt-section`,children:[(0,v.jsxs)(`span`,{children:[(0,v.jsx)(`strong`,{children:sQ(e.id)}),(0,v.jsxs)(`small`,{children:[`来源:`,cQ(e.id)]})]}),(0,v.jsx)(`pre`,{children:e.content})]},e.id)):(0,v.jsx)(`p`,{children:m?.reason||`展开后按需读取 Prompt 正文;正文不会写入 Trace。`})})]}),(0,v.jsxs)(`div`,{className:`pcm-run-signal-static ${I.status===`failed`?`attention`:``}`,children:[(0,v.jsx)(Hf,{size:14}),(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`strong`,{children:I.title}),(0,v.jsx)(`span`,{children:I.description})]})]}),(0,v.jsxs)(`div`,{className:`pcm-run-signal-static ${N!==`正常`&&N!==`等待证据`?`attention`:``}`,children:[(0,v.jsx)(Tp,{size:14}),(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`strong`,{children:ee?`上下文已按预算调整`:j.some(e=>e.decision===`compressed`||e.decision===`dropped`||e.decision===`replaced`)?N:`上下文无需压缩`}),(0,v.jsx)(`span`,{children:ee?`关键规则与当前问题已优先保留`:`未检测到压缩、替换或舍弃`})]})]})]})]}),(0,v.jsxs)(`section`,{className:`chat-run-section`,children:[(0,v.jsxs)(`div`,{className:`chat-run-section-title`,children:[(0,v.jsx)(`span`,{children:`Trace 瀑布`}),(0,v.jsx)(`small`,{children:k.length?`${k.length} 个节点`:`等待 Span`})]}),k.length?(0,v.jsx)(`div`,{className:`chat-run-waterfall`,children:k.map(e=>{let t=/fail|error/i.test(e.status);return(0,v.jsxs)(`div`,{className:`chat-run-waterfall-row`,children:[(0,v.jsx)(`span`,{className:`chat-run-waterfall-label`,style:{paddingLeft:e.depth*8},title:e.name,children:e.name}),(0,v.jsx)(`span`,{className:`chat-run-waterfall-track`,children:(0,v.jsx)(`i`,{className:t?`failed`:``,style:{left:`${e.left}%`,width:`${e.width}%`}})}),(0,v.jsx)(`small`,{children:aQ(e.durationMs)})]},e.spanId)})}):(0,v.jsx)(`div`,{className:`chat-run-inline-empty`,children:`运行开始后显示 Span 时序`})]}),(0,v.jsxs)(`section`,{className:`chat-run-section chat-run-events-section`,children:[(0,v.jsx)(`div`,{className:`chat-run-section-title`,children:(0,v.jsx)(`span`,{children:`执行活动`})}),(0,v.jsx)(rQ,{runId:i.id,streaming:T,fallback:[]})]}),(0,v.jsxs)(`section`,{className:`chat-run-section chat-run-events-section`,children:[(0,v.jsxs)(`div`,{className:`chat-run-section-title`,children:[(0,v.jsx)(`span`,{children:`执行事件`}),(0,v.jsx)(`small`,{children:O.length})]}),(0,v.jsx)(`div`,{className:`chat-run-timeline`,children:O.length?O.map(e=>(0,v.jsxs)(`div`,{className:`chat-run-event ${e.kind} ${e.status}`,children:[(0,v.jsx)(`span`,{className:`chat-run-event-icon`,children:pQ(e)}),(0,v.jsxs)(`div`,{className:`chat-run-event-copy`,children:[(0,v.jsxs)(`div`,{children:[(0,v.jsx)(`strong`,{children:e.title}),(0,v.jsx)(`small`,{children:e.summary})]}),e.detail&&(0,v.jsxs)(`details`,{children:[(0,v.jsx)(`summary`,{children:`查看详情`}),(0,v.jsx)(`pre`,{children:e.detail})]})]})]},e.id)):(0,v.jsx)(`div`,{className:`chat-run-inline-empty`,children:`正在建立 Runtime 连接…`})})]})]}),(0,v.jsx)(`div`,{className:`chat-run-footer`,children:(0,v.jsxs)(`button`,{className:`btn soft`,onClick:n,children:[`打开完整 Trace `,(0,v.jsx)(Pf,{size:14})]})})]}):(0,v.jsx)(`div`,{className:`chat-run-empty`,children:`发送一条消息后,这里会显示执行位置、用量与事件时间线。`})]})}var gQ=[`cancel`,`pause`,`resume`,`submit_interaction`,`attach`,`steer`,`inject`,`checkpoint`,`durable_restore`],_Q=[`goal`,`loop`,`plan`],vQ=new Set([`native`,`emulated`,`unavailable`]),yQ=new Set([`supported`,`mode`,`reason`]),bQ=new Set([`schema_version`,...gQ,..._Q]);function xQ(e,t){if(!e||typeof e!=`object`||Array.isArray(e))throw Error(`${t} must be an object`);return e}function SQ(e,t){let n=xQ(e,t);if(typeof n.supported!=`boolean`)throw Error(`${t}.supported must be a boolean`);if(!vQ.has(n.mode))throw Error(`${t}.mode must be native, emulated, or unavailable`);if(n.reason!==void 0&&n.reason!==null&&(typeof n.reason!=`string`||n.reason.length===0))throw Error(`${t}.reason must be a non-empty string or null`);if(!n.supported&&(n.mode!==`unavailable`||!n.reason))throw Error(`${t}: unsupported capability requires mode=unavailable and reason`);return{supported:n.supported,mode:n.mode,reason:n.reason??null,extensions:Object.fromEntries(Object.entries(n).filter(([e])=>!yQ.has(e)))}}function CQ(e){let t=xQ(e,`RuntimeCapabilityMatrix/v1`);if(t.schema_version!==1)throw Error(`schema_version must equal 1`);for(let e of gQ)if(!(e in t))throw Error(`${e} is required`);let n={schema_version:1,extensions:Object.fromEntries(Object.entries(t).filter(([e])=>!bQ.has(e)))};for(let e of gQ)n[e]=SQ(t[e],e);for(let e of _Q)t[e]!==void 0&&t[e]!==null&&(n[e]=SQ(t[e],e));return n}var wQ=[`responses`,`chat_completions`],TQ=new Map([[`openclaw`,`OpenClaw`],[`hermes`,`Hermes`]]);function EQ(e){return String(e||``).trim().toLowerCase()}function DQ(...e){for(let t of e){let e=EQ(t);if(e)return e}return``}function OQ(e){return e&&typeof e==`object`&&!Array.isArray(e)?e:{}}function kQ(e){if(!Array.isArray(e))return wQ;let t=e.filter(e=>e===`responses`||e===`chat_completions`);return t.length>0?t:wQ}function AQ(e,t){return typeof e==`boolean`?e:t}function Kre(e){return Array.isArray(e)?e.map(e=>OQ(e)).filter(e=>typeof e.name==`string`&&e.name.trim()).map(e=>{let t={...e,name:e.name.trim(),group:typeof e.group==`string`?e.group:``,risk_level:typeof e.risk_level==`string`?e.risk_level:`low`,requires_approval:!!e.requires_approval,side_effects:Array.isArray(e.side_effects)?e.side_effects.filter(e=>typeof e==`string`):[],enabled:AQ(e.enabled,!0)};return typeof e.description==`string`&&(t.description=e.description),t}):[]}function jQ(e){let t=OQ(e),n=Array.isArray(t.Modes)?t.Modes.filter(e=>[`ask`,`risk`,`full`].includes(e)):[`ask`,`risk`,`full`],r=n.length>0?[...new Set(n)]:[`ask`,`risk`,`full`];return{Modes:r,DefaultMode:r.includes(t.DefaultMode)?t.DefaultMode:`risk`,RuntimeOverride:AQ(t.RuntimeOverride,!0)}}function MQ(e){if(e!=null)try{return CQ(e)}catch{return}}function NQ(e,t){if(t!=null||DQ(OQ(e.Agent).Framework,e.Framework)!==`codex`)return;let n={supported:!1,mode:`unavailable`,reason:`legacy_bootstrap_not_advertised`,extensions:{}},r={supported:!0,mode:`emulated`,extensions:{}};return{schema_version:1,cancel:{...n},pause:{...n},resume:{...n},submit_interaction:{...n},attach:{...n},steer:{...n},inject:{...n},checkpoint:{...n},durable_restore:{...n},goal:{...r},plan:{...r},extensions:{compatibility:`legacy-codex`}}}function PQ(e){return Array.isArray(e)?e.flatMap(e=>{let t=OQ(e),n=String(t.Protocol||``).trim().toLowerCase(),r=String(t.Endpoint||``).trim();if(![`ag-ui`,`responses`].includes(n)||!r.startsWith(`/`))return[];let i=OQ(t.Capabilities);return[{Protocol:n,Runtime:String(t.Runtime||``).trim(),Endpoint:r,Version:String(t.Version||``).trim(),Capabilities:{A2UI:!!i.A2UI,Interrupt:!!i.Interrupt,Cancel:!!i.Cancel}}]}):[]}function FQ(e){let t=e?.Data||e||{},n=OQ(t.Capabilities),r=OQ(t.HostedRuntime),i=DQ(t.Agent?.Framework,r.Framework,r.Type),a=TQ.get(i)||``,o=kQ(t.ApiFormats||n.HostedChat?.ApiFormats),s=i!==`openclaw`,c=!!a,l=!!a,u=OQ(n.HostedChat),d=OQ(n.NativeDashboard),f=OQ(n.NativeTerminal),p=OQ(n.RunLifecycle),m=OQ(t.HostedChat),h=PQ(u.Transports||m.Transports),g=String(u.PreferredTransport||m.PreferredTransport||`responses`).trim().toLowerCase(),_=h.some(e=>e.Protocol===g)?g:`responses`,v=AQ(u.Enabled,s),y=AQ(d.Enabled,c),b=AQ(f.Enabled,l),x=AQ(p.Enabled,v),S=!!(n.interaction_v1?.enabled??n.Interaction?.V1??n.InteractionV1??!1),C=n.RuntimeCapabilityMatrix??t.RuntimeCapabilityMatrix,w=MQ(C)??NQ(t,C),T=n.ApprovalPolicy!==void 0&&n.ApprovalPolicy!==null;return{...n,Approval:AQ(n.Approval,T),RuntimeCapabilityMatrix:w,InteractionV1:S,ContextCompaction:n.ContextCompaction===!0,HostedChat:{Enabled:v,ApiFormats:kQ(u.ApiFormats||o),PreferredTransport:_,Transports:h},NativeDashboard:{Enabled:y,Href:typeof d.Href==`string`?d.Href:y?`/`:null,Label:typeof d.Label==`string`?d.Label:y?`管理平台`:null},NativeTerminal:{Enabled:b,Mode:typeof f.Mode==`string`?f.Mode:b?`tui`:null,Protocol:typeof f.Protocol==`string`?f.Protocol:`ks-terminal.v1`,Path:typeof f.Path==`string`?f.Path:`/_ksadk/terminal/ws`},RunLifecycle:{Enabled:x,Resume:AQ(p.Resume,x),Abort:AQ(p.Abort,x),Checkpoints:AQ(p.Checkpoints,!1),CheckpointResume:AQ(p.CheckpointResume,!1),CheckpointResumePreview:AQ(p.CheckpointResumePreview,!1)},ApprovalPolicy:jQ(n.ApprovalPolicy),BuiltinTools:Kre(n.BuiltinTools)}}function IQ(e){return FQ({Data:{Capabilities:e}}).HostedChat.Enabled}function LQ(e,t={}){let n=FQ({Data:{Capabilities:e}}).HostedChat,r=n.Transports.find(e=>e.Protocol===n.PreferredTransport),i=n.Transports.find(e=>e.Protocol===`responses`);return t.requireResumableRun&&i?i:r||i||{Protocol:`responses`,Runtime:`ksadk`,Endpoint:`/v1/responses`,Version:`v1`,Capabilities:{A2UI:!1,Interrupt:!1,Cancel:!1}}}var RQ=[];for(let e=0;e<256;++e)RQ.push((e+256).toString(16).slice(1));function zQ(e,t=0){return(RQ[e[t+0]]+RQ[e[t+1]]+RQ[e[t+2]]+RQ[e[t+3]]+`-`+RQ[e[t+4]]+RQ[e[t+5]]+`-`+RQ[e[t+6]]+RQ[e[t+7]]+`-`+RQ[e[t+8]]+RQ[e[t+9]]+`-`+RQ[e[t+10]]+RQ[e[t+11]]+RQ[e[t+12]]+RQ[e[t+13]]+RQ[e[t+14]]+RQ[e[t+15]]).toLowerCase()}var BQ,VQ=new Uint8Array(16);function HQ(){if(!BQ){if(typeof crypto>`u`||!crypto.getRandomValues)throw Error(`crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported`);BQ=crypto.getRandomValues.bind(crypto)}return BQ(VQ)}var UQ={randomUUID:typeof crypto<`u`&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};function WQ(e,t,n){if(UQ.randomUUID&&!t&&!e)return UQ.randomUUID();e||={};let r=e.random??e.rng?.()??HQ();if(r.length<16)throw Error(`Random bytes length must be >= 16`);if(r[6]=r[6]&15|64,r[8]=r[8]&63|128,t){if(n||=0,n<0||n+16>t.length)throw RangeError(`UUID byte range ${n}:${n+15} is out of buffer bounds`);for(let e=0;e<16;++e)t[n+e]=r[e];return t}return zQ(r)}var GQ;(function(e){e.assertEqual=e=>{};function t(e){}e.assertIs=t;function n(e){throw Error()}e.assertNever=n,e.arrayToEnum=e=>{let t={};for(let n of e)t[n]=n;return t},e.getValidEnumValues=t=>{let n=e.objectKeys(t).filter(e=>typeof t[t[e]]!=`number`),r={};for(let e of n)r[e]=t[e];return e.objectValues(r)},e.objectValues=t=>e.objectKeys(t).map(function(e){return t[e]}),e.objectKeys=typeof Object.keys==`function`?e=>Object.keys(e):e=>{let t=[];for(let n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.push(n);return t},e.find=(e,t)=>{for(let n of e)if(t(n))return n},e.isInteger=typeof Number.isInteger==`function`?e=>Number.isInteger(e):e=>typeof e==`number`&&Number.isFinite(e)&&Math.floor(e)===e;function r(e,t=` | `){return e.map(e=>typeof e==`string`?`'${e}'`:e).join(t)}e.joinValues=r,e.jsonStringifyReplacer=(e,t)=>typeof t==`bigint`?t.toString():t})(GQ||={});var KQ;(function(e){e.mergeShapes=(e,t)=>({...e,...t})})(KQ||={});var qQ=GQ.arrayToEnum([`string`,`nan`,`number`,`integer`,`float`,`boolean`,`date`,`bigint`,`symbol`,`function`,`undefined`,`null`,`array`,`object`,`unknown`,`promise`,`void`,`never`,`map`,`set`]),JQ=e=>{switch(typeof e){case`undefined`:return qQ.undefined;case`string`:return qQ.string;case`number`:return Number.isNaN(e)?qQ.nan:qQ.number;case`boolean`:return qQ.boolean;case`function`:return qQ.function;case`bigint`:return qQ.bigint;case`symbol`:return qQ.symbol;case`object`:return Array.isArray(e)?qQ.array:e===null?qQ.null:e.then&&typeof e.then==`function`&&e.catch&&typeof e.catch==`function`?qQ.promise:typeof Map<`u`&&e instanceof Map?qQ.map:typeof Set<`u`&&e instanceof Set?qQ.set:typeof Date<`u`&&e instanceof Date?qQ.date:qQ.object;default:return qQ.unknown}},X=GQ.arrayToEnum([`invalid_type`,`invalid_literal`,`custom`,`invalid_union`,`invalid_union_discriminator`,`invalid_enum_value`,`unrecognized_keys`,`invalid_arguments`,`invalid_return_type`,`invalid_date`,`invalid_string`,`too_small`,`too_big`,`invalid_intersection_types`,`not_multiple_of`,`not_finite`]),YQ=class e extends Error{get errors(){return this.issues}constructor(e){super(),this.issues=[],this.addIssue=e=>{this.issues=[...this.issues,e]},this.addIssues=(e=[])=>{this.issues=[...this.issues,...e]};let t=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,t):this.__proto__=t,this.name=`ZodError`,this.issues=e}format(e){let t=e||function(e){return e.message},n={_errors:[]},r=e=>{for(let i of e.issues)if(i.code===`invalid_union`)i.unionErrors.map(r);else if(i.code===`invalid_return_type`)r(i.returnTypeError);else if(i.code===`invalid_arguments`)r(i.argumentsError);else if(i.path.length===0)n._errors.push(t(i));else{let e=n,r=0;for(;r<i.path.length;){let n=i.path[r];r===i.path.length-1?(e[n]=e[n]||{_errors:[]},e[n]._errors.push(t(i))):e[n]=e[n]||{_errors:[]},e=e[n],r++}}};return r(this),n}static assert(t){if(!(t instanceof e))throw Error(`Not a ZodError: ${t}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,GQ.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(e=e=>e.message){let t={},n=[];for(let r of this.issues)if(r.path.length>0){let n=r.path[0];t[n]=t[n]||[],t[n].push(e(r))}else n.push(e(r));return{formErrors:n,fieldErrors:t}}get formErrors(){return this.flatten()}};YQ.create=e=>new YQ(e);var XQ=(e,t)=>{let n;switch(e.code){case X.invalid_type:n=e.received===qQ.undefined?`Required`:`Expected ${e.expected}, received ${e.received}`;break;case X.invalid_literal:n=`Invalid literal value, expected ${JSON.stringify(e.expected,GQ.jsonStringifyReplacer)}`;break;case X.unrecognized_keys:n=`Unrecognized key(s) in object: ${GQ.joinValues(e.keys,`, `)}`;break;case X.invalid_union:n=`Invalid input`;break;case X.invalid_union_discriminator:n=`Invalid discriminator value. Expected ${GQ.joinValues(e.options)}`;break;case X.invalid_enum_value:n=`Invalid enum value. Expected ${GQ.joinValues(e.options)}, received '${e.received}'`;break;case X.invalid_arguments:n=`Invalid function arguments`;break;case X.invalid_return_type:n=`Invalid function return type`;break;case X.invalid_date:n=`Invalid date`;break;case X.invalid_string:typeof e.validation==`object`?`includes`in e.validation?(n=`Invalid input: must include "${e.validation.includes}"`,typeof e.validation.position==`number`&&(n=`${n} at one or more positions greater than or equal to ${e.validation.position}`)):`startsWith`in e.validation?n=`Invalid input: must start with "${e.validation.startsWith}"`:`endsWith`in e.validation?n=`Invalid input: must end with "${e.validation.endsWith}"`:GQ.assertNever(e.validation):n=e.validation===`regex`?`Invalid`:`Invalid ${e.validation}`;break;case X.too_small:n=e.type===`array`?`Array must contain ${e.exact?`exactly`:e.inclusive?`at least`:`more than`} ${e.minimum} element(s)`:e.type===`string`?`String must contain ${e.exact?`exactly`:e.inclusive?`at least`:`over`} ${e.minimum} character(s)`:e.type===`number`||e.type===`bigint`?`Number must be ${e.exact?`exactly equal to `:e.inclusive?`greater than or equal to `:`greater than `}${e.minimum}`:e.type===`date`?`Date must be ${e.exact?`exactly equal to `:e.inclusive?`greater than or equal to `:`greater than `}${new Date(Number(e.minimum))}`:`Invalid input`;break;case X.too_big:n=e.type===`array`?`Array must contain ${e.exact?`exactly`:e.inclusive?`at most`:`less than`} ${e.maximum} element(s)`:e.type===`string`?`String must contain ${e.exact?`exactly`:e.inclusive?`at most`:`under`} ${e.maximum} character(s)`:e.type===`number`?`Number must be ${e.exact?`exactly`:e.inclusive?`less than or equal to`:`less than`} ${e.maximum}`:e.type===`bigint`?`BigInt must be ${e.exact?`exactly`:e.inclusive?`less than or equal to`:`less than`} ${e.maximum}`:e.type===`date`?`Date must be ${e.exact?`exactly`:e.inclusive?`smaller than or equal to`:`smaller than`} ${new Date(Number(e.maximum))}`:`Invalid input`;break;case X.custom:n=`Invalid input`;break;case X.invalid_intersection_types:n=`Intersection results could not be merged`;break;case X.not_multiple_of:n=`Number must be a multiple of ${e.multipleOf}`;break;case X.not_finite:n=`Number must be finite`;break;default:n=t.defaultError,GQ.assertNever(e)}return{message:n}},ZQ=XQ;function QQ(){return ZQ}var $Q=e=>{let{data:t,path:n,errorMaps:r,issueData:i}=e,a=[...n,...i.path||[]],o={...i,path:a};if(i.message!==void 0)return{...i,path:a,message:i.message};let s=``,c=r.filter(e=>!!e).slice().reverse();for(let e of c)s=e(o,{data:t,defaultError:s}).message;return{...i,path:a,message:s}};function e$(e,t){let n=QQ(),r=$Q({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,n,n===XQ?void 0:XQ].filter(e=>!!e)});e.common.issues.push(r)}var t$=class e{constructor(){this.value=`valid`}dirty(){this.value===`valid`&&(this.value=`dirty`)}abort(){this.value!==`aborted`&&(this.value=`aborted`)}static mergeArray(e,t){let n=[];for(let r of t){if(r.status===`aborted`)return n$;r.status===`dirty`&&e.dirty(),n.push(r.value)}return{status:e.value,value:n}}static async mergeObjectAsync(t,n){let r=[];for(let e of n){let t=await e.key,n=await e.value;r.push({key:t,value:n})}return e.mergeObjectSync(t,r)}static mergeObjectSync(e,t){let n={};for(let r of t){let{key:t,value:i}=r;if(t.status===`aborted`||i.status===`aborted`)return n$;t.status===`dirty`&&e.dirty(),i.status===`dirty`&&e.dirty(),t.value!==`__proto__`&&(i.value!==void 0||r.alwaysSet)&&(n[t.value]=i.value)}return{status:e.value,value:n}}},n$=Object.freeze({status:`aborted`}),r$=e=>({status:`dirty`,value:e}),i$=e=>({status:`valid`,value:e}),a$=e=>e.status===`aborted`,o$=e=>e.status===`dirty`,s$=e=>e.status===`valid`,c$=e=>typeof Promise<`u`&&e instanceof Promise,l$;(function(e){e.errToObj=e=>typeof e==`string`?{message:e}:e||{},e.toString=e=>typeof e==`string`?e:e?.message})(l$||={});var u$=class{constructor(e,t,n,r){this._cachedPath=[],this.parent=e,this.data=t,this._path=n,this._key=r}get path(){return this._cachedPath.length||(Array.isArray(this._key)?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}},d$=(e,t)=>{if(s$(t))return{success:!0,data:t.value};if(!e.common.issues.length)throw Error(`Validation failed but no issues detected.`);return{success:!1,get error(){if(this._error)return this._error;let t=new YQ(e.common.issues);return this._error=t,this._error}}};function f$(e){if(!e)return{};let{errorMap:t,invalid_type_error:n,required_error:r,description:i}=e;if(t&&(n||r))throw Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return t?{errorMap:t,description:i}:{errorMap:(t,i)=>{let{message:a}=e;return t.code===`invalid_enum_value`?{message:a??i.defaultError}:i.data===void 0?{message:a??r??i.defaultError}:t.code===`invalid_type`?{message:a??n??i.defaultError}:{message:i.defaultError}},description:i}}var p$=class{get description(){return this._def.description}_getType(e){return JQ(e.data)}_getOrReturnCtx(e,t){return t||{common:e.parent.common,data:e.data,parsedType:JQ(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new t$,ctx:{common:e.parent.common,data:e.data,parsedType:JQ(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){let t=this._parse(e);if(c$(t))throw Error(`Synchronous parse encountered promise.`);return t}_parseAsync(e){let t=this._parse(e);return Promise.resolve(t)}parse(e,t){let n=this.safeParse(e,t);if(n.success)return n.data;throw n.error}safeParse(e,t){let n={common:{issues:[],async:t?.async??!1,contextualErrorMap:t?.errorMap},path:t?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:JQ(e)};return d$(n,this._parseSync({data:e,path:n.path,parent:n}))}"~validate"(e){let t={common:{issues:[],async:!!this[`~standard`].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:JQ(e)};if(!this[`~standard`].async)try{let n=this._parseSync({data:e,path:[],parent:t});return s$(n)?{value:n.value}:{issues:t.common.issues}}catch(e){e?.message?.toLowerCase()?.includes(`encountered`)&&(this[`~standard`].async=!0),t.common={issues:[],async:!0}}return this._parseAsync({data:e,path:[],parent:t}).then(e=>s$(e)?{value:e.value}:{issues:t.common.issues})}async parseAsync(e,t){let n=await this.safeParseAsync(e,t);if(n.success)return n.data;throw n.error}async safeParseAsync(e,t){let n={common:{issues:[],contextualErrorMap:t?.errorMap,async:!0},path:t?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:JQ(e)},r=this._parse({data:e,path:n.path,parent:n});return d$(n,await(c$(r)?r:Promise.resolve(r)))}refine(e,t){let n=e=>typeof t==`string`||t===void 0?{message:t}:typeof t==`function`?t(e):t;return this._refinement((t,r)=>{let i=e(t),a=()=>r.addIssue({code:X.custom,...n(t)});return typeof Promise<`u`&&i instanceof Promise?i.then(e=>e?!0:(a(),!1)):i?!0:(a(),!1)})}refinement(e,t){return this._refinement((n,r)=>e(n)?!0:(r.addIssue(typeof t==`function`?t(n,r):t),!1))}_refinement(e){return new g1({schema:this,typeName:T1.ZodEffects,effect:{type:`refinement`,refinement:e}})}superRefine(e){return this._refinement(e)}constructor(e){this.spa=this.safeParseAsync,this._def=e,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this[`~standard`]={version:1,vendor:`zod`,validate:e=>this[`~validate`](e)}}optional(){return _1.create(this,this._def)}nullable(){return v1.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return Z$.create(this)}promise(){return h1.create(this,this._def)}or(e){return e1.create([this,e],this._def)}and(e){return i1.create(this,e,this._def)}transform(e){return new g1({...f$(this._def),schema:this,typeName:T1.ZodEffects,effect:{type:`transform`,transform:e}})}default(e){let t=typeof e==`function`?e:()=>e;return new y1({...f$(this._def),innerType:this,defaultValue:t,typeName:T1.ZodDefault})}brand(){return new S1({typeName:T1.ZodBranded,type:this,...f$(this._def)})}catch(e){let t=typeof e==`function`?e:()=>e;return new b1({...f$(this._def),innerType:this,catchValue:t,typeName:T1.ZodCatch})}describe(e){let t=this.constructor;return new t({...this._def,description:e})}pipe(e){return C1.create(this,e)}readonly(){return w1.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},m$=/^c[^\s-]{8,}$/i,h$=/^[0-9a-z]+$/,g$=/^[0-9A-HJKMNP-TV-Z]{26}$/i,_$=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,v$=/^[a-z0-9_-]{21}$/i,y$=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,b$=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,x$=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,S$=`^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$`,C$,w$=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,T$=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,E$=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,D$=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,O$=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,k$=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,A$=`((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))`,j$=RegExp(`^${A$}$`);function M$(e){let t=`[0-5]\\d`;e.precision?t=`${t}\\.\\d{${e.precision}}`:e.precision??(t=`${t}(\\.\\d+)?`);let n=e.precision?`+`:`?`;return`([01]\\d|2[0-3]):[0-5]\\d(:${t})${n}`}function N$(e){return RegExp(`^${M$(e)}$`)}function P$(e){let t=`${A$}T${M$(e)}`,n=[];return n.push(e.local?`Z?`:`Z`),e.offset&&n.push(`([+-]\\d{2}:?\\d{2})`),t=`${t}(${n.join(`|`)})`,RegExp(`^${t}$`)}function F$(e,t){return!!((t===`v4`||!t)&&w$.test(e)||(t===`v6`||!t)&&E$.test(e))}function I$(e,t){if(!y$.test(e))return!1;try{let[n]=e.split(`.`);if(!n)return!1;let r=n.replace(/-/g,`+`).replace(/_/g,`/`).padEnd(n.length+(4-n.length%4)%4,`=`),i=JSON.parse(atob(r));return!(typeof i!=`object`||!i||`typ`in i&&i?.typ!==`JWT`||!i.alg||t&&i.alg!==t)}catch{return!1}}function L$(e,t){return!!((t===`v4`||!t)&&T$.test(e)||(t===`v6`||!t)&&D$.test(e))}var R$=class e extends p${_parse(e){if(this._def.coerce&&(e.data=String(e.data)),this._getType(e)!==qQ.string){let t=this._getOrReturnCtx(e);return e$(t,{code:X.invalid_type,expected:qQ.string,received:t.parsedType}),n$}let t=new t$,n;for(let r of this._def.checks)if(r.kind===`min`)e.data.length<r.value&&(n=this._getOrReturnCtx(e,n),e$(n,{code:X.too_small,minimum:r.value,type:`string`,inclusive:!0,exact:!1,message:r.message}),t.dirty());else if(r.kind===`max`)e.data.length>r.value&&(n=this._getOrReturnCtx(e,n),e$(n,{code:X.too_big,maximum:r.value,type:`string`,inclusive:!0,exact:!1,message:r.message}),t.dirty());else if(r.kind===`length`){let i=e.data.length>r.value,a=e.data.length<r.value;(i||a)&&(n=this._getOrReturnCtx(e,n),i?e$(n,{code:X.too_big,maximum:r.value,type:`string`,inclusive:!0,exact:!0,message:r.message}):a&&e$(n,{code:X.too_small,minimum:r.value,type:`string`,inclusive:!0,exact:!0,message:r.message}),t.dirty())}else if(r.kind===`email`)x$.test(e.data)||(n=this._getOrReturnCtx(e,n),e$(n,{validation:`email`,code:X.invalid_string,message:r.message}),t.dirty());else if(r.kind===`emoji`)C$||=new RegExp(S$,`u`),C$.test(e.data)||(n=this._getOrReturnCtx(e,n),e$(n,{validation:`emoji`,code:X.invalid_string,message:r.message}),t.dirty());else if(r.kind===`uuid`)_$.test(e.data)||(n=this._getOrReturnCtx(e,n),e$(n,{validation:`uuid`,code:X.invalid_string,message:r.message}),t.dirty());else if(r.kind===`nanoid`)v$.test(e.data)||(n=this._getOrReturnCtx(e,n),e$(n,{validation:`nanoid`,code:X.invalid_string,message:r.message}),t.dirty());else if(r.kind===`cuid`)m$.test(e.data)||(n=this._getOrReturnCtx(e,n),e$(n,{validation:`cuid`,code:X.invalid_string,message:r.message}),t.dirty());else if(r.kind===`cuid2`)h$.test(e.data)||(n=this._getOrReturnCtx(e,n),e$(n,{validation:`cuid2`,code:X.invalid_string,message:r.message}),t.dirty());else if(r.kind===`ulid`)g$.test(e.data)||(n=this._getOrReturnCtx(e,n),e$(n,{validation:`ulid`,code:X.invalid_string,message:r.message}),t.dirty());else if(r.kind===`url`)try{new URL(e.data)}catch{n=this._getOrReturnCtx(e,n),e$(n,{validation:`url`,code:X.invalid_string,message:r.message}),t.dirty()}else r.kind===`regex`?(r.regex.lastIndex=0,r.regex.test(e.data)||(n=this._getOrReturnCtx(e,n),e$(n,{validation:`regex`,code:X.invalid_string,message:r.message}),t.dirty())):r.kind===`trim`?e.data=e.data.trim():r.kind===`includes`?e.data.includes(r.value,r.position)||(n=this._getOrReturnCtx(e,n),e$(n,{code:X.invalid_string,validation:{includes:r.value,position:r.position},message:r.message}),t.dirty()):r.kind===`toLowerCase`?e.data=e.data.toLowerCase():r.kind===`toUpperCase`?e.data=e.data.toUpperCase():r.kind===`startsWith`?e.data.startsWith(r.value)||(n=this._getOrReturnCtx(e,n),e$(n,{code:X.invalid_string,validation:{startsWith:r.value},message:r.message}),t.dirty()):r.kind===`endsWith`?e.data.endsWith(r.value)||(n=this._getOrReturnCtx(e,n),e$(n,{code:X.invalid_string,validation:{endsWith:r.value},message:r.message}),t.dirty()):r.kind===`datetime`?P$(r).test(e.data)||(n=this._getOrReturnCtx(e,n),e$(n,{code:X.invalid_string,validation:`datetime`,message:r.message}),t.dirty()):r.kind===`date`?j$.test(e.data)||(n=this._getOrReturnCtx(e,n),e$(n,{code:X.invalid_string,validation:`date`,message:r.message}),t.dirty()):r.kind===`time`?N$(r).test(e.data)||(n=this._getOrReturnCtx(e,n),e$(n,{code:X.invalid_string,validation:`time`,message:r.message}),t.dirty()):r.kind===`duration`?b$.test(e.data)||(n=this._getOrReturnCtx(e,n),e$(n,{validation:`duration`,code:X.invalid_string,message:r.message}),t.dirty()):r.kind===`ip`?F$(e.data,r.version)||(n=this._getOrReturnCtx(e,n),e$(n,{validation:`ip`,code:X.invalid_string,message:r.message}),t.dirty()):r.kind===`jwt`?I$(e.data,r.alg)||(n=this._getOrReturnCtx(e,n),e$(n,{validation:`jwt`,code:X.invalid_string,message:r.message}),t.dirty()):r.kind===`cidr`?L$(e.data,r.version)||(n=this._getOrReturnCtx(e,n),e$(n,{validation:`cidr`,code:X.invalid_string,message:r.message}),t.dirty()):r.kind===`base64`?O$.test(e.data)||(n=this._getOrReturnCtx(e,n),e$(n,{validation:`base64`,code:X.invalid_string,message:r.message}),t.dirty()):r.kind===`base64url`?k$.test(e.data)||(n=this._getOrReturnCtx(e,n),e$(n,{validation:`base64url`,code:X.invalid_string,message:r.message}),t.dirty()):GQ.assertNever(r);return{status:t.value,value:e.data}}_regex(e,t,n){return this.refinement(t=>e.test(t),{validation:t,code:X.invalid_string,...l$.errToObj(n)})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}email(e){return this._addCheck({kind:`email`,...l$.errToObj(e)})}url(e){return this._addCheck({kind:`url`,...l$.errToObj(e)})}emoji(e){return this._addCheck({kind:`emoji`,...l$.errToObj(e)})}uuid(e){return this._addCheck({kind:`uuid`,...l$.errToObj(e)})}nanoid(e){return this._addCheck({kind:`nanoid`,...l$.errToObj(e)})}cuid(e){return this._addCheck({kind:`cuid`,...l$.errToObj(e)})}cuid2(e){return this._addCheck({kind:`cuid2`,...l$.errToObj(e)})}ulid(e){return this._addCheck({kind:`ulid`,...l$.errToObj(e)})}base64(e){return this._addCheck({kind:`base64`,...l$.errToObj(e)})}base64url(e){return this._addCheck({kind:`base64url`,...l$.errToObj(e)})}jwt(e){return this._addCheck({kind:`jwt`,...l$.errToObj(e)})}ip(e){return this._addCheck({kind:`ip`,...l$.errToObj(e)})}cidr(e){return this._addCheck({kind:`cidr`,...l$.errToObj(e)})}datetime(e){return typeof e==`string`?this._addCheck({kind:`datetime`,precision:null,offset:!1,local:!1,message:e}):this._addCheck({kind:`datetime`,precision:e?.precision===void 0?null:e?.precision,offset:e?.offset??!1,local:e?.local??!1,...l$.errToObj(e?.message)})}date(e){return this._addCheck({kind:`date`,message:e})}time(e){return typeof e==`string`?this._addCheck({kind:`time`,precision:null,message:e}):this._addCheck({kind:`time`,precision:e?.precision===void 0?null:e?.precision,...l$.errToObj(e?.message)})}duration(e){return this._addCheck({kind:`duration`,...l$.errToObj(e)})}regex(e,t){return this._addCheck({kind:`regex`,regex:e,...l$.errToObj(t)})}includes(e,t){return this._addCheck({kind:`includes`,value:e,position:t?.position,...l$.errToObj(t?.message)})}startsWith(e,t){return this._addCheck({kind:`startsWith`,value:e,...l$.errToObj(t)})}endsWith(e,t){return this._addCheck({kind:`endsWith`,value:e,...l$.errToObj(t)})}min(e,t){return this._addCheck({kind:`min`,value:e,...l$.errToObj(t)})}max(e,t){return this._addCheck({kind:`max`,value:e,...l$.errToObj(t)})}length(e,t){return this._addCheck({kind:`length`,value:e,...l$.errToObj(t)})}nonempty(e){return this.min(1,l$.errToObj(e))}trim(){return new e({...this._def,checks:[...this._def.checks,{kind:`trim`}]})}toLowerCase(){return new e({...this._def,checks:[...this._def.checks,{kind:`toLowerCase`}]})}toUpperCase(){return new e({...this._def,checks:[...this._def.checks,{kind:`toUpperCase`}]})}get isDatetime(){return!!this._def.checks.find(e=>e.kind===`datetime`)}get isDate(){return!!this._def.checks.find(e=>e.kind===`date`)}get isTime(){return!!this._def.checks.find(e=>e.kind===`time`)}get isDuration(){return!!this._def.checks.find(e=>e.kind===`duration`)}get isEmail(){return!!this._def.checks.find(e=>e.kind===`email`)}get isURL(){return!!this._def.checks.find(e=>e.kind===`url`)}get isEmoji(){return!!this._def.checks.find(e=>e.kind===`emoji`)}get isUUID(){return!!this._def.checks.find(e=>e.kind===`uuid`)}get isNANOID(){return!!this._def.checks.find(e=>e.kind===`nanoid`)}get isCUID(){return!!this._def.checks.find(e=>e.kind===`cuid`)}get isCUID2(){return!!this._def.checks.find(e=>e.kind===`cuid2`)}get isULID(){return!!this._def.checks.find(e=>e.kind===`ulid`)}get isIP(){return!!this._def.checks.find(e=>e.kind===`ip`)}get isCIDR(){return!!this._def.checks.find(e=>e.kind===`cidr`)}get isBase64(){return!!this._def.checks.find(e=>e.kind===`base64`)}get isBase64url(){return!!this._def.checks.find(e=>e.kind===`base64url`)}get minLength(){let e=null;for(let t of this._def.checks)t.kind===`min`&&(e===null||t.value>e)&&(e=t.value);return e}get maxLength(){let e=null;for(let t of this._def.checks)t.kind===`max`&&(e===null||t.value<e)&&(e=t.value);return e}};R$.create=e=>new R$({checks:[],typeName:T1.ZodString,coerce:e?.coerce??!1,...f$(e)});function z$(e,t){let n=(e.toString().split(`.`)[1]||``).length,r=(t.toString().split(`.`)[1]||``).length,i=n>r?n:r;return Number.parseInt(e.toFixed(i).replace(`.`,``))%Number.parseInt(t.toFixed(i).replace(`.`,``))/10**i}var B$=class e extends p${constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(e){if(this._def.coerce&&(e.data=Number(e.data)),this._getType(e)!==qQ.number){let t=this._getOrReturnCtx(e);return e$(t,{code:X.invalid_type,expected:qQ.number,received:t.parsedType}),n$}let t,n=new t$;for(let r of this._def.checks)r.kind===`int`?GQ.isInteger(e.data)||(t=this._getOrReturnCtx(e,t),e$(t,{code:X.invalid_type,expected:`integer`,received:`float`,message:r.message}),n.dirty()):r.kind===`min`?(r.inclusive?e.data<r.value:e.data<=r.value)&&(t=this._getOrReturnCtx(e,t),e$(t,{code:X.too_small,minimum:r.value,type:`number`,inclusive:r.inclusive,exact:!1,message:r.message}),n.dirty()):r.kind===`max`?(r.inclusive?e.data>r.value:e.data>=r.value)&&(t=this._getOrReturnCtx(e,t),e$(t,{code:X.too_big,maximum:r.value,type:`number`,inclusive:r.inclusive,exact:!1,message:r.message}),n.dirty()):r.kind===`multipleOf`?z$(e.data,r.value)!==0&&(t=this._getOrReturnCtx(e,t),e$(t,{code:X.not_multiple_of,multipleOf:r.value,message:r.message}),n.dirty()):r.kind===`finite`?Number.isFinite(e.data)||(t=this._getOrReturnCtx(e,t),e$(t,{code:X.not_finite,message:r.message}),n.dirty()):GQ.assertNever(r);return{status:n.value,value:e.data}}gte(e,t){return this.setLimit(`min`,e,!0,l$.toString(t))}gt(e,t){return this.setLimit(`min`,e,!1,l$.toString(t))}lte(e,t){return this.setLimit(`max`,e,!0,l$.toString(t))}lt(e,t){return this.setLimit(`max`,e,!1,l$.toString(t))}setLimit(t,n,r,i){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:l$.toString(i)}]})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}int(e){return this._addCheck({kind:`int`,message:l$.toString(e)})}positive(e){return this._addCheck({kind:`min`,value:0,inclusive:!1,message:l$.toString(e)})}negative(e){return this._addCheck({kind:`max`,value:0,inclusive:!1,message:l$.toString(e)})}nonpositive(e){return this._addCheck({kind:`max`,value:0,inclusive:!0,message:l$.toString(e)})}nonnegative(e){return this._addCheck({kind:`min`,value:0,inclusive:!0,message:l$.toString(e)})}multipleOf(e,t){return this._addCheck({kind:`multipleOf`,value:e,message:l$.toString(t)})}finite(e){return this._addCheck({kind:`finite`,message:l$.toString(e)})}safe(e){return this._addCheck({kind:`min`,inclusive:!0,value:-(2**53-1),message:l$.toString(e)})._addCheck({kind:`max`,inclusive:!0,value:2**53-1,message:l$.toString(e)})}get minValue(){let e=null;for(let t of this._def.checks)t.kind===`min`&&(e===null||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(let t of this._def.checks)t.kind===`max`&&(e===null||t.value<e)&&(e=t.value);return e}get isInt(){return!!this._def.checks.find(e=>e.kind===`int`||e.kind===`multipleOf`&&GQ.isInteger(e.value))}get isFinite(){let e=null,t=null;for(let n of this._def.checks)if(n.kind===`finite`||n.kind===`int`||n.kind===`multipleOf`)return!0;else n.kind===`min`?(t===null||n.value>t)&&(t=n.value):n.kind===`max`&&(e===null||n.value<e)&&(e=n.value);return Number.isFinite(t)&&Number.isFinite(e)}};B$.create=e=>new B$({checks:[],typeName:T1.ZodNumber,coerce:e?.coerce||!1,...f$(e)});var V$=class e extends p${constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(e){if(this._def.coerce)try{e.data=BigInt(e.data)}catch{return this._getInvalidInput(e)}if(this._getType(e)!==qQ.bigint)return this._getInvalidInput(e);let t,n=new t$;for(let r of this._def.checks)r.kind===`min`?(r.inclusive?e.data<r.value:e.data<=r.value)&&(t=this._getOrReturnCtx(e,t),e$(t,{code:X.too_small,type:`bigint`,minimum:r.value,inclusive:r.inclusive,message:r.message}),n.dirty()):r.kind===`max`?(r.inclusive?e.data>r.value:e.data>=r.value)&&(t=this._getOrReturnCtx(e,t),e$(t,{code:X.too_big,type:`bigint`,maximum:r.value,inclusive:r.inclusive,message:r.message}),n.dirty()):r.kind===`multipleOf`?e.data%r.value!==BigInt(0)&&(t=this._getOrReturnCtx(e,t),e$(t,{code:X.not_multiple_of,multipleOf:r.value,message:r.message}),n.dirty()):GQ.assertNever(r);return{status:n.value,value:e.data}}_getInvalidInput(e){let t=this._getOrReturnCtx(e);return e$(t,{code:X.invalid_type,expected:qQ.bigint,received:t.parsedType}),n$}gte(e,t){return this.setLimit(`min`,e,!0,l$.toString(t))}gt(e,t){return this.setLimit(`min`,e,!1,l$.toString(t))}lte(e,t){return this.setLimit(`max`,e,!0,l$.toString(t))}lt(e,t){return this.setLimit(`max`,e,!1,l$.toString(t))}setLimit(t,n,r,i){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:l$.toString(i)}]})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}positive(e){return this._addCheck({kind:`min`,value:BigInt(0),inclusive:!1,message:l$.toString(e)})}negative(e){return this._addCheck({kind:`max`,value:BigInt(0),inclusive:!1,message:l$.toString(e)})}nonpositive(e){return this._addCheck({kind:`max`,value:BigInt(0),inclusive:!0,message:l$.toString(e)})}nonnegative(e){return this._addCheck({kind:`min`,value:BigInt(0),inclusive:!0,message:l$.toString(e)})}multipleOf(e,t){return this._addCheck({kind:`multipleOf`,value:e,message:l$.toString(t)})}get minValue(){let e=null;for(let t of this._def.checks)t.kind===`min`&&(e===null||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(let t of this._def.checks)t.kind===`max`&&(e===null||t.value<e)&&(e=t.value);return e}};V$.create=e=>new V$({checks:[],typeName:T1.ZodBigInt,coerce:e?.coerce??!1,...f$(e)});var H$=class extends p${_parse(e){if(this._def.coerce&&(e.data=!!e.data),this._getType(e)!==qQ.boolean){let t=this._getOrReturnCtx(e);return e$(t,{code:X.invalid_type,expected:qQ.boolean,received:t.parsedType}),n$}return i$(e.data)}};H$.create=e=>new H$({typeName:T1.ZodBoolean,coerce:e?.coerce||!1,...f$(e)});var U$=class e extends p${_parse(e){if(this._def.coerce&&(e.data=new Date(e.data)),this._getType(e)!==qQ.date){let t=this._getOrReturnCtx(e);return e$(t,{code:X.invalid_type,expected:qQ.date,received:t.parsedType}),n$}if(Number.isNaN(e.data.getTime()))return e$(this._getOrReturnCtx(e),{code:X.invalid_date}),n$;let t=new t$,n;for(let r of this._def.checks)r.kind===`min`?e.data.getTime()<r.value&&(n=this._getOrReturnCtx(e,n),e$(n,{code:X.too_small,message:r.message,inclusive:!0,exact:!1,minimum:r.value,type:`date`}),t.dirty()):r.kind===`max`?e.data.getTime()>r.value&&(n=this._getOrReturnCtx(e,n),e$(n,{code:X.too_big,message:r.message,inclusive:!0,exact:!1,maximum:r.value,type:`date`}),t.dirty()):GQ.assertNever(r);return{status:t.value,value:new Date(e.data.getTime())}}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}min(e,t){return this._addCheck({kind:`min`,value:e.getTime(),message:l$.toString(t)})}max(e,t){return this._addCheck({kind:`max`,value:e.getTime(),message:l$.toString(t)})}get minDate(){let e=null;for(let t of this._def.checks)t.kind===`min`&&(e===null||t.value>e)&&(e=t.value);return e==null?null:new Date(e)}get maxDate(){let e=null;for(let t of this._def.checks)t.kind===`max`&&(e===null||t.value<e)&&(e=t.value);return e==null?null:new Date(e)}};U$.create=e=>new U$({checks:[],coerce:e?.coerce||!1,typeName:T1.ZodDate,...f$(e)});var W$=class extends p${_parse(e){if(this._getType(e)!==qQ.symbol){let t=this._getOrReturnCtx(e);return e$(t,{code:X.invalid_type,expected:qQ.symbol,received:t.parsedType}),n$}return i$(e.data)}};W$.create=e=>new W$({typeName:T1.ZodSymbol,...f$(e)});var G$=class extends p${_parse(e){if(this._getType(e)!==qQ.undefined){let t=this._getOrReturnCtx(e);return e$(t,{code:X.invalid_type,expected:qQ.undefined,received:t.parsedType}),n$}return i$(e.data)}};G$.create=e=>new G$({typeName:T1.ZodUndefined,...f$(e)});var K$=class extends p${_parse(e){if(this._getType(e)!==qQ.null){let t=this._getOrReturnCtx(e);return e$(t,{code:X.invalid_type,expected:qQ.null,received:t.parsedType}),n$}return i$(e.data)}};K$.create=e=>new K$({typeName:T1.ZodNull,...f$(e)});var q$=class extends p${constructor(){super(...arguments),this._any=!0}_parse(e){return i$(e.data)}};q$.create=e=>new q$({typeName:T1.ZodAny,...f$(e)});var J$=class extends p${constructor(){super(...arguments),this._unknown=!0}_parse(e){return i$(e.data)}};J$.create=e=>new J$({typeName:T1.ZodUnknown,...f$(e)});var Y$=class extends p${_parse(e){let t=this._getOrReturnCtx(e);return e$(t,{code:X.invalid_type,expected:qQ.never,received:t.parsedType}),n$}};Y$.create=e=>new Y$({typeName:T1.ZodNever,...f$(e)});var X$=class extends p${_parse(e){if(this._getType(e)!==qQ.undefined){let t=this._getOrReturnCtx(e);return e$(t,{code:X.invalid_type,expected:qQ.void,received:t.parsedType}),n$}return i$(e.data)}};X$.create=e=>new X$({typeName:T1.ZodVoid,...f$(e)});var Z$=class e extends p${_parse(e){let{ctx:t,status:n}=this._processInputParams(e),r=this._def;if(t.parsedType!==qQ.array)return e$(t,{code:X.invalid_type,expected:qQ.array,received:t.parsedType}),n$;if(r.exactLength!==null){let e=t.data.length>r.exactLength.value,i=t.data.length<r.exactLength.value;(e||i)&&(e$(t,{code:e?X.too_big:X.too_small,minimum:i?r.exactLength.value:void 0,maximum:e?r.exactLength.value:void 0,type:`array`,inclusive:!0,exact:!0,message:r.exactLength.message}),n.dirty())}if(r.minLength!==null&&t.data.length<r.minLength.value&&(e$(t,{code:X.too_small,minimum:r.minLength.value,type:`array`,inclusive:!0,exact:!1,message:r.minLength.message}),n.dirty()),r.maxLength!==null&&t.data.length>r.maxLength.value&&(e$(t,{code:X.too_big,maximum:r.maxLength.value,type:`array`,inclusive:!0,exact:!1,message:r.maxLength.message}),n.dirty()),t.common.async)return Promise.all([...t.data].map((e,n)=>r.type._parseAsync(new u$(t,e,t.path,n)))).then(e=>t$.mergeArray(n,e));let i=[...t.data].map((e,n)=>r.type._parseSync(new u$(t,e,t.path,n)));return t$.mergeArray(n,i)}get element(){return this._def.type}min(t,n){return new e({...this._def,minLength:{value:t,message:l$.toString(n)}})}max(t,n){return new e({...this._def,maxLength:{value:t,message:l$.toString(n)}})}length(t,n){return new e({...this._def,exactLength:{value:t,message:l$.toString(n)}})}nonempty(e){return this.min(1,e)}};Z$.create=(e,t)=>new Z$({type:e,minLength:null,maxLength:null,exactLength:null,typeName:T1.ZodArray,...f$(t)});function Q$(e){if(e instanceof $$){let t={};for(let n in e.shape){let r=e.shape[n];t[n]=_1.create(Q$(r))}return new $$({...e._def,shape:()=>t})}return e instanceof Z$?new Z$({...e._def,type:Q$(e.element)}):e instanceof _1?_1.create(Q$(e.unwrap())):e instanceof v1?v1.create(Q$(e.unwrap())):e instanceof a1?a1.create(e.items.map(e=>Q$(e))):e}var $$=class e extends p${constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let e=this._def.shape(),t=GQ.objectKeys(e);return this._cached={shape:e,keys:t},this._cached}_parse(e){if(this._getType(e)!==qQ.object){let t=this._getOrReturnCtx(e);return e$(t,{code:X.invalid_type,expected:qQ.object,received:t.parsedType}),n$}let{status:t,ctx:n}=this._processInputParams(e),{shape:r,keys:i}=this._getCached(),a=[];if(!(this._def.catchall instanceof Y$&&this._def.unknownKeys===`strip`))for(let e in n.data)i.includes(e)||a.push(e);let o=[];for(let e of i){let t=r[e],i=n.data[e];o.push({key:{status:`valid`,value:e},value:t._parse(new u$(n,i,n.path,e)),alwaysSet:e in n.data})}if(this._def.catchall instanceof Y$){let e=this._def.unknownKeys;if(e===`passthrough`)for(let e of a)o.push({key:{status:`valid`,value:e},value:{status:`valid`,value:n.data[e]}});else if(e===`strict`)a.length>0&&(e$(n,{code:X.unrecognized_keys,keys:a}),t.dirty());else if(e!==`strip`)throw Error(`Internal ZodObject error: invalid unknownKeys value.`)}else{let e=this._def.catchall;for(let t of a){let r=n.data[t];o.push({key:{status:`valid`,value:t},value:e._parse(new u$(n,r,n.path,t)),alwaysSet:t in n.data})}}return n.common.async?Promise.resolve().then(async()=>{let e=[];for(let t of o){let n=await t.key,r=await t.value;e.push({key:n,value:r,alwaysSet:t.alwaysSet})}return e}).then(e=>t$.mergeObjectSync(t,e)):t$.mergeObjectSync(t,o)}get shape(){return this._def.shape()}strict(t){return l$.errToObj,new e({...this._def,unknownKeys:`strict`,...t===void 0?{}:{errorMap:(e,n)=>{let r=this._def.errorMap?.(e,n).message??n.defaultError;return e.code===`unrecognized_keys`?{message:l$.errToObj(t).message??r}:{message:r}}}})}strip(){return new e({...this._def,unknownKeys:`strip`})}passthrough(){return new e({...this._def,unknownKeys:`passthrough`})}extend(t){return new e({...this._def,shape:()=>({...this._def.shape(),...t})})}merge(t){return new e({unknownKeys:t._def.unknownKeys,catchall:t._def.catchall,shape:()=>({...this._def.shape(),...t._def.shape()}),typeName:T1.ZodObject})}setKey(e,t){return this.augment({[e]:t})}catchall(t){return new e({...this._def,catchall:t})}pick(t){let n={};for(let e of GQ.objectKeys(t))t[e]&&this.shape[e]&&(n[e]=this.shape[e]);return new e({...this._def,shape:()=>n})}omit(t){let n={};for(let e of GQ.objectKeys(this.shape))t[e]||(n[e]=this.shape[e]);return new e({...this._def,shape:()=>n})}deepPartial(){return Q$(this)}partial(t){let n={};for(let e of GQ.objectKeys(this.shape)){let r=this.shape[e];n[e]=t&&!t[e]?r:r.optional()}return new e({...this._def,shape:()=>n})}required(t){let n={};for(let e of GQ.objectKeys(this.shape))if(t&&!t[e])n[e]=this.shape[e];else{let t=this.shape[e];for(;t instanceof _1;)t=t._def.innerType;n[e]=t}return new e({...this._def,shape:()=>n})}keyof(){return f1(GQ.objectKeys(this.shape))}};$$.create=(e,t)=>new $$({shape:()=>e,unknownKeys:`strip`,catchall:Y$.create(),typeName:T1.ZodObject,...f$(t)}),$$.strictCreate=(e,t)=>new $$({shape:()=>e,unknownKeys:`strict`,catchall:Y$.create(),typeName:T1.ZodObject,...f$(t)}),$$.lazycreate=(e,t)=>new $$({shape:e,unknownKeys:`strip`,catchall:Y$.create(),typeName:T1.ZodObject,...f$(t)});var e1=class extends p${_parse(e){let{ctx:t}=this._processInputParams(e),n=this._def.options;function r(e){for(let t of e)if(t.result.status===`valid`)return t.result;for(let n of e)if(n.result.status===`dirty`)return t.common.issues.push(...n.ctx.common.issues),n.result;let n=e.map(e=>new YQ(e.ctx.common.issues));return e$(t,{code:X.invalid_union,unionErrors:n}),n$}if(t.common.async)return Promise.all(n.map(async e=>{let n={...t,common:{...t.common,issues:[]},parent:null};return{result:await e._parseAsync({data:t.data,path:t.path,parent:n}),ctx:n}})).then(r);{let e,r=[];for(let i of n){let n={...t,common:{...t.common,issues:[]},parent:null},a=i._parseSync({data:t.data,path:t.path,parent:n});if(a.status===`valid`)return a;a.status===`dirty`&&!e&&(e={result:a,ctx:n}),n.common.issues.length&&r.push(n.common.issues)}if(e)return t.common.issues.push(...e.ctx.common.issues),e.result;let i=r.map(e=>new YQ(e));return e$(t,{code:X.invalid_union,unionErrors:i}),n$}}get options(){return this._def.options}};e1.create=(e,t)=>new e1({options:e,typeName:T1.ZodUnion,...f$(t)});var t1=e=>e instanceof u1?t1(e.schema):e instanceof g1?t1(e.innerType()):e instanceof d1?[e.value]:e instanceof p1?e.options:e instanceof m1?GQ.objectValues(e.enum):e instanceof y1?t1(e._def.innerType):e instanceof G$?[void 0]:e instanceof K$?[null]:e instanceof _1?[void 0,...t1(e.unwrap())]:e instanceof v1?[null,...t1(e.unwrap())]:e instanceof S1||e instanceof w1?t1(e.unwrap()):e instanceof b1?t1(e._def.innerType):[],n1=class e extends p${_parse(e){let{ctx:t}=this._processInputParams(e);if(t.parsedType!==qQ.object)return e$(t,{code:X.invalid_type,expected:qQ.object,received:t.parsedType}),n$;let n=this.discriminator,r=t.data[n],i=this.optionsMap.get(r);return i?t.common.async?i._parseAsync({data:t.data,path:t.path,parent:t}):i._parseSync({data:t.data,path:t.path,parent:t}):(e$(t,{code:X.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[n]}),n$)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(t,n,r){let i=new Map;for(let e of n){let n=t1(e.shape[t]);if(!n.length)throw Error(`A discriminator value for key \`${t}\` could not be extracted from all schema options`);for(let r of n){if(i.has(r))throw Error(`Discriminator property ${String(t)} has duplicate value ${String(r)}`);i.set(r,e)}}return new e({typeName:T1.ZodDiscriminatedUnion,discriminator:t,options:n,optionsMap:i,...f$(r)})}};function r1(e,t){let n=JQ(e),r=JQ(t);if(e===t)return{valid:!0,data:e};if(n===qQ.object&&r===qQ.object){let n=GQ.objectKeys(t),r=GQ.objectKeys(e).filter(e=>n.indexOf(e)!==-1),i={...e,...t};for(let n of r){let r=r1(e[n],t[n]);if(!r.valid)return{valid:!1};i[n]=r.data}return{valid:!0,data:i}}if(n===qQ.array&&r===qQ.array){if(e.length!==t.length)return{valid:!1};let n=[];for(let r=0;r<e.length;r++){let i=e[r],a=t[r],o=r1(i,a);if(!o.valid)return{valid:!1};n.push(o.data)}return{valid:!0,data:n}}return n===qQ.date&&r===qQ.date&&+e==+t?{valid:!0,data:e}:{valid:!1}}var i1=class extends p${_parse(e){let{status:t,ctx:n}=this._processInputParams(e),r=(e,r)=>{if(a$(e)||a$(r))return n$;let i=r1(e.value,r.value);return i.valid?((o$(e)||o$(r))&&t.dirty(),{status:t.value,value:i.data}):(e$(n,{code:X.invalid_intersection_types}),n$)};return n.common.async?Promise.all([this._def.left._parseAsync({data:n.data,path:n.path,parent:n}),this._def.right._parseAsync({data:n.data,path:n.path,parent:n})]).then(([e,t])=>r(e,t)):r(this._def.left._parseSync({data:n.data,path:n.path,parent:n}),this._def.right._parseSync({data:n.data,path:n.path,parent:n}))}};i1.create=(e,t,n)=>new i1({left:e,right:t,typeName:T1.ZodIntersection,...f$(n)});var a1=class e extends p${_parse(e){let{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==qQ.array)return e$(n,{code:X.invalid_type,expected:qQ.array,received:n.parsedType}),n$;if(n.data.length<this._def.items.length)return e$(n,{code:X.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:`array`}),n$;!this._def.rest&&n.data.length>this._def.items.length&&(e$(n,{code:X.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:`array`}),t.dirty());let r=[...n.data].map((e,t)=>{let r=this._def.items[t]||this._def.rest;return r?r._parse(new u$(n,e,n.path,t)):null}).filter(e=>!!e);return n.common.async?Promise.all(r).then(e=>t$.mergeArray(t,e)):t$.mergeArray(t,r)}get items(){return this._def.items}rest(t){return new e({...this._def,rest:t})}};a1.create=(e,t)=>{if(!Array.isArray(e))throw Error(`You must pass an array of schemas to z.tuple([ ... ])`);return new a1({items:e,typeName:T1.ZodTuple,rest:null,...f$(t)})};var o1=class e extends p${get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==qQ.object)return e$(n,{code:X.invalid_type,expected:qQ.object,received:n.parsedType}),n$;let r=[],i=this._def.keyType,a=this._def.valueType;for(let e in n.data)r.push({key:i._parse(new u$(n,e,n.path,e)),value:a._parse(new u$(n,n.data[e],n.path,e)),alwaysSet:e in n.data});return n.common.async?t$.mergeObjectAsync(t,r):t$.mergeObjectSync(t,r)}get element(){return this._def.valueType}static create(t,n,r){return n instanceof p$?new e({keyType:t,valueType:n,typeName:T1.ZodRecord,...f$(r)}):new e({keyType:R$.create(),valueType:t,typeName:T1.ZodRecord,...f$(n)})}},s1=class extends p${get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==qQ.map)return e$(n,{code:X.invalid_type,expected:qQ.map,received:n.parsedType}),n$;let r=this._def.keyType,i=this._def.valueType,a=[...n.data.entries()].map(([e,t],a)=>({key:r._parse(new u$(n,e,n.path,[a,`key`])),value:i._parse(new u$(n,t,n.path,[a,`value`]))}));if(n.common.async){let e=new Map;return Promise.resolve().then(async()=>{for(let n of a){let r=await n.key,i=await n.value;if(r.status===`aborted`||i.status===`aborted`)return n$;(r.status===`dirty`||i.status===`dirty`)&&t.dirty(),e.set(r.value,i.value)}return{status:t.value,value:e}})}{let e=new Map;for(let n of a){let r=n.key,i=n.value;if(r.status===`aborted`||i.status===`aborted`)return n$;(r.status===`dirty`||i.status===`dirty`)&&t.dirty(),e.set(r.value,i.value)}return{status:t.value,value:e}}}};s1.create=(e,t,n)=>new s1({valueType:t,keyType:e,typeName:T1.ZodMap,...f$(n)});var c1=class e extends p${_parse(e){let{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==qQ.set)return e$(n,{code:X.invalid_type,expected:qQ.set,received:n.parsedType}),n$;let r=this._def;r.minSize!==null&&n.data.size<r.minSize.value&&(e$(n,{code:X.too_small,minimum:r.minSize.value,type:`set`,inclusive:!0,exact:!1,message:r.minSize.message}),t.dirty()),r.maxSize!==null&&n.data.size>r.maxSize.value&&(e$(n,{code:X.too_big,maximum:r.maxSize.value,type:`set`,inclusive:!0,exact:!1,message:r.maxSize.message}),t.dirty());let i=this._def.valueType;function a(e){let n=new Set;for(let r of e){if(r.status===`aborted`)return n$;r.status===`dirty`&&t.dirty(),n.add(r.value)}return{status:t.value,value:n}}let o=[...n.data.values()].map((e,t)=>i._parse(new u$(n,e,n.path,t)));return n.common.async?Promise.all(o).then(e=>a(e)):a(o)}min(t,n){return new e({...this._def,minSize:{value:t,message:l$.toString(n)}})}max(t,n){return new e({...this._def,maxSize:{value:t,message:l$.toString(n)}})}size(e,t){return this.min(e,t).max(e,t)}nonempty(e){return this.min(1,e)}};c1.create=(e,t)=>new c1({valueType:e,minSize:null,maxSize:null,typeName:T1.ZodSet,...f$(t)});var l1=class e extends p${constructor(){super(...arguments),this.validate=this.implement}_parse(e){let{ctx:t}=this._processInputParams(e);if(t.parsedType!==qQ.function)return e$(t,{code:X.invalid_type,expected:qQ.function,received:t.parsedType}),n$;function n(e,n){return $Q({data:e,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,QQ(),XQ].filter(e=>!!e),issueData:{code:X.invalid_arguments,argumentsError:n}})}function r(e,n){return $Q({data:e,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,QQ(),XQ].filter(e=>!!e),issueData:{code:X.invalid_return_type,returnTypeError:n}})}let i={errorMap:t.common.contextualErrorMap},a=t.data;if(this._def.returns instanceof h1){let e=this;return i$(async function(...t){let o=new YQ([]),s=await e._def.args.parseAsync(t,i).catch(e=>{throw o.addIssue(n(t,e)),o}),c=await Reflect.apply(a,this,s);return await e._def.returns._def.type.parseAsync(c,i).catch(e=>{throw o.addIssue(r(c,e)),o})})}{let e=this;return i$(function(...t){let o=e._def.args.safeParse(t,i);if(!o.success)throw new YQ([n(t,o.error)]);let s=Reflect.apply(a,this,o.data),c=e._def.returns.safeParse(s,i);if(!c.success)throw new YQ([r(s,c.error)]);return c.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...t){return new e({...this._def,args:a1.create(t).rest(J$.create())})}returns(t){return new e({...this._def,returns:t})}implement(e){return this.parse(e)}strictImplement(e){return this.parse(e)}static create(t,n,r){return new e({args:t||a1.create([]).rest(J$.create()),returns:n||J$.create(),typeName:T1.ZodFunction,...f$(r)})}},u1=class extends p${get schema(){return this._def.getter()}_parse(e){let{ctx:t}=this._processInputParams(e);return this._def.getter()._parse({data:t.data,path:t.path,parent:t})}};u1.create=(e,t)=>new u1({getter:e,typeName:T1.ZodLazy,...f$(t)});var d1=class extends p${_parse(e){if(e.data!==this._def.value){let t=this._getOrReturnCtx(e);return e$(t,{received:t.data,code:X.invalid_literal,expected:this._def.value}),n$}return{status:`valid`,value:e.data}}get value(){return this._def.value}};d1.create=(e,t)=>new d1({value:e,typeName:T1.ZodLiteral,...f$(t)});function f1(e,t){return new p1({values:e,typeName:T1.ZodEnum,...f$(t)})}var p1=class e extends p${_parse(e){if(typeof e.data!=`string`){let t=this._getOrReturnCtx(e),n=this._def.values;return e$(t,{expected:GQ.joinValues(n),received:t.parsedType,code:X.invalid_type}),n$}if(this._cache||=new Set(this._def.values),!this._cache.has(e.data)){let t=this._getOrReturnCtx(e),n=this._def.values;return e$(t,{received:t.data,code:X.invalid_enum_value,options:n}),n$}return i$(e.data)}get options(){return this._def.values}get enum(){let e={};for(let t of this._def.values)e[t]=t;return e}get Values(){let e={};for(let t of this._def.values)e[t]=t;return e}get Enum(){let e={};for(let t of this._def.values)e[t]=t;return e}extract(t,n=this._def){return e.create(t,{...this._def,...n})}exclude(t,n=this._def){return e.create(this.options.filter(e=>!t.includes(e)),{...this._def,...n})}};p1.create=f1;var m1=class extends p${_parse(e){let t=GQ.getValidEnumValues(this._def.values),n=this._getOrReturnCtx(e);if(n.parsedType!==qQ.string&&n.parsedType!==qQ.number){let e=GQ.objectValues(t);return e$(n,{expected:GQ.joinValues(e),received:n.parsedType,code:X.invalid_type}),n$}if(this._cache||=new Set(GQ.getValidEnumValues(this._def.values)),!this._cache.has(e.data)){let e=GQ.objectValues(t);return e$(n,{received:n.data,code:X.invalid_enum_value,options:e}),n$}return i$(e.data)}get enum(){return this._def.values}};m1.create=(e,t)=>new m1({values:e,typeName:T1.ZodNativeEnum,...f$(t)});var h1=class extends p${unwrap(){return this._def.type}_parse(e){let{ctx:t}=this._processInputParams(e);return t.parsedType!==qQ.promise&&t.common.async===!1?(e$(t,{code:X.invalid_type,expected:qQ.promise,received:t.parsedType}),n$):i$((t.parsedType===qQ.promise?t.data:Promise.resolve(t.data)).then(e=>this._def.type.parseAsync(e,{path:t.path,errorMap:t.common.contextualErrorMap})))}};h1.create=(e,t)=>new h1({type:e,typeName:T1.ZodPromise,...f$(t)});var g1=class extends p${innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===T1.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){let{status:t,ctx:n}=this._processInputParams(e),r=this._def.effect||null,i={addIssue:e=>{e$(n,e),e.fatal?t.abort():t.dirty()},get path(){return n.path}};if(i.addIssue=i.addIssue.bind(i),r.type===`preprocess`){let e=r.transform(n.data,i);if(n.common.async)return Promise.resolve(e).then(async e=>{if(t.value===`aborted`)return n$;let r=await this._def.schema._parseAsync({data:e,path:n.path,parent:n});return r.status===`aborted`?n$:r.status===`dirty`||t.value===`dirty`?r$(r.value):r});{if(t.value===`aborted`)return n$;let r=this._def.schema._parseSync({data:e,path:n.path,parent:n});return r.status===`aborted`?n$:r.status===`dirty`||t.value===`dirty`?r$(r.value):r}}if(r.type===`refinement`){let e=e=>{let t=r.refinement(e,i);if(n.common.async)return Promise.resolve(t);if(t instanceof Promise)throw Error(`Async refinement encountered during synchronous parse operation. Use .parseAsync instead.`);return e};if(n.common.async===!1){let r=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});return r.status===`aborted`?n$:(r.status===`dirty`&&t.dirty(),e(r.value),{status:t.value,value:r.value})}return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(n=>n.status===`aborted`?n$:(n.status===`dirty`&&t.dirty(),e(n.value).then(()=>({status:t.value,value:n.value}))))}if(r.type===`transform`){if(n.common.async===!1){let e=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});if(!s$(e))return n$;let a=r.transform(e.value,i);if(a instanceof Promise)throw Error(`Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.`);return{status:t.value,value:a}}return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(e=>s$(e)?Promise.resolve(r.transform(e.value,i)).then(e=>({status:t.value,value:e})):n$)}GQ.assertNever(r)}};g1.create=(e,t,n)=>new g1({schema:e,typeName:T1.ZodEffects,effect:t,...f$(n)}),g1.createWithPreprocess=(e,t,n)=>new g1({schema:t,effect:{type:`preprocess`,transform:e},typeName:T1.ZodEffects,...f$(n)});var _1=class extends p${_parse(e){return this._getType(e)===qQ.undefined?i$(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};_1.create=(e,t)=>new _1({innerType:e,typeName:T1.ZodOptional,...f$(t)});var v1=class extends p${_parse(e){return this._getType(e)===qQ.null?i$(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};v1.create=(e,t)=>new v1({innerType:e,typeName:T1.ZodNullable,...f$(t)});var y1=class extends p${_parse(e){let{ctx:t}=this._processInputParams(e),n=t.data;return t.parsedType===qQ.undefined&&(n=this._def.defaultValue()),this._def.innerType._parse({data:n,path:t.path,parent:t})}removeDefault(){return this._def.innerType}};y1.create=(e,t)=>new y1({innerType:e,typeName:T1.ZodDefault,defaultValue:typeof t.default==`function`?t.default:()=>t.default,...f$(t)});var b1=class extends p${_parse(e){let{ctx:t}=this._processInputParams(e),n={...t,common:{...t.common,issues:[]}},r=this._def.innerType._parse({data:n.data,path:n.path,parent:{...n}});return c$(r)?r.then(e=>({status:`valid`,value:e.status===`valid`?e.value:this._def.catchValue({get error(){return new YQ(n.common.issues)},input:n.data})})):{status:`valid`,value:r.status===`valid`?r.value:this._def.catchValue({get error(){return new YQ(n.common.issues)},input:n.data})}}removeCatch(){return this._def.innerType}};b1.create=(e,t)=>new b1({innerType:e,typeName:T1.ZodCatch,catchValue:typeof t.catch==`function`?t.catch:()=>t.catch,...f$(t)});var x1=class extends p${_parse(e){if(this._getType(e)!==qQ.nan){let t=this._getOrReturnCtx(e);return e$(t,{code:X.invalid_type,expected:qQ.nan,received:t.parsedType}),n$}return{status:`valid`,value:e.data}}};x1.create=e=>new x1({typeName:T1.ZodNaN,...f$(e)});var S1=class extends p${_parse(e){let{ctx:t}=this._processInputParams(e),n=t.data;return this._def.type._parse({data:n,path:t.path,parent:t})}unwrap(){return this._def.type}},C1=class e extends p${_parse(e){let{status:t,ctx:n}=this._processInputParams(e);if(n.common.async)return(async()=>{let e=await this._def.in._parseAsync({data:n.data,path:n.path,parent:n});return e.status===`aborted`?n$:e.status===`dirty`?(t.dirty(),r$(e.value)):this._def.out._parseAsync({data:e.value,path:n.path,parent:n})})();{let e=this._def.in._parseSync({data:n.data,path:n.path,parent:n});return e.status===`aborted`?n$:e.status===`dirty`?(t.dirty(),{status:`dirty`,value:e.value}):this._def.out._parseSync({data:e.value,path:n.path,parent:n})}}static create(t,n){return new e({in:t,out:n,typeName:T1.ZodPipeline})}},w1=class extends p${_parse(e){let t=this._def.innerType._parse(e),n=e=>(s$(e)&&(e.value=Object.freeze(e.value)),e);return c$(t)?t.then(e=>n(e)):n(t)}unwrap(){return this._def.innerType}};w1.create=(e,t)=>new w1({innerType:e,typeName:T1.ZodReadonly,...f$(t)}),$$.lazycreate;var T1;(function(e){e.ZodString=`ZodString`,e.ZodNumber=`ZodNumber`,e.ZodNaN=`ZodNaN`,e.ZodBigInt=`ZodBigInt`,e.ZodBoolean=`ZodBoolean`,e.ZodDate=`ZodDate`,e.ZodSymbol=`ZodSymbol`,e.ZodUndefined=`ZodUndefined`,e.ZodNull=`ZodNull`,e.ZodAny=`ZodAny`,e.ZodUnknown=`ZodUnknown`,e.ZodNever=`ZodNever`,e.ZodVoid=`ZodVoid`,e.ZodArray=`ZodArray`,e.ZodObject=`ZodObject`,e.ZodUnion=`ZodUnion`,e.ZodDiscriminatedUnion=`ZodDiscriminatedUnion`,e.ZodIntersection=`ZodIntersection`,e.ZodTuple=`ZodTuple`,e.ZodRecord=`ZodRecord`,e.ZodMap=`ZodMap`,e.ZodSet=`ZodSet`,e.ZodFunction=`ZodFunction`,e.ZodLazy=`ZodLazy`,e.ZodLiteral=`ZodLiteral`,e.ZodEnum=`ZodEnum`,e.ZodEffects=`ZodEffects`,e.ZodNativeEnum=`ZodNativeEnum`,e.ZodOptional=`ZodOptional`,e.ZodNullable=`ZodNullable`,e.ZodDefault=`ZodDefault`,e.ZodCatch=`ZodCatch`,e.ZodPromise=`ZodPromise`,e.ZodBranded=`ZodBranded`,e.ZodPipeline=`ZodPipeline`,e.ZodReadonly=`ZodReadonly`})(T1||={});var Z=R$.create,E1=B$.create;x1.create,V$.create;var D1=H$.create;U$.create,W$.create,G$.create,K$.create;var O1=q$.create,k1=J$.create;Y$.create,X$.create;var A1=Z$.create,j1=$$.create;$$.strictCreate;var M1=e1.create,N1=n1.create;i1.create,a1.create;var P1=o1.create;s1.create,c1.create,l1.create,u1.create;var F1=d1.create,I1=p1.create,L1=m1.create;h1.create,g1.create,_1.create,v1.create,g1.createWithPreprocess,C1.create;var R1=j1({name:Z(),arguments:Z()}),z1=j1({id:Z(),type:F1(`function`),function:R1,encryptedValue:Z().optional()}),B1=j1({id:Z(),role:Z(),content:Z().optional(),name:Z().optional(),encryptedValue:Z().optional()}),V1=j1({type:F1(`text`),text:Z()}),H1=N1(`type`,[j1({type:F1(`data`),value:Z(),mimeType:Z()}),j1({type:F1(`url`),value:Z(),mimeType:Z().optional()})]),U1=j1({type:F1(`image`),source:H1,metadata:k1().optional()}),W1=j1({type:F1(`audio`),source:H1,metadata:k1().optional()}),G1=j1({type:F1(`video`),source:H1,metadata:k1().optional()}),K1=j1({type:F1(`document`),source:H1,metadata:k1().optional()}),q1=j1({type:F1(`binary`),mimeType:Z(),id:Z().optional(),url:Z().optional(),data:Z().optional(),filename:Z().optional()}),J1=(e,t)=>{!e.id&&!e.url&&!e.data&&t.addIssue({code:X.custom,message:`BinaryInputContent requires at least one of id, url, or data.`,path:[`id`]})};q1.superRefine((e,t)=>{J1(e,t)});var Y1=N1(`type`,[V1,U1,W1,G1,K1,q1]).superRefine((e,t)=>{e.type===`binary`&&J1(e,t)}),X1=N1(`role`,[B1.extend({role:F1(`developer`),content:Z()}),B1.extend({role:F1(`system`),content:Z()}),B1.extend({role:F1(`assistant`),content:Z().optional(),toolCalls:A1(z1).optional()}),B1.extend({role:F1(`user`),content:M1([Z(),A1(Y1)])}),j1({id:Z(),content:Z(),role:F1(`tool`),toolCallId:Z(),error:Z().optional(),encryptedValue:Z().optional()}),j1({id:Z(),role:F1(`activity`),activityType:Z(),content:P1(O1())}),j1({id:Z(),role:F1(`reasoning`),content:Z(),encryptedValue:Z().optional()})]);M1([F1(`developer`),F1(`system`),F1(`assistant`),F1(`user`),F1(`tool`),F1(`activity`),F1(`reasoning`)]);var Z1=j1({description:Z(),value:Z()}),Q1=j1({name:Z(),description:Z(),parameters:O1(),metadata:P1(O1()).optional()}),$1=j1({id:Z(),reason:Z(),message:Z().optional(),toolCallId:Z().optional(),responseSchema:P1(O1()).optional(),expiresAt:Z().optional(),metadata:P1(O1()).optional()}),e0=j1({interruptId:Z(),status:I1([`resolved`,`cancelled`]),payload:O1().optional()}),t0=j1({threadId:Z(),runId:Z(),parentRunId:Z().optional(),state:O1(),messages:A1(X1),tools:A1(Q1),context:A1(Z1),forwardedProps:O1(),resume:A1(e0).optional()}),n0=O1(),r0=class extends Error{constructor(e){super(e)}},i0=class extends r0{constructor(){super(`Connect not implemented. This method is not supported by the current agent.`)}},a0=j1({name:Z(),description:Z().optional()}),o0=j1({name:Z().optional(),type:Z().optional(),description:Z().optional(),version:Z().optional(),provider:Z().optional(),documentationUrl:Z().optional(),metadata:P1(k1()).optional()}),s0=j1({streaming:D1().optional(),websocket:D1().optional(),httpBinary:D1().optional(),pushNotifications:D1().optional(),resumable:D1().optional()}),c0=j1({supported:D1().optional(),items:A1(Q1).optional(),parallelCalls:D1().optional(),clientProvided:D1().optional()}),l0=j1({structuredOutput:D1().optional(),supportedMimeTypes:A1(Z()).optional()}),u0=j1({snapshots:D1().optional(),deltas:D1().optional(),memory:D1().optional(),persistentState:D1().optional()}),d0=j1({supported:D1().optional(),delegation:D1().optional(),handoffs:D1().optional(),subAgents:A1(a0).optional()}),f0=j1({supported:D1().optional(),streaming:D1().optional(),encrypted:D1().optional()}),p0=j1({image:D1().optional(),audio:D1().optional(),video:D1().optional(),pdf:D1().optional(),file:D1().optional()}),m0=j1({image:D1().optional(),audio:D1().optional()}),h0=j1({input:p0.optional(),output:m0.optional()}),g0=j1({codeExecution:D1().optional(),sandboxed:D1().optional(),maxIterations:E1().optional(),maxExecutionTime:E1().optional()}),_0=j1({supported:D1().optional(),approvals:D1().optional(),interventions:D1().optional(),feedback:D1().optional(),interrupts:D1().optional(),approveWithEdits:D1().optional()});j1({identity:o0.optional(),transport:s0.optional(),tools:c0.optional(),output:l0.optional(),state:u0.optional(),multiAgent:d0.optional(),reasoning:f0.optional(),multimodal:h0.optional(),execution:g0.optional(),humanInTheLoop:_0.optional(),custom:P1(k1()).optional()});var v0=M1([F1(`developer`),F1(`system`),F1(`assistant`),F1(`user`)]),Q=function(e){return e.TEXT_MESSAGE_START=`TEXT_MESSAGE_START`,e.TEXT_MESSAGE_CONTENT=`TEXT_MESSAGE_CONTENT`,e.TEXT_MESSAGE_END=`TEXT_MESSAGE_END`,e.TEXT_MESSAGE_CHUNK=`TEXT_MESSAGE_CHUNK`,e.TOOL_CALL_START=`TOOL_CALL_START`,e.TOOL_CALL_ARGS=`TOOL_CALL_ARGS`,e.TOOL_CALL_END=`TOOL_CALL_END`,e.TOOL_CALL_CHUNK=`TOOL_CALL_CHUNK`,e.TOOL_CALL_RESULT=`TOOL_CALL_RESULT`,e.THINKING_START=`THINKING_START`,e.THINKING_END=`THINKING_END`,e.THINKING_TEXT_MESSAGE_START=`THINKING_TEXT_MESSAGE_START`,e.THINKING_TEXT_MESSAGE_CONTENT=`THINKING_TEXT_MESSAGE_CONTENT`,e.THINKING_TEXT_MESSAGE_END=`THINKING_TEXT_MESSAGE_END`,e.STATE_SNAPSHOT=`STATE_SNAPSHOT`,e.STATE_DELTA=`STATE_DELTA`,e.MESSAGES_SNAPSHOT=`MESSAGES_SNAPSHOT`,e.ACTIVITY_SNAPSHOT=`ACTIVITY_SNAPSHOT`,e.ACTIVITY_DELTA=`ACTIVITY_DELTA`,e.RAW=`RAW`,e.CUSTOM=`CUSTOM`,e.RUN_STARTED=`RUN_STARTED`,e.RUN_FINISHED=`RUN_FINISHED`,e.RUN_ERROR=`RUN_ERROR`,e.STEP_STARTED=`STEP_STARTED`,e.STEP_FINISHED=`STEP_FINISHED`,e.REASONING_START=`REASONING_START`,e.REASONING_MESSAGE_START=`REASONING_MESSAGE_START`,e.REASONING_MESSAGE_CONTENT=`REASONING_MESSAGE_CONTENT`,e.REASONING_MESSAGE_END=`REASONING_MESSAGE_END`,e.REASONING_MESSAGE_CHUNK=`REASONING_MESSAGE_CHUNK`,e.REASONING_END=`REASONING_END`,e.REASONING_ENCRYPTED_VALUE=`REASONING_ENCRYPTED_VALUE`,e}({}),y0=j1({type:L1(Q),timestamp:E1().optional(),rawEvent:O1().optional()}).passthrough(),b0=y0.extend({type:F1(Q.TEXT_MESSAGE_START),messageId:Z(),role:v0.default(`assistant`),name:Z().optional()}),x0=y0.extend({type:F1(Q.TEXT_MESSAGE_CONTENT),messageId:Z(),delta:Z()}),S0=y0.extend({type:F1(Q.TEXT_MESSAGE_END),messageId:Z()}),C0=y0.extend({type:F1(Q.TEXT_MESSAGE_CHUNK),messageId:Z().optional(),role:v0.optional(),delta:Z().optional(),name:Z().optional()}),w0=y0.extend({type:F1(Q.THINKING_TEXT_MESSAGE_START)}),T0=x0.omit({messageId:!0,type:!0}).extend({type:F1(Q.THINKING_TEXT_MESSAGE_CONTENT)}),E0=y0.extend({type:F1(Q.THINKING_TEXT_MESSAGE_END)}),D0=y0.extend({type:F1(Q.TOOL_CALL_START),toolCallId:Z(),toolCallName:Z(),parentMessageId:Z().optional()}),O0=y0.extend({type:F1(Q.TOOL_CALL_ARGS),toolCallId:Z(),delta:Z()}),k0=y0.extend({type:F1(Q.TOOL_CALL_END),toolCallId:Z()}),A0=y0.extend({messageId:Z(),type:F1(Q.TOOL_CALL_RESULT),toolCallId:Z(),content:Z(),role:F1(`tool`).optional()}),j0=y0.extend({type:F1(Q.TOOL_CALL_CHUNK),toolCallId:Z().optional(),toolCallName:Z().optional(),parentMessageId:Z().optional(),delta:Z().optional()}),M0=y0.extend({type:F1(Q.THINKING_START),title:Z().optional()}),N0=y0.extend({type:F1(Q.THINKING_END)}),P0=y0.extend({type:F1(Q.STATE_SNAPSHOT),snapshot:n0}),F0=y0.extend({type:F1(Q.STATE_DELTA),delta:A1(O1())}),I0=y0.extend({type:F1(Q.MESSAGES_SNAPSHOT),messages:A1(X1)}),L0=y0.extend({type:F1(Q.ACTIVITY_SNAPSHOT),messageId:Z(),activityType:Z(),content:P1(O1()),replace:D1().optional().default(!0)}),R0=y0.extend({type:F1(Q.ACTIVITY_DELTA),messageId:Z(),activityType:Z(),patch:A1(O1())}),z0=y0.extend({type:F1(Q.RAW),event:O1(),source:Z().optional()}),B0=y0.extend({type:F1(Q.CUSTOM),name:Z(),value:O1()}),V0=y0.extend({type:F1(Q.RUN_STARTED),threadId:Z(),runId:Z(),parentRunId:Z().optional(),input:t0.optional()}),H0=N1(`type`,[j1({type:F1(`success`)}).strict(),j1({type:F1(`interrupt`),interrupts:A1($1).min(1)}).strict()]),U0=y0.extend({type:F1(Q.RUN_FINISHED),threadId:Z(),runId:Z(),result:O1().optional(),outcome:H0.nullable().optional().transform(e=>e??void 0)}),W0=y0.extend({type:F1(Q.RUN_ERROR),message:Z(),code:Z().optional()}),G0=y0.extend({type:F1(Q.STEP_STARTED),stepName:Z()}),K0=y0.extend({type:F1(Q.STEP_FINISHED),stepName:Z()}),q0=M1([F1(`tool-call`),F1(`message`)]),J0=N1(`type`,[b0,x0,S0,C0,M0,N0,w0,T0,E0,D0,O0,k0,j0,A0,P0,F0,I0,L0,R0,z0,B0,V0,U0,W0,G0,K0,y0.extend({type:F1(Q.REASONING_START),messageId:Z()}),y0.extend({type:F1(Q.REASONING_MESSAGE_START),messageId:Z(),role:F1(`reasoning`)}),y0.extend({type:F1(Q.REASONING_MESSAGE_CONTENT),messageId:Z(),delta:Z()}),y0.extend({type:F1(Q.REASONING_MESSAGE_END),messageId:Z()}),y0.extend({type:F1(Q.REASONING_MESSAGE_CHUNK),messageId:Z().optional(),delta:Z().optional()}),y0.extend({type:F1(Q.REASONING_END),messageId:Z()}),y0.extend({type:F1(Q.REASONING_ENCRYPTED_VALUE),subtype:q0,entityId:Z(),encryptedValue:Z()})]),Y0=(function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])},e(t,n)};return function(t,n){e(t,n);function r(){this.constructor=t}t.prototype=n===null?Object.create(n):(r.prototype=n.prototype,new r)}})(),X0=Object.prototype.hasOwnProperty;function Z0(e,t){return X0.call(e,t)}function Q0(e){if(Array.isArray(e)){for(var t=Array(e.length),n=0;n<t.length;n++)t[n]=``+n;return t}if(Object.keys)return Object.keys(e);var r=[];for(var i in e)Z0(e,i)&&r.push(i);return r}function $0(e){switch(typeof e){case`object`:return JSON.parse(JSON.stringify(e));case`undefined`:return null;default:return e}}function e2(e){for(var t=0,n=e.length,r;t<n;){if(r=e.charCodeAt(t),r>=48&&r<=57){t++;continue}return!1}return!0}function t2(e){return e.indexOf(`/`)===-1&&e.indexOf(`~`)===-1?e:e.replace(/~/g,`~0`).replace(/\//g,`~1`)}function n2(e){return e.replace(/~1/g,`/`).replace(/~0/g,`~`)}function r2(e){if(e===void 0)return!0;if(e){if(Array.isArray(e)){for(var t=0,n=e.length;t<n;t++)if(r2(e[t]))return!0}else if(typeof e==`object`){for(var r=Q0(e),i=r.length,a=0;a<i;a++)if(r2(e[r[a]]))return!0}}return!1}function i2(e,t){var n=[e];for(var r in t){var i=typeof t[r]==`object`?JSON.stringify(t[r],null,2):t[r];i!==void 0&&n.push(r+`: `+i)}return n.join(`
|
|
249
|
+
`)}var a2=function(e){Y0(t,e);function t(t,n,r,i,a){var o=this.constructor,s=e.call(this,i2(t,{name:n,index:r,operation:i,tree:a}))||this;return s.name=n,s.index=r,s.operation=i,s.tree=a,Object.setPrototypeOf(s,o.prototype),s.message=i2(t,{name:n,index:r,operation:i,tree:a}),s}return t}(Error),o2=e({JsonPatchError:()=>s2,_areEquals:()=>_2,applyOperation:()=>f2,applyPatch:()=>p2,applyReducer:()=>m2,deepClone:()=>c2,getValueByPointer:()=>d2,validate:()=>g2,validator:()=>h2}),s2=a2,c2=$0,l2={add:function(e,t,n){return e[t]=this.value,{newDocument:n}},remove:function(e,t,n){var r=e[t];return delete e[t],{newDocument:n,removed:r}},replace:function(e,t,n){var r=e[t];return e[t]=this.value,{newDocument:n,removed:r}},move:function(e,t,n){var r=d2(n,this.path);r&&=$0(r);var i=f2(n,{op:`remove`,path:this.from}).removed;return f2(n,{op:`add`,path:this.path,value:i}),{newDocument:n,removed:r}},copy:function(e,t,n){var r=d2(n,this.from);return f2(n,{op:`add`,path:this.path,value:$0(r)}),{newDocument:n}},test:function(e,t,n){return{newDocument:n,test:_2(e[t],this.value)}},_get:function(e,t,n){return this.value=e[t],{newDocument:n}}},u2={add:function(e,t,n){return e2(t)?e.splice(t,0,this.value):e[t]=this.value,{newDocument:n,index:t}},remove:function(e,t,n){return{newDocument:n,removed:e.splice(t,1)[0]}},replace:function(e,t,n){var r=e[t];return e[t]=this.value,{newDocument:n,removed:r}},move:l2.move,copy:l2.copy,test:l2.test,_get:l2._get};function d2(e,t){if(t==``)return e;var n={op:`_get`,path:t};return f2(e,n),n.value}function f2(e,t,n,r,i,a){if(n===void 0&&(n=!1),r===void 0&&(r=!0),i===void 0&&(i=!0),a===void 0&&(a=0),n&&(typeof n==`function`?n(t,0,e,t.path):h2(t,0)),t.path===``){var o={newDocument:e};if(t.op===`add`)return o.newDocument=t.value,o;if(t.op===`replace`)return o.newDocument=t.value,o.removed=e,o;if(t.op===`move`||t.op===`copy`)return o.newDocument=d2(e,t.from),t.op===`move`&&(o.removed=e),o;if(t.op===`test`){if(o.test=_2(e,t.value),o.test===!1)throw new s2(`Test operation failed`,`TEST_OPERATION_FAILED`,a,t,e);return o.newDocument=e,o}if(t.op===`remove`)return o.removed=e,o.newDocument=null,o;if(t.op===`_get`)return t.value=e,o;if(n)throw new s2("Operation `op` property is not one of operations defined in RFC-6902",`OPERATION_OP_INVALID`,a,t,e);return o}r||(e=$0(e));var s=(t.path||``).split(`/`),c=e,l=1,u=s.length,d=void 0,f=void 0,p=void 0;for(p=typeof n==`function`?n:h2;;){if(f=s[l],f&&f.indexOf(`~`)!=-1&&(f=n2(f)),i&&(f==`__proto__`||f==`prototype`&&l>0&&s[l-1]==`constructor`))throw TypeError("JSON-Patch: modifying `__proto__` or `constructor/prototype` prop is banned for security reasons, if this was on purpose, please set `banPrototypeModifications` flag false and pass it to this function. More info in fast-json-patch README");if(n&&d===void 0&&(c[f]===void 0?d=s.slice(0,l).join(`/`):l==u-1&&(d=t.path),d!==void 0&&p(t,0,e,d)),l++,Array.isArray(c)){if(f===`-`)f=c.length;else if(n&&!e2(f))throw new s2(`Expected an unsigned base-10 integer value, making the new referenced value the array element with the zero-based index`,`OPERATION_PATH_ILLEGAL_ARRAY_INDEX`,a,t,e);else e2(f)&&(f=~~f);if(l>=u){if(n&&t.op===`add`&&f>c.length)throw new s2(`The specified index MUST NOT be greater than the number of elements in the array`,`OPERATION_VALUE_OUT_OF_BOUNDS`,a,t,e);var o=u2[t.op].call(t,c,f,e);if(o.test===!1)throw new s2(`Test operation failed`,`TEST_OPERATION_FAILED`,a,t,e);return o}}else if(l>=u){var o=l2[t.op].call(t,c,f,e);if(o.test===!1)throw new s2(`Test operation failed`,`TEST_OPERATION_FAILED`,a,t,e);return o}if(c=c[f],n&&l<u&&(!c||typeof c!=`object`))throw new s2(`Cannot perform operation at the desired path`,`OPERATION_PATH_UNRESOLVABLE`,a,t,e)}}function p2(e,t,n,r,i){if(r===void 0&&(r=!0),i===void 0&&(i=!0),n&&!Array.isArray(t))throw new s2(`Patch sequence must be an array`,`SEQUENCE_NOT_AN_ARRAY`);r||(e=$0(e));for(var a=Array(t.length),o=0,s=t.length;o<s;o++)a[o]=f2(e,t[o],n,!0,i,o),e=a[o].newDocument;return a.newDocument=e,a}function m2(e,t,n){var r=f2(e,t);if(r.test===!1)throw new s2(`Test operation failed`,`TEST_OPERATION_FAILED`,n,t,e);return r.newDocument}function h2(e,t,n,r){if(typeof e!=`object`||!e||Array.isArray(e))throw new s2(`Operation is not an object`,`OPERATION_NOT_AN_OBJECT`,t,e,n);if(!l2[e.op])throw new s2("Operation `op` property is not one of operations defined in RFC-6902",`OPERATION_OP_INVALID`,t,e,n);if(typeof e.path!=`string`)throw new s2("Operation `path` property is not a string",`OPERATION_PATH_INVALID`,t,e,n);if(e.path.indexOf(`/`)!==0&&e.path.length>0)throw new s2('Operation `path` property must start with "/"',`OPERATION_PATH_INVALID`,t,e,n);if((e.op===`move`||e.op===`copy`)&&typeof e.from!=`string`)throw new s2("Operation `from` property is not present (applicable in `move` and `copy` operations)",`OPERATION_FROM_REQUIRED`,t,e,n);if((e.op===`add`||e.op===`replace`||e.op===`test`)&&e.value===void 0)throw new s2("Operation `value` property is not present (applicable in `add`, `replace` and `test` operations)",`OPERATION_VALUE_REQUIRED`,t,e,n);if((e.op===`add`||e.op===`replace`||e.op===`test`)&&r2(e.value))throw new s2("Operation `value` property is not present (applicable in `add`, `replace` and `test` operations)",`OPERATION_VALUE_CANNOT_CONTAIN_UNDEFINED`,t,e,n);if(n){if(e.op==`add`){var i=e.path.split(`/`).length,a=r.split(`/`).length;if(i!==a+1&&i!==a)throw new s2("Cannot perform an `add` operation at the desired path",`OPERATION_PATH_CANNOT_ADD`,t,e,n)}else if(e.op===`replace`||e.op===`remove`||e.op===`_get`){if(e.path!==r)throw new s2(`Cannot perform the operation at a path that does not exist`,`OPERATION_PATH_UNRESOLVABLE`,t,e,n)}else if(e.op===`move`||e.op===`copy`){var o=g2([{op:`_get`,path:e.from,value:void 0}],n);if(o&&o.name===`OPERATION_PATH_UNRESOLVABLE`)throw new s2(`Cannot perform the operation from a path that does not exist`,`OPERATION_FROM_UNRESOLVABLE`,t,e,n)}}}function g2(e,t,n){try{if(!Array.isArray(e))throw new s2(`Patch sequence must be an array`,`SEQUENCE_NOT_AN_ARRAY`);if(t)p2($0(t),$0(e),n||!0);else{n||=h2;for(var r=0;r<e.length;r++)n(e[r],r,t,void 0)}}catch(e){if(e instanceof s2)return e;throw e}}function _2(e,t){if(e===t)return!0;if(e&&t&&typeof e==`object`&&typeof t==`object`){var n=Array.isArray(e),r=Array.isArray(t),i,a,o;if(n&&r){if(a=e.length,a!=t.length)return!1;for(i=a;i--!==0;)if(!_2(e[i],t[i]))return!1;return!0}if(n!=r)return!1;var s=Object.keys(e);if(a=s.length,a!==Object.keys(t).length)return!1;for(i=a;i--!==0;)if(!t.hasOwnProperty(s[i]))return!1;for(i=a;i--!==0;)if(o=s[i],!_2(e[o],t[o]))return!1;return!0}return e!==e&&t!==t}var v2=e({compare:()=>k2,generate:()=>D2,observe:()=>E2,unobserve:()=>T2}),y2=new WeakMap,b2=function(){function e(e){this.observers=new Map,this.obj=e}return e}(),x2=function(){function e(e,t){this.callback=e,this.observer=t}return e}();function S2(e){return y2.get(e)}function C2(e,t){return e.observers.get(t)}function w2(e,t){e.observers.delete(t.callback)}function T2(e,t){t.unobserve()}function E2(e,t){var n=[],r,i=S2(e);if(!i)i=new b2(e),y2.set(e,i);else{var a=C2(i,t);r=a&&a.observer}if(r)return r;if(r={},i.value=$0(e),t){r.callback=t,r.next=null;var o=function(){D2(r)},s=function(){clearTimeout(r.next),r.next=setTimeout(o)};typeof window<`u`&&(window.addEventListener(`mouseup`,s),window.addEventListener(`keyup`,s),window.addEventListener(`mousedown`,s),window.addEventListener(`keydown`,s),window.addEventListener(`change`,s))}return r.patches=n,r.object=e,r.unobserve=function(){D2(r),clearTimeout(r.next),w2(i,r),typeof window<`u`&&(window.removeEventListener(`mouseup`,s),window.removeEventListener(`keyup`,s),window.removeEventListener(`mousedown`,s),window.removeEventListener(`keydown`,s),window.removeEventListener(`change`,s))},i.observers.set(t,new x2(t,r)),r}function D2(e,t){t===void 0&&(t=!1);var n=y2.get(e.object);O2(n.value,e.object,e.patches,``,t),e.patches.length&&p2(n.value,e.patches);var r=e.patches;return r.length>0&&(e.patches=[],e.callback&&e.callback(r)),r}function O2(e,t,n,r,i){if(t!==e){typeof t.toJSON==`function`&&(t=t.toJSON());for(var a=Q0(t),o=Q0(e),s=!1,c=o.length-1;c>=0;c--){var l=o[c],u=e[l];if(Z0(t,l)&&(t[l]!==void 0||u===void 0||Array.isArray(t)!==!1)){var d=t[l];typeof u==`object`&&u&&typeof d==`object`&&d&&Array.isArray(u)===Array.isArray(d)?O2(u,d,n,r+`/`+t2(l),i):u!==d&&(i&&n.push({op:`test`,path:r+`/`+t2(l),value:$0(u)}),n.push({op:`replace`,path:r+`/`+t2(l),value:$0(d)}))}else Array.isArray(e)===Array.isArray(t)?(i&&n.push({op:`test`,path:r+`/`+t2(l),value:$0(u)}),n.push({op:`remove`,path:r+`/`+t2(l)}),s=!0):(i&&n.push({op:`test`,path:r,value:e}),n.push({op:`replace`,path:r,value:t}))}if(!(!s&&a.length==o.length))for(var c=0;c<a.length;c++){var l=a[c];!Z0(e,l)&&t[l]!==void 0&&n.push({op:`add`,path:r+`/`+t2(l),value:$0(t[l])})}}}function k2(e,t,n){n===void 0&&(n=!1);var r=[];return O2(e,t,r,``,n),r}var A2=Object.assign({},o2,v2,{JsonPatchError:a2,deepClone:$0,escapePathComponent:t2,unescapePathComponent:n2});function j2(e){return typeof e==`function`}function M2(e){var t=e(function(e){Error.call(e),e.stack=Error().stack});return t.prototype=Object.create(Error.prototype),t.prototype.constructor=t,t}var N2=M2(function(e){return function(t){e(this),this.message=t?t.length+` errors occurred during unsubscription:
|
|
250
|
+
`+t.map(function(e,t){return t+1+`) `+e.toString()}).join(`
|
|
251
|
+
`):``,this.name=`UnsubscriptionError`,this.errors=t}});function P2(e,t){if(e){var n=e.indexOf(t);0<=n&&e.splice(n,1)}}var F2=function(){function e(e){this.initialTeardown=e,this.closed=!1,this._parentage=null,this._finalizers=null}return e.prototype.unsubscribe=function(){var e,t,n,r,i;if(!this.closed){this.closed=!0;var a=this._parentage;if(a){if(this._parentage=null,Array.isArray(a))try{for(var o=jg(a),s=o.next();!s.done;s=o.next())s.value.remove(this)}catch(t){e={error:t}}finally{try{s&&!s.done&&(t=o.return)&&t.call(o)}finally{if(e)throw e.error}}else a.remove(this)}var c=this.initialTeardown;if(j2(c))try{c()}catch(e){i=e instanceof N2?e.errors:[e]}var l=this._finalizers;if(l){this._finalizers=null;try{for(var u=jg(l),d=u.next();!d.done;d=u.next()){var f=d.value;try{R2(f)}catch(e){i??=[],e instanceof N2?i=Ng(Ng([],Mg(i)),Mg(e.errors)):i.push(e)}}}catch(e){n={error:e}}finally{try{d&&!d.done&&(r=u.return)&&r.call(u)}finally{if(n)throw n.error}}}if(i)throw new N2(i)}},e.prototype.add=function(t){if(t&&t!==this){if(this.closed)R2(t);else{if(t instanceof e){if(t.closed||t._hasParent(this))return;t._addParent(this)}(this._finalizers=this._finalizers??[]).push(t)}}},e.prototype._hasParent=function(e){var t=this._parentage;return t===e||Array.isArray(t)&&t.includes(e)},e.prototype._addParent=function(e){var t=this._parentage;this._parentage=Array.isArray(t)?(t.push(e),t):t?[t,e]:e},e.prototype._removeParent=function(e){var t=this._parentage;t===e?this._parentage=null:Array.isArray(t)&&P2(t,e)},e.prototype.remove=function(t){var n=this._finalizers;n&&P2(n,t),t instanceof e&&t._removeParent(this)},e.EMPTY=(function(){var t=new e;return t.closed=!0,t})(),e}(),I2=F2.EMPTY;function L2(e){return e instanceof F2||e&&`closed`in e&&j2(e.remove)&&j2(e.add)&&j2(e.unsubscribe)}function R2(e){j2(e)?e():e.unsubscribe()}var z2={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1},B2={setTimeout:function(e,t){var n=[...arguments].slice(2),r=B2.delegate;return r?.setTimeout?r.setTimeout.apply(r,Ng([e,t],Mg(n))):setTimeout.apply(void 0,Ng([e,t],Mg(n)))},clearTimeout:function(e){return(B2.delegate?.clearTimeout||clearTimeout)(e)},delegate:void 0};function V2(e){B2.setTimeout(function(){var t=z2.onUnhandledError;if(t)t(e);else throw e})}function H2(){}var U2=(function(){return K2(`C`,void 0,void 0)})();function W2(e){return K2(`E`,void 0,e)}function G2(e){return K2(`N`,e,void 0)}function K2(e,t,n){return{kind:e,value:t,error:n}}var q2=null;function J2(e){if(z2.useDeprecatedSynchronousErrorHandling){var t=!q2;if(t&&(q2={errorThrown:!1,error:null}),e(),t){var n=q2,r=n.errorThrown,i=n.error;if(q2=null,r)throw i}}else e()}function Y2(e){z2.useDeprecatedSynchronousErrorHandling&&q2&&(q2.errorThrown=!0,q2.error=e)}var X2=function(e){Eg(t,e);function t(t){var n=e.call(this)||this;return n.isStopped=!1,t?(n.destination=t,L2(t)&&t.add(n)):n.destination=i4,n}return t.create=function(e,t,n){return new e4(e,t,n)},t.prototype.next=function(e){this.isStopped?r4(G2(e),this):this._next(e)},t.prototype.error=function(e){this.isStopped?r4(W2(e),this):(this.isStopped=!0,this._error(e))},t.prototype.complete=function(){this.isStopped?r4(U2,this):(this.isStopped=!0,this._complete())},t.prototype.unsubscribe=function(){this.closed||(this.isStopped=!0,e.prototype.unsubscribe.call(this),this.destination=null)},t.prototype._next=function(e){this.destination.next(e)},t.prototype._error=function(e){try{this.destination.error(e)}finally{this.unsubscribe()}},t.prototype._complete=function(){try{this.destination.complete()}finally{this.unsubscribe()}},t}(F2),Z2=Function.prototype.bind;function Q2(e,t){return Z2.call(e,t)}var $2=function(){function e(e){this.partialObserver=e}return e.prototype.next=function(e){var t=this.partialObserver;if(t.next)try{t.next(e)}catch(e){t4(e)}},e.prototype.error=function(e){var t=this.partialObserver;if(t.error)try{t.error(e)}catch(e){t4(e)}else t4(e)},e.prototype.complete=function(){var e=this.partialObserver;if(e.complete)try{e.complete()}catch(e){t4(e)}},e}(),e4=function(e){Eg(t,e);function t(t,n,r){var i=e.call(this)||this,a;if(j2(t)||!t)a={next:t??void 0,error:n??void 0,complete:r??void 0};else{var o;i&&z2.useDeprecatedNextContext?(o=Object.create(t),o.unsubscribe=function(){return i.unsubscribe()},a={next:t.next&&Q2(t.next,o),error:t.error&&Q2(t.error,o),complete:t.complete&&Q2(t.complete,o)}):a=t}return i.destination=new $2(a),i}return t}(X2);function t4(e){z2.useDeprecatedSynchronousErrorHandling?Y2(e):V2(e)}function n4(e){throw e}function r4(e,t){var n=z2.onStoppedNotification;n&&B2.setTimeout(function(){return n(e,t)})}var i4={closed:!0,next:H2,error:n4,complete:H2},a4=(function(){return typeof Symbol==`function`&&Symbol.observable||`@@observable`})();function o4(e){return e}function s4(){return c4([...arguments])}function c4(e){return e.length===0?o4:e.length===1?e[0]:function(t){return e.reduce(function(e,t){return t(e)},t)}}var l4=function(){function e(e){e&&(this._subscribe=e)}return e.prototype.lift=function(t){var n=new e;return n.source=this,n.operator=t,n},e.prototype.subscribe=function(e,t,n){var r=this,i=f4(e)?e:new e4(e,t,n);return J2(function(){var e=r,t=e.operator,n=e.source;i.add(t?t.call(i,n):n?r._subscribe(i):r._trySubscribe(i))}),i},e.prototype._trySubscribe=function(e){try{return this._subscribe(e)}catch(t){e.error(t)}},e.prototype.forEach=function(e,t){var n=this;return t=u4(t),new t(function(t,r){var i=new e4({next:function(t){try{e(t)}catch(e){r(e),i.unsubscribe()}},error:r,complete:t});n.subscribe(i)})},e.prototype._subscribe=function(e){return this.source?.subscribe(e)},e.prototype[a4]=function(){return this},e.prototype.pipe=function(){return c4([...arguments])(this)},e.prototype.toPromise=function(e){var t=this;return e=u4(e),new e(function(e,n){var r;t.subscribe(function(e){return r=e},function(e){return n(e)},function(){return e(r)})})},e.create=function(t){return new e(t)},e}();function u4(e){return e??z2.Promise??Promise}function d4(e){return e&&j2(e.next)&&j2(e.error)&&j2(e.complete)}function f4(e){return e&&e instanceof X2||d4(e)&&L2(e)}function p4(e){return j2(e?.lift)}function m4(e){return function(t){if(p4(t))return t.lift(function(t){try{return e(t,this)}catch(e){this.error(e)}});throw TypeError(`Unable to lift unknown Observable type`)}}function h4(e,t,n,r,i){return new g4(e,t,n,r,i)}var g4=function(e){Eg(t,e);function t(t,n,r,i,a,o){var s=e.call(this,t)||this;return s.onFinalize=a,s.shouldUnsubscribe=o,s._next=n?function(e){try{n(e)}catch(e){t.error(e)}}:e.prototype._next,s._error=i?function(e){try{i(e)}catch(e){t.error(e)}finally{this.unsubscribe()}}:e.prototype._error,s._complete=r?function(){try{r()}catch(e){t.error(e)}finally{this.unsubscribe()}}:e.prototype._complete,s}return t.prototype.unsubscribe=function(){var t;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){var n=this.closed;e.prototype.unsubscribe.call(this),!n&&((t=this.onFinalize)==null||t.call(this))}},t}(X2),_4=M2(function(e){return function(){e(this),this.name=`ObjectUnsubscribedError`,this.message=`object unsubscribed`}}),v4=function(e){Eg(t,e);function t(){var t=e.call(this)||this;return t.closed=!1,t.currentObservers=null,t.observers=[],t.isStopped=!1,t.hasError=!1,t.thrownError=null,t}return t.prototype.lift=function(e){var t=new y4(this,this);return t.operator=e,t},t.prototype._throwIfClosed=function(){if(this.closed)throw new _4},t.prototype.next=function(e){var t=this;J2(function(){var n,r;if(t._throwIfClosed(),!t.isStopped){t.currentObservers||=Array.from(t.observers);try{for(var i=jg(t.currentObservers),a=i.next();!a.done;a=i.next())a.value.next(e)}catch(e){n={error:e}}finally{try{a&&!a.done&&(r=i.return)&&r.call(i)}finally{if(n)throw n.error}}}})},t.prototype.error=function(e){var t=this;J2(function(){if(t._throwIfClosed(),!t.isStopped){t.hasError=t.isStopped=!0,t.thrownError=e;for(var n=t.observers;n.length;)n.shift().error(e)}})},t.prototype.complete=function(){var e=this;J2(function(){if(e._throwIfClosed(),!e.isStopped){e.isStopped=!0;for(var t=e.observers;t.length;)t.shift().complete()}})},t.prototype.unsubscribe=function(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null},Object.defineProperty(t.prototype,"observed",{get:function(){return this.observers?.length>0},enumerable:!1,configurable:!0}),t.prototype._trySubscribe=function(t){return this._throwIfClosed(),e.prototype._trySubscribe.call(this,t)},t.prototype._subscribe=function(e){return this._throwIfClosed(),this._checkFinalizedStatuses(e),this._innerSubscribe(e)},t.prototype._innerSubscribe=function(e){var t=this,n=this,r=n.hasError,i=n.isStopped,a=n.observers;return r||i?I2:(this.currentObservers=null,a.push(e),new F2(function(){t.currentObservers=null,P2(a,e)}))},t.prototype._checkFinalizedStatuses=function(e){var t=this,n=t.hasError,r=t.thrownError,i=t.isStopped;n?e.error(r):i&&e.complete()},t.prototype.asObservable=function(){var e=new l4;return e.source=this,e},t.create=function(e,t){return new y4(e,t)},t}(l4),y4=function(e){Eg(t,e);function t(t,n){var r=e.call(this)||this;return r.destination=t,r.source=n,r}return t.prototype.next=function(e){var t,n;(n=(t=this.destination)?.next)==null||n.call(t,e)},t.prototype.error=function(e){var t,n;(n=(t=this.destination)?.error)==null||n.call(t,e)},t.prototype.complete=function(){var e,t;(t=(e=this.destination)?.complete)==null||t.call(e)},t.prototype._subscribe=function(e){return this.source?.subscribe(e)??I2},t}(v4),b4={now:function(){return(b4.delegate||Date).now()},delegate:void 0},x4=function(e){Eg(t,e);function t(t,n,r){t===void 0&&(t=1/0),n===void 0&&(n=1/0),r===void 0&&(r=b4);var i=e.call(this)||this;return i._bufferSize=t,i._windowTime=n,i._timestampProvider=r,i._buffer=[],i._infiniteTimeWindow=!0,i._infiniteTimeWindow=n===1/0,i._bufferSize=Math.max(1,t),i._windowTime=Math.max(1,n),i}return t.prototype.next=function(t){var n=this,r=n.isStopped,i=n._buffer,a=n._infiniteTimeWindow,o=n._timestampProvider,s=n._windowTime;r||(i.push(t),!a&&i.push(o.now()+s)),this._trimBuffer(),e.prototype.next.call(this,t)},t.prototype._subscribe=function(e){this._throwIfClosed(),this._trimBuffer();for(var t=this._innerSubscribe(e),n=this,r=n._infiniteTimeWindow,i=n._buffer.slice(),a=0;a<i.length&&!e.closed;a+=r?1:2)e.next(i[a]);return this._checkFinalizedStatuses(e),t},t.prototype._trimBuffer=function(){var e=this,t=e._bufferSize,n=e._timestampProvider,r=e._buffer,i=e._infiniteTimeWindow,a=(i?1:2)*t;if(t<1/0&&a<r.length&&r.splice(0,r.length-a),!i){for(var o=n.now(),s=0,c=1;c<r.length&&r[c]<=o;c+=2)s=c;s&&r.splice(0,s+1)}},t}(v4),S4=new l4(function(e){return e.complete()});function C4(e){return e&&j2(e.schedule)}function w4(e){return e[e.length-1]}function T4(e){return C4(w4(e))?e.pop():void 0}var E4=(function(e){return e&&typeof e.length==`number`&&typeof e!=`function`});function D4(e){return j2(e?.then)}function O4(e){return j2(e[a4])}function k4(e){return Symbol.asyncIterator&&j2(e?.[Symbol.asyncIterator])}function A4(e){return TypeError(`You provided `+(typeof e==`object`&&e?`an invalid object`:`'`+e+`'`)+` where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.`)}function j4(){return typeof Symbol!=`function`||!Symbol.iterator?`@@iterator`:Symbol.iterator}var M4=j4();function N4(e){return j2(e?.[M4])}function P4(e){return Fg(this,arguments,function(){var t,n,r,i;return Ag(this,function(a){switch(a.label){case 0:t=e.getReader(),a.label=1;case 1:a.trys.push([1,,9,10]),a.label=2;case 2:return[4,Pg(t.read())];case 3:return n=a.sent(),r=n.value,i=n.done,i?[4,Pg(void 0)]:[3,5];case 4:return[2,a.sent()];case 5:return[4,Pg(r)];case 6:return[4,a.sent()];case 7:return a.sent(),[3,2];case 8:return[3,10];case 9:return t.releaseLock(),[7];case 10:return[2]}})})}function F4(e){return j2(e?.getReader)}function I4(e){if(e instanceof l4)return e;if(e!=null){if(O4(e))return L4(e);if(E4(e))return R4(e);if(D4(e))return z4(e);if(k4(e))return V4(e);if(N4(e))return B4(e);if(F4(e))return H4(e)}throw A4(e)}function L4(e){return new l4(function(t){var n=e[a4]();if(j2(n.subscribe))return n.subscribe(t);throw TypeError(`Provided object does not correctly implement Symbol.observable`)})}function R4(e){return new l4(function(t){for(var n=0;n<e.length&&!t.closed;n++)t.next(e[n]);t.complete()})}function z4(e){return new l4(function(t){e.then(function(e){t.closed||(t.next(e),t.complete())},function(e){return t.error(e)}).then(null,V2)})}function B4(e){return new l4(function(t){var n,r;try{for(var i=jg(e),a=i.next();!a.done;a=i.next()){var o=a.value;if(t.next(o),t.closed)return}}catch(e){n={error:e}}finally{try{a&&!a.done&&(r=i.return)&&r.call(i)}finally{if(n)throw n.error}}t.complete()})}function V4(e){return new l4(function(t){U4(e,t).catch(function(e){return t.error(e)})})}function H4(e){return V4(P4(e))}function U4(e,t){var n,r,i,a;return kg(this,void 0,void 0,function(){var o,s;return Ag(this,function(c){switch(c.label){case 0:c.trys.push([0,5,6,11]),n=Ig(e),c.label=1;case 1:return[4,n.next()];case 2:if(r=c.sent(),r.done)return[3,4];if(o=r.value,t.next(o),t.closed)return[2];c.label=3;case 3:return[3,1];case 4:return[3,11];case 5:return s=c.sent(),i={error:s},[3,11];case 6:return c.trys.push([6,,9,10]),r&&!r.done&&(a=n.return)?[4,a.call(n)]:[3,8];case 7:c.sent(),c.label=8;case 8:return[3,10];case 9:if(i)throw i.error;return[7];case 10:return[7];case 11:return t.complete(),[2]}})})}function W4(e,t,n,r,i){r===void 0&&(r=0),i===void 0&&(i=!1);var a=t.schedule(function(){n(),i?e.add(this.schedule(null,r)):this.unsubscribe()},r);if(e.add(a),!i)return a}function G4(e,t){return t===void 0&&(t=0),m4(function(n,r){n.subscribe(h4(r,function(n){return W4(r,e,function(){return r.next(n)},t)},function(){return W4(r,e,function(){return r.complete()},t)},function(n){return W4(r,e,function(){return r.error(n)},t)}))})}function K4(e,t){return t===void 0&&(t=0),m4(function(n,r){r.add(e.schedule(function(){return n.subscribe(r)},t))})}function q4(e,t){return I4(e).pipe(K4(t),G4(t))}function J4(e,t){return I4(e).pipe(K4(t),G4(t))}function Y4(e,t){return new l4(function(n){var r=0;return t.schedule(function(){r===e.length?n.complete():(n.next(e[r++]),n.closed||this.schedule())})})}function X4(e,t){return new l4(function(n){var r;return W4(n,t,function(){r=e[M4](),W4(n,t,function(){var e,t,i;try{e=r.next(),t=e.value,i=e.done}catch(e){n.error(e);return}i?n.complete():n.next(t)},0,!0)}),function(){return j2(r?.return)&&r.return()}})}function Z4(e,t){if(!e)throw Error(`Iterable cannot be null`);return new l4(function(n){W4(n,t,function(){var r=e[Symbol.asyncIterator]();W4(n,t,function(){r.next().then(function(e){e.done?n.complete():n.next(e.value)})},0,!0)})})}function Q4(e,t){return Z4(P4(e),t)}function $4(e,t){if(e!=null){if(O4(e))return q4(e,t);if(E4(e))return Y4(e,t);if(D4(e))return J4(e,t);if(k4(e))return Z4(e,t);if(N4(e))return X4(e,t);if(F4(e))return Q4(e,t)}throw A4(e)}function e3(e,t){return t?$4(e,t):I4(e)}function t3(){var e=[...arguments];return e3(e,T4(e))}function n3(e,t){var n=j2(e)?e:function(){return e},r=function(e){return e.error(n())};return new l4(t?function(e){return t.schedule(r,0,e)}:r)}var r3=M2(function(e){return function(){e(this),this.name=`EmptyError`,this.message=`no elements in sequence`}});function i3(e,t){var n=typeof t==`object`;return new Promise(function(r,i){var a=!1,o;e.subscribe({next:function(e){o=e,a=!0},error:i,complete:function(){a?r(o):n?r(t.defaultValue):i(new r3)}})})}function a3(e,t){return m4(function(n,r){var i=0;n.subscribe(h4(r,function(n){r.next(e.call(t,n,i++))}))})}function o3(e,t,n,r,i,a,o,s){var c=[],l=0,u=0,d=!1,f=function(){d&&!c.length&&!l&&t.complete()},p=function(e){return l<r?m(e):c.push(e)},m=function(e){a&&t.next(e),l++;var s=!1;I4(n(e,u++)).subscribe(h4(t,function(e){i?.(e),a?p(e):t.next(e)},function(){s=!0},void 0,function(){if(s)try{l--;for(var e=function(){var e=c.shift();o?W4(t,o,function(){return m(e)}):m(e)};c.length&&l<r;)e();f()}catch(e){t.error(e)}}))};return e.subscribe(h4(t,p,function(){d=!0,f()})),function(){s?.()}}function s3(e,t,n){return n===void 0&&(n=1/0),j2(t)?s3(function(n,r){return a3(function(e,i){return t(n,e,r,i)})(I4(e(n,r)))},n):(typeof t==`number`&&(n=t),m4(function(t,r){return o3(t,r,e,n)}))}function c3(e){return e===void 0&&(e=1/0),s3(o4,e)}function l3(e){return new l4(function(t){I4(e()).subscribe(t)})}function u3(e){return m4(function(t,n){var r=null,i=!1,a;r=t.subscribe(h4(n,void 0,void 0,function(o){a=I4(e(o,u3(e)(t))),r?(r.unsubscribe(),r=null,a.subscribe(n)):i=!0})),i&&(r.unsubscribe(),r=null,a.subscribe(n))})}function d3(e,t){return j2(t)?s3(e,t,1):s3(e,1)}function f3(e){return m4(function(t,n){var r=!1;t.subscribe(h4(n,function(e){r=!0,n.next(e)},function(){r||n.next(e),n.complete()}))})}function p3(e){return m4(function(t,n){try{t.subscribe(n)}finally{n.add(e)}})}function m3(e,t){return m4(function(n,r){var i=null,a=0,o=!1,s=function(){return o&&!i&&r.complete()};n.subscribe(h4(r,function(n){i?.unsubscribe();var o=0,c=a++;I4(e(n,c)).subscribe(i=h4(r,function(e){return r.next(t?t(n,e,c,o++):e)},function(){i=null,s()}))},function(){o=!0,s()}))})}function h3(e){return m4(function(t,n){I4(e).subscribe(h4(n,function(){return n.complete()},H2)),!n.closed&&t.subscribe(n)})}function g3(e,t,n){var r=j2(e)||t||n?{next:e,error:t,complete:n}:e;return r?m4(function(e,t){var n;(n=r.subscribe)==null||n.call(r);var i=!0;e.subscribe(h4(t,function(e){var n;(n=r.next)==null||n.call(r,e),t.next(e)},function(){var e;i=!1,(e=r.complete)==null||e.call(r),t.complete()},function(e){var n;i=!1,(n=r.error)==null||n.call(r,e),t.error(e)},function(){var e,t;i&&((e=r.unsubscribe)==null||e.call(r)),(t=r.finalize)==null||t.call(r)}))}):o4}function _3(e){return` \r
|
|
252
|
+
`.indexOf(e)>=0}function v3(e){for(var t=[`topLevel`],n=0,r,i,a,o=function(e){return t.push(e)},s=function(e){return t[t.length-1]=e},c=function(e){r??(r=n,i=t.length,a=e)},l=function(e){e===a&&(r=void 0,i=void 0,a=void 0)},u=function(){return t.pop()},d=function(){return n--},f=function(e){if(`0`<=e&&e<=`9`){o(`number`);return}switch(e){case`"`:o(`string`);return;case`-`:o(`numberNeedsDigit`);return;case`t`:o(`true`);return;case`f`:o(`false`);return;case`n`:o(`null`);return;case`[`:o(`arrayNeedsValue`);return;case`{`:o(`objectNeedsKey`);return}},p=e.length;n<p;n++){var m=e[n];switch(t[t.length-1]){case`topLevel`:f(m);break;case`string`:switch(m){case`"`:u();break;case`\\`:c(`stringEscape`),o(`stringEscaped`)}break;case`stringEscaped`:m===`u`?o(`stringUnicode`):(l(`stringEscape`),u());break;case`stringUnicode`:n-e.lastIndexOf(`u`,n)===4&&(l(`stringEscape`),u());break;case`number`:m===`.`?s(`numberNeedsDigit`):m===`e`||m===`E`?s(`numberNeedsExponent`):(m<`0`||m>`9`)&&(d(),u());break;case`numberNeedsDigit`:s(`number`);break;case`numberNeedsExponent`:s(m===`+`||m===`-`?`numberNeedsDigit`:`number`);break;case`true`:case`false`:case`null`:(m<`a`||m>`z`)&&(d(),u());break;case`arrayNeedsValue`:m===`]`?u():_3(m)||(l(`collectionItem`),s(`arrayNeedsComma`),f(m));break;case`arrayNeedsComma`:m===`]`?u():m===`,`&&(c(`collectionItem`),s(`arrayNeedsValue`));break;case`objectNeedsKey`:m===`}`?u():m===`"`&&(c(`collectionItem`),s(`objectNeedsColon`),o(`string`));break;case`objectNeedsColon`:m===`:`&&s(`objectNeedsValue`);break;case`objectNeedsValue`:_3(m)||(l(`collectionItem`),s(`objectNeedsComma`),f(m));break;case`objectNeedsComma`:m===`}`?u():m===`,`&&(c(`collectionItem`),s(`objectNeedsKey`))}}i!=null&&(t.length=i);for(var h=[r==null?e:e.slice(0,r)],g=function(t){return h.push(t.slice(e.length-e.lastIndexOf(t[0])))},_=t.length-1;_>=0;_--)switch(t[_]){case`string`:h.push(`"`);break;case`numberNeedsDigit`:case`numberNeedsExponent`:h.push(`0`);break;case`true`:g(`true`);break;case`false`:g(`false`);break;case`null`:g(`null`);break;case`arrayNeedsValue`:case`arrayNeedsComma`:h.push(`]`);break;case`objectNeedsKey`:case`objectNeedsColon`:case`objectNeedsValue`:case`objectNeedsComma`:h.push(`}`)}return h.join(``)}function y3(){let e=this.buf,t=this.pos,n=0,r=0;for(let i=0;i<28;i+=7){let a=e[t++];if(n|=(a&127)<<i,!(a&128)){this.pos=t,this.assertBounds(),this.varint64Lo=n,this.varint64Hi=r;return}}let i=e[t++];if(n|=(i&15)<<28,r=(i&112)>>4,!(i&128)){this.pos=t,this.assertBounds(),this.varint64Lo=n,this.varint64Hi=r;return}for(let i=3;i<=31;i+=7){let a=e[t++];if(r|=(a&127)<<i,!(a&128)){this.pos=t,this.assertBounds(),this.varint64Lo=n,this.varint64Hi=r;return}}throw Error(`invalid varint`)}var b3=4294967296;function x3(e){let t=e[0]===`-`;t&&(e=e.slice(1));let n=1e6,r=0,i=0;function a(t,a){let o=Number(e.slice(t,a));i*=n,r=r*n+o,r>=b3&&(i+=r/b3|0,r%=b3)}return a(-24,-18),a(-18,-12),a(-12,-6),a(-6),t?E3(r,i):T3(r,i)}function S3(e,t){let n=T3(e,t),r=n.hi&2147483648;r&&(n=E3(n.lo,n.hi));let i=C3(n.lo,n.hi);return r?`-`+i:i}function C3(e,t){if({lo:e,hi:t}=w3(e,t),t<=2097151)return String(b3*t+e);let n=e&16777215,r=(e>>>24|t<<8)&16777215,i=t>>16&65535,a=n+r*6777216+i*6710656,o=r+i*8147497,s=i*2,c=1e7;return a>=c&&(o+=Math.floor(a/c),a%=c),o>=c&&(s+=Math.floor(o/c),o%=c),s.toString()+D3(o)+D3(a)}function w3(e,t){return{lo:e>>>0,hi:t>>>0}}function T3(e,t){return{lo:e|0,hi:t|0}}function E3(e,t){return t=~t,e?e=~e+1:t+=1,T3(e,t)}var D3=e=>{let t=String(e);return`0000000`.slice(t.length)+t};function O3(){let e=this.buf[this.pos++];if(!(e&128))return this.assertBounds(),e;let t=e&127;if(e=this.buf[this.pos++],t|=(e&127)<<7,!(e&128)||(e=this.buf[this.pos++],t|=(e&127)<<14,!(e&128))||(e=this.buf[this.pos++],t|=(e&127)<<21,!(e&128)))return this.assertBounds(),t;e=this.buf[this.pos++],t|=(e&15)<<28;for(let t=5;e&128&&t<10;t++)e=this.buf[this.pos++];if(e&128)throw Error(`invalid varint`);return this.assertBounds(),t>>>0}var k3=A3();function A3(){let e=new DataView(new ArrayBuffer(8));if(typeof BigInt==`function`&&typeof e.getBigInt64==`function`&&typeof e.getBigUint64==`function`&&typeof e.setBigInt64==`function`&&typeof e.setBigUint64==`function`&&(globalThis.Deno||globalThis.Bun||typeof process!=`object`||{}.BUF_BIGINT_DISABLE!==`1`)){let t=BigInt(`-9223372036854775808`),n=BigInt(`9223372036854775807`),r=BigInt(`0`),i=BigInt(`18446744073709551615`);return{zero:BigInt(0),supported:!0,parse(e){let r=typeof e==`bigint`?e:BigInt(e);if(r>n||r<t)throw Error(`invalid int64: ${e}`);return r},uParse(e){let t=typeof e==`bigint`?e:BigInt(e);if(t>i||t<r)throw Error(`invalid uint64: ${e}`);return t},enc(t){return e.setBigInt64(0,this.parse(t),!0),{lo:e.getInt32(0,!0),hi:e.getInt32(4,!0)}},uEnc(t){return e.setBigInt64(0,this.uParse(t),!0),{lo:e.getInt32(0,!0),hi:e.getInt32(4,!0)}},dec(t,n){return e.setInt32(0,t,!0),e.setInt32(4,n,!0),e.getBigInt64(0,!0)},uDec(t,n){return e.setInt32(0,t,!0),e.setInt32(4,n,!0),e.getBigUint64(0,!0)}}}return{zero:`0`,supported:!1,parse(e){return typeof e!=`string`&&(e=e.toString()),j3(e),e},uParse(e){return typeof e!=`string`&&(e=e.toString()),M3(e),e},enc(e){return typeof e!=`string`&&(e=e.toString()),j3(e),x3(e)},uEnc(e){return typeof e!=`string`&&(e=e.toString()),M3(e),x3(e)},dec(e,t){return S3(e,t)},uDec(e,t){return C3(e,t)}}}function j3(e){if(!/^-?[0-9]+$/.test(e))throw Error(`invalid int64: `+e)}function M3(e){if(!/^[0-9]+$/.test(e))throw Error(`invalid uint64: `+e)}var N3=Symbol.for(`@bufbuild/protobuf/text-encoding`);function P3(e){globalThis[N3]=Object.assign(Object.assign({},e),{encodeUtf8Into:e.encodeUtf8Into??I3(e.encodeUtf8.bind(e))})}function F3(){let e=globalThis;if(!e[N3]){let t=new e.TextEncoder,n=new e.TextDecoder,r,i={encodeUtf8(e){return t.encode(e)},decodeUtf8(t,i){return i?(r||=new e.TextDecoder(`utf-8`,{fatal:!0}),r.decode(t)):n.decode(t)},checkUtf8(e){try{return!0}catch{return!1}}};t.encodeInto&&(i.encodeUtf8Into=t.encodeInto.bind(t));let a=String.prototype.isWellFormed;a&&(i.checkUtf8=e=>a.call(e)),P3(i)}return e[N3]}function I3(e){return(t,n)=>{let r=e(t);return n.set(r),{written:r.byteLength}}}var L3;(function(e){e[e.Varint=0]=`Varint`,e[e.Bit64=1]=`Bit64`,e[e.LengthDelimited=2]=`LengthDelimited`,e[e.StartGroup=3]=`StartGroup`,e[e.EndGroup=4]=`EndGroup`,e[e.Bit32=5]=`Bit32`})(L3||={});var R3=class{constructor(e){this.stackPos=[],this.encodeUtf8Into=e?I3(e):F3().encodeUtf8Into,this.buffer=V3,this.viewCache=H3,this.pos=0}ensureCapacity(e){let t=this.pos+e;if(t>this.buffer.length){let e=this.buffer.length||z3;for(;e<t;)e*=2;let n=new Uint8Array(e);this.pos>0&&n.set(this.buffer),this.buffer=n}}view(){let e=this.buffer,t=this.viewCache;if(t.byteLength===e.byteLength)return t;let n=new DataView(e.buffer);return this.viewCache=n,n}finish(){let e=this.buffer.slice(0,this.pos);return this.pos=0,this.stackPos=[],e}fork(){return this.stackPos.push(this.pos),this.ensureCapacity(B3),this.buffer[this.pos++]=0,this}join(){let e=this.stackPos.pop();if(e===void 0)throw Error(`invalid state, fork stack empty`);let t=this.pos-e-B3,n=W3(t);return n>B3&&(this.ensureCapacity(n-B3),this.buffer.copyWithin(e+n,e+B3,this.pos)),this.pos=e,this.uint32(t),this.pos+=t,this}tag(e,t){return this.uint32((e<<3|t)>>>0)}raw(e){return this.ensureCapacity(e.length),this.buffer.set(e,this.pos),this.pos+=e.length,this}uint32(e){if(q3(e),this.ensureCapacity(5),e<128)return this.buffer[this.pos++]=e,this;for(;e>127;)this.buffer[this.pos++]=e&127|128,e>>>=7;return this.buffer[this.pos++]=e,this}int32(e){if(K3(e),e>=0)return this.uint32(e);this.ensureCapacity(10);for(let t=0;t<9;t++)this.buffer[this.pos++]=e&127|128,e>>=7;return this.buffer[this.pos++]=1,this}bool(e){return this.ensureCapacity(1),this.buffer[this.pos++]=+!!e,this}bytes(e){return this.uint32(e.byteLength),this.raw(e)}string(e){typeof e!=`string`&&(e=String(e));let t=e.length;if(t<=U3){this.ensureCapacity(t+1);let n=this.buffer,r=this.pos;n[r++]=t;let i=0;for(;i<t;i++){let t=e.charCodeAt(i);if(t>127)break;n[r++]=t}if(i==t)return this.pos=r,this}this.ensureCapacity(t*3+5);let n=W3(t),r=this.buffer,i=this.pos,{written:a}=this.encodeUtf8Into(e,r.subarray(i+n)),o=W3(a);return o!=n&&r.copyWithin(i+o,i+n,i+n+a),this.uint32(a),this.pos+=a,this}float(e){return J3(e),this.ensureCapacity(4),this.view().setFloat32(this.pos,e,!0),this.pos+=4,this}double(e){return this.ensureCapacity(8),this.view().setFloat64(this.pos,e,!0),this.pos+=8,this}fixed32(e){return q3(e),this.ensureCapacity(4),this.view().setUint32(this.pos,e,!0),this.pos+=4,this}sfixed32(e){return K3(e),this.ensureCapacity(4),this.view().setInt32(this.pos,e,!0),this.pos+=4,this}sint32(e){return K3(e),this.uint32((e<<1^e>>31)>>>0)}sfixed64(e){let t=k3.enc(e);this.ensureCapacity(8);let n=this.view();return n.setInt32(this.pos,t.lo,!0),n.setInt32(this.pos+4,t.hi,!0),this.pos+=8,this}fixed64(e){let t=k3.uEnc(e);this.ensureCapacity(8);let n=this.view();return n.setInt32(this.pos,t.lo,!0),n.setInt32(this.pos+4,t.hi,!0),this.pos+=8,this}int64(e){let t=k3.enc(e);return this.writeVarint64(t.lo,t.hi)}sint64(e){let t=k3.enc(e),n=t.hi>>31,r=t.lo<<1^n,i=(t.hi<<1|t.lo>>>31)^n;return this.writeVarint64(r,i)}uint64(e){let t=k3.uEnc(e);return this.writeVarint64(t.lo,t.hi)}writeVarint64(e,t){this.ensureCapacity(10);let n=this.buffer,r=this.pos;for(let i=0;i<28;i+=7){let a=e>>>i,o=!(!(a>>>7)&&t==0);if(n[r++]=(o?a|128:a)&255,!o)return this.pos=r,this}let i=e>>>28&15|(t&7)<<4,a=!!(t>>3);if(n[r++]=(a?i|128:i)&255,!a)return this.pos=r,this;for(let e=3;e<31;e+=7){let i=t>>>e,a=!!(i>>>7);if(n[r++]=(a?i|128:i)&255,!a)return this.pos=r,this}return n[r++]=t>>>31&1,this.pos=r,this}},z3=128,B3=1,V3=new Uint8Array,H3=new DataView(V3.buffer),U3=32;function W3(e){return e<128?1:e<16384?2:e<2097152?3:e<268435456?4:5}var G3=class{constructor(e,t=F3().decodeUtf8){this.decodeUtf8=t,this.varint64Lo=0,this.varint64Hi=0,this.varint64=y3,this.uint32=O3,this.buf=e,this.len=e.length,this.pos=0,this.view=new DataView(e.buffer,e.byteOffset,e.byteLength)}tag(){let e=this.pos,t=this.uint32(),n=this.pos-e;if(n>5||n==5&&this.buf[this.pos-1]>15)throw Error(`illegal tag: varint overflows uint32`);let r=t>>>3,i=t&7;if(r<=0||i>5)throw Error(`illegal tag: field no `+r+` wire type `+i);return[r,i]}skip(e,t,n=100){let r=this.pos;switch(e){case L3.Varint:for(;this.buf[this.pos++]&128;);break;case L3.Bit64:this.pos+=4;case L3.Bit32:this.pos+=4;break;case L3.LengthDelimited:let r=this.uint32();this.pos+=r;break;case L3.StartGroup:if(n<=0)throw Error(`maximum recursion depth reached`);for(;;){let[e,r]=this.tag();if(r===L3.EndGroup){if(t!==void 0&&e!==t)throw Error(`invalid end group tag`);break}this.skip(r,e,n-1)}break;default:throw Error(`cant skip wire type `+e)}return this.assertBounds(),this.buf.subarray(r,this.pos)}assertBounds(){if(this.pos>this.len)throw RangeError(`premature EOF`)}int32(){return this.uint32()|0}sint32(){let e=this.uint32();return e>>>1^-(e&1)}int64(){return this.varint64(),k3.dec(this.varint64Lo,this.varint64Hi)}uint64(){return this.varint64(),k3.uDec(this.varint64Lo,this.varint64Hi)}sint64(){this.varint64();let e=this.varint64Lo,t=this.varint64Hi,n=-(e&1);return e=(e>>>1|(t&1)<<31)^n,t=t>>>1^n,k3.dec(e,t)}bool(){let e=this.buf[this.pos];return e<128?(this.pos++,e!==0):(this.varint64(),this.varint64Lo!==0||this.varint64Hi!==0)}fixed32(){return this.view.getUint32((this.pos+=4)-4,!0)}sfixed32(){return this.view.getInt32((this.pos+=4)-4,!0)}fixed64(){return k3.uDec(this.sfixed32(),this.sfixed32())}sfixed64(){return k3.dec(this.sfixed32(),this.sfixed32())}float(){return this.view.getFloat32((this.pos+=4)-4,!0)}double(){return this.view.getFloat64((this.pos+=8)-8,!0)}bytes(){let e=this.uint32(),t=this.pos;return this.pos+=e,this.assertBounds(),this.buf.subarray(t,t+e)}string(e){let t=this.bytes(),n=t.length;if(n<=U3){let r=Array(n);for(let i=0;i<n;i++){let n=t[i];if(n>127)return this.decodeUtf8(t,e);r[i]=n}return String.fromCharCode.apply(String,r)}return this.decodeUtf8(t,e)}};function K3(e){if(typeof e==`string`)e=Number(e);else if(typeof e!=`number`)throw Error(`invalid int32: `+typeof e);if(!Number.isInteger(e)||e>2147483647||e<-2147483648)throw Error(`invalid int32: `+e)}function q3(e){if(typeof e==`string`)e=Number(e);else if(typeof e!=`number`)throw Error(`invalid uint32: `+typeof e);if(!Number.isInteger(e)||e>4294967295||e<0)throw Error(`invalid uint32: `+e)}function J3(e){if(typeof e==`string`){let t=e;if(e=Number(e),Number.isNaN(e)&&t!==`NaN`)throw Error(`invalid float32: `+t)}else if(typeof e!=`number`)throw Error(`invalid float32: `+typeof e);if(Number.isFinite(e)&&(e>34028234663852886e22||e<-34028234663852886e22))throw Error(`invalid float32: `+e)}var Y3=function(e){return e[e.NULL_VALUE=0]=`NULL_VALUE`,e[e.UNRECOGNIZED=-1]=`UNRECOGNIZED`,e}({});function X3(){return{fields:{}}}var Z3={encode(e,t=new R3){return Object.entries(e.fields).forEach(([e,n])=>{n!==void 0&&$3.encode({key:e,value:n},t.uint32(10).fork()).join()}),t},decode(e,t){let n=e instanceof G3?e:new G3(e),r=t===void 0?n.len:n.pos+t,i=X3();for(;n.pos<r;){let e=n.uint32();switch(e>>>3){case 1:{if(e!==10)break;let t=$3.decode(n,n.uint32());t.value!==void 0&&(i.fields[t.key]=t.value);continue}}if((e&7)==4||e===0)break;n.skip(e&7)}return i},create(e){return Z3.fromPartial(e??{})},fromPartial(e){let t=X3();return t.fields=Object.entries(e.fields??{}).reduce((e,[t,n])=>(n!==void 0&&(e[t]=n),e),{}),t},wrap(e){let t=X3();if(e!==void 0)for(let n of Object.keys(e))t.fields[n]=e[n];return t},unwrap(e){let t={};if(e.fields)for(let n of Object.keys(e.fields))t[n]=e.fields[n];return t}};function Q3(){return{key:``,value:void 0}}var $3={encode(e,t=new R3){return e.key!==``&&t.uint32(10).string(e.key),e.value!==void 0&&t6.encode(t6.wrap(e.value),t.uint32(18).fork()).join(),t},decode(e,t){let n=e instanceof G3?e:new G3(e),r=t===void 0?n.len:n.pos+t,i=Q3();for(;n.pos<r;){let e=n.uint32();switch(e>>>3){case 1:if(e!==10)break;i.key=n.string();continue;case 2:if(e!==18)break;i.value=t6.unwrap(t6.decode(n,n.uint32()));continue}if((e&7)==4||e===0)break;n.skip(e&7)}return i},create(e){return $3.fromPartial(e??{})},fromPartial(e){let t=Q3();return t.key=e.key??``,t.value=e.value??void 0,t}};function e6(){return{nullValue:void 0,numberValue:void 0,stringValue:void 0,boolValue:void 0,structValue:void 0,listValue:void 0}}var t6={encode(e,t=new R3){return e.nullValue!==void 0&&t.uint32(8).int32(e.nullValue),e.numberValue!==void 0&&t.uint32(17).double(e.numberValue),e.stringValue!==void 0&&t.uint32(26).string(e.stringValue),e.boolValue!==void 0&&t.uint32(32).bool(e.boolValue),e.structValue!==void 0&&Z3.encode(Z3.wrap(e.structValue),t.uint32(42).fork()).join(),e.listValue!==void 0&&r6.encode(r6.wrap(e.listValue),t.uint32(50).fork()).join(),t},decode(e,t){let n=e instanceof G3?e:new G3(e),r=t===void 0?n.len:n.pos+t,i=e6();for(;n.pos<r;){let e=n.uint32();switch(e>>>3){case 1:if(e!==8)break;i.nullValue=n.int32();continue;case 2:if(e!==17)break;i.numberValue=n.double();continue;case 3:if(e!==26)break;i.stringValue=n.string();continue;case 4:if(e!==32)break;i.boolValue=n.bool();continue;case 5:if(e!==42)break;i.structValue=Z3.unwrap(Z3.decode(n,n.uint32()));continue;case 6:if(e!==50)break;i.listValue=r6.unwrap(r6.decode(n,n.uint32()));continue}if((e&7)==4||e===0)break;n.skip(e&7)}return i},create(e){return t6.fromPartial(e??{})},fromPartial(e){let t=e6();return t.nullValue=e.nullValue??void 0,t.numberValue=e.numberValue??void 0,t.stringValue=e.stringValue??void 0,t.boolValue=e.boolValue??void 0,t.structValue=e.structValue??void 0,t.listValue=e.listValue??void 0,t},wrap(e){let t=e6();if(e===null)t.nullValue=Y3.NULL_VALUE;else if(typeof e==`boolean`)t.boolValue=e;else if(typeof e==`number`)t.numberValue=e;else if(typeof e==`string`)t.stringValue=e;else if(globalThis.Array.isArray(e))t.listValue=e;else if(typeof e==`object`)t.structValue=e;else if(e!==void 0)throw new globalThis.Error(`Unsupported any value type: `+typeof e);return t},unwrap(e){if(e.stringValue!==void 0)return e.stringValue;if(e?.numberValue!==void 0)return e.numberValue;if(e?.boolValue!==void 0)return e.boolValue;if(e?.structValue!==void 0)return e.structValue;if(e?.listValue!==void 0)return e.listValue;if(e?.nullValue!==void 0)return null}};function n6(){return{values:[]}}var r6={encode(e,t=new R3){for(let n of e.values)t6.encode(t6.wrap(n),t.uint32(10).fork()).join();return t},decode(e,t){let n=e instanceof G3?e:new G3(e),r=t===void 0?n.len:n.pos+t,i=n6();for(;n.pos<r;){let e=n.uint32();switch(e>>>3){case 1:if(e!==10)break;i.values.push(t6.unwrap(t6.decode(n,n.uint32())));continue}if((e&7)==4||e===0)break;n.skip(e&7)}return i},create(e){return r6.fromPartial(e??{})},fromPartial(e){let t=n6();return t.values=e.values?.map(e=>e)||[],t},wrap(e){let t=n6();return t.values=e??[],t},unwrap(e){return e?.hasOwnProperty(`values`)&&globalThis.Array.isArray(e.values)?e.values:e}},i6=function(e){return e[e.ADD=0]=`ADD`,e[e.REMOVE=1]=`REMOVE`,e[e.REPLACE=2]=`REPLACE`,e[e.MOVE=3]=`MOVE`,e[e.COPY=4]=`COPY`,e[e.TEST=5]=`TEST`,e[e.UNRECOGNIZED=-1]=`UNRECOGNIZED`,e}({});function a6(){return{op:0,path:``,from:void 0,value:void 0}}var o6={encode(e,t=new R3){return e.op!==0&&t.uint32(8).int32(e.op),e.path!==``&&t.uint32(18).string(e.path),e.from!==void 0&&t.uint32(26).string(e.from),e.value!==void 0&&t6.encode(t6.wrap(e.value),t.uint32(34).fork()).join(),t},decode(e,t){let n=e instanceof G3?e:new G3(e),r=t===void 0?n.len:n.pos+t,i=a6();for(;n.pos<r;){let e=n.uint32();switch(e>>>3){case 1:if(e!==8)break;i.op=n.int32();continue;case 2:if(e!==18)break;i.path=n.string();continue;case 3:if(e!==26)break;i.from=n.string();continue;case 4:if(e!==34)break;i.value=t6.unwrap(t6.decode(n,n.uint32()));continue}if((e&7)==4||e===0)break;n.skip(e&7)}return i},create(e){return o6.fromPartial(e??{})},fromPartial(e){let t=a6();return t.op=e.op??0,t.path=e.path??``,t.from=e.from??void 0,t.value=e.value??void 0,t}};function s6(){return{id:``,type:``,function:void 0}}var c6={encode(e,t=new R3){return e.id!==``&&t.uint32(10).string(e.id),e.type!==``&&t.uint32(18).string(e.type),e.function!==void 0&&u6.encode(e.function,t.uint32(26).fork()).join(),t},decode(e,t){let n=e instanceof G3?e:new G3(e),r=t===void 0?n.len:n.pos+t,i=s6();for(;n.pos<r;){let e=n.uint32();switch(e>>>3){case 1:if(e!==10)break;i.id=n.string();continue;case 2:if(e!==18)break;i.type=n.string();continue;case 3:if(e!==26)break;i.function=u6.decode(n,n.uint32());continue}if((e&7)==4||e===0)break;n.skip(e&7)}return i},create(e){return c6.fromPartial(e??{})},fromPartial(e){let t=s6();return t.id=e.id??``,t.type=e.type??``,t.function=e.function!==void 0&&e.function!==null?u6.fromPartial(e.function):void 0,t}};function l6(){return{name:``,arguments:``}}var u6={encode(e,t=new R3){return e.name!==``&&t.uint32(10).string(e.name),e.arguments!==``&&t.uint32(18).string(e.arguments),t},decode(e,t){let n=e instanceof G3?e:new G3(e),r=t===void 0?n.len:n.pos+t,i=l6();for(;n.pos<r;){let e=n.uint32();switch(e>>>3){case 1:if(e!==10)break;i.name=n.string();continue;case 2:if(e!==18)break;i.arguments=n.string();continue}if((e&7)==4||e===0)break;n.skip(e&7)}return i},create(e){return u6.fromPartial(e??{})},fromPartial(e){let t=l6();return t.name=e.name??``,t.arguments=e.arguments??``,t}};function d6(){return{value:``,mimeType:``}}var f6={encode(e,t=new R3){return e.value!==``&&t.uint32(10).string(e.value),e.mimeType!==``&&t.uint32(18).string(e.mimeType),t},decode(e,t){let n=e instanceof G3?e:new G3(e),r=t===void 0?n.len:n.pos+t,i=d6();for(;n.pos<r;){let e=n.uint32();switch(e>>>3){case 1:if(e!==10)break;i.value=n.string();continue;case 2:if(e!==18)break;i.mimeType=n.string();continue}if((e&7)==4||e===0)break;n.skip(e&7)}return i},create(e){return f6.fromPartial(e??{})},fromPartial(e){let t=d6();return t.value=e.value??``,t.mimeType=e.mimeType??``,t}};function p6(){return{value:``,mimeType:void 0}}var m6={encode(e,t=new R3){return e.value!==``&&t.uint32(10).string(e.value),e.mimeType!==void 0&&t.uint32(18).string(e.mimeType),t},decode(e,t){let n=e instanceof G3?e:new G3(e),r=t===void 0?n.len:n.pos+t,i=p6();for(;n.pos<r;){let e=n.uint32();switch(e>>>3){case 1:if(e!==10)break;i.value=n.string();continue;case 2:if(e!==18)break;i.mimeType=n.string();continue}if((e&7)==4||e===0)break;n.skip(e&7)}return i},create(e){return m6.fromPartial(e??{})},fromPartial(e){let t=p6();return t.value=e.value??``,t.mimeType=e.mimeType??void 0,t}};function h6(){return{data:void 0,url:void 0}}var g6={encode(e,t=new R3){return e.data!==void 0&&f6.encode(e.data,t.uint32(10).fork()).join(),e.url!==void 0&&m6.encode(e.url,t.uint32(18).fork()).join(),t},decode(e,t){let n=e instanceof G3?e:new G3(e),r=t===void 0?n.len:n.pos+t,i=h6();for(;n.pos<r;){let e=n.uint32();switch(e>>>3){case 1:if(e!==10)break;i.data=f6.decode(n,n.uint32());continue;case 2:if(e!==18)break;i.url=m6.decode(n,n.uint32());continue}if((e&7)==4||e===0)break;n.skip(e&7)}return i},create(e){return g6.fromPartial(e??{})},fromPartial(e){let t=h6();return t.data=e.data!==void 0&&e.data!==null?f6.fromPartial(e.data):void 0,t.url=e.url!==void 0&&e.url!==null?m6.fromPartial(e.url):void 0,t}};function _6(){return{text:``}}var v6={encode(e,t=new R3){return e.text!==``&&t.uint32(10).string(e.text),t},decode(e,t){let n=e instanceof G3?e:new G3(e),r=t===void 0?n.len:n.pos+t,i=_6();for(;n.pos<r;){let e=n.uint32();switch(e>>>3){case 1:if(e!==10)break;i.text=n.string();continue}if((e&7)==4||e===0)break;n.skip(e&7)}return i},create(e){return v6.fromPartial(e??{})},fromPartial(e){let t=_6();return t.text=e.text??``,t}};function y6(){return{source:void 0,metadata:void 0}}var b6={encode(e,t=new R3){return e.source!==void 0&&g6.encode(e.source,t.uint32(10).fork()).join(),e.metadata!==void 0&&t6.encode(t6.wrap(e.metadata),t.uint32(18).fork()).join(),t},decode(e,t){let n=e instanceof G3?e:new G3(e),r=t===void 0?n.len:n.pos+t,i=y6();for(;n.pos<r;){let e=n.uint32();switch(e>>>3){case 1:if(e!==10)break;i.source=g6.decode(n,n.uint32());continue;case 2:if(e!==18)break;i.metadata=t6.unwrap(t6.decode(n,n.uint32()));continue}if((e&7)==4||e===0)break;n.skip(e&7)}return i},create(e){return b6.fromPartial(e??{})},fromPartial(e){let t=y6();return t.source=e.source!==void 0&&e.source!==null?g6.fromPartial(e.source):void 0,t.metadata=e.metadata??void 0,t}};function x6(){return{source:void 0,metadata:void 0}}var S6={encode(e,t=new R3){return e.source!==void 0&&g6.encode(e.source,t.uint32(10).fork()).join(),e.metadata!==void 0&&t6.encode(t6.wrap(e.metadata),t.uint32(18).fork()).join(),t},decode(e,t){let n=e instanceof G3?e:new G3(e),r=t===void 0?n.len:n.pos+t,i=x6();for(;n.pos<r;){let e=n.uint32();switch(e>>>3){case 1:if(e!==10)break;i.source=g6.decode(n,n.uint32());continue;case 2:if(e!==18)break;i.metadata=t6.unwrap(t6.decode(n,n.uint32()));continue}if((e&7)==4||e===0)break;n.skip(e&7)}return i},create(e){return S6.fromPartial(e??{})},fromPartial(e){let t=x6();return t.source=e.source!==void 0&&e.source!==null?g6.fromPartial(e.source):void 0,t.metadata=e.metadata??void 0,t}};function C6(){return{source:void 0,metadata:void 0}}var w6={encode(e,t=new R3){return e.source!==void 0&&g6.encode(e.source,t.uint32(10).fork()).join(),e.metadata!==void 0&&t6.encode(t6.wrap(e.metadata),t.uint32(18).fork()).join(),t},decode(e,t){let n=e instanceof G3?e:new G3(e),r=t===void 0?n.len:n.pos+t,i=C6();for(;n.pos<r;){let e=n.uint32();switch(e>>>3){case 1:if(e!==10)break;i.source=g6.decode(n,n.uint32());continue;case 2:if(e!==18)break;i.metadata=t6.unwrap(t6.decode(n,n.uint32()));continue}if((e&7)==4||e===0)break;n.skip(e&7)}return i},create(e){return w6.fromPartial(e??{})},fromPartial(e){let t=C6();return t.source=e.source!==void 0&&e.source!==null?g6.fromPartial(e.source):void 0,t.metadata=e.metadata??void 0,t}};function T6(){return{source:void 0,metadata:void 0}}var E6={encode(e,t=new R3){return e.source!==void 0&&g6.encode(e.source,t.uint32(10).fork()).join(),e.metadata!==void 0&&t6.encode(t6.wrap(e.metadata),t.uint32(18).fork()).join(),t},decode(e,t){let n=e instanceof G3?e:new G3(e),r=t===void 0?n.len:n.pos+t,i=T6();for(;n.pos<r;){let e=n.uint32();switch(e>>>3){case 1:if(e!==10)break;i.source=g6.decode(n,n.uint32());continue;case 2:if(e!==18)break;i.metadata=t6.unwrap(t6.decode(n,n.uint32()));continue}if((e&7)==4||e===0)break;n.skip(e&7)}return i},create(e){return E6.fromPartial(e??{})},fromPartial(e){let t=T6();return t.source=e.source!==void 0&&e.source!==null?g6.fromPartial(e.source):void 0,t.metadata=e.metadata??void 0,t}};function D6(){return{text:void 0,image:void 0,audio:void 0,video:void 0,document:void 0}}var O6={encode(e,t=new R3){return e.text!==void 0&&v6.encode(e.text,t.uint32(10).fork()).join(),e.image!==void 0&&b6.encode(e.image,t.uint32(18).fork()).join(),e.audio!==void 0&&S6.encode(e.audio,t.uint32(26).fork()).join(),e.video!==void 0&&w6.encode(e.video,t.uint32(34).fork()).join(),e.document!==void 0&&E6.encode(e.document,t.uint32(42).fork()).join(),t},decode(e,t){let n=e instanceof G3?e:new G3(e),r=t===void 0?n.len:n.pos+t,i=D6();for(;n.pos<r;){let e=n.uint32();switch(e>>>3){case 1:if(e!==10)break;i.text=v6.decode(n,n.uint32());continue;case 2:if(e!==18)break;i.image=b6.decode(n,n.uint32());continue;case 3:if(e!==26)break;i.audio=S6.decode(n,n.uint32());continue;case 4:if(e!==34)break;i.video=w6.decode(n,n.uint32());continue;case 5:if(e!==42)break;i.document=E6.decode(n,n.uint32());continue}if((e&7)==4||e===0)break;n.skip(e&7)}return i},create(e){return O6.fromPartial(e??{})},fromPartial(e){let t=D6();return t.text=e.text!==void 0&&e.text!==null?v6.fromPartial(e.text):void 0,t.image=e.image!==void 0&&e.image!==null?b6.fromPartial(e.image):void 0,t.audio=e.audio!==void 0&&e.audio!==null?S6.fromPartial(e.audio):void 0,t.video=e.video!==void 0&&e.video!==null?w6.fromPartial(e.video):void 0,t.document=e.document!==void 0&&e.document!==null?E6.fromPartial(e.document):void 0,t}};function k6(){return{id:``,role:``,content:void 0,name:void 0,toolCalls:[],toolCallId:void 0,error:void 0,contentParts:[]}}var A6={encode(e,t=new R3){e.id!==``&&t.uint32(10).string(e.id),e.role!==``&&t.uint32(18).string(e.role),e.content!==void 0&&t.uint32(26).string(e.content),e.name!==void 0&&t.uint32(34).string(e.name);for(let n of e.toolCalls)c6.encode(n,t.uint32(42).fork()).join();e.toolCallId!==void 0&&t.uint32(50).string(e.toolCallId),e.error!==void 0&&t.uint32(58).string(e.error);for(let n of e.contentParts)O6.encode(n,t.uint32(66).fork()).join();return t},decode(e,t){let n=e instanceof G3?e:new G3(e),r=t===void 0?n.len:n.pos+t,i=k6();for(;n.pos<r;){let e=n.uint32();switch(e>>>3){case 1:if(e!==10)break;i.id=n.string();continue;case 2:if(e!==18)break;i.role=n.string();continue;case 3:if(e!==26)break;i.content=n.string();continue;case 4:if(e!==34)break;i.name=n.string();continue;case 5:if(e!==42)break;i.toolCalls.push(c6.decode(n,n.uint32()));continue;case 6:if(e!==50)break;i.toolCallId=n.string();continue;case 7:if(e!==58)break;i.error=n.string();continue;case 8:if(e!==66)break;i.contentParts.push(O6.decode(n,n.uint32()));continue}if((e&7)==4||e===0)break;n.skip(e&7)}return i},create(e){return A6.fromPartial(e??{})},fromPartial(e){let t=k6();return t.id=e.id??``,t.role=e.role??``,t.content=e.content??void 0,t.name=e.name??void 0,t.toolCalls=e.toolCalls?.map(e=>c6.fromPartial(e))||[],t.toolCallId=e.toolCallId??void 0,t.error=e.error??void 0,t.contentParts=e.contentParts?.map(e=>O6.fromPartial(e))||[],t}};function j6(){return{id:``,reason:``,message:void 0,toolCallId:void 0,responseSchema:void 0,expiresAt:void 0,metadata:void 0}}var M6={encode(e,t=new R3){return e.id!==``&&t.uint32(10).string(e.id),e.reason!==``&&t.uint32(18).string(e.reason),e.message!==void 0&&t.uint32(26).string(e.message),e.toolCallId!==void 0&&t.uint32(34).string(e.toolCallId),e.responseSchema!==void 0&&t6.encode(t6.wrap(e.responseSchema),t.uint32(42).fork()).join(),e.expiresAt!==void 0&&t.uint32(50).string(e.expiresAt),e.metadata!==void 0&&t6.encode(t6.wrap(e.metadata),t.uint32(58).fork()).join(),t},decode(e,t){let n=e instanceof G3?e:new G3(e),r=t===void 0?n.len:n.pos+t,i=j6();for(;n.pos<r;){let e=n.uint32();switch(e>>>3){case 1:if(e!==10)break;i.id=n.string();continue;case 2:if(e!==18)break;i.reason=n.string();continue;case 3:if(e!==26)break;i.message=n.string();continue;case 4:if(e!==34)break;i.toolCallId=n.string();continue;case 5:if(e!==42)break;i.responseSchema=t6.unwrap(t6.decode(n,n.uint32()));continue;case 6:if(e!==50)break;i.expiresAt=n.string();continue;case 7:if(e!==58)break;i.metadata=t6.unwrap(t6.decode(n,n.uint32()));continue}if((e&7)==4||e===0)break;n.skip(e&7)}return i},create(e){return M6.fromPartial(e??{})},fromPartial(e){let t=j6();return t.id=e.id??``,t.reason=e.reason??``,t.message=e.message??void 0,t.toolCallId=e.toolCallId??void 0,t.responseSchema=e.responseSchema??void 0,t.expiresAt=e.expiresAt??void 0,t.metadata=e.metadata??void 0,t}},N6=function(e){return e[e.TEXT_MESSAGE_START=0]=`TEXT_MESSAGE_START`,e[e.TEXT_MESSAGE_CONTENT=1]=`TEXT_MESSAGE_CONTENT`,e[e.TEXT_MESSAGE_END=2]=`TEXT_MESSAGE_END`,e[e.TOOL_CALL_START=3]=`TOOL_CALL_START`,e[e.TOOL_CALL_ARGS=4]=`TOOL_CALL_ARGS`,e[e.TOOL_CALL_END=5]=`TOOL_CALL_END`,e[e.STATE_SNAPSHOT=6]=`STATE_SNAPSHOT`,e[e.STATE_DELTA=7]=`STATE_DELTA`,e[e.MESSAGES_SNAPSHOT=8]=`MESSAGES_SNAPSHOT`,e[e.RAW=9]=`RAW`,e[e.CUSTOM=10]=`CUSTOM`,e[e.RUN_STARTED=11]=`RUN_STARTED`,e[e.RUN_FINISHED=12]=`RUN_FINISHED`,e[e.RUN_ERROR=13]=`RUN_ERROR`,e[e.STEP_STARTED=14]=`STEP_STARTED`,e[e.STEP_FINISHED=15]=`STEP_FINISHED`,e[e.UNRECOGNIZED=-1]=`UNRECOGNIZED`,e}({});function P6(){return{type:0,timestamp:void 0,rawEvent:void 0}}var F6={encode(e,t=new R3){return e.type!==0&&t.uint32(8).int32(e.type),e.timestamp!==void 0&&t.uint32(16).int64(e.timestamp),e.rawEvent!==void 0&&t6.encode(t6.wrap(e.rawEvent),t.uint32(26).fork()).join(),t},decode(e,t){let n=e instanceof G3?e:new G3(e),r=t===void 0?n.len:n.pos+t,i=P6();for(;n.pos<r;){let e=n.uint32();switch(e>>>3){case 1:if(e!==8)break;i.type=n.int32();continue;case 2:if(e!==16)break;i.timestamp=qre(n.int64());continue;case 3:if(e!==26)break;i.rawEvent=t6.unwrap(t6.decode(n,n.uint32()));continue}if((e&7)==4||e===0)break;n.skip(e&7)}return i},create(e){return F6.fromPartial(e??{})},fromPartial(e){let t=P6();return t.type=e.type??0,t.timestamp=e.timestamp??void 0,t.rawEvent=e.rawEvent??void 0,t}};function I6(){return{baseEvent:void 0,messageId:``,role:void 0,name:void 0}}var L6={encode(e,t=new R3){return e.baseEvent!==void 0&&F6.encode(e.baseEvent,t.uint32(10).fork()).join(),e.messageId!==``&&t.uint32(18).string(e.messageId),e.role!==void 0&&t.uint32(26).string(e.role),e.name!==void 0&&t.uint32(34).string(e.name),t},decode(e,t){let n=e instanceof G3?e:new G3(e),r=t===void 0?n.len:n.pos+t,i=I6();for(;n.pos<r;){let e=n.uint32();switch(e>>>3){case 1:if(e!==10)break;i.baseEvent=F6.decode(n,n.uint32());continue;case 2:if(e!==18)break;i.messageId=n.string();continue;case 3:if(e!==26)break;i.role=n.string();continue;case 4:if(e!==34)break;i.name=n.string();continue}if((e&7)==4||e===0)break;n.skip(e&7)}return i},create(e){return L6.fromPartial(e??{})},fromPartial(e){let t=I6();return t.baseEvent=e.baseEvent!==void 0&&e.baseEvent!==null?F6.fromPartial(e.baseEvent):void 0,t.messageId=e.messageId??``,t.role=e.role??void 0,t.name=e.name??void 0,t}};function R6(){return{baseEvent:void 0,messageId:``,delta:``}}var z6={encode(e,t=new R3){return e.baseEvent!==void 0&&F6.encode(e.baseEvent,t.uint32(10).fork()).join(),e.messageId!==``&&t.uint32(18).string(e.messageId),e.delta!==``&&t.uint32(26).string(e.delta),t},decode(e,t){let n=e instanceof G3?e:new G3(e),r=t===void 0?n.len:n.pos+t,i=R6();for(;n.pos<r;){let e=n.uint32();switch(e>>>3){case 1:if(e!==10)break;i.baseEvent=F6.decode(n,n.uint32());continue;case 2:if(e!==18)break;i.messageId=n.string();continue;case 3:if(e!==26)break;i.delta=n.string();continue}if((e&7)==4||e===0)break;n.skip(e&7)}return i},create(e){return z6.fromPartial(e??{})},fromPartial(e){let t=R6();return t.baseEvent=e.baseEvent!==void 0&&e.baseEvent!==null?F6.fromPartial(e.baseEvent):void 0,t.messageId=e.messageId??``,t.delta=e.delta??``,t}};function B6(){return{baseEvent:void 0,messageId:``}}var V6={encode(e,t=new R3){return e.baseEvent!==void 0&&F6.encode(e.baseEvent,t.uint32(10).fork()).join(),e.messageId!==``&&t.uint32(18).string(e.messageId),t},decode(e,t){let n=e instanceof G3?e:new G3(e),r=t===void 0?n.len:n.pos+t,i=B6();for(;n.pos<r;){let e=n.uint32();switch(e>>>3){case 1:if(e!==10)break;i.baseEvent=F6.decode(n,n.uint32());continue;case 2:if(e!==18)break;i.messageId=n.string();continue}if((e&7)==4||e===0)break;n.skip(e&7)}return i},create(e){return V6.fromPartial(e??{})},fromPartial(e){let t=B6();return t.baseEvent=e.baseEvent!==void 0&&e.baseEvent!==null?F6.fromPartial(e.baseEvent):void 0,t.messageId=e.messageId??``,t}};function H6(){return{baseEvent:void 0,toolCallId:``,toolCallName:``,parentMessageId:void 0}}var U6={encode(e,t=new R3){return e.baseEvent!==void 0&&F6.encode(e.baseEvent,t.uint32(10).fork()).join(),e.toolCallId!==``&&t.uint32(18).string(e.toolCallId),e.toolCallName!==``&&t.uint32(26).string(e.toolCallName),e.parentMessageId!==void 0&&t.uint32(34).string(e.parentMessageId),t},decode(e,t){let n=e instanceof G3?e:new G3(e),r=t===void 0?n.len:n.pos+t,i=H6();for(;n.pos<r;){let e=n.uint32();switch(e>>>3){case 1:if(e!==10)break;i.baseEvent=F6.decode(n,n.uint32());continue;case 2:if(e!==18)break;i.toolCallId=n.string();continue;case 3:if(e!==26)break;i.toolCallName=n.string();continue;case 4:if(e!==34)break;i.parentMessageId=n.string();continue}if((e&7)==4||e===0)break;n.skip(e&7)}return i},create(e){return U6.fromPartial(e??{})},fromPartial(e){let t=H6();return t.baseEvent=e.baseEvent!==void 0&&e.baseEvent!==null?F6.fromPartial(e.baseEvent):void 0,t.toolCallId=e.toolCallId??``,t.toolCallName=e.toolCallName??``,t.parentMessageId=e.parentMessageId??void 0,t}};function W6(){return{baseEvent:void 0,toolCallId:``,delta:``}}var G6={encode(e,t=new R3){return e.baseEvent!==void 0&&F6.encode(e.baseEvent,t.uint32(10).fork()).join(),e.toolCallId!==``&&t.uint32(18).string(e.toolCallId),e.delta!==``&&t.uint32(26).string(e.delta),t},decode(e,t){let n=e instanceof G3?e:new G3(e),r=t===void 0?n.len:n.pos+t,i=W6();for(;n.pos<r;){let e=n.uint32();switch(e>>>3){case 1:if(e!==10)break;i.baseEvent=F6.decode(n,n.uint32());continue;case 2:if(e!==18)break;i.toolCallId=n.string();continue;case 3:if(e!==26)break;i.delta=n.string();continue}if((e&7)==4||e===0)break;n.skip(e&7)}return i},create(e){return G6.fromPartial(e??{})},fromPartial(e){let t=W6();return t.baseEvent=e.baseEvent!==void 0&&e.baseEvent!==null?F6.fromPartial(e.baseEvent):void 0,t.toolCallId=e.toolCallId??``,t.delta=e.delta??``,t}};function K6(){return{baseEvent:void 0,toolCallId:``}}var q6={encode(e,t=new R3){return e.baseEvent!==void 0&&F6.encode(e.baseEvent,t.uint32(10).fork()).join(),e.toolCallId!==``&&t.uint32(18).string(e.toolCallId),t},decode(e,t){let n=e instanceof G3?e:new G3(e),r=t===void 0?n.len:n.pos+t,i=K6();for(;n.pos<r;){let e=n.uint32();switch(e>>>3){case 1:if(e!==10)break;i.baseEvent=F6.decode(n,n.uint32());continue;case 2:if(e!==18)break;i.toolCallId=n.string();continue}if((e&7)==4||e===0)break;n.skip(e&7)}return i},create(e){return q6.fromPartial(e??{})},fromPartial(e){let t=K6();return t.baseEvent=e.baseEvent!==void 0&&e.baseEvent!==null?F6.fromPartial(e.baseEvent):void 0,t.toolCallId=e.toolCallId??``,t}};function J6(){return{baseEvent:void 0,snapshot:void 0}}var Y6={encode(e,t=new R3){return e.baseEvent!==void 0&&F6.encode(e.baseEvent,t.uint32(10).fork()).join(),e.snapshot!==void 0&&t6.encode(t6.wrap(e.snapshot),t.uint32(18).fork()).join(),t},decode(e,t){let n=e instanceof G3?e:new G3(e),r=t===void 0?n.len:n.pos+t,i=J6();for(;n.pos<r;){let e=n.uint32();switch(e>>>3){case 1:if(e!==10)break;i.baseEvent=F6.decode(n,n.uint32());continue;case 2:if(e!==18)break;i.snapshot=t6.unwrap(t6.decode(n,n.uint32()));continue}if((e&7)==4||e===0)break;n.skip(e&7)}return i},create(e){return Y6.fromPartial(e??{})},fromPartial(e){let t=J6();return t.baseEvent=e.baseEvent!==void 0&&e.baseEvent!==null?F6.fromPartial(e.baseEvent):void 0,t.snapshot=e.snapshot??void 0,t}};function X6(){return{baseEvent:void 0,delta:[]}}var Z6={encode(e,t=new R3){e.baseEvent!==void 0&&F6.encode(e.baseEvent,t.uint32(10).fork()).join();for(let n of e.delta)o6.encode(n,t.uint32(18).fork()).join();return t},decode(e,t){let n=e instanceof G3?e:new G3(e),r=t===void 0?n.len:n.pos+t,i=X6();for(;n.pos<r;){let e=n.uint32();switch(e>>>3){case 1:if(e!==10)break;i.baseEvent=F6.decode(n,n.uint32());continue;case 2:if(e!==18)break;i.delta.push(o6.decode(n,n.uint32()));continue}if((e&7)==4||e===0)break;n.skip(e&7)}return i},create(e){return Z6.fromPartial(e??{})},fromPartial(e){let t=X6();return t.baseEvent=e.baseEvent!==void 0&&e.baseEvent!==null?F6.fromPartial(e.baseEvent):void 0,t.delta=e.delta?.map(e=>o6.fromPartial(e))||[],t}};function Q6(){return{baseEvent:void 0,messages:[]}}var $6={encode(e,t=new R3){e.baseEvent!==void 0&&F6.encode(e.baseEvent,t.uint32(10).fork()).join();for(let n of e.messages)A6.encode(n,t.uint32(18).fork()).join();return t},decode(e,t){let n=e instanceof G3?e:new G3(e),r=t===void 0?n.len:n.pos+t,i=Q6();for(;n.pos<r;){let e=n.uint32();switch(e>>>3){case 1:if(e!==10)break;i.baseEvent=F6.decode(n,n.uint32());continue;case 2:if(e!==18)break;i.messages.push(A6.decode(n,n.uint32()));continue}if((e&7)==4||e===0)break;n.skip(e&7)}return i},create(e){return $6.fromPartial(e??{})},fromPartial(e){let t=Q6();return t.baseEvent=e.baseEvent!==void 0&&e.baseEvent!==null?F6.fromPartial(e.baseEvent):void 0,t.messages=e.messages?.map(e=>A6.fromPartial(e))||[],t}};function e8(){return{baseEvent:void 0,event:void 0,source:void 0}}var t8={encode(e,t=new R3){return e.baseEvent!==void 0&&F6.encode(e.baseEvent,t.uint32(10).fork()).join(),e.event!==void 0&&t6.encode(t6.wrap(e.event),t.uint32(18).fork()).join(),e.source!==void 0&&t.uint32(26).string(e.source),t},decode(e,t){let n=e instanceof G3?e:new G3(e),r=t===void 0?n.len:n.pos+t,i=e8();for(;n.pos<r;){let e=n.uint32();switch(e>>>3){case 1:if(e!==10)break;i.baseEvent=F6.decode(n,n.uint32());continue;case 2:if(e!==18)break;i.event=t6.unwrap(t6.decode(n,n.uint32()));continue;case 3:if(e!==26)break;i.source=n.string();continue}if((e&7)==4||e===0)break;n.skip(e&7)}return i},create(e){return t8.fromPartial(e??{})},fromPartial(e){let t=e8();return t.baseEvent=e.baseEvent!==void 0&&e.baseEvent!==null?F6.fromPartial(e.baseEvent):void 0,t.event=e.event??void 0,t.source=e.source??void 0,t}};function n8(){return{baseEvent:void 0,name:``,value:void 0}}var r8={encode(e,t=new R3){return e.baseEvent!==void 0&&F6.encode(e.baseEvent,t.uint32(10).fork()).join(),e.name!==``&&t.uint32(18).string(e.name),e.value!==void 0&&t6.encode(t6.wrap(e.value),t.uint32(26).fork()).join(),t},decode(e,t){let n=e instanceof G3?e:new G3(e),r=t===void 0?n.len:n.pos+t,i=n8();for(;n.pos<r;){let e=n.uint32();switch(e>>>3){case 1:if(e!==10)break;i.baseEvent=F6.decode(n,n.uint32());continue;case 2:if(e!==18)break;i.name=n.string();continue;case 3:if(e!==26)break;i.value=t6.unwrap(t6.decode(n,n.uint32()));continue}if((e&7)==4||e===0)break;n.skip(e&7)}return i},create(e){return r8.fromPartial(e??{})},fromPartial(e){let t=n8();return t.baseEvent=e.baseEvent!==void 0&&e.baseEvent!==null?F6.fromPartial(e.baseEvent):void 0,t.name=e.name??``,t.value=e.value??void 0,t}};function i8(){return{baseEvent:void 0,threadId:``,runId:``}}var a8={encode(e,t=new R3){return e.baseEvent!==void 0&&F6.encode(e.baseEvent,t.uint32(10).fork()).join(),e.threadId!==``&&t.uint32(18).string(e.threadId),e.runId!==``&&t.uint32(26).string(e.runId),t},decode(e,t){let n=e instanceof G3?e:new G3(e),r=t===void 0?n.len:n.pos+t,i=i8();for(;n.pos<r;){let e=n.uint32();switch(e>>>3){case 1:if(e!==10)break;i.baseEvent=F6.decode(n,n.uint32());continue;case 2:if(e!==18)break;i.threadId=n.string();continue;case 3:if(e!==26)break;i.runId=n.string();continue}if((e&7)==4||e===0)break;n.skip(e&7)}return i},create(e){return a8.fromPartial(e??{})},fromPartial(e){let t=i8();return t.baseEvent=e.baseEvent!==void 0&&e.baseEvent!==null?F6.fromPartial(e.baseEvent):void 0,t.threadId=e.threadId??``,t.runId=e.runId??``,t}};function o8(){return{baseEvent:void 0,threadId:``,runId:``,result:void 0,outcome:``,interrupts:[]}}var s8={encode(e,t=new R3){e.baseEvent!==void 0&&F6.encode(e.baseEvent,t.uint32(10).fork()).join(),e.threadId!==``&&t.uint32(18).string(e.threadId),e.runId!==``&&t.uint32(26).string(e.runId),e.result!==void 0&&t6.encode(t6.wrap(e.result),t.uint32(34).fork()).join(),e.outcome!==``&&t.uint32(42).string(e.outcome);for(let n of e.interrupts)M6.encode(n,t.uint32(50).fork()).join();return t},decode(e,t){let n=e instanceof G3?e:new G3(e),r=t===void 0?n.len:n.pos+t,i=o8();for(;n.pos<r;){let e=n.uint32();switch(e>>>3){case 1:if(e!==10)break;i.baseEvent=F6.decode(n,n.uint32());continue;case 2:if(e!==18)break;i.threadId=n.string();continue;case 3:if(e!==26)break;i.runId=n.string();continue;case 4:if(e!==34)break;i.result=t6.unwrap(t6.decode(n,n.uint32()));continue;case 5:if(e!==42)break;i.outcome=n.string();continue;case 6:if(e!==50)break;i.interrupts.push(M6.decode(n,n.uint32()));continue}if((e&7)==4||e===0)break;n.skip(e&7)}return i},create(e){return s8.fromPartial(e??{})},fromPartial(e){let t=o8();return t.baseEvent=e.baseEvent!==void 0&&e.baseEvent!==null?F6.fromPartial(e.baseEvent):void 0,t.threadId=e.threadId??``,t.runId=e.runId??``,t.result=e.result??void 0,t.outcome=e.outcome??``,t.interrupts=e.interrupts?.map(e=>M6.fromPartial(e))||[],t}};function c8(){return{baseEvent:void 0,code:void 0,message:``}}var l8={encode(e,t=new R3){return e.baseEvent!==void 0&&F6.encode(e.baseEvent,t.uint32(10).fork()).join(),e.code!==void 0&&t.uint32(18).string(e.code),e.message!==``&&t.uint32(26).string(e.message),t},decode(e,t){let n=e instanceof G3?e:new G3(e),r=t===void 0?n.len:n.pos+t,i=c8();for(;n.pos<r;){let e=n.uint32();switch(e>>>3){case 1:if(e!==10)break;i.baseEvent=F6.decode(n,n.uint32());continue;case 2:if(e!==18)break;i.code=n.string();continue;case 3:if(e!==26)break;i.message=n.string();continue}if((e&7)==4||e===0)break;n.skip(e&7)}return i},create(e){return l8.fromPartial(e??{})},fromPartial(e){let t=c8();return t.baseEvent=e.baseEvent!==void 0&&e.baseEvent!==null?F6.fromPartial(e.baseEvent):void 0,t.code=e.code??void 0,t.message=e.message??``,t}};function u8(){return{baseEvent:void 0,stepName:``}}var d8={encode(e,t=new R3){return e.baseEvent!==void 0&&F6.encode(e.baseEvent,t.uint32(10).fork()).join(),e.stepName!==``&&t.uint32(18).string(e.stepName),t},decode(e,t){let n=e instanceof G3?e:new G3(e),r=t===void 0?n.len:n.pos+t,i=u8();for(;n.pos<r;){let e=n.uint32();switch(e>>>3){case 1:if(e!==10)break;i.baseEvent=F6.decode(n,n.uint32());continue;case 2:if(e!==18)break;i.stepName=n.string();continue}if((e&7)==4||e===0)break;n.skip(e&7)}return i},create(e){return d8.fromPartial(e??{})},fromPartial(e){let t=u8();return t.baseEvent=e.baseEvent!==void 0&&e.baseEvent!==null?F6.fromPartial(e.baseEvent):void 0,t.stepName=e.stepName??``,t}};function f8(){return{baseEvent:void 0,stepName:``}}var p8={encode(e,t=new R3){return e.baseEvent!==void 0&&F6.encode(e.baseEvent,t.uint32(10).fork()).join(),e.stepName!==``&&t.uint32(18).string(e.stepName),t},decode(e,t){let n=e instanceof G3?e:new G3(e),r=t===void 0?n.len:n.pos+t,i=f8();for(;n.pos<r;){let e=n.uint32();switch(e>>>3){case 1:if(e!==10)break;i.baseEvent=F6.decode(n,n.uint32());continue;case 2:if(e!==18)break;i.stepName=n.string();continue}if((e&7)==4||e===0)break;n.skip(e&7)}return i},create(e){return p8.fromPartial(e??{})},fromPartial(e){let t=f8();return t.baseEvent=e.baseEvent!==void 0&&e.baseEvent!==null?F6.fromPartial(e.baseEvent):void 0,t.stepName=e.stepName??``,t}};function m8(){return{baseEvent:void 0,messageId:void 0,role:void 0,delta:void 0,name:void 0}}var h8={encode(e,t=new R3){return e.baseEvent!==void 0&&F6.encode(e.baseEvent,t.uint32(10).fork()).join(),e.messageId!==void 0&&t.uint32(18).string(e.messageId),e.role!==void 0&&t.uint32(26).string(e.role),e.delta!==void 0&&t.uint32(34).string(e.delta),e.name!==void 0&&t.uint32(42).string(e.name),t},decode(e,t){let n=e instanceof G3?e:new G3(e),r=t===void 0?n.len:n.pos+t,i=m8();for(;n.pos<r;){let e=n.uint32();switch(e>>>3){case 1:if(e!==10)break;i.baseEvent=F6.decode(n,n.uint32());continue;case 2:if(e!==18)break;i.messageId=n.string();continue;case 3:if(e!==26)break;i.role=n.string();continue;case 4:if(e!==34)break;i.delta=n.string();continue;case 5:if(e!==42)break;i.name=n.string();continue}if((e&7)==4||e===0)break;n.skip(e&7)}return i},create(e){return h8.fromPartial(e??{})},fromPartial(e){let t=m8();return t.baseEvent=e.baseEvent!==void 0&&e.baseEvent!==null?F6.fromPartial(e.baseEvent):void 0,t.messageId=e.messageId??void 0,t.role=e.role??void 0,t.delta=e.delta??void 0,t.name=e.name??void 0,t}};function g8(){return{baseEvent:void 0,toolCallId:void 0,toolCallName:void 0,parentMessageId:void 0,delta:void 0}}var _8={encode(e,t=new R3){return e.baseEvent!==void 0&&F6.encode(e.baseEvent,t.uint32(10).fork()).join(),e.toolCallId!==void 0&&t.uint32(18).string(e.toolCallId),e.toolCallName!==void 0&&t.uint32(26).string(e.toolCallName),e.parentMessageId!==void 0&&t.uint32(34).string(e.parentMessageId),e.delta!==void 0&&t.uint32(42).string(e.delta),t},decode(e,t){let n=e instanceof G3?e:new G3(e),r=t===void 0?n.len:n.pos+t,i=g8();for(;n.pos<r;){let e=n.uint32();switch(e>>>3){case 1:if(e!==10)break;i.baseEvent=F6.decode(n,n.uint32());continue;case 2:if(e!==18)break;i.toolCallId=n.string();continue;case 3:if(e!==26)break;i.toolCallName=n.string();continue;case 4:if(e!==34)break;i.parentMessageId=n.string();continue;case 5:if(e!==42)break;i.delta=n.string();continue}if((e&7)==4||e===0)break;n.skip(e&7)}return i},create(e){return _8.fromPartial(e??{})},fromPartial(e){let t=g8();return t.baseEvent=e.baseEvent!==void 0&&e.baseEvent!==null?F6.fromPartial(e.baseEvent):void 0,t.toolCallId=e.toolCallId??void 0,t.toolCallName=e.toolCallName??void 0,t.parentMessageId=e.parentMessageId??void 0,t.delta=e.delta??void 0,t}};function v8(){return{textMessageStart:void 0,textMessageContent:void 0,textMessageEnd:void 0,toolCallStart:void 0,toolCallArgs:void 0,toolCallEnd:void 0,stateSnapshot:void 0,stateDelta:void 0,messagesSnapshot:void 0,raw:void 0,custom:void 0,runStarted:void 0,runFinished:void 0,runError:void 0,stepStarted:void 0,stepFinished:void 0,textMessageChunk:void 0,toolCallChunk:void 0}}var y8={encode(e,t=new R3){return e.textMessageStart!==void 0&&L6.encode(e.textMessageStart,t.uint32(10).fork()).join(),e.textMessageContent!==void 0&&z6.encode(e.textMessageContent,t.uint32(18).fork()).join(),e.textMessageEnd!==void 0&&V6.encode(e.textMessageEnd,t.uint32(26).fork()).join(),e.toolCallStart!==void 0&&U6.encode(e.toolCallStart,t.uint32(34).fork()).join(),e.toolCallArgs!==void 0&&G6.encode(e.toolCallArgs,t.uint32(42).fork()).join(),e.toolCallEnd!==void 0&&q6.encode(e.toolCallEnd,t.uint32(50).fork()).join(),e.stateSnapshot!==void 0&&Y6.encode(e.stateSnapshot,t.uint32(58).fork()).join(),e.stateDelta!==void 0&&Z6.encode(e.stateDelta,t.uint32(66).fork()).join(),e.messagesSnapshot!==void 0&&$6.encode(e.messagesSnapshot,t.uint32(74).fork()).join(),e.raw!==void 0&&t8.encode(e.raw,t.uint32(82).fork()).join(),e.custom!==void 0&&r8.encode(e.custom,t.uint32(90).fork()).join(),e.runStarted!==void 0&&a8.encode(e.runStarted,t.uint32(98).fork()).join(),e.runFinished!==void 0&&s8.encode(e.runFinished,t.uint32(106).fork()).join(),e.runError!==void 0&&l8.encode(e.runError,t.uint32(114).fork()).join(),e.stepStarted!==void 0&&d8.encode(e.stepStarted,t.uint32(122).fork()).join(),e.stepFinished!==void 0&&p8.encode(e.stepFinished,t.uint32(130).fork()).join(),e.textMessageChunk!==void 0&&h8.encode(e.textMessageChunk,t.uint32(138).fork()).join(),e.toolCallChunk!==void 0&&_8.encode(e.toolCallChunk,t.uint32(146).fork()).join(),t},decode(e,t){let n=e instanceof G3?e:new G3(e),r=t===void 0?n.len:n.pos+t,i=v8();for(;n.pos<r;){let e=n.uint32();switch(e>>>3){case 1:if(e!==10)break;i.textMessageStart=L6.decode(n,n.uint32());continue;case 2:if(e!==18)break;i.textMessageContent=z6.decode(n,n.uint32());continue;case 3:if(e!==26)break;i.textMessageEnd=V6.decode(n,n.uint32());continue;case 4:if(e!==34)break;i.toolCallStart=U6.decode(n,n.uint32());continue;case 5:if(e!==42)break;i.toolCallArgs=G6.decode(n,n.uint32());continue;case 6:if(e!==50)break;i.toolCallEnd=q6.decode(n,n.uint32());continue;case 7:if(e!==58)break;i.stateSnapshot=Y6.decode(n,n.uint32());continue;case 8:if(e!==66)break;i.stateDelta=Z6.decode(n,n.uint32());continue;case 9:if(e!==74)break;i.messagesSnapshot=$6.decode(n,n.uint32());continue;case 10:if(e!==82)break;i.raw=t8.decode(n,n.uint32());continue;case 11:if(e!==90)break;i.custom=r8.decode(n,n.uint32());continue;case 12:if(e!==98)break;i.runStarted=a8.decode(n,n.uint32());continue;case 13:if(e!==106)break;i.runFinished=s8.decode(n,n.uint32());continue;case 14:if(e!==114)break;i.runError=l8.decode(n,n.uint32());continue;case 15:if(e!==122)break;i.stepStarted=d8.decode(n,n.uint32());continue;case 16:if(e!==130)break;i.stepFinished=p8.decode(n,n.uint32());continue;case 17:if(e!==138)break;i.textMessageChunk=h8.decode(n,n.uint32());continue;case 18:if(e!==146)break;i.toolCallChunk=_8.decode(n,n.uint32());continue}if((e&7)==4||e===0)break;n.skip(e&7)}return i},create(e){return y8.fromPartial(e??{})},fromPartial(e){let t=v8();return t.textMessageStart=e.textMessageStart!==void 0&&e.textMessageStart!==null?L6.fromPartial(e.textMessageStart):void 0,t.textMessageContent=e.textMessageContent!==void 0&&e.textMessageContent!==null?z6.fromPartial(e.textMessageContent):void 0,t.textMessageEnd=e.textMessageEnd!==void 0&&e.textMessageEnd!==null?V6.fromPartial(e.textMessageEnd):void 0,t.toolCallStart=e.toolCallStart!==void 0&&e.toolCallStart!==null?U6.fromPartial(e.toolCallStart):void 0,t.toolCallArgs=e.toolCallArgs!==void 0&&e.toolCallArgs!==null?G6.fromPartial(e.toolCallArgs):void 0,t.toolCallEnd=e.toolCallEnd!==void 0&&e.toolCallEnd!==null?q6.fromPartial(e.toolCallEnd):void 0,t.stateSnapshot=e.stateSnapshot!==void 0&&e.stateSnapshot!==null?Y6.fromPartial(e.stateSnapshot):void 0,t.stateDelta=e.stateDelta!==void 0&&e.stateDelta!==null?Z6.fromPartial(e.stateDelta):void 0,t.messagesSnapshot=e.messagesSnapshot!==void 0&&e.messagesSnapshot!==null?$6.fromPartial(e.messagesSnapshot):void 0,t.raw=e.raw!==void 0&&e.raw!==null?t8.fromPartial(e.raw):void 0,t.custom=e.custom!==void 0&&e.custom!==null?r8.fromPartial(e.custom):void 0,t.runStarted=e.runStarted!==void 0&&e.runStarted!==null?a8.fromPartial(e.runStarted):void 0,t.runFinished=e.runFinished!==void 0&&e.runFinished!==null?s8.fromPartial(e.runFinished):void 0,t.runError=e.runError!==void 0&&e.runError!==null?l8.fromPartial(e.runError):void 0,t.stepStarted=e.stepStarted!==void 0&&e.stepStarted!==null?d8.fromPartial(e.stepStarted):void 0,t.stepFinished=e.stepFinished!==void 0&&e.stepFinished!==null?p8.fromPartial(e.stepFinished):void 0,t.textMessageChunk=e.textMessageChunk!==void 0&&e.textMessageChunk!==null?h8.fromPartial(e.textMessageChunk):void 0,t.toolCallChunk=e.toolCallChunk!==void 0&&e.toolCallChunk!==null?_8.fromPartial(e.toolCallChunk):void 0,t}};function qre(e){let t=globalThis.Number(e.toString());if(t>globalThis.Number.MAX_SAFE_INTEGER)throw new globalThis.Error(`Value is larger than Number.MAX_SAFE_INTEGER`);if(t<globalThis.Number.MIN_SAFE_INTEGER)throw new globalThis.Error(`Value is smaller than Number.MIN_SAFE_INTEGER`);return t}var b8=e=>{if(!(!e||typeof e!=`object`)){if(e.data)return{type:`data`,value:e.data.value,mimeType:e.data.mimeType};if(e.url)return{type:`url`,value:e.url.value,mimeType:e.url.mimeType}}},Jre=e=>{if(!(!e||typeof e!=`object`)){if(e.text)return{type:`text`,text:e.text.text};if(e.image)return{type:`image`,source:b8(e.image.source),metadata:e.image.metadata};if(e.audio)return{type:`audio`,source:b8(e.audio.source),metadata:e.audio.metadata};if(e.video)return{type:`video`,source:b8(e.video.source),metadata:e.video.metadata};if(e.document)return{type:`document`,source:b8(e.document.source),metadata:e.document.metadata}}};function Yre(e){let t=y8.decode(e),n=Object.values(t).find(e=>e!==void 0);if(!n)throw Error(`Invalid event`);if(n.type=N6[n.baseEvent.type],n.timestamp=n.baseEvent.timestamp,n.rawEvent=n.baseEvent.rawEvent,delete n.baseEvent,n.type===Q.MESSAGES_SNAPSHOT)for(let e of n.messages){let t=e;if(t.role===`user`&&Array.isArray(t.contentParts)){let e=t.contentParts.map(e=>Jre(e)).filter(e=>e!==void 0);e.length>0&&(t.content=e)}Array.isArray(t.contentParts)&&t.contentParts.length===0&&(t.contentParts=void 0),t.toolCalls?.length===0&&(t.toolCalls=void 0)}if(n.type===Q.RUN_FINISHED){let e=n,t=typeof e.outcome==`string`&&e.outcome!==``?e.outcome:void 0,r=Array.isArray(e.interrupts)?e.interrupts:[];delete e.interrupts,t===`interrupt`?e.outcome={type:`interrupt`,interrupts:r}:t===`success`?e.outcome={type:`success`}:delete e.outcome}if(n.type===Q.STATE_DELTA)for(let e of n.delta)e.op=i6[e.op].toLowerCase(),Object.keys(e).forEach(t=>{e[t]===void 0&&delete e[t]});return Object.keys(n).forEach(e=>{n[e]===void 0&&delete n[e]}),J0.parse(n)}var x8;(function(e){e.assertEqual=e=>{};function t(e){}e.assertIs=t;function n(e){throw Error()}e.assertNever=n,e.arrayToEnum=e=>{let t={};for(let n of e)t[n]=n;return t},e.getValidEnumValues=t=>{let n=e.objectKeys(t).filter(e=>typeof t[t[e]]!=`number`),r={};for(let e of n)r[e]=t[e];return e.objectValues(r)},e.objectValues=t=>e.objectKeys(t).map(function(e){return t[e]}),e.objectKeys=typeof Object.keys==`function`?e=>Object.keys(e):e=>{let t=[];for(let n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.push(n);return t},e.find=(e,t)=>{for(let n of e)if(t(n))return n},e.isInteger=typeof Number.isInteger==`function`?e=>Number.isInteger(e):e=>typeof e==`number`&&Number.isFinite(e)&&Math.floor(e)===e;function r(e,t=` | `){return e.map(e=>typeof e==`string`?`'${e}'`:e).join(t)}e.joinValues=r,e.jsonStringifyReplacer=(e,t)=>typeof t==`bigint`?t.toString():t})(x8||={});var Xre;(function(e){e.mergeShapes=(e,t)=>({...e,...t})})(Xre||={});var S8=x8.arrayToEnum([`string`,`nan`,`number`,`integer`,`float`,`boolean`,`date`,`bigint`,`symbol`,`function`,`undefined`,`null`,`array`,`object`,`unknown`,`promise`,`void`,`never`,`map`,`set`]),C8=e=>{switch(typeof e){case`undefined`:return S8.undefined;case`string`:return S8.string;case`number`:return Number.isNaN(e)?S8.nan:S8.number;case`boolean`:return S8.boolean;case`function`:return S8.function;case`bigint`:return S8.bigint;case`symbol`:return S8.symbol;case`object`:return Array.isArray(e)?S8.array:e===null?S8.null:e.then&&typeof e.then==`function`&&e.catch&&typeof e.catch==`function`?S8.promise:typeof Map<`u`&&e instanceof Map?S8.map:typeof Set<`u`&&e instanceof Set?S8.set:typeof Date<`u`&&e instanceof Date?S8.date:S8.object;default:return S8.unknown}},$=x8.arrayToEnum([`invalid_type`,`invalid_literal`,`custom`,`invalid_union`,`invalid_union_discriminator`,`invalid_enum_value`,`unrecognized_keys`,`invalid_arguments`,`invalid_return_type`,`invalid_date`,`invalid_string`,`too_small`,`too_big`,`invalid_intersection_types`,`not_multiple_of`,`not_finite`]),w8=class e extends Error{get errors(){return this.issues}constructor(e){super(),this.issues=[],this.addIssue=e=>{this.issues=[...this.issues,e]},this.addIssues=(e=[])=>{this.issues=[...this.issues,...e]};let t=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,t):this.__proto__=t,this.name=`ZodError`,this.issues=e}format(e){let t=e||function(e){return e.message},n={_errors:[]},r=e=>{for(let i of e.issues)if(i.code===`invalid_union`)i.unionErrors.map(r);else if(i.code===`invalid_return_type`)r(i.returnTypeError);else if(i.code===`invalid_arguments`)r(i.argumentsError);else if(i.path.length===0)n._errors.push(t(i));else{let e=n,r=0;for(;r<i.path.length;){let n=i.path[r];r===i.path.length-1?(e[n]=e[n]||{_errors:[]},e[n]._errors.push(t(i))):e[n]=e[n]||{_errors:[]},e=e[n],r++}}};return r(this),n}static assert(t){if(!(t instanceof e))throw Error(`Not a ZodError: ${t}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,x8.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(e=e=>e.message){let t={},n=[];for(let r of this.issues)if(r.path.length>0){let n=r.path[0];t[n]=t[n]||[],t[n].push(e(r))}else n.push(e(r));return{formErrors:n,fieldErrors:t}}get formErrors(){return this.flatten()}};w8.create=e=>new w8(e);var T8=(e,t)=>{let n;switch(e.code){case $.invalid_type:n=e.received===S8.undefined?`Required`:`Expected ${e.expected}, received ${e.received}`;break;case $.invalid_literal:n=`Invalid literal value, expected ${JSON.stringify(e.expected,x8.jsonStringifyReplacer)}`;break;case $.unrecognized_keys:n=`Unrecognized key(s) in object: ${x8.joinValues(e.keys,`, `)}`;break;case $.invalid_union:n=`Invalid input`;break;case $.invalid_union_discriminator:n=`Invalid discriminator value. Expected ${x8.joinValues(e.options)}`;break;case $.invalid_enum_value:n=`Invalid enum value. Expected ${x8.joinValues(e.options)}, received '${e.received}'`;break;case $.invalid_arguments:n=`Invalid function arguments`;break;case $.invalid_return_type:n=`Invalid function return type`;break;case $.invalid_date:n=`Invalid date`;break;case $.invalid_string:typeof e.validation==`object`?`includes`in e.validation?(n=`Invalid input: must include "${e.validation.includes}"`,typeof e.validation.position==`number`&&(n=`${n} at one or more positions greater than or equal to ${e.validation.position}`)):`startsWith`in e.validation?n=`Invalid input: must start with "${e.validation.startsWith}"`:`endsWith`in e.validation?n=`Invalid input: must end with "${e.validation.endsWith}"`:x8.assertNever(e.validation):n=e.validation===`regex`?`Invalid`:`Invalid ${e.validation}`;break;case $.too_small:n=e.type===`array`?`Array must contain ${e.exact?`exactly`:e.inclusive?`at least`:`more than`} ${e.minimum} element(s)`:e.type===`string`?`String must contain ${e.exact?`exactly`:e.inclusive?`at least`:`over`} ${e.minimum} character(s)`:e.type===`number`||e.type===`bigint`?`Number must be ${e.exact?`exactly equal to `:e.inclusive?`greater than or equal to `:`greater than `}${e.minimum}`:e.type===`date`?`Date must be ${e.exact?`exactly equal to `:e.inclusive?`greater than or equal to `:`greater than `}${new Date(Number(e.minimum))}`:`Invalid input`;break;case $.too_big:n=e.type===`array`?`Array must contain ${e.exact?`exactly`:e.inclusive?`at most`:`less than`} ${e.maximum} element(s)`:e.type===`string`?`String must contain ${e.exact?`exactly`:e.inclusive?`at most`:`under`} ${e.maximum} character(s)`:e.type===`number`?`Number must be ${e.exact?`exactly`:e.inclusive?`less than or equal to`:`less than`} ${e.maximum}`:e.type===`bigint`?`BigInt must be ${e.exact?`exactly`:e.inclusive?`less than or equal to`:`less than`} ${e.maximum}`:e.type===`date`?`Date must be ${e.exact?`exactly`:e.inclusive?`smaller than or equal to`:`smaller than`} ${new Date(Number(e.maximum))}`:`Invalid input`;break;case $.custom:n=`Invalid input`;break;case $.invalid_intersection_types:n=`Intersection results could not be merged`;break;case $.not_multiple_of:n=`Number must be a multiple of ${e.multipleOf}`;break;case $.not_finite:n=`Number must be finite`;break;default:n=t.defaultError,x8.assertNever(e)}return{message:n}},Zre=T8;function E8(){return Zre}var D8=e=>{let{data:t,path:n,errorMaps:r,issueData:i}=e,a=[...n,...i.path||[]],o={...i,path:a};if(i.message!==void 0)return{...i,path:a,message:i.message};let s=``,c=r.filter(e=>!!e).slice().reverse();for(let e of c)s=e(o,{data:t,defaultError:s}).message;return{...i,path:a,message:s}};function O8(e,t){let n=E8(),r=D8({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,n,n===T8?void 0:T8].filter(e=>!!e)});e.common.issues.push(r)}var k8=class e{constructor(){this.value=`valid`}dirty(){this.value===`valid`&&(this.value=`dirty`)}abort(){this.value!==`aborted`&&(this.value=`aborted`)}static mergeArray(e,t){let n=[];for(let r of t){if(r.status===`aborted`)return A8;r.status===`dirty`&&e.dirty(),n.push(r.value)}return{status:e.value,value:n}}static async mergeObjectAsync(t,n){let r=[];for(let e of n){let t=await e.key,n=await e.value;r.push({key:t,value:n})}return e.mergeObjectSync(t,r)}static mergeObjectSync(e,t){let n={};for(let r of t){let{key:t,value:i}=r;if(t.status===`aborted`||i.status===`aborted`)return A8;t.status===`dirty`&&e.dirty(),i.status===`dirty`&&e.dirty(),t.value!==`__proto__`&&(i.value!==void 0||r.alwaysSet)&&(n[t.value]=i.value)}return{status:e.value,value:n}}},A8=Object.freeze({status:`aborted`}),j8=e=>({status:`dirty`,value:e}),M8=e=>({status:`valid`,value:e}),N8=e=>e.status===`aborted`,P8=e=>e.status===`dirty`,F8=e=>e.status===`valid`,I8=e=>typeof Promise<`u`&&e instanceof Promise,L8;(function(e){e.errToObj=e=>typeof e==`string`?{message:e}:e||{},e.toString=e=>typeof e==`string`?e:e?.message})(L8||={});var R8=class{constructor(e,t,n,r){this._cachedPath=[],this.parent=e,this.data=t,this._path=n,this._key=r}get path(){return this._cachedPath.length||(Array.isArray(this._key)?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}},z8=(e,t)=>{if(F8(t))return{success:!0,data:t.value};if(!e.common.issues.length)throw Error(`Validation failed but no issues detected.`);return{success:!1,get error(){if(this._error)return this._error;let t=new w8(e.common.issues);return this._error=t,this._error}}};function B8(e){if(!e)return{};let{errorMap:t,invalid_type_error:n,required_error:r,description:i}=e;if(t&&(n||r))throw Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return t?{errorMap:t,description:i}:{errorMap:(t,i)=>{let{message:a}=e;return t.code===`invalid_enum_value`?{message:a??i.defaultError}:i.data===void 0?{message:a??r??i.defaultError}:t.code===`invalid_type`?{message:a??n??i.defaultError}:{message:i.defaultError}},description:i}}var V8=class{get description(){return this._def.description}_getType(e){return C8(e.data)}_getOrReturnCtx(e,t){return t||{common:e.parent.common,data:e.data,parsedType:C8(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new k8,ctx:{common:e.parent.common,data:e.data,parsedType:C8(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){let t=this._parse(e);if(I8(t))throw Error(`Synchronous parse encountered promise.`);return t}_parseAsync(e){let t=this._parse(e);return Promise.resolve(t)}parse(e,t){let n=this.safeParse(e,t);if(n.success)return n.data;throw n.error}safeParse(e,t){let n={common:{issues:[],async:t?.async??!1,contextualErrorMap:t?.errorMap},path:t?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:C8(e)};return z8(n,this._parseSync({data:e,path:n.path,parent:n}))}"~validate"(e){let t={common:{issues:[],async:!!this[`~standard`].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:C8(e)};if(!this[`~standard`].async)try{let n=this._parseSync({data:e,path:[],parent:t});return F8(n)?{value:n.value}:{issues:t.common.issues}}catch(e){e?.message?.toLowerCase()?.includes(`encountered`)&&(this[`~standard`].async=!0),t.common={issues:[],async:!0}}return this._parseAsync({data:e,path:[],parent:t}).then(e=>F8(e)?{value:e.value}:{issues:t.common.issues})}async parseAsync(e,t){let n=await this.safeParseAsync(e,t);if(n.success)return n.data;throw n.error}async safeParseAsync(e,t){let n={common:{issues:[],contextualErrorMap:t?.errorMap,async:!0},path:t?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:C8(e)},r=this._parse({data:e,path:n.path,parent:n});return z8(n,await(I8(r)?r:Promise.resolve(r)))}refine(e,t){let n=e=>typeof t==`string`||t===void 0?{message:t}:typeof t==`function`?t(e):t;return this._refinement((t,r)=>{let i=e(t),a=()=>r.addIssue({code:$.custom,...n(t)});return typeof Promise<`u`&&i instanceof Promise?i.then(e=>e?!0:(a(),!1)):i?!0:(a(),!1)})}refinement(e,t){return this._refinement((n,r)=>e(n)?!0:(r.addIssue(typeof t==`function`?t(n,r):t),!1))}_refinement(e){return new y5({schema:this,typeName:O5.ZodEffects,effect:{type:`refinement`,refinement:e}})}superRefine(e){return this._refinement(e)}constructor(e){this.spa=this.safeParseAsync,this._def=e,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this[`~standard`]={version:1,vendor:`zod`,validate:e=>this[`~validate`](e)}}optional(){return b5.create(this,this._def)}nullable(){return x5.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return r5.create(this)}promise(){return v5.create(this,this._def)}or(e){return o5.create([this,e],this._def)}and(e){return l5.create(this,e,this._def)}transform(e){return new y5({...B8(this._def),schema:this,typeName:O5.ZodEffects,effect:{type:`transform`,transform:e}})}default(e){let t=typeof e==`function`?e:()=>e;return new S5({...B8(this._def),innerType:this,defaultValue:t,typeName:O5.ZodDefault})}brand(){return new T5({typeName:O5.ZodBranded,type:this,...B8(this._def)})}catch(e){let t=typeof e==`function`?e:()=>e;return new C5({...B8(this._def),innerType:this,catchValue:t,typeName:O5.ZodCatch})}describe(e){let t=this.constructor;return new t({...this._def,description:e})}pipe(e){return E5.create(this,e)}readonly(){return D5.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},Qre=/^c[^\s-]{8,}$/i,$re=/^[0-9a-z]+$/,eie=/^[0-9A-HJKMNP-TV-Z]{26}$/i,tie=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,nie=/^[a-z0-9_-]{21}$/i,rie=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,iie=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,aie=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,oie=`^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$`,H8,sie=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,cie=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,lie=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,uie=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,die=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,fie=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,U8=`((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))`,pie=RegExp(`^${U8}$`);function W8(e){let t=`[0-5]\\d`;e.precision?t=`${t}\\.\\d{${e.precision}}`:e.precision??(t=`${t}(\\.\\d+)?`);let n=e.precision?`+`:`?`;return`([01]\\d|2[0-3]):[0-5]\\d(:${t})${n}`}function mie(e){return RegExp(`^${W8(e)}$`)}function hie(e){let t=`${U8}T${W8(e)}`,n=[];return n.push(e.local?`Z?`:`Z`),e.offset&&n.push(`([+-]\\d{2}:?\\d{2})`),t=`${t}(${n.join(`|`)})`,RegExp(`^${t}$`)}function gie(e,t){return!!((t===`v4`||!t)&&sie.test(e)||(t===`v6`||!t)&&lie.test(e))}function _ie(e,t){if(!rie.test(e))return!1;try{let[n]=e.split(`.`);if(!n)return!1;let r=n.replace(/-/g,`+`).replace(/_/g,`/`).padEnd(n.length+(4-n.length%4)%4,`=`),i=JSON.parse(atob(r));return!(typeof i!=`object`||!i||`typ`in i&&i?.typ!==`JWT`||!i.alg||t&&i.alg!==t)}catch{return!1}}function vie(e,t){return!!((t===`v4`||!t)&&cie.test(e)||(t===`v6`||!t)&&uie.test(e))}var G8=class e extends V8{_parse(e){if(this._def.coerce&&(e.data=String(e.data)),this._getType(e)!==S8.string){let t=this._getOrReturnCtx(e);return O8(t,{code:$.invalid_type,expected:S8.string,received:t.parsedType}),A8}let t=new k8,n;for(let r of this._def.checks)if(r.kind===`min`)e.data.length<r.value&&(n=this._getOrReturnCtx(e,n),O8(n,{code:$.too_small,minimum:r.value,type:`string`,inclusive:!0,exact:!1,message:r.message}),t.dirty());else if(r.kind===`max`)e.data.length>r.value&&(n=this._getOrReturnCtx(e,n),O8(n,{code:$.too_big,maximum:r.value,type:`string`,inclusive:!0,exact:!1,message:r.message}),t.dirty());else if(r.kind===`length`){let i=e.data.length>r.value,a=e.data.length<r.value;(i||a)&&(n=this._getOrReturnCtx(e,n),i?O8(n,{code:$.too_big,maximum:r.value,type:`string`,inclusive:!0,exact:!0,message:r.message}):a&&O8(n,{code:$.too_small,minimum:r.value,type:`string`,inclusive:!0,exact:!0,message:r.message}),t.dirty())}else if(r.kind===`email`)aie.test(e.data)||(n=this._getOrReturnCtx(e,n),O8(n,{validation:`email`,code:$.invalid_string,message:r.message}),t.dirty());else if(r.kind===`emoji`)H8||=new RegExp(oie,`u`),H8.test(e.data)||(n=this._getOrReturnCtx(e,n),O8(n,{validation:`emoji`,code:$.invalid_string,message:r.message}),t.dirty());else if(r.kind===`uuid`)tie.test(e.data)||(n=this._getOrReturnCtx(e,n),O8(n,{validation:`uuid`,code:$.invalid_string,message:r.message}),t.dirty());else if(r.kind===`nanoid`)nie.test(e.data)||(n=this._getOrReturnCtx(e,n),O8(n,{validation:`nanoid`,code:$.invalid_string,message:r.message}),t.dirty());else if(r.kind===`cuid`)Qre.test(e.data)||(n=this._getOrReturnCtx(e,n),O8(n,{validation:`cuid`,code:$.invalid_string,message:r.message}),t.dirty());else if(r.kind===`cuid2`)$re.test(e.data)||(n=this._getOrReturnCtx(e,n),O8(n,{validation:`cuid2`,code:$.invalid_string,message:r.message}),t.dirty());else if(r.kind===`ulid`)eie.test(e.data)||(n=this._getOrReturnCtx(e,n),O8(n,{validation:`ulid`,code:$.invalid_string,message:r.message}),t.dirty());else if(r.kind===`url`)try{new URL(e.data)}catch{n=this._getOrReturnCtx(e,n),O8(n,{validation:`url`,code:$.invalid_string,message:r.message}),t.dirty()}else r.kind===`regex`?(r.regex.lastIndex=0,r.regex.test(e.data)||(n=this._getOrReturnCtx(e,n),O8(n,{validation:`regex`,code:$.invalid_string,message:r.message}),t.dirty())):r.kind===`trim`?e.data=e.data.trim():r.kind===`includes`?e.data.includes(r.value,r.position)||(n=this._getOrReturnCtx(e,n),O8(n,{code:$.invalid_string,validation:{includes:r.value,position:r.position},message:r.message}),t.dirty()):r.kind===`toLowerCase`?e.data=e.data.toLowerCase():r.kind===`toUpperCase`?e.data=e.data.toUpperCase():r.kind===`startsWith`?e.data.startsWith(r.value)||(n=this._getOrReturnCtx(e,n),O8(n,{code:$.invalid_string,validation:{startsWith:r.value},message:r.message}),t.dirty()):r.kind===`endsWith`?e.data.endsWith(r.value)||(n=this._getOrReturnCtx(e,n),O8(n,{code:$.invalid_string,validation:{endsWith:r.value},message:r.message}),t.dirty()):r.kind===`datetime`?hie(r).test(e.data)||(n=this._getOrReturnCtx(e,n),O8(n,{code:$.invalid_string,validation:`datetime`,message:r.message}),t.dirty()):r.kind===`date`?pie.test(e.data)||(n=this._getOrReturnCtx(e,n),O8(n,{code:$.invalid_string,validation:`date`,message:r.message}),t.dirty()):r.kind===`time`?mie(r).test(e.data)||(n=this._getOrReturnCtx(e,n),O8(n,{code:$.invalid_string,validation:`time`,message:r.message}),t.dirty()):r.kind===`duration`?iie.test(e.data)||(n=this._getOrReturnCtx(e,n),O8(n,{validation:`duration`,code:$.invalid_string,message:r.message}),t.dirty()):r.kind===`ip`?gie(e.data,r.version)||(n=this._getOrReturnCtx(e,n),O8(n,{validation:`ip`,code:$.invalid_string,message:r.message}),t.dirty()):r.kind===`jwt`?_ie(e.data,r.alg)||(n=this._getOrReturnCtx(e,n),O8(n,{validation:`jwt`,code:$.invalid_string,message:r.message}),t.dirty()):r.kind===`cidr`?vie(e.data,r.version)||(n=this._getOrReturnCtx(e,n),O8(n,{validation:`cidr`,code:$.invalid_string,message:r.message}),t.dirty()):r.kind===`base64`?die.test(e.data)||(n=this._getOrReturnCtx(e,n),O8(n,{validation:`base64`,code:$.invalid_string,message:r.message}),t.dirty()):r.kind===`base64url`?fie.test(e.data)||(n=this._getOrReturnCtx(e,n),O8(n,{validation:`base64url`,code:$.invalid_string,message:r.message}),t.dirty()):x8.assertNever(r);return{status:t.value,value:e.data}}_regex(e,t,n){return this.refinement(t=>e.test(t),{validation:t,code:$.invalid_string,...L8.errToObj(n)})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}email(e){return this._addCheck({kind:`email`,...L8.errToObj(e)})}url(e){return this._addCheck({kind:`url`,...L8.errToObj(e)})}emoji(e){return this._addCheck({kind:`emoji`,...L8.errToObj(e)})}uuid(e){return this._addCheck({kind:`uuid`,...L8.errToObj(e)})}nanoid(e){return this._addCheck({kind:`nanoid`,...L8.errToObj(e)})}cuid(e){return this._addCheck({kind:`cuid`,...L8.errToObj(e)})}cuid2(e){return this._addCheck({kind:`cuid2`,...L8.errToObj(e)})}ulid(e){return this._addCheck({kind:`ulid`,...L8.errToObj(e)})}base64(e){return this._addCheck({kind:`base64`,...L8.errToObj(e)})}base64url(e){return this._addCheck({kind:`base64url`,...L8.errToObj(e)})}jwt(e){return this._addCheck({kind:`jwt`,...L8.errToObj(e)})}ip(e){return this._addCheck({kind:`ip`,...L8.errToObj(e)})}cidr(e){return this._addCheck({kind:`cidr`,...L8.errToObj(e)})}datetime(e){return typeof e==`string`?this._addCheck({kind:`datetime`,precision:null,offset:!1,local:!1,message:e}):this._addCheck({kind:`datetime`,precision:e?.precision===void 0?null:e?.precision,offset:e?.offset??!1,local:e?.local??!1,...L8.errToObj(e?.message)})}date(e){return this._addCheck({kind:`date`,message:e})}time(e){return typeof e==`string`?this._addCheck({kind:`time`,precision:null,message:e}):this._addCheck({kind:`time`,precision:e?.precision===void 0?null:e?.precision,...L8.errToObj(e?.message)})}duration(e){return this._addCheck({kind:`duration`,...L8.errToObj(e)})}regex(e,t){return this._addCheck({kind:`regex`,regex:e,...L8.errToObj(t)})}includes(e,t){return this._addCheck({kind:`includes`,value:e,position:t?.position,...L8.errToObj(t?.message)})}startsWith(e,t){return this._addCheck({kind:`startsWith`,value:e,...L8.errToObj(t)})}endsWith(e,t){return this._addCheck({kind:`endsWith`,value:e,...L8.errToObj(t)})}min(e,t){return this._addCheck({kind:`min`,value:e,...L8.errToObj(t)})}max(e,t){return this._addCheck({kind:`max`,value:e,...L8.errToObj(t)})}length(e,t){return this._addCheck({kind:`length`,value:e,...L8.errToObj(t)})}nonempty(e){return this.min(1,L8.errToObj(e))}trim(){return new e({...this._def,checks:[...this._def.checks,{kind:`trim`}]})}toLowerCase(){return new e({...this._def,checks:[...this._def.checks,{kind:`toLowerCase`}]})}toUpperCase(){return new e({...this._def,checks:[...this._def.checks,{kind:`toUpperCase`}]})}get isDatetime(){return!!this._def.checks.find(e=>e.kind===`datetime`)}get isDate(){return!!this._def.checks.find(e=>e.kind===`date`)}get isTime(){return!!this._def.checks.find(e=>e.kind===`time`)}get isDuration(){return!!this._def.checks.find(e=>e.kind===`duration`)}get isEmail(){return!!this._def.checks.find(e=>e.kind===`email`)}get isURL(){return!!this._def.checks.find(e=>e.kind===`url`)}get isEmoji(){return!!this._def.checks.find(e=>e.kind===`emoji`)}get isUUID(){return!!this._def.checks.find(e=>e.kind===`uuid`)}get isNANOID(){return!!this._def.checks.find(e=>e.kind===`nanoid`)}get isCUID(){return!!this._def.checks.find(e=>e.kind===`cuid`)}get isCUID2(){return!!this._def.checks.find(e=>e.kind===`cuid2`)}get isULID(){return!!this._def.checks.find(e=>e.kind===`ulid`)}get isIP(){return!!this._def.checks.find(e=>e.kind===`ip`)}get isCIDR(){return!!this._def.checks.find(e=>e.kind===`cidr`)}get isBase64(){return!!this._def.checks.find(e=>e.kind===`base64`)}get isBase64url(){return!!this._def.checks.find(e=>e.kind===`base64url`)}get minLength(){let e=null;for(let t of this._def.checks)t.kind===`min`&&(e===null||t.value>e)&&(e=t.value);return e}get maxLength(){let e=null;for(let t of this._def.checks)t.kind===`max`&&(e===null||t.value<e)&&(e=t.value);return e}};G8.create=e=>new G8({checks:[],typeName:O5.ZodString,coerce:e?.coerce??!1,...B8(e)});function yie(e,t){let n=(e.toString().split(`.`)[1]||``).length,r=(t.toString().split(`.`)[1]||``).length,i=n>r?n:r;return Number.parseInt(e.toFixed(i).replace(`.`,``))%Number.parseInt(t.toFixed(i).replace(`.`,``))/10**i}var K8=class e extends V8{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(e){if(this._def.coerce&&(e.data=Number(e.data)),this._getType(e)!==S8.number){let t=this._getOrReturnCtx(e);return O8(t,{code:$.invalid_type,expected:S8.number,received:t.parsedType}),A8}let t,n=new k8;for(let r of this._def.checks)r.kind===`int`?x8.isInteger(e.data)||(t=this._getOrReturnCtx(e,t),O8(t,{code:$.invalid_type,expected:`integer`,received:`float`,message:r.message}),n.dirty()):r.kind===`min`?(r.inclusive?e.data<r.value:e.data<=r.value)&&(t=this._getOrReturnCtx(e,t),O8(t,{code:$.too_small,minimum:r.value,type:`number`,inclusive:r.inclusive,exact:!1,message:r.message}),n.dirty()):r.kind===`max`?(r.inclusive?e.data>r.value:e.data>=r.value)&&(t=this._getOrReturnCtx(e,t),O8(t,{code:$.too_big,maximum:r.value,type:`number`,inclusive:r.inclusive,exact:!1,message:r.message}),n.dirty()):r.kind===`multipleOf`?yie(e.data,r.value)!==0&&(t=this._getOrReturnCtx(e,t),O8(t,{code:$.not_multiple_of,multipleOf:r.value,message:r.message}),n.dirty()):r.kind===`finite`?Number.isFinite(e.data)||(t=this._getOrReturnCtx(e,t),O8(t,{code:$.not_finite,message:r.message}),n.dirty()):x8.assertNever(r);return{status:n.value,value:e.data}}gte(e,t){return this.setLimit(`min`,e,!0,L8.toString(t))}gt(e,t){return this.setLimit(`min`,e,!1,L8.toString(t))}lte(e,t){return this.setLimit(`max`,e,!0,L8.toString(t))}lt(e,t){return this.setLimit(`max`,e,!1,L8.toString(t))}setLimit(t,n,r,i){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:L8.toString(i)}]})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}int(e){return this._addCheck({kind:`int`,message:L8.toString(e)})}positive(e){return this._addCheck({kind:`min`,value:0,inclusive:!1,message:L8.toString(e)})}negative(e){return this._addCheck({kind:`max`,value:0,inclusive:!1,message:L8.toString(e)})}nonpositive(e){return this._addCheck({kind:`max`,value:0,inclusive:!0,message:L8.toString(e)})}nonnegative(e){return this._addCheck({kind:`min`,value:0,inclusive:!0,message:L8.toString(e)})}multipleOf(e,t){return this._addCheck({kind:`multipleOf`,value:e,message:L8.toString(t)})}finite(e){return this._addCheck({kind:`finite`,message:L8.toString(e)})}safe(e){return this._addCheck({kind:`min`,inclusive:!0,value:-(2**53-1),message:L8.toString(e)})._addCheck({kind:`max`,inclusive:!0,value:2**53-1,message:L8.toString(e)})}get minValue(){let e=null;for(let t of this._def.checks)t.kind===`min`&&(e===null||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(let t of this._def.checks)t.kind===`max`&&(e===null||t.value<e)&&(e=t.value);return e}get isInt(){return!!this._def.checks.find(e=>e.kind===`int`||e.kind===`multipleOf`&&x8.isInteger(e.value))}get isFinite(){let e=null,t=null;for(let n of this._def.checks)if(n.kind===`finite`||n.kind===`int`||n.kind===`multipleOf`)return!0;else n.kind===`min`?(t===null||n.value>t)&&(t=n.value):n.kind===`max`&&(e===null||n.value<e)&&(e=n.value);return Number.isFinite(t)&&Number.isFinite(e)}};K8.create=e=>new K8({checks:[],typeName:O5.ZodNumber,coerce:e?.coerce||!1,...B8(e)});var q8=class e extends V8{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(e){if(this._def.coerce)try{e.data=BigInt(e.data)}catch{return this._getInvalidInput(e)}if(this._getType(e)!==S8.bigint)return this._getInvalidInput(e);let t,n=new k8;for(let r of this._def.checks)r.kind===`min`?(r.inclusive?e.data<r.value:e.data<=r.value)&&(t=this._getOrReturnCtx(e,t),O8(t,{code:$.too_small,type:`bigint`,minimum:r.value,inclusive:r.inclusive,message:r.message}),n.dirty()):r.kind===`max`?(r.inclusive?e.data>r.value:e.data>=r.value)&&(t=this._getOrReturnCtx(e,t),O8(t,{code:$.too_big,type:`bigint`,maximum:r.value,inclusive:r.inclusive,message:r.message}),n.dirty()):r.kind===`multipleOf`?e.data%r.value!==BigInt(0)&&(t=this._getOrReturnCtx(e,t),O8(t,{code:$.not_multiple_of,multipleOf:r.value,message:r.message}),n.dirty()):x8.assertNever(r);return{status:n.value,value:e.data}}_getInvalidInput(e){let t=this._getOrReturnCtx(e);return O8(t,{code:$.invalid_type,expected:S8.bigint,received:t.parsedType}),A8}gte(e,t){return this.setLimit(`min`,e,!0,L8.toString(t))}gt(e,t){return this.setLimit(`min`,e,!1,L8.toString(t))}lte(e,t){return this.setLimit(`max`,e,!0,L8.toString(t))}lt(e,t){return this.setLimit(`max`,e,!1,L8.toString(t))}setLimit(t,n,r,i){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:L8.toString(i)}]})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}positive(e){return this._addCheck({kind:`min`,value:BigInt(0),inclusive:!1,message:L8.toString(e)})}negative(e){return this._addCheck({kind:`max`,value:BigInt(0),inclusive:!1,message:L8.toString(e)})}nonpositive(e){return this._addCheck({kind:`max`,value:BigInt(0),inclusive:!0,message:L8.toString(e)})}nonnegative(e){return this._addCheck({kind:`min`,value:BigInt(0),inclusive:!0,message:L8.toString(e)})}multipleOf(e,t){return this._addCheck({kind:`multipleOf`,value:e,message:L8.toString(t)})}get minValue(){let e=null;for(let t of this._def.checks)t.kind===`min`&&(e===null||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(let t of this._def.checks)t.kind===`max`&&(e===null||t.value<e)&&(e=t.value);return e}};q8.create=e=>new q8({checks:[],typeName:O5.ZodBigInt,coerce:e?.coerce??!1,...B8(e)});var J8=class extends V8{_parse(e){if(this._def.coerce&&(e.data=!!e.data),this._getType(e)!==S8.boolean){let t=this._getOrReturnCtx(e);return O8(t,{code:$.invalid_type,expected:S8.boolean,received:t.parsedType}),A8}return M8(e.data)}};J8.create=e=>new J8({typeName:O5.ZodBoolean,coerce:e?.coerce||!1,...B8(e)});var Y8=class e extends V8{_parse(e){if(this._def.coerce&&(e.data=new Date(e.data)),this._getType(e)!==S8.date){let t=this._getOrReturnCtx(e);return O8(t,{code:$.invalid_type,expected:S8.date,received:t.parsedType}),A8}if(Number.isNaN(e.data.getTime()))return O8(this._getOrReturnCtx(e),{code:$.invalid_date}),A8;let t=new k8,n;for(let r of this._def.checks)r.kind===`min`?e.data.getTime()<r.value&&(n=this._getOrReturnCtx(e,n),O8(n,{code:$.too_small,message:r.message,inclusive:!0,exact:!1,minimum:r.value,type:`date`}),t.dirty()):r.kind===`max`?e.data.getTime()>r.value&&(n=this._getOrReturnCtx(e,n),O8(n,{code:$.too_big,message:r.message,inclusive:!0,exact:!1,maximum:r.value,type:`date`}),t.dirty()):x8.assertNever(r);return{status:t.value,value:new Date(e.data.getTime())}}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}min(e,t){return this._addCheck({kind:`min`,value:e.getTime(),message:L8.toString(t)})}max(e,t){return this._addCheck({kind:`max`,value:e.getTime(),message:L8.toString(t)})}get minDate(){let e=null;for(let t of this._def.checks)t.kind===`min`&&(e===null||t.value>e)&&(e=t.value);return e==null?null:new Date(e)}get maxDate(){let e=null;for(let t of this._def.checks)t.kind===`max`&&(e===null||t.value<e)&&(e=t.value);return e==null?null:new Date(e)}};Y8.create=e=>new Y8({checks:[],coerce:e?.coerce||!1,typeName:O5.ZodDate,...B8(e)});var X8=class extends V8{_parse(e){if(this._getType(e)!==S8.symbol){let t=this._getOrReturnCtx(e);return O8(t,{code:$.invalid_type,expected:S8.symbol,received:t.parsedType}),A8}return M8(e.data)}};X8.create=e=>new X8({typeName:O5.ZodSymbol,...B8(e)});var Z8=class extends V8{_parse(e){if(this._getType(e)!==S8.undefined){let t=this._getOrReturnCtx(e);return O8(t,{code:$.invalid_type,expected:S8.undefined,received:t.parsedType}),A8}return M8(e.data)}};Z8.create=e=>new Z8({typeName:O5.ZodUndefined,...B8(e)});var Q8=class extends V8{_parse(e){if(this._getType(e)!==S8.null){let t=this._getOrReturnCtx(e);return O8(t,{code:$.invalid_type,expected:S8.null,received:t.parsedType}),A8}return M8(e.data)}};Q8.create=e=>new Q8({typeName:O5.ZodNull,...B8(e)});var $8=class extends V8{constructor(){super(...arguments),this._any=!0}_parse(e){return M8(e.data)}};$8.create=e=>new $8({typeName:O5.ZodAny,...B8(e)});var e5=class extends V8{constructor(){super(...arguments),this._unknown=!0}_parse(e){return M8(e.data)}};e5.create=e=>new e5({typeName:O5.ZodUnknown,...B8(e)});var t5=class extends V8{_parse(e){let t=this._getOrReturnCtx(e);return O8(t,{code:$.invalid_type,expected:S8.never,received:t.parsedType}),A8}};t5.create=e=>new t5({typeName:O5.ZodNever,...B8(e)});var n5=class extends V8{_parse(e){if(this._getType(e)!==S8.undefined){let t=this._getOrReturnCtx(e);return O8(t,{code:$.invalid_type,expected:S8.void,received:t.parsedType}),A8}return M8(e.data)}};n5.create=e=>new n5({typeName:O5.ZodVoid,...B8(e)});var r5=class e extends V8{_parse(e){let{ctx:t,status:n}=this._processInputParams(e),r=this._def;if(t.parsedType!==S8.array)return O8(t,{code:$.invalid_type,expected:S8.array,received:t.parsedType}),A8;if(r.exactLength!==null){let e=t.data.length>r.exactLength.value,i=t.data.length<r.exactLength.value;(e||i)&&(O8(t,{code:e?$.too_big:$.too_small,minimum:i?r.exactLength.value:void 0,maximum:e?r.exactLength.value:void 0,type:`array`,inclusive:!0,exact:!0,message:r.exactLength.message}),n.dirty())}if(r.minLength!==null&&t.data.length<r.minLength.value&&(O8(t,{code:$.too_small,minimum:r.minLength.value,type:`array`,inclusive:!0,exact:!1,message:r.minLength.message}),n.dirty()),r.maxLength!==null&&t.data.length>r.maxLength.value&&(O8(t,{code:$.too_big,maximum:r.maxLength.value,type:`array`,inclusive:!0,exact:!1,message:r.maxLength.message}),n.dirty()),t.common.async)return Promise.all([...t.data].map((e,n)=>r.type._parseAsync(new R8(t,e,t.path,n)))).then(e=>k8.mergeArray(n,e));let i=[...t.data].map((e,n)=>r.type._parseSync(new R8(t,e,t.path,n)));return k8.mergeArray(n,i)}get element(){return this._def.type}min(t,n){return new e({...this._def,minLength:{value:t,message:L8.toString(n)}})}max(t,n){return new e({...this._def,maxLength:{value:t,message:L8.toString(n)}})}length(t,n){return new e({...this._def,exactLength:{value:t,message:L8.toString(n)}})}nonempty(e){return this.min(1,e)}};r5.create=(e,t)=>new r5({type:e,minLength:null,maxLength:null,exactLength:null,typeName:O5.ZodArray,...B8(t)});function i5(e){if(e instanceof a5){let t={};for(let n in e.shape){let r=e.shape[n];t[n]=b5.create(i5(r))}return new a5({...e._def,shape:()=>t})}return e instanceof r5?new r5({...e._def,type:i5(e.element)}):e instanceof b5?b5.create(i5(e.unwrap())):e instanceof x5?x5.create(i5(e.unwrap())):e instanceof u5?u5.create(e.items.map(e=>i5(e))):e}var a5=class e extends V8{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let e=this._def.shape(),t=x8.objectKeys(e);return this._cached={shape:e,keys:t},this._cached}_parse(e){if(this._getType(e)!==S8.object){let t=this._getOrReturnCtx(e);return O8(t,{code:$.invalid_type,expected:S8.object,received:t.parsedType}),A8}let{status:t,ctx:n}=this._processInputParams(e),{shape:r,keys:i}=this._getCached(),a=[];if(!(this._def.catchall instanceof t5&&this._def.unknownKeys===`strip`))for(let e in n.data)i.includes(e)||a.push(e);let o=[];for(let e of i){let t=r[e],i=n.data[e];o.push({key:{status:`valid`,value:e},value:t._parse(new R8(n,i,n.path,e)),alwaysSet:e in n.data})}if(this._def.catchall instanceof t5){let e=this._def.unknownKeys;if(e===`passthrough`)for(let e of a)o.push({key:{status:`valid`,value:e},value:{status:`valid`,value:n.data[e]}});else if(e===`strict`)a.length>0&&(O8(n,{code:$.unrecognized_keys,keys:a}),t.dirty());else if(e!==`strip`)throw Error(`Internal ZodObject error: invalid unknownKeys value.`)}else{let e=this._def.catchall;for(let t of a){let r=n.data[t];o.push({key:{status:`valid`,value:t},value:e._parse(new R8(n,r,n.path,t)),alwaysSet:t in n.data})}}return n.common.async?Promise.resolve().then(async()=>{let e=[];for(let t of o){let n=await t.key,r=await t.value;e.push({key:n,value:r,alwaysSet:t.alwaysSet})}return e}).then(e=>k8.mergeObjectSync(t,e)):k8.mergeObjectSync(t,o)}get shape(){return this._def.shape()}strict(t){return L8.errToObj,new e({...this._def,unknownKeys:`strict`,...t===void 0?{}:{errorMap:(e,n)=>{let r=this._def.errorMap?.(e,n).message??n.defaultError;return e.code===`unrecognized_keys`?{message:L8.errToObj(t).message??r}:{message:r}}}})}strip(){return new e({...this._def,unknownKeys:`strip`})}passthrough(){return new e({...this._def,unknownKeys:`passthrough`})}extend(t){return new e({...this._def,shape:()=>({...this._def.shape(),...t})})}merge(t){return new e({unknownKeys:t._def.unknownKeys,catchall:t._def.catchall,shape:()=>({...this._def.shape(),...t._def.shape()}),typeName:O5.ZodObject})}setKey(e,t){return this.augment({[e]:t})}catchall(t){return new e({...this._def,catchall:t})}pick(t){let n={};for(let e of x8.objectKeys(t))t[e]&&this.shape[e]&&(n[e]=this.shape[e]);return new e({...this._def,shape:()=>n})}omit(t){let n={};for(let e of x8.objectKeys(this.shape))t[e]||(n[e]=this.shape[e]);return new e({...this._def,shape:()=>n})}deepPartial(){return i5(this)}partial(t){let n={};for(let e of x8.objectKeys(this.shape)){let r=this.shape[e];n[e]=t&&!t[e]?r:r.optional()}return new e({...this._def,shape:()=>n})}required(t){let n={};for(let e of x8.objectKeys(this.shape))if(t&&!t[e])n[e]=this.shape[e];else{let t=this.shape[e];for(;t instanceof b5;)t=t._def.innerType;n[e]=t}return new e({...this._def,shape:()=>n})}keyof(){return h5(x8.objectKeys(this.shape))}};a5.create=(e,t)=>new a5({shape:()=>e,unknownKeys:`strip`,catchall:t5.create(),typeName:O5.ZodObject,...B8(t)}),a5.strictCreate=(e,t)=>new a5({shape:()=>e,unknownKeys:`strict`,catchall:t5.create(),typeName:O5.ZodObject,...B8(t)}),a5.lazycreate=(e,t)=>new a5({shape:e,unknownKeys:`strip`,catchall:t5.create(),typeName:O5.ZodObject,...B8(t)});var o5=class extends V8{_parse(e){let{ctx:t}=this._processInputParams(e),n=this._def.options;function r(e){for(let t of e)if(t.result.status===`valid`)return t.result;for(let n of e)if(n.result.status===`dirty`)return t.common.issues.push(...n.ctx.common.issues),n.result;let n=e.map(e=>new w8(e.ctx.common.issues));return O8(t,{code:$.invalid_union,unionErrors:n}),A8}if(t.common.async)return Promise.all(n.map(async e=>{let n={...t,common:{...t.common,issues:[]},parent:null};return{result:await e._parseAsync({data:t.data,path:t.path,parent:n}),ctx:n}})).then(r);{let e,r=[];for(let i of n){let n={...t,common:{...t.common,issues:[]},parent:null},a=i._parseSync({data:t.data,path:t.path,parent:n});if(a.status===`valid`)return a;a.status===`dirty`&&!e&&(e={result:a,ctx:n}),n.common.issues.length&&r.push(n.common.issues)}if(e)return t.common.issues.push(...e.ctx.common.issues),e.result;let i=r.map(e=>new w8(e));return O8(t,{code:$.invalid_union,unionErrors:i}),A8}}get options(){return this._def.options}};o5.create=(e,t)=>new o5({options:e,typeName:O5.ZodUnion,...B8(t)});var s5=e=>e instanceof p5?s5(e.schema):e instanceof y5?s5(e.innerType()):e instanceof m5?[e.value]:e instanceof g5?e.options:e instanceof _5?x8.objectValues(e.enum):e instanceof S5?s5(e._def.innerType):e instanceof Z8?[void 0]:e instanceof Q8?[null]:e instanceof b5?[void 0,...s5(e.unwrap())]:e instanceof x5?[null,...s5(e.unwrap())]:e instanceof T5||e instanceof D5?s5(e.unwrap()):e instanceof C5?s5(e._def.innerType):[],bie=class e extends V8{_parse(e){let{ctx:t}=this._processInputParams(e);if(t.parsedType!==S8.object)return O8(t,{code:$.invalid_type,expected:S8.object,received:t.parsedType}),A8;let n=this.discriminator,r=t.data[n],i=this.optionsMap.get(r);return i?t.common.async?i._parseAsync({data:t.data,path:t.path,parent:t}):i._parseSync({data:t.data,path:t.path,parent:t}):(O8(t,{code:$.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[n]}),A8)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(t,n,r){let i=new Map;for(let e of n){let n=s5(e.shape[t]);if(!n.length)throw Error(`A discriminator value for key \`${t}\` could not be extracted from all schema options`);for(let r of n){if(i.has(r))throw Error(`Discriminator property ${String(t)} has duplicate value ${String(r)}`);i.set(r,e)}}return new e({typeName:O5.ZodDiscriminatedUnion,discriminator:t,options:n,optionsMap:i,...B8(r)})}};function c5(e,t){let n=C8(e),r=C8(t);if(e===t)return{valid:!0,data:e};if(n===S8.object&&r===S8.object){let n=x8.objectKeys(t),r=x8.objectKeys(e).filter(e=>n.indexOf(e)!==-1),i={...e,...t};for(let n of r){let r=c5(e[n],t[n]);if(!r.valid)return{valid:!1};i[n]=r.data}return{valid:!0,data:i}}if(n===S8.array&&r===S8.array){if(e.length!==t.length)return{valid:!1};let n=[];for(let r=0;r<e.length;r++){let i=e[r],a=t[r],o=c5(i,a);if(!o.valid)return{valid:!1};n.push(o.data)}return{valid:!0,data:n}}return n===S8.date&&r===S8.date&&+e==+t?{valid:!0,data:e}:{valid:!1}}var l5=class extends V8{_parse(e){let{status:t,ctx:n}=this._processInputParams(e),r=(e,r)=>{if(N8(e)||N8(r))return A8;let i=c5(e.value,r.value);return i.valid?((P8(e)||P8(r))&&t.dirty(),{status:t.value,value:i.data}):(O8(n,{code:$.invalid_intersection_types}),A8)};return n.common.async?Promise.all([this._def.left._parseAsync({data:n.data,path:n.path,parent:n}),this._def.right._parseAsync({data:n.data,path:n.path,parent:n})]).then(([e,t])=>r(e,t)):r(this._def.left._parseSync({data:n.data,path:n.path,parent:n}),this._def.right._parseSync({data:n.data,path:n.path,parent:n}))}};l5.create=(e,t,n)=>new l5({left:e,right:t,typeName:O5.ZodIntersection,...B8(n)});var u5=class e extends V8{_parse(e){let{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==S8.array)return O8(n,{code:$.invalid_type,expected:S8.array,received:n.parsedType}),A8;if(n.data.length<this._def.items.length)return O8(n,{code:$.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:`array`}),A8;!this._def.rest&&n.data.length>this._def.items.length&&(O8(n,{code:$.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:`array`}),t.dirty());let r=[...n.data].map((e,t)=>{let r=this._def.items[t]||this._def.rest;return r?r._parse(new R8(n,e,n.path,t)):null}).filter(e=>!!e);return n.common.async?Promise.all(r).then(e=>k8.mergeArray(t,e)):k8.mergeArray(t,r)}get items(){return this._def.items}rest(t){return new e({...this._def,rest:t})}};u5.create=(e,t)=>{if(!Array.isArray(e))throw Error(`You must pass an array of schemas to z.tuple([ ... ])`);return new u5({items:e,typeName:O5.ZodTuple,rest:null,...B8(t)})};var xie=class e extends V8{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==S8.object)return O8(n,{code:$.invalid_type,expected:S8.object,received:n.parsedType}),A8;let r=[],i=this._def.keyType,a=this._def.valueType;for(let e in n.data)r.push({key:i._parse(new R8(n,e,n.path,e)),value:a._parse(new R8(n,n.data[e],n.path,e)),alwaysSet:e in n.data});return n.common.async?k8.mergeObjectAsync(t,r):k8.mergeObjectSync(t,r)}get element(){return this._def.valueType}static create(t,n,r){return n instanceof V8?new e({keyType:t,valueType:n,typeName:O5.ZodRecord,...B8(r)}):new e({keyType:G8.create(),valueType:t,typeName:O5.ZodRecord,...B8(n)})}},d5=class extends V8{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==S8.map)return O8(n,{code:$.invalid_type,expected:S8.map,received:n.parsedType}),A8;let r=this._def.keyType,i=this._def.valueType,a=[...n.data.entries()].map(([e,t],a)=>({key:r._parse(new R8(n,e,n.path,[a,`key`])),value:i._parse(new R8(n,t,n.path,[a,`value`]))}));if(n.common.async){let e=new Map;return Promise.resolve().then(async()=>{for(let n of a){let r=await n.key,i=await n.value;if(r.status===`aborted`||i.status===`aborted`)return A8;(r.status===`dirty`||i.status===`dirty`)&&t.dirty(),e.set(r.value,i.value)}return{status:t.value,value:e}})}{let e=new Map;for(let n of a){let r=n.key,i=n.value;if(r.status===`aborted`||i.status===`aborted`)return A8;(r.status===`dirty`||i.status===`dirty`)&&t.dirty(),e.set(r.value,i.value)}return{status:t.value,value:e}}}};d5.create=(e,t,n)=>new d5({valueType:t,keyType:e,typeName:O5.ZodMap,...B8(n)});var f5=class e extends V8{_parse(e){let{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==S8.set)return O8(n,{code:$.invalid_type,expected:S8.set,received:n.parsedType}),A8;let r=this._def;r.minSize!==null&&n.data.size<r.minSize.value&&(O8(n,{code:$.too_small,minimum:r.minSize.value,type:`set`,inclusive:!0,exact:!1,message:r.minSize.message}),t.dirty()),r.maxSize!==null&&n.data.size>r.maxSize.value&&(O8(n,{code:$.too_big,maximum:r.maxSize.value,type:`set`,inclusive:!0,exact:!1,message:r.maxSize.message}),t.dirty());let i=this._def.valueType;function a(e){let n=new Set;for(let r of e){if(r.status===`aborted`)return A8;r.status===`dirty`&&t.dirty(),n.add(r.value)}return{status:t.value,value:n}}let o=[...n.data.values()].map((e,t)=>i._parse(new R8(n,e,n.path,t)));return n.common.async?Promise.all(o).then(e=>a(e)):a(o)}min(t,n){return new e({...this._def,minSize:{value:t,message:L8.toString(n)}})}max(t,n){return new e({...this._def,maxSize:{value:t,message:L8.toString(n)}})}size(e,t){return this.min(e,t).max(e,t)}nonempty(e){return this.min(1,e)}};f5.create=(e,t)=>new f5({valueType:e,minSize:null,maxSize:null,typeName:O5.ZodSet,...B8(t)});var Sie=class e extends V8{constructor(){super(...arguments),this.validate=this.implement}_parse(e){let{ctx:t}=this._processInputParams(e);if(t.parsedType!==S8.function)return O8(t,{code:$.invalid_type,expected:S8.function,received:t.parsedType}),A8;function n(e,n){return D8({data:e,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,E8(),T8].filter(e=>!!e),issueData:{code:$.invalid_arguments,argumentsError:n}})}function r(e,n){return D8({data:e,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,E8(),T8].filter(e=>!!e),issueData:{code:$.invalid_return_type,returnTypeError:n}})}let i={errorMap:t.common.contextualErrorMap},a=t.data;if(this._def.returns instanceof v5){let e=this;return M8(async function(...t){let o=new w8([]),s=await e._def.args.parseAsync(t,i).catch(e=>{throw o.addIssue(n(t,e)),o}),c=await Reflect.apply(a,this,s);return await e._def.returns._def.type.parseAsync(c,i).catch(e=>{throw o.addIssue(r(c,e)),o})})}{let e=this;return M8(function(...t){let o=e._def.args.safeParse(t,i);if(!o.success)throw new w8([n(t,o.error)]);let s=Reflect.apply(a,this,o.data),c=e._def.returns.safeParse(s,i);if(!c.success)throw new w8([r(s,c.error)]);return c.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...t){return new e({...this._def,args:u5.create(t).rest(e5.create())})}returns(t){return new e({...this._def,returns:t})}implement(e){return this.parse(e)}strictImplement(e){return this.parse(e)}static create(t,n,r){return new e({args:t||u5.create([]).rest(e5.create()),returns:n||e5.create(),typeName:O5.ZodFunction,...B8(r)})}},p5=class extends V8{get schema(){return this._def.getter()}_parse(e){let{ctx:t}=this._processInputParams(e);return this._def.getter()._parse({data:t.data,path:t.path,parent:t})}};p5.create=(e,t)=>new p5({getter:e,typeName:O5.ZodLazy,...B8(t)});var m5=class extends V8{_parse(e){if(e.data!==this._def.value){let t=this._getOrReturnCtx(e);return O8(t,{received:t.data,code:$.invalid_literal,expected:this._def.value}),A8}return{status:`valid`,value:e.data}}get value(){return this._def.value}};m5.create=(e,t)=>new m5({value:e,typeName:O5.ZodLiteral,...B8(t)});function h5(e,t){return new g5({values:e,typeName:O5.ZodEnum,...B8(t)})}var g5=class e extends V8{_parse(e){if(typeof e.data!=`string`){let t=this._getOrReturnCtx(e),n=this._def.values;return O8(t,{expected:x8.joinValues(n),received:t.parsedType,code:$.invalid_type}),A8}if(this._cache||=new Set(this._def.values),!this._cache.has(e.data)){let t=this._getOrReturnCtx(e),n=this._def.values;return O8(t,{received:t.data,code:$.invalid_enum_value,options:n}),A8}return M8(e.data)}get options(){return this._def.values}get enum(){let e={};for(let t of this._def.values)e[t]=t;return e}get Values(){let e={};for(let t of this._def.values)e[t]=t;return e}get Enum(){let e={};for(let t of this._def.values)e[t]=t;return e}extract(t,n=this._def){return e.create(t,{...this._def,...n})}exclude(t,n=this._def){return e.create(this.options.filter(e=>!t.includes(e)),{...this._def,...n})}};g5.create=h5;var _5=class extends V8{_parse(e){let t=x8.getValidEnumValues(this._def.values),n=this._getOrReturnCtx(e);if(n.parsedType!==S8.string&&n.parsedType!==S8.number){let e=x8.objectValues(t);return O8(n,{expected:x8.joinValues(e),received:n.parsedType,code:$.invalid_type}),A8}if(this._cache||=new Set(x8.getValidEnumValues(this._def.values)),!this._cache.has(e.data)){let e=x8.objectValues(t);return O8(n,{received:n.data,code:$.invalid_enum_value,options:e}),A8}return M8(e.data)}get enum(){return this._def.values}};_5.create=(e,t)=>new _5({values:e,typeName:O5.ZodNativeEnum,...B8(t)});var v5=class extends V8{unwrap(){return this._def.type}_parse(e){let{ctx:t}=this._processInputParams(e);return t.parsedType!==S8.promise&&t.common.async===!1?(O8(t,{code:$.invalid_type,expected:S8.promise,received:t.parsedType}),A8):M8((t.parsedType===S8.promise?t.data:Promise.resolve(t.data)).then(e=>this._def.type.parseAsync(e,{path:t.path,errorMap:t.common.contextualErrorMap})))}};v5.create=(e,t)=>new v5({type:e,typeName:O5.ZodPromise,...B8(t)});var y5=class extends V8{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===O5.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){let{status:t,ctx:n}=this._processInputParams(e),r=this._def.effect||null,i={addIssue:e=>{O8(n,e),e.fatal?t.abort():t.dirty()},get path(){return n.path}};if(i.addIssue=i.addIssue.bind(i),r.type===`preprocess`){let e=r.transform(n.data,i);if(n.common.async)return Promise.resolve(e).then(async e=>{if(t.value===`aborted`)return A8;let r=await this._def.schema._parseAsync({data:e,path:n.path,parent:n});return r.status===`aborted`?A8:r.status===`dirty`||t.value===`dirty`?j8(r.value):r});{if(t.value===`aborted`)return A8;let r=this._def.schema._parseSync({data:e,path:n.path,parent:n});return r.status===`aborted`?A8:r.status===`dirty`||t.value===`dirty`?j8(r.value):r}}if(r.type===`refinement`){let e=e=>{let t=r.refinement(e,i);if(n.common.async)return Promise.resolve(t);if(t instanceof Promise)throw Error(`Async refinement encountered during synchronous parse operation. Use .parseAsync instead.`);return e};if(n.common.async===!1){let r=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});return r.status===`aborted`?A8:(r.status===`dirty`&&t.dirty(),e(r.value),{status:t.value,value:r.value})}return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(n=>n.status===`aborted`?A8:(n.status===`dirty`&&t.dirty(),e(n.value).then(()=>({status:t.value,value:n.value}))))}if(r.type===`transform`){if(n.common.async===!1){let e=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});if(!F8(e))return A8;let a=r.transform(e.value,i);if(a instanceof Promise)throw Error(`Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.`);return{status:t.value,value:a}}return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(e=>F8(e)?Promise.resolve(r.transform(e.value,i)).then(e=>({status:t.value,value:e})):A8)}x8.assertNever(r)}};y5.create=(e,t,n)=>new y5({schema:e,typeName:O5.ZodEffects,effect:t,...B8(n)}),y5.createWithPreprocess=(e,t,n)=>new y5({schema:t,effect:{type:`preprocess`,transform:e},typeName:O5.ZodEffects,...B8(n)});var b5=class extends V8{_parse(e){return this._getType(e)===S8.undefined?M8(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};b5.create=(e,t)=>new b5({innerType:e,typeName:O5.ZodOptional,...B8(t)});var x5=class extends V8{_parse(e){return this._getType(e)===S8.null?M8(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};x5.create=(e,t)=>new x5({innerType:e,typeName:O5.ZodNullable,...B8(t)});var S5=class extends V8{_parse(e){let{ctx:t}=this._processInputParams(e),n=t.data;return t.parsedType===S8.undefined&&(n=this._def.defaultValue()),this._def.innerType._parse({data:n,path:t.path,parent:t})}removeDefault(){return this._def.innerType}};S5.create=(e,t)=>new S5({innerType:e,typeName:O5.ZodDefault,defaultValue:typeof t.default==`function`?t.default:()=>t.default,...B8(t)});var C5=class extends V8{_parse(e){let{ctx:t}=this._processInputParams(e),n={...t,common:{...t.common,issues:[]}},r=this._def.innerType._parse({data:n.data,path:n.path,parent:{...n}});return I8(r)?r.then(e=>({status:`valid`,value:e.status===`valid`?e.value:this._def.catchValue({get error(){return new w8(n.common.issues)},input:n.data})})):{status:`valid`,value:r.status===`valid`?r.value:this._def.catchValue({get error(){return new w8(n.common.issues)},input:n.data})}}removeCatch(){return this._def.innerType}};C5.create=(e,t)=>new C5({innerType:e,typeName:O5.ZodCatch,catchValue:typeof t.catch==`function`?t.catch:()=>t.catch,...B8(t)});var w5=class extends V8{_parse(e){if(this._getType(e)!==S8.nan){let t=this._getOrReturnCtx(e);return O8(t,{code:$.invalid_type,expected:S8.nan,received:t.parsedType}),A8}return{status:`valid`,value:e.data}}};w5.create=e=>new w5({typeName:O5.ZodNaN,...B8(e)});var T5=class extends V8{_parse(e){let{ctx:t}=this._processInputParams(e),n=t.data;return this._def.type._parse({data:n,path:t.path,parent:t})}unwrap(){return this._def.type}},E5=class e extends V8{_parse(e){let{status:t,ctx:n}=this._processInputParams(e);if(n.common.async)return(async()=>{let e=await this._def.in._parseAsync({data:n.data,path:n.path,parent:n});return e.status===`aborted`?A8:e.status===`dirty`?(t.dirty(),j8(e.value)):this._def.out._parseAsync({data:e.value,path:n.path,parent:n})})();{let e=this._def.in._parseSync({data:n.data,path:n.path,parent:n});return e.status===`aborted`?A8:e.status===`dirty`?(t.dirty(),{status:`dirty`,value:e.value}):this._def.out._parseSync({data:e.value,path:n.path,parent:n})}}static create(t,n){return new e({in:t,out:n,typeName:O5.ZodPipeline})}},D5=class extends V8{_parse(e){let t=this._def.innerType._parse(e),n=e=>(F8(e)&&(e.value=Object.freeze(e.value)),e);return I8(t)?t.then(e=>n(e)):n(t)}unwrap(){return this._def.innerType}};D5.create=(e,t)=>new D5({innerType:e,typeName:O5.ZodReadonly,...B8(t)}),a5.lazycreate;var O5;(function(e){e.ZodString=`ZodString`,e.ZodNumber=`ZodNumber`,e.ZodNaN=`ZodNaN`,e.ZodBigInt=`ZodBigInt`,e.ZodBoolean=`ZodBoolean`,e.ZodDate=`ZodDate`,e.ZodSymbol=`ZodSymbol`,e.ZodUndefined=`ZodUndefined`,e.ZodNull=`ZodNull`,e.ZodAny=`ZodAny`,e.ZodUnknown=`ZodUnknown`,e.ZodNever=`ZodNever`,e.ZodVoid=`ZodVoid`,e.ZodArray=`ZodArray`,e.ZodObject=`ZodObject`,e.ZodUnion=`ZodUnion`,e.ZodDiscriminatedUnion=`ZodDiscriminatedUnion`,e.ZodIntersection=`ZodIntersection`,e.ZodTuple=`ZodTuple`,e.ZodRecord=`ZodRecord`,e.ZodMap=`ZodMap`,e.ZodSet=`ZodSet`,e.ZodFunction=`ZodFunction`,e.ZodLazy=`ZodLazy`,e.ZodLiteral=`ZodLiteral`,e.ZodEnum=`ZodEnum`,e.ZodEffects=`ZodEffects`,e.ZodNativeEnum=`ZodNativeEnum`,e.ZodOptional=`ZodOptional`,e.ZodNullable=`ZodNullable`,e.ZodDefault=`ZodDefault`,e.ZodCatch=`ZodCatch`,e.ZodPromise=`ZodPromise`,e.ZodBranded=`ZodBranded`,e.ZodPipeline=`ZodPipeline`,e.ZodReadonly=`ZodReadonly`})(O5||={});var k5=G8.create;K8.create,w5.create,q8.create;var A5=J8.create;Y8.create,X8.create,Z8.create,Q8.create;var j5=$8.create;e5.create,t5.create,n5.create,r5.create;var M5=a5.create;a5.strictCreate,o5.create;var Cie=bie.create;l5.create,u5.create,xie.create,d5.create,f5.create,Sie.create,p5.create;var N5=m5.create,P5=g5.create;_5.create,v5.create,y5.create,b5.create,x5.create,y5.createWithPreprocess,E5.create;var wie=/^[v^~<>=]*?(\d+)(?:\.([x*]|\d+)(?:\.([x*]|\d+)(?:\.([x*]|\d+))?(?:-([\da-z\-]+(?:\.[\da-z\-]+)*))?(?:\+[\da-z\-]+(?:\.[\da-z\-]+)*)?)?)?$/i,F5=e=>{if(typeof e!=`string`)throw TypeError(`Invalid argument expected string`);let t=e.match(wie);if(!t)throw Error(`Invalid argument not valid semver ('${e}' received)`);return t.shift(),t},I5=e=>e===`*`||e===`x`||e===`X`,L5=e=>{let t=parseInt(e,10);return isNaN(t)?e:t},Tie=(e,t)=>typeof e==typeof t?[e,t]:[String(e),String(t)],Eie=(e,t)=>{if(I5(e)||I5(t))return 0;let[n,r]=Tie(L5(e),L5(t));return n>r?1:n<r?-1:0},R5=(e,t)=>{for(let n=0;n<Math.max(e.length,t.length);n++){let r=Eie(e[n]||`0`,t[n]||`0`);if(r!==0)return r}return 0},z5=(e,t)=>{let n=F5(e),r=F5(t),i=n.pop(),a=r.pop(),o=R5(n,r);return o===0?i&&a?R5(i.split(`.`),a.split(`.`)):i||a?i?-1:1:0:o},B5=e=>{if(typeof structuredClone==`function`)return structuredClone(e);try{return JSON.parse(JSON.stringify(e))}catch{return Array.isArray(e)?[...e]:{...e}}};function V5(){return WQ()}function H5(e){if(Object.freeze(e),typeof e==`object`&&e)for(let t of Object.values(e))typeof t==`object`&&t&&!Object.isFrozen(t)&&H5(t);return e}var U5=524288;function W5(e,t,n){let r=0,i=[e,t],a=new WeakSet;for(;i.length>0;){let e=i.pop();if(typeof e==`string`){if(r+=e.length,r>n)return!0}else if(typeof e==`object`&&e){if(a.has(e))continue;if(a.add(e),Array.isArray(e))for(let t=0;t<e.length;t++)i.push(e[t]);else{let t=Object.keys(e);for(let a=0;a<t.length;a++){let o=t[a];if(r+=o.length,r>n)return!0;i.push(e[o])}}}}return!1}async function G5(e,t,n,r){let i=typeof process<`u`&&!0,a=i&&!!{}.VITEST_WORKER_ID,o=i&&!!{}.VITEST_WORKER_ID,s=o&&!W5(t,n,U5),c=s?B5(t):t,l=s?B5(n):n,u=!1,d=!1,f;for(let t of e)try{s&&(H5(c),H5(l));let e=await r(t,c,l);if(e===void 0)continue;let n=!1;if(e.messages!==void 0&&e.messages!==c&&(c=B5(e.messages),u=!0,n=!0),e.state!==void 0&&e.state!==l&&(l=B5(e.state),d=!0,n=!0),s&&n&&W5(c,l,U5)&&(s=!1),f=e.stopPropagation,f===!0)break}catch(e){if(o&&e instanceof TypeError){if(a)throw e;console.error(`AG-UI: Subscriber attempted to mutate frozen inputs in-place. Return mutations via AgentStateMutation instead of mutating directly.`,e)}else a||console.error(`Subscriber error:`,e);continue}return{...u?{messages:Object.isFrozen(c)?B5(c):c}:{},...d?{state:Object.isFrozen(l)?B5(l):l}:{},...f===void 0?{}:{stopPropagation:f}}}function K5(e){if(!e)return{enabled:!1,events:!1,lifecycle:!1,verbose:!1};if(e===!0)return{enabled:!0,events:!0,lifecycle:!0,verbose:!0};let t=e.events??!0,n=e.lifecycle??!0,r=e.verbose??!1;return{enabled:t||n,events:t,lifecycle:n,verbose:r}}function q5(e){if(e instanceof J5)return e;if(e===!0)return new J5(K5(!0))}var J5=class{constructor(e){this.config=e}event(e,t,n,r){this.config.events&&(this.config.verbose?console.debug(`[${e}] ${t}`,typeof n==`string`?n:JSON.stringify(n)):console.debug(`[${e}] ${t}`,r??n))}lifecycle(e,t,n){this.config.lifecycle&&(n?console.debug(`[${e}] ${t}`,n):console.debug(`[${e}] ${t}`))}get eventsEnabled(){return this.config.events}get lifecycleEnabled(){return this.config.lifecycle}get enabled(){return this.config.enabled}};function Y5(e){return e.enabled?new J5(e):void 0}function Die(e,t,n){if(t){let r=e.find(e=>e.id===t);if(r?.role===`assistant`)return r;r&&console.warn(`TOOL_CALL_START: parentMessageId '${t}' matches a '${r.role}' message, not assistant — falling back to toolCallId`);let i={id:r?n:t,role:`assistant`,toolCalls:[]};return e.push(i),i}let r={id:n,role:`assistant`,toolCalls:[]};return e.push(r),r}var X5=(e,t,n,r,i)=>{let a=q5(i),o=B5(n.messages),s=B5(e.state),c={},l=e=>{e.messages!==void 0&&(o=e.messages,c.messages=e.messages),e.state!==void 0&&(s=e.state,c.state=e.state)},u=()=>{let e=B5(c);return c={},e.messages!==void 0||e.state!==void 0?t3(e):S4};return t.pipe(d3(async t=>{let i=await G5(r,o,s,(r,i,a)=>r.onEvent?.({event:t,agent:n,input:e,messages:i,state:a}));if(l(i),i.stopPropagation===!0?a?.event(`APPLY`,`Event dropped:`,t,{type:t.type,reason:`stopPropagation by subscriber`}):a?.event(`APPLY`,`Event applied:`,t,{type:t.type,subscribers:r.length}),i.stopPropagation===!0)return u();switch(t.type){case Q.TEXT_MESSAGE_START:{let i=await G5(r,o,s,(r,i,a)=>r.onTextMessageStartEvent?.({event:t,messages:i,state:a,agent:n,input:e}));if(l(i),i.stopPropagation!==!0){let{messageId:e,role:n=`assistant`,name:r}=t;if(!o.find(t=>t.id===e)){let t={id:e,role:n,content:``,...r!==void 0&&{name:r}};o.push(t),l({messages:o})}}return u()}case Q.TEXT_MESSAGE_CONTENT:{let{messageId:i,delta:a}=t,c=o.find(e=>e.id===i);if(!c)return console.warn(`TEXT_MESSAGE_CONTENT: No message found with ID '${i}'`),u();let d=await G5(r,o,s,(r,i,a)=>r.onTextMessageContentEvent?.({event:t,messages:i,state:a,agent:n,input:e,textMessageBuffer:typeof c.content==`string`?c.content:``}));return l(d),d.stopPropagation!==!0&&(c.content=`${typeof c.content==`string`?c.content:``}${a}`,l({messages:o})),u()}case Q.TEXT_MESSAGE_END:{let{messageId:i}=t,a=o.find(e=>e.id===i);return a?(l(await G5(r,o,s,(r,i,o)=>r.onTextMessageEndEvent?.({event:t,messages:i,state:o,agent:n,input:e,textMessageBuffer:typeof a.content==`string`?a.content:``}))),await Promise.all(r.map(t=>{t.onNewMessage?.({message:a,messages:o,state:s,agent:n,input:e})})),u()):(console.warn(`TEXT_MESSAGE_END: No message found with ID '${i}'`),u())}case Q.TOOL_CALL_START:{let i=await G5(r,o,s,(r,i,a)=>r.onToolCallStartEvent?.({event:t,messages:i,state:a,agent:n,input:e}));if(l(i),i.stopPropagation!==!0){let{toolCallId:e,toolCallName:n,parentMessageId:r}=t,i=Die(o,r,e);i.toolCalls??=[],i.toolCalls.push({id:e,type:`function`,function:{name:n,arguments:``}}),l({messages:o})}return u()}case Q.TOOL_CALL_ARGS:{let{toolCallId:i,delta:a}=t,c=o.find(e=>e.toolCalls?.some(e=>e.id===i));if(!c)return console.warn(`TOOL_CALL_ARGS: No message found containing tool call with ID '${i}'`),u();let d=c.toolCalls?.find(e=>e.id===i);if(!d)return console.warn(`TOOL_CALL_ARGS: No tool call found with ID '${i}'`),u();let f=await G5(r,o,s,(r,i,a)=>{let o=d.function.arguments,s=d.function.name,c={};try{c=v3(o)}catch{}return r.onToolCallArgsEvent?.({event:t,messages:i,state:a,agent:n,input:e,toolCallBuffer:o,toolCallName:s,partialToolCallArgs:c})});return l(f),f.stopPropagation!==!0&&(d.function.arguments+=a,l({messages:o})),u()}case Q.TOOL_CALL_END:{let{toolCallId:i}=t,a=o.find(e=>e.toolCalls?.some(e=>e.id===i));if(!a)return console.warn(`TOOL_CALL_END: No message found containing tool call with ID '${i}'`),u();let c=a.toolCalls?.find(e=>e.id===i);return c?(l(await G5(r,o,s,(r,i,a)=>{let o=c.function.arguments,s=c.function.name,l={};try{l=JSON.parse(o)}catch{}return r.onToolCallEndEvent?.({event:t,messages:i,state:a,agent:n,input:e,toolCallName:s,toolCallArgs:l})})),await Promise.all(r.map(t=>{t.onNewToolCall?.({toolCall:c,messages:o,state:s,agent:n,input:e})})),u()):(console.warn(`TOOL_CALL_END: No tool call found with ID '${i}'`),u())}case Q.TOOL_CALL_RESULT:{let i=await G5(r,o,s,(r,i,a)=>r.onToolCallResultEvent?.({event:t,messages:i,state:a,agent:n,input:e}));if(l(i),i.stopPropagation!==!0){let{messageId:i,toolCallId:a,content:c,role:u}=t,d={id:i,toolCallId:a,role:u||`tool`,content:c},f=o.findIndex(e=>e.role===`assistant`&&e.toolCalls?.some(e=>e.id===a));if(f===-1)o.push(d);else{let e=f+1;for(;e<o.length&&o[e].role===`tool`;)e++;o.splice(e,0,d)}await Promise.all(r.map(t=>{t.onNewMessage?.({message:d,messages:o,state:s,agent:n,input:e})})),l({messages:o})}return u()}case Q.STATE_SNAPSHOT:{let i=await G5(r,o,s,(r,i,a)=>r.onStateSnapshotEvent?.({event:t,messages:i,state:a,agent:n,input:e}));if(l(i),i.stopPropagation!==!0){let{snapshot:e}=t;s=e,l({state:s})}return u()}case Q.STATE_DELTA:{let i=await G5(r,o,s,(r,i,a)=>r.onStateDeltaEvent?.({event:t,messages:i,state:a,agent:n,input:e}));if(l(i),i.stopPropagation!==!0){let{delta:e}=t;try{s=A2.applyPatch(s,e,!0,!1).newDocument,l({state:s})}catch(t){let n=t instanceof Error?t.message:String(t);console.warn(`Failed to apply state patch:\nCurrent state: ${JSON.stringify(s,null,2)}\nPatch operations: ${JSON.stringify(e,null,2)}\nError: ${n}`)}}return u()}case Q.MESSAGES_SNAPSHOT:{let i=await G5(r,o,s,(r,i,a)=>r.onMessagesSnapshotEvent?.({event:t,messages:i,state:a,agent:n,input:e}));if(l(i),i.stopPropagation!==!0){let{messages:e}=t,n=new Map(e.map(e=>[e.id,e])),r=e.some(e=>e.role===`reasoning`),i=e=>e.role===`activity`||e.role===`reasoning`&&!r;o=o.filter(e=>i(e)||n.has(e.id)).map(e=>i(e)?e:n.get(e.id));let a=new Set(o.map(e=>e.id));for(let t of e)a.has(t.id)||o.push(t);l({messages:o})}return u()}case Q.ACTIVITY_SNAPSHOT:{let i=t,a=o.findIndex(e=>e.id===i.messageId),c=a>=0?o[a]:void 0,d=c?.role===`activity`?c:void 0,f=i.replace??!0,p=await G5(r,o,s,(t,r,a)=>t.onActivitySnapshotEvent?.({event:i,messages:r,state:a,agent:n,input:e,activityMessage:d,existingMessage:c}));if(l(p),p.stopPropagation!==!0){let t={id:i.messageId,role:`activity`,activityType:i.activityType,content:B5(i.content)},c;a===-1?(o.push(t),c=t):d?f&&(o[a]={...d,activityType:i.activityType,content:B5(i.content)}):f&&(o[a]=t,c=t),l({messages:o}),c&&await Promise.all(r.map(t=>t.onNewMessage?.({message:c,messages:o,state:s,agent:n,input:e})))}return u()}case Q.ACTIVITY_DELTA:{let i=t,a=o.findIndex(e=>e.id===i.messageId);if(a===-1)return u();let c=o[a];if(c.role!==`activity`)return console.warn(`ACTIVITY_DELTA: Message '${i.messageId}' is not an activity message`),u();let d=c,f=await G5(r,o,s,(t,r,a)=>t.onActivityDeltaEvent?.({event:i,messages:r,state:a,agent:n,input:e,activityMessage:d}));if(l(f),f.stopPropagation!==!0)try{let e=B5(d.content??{}),t=A2.applyPatch(e,i.patch??[],!0,!1).newDocument;o[a]={...d,content:B5(t),activityType:i.activityType},l({messages:o})}catch(e){let t=e instanceof Error?e.message:String(e);console.warn(`Failed to apply activity patch for '${i.messageId}': ${t}`)}return u()}case Q.RAW:return l(await G5(r,o,s,(r,i,a)=>r.onRawEvent?.({event:t,messages:i,state:a,agent:n,input:e}))),u();case Q.CUSTOM:return l(await G5(r,o,s,(r,i,a)=>r.onCustomEvent?.({event:t,messages:i,state:a,agent:n,input:e}))),u();case Q.RUN_STARTED:{let i=await G5(r,o,s,(r,i,a)=>r.onRunStartedEvent?.({event:t,messages:i,state:a,agent:n,input:e}));if(l(i),i.stopPropagation!==!0){let e=t;if(e.input?.messages){for(let t of e.input.messages)o.find(e=>e.id===t.id)||o.push(t);l({messages:o})}}return u()}case Q.RUN_FINISHED:{let i=t,a=i.outcome?.type===`interrupt`?{event:i,outcome:`interrupt`,interrupts:i.outcome.interrupts}:{event:i,outcome:`success`,result:i.result},c=await G5(r,o,s,(t,r,i)=>t.onRunFinishedEvent?.({...a,messages:r,state:i,agent:n,input:e}));return l(c),c.stopPropagation!==!0&&(n.pendingInterrupts=a.outcome===`interrupt`?[...a.interrupts]:[]),u()}case Q.RUN_ERROR:return l(await G5(r,o,s,(r,i,a)=>r.onRunErrorEvent?.({event:t,messages:i,state:a,agent:n,input:e}))),u();case Q.STEP_STARTED:return l(await G5(r,o,s,(r,i,a)=>r.onStepStartedEvent?.({event:t,messages:i,state:a,agent:n,input:e}))),u();case Q.STEP_FINISHED:return l(await G5(r,o,s,(r,i,a)=>r.onStepFinishedEvent?.({event:t,messages:i,state:a,agent:n,input:e}))),u();case Q.TEXT_MESSAGE_CHUNK:throw Error(`TEXT_MESSAGE_CHUNK must be tranformed before being applied`);case Q.TOOL_CALL_CHUNK:throw Error(`TOOL_CALL_CHUNK must be tranformed before being applied`);case Q.THINKING_START:return u();case Q.THINKING_END:return u();case Q.THINKING_TEXT_MESSAGE_START:return u();case Q.THINKING_TEXT_MESSAGE_CONTENT:return u();case Q.THINKING_TEXT_MESSAGE_END:return u();case Q.REASONING_START:return l(await G5(r,o,s,(r,i,a)=>r.onReasoningStartEvent?.({event:t,messages:i,state:a,agent:n,input:e}))),u();case Q.REASONING_MESSAGE_START:{let i=await G5(r,o,s,(r,i,a)=>r.onReasoningMessageStartEvent?.({event:t,messages:i,state:a,agent:n,input:e}));if(l(i),i.stopPropagation!==!0){let{messageId:e}=t;if(!o.find(t=>t.id===e)){let t={id:e,role:`reasoning`,content:``};o.push(t),l({messages:o})}}return u()}case Q.REASONING_MESSAGE_CONTENT:{let{messageId:i,delta:a}=t,c=o.find(e=>e.id===i);if(!c)return console.warn(`REASONING_MESSAGE_CONTENT: No message found with ID '${i}'`),u();let d=await G5(r,o,s,(r,i,a)=>r.onReasoningMessageContentEvent?.({event:t,messages:i,state:a,agent:n,input:e,reasoningMessageBuffer:typeof c.content==`string`?c.content:``}));return l(d),d.stopPropagation!==!0&&(c.content=`${typeof c.content==`string`?c.content:``}${a}`,l({messages:o})),u()}case Q.REASONING_MESSAGE_END:{let{messageId:i}=t,a=o.find(e=>e.id===i);return a?(l(await G5(r,o,s,(r,i,o)=>r.onReasoningMessageEndEvent?.({event:t,messages:i,state:o,agent:n,input:e,reasoningMessageBuffer:typeof a.content==`string`?a.content:``}))),await Promise.all(r.map(t=>{t.onNewMessage?.({message:a,messages:o,state:s,agent:n,input:e})})),u()):(console.warn(`REASONING_MESSAGE_END: No message found with ID '${i}'`),u())}case Q.REASONING_MESSAGE_CHUNK:throw Error(`REASONING_MESSAGE_CHUNK must be transformed before being applied`);case Q.REASONING_END:return l(await G5(r,o,s,(r,i,a)=>r.onReasoningEndEvent?.({event:t,messages:i,state:a,agent:n,input:e}))),u();case Q.REASONING_ENCRYPTED_VALUE:{let{subtype:i,entityId:a,encryptedValue:d}=t,f=await G5(r,o,s,(r,i,a)=>r.onReasoningEncryptedValueEvent?.({event:t,messages:i,state:a,agent:n,input:e}));if(l(f),f.stopPropagation!==!0){let e=!1;if(i===`tool-call`){for(let t of o)if(t.role===`assistant`&&t.toolCalls){let n=t.toolCalls.find(e=>e.id===a);if(n){n.encryptedValue=d,e=!0;break}}}else{let t=o.find(e=>e.id===a);t?.role!==`activity`&&t&&(t.encryptedValue=d,e=!0)}e&&(c.messages=o)}return u()}}return t.type,u()}),c3(),r.length>0?f3({}):e=>e)},Z5=e=>t=>{let n=q5(e),r=new Map,i=new Map,a=!1,o=!1,s=!1,c=new Map,l=!1,u=!1,d=!1,f=()=>{r.clear(),i.clear(),c.clear(),l=!1,u=!1,a=!1,o=!1,d=!0};return t.pipe(s3(e=>{let t=e.type;if(n?.event(`VERIFY`,`Event:`,e,{type:e.type}),o)return n3(()=>new r0(`Cannot send event type '${t}': The run has already errored with 'RUN_ERROR'. No further events can be sent.`));if(a&&t!==Q.RUN_ERROR&&t!==Q.RUN_STARTED)return n3(()=>new r0(`Cannot send event type '${t}': The run has already finished with 'RUN_FINISHED'. Start a new run with 'RUN_STARTED'.`));if(!s){if(s=!0,t!==Q.RUN_STARTED&&t!==Q.RUN_ERROR)return n3(()=>new r0(`First event must be 'RUN_STARTED'`))}else if(t===Q.RUN_STARTED){if(d&&!a)return n3(()=>new r0(`Cannot send 'RUN_STARTED' while a run is still active. The previous run must be finished with 'RUN_FINISHED' before starting a new run.`));a&&f()}switch(t){case Q.TEXT_MESSAGE_START:{let t=e.messageId;return r.has(t)?n3(()=>new r0(`Cannot send 'TEXT_MESSAGE_START' event: A text message with ID '${t}' is already in progress. Complete it with 'TEXT_MESSAGE_END' first.`)):(r.set(t,!0),t3(e))}case Q.TEXT_MESSAGE_CONTENT:{let t=e.messageId;return r.has(t)?t3(e):n3(()=>new r0(`Cannot send 'TEXT_MESSAGE_CONTENT' event: No active text message found with ID '${t}'. Start a text message with 'TEXT_MESSAGE_START' first.`))}case Q.TEXT_MESSAGE_END:{let t=e.messageId;return r.has(t)?(r.delete(t),t3(e)):n3(()=>new r0(`Cannot send 'TEXT_MESSAGE_END' event: No active text message found with ID '${t}'. A 'TEXT_MESSAGE_START' event must be sent first.`))}case Q.TOOL_CALL_START:{let t=e.toolCallId;return i.has(t)?n3(()=>new r0(`Cannot send 'TOOL_CALL_START' event: A tool call with ID '${t}' is already in progress. Complete it with 'TOOL_CALL_END' first.`)):(i.set(t,!0),t3(e))}case Q.TOOL_CALL_ARGS:{let t=e.toolCallId;return i.has(t)?t3(e):n3(()=>new r0(`Cannot send 'TOOL_CALL_ARGS' event: No active tool call found with ID '${t}'. Start a tool call with 'TOOL_CALL_START' first.`))}case Q.TOOL_CALL_END:{let t=e.toolCallId;return i.has(t)?(i.delete(t),t3(e)):n3(()=>new r0(`Cannot send 'TOOL_CALL_END' event: No active tool call found with ID '${t}'. A 'TOOL_CALL_START' event must be sent first.`))}case Q.STEP_STARTED:{let t=e.stepName;return c.has(t)?n3(()=>new r0(`Step "${t}" is already active for 'STEP_STARTED'`)):(c.set(t,!0),t3(e))}case Q.STEP_FINISHED:{let t=e.stepName;return c.has(t)?(c.delete(t),t3(e)):n3(()=>new r0(`Cannot send 'STEP_FINISHED' for step "${t}" that was not started`))}case Q.RUN_STARTED:return d=!0,t3(e);case Q.RUN_FINISHED:if(c.size>0){let e=Array.from(c.keys()).join(`, `);return n3(()=>new r0(`Cannot send 'RUN_FINISHED' while steps are still active: ${e}`))}if(r.size>0){let e=Array.from(r.keys()).join(`, `);return n3(()=>new r0(`Cannot send 'RUN_FINISHED' while text messages are still active: ${e}`))}if(i.size>0){let e=Array.from(i.keys()).join(`, `);return n3(()=>new r0(`Cannot send 'RUN_FINISHED' while tool calls are still active: ${e}`))}return a=!0,t3(e);case Q.RUN_ERROR:return o=!0,t3(e);case Q.CUSTOM:return t3(e);case Q.THINKING_TEXT_MESSAGE_START:return l?u?n3(()=>new r0(`Cannot send 'THINKING_TEXT_MESSAGE_START' event: A thinking message is already in progress. Complete it with 'THINKING_TEXT_MESSAGE_END' first.`)):(u=!0,t3(e)):n3(()=>new r0(`Cannot send 'THINKING_TEXT_MESSAGE_START' event: A thinking step is not in progress. Create one with 'THINKING_START' first.`));case Q.THINKING_TEXT_MESSAGE_CONTENT:return u?t3(e):n3(()=>new r0(`Cannot send 'THINKING_TEXT_MESSAGE_CONTENT' event: No active thinking message found. Start a message with 'THINKING_TEXT_MESSAGE_START' first.`));case Q.THINKING_TEXT_MESSAGE_END:return u?(u=!1,t3(e)):n3(()=>new r0(`Cannot send 'THINKING_TEXT_MESSAGE_END' event: No active thinking message found. A 'THINKING_TEXT_MESSAGE_START' event must be sent first.`));case Q.THINKING_START:return l?n3(()=>new r0(`Cannot send 'THINKING_START' event: A thinking step is already in progress. End it with 'THINKING_END' first.`)):(l=!0,t3(e));case Q.THINKING_END:return l?(l=!1,t3(e)):n3(()=>new r0(`Cannot send 'THINKING_END' event: No active thinking step found. A 'THINKING_START' event must be sent first.`));default:return t3(e)}}))},Q5=function(e){return e.HEADERS=`headers`,e.DATA=`data`,e}({}),Oie=e=>l3(()=>e3(e())).pipe(m3(e=>{if(!e.ok){let t=e.headers.get(`content-type`)||``;return e3(e.text()).pipe(s3(n=>{let r=n;if(t.includes(`application/json`))try{r=JSON.parse(n)}catch{}let i=Error(`HTTP ${e.status}: ${typeof r==`string`?r:JSON.stringify(r)}`);return i.status=e.status,i.payload=r,n3(()=>i)}))}let t={type:Q5.HEADERS,status:e.status,headers:e.headers},n=e.body?.getReader();return n?new l4(e=>(e.next(t),(async()=>{try{for(;;){let{done:t,value:r}=await n.read();if(t)break;let i={type:Q5.DATA,data:r};e.next(i)}e.complete()}catch(t){e.error(t)}})(),()=>{n.cancel().catch(e=>{if(e?.name!==`AbortError`)throw e})})):n3(()=>Error(`Failed to getReader() from response`))})),kie=(e,t)=>{let n=q5(t),r=new v4,i=new TextDecoder(`utf-8`,{fatal:!1}),a=``;e.subscribe({next:e=>{if(e.type!==Q5.HEADERS&&e.type===Q5.DATA&&e.data){let t=i.decode(e.data,{stream:!0});a+=t;let n=a.split(/\n\n/);a=n.pop()||``;for(let e of n)o(e)}},error:e=>r.error(e),complete:()=>{a&&(a+=i.decode(),o(a)),r.complete()}});function o(e){let t=e.split(`
|
|
253
|
+
`),i=[];for(let e of t)e.startsWith(`data:`)&&i.push(e.slice(5).replace(/^ /,``));if(i.length>0)try{let e=i.join(`
|
|
254
|
+
`),t=JSON.parse(e);n?.event(`SSE`,`Event received:`,t,{type:t.type}),r.next(t)}catch(e){r.error(e)}}return r.asObservable()},Aie=e=>{let t=new v4,n=new Uint8Array;e.subscribe({next:e=>{if(e.type!==Q5.HEADERS&&e.type===Q5.DATA&&e.data){let t=new Uint8Array(n.length+e.data.length);t.set(n,0),t.set(e.data,n.length),n=t,r()}},error:e=>t.error(e),complete:()=>{if(n.length>0)try{r()}catch{console.warn(`Incomplete or invalid protocol buffer data at stream end`)}t.complete()}});function r(){for(;n.length>=4;){let e=4+new DataView(n.buffer,n.byteOffset,4).getUint32(0,!1);if(n.length<e)break;try{let r=Yre(n.slice(4,e));t.next(r),n=n.slice(e)}catch(e){let n=e instanceof Error?e.message:String(e);t.error(Error(`Failed to decode protocol buffer message: ${n}`));return}}}return t.asObservable()},jie=(e,t)=>{let n=q5(t),r=new v4,i=new x4,a=!1;return e.subscribe({next:e=>{if(i.next(e),e.type===Q5.HEADERS&&!a){a=!0;let t=e.headers.get(`content-type`);n?.lifecycle(`HTTP`,`Stream format detected:`,{contentType:t,parser:t===`application/vnd.ag-ui.event+proto`?`protobuf`:`sse`}),t===`application/vnd.ag-ui.event+proto`?Aie(i).subscribe({next:e=>r.next(e),error:e=>r.error(e),complete:()=>r.complete()}):kie(i,n).subscribe({next:e=>{try{let t=J0.parse(e);n?.event(`HTTP`,`Event validated:`,t,{type:t.type,valid:!0}),r.next(t)}catch(t){n?.event(`HTTP`,`Event invalid:`,{json:e,error:String(t)}),r.error(t)}},error:e=>{if(e?.name===`AbortError`){r.next({type:Q.RUN_ERROR,message:e.message||`Request aborted`,code:`abort`,rawEvent:e}),r.complete();return}return r.error(e)},complete:()=>r.complete()})}else a||r.error(Error(`No headers event received before data events`))},error:e=>{i.error(e),r.error(e)},complete:()=>{i.complete()}}),r.asObservable()},$5=P5([`TextMessageStart`,`TextMessageContent`,`TextMessageEnd`,`ActionExecutionStart`,`ActionExecutionArgs`,`ActionExecutionEnd`,`ActionExecutionResult`,`AgentStateMessage`,`MetaEvent`,`RunStarted`,`RunFinished`,`RunError`,`NodeStarted`,`NodeFinished`]),Mie=P5([`LangGraphInterruptEvent`,`PredictState`,`Exit`]);Cie(`type`,[M5({type:N5($5.enum.TextMessageStart),messageId:k5(),parentMessageId:k5().optional(),role:k5().optional()}),M5({type:N5($5.enum.TextMessageContent),messageId:k5(),content:k5()}),M5({type:N5($5.enum.TextMessageEnd),messageId:k5()}),M5({type:N5($5.enum.ActionExecutionStart),actionExecutionId:k5(),actionName:k5(),parentMessageId:k5().optional()}),M5({type:N5($5.enum.ActionExecutionArgs),actionExecutionId:k5(),args:k5()}),M5({type:N5($5.enum.ActionExecutionEnd),actionExecutionId:k5()}),M5({type:N5($5.enum.ActionExecutionResult),actionName:k5(),actionExecutionId:k5(),result:k5()}),M5({type:N5($5.enum.AgentStateMessage),threadId:k5(),agentName:k5(),nodeName:k5(),runId:k5(),active:A5(),role:k5(),state:k5(),running:A5()}),M5({type:N5($5.enum.MetaEvent),name:Mie,value:j5()}),M5({type:N5($5.enum.RunError),message:k5(),code:k5().optional()})]),M5({id:k5(),role:k5(),content:k5(),parentMessageId:k5().optional()}),M5({id:k5(),name:k5(),arguments:j5(),parentMessageId:k5().optional()}),M5({id:k5(),result:j5(),actionExecutionId:k5(),actionName:k5()});var Nie=e=>{if(typeof e==`string`)return e;if(!Array.isArray(e))return;let t=e.filter(e=>e.type===`text`).map(e=>e.text).filter(e=>e.length>0);if(t.length!==0)return t.join(`
|
|
255
|
+
`)},Pie=(e,t,n)=>r=>{let i={},a=!0,o=!0,s=``,c=null,l=null,u=[],d={},f=e=>{typeof e==`object`&&e&&(`messages`in e&&delete e.messages,i=e)};return r.pipe(s3(r=>{switch(r.type){case Q.TEXT_MESSAGE_START:{let e=r;return[{type:$5.enum.TextMessageStart,messageId:e.messageId,role:e.role}]}case Q.TEXT_MESSAGE_CONTENT:{let e=r;return[{type:$5.enum.TextMessageContent,messageId:e.messageId,content:e.delta}]}case Q.TEXT_MESSAGE_END:{let e=r;return[{type:$5.enum.TextMessageEnd,messageId:e.messageId}]}case Q.TOOL_CALL_START:{let e=r;return u.push({id:e.toolCallId,type:`function`,function:{name:e.toolCallName,arguments:``}}),o=!0,d[e.toolCallId]=e.toolCallName,[{type:$5.enum.ActionExecutionStart,actionExecutionId:e.toolCallId,actionName:e.toolCallName,parentMessageId:e.parentMessageId}]}case Q.TOOL_CALL_ARGS:{let c=r,d=u.find(e=>e.id===c.toolCallId);if(!d)return console.warn(`TOOL_CALL_ARGS: No tool call found with ID '${c.toolCallId}'`),[];d.function.arguments+=c.delta;let p=!1;if(l){let e=l.find(e=>e.tool==d.function.name);if(e)try{let t=JSON.parse(v3(d.function.arguments));e.tool_argument&&e.tool_argument in t?(f({...i,[e.state_key]:t[e.tool_argument]}),p=!0):e.tool_argument||(f({...i,[e.state_key]:t}),p=!0)}catch{}}return[{type:$5.enum.ActionExecutionArgs,actionExecutionId:c.toolCallId,args:c.delta},...p?[{type:$5.enum.AgentStateMessage,threadId:e,agentName:n,nodeName:s,runId:t,running:a,role:`assistant`,state:JSON.stringify(i),active:o}]:[]]}case Q.TOOL_CALL_END:{let e=r;return[{type:$5.enum.ActionExecutionEnd,actionExecutionId:e.toolCallId}]}case Q.TOOL_CALL_RESULT:{let e=r;return[{type:$5.enum.ActionExecutionResult,actionExecutionId:e.toolCallId,result:e.content,actionName:d[e.toolCallId]||`unknown`}]}case Q.RAW:return[];case Q.CUSTOM:{let e=r;switch(e.name){case`Exit`:a=!1;break;case`PredictState`:l=e.value}return[{type:$5.enum.MetaEvent,name:e.name,value:e.value}]}case Q.STATE_SNAPSHOT:return f(r.snapshot),[{type:$5.enum.AgentStateMessage,threadId:e,agentName:n,nodeName:s,runId:t,running:a,role:`assistant`,state:JSON.stringify(i),active:o}];case Q.STATE_DELTA:{let c=r,l=A2.applyPatch(i,c.delta,!0,!1);return l?(f(l.newDocument),[{type:$5.enum.AgentStateMessage,threadId:e,agentName:n,nodeName:s,runId:t,running:a,role:`assistant`,state:JSON.stringify(i),active:o}]):[]}case Q.MESSAGES_SNAPSHOT:return c=r.messages,[{type:$5.enum.AgentStateMessage,threadId:e,agentName:n,nodeName:s,runId:t,running:a,role:`assistant`,state:JSON.stringify({...i,...c?{messages:c}:{}}),active:!0}];case Q.RUN_STARTED:return[];case Q.RUN_FINISHED:return c&&(i.messages=c),Object.keys(i).length===0?[]:[{type:$5.enum.AgentStateMessage,threadId:e,agentName:n,nodeName:s,runId:t,running:a,role:`assistant`,state:JSON.stringify({...i,...c?{messages:Fie(c)}:{}}),active:!1}];case Q.RUN_ERROR:{let e=r;return[{type:$5.enum.RunError,message:e.message,code:e.code}]}case Q.STEP_STARTED:return s=r.stepName,u=[],l=null,[{type:$5.enum.AgentStateMessage,threadId:e,agentName:n,nodeName:s,runId:t,running:a,role:`assistant`,state:JSON.stringify(i),active:!0}];case Q.STEP_FINISHED:return u=[],l=null,[{type:$5.enum.AgentStateMessage,threadId:e,agentName:n,nodeName:s,runId:t,running:a,role:`assistant`,state:JSON.stringify(i),active:!1}];default:return[]}}))};function Fie(e){let t=[];for(let n of e)if(n.role===`assistant`||n.role===`user`||n.role===`system`){let e=Nie(n.content);if(e){let r={id:n.id,role:n.role,content:e};t.push(r)}if(n.role===`assistant`&&n.toolCalls&&n.toolCalls.length>0)for(let e of n.toolCalls){let r={id:e.id,name:e.function.name,arguments:JSON.parse(e.function.arguments),parentMessageId:n.id};t.push(r)}}else if(n.role===`tool`){let r=`unknown`;for(let t of e)if(t.role===`assistant`&&t.toolCalls?.length){for(let e of t.toolCalls)if(e.id===n.toolCallId){r=e.function.name;break}}let i={id:n.id,result:n.content,actionExecutionId:n.toolCallId,actionName:r};t.push(i)}return t}var e7=e=>t=>{let n=q5(e),r,i,a,o,s=()=>{if(!r||o!==`text`)throw Error(`No text message to close`);let e={type:Q.TEXT_MESSAGE_END,messageId:r.messageId};return o=void 0,r=void 0,n?.event(`TRANSFORM`,`TEXT_MESSAGE_END`,e,{messageId:e.messageId}),e},c=()=>{if(!i||o!==`tool`)throw Error(`No tool call to close`);let e={type:Q.TOOL_CALL_END,toolCallId:i.toolCallId};return o=void 0,i=void 0,n?.event(`TRANSFORM`,`TOOL_CALL_END`,e,{toolCallId:e.toolCallId}),e},l=()=>{if(!a||o!==`reasoning`)throw Error(`No reasoning message to close`);let e={type:Q.REASONING_MESSAGE_END,messageId:a.messageId};return o=void 0,a=void 0,n?.event(`TRANSFORM`,`REASONING_MESSAGE_END`,e,{messageId:e.messageId}),e},u=()=>o===`text`?[s()]:o===`tool`?[c()]:o===`reasoning`?[l()]:[];return t.pipe(s3(e=>{switch(e.type){case Q.TEXT_MESSAGE_START:case Q.TEXT_MESSAGE_CONTENT:case Q.TEXT_MESSAGE_END:case Q.TOOL_CALL_START:case Q.TOOL_CALL_ARGS:case Q.TOOL_CALL_END:case Q.TOOL_CALL_RESULT:case Q.STATE_SNAPSHOT:case Q.STATE_DELTA:case Q.MESSAGES_SNAPSHOT:case Q.CUSTOM:case Q.RUN_STARTED:case Q.RUN_FINISHED:case Q.RUN_ERROR:case Q.STEP_STARTED:case Q.STEP_FINISHED:case Q.THINKING_START:case Q.THINKING_END:case Q.THINKING_TEXT_MESSAGE_START:case Q.THINKING_TEXT_MESSAGE_CONTENT:case Q.THINKING_TEXT_MESSAGE_END:case Q.REASONING_START:case Q.REASONING_MESSAGE_START:case Q.REASONING_MESSAGE_CONTENT:case Q.REASONING_MESSAGE_END:case Q.REASONING_END:return[...u(),e];case Q.RAW:case Q.ACTIVITY_SNAPSHOT:case Q.ACTIVITY_DELTA:case Q.REASONING_ENCRYPTED_VALUE:return[e];case Q.TEXT_MESSAGE_CHUNK:let t=e,s=[];if((o!==`text`||t.messageId!==void 0&&t.messageId!==r?.messageId)&&s.push(...u()),o!==`text`){if(t.messageId===void 0)throw Error(`First TEXT_MESSAGE_CHUNK must have a messageId`);r={messageId:t.messageId,name:t.name},o=`text`;let e={type:Q.TEXT_MESSAGE_START,messageId:t.messageId,role:t.role||`assistant`,...t.name!==void 0&&{name:t.name}};s.push(e),n?.event(`TRANSFORM`,`TEXT_MESSAGE_START`,e,{messageId:t.messageId})}if(t.delta!==void 0){let e={type:Q.TEXT_MESSAGE_CONTENT,messageId:r.messageId,delta:t.delta};s.push(e),n?.event(`TRANSFORM`,`TEXT_MESSAGE_CONTENT`,e,{messageId:r.messageId})}return s;case Q.TOOL_CALL_CHUNK:let c=e,l=[];if((o!==`tool`||c.toolCallId!==void 0&&c.toolCallId!==i?.toolCallId)&&l.push(...u()),o!==`tool`){if(c.toolCallId===void 0)throw Error(`First TOOL_CALL_CHUNK must have a toolCallId`);if(c.toolCallName===void 0)throw Error(`First TOOL_CALL_CHUNK must have a toolCallName`);i={toolCallId:c.toolCallId,toolCallName:c.toolCallName,parentMessageId:c.parentMessageId},o=`tool`;let e={type:Q.TOOL_CALL_START,toolCallId:c.toolCallId,toolCallName:c.toolCallName,parentMessageId:c.parentMessageId};l.push(e),n?.event(`TRANSFORM`,`TOOL_CALL_START`,e,{toolCallId:c.toolCallId,toolCallName:c.toolCallName})}if(c.delta!==void 0){let e={type:Q.TOOL_CALL_ARGS,toolCallId:i.toolCallId,delta:c.delta};l.push(e),n?.event(`TRANSFORM`,`TOOL_CALL_ARGS`,e,{toolCallId:i.toolCallId})}return l;case Q.REASONING_MESSAGE_CHUNK:let d=e,f=[];if((o!==`reasoning`||d.messageId&&d.messageId!==a?.messageId)&&f.push(...u()),o!==`reasoning`){if(d.messageId===void 0)throw Error(`First REASONING_MESSAGE_CHUNK must have a messageId`);a={messageId:d.messageId},o=`reasoning`;let e={type:Q.REASONING_MESSAGE_START,messageId:d.messageId};f.push(e),n?.event(`TRANSFORM`,`REASONING_MESSAGE_START`,e,{messageId:d.messageId})}if(d.delta!==void 0){let e={type:Q.REASONING_MESSAGE_CONTENT,messageId:a.messageId,delta:d.delta};f.push(e),n?.event(`TRANSFORM`,`REASONING_MESSAGE_CONTENT`,e,{messageId:a.messageId})}return f}return e.type,[]}),p3(()=>{u()}))};function Iie(e,t=new Date){return e.expiresAt!==void 0&&new Date(e.expiresAt)<=t}function Lie(e,t){let n=new Set(e.map(e=>e.id)),r=new Set(Object.keys(t)),i=[...n].filter(e=>!r.has(e));if(i.length>0)throw Error(`buildResumeArray: missing responses for open interrupts: ${i.join(`, `)}`);let a=[...r].filter(e=>!n.has(e));if(a.length>0)throw Error(`buildResumeArray: responses reference unknown interrupt ids: ${a.join(`, `)}`);return e.map(e=>{let n=t[e.id];if(n.status===`resolved`){let t={interruptId:e.id,status:`resolved`};return n.payload!==void 0&&(t.payload=n.payload),t}return{interruptId:e.id,status:`cancelled`}})}var t7=class{runNext(e,t){return t.run(e).pipe(e7(!1))}runNextWithState(e,t){let n=B5(e.messages||[]),r=B5(e.state||{}),i=new x4;return X5(e,i,t,[]).subscribe(e=>{e.messages!==void 0&&(n=e.messages),e.state!==void 0&&(r=e.state)}),this.runNext(e,t).pipe(d3(async e=>(i.next(e),await new Promise(e=>setTimeout(e,0)),{event:e,messages:B5(n),state:B5(r)})))}},Rie=class extends t7{constructor(e){super(),this.fn=e}run(e,t){return this.fn(e,t)}};function zie(e){let t=e.content;if(Array.isArray(t)){let n=t.filter(e=>typeof e==`object`&&!!e&&`type`in e&&e.type===`text`&&typeof e.text==`string`).map(e=>e.text).join(``);return{...e,content:n}}return typeof t==`string`?e:{...e,content:``}}var Bie=class extends t7{run(e,t){let{parentRunId:n,...r}=e,i={...r,messages:r.messages.map(zie)};return this.runNext(i,t)}},n7=`THINKING_START`,r7=`THINKING_END`,i7=`THINKING_TEXT_MESSAGE_START`,a7=`THINKING_TEXT_MESSAGE_CONTENT`,o7=`THINKING_TEXT_MESSAGE_END`,Vie=class extends t7{constructor(...e){super(...e),this.currentReasoningId=null,this.currentMessageId=null}warnAboutTransformation(e,t){typeof process<`u`&&{}.SUPPRESS_TRANSFORMATION_WARNINGS||console.warn(`AG-UI is converting ${e} to ${t}. To remove this warning, upgrade your AG-UI integration package (e.g. @ag-ui/langgraph). To surpress it, set SUPPRESS_TRANSFORMATION_WARNINGS=true in your .env file.`)}run(e,t){return this.currentReasoningId=null,this.currentMessageId=null,this.runNext(e,t).pipe(a3(e=>this.transformEvent(e)))}transformEvent(e){switch(e.type){case n7:{this.currentReasoningId=V5();let{title:t,...n}=e;return this.warnAboutTransformation(n7,Q.REASONING_START),{...n,type:Q.REASONING_START,messageId:this.currentReasoningId}}case i7:return this.currentMessageId=V5(),this.warnAboutTransformation(i7,Q.REASONING_MESSAGE_START),{...e,type:Q.REASONING_MESSAGE_START,messageId:this.currentMessageId,role:`assistant`};case a7:{let{delta:t,...n}=e;return this.warnAboutTransformation(a7,Q.REASONING_MESSAGE_CONTENT),{...n,type:Q.REASONING_MESSAGE_CONTENT,messageId:this.currentMessageId??V5(),delta:t}}case o7:{let t=this.currentMessageId??V5();return this.warnAboutTransformation(o7,Q.REASONING_MESSAGE_END),{...e,type:Q.REASONING_MESSAGE_END,messageId:t}}case r7:{let t=this.currentReasoningId??V5();return this.warnAboutTransformation(r7,Q.REASONING_END),{...e,type:Q.REASONING_END,messageId:t}}default:return e}}};function Hie(e){return e.startsWith(`image/`)?`image`:e.startsWith(`audio/`)?`audio`:e.startsWith(`video/`)?`video`:`document`}function Uie(e){return typeof e==`object`&&!!e&&`type`in e&&e.type===`binary`&&`mimeType`in e&&typeof e.mimeType==`string`}function Wie(e){let t=Hie(e.mimeType);return e.data?{type:t,source:{type:`data`,value:e.data,mimeType:e.mimeType},...e.filename?{metadata:{filename:e.filename}}:{}}:e.url?{type:t,source:{type:`url`,value:e.url,mimeType:e.mimeType},...e.filename?{metadata:{filename:e.filename}}:{}}:e}function Gie(e){let t=e.content;if(!Array.isArray(t))return e;let n=t.map(e=>Uie(e)?Wie(e):e);return{...e,content:n}}var Kie=class extends t7{run(e,t){let n={...e,messages:e.messages.map(Gie)};return this.runNext(n,t)}},qie=`0.0.57`,Jie=class{get maxVersion(){return qie}get debug(){return this._debug}set debug(e){this._debug=K5(e),this._debugLogger=Y5(this._debug)}get debugLogger(){return this._debugLogger}set debugLogger(e){this._debugLogger=typeof e==`boolean`?e?Y5(K5(!0)):void 0:e}constructor({agentId:e,description:t,threadId:n,initialMessages:r,initialState:i,debug:a}={}){this.subscribers=[],this.isRunning=!1,this.pendingInterrupts=[],this.middlewares=[],this.agentId=e,this.description=t??``,this.threadId=n??WQ(),this.messages=B5(r??[]),this.state=B5(i??{}),this._debug=K5(a),this._debugLogger=Y5(this._debug),z5(this.maxVersion,`0.0.39`)<=0&&this.middlewares.unshift(new Bie),z5(this.maxVersion,`0.0.45`)<=0&&this.middlewares.unshift(new Vie),z5(this.maxVersion,`0.0.47`)<=0&&this.middlewares.unshift(new Kie)}subscribe(e){return this.subscribers.push(e),{unsubscribe:()=>{this.subscribers=this.subscribers.filter(t=>t!==e)}}}use(...e){let t=e.map(e=>typeof e==`function`?new Rie(e):e);return this.middlewares.push(...t),this}async runAgent(e,t){try{this.isRunning=!0,this.agentId=this.agentId??WQ();let n=this.prepareRunAgentInput(e);this.debugLogger?.lifecycle(`LIFECYCLE`,`Run started:`,{agentId:this.agentId,threadId:this.threadId});let r,i=new Set(this.messages.map(e=>e.id)),a=[{onRunFinishedEvent:e=>{e.outcome===`success`&&(r=e.result)}},...this.subscribers,t??{}];await this.onInitialize(n,a),this.activeRunDetach$=new v4;let o;this.activeRunCompletionPromise=new Promise(e=>{o=e}),await i3(s4(()=>this.middlewares.length===0?this.run(n):this.middlewares.reduceRight((e,t)=>({run:n=>t.run(n,e),get messages(){return e.messages},get state(){return e.state}}),this).run(n),e7(this.debugLogger),Z5(this.debugLogger),e=>e.pipe(h3(this.activeRunDetach$)),e=>this.apply(n,e,a),e=>this.processApplyEvents(n,e,a),u3(e=>(this.debugLogger?.lifecycle(`LIFECYCLE`,`Run errored:`,{agentId:this.agentId,error:e instanceof Error?e.message:String(e)}),this.isRunning=!1,this.onError(n,e,a))),p3(()=>{this.debugLogger?.lifecycle(`LIFECYCLE`,`Run finished:`,{agentId:this.agentId,threadId:this.threadId}),this.isRunning=!1,this.onFinalize(n,a),o?.(),o=void 0,this.activeRunCompletionPromise=void 0,this.activeRunDetach$=void 0}))(t3(null)));let s=B5(this.messages).filter(e=>!i.has(e.id));return{result:r,newMessages:s}}finally{this.isRunning=!1}}connect(e){throw new i0}async connectAgent(e,t){try{this.isRunning=!0,this.agentId=this.agentId??WQ();let n=this.prepareRunAgentInput(e),r,i=new Set(this.messages.map(e=>e.id)),a=[{onRunFinishedEvent:e=>{e.outcome===`success`&&(r=e.result)}},...this.subscribers,t??{}];await this.onInitialize(n,a),this.activeRunDetach$=new v4;let o;this.activeRunCompletionPromise=new Promise(e=>{o=e}),await i3(s4(()=>l3(()=>this.connect(n)),e7(this.debugLogger),Z5(this.debugLogger),e=>e.pipe(h3(this.activeRunDetach$)),e=>this.apply(n,e,a),e=>this.processApplyEvents(n,e,a),u3(e=>(this.isRunning=!1,e instanceof i0?S4:this.onError(n,e,a))),p3(()=>{this.isRunning=!1,this.onFinalize(n,a),o?.(),o=void 0,this.activeRunCompletionPromise=void 0,this.activeRunDetach$=void 0}))(t3(null)),{defaultValue:void 0});let s=B5(this.messages).filter(e=>!i.has(e.id));return{result:r,newMessages:s}}finally{this.isRunning=!1}}abortRun(){}async detachActiveRun(){if(!this.activeRunDetach$)return;let e=this.activeRunCompletionPromise??Promise.resolve();this.activeRunDetach$.next(),this.activeRunDetach$?.complete(),await e}apply(e,t,n){return X5(e,t,this,n,this.debugLogger)}processApplyEvents(e,t,n){return t.pipe(g3(t=>{t.messages&&(this.messages=t.messages,n.forEach(t=>{t.onMessagesChanged?.({messages:this.messages,state:this.state,agent:this,input:e})})),t.state&&(this.state=t.state,n.forEach(t=>{t.onStateChanged?.({state:this.state,messages:this.messages,agent:this,input:e})}))}))}prepareRunAgentInput(e){let t=B5(this.messages).filter(e=>e.role!==`activity`);return{threadId:this.threadId,runId:e?.runId||WQ(),tools:B5(e?.tools??[]),context:B5(e?.context??[]),forwardedProps:B5(e?.forwardedProps??{}),state:B5(this.state),messages:t,...e?.resume===void 0?{}:{resume:B5(e.resume)}}}async onInitialize(e,t){if(this.pendingInterrupts.length>0){let t=new Set((e.resume??[]).map(e=>e.interruptId)),n=this.pendingInterrupts.map(e=>e.id).filter(e=>!t.has(e));if(n.length>0)throw new r0(`Thread has ${n.length} pending interrupt(s) not addressed by resume: ${n.join(`, `)}`);for(let e of this.pendingInterrupts)if(Iie(e))throw new r0(`Interrupt ${e.id} expired at ${e.expiresAt}`)}let n=await G5(t,this.messages,this.state,(t,n,r)=>t.onRunInitialized?.({messages:n,state:r,agent:this,input:e}));(n.messages!==void 0||n.state!==void 0)&&(n.messages&&(this.messages=n.messages,e.messages=n.messages,t.forEach(t=>{t.onMessagesChanged?.({messages:this.messages,state:this.state,agent:this,input:e})})),n.state&&(this.state=n.state,e.state=n.state,t.forEach(t=>{t.onStateChanged?.({state:this.state,messages:this.messages,agent:this,input:e})})))}onError(e,t,n){return e3(G5(n,this.messages,this.state,(n,r,i)=>n.onRunFailed?.({error:t,messages:r,state:i,agent:this,input:e}))).pipe(a3(r=>{let i=r;if((i.messages!==void 0||i.state!==void 0)&&(i.messages!==void 0&&(this.messages=i.messages,n.forEach(t=>{t.onMessagesChanged?.({messages:this.messages,state:this.state,agent:this,input:e})})),i.state!==void 0&&(this.state=i.state,n.forEach(t=>{t.onStateChanged?.({state:this.state,messages:this.messages,agent:this,input:e})}))),i.stopPropagation!==!0){let e=String(t);if(t.name!==`AbortError`&&t.message!==`Fetch is aborted`&&t.message!==`signal is aborted without reason`&&t.message!==`component unmounted`&&e!==`component unmounted`)throw console.error(`Agent execution failed:`,t),t}return{}}))}async onFinalize(e,t){let n=await G5(t,this.messages,this.state,(t,n,r)=>t.onRunFinalized?.({messages:n,state:r,agent:this,input:e}));(n.messages!==void 0||n.state!==void 0)&&(n.messages!==void 0&&(this.messages=n.messages,t.forEach(t=>{t.onMessagesChanged?.({messages:this.messages,state:this.state,agent:this,input:e})})),n.state!==void 0&&(this.state=n.state,t.forEach(t=>{t.onStateChanged?.({state:this.state,messages:this.messages,agent:this,input:e})})))}clone(){let e=Object.create(Object.getPrototypeOf(this));return e.agentId=this.agentId,e.description=this.description,e.threadId=this.threadId,e.messages=B5(this.messages),e.state=B5(this.state),e._debug=this._debug,e._debugLogger=this._debugLogger,e.isRunning=this.isRunning,e.subscribers=[...this.subscribers],e.middlewares=[...this.middlewares],e.pendingInterrupts=B5(this.pendingInterrupts),e}addMessage(e){this.messages.push(e),(async()=>{for(let t of this.subscribers)await t.onNewMessage?.({message:e,messages:this.messages,state:this.state,agent:this});if(e.role===`assistant`&&e.toolCalls)for(let t of e.toolCalls)for(let e of this.subscribers)await e.onNewToolCall?.({toolCall:t,messages:this.messages,state:this.state,agent:this});for(let e of this.subscribers)await e.onMessagesChanged?.({messages:this.messages,state:this.state,agent:this})})()}addMessages(e){this.messages.push(...e),(async()=>{for(let t of e){for(let e of this.subscribers)await e.onNewMessage?.({message:t,messages:this.messages,state:this.state,agent:this});if(t.role===`assistant`&&t.toolCalls)for(let e of t.toolCalls)for(let t of this.subscribers)await t.onNewToolCall?.({toolCall:e,messages:this.messages,state:this.state,agent:this})}for(let e of this.subscribers)await e.onMessagesChanged?.({messages:this.messages,state:this.state,agent:this})})()}setMessages(e){this.messages=B5(e),(async()=>{for(let e of this.subscribers)await e.onMessagesChanged?.({messages:this.messages,state:this.state,agent:this})})()}setState(e){this.state=B5(e),(async()=>{for(let e of this.subscribers)await e.onStateChanged?.({messages:this.messages,state:this.state,agent:this})})()}legacy_to_be_removed_runAgentBridged(e){this.agentId=this.agentId??WQ();let t=this.prepareRunAgentInput(e);return(this.middlewares.length===0?this.run(t):this.middlewares.reduceRight((e,t)=>({run:n=>t.run(n,e),get messages(){return e.messages},get state(){return e.state}}),this).run(t)).pipe(e7(this.debugLogger),Z5(this.debugLogger),Pie(this.threadId,t.runId,this.agentId),e=>e.pipe(a3(e=>(this.debugLogger?.event(`LEGACY`,`Event:`,e,{type:e.type}),e))))}},Yie=class extends Jie{requestInit(e){return{method:`POST`,headers:{...this.headers,"Content-Type":`application/json`,Accept:`text/event-stream`},body:JSON.stringify(e),signal:this.abortController.signal}}runAgent(e,t){return this.abortController=e?.abortController??new AbortController,super.runAgent(e,t)}abortRun(){this.abortController.abort(),super.abortRun()}constructor(e){super(e),this.abortController=new AbortController,this.url=e.url,this.headers=B5(e.headers??{}),this.fetch=e.fetch??((e,t)=>fetch(e,t))}run(e){return jie(Oie(()=>this.fetch(this.url,this.requestInit(e))),this.debugLogger)}clone(){let e=super.clone();e.url=this.url,e.headers=B5(this.headers??{}),e.fetch=this.fetch;let t=new AbortController,n=this.abortController.signal;return n.aborted&&t.abort(n.reason),e.abortController=t,e}},s7=class extends Error{code;detail;constructor(e,t,n){super(t),this.name=`ApiError`,this.code=e,this.detail=n}},c7=class extends Error{constructor(e=`请求已取消`){super(e),this.name=`CancelledError`}},Xie=`/agentengine/api/v1`;async function l7(e){let t=await e.text(),n={};try{n=t?JSON.parse(t):{}}catch{let n=e.headers.get(`content-type`)?.toLowerCase()||``;if((e.status===401||e.status===403)&&(n.includes(`text/html`)||t.trimStart().startsWith(`<`)))throw new s7(e.status,`访问会话已失效,请从 Dashboard 或 Studio 的云端会话重新打开 Agent。`);if(!e.ok){let n=t.trim();throw new s7(e.status,n&&n.length<=256&&!n.startsWith(`<`)?n:e.statusText||`HTTP ${e.status}`,t)}throw new s7(-2,`响应格式异常`)}if(!e.ok)throw new s7(e.status,n?.Message||`HTTP ${e.status}`,n);if(n?.Code!==void 0&&n.Code!==0)throw new s7(n.Code,n.Message||`请求失败`,n);return n.Data}function u7(e){throw e instanceof DOMException&&e.name===`AbortError`?new c7:e}var d7=class{fetcher;baseUrl;agentId;constructor(e={}){this.fetcher=e.fetch||((e,t)=>globalThis.fetch(e,t)),this.baseUrl=String(e.baseUrl||Xie).replace(/\/+$/,``),this.agentId=String(e.agentId||``).trim()}actionUrl(e){return`${this.baseUrl}/${e}`}scopedBody(e){return this.agentId&&!e.AgentId?{...e,AgentId:this.agentId}:e}async postJsonAction(e,t,n){let r;try{r=await this.fetcher(this.actionUrl(e),{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(this.scopedBody(t)),signal:n?.signal})}catch(e){throw u7(e)}return l7(r)}async postFormAction(e,t,n){let r;this.agentId&&!t.has(`AgentId`)&&t.append(`AgentId`,this.agentId);try{r=await this.fetcher(this.actionUrl(e),{method:`POST`,body:t,signal:n?.signal})}catch(e){throw u7(e)}return l7(r)}async getResource(e,t,n){let r=this.agentId&&!t.AgentId?{AgentId:this.agentId,...t}:t,i=new URLSearchParams(r).toString(),a=i?`${this.actionUrl(e)}?${i}`:this.actionUrl(e),o;try{o=await this.fetcher(a,{signal:n?.signal})}catch(e){throw u7(e)}if(!o.ok)throw new s7(o.status,`资源获取失败: ${o.statusText}`);try{return n?.asText?await o.text():await o.blob()}catch{throw new s7(-3,`文件读取失败`)}}async streamAction(e,t,n){let r;try{r=await this.fetcher(this.actionUrl(e),{method:`POST`,headers:{"Content-Type":`application/json`,Accept:`text/event-stream`},body:JSON.stringify(this.scopedBody(t)),signal:n?.signal})}catch(e){throw u7(e)}if(!r.ok)throw await l7(r),new s7(r.status,`流式请求失败: ${r.statusText}`);if((r.headers.get(`content-type`)?.toLowerCase()||``).includes(`application/json`)&&await l7(r.clone()),!r.body)throw new s7(-1,`无法获取响应流`);return r.body}async streamGetAction(e,t,n){let r=this.agentId&&!t.AgentId?{AgentId:this.agentId,...t}:t,i=new URLSearchParams(r).toString(),a=i?`${this.actionUrl(e)}?${i}`:this.actionUrl(e),o;try{o=await this.fetcher(a,{headers:{Accept:`text/event-stream`},signal:n?.signal})}catch(e){throw u7(e)}if(!o.ok)throw new s7(o.status,`流式订阅失败: ${o.statusText}`);if(!o.body)throw new s7(-1,`无法获取响应流`);return o.body}};new d7;var f7=class extends Error{constructor(e){super(e),this.name=`ContractMismatchError`}},Zie=new Set([`schema_version`,`command_id`,`status`,`message_id`,`run_id`,`accepted_seq`,`error`]),Qie=OI({code:GF().min(1),message:GF(),retryable:vI(),details:LI(GF(),SI()).optional()});function p7(e){if(typeof e!=`object`||!e||Array.isArray(e))return m7(e);let t=e;if(`schema_version`in t||!(`SchemaVersion`in t))return m7(e);let n={SchemaVersion:`schema_version`,CommandId:`command_id`,Status:`status`,MessageId:`message_id`,RunId:`run_id`,AcceptedSeq:`accepted_seq`,Error:`error`};return m7(Object.fromEntries(Object.entries(t).map(([e,t])=>[n[e]??e,t])))}function m7(e){let t=OI({schema_version:VI(1),command_id:GF().min(1),status:zI([`accepted`,`duplicate`,`rejected`,`unsupported`,`queue_full`,`persistence_uncertain`]),message_id:GF().min(1).nullable().optional(),run_id:GF().min(1).nullable().optional(),accepted_seq:mI().int().min(0).nullable().optional(),error:Qie.nullable().optional()}).passthrough().safeParse(e);if(!t.success)throw new f7(`AgentControlReceipt/v1 mismatch: ${t.error.message}`);let n=t.data;if((n.status===`rejected`||n.status===`unsupported`||n.status===`queue_full`||n.status===`persistence_uncertain`)&&!n.error)throw new f7(`AgentControlReceipt/v1 mismatch: status ${n.status} requires error`);let r={};for(let[e,t]of Object.entries(n))Zie.has(e)||(r[e]=t);let i=n.error?{...n.error,extensions:{}}:null;return{schema_version:1,command_id:n.command_id,status:n.status,message_id:n.message_id??null,run_id:n.run_id??null,accepted_seq:n.accepted_seq??null,error:i,extensions:r}}var $ie=new Set([`schema_version`,`event_id`,`session_id`,`seq`,`timestamp`,`family`,`family_version`,`event_type`,`payload`,`run_id`,`causation_id`,`correlation_id`,`actor_ref`]),eae=new Map([[`control`,1],[`runtime`,2]]),tae={schema_version:[`schemaVersion`,`SchemaVersion`],event_id:[`eventId`,`EventId`],session_id:[`sessionId`,`SessionId`],seq:[`seqId`,`SeqId`,`Seq`],timestamp:[`Timestamp`],family:[`Family`],family_version:[`familyVersion`,`FamilyVersion`],event_type:[`eventType`,`EventType`],payload:[`Payload`],run_id:[`runId`,`RunId`],causation_id:[`causationId`,`CausationId`],correlation_id:[`correlationId`,`CorrelationId`],actor_ref:[`actorRef`,`ActorRef`]};function nae(e){if(!e||typeof e!=`object`||Array.isArray(e))return e;let t=e,n={...t};for(let[e,r]of Object.entries(tae)){if(n[e]===void 0){let i=r.find(e=>t[e]!==void 0);i&&(n[e]=t[i])}for(let e of r)delete n[e]}return n}var rae=OI({schema_version:VI(1),event_id:GF().min(1),session_id:GF().min(1),seq:mI().int().min(0),timestamp:GF().min(1),family:GF().min(1),family_version:mI().int().min(1),event_type:GF().min(1),payload:LI(GF(),SI()),run_id:GF().min(1).nullable().optional(),causation_id:GF().min(1).nullable().optional(),correlation_id:GF().min(1).nullable().optional(),actor_ref:GF().min(1).nullable().optional()}).passthrough();function iae(e){let t=rae.safeParse(nae(e));if(!t.success)return{ok:!1,error:new f7(`SessionEventEnvelope/v1 mismatch: ${t.error.message}`)};let n=t.data,r=eae.get(n.family);if(r!==void 0&&n.family_version!==r)return{ok:!1,error:new f7(`SessionEventEnvelope/v1 mismatch: family ${n.family} requires family_version ${r}`)};let i={};for(let[e,t]of Object.entries(n))$ie.has(e)||(i[e]=t);return{ok:!0,value:{schema_version:1,event_id:n.event_id,session_id:n.session_id,seq:n.seq,timestamp:n.timestamp,family:n.family,family_version:n.family_version,event_type:n.event_type,payload:n.payload,run_id:n.run_id??null,causation_id:n.causation_id??null,correlation_id:n.correlation_id??null,actor_ref:n.actor_ref??null,extensions:i}}}function aae(e){return{Messages:e.Messages??[],LatestSeqId:Number.isFinite(Number(e.LatestSeqId))?Number(e.LatestSeqId):0,HasMore:!!e.HasMore,NextCursor:e.NextCursor===null||e.NextCursor===void 0?null:Number.isFinite(Number(e.NextCursor))?Number(e.NextCursor):null,DataSource:e.DataSource,Degraded:e.Degraded,CursorSource:e.CursorSource,CursorCompatibleWithRuntime:e.CursorCompatibleWithRuntime,SessionContractVersion:e.SessionContractVersion,HistoryEpoch:e.HistoryEpoch,PersistenceDegraded:e.PersistenceDegraded,SnapshotSeqId:(e=>e!=null&&Number.isInteger(Number(e))&&Number(e)>=0?Number(e):void 0)(e.SnapshotSeqId)}}var h7=class{client;constructor(e={}){this.client=new d7(e)}async compactSession(e,t){return this.client.postJsonAction(`CompactSession`,{AgentId:e,SessionId:t})}async listSessions(e,t){let n=await this.client.postJsonAction(`ListSessions`,{AgentId:e,Page:t?.page,PageSize:t?.pageSize},t),r=n.Sessions??[];return{Sessions:r,Total:Number.isFinite(Number(n.Total))?Number(n.Total):r.length,Page:Number.isFinite(Number(n.Page))?Number(n.Page):t?.page??1,PageSize:Number.isFinite(Number(n.PageSize))?Number(n.PageSize):t?.pageSize??r.length}}async createSession(e,t){let n=await this.client.postJsonAction(`CreateSession`,{AgentId:e},t);return{SessionId:String(n.Session?.SessionId||``)}}async deleteSession(e,t){return this.client.postJsonAction(`DeleteSession`,{SessionId:e},t)}async getSession(e,t){return(await this.client.postJsonAction(`GetSession`,{SessionId:e},t)).Session}async listSessionEvents(e,t){let n=await this.client.postJsonAction(`ListSessionEvents`,{SessionId:e,Offset:t?.offset,Limit:t?.limit,CursorSource:t?.cursorSource,HistoryEpoch:t?.historyEpoch,SnapshotSeqId:t?.snapshotSeqId},t),r=n.Events??[];return{Events:r,Total:Number.isFinite(Number(n.Total))?Number(n.Total):r.length,Offset:Number.isFinite(Number(n.Offset))?Number(n.Offset):t?.offset??0,Limit:Number.isFinite(Number(n.Limit))?Number(n.Limit):t?.limit??r.length,DataSource:n.DataSource,Degraded:n.Degraded,CursorSource:n.CursorSource,CursorCompatibleWithRuntime:n.CursorCompatibleWithRuntime,SessionContractVersion:n.SessionContractVersion,HistoryEpoch:n.HistoryEpoch,PersistenceDegraded:n.PersistenceDegraded,SnapshotSeqId:n.SnapshotSeqId}}async listSessionMessages(e,t){return aae(await this.client.postJsonAction(`ListSessionMessages`,{AgentId:t?.agentId,SessionId:e,AfterSeqId:t?.afterSeqId,BeforeSeqId:t?.beforeSeqId,CursorSource:t?.cursorSource,HistoryEpoch:t?.historyEpoch,SnapshotSeqId:t?.snapshotSeqId,Limit:t?.limit,IncludeReasoning:t?.includeReasoning,IncludeToolEvents:t?.includeToolEvents,IncludeAttachments:t?.includeAttachments},t))}async listSessionCheckpoints(e,t){return this.client.postJsonAction(`ListSessionCheckpoints`,{AgentId:e.agentId,SessionId:e.sessionId,...e.runId?{RunId:e.runId}:{}},t)}async previewCheckpointResume(e,t){return this.client.postJsonAction(`GetCheckpointResumePreview`,{AgentId:e.agentId,SessionId:e.sessionId,RunId:e.runId,CheckpointId:e.checkpointId},t)}async listToolReceipts(e,t){return this.client.postJsonAction(`ListToolReceipts`,{AgentId:e.agentId,SessionId:e.sessionId,...e.runId?{RunId:e.runId}:{},...e.checkpointId?{CheckpointId:e.checkpointId}:{}},t)}async runAgent(e,t){return this.client.streamAction(`RunAgent`,e,t)}async resumeRun(e,t){return this.client.streamAction(`ResumeRun`,{AgentId:e.agentId,SessionId:e.sessionId,RunId:e.runId,CheckpointId:e.checkpointId,Stream:!0,...e.resumeAttemptId?{ResumeAttemptId:e.resumeAttemptId}:{},...e.invocationId?{InvocationId:e.invocationId}:{}},t)}async subscribeRunEvents(e,t){return this.client.streamGetAction(`SubscribeRunEvents`,{SessionId:e.sessionId,InvocationId:e.invocationId,AfterSeqId:String(e.afterSeqId)},t)}async submitControl(e,t){return p7(await this.client.postJsonAction(`SubmitAgentControl`,{CommandType:e.command_type,IdempotencyKey:e.idempotency_key,Payload:e.payload},t))}async submitInteraction(e,t){return p7(await this.client.postJsonAction(`SubmitInteraction`,{...e},t))}async getAgentStatus(e){return this.client.postJsonAction(`GetAgentStatus`,{},e)}async subscribeSessionEvents(e,t,n){return this.client.streamGetAction(`SubscribeSessionEvents`,{SessionId:e,after_seq:String(t)},n)}async cancelRun(e,t,n,r){if(r?.scopeId!==void 0&&(!r.scopeId.trim()||!t||!r.clientToken?.trim()))throw Error(`Scoped cancellation requires session, scope and client token`);return this.client.postJsonAction(`CancelRun`,{AgentId:e,SessionId:t,InvocationId:n,...r?.scopeId===void 0?{}:{ScopeId:r.scopeId},...r?.clientToken?{ClientToken:r.clientToken}:{}},r)}async getResponseFeedback(e,t){return this.client.postJsonAction(`GetResponseFeedback`,e,t)}async upsertResponseFeedback(e,t){return this.client.postJsonAction(`UpsertResponseFeedback`,e,t)}async deleteResponseFeedback(e,t){await this.client.postJsonAction(`DeleteResponseFeedback`,e,t)}async listWorkspaceFiles(e,t,n,r){return this.client.postJsonAction(`ListWorkspaceFiles`,{AgentId:e,Path:t,Recursive:n},r)}async addWorkspaceFile(e,t){return this.client.postFormAction(`AddWorkspaceFile`,e,t)}async deleteWorkspaceFile(e,t,n){await this.client.postJsonAction(`DeleteWorkspaceFile`,{AgentId:e,Path:t},n)}async getWorkspaceFileContent(e,t,n){return this.client.getResource(`GetWorkspaceFileContent`,{AgentId:e,FilePath:t},n)}async listAgentModels(e,t){return this.client.postJsonAction(`ListAgentModels`,{AgentId:e},t)}async getAgentUiBootstrap(e,t){return this.client.postJsonAction(`GetAgentUiBootstrap`,e?{AgentId:e}:{},t)}async uploadFile(e,t){return this.client.postFormAction(`UploadFile`,e,t)}},g7=F()(e=>({agentId:`default-agent`,agentName:`Agent`,agentFramework:``,capabilities:FQ({}),apiFormats:[`responses`,`chat_completions`],accessMode:`Owner`,workspaceFiles:null,status:`loading`,errorMessage:``,setAgentId:t=>e({agentId:t}),setAgentName:t=>e({agentName:t}),setAgentFramework:t=>e({agentFramework:t}),setCapabilities:t=>e({capabilities:t}),setApiFormats:t=>e({apiFormats:t}),setAccessMode:t=>e({accessMode:t}),setWorkspaceFiles:t=>e({workspaceFiles:t}),setStatus:(t,n=``)=>e({status:t,errorMessage:n})})),oae=`ksadk:webui:selected-session:`;function sae(e){return String(e||``).trim()||`default-agent`}function _7(e){if(e&&typeof e.getItem==`function`)return e;try{if(typeof window<`u`&&window.localStorage)return window.localStorage}catch{}return null}function v7(e){return ku.key(`${oae}${sae(e)}`)}function y7(e,t){let n=_7(t);if(!n)return null;try{return String(n.getItem(v7(e))||``).trim()||null}catch{return null}}function b7(e,t,n){if(!ku.writable)return;let r=_7(n);if(!r)return;let i=v7(e),a=String(t||``).trim();try{if(a){r.setItem(i,a);return}r.removeItem(i)}catch{}}function cae(e,t){if(!Array.isArray(e)||e.length===0)return null;let n=String(t||``).trim();if(n&&e.some(e=>String(e?.SessionId||``).trim()===n))return n;for(let t of e){let e=String(t?.SessionId||``).trim();if(e)return e}return null}function lae(e,t,n){let r=Array.isArray(e)?e:[],i=Array.isArray(t)?t:[],a=n instanceof Set?n:new Set(Array.isArray(n)?n:[]);if(a.size===0)return r;let o=new Set(r.map(e=>String(e?.SessionId||``).trim()).filter(Boolean)),s=i.filter(e=>{let t=String(e?.SessionId||``).trim();return t&&a.has(t)&&!o.has(t)});return s.length>0?[...r,...s]:r}function uae(e){return e instanceof s7&&(e.code===401||e.code===403)?`auth-required`:`error`}function dae(e){if(!Array.isArray(e))return[`responses`,`chat_completions`];let t=e.filter(e=>e===`responses`||e===`chat_completions`);return t.length>0?t:[`responses`,`chat_completions`]}var x7=new h7;async function fae(e,t=x7){try{let n=await t.listAgentModels(e),r=n?.Models;Array.isArray(r)&&Ou.getState().upsertModels(r);let i=n;i?.Current&&!Ou.getState().selectedModel&&Ou.getState().setSelectedModel(String(i.Current)),i?.Source&&Ou.getState().setModelSource(String(i.Source))}catch(e){console.error(`Failed to fetch models:`,e)}finally{Ou.getState().setModelCatalogLoaded(!0)}}function pae(e,t,n=x7,r){(0,g.useEffect)(()=>{let i=new AbortController;return(async()=>{g7.getState().setStatus(`loading`);try{let a=r??await n.getAgentUiBootstrap(t,{signal:i.signal});if(i.signal.aborted)return;let o=a,s=o?.Agent,c=String(s?.AgentId||`default-agent`);if(g7.getState().setAgentId(c),s?.Name){let e=String(s.Name);g7.getState().setAgentName(e),document.title=e}let l=String(s?.Framework||``).trim().toLowerCase();g7.getState().setAgentFramework(l);let u=FQ(a);g7.getState().setCapabilities(u),g7.getState().setApiFormats(dae(u.HostedChat.ApiFormats)),g7.getState().setAccessMode(String(o?.AccessMode||`Owner`));let d=u.WorkspaceFiles&&o?.WorkspaceFiles?o.WorkspaceFiles:null;g7.getState().setWorkspaceFiles(d),d||xu.getState().setWorkspacePanelOpen(!1),IQ(u)&&e.fetchSessions(c,y7(c));let f=o?.Model;f?.id&&(Ou.getState().setSelectedModel(f.id),Ou.getState().upsertModels([f]),Ou.getState().setModelSource(f.source||``)),fae(c,n),g7.getState().setStatus(`ready`)}catch(e){if(i.signal.aborted)return;console.error(`Failed to fetch bootstrap:`,e);let t=uae(e);g7.getState().setStatus(t,t===`auth-required`?`当前访问链接未授权或已过期。`:`无法加载 Agent 配置,请稍后重试。`)}})(),()=>i.abort()},[n,t,r])}function mae(e){let{agentId:t,currentSessionId:n,isStreaming:r,api:i,submitDraft:a}=e;return{submitResponseFeedback:(0,g.useCallback)(async e=>{if(!n)return;let r=null;xy.getState().patchMessages(t=>{let n=qee(t,{messageId:e.message.id,rating:e.rating,comment:e.comment||``});return r=n.previousFeedback,n.nextMessages});try{let r=zy((await i.upsertResponseFeedback(Kee({agentId:t,sessionId:n,message:e.message,rating:e.rating,comment:e.comment||``})))?.Feedback);r&&xy.getState().patchMessages(t=>Jee(t,{messageId:e.message.id,feedback:r}))}catch(t){console.error(`Failed to submit response feedback:`,t),xy.getState().patchMessages(t=>Hy(t,{messageId:e.message.id,previousFeedback:r}))}},[t,n,i]),deleteResponseFeedback:(0,g.useCallback)(async e=>{if(!n)return;let r=e.feedback?{...e.feedback}:null;xy.getState().patchMessages(t=>Yee(t,{messageId:e.id}));try{await i.deleteResponseFeedback(Vy({agentId:t,sessionId:n,message:e}))}catch(t){console.error(`Failed to delete response feedback:`,t),xy.getState().patchMessages(t=>Hy(t,{messageId:e.id,previousFeedback:r}))}},[t,n,i]),respondToApproval:(0,g.useCallback)(async e=>!e.approvalRequestId||r||!await a(``,[],[{type:`mcp_approval_response`,approval_request_id:e.approvalRequestId,approve:e.approve}],e.previousResponseId)?!1:(zu.getState().currentSessionId===n&&xy.getState().patchMessages(t=>t.map(t=>{let n=e.approve?`approved`:`rejected`,r=t=>e.approve&&t===`paused`?`running`:e.approve?t:`completed`;return{...t,tools:t.tools?Object.fromEntries(Object.entries(t.tools).map(([t,i])=>[t,i.approvalRequestId===e.approvalRequestId&&(i.approvalStatus===void 0||i.approvalStatus===`pending`)?{...i,status:r(i.status),approvalStatus:n}:i])):t.tools,blocks:t.blocks?.map(t=>t.type===`tool`&&t.extra?.approvalRequestId===e.approvalRequestId&&(t.extra.approvalStatus===void 0||t.extra.approvalStatus===`pending`)?{...t,status:r(t.status),extra:{...t.extra,approvalStatus:n}}:t)}})),!0),[n,r,a])}}var S7=class{records=new Map;terminalRuns=new Set;rejectedCommands=new Map;listeners=new Set;key(e,t){return`${e}\u0000${t}`}runKey(e,t){return`${e}\u0000${t}`}subscribe(e){return this.listeners.add(e),()=>{this.listeners.delete(e)}}emit(e){for(let t of this.listeners)t(e)}get(e,t){return this.records.get(this.key(e,t))||null}listPending(e){return this.listAll(e).filter(e=>e.status===`pending`)}listAll(e){return this.all().filter(t=>t.sessionId===e)}all(){return[...this.records.values()].sort((e,t)=>String(e.createdAt).localeCompare(String(t.createdAt)))}upsert(e){e.runId&&!Ku(e.status)&&this.terminalRuns.has(this.runKey(e.sessionId,e.runId))&&(e={...e,status:`expired`,outcome:`expired`,resolvedAt:e.resolvedAt??new Date().toISOString(),responseSummary:e.responseSummary??`运行已结束`});let t=this.get(e.sessionId,e.interactionId),n,r;return t?Ku(t.status)&&!Ku(e.status)||e.revision<t.revision||e.revision===t.revision&&Ku(t.status)&&!Ku(e.status)||t.status===`failed`&&t.extensions.rejected_command_id&&e.revision===t.revision&&!Ku(e.status)||t.status===`resolving`&&!Ku(e.status)?(n=t,r={type:`interaction_updated`,interaction:n}):Ku(e.status)?(n={...t,...e,title:t.title||e.title,kind:t.kind||e.kind,message:t.message||e.message,runId:e.runId??t.runId,requestSchema:t.requestSchema??e.requestSchema,presentation:t.presentation??e.presentation,actor:e.actor??t.actor,outcome:e.outcome??t.outcome,resolvedAt:e.resolvedAt??t.resolvedAt,responseSummary:e.responseSummary??t.responseSummary},r={type:`interaction_resolved`,interaction:n}):(n={...t,...e},r={type:`interaction_updated`,interaction:n}):(n=e,r={type:`interaction_requested`,interaction:n}),this.records.set(this.key(n.sessionId,n.interactionId),n),this.emit(r),r}markResolving(e,t){let n=this.get(e,t);if(!n||![`pending`,`failed`].includes(n.status))return;let r={...n.extensions};delete r.submit_error,this.records.set(this.key(e,t),{...n,status:`resolving`,extensions:r}),this.emit({type:`interaction_updated`,interaction:this.get(e,t)})}resolveLocally(e,t,n){let r=this.get(e,t);if(!r)return;let i={...r,...n,resolvedAt:n.resolvedAt??r.resolvedAt??new Date().toISOString(),revision:n.revision??r.revision};this.records.set(this.key(e,t),i),this.emit({type:`interaction_resolved`,interaction:i})}recordCommand(e,t,n){let r=this.get(e,t);if(!r||!n||Ku(r.status))return;this.records.set(this.key(e,t),{...r,extensions:{...r.extensions,submit_command_id:n}});let i=this.rejectedCommands.get(this.key(e,n));i&&this.rejectCommand(e,n,i)}rejectCommand(e,t,n){if(!(!e||!t)){this.rejectedCommands.set(this.key(e,t),n);for(let r of this.listAll(e)){if(r.extensions.submit_command_id!==t)continue;this.markFailed(e,r.interactionId,{code:n,message:`提交未执行(${n}),请重试`,retryable:!0});let i=this.get(e,r.interactionId);i?.status===`failed`&&this.records.set(this.key(e,r.interactionId),{...i,extensions:{...i.extensions,rejected_command_id:t}})}}}recordIdempotencyKey(e,t,n){let r=this.get(e,t);if(!r)return;let i={...r,extensions:{...r.extensions,idempotency_key:n}};this.records.set(this.key(e,t),i),this.emit({type:`interaction_updated`,interaction:i})}markFailed(e,t,n){let r=this.get(e,t);if(!r||r.status!==`resolving`)return;let i={...r,status:`failed`,extensions:{...r.extensions,submit_error:n}};this.records.set(this.key(e,t),i),this.emit({type:`interaction_updated`,interaction:i})}revertToPending(e,t){let n=this.get(e,t);if(!n||n.status!==`resolving`)return;let r={...n,status:`pending`};this.records.set(this.key(e,t),r),this.emit({type:`interaction_updated`,interaction:r})}markRunTerminal(e,t){if(!(!e||!t)){this.terminalRuns.add(this.runKey(e,t));for(let n of this.listAll(e)){if(n.runId!==t||Ku(n.status))continue;let r={...n,status:`expired`,outcome:`expired`,resolvedAt:n.resolvedAt??new Date().toISOString(),responseSummary:n.responseSummary??`运行已结束`};this.records.set(this.key(e,n.interactionId),r),this.emit({type:`interaction_resolved`,interaction:r})}}}markSessionTerminal(e){if(!e)return;let t=new Set(this.listAll(e).filter(e=>!Ku(e.status)).map(e=>e.runId).filter(e=>!!e));for(let n of t)this.markRunTerminal(e,n);for(let t of this.listAll(e)){if(t.runId||Ku(t.status))continue;let n={...t,status:`expired`,outcome:`expired`,resolvedAt:t.resolvedAt??new Date().toISOString(),responseSummary:t.responseSummary??`运行已结束`};this.records.set(this.key(e,t.interactionId),n),this.emit({type:`interaction_resolved`,interaction:n})}}remove(e,t){let n=this.key(e,t);this.records.has(n)&&(this.records.delete(n),this.emit({type:`interaction_removed`,interactionId:t}))}clearSession(e){for(let t of this.listAll(e))this.remove(e,t.interactionId);let t=`${e}\u0000`;for(let e of this.rejectedCommands.keys())e.startsWith(t)&&this.rejectedCommands.delete(e);for(let e of this.terminalRuns)e.startsWith(t)&&this.terminalRuns.delete(e)}},hae={approve:`approved`,reject:`rejected`,submit:`submitted`,cancel:`cancelled`};function C7(e,t){return{schema_version:1,command_id:`local-${t}`,status:e,message_id:null,run_id:null,accepted_seq:null,error:null,extensions:{}}}var gae=class{store;deps;inFlight=new Map;constructor(e){this.deps=e,this.store=e.store||new S7}listPending(e){return this.store.listPending(e)}setInteractionV1Enabled(e){this.deps.interactionV1Enabled=e}subscribe(e){return this.store.subscribe(e)}ingest(e){this.store.upsert(e)}ingestHistory(e){for(let t of e)this.store.upsert(t);for(let[e]of this.inFlight){let t=this.store.all().find(t=>this.recordKey(t)===e);t&&t.status!==`pending`&&t.status!==`resolving`&&this.inFlight.delete(e)}}recordKey(e){return JSON.stringify([e.sessionId,e.interactionId])}findByInteractionId(e,t){if(t)return this.store.get(t,e);let n=this.store.all().filter(t=>t.interactionId===e);return n.length===1?n[0]:null}async respond(e){let t=this.findByInteractionId(e.interactionId,e.sessionId);if(!t)return C7(`rejected`,e.interactionId);if(t.status===`resolved`||t.status===`cancelled`||t.status===`expired`||t.status===`resolving`)return C7(`duplicate`,e.interactionId);let n=e.idempotencyKey||qu(e.interactionId,e.expectedRevision),r=t.extensions.rejected_command_id,i=r?`${n}:retry-${r}`:n,a=this.recordKey(t),o=this.inFlight.get(a);if(o)return C7(o===i?`duplicate`:`rejected`,e.interactionId);this.inFlight.set(a,i),this.store.markResolving(t.sessionId,e.interactionId);let s=this.deps.interactionV1Enabled||t.source===`interaction_v1`;try{if(!s&&t.source===`responses`&&this.deps.legacyResponsesApproval){let n=t.extensions.previous_response_id;return await this.deps.legacyResponsesApproval(e.interactionId,e.action===`approve`,...typeof n==`string`&&n?[n]:[])===!1?(this.store.markFailed(t.sessionId,e.interactionId,{code:`interaction_not_dispatched`,message:`交互尚未提交,请稍后重试。`,retryable:!0}),C7(`rejected`,e.interactionId)):(this.resolveLocal(t,e,i),C7(`accepted`,e.interactionId))}if(!s&&t.source===`agui`&&this.deps.legacyAguiResume)return this.deps.legacyAguiResume(String(t.extensions.interrupt_id||e.interactionId),e.action===`cancel`?`cancelled`:`resolved`,e.response)?(this.resolveLocal(t,e,i),C7(`accepted`,e.interactionId)):(this.store.revertToPending(t.sessionId,e.interactionId),C7(`rejected`,e.interactionId));let n=m7(await this.deps.submitInteraction({AgentId:this.deps.agentId,SessionId:t.sessionId,RunId:t.runId||``,InteractionId:e.interactionId,ExpectedRevision:e.expectedRevision,Action:e.action,Response:e.response,IdempotencyKey:i}));return n.status===`accepted`||n.status===`duplicate`?(this.store.recordCommand(t.sessionId,e.interactionId,n.command_id),this.store.recordIdempotencyKey(t.sessionId,e.interactionId,i)):n.status===`queue_full`?this.store.revertToPending(t.sessionId,e.interactionId):this.store.markFailed(t.sessionId,e.interactionId,{code:n.error?.code??String(n.status),message:n.error?.message??`提交未通过(${n.status})`,retryable:n.error?.retryable??!1}),n}catch(n){let r=n instanceof Error?n.message:String(n||`交互提交失败`);throw this.store.markFailed(t.sessionId,e.interactionId,{code:`interaction_submit_failed`,message:r,retryable:!0}),n}finally{this.inFlight.delete(a)}}resolveLocal(e,t,n){let r=this.store.get(e.sessionId,t.interactionId);if(!r||Ku(r.status))return;let i=t.action===`cancel`?`cancelled`:`resolved`;this.store.resolveLocally(e.sessionId,t.interactionId,{status:i,outcome:hae[t.action],actor:`user`,responseSummary:Ju(t.action,t.response),revision:t.expectedRevision});let a=this.store.get(e.sessionId,t.interactionId);a&&this.store.upsert({...a,extensions:{...a.extensions,idempotency_key:n}})}},_ae=new Set([`approval`,`structured_input`,`plan_review`,`custom`]),vae=new Set([`pending`,`resolving`,`failed`,`resolved`,`cancelled`,`expired`]),yae=new Set([`approved`,`rejected`,`submitted`,`cancelled`,`expired`]);function w7(e){return typeof e==`object`&&e&&!Array.isArray(e)?e:null}function T7(e){return typeof e==`string`&&e.length>0?e:null}function E7(e){let t=String(e.kind||`approval`),n=String(e.status||`pending`),r=String(e.outcome||``),i=w7(e.presentation),a=i?w7(i.a2ui):null;return{interactionId:e.interactionId,sessionId:e.sessionId,runId:T7(e.runId),kind:_ae.has(t)?t:`custom`,title:typeof e.title==`string`&&e.title?e.title:`人工确认`,message:typeof e.message==`string`&&e.message?e.message:`本次运行需要人工处理后才能继续。`,requestSchema:w7(e.requestSchema),presentation:a?{a2ui:{wireVersion:String(a.wire_version??a.wireVersion??``),catalogDigest:String(a.catalog_digest??a.catalogDigest??``),messages:Array.isArray(a.messages)?a.messages.filter(e=>typeof e==`object`):[]}}:null,status:vae.has(n)?n:`pending`,revision:Number.isFinite(Number(e.revision))&&Number(e.revision)>0?Number(e.revision):1,createdAt:T7(e.createdAt)||new Date().toISOString(),expiresAt:T7(e.expiresAt),resolvedAt:T7(e.resolvedAt),actor:T7(e.actor),outcome:yae.has(r)?r:null,responseSummary:T7(e.responseSummary),source:e.source,extensions:e.extensions||{}}}var bae=new Set([`interaction.requested`,`interaction_requested`,`ksadk.interaction/v1.requested`,`InteractionRequested`,`approval.requested`,`a2ui.interaction`]),xae=new Set([`interaction.resolved`,`interaction_resolved`,`ksadk.interaction/v1.resolved`,`InteractionResolved`,`interaction.cancelled`,`interaction.cancel`,`interaction.expired`,`approval.resolved`,`a2ui.action`]);function D7(e){return typeof e==`object`&&e&&!Array.isArray(e)?e:null}function Sae(e,t){let n=D7(e);if(!n)return null;let r=D7(n.Content??n.content),i=D7(r?.session_event??r?.sessionEvent),a=D7(n.payload),o=i??(a?.family===`interaction`?a:null)??(n.family===`interaction`?n:null);if(o&&o.family!==`interaction`)return null;let s=o??n,c=String(s.event_type||s.EventType||``).trim();if(!c)return null;let l=D7(s.payload??s.Content)??(o||{}),u=D7(l.interaction)||D7(l.Interaction)||D7(l.interaction_request)||l,d=String(u.interaction_id||u.interactionId||u.InteractionId||u.approval_id||u.approvalId||l.interaction_id||l.interactionId||l.InteractionId||l.approval_id||l.approvalId||``);if(!d)return null;let f=String(s.session_id||s.SessionId||u.session_id||u.sessionId||t||``);if(!f)return null;if(bae.has(c)){let e=D7(u.request)||{},t=D7(u.presentation??e.presentation),n={...D7(u.extensions)||{},...u.detail===void 0?{}:{detail:u.detail},...(u.call_id??u.callId)===void 0?{}:{call_id:u.call_id??u.callId}};return E7({interactionId:d,sessionId:f,runId:u.run_id??u.runId??s.run_id??s.InvocationId,kind:c===`approval.requested`?`approval`:u.kind??e.kind??`approval`,title:u.title??t?.title,message:u.message??u.description??D7(u.detail)?.command??t?.description,requestSchema:u.request_schema??u.requestSchema??u.input_schema??u.inputSchema??u.RequestSchema??e.request_schema,presentation:t,status:`pending`,revision:u.revision??1,createdAt:u.created_at??u.createdAt??s.timestamp??s.Timestamp,expiresAt:u.expires_at??e.expires_at,source:`interaction_v1`,extensions:n})}if(xae.has(c)){let e={...D7(u.extensions)||{},...u.detail===void 0?{}:{detail:u.detail},...(u.call_id??u.callId)===void 0?{}:{call_id:u.call_id??u.callId}},t=c===`interaction.cancelled`||c===`interaction.cancel`?`cancelled`:c===`interaction.expired`?`expired`:`resolved`,n=String(l.outcome??u.outcome??u.status??``).toLowerCase(),r=String(l.action??u.action??l.name??u.name??``).toLowerCase(),i=n;i||=r===`approve`?`approved`:r===`reject`?`rejected`:r===`submit`?`submitted`:r===`cancel`||t===`cancelled`?`cancelled`:t===`expired`?`expired`:`submitted`;let a=t===`resolved`?`resolved`:t;return E7({interactionId:d,sessionId:f,runId:u.run_id??u.runId??s.run_id??s.InvocationId,kind:u.kind,title:u.title,message:u.message,requestSchema:u.request_schema,presentation:u.presentation,status:a,revision:u.revision,createdAt:u.created_at??s.timestamp,expiresAt:u.expires_at,resolvedAt:l.resolved_at??l.resolvedAt??u.resolved_at??u.resolvedAt??s.timestamp??s.Timestamp,actor:l.actor??u.actor??s.actor_ref,outcome:i,responseSummary:l.response_summary??u.response_summary??(r?`${r}`:void 0),source:`interaction_v1`,extensions:e})}return null}function O7(e){return!e.approvalRequestId||!e.sessionId?null:E7({interactionId:e.approvalRequestId,sessionId:e.sessionId,runId:e.runId??null,kind:`approval`,title:e.name?`审批:${e.name}`:`人工确认`,message:e.message||`本次运行需要人工审批后才能继续。`,requestSchema:e.requestSchema??null,status:`pending`,revision:1,source:`responses`,extensions:{...e.previousResponseId?{previous_response_id:e.previousResponseId}:{},...e.approvalLevel?{approval_level:e.approvalLevel}:{},...e.args?{arguments:e.args}:{}}})}function k7(e){return!e.interruptId||!e.sessionId?null:E7({interactionId:e.interruptId,sessionId:e.sessionId,runId:e.runId??null,kind:`approval`,title:e.name?`确认:${e.name}`:`人工确认`,message:e.message||`本次运行需要人工确认后才能继续。`,requestSchema:e.requestSchema??null,status:`pending`,revision:1,source:`agui`,extensions:{interrupt_id:e.interruptId,...e.toolCallId?{tool_call_id:e.toolCallId}:{},...e.reason?{reason:e.reason}:{}}})}var A7=e=>typeof e==`string`&&e?e:void 0;function j7(e,t,n){for(let r of n){if(r.agentBlock&&j7(e,t,r.agentBlock.messages),r.eventType===`conversation_item_v1`)continue;let n=Object.values(r.tools||{}),i=[...n];for(let e of r.blocks||[]){if(e.type!==`tool`||!A7(e.extra?.approvalRequestId))continue;let t=e.extra||{},r=n.find(e=>e.approvalRequestId===t.approvalRequestId);i.push({...r,name:e.toolName,args:e.args,status:e.status,approvalRequestId:A7(t.approvalRequestId),approvalStatus:A7(t.approvalStatus)||r?.approvalStatus,approvalProtocol:A7(t.approvalProtocol)||r?.approvalProtocol,approvalMessage:A7(t.approvalMessage)||r?.approvalMessage,previousResponseId:A7(t.previousResponseId)||r?.previousResponseId})}for(let n of i){let i=n.approvalRequestId,a=n.approvalProtocol,o=n.approvalStatus||(n.status===`paused`?`pending`:void 0);if(!i||!o||![`pending`,`approved`,`rejected`,`cancelled`].includes(o)||a!==`responses`&&a!==`ag-ui`)continue;let s=e.get(t,i);if(s&&(s.source===`interaction_v1`||Ku(s.status)))continue;let c={sessionId:t,runId:r.runId||r.invocationId,name:n.name,message:n.approvalMessage,args:n.args,previousResponseId:n.previousResponseId||r.responseId},l=a===`ag-ui`?k7({...c,interruptId:i,toolCallId:n.callId}):O7({...c,approvalRequestId:i});l&&(l.revision=s?.revision||l.revision,l.createdAt=s?.createdAt||l.createdAt,l.runId=s?.runId||l.runId,l.extensions={...l.extensions,...s?.extensions},o!==`pending`&&(l.status=o===`cancelled`?`cancelled`:`resolved`,l.outcome=o),e.upsert(l))}}}function M7(e){return e&&typeof e==`object`&&!Array.isArray(e)?e:null}function Cae(e,t){let n=M7(e),r=M7(M7(n?.Content)?.runtime_event);if(!r||r.schema_version!==2||r.interaction_kind!==`approval`)return null;let i=M7(r.source);if(![`langgraph`,`langchain`,`deepagents`].includes(String(i?.framework)))return null;let a=String(n?.SessionId||t||``),o=typeof r.interaction_id==`string`?r.interaction_id:``;if(!a||!o)return null;let s=M7(r.request),c=M7(s?.detail),l=M7(r.response),u=r.event_type===`interaction.requested`,d=r.event_type===`interaction.resolved`;if(u&&(s?.request_type!==`approval`||c?.approval_request_id!==o)||!u&&(!d||l?.response_type!==`approval`))return null;let f=M7((Array.isArray(c?.action_requests)?c.action_requests:[])[0]),p=c?.arguments??f?.args,m=M7(i?.metadata),h=O7({approvalRequestId:o,sessionId:a,runId:String(r.run_id||n?.InvocationId||``)||void 0,name:String(c?.tool_name||f?.name||``)||void 0,message:typeof c?.description==`string`?c.description:void 0,args:p===void 0?void 0:typeof p==`string`?p:JSON.stringify(p),previousResponseId:typeof m?.response_id==`string`?m.response_id:void 0});if(!h)return null;if(h.createdAt=String(r.timestamp??n?.Timestamp??h.createdAt),d){let e=l?.decision;if(e!==`approved`&&e!==`rejected`&&e!==`canceled`)return null;h.status=e===`canceled`?`cancelled`:`resolved`,h.outcome=e===`canceled`?`cancelled`:e,h.resolvedAt=h.createdAt}return h}var wae=new Set([`completed`,`failed`,`error`,`cancelled`,`canceled`,`aborted`,`resume_failed`]),N7=new S7;function P7(e,t){j7(N7,t,e)}function F7(e,t){let n=Sae(e,t)??Cae(e,t);n&&N7.upsert(n);let r=typeof e==`object`&&e?e:null;if(r?.EventType===`control.command_rejected`){let e=r.Content;N7.rejectCommand(String(r.SessionId||t||``),String(e?.command_id||``),String(e?.reason||`command_rejected`))}let i=r?BX(r):null;if(i!==null&&wae.has(i)){let e=typeof r?.Content==`object`&&r.Content!==null?r.Content:{},n=typeof e.payload==`object`&&e.payload!==null?e.payload:{},i=String(r?.SessionId||r?.session_id||t||``),a=String(r?.InvocationId||r?.run_id||n.run_id||n.runId||``);N7.markRunTerminal(i,a)}return n}function Tae(e){let t=e.sessionId||``;if(!t||!e.approvalRequestId)return null;let n=e.protocol===`ag-ui`?k7({interruptId:e.approvalRequestId,sessionId:t,runId:e.runId,name:e.name,message:e.message,reason:e.approvalLevel}):O7({approvalRequestId:e.approvalRequestId,sessionId:t,runId:e.runId,name:e.name,message:e.message,args:e.args,approvalLevel:e.approvalLevel,previousResponseId:e.previousResponseId});return n&&N7.upsert(n),n}function Eae(e){let t=e.sessionId||``;return!t||!e.approvalRequestId?null:F7({EventType:`approval.resolved`,Content:{approvalId:e.approvalRequestId,revision:e.revision||2,outcome:e.decision,actor:`user`,resolvedAt:new Date().toISOString()}},t)}function Dae(e){let[t]=(0,g.useState)(()=>new gae({agentId:e.agentId,store:N7,submitInteraction:t=>e.api.submitInteraction({...t,AgentId:e.getAgentId?.()??t.AgentId}),interactionV1Enabled:e.interactionV1Enabled,legacyResponsesApproval:e.legacyResponsesApproval,legacyAguiResume:e.legacyAguiResume}));(0,g.useEffect)(()=>{t.setInteractionV1Enabled(e.interactionV1Enabled)},[t,e.interactionV1Enabled]);let[n,r]=(0,g.useState)(0);(0,g.useEffect)(()=>N7.subscribe(()=>r(e=>e+1)),[]);let i=(0,g.useMemo)(()=>e.currentSessionId?N7.listAll(e.currentSessionId).filter(e=>e.status===`pending`||e.status===`resolving`||e.status===`failed`):[],[n,e.currentSessionId]),a=(0,g.useMemo)(()=>e.currentSessionId?N7.listAll(e.currentSessionId):[],[n,e.currentSessionId]),{currentSessionId:o,interactionV1Enabled:s,onAcceptedInteraction:c}=e;return{client:t,pending:i,records:a,respond:(0,g.useCallback)(e=>{let n=o?N7.get(o,e.interactionId):null;return o?t.respond({...e,sessionId:o}).then(e=>(s&&n&&(e.status===`accepted`||e.status===`duplicate`)&&c?.(n),e)):Promise.reject(Error(`请先选择会话。`))},[t,o,s,c]),localCatalog:Yu}}function Oae(e,t=768){return Number(e)<=t}function kae(){return typeof window>`u`?900:Math.round(window.visualViewport?.height||window.innerHeight||900)}function I7(){return typeof window>`u`?{isMobile:!1,viewportHeight:900}:{isMobile:Oae(window.innerWidth,768),viewportHeight:kae()}}function Aae(){let[e,t]=(0,g.useState)(()=>I7());return(0,g.useEffect)(()=>{if(typeof window>`u`)return;let e=window.matchMedia(`(max-width: 768px)`),n=()=>{t(I7())};n();let r=typeof e.addEventListener==`function`?(e.addEventListener(`change`,n),()=>e.removeEventListener(`change`,n)):(e.addListener(n),()=>e.removeListener(n));return window.addEventListener(`resize`,n),window.visualViewport?.addEventListener(`resize`,n),()=>{r(),window.removeEventListener(`resize`,n),window.visualViewport?.removeEventListener(`resize`,n)}},[]),e}var jae=class{id=`responses`;createState(){return bX()}parseItemOperations(e,t,n){return k(e.eventName,e.data,t,n)}parse(e,t){let n=e.data;if(e.eventName===`interaction.requested`&&n?.family===`interaction`){let e=n.payload,t=String(e?.interaction_id||``);if(t&&n.session_id&&n.run_id)return[{type:`canonical_interaction`,interactionId:t,event:{EventType:`interaction.requested`,SessionId:String(n.session_id),InvocationId:String(n.run_id),SeqId:Number(n.seq||0),Content:{session_event:n}}}]}return MX({eventName:e.eventName,data:e.data,state:t}).map(e=>{if(e.type===`tool_upsert`){let{approvalRequestId:t,previousResponseId:n,serverLabel:r,...i}=e;return{...i,extra:{...t?{approvalRequestId:t}:{},...n?{previousResponseId:n}:{},...r?{serverLabel:r}:{},...t?{approvalProtocol:`responses`}:{}}}}return e})}};function L7(e){return typeof e==`string`?e:Array.isArray(e)?e.map(e=>typeof e==`string`?e:e&&typeof e==`object`&&`text`in e&&typeof e.text==`string`?e.text:``).join(``):``}function R7(e){return e&&typeof e==`object`?e:{}}function Mae(e){let t=R7(e).choices,n=R7(Array.isArray(t)?t[0]:null),r=R7(n.delta),i=R7(n.message);return{content:L7(r.content),reasoning:L7(r.reasoning_content),finalText:L7(i.content)}}var Nae=class{id=`chat_completions`;createState(){return{}}parse(e){let t=e.data;if(typeof t!=`object`||!t)return[];let n=Mae(t),r=[];return n.reasoning&&r.push({type:`reasoning_delta`,text:n.reasoning}),n.content&&r.push({type:`text_delta`,text:n.content}),n.finalText&&r.push({type:`text_final`,text:n.finalText}),r}},z7=new Map;z7.set(`responses`,new jae),z7.set(`chat_completions`,new Nae);function B7(e){return z7.get(e)||z7.get(`responses`)}function Pae(e=[]){return e.some(e=>{if(e?.type!==`terminal`)return!1;let t=String(e.status||``).toLowerCase();return t===`failed`||t===`incomplete`||t===`cancelled`})}function V7(e){let t=[],n=e.trim();if(!n)return t;let r=n.split(`
|
|
256
|
+
`);if(r.every(e=>e.startsWith(`:`)))return t.push({eventName:`__ping__`,data:null}),t;let i=`message`,a=[];for(let e of r)e.startsWith(`:`)||(e.startsWith(`event:`)?i=e.substring(6).trim()||`message`:e.startsWith(`data:`)&&a.push(e.substring(5).trim()));let o=a.join(`
|
|
257
|
+
`).trim();if(o===`[DONE]`)return t.push({eventName:`__done__`,data:null}),t;if(!o)return t;try{let e=JSON.parse(o);t.push({eventName:i,data:e})}catch{t.push({eventName:i,data:o})}return t}function H7(e){let t=e.split(`
|
|
258
|
+
|
|
259
|
+
`);return{chunks:t,remainder:t.pop()||``}}function U7(e){return e instanceof Error?e.message:String(e)}var Fae=new Set([`auto`,`enabled`,`disabled`]);function W7(e){let t=String(e||``).trim().toLowerCase();return Fae.has(t)?t:`auto`}function Iae(e){let t=W7(e);if(t===`disabled`)return{thinking:{type:`disabled`}};if(t===`enabled`)return{thinking:{type:`enabled`}}}function Lae(e){let{apiFormats:t}=e;return t.includes(`responses`)?`responses`:t.includes(`chat_completions`)?`chat_completions`:`responses`}function Rae(e){return String(e.type||``).toUpperCase()}function zae(e,t){return String(e.messageId||t)}function Bae(e,t){return String(e.runId||t)}function G7(e){return e&&typeof e==`object`&&!Array.isArray(e)?e:{}}function Vae(e){if(Array.isArray(e))return Zu(e.filter(e=>!!(e&&typeof e==`object`)));if(e&&typeof e==`object`){let t=e.a2ui_operations;return Array.isArray(t)?Zu(t.filter(e=>!!(e&&typeof e==`object`))):[e]}return[]}function Hae(e){return e==null||e===``?``:typeof e==`string`?e:JSON.stringify(e,null,2)}var Uae=class{agent;onEvent;tools=new Map;runMessageIds=new Map;pendingByRun=new Map;activeRunId=``;constructor(e){this.agent=new Yie({url:e.url,agentId:e.agentId,threadId:e.threadId,fetch:e.fetch}),this.onEvent=e.onEvent}async run(e,t,n){return this.activeRunId=t,this.agent.addMessage({id:`${t}:user`,role:`user`,content:e}),this.execute({runId:t,abortController:this.controllerFor(n)})}async resume(e,t){let n=this.agent.pendingInterrupts.length>0?this.agent.pendingInterrupts:this.pendingByRun.get(this.activeRunId)||[],r=Lie(n.length>0?n:[{id:t.interruptId,reason:`approval`}],{[t.interruptId]:t.status===`resolved`?{status:`resolved`,payload:t.payload}:{status:`cancelled`}});if(!r.some(e=>e.interruptId===t.interruptId))throw Error(`AG-UI interrupt ${t.interruptId} is not pending`);return this.activeRunId=e,this.execute({runId:e,resume:r})}abort(){this.agent.abortRun()}controllerFor(e){if(!e)return;let t=new AbortController;return e.aborted&&t.abort(e.reason),e.addEventListener(`abort`,()=>t.abort(e.reason),{once:!0}),t}async execute(e){let t=`completed`,n=await this.agent.runAgent({runId:e.runId,context:[Xu],forwardedProps:{injectA2UITool:!0},resume:e.resume,abortController:e.abortController},{onEvent:({event:n})=>{let r=this.project(n,e.runId);r.status&&(t=r.status),r.events.forEach(e=>this.onEvent(e))},onRunFinishedEvent:({outcome:e})=>{t=e===`interrupt`?`interrupted`:`completed`},onRunErrorEvent:()=>{t=`failed`}}),r=this.agent.pendingInterrupts.slice();return r.length>0&&(this.pendingByRun.set(e.runId,r),t=`interrupted`),{status:t,result:n}}project(e,t){let n=Rae(e),r=Bae(e,t),i=zae(e,`${r}:assistant`),a=e,o=[];if(n===`RUN_STARTED`)o.push({type:`activity`,phase:`AG-UI 运行已创建`,status:`running`,countEvent:!1});else if(n===`TEXT_MESSAGE_START`)this.runMessageIds.set(r,i),o.push({type:`assistant_message_created`,messageId:i});else if(n===`TEXT_MESSAGE_CONTENT`)o.push({type:`text_delta`,messageId:this.runMessageIds.get(r)||i,delta:String(a.delta||``)});else if(n===`TEXT_MESSAGE_END`)o.push({type:`activity`,phase:`生成回复内容`,status:`running`});else if(n===`REASONING_MESSAGE_CONTENT`)o.push({type:`reasoning_delta`,messageId:this.runMessageIds.get(r)||i,delta:String(a.delta||``)});else if(n===`TOOL_CALL_START`){let e=String(a.toolCallId||`tool`);this.tools.set(e,{name:String(a.toolCallName||`tool`),args:``}),o.push({type:`tool_upsert`,messageId:this.runMessageIds.get(r)||`${r}:assistant`,name:String(a.toolCallName||`tool`),args:``,status:`running`})}else if(n===`TOOL_CALL_ARGS`){let e=String(a.toolCallId||`tool`),t=this.tools.get(e)||{name:`tool`,args:``};t.args+=String(a.delta||``),this.tools.set(e,t),o.push({type:`tool_upsert`,messageId:this.runMessageIds.get(r)||`${r}:assistant`,name:t.name,args:t.args,status:`running`})}else if(n===`TOOL_CALL_RESULT`){let e=String(a.toolCallId||`tool`),t=this.tools.get(e)||{name:`tool`,args:``};o.push({type:`tool_result`,messageId:this.runMessageIds.get(r)||`${r}:assistant`,name:t.name,output:String(a.content||``)})}else if(n===`ACTIVITY_SNAPSHOT`){let e=a.content,t=G7(e),n=String(t.surfaceId||t.surface_id||a.messageId||`default`);o.push({type:`agui_activity`,messageId:this.runMessageIds.get(r)||i,surfaceId:n,messages:Vae(t.content??e)})}else if(n===`RUN_FINISHED`){let e=G7(a.outcome);if(String(e.type||``).toLowerCase()===`interrupt`){let t=Array.isArray(e.interrupts)?e.interrupts:[];this.pendingByRun.set(r,t);for(let e of t){let t=G7(e.metadata),n=e.toolCallId?this.tools.get(e.toolCallId):void 0,i=String(t.tool_name||t.toolName||n?.name||e.reason||`人工确认`),a=Hae(t.arguments??t.tool_args??t.args??n?.args);o.push({type:`approval_requested`,messageId:this.runMessageIds.get(r)||`${r}:assistant`,approvalRequestId:e.id,protocol:`ag-ui`,name:i,args:a,...e.message?{message:e.message}:{},...t.approval_level?{approvalLevel:String(t.approval_level)}:{}})}return o.push({type:`activity`,phase:`等待人工确认`,status:`waiting`}),{events:o,status:`interrupted`}}o.push({type:`terminal`,status:`completed`})}else if(n===`RUN_ERROR`)return o.push({type:`error`,error:Error(`AG-UI 运行失败`)}),{events:o,status:`failed`};return{events:o}}},K7=new Set([`completed`,`failed`,`error`,`cancelled`,`canceled`,`aborted`,`interrupted`,`resume_failed`]);function Wae(e){if(e.EventType!==`run_status`)return null;let t=String(e.Content?.status||``).trim().toLowerCase();return K7.has(t)?t:null}function Gae(e,t){let n=String(t?.type||e||``).trim();if(n===`response.created`)return{phase:`运行已创建`,status:`running`};if(n===`response.in_progress`)return{phase:`等待运行时输出`,status:`waiting`};if(n===`response.output_item.added`){let e=t?.item;return e?.type===`function_call`?{phase:`调用工具 ${e.name||`tool`}`,status:`running`}:String(e?.type||``).includes(`reasoning`)?{phase:`生成思考过程`,status:`running`}:{phase:`生成回复内容`,status:`running`}}return n.includes(`reasoning`)?{phase:`生成思考过程`,status:`running`}:n.includes(`function_call`)||n===`response.tool_call`?{phase:`调用工具`,status:`running`}:n.includes(`tool_result`)?{phase:`收到工具结果`,status:`running`}:n.includes(`output_text`)||n.includes(`content_part`)?{phase:`生成回复内容`,status:`running`}:n===`response.completed`?{phase:`运行完成`,status:`completed`}:n===`response.failed`?{phase:`运行失败`,status:`failed`}:n===`response.incomplete`?{phase:`运行中断`,status:`failed`}:null}function q7(){let e=globalThis.crypto;return e&&typeof e.randomUUID==`function`?`run_${e.randomUUID()}`:`run_${Date.now()}_${Math.random().toString(16).slice(2)}`}var Kae={idle:[`creating-session`,`uploading-files`,`connecting`,`error`],"creating-session":[`uploading-files`,`connecting`,`error`,`idle`],"uploading-files":[`connecting`,`error`,`idle`],connecting:[`streaming`,`error`,`idle`],streaming:[`completing`,`stopping`,`recovering`,`error`],stopping:[`cancelled`,`idle`],completing:[`idle`],recovering:[`streaming`,`error`,`idle`],error:[`connecting`,`idle`],cancelled:[`idle`]},qae=class{_stage=`idle`;listeners=new Set;abortController=null;activeCompactionId=null;activeSessionId=null;invocationId=``;operationEpoch=0;lastSeqId=0;pendingConfig=null;projection;aguiClient=null;aguiThreadSessionId=null;api;controlStateValue={phase:`idle`};lastControlCommand=null;config={agentId:`default-agent`,apiFormats:[`responses`],agentFramework:``,selectedModel:``,thinkingMode:`auto`};constructor(e,t={}){this.api=e,this.projection=t}get activeInvocationId(){return this.invocationId}get streamingKey(){return this.activeSessionId||this.projection.draftId||null}publishInvocation(e){this.invocationId=e,e&&Eu.getState().updateActivity({sessionId:this.streamingKey,runId:e,countEvent:!1,visible:this.projection.isVisible?.()}),this.projection.isVisible?.()!==!1&&(Eu.getState().setCurrentRunId(e),Eu.getState().setActiveInvocationId(e))}recordCursor(e){this.lastSeqId=e===0?0:Math.max(this.lastSeqId,e),this.projection.isVisible?.()!==!1&&Eu.getState().setLastSeqId(this.lastSeqId)}stopActivity(e){let t=Eu.getState(),n=this.projection.isVisible?.()!==!1;this.streamingKey?t.stopSessionActivity(this.streamingKey,e,n):n&&t.stopActivity(e)}get stage(){return this._stage}get controlState(){return this.controlStateValue}async submitControl(e){this.lastControlCommand=e;let t;try{t=m7(await this.api.submitControl(e))}catch(e){if(e instanceof f7)return this.controlStateValue={phase:`contract_mismatch`,error:null,receipt:null},this.emit({type:`system_message`,content:`【系统提示】控制指令响应不符合 agent-kernel/v1 合同,已停止变更本地状态。`}),this.controlStateValue;throw e}return this.controlStateValue=this.controlStateFor(t,e),t.status===`accepted`||t.status===`duplicate`?this.emit({type:`activity`,phase:`指令已入队,等待运行时处理`,status:`waiting`,countEvent:!1}):t.status===`queue_full`?this.emit({type:`system_message`,content:`【系统提示】指令队列已满,可点击重试;重试将复用同一幂等键。`}):t.status===`unsupported`?this.emit({type:`system_message`,content:`【系统提示】运行时不支持该操作:${t.error?.message||``}`}):t.status===`persistence_uncertain`?this.emit({type:`system_message`,content:`【系统提示】指令提交结果待确认,正在查询状态…`}):t.status===`rejected`&&this.emit({type:`system_message`,content:`【系统提示】指令被拒绝:${t.error?.message||``}`}),this.controlStateValue}controlStateFor(e,t){switch(e.status){case`accepted`:case`duplicate`:return{phase:`queued`,receipt:e,error:null};case`queue_full`:return{phase:`retryable`,retryKey:t.idempotency_key,receipt:e,error:e.error};case`unsupported`:return{phase:`unsupported`,receipt:e,error:e.error};case`persistence_uncertain`:return{phase:`confirming`,retryKey:t.idempotency_key,receipt:e,error:e.error};default:return{phase:`rejected`,receipt:e,error:e.error}}}async retryControl(){let e=this.lastControlCommand;if(!e||this.controlStateValue.phase!==`retryable`&&this.controlStateValue.phase!==`confirming`)return this.controlStateValue;if(this.controlStateValue.phase===`confirming`)try{await this.api.getAgentStatus()}catch(e){console.warn(`[RunEngine] status query after persistence_uncertain failed:`,e)}return this.submitControl(e)}updateConfig(e){let t={...e,apiFormats:[...e.apiFormats]};this._stage===`idle`?this.config=t:this.pendingConfig=t}emit(e){e.type===`stream_event`&&typeof e.event.SeqId==`number`&&this.recordCursor(e.event.SeqId);let t=`sessionId`in e?e:{...e,sessionId:this.activeSessionId};for(let e of this.listeners)e(t)}getAguiClient(e){let t=this.config.hostedChatTransport;return t?.Protocol!==`ag-ui`||!t.Endpoint?null:((!this.aguiClient||this.aguiThreadSessionId!==e)&&(this.aguiClient=new Uae({url:t.Endpoint,agentId:this.config.agentId,threadId:e,onEvent:e=>this.emit(e)}),this.aguiThreadSessionId=e),this.aguiClient)}setStage(e){if(this._stage===e)return;let t=Kae[this._stage];t&&!t.includes(e)&&console.warn(`[RunEngine] Invalid transition: ${this._stage} → ${e}`),this._stage=e,e===`idle`&&this.pendingConfig&&(this.config=this.pendingConfig,this.pendingConfig=null),this.emit({type:`stage_changed`,stage:e})}subscribe(e){return this.listeners.add(e),()=>{this.listeners.delete(e)}}start(e){if(this._stage!==`idle`)return!1;let t=++this.operationEpoch;this.abortController=new AbortController,this.activeSessionId=e.sessionId||null,this.invocationId=``,this.recordCursor(0),this.setStage(this.activeSessionId?`connecting`:`creating-session`);let n=e.responsesInput!==void 0,r=!1,i=t=>{r||(r=!0,e.onDispatchResult?.(t))};return(async()=>{let r=e.sessionId||null,a=`unknown`;try{if(r||=await this.createSession(e),!r)throw Error(`运行时未返回会话身份,请确认创建结果后重试。`);this.activeSessionId=r;let o=q7();this.publishInvocation(o),e.onInvocationCreated?.(o),this.recordCursor(0);let s=n?null:await this.getConversationBootstrap(r);if(s&&this.config.conversationClient){let n=await this.buildCanonicalConversationInput(s,r,o,e);this.setStage(`connecting`),this.emit({type:`activity`,phase:`连接会话运行时`,status:`connecting`,countEvent:!1}),this.setStage(`streaming`),this.emit({type:`activity`,phase:`等待会话输出`,status:`waiting`,countEvent:!1});let i=await this.config.conversationClient.streamTurn({bootstrap:s,input:n,signal:this.abortController?.signal,onUpdate:t=>{t.runId&&(this.publishInvocation(t.runId),e.onInvocationCreated?.(t.runId)),this.emit({type:`conversation_snapshot`,result:t,sessionId:r,optimisticMessageId:e.optimisticMessageId})}});if(this.operationEpoch!==t)return;if(i.presentation.terminalStatus===`failed`){a=`failed`,this.setStage(`error`),this.emit({type:`activity`,phase:`运行失败`,status:`failed`,countEvent:!1});return}this.setStage(`completing`),a=`completed`,this.emit({type:`activity`,phase:`运行完成`,status:`completed`,countEvent:!1}),this.emit({type:`stream_ended`,sessionId:r,runId:i.runId});return}let c=await this.uploadFiles(e,n);this.setStage(`connecting`),this.emit({type:`activity`,phase:`连接运行时`,status:`connecting`,countEvent:!1});let l=n?`responses`:Lae({agentFramework:this.config.agentFramework,apiFormats:this.config.apiFormats}),u=B7(l),d=u.createState(),f=this.config.hostedChatTransport,p=!n&&!e.executionMode&&e.attachments.length===0&&f?.Protocol===`ag-ui`?this.getAguiClient(r):null;if(p&&f){this.setStage(`streaming`),this.emit({type:`activity`,phase:`等待 AG-UI 输出`,status:`waiting`,countEvent:!1});let t=await p.run(e.text,o,this.abortController?.signal);if(t.status===`interrupted`){a=`cancelled`,this.setStage(`completing`),this.emit({type:`stream_ended`});return}if(t.status!==`completed`){a=`failed`,this.setStage(`error`),this.emit({type:`activity`,phase:`AG-UI 运行失败`,status:`failed`,countEvent:!1});return}this.setStage(`completing`),a=`completed`,this.emit({type:`activity`,phase:`运行完成`,status:`completed`,countEvent:!1}),this.emit({type:`stream_ended`});return}let m=this.buildRequestBody(r,l,n,e,c,o),h=this.config.kernelSessionEventsEnabled&&this.config.presentationProfile===`agent-block-v1`?`agent-block-v1`:`flat-v1`,g=await this.api.runAgent(m,{signal:this.abortController?.signal});if(this.operationEpoch!==t||this.abortController?.signal.aborted){i(!1),await g.cancel();return}this.config.kernelSessionEventsEnabled||i(!0),this.setStage(`streaming`),this.emit({type:`activity`,phase:`等待首个输出`,status:`waiting`,countEvent:!1});let _=`msg-${Date.now()}`,v=await _X(g);if(this.operationEpoch!==t||this.abortController?.signal.aborted){i(!1),await v.stream.cancel();return}this.config.kernelSessionEventsEnabled&&i(!v.receipt||v.receipt.status===`accepted`||v.receipt.status===`duplicate`);let y;if(y=v.receipt?await this.consumeKernelRunEvents(r,v.receipt,e.onInvocationCreated,h):await this.consumeStream(v.stream,u,d,_,o),this.operationEpoch!==t)return;if(y.awaitingInput){a=`awaiting-input`,this.setStage(`completing`),this.emit({type:`activity`,phase:`等待人工确认`,status:`waiting`,countEvent:!1}),this.emit({type:`stream_ended`});return}if(y.terminalStatus===`cancelled`){a=`cancelled`,this.setStage(`stopping`),this.stopActivity(`运行时已取消本次执行。`),this.emit({type:`activity`,phase:`运行已取消`,status:`stopped`,countEvent:!1}),this.setStage(`cancelled`);return}if(y.terminalStatus&&y.terminalStatus!==`completed`){a=`failed`,this.setStage(`error`),this.emit({type:`activity`,phase:y.terminalStatus===`incomplete`?`运行中断`:`运行失败`,status:`failed`,countEvent:!1});return}this.setStage(`completing`),a=`completed`,this.emit({type:`activity`,phase:`运行完成`,status:`completed`,countEvent:!1}),this.emit({type:`stream_ended`})}catch(e){if(this.failCompaction(),e instanceof DOMException&&e.name===`AbortError`||e instanceof Xq&&e.code===`conversation_aborted`)a=`cancelled`;else{let t=e instanceof TypeError;if(a=t?`unknown`:`failed`,console.error(`[RunEngine] start() error:`,e),t){this.setStage(`recovering`),this.emit({type:`activity`,phase:`网络异常,尝试重连`,status:`waiting`,countEvent:!1});let t=this.lastSeqId,n=this.invocationId;if(t>0&&n&&this.activeSessionId)try{await this.resumeRun({sessionId:this.activeSessionId,invocationId:n,afterSeqId:t});return}catch(e){console.warn(`[RunEngine] afterSeqId resume failed, fall back to error:`,e)}this.setStage(`error`),this.emit({type:`error`,error:e instanceof Error?e:Error(String(e))})}else e instanceof s7&&e.code===429?(this.setStage(`error`),this.emit({type:`rate_limited`,message:e.message||`请求过于频繁,请稍后重试`,sessionId:r})):(this.setStage(`error`),this.emit({type:`error`,error:e instanceof Error?e:Error(String(e))}))}}finally{i(!1),this.operationEpoch===t&&(Eu.getState().setSessionStreaming(this.streamingKey,!1),this.setStage(`idle`),this.activeCompactionId=null,this.activeSessionId=null,e.onSettled?.(r,a))}})(),!0}stop(){if(this._stage===`idle`)return;this.setStage(`stopping`);let e=this.invocationId;e&&this.activeSessionId&&this.api.cancelRun(this.config.agentId,this.activeSessionId,e).catch(e=>{console.warn(`[RunEngine] cancelRun on stop failed:`,e)}),this.abortController?.abort(),this.aguiClient?.abort(),this.stopActivity(e?`已向运行时发送取消请求;如果当前框架只支持协作式取消,后台可能会在下一个安全点停止。`:void 0),this.publishInvocation(``),this.setStage(`cancelled`),this.emit({type:`system_message`,content:e?`已请求取消本次运行。`:`已停止接收本次输出;如果运行时不支持取消,后台执行可能仍会继续。`})}disconnect(){this._stage!==`idle`&&(this.operationEpoch+=1,this.abortController?.abort(),this.aguiClient?.abort(),Eu.getState().setSessionStreaming(this.streamingKey,!1),this.projection.isVisible?.()!==!1&&Eu.getState().clearActivity(),this._stage=`idle`,this.activeCompactionId=null,this.activeSessionId=null)}async cancelRemote(e){try{this.activeSessionId&&await this.api.cancelRun(this.config.agentId,this.activeSessionId,e)}catch(e){console.warn(`[RunEngine] cancelRemote failed:`,e)}this.stop()}async resumeRun(e){this.abortController?.abort(),this.abortController=new AbortController,this.activeSessionId=e.sessionId,this.publishInvocation(e.invocationId),this.setStage(`connecting`),this.emit({type:`activity`,phase:`恢复运行事件订阅`,status:`connecting`,countEvent:!1});let t=null;try{let n=await this.api.subscribeRunEvents({sessionId:e.sessionId,invocationId:e.invocationId,afterSeqId:e.afterSeqId},{signal:this.abortController?.signal});this.setStage(`streaming`),this.emit({type:`activity`,phase:`等待恢复事件`,status:`waiting`,countEvent:!1});let r=n.getReader(),i=new TextDecoder,a=``;for(;;){let{value:e,done:n}=await r.read();if(n)break;a+=i.decode(e,{stream:!0});let{chunks:o,remainder:s}=H7(a);a=s;for(let e of o){if(!e.trim())continue;let n=V7(e);for(let e of n)e.eventName===`__done__`||e.eventName===`__ping__`||(this.emit({type:`activity`,phase:`收到恢复事件`,status:`running`}),this.emit({type:`stream_event`,event:e.data}),t=Wae(e.data)||t)}}this.setStage(`completing`),t===`cancelled`||t===`canceled`||t===`aborted`?this.emit({type:`activity`,phase:`后台长任务已取消`,status:`stopped`,countEvent:!1}):t===`interrupted`?this.emit({type:`activity`,phase:`后台长任务已中断`,status:`stopped`,countEvent:!1}):t===`failed`||t===`error`?this.emit({type:`activity`,phase:`后台长任务失败`,status:`failed`,countEvent:!1}):t===`resume_failed`?this.emit({type:`activity`,phase:`后台长任务恢复失败`,status:`failed`,countEvent:!1}):t?this.emit({type:`activity`,phase:`后台长任务已完成`,status:`completed`,countEvent:!1}):this.emit({type:`activity`,phase:`后台长任务状态待确认`,status:`waiting`,detail:`事件流已结束,但运行时尚未提供终态;正在等待会话状态对账。`,countEvent:!1}),t&&this.emit({type:`stream_ended`}),e.onSessionReloadNeeded?.()}catch(e){e instanceof DOMException&&e.name===`AbortError`||console.error(`Failed to subscribe to run events:`,e)}finally{Eu.getState().setSessionStreaming(e.sessionId,!1),this.publishInvocation(``),this.setStage(`idle`),this.activeSessionId=null}}resumeCheckpoint(e){if(this._stage!==`idle`)return!1;let t=++this.operationEpoch;this.abortController=new AbortController,this.activeSessionId=e.sessionId;let n=q7();return this.publishInvocation(n),(async()=>{let r=`unknown`;try{if(this.setStage(`connecting`),this.emit({type:`activity`,source:`restore`,phase:`从 checkpoint 恢复运行`,status:`connecting`,countEvent:!1}),this.config.checkpointResumePreviewEnabled)try{let t=(await this.api.previewCheckpointResume({agentId:this.config.agentId,sessionId:e.sessionId,runId:e.runId,checkpointId:e.checkpointId},{signal:this.abortController?.signal})).Preview?.Risk?.Level||`unknown`;this.emit({type:`activity`,source:`restore`,phase:`恢复预览完成:${String(t)} 风险`,status:`waiting`,countEvent:!1})}catch(e){console.warn(`[RunEngine] checkpoint resume preview failed:`,e)}let t=await this.api.resumeRun({agentId:this.config.agentId,sessionId:e.sessionId,runId:e.runId,checkpointId:e.checkpointId,resumeAttemptId:e.resumeAttemptId,invocationId:n},{signal:this.abortController?.signal}),i=B7(`responses`),a=i.createState();this.setStage(`streaming`),this.emit({type:`activity`,source:`restore`,phase:`等待恢复输出`,status:`waiting`,countEvent:!1});let o=`msg-${Date.now()}`,s=await this.consumeStream(t,i,a,o,n);if(s.awaitingInput){r=`awaiting-input`,this.setStage(`completing`),this.emit({type:`activity`,source:`restore`,phase:`等待人工确认`,status:`waiting`,countEvent:!1}),this.emit({type:`stream_ended`});return}if(s.terminalStatus&&s.terminalStatus!==`completed`){if(s.terminalStatus===`cancelled`){r=`cancelled`,this.setStage(`stopping`),this.stopActivity(`运行时已取消本次恢复。`),this.emit({type:`activity`,source:`restore`,phase:`恢复已取消`,status:`stopped`,countEvent:!1}),this.setStage(`cancelled`);return}this.setStage(`error`),r=`failed`,this.emit({type:`activity`,source:`restore`,phase:s.terminalStatus===`incomplete`?`恢复中断`:`恢复失败`,status:`failed`,countEvent:!1});return}this.setStage(`completing`),r=`completed`,this.emit({type:`activity`,source:`restore`,phase:`恢复完成`,status:`completed`,countEvent:!1}),this.emit({type:`stream_ended`})}catch(e){e instanceof DOMException&&e.name===`AbortError`?r=`cancelled`:(r=`failed`,console.error(`[RunEngine] resumeCheckpoint() error:`,e),this.setStage(`error`),this.emit({type:`error`,error:e instanceof Error?e:Error(String(e))}))}finally{this.operationEpoch===t&&(Eu.getState().setSessionStreaming(e.sessionId,!1),this.publishInvocation(``),this.setStage(`idle`),this.activeSessionId=null,e.onSettled?.(e.sessionId,r))}})(),!0}resumeAguiInterrupt(e){if(this._stage!==`idle`)return!1;let t=e.sessionId||this.aguiThreadSessionId;if(!t)return!1;let n=this.getAguiClient(t);if(!n)return!1;let r=++this.operationEpoch;this.activeSessionId=t;let i=q7();return this.publishInvocation(i),this.setStage(`connecting`),this.emit({type:`activity`,phase:`提交人工确认`,status:`connecting`,countEvent:!1}),(async()=>{let a=`unknown`;try{this.setStage(`streaming`);let t=await n.resume(i,{interruptId:e.interruptId,status:e.status,payload:e.payload}),r=e.payload&&typeof e.payload==`object`?e.payload:{},o=String(r.decision||r.type||``).toLowerCase();if(this.emit({type:`approval_resolved`,approvalRequestId:e.interruptId,decision:e.status===`cancelled`?`cancelled`:o===`reject`||o===`rejected`?`rejected`:`approved`}),t.status===`interrupted`){a=`cancelled`,this.setStage(`completing`),this.emit({type:`stream_ended`});return}if(t.status!==`completed`){a=`failed`,this.setStage(`error`),this.emit({type:`activity`,phase:`人工确认恢复失败`,status:`failed`,countEvent:!1});return}this.setStage(`completing`),a=`completed`,this.emit({type:`activity`,phase:`运行完成`,status:`completed`,countEvent:!1}),this.emit({type:`stream_ended`})}catch(e){a=e instanceof DOMException&&e.name===`AbortError`?`cancelled`:`failed`,this.setStage(`error`),this.emit({type:`error`,error:e instanceof Error?e:Error(String(e))})}finally{this.operationEpoch===r&&(this.publishInvocation(``),this.setStage(`idle`),this.activeSessionId=null,e.onSettled?.(t,a))}})(),!0}async createSession(e){let t=await this.api.createSession(this.config.agentId,{signal:this.abortController?.signal});this.abortController?.signal.throwIfAborted();let n=t.SessionId||null;if(!n)throw Error(`运行时未返回会话身份,请确认创建结果后重试。`);return this.activeSessionId=n,e.onSessionCreated?.(n),e.onSessionUpsert?.(n),n}async getConversationBootstrap(e){let t=this.config.conversationClient;if(!t)return null;try{return await t.getSurface(this.config.agentId,e,{signal:this.abortController?.signal})}catch(e){if(e instanceof Xq&&e.code===`conversation_http_error`&&e.status===404)return null;throw e}}async buildCanonicalConversationInput(e,t,n,r){let i=[],a=r.text.trim();a&&i.push({kind:`text`,text:a});for(let t of r.attachments){let n=t.type.startsWith(`image/`)?`attachment.image`:`attachment.file`;if(!wJ(e.surface,n))throw new Xq(`conversation_input_unsupported`,`Conversation attachment is not declared by the active surface.`,{capability:n})}r.attachments.length>0&&i.push(...await this.uploadCanonicalAttachments(r.attachments));let o=W7(this.config.thinkingMode),s=_J({inputId:`input:${n}`,sessionId:t,idempotencyKey:`conversation:${n}`,parts:i,...this.config.selectedModel&&wJ(e.surface,`model.select`)?{modelRef:this.config.selectedModel}:{},...o!==`auto`&&wJ(e.surface,`reasoning.effort`)?{reasoning:o}:{},extensions:{...this.config.permissionMode&&wJ(e.surface,`approval`)?{"ksadk.approval":this.config.permissionMode}:{},...r.executionMode===`plan`?{"ksadk.collaboration":`plan`}:{},...r.executionMode===`goal`&&a?{"ksadk.goal":a}:{}}});return yJ(e.surface,s)}async uploadCanonicalAttachments(e){this.setStage(`uploading-files`);let t=[];for(let n of e){if(n.size>104857600)throw new Xq(`conversation_input_unsupported`,`Conversation attachment exceeds the Hosted UI upload limit.`,{capability:n.type.startsWith(`image/`)?`attachment.image`:`attachment.file`});let e=new FormData;e.append(`file`,n),e.append(`AgentId`,this.config.agentId);let r;try{r=await this.api.uploadFile(e,{signal:this.abortController?.signal})}catch(e){throw new Xq(`conversation_http_error`,`Conversation attachment upload failed.`,{cause:e})}let i=r?.FileData?.fileUri;if(!i)throw new Xq(`conversation_contract_mismatch`,`Conversation attachment upload did not return an attachment reference.`);t.push({kind:`attachment`,attachmentRef:i,mediaType:r.FileData.mimeType||n.type||`application/octet-stream`,name:r.FileData.displayName||n.name})}return t}async uploadFiles(e,t){let n=[];if(t||e.attachments.length===0)return n;this.setStage(`uploading-files`);for(let t of e.attachments){if(t.size>104857600){this.emit({type:`system_message`,content:`【系统提示】文件 ${t.name} 超过 100MB 限制,未发送。`});continue}if(t.type.startsWith(`image/`)){try{n.push({type:`input_image`,image_url:await this.imageFileToDataUrl(t)})}catch(e){this.emit({type:`system_message`,content:`【系统提示】图片 ${t.name} 读取失败,原因: ${U7(e)}`})}continue}let e=new FormData;e.append(`file`,t),e.append(`AgentId`,this.config.agentId);try{let r=await this.api.uploadFile(e,{signal:this.abortController?.signal});r?.FileData?.fileUri&&n.push({type:`input_file`,filename:r.FileData.displayName||t.name,file_url:r.FileData.fileUri})}catch(e){this.emit({type:`system_message`,content:`【系统提示】文件 ${t.name} 上传失败,原因: ${U7(e)}`})}}return n}async imageFileToDataUrl(e){let t=new Uint8Array(await e.arrayBuffer()),n=``,r=32768;for(let e=0;e<t.length;e+=r)n+=String.fromCharCode(...t.subarray(e,e+r));return`data:${e.type||`application/octet-stream`};base64,${btoa(n)}`}buildRequestBody(e,t,n,r,i,a){let o=this.buildExecutionMetadata(r),s={AgentId:this.config.agentId,SessionId:e,InvocationId:a,Stream:!0,...this.config.kernelSessionEventsEnabled?{Background:!0}:{},...this.config.kernelSessionEventsEnabled&&this.config.presentationProfile===`agent-block-v1`?{Extensions:{"ksadk.presentation":{profile:`agent-block-v1`}}}:{},ApiFormat:t,Model:this.config.selectedModel||void 0,ModelMetadata:this.config.selectedModelMetadata||void 0,ModelOptions:Iae(W7(this.config.thinkingMode)),Metadata:{agentengine:{tool_approval_mode:this.config.permissionMode||`risk`,...o}}};if(n)s.ResponsesInput=r.responsesInput,s.PreviousResponseId=r.previousResponseId;else{let e=[{type:`input_text`,text:r.text.trim()}];e.push(...i),t===`responses`&&(s.ResponsesInput=[{role:`user`,content:e}]),s.Messages=[{role:`user`,content:e}]}return s}buildExecutionMetadata(e){let t=e.executionMode;if(!t)return{};let n=this.config.runtimeCapabilityMatrix?.[t];if(!n?.supported||n.mode===`unavailable`)return{};if(t===`plan`)return{collaboration_mode:`plan`};if(t===`goal`){let t=e.text.trim();return t?{collaboration_mode:`default`,goal_objective:t}:{}}return{}}async consumeKernelRunEvents(e,t,n,r=`flat-v1`){if(t.status===`rejected`||t.status===`unsupported`)return this.setStage(`error`),this.emit({type:`error`,error:Error(t.error?.message||`运行提交被拒绝(${t.status})`)}),{terminalStatus:`failed`};if(t.status===`queue_full`)return this.setStage(`error`),this.emit({type:`rate_limited`,message:`运行队列已满,请稍后重试`}),{terminalStatus:`failed`};t.status===`persistence_uncertain`&&this.emit({type:`system_message`,content:`提交结果未知,正在从事件流确认运行状态…`}),this.emit({type:`activity`,phase:`已提交运行,订阅事件流`,status:`running`,countEvent:!1});let i=new gX(e),a=r===`agent-block-v1`&&t.presentationProfile===`agent-block-v1`?`agent-block-v1`:`flat-v1`,o=new qJ(e,void 0,a),s=!t.commandId,c=t.runId||``;c&&(this.publishInvocation(c),n?.(c));let l,u=0;for(;l===void 0&&u<6;)try{let r=this.lastSeqId,d=await this.api.subscribeSessionEvents(e,r,{signal:this.abortController?.signal});u=0;let f=d.getReader(),p=new TextDecoder,m=``;for(;l===void 0;){let{value:r,done:u}=await f.read();if(u)break;m+=p.decode(r,{stream:!0});let d=H7(m);m=d.remainder;for(let r of d.chunks)if(r.trim())for(let u of V7(r)){let r=u.data;if(!r||typeof r!=`object`)continue;let d=Number(r.seq);if(Number.isFinite(d)&&d>0&&this.recordCursor(d),!s){s=r.event_type===`control.command_accepted`&&r.command_id===t.commandId;continue}let f=String(r.run_id||``);if(!c&&f&&(c=f,this.publishInvocation(c),n?.(c)),f&&c!==f)continue;if(r.schema_version===2&&r.family===`runtime`&&o.apply(r)){let t=o.snapshot();this.emit({type:`conversation_snapshot`,sessionId:e,result:{state:t,presentation:cY(t,{profile:a}),runId:c,cursor:this.lastSeqId}})}let p=i.translate(r);if(p&&(this.emit({type:`stream_event`,event:p,sessionId:e}),p.EventType===`run_status`)){let e=String(p.Content?.status||``).toLowerCase();e!==`interrupted`&&K7.has(e)&&(l=e)}}}l===void 0&&await new Promise(e=>setTimeout(e,3e3))}catch(e){if(e instanceof DOMException&&e.name===`AbortError`)return{terminalStatus:`cancelled`};if(u+=1,u>=6)break;await new Promise(e=>setTimeout(e,800*u))}return l===void 0&&(l=`interrupted`),{terminalStatus:l}}async consumeStream(e,t,n,r,i){let a=e.getReader(),o=new TextDecoder,s=``,c=!1,l=0,u,d=new Set,f=()=>({terminalStatus:u,awaitingInput:d.size>0&&(!u||u===`incomplete`)});for(;;){let{value:e,done:p}=await a.read();if(p)break;l+=e.byteLength,c||(c=!0,this.emit({type:`assistant_message_created`,messageId:r,invocationId:i})),s+=o.decode(e,{stream:!0});let{chunks:m,remainder:h}=H7(s);s=h;for(let e of m){if(!e.trim())continue;if(this.isCompactionChunk(e)){let t=V7(e);for(let e of t)e.eventName.startsWith(`response.compaction`)&&this.upsertCompactionMessage({...e.data,phase:e.eventName.split(`.`).pop()});continue}let i=V7(e),o=!1;for(let e of i){if(e.eventName===`__done__`){o=!0;continue}let i=Gae(e.eventName,e.data);i&&!(d.size>0&&(e.eventName===`response.incomplete`||e.data?.type===`response.incomplete`))&&this.emit({type:`activity`,...i});let a=t.parse(e,n);for(let e of a)e.type===`approval_request`&&d.add(e.approvalRequestId),e.type===`canonical_interaction`&&d.add(e.interactionId),e.type===`approval_resolved`&&d.delete(e.approvalRequestId),this.dispatchAction(e,r),e.type===`terminal`&&(u=e.status);if(Pae(a)){o=!0;let e=a.find(e=>e.type===`terminal`);u=e&&`status`in e?String(e.status||``):void 0}}if(o)return a.cancel().catch(()=>{}),f()}}if(l===0)throw Error(`运行时返回了空响应流,请稍后重试;若问题持续,请检查运行时状态。`);if(u||d.size>0)return f();throw TypeError(`运行时连接已结束,但尚未收到执行终态;请查询原任务状态。`)}isCompactionChunk(e){return e.includes(`response.compaction.start`)||e.includes(`response.compaction.done`)||e.includes(`response.compaction.failed`)}dispatchAction(e,t){switch(e.type){case`canonical_interaction`:this.emit({type:`stream_event`,event:e.event,sessionId:e.event.SessionId});break;case`text_delta`:this.emit({type:`text_delta`,messageId:t,delta:e.text});break;case`text_final`:this.emit({type:`text_final`,messageId:t,text:e.text});break;case`reasoning_delta`:this.emit({type:`reasoning_delta`,messageId:t,delta:e.text});break;case`tool_upsert`:this.emit({type:`tool_upsert`,messageId:t,name:e.name,args:e.args,status:e.status,extra:e.extra});break;case`tool_result`:this.emit({type:`tool_result`,messageId:t,name:e.name,output:e.output});break;case`approval_request`:this.emit({type:`approval_requested`,messageId:t,approvalRequestId:e.approvalRequestId,previousResponseId:e.previousResponseId,protocol:`responses`,runId:e.runId,name:e.name||`人工确认`,args:e.args||``,message:e.message||`本次运行需要人工审批后才能继续。`});break;case`approval_resolved`:this.emit({type:`approval_resolved`,approvalRequestId:e.approvalRequestId,decision:e.decision,revision:e.revision});break;case`incomplete`:break;case`failed`:this.emit({type:`text_final`,messageId:t,text:`生成失败:${e.message}`});break;case`terminal`:this.emit({type:`terminal`,status:e.status});break;case`compaction`:this.emit({type:`compaction`,phase:e.phase,trigger:e.trigger,compactedUntilSeqId:e.compactedUntilSeqId});break;case`a2ui_surface_begin`:this.emit({type:`a2ui_surface_begin`,surfaceId:e.surfaceId,surface:e.surface});break;case`a2ui_surface_update`:this.emit({type:`a2ui_surface_update`,surfaceId:e.surfaceId,surface:e.surface});break;case`a2ui_surface_end`:this.emit({type:`a2ui_surface_end`,surfaceId:e.surfaceId});break;case`a2ui_interaction`:this.emit({type:`a2ui_interaction`,surfaceId:e.surfaceId,interactionId:e.interactionId,kind:e.kind,inputSchema:e.inputSchema})}}upsertCompactionMessage(e){let t=typeof e.eventName==`string`?e.eventName.split(`.`).pop():void 0,n=String(e.phase||t||`start`);this.emit({type:`compaction`,phase:n,trigger:e.trigger?String(e.trigger):void 0,compactedUntilSeqId:e.compacted_until_seq_id?Number(e.compacted_until_seq_id):void 0}),n!==`start`&&(this.activeCompactionId=null)}failCompaction(){this.activeCompactionId&&=(this.emit({type:`compaction`,phase:`failed`}),null)}};function Jae(e,t,n){let r=e.filter(e=>e.role===`model`&&e.invocationId===n),i=uZ(t).filter(e=>e.role===`model`),a=i.map(e=>({...e,id:!e.itemId&&i.length===1?r[0]?.id||`${n}:assistant`:e.id,invocationId:n,blocks:tX({content:e.content,reasoning:e.reasoning,tools:e.tools})}));if(a.length===0)return e;let o=e.findIndex(e=>e.role===`model`&&e.invocationId===n),s=e.filter(e=>e.role!==`model`||e.invocationId!==n),c=o<0?s.length:Math.min(o,s.length);return[...s.slice(0,c),...a,...s.slice(c)]}var J7=`连接断开或生成出错,请重试`;function Yae(e){let t=String(e.message||``).trim();return/runtime agent kernel is not ready/i.test(t)?`云端运行时尚未就绪,请检查部署状态后重试`:!t||/failed to fetch|networkerror/i.test(t)?J7:t.length<=240?t:J7}var Xae=new Set([`completed`]),Zae=new Set([`failed`,`error`,`cancelled`,`canceled`,`aborted`,`incomplete`]),Y7=new Map;function X7(e,t){xy.getState().patchMessages(n=>{if(n.some(t=>t.id===e))return t?n.map(n=>n.id===e?{...n,invocationId:t}:n):n;let r=-1;for(let e=n.length-1;e>=0;--e)if(n[e]?.eventType===`optimistic_assistant_placeholder`){r=e;break}return r>=0?n.map((n,i)=>i===r?{...n,id:e,eventType:void 0,invocationId:t}:n):[...n,{id:e,role:`model`,content:``,timestamp:Date.now(),reasoning:``,invocationId:t}]})}function Z7(e){return e.filter(e=>e.eventType!==`optimistic_assistant_placeholder`)}function Qae(e){let t=String(e||``).trim().toLowerCase(),n=Xae.has(t)?`completed`:Zae.has(t)?`error`:null;n&&xy.getState().patchMessages(e=>e.map(e=>{if(!e.tools)return e;let t=!1,r=Object.fromEntries(Object.entries(e.tools).map(([e,r])=>r.status===`running`?(t=!0,[e,{...r,status:n}]):[e,r]));return t?{...e,tools:r}:e}))}function Q7(e,t){!e.sessionId&&t?.draftId&&(e={...e,sessionId:t.draftId});let n=t?!t.visible:!!(e.sessionId&&zu.getState().currentSessionId!==e.sessionId);if(n&&![`activity`,`stage_changed`,`stream_ended`,`error`,`rate_limited`,`terminal`,`approval_requested`,`approval_resolved`,`stream_event`,`conversation_snapshot`].includes(e.type))return;let r=xy.getState(),i=e=>{e&&Eu.getState().updateActivity({sessionId:e})};switch(e.type){case`activity`:Eu.getState().updateActivity({sessionId:e.sessionId,visible:!n,source:e.source,status:e.status,phase:e.phase,detail:e.detail,countEvent:e.countEvent});break;case`user_message_added`:Eu.getState().setBanner(null),r.patchMessages(t=>[...t,{id:e.messageId,role:`user`,content:``,timestamp:Date.now()}]);break;case`assistant_message_created`:X7(e.messageId,e.invocationId);break;case`text_delta`:X7(e.messageId),i(e.sessionId),r.patchMessages(t=>t.map(t=>t.id===e.messageId?{...t,content:t.content+e.delta,blocks:XY(t.blocks,e.delta)}:t));break;case`text_final`:X7(e.messageId),i(e.sessionId),r.patchMessages(t=>t.map(t=>t.id===e.messageId?(()=>{let n=!!(e.text&&!t.content&&t.reasoning?.endsWith(e.text)),r=n?t.reasoning.slice(0,-e.text.length):t.reasoning,i=n?QY(t.blocks,e.text):t.blocks;return{...t,reasoning:r,content:e.text,blocks:ZY(i,e.text)}})():t));break;case`reasoning_delta`:X7(e.messageId),i(e.sessionId),r.patchMessages(t=>t.map(t=>t.id===e.messageId?{...t,reasoning:(t.reasoning||``)+e.delta,blocks:YY(t.blocks,e.delta)}:t));break;case`tool_upsert`:X7(e.messageId),i(e.sessionId),r.patchMessages(t=>t.map(t=>{if(t.id!==e.messageId)return t;let n=t.tools?.[e.name],r=n?.approvalStatus===`approved`||n?.approvalStatus===`rejected`||n?.approvalStatus===`cancelled`,i=e.status,a=n?.approvalStatus===`rejected`||n?.approvalStatus===`cancelled`?`completed`:n?.status===`error`&&i!==`error`?`error`:i;return{...t,blocks:$Y(t.blocks,e.name,{args:e.args,status:a,extra:e.extra}),tools:{...t.tools||{},[e.name]:{...n||{name:e.name,args:``},name:e.name,args:e.args,status:a,...e.extra||{},...e.extra?.approvalRequestId&&!r?{approvalStatus:`pending`}:{}}}}}));break;case`tool_result`:X7(e.messageId),i(e.sessionId),r.patchMessages(t=>t.map(t=>{if(t.id!==e.messageId)return t;let n=Xy(e.output)?`error`:`completed`;return{...t,blocks:$Y(t.blocks,e.name,{output:e.output,status:n}),tools:{...t.tools||{},[e.name]:{...t.tools?.[e.name]||{name:e.name,args:``},output:e.output,status:n}}}}));break;case`approval_requested`:if(Tae({approvalRequestId:e.approvalRequestId,protocol:e.protocol,runId:e.runId,name:e.name,message:e.message,args:e.args,approvalLevel:e.approvalLevel,previousResponseId:e.previousResponseId,sessionId:e.sessionId}),n)break;X7(e.messageId),r.patchMessages(t=>t.map(t=>{if(t.id!==e.messageId)return t;let n=t.tools?.[e.approvalRequestId],r=n?.approvalStatus===`approved`||n?.approvalStatus===`rejected`||n?.approvalStatus===`cancelled`,i={approvalRequestId:e.approvalRequestId,approvalProtocol:e.protocol,...e.previousResponseId?{previousResponseId:e.previousResponseId}:{},approvalStatus:r?n.approvalStatus:`pending`,...e.message?{approvalMessage:e.message}:{},...e.approvalLevel?{approvalLevel:e.approvalLevel}:{}},a=r?n.status:`paused`;return{...t,blocks:$Y(t.blocks,e.name,{args:e.args,status:a,extra:i}),tools:{...t.tools||{},[e.approvalRequestId]:{...n||{},name:e.name,args:e.args,status:a,...i}}}}));break;case`approval_resolved`:if(Eae({approvalRequestId:e.approvalRequestId,decision:e.decision,revision:e.revision,sessionId:e.sessionId}),n)break;r.patchMessages(t=>t.map(t=>{if(!t.tools)return t;let n=!1,r=Object.fromEntries(Object.entries(t.tools).map(([t,r])=>{if(r.approvalRequestId!==e.approvalRequestId)return[t,r];n=!0;let i=e.decision===`rejected`||e.decision===`cancelled`?`completed`:r.status===`paused`?`running`:r.status;return[t,{...r,status:i,approvalStatus:e.decision}]}));return n?{...t,tools:r,blocks:t.blocks?.map(t=>{if(t.type!==`tool`||t.extra?.approvalRequestId!==e.approvalRequestId)return t;let n=e.decision===`rejected`||e.decision===`cancelled`?`completed`:t.status===`paused`?`running`:t.status;return{...t,status:n,extra:{...t.extra,approvalStatus:e.decision}}})}:t}));break;case`system_message`:r.patchMessages(t=>[...t,{id:String(Date.now()+Math.random()),role:`system`,content:e.content,timestamp:Date.now()}]);break;case`compaction`:{let t=`compaction-${Date.now()}`,n=e.phase===`start`?`running`:e.phase===`failed`?`failed`:`completed`,i=sZ({id:t,timestamp:Date.now(),status:n,trigger:e.trigger,compactedUntilSeqId:e.compactedUntilSeqId});r.patchMessages(e=>e.findIndex(e=>e.id===t)<0?[...e,i]:e.map(e=>e.id===t?{...e,...i}:e));break}case`stage_changed`:e.stage===`streaming`||e.stage===`connecting`?Eu.getState().setSessionStreaming(e.sessionId,!0):(e.stage===`completing`||e.stage===`error`||e.stage===`cancelled`)&&Eu.getState().setSessionStreaming(e.sessionId,!1);break;case`stream_ended`:Eu.getState().setSessionStreaming(e.sessionId,!1),n||xy.getState().patchMessages(t=>Z7(t).map(t=>!(!e.runId||t.runId===e.runId||t.invocationId===e.runId)||t.role!==`model`||!t.blocks?.some(e=>e.status===`streaming`)?t:{...t,blocks:eX(t.blocks.map(e=>e.type===`text`&&e.status===`streaming`?{...e,status:`done`}:e))})),globalThis.setTimeout(()=>{let t=Eu.getState();t.getSessionActivity(e.sessionId)?.status===`completed`&&t.clearSessionActivity(e.sessionId)},2400);break;case`error`:{let t=Yae(e.error);Eu.getState().setSessionStreaming(e.sessionId,!1),Eu.getState().updateActivity({sessionId:e.sessionId,visible:!n,status:`failed`,phase:`运行失败`,detail:t,countEvent:!1}),n||(Eu.getState().setBanner({kind:`error`,message:t,sessionId:e.sessionId}),r.patchMessages(e=>[...Z7(e),{id:String(Date.now()),role:`model`,content:`运行失败:${t}`,timestamp:Date.now()}]));break}case`rate_limited`:Eu.getState().setSessionStreaming(e.sessionId,!1),Eu.getState().updateActivity({sessionId:e.sessionId,visible:!n,status:`failed`,phase:`请求被限流`,countEvent:!1}),n||(Eu.getState().setBanner({kind:`rate_limited`,message:e.message||`请求过于频繁,请稍后重试`,retryAfterSec:e.retryAfterSec,sessionId:e.sessionId}),r.patchMessages(Z7));break;case`terminal`:e.sessionId&&String(e.status||``).trim().toLowerCase()!==`incomplete`&&N7.markSessionTerminal(e.sessionId),n||Qae(e.status);break;case`stream_event`:{let t=e.sessionId||e.event.SessionId;F7(e.event,t||void 0);let r=e.event.SeqId;!n&&typeof r==`number`&&r>0&&Eu.getState().setLastSeqId(r),t&&Eu.getState().updateActivity({sessionId:t,visible:!n});let i=String(e.event.InvocationId||``).trim();if(!n&&t&&i){let n=`${t}:${i}`,r=dZ(Y7.get(n)||[],[e.event]);Y7.set(n,r),xy.getState().patchMessages(e=>e.some(e=>e.eventType===`conversation_item_v1`&&e.runId===i)?e:Jae(e,r,i)),pZ(e.event)&&Y7.delete(n)}e.event.EventType===`run_checkpoint`&&t&&Iy.getState().upsertSessionCheckpoint(t,e.event);{let r=BX(e.event);r===`completed`?Eu.getState().updateActivity({sessionId:t,visible:!n,status:`completed`,phase:`后台长任务已完成`,countEvent:!1}):r===`cancelled`||r===`canceled`||r===`aborted`?Eu.getState().updateActivity({sessionId:t,visible:!n,status:`stopped`,phase:`后台长任务已取消`,countEvent:!1}):(r===`failed`||r===`error`)&&Eu.getState().updateActivity({sessionId:t,visible:!n,status:`failed`,phase:`后台长任务失败`,countEvent:!1})}break}case`conversation_snapshot`:{let t=WY(e.result);for(let e of t.interactions)N7.upsert(e);if(n)break;r.patchMessages(t=>GY(t,e.result,e.optimisticMessageId)),i(e.sessionId);break}case`a2ui_surface_begin`:{let t=`a2ui-${e.surfaceId}`;xy.getState().patchMessages(n=>[...n.filter(e=>e.id!==t),{id:t,role:`a2ui`,content:``,timestamp:Date.now(),a2ui:{surfaceId:e.surfaceId,surface:e.surface}}]);break}case`a2ui_surface_update`:{let t=`a2ui-${e.surfaceId}`;xy.getState().patchMessages(n=>n.map(n=>n.id===t&&n.a2ui?{...n,a2ui:{...n.a2ui,surface:e.surface}}:n));break}case`a2ui_surface_end`:{let t=`a2ui-${e.surfaceId}`;xy.getState().patchMessages(e=>e.map(e=>e.id===t&&e.a2ui?{...e,a2ui:{...e.a2ui,ended:!0}}:e));break}case`a2ui_interaction`:{let t=`a2ui-${e.surfaceId}`;xy.getState().patchMessages(n=>n.map(n=>n.id===t&&n.a2ui?{...n,a2ui:{...n.a2ui,pendingInteraction:{interactionId:e.interactionId,kind:e.kind,inputSchema:e.inputSchema}}}:n));break}case`agui_activity`:{let t=`agui-a2ui-${e.surfaceId}`;xy.getState().patchMessages(n=>{let r={surfaceId:e.surfaceId,messages:e.messages},i=!1,a=n.map(t=>{if(t.id!==e.messageId)return t;i=!0;let n=[...(t.aguiActivities||[]).filter(t=>t.surfaceId!==e.surfaceId),r];return{...t,aguiActivities:n}});if(i)return a;let o=n.find(e=>e.id===t),s={id:t,role:`a2ui`,content:``,timestamp:o?.timestamp||Date.now(),aguiActivity:r};return o?n.map(e=>e.id===t?s:e):[...n,s]});break}}}function $7(){Y7.clear()}var e9=64;function $ae(e){let t=(0,g.useRef)(new Map),n=(0,g.useRef)(new Set),r=(0,g.useCallback)(e=>n.current.has(e),[]),i=(0,g.useCallback)(e=>{let n=t.current;if(!(n.size<=e9))for(let[t,r]of n){if(n.size<=e9)break;t===e||r.engine.stage!==`idle`||r.queue.length>0||r.isVisible()||n.delete(t)}},[]),a=(0,g.useMemo)(()=>new xY({rendererCatalog:wY}),[]),o=e.conversationClient===void 0?e.uiCapabilities.ConversationSurface==null?null:a:e.conversationClient,{agentId:s,apiFormats:c,agentFramework:l,selectedModel:u,selectedModelMetadata:d,thinkingMode:f,permissionMode:p,currentSessionIdRef:m,conversationIdRef:h,queuedDraftRef:_,onRunSettled:v,onSessionCreated:y,waitForPendingSessionCreation:b,uiCapabilities:x,outbox:S}=e,C=(0,g.useMemo)(()=>({agentId:s,apiFormats:c,agentFramework:l,selectedModel:u,selectedModelMetadata:d,thinkingMode:x.Thinking?f:`auto`,permissionMode:p,runtimeCapabilityMatrix:x.RuntimeCapabilityMatrix,hostedChatTransport:LQ(x,{requireResumableRun:!!(x.RunLifecycle?.Enabled&&x.RunLifecycle.Resume)}),checkpointResumePreviewEnabled:!!x.RunLifecycle?.CheckpointResumePreview,kernelSessionEventsEnabled:x.KernelSessionEvents===!0,presentationProfile:TJ(x.ConversationSurface,wY),conversationClient:o||void 0}),[s,c,l,u,d,f,p,x,o]),w=(0,g.useCallback)((n=m.current)=>{let r=e.conversationIdRef?.current,a=JSON.stringify([s,r||n||`new-session`]),o=t.current.get(a);if(!o){i(a);let c=()=>e.agentIdRef.current===s&&(e.conversationIdRef?e.conversationIdRef.current===r:m.current===o.sessionId),l=new qae(e.api,{isVisible:c,draftId:r});o={key:a,agentId:s,conversationId:r,sessionId:n||null,engine:l,queue:[],isVisible:c},l.subscribe(e=>Q7(e,{visible:c(),draftId:r})),t.current.set(a,o)}return o},[s,e.agentIdRef,e.api,e.conversationIdRef,m,i]),T=(0,g.useCallback)(e=>{let t=w(e);return t.engine.stage===`idle`&&t.engine.updateConfig(C),t.engine},[C,w]),E=(0,g.useCallback)(e=>{if(!e.isVisible())return;let t=e.queue.map(e=>e.draft);_.current=t,xu.getState().setQueuedDrafts(t)},[_]),D=(0,g.useCallback)(e=>{let t=e.queue[0];!t||e.engine.stage!==`idle`||(e.queue.shift(),E(e),queueMicrotask(()=>{t.launch()||(e.queue.unshift(t),E(e))}))},[E]);(0,g.useEffect)(()=>{let n=JSON.stringify([s,e.conversationId||h?.current||e.currentSessionId||`new-session`]),r=t.current.get(n);r?E(r):(_.current=[],xu.getState().setQueuedDrafts([]))},[s,e.currentSessionId,e.conversationId,h,E,_]);let O=(0,g.useCallback)(e=>{let t=e.text.trim(),n=e.attachments.map(e=>({name:e.name,url:URL.createObjectURL(e),type:e.type||`application/octet-stream`}));if(!t&&n.length===0)return;let r=`optimistic-${Date.now()}-${Math.random().toString(36).slice(2,8)}`;return xy.getState().patchMessages(e=>[...e,{id:r,role:`user`,content:t,timestamp:Date.now(),eventType:`optimistic_user_message`,attachments:n.length?n:void 0}]),r},[]),k=(0,g.useCallback)(e=>{let t=`optimistic-assistant-${Date.now()}-${Math.random().toString(36).slice(2,8)}`;return xy.getState().patchMessages(n=>{let r=n.findIndex(t=>t.id===e),i=r<0?n.length:r+1;return[...n.slice(0,i),{id:t,role:`model`,content:``,reasoning:``,timestamp:Date.now(),eventType:`optimistic_assistant_placeholder`},...n.slice(i)]}),t},[]),A=(0,g.useCallback)(async(e,r,i,a,o,s)=>{if(s&&n.current.has(s))return!1;let c=w();E(c);let l={text:e,attachments:[...r],responsesInput:i,previousResponseId:a,executionMode:o,optimisticMessageId:O({text:e,attachments:r})},u=i===void 0&&c.conversationId&&S?S:void 0,d=c.conversationId&&u?u.enqueue({requestId:s,conversationId:c.conversationId,agentId:c.agentId,text:e,attachments:r.map(e=>({name:e.name,type:e.type,size:e.size})),executionMode:o}):void 0;d&&u&&(n.current.add(d.requestId),u.setRuntimeAttachments(d.requestId,r));let f;try{f=await b?.()}catch(e){throw d&&u&&(n.current.delete(d.requestId),u.update(d.requestId,{status:`unknown`,error:`创建会话的结果待确认。`})),e}!c.sessionId&&f&&(c.sessionId=f);let p,h=i===void 0?null:new Promise(e=>{p=e}),g=()=>{if(c.engine.stage!==`idle`)return!1;c.engine.updateConfig(C),d&&u&&u.markSending(d.requestId),c.isVisible()&&(xu.getState().setMobileActionsOpen(!1),k(l.optimisticMessageId)),Eu.getState().setSessionStreaming(c.sessionId||c.conversationId,!0);let e=c.engine.start({...l,sessionId:c.sessionId,onInvocationCreated:e=>{d&&u&&u.update(d.requestId,{invocationId:e}),c.isVisible()&&xy.getState().patchMessages(t=>t.map(t=>t.id===l.optimisticMessageId?{...t,invocationId:e}:t))},onSessionCreated:e=>{let n=c.isVisible(),r=c.sessionId||c.conversationId;c.sessionId=e,d&&u&&u.update(d.requestId,{nativeSessionId:e}),Eu.getState().setSessionStreaming(e,!0),r!==e&&Eu.getState().setSessionStreaming(r,!1),c.conversationId||t.current.set(JSON.stringify([c.agentId,e]),c),y?.(e,c.conversationId,c.agentId),!y&&n&&(zu.getState().upsertSessions([{SessionId:e,UpdatedAt:new Date().toISOString()}]),m.current=e,zu.getState().setCurrentSessionId(e)),n&&b7(c.agentId,e)},onSessionUpsert:()=>{},onDispatchResult:p,onSettled:(e,t=`unknown`)=>{d&&n.current.delete(d.requestId),d&&u&&u.update(d.requestId,{status:t===`completed`||t===`awaiting-input`?`completed`:t===`cancelled`?`cancelled`:t===`failed`?`failed`:`unknown`}),v?.(e,c.agentId,t),t===`completed`&&D(c)}});return e||Eu.getState().setSessionStreaming(c.sessionId||c.conversationId,!1),e},_=g();return!_&&i===void 0?(c.queue.push({draft:l,launch:g}),E(c),!0):h?(_||p?.(!1),h):_},[k,O,C,m,D,w,v,y,S,E,b]),j=(0,g.useCallback)(()=>{T(m.current).stop()},[m,T]),M=(0,g.useCallback)(()=>{T(m.current).disconnect()},[m,T]),N=(0,g.useCallback)(e=>{let t=w(e.sessionId),n=T(e.sessionId);if(n.stage!==`idle`)return!1;$7(),xu.getState().setMobileActionsOpen(!1),Eu.getState().setSessionStreaming(e.sessionId,!0);let r=n.resumeCheckpoint({...e,onSettled:(e,n)=>{v?.(e,t.agentId,n),n===`completed`&&D(t)}});return r||Eu.getState().setSessionStreaming(e.sessionId,!1),r},[D,T,w,v]),P=(0,g.useCallback)(()=>{$7()},[]);return{submitDraft:A,isOutboxRequestActive:r,stopGeneration:j,disconnectRun:M,resumeCheckpoint:N,submitAguiAction:(0,g.useCallback)(e=>{let t=e.userAction;if(!t)return!1;let n=t.context||{},r=String(n.interruptId||n.interrupt_id||``);if(!r)return!1;let i=m.current;if(!i)return!1;let a=w(i),o=T(i),s=n.status===`cancelled`?`cancelled`:`resolved`,c=Object.prototype.hasOwnProperty.call(n,`payload`)?n.payload:{action:t.name,sourceComponentId:t.sourceComponentId,context:n};return o.resumeAguiInterrupt({sessionId:i,interruptId:r,status:s,payload:c,onSettled:e=>{v?.(e,a.agentId),D(a)}})},[m,D,T,w,v]),respondToAguiApproval:(0,g.useCallback)(e=>{if(!e.interruptId)return!1;let t=m.current;if(!t)return!1;let n=w(t),r=T(t);if(r.stage!==`idle`)return!1;Eu.getState().setSessionStreaming(t,!0);let i=r.resumeAguiInterrupt({sessionId:t,interruptId:e.interruptId,status:`resolved`,payload:{decision:e.approve?`approve`:`reject`},onSettled:e=>{v?.(e,n.agentId),D(n)}});return i||Eu.getState().setSessionStreaming(t,!1),i},[m,D,T,w,v]),resetCompaction:P}}function t9(e){return e instanceof s7&&e.code===503&&e.detail?.ReasonCode===`HISTORY_PREPARING`}async function n9(e,t){let n=Date.now();for(let r=0;;r+=1){if(!t.isCurrent()||t.signal?.aborted)throw new c7;try{return await e()}catch(e){if(!t9(e)||r>=60||Date.now()-n>=3e5)throw e;if(!t.isCurrent()||t.signal?.aborted)throw new c7;t.onPreparing?.(),await new Promise(e=>{let i=()=>{clearTimeout(a),t.signal?.removeEventListener(`abort`,i),e()},a=setTimeout(i,Math.min(r<5?2e3:5e3,Math.max(0,3e5-(Date.now()-n))));t.signal?.addEventListener(`abort`,i,{once:!0}),t.signal?.aborted&&i()})}}}var r9={running:`running`,completed:`completed`,failed:`error`,paused:`paused`,approved:`completed`,denied:`completed`,rejected:`completed`,cancelled:`completed`,expired:`completed`},eoe={pending:`pending`,paused:`pending`,approved:`approved`,denied:`rejected`,rejected:`rejected`,cancelled:`cancelled`,expired:`cancelled`};function i9(e){if(typeof e==`number`&&Number.isFinite(e))return e>0&&e<1e11?e*1e3:e;if(typeof e==`string`){let t=Number(e.trim());if(e.trim()&&Number.isFinite(t))return t>0&&t<1e11?t*1e3:t;let n=Date.parse(e);if(Number.isFinite(n))return n}return Date.now()}function toe(e){if(typeof e==`string`)return e;if(e&&typeof e==`object`){if(typeof e.text==`string`)return e.text;if(Array.isArray(e.parts))return e.parts.map(e=>e&&typeof e==`object`&&typeof e.text==`string`?e.text:``).join(``)}return``}function noe(e){let t={},n=new Map;for(let t of e??[])t?.Name&&n.set(t.Name,(n.get(t.Name)||0)+1);for(let r of e??[]){if(!r?.Name)continue;let e=r9[String(r.Status??`completed`).toLowerCase()]??`completed`,i={name:r.Name,args:r.Args===void 0?``:typeof r.Args==`string`?r.Args:JSON.stringify(r.Args),status:e};r.Result!==void 0&&(i.output=typeof r.Result==`string`?r.Result:JSON.stringify(r.Result)),r.ApprovalRequestId&&(i.approvalRequestId=r.ApprovalRequestId,i.approvalStatus=eoe[String(r.ApprovalStatus??r.Status??`paused`).toLowerCase()],i.approvalProtocol=String(r.Protocol??``).toLowerCase()===`ag-ui`?`ag-ui`:`responses`,r.ApprovalMessage&&(i.approvalMessage=String(r.ApprovalMessage)),r.ApprovalLevel&&(i.approvalLevel=String(r.ApprovalLevel))),r.ToolCallId&&(i.previousResponseId=r.ToolCallId);let a=n.get(r.Name)>1&&(r.ToolCallId||r.ApprovalRequestId)||r.Name;t[a]=i}return t}function roe(e){if(Array.isArray(e))return e.map(e=>({name:e.name||``,url:e.url||``,type:e.mime||``,fileUri:e.file_uri}))}function a9(e){return e==null?``:typeof e==`string`?e:JSON.stringify(e)}function ioe(e){if(!(!Array.isArray(e)||!e.length))return e.flatMap((e,t)=>{let n=String(e?.Type||``).toLowerCase(),r=e?.SeqId??t;if(n===`thinking`||n===`text`){let t=String(e?.Content||``);return t?[{id:`history-${n}-${r}`,type:n,content:t,status:`done`}]:[]}if(n!==`tool`)return[];let i=r9[String(e?.Status||`completed`).toLowerCase()]??`completed`;return[{id:`history-tool-${r}`,type:`tool`,toolName:String(e?.Name||`tool`),args:a9(e?.Args),...e?.Result===void 0?{}:{output:a9(e.Result)},status:i,...e?.ToolCallId?{extra:{previousResponseId:String(e.ToolCallId)}}:{}}]})}function aoe(e){let t=e.Role===`assistant`?`model`:e.Role||`user`,n=e.ToolEvents?.length?noe(e.ToolEvents):void 0,r=roe(e.Attachments),i=ioe(e.Blocks),a=e.Reasoning?.length?e.Reasoning.map(e=>e.text).join(``):void 0,o={id:e.MessageId||`msg-${e.SeqId??Math.random().toString(36).slice(2)}`,role:t,content:toe(e.Content),timestamp:i9(e.Timestamp),...Number.isSafeInteger(e.SeqId)&&e.SeqId>0?{historyOrder:{seq:e.SeqId,...Number.isSafeInteger(e.StartSeqId)&&e.StartSeqId>0?{group:e.StartSeqId}:{}}}:{},eventType:t===`user`?`user_message`:`assistant_message`,reasoning:a,tools:n,attachments:r};return t===`model`&&(o.blocks=i??tX({reasoning:a,tools:n,content:o.content})),e.MessageId&&(o.eventId=e.MessageId),e.InvocationId&&(o.invocationId=e.InvocationId),e.ResponseId&&(o.responseId=e.ResponseId),e.TraceId&&(o.traceId=e.TraceId),e.RootSpanId&&(o.rootSpanId=e.RootSpanId),o}function ooe(e){return Array.isArray(e.Activities)?e.Activities.flatMap((t,n)=>{let r=String(t?.SurfaceId||``);if(!r)return[];let i=t?.Content,a=Array.isArray(i?.a2ui_operations)?i.a2ui_operations:Array.isArray(i)?i:[];if(!a.length||r.startsWith(`approval-`)&&a.some(e=>{let t=e?.updateComponents?.components||e?.update_components?.components;return Array.isArray(t)&&t.some(e=>e?.component===`ApprovalBar`)}))return[];let o=String(t.MessageId||``);return[{id:o&&o!==String(e.MessageId||``)?o:`${o||e.MessageId||e.SeqId||`message`}:a2ui:${r}:${n}`,role:`a2ui`,content:``,timestamp:i9(e.Timestamp),...Number.isSafeInteger(e.SeqId)&&e.SeqId>0?{historyOrder:{seq:e.SeqId,index:n+1,...Number.isSafeInteger(e.StartSeqId)&&e.StartSeqId>0?{group:e.StartSeqId}:{}}}:{},aguiActivity:{surfaceId:r,messages:Zu(a)}}]}):[]}function o9(e){return e.flatMap(e=>[aoe(e),...ooe(e)])}var soe=class extends Error{seq;constructor(e){super(`Session event seq ${e} was received twice with conflicting content`),this.name=`SessionEventConflictError`,this.seq=e}};function s9(e){return Array.isArray(e)?`[${e.map(s9).join(`,`)}]`:e&&typeof e==`object`?`{${Object.entries(e).filter(([,e])=>e!==void 0).sort(([e],[t])=>e<t?-1:+(e>t)).map(([e,t])=>`${JSON.stringify(e)}:${s9(t)}`).join(`,`)}}`:JSON.stringify(e)??`null`}var coe=new Set([`runtime`]),loe=class{eventsBySeq=new Map;lastSeqValue=0;accept(e){let t=iae(e);if(!t.ok)throw t.error;let n=t.value,r=this.eventsBySeq.get(n.seq);if(r){if(s9(r)!==s9(n))throw new soe(n.seq);return}this.eventsBySeq.set(n.seq,n),this.lastSeqValue=Math.max(this.lastSeqValue,n.seq)}get lastSeq(){return this.lastSeqValue}reconnectAfterSeq(){return this.lastSeqValue}displayableEvents(){return[...this.eventsBySeq.values()].filter(e=>coe.has(e.family)).sort((e,t)=>e.seq-t.seq)}};function uoe(){return new loe}var doe=500,c9=30,l9=50,u9=64,d9=8,foe=128,f9=18e5;function p9(e,t){return!(e.CursorSource!==t.CursorSource||e.HistoryEpoch!==t.HistoryEpoch||e.SnapshotSeqId!==void 0&&t.SnapshotSeqId!==void 0&&e.SnapshotSeqId!==t.SnapshotSeqId||!e.CursorSource&&(e.CursorCompatibleWithRuntime===!1||t.CursorCompatibleWithRuntime===!1))}function poe(e){return{CursorSource:e.cursorSource,HistoryEpoch:e.historyEpoch,SnapshotSeqId:e.snapshotSeqId}}function moe(e){if(!(e instanceof s7)||!e.detail||typeof e.detail!=`object`)return;let t=e.detail;return typeof t.ReasonCode==`string`?t.ReasonCode:void 0}function m9(e){return e instanceof s7&&e.code===409&&moe(e)===`HISTORY_RELOAD_REQUIRED`}function hoe(){return new s7(409,`历史来源已变化`,{Code:409,ReasonCode:`HISTORY_RELOAD_REQUIRED`,Data:null})}function h9(e){return{dataSource:e.DataSource,degraded:e.Degraded,cursorSource:e.CursorSource,cursorCompatibleWithRuntime:e.CursorCompatibleWithRuntime,sessionContractVersion:e.SessionContractVersion,historyEpoch:e.HistoryEpoch,persistenceDegraded:e.PersistenceDegraded,snapshotSeqId:e.SnapshotSeqId,error:void 0,preparing:!1}}function g9(e,t,n,r,i=foe){for(e.delete(t),e.set(t,n);e.size>i;){let t=[...e.keys()].find(e=>e!==r);if(!t)break;e.delete(t)}}function goe(e){return new Promise(t=>{if(e.aborted){t();return}let n=globalThis.setTimeout(t,doe);e.addEventListener(`abort`,()=>{globalThis.clearTimeout(n),t()},{once:!0})})}var _oe=new Set([`in_progress`,`running`,`resuming`,`starting`]);function voe(e){let t=e.ActiveRunUpdatedAt||e.UpdatedAt,n=typeof t==`number`?t>1e11?t:t*1e3:Date.parse(String(t||``));return Number.isFinite(n)&&n<=Date.now()+f9&&Date.now()-n<=f9}function _9(e){let t=BX(e);return t?t===`completed`?{status:`completed`,phase:`后台长任务已完成`}:t===`cancelled`||t===`canceled`||t===`aborted`?{status:`stopped`,phase:`后台长任务已取消`}:t===`interrupted`?{status:`stopped`,phase:`后台长任务已中断`}:t===`failed`||t===`error`?{status:`failed`,phase:`后台长任务失败`}:t===`resume_failed`?{status:`failed`,phase:`后台长任务恢复失败`}:null:null}function yoe(e){let{agentId:t,api:n,isMobile:r,resetCompaction:i,uiCapabilities:a,disconnectRun:o,restoreSession:s=!0}=e,c=(0,g.useRef)(e.currentSessionId),l=(0,g.useRef)(e.agentId),u=(0,g.useRef)(null),d=(0,g.useRef)(uoe()),f=(0,g.useRef)(0),p=(0,g.useRef)(null),m=(0,g.useRef)(null),h=(0,g.useRef)(new Map),_=(0,g.useRef)(new Map),v=(0,g.useRef)(new Map),y=(0,g.useRef)(new Map),b=(0,g.useRef)(new Map),x=(0,g.useRef)(new Map),S=(0,g.useRef)(new Map),C=(0,g.useRef)(new Map),w=(0,g.useRef)(null),T=(0,g.useRef)(null),E=(0,g.useRef)(null),D=(0,g.useRef)(null),O=(0,g.useCallback)(async(e,t,r)=>{let i=r.filter(e=>By(e,!1,!1));if(!i.length)return;let a=await Promise.all(i.map(async r=>{try{let i=await n.getResponseFeedback({AgentId:e,SessionId:t,ResponseId:r.responseId,EventId:r.eventId}),a=i?.Feedback?zy(i.Feedback):null;return a?{messageId:r.id,feedback:a}:null}catch(e){return console.error(`Failed to load response feedback:`,e),null}}));if(c.current!==t)return;let o=new Map(a.filter(e=>!!e).map(e=>[e.messageId,e.feedback]));o.size&&xy.getState().patchMessages(e=>e.map(e=>o.has(e.id)?{...e,feedback:o.get(e.id)}:e))},[n]),k=(0,g.useCallback)(async e=>{u.current?.abort();let t=new AbortController;u.current=t;let r=!1,i=!1,a=!1,o=e.afterSeqId,s=()=>u.current===t&&c.current===e.sessionId;try{for(Eu.getState().setCurrentRunId(e.invocationId),Eu.getState().setActiveInvocationId(e.invocationId),Eu.getState().setSessionStreaming(e.sessionId,!0),Eu.getState().updateActivity({sessionId:e.sessionId,status:`running`,phase:`后台长任务运行中`,detail:e.invocationId,countEvent:!1});!i&&s();){try{let a=await n.subscribeRunEvents({sessionId:e.sessionId,invocationId:e.invocationId,afterSeqId:o},{signal:t.signal});if(!s()){t.abort();return}let c=a.getReader(),l=new TextDecoder,u=``;for(;!i&&s();){let{value:t,done:n}=await c.read();if(n)break;u+=l.decode(t,{stream:!0});let a=H7(u);u=a.remainder;for(let t of a.chunks)if(t.trim()){for(let n of V7(t)){if(n.eventName===`__ping__`){Eu.getState().updateActivity({sessionId:e.sessionId,status:`running`,countEvent:!1});continue}if(n.eventName===`__done__`){i=!0,r=!0;break}if(!n.data||typeof n.data!=`object`)continue;let t=n.data;if(!s())break;if(t.InvocationId&&t.InvocationId!==e.invocationId)continue;if(typeof t.seq==`number`){try{d.current.accept(t)}catch(e){console.error(`[SessionLifecycle] session event cursor conflict:`,e)}o=Math.max(o,d.current.reconnectAfterSeq()),Q7({type:`stream_event`,sessionId:e.sessionId,event:t}),i||=pZ(t),r||=i;let n=_9(t);n&&Eu.getState().updateActivity({sessionId:e.sessionId,status:n.status,phase:n.phase,detail:e.invocationId,countEvent:!1});continue}let a=Number(t.SeqId||0);Number.isFinite(a)&&(o=Math.max(o,a)),Q7({type:`stream_event`,sessionId:e.sessionId,event:t}),i||=pZ(t),r||=i;let c=_9(t);if(c&&Eu.getState().updateActivity({sessionId:e.sessionId,status:c.status,phase:c.phase,detail:e.invocationId,countEvent:!1}),i)break}if(i)break}}i&&c.cancel().catch(()=>{})}catch(n){if(n instanceof DOMException&&n.name===`AbortError`||n instanceof c7||t.signal.aborted){i=!0,a=!0,s()&&Eu.getState().stopSessionActivity(e.sessionId,`恢复事件订阅已取消。`);break}if(!s())break;if(n instanceof s7&&n.code>=400&&n.code<500&&n.code!==408&&n.code!==429){i=!0,r=!1,Q7({type:`error`,sessionId:e.sessionId,error:n});break}console.warn(`Run event subscription disconnected; retrying:`,n),Eu.getState().updateActivity({sessionId:e.sessionId,status:`waiting`,phase:`恢复连接中`,detail:e.invocationId,countEvent:!1})}!i&&s()&&await goe(t.signal)}i&&!a&&s()&&Q7({type:`stream_ended`,sessionId:e.sessionId})}catch(e){e instanceof DOMException&&e.name===`AbortError`||console.error(`Failed to subscribe run events:`,e)}finally{let n=u.current===t;n&&(u.current=null),n&&c.current===e.sessionId&&(Eu.getState().setCurrentRunId(``),Eu.getState().setActiveInvocationId(``),r&&E.current?.(e.sessionId),D.current?.(l.current,e.sessionId))}},[n]),A=(0,g.useCallback)(e=>{!a.RunLifecycle.Enabled||!e.runId||l.current!==t||c.current!==e.sessionId||u.current||k({sessionId:e.sessionId,invocationId:e.runId,afterSeqId:fZ(S.current.get(e.sessionId)?.events||[])})},[t,k,a.RunLifecycle.Enabled]),j=(0,g.useCallback)(async(e,t=!1,o)=>{if(o?.aborted)return;T.current=null;let s=g7.getState(),d=TJ((s.agentId===l.current?s.capabilities:a).ConversationSurface,wY);b.current.set(e,d);let h=c.current,g=++f.current;p.current=g,m.current=null;let C=(e,t)=>{g9(y.current,e,t,c.current,d9)},w=y.current.get(e);h&&h!==e&&(C(h,xy.getState().messages),xy.getState().setMessages(w||[]),zu.getState().clearSessionMessageHistory(e),Iy.getState().setSessionCheckpoints(e,[]),Iy.getState().setSessionToolReceipts(e,[]),Eu.getState().setCurrentRunId(``),Eu.getState().clearActivity()),c.current=e;let D=()=>c.current===e&&f.current===g&&!o?.aborted;zu.getState().setCurrentSessionId(e),zu.getState().setSessionInitialMessageHistoryLoading(e,!w),i();let A=xy.getState().messages;u.current?.abort(),r&&xu.getState().setMobileSidebarOpen(!1);try{let t={limit:l9,includeReasoning:!0,includeToolEvents:!0,includeAttachments:!0,signal:o},r=await n9(()=>n.listSessionMessages(e,t),{isCurrent:D,signal:o,onPreparing:()=>{let t=zu.getState().messageHistory[e];zu.getState().setSessionMessageHistory(e,{...t,nextCursor:t?.nextCursor??null,hasMore:t?.hasMore??!1,preparing:!0,error:void 0}),zu.getState().setSessionInitialMessageHistoryLoading(e,!w)}});if(!D())return;let i=o9(r.Messages);g9(x.current,e,i,c.current);let s=i,u=0,f=[];if(!w){let t=OY(i,A,xy.getState().messages);xy.getState().setMessages(t),A=i,C(e,t)}zu.getState().setSessionMessageHistory(e,{nextCursor:r.NextCursor,hasMore:r.HasMore,...h9(r)}),zu.getState().setSessionInitialMessageHistoryLoading(e,!1);try{let t=await n.listSessionEvents(e,{offset:0,limit:u9,signal:o,historyEpoch:r.CursorSource===`runtime`?r.HistoryEpoch:void 0,snapshotSeqId:r.CursorSource===`runtime`?r.SnapshotSeqId:void 0});if(!D())return;let a=p9(r,t),l={events:a&&t.Events||[],loadedCount:a&&t.Events?.length||0,total:a?Math.max(0,Number(t.Total??t.Events?.length??0)||0):0,cursorSource:a?t.CursorSource:void 0,historyEpoch:a?t.HistoryEpoch:void 0,snapshotSeqId:a?t.SnapshotSeqId:void 0};if(g9(S.current,e,l,c.current),zu.getState().setSessionMessageHistory(e,{nextCursor:r.NextCursor,hasMore:!!(r.HasMore||l.loadedCount<l.total)}),l.events.length>0){u=fZ(l.events);for(let t of l.events)F7(t,e);let t=wZ(i,l.events,e,d);f=t.canonicalRunIds,s=t.messages}}catch(e){if(m9(e))throw e;D()&&(m.current={generation:g,message:`完整事件历史读取失败,请刷新会话后重新查找。当前结果只包含已读取的正文。`}),console.warn(`[SessionLifecycle] canonical history replay failed:`,e)}if(!D())return;P7(s,e),g9(_.current,e,new Set(f),c.current),g9(v.current,e,s,c.current),s=OY(s,A,xy.getState().messages),xy.getState().setMessages(s),C(e,s),p.current=null,O(l.current,e,s);let h=Math.max(r.LatestSeqId||0,u),y=g7.getState().capabilities||a;if(y.RunLifecycle.Enabled&&y.RunLifecycle.Checkpoints?(n.listSessionCheckpoints({agentId:l.current,sessionId:e}).then(t=>{D()&&Iy.getState().setSessionCheckpoints(e,t.Checkpoints||[])}).catch(t=>{D()&&(console.warn(`[SessionLifecycle] checkpoint load failed:`,t),Iy.getState().setSessionCheckpoints(e,[]))}),n.listToolReceipts({agentId:l.current,sessionId:e}).then(t=>{D()&&Iy.getState().setSessionToolReceipts(e,t.ToolReceipts||[])}).catch(t=>{D()&&(console.warn(`[SessionLifecycle] tool receipt load failed:`,t),Iy.getState().setSessionToolReceipts(e,[]))})):Iy.getState().clearSessionCheckpoints(e),y.RunLifecycle.Enabled&&y.RunLifecycle.Resume)try{let t=await n.getSession(e);if(!D())return;let r=String(t.ActiveRunStatus||``).toLowerCase();t.ActiveInvocationId&&(_oe.has(r)||r===``&&voe(t))&&k({sessionId:e,invocationId:t.ActiveInvocationId,afterSeqId:h})}catch(e){console.warn(`[SessionLifecycle] getSession for reconnect failed:`,e)}}catch(n){if(m9(n)&&!t&&D()){zu.getState().setSessionMessageHistory(e,{nextCursor:null,hasMore:!1,cursorSource:void 0,historyEpoch:void 0,snapshotSeqId:void 0,dataSource:void 0,degraded:void 0,cursorCompatibleWithRuntime:void 0,sessionContractVersion:void 0}),queueMicrotask(()=>{D()&&E.current?.(e,!0)});return}if(D()&&!(n instanceof c7)){let r=t?`历史来源已变化,重新加载失败。原有消息已保留,请手动刷新会话。`:t9(n)?`历史仍在准备,请稍后重试。`:`会话历史读取失败,请重试。已有消息已保留。`;m.current={generation:g,message:r};let i=zu.getState().messageHistory[e];zu.getState().setSessionMessageHistory(e,{...i,nextCursor:i?.nextCursor??null,hasMore:i?.hasMore??!1,...t?{nextCursor:null,hasMore:!1,cursorSource:void 0,historyEpoch:void 0,snapshotSeqId:void 0}:{},preparing:!1,error:r}),t&&xu.getState().pushToast(r,`error`)}n instanceof c7||console.error(`Failed to load session messages:`,n)}finally{p.current===g&&(p.current=null),D()&&zu.getState().setSessionInitialMessageHistoryLoading(e,!1)}},[n,r,O,i,k,a]),M=(0,g.useCallback)(async(e=`default-agent`,t=null)=>{let r=zu.getState();r.sessionsAgentId&&r.sessionsAgentId!==e&&r.resetSessionPagination(e);let i=zu.getState().sessionsGeneration,a=()=>g7.getState().agentId===e&&zu.getState().sessionsGeneration===i;try{zu.getState().setLoadingSessions(!0);let r=await n.listSessions(e,{page:1,pageSize:c9});if(!a())return;let i=r.Sessions||[];for(let e of i)C.current.delete(e.SessionId);let o=new Set(Array.from(C.current.entries()).filter(([,t])=>t===e).map(([e])=>e)),l=lae(i,zu.getState().sessions,o);if(zu.getState().upsertSessions(l,{agentId:e,total:Number(r.Total??r.Sessions?.length??0),page:Number(r.Page??1),pageSize:Number(r.PageSize??c9),replace:!0}),w.current||T.current===e)return;let u=zu.getState().sessions,d=c.current,f=d||(s?cae(u,t||y7(e)):null);f&&f!==d&&j(f)}catch(e){if(e instanceof c7)return;console.error(`Failed to fetch sessions:`,e)}finally{a()&&zu.getState().setLoadingSessions(!1)}},[n,j,s]),N=(0,g.useCallback)(async()=>{let e=zu.getState();if(e.isLoadingSessions||!e.hasMoreSessions)return;let t=Mu({total:e.sessionsTotal,pageSize:e.sessionsPageSize||c9,loadedPages:e.loadedPages});if(!t)return;let r=e.sessionsPageSize||c9,i=e.sessionsAgentId||l.current||`default-agent`,a=()=>g7.getState().agentId===i&&zu.getState().sessionsGeneration===e.sessionsGeneration;try{zu.getState().setLoadingSessions(!0);let o=await n.listSessions(i,{page:t,pageSize:r});if(!a())return;zu.getState().upsertSessions(o.Sessions||[],{agentId:i,total:Number(o.Total??e.sessionsTotal),page:Number(o.Page??t),pageSize:Number(o.PageSize??r)})}catch(e){if(e instanceof c7)return;console.error(`Failed to load more sessions:`,e)}finally{a()&&zu.getState().setLoadingSessions(!1)}},[n]);(0,g.useEffect)(()=>{E.current=j},[j]),(0,g.useEffect)(()=>{D.current=M},[M]);let P=(0,g.useCallback)((e,t=!1)=>{if(T.current=null,t&&c.current===e){zu.getState().upsertSessions([{SessionId:e,UpdatedAt:new Date().toISOString()}]);return}f.current+=1,u.current?.abort(),C.current.set(e,l.current),zu.getState().upsertSessions([{SessionId:e,UpdatedAt:new Date().toISOString()}]),c.current=e,zu.getState().setCurrentSessionId(e),t||(xy.getState().setMessages([]),Eu.getState().setCurrentRunId(``),Eu.getState().clearActivity()),zu.getState().clearSessionMessageHistory(e),Iy.getState().setSessionCheckpoints(e,[]),Iy.getState().setSessionToolReceipts(e,[]),r&&(xu.getState().setMobileSidebarOpen(!1),xu.getState().setMobileActionsOpen(!1))},[r]),F=(0,g.useCallback)(()=>{T.current=l.current,f.current+=1,u.current?.abort(),c.current=null,zu.getState().setCurrentSessionId(null),xy.getState().setMessages([]),Eu.getState().setCurrentRunId(``),Eu.getState().clearActivity(),r&&xu.getState().setMobileSidebarOpen(!1)},[r]),I=(0,g.useCallback)(async()=>{if(w.current){await w.current;return}f.current+=1,u.current?.abort(),c.current=null,zu.getState().setCurrentSessionId(null),xy.getState().setMessages([]);let e=n.createSession(t).then(e=>{let n=e.SessionId||null;return n&&g7.getState().agentId===t&&P(n,xy.getState().messages.some(e=>e.eventType===`optimistic_user_message`||e.eventType===`optimistic_assistant_placeholder`)),n}).catch(e=>(e instanceof c7||console.error(`Failed to create session:`,e),null));w.current=e;try{await e}finally{w.current===e&&(w.current=null)}},[P,t,n]),ee=(0,g.useCallback)(async()=>{let e=w.current;return e?await e:c.current},[]),L=(0,g.useCallback)(async e=>{try{let r=await n.deleteSession(e);return g7.getState().agentId===t?r.Deleted===!1?(xu.getState().pushToast(`会话暂未删除,云端运行时仍在同步,请稍后重试。`,`error`),M(t,c.current??void 0),!1):(zu.getState().removeSession(e),zu.getState().clearSessionMessageHistory(e),y.current.delete(e),x.current.delete(e),b.current.delete(e),S.current.delete(e),_.current.delete(e),v.current.delete(e),C.current.delete(e),c.current===e&&(f.current+=1,u.current?.abort(),o?.(),c.current=null,xy.getState().setMessages([]),Iy.getState().clearSessionCheckpoints(e),zu.getState().setCurrentSessionId(null),Eu.getState().setCurrentRunId(``),Eu.getState().clearActivity(),M(t)),!0):r.Deleted!==!1}catch(e){return e instanceof c7?!1:(console.error(`Failed to delete session`,e),xu.getState().pushToast(`删除会话失败,请稍后重试。`,`error`),!1)}},[t,n,o,M]),te=(0,g.useCallback)(async(e,t)=>{t?.throwIfAborted();let r=zu.getState().messageHistory[e],i=S.current.get(e),a=!!(r?.hasMore&&r.nextCursor!==null),o=!!(i&&i.loadedCount<i.total);if(!r||r.isLoadingOlder||!a&&!o)return;let s=f.current,u=v.current.get(e)||xy.getState().messages,d=Symbol(e);h.current.set(e,d);let p=()=>c.current===e&&f.current===s&&h.current.get(e)===d&&!t?.aborted,g={isCurrent:p,signal:t,onPreparing:()=>{zu.getState().setSessionMessageHistory(e,{...r,preparing:!0,error:void 0,isLoadingOlder:!0})}};try{zu.getState().setSessionMessageHistoryLoading(e,!0);let[p,C]=await Promise.allSettled([a?n9(()=>n.listSessionMessages(e,{signal:t,beforeSeqId:r.nextCursor??void 0,cursorSource:r.cursorSource,historyEpoch:r.historyEpoch,snapshotSeqId:r.snapshotSeqId,limit:l9,includeReasoning:!0,includeToolEvents:!0,includeAttachments:!0}),g):Promise.resolve(null),o&&i?n9(()=>n.listSessionEvents(e,{signal:t,offset:i.loadedCount,limit:u9,cursorSource:i.cursorSource,historyEpoch:i.historyEpoch,snapshotSeqId:i.snapshotSeqId}),g):Promise.resolve(null)]);if(t?.throwIfAborted(),c.current!==e||f.current!==s||h.current.get(e)!==d)return;let w=C.status===`rejected`&&C.reason instanceof s7&&[429,502,503,504].includes(C.reason.code);if(C.status===`rejected`&&!w)throw C.reason;if(p.status===`rejected`)throw p.reason;let T=p.value,E=C.status===`fulfilled`?C.value:null,D=w?`消息正文已加载,部分事件详情暂时读取失败,请重试加载更早记录。`:void 0;if(T&&!p9({CursorSource:r.cursorSource,HistoryEpoch:r.historyEpoch,SnapshotSeqId:r.snapshotSeqId,CursorCompatibleWithRuntime:r.cursorCompatibleWithRuntime},T)||E&&i&&!p9(poe(i),E))throw hoe();D?m.current={generation:s,message:D}:E&&(m.current=null);let k=T?o9(T.Messages):[],A=new Set(k.map(e=>e.id)),j=[...k,...(x.current.get(e)||[]).filter(e=>!A.has(e.id))];g9(x.current,e,j,c.current);let M=i?.events||[],N=i?.loadedCount||0,P=i?.total||0;if(E){let t=E.Events||[];M=dZ(t,M),P=Math.max(P,Number(E.Total??0)||0),N=t.length>0?Math.min(P,N+t.length):P,g9(S.current,e,{events:M,loadedCount:N,total:P,cursorSource:E.CursorSource??i?.cursorSource,historyEpoch:E.HistoryEpoch??i?.historyEpoch,snapshotSeqId:E.SnapshotSeqId??i?.snapshotSeqId},c.current);for(let n of t)F7(n,e)}let F=wZ(j,M,e,b.current.get(e)||`flat-v1`);P7(F.messages,e),g9(v.current,e,F.messages,c.current);let I=OY(F.messages,u,xy.getState().messages);g9(_.current,e,new Set(F.canonicalRunIds),c.current),xy.getState().setMessages(I),g9(y.current,e,I,c.current,d9),zu.getState().setSessionMessageHistory(e,{nextCursor:T?T.NextCursor:r.nextCursor,hasMore:!!(T&&T.HasMore||N<P),...T?h9(T):{},...T?{dataSource:T.DataSource??r.dataSource,degraded:T.Degraded??r.degraded,cursorSource:T.CursorSource??r.cursorSource,cursorCompatibleWithRuntime:T.CursorCompatibleWithRuntime??r.cursorCompatibleWithRuntime,sessionContractVersion:T.SessionContractVersion??r.sessionContractVersion,historyEpoch:T.HistoryEpoch??r.historyEpoch,persistenceDegraded:T.PersistenceDegraded??r.persistenceDegraded,snapshotSeqId:T.SnapshotSeqId??r.snapshotSeqId}:{},preparing:!1,error:D}),O(l.current,e,k)}catch(n){if(m9(n)&&c.current===e&&f.current===s&&h.current.get(e)===d&&!t?.aborted){zu.getState().setSessionMessageHistory(e,{nextCursor:null,hasMore:!1,cursorSource:void 0,historyEpoch:void 0,snapshotSeqId:void 0,dataSource:void 0,degraded:void 0,cursorCompatibleWithRuntime:void 0,sessionContractVersion:void 0,persistenceDegraded:void 0,error:void 0}),await j(e,!0,t);return}if(p()&&!(n instanceof c7)&&zu.getState().setSessionMessageHistory(e,{...r,preparing:!1,error:n instanceof Error?n.message:`历史加载失败,请重试`}),t)throw n;n instanceof c7||console.error(`Failed to load older session messages:`,n)}finally{if(h.current.get(e)===d){if(h.current.delete(e),f.current===s){let t=zu.getState().messageHistory[e];zu.getState().setSessionMessageHistory(e,{...t,nextCursor:t?.nextCursor??null,hasMore:t?.hasMore??!1,preparing:!1,isLoadingOlder:!1})}else zu.getState().setSessionMessageHistoryLoading(e,!1)}}},[n,O,j]);return{historySearchSnapshot:(0,g.useCallback)(()=>{let e=c.current||``,t=zu.getState().messageHistory[e],n=S.current.get(e);return{owner:JSON.stringify([l.current,e,f.current]),messages:xy.getState().messages,hasMore:!!t?.hasMore,loading:!!(p.current===f.current||zu.getState().isLoadingSessions||t?.isLoadingInitial||t?.isLoadingOlder),checkpoint:`${t?.nextCursor}:${n?.loadedCount}`,error:m.current?.generation===f.current?m.current.message:void 0}},[]),followAcceptedInteraction:A,fetchSessions:M,loadMoreSessions:N,loadSession:j,loadOlderSessionMessages:te,createNewSession:I,startNewConversation:F,adoptCreatedSession:P,waitForPendingSessionCreation:ee,deleteSession:L,currentSessionIdRef:c,agentIdRef:l,runSubscriptionAbortRef:u}}function boe(e={}){let t=(0,g.useMemo)(()=>new h7,[]),n=e.api||t,r=String(e.agentId||``).trim()||void 0,i=String(e.targetId||``).trim()||void 0,a=g7(e=>e.status),o=g7(e=>e.errorMessage),s=g7(e=>e.agentId),c=g7(e=>e.agentName),l=g7(e=>e.agentFramework),u=g7(e=>e.apiFormats),d=g7(e=>e.capabilities),f=zu(e=>e.currentSessionId),[,p]=(0,g.useState)(0),m=e.conversationController,h=(0,g.useRef)(r||s),_=h.current!==(r||s);(0,g.useEffect)(()=>{h.current=r||s},[s,r]);let v=m?.getOrCreate(r||s,_?null:f,i),y=(0,g.useRef)(v);y.current=v;let b=zu(e=>f?e.messageHistory[f]:void 0),x=zu(e=>e.sessions),S=zu(e=>e.isLoadingSessions),C=zu(e=>e.hasMoreSessions),w=xy(e=>e.messages),T=Ou(e=>e.modelCatalogLoaded),E=Ou(e=>e.selectedModel),D=Ou(e=>e.availableModels),O=Ou(e=>e.thinkingMode),k=Af(e=>e.permissionMode),A=xu(e=>e.queuedDrafts),j=Eu(e=>e.getSessionActivity(f||v)),M=Eu(e=>e.isSessionStreaming(f||v)),{isMobile:N}=Aae(),P=(0,g.useRef)([]),F=(0,g.useRef)(null),{fetchSessions:I,loadMoreSessions:ee,loadSession:L,followAcceptedInteraction:te,loadOlderSessionMessages:R,historySearchSnapshot:z,createNewSession:ne,startNewConversation:re,adoptCreatedSession:ie,waitForPendingSessionCreation:ae,deleteSession:B,currentSessionIdRef:V,agentIdRef:H,runSubscriptionAbortRef:oe}=yoe({agentId:s,currentSessionId:f,isMobile:N,uiCapabilities:d,api:n,resetCompaction:()=>{},disconnectRun:()=>F.current?.(),restoreSession:e.restoreSession}),se=(0,g.useCallback)((e,t=H.current)=>{!e||t!==H.current||I(t,e)},[H,I]),{submitDraft:ce,isOutboxRequestActive:le,stopGeneration:ue,disconnectRun:de,resumeCheckpoint:U,submitAguiAction:fe,respondToAguiApproval:pe}=$ae({agentId:s,currentSessionId:f,agentFramework:l,apiFormats:u,selectedModel:E,selectedModelMetadata:(0,g.useMemo)(()=>D.find(e=>e.id===E)||null,[D,E]),thinkingMode:O,permissionMode:k,uiCapabilities:d,isMobile:N,api:n,currentSessionIdRef:V,agentIdRef:H,queuedDraftRef:P,onRunSettled:se,conversationIdRef:m?y:void 0,conversationId:v,onSessionCreated:(e,t,n=s)=>{m&&t&&m.bindNative(t,e),!(H.current!==n||m&&y.current!==t)&&ie(e,!0)},waitForPendingSessionCreation:ae,conversationClient:e.conversationClient,outbox:m?.outbox});(0,g.useEffect)(()=>{F.current=de},[de]);let me=(0,g.useCallback)(()=>{let e=V.current;oe.current?.abort(),Eu.getState().stopActivity(),Eu.getState().stopSessionActivity(e),ue()},[V,oe,ue]),he=(0,g.useCallback)(async()=>{let e=V.current,t=Eu.getState(),r=t.getSessionActivity(e)?.runId||``;!e||!r||(await n.cancelRun(s,e,r),t.stopSessionActivity(e,`取消请求已发送。`,H.current===s&&V.current===e),se(e,s))},[s,H,n,V,se]),{submitResponseFeedback:ge,deleteResponseFeedback:_e,respondToApproval:ve}=mae({agentId:s,currentSessionId:f,isStreaming:M,api:n,submitDraft:ce}),ye=(0,g.useRef)(ve),be=(0,g.useRef)(pe);(0,g.useEffect)(()=>{ye.current=ve,be.current=pe},[ve,pe]);let{pending:xe,records:Se,respond:Ce,localCatalog:we}=Dae({agentId:s,getAgentId:()=>H.current,currentSessionId:f,api:n,interactionV1Enabled:!!d.InteractionV1,onAcceptedInteraction:te,legacyResponsesApproval:(e,t,n)=>ye.current({approvalRequestId:e,approve:t,previousResponseId:n}),legacyAguiResume:(e,t)=>be.current({interruptId:e,approve:t===`resolved`})}),Te=(0,g.useCallback)(async e=>{let t=await Ce(e),n=e.action===`cancel`?String(e.response.feedback||``).trim():``;return t.status===`accepted`&&n&&await ce(n,[]),t},[Ce,ce]);(0,g.useEffect)(()=>{r&&(oe.current?.abort(),V.current=null,H.current=r,g7.getState().setAgentId(r),zu.getState().resetSessionPagination(r),zu.getState().setCurrentSessionId(null),zu.getState().clearSessionMessageHistory(),xy.getState().setMessages([]),Eu.getState().setCurrentRunId(``),Eu.getState().clearActivity(),Ou.getState().resetCatalog())},[H,V,r,oe]),pae({fetchSessions:I},r,n),(0,g.useEffect)(()=>{H.current=s,b7(s,f)},[s,f,H]),(0,g.useEffect)(()=>()=>oe.current?.abort(),[oe]);let Ee=(0,g.useCallback)((e,t={})=>{ce(e,t.attachments||[],void 0,void 0,t.executionMode)},[ce]),De=(0,g.useRef)(new Set),Oe=(0,g.useCallback)(async e=>{if(!m||!v)return!1;let t=m.outbox.get(e);if(!t||t.conversationId!==v||t.agentId!==s||H.current!==s||y.current!==v||![`pending`,`failed`,`unknown`].includes(t.status)||De.current.has(e)||le(e))return!1;De.current.add(e);try{if(t.status===`unknown`){let r=n=>(m.outbox.get(e)===t&&m.outbox.update(e,{error:n}),!1);if(!t.nativeSessionId||!t.invocationId)return r(`尚未取得原任务的完整标识,请先查看会话记录确认结果。`);let i;try{i=await n.getSession(t.nativeSessionId)}catch{return r(`暂时无法查询原任务状态,请稍后重新查询。`)}if(m.outbox.get(e)!==t)return!1;if(i.SessionId!==t.nativeSessionId||i.AgentId&&i.AgentId!==t.agentId||i.ActiveInvocationId!==t.invocationId)return r(`当前会话状态未对应原任务,请查看原任务记录确认结果。`);let a=String(i.ActiveRunStatus||``).trim().toLowerCase(),o=[`completed`,`succeeded`,`success`,`done`].includes(a)?`completed`:[`failed`,`error`].includes(a)?`failed`:[`cancelled`,`canceled`,`stopped`,`aborted`].includes(a)?`cancelled`:void 0;return o?m.outbox.update(e,{status:o,error:o===`failed`?`原任务已失败,请检查已产生的结果后决定是否重试。`:void 0}):r([`running`,`in_progress`,`resuming`,`waiting`,`paused`,`awaiting_approval`].includes(a)?`原任务仍在执行或等待处理,请在会话中查看进度。`:`原任务尚未返回可确认的结果,请稍后重新查询。`),!1}let r=m.outbox.getRuntimeAttachments(e);return t.attachments.length>0&&r.length!==t.attachments.length?!1:(m.outbox.requeue(e),await ce(t.text,r,void 0,void 0,t.executionMode,e),!0)}finally{De.current.delete(e)}},[s,H,n,m,v,le,ce]),ke=(0,g.useCallback)(e=>{zu.getState().setCurrentSessionId(e),e&&L(e)},[L]),Ae=(0,g.useCallback)(()=>{m?.navigate(),y.current=m?.createDraft(r||s,i),re(),p(e=>e+1)},[s,m,r,re,i]),je=(0,g.useCallback)(e=>R(e||V.current||``),[V,R]),Me=(0,g.useCallback)((e,t,n)=>{let r=V.current||``;return EZ({query:e,signal:t,onProgress:n,snapshot:z,readOlder:e=>R(r,e)})},[V,z,R]),Ne=(0,g.useCallback)(async()=>{await I(H.current,V.current),V.current&&await L(V.current)},[H,V,I,L]),Pe=(0,g.useCallback)(async()=>{if(!f||!n.compactSession||!d.ContextCompaction)throw Error(`当前会话尚不支持手动压缩`);if((await n.compactSession(s,f)).Status!==`completed`)throw Error(`运行时尚未确认压缩完成`);await I(s,f)},[n,s,f,d.ContextCompaction,I]);return{bootstrapStatus:a,bootstrapErrorMessage:o,agentId:s,agentName:c,agentFramework:l,uiCapabilities:d,sessions:x,currentSessionId:f,conversationId:v,conversationDrafts:m?.drafts,conversationOutbox:m?.outbox,messageHistory:b,isLoadingSessions:S,hasMoreSessions:C,isMobile:N,selectSession:ke,createNewSession:ne,startNewConversation:Ae,deleteSession:B,loadMoreSessions:ee,loadOlderMessages:je,refresh:Ne,searchConversation:Me,messages:w,activity:j,compactContext:Pe,isStreaming:M,queuedDrafts:A,send:Ee,retryOutbox:Oe,isOutboxRequestActive:le,stop:me,cancelRemote:he,resumeCheckpoint:U,pendingInteractions:xe,interactionRecords:Se,respondInteraction:Te,localCatalog:we,respondToApproval:ve,submitAguiAction:fe,models:D,selectedModel:E,setModel:e=>Ou.getState().setSelectedModel(e),modelCatalogLoaded:T,thinkingMode:O,setThinkingMode:e=>Ou.getState().setThinkingMode(e),permissionMode:k,setPermissionMode:e=>Af.getState().setPermissionMode(e),submitResponseFeedback:ge,deleteResponseFeedback:_e}}function xoe(e,t,n,r){let i=new TextDecoder,a=``,o=!1,s=!1,c=()=>{s||(s=!0,r())};return e.pipeThrough(new TransformStream({transform(e,r){a+=i.decode(e,{stream:!0});let l;for(;l=/\r?\n\r?\n/.exec(a);){let e=a.slice(0,l.index);if(a=a.slice(l.index+l[0].length),o){o=!1;continue}if(e.length>65536)continue;let r=/^event:\s*(.+)$/m.exec(e)?.[1]?.trim();if(r===`done`||[`response.completed`,`response.failed`,`response.cancelled`].includes(r||``)){c();continue}if(r===`studio.run.control_ready`||r===`message`)try{let i=JSON.parse(e.split(/\r?\n/).filter(e=>e.startsWith(`data:`)).map(e=>e.slice(5).trimStart()).join(`
|
|
260
|
+
`));if(r===`message`){[`run.completed`,`run.failed`,`run.cancelled`,`run.interrupted`].includes(i.EventType)&&i.InvocationId===t.invocationId&&i.SessionId===t.sessionId&&c();continue}if(s)continue;if(i.AgentId===t.agentId&&i.SessionId===t.sessionId&&i.InvocationId===t.invocationId&&typeof i.RunId==`string`&&i.RunId){let e=i.ChildControls,r=e&&typeof e==`object`&&typeof e.input==`boolean`&&typeof e.promotion==`boolean`?{input:e.input,promotion:e.promotion,...typeof e.cancellation==`boolean`?{cancellation:e.cancellation}:{}}:void 0;n({...t,runId:i.RunId,...r?{childControls:r}:{}})}}catch{}}a.length>65536&&(a=a.slice(-2),o=!0),r.enqueue(e)},flush(){c()}}))}var v9=class extends Error{uncertain;constructor(e,t=!1){super(e),this.uncertain=t}};function y9(e){return e&&typeof e==`object`&&!Array.isArray(e)?e:void 0}var Soe=class{fetcher;constructor(e){this.fetcher=e}async request(e,t,n){let r;try{r=await this.fetcher(e,t?{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify(t)}:{signal:n})}catch(e){throw t?new v9(`投递状态未知,请用同一条补充重试确认。`,!0):e}if(!r.ok){let e=!!t&&(r.status>=500||r.status===408);throw new v9(e?`投递状态未知,请用原请求重试确认。`:`子任务操作未被接收,请刷新状态后重试。`,e)}try{return await r.json()}catch{throw new v9(`运行时返回了无法确认的子任务回执。`,!!t)}}async childTasks(e,t){let n=y9(await this.request(`/api/v1/runs/${encodeURIComponent(e.runId)}/children`,void 0,t));if(n?.runId!==e.runId||!Array.isArray(n.tasks))throw new v9(`子任务目录与当前运行不一致。请刷新状态。`);let r=new Set;return n.tasks.map(e=>{let t=y9(e);if(!t||typeof t.child_run_id!=`string`||!t.child_run_id||r.has(t.child_run_id)||typeof t.session_id!=`string`||!t.session_id||t.role!==null&&typeof t.role!=`string`||typeof t.phase!=`string`||!t.phase||![`foreground`,`background`].includes(String(t.delivery))||t.can_cancel!==void 0&&typeof t.can_cancel!=`boolean`||typeof t.can_promote!=`boolean`||typeof t.can_send_input!=`boolean`||!Number.isSafeInteger(t.goal_revision)||Number(t.goal_revision)<0)throw new v9(`子任务目录不完整。请刷新状态。`);return r.add(t.child_run_id),{child_run_id:t.child_run_id,session_id:t.session_id,role:t.role,phase:t.phase,delivery:t.delivery,...t.can_cancel===void 0?{}:{can_cancel:t.can_cancel},can_promote:t.can_promote,can_send_input:t.can_send_input,goal_revision:Number(t.goal_revision)}})}async command(e,t,n,r){let i=y9(await this.request(`/api/v1/runs/${encodeURIComponent(e.runId)}/children/${encodeURIComponent(t)}:${n}`,r));if(i?.runId!==e.runId||i.childRunId!==t||i.commandId!==r.command_id||i.status!==`queued`)throw new v9(`运行时尚未确认原子任务请求,请用原请求重试。`,!0);return i}cancelChild(e,t,n){return this.command(e,t,`cancel`,{command_id:n})}promoteChild(e,t,n){return this.command(e,t,`promote`,{command_id:n})}sendChildInput(e,t,n){return this.command(e,t,`send`,{command_id:n.command_id,text:n.text,expected_goal_revision:n.expected_goal_revision})}},Coe=[`created`,`running`,`paused`,`waiting_input`,`completed`,`failed`,`cancelled`,`interrupted`,`timed_out`];function b9(e,t){if(!e||typeof e!=`object`)throw Error(`原任务查询没有返回有效回执。`);let n=e;if(!(n.SchemaVersion===1&&n.AgentId===t.agentId&&n.SessionId===t.sessionId&&n.InvocationId===t.invocationId&&typeof n.RunId==`string`&&(n.Source===`run`&&n.RunId&&Coe.includes(n.Status)||n.Source===`operation`&&n.RunId===``&&[`queued`,`running`,`failed`,`cancelled`,`interrupted`].includes(String(n.Status))||n.Source===`unavailable`&&n.RunId===``&&n.Status===`unknown`)))throw Error(`回执与原消息身份或运行状态不匹配,保留原消息等待确认。`);return n}async function woe(e){let{api:t,outbox:n,entry:r,agentId:i,conversationId:a,binding:o,signal:s,isRequestActive:c}=e,l=()=>!s.aborted&&n.get(r.requestId)===r&&!c(r.requestId);if(!l()||r.agentId!==i||r.conversationId!==a||![`unknown`,`sending`].includes(r.status))return;let u=r.nativeSessionId||(o?.agentId===i&&o.conversationId===a?o.nativeSessionId:void 0);if(!(!u||!r.invocationId))try{let e=b9(await t.getRunReceipt(i,u,r.invocationId,s),{agentId:i,sessionId:u,invocationId:r.invocationId});if(!l())return;let a=e.Status===`unknown`?`unknown`:e.Status===`completed`?`completed`:e.Status===`cancelled`?`cancelled`:[`failed`,`interrupted`,`timed_out`].includes(e.Status)?`failed`:`sending`,o=a===`unknown`?`尚未查到原任务的投递证据,请查看会话记录后再确认。`:a===`failed`?`原任务已失败或中断;请检查已有结果,再决定是否重新发送。`:void 0;(r.status!==a||r.error!==o||r.nativeSessionId!==u)&&n.update(r.requestId,{status:a,error:o,nativeSessionId:u})}catch{l()&&n.update(r.requestId,{status:`unknown`,error:`原任务状态查询未完成,消息不会自动重发,请稍后确认。`})}}function Toe(){return new DOMException(`Studio conversation stream detached`,`AbortError`)}function x9(e,t){if(!t)return e;let n=e.getReader(),r=!1,i=null,a=()=>t.removeEventListener(`abort`,o),o=()=>{r||(r=!0,a(),n.cancel(`ui-detached`).catch(()=>void 0),i?.error(Toe()))};return new ReadableStream({start(e){i=e,t.aborted?o():t.addEventListener(`abort`,o,{once:!0})},async pull(e){if(!r)try{let t=await n.read();if(r)return;t.done?(r=!0,a(),e.close()):e.enqueue(t.value)}catch(t){if(r)return;r=!0,a(),e.error(t)}},async cancel(e){r||(r=!0,a(),await n.cancel(e))}})}var Eoe=class extends h7{userCancellationAuthorized=``;commandClient;scopeAgentId;childClient;controlRuns=new Map;controlOwners=new Map;controlListeners=new Set;subscribeControls=e=>(this.controlListeners.add(e),()=>{this.controlListeners.delete(e)});controlRun=e=>e?this.controlRuns.get(e):void 0;observeRun(e,t){let n=Symbol();this.controlOwners.set(t.sessionId,n),this.controlRuns.delete(t.sessionId);let r=()=>{this.controlListeners.forEach(e=>e())};return r(),xoe(e,t,e=>{this.controlOwners.get(t.sessionId)===n&&(this.controlRuns.set(t.sessionId,e),r())},()=>{this.controlOwners.get(t.sessionId)===n&&(this.controlOwners.delete(t.sessionId),this.controlRuns.delete(t.sessionId),r())})}constructor(e){super(e),this.commandClient=new d7(e),this.scopeAgentId=e?.agentId||``,this.childClient=new Soe(e?.fetch||globalThis.fetch.bind(globalThis))}requireChildControl(e,t){let n=this.controlRuns.get(e.sessionId);if(e.agentId!==this.scopeAgentId||!n||n.runId!==e.runId||n.invocationId!==e.invocationId||n.agentId!==e.agentId)throw new v9(`当前会话已切换或运行已结束,请重新查看子任务。`);if(t&&n.childControls?.[t]!==!0)throw new v9(`当前运行未声明这项子任务控制能力。`)}async childTasks(e,t){return this.requireChildControl(e),this.childClient.childTasks(e,t)}async cancelChild(e,t,n){return this.requireChildControl(e,`cancellation`),this.childClient.cancelChild(e,t,n)}async promoteChild(e,t,n){return this.requireChildControl(e,`promotion`),this.childClient.promoteChild(e,t,n)}async sendChildInput(e,t,n){return this.requireChildControl(e,`input`),this.childClient.sendChildInput(e,t,n)}async getRunReceipt(e,t,n,r){if(e!==this.scopeAgentId||!t||!n)throw Error(`无法确定原消息的运行身份,请查看会话记录。`);return b9(await this.commandClient.postJsonAction(`GetRunReceipt`,{AgentId:e,SessionId:t,InvocationId:n},{signal:r}),{agentId:e,sessionId:t,invocationId:n})}async steerRun(e,t,n){let r=await this.commandClient.postJsonAction(`SteerRun`,{AgentId:e,InvocationId:t,Text:n});if(r.InvocationId!==t||!r.RunId||r.Status!==`steering`)throw Error(`运行时未确认本轮纠偏,请查看会话状态。`);return r}authorizeUserCancellation(e,t,n){this.userCancellationAuthorized=t&&n?JSON.stringify([e,t,n]):``}async runAgent(e,t){let n=await super.runAgent(e);return x9(this.observeRun(n,{agentId:String(e.AgentId||``),sessionId:String(e.SessionId||``),invocationId:String(e.InvocationId||``)}),t?.signal)}async resumeRun(e,t){let n=await super.resumeRun(e);return x9(this.observeRun(n,{agentId:e.agentId,sessionId:e.sessionId,invocationId:e.invocationId||e.runId}),t?.signal)}async subscribeRunEvents(e,t){let n=await super.subscribeRunEvents(e);return x9(this.observeRun(n,{agentId:this.scopeAgentId,sessionId:e.sessionId,invocationId:e.invocationId}),t?.signal)}async cancelRun(e,t,n,r){return this.userCancellationAuthorized===JSON.stringify([e,t,n])?(this.userCancellationAuthorized=``,super.cancelRun(e,t,n,r)):{Cancelled:!1,Ignored:!0,Reason:`no-user-cancel-intent`}}};function Doe({runId:e,submit:t,onAccepted:n}){let[r,i]=(0,g.useState)(``),[a,o]=(0,g.useState)(!1),[s,c]=(0,g.useState)(``),l=(0,g.useRef)(0),u=(0,g.useRef)(!1);(0,g.useEffect)(()=>(l.current+=1,u.current=!1,i(``),o(!1),c(``),()=>{l.current+=1}),[e]);let d=async()=>{if(u.current||!r.trim())return;u.current=!0;let a=l.current;o(!0),c(``);try{if(await t(e,r.trim()),l.current!==a)return;i(``),c(`已接收,将在当前任务中处理。`),n?.()}catch(e){if(l.current!==a)return;c(e instanceof Error?e.message:`纠偏发送失败,请重试。`)}finally{l.current===a&&(u.current=!1,o(!1))}};return(0,v.jsxs)(`div`,{className:`run-steering-control`,children:[(0,v.jsxs)(`label`,{children:[(0,v.jsx)(`span`,{children:`调整当前任务`}),(0,v.jsx)(`input`,{"aria-label":`调整当前任务`,value:r,maxLength:1e4,disabled:a,placeholder:`补充约束或纠正当前任务`,onChange:e=>i(e.target.value),onKeyDown:e=>{e.key===`Enter`&&!e.nativeEvent.isComposing&&(e.preventDefault(),e.stopPropagation(),d())}})]}),(0,v.jsx)(`button`,{type:`button`,disabled:a||!r.trim(),onClick:()=>{d()},children:a?`发送中…`:`发送纠偏`}),s?(0,v.jsx)(`span`,{role:`status`,children:s}):null]})}var Ooe={created:`准备启动`,preparing_context:`整理上下文`,requesting_model:`处理中`,executing_tools:`执行工具`,awaiting_interaction:`等待确认`,compacting:`压缩上下文`,verifying:`验证中`,finalizing:`整理结果`,paused:`已暂停`,completed:`已结束`,failed:`执行失败`,canceled:`已取消`,interrupted:`已中断`};function koe({task:e,run:t,api:n,allowInput:r,allowPromotion:i,allowCancellation:a,refresh:o}){let[s,c]=(0,g.useState)(``),[l,u]=(0,g.useState)(!1),[d,f]=(0,g.useState)(``),[p,m]=(0,g.useState)(!1),[h,_]=(0,g.useState)(!1),[y,b]=(0,g.useState)(!1),x=(0,g.useRef)(null),S=(0,g.useRef)(!1),C=(0,g.useRef)(!1);(0,g.useEffect)(()=>(C.current=!0,()=>{C.current=!1}),[]);let w=async l=>{if(S.current||x.current&&x.current.action!==l)return;if(!x.current){if(l===`send`&&(!e.can_send_input||!r||!s.trim())||l===`promote`&&(!e.can_promote||!i||y)||l===`cancel`&&(!e.can_cancel||!a||!n.cancelChild||h))return;let t=`studio-child:${crypto.randomUUID()}`;x.current=l===`send`?{action:l,input:{command_id:t,text:s.trim(),expected_goal_revision:e.goal_revision}}:{action:l,commandId:t}}let d=x.current;S.current=!0,u(!0),f(``);try{if(d.action===`send`?await n.sendChildInput(t,e.child_run_id,d.input):d.action===`cancel`?await n.cancelChild(t,e.child_run_id,d.commandId):await n.promoteChild(t,e.child_run_id,d.commandId),!C.current)return;x.current=null,m(!1),d.action===`send`?(c(``),f(`补充已排队,等待子任务处理;不会自动批准或恢复暂停。`)):d.action===`cancel`?(_(!0),f(`取消请求已排队,最终状态以运行时为准。`)):(b(!0),f(`转后台请求已排队,当前状态以运行时返回为准。`)),o()}catch(e){if(!C.current)return;let t=!(e instanceof v9)||e.uncertain;t||(x.current=null),m(t),f(e instanceof Error?e.message:`请求未能确认,请用原请求重试。`)}finally{C.current&&(S.current=!1,u(!1))}};return(0,v.jsxs)(`article`,{className:`child-run-row`,"aria-label":`${e.role||`子任务`} · ${e.child_run_id}`,children:[(0,v.jsxs)(`div`,{className:`child-run-heading`,children:[(0,v.jsx)(`strong`,{children:e.role||`子任务`}),(0,v.jsxs)(`span`,{children:[e.delivery===`foreground`?`前台`:`后台`,` · `,Ooe[e.phase]||`状态待确认`]})]}),r&&e.can_send_input?(0,v.jsxs)(`div`,{className:`child-run-input`,children:[(0,v.jsx)(`input`,{"aria-label":`给${e.role||`子任务`}补充说明`,value:s,maxLength:32768,readOnly:p,disabled:l,placeholder:`补充说明,保留当前任务和权限`,onChange:e=>c(e.target.value),onKeyDown:e=>{e.key===`Enter`&&!e.nativeEvent.isComposing&&(e.preventDefault(),e.stopPropagation(),w(`send`))}}),(0,v.jsx)(`button`,{type:`button`,disabled:l||!s.trim()||p&&x.current?.action!==`send`,onClick:()=>{w(`send`)},children:p&&x.current?.action===`send`?`重试原补充`:`发送补充`})]}):null,i&&e.can_promote?(0,v.jsx)(`button`,{type:`button`,disabled:l||y||p&&x.current?.action!==`promote`,onClick:()=>{w(`promote`)},children:p&&x.current?.action===`promote`?`重试转后台`:`转到后台`}):null,a&&e.can_cancel&&n.cancelChild?(0,v.jsx)(`button`,{type:`button`,disabled:l||h||p&&x.current?.action!==`cancel`,onClick:()=>{w(`cancel`)},children:p&&x.current?.action===`cancel`?`重试原取消`:`取消此子任务`}):null,d?(0,v.jsx)(`p`,{role:`status`,children:d}):null]})}function Aoe({run:e,api:t,allowInput:n,allowPromotion:r,allowCancellation:i=!1}){let[a,o]=(0,g.useState)(!1),[s,c]=(0,g.useState)([]),[l,u]=(0,g.useState)(``),[d,f]=(0,g.useState)(!1),[p,m]=(0,g.useState)(0);return(0,g.useEffect)(()=>{if(!a)return;let n=new AbortController,r,i=async()=>{f(!0);try{let a=await t.childTasks(e,n.signal);if(n.signal.aborted)return;c(a),u(``),r=setTimeout(()=>{i()},2e3)}catch(e){n.signal.aborted||u(e instanceof Error?e.message:`子任务状态读取失败,请刷新。`)}finally{n.signal.aborted||f(!1)}};return i(),()=>{n.abort(),clearTimeout(r)}},[a,t,e.agentId,e.sessionId,e.invocationId,e.runId,p]),(0,v.jsxs)(`section`,{className:`child-run-controls`,"aria-label":`子任务控制`,children:[(0,v.jsx)(`button`,{type:`button`,"aria-expanded":a,onClick:()=>o(e=>!e),children:`子任务`}),(0,v.jsxs)(`div`,{hidden:!a,children:[l?(0,v.jsx)(`p`,{role:`alert`,children:l}):null,(0,v.jsx)(`button`,{type:`button`,disabled:d,onClick:()=>m(e=>e+1),children:`刷新子任务`}),!d&&!l&&s.length===0?(0,v.jsx)(`p`,{children:`当前没有子任务。`}):null,s.map(a=>(0,v.jsx)(koe,{task:a,run:e,api:t,allowInput:n&&!l,allowPromotion:r&&!l,allowCancellation:i&&!l,refresh:()=>m(e=>e+1)},`${e.runId}:${a.child_run_id}`))]})]})}function joe(e){let t=[],n=[],r=()=>{if(!n.length)return;let e=new Map,r=[],i=!1,a=t=>{for(let n of t.replace(/([^\n])•/g,`$1
|
|
261
|
+
•`).split(/\n+/)){let t=n.trim(),r=t.match(/^[•*-]\s*(正在运行|已完成|需要调整|执行失败|已取消):(.+)$/);if(r){e.set(`child:${r[2]}`,`${r[2]} · ${r[1]}`);continue}let i=t.match(/^(正在|已)(搜索资料|查看资料|查看工作区内容|编辑并保存结果|运行任务|使用工具处理任务)(?:[。….]*)$/);if(i){e.set(i[2],`${i[1]}${i[2]}`);continue}/^模型服务繁忙.*自动重试/.test(t)&&e.set(`retry`,t.slice(0,120)),/^\d+ 个子智能体/.test(t)&&e.set(`children`,t.slice(0,80)),/^(上下文已自动压缩|正在压缩上下文)/.test(t)&&e.set(`context`,t.slice(0,80))}};for(let t of n){i||=!!t.reasoning,a(t.reasoning||``);let n=t.blocks?.length?t.blocks:[...t.reasoning?[{id:`${t.id}:thought`,type:`thinking`,status:`done`,content:t.reasoning}]:[],...Object.entries(t.tools||{}).map(([e,t])=>({id:e,type:`tool`,toolName:t.name,args:t.args,output:t.output,status:t.status,extra:t})),...t.content?[{id:`${t.id}:text`,type:`text`,status:`done`,content:t.content}]:[]];for(let o of n){let n=o;if(n.type===`tool`){let e=n.extra,r=e?.callId||e?.call_id,i=t.tools?.[n.toolName],a=(r?Object.values(t.tools||{}).find(e=>e.callId===r):void 0)||t.tools?.[n.id]||(i&&(!r||!i.callId||i.callId===r)?i:void 0);a&&(n={...n,status:a.status,args:a.args,output:a.output,extra:{...n.extra,...a}})}if(n.type===`thinking`){i=!0,a(n.content);continue}if(n.type===`tool`&&!n.extra?.approvalRequestId&&n.status!==`error`&&n.status!==`paused`){let t=n.toolName.toLowerCase(),i=/search/.test(t)?`搜索资料`:/fetch/.test(t)?`查看资料`:/write|edit/.test(t)?`编辑并保存结果`:/read|list/.test(t)?`查看工作区内容`:/delegate/.test(t)?`调度子智能体`:`使用工具处理任务`;e.set(i,`${n.status===`running`?`正在`:`已`}${i}`),r.push({id:n.id,type:`tool`,toolName:n.toolName,status:n.status,args:``,extra:{summary:n.status===`running`?`正在运行`:`已完成`}});continue}r.push(n)}}let o=n[n.length-1];[...e.entries()].filter(([e])=>e.startsWith(`child:`)).length&&e.delete(`children`);let s=[...e.values()].slice(-10).map(e=>`- ${e}`).join(`
|
|
262
|
+
`),c=n.some(e=>e.status===`running`);(i||s)&&r.unshift({id:`${n[0].id}:activity`,type:`thinking`,status:c?`streaming`:`done`,content:s||(c?`正在分析任务`:`已完成分析`)}),t.push({...o,id:n[0].id,sourceMessageIds:n.map(e=>e.id),blocks:r,reasoning:void 0,tools:void 0}),n=[]};for(let i of e)if(i.role!==`model`||i.a2ui||i.aguiActivity||i.aguiActivities?.length)r(),t.push(i);else{let e=n[n.length-1],t=e?.invocationId||e?.runId||e?.responseId,a=i.invocationId||i.runId||i.responseId;t&&a&&t!==a&&r(),n.push(i)}return r(),t}function S9(e){return String(e.invocationId||e.runId||e.responseId||``)}function Moe(e){let t=(e.blocks||[]).filter(e=>e.type===`thinking`);return t.length?{text:t.map(e=>`content`in e?String(e.content||``):``).join(``),status:t[t.length-1].status===`streaming`?`streaming`:`done`}:e.reasoning?{text:e.reasoning,status:null}:{text:``,status:null}}function Noe(e,t){if(!t.streaming)return null;let n=e.length-1;for(;n>=0&&e[n].role!==`model`;)--n;if(n<0)return null;let r=S9(e[n]),i=[];for(let t=n;t>=0;--t){let n=e[t];if(n.role!==`model`)break;let a=S9(n);if(r&&a&&a!==r)break;i.unshift(n)}let a=[],o=null;for(let e of i){let t=Moe(e);t.text&&a.push(t.text),t.status&&(o=t.status)}let s=a.join(``);if(!s.trim())return null;let c=i.some(e=>!!String(e.content||``).trim());return{runId:r,text:s,streaming:o!==`done`&&!c}}function Poe(e){return Number.isFinite(e)?Number(e).toLocaleString():`—`}var Foe=900;function Ioe(e){let t=e.trim();if(t.length<=Foe)return{text:t,truncated:!1};let n=t.slice(-900),r=Math.max(n.indexOf(`。`),n.indexOf(`
|
|
263
|
+
`));return{text:`…${n.slice(r>=0?r+1:0).trimStart()}`,truncated:!0}}function C9({text:e,streaming:t,reasoningTokens:n}){let r=(0,g.useRef)(null),i=(0,g.useRef)(!0),a=(0,g.useRef)(Date.now()),[o,s]=(0,g.useState)(0),[c,l]=(0,g.useState)(!1),[u,d]=(0,g.useState)(!1);(0,g.useEffect)(()=>{let e=()=>s(Math.max(0,Math.floor((Date.now()-a.current)/1e3)));if(e(),!t)return;let n=setInterval(e,1e3);return()=>clearInterval(n)},[t]),(0,g.useEffect)(()=>{t&&c&&i.current&&r.current&&(r.current.scrollTop=r.current.scrollHeight)},[t,e,c]);let f=Ioe(e),p=(0,v.jsxs)(`div`,{className:`harness-live-thinking-body`,"data-testid":`live-thinking-text`,ref:r,onScroll:e=>{let t=e.currentTarget;i.current=t.scrollHeight-t.clientHeight-t.scrollTop<24,d(!i.current)},children:[f.text,f.truncated&&(0,v.jsx)(`p`,{className:`harness-live-thinking-note`,children:`仅显示最近一段实时思路,完整思考不会写入会话记录。`})]});return(0,v.jsx)(`section`,{className:`harness-live-thinking`,"data-testid":`live-thinking`,"data-streaming":t?`true`:`false`,"aria-label":`思考过程`,children:(0,v.jsxs)(`details`,{className:`harness-live-thinking-details`,open:c,onToggle:e=>l(e.currentTarget.open),children:[(0,v.jsxs)(`summary`,{className:`harness-live-thinking-head`,children:[(0,v.jsxs)(`span`,{className:`harness-live-thinking-pulse`,"data-testid":`live-thinking-pulse`,"aria-hidden":`true`,children:[(0,v.jsx)(`i`,{}),(0,v.jsx)(`i`,{}),(0,v.jsx)(`i`,{})]}),(0,v.jsxs)(`span`,{className:`activity-duration`,title:`从浏览器首次收到本段思考起计时,非模型运行耗时`,children:[`观测 `,o,`s`]}),!c&&(0,v.jsx)(`span`,{className:`harness-thinking-latest`,children:e.trim().split(`
|
|
264
|
+
`).filter(Boolean).at(-1)}),(0,v.jsx)(`span`,{className:`harness-live-thinking-title`,role:t?`status`:void 0,children:t?`正在思考…`:`已思考`}),n==null?null:(0,v.jsxs)(`span`,{className:`harness-live-thinking-tokens`,"data-testid":`live-thinking-tokens`,children:[`思考 Token `,Poe(n)]}),(0,v.jsx)(Yf,{className:`harness-live-thinking-chevron`,size:13,"aria-hidden":`true`})]}),p,u&&t&&(0,v.jsx)(`button`,{className:`button tertiary small`,type:`button`,onClick:()=>{i.current=!0,d(!1),r.current&&(r.current.scrollTop=r.current.scrollHeight)},children:`跟随最新思考`})]})})}function Loe({id:e,root:t,heights:n,pinned:r,live:i,follow:a,children:o,revealed:s}){let c=(0,g.useRef)(null),l=(0,g.useRef)([]),u=typeof IntersectionObserver<`u`&&typeof ResizeObserver<`u`,[d,f]=(0,g.useState)(!u||i||r),p=d||i||r;return(0,g.useLayoutEffect)(()=>{let e=c.current;if(!p||!e)return;let t=Array.from(e.querySelectorAll(`details`));t.forEach((e,t)=>{l.current[t]!==void 0&&(e.open=l.current[t])});let n=()=>{l.current=t.map(e=>e.open)};return e.addEventListener(`toggle`,n,!0),()=>e.removeEventListener(`toggle`,n,!0)},[p]),(0,g.useEffect)(()=>{if(!u||!c.current||!t.current)return;let e=new IntersectionObserver(([e])=>f(e.isIntersecting),{root:t.current,rootMargin:`1000px 0px`});return e.observe(c.current),()=>e.disconnect()},[u,t]),(0,g.useLayoutEffect)(()=>{if(!c.current||typeof ResizeObserver>`u`)return;let r=new ResizeObserver(()=>{let r=c.current,i=t.current;if(!r||!i)return;let o=r.getBoundingClientRect().height;p&&n.set(e,o),a.current&&(i.scrollTop=i.scrollHeight)});return r.observe(c.current),()=>r.disconnect()},[e,p,t,n,a]),(0,v.jsx)(`div`,{ref:c,className:`harness-turn`,tabIndex:-1,"data-message-id":e,"data-search-target":s||void 0,"data-windowed":!p||void 0,style:p?void 0:{height:n.get(e)??160},children:p?o:null})}function w9(e){return[e.invocationId,e.runId,e.id.split(`:`)[0]].find(e=>e&&/^run[_-]/.test(e))}function Roe(e){return(e.blocks||[]).filter(e=>e.type===`thinking`).flatMap(e=>(`content`in e?e.content:``).split(`
|
|
265
|
+
`).filter(Boolean).map((t,n)=>{let r=t.replace(/^- /,``);return{id:`${e.id}:${n}`,label:r.replace(/ · (已完成|正在运行|执行失败|已取消)$/,``),status:/执行失败/.test(r)?`failed`:/已取消/.test(r)?`cancelled`:/已完成|^已/.test(r)?`completed`:/正在/.test(r)?`running`:`unknown`,kind:r.includes(` · `)?`subagent`:`step`,details:[]}}))}function zoe({message:e,...t}){let n=(0,g.useRef)(null),r=e.role===`model`?{...e,reasoning:void 0,blocks:e.blocks?.filter(e=>e.type!==`thinking`)}:e;return r.role===`model`&&!r.blocks?.length&&!r.content&&!r.attachments?.length&&!r.a2ui&&!r.aguiActivity&&!r.aguiActivities?.length&&!Object.keys(r.tools||{}).length?null:(0,v.jsx)(db,{...t,messages:[r],contextIndicator:null,scrollRef:n,className:`harness-shared-message`,onOpenAttachmentPreview:e=>{let t=new URL(e.url,window.location.href);[`http:`,`https:`,`blob:`].includes(t.protocol)&&window.open(t.href,`_blank`,`noopener,noreferrer`)}})}function Boe(e){return e.role===`model`&&!!(e.content||e.reasoning||e.blocks?.some(e=>e.type===`text`||e.type===`thinking`?e.content:!0)||e.attachments?.length||e.a2ui||e.aguiActivity||e.aguiActivities?.length||Object.keys(e.tools||{}).length)}function Voe(e){return!!(e.a2ui&&!e.a2ui.ended||e.aguiActivity||e.aguiActivities?.length||Object.values(e.tools||{}).some(e=>e.status===`paused`||e.approvalStatus===`pending`||e.status===`running`))}function Hoe({messages:e,sessionId:t,activeRunId:n,reasoningTokens:r,hasMoreMessages:i=!1,onLoadOlderSessionMessages:a,onOpenSession:o,className:s,revealMessage:c,...l}){let u=(0,g.useRef)(null),d=(0,g.useRef)(!0),f=(0,g.useRef)(new Map),[p,m]=(0,g.useState)(!0),h=(0,g.useMemo)(()=>joe(e),[e]),_=(0,g.useMemo)(()=>Noe(e,{streaming:!!l.isStreaming}),[e,l.isStreaming]),[y,b]=(0,g.useState)(null);(0,g.useEffect)(()=>{!_||!t||b({sessionId:t,view:_})},[_,t]);let x=l.isStreaming?_:y&&y.sessionId===t?{...y.view,streaming:!1}:null,S=new Set,C=[...h].reverse().find(e=>e.role===`model`),w=h.reduce((e,t,n)=>t.role===`model`?n:e,-1),T=(0,g.useRef)(t);T.current=t;let[E,D]=(0,g.useState)(!1),[O,k]=(0,g.useState)(!1),A=(0,g.useRef)(null),j=(0,g.useRef)(null),M=e.some(e=>Boe(e))||e.some(e=>(e.blocks||[]).some(e=>e.type===`thinking`)),N=new Set(h.flatMap(e=>{let t=e.role===`model`?w9(e):void 0;return t?[t]:[]})),P=l.isStreaming&&n&&!N.has(n),F=l.isStreaming&&!M&&!n;(0,g.useEffect)(()=>{let e=u.current;if(!e)return;let t=()=>{d.current=e.scrollHeight-e.scrollTop-e.clientHeight<100,m(d.current)};return e.addEventListener(`scroll`,t,{passive:!0}),()=>e.removeEventListener(`scroll`,t)},[]),(0,g.useLayoutEffect)(()=>{d.current=!0,f.current.clear(),m(!0),j.current=null,A.current=null,D(!1),k(!1)},[t]),(0,g.useLayoutEffect)(()=>{let e=u.current;if(!e)return;let t=j.current;t&&t.firstId!==h[0]?.id?(e.scrollTop=t.top+e.scrollHeight-t.height,j.current=null):d.current&&(e.scrollTop=e.scrollHeight)},[h,t,F,i]);let I=h.find(e=>e.id===c?.id||e.sourceMessageIds?.includes(c?.id||``))?.id;(0,g.useLayoutEffect)(()=>{let e=u.current;if(!e||!c||!I)return;let t=Array.from(e.querySelectorAll(`.harness-turn[data-message-id]`)).find(e=>e.dataset.messageId===I);t&&(d.current=!1,m(!1),j.current=null,e.scrollTop+=t.getBoundingClientRect().top-e.getBoundingClientRect().top-24,t.focus({preventScroll:!0}))},[c,I]);let ee=async()=>{if(!t||!i||!a||A.current)return;let e=Symbol(t);A.current=e;let n=u.current;n&&(j.current={firstId:h[0]?.id,height:n.scrollHeight,top:n.scrollTop}),d.current=!1,m(!1),D(!0),k(!1);try{await a(t)}catch{T.current===t&&A.current===e&&k(!0)}finally{T.current===t&&A.current===e&&(A.current=null,D(!1))}};return(0,v.jsxs)(`div`,{ref:u,className:`harness-timeline${s?` ${s}`:``}`,children:[t&&a&&i&&(0,v.jsxs)(`div`,{className:`harness-history-loader`,children:[(0,v.jsx)(`button`,{className:`button tertiary small`,type:`button`,disabled:E,"aria-busy":E,onClick:()=>void ee(),children:E?`正在加载更早消息…`:`加载更早消息`}),O&&(0,v.jsx)(`span`,{role:`alert`,children:`加载失败,请重试`})]}),!h.length&&!l.isStreaming?l.emptyState:h.map((e,n)=>{let i=w9(e),a=Roe(e),s=e.role===`model`&&(i?!S.has(i):a.length>0);s&&i&&S.add(i);let c=!!x&&n===w;return(0,v.jsxs)(Loe,{id:e.id,root:u,heights:f.current,live:n>=h.length-4,pinned:Voe(e)||I===e.id||n===w&&!!x,follow:d,revealed:I===e.id,children:[s&&(0,v.jsx)(rQ,{runId:i,streaming:l.isStreaming&&!!(C&&w9(C)===i),fallback:a,onOpenSession:o}),c&&x&&(0,v.jsx)(C9,{text:x.text,streaming:x.streaming,reasoningTokens:r},x.runId),(0,v.jsx)(zoe,{...l,message:e,isStreaming:l.isStreaming&&n===h.length-1})]},`${t}:${e.id}`)}),P&&(0,v.jsx)(`div`,{className:`harness-turn harness-live-run`,"data-run-id":n,children:(0,v.jsx)(rQ,{runId:n,streaming:!0,fallback:[{id:`${n}:starting`,kind:`step`,label:`分析任务`,status:`running`,details:[{id:`${n}:starting:detail`,text:`正在理解任务并准备执行`}]}],onOpenSession:o})}),x&&w<0&&(0,v.jsx)(`div`,{className:`harness-turn`,children:(0,v.jsx)(C9,{text:x.text,streaming:x.streaming,reasoningTokens:r},x.runId)}),F&&(0,v.jsx)(`div`,{className:`harness-thinking`,role:`status`,children:(0,v.jsx)(`span`,{className:`text-shimmer`,children:`正在思考…`})}),(0,v.jsx)(ib,{}),!p&&(0,v.jsx)(`button`,{className:`harness-return-bottom button secondary small`,type:`button`,onClick:()=>{d.current=!0,m(!0),u.current&&(u.current.scrollTop=u.current.scrollHeight)},children:`回到最新消息`})]})}function T9(e){if(!(e instanceof Element))return null;let t=e.closest(`a`);if(!t||t.hasAttribute(`data-run-document-download`))return null;let n;try{n=new URL(t.href,window.location.href)}catch{return null}if(n.origin!==window.location.origin||!/^\/api\/v1\/runs\/[^/]+\/documents\/content$/.test(n.pathname))return null;let r=n.searchParams.get(`path`);return r?{href:`${n.pathname}?${new URLSearchParams({path:r})}`,base:n.pathname.replace(/\/content$/,``),path:r,anchor:t}:null}async function E9(e){if(e.ok)return e.json();let t=await e.json().catch(()=>null);throw Error(t?.error?.message||(e.status===404?`文件可能已移动或删除。`:`文件操作失败,请稍后重试。`))}function Uoe(){let[e,t]=(0,g.useState)(null),[n,r]=(0,g.useState)(null),[i,a]=(0,g.useState)(null),[o,s]=(0,g.useState)(``),c=(0,g.useRef)(null),l=(0,g.useRef)(null),u=(0,g.useRef)(null);(0,g.useEffect)(()=>{if(!i)return;let e=window.setTimeout(()=>a(null),i.error?12e3:5e3);return()=>window.clearTimeout(e)},[i]),(0,g.useEffect)(()=>{if(!e)return;let t=new AbortController;return r(null),s(``),q(`${e.link.base}/metadata?${new URLSearchParams({path:e.link.path})}`,{signal:t.signal}).then(E9).then(e=>{t.signal.aborted||r(e)}).catch(e=>{t.signal.aborted||s(e.message)}),()=>t.abort()},[e]);let d=e=>{e().catch(e=>a({text:e.message,error:!0}))},f=async(e,t=`open`,n)=>{let r=await E9(await q(`${e.base}/actions`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({path:e.path,action:t,...n?{applicationId:n}:{}})}));a({text:t===`reveal`?`已请求显示文件位置:${r.name}`:`已请求用${n?`所选应用`:`系统默认应用`}打开:${r.name}`,error:!1})},p=e=>{let t=T9(e.target);t&&(e.preventDefault(),e.stopPropagation(),d(()=>f(t)))},m=e=>{let n=T9(e.target);n&&(e.preventDefault(),e.stopPropagation(),u.current=n,t({link:n,x:e.clientX,y:e.clientY}))},h=async t=>{if(!e||!n)return;let r=t?(await E9(await q(`${e.link.href}&preview=true`))).content:n.path;if(typeof r!=`string`)throw Error(`当前连接不能提供本机文件路径。`);if(!navigator.clipboard)throw Error(`浏览器不支持剪贴板,请下载文件后复制。`);await navigator.clipboard.writeText(r),a({text:t?`已复制文件内容`:`已复制文件路径`,error:!1})},_=(e,t,n=!1)=>(0,v.jsx)(DT,{className:`run-file-menu-item`,disabled:n,onSelect:()=>d(t),children:e});return{onClickCapture:p,onContextMenuCapture:m,ui:(0,v.jsxs)(v.Fragment,{children:[i&&(0,v.jsxs)(`div`,{className:`run-file-notice${i.error?` error`:``}`,role:i.error?`alert`:`status`,children:[i.text,(0,v.jsx)(`button`,{type:`button`,"aria-label":`关闭文件提示`,onClick:()=>a(null),children:`×`})]}),(0,v.jsxs)(ST,{open:!!e,onOpenChange:e=>{e||t(null)},children:[(0,v.jsx)(CT,{asChild:!0,children:(0,v.jsx)(`button`,{ref:c,className:`run-file-menu-anchor`,tabIndex:-1,"aria-label":`文件操作菜单`,style:{left:e?.x||0,top:e?.y||0}})}),(0,v.jsx)(wT,{children:(0,v.jsxs)(TT,{ref:l,className:`run-file-menu`,align:`start`,sideOffset:0,collisionPadding:8,onCloseAutoFocus:e=>{e.preventDefault(),u.current?.anchor.focus()},children:[(0,v.jsxs)(ET,{className:`run-file-menu-title`,children:[(0,v.jsx)(bp,{size:14}),n?.name||`文件操作`]}),o?(0,v.jsx)(`div`,{className:`run-file-menu-note`,role:`alert`,children:o}):n?e&&(0,v.jsxs)(v.Fragment,{children:[_(`打开文件`,()=>f(e.link),!n.capabilities.open),n.applications.some(e=>e.id===`vscode`)&&_(`在 VS Code 中打开`,()=>f(e.link,`open`,`vscode`)),(0,v.jsxs)(kT,{children:[(0,v.jsxs)(AT,{className:`run-file-menu-item`,disabled:!n.capabilities.openWith||!n.applications.length,children:[`打开方式`,(0,v.jsx)(Yf,{size:14})]}),(0,v.jsx)(wT,{children:(0,v.jsx)(jT,{className:`run-file-menu`,sideOffset:4,collisionPadding:8,onFocusOutside:e=>{e.target===l.current&&e.preventDefault()},children:n.applications.map(t=>(0,v.jsx)(DT,{className:`run-file-menu-item`,onSelect:()=>d(()=>f(e.link,`open`,t.id)),children:t.name},t.id))})})]}),(0,v.jsx)(OT,{className:`run-file-menu-separator`}),(0,v.jsx)(DT,{asChild:!0,className:`run-file-menu-item`,children:(0,v.jsx)(`a`,{href:e.link.href,download:n.name,"data-run-document-download":!0,children:`下载副本…`})}),_(`复制路径`,()=>h(!1),!n.path),_(`复制文件内容`,()=>h(!0)),(0,v.jsxs)(DT,{className:`run-file-menu-item`,disabled:!n.capabilities.reveal,onSelect:()=>d(()=>f(e.link,`reveal`)),children:[(0,v.jsx)(Cp,{size:14}),n.revealLabel||`显示所在文件夹`]}),!n.capabilities.open&&(0,v.jsx)(`div`,{className:`run-file-menu-note`,children:`当前连接不支持打开本机应用,可下载后打开。`})]}):(0,v.jsx)(`div`,{className:`run-file-menu-note`,role:`status`,children:`正在读取文件信息…`})]})})]})]})}}function D9(e){let t=Number(e);return Number.isFinite(t)&&t>=0?t:null}function Woe(e){return e?.usage?.reported?D9(e.usage.reasoningOutputTokens):null}function Goe(e){let t=0,n=!1;for(let r of e){let e=r;if(String(e.type||``)!==`usage.reported`)continue;let i=D9(e.reasoningTokens??e.reasoning_tokens);i!==null&&(t+=i,n=!0)}return n?t:null}async function O9(e){let t=await q(`/api/v1/runs/${encodeURIComponent(e)}/events`);if(!t.ok)return null;let n=[],r=jZ(e=>n.push(e));return r.push(await t.text()),r.finish(),Goe(n)}function Koe(e){return new Promise(t=>setTimeout(t,e))}function qoe(e){let{sessionId:t,streaming:n,enabled:r=!0}=e,[i,a]=(0,g.useState)(null),o=(0,g.useRef)(!1);return(0,g.useEffect)(()=>{if(!r||!t)return;let e=o.current&&!n;if(o.current=n,n||!e){n&&a({sessionId:t,tokens:null});return}let i=new AbortController,s=!0;return(async()=>{try{let e=await q(`/api/v1/runs?sessionId=${encodeURIComponent(t)}`,{signal:i.signal});if(!e.ok)throw Error(`run list unavailable`);let n=await e.json(),r=Array.isArray(n?.items)?n.items:[],o=r[r.length-1],c=o?.id?await O9(o.id):null;c===null&&o?.id&&(await Koe(800),c=await O9(o.id)),s&&a({sessionId:t,tokens:c??Woe(o)})}catch{s&&a(e=>e?.sessionId===t?e:{sessionId:t,tokens:null})}})(),()=>{s=!1,i.abort()}},[r,t,n]),i&&i.sessionId===t?i.tokens:null}function Joe(e){let{api:t,controller:n,outbox:r,agentId:i,conversationId:a,enabled:o,streaming:s}=e,c=(0,g.useRef)(e.isRequestActive);c.current=e.isRequestActive;let l=(0,g.useRef)(null),u=(0,g.useRef)(new Map);(0,g.useEffect)(()=>{let e=new AbortController;return l.current=e,()=>{e.abort(),l.current===e&&(l.current=null)}},[t,n,r,i,a,o]);let d=(0,g.useCallback)(async(e,s=l.current?.signal)=>{let d=r?.get(e);if(!o||!s||s.aborted||!d||!r)return;let f=u.current.get(e);if(f?.entry===d&&!f.signal.aborted)return f.promise;let p=woe({api:t,outbox:r,entry:d,agentId:i,conversationId:a,binding:n.binding(a),signal:s,isRequestActive:e=>c.current(e)}),m={entry:d,signal:s,promise:p};u.current.set(e,m);try{await p}finally{u.current.get(e)===m&&u.current.delete(e)}},[t,n,r,i,a,o]),f=r?.list(a).filter(e=>e.agentId===i&&[`unknown`,`sending`].includes(e.status)&&!c.current(e.requestId))||[],p=JSON.stringify(f.map(e=>[e.requestId,e.invocationId,e.nativeSessionId]));return(0,g.useEffect)(()=>{if(!o)return;let e=new AbortController,t=JSON.parse(p);return Promise.all(t.map(([t])=>d(t,e.signal))),()=>e.abort()},[o,p,s,d]),d}var k9=[`今天想一起完成什么?`,`把想法交给我,我们开始吧。`,`准备好了,告诉我你的目标。`,`从一个问题开始,就能走得更远。`,`需要我帮你整理哪件事?`,`让我们把下一步变得清晰。`];function A9(e=Math.random){return k9[Math.min(k9.length-1,Math.max(0,Math.floor(e()*k9.length)))]}var j9={matches:[],matchedMessages:0,searchedMessages:0,complete:!1};function Yoe({search:e,onReveal:t,onClose:n}){let[r,i]=(0,g.useState)(``),[a,o]=(0,g.useState)(0),[s,c]=(0,g.useState)(j9),[l,u]=(0,g.useState)(!1),[d,f]=(0,g.useState)(``),[p,m]=(0,g.useState)(!1),h=(0,g.useRef)(null),_=(0,g.useRef)(null);return(0,g.useEffect)(()=>{_.current?.focus()},[]),(0,g.useEffect)(()=>{let t=new AbortController;if(h.current=t,c(j9),f(``),m(!1),u(!!r.trim()),!r.trim())return()=>t.abort();let n=window.setTimeout(()=>{e(r,t.signal,e=>{t.signal.aborted||c(e)}).then(e=>{t.signal.aborted||c(e)}).catch(e=>{t.signal.aborted||f(e instanceof Error?e.message:`查找失败,请重试。`)}).finally(()=>{t.signal.aborted||u(!1)})},250);return()=>{window.clearTimeout(n),t.abort()}},[r,a,e]),(0,v.jsxs)(`section`,{className:`conversation-find`,"aria-label":`查找当前会话`,onKeyDown:e=>{e.key===`Escape`&&(e.preventDefault(),n())},children:[(0,v.jsxs)(`div`,{className:`conversation-find-controls`,children:[(0,v.jsx)(nm,{size:16,"aria-hidden":`true`}),(0,v.jsx)(`input`,{ref:_,type:`search`,"aria-label":`查找当前会话正文`,placeholder:`查找当前会话正文…`,value:r,onChange:e=>i(e.target.value)}),l&&(0,v.jsx)(`button`,{className:`button tertiary`,type:`button`,onClick:()=>{h.current?.abort(),u(!1),m(!0)},children:`停止查找`}),(0,v.jsx)(`button`,{className:`icon-button tertiary`,type:`button`,"aria-label":`关闭会话查找`,onClick:n,children:(0,v.jsx)(Sm,{size:16})})]}),r.trim()&&(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(`p`,{role:`status`,className:`conversation-find-status`,children:l?`正在查找更早历史,已检查 ${s.searchedMessages} 条消息…`:s.complete?`已查找全部历史,${s.matchedMessages} 条消息匹配`:`已查找 ${s.searchedMessages} 条消息,${s.matchedMessages} 条匹配${p?`;查找已停止`:``}`}),d&&(0,v.jsx)(`p`,{role:`alert`,children:d}),(d||p)&&(0,v.jsx)(`button`,{className:`button secondary`,type:`button`,onClick:()=>o(e=>e+1),children:`重新查找`}),(0,v.jsx)(`ol`,{className:`conversation-find-results`,"aria-label":`正文查找结果`,children:s.matches.map(e=>(0,v.jsx)(`li`,{children:(0,v.jsxs)(`button`,{type:`button`,"data-search-message-id":e.messageId,onClick:()=>{l&&(h.current?.abort(),u(!1),m(!0)),t(e.messageId)},children:[(0,v.jsx)(`span`,{children:e.role===`user`?`你`:e.role===`model`?`Agent`:`消息`}),(0,v.jsx)(`span`,{children:e.excerpt})]})},e.messageId))}),s.matchedMessages>s.matches.length&&(0,v.jsxs)(`p`,{children:[`展示前 `,s.matches.length,` 条匹配消息,请缩小关键词范围。`]})]}),!r.trim()&&(0,v.jsx)(`p`,{className:`conversation-find-status`,children:`搜索正文、工具结果和附件名称,也会读取尚未显示的历史消息。`})]})}function Xoe(e){let t=Date.parse(e);if(!Number.isFinite(t))return``;let n=Date.now()-t;return n<6e4?`刚刚`:n<36e5?`${Math.floor(n/6e4)} 分钟前`:n<864e5?`${Math.floor(n/36e5)} 小时前`:new Date(t).toLocaleDateString()}function M9(e,t=34){return e.length>t?`${e.slice(0,t)}…`:e}function Zoe(e){return[`RUNNING`,`WAITING_INPUT`,`PAUSED`].includes(String(e||``).toUpperCase())}function N9(e){let t=String(e.Title||``).trim();return!t||t===e.SessionId?`新会话`:t}function P9({agentId:e,agentName:t,cloudTarget:n=!1,workspacePath:r=``,workspaceId:i=``,credentialScope:a=``,targetId:o=``,agentAppearance:s,active:c=!0,refreshTick:l=0,requestedSessionId:u=``,onSessionChanged:d,newChatRequest:f=0,onNewChatStarted:p,ref:m,integratedHistory:h=!1,onStreamingChange:_,historyHost:y,headerHost:b,onSelectConversation:S}){let C=(0,g.useMemo)(()=>new Eoe({fetch:q,agentId:e}),[e]),w=(0,g.useMemo)(()=>new iy(`ksadk.studio:${encodeURIComponent(i||r)}:${encodeURIComponent(a)}:${encodeURIComponent(e)}:${encodeURIComponent(o)}`),[e,a,o,i,r]),T=boe({api:C,agentId:e,targetId:o,conversationClient:null,conversationController:w,restoreSession:!0}),E=(0,g.useSyncExternalStore)(C.subscribeControls,()=>C.controlRun(T.currentSessionId)),D=E?.childControls?.input===!0,O=E?.childControls?.cancellation===!0,k=E?.childControls?.promotion===!0,A=Uoe(),j=T.uiCapabilities.ConversationPresentation?.Timeline===`compact`,M=j?Hoe:kte,N=(0,g.useRef)(0),P=(0,g.useRef)(!1),F=(0,g.useRef)(!1),I=(0,g.useRef)(null),ee=(0,g.useRef)(null),L=(0,g.useRef)(``),te=(0,g.useRef)(``),R=(0,g.useCallback)(t=>T.conversationId||w.getOrCreate(e,t,o),[e,T.conversationId,w,o])(T.currentSessionId),[z,ne]=(0,g.useState)(()=>T.conversationDrafts?.getConflict(R));(0,g.useEffect)(()=>{let e=T.conversationDrafts;if(!e){ne(void 0);return}let t=()=>ne(e.getConflict(R));return t(),e.subscribe(t)},[T.conversationDrafts,R]);let re=(0,g.useCallback)(e=>{let t=T.conversationDrafts;t&&(t.resolveConflict(R,e),ne(t.getConflict(R)))},[T.conversationDrafts,R]);(0,g.useEffect)(()=>{ee.current=T.currentSessionId},[T.currentSessionId]),(0,g.useEffect)(()=>{w.navigate(),P.current=!1,L.current=``},[e]),(0,g.useEffect)(()=>{T.messages?.length&&(I.current=null)},[T.messages]);let ie=(0,g.useCallback)(async()=>{if(!F.current&&!(ee.current&&ee.current===I.current)){P.current=!0,F.current=!0;try{H(A9()),T.startNewConversation?(T.startNewConversation(),I.current=null):(await T.createNewSession(),I.current=ee.current)}finally{F.current=!1}}},[T.startNewConversation,T.createNewSession]);(0,g.useEffect)(()=>{if(!f){N.current=0;return}!c||T.agentId!==e||N.current===f||(N.current=f,ie().finally(()=>p?.()))},[c,e,f,p,T.agentId,ie]),te.current=c&&u?`${e}:${u}`:``,(0,g.useEffect)(()=>{if(!u){L.current=``;return}let t=`${e}:${u}`;if(!c||T.bootstrapStatus!==`ready`||T.agentId!==e||T.isLoadingSessions||L.current===t)return;L.current=t;let n=w.navigate();(async()=>{await T.refresh(),te.current===t&&w.navigationEpoch===n&&T.selectSession(u)})()},[c,e,u,T.bootstrapStatus,T.agentId,T.isLoadingSessions,T.selectSession,T.refresh]);let[ae,B]=(0,g.useState)(``),[V,H]=(0,g.useState)(()=>A9()),[oe,se]=(0,g.useState)(0);(0,g.useEffect)(()=>T.conversationOutbox?.subscribe(()=>se(e=>e+1)),[T.conversationOutbox]);let ce=T.uiCapabilities.StudioRunReceiptQuery===!0,le=Joe({api:C,controller:w,outbox:T.conversationOutbox,agentId:e,conversationId:R,streaming:T.isStreaming,revision:oe,enabled:c&&T.bootstrapStatus===`ready`&&T.agentId===e&&ce,isRequestActive:T.isOutboxRequestActive}),ue=(0,g.useMemo)(()=>{let t=T.conversationId||w.getOrCreate(e,T.currentSessionId);return T.conversationOutbox?.listUnresolved(t).filter(e=>e.status===`pending`||e.status===`unknown`||e.status===`failed`).filter(e=>!T.isOutboxRequestActive(e.requestId)).map(e=>({entry:e,canRetry:e.attachments.length===0||T.conversationOutbox?.getRuntimeAttachments(e.requestId).length===e.attachments.length}))||[]},[e,T.conversationId,T.currentSessionId,T.conversationOutbox,T.isOutboxRequestActive,w,oe]),[de,U]=(0,g.useState)(null),[fe,pe]=(0,g.useState)(!1),me=(0,g.useRef)(null),he=(0,g.useRef)(null),[ge,_e]=(0,g.useState)(!1),[ve,ye]=(0,g.useState)(null),be=(0,g.useRef)(null),xe=`${e}:${T.conversationId||T.currentSessionId||`draft`}`;(0,g.useEffect)(()=>{_e(!1),ye(null)},[xe,c]);let Se=(0,g.useCallback)(()=>{be.current=document.activeElement instanceof HTMLElement?document.activeElement:null,_e(!0)},[]),Ce=()=>{_e(!1),be.current?.focus()},[we,Te]=(0,g.useState)(``),[Ee,De]=(0,g.useState)(!1),Oe=(0,g.useRef)(!1);(0,g.useEffect)(()=>{Oe.current=T.isStreaming},[T.isStreaming]);let ke=(0,g.useRef)(l),Ae=T.refresh,je=(0,g.useRef)({agentId:e,sessionId:T.currentSessionId,streaming:!1}),Me=()=>{C.authorizeUserCancellation(e,T.currentSessionId,T.activity?.runId),T.stop()},Ne=()=>{C.authorizeUserCancellation(e,T.currentSessionId,T.activity?.runId),T.cancelRemote().finally(()=>Ae())},[Pe,Fe]=(0,g.useState)(!1);(0,g.useEffect)(()=>{T.isStreaming&&Fe(!1)},[T.isStreaming]),(0,g.useEffect)(()=>{if(!Pe)return;let e=window.setTimeout(()=>Fe(!1),6e4);return()=>window.clearTimeout(e)},[Pe]),(0,g.useEffect)(()=>{if(!(!c||T.agentId!==e||!P.current))return d?.(T.currentSessionId||``,e),()=>d?.(``,e,`cleanup`)},[c,e,T.agentId,T.currentSessionId,R,d]),(0,g.useEffect)(()=>(_?.(T.isStreaming),()=>_?.(!1)),[T.isStreaming,_]),(0,g.useEffect)(()=>{if(!T.uiCapabilities.RuntimePrewarm||T.bootstrapStatus!==`ready`||!T.currentSessionId)return;let t=new AbortController;return q(`/api/v1/agents/${encodeURIComponent(e)}/runtime:prewarm`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({sessionId:T.currentSessionId}),signal:t.signal}).catch(()=>{}),()=>t.abort()},[e,T.uiCapabilities.RuntimePrewarm,T.bootstrapStatus,T.currentSessionId]),(0,g.useEffect)(()=>{T.bootstrapStatus!==`ready`||T.agentId!==e||P.current||(P.current=!0,!u&&(T.startNewConversation?T.startNewConversation():T.selectSession(null)))},[e,T.agentId,T.bootstrapStatus,u,T.startNewConversation,T.selectSession]),(0,g.useImperativeHandle)(m,()=>({startNewChat(){ie()}}),[ie]);function Ie(){pe(!1),me.current?.focus()}(0,g.useEffect)(()=>{fe&&he.current?.focus()},[fe]),(0,g.useEffect)(()=>{let e=e=>{!c||T.bootstrapStatus!==`ready`||e.defaultPrevented||e.isComposing||e.altKey||!(e.metaKey||e.ctrlKey)||e.key.toLowerCase()!==`f`||(e.preventDefault(),Se())};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[c,T.bootstrapStatus,Se]),(0,g.useEffect)(()=>{let t=je.current,n=t.agentId===e&&t.sessionId===T.currentSessionId&&t.streaming&&!T.isStreaming;je.current={agentId:e,sessionId:T.currentSessionId,streaming:T.isStreaming},n&&Ae()},[e,T.currentSessionId,T.isStreaming,Ae]);let Le=T.sessions.find(e=>e.SessionId===T.currentSessionId),Re=Le&&Le.Title!==Le.SessionId&&Le.Title||`新对话`,ze=qoe({sessionId:T.currentSessionId,streaming:T.isStreaming||Pe,enabled:T.agentFramework===`harness`}),Be=(0,g.useRef)(null),Ve=(0,g.useMemo)(()=>{if(!T.isStreaming)return Be.current=null,T.sessions;Be.current||=T.sessions.map(e=>e.SessionId);let e=Be.current,t=new Map(T.sessions.map(e=>[e.SessionId,e])),n=e.map(e=>t.get(e)).filter(Boolean),r=T.sessions.filter(t=>!e.includes(t.SessionId));return[...n,...r]},[T.sessions,T.isStreaming]),He=(0,g.useMemo)(()=>{let e=ae.trim().toLowerCase();return e?Ve.filter(t=>N9(t).toLowerCase().includes(e)):Ve},[Ve,ae]);(0,g.useEffect)(()=>{ke.current!==l&&(ke.current=l,Ae())},[Ae,l]);let Ue=(0,v.jsxs)(`div`,{className:`chat-conversation-header`,children:[!h&&(0,v.jsx)(`button`,{ref:me,className:`icon-button tertiary chat-session-mobile-trigger`,type:`button`,"aria-label":`打开会话历史`,title:`会话历史`,"aria-expanded":fe,onClick:()=>pe(!0),children:(0,v.jsx)(Kp,{size:17})}),!h&&(0,v.jsx)(vb,{name:t,appearance:s,size:`sm`}),(0,v.jsx)(`h1`,{children:Re}),(0,v.jsx)(`button`,{className:`icon-button tertiary`,type:`button`,"aria-label":`查找当前会话`,title:`查找当前会话(⌘/Ctrl+F)`,onClick:Se,disabled:T.bootstrapStatus!==`ready`,children:(0,v.jsx)(nm,{size:16})})]}),We=(0,v.jsxs)(`aside`,{className:`chat-session-sidebar${h?` integrated-history`:``}`,"aria-label":`会话历史`,onKeyDown:e=>{fe&&e.key===`Escape`&&(e.preventDefault(),Ie())},children:[(0,v.jsxs)(`header`,{className:`chat-session-header`,children:[(0,v.jsx)(`h2`,{children:h?`最近对话`:`会话`}),!h&&(0,v.jsxs)(`div`,{className:`chat-session-header-actions`,children:[(0,v.jsx)(`button`,{className:`icon-button tertiary`,type:`button`,"aria-label":`新对话`,title:`新对话`,onClick:()=>{ie(),fe&&Ie()},children:(0,v.jsx)(Lp,{size:16})}),(0,v.jsx)(`button`,{className:`icon-button tertiary chat-session-mobile-close`,type:`button`,"aria-label":`关闭会话历史`,title:`关闭会话历史`,onClick:Ie,children:(0,v.jsx)(Sm,{size:17})})]})]}),(0,v.jsxs)(`label`,{className:`chat-session-search`,children:[(0,v.jsx)(`span`,{className:`sr-only`,children:`搜索会话`}),(0,v.jsx)(`input`,{ref:he,type:`search`,value:ae,onChange:e=>B(e.target.value),placeholder:`搜索会话`})]}),(0,v.jsx)(`div`,{className:`chat-session-list`,onScroll:e=>{let t=e.currentTarget;t.scrollHeight-t.scrollTop-t.clientHeight<200&&T.loadMoreSessions()},children:T.isLoadingSessions&&T.sessions.length===0?(0,v.jsxs)(`div`,{className:`chat-session-skeleton`,"aria-label":`正在加载会话`,role:`status`,children:[(0,v.jsx)(`i`,{}),(0,v.jsx)(`i`,{}),(0,v.jsx)(`i`,{})]}):He.length===0?(0,v.jsx)(`div`,{className:`session-empty`,children:ae?`没有匹配的会话`:`还没有会话`}):He.map(e=>{let t=Zoe(e.ActiveRunStatus),n=N9(e);return(0,v.jsxs)(`div`,{className:`chat-session-item${T.currentSessionId===e.SessionId?` active`:``}${t?` running`:``}`,children:[(0,v.jsxs)(`button`,{className:`chat-session-main`,type:`button`,"aria-current":T.currentSessionId===e.SessionId?`true`:void 0,onClick:()=>{T.selectSession(e.SessionId),S?.(e.SessionId),fe&&Ie()},title:`${n} · ${Xoe(String(e.UpdatedAt||``))}`,children:[(0,v.jsx)(`strong`,{children:M9(n)}),t?(0,v.jsx)(`span`,{className:`session-status running`,"aria-label":`运行中`}):null]}),(0,v.jsx)(`button`,{className:`chat-session-delete`,type:`button`,"aria-label":`删除会话:${M9(n)}`,title:t?`运行中不可删除`:`删除会话`,disabled:t,onClick:()=>Te(e.SessionId),children:(0,v.jsx)(gm,{size:14})})]},e.SessionId)})})]});return(0,v.jsxs)(`div`,{className:`ksadk-web studio-chat-shell${fe?` sessions-open`:``}`,"data-testid":`studio-chat-workbench`,"data-agent-id":e,"data-integrated-history":h,"data-integrated-header":!!b,onClickCapture:A.onClickCapture,onContextMenuCapture:A.onContextMenuCapture,children:[h?y?(0,x.createPortal)(We,y):null:We,(0,v.jsx)(`button`,{className:`chat-session-backdrop`,type:`button`,"aria-label":`关闭会话历史`,onClick:Ie}),(0,v.jsxs)(`section`,{className:`chat-conversation`,"aria-label":`与 ${t} 对话`,children:[b?c?(0,x.createPortal)(Ue,b):null:Ue,ge&&c&&(0,v.jsx)(Yoe,{search:T.searchConversation,onClose:Ce,onReveal:e=>ye(t=>({id:e,request:(t?.request||0)+1}))},xe),T.bootstrapStatus===`loading`&&!T.messages?.length?(0,v.jsx)(`div`,{className:`chat-bootstrap-loading`,role:`status`,"aria-label":`正在连接 Agent`,children:(0,v.jsx)(`i`,{})}):T.bootstrapStatus!==`ready`&&!T.messages?.length?(0,v.jsxs)(`div`,{className:`chat-empty`,role:`alert`,children:[(0,v.jsx)(`span`,{className:`chat-empty-icon`,children:(0,v.jsx)(Rf,{size:22})}),(0,v.jsx)(`h2`,{children:`会话暂不可用`}),(0,v.jsx)(`p`,{children:T.bootstrapErrorMessage||`Agent 会话能力未开启。`})]}):null,(T.bootstrapStatus===`ready`||!!T.messages?.length)&&(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(M,{className:`studio-chat-timeline`,agentName:t,messages:T.messages,isStreaming:T.isStreaming||Pe,activity:T.activity,...T.agentFramework===`harness`?{activeRunId:T.activity?.runId,reasoningTokens:ze}:{},sessionId:T.currentSessionId,hasMoreMessages:!!T.messageHistory?.hasMore,revealMessage:ve,emptyState:(0,v.jsxs)(`div`,{className:`studio-conversation-welcome`,children:[(0,v.jsx)(`p`,{children:t}),(0,v.jsx)(`h2`,{children:(0,v.jsx)(`span`,{children:V})})]}),isMobile:T.isMobile,onDeleteFeedback:T.deleteResponseFeedback,onSubmitFeedback:T.submitResponseFeedback,onRespondToApproval:T.respondToApproval,onSubmitAguiAction:T.submitAguiAction,onStopGeneration:Me,onCancelRemote:T.uiCapabilities.StopRun?Ne:void 0,onLoadOlderSessionMessages:T.loadOlderMessages,interactionRecords:T.interactionRecords}),!j&&(T.isStreaming||Pe)&&!(T.messages?.length&&T.messages[T.messages.length-1].role===`model`)?(0,v.jsx)(`div`,{className:`harness-thinking`,role:`status`,children:(0,v.jsx)(`span`,{className:`text-shimmer`,children:`正在思考…`})}):null]}),(0,v.jsxs)(`div`,{className:`studio-composer-area`,children:[z?(0,v.jsxs)(`div`,{className:`studio-draft-conflict`,role:`alert`,"aria-live":`assertive`,children:[(0,v.jsx)(`strong`,{children:`检测到其他窗口修改了草稿`}),(0,v.jsx)(`span`,{children:`请选择要保留的版本,避免覆盖另一窗口的输入。`}),(0,v.jsxs)(`div`,{className:`studio-draft-conflict-actions`,children:[(0,v.jsx)(`button`,{type:`button`,onClick:()=>re(`local`),children:`保留本窗口`}),(0,v.jsx)(`button`,{type:`button`,onClick:()=>re(`remote`),children:`使用其他窗口`})]})]}):null,ue.length>0?(0,v.jsxs)(`div`,{className:`studio-outbox-notice`,role:`status`,"aria-live":`polite`,children:[(0,v.jsx)(`strong`,{children:ue.length===1?`有一条消息需要处理`:`有 ${ue.length} 条消息需要处理`}),(0,v.jsx)(`span`,{children:`状态未知的消息会先查询原任务;确认失败后,可检查已有结果并决定是否重试。`}),(0,v.jsx)(`div`,{className:`studio-outbox-items`,children:ue.map(({entry:e,canRetry:t})=>(0,v.jsxs)(`div`,{className:`studio-outbox-item`,children:[(0,v.jsxs)(`div`,{className:`studio-outbox-item-copy`,children:[(0,v.jsxs)(`span`,{title:e.text,children:[e.status===`pending`?`待发送 · `:e.status===`failed`?`发送失败 · `:`状态未知 · `,M9(e.text,44),!t&&e.status!==`unknown`?` · 含附件,请重新添加后发送`:``]}),e.error&&(0,v.jsx)(`small`,{children:e.error})]}),(0,v.jsx)(`button`,{type:`button`,disabled:e.status!==`unknown`&&!t||de===e.requestId,onClick:()=>{U(e.requestId),(e.status===`unknown`&&ce?le(e.requestId):T.retryOutbox(e.requestId)).catch(()=>{T.conversationOutbox?.update(e.requestId,{error:`操作未完成,请查看会话状态后再试。`})}).finally(()=>U(null))},children:de===e.requestId?e.status===`unknown`?`查询中…`:`发送中…`:e.status===`unknown`?`查询投递状态`:t?e.status===`pending`?`发送消息`:`确认并重试`:`无法恢复附件`})]},e.requestId))})]}):null,(0,v.jsx)(by,{headerSlot:c&&T.isStreaming&&E?(0,v.jsxs)(v.Fragment,{children:[T.uiCapabilities.SteerRun?(0,v.jsx)(Doe,{runId:E.invocationId,submit:(t,n)=>C.steerRun(e,t,n)},`${e}:${E.invocationId}`):null,D||k||O?(0,v.jsx)(Aoe,{run:E,api:C,allowInput:D,allowPromotion:k,allowCancellation:O},`${e}:${E.sessionId}:${E.runId}`):null]}):void 0,draftKey:R,draftStore:T.conversationDrafts,onCompactContext:T.uiCapabilities.ContextCompaction?T.compactContext:void 0,composerMaxHeight:176,submitDraft:async(e,t,n,r,i)=>{P.current=!0,Fe(!0),T.send(e,{attachments:t,executionMode:i})},stopGeneration:Me,cancelRemote:T.uiCapabilities.StopRun?Ne:void 0,isMobile:T.isMobile,attachmentsEnabled:T.uiCapabilities.Attachments!==!1,approvalEnabled:!!T.uiCapabilities.Approval,approvalPolicy:T.uiCapabilities.ApprovalPolicy,thinkingEnabled:!!T.uiCapabilities.Thinking,runtimeCapabilityMatrix:T.uiCapabilities.RuntimeCapabilityMatrix,pendingInteractions:T.pendingInteractions,onRespondInteraction:e=>{T.respondInteraction(e)},localCatalog:T.localCatalog})]})]}),we?(0,v.jsx)(Db,{title:`删除这个会话?`,description:`删除后该会话的历史消息将无法恢复。`,confirmText:Ee?`处理中…`:`删除`,busy:Ee,onConfirm:()=>{let e=we;Te(``),De(!0),(async()=>{if(Oe.current&&ee.current===e){T.cancelRemote().catch(()=>{}),T.stop();for(let e=0;e<40&&Oe.current;e+=1)await new Promise(e=>setTimeout(e,250))}for(let t=0;t<10;t+=1)try{await T.deleteSession(e);break}catch{if(t===9)break;await new Promise(e=>setTimeout(e,800))}De(!1)})()},onCancel:()=>Te(``)}):null,c?null:(0,v.jsx)(`span`,{hidden:!0,"data-testid":`studio-chat-inactive`}),A.ui]})}function F9(e){return e<=1023?`compact`:e<=1439?`laptop`:e<=1919?`desktop`:`wide`}function Qoe(){let[e,t]=(0,g.useState)(()=>F9(window.innerWidth));return(0,g.useEffect)(()=>{let e=()=>t(F9(window.innerWidth));return window.addEventListener(`resize`,e),()=>window.removeEventListener(`resize`,e)},[]),e}var I9=`agentkit-studio-theme`,$oe=`(prefers-color-scheme: dark)`;function ese(e){return e===`light`||e===`dark`||e===`system`?e:`light`}function L9(e,t){return e===`system`?t?`dark`:`light`:e}function R9(){try{return ese(window.localStorage.getItem(I9))}catch{return`light`}}function z9(){return typeof window<`u`&&window.matchMedia(`(prefers-color-scheme: dark)`).matches}function B9(e){let t=document.documentElement;t.classList.toggle(`dark`,e===`dark`),t.dataset.theme=e,t.style.colorScheme=e}function tse(){let e=R9();return B9(L9(e,z9())),e}function nse(){let[e,t]=(0,g.useState)(R9),[n,r]=(0,g.useState)(z9),i=L9(e,n);return(0,g.useEffect)(()=>{let e=window.matchMedia($oe),t=()=>r(e.matches);return t(),e.addEventListener(`change`,t),()=>e.removeEventListener(`change`,t)},[]),(0,g.useLayoutEffect)(()=>{B9(i)},[i]),{preference:e,resolvedTheme:i,setPreference:(0,g.useCallback)(e=>{t(e);try{window.localStorage.setItem(I9,e)}catch{}},[])}}var V9=`agentkit.studio.rail-expanded`,H9=[{id:`resources`,label:`资源库`,icon:`folder`,items:[{id:`resources`,label:`模型与工具`,icon:Bf},{id:`runtime-resources`,label:`运行资源`,icon:im},{id:`plugins`,label:`插件`,icon:Qp}]},{id:`runs`,label:`运行中心`,icon:`panel`,items:[{id:`builds`,label:`构建`,icon:Wp},{id:`deployments`,label:`部署`,icon:sp},{id:`automations`,label:`自动化`,icon:op},{id:`observability`,label:`可观测`,icon:Gf},{id:`evaluations`,label:`评测`,icon:ap}]}];function rse(){try{let e=window.localStorage.getItem(V9);return e===null?null:e===`true`}catch{return null}}function U9(e){try{window.localStorage.setItem(V9,String(e))}catch{}}function W9({label:e,children:t}){return(0,v.jsxs)(_B,{children:[(0,v.jsx)(vB,{asChild:!0,children:t}),(0,v.jsx)(yB,{children:(0,v.jsxs)(bB,{className:`studio-tooltip`,side:`right`,sideOffset:8,children:[e,(0,v.jsx)(xB,{className:`studio-tooltip-arrow`})]})})]})}function ise({view:e,workspacePages:t=[],resourceKind:n,expanded:r,workspaceName:i,workspacePath:a,runtimeReady:o,mobile:s=!1,mobileOpen:c=!1,onMobileOpenChange:l,onExpand:u,onStartChat:d,onHistoryHostChange:f,onNavigate:p,onOpenSettings:m,onWorkspaceSwitch:h,workspaceRunCount:_=0}){let y=H9.find(t=>t.items.some(t=>t.id===e))?.id||``,[b,x]=(0,g.useState)(y);(0,g.useEffect)(()=>{x(y)},[y]);let S=r||s,C=t,w=(0,v.jsxs)(`aside`,{className:`studio-navigation`,"data-state":S?`expanded`:`compact`,"aria-label":`工作区导航`,children:[(0,v.jsxs)(`div`,{className:`studio-nav-brand`,children:[(0,v.jsx)(`span`,{className:`studio-nav-mark`,"aria-hidden":`true`,children:`K`}),S&&(0,v.jsxs)(`strong`,{children:[`AgentKit `,(0,v.jsx)(`span`,{children:`Studio`})]}),s&&(0,v.jsx)(`button`,{type:`button`,className:`icon-button tertiary`,"aria-label":`关闭导航`,onClick:()=>l?.(!1),children:(0,v.jsx)(_b,{name:`close`,size:18})})]}),(0,v.jsx)(W9,{label:`${a}(切换工作区)`,children:(0,v.jsxs)(`button`,{type:`button`,className:`studio-nav-workspace workspace-switcher`,"aria-label":`${i} 工作区`,onClick:h,children:[(0,v.jsx)(_b,{name:`folder`,size:15}),S&&(0,v.jsx)(`span`,{children:i}),S&&_>0&&(0,v.jsx)(`small`,{"aria-label":`${_} 个后台任务`,children:_}),(0,v.jsx)(`i`,{"data-ready":o,"aria-label":o?`工作区已连接`:`工作区未连接`})]})}),(0,v.jsxs)(`div`,{className:`studio-nav-scroll`,children:[(0,v.jsxs)(`nav`,{className:`studio-nav-primary`,"aria-label":`产品导航`,children:[(0,v.jsx)(W9,{label:`新对话`,children:(0,v.jsxs)(`button`,{type:`button`,className:`studio-nav-link${e===`conversations`?` active`:``}`,"aria-label":`新对话`,"aria-current":e===`conversations`?`page`:void 0,onClick:()=>{d?d():p(`conversations`)},children:[(0,v.jsx)(_b,{name:`message`,size:18}),S&&(0,v.jsx)(`span`,{children:`新对话`})]})}),(0,v.jsx)(W9,{label:`Agent`,children:(0,v.jsxs)(`button`,{type:`button`,className:`studio-nav-link${[`agents`,`create`,`agent-detail`].includes(e)?` active`:``}`,"aria-label":`Agent`,"aria-current":[`agents`,`create`,`agent-detail`].includes(e)?`page`:void 0,onClick:()=>p(`agents`),children:[(0,v.jsx)(_b,{name:`cpu`,size:18}),S&&(0,v.jsx)(`span`,{children:`Agent`})]})}),C.map(t=>(0,v.jsx)(W9,{label:t.label,children:(0,v.jsxs)(`button`,{type:`button`,className:`studio-nav-link${e===`plugin:${t.id}`?` active`:``}`,"aria-label":t.label,"aria-current":e===`plugin:${t.id}`?`page`:void 0,onClick:()=>p(`plugin:${t.id}`),children:[(0,v.jsx)(_b,{name:t.id===`teams`?`users`:`all`,size:18}),S&&(0,v.jsx)(`span`,{children:t.label})]})},t.id)),H9.map(t=>{let r=S&&b===t.id;return(0,v.jsxs)(`div`,{className:`studio-nav-group`,children:[(0,v.jsx)(W9,{label:t.label,children:(0,v.jsxs)(`button`,{type:`button`,className:`studio-nav-link${y===t.id?` active`:``}`,"aria-label":t.label,"aria-expanded":r,"aria-controls":`studio-nav-${t.id}`,onClick:()=>{S||u?.(),x(r?``:t.id)},children:[(0,v.jsx)(_b,{name:t.icon,size:18}),S&&(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(`span`,{children:t.label}),(0,v.jsx)(_b,{name:`down`,size:14,className:`studio-nav-chevron`,"data-open":r})]})]})}),(0,v.jsx)(`div`,{id:`studio-nav-${t.id}`,className:`studio-nav-children`,hidden:!r,children:t.items.map(t=>(0,v.jsx)(`button`,{type:`button`,className:`studio-nav-link${e===t.id?` active`:``}`,"aria-current":e===t.id?`page`:void 0,onClick:()=>p(t.id,t.id===`resources`?n:void 0),children:(0,v.jsx)(`span`,{children:t.label})},t.id))})]},t.id)})]}),(0,v.jsx)(`div`,{className:`studio-nav-history`,ref:f,hidden:!S})]}),(0,v.jsx)(`div`,{className:`studio-nav-footer`,children:(0,v.jsx)(W9,{label:`设置`,children:(0,v.jsxs)(`button`,{type:`button`,className:`studio-nav-link`,"aria-label":`设置`,onClick:m,children:[(0,v.jsx)(_b,{name:`settings`,size:18}),S&&(0,v.jsx)(`span`,{children:`设置`})]})})})]});return(0,v.jsx)(gB,{delayDuration:320,skipDelayDuration:120,children:s?(0,v.jsx)(iv,{open:c,onOpenChange:l,children:(0,v.jsxs)(cv,{children:[(0,v.jsx)(uv,{className:`studio-nav-overlay`}),(0,v.jsxs)(mv,{className:`studio-nav-dialog`,"aria-describedby":void 0,onCloseAutoFocus:e=>{e.preventDefault(),document.querySelector(`.rail-toggle`)?.focus()},children:[(0,v.jsx)(yv,{className:`sr-only`,children:`工作区导航`}),w]})]})}):w})}var G9={agents:`Agent`,create:`创建 Agent`,"agent-detail":`Agent 配置`,conversations:`会话`,resources:`资源库`,builds:`构建`,deployments:`部署`,observability:`可观测`,evaluations:`评测`,"runtime-resources":`运行资源`,plugins:`已安装插件`,automations:`自动化`,settings:`设置`},ase=Object.keys(G9),ose=[`model`,`tool`,`mcp`,`skill`,`knowledge-base`,`memory-instance`,`skill-space`],sse=new Set([`conversations`,`builds`]),K9=`agentkit-studio:chat-target:v1`,cse=4e3;async function q9(e,t=cse){let n=new AbortController,r;try{return await Promise.race([q(e,{signal:n.signal}),new Promise((e,i)=>{r=setTimeout(()=>{n.abort(),i(Error(`cloud discovery timeout`))},t)})])}finally{r&&clearTimeout(r)}}function lse(){try{return X9(window.localStorage.getItem(K9)||``)}catch{return{kind:``,id:``}}}function J9(e){try{window.localStorage.setItem(K9,e)}catch{}}function Y9(e){let[t,n=``]=e.replace(/^#\/?/,``).split(`?`),r=t.split(`/`).filter(Boolean),i=r[0]===`agents`&&r[1]&&r[2]===`edit`?decodeURIComponent(r[1]):``,a=r[0]===`agents`&&r[1]&&!r[2]?decodeURIComponent(r[1]):``,o=r[0]===`evaluations`&&r[1]?decodeURIComponent(r[1]):``,s=r[0],c=r[0]===`workspace`&&r[1]?decodeURIComponent(r[1]):[`orchestration`,`teams`].includes(r[0])?`teams`:``,l=c?`plugin:${c}`:i?`create`:a?`agent-detail`:ase.includes(s)?s:`agents`,u=l===`resources`&&ose.includes(r[1])?r[1]:`model`,d=l===`settings`&&Uq.includes(r[1])?r[1]:``,f=new URLSearchParams(n);return{view:l,resourceKind:u,editingAgentId:i,detailAgentId:a,evaluationRunId:o,settingsSection:d,...l===`conversations`&&f.has(`agentId`)?{conversationAgentId:f.get(`agentId`)||``,sessionId:f.get(`sessionId`)||``}:{}}}function X9(e){let t=e.indexOf(`:`);if(t<=0)return{kind:``,id:``};let n=e.slice(0,t);return n!==`cloud`&&n!==`local`?{kind:``,id:``}:{kind:n,id:e.slice(t+1)}}function Z9(e){try{let t=sessionStorage.getItem(`studio.discovery.${e}`);return t?JSON.parse(t).v??null:null}catch{return null}}function Q9(e,t){try{sessionStorage.setItem(`studio.discovery.${e}`,JSON.stringify({t:Date.now(),v:t}))}catch{}}function use(){let e=yq(),t=Qoe(),n=nse(),r=Y9(window.location.hash),[i]=(0,g.useState)(lse),[a,o]=(0,g.useState)(r.view),[s,c]=(0,g.useState)(r.evaluationRunId),[l,u]=(0,g.useState)(r.resourceKind),[d,f]=(0,g.useState)(()=>Z9(`agents`)||[]),[p,m]=(0,g.useState)(()=>!!Z9(`agents`)),[h,_]=(0,g.useState)(r.detailAgentId||r.editingAgentId||r.conversationAgentId||(r.view===`conversations`&&i.kind===`local`?i.id:``)),[y,b]=(0,g.useState)(``),[x,S]=(0,g.useState)(r.sessionId||``),[C,w]=(0,g.useState)(r.detailAgentId),[T,E]=(0,g.useState)(r.editingAgentId),[D,O]=(0,g.useState)(null),[k,A]=(0,g.useState)(null),[j,M]=(0,g.useState)(()=>Z9(`workspaces`)||[]),[N,P]=(0,g.useState)(0),[F,I]=(0,g.useState)(!1),[ee,L]=(0,g.useState)(!1),te=(0,g.useRef)(0),[R,z]=(0,g.useState)(r.settingsSection||`models`),[ne,re]=(0,g.useState)(a===`conversations`),[ie,ae]=(0,g.useState)(()=>Z9(`cloudDeployments`)||[]),[B,V]=(0,g.useState)(()=>!!Z9(`cloudDeployments`)),H=(0,g.useRef)(0),oe=(0,g.useRef)(0),[se,ce]=(0,g.useState)(!r.conversationAgentId&&i.kind===`cloud`?i.id:``),[le,ue]=(0,g.useState)(!1),[de,U]=(0,g.useState)(``),[fe,pe]=(0,g.useState)(0),[me,he]=(0,g.useState)(0),[ge,_e]=(0,g.useState)(0),ve=(0,g.useCallback)(()=>he(0),[]),[ye,be]=(0,g.useState)(null),[xe,Se]=(0,g.useState)(null),[Ce,we]=(0,g.useState)(!1),[Te,Ee]=(0,g.useState)(rse);(0,g.useEffect)(()=>(document.body.classList.toggle(`create-mode`,a===`create`),()=>document.body.classList.remove(`create-mode`)),[a]),(0,g.useEffect)(()=>{let e=()=>{let e=Y9(window.location.hash);o(e.view),u(e.resourceKind),E(e.editingAgentId),w(e.detailAgentId),c(e.evaluationRunId),e.conversationAgentId&&(_(e.conversationAgentId),ce(``)),S(e.sessionId||``),e.view===`settings`&&z(e.settingsSection||`models`),(e.editingAgentId||e.detailAgentId)&&_(e.editingAgentId||e.detailAgentId),e.view===`conversations`&&re(!0)};return window.addEventListener(`hashchange`,e),window.addEventListener(`popstate`,e),()=>{window.removeEventListener(`hashchange`,e),window.removeEventListener(`popstate`,e)}},[]);function De(e,t){o(e),e===`conversations`&&re(!0),e!==`create`&&E(``),c(``);let n=e===`resources`?`#/resources/${l}`:e===`settings`&&t?`#/settings/${t}`:e.startsWith(`plugin:`)?`#/workspace/${encodeURIComponent(e.slice(7))}`:`#/${e}`;window.location.hash!==n&&window.history.pushState(null,``,n)}function Oe(e=`models`){we(!1),z(e),De(`settings`,e)}function ke(e){o(`evaluations`),c(e),window.history.pushState(null,``,`#/evaluations/${encodeURIComponent(e)}`)}function Ae(){c(``),window.history.pushState(null,``,`#/evaluations`)}let je=(0,g.useCallback)(async()=>{let e=++H.current;try{let t=(await q(`/api/v1/agents?limit=100`).then(e=>e.json())).items||[];if(e!==H.current)return;Q9(`agents`,t),f(t),_(e=>t.some(t=>t.metadata.id===e)?e:t[0]?.metadata.id||``)}catch{}finally{e===H.current&&m(!0)}},[]);(0,g.useEffect)(()=>{je()},[je,fe]);let Me=(0,g.useCallback)(async()=>{let e=++oe.current;try{let[t,n]=await Promise.all([q9(`/api/v1/deployments`),q9(`/api/v1/cloud-agents?size=100`)]);if(e!==oe.current||!t.ok)return;let r=await t.json(),i=n.ok?await n.json():{items:[]},a=r.items||[],o=i.items||[],s=[...new Set(a.flatMap(e=>e.agentId?.trim()?[e.agentId.trim()]:[]))],c=new Map(o.map(e=>[e.agentId,e])),l=XW(a,[...c.values()]);Q9(`cloudDeployments`,l),ae(l),ce(e=>l.some(t=>t.id===e&&qW(t).kind===`studio-session-events`&&WW(t))?e:``),e===oe.current&&V(!0);let u=await Promise.all(s.map(e=>Promise.resolve().then(()=>q9(`/api/v1/cloud-agents/${encodeURIComponent(e)}`)).then(async e=>e.ok?await e.json():null).catch(()=>null)));if(e!==oe.current)return;for(let e of u)e?.agentId&&c.set(e.agentId,{...c.get(e.agentId),...e});let d=XW(a,[...c.values()]);Q9(`cloudDeployments`,d),ae(d),ce(e=>d.some(t=>t.id===e&&qW(t).kind===`studio-session-events`&&WW(t))?e:``)}catch{}finally{e===oe.current&&V(!0)}},[]);(0,g.useEffect)(()=>{Me()},[Me,fe]),(0,g.useEffect)(()=>{let e=++te.current;q(`/api/v1/system/bootstrap`).then(e=>{if(!e.ok)throw Error(`Workspace bootstrap unavailable`);return e.json()}).then(t=>{e===te.current&&(O(t.workspace||null),A(t.operationScope||null),I(!!t.workspace))}).catch(()=>{e===te.current&&I(!1)}).finally(()=>{e===te.current&&L(!0)})},[fe]),(0,g.useEffect)(()=>{q(`/api/v1/workspaces/runs`).then(e=>e.ok?e.json():null).then(e=>P(Array.isArray(e?.items)?e.items.filter(e=>[`running`,`pending`,`input-required`,`paused`].includes(e.status)).length:0)).catch(()=>void 0)},[fe]),(0,g.useEffect)(()=>{q(`/api/v1/workspaces`).then(e=>e.ok?e.json():null).then(e=>{e?.items&&(Q9(`workspaces`,e.items),M(e.items))}).catch(()=>void 0)},[fe]);let Ne=d.find(e=>e.metadata.id===h),Pe=ee?F?`ready`:`failed`:`pending`,Fe=ee?F?`运行正常`:`连接失败`:`检查中`;function Ie(e){e&&(_(e),S(``),U(``),a===`automations`&&y&&b(e),a===`conversations`&&(re(!0),window.history.replaceState(null,``,`#/conversations?agentId=${encodeURIComponent(e)}`)))}let Le=ie.filter(e=>qW(e).kind===`studio-session-events`&&WW(e)),Re=Le.find(e=>e.id===se),ze=a===`conversations`&&!!Re,Be=(0,g.useRef)({agentId:h,local:!ze,requestedSessionId:x,newChatRequest:me});Be.current={agentId:h,local:!ze,requestedSessionId:x,newChatRequest:me};let Ve=(0,g.useRef)(null),He=(0,g.useCallback)((e,t,n)=>{let r=Be.current;if(n===`cleanup`||!r.local||t!==r.agentId)return;U(e);let i=Y9(window.location.hash);if(i.view!==`conversations`||i.conversationAgentId&&i.conversationAgentId!==t)return;if(!e){let e=Ve.current;if(!e||e.agentId!==t||r.requestedSessionId&&r.requestedSessionId!==e.sessionId)return;Ve.current=null,S(``),window.history.replaceState(null,``,`#/conversations?agentId=${encodeURIComponent(t)}`);return}if(r.newChatRequest||r.requestedSessionId&&i.sessionId!==e)return;Ve.current={agentId:t,sessionId:e};let a=`#/conversations?${new URLSearchParams({agentId:t,sessionId:e})}`;window.location.hash!==a&&window.history.replaceState(null,``,a)},[]);(0,g.useEffect)(()=>{a!==`conversations`||!p||!B||(Re?J9(`cloud:${Re.id}`):Ne&&J9(`local:${Ne.metadata.id}`))},[p,B,Ne,Re,a]),(0,g.useEffect)(()=>{if(a!==`conversations`||!ne||!p||!B||h||Ne||Re)return;let e=Le[0];e&&(ce(e.id),ue(!1))},[p,ne,B,h,Ne,Re,Le,a]);let Ue=[...d.map(e=>({value:`local:${e.metadata.id}`,label:`本地 · ${e.metadata.name}`})),...Le.map(e=>({value:`cloud:${e.id}`,label:HW(e)}))],We=Re?`cloud:${Re.id}`:h?`local:${h}`:``;function Ge(e){let{kind:t,id:n}=X9(e);if(t===`cloud`&&n){if(!Le.some(e=>e.id===n))return;ce(n),S(``),U(``),window.history.replaceState(null,``,`#/conversations`),ue(!1),re(!0);return}t===`local`&&n&&(ce(``),Ie(n))}function Ke(e,t){S(``);let n=Ne||d[0],r=Re||Le[0];if(e?(ce(``),_(e)):!e&&Re?_(``):n?(ce(``),_(n.metadata.id)):r?(_(``),ce(r.id),ue(!1)):(_(``),ce(``)),re(!0),De(`conversations`),e){let n=new URLSearchParams({agentId:e});t&&n.set(`sessionId`,t),window.history.replaceState(null,``,`#/conversations?${n}`)}}(0,g.useEffect)(()=>{let e=e=>{if(!(e.metaKey||e.ctrlKey)||e.altKey)return;let t=e.key.toLowerCase();if(t===`n`)e.preventDefault(),S(``),he(e=>e+1),Ke(),we(!1),window.requestAnimationFrame(()=>{document.querySelector(`form[data-ui="sender"] textarea`)?.focus()});else if(t===`k`){e.preventDefault();let t=document.querySelector(`[aria-label="切换会话目标"], [aria-label="切换当前 Agent"]`);t&&(t.focus(),t.dispatchEvent(new MouseEvent(`pointerdown`,{bubbles:!0,button:0})),t.click())}else if(t===`f`){e.preventDefault();let t=document.querySelector(`[aria-label="查找当前会话"]`);t&&!t.disabled&&(t.focus(),t.click())}else e.key===`,`&&(e.preventDefault(),z(`general`),o(`settings`),window.location.hash!==`#/settings/general`&&window.history.pushState(null,``,`#/settings/general`))};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[d,Ne,Re,Le]);function qe(e){qW(e).kind===`studio-session-events`&&(ae(t=>t.some(t=>t.id===e.id)?t:[...t,e]),ce(e.id),ue(!1),re(!0),De(`conversations`))}function Je(e){E(``),w(e),_(e),o(`agent-detail`);let t=`#/agents/${encodeURIComponent(e)}`;window.location.hash!==t&&window.history.pushState(null,``,t)}function Ye(e=!1){E(``),_e(e?e=>e+1:0),De(`create`)}function Xe(e){E(e),_(e),o(`create`);let t=`#/agents/${encodeURIComponent(e)}/edit`;window.location.hash!==t&&window.history.pushState(null,``,t)}function Ze(e){u(e),o(`resources`);let t=`#/resources/${e}`;window.location.hash!==t&&window.history.pushState(null,``,t)}let Qe=a===`create`||a===`agent-detail`?`Agent`:null,$e=a.startsWith(`plugin:`)?a.slice(7):``,et=a===`create`&&T?`编辑 Agent`:$e?e.find(e=>e.id===$e)?.label||($e===`teams`?`团队`:`插件工作区`):G9[a],tt=D?.path?.endsWith(`/default-workspace`)?`未打开工作区`:D?.name||`未打开工作区`,nt=D?.path||(F?`本地工作区`:`正在连接本地工作区`),rt=a===`create`||a===`conversations`||a===`observability`||!!$e,it=t!==`compact`,at=!!(D?.workspaceId||D?.path),ot=it&&(Te??!0);(0,g.useEffect)(()=>{we(!1)},[a,l,t]);let st=(0,g.useRef)(0),ct=(0,g.useRef)(a);(0,g.useEffect)(()=>{ct.current=a},[a]),(0,g.useEffect)(()=>{let e=++st.current,t=!1;return q(`/api/v1/catalog/resources?limit=200`).then(e=>e.ok?e.json():null).then(n=>{t||e!==st.current||!n||(n.items||[]).some(e=>e.kind===`model`&&(e.source===`local`||e.source===`market`))||ct.current!==`agents`||(z(`models`),o(`settings`),window.location.hash!==`#/settings/models`&&window.history.pushState(null,``,`#/settings/models`))}).catch(()=>void 0),()=>{t=!0}},[]);function lt(){if(!it){we(e=>!e);return}let e=!ot;Ee(e),U9(e)}function ut(e,t){we(!1),e===`conversations`?Ke():e===`resources`?Ze(t||`model`):(e===`automations`&&b(``),De(e))}return(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(Pte,{}),(0,v.jsx)(`a`,{className:`skip-link`,href:`#mainContent`,children:`跳到主要内容`}),(0,v.jsxs)(`div`,{className:`app-shell`,"data-view":a,"data-viewport":t,"data-focused":rt,"data-rail":ot?`expanded`:`compact`,children:[(0,v.jsx)(ise,{workspacePages:e,view:a,resourceKind:l,expanded:ot,mobile:!it,mobileOpen:Ce,onMobileOpenChange:we,onExpand:()=>{Ee(!0),U9(!0)},onHistoryHostChange:Se,onStartChat:()=>{S(``),he(e=>e+1),Ke(),we(!1)},workspaceName:tt,workspacePath:nt,runtimeReady:F,workspaceRunCount:N,onNavigate:ut,onOpenSettings:()=>Oe(`models`),onWorkspaceSwitch:async()=>{we(!1);try{if(window.studioNative?.openWorkspace){await window.studioNative.openWorkspace();return}let e=await window.studioNative?.chooseWorkspace?.();if(e===void 0){let t=await q(`/api/v1/workspaces:choose`,{method:`POST`}),n=await t.json();if(!t.ok)throw Error(n.error?.message||`当前环境无法打开目录选择器`);e=n.path||null}if(!e)return;let t=await q(`/api/v1/workspaces:open`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({path:e,create:!0})});if(!t.ok){let e=await t.json().catch(()=>({}));throw Error(e.error?.message||e.detail||`打开工作区失败(${t.status})`)}window.dispatchEvent(new Event(`studio:directory-opened`))}catch(e){CL(`工作区切换失败`,e instanceof Error?e.message:`无法打开所选目录。`,`error`)}}}),(0,v.jsxs)(`div`,{className:`app-main`,children:[(0,v.jsxs)(`header`,{className:`global-header${Qe?` nested`:``}`,"aria-label":`当前页面`,children:[(0,v.jsx)(`button`,{className:`icon-button tertiary rail-toggle`,type:`button`,"aria-label":ot||Ce?`收起导航`:`展开导航`,"aria-expanded":ot||Ce,title:ot?`收起导航`:`展开导航`,onClick:lt,children:(0,v.jsx)(_b,{name:ot?`left-squared`:`right-squared`,size:16})}),Qe&&(0,v.jsxs)(`div`,{className:`header-identity-inline`,"aria-label":`当前位置`,children:[(0,v.jsx)(`button`,{className:`crumb`,type:`button`,onClick:()=>De(`agents`),children:Qe}),(0,v.jsx)(`span`,{className:`crumb-sep`,children:`/`}),a===`agent-detail`&&Ne&&(0,v.jsx)(vb,{name:Ne.metadata.name,appearance:Ne.metadata.appearance,template:Ne.metadata.labels?.[`agentkit.ksyun.com/template`],size:`sm`}),(0,v.jsx)(`h1`,{children:a===`agent-detail`&&Ne?Ne.metadata.name:et}),a===`agent-detail`&&Ne&&(0,v.jsxs)(`span`,{className:`mono`,children:[Ne.metadata.id,` · r`,Ne.metadata.revision||1]})]}),!Qe&&a!==`conversations`&&(0,v.jsx)(`div`,{className:`header-identity`,children:(0,v.jsx)(`h1`,{children:et})}),(0,v.jsxs)(`div`,{className:`header-actions`,children:[(0,v.jsx)(`div`,{ref:be,id:`pageHeaderTools`,className:`page-header-tools`,"data-testid":`page-header-tools`}),a===`conversations`?(0,v.jsx)(Wk,{id:`conversation-target-selector`,className:`header-agent-selector conversation-target-selector`,ariaLabel:`切换会话目标`,value:We,placeholder:`选择会话目标`,options:Ue,onValueChange:Ge}):sse.has(a)&&(0,v.jsx)(Wk,{className:`header-agent-selector`,ariaLabel:`切换当前 Agent`,value:h,placeholder:`未选择`,options:d.map(e=>({value:e.metadata.id,label:e.metadata.name})),onValueChange:Ie}),a!==`conversations`&&(0,v.jsx)(`span`,{className:`tag`,children:ze?`云端部署`:`本地`}),(0,v.jsx)(`span`,{className:`badge`,"data-state":Pe,children:Fe}),(a!==`conversations`||it)&&(0,v.jsx)(`button`,{className:`icon-button tertiary global-refresh-button`,type:`button`,"aria-label":`刷新`,title:`刷新`,onClick:()=>pe(e=>e+1),children:(0,v.jsx)(_b,{name:`refresh`,size:16})}),a===`conversations`&&it&&ne&&h&&!ze&&(0,v.jsx)(`button`,{className:`icon-button tertiary conversation-run-detail`,type:`button`,"aria-label":`运行详情`,title:`运行详情`,onClick:()=>ue(e=>!e),children:(0,v.jsx)(qp,{size:16})}),a===`conversations`&&!it&&(0,v.jsx)(MT,{label:`对话操作`,items:[{label:`刷新`,onSelect:()=>pe(e=>e+1)},...ne&&h&&!ze?[{label:`运行详情`,onSelect:()=>ue(e=>!e)}]:[]]}),(0,v.jsx)(`div`,{id:`pageHeaderActions`,className:`page-header-page-actions`,"data-testid":`page-header-actions`})]})]}),(0,v.jsxs)(`main`,{id:`mainContent`,children:[(0,v.jsxs)(`div`,{className:`chat-wrap`,"data-layout":`workbench`,style:{display:a===`conversations`?`flex`:`none`},children:[(0,v.jsxs)(`div`,{className:`chat-host`,children:[ne&&!at&&(0,v.jsxs)(`div`,{className:`chat-target-loading`,role:ee?`alert`:`status`,"aria-label":ee?`工作区暂不可用`:`正在连接工作区`,children:[!ee&&(0,v.jsx)(`i`,{}),(0,v.jsx)(`span`,{children:ee?`工作区暂不可用,请刷新后重试。`:`正在连接工作区…`})]}),ne&&at&&ze&&Re&&(0,v.jsx)(P9,{newChatRequest:me,onNewChatStarted:ve,integratedHistory:!0,historyHost:xe,headerHost:ye,onSelectConversation:()=>{Ke(),we(!1)},cloudTarget:!0,agentId:Re.agentId||`Agent`,agentName:Re.agentName||Re.agentId||`云端 Agent`,workspacePath:D?.path,workspaceId:D?.workspaceId,credentialScope:k?.cloudCredential,targetId:Re.id,active:a===`conversations`,refreshTick:fe},Re.id),ne&&at&&!ze&&h&&(0,v.jsx)(P9,{newChatRequest:me,onNewChatStarted:ve,integratedHistory:!0,historyHost:xe,headerHost:ye,onSelectConversation:e=>{Ke(h,e),we(!1)},agentId:h,workspacePath:D?.path,workspaceId:D?.workspaceId,credentialScope:k?.cloudCredential,targetId:h,requestedSessionId:x,agentName:Ne?.metadata.name||`Agent`,agentAppearance:Ne?.metadata.appearance,active:a===`conversations`,refreshTick:fe,onSessionChanged:He,onConfigureAgent:()=>Xe(h),onOpenSettings:()=>Oe(`models`)}),ne&&at&&!ze&&!h&&(p&&B?(0,v.jsxs)(`div`,{className:`empty-state chat-agent-empty`,role:`status`,children:[(0,v.jsx)(`span`,{className:`empty-icon`,children:(0,v.jsx)(_b,{name:`cpu`,size:24})}),(0,v.jsx)(`h2`,{children:`还没有可用的会话目标`}),(0,v.jsx)(`p`,{children:`可以创建本地 Agent,或在云端 Agent 页面选择受支持的 Agent。`}),(0,v.jsxs)(`div`,{className:`empty-actions`,children:[(0,v.jsx)(`button`,{className:`primary-button`,type:`button`,onClick:()=>Ye(),children:`创建本地 Agent`}),(0,v.jsx)(`button`,{className:`button secondary`,type:`button`,onClick:()=>De(`deployments`),children:`查看云端 Agent`})]})]}):(0,v.jsxs)(`div`,{className:`chat-target-loading`,role:`status`,"aria-label":`正在同步会话目标`,children:[(0,v.jsx)(`i`,{}),(0,v.jsx)(`span`,{children:`正在同步会话目标…`})]}))]}),le&&ne&&h&&!ze&&(0,v.jsx)(hQ,{agentId:h,sessionId:de,onClose:()=>ue(!1),onOpenTrace:()=>De(`observability`)})]}),$e&&(0,v.jsx)(`div`,{className:`studio-plugin-page-host`,children:(0,v.jsx)(vq,{pageId:$e,contributions:e})}),(0,v.jsxs)(`div`,{style:{display:a===`conversations`||$e?`none`:void 0},children:[a===`agents`&&(0,v.jsx)(Kk,{agents:d,runtimeReady:F,runtimeChecked:ee,workspaceName:D?.name||``,onCreate:()=>Ye(),onQuickCreate:()=>Ye(!0),onDetail:Je,onChat:Ke,onBuild:e=>{_(e),De(`builds`)},onChanged:je}),a===`create`&&(0,v.jsx)(XU,{workspacePath:D?.path,quickCreateRequest:ge,editingAgentId:T||void 0,viewportMode:t,onAgentsChanged:je,onBack:()=>T?Je(T):De(`agents`),onCreated:(e,t)=>{E(``),je(),e&&t?Ke(e):e?Je(e):De(`agents`)}}),a===`agent-detail`&&C&&(0,v.jsx)(PW,{refreshTick:fe,agentId:C,onBack:()=>De(`agents`),onChat:Ke,onBuild:()=>{_(C),De(`builds`)},onEdit:Xe,onChanged:je}),a===`resources`&&(0,v.jsx)(sU,{kind:l,onKindChange:Ze,refreshTick:fe,onOpenModelSetup:()=>Oe(`models`)}),a===`builds`&&(0,v.jsx)(VW,{currentAgentId:h,agents:d,onSelectAgent:_,onCreate:()=>Ye(),refreshTick:fe}),a===`deployments`&&(0,v.jsx)(DG,{refreshTick:fe,onCreate:()=>Ye(),onOpenChat:qe,onSelectBuild:()=>De(`builds`)}),a===`observability`&&(0,v.jsx)(zK,{refreshTick:fe}),a===`evaluations`&&!s&&(0,v.jsx)(Aq,{refreshTick:fe,onOpenRun:ke}),a===`evaluations`&&s&&(0,v.jsx)(Nq,{runId:s,onBack:Ae,refreshTick:fe}),a===`runtime-resources`&&(0,v.jsx)(qK,{refreshTick:fe,onOpenResources:Ze}),a===`plugins`&&(0,v.jsx)(_q,{refreshTick:fe}),a===`automations`&&(0,v.jsx)(mW,{currentAgentId:h,agents:d,onSelectAgent:_,scopedAgentId:y,refreshTick:fe}),a===`settings`&&(0,v.jsx)(Jq,{themePreference:n.preference,onThemePreferenceChange:n.setPreference,initialSection:R,onSectionChange:e=>{z(e),a===`settings`&&window.location.hash!==`#/settings/${e}`&&window.history.replaceState(null,``,`#/settings/${e}`)}})]})]})]}),(0,v.jsx)(wL,{})]})]})}var dse=`/static/assets/kingsoft-cloud-BOcLiQ3e.ico`;function fse(){let[e,t]=(0,g.useState)(0);return(0,g.useEffect)(()=>{let e=()=>{if(window.__STUDIO_DSH__){window.location.assign(`/`);return}window.history.replaceState(null,``,`/#/agents`),t(e=>e+1)},n=window.studioNative?.onWorkspaceOpened?.(e);return window.addEventListener(`studio:directory-opened`,e),()=>{n?.(),window.removeEventListener(`studio:directory-opened`,e)}},[]),(0,v.jsx)(use,{},e)}async function $9(e){tse(),document.title=`AgentKit Studio`;let t=document.querySelectorAll(`link[rel~="icon"]`),n=t.length?Array.from(t):[document.createElement(`link`)];for(let e of n)e.rel=`icon`,e.type=`image/x-icon`,e.href=dse,e.removeAttribute(`sizes`),e.isConnected||document.head.append(e);try{await Fte()}catch{}let r=(0,_.createRoot)(e);return r.render((0,v.jsx)(g.StrictMode,{children:(0,v.jsx)(fse,{})})),()=>r.unmount()}window.__STUDIO_APP__={mount:$9,mountWorkspace:b},window.__STUDIO_DSH_BOOT__?window.dispatchEvent(new Event(`studio:app-ready`)):$9(document.getElementById(`root`));export{Tf as $,FT as A,rm as B,GF as C,vF as D,EF as E,Zy as F,gp as G,tm as H,Sm as I,Kf as J,up as K,ym as L,Db as M,Tb as N,Wk as O,q as P,Ef as Q,vm as R,kI as S,SI as T,$p as U,nm as V,Rp as W,Nf as X,Ff as Y,Cf as Z,lL as _,ZK as a,OI as b,gW as c,CL as d,Sf as et,zI as f,NI as g,vI as h,JK as i,MT as j,kO as k,sV as l,EI as m,CJ as n,XK as o,bI as p,qf as q,PJ as r,YK as s,kZ as t,Y as u,VI as v,jI as w,LI as x,mI as y,pm as z};
|