agentengine-sdk-python 0.8.3__py3-none-any.whl → 0.8.5__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.
Files changed (819) hide show
  1. {agentengine_sdk_python-0.8.3.dist-info → agentengine_sdk_python-0.8.5.dist-info}/METADATA +13 -9
  2. agentengine_sdk_python-0.8.5.dist-info/RECORD +1296 -0
  3. ksadk/_build_provenance.json +1 -1
  4. ksadk/_process.py +83 -0
  5. ksadk/_str_enum.py +17 -0
  6. ksadk/a2ui/core.py +3 -3
  7. ksadk/api/client.py +111 -91
  8. ksadk/builders/code_builder.py +74 -21
  9. ksadk/builders/framework_requirements.py +22 -3
  10. ksadk/builders/ks3_uploader.py +36 -7
  11. ksadk/builders/managed_runtime_builder.py +1 -0
  12. ksadk/cli/__init__.py +68 -3
  13. ksadk/cli/cmd_config.py +4 -4
  14. ksadk/cli/cmd_create.py +12 -12
  15. ksadk/cli/cmd_hermes.py +24 -2
  16. ksadk/cli/cmd_invoke.py +28 -5
  17. ksadk/cli/cmd_managed_runtime.py +13 -1
  18. ksadk/cli/cmd_openclaw.py +26 -1
  19. ksadk/cli/cmd_plugin.py +76 -13
  20. ksadk/cli/cmd_studio.py +64 -16
  21. ksadk/cli/cmd_web.py +2 -5
  22. ksadk/cli/openclaw_env.py +1 -1
  23. ksadk/cli/resource_common.py +26 -0
  24. ksadk/cli/runtime_bootstrap.py +23 -1
  25. ksadk/codex/client.py +425 -96
  26. ksadk/codex/projection.py +24 -0
  27. ksadk/codex/runtime.py +56 -298
  28. ksadk/common/auth.py +16 -10
  29. ksadk/configs/__init__.py +1 -1
  30. ksadk/configs/env_registry.py +153 -31
  31. ksadk/configs/env_registry_studio.py +86 -0
  32. ksadk/configs/global_config.py +1 -1
  33. ksadk/configs/settings.py +3 -3
  34. ksadk/connector/__init__.py +17 -0
  35. ksadk/connector/channel.py +477 -0
  36. ksadk/context_engine/capabilities.py +52 -4
  37. ksadk/conversations/attachment_storage.py +10 -3
  38. ksadk/conversations/attachments.py +16 -5
  39. ksadk/conversations/message_projection.py +133 -21
  40. ksadk/conversations/normalize.py +28 -10
  41. ksadk/conversations/projector.py +4 -6
  42. ksadk/conversations/runtime_baseline.py +37 -0
  43. ksadk/conversations/runtime_invocation.py +22 -4
  44. ksadk/conversations/runtime_observability.py +39 -10
  45. ksadk/conversations/runtime_payloads.py +9 -0
  46. ksadk/conversations/runtime_persistence.py +105 -9
  47. ksadk/conversations/runtime_preparation.py +42 -33
  48. ksadk/conversations/runtime_resume.py +50 -2
  49. ksadk/conversations/runtime_stream_events.py +34 -35
  50. ksadk/conversations/runtime_streaming.py +33 -7
  51. ksadk/deployment/env_forward.py +2 -2
  52. ksadk/deployment/providers/serverless.py +1 -1
  53. ksadk/events/adapters/_codex_items.py +16 -8
  54. ksadk/events/adapters/_codex_validators.py +18 -7
  55. ksadk/events/adapters/_langgraph_support.py +34 -0
  56. ksadk/events/adapters/langgraph.py +15 -1
  57. ksadk/events/canonical_store.py +3 -1
  58. ksadk/events/projections.py +1 -1
  59. ksadk/events/session_event.py +2 -2
  60. ksadk/harness/__init__.py +14 -0
  61. ksadk/harness/app.py +11 -0
  62. ksadk/harness/artifact_store.py +213 -0
  63. ksadk/harness/capabilities.py +115 -0
  64. ksadk/harness/capability_runtime.py +237 -0
  65. ksadk/harness/closure_contract.py +92 -0
  66. ksadk/harness/compaction_record.py +122 -0
  67. ksadk/harness/compiler.py +284 -0
  68. ksadk/harness/config.py +2 -2
  69. ksadk/harness/conformance/__init__.py +33 -0
  70. ksadk/harness/conformance/contract.py +506 -0
  71. ksadk/harness/conformance/fixtures.py +102 -0
  72. ksadk/harness/context_engine.py +403 -0
  73. ksadk/harness/context_maintenance.py +259 -0
  74. ksadk/harness/context_manifest.py +188 -0
  75. ksadk/harness/context_tuning.py +168 -0
  76. ksadk/harness/draft_runtime.py +322 -0
  77. ksadk/harness/engine/__init__.py +40 -0
  78. ksadk/harness/engine/base.py +122 -0
  79. ksadk/harness/engine/budgets.py +108 -0
  80. ksadk/harness/engine/capability_declarations.py +59 -0
  81. ksadk/harness/engine/completion_guard.py +42 -0
  82. ksadk/harness/engine/context_pipeline.py +579 -0
  83. ksadk/harness/engine/graph_builder.py +859 -0
  84. ksadk/harness/engine/langgraph.py +931 -0
  85. ksadk/harness/engine/mcp_disclosure.py +750 -0
  86. ksadk/harness/engine/policy_runtime.py +70 -0
  87. ksadk/harness/engine/postgres_checkpointer.py +63 -0
  88. ksadk/harness/engine/run_control_bridge.py +80 -0
  89. ksadk/harness/engine/run_types.py +88 -0
  90. ksadk/harness/engine/skill_disclosure.py +189 -0
  91. ksadk/harness/engine/spans.py +41 -0
  92. ksadk/harness/engine/subagents.py +343 -0
  93. ksadk/harness/engine/thread_ids.py +112 -0
  94. ksadk/harness/engine/tool_dispatch.py +144 -0
  95. ksadk/harness/event_tree.py +212 -0
  96. ksadk/harness/events.py +461 -0
  97. ksadk/harness/execution_policy.py +94 -0
  98. ksadk/harness/insights.py +210 -0
  99. ksadk/harness/lifecycle.py +578 -0
  100. ksadk/harness/lifecycle_conformance.py +233 -0
  101. ksadk/harness/lifecycle_local_plane.py +104 -0
  102. ksadk/harness/loop/__init__.py +44 -0
  103. ksadk/harness/loop/reason.py +454 -0
  104. ksadk/harness/loop/tools.py +762 -0
  105. ksadk/harness/managed_runtime.py +884 -0
  106. ksadk/harness/mcp_matrix.py +474 -0
  107. ksadk/harness/mcp_runtime.py +471 -0
  108. ksadk/harness/memory_consolidation.py +157 -0
  109. ksadk/harness/memory_loop.py +156 -0
  110. ksadk/harness/memory_runtime.py +541 -0
  111. ksadk/harness/metrics.py +90 -0
  112. ksadk/harness/model_capability.py +253 -0
  113. ksadk/harness/model_provider.py +220 -0
  114. ksadk/harness/observability/__init__.py +29 -0
  115. ksadk/harness/observability/inspection.py +528 -0
  116. ksadk/harness/observability/metrics.py +167 -0
  117. ksadk/harness/observability/otel_exporter.py +218 -0
  118. ksadk/harness/prompt_cache.py +70 -0
  119. ksadk/harness/public_activity.py +154 -0
  120. ksadk/harness/readiness.py +249 -0
  121. ksadk/harness/reasoner.py +466 -13
  122. ksadk/harness/release_readiness.py +140 -0
  123. ksadk/harness/resource_ref.py +69 -0
  124. ksadk/harness/run_control.py +668 -0
  125. ksadk/harness/runtime.py +171 -136
  126. ksadk/harness/runtime_capabilities.py +158 -0
  127. ksadk/harness/runtime_server.py +514 -0
  128. ksadk/harness/sandbox_adapters.py +739 -0
  129. ksadk/harness/sandbox_backend.py +530 -0
  130. ksadk/harness/sandbox_conformance.py +288 -0
  131. ksadk/harness/sandbox_lease.py +77 -0
  132. ksadk/harness/sandbox_lease_conformance.py +259 -0
  133. ksadk/harness/sandbox_matrix.py +170 -0
  134. ksadk/harness/sandbox_reconciliation.py +140 -0
  135. ksadk/harness/sandbox_recovery.py +586 -0
  136. ksadk/harness/sandbox_recovery_conformance.py +246 -0
  137. ksadk/harness/session_store.py +243 -0
  138. ksadk/harness/skill_composition.py +212 -0
  139. ksadk/harness/skill_feedback.py +123 -0
  140. ksadk/harness/skill_matrix.py +233 -0
  141. ksadk/harness/skill_runtime.py +259 -0
  142. ksadk/harness/spec.py +332 -0
  143. ksadk/harness/state.py +153 -0
  144. ksadk/harness/strategies.py +149 -0
  145. ksadk/harness/subagent.py +253 -0
  146. ksadk/harness/tool_policy.py +131 -0
  147. ksadk/harness/tool_receipts.py +96 -0
  148. ksadk/harness/tool_reliability.py +81 -0
  149. ksadk/harness/tools.py +38 -13
  150. ksadk/harness/user_errors.py +69 -0
  151. ksadk/harness/working_context.py +81 -0
  152. ksadk/harness/working_context_patch.py +99 -0
  153. ksadk/identity/resolver.py +18 -0
  154. ksadk/interaction/__init__.py +1 -1
  155. ksadk/interaction/ledger.py +1 -1
  156. ksadk/interaction/provider.py +2 -1
  157. ksadk/interaction/providers/__init__.py +3 -1
  158. ksadk/interaction/providers/adk.py +1 -1
  159. ksadk/interaction/providers/codex.py +1 -1
  160. ksadk/interaction/providers/harness.py +50 -0
  161. ksadk/interaction/providers/langgraph.py +2 -1
  162. ksadk/kernel/__init__.py +10 -0
  163. ksadk/kernel/approval_presentation.py +91 -0
  164. ksadk/kernel/authorization.py +1 -1
  165. ksadk/kernel/bootstrap.py +114 -106
  166. ksadk/kernel/contract_fingerprints.py +1 -1
  167. ksadk/kernel/contracts.py +5 -0
  168. ksadk/kernel/control.py +32 -1
  169. ksadk/kernel/execution_grants.py +221 -0
  170. ksadk/kernel/execution_grants_memory.py +133 -0
  171. ksadk/kernel/execution_grants_postgres.py +217 -0
  172. ksadk/kernel/execution_grants_sqlite.py +209 -0
  173. ksadk/kernel/ingress.py +42 -29
  174. ksadk/kernel/mapping.py +1 -1
  175. ksadk/kernel/memory_store.py +24 -11
  176. ksadk/kernel/postgres_store.py +63 -33
  177. ksadk/kernel/recovery.py +78 -14
  178. ksadk/kernel/sql/001_agent_kernel.sql +23 -0
  179. ksadk/kernel/sqlite_store.py +331 -25
  180. ksadk/kernel/state.py +2 -3
  181. ksadk/kernel/store.py +72 -2
  182. ksadk/kernel/worker.py +144 -51
  183. ksadk/kernel/worker_history.py +72 -0
  184. ksadk/kernel/worker_identity.py +47 -0
  185. ksadk/knowledge_base/client.py +57 -27
  186. ksadk/mcp_runtime/__init__.py +12 -4
  187. ksadk/memory/adk/backends/sdk_ltm_backend.py +161 -41
  188. ksadk/memory/adk/resilient_session_service.py +25 -17
  189. ksadk/memory/adk/short_term_memory.py +26 -9
  190. ksadk/memory/coordinator.py +22 -6
  191. ksadk/memory/extraction.py +40 -1
  192. ksadk/memory/models.py +84 -5
  193. ksadk/memory/provider_resolver.py +8 -0
  194. ksadk/memory/providers/local_postgres.py +200 -0
  195. ksadk/memory/providers/local_sqlite.py +42 -3
  196. ksadk/memory/retrieval.py +189 -0
  197. ksadk/memory/store_adapter.py +150 -0
  198. ksadk/model_policy.py +2 -2
  199. ksadk/model_proxy/detect.py +254 -0
  200. ksadk/model_proxy/server.py +14 -7
  201. ksadk/model_proxy/transform.py +40 -2
  202. ksadk/plugins/__init__.py +5 -1
  203. ksadk/plugins/artifacts.py +275 -0
  204. ksadk/plugins/bridges/__init__.py +4 -2
  205. ksadk/plugins/bridges/codex.py +120 -13
  206. ksadk/plugins/bridges/dsh.py +351 -156
  207. ksadk/plugins/builtins.py +72 -35
  208. ksadk/plugins/bundle_security.py +28 -4
  209. ksadk/plugins/codex_manifest.py +983 -0
  210. ksadk/plugins/companion_artifacts.py +83 -0
  211. ksadk/plugins/companions.py +368 -0
  212. ksadk/plugins/composition.py +8 -0
  213. ksadk/plugins/contracts.py +119 -1
  214. ksadk/plugins/delivery.py +153 -0
  215. ksadk/plugins/dsh_channels.py +156 -0
  216. ksadk/plugins/dsh_home.py +140 -0
  217. ksadk/plugins/dsh_installation_digest.py +71 -0
  218. ksadk/plugins/dsh_teams.py +105 -0
  219. ksadk/plugins/dsh_toolchain.py +203 -32
  220. ksadk/plugins/ecosystem_probe.py +6 -6
  221. ksadk/plugins/execution_host.py +99 -0
  222. ksadk/plugins/host.py +102 -39
  223. ksadk/plugins/kernel_adapter.py +205 -0
  224. ksadk/plugins/providers/__init__.py +23 -0
  225. ksadk/plugins/providers/bundles/dsh-channels-client/client.js +19 -0
  226. ksadk/plugins/providers/bundles/dsh-channels-client/cordis.patch.yml +3 -0
  227. ksadk/plugins/providers/bundles/dsh-channels-client/index.mjs +7 -0
  228. ksadk/plugins/providers/bundles/dsh-channels-client/package.json +12 -0
  229. ksadk/plugins/providers/bundles/dsh-knowledge/cordis.patch.yml +3 -0
  230. ksadk/plugins/providers/bundles/dsh-knowledge/index.mjs +53 -0
  231. ksadk/plugins/providers/bundles/dsh-knowledge/package.json +16 -0
  232. ksadk/plugins/providers/bundles/dsh-memory/cordis.patch.yml +3 -0
  233. ksadk/plugins/providers/bundles/dsh-memory/index.mjs +175 -0
  234. ksadk/plugins/providers/bundles/dsh-memory/package.json +16 -0
  235. ksadk/plugins/providers/bundles/dsh-platform-resources/client.mjs +166 -0
  236. ksadk/plugins/providers/bundles/dsh-platform-resources/cordis.patch.yml +3 -0
  237. ksadk/plugins/providers/bundles/dsh-platform-resources/index.mjs +9 -0
  238. ksadk/plugins/providers/bundles/dsh-platform-resources/package.json +12 -0
  239. ksadk/plugins/providers/bundles/dsh-skill-center/cordis.patch.yml +3 -0
  240. ksadk/plugins/providers/bundles/dsh-skill-center/index.mjs +125 -0
  241. ksadk/plugins/providers/bundles/dsh-skill-center/package.json +16 -0
  242. ksadk/plugins/providers/bundles/dsh-teams-client/client.js +29 -0
  243. ksadk/plugins/providers/bundles/dsh-teams-client/cordis.patch.yml +3 -0
  244. ksadk/plugins/providers/bundles/dsh-teams-client/index.mjs +11 -0
  245. ksadk/plugins/providers/bundles/dsh-teams-client/package.json +35 -0
  246. ksadk/plugins/providers/bundles/dsh-teams-leader-policy/cordis.patch.yml +3 -0
  247. ksadk/plugins/providers/bundles/dsh-teams-leader-policy/index.mjs +13 -0
  248. ksadk/plugins/providers/bundles/dsh-teams-leader-policy/package.json +27 -0
  249. ksadk/plugins/providers/bundles/dsh-teams-profile/cordis.patch.yml +3 -0
  250. ksadk/plugins/providers/bundles/dsh-teams-profile/index.mjs +12 -0
  251. ksadk/plugins/providers/bundles/dsh-teams-profile/package.json +26 -0
  252. ksadk/plugins/providers/bundles/dsh-teams-router/cordis.patch.yml +3 -0
  253. ksadk/plugins/providers/bundles/dsh-teams-router/index.mjs +16 -0
  254. ksadk/plugins/providers/bundles/dsh-teams-router/package.json +27 -0
  255. ksadk/plugins/providers/bundles/dsh-teams-tasks/cordis.patch.yml +3 -0
  256. ksadk/plugins/providers/bundles/dsh-teams-tasks/index.mjs +16 -0
  257. ksadk/plugins/providers/bundles/dsh-teams-tasks/package.json +27 -0
  258. ksadk/plugins/providers/bundles/dsh-teams-tools/cordis.patch.yml +3 -0
  259. ksadk/plugins/providers/bundles/dsh-teams-tools/index.mjs +25 -0
  260. ksadk/plugins/providers/bundles/dsh-teams-tools/package.json +29 -0
  261. ksadk/plugins/providers/bundles/dsh-teams-tools/tools.json +235 -0
  262. ksadk/plugins/providers/bundles/ksadk-codex/index.mjs +1 -1
  263. ksadk/plugins/providers/bundles/ksadk-dsh-capability-host/cordis.patch.yml +3 -0
  264. ksadk/plugins/providers/bundles/ksadk-dsh-capability-host/index.mjs +920 -0
  265. ksadk/plugins/providers/bundles/ksadk-dsh-capability-host/package.json +27 -0
  266. ksadk/plugins/providers/bundles/ksadk-dsh-companion-host/client.mjs +133 -0
  267. ksadk/plugins/providers/bundles/ksadk-dsh-companion-host/index.mjs +14 -0
  268. ksadk/plugins/providers/bundles/ksadk-dsh-studio/client.js +115 -0
  269. ksadk/plugins/providers/bundles/ksadk-dsh-studio/index.mjs +19 -0
  270. ksadk/plugins/providers/bundles/ksadk-dsh-studio/package.json +7 -0
  271. ksadk/plugins/providers/bundles/ksadk-harness/index.mjs +1 -1
  272. ksadk/plugins/providers/codex.py +344 -70
  273. ksadk/plugins/providers/codex_native.py +368 -0
  274. ksadk/plugins/providers/codex_turn.py +301 -0
  275. ksadk/plugins/providers/dsh_capabilities.py +1450 -0
  276. ksadk/plugins/providers/dsh_mcp.py +467 -0
  277. ksadk/plugins/providers/harness.py +294 -141
  278. ksadk/plugins/providers/harness_delegation.py +593 -0
  279. ksadk/plugins/providers/harness_managed.py +456 -0
  280. ksadk/plugins/providers/harness_tools.py +326 -0
  281. ksadk/plugins/providers/mcp_projection.py +150 -0
  282. ksadk/plugins/providers/platform_resources.py +657 -0
  283. ksadk/plugins/providers/shipped_dsh.py +4 -1
  284. ksadk/plugins/resolver.py +8 -1
  285. ksadk/plugins/subagent_providers/codex.py +28 -6
  286. ksadk/plugins/teams/__init__.py +5 -0
  287. ksadk/plugins/teams/api.py +405 -0
  288. ksadk/plugins/teams/application.py +680 -0
  289. ksadk/plugins/teams/artifacts.py +60 -0
  290. ksadk/plugins/teams/context.py +96 -0
  291. ksadk/plugins/teams/contracts.py +136 -0
  292. ksadk/plugins/teams/domain.py +1427 -0
  293. ksadk/plugins/teams/domain_values.py +24 -0
  294. ksadk/plugins/teams/errors.py +13 -0
  295. ksadk/plugins/teams/migration.py +311 -0
  296. ksadk/plugins/teams/migration_cli.py +322 -0
  297. ksadk/plugins/teams/postgres_store.py +138 -0
  298. ksadk/plugins/teams/runtime.py +777 -0
  299. ksadk/plugins/teams/source_projection.py +84 -0
  300. ksadk/plugins/teams/store.py +311 -0
  301. ksadk/plugins/teams/task_decisions.py +423 -0
  302. ksadk/plugins/teams/transport.py +91 -0
  303. ksadk/plugins/teams/workspaces.py +255 -0
  304. ksadk/resource_runtime/__init__.py +4 -0
  305. ksadk/resource_runtime/broker.py +616 -0
  306. ksadk/resource_runtime/build_artifacts.py +165 -0
  307. ksadk/resource_runtime/contracts.py +138 -0
  308. ksadk/resource_runtime/discovery_receipts.py +100 -0
  309. ksadk/resource_runtime/discovery_skills.py +172 -0
  310. ksadk/resource_runtime/errors.py +6 -0
  311. ksadk/resource_runtime/ipc.py +142 -0
  312. ksadk/resource_runtime/kernel_approval.py +165 -0
  313. ksadk/resource_runtime/knowledge.py +114 -0
  314. ksadk/resource_runtime/langgraph.py +94 -0
  315. ksadk/resource_runtime/leases.py +191 -0
  316. ksadk/resource_runtime/managed_projection.py +186 -0
  317. ksadk/resource_runtime/mcp_server.py +138 -0
  318. ksadk/resource_runtime/memory_provider.py +318 -0
  319. ksadk/resource_runtime/memory_receipts.py +34 -0
  320. ksadk/resource_runtime/operation_ledger.py +211 -0
  321. ksadk/resource_runtime/plugin_config.py +48 -0
  322. ksadk/resource_runtime/policy_authorization.py +54 -0
  323. ksadk/resource_runtime/process.py +110 -0
  324. ksadk/resource_runtime/skill_artifacts.py +153 -0
  325. ksadk/resource_runtime/skill_runtime.py +42 -0
  326. ksadk/resource_runtime/skill_workspace.py +118 -0
  327. ksadk/resource_runtime/skills.py +215 -0
  328. ksadk/resource_runtime/snapshots.py +180 -0
  329. ksadk/resource_runtime/socket_server.py +103 -0
  330. ksadk/resource_runtime/supervisor.py +380 -0
  331. ksadk/resource_runtime/worker.py +504 -0
  332. ksadk/runners/_langgraph_runner_streams.py +182 -38
  333. ksadk/runners/_langgraph_state_reader.py +106 -0
  334. ksadk/runners/_session_identity.py +285 -0
  335. ksadk/runners/adk_runner.py +166 -63
  336. ksadk/runners/base_runner.py +29 -1
  337. ksadk/runners/langgraph_runner.py +542 -195
  338. ksadk/runners/patch_langchain.py +47 -0
  339. ksadk/runners/usage_accumulator.py +11 -3
  340. ksadk/runtime/_runner_adapter/stream_mapping.py +194 -20
  341. ksadk/runtime/adapter.py +2 -0
  342. ksadk/runtime/conversation_execution.py +117 -17
  343. ksadk/runtime/executor.py +87 -3
  344. ksadk/runtime/factory.py +65 -274
  345. ksadk/runtime/framework_adapters.py +23 -0
  346. ksadk/runtime/preprocessing.py +21 -5
  347. ksadk/runtime/runner_adapter.py +106 -18
  348. ksadk/runtime/skill_eval_result.py +36 -0
  349. ksadk/runtime/timing.py +46 -0
  350. ksadk/runtime/usage.py +49 -18
  351. ksadk/runtime_context.py +142 -2
  352. ksadk/sandbox/backends/e2b.py +288 -25
  353. ksadk/sandbox/backends/local_process.py +72 -39
  354. ksadk/sandbox/base.py +64 -1
  355. ksadk/sandbox/diagnostics.py +82 -0
  356. ksadk/sandbox/e2b_connection.py +66 -0
  357. ksadk/sandbox/local_controls.py +746 -0
  358. ksadk/sandbox/local_launcher.py +90 -0
  359. ksadk/scheduler/dispatcher.py +1 -1
  360. ksadk/scheduler/sqlite_store.py +18 -0
  361. ksadk/server/composition.py +2 -0
  362. ksadk/server/factory.py +5 -0
  363. ksadk/server/invocation_identity.py +118 -0
  364. ksadk/server/persistence_capability.py +516 -0
  365. ksadk/server/routes/common.py +32 -3
  366. ksadk/server/routes/control.py +271 -52
  367. ksadk/server/routes/dependencies.py +16 -0
  368. ksadk/server/routes/kernel_ingress.py +9 -1
  369. ksadk/server/routes/misc.py +233 -25
  370. ksadk/server/routes/models.py +47 -4
  371. ksadk/server/routes/openai_compat.py +76 -13
  372. ksadk/server/routes/projection.py +252 -12
  373. ksadk/server/routes/run.py +106 -35
  374. ksadk/server/routes/sessions.py +491 -138
  375. ksadk/server/routes/streaming.py +43 -9
  376. ksadk/server/routes/workspace.py +130 -21
  377. ksadk/server/static/assets/{ArtifactsPanel-10GPXIJ6.js → ArtifactsPanel-C1YoaKhx.js} +1 -1
  378. ksadk/server/static/assets/{CodeBlock-BXk1l-G1.js → CodeBlock-DHuAWfr5.js} +10 -7
  379. ksadk/server/static/assets/MathMessageMarkdown-cvdrBwYr.js +8 -0
  380. ksadk/server/static/assets/{MermaidBlock--OEYoXIJ.js → MermaidBlock-DeBkbJvI.js} +9 -9
  381. ksadk/server/static/assets/{NativeTerminalPanel-DrEe1syq.js → NativeTerminalPanel-oJj44_sV.js} +1 -1
  382. ksadk/server/static/assets/{abnfDiagram-VCTEODGH-eeTFJLvo.js → abnfDiagram-VCTEODGH-Dhfv25o2.js} +1 -1
  383. ksadk/server/static/assets/{arc-S3ZNbIAd.js → arc-C35w-pn1.js} +1 -1
  384. ksadk/server/static/assets/architecture-7GRP2DOG-BCsa26zi.js +1 -0
  385. ksadk/server/static/assets/{architectureDiagram-5GKGNRK7-CRjgEJDX.js → architectureDiagram-5GKGNRK7-FoMY_u6D.js} +1 -1
  386. ksadk/server/static/assets/{blockDiagram-NRAW4CY4-C7bsBoNH.js → blockDiagram-NRAW4CY4-zD4Rt7oE.js} +1 -1
  387. ksadk/server/static/assets/{c4Diagram-UCG6FXSJ-BX3c33Ob.js → c4Diagram-UCG6FXSJ-BCtGGkhN.js} +1 -1
  388. ksadk/server/static/assets/channel-_KDifNys.js +1 -0
  389. ksadk/server/static/assets/chunk-2Q5K7J3B-HdVkJ9F0.js +1 -0
  390. ksadk/server/static/assets/{chunk-5VM5RSS4-bZ7ws-8m.js → chunk-5VM5RSS4-C2Ms13_k.js} +1 -1
  391. ksadk/server/static/assets/{chunk-F27PBJKO-D2r0pvhY.js → chunk-F27PBJKO-BoTj-qgx.js} +1 -1
  392. ksadk/server/static/assets/{chunk-G27WJ6UU-CZwF3oUP.js → chunk-G27WJ6UU-DOMyyjHH.js} +1 -1
  393. ksadk/server/static/assets/{chunk-JWPE2WC7-DigFYCML.js → chunk-JWPE2WC7-DbJJqDli.js} +1 -1
  394. ksadk/server/static/assets/{chunk-LCL6LL3I-CnorGV5q.js → chunk-LCL6LL3I-CLuRCt_W.js} +1 -1
  395. ksadk/server/static/assets/{chunk-POPQ4Y6H-CexntQA-.js → chunk-POPQ4Y6H-D0Dz847e.js} +1 -1
  396. ksadk/server/static/assets/{chunk-RHFEMEQ7-CHTC7UxA.js → chunk-RHFEMEQ7-BWSRzEcd.js} +1 -1
  397. ksadk/server/static/assets/{chunk-SVP7TREG-BC1EWt_-.js → chunk-SVP7TREG-CPoHqkCY.js} +1 -1
  398. ksadk/server/static/assets/{chunk-XXDRQBXY-BTG24xN0.js → chunk-XXDRQBXY-Bx1jS-X-.js} +1 -1
  399. ksadk/server/static/assets/classDiagram-DTDB5LWJ-BVCW3ZqZ.js +1 -0
  400. ksadk/server/static/assets/classDiagram-v2-JRS7N3AN-BVCW3ZqZ.js +1 -0
  401. ksadk/server/static/assets/{cose-bilkent-JH36ORCC-CkonRdAS.js → cose-bilkent-JH36ORCC-LzyWm4m0.js} +1 -1
  402. ksadk/server/static/assets/cynefin-OW5HDTMX-CNXjFctL.js +1 -0
  403. ksadk/server/static/assets/{cynefinDiagram-5FMLGOSQ-DEOCBe15.js → cynefinDiagram-5FMLGOSQ-BlW_bHED.js} +1 -1
  404. ksadk/server/static/assets/{dagre-3AP2YEHR-DBThPuLa.js → dagre-3AP2YEHR-Bu_S86_i.js} +1 -1
  405. ksadk/server/static/assets/{dagre-ClTPrTht.js → dagre-B7nCawed.js} +1 -1
  406. ksadk/server/static/assets/{diagram-S7CK7UJ4-DsZHrnpJ.js → diagram-S7CK7UJ4-W_Zow2Km.js} +1 -1
  407. ksadk/server/static/assets/{diagram-UQ7AKVKN-BJR4nhVr.js → diagram-UQ7AKVKN-CLIKAHON.js} +1 -1
  408. ksadk/server/static/assets/{diagram-VSXAHHWV-xzcERX0a.js → diagram-VSXAHHWV-Dv6_QAlN.js} +1 -1
  409. ksadk/server/static/assets/{diagram-VX7I27RA-tn2xM1xu.js → diagram-VX7I27RA-BWAWRDtZ.js} +1 -1
  410. ksadk/server/static/assets/{diagram-Z3DM3KII-BZPGBkw5.js → diagram-Z3DM3KII-XA_rWMss.js} +1 -1
  411. ksadk/server/static/assets/dist-0X_j2Rcc.js +1 -0
  412. ksadk/server/static/assets/{dist-4zN1_tq5.js → dist-1nXCdsej.js} +1 -1
  413. ksadk/server/static/assets/{dist-M67Hwu0n.js → dist-2vL2sAdF.js} +1 -1
  414. ksadk/server/static/assets/{dist-BJLUwH6W.js → dist-B3bA05-e.js} +1 -1
  415. ksadk/server/static/assets/{dist-8VWI-2bZ.js → dist-BLpRy_Yx.js} +1 -1
  416. ksadk/server/static/assets/{dist-D1V3f1B4.js → dist-BO_UwatH.js} +1 -1
  417. ksadk/server/static/assets/{dist-Cq4OL6nO.js → dist-BdNFAney.js} +1 -1
  418. ksadk/server/static/assets/{dist-DfGFrb0v.js → dist-C0J5_3qM.js} +1 -1
  419. ksadk/server/static/assets/{dist-DyqV4fL4.js → dist-CGt_UGeO.js} +1 -1
  420. ksadk/server/static/assets/{dist-DjhwGUgZ.js → dist-CIRMvUM4.js} +1 -1
  421. ksadk/server/static/assets/{dist-B1oWRmrH.js → dist-CIpWk_5f.js} +1 -1
  422. ksadk/server/static/assets/{dist-CXpH_Rdd.js → dist-CPyieXEf.js} +1 -1
  423. ksadk/server/static/assets/{dist-Btyo4vX4.js → dist-D-92S-Fd.js} +1 -1
  424. ksadk/server/static/assets/{dist-u8tVH5Ak.js → dist-DNKuMzWc.js} +1 -1
  425. ksadk/server/static/assets/{dist-DQAB0qn_.js → dist-DWfdmz9s.js} +2 -2
  426. ksadk/server/static/assets/{dist-B-46q3Hk.js → dist-DppE_r-D.js} +1 -1
  427. ksadk/server/static/assets/{dist-C71CsujO.js → dist-DyG6Ya-z.js} +1 -1
  428. ksadk/server/static/assets/{dist-DJmCPRVB.js → dist-M-SrdhhZ.js} +1 -1
  429. ksadk/server/static/assets/{dist-Bbwqa8TG.js → dist-mqD5TZup.js} +1 -1
  430. ksadk/server/static/assets/{dist-BI1qQH4n.js → dist-n3n6t_FO.js} +1 -1
  431. ksadk/server/static/assets/{dist-DUwKa_l6.js → dist-qe8xjesy.js} +1 -1
  432. ksadk/server/static/assets/{dist-B0gdk4rl.js → dist-t6MzE0jU.js} +1 -1
  433. ksadk/server/static/assets/{ebnfDiagram-PWID7BFC-DVfMsLge.js → ebnfDiagram-PWID7BFC-BfCzF1Xi.js} +1 -1
  434. ksadk/server/static/assets/{erDiagram-SSCWMZ5O-CWEZSYaw.js → erDiagram-SSCWMZ5O-Dpz9_0zn.js} +1 -1
  435. ksadk/server/static/assets/eventmodeling-NTZA5JFV-B5-8RH9c.js +1 -0
  436. ksadk/server/static/assets/flowDiagram-A5DVABFB-BppFxEKw.js +1 -0
  437. ksadk/server/static/assets/{ganttDiagram-EL5Y4UJY-TWIxoyYL.js → ganttDiagram-EL5Y4UJY-DDaG1f4_.js} +1 -1
  438. ksadk/server/static/assets/gitGraph-4MIJSDKK-B-AhYj4C.js +1 -0
  439. ksadk/server/static/assets/{gitGraphDiagram-WWUBYQGX-DDh2hd2S.js → gitGraphDiagram-WWUBYQGX-DcxzRwYC.js} +1 -1
  440. ksadk/server/static/assets/index-BMd2mucF.css +2 -0
  441. ksadk/server/static/assets/index-D5qyyhTH.js +244 -0
  442. ksadk/server/static/assets/info-A6RAGUB7-0uiKrC35.js +1 -0
  443. ksadk/server/static/assets/{infoDiagram-RXCK75RN-CgoyWiDR.js → infoDiagram-RXCK75RN-CYMdn6lQ.js} +1 -1
  444. ksadk/server/static/assets/{ishikawaDiagram-5VMMS53U-CyRIu_om.js → ishikawaDiagram-5VMMS53U-CLHFAD6c.js} +1 -1
  445. ksadk/server/static/assets/{journeyDiagram-EYS64GPL-DN5JXHzN.js → journeyDiagram-EYS64GPL-BHSKQGAl.js} +1 -1
  446. ksadk/server/static/assets/{kanban-definition-3QL26DDD-CNP3ui66.js → kanban-definition-3QL26DDD-D5W3tjTT.js} +1 -1
  447. ksadk/server/static/assets/{katex-DWEzQy1d.js → katex-mtjOi4KM.js} +1 -1
  448. ksadk/server/static/assets/{linear-C-qHp7d2.js → linear-BETqsxE_.js} +1 -1
  449. ksadk/server/static/assets/{mermaid-parser.core-Cl-K943T.js → mermaid-parser.core-DPWrvs90.js} +2 -2
  450. ksadk/server/static/assets/{mindmap-definition-FBJOCRG2-D5DB5mYm.js → mindmap-definition-FBJOCRG2-CJG2mfBP.js} +1 -1
  451. ksadk/server/static/assets/packet-AYTQ26CC-BVTmZ_cw.js +1 -0
  452. ksadk/server/static/assets/{pegDiagram-XKGWAZYB-BQVc9ia_.js → pegDiagram-XKGWAZYB-GjAPNaqn.js} +1 -1
  453. ksadk/server/static/assets/pie-WAS4IAKB-DyfxBU7V.js +1 -0
  454. ksadk/server/static/assets/{pieDiagram-E7YTZNPT-B6UCAvtY.js → pieDiagram-E7YTZNPT-ToIewrqr.js} +1 -1
  455. ksadk/server/static/assets/{quadrantDiagram-AXDQQJYC-mIr2d3eb.js → quadrantDiagram-AXDQQJYC-4d78KiEY.js} +1 -1
  456. ksadk/server/static/assets/radar-RG4KPBEZ-FFontjL2.js +1 -0
  457. ksadk/server/static/assets/railroad-74A4TZTK-D0Uidzen.js +1 -0
  458. ksadk/server/static/assets/railroad-abnf-HS5TGJTU-BOo_9T2h.js +1 -0
  459. ksadk/server/static/assets/railroad-ebnf-LZEXJU2U-D6-BjW7Z.js +1 -0
  460. ksadk/server/static/assets/railroad-peg-WCYAUIDC-CXx__yMm.js +1 -0
  461. ksadk/server/static/assets/{railroadDiagram-O6MQD6OU-Dt3FFDmK.js → railroadDiagram-O6MQD6OU-DKzx4xfv.js} +1 -1
  462. ksadk/server/static/assets/{requirementDiagram-EFPCY7ZU-Cz_vQtgF.js → requirementDiagram-EFPCY7ZU-CJYljxQS.js} +1 -1
  463. ksadk/server/static/assets/{sankeyDiagram-P5KCCOFB-wlO1TsH5.js → sankeyDiagram-P5KCCOFB-DLU2fV1w.js} +1 -1
  464. ksadk/server/static/assets/{sequenceDiagram-WJ2MYXX4-CHRbElYq.js → sequenceDiagram-WJ2MYXX4-CVqysrA9.js} +1 -1
  465. ksadk/server/static/assets/{sizeCapture-X5ZJPWSS-DXX54iyO.js → sizeCapture-X5ZJPWSS-BUxfmTHc.js} +1 -1
  466. ksadk/server/static/assets/{stateDiagram-HBIQ2CUA-Dp_lw9II.js → stateDiagram-HBIQ2CUA-CNFgYI9E.js} +1 -1
  467. ksadk/server/static/assets/stateDiagram-v2-4QOOHH4V-BXAFScz8.js +1 -0
  468. ksadk/server/static/assets/{swimlanes-XN3QIQJK-D8O5UlLG.js → swimlanes-XN3QIQJK-B6qCMe8N.js} +1 -1
  469. ksadk/server/static/assets/swimlanesDiagram-VK2B7HYN-uIQ2lJKH.js +8 -0
  470. ksadk/server/static/assets/{timeline-definition-24CTP7MA-8mfKcxvG.js → timeline-definition-24CTP7MA-CMD3x_U_.js} +1 -1
  471. ksadk/server/static/assets/treeView-Q6P3EWNA-CK5GgucZ.js +1 -0
  472. ksadk/server/static/assets/treemap-WGGIJYW6-Bq1u1SpG.js +1 -0
  473. ksadk/server/static/assets/{vennDiagram-4TSXK5OY-EnNl0DE7.js → vennDiagram-4TSXK5OY-BqtUqvXM.js} +1 -1
  474. ksadk/server/static/assets/wardley-WFR3VGLG-QAt06uEz.js +1 -0
  475. ksadk/server/static/assets/{wardleyDiagram-VM6X3IG4-DBu5fbYr.js → wardleyDiagram-VM6X3IG4-B5KfDjI-.js} +1 -1
  476. ksadk/server/static/assets/{xychartDiagram-S5SC5T6Z-BSVXs4IY.js → xychartDiagram-S5SC5T6Z-BaUlSZrn.js} +1 -1
  477. ksadk/server/static/index.html +2 -2
  478. ksadk/server/terminal_sessions.py +34 -2
  479. ksadk/session_context.py +66 -0
  480. ksadk/sessions/__init__.py +11 -21
  481. ksadk/sessions/_local_service_sync.py +263 -1
  482. ksadk/sessions/base.py +176 -0
  483. ksadk/sessions/errors.py +4 -0
  484. ksadk/sessions/in_memory.py +309 -19
  485. ksadk/sessions/invocation_identity.py +235 -0
  486. ksadk/sessions/local_service.py +83 -1
  487. ksadk/sessions/persistence.py +275 -0
  488. ksadk/sessions/postgres_service.py +358 -0
  489. ksadk/sessions/resilience.py +8 -0
  490. ksadk/sessions/resilient.py +362 -4
  491. ksadk/sessions/topology.py +135 -0
  492. ksadk/skills/__init__.py +26 -0
  493. ksadk/skills/events.py +464 -0
  494. ksadk/skills/manifest_cache.py +263 -0
  495. ksadk/skills/mcp_server/__init__.py +0 -0
  496. ksadk/skills/mcp_server/_registry.py +33 -0
  497. ksadk/skills/mcp_server/_routing.py +26 -0
  498. ksadk/skills/mcp_server/_workspace_files.py +160 -0
  499. ksadk/skills/mcp_server/register.py +415 -0
  500. ksadk/skills/mcp_server/server.py +218 -0
  501. ksadk/skills/models.py +37 -4
  502. ksadk/skills/observability.py +132 -0
  503. ksadk/skills/package_store.py +261 -40
  504. ksadk/skills/runtime/agent.py +67 -9
  505. ksadk/skills/runtime/artifact_delivery.py +139 -0
  506. ksadk/skills/runtime/artifacts.py +87 -0
  507. ksadk/skills/runtime/backends/e2b.py +460 -27
  508. ksadk/skills/runtime/backends/local.py +629 -62
  509. ksadk/skills/runtime/base.py +81 -7
  510. ksadk/skills/runtime/executor.py +268 -1
  511. ksadk/skills/runtime/loader.py +118 -5
  512. ksadk/skills/runtime/pinned.py +114 -0
  513. ksadk/skills/runtime/request.py +49 -0
  514. ksadk/skills/service_client.py +167 -28
  515. ksadk/skills/tool_defs.py +108 -3
  516. ksadk/studio/api.py +810 -93
  517. ksadk/studio/api_catalog_routes.py +18 -0
  518. ksadk/studio/api_contracts.py +8 -2
  519. ksadk/studio/api_plugin_routes.py +562 -104
  520. ksadk/studio/api_resource_connections.py +221 -0
  521. ksadk/studio/authoring.py +12 -6
  522. ksadk/studio/authoring_coordinator.py +23 -16
  523. ksadk/studio/builder.py +88 -0
  524. ksadk/studio/capabilities.py +23 -6
  525. ksadk/studio/channel_connections.py +333 -0
  526. ksadk/studio/cloud.py +370 -112
  527. ksadk/studio/cloud_shared_web.py +638 -0
  528. ksadk/studio/codex_agent_service.py +130 -28
  529. ksadk/studio/codex_builder.py +242 -3
  530. ksadk/studio/codex_credentials.py +90 -0
  531. ksadk/studio/codex_manifest.py +31 -4
  532. ksadk/studio/codex_plugin_store.py +746 -0
  533. ksadk/studio/codex_provider_build.py +231 -0
  534. ksadk/studio/codex_run.py +190 -26
  535. ksadk/studio/compatibility_report.py +12 -1
  536. ksadk/studio/compiler.py +88 -14
  537. ksadk/studio/configuration.py +182 -0
  538. ksadk/studio/contracts.py +165 -11
  539. ksadk/studio/dsh_application.py +247 -0
  540. ksadk/studio/dsh_capability_service.py +1374 -0
  541. ksadk/studio/dsh_lifecycle.py +58 -0
  542. ksadk/studio/dsh_models.py +59 -0
  543. ksadk/studio/dsh_provider_registration.py +367 -21
  544. ksadk/studio/entry.py +53 -0
  545. ksadk/studio/event_store.py +36 -5
  546. ksadk/studio/execution_host.py +525 -0
  547. ksadk/studio/framework_run.py +32 -10
  548. ksadk/studio/hosted_kernel.py +89 -14
  549. ksadk/studio/kernel_registry.py +418 -0
  550. ksadk/studio/kernel_sqlite_migration.py +181 -0
  551. ksadk/studio/mcp_runtime.py +11 -3
  552. ksadk/studio/model_client.py +1180 -66
  553. ksadk/studio/model_profile_service.py +26 -11
  554. ksadk/studio/native_documents.py +172 -0
  555. ksadk/studio/plugin_composition.py +202 -24
  556. ksadk/studio/plugin_kernel_adapter.py +21 -106
  557. ksadk/studio/plugin_lifecycle.py +80 -0
  558. ksadk/studio/plugin_runtime.py +448 -56
  559. ksadk/studio/provider_recovery.py +59 -0
  560. ksadk/studio/recovery_page.py +70 -0
  561. ksadk/studio/resource_authority.py +664 -0
  562. ksadk/studio/resource_binding_validation.py +77 -0
  563. ksadk/studio/resource_build_admission.py +196 -0
  564. ksadk/studio/resource_build_materializer.py +149 -0
  565. ksadk/studio/resource_catalog.py +149 -2
  566. ksadk/studio/resource_connections.py +220 -0
  567. ksadk/studio/run_activity.py +895 -0
  568. ksadk/studio/run_documents.py +127 -0
  569. ksadk/studio/run_service.py +789 -83
  570. ksadk/studio/runtime_catalog.py +53 -10
  571. ksadk/studio/runtime_source.py +16 -8
  572. ksadk/studio/scheduler_assistant.py +317 -0
  573. ksadk/studio/scheduler_runtime.py +32 -280
  574. ksadk/studio/scheduler_service.py +3 -0
  575. ksadk/studio/service.py +861 -120
  576. ksadk/studio/shared_web.py +579 -82
  577. ksadk/studio/static/assets/ChannelsPage-D_PGmKVq.js +8 -0
  578. ksadk/studio/static/assets/CodeBlock-DMIf4h33-UIqo-BPW.js +44 -0
  579. ksadk/studio/static/assets/ExecutionTree-v3HexvPo-Bk8wzGSy.js +1 -0
  580. ksadk/studio/static/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2 +0 -0
  581. ksadk/studio/static/assets/KaTeX_AMS-Regular-DMm9YOAa.woff +0 -0
  582. ksadk/studio/static/assets/KaTeX_AMS-Regular-DRggAlZN.ttf +0 -0
  583. ksadk/studio/static/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf +0 -0
  584. ksadk/studio/static/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff +0 -0
  585. ksadk/studio/static/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2 +0 -0
  586. ksadk/studio/static/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff +0 -0
  587. ksadk/studio/static/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2 +0 -0
  588. ksadk/studio/static/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf +0 -0
  589. ksadk/studio/static/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf +0 -0
  590. ksadk/studio/static/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff +0 -0
  591. ksadk/studio/static/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2 +0 -0
  592. ksadk/studio/static/assets/KaTeX_Fraktur-Regular-CB_wures.ttf +0 -0
  593. ksadk/studio/static/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2 +0 -0
  594. ksadk/studio/static/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff +0 -0
  595. ksadk/studio/static/assets/KaTeX_Main-Bold-Cx986IdX.woff2 +0 -0
  596. ksadk/studio/static/assets/KaTeX_Main-Bold-Jm3AIy58.woff +0 -0
  597. ksadk/studio/static/assets/KaTeX_Main-Bold-waoOVXN0.ttf +0 -0
  598. ksadk/studio/static/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2 +0 -0
  599. ksadk/studio/static/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf +0 -0
  600. ksadk/studio/static/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff +0 -0
  601. ksadk/studio/static/assets/KaTeX_Main-Italic-3WenGoN9.ttf +0 -0
  602. ksadk/studio/static/assets/KaTeX_Main-Italic-BMLOBm91.woff +0 -0
  603. ksadk/studio/static/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2 +0 -0
  604. ksadk/studio/static/assets/KaTeX_Main-Regular-B22Nviop.woff2 +0 -0
  605. ksadk/studio/static/assets/KaTeX_Main-Regular-Dr94JaBh.woff +0 -0
  606. ksadk/studio/static/assets/KaTeX_Main-Regular-ypZvNtVU.ttf +0 -0
  607. ksadk/studio/static/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf +0 -0
  608. ksadk/studio/static/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2 +0 -0
  609. ksadk/studio/static/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff +0 -0
  610. ksadk/studio/static/assets/KaTeX_Math-Italic-DA0__PXp.woff +0 -0
  611. ksadk/studio/static/assets/KaTeX_Math-Italic-flOr_0UB.ttf +0 -0
  612. ksadk/studio/static/assets/KaTeX_Math-Italic-t53AETM-.woff2 +0 -0
  613. ksadk/studio/static/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf +0 -0
  614. ksadk/studio/static/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2 +0 -0
  615. ksadk/studio/static/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff +0 -0
  616. ksadk/studio/static/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2 +0 -0
  617. ksadk/studio/static/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff +0 -0
  618. ksadk/studio/static/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf +0 -0
  619. ksadk/studio/static/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf +0 -0
  620. ksadk/studio/static/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff +0 -0
  621. ksadk/studio/static/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2 +0 -0
  622. ksadk/studio/static/assets/KaTeX_Script-Regular-C5JkGWo-.ttf +0 -0
  623. ksadk/studio/static/assets/KaTeX_Script-Regular-D3wIWfF6.woff2 +0 -0
  624. ksadk/studio/static/assets/KaTeX_Script-Regular-D5yQViql.woff +0 -0
  625. ksadk/studio/static/assets/KaTeX_Size1-Regular-C195tn64.woff +0 -0
  626. ksadk/studio/static/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf +0 -0
  627. ksadk/studio/static/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2 +0 -0
  628. ksadk/studio/static/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf +0 -0
  629. ksadk/studio/static/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2 +0 -0
  630. ksadk/studio/static/assets/KaTeX_Size2-Regular-oD1tc_U0.woff +0 -0
  631. ksadk/studio/static/assets/KaTeX_Size3-Regular-CTq5MqoE.woff +0 -0
  632. ksadk/studio/static/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf +0 -0
  633. ksadk/studio/static/assets/KaTeX_Size4-Regular-BF-4gkZK.woff +0 -0
  634. ksadk/studio/static/assets/KaTeX_Size4-Regular-DWFBv043.ttf +0 -0
  635. ksadk/studio/static/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2 +0 -0
  636. ksadk/studio/static/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff +0 -0
  637. ksadk/studio/static/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2 +0 -0
  638. ksadk/studio/static/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf +0 -0
  639. ksadk/studio/static/assets/MathMessageMarkdown-BesSeCYl-BEOyPC3w.css +1 -0
  640. ksadk/studio/static/assets/MathMessageMarkdown-BesSeCYl-OhNwH4K9.js +8 -0
  641. ksadk/studio/static/assets/MermaidBlock-H_0qzQDf-BdXtxug_.js +11 -0
  642. ksadk/studio/static/assets/MessageMarkdown-CwMTvgFj-g0I-I4dD.js +59 -0
  643. ksadk/studio/static/assets/PrismRenderer-5pK6tUdb.js +3 -0
  644. ksadk/studio/static/assets/TeamsPage-DqX4HWKQ.js +3 -0
  645. ksadk/studio/static/assets/abnfDiagram-VCTEODGH-Bnb1O3tA.js +1 -0
  646. ksadk/studio/static/assets/arc-Pry-7G1_.js +1 -0
  647. ksadk/studio/static/assets/architecture-7GRP2DOG-BMOPAkUC.js +1 -0
  648. ksadk/studio/static/assets/architectureDiagram-5GKGNRK7-5Zn1gqJv.js +36 -0
  649. ksadk/studio/static/assets/array-BifhSqXX.js +1 -0
  650. ksadk/studio/static/assets/blockDiagram-I7D4REHJ-CLB4L11u.js +129 -0
  651. ksadk/studio/static/assets/c4Diagram-7LVT6UL2-BOma_Z_F.js +38 -0
  652. ksadk/studio/static/assets/channel-r8itPEik.js +1 -0
  653. ksadk/studio/static/assets/chunk-2E4U76K2-BFf_huql.js +2 -0
  654. ksadk/studio/static/assets/chunk-2Q5K7J3B-C1jixKkw.js +1 -0
  655. ksadk/studio/static/assets/chunk-2ZTRR5NV-C2qZJila.js +2 -0
  656. ksadk/studio/static/assets/chunk-3Z5EZCMW-DMniOlPd.js +1 -0
  657. ksadk/studio/static/assets/chunk-4HAMMTFA-DVtDP4rm.js +62 -0
  658. ksadk/studio/static/assets/chunk-5V3GS4D5-i-ZDOEnP.js +1 -0
  659. ksadk/studio/static/assets/chunk-5VM5RSS4-ZNzvKenW.js +15 -0
  660. ksadk/studio/static/assets/chunk-6AZGARVD-BB6FqMl-.js +1 -0
  661. ksadk/studio/static/assets/chunk-6EIED4P4-DdUJkP0f.js +1 -0
  662. ksadk/studio/static/assets/chunk-6K3QC6MW-CqVsVn-y.js +1 -0
  663. ksadk/studio/static/assets/chunk-6TQVIW2G-DKlLbNIP.js +1 -0
  664. ksadk/studio/static/assets/chunk-747NJXEK-BFkZPlab.js +2 -0
  665. ksadk/studio/static/assets/chunk-75Z2AOVW-BZNhM4vB.js +2 -0
  666. ksadk/studio/static/assets/chunk-CLGD4ZFX-D-GTtyKs.js +1 -0
  667. ksadk/studio/static/assets/chunk-DU6HZSFF-CpEZCUgg.js +128 -0
  668. ksadk/studio/static/assets/chunk-F27PBJKO-D7pvKf0C.js +1 -0
  669. ksadk/studio/static/assets/chunk-FOHPRMQF-DHwB1DNv.js +161 -0
  670. ksadk/studio/static/assets/chunk-GMAD6QVW-DE_8H717.js +72 -0
  671. ksadk/studio/static/assets/chunk-GVQU2GXP-BfEB0lNv.js +1 -0
  672. ksadk/studio/static/assets/chunk-I5DQTOEV-Hm2LfiYI.js +1 -0
  673. ksadk/studio/static/assets/chunk-ICYGCRZG-749o-pGJ.js +1 -0
  674. ksadk/studio/static/assets/chunk-IH6LHLGP-CC6I9F3i.js +1 -0
  675. ksadk/studio/static/assets/chunk-IMKFNOWR-D38axYOR.js +231 -0
  676. ksadk/studio/static/assets/chunk-JWPE2WC7-DVXcaiue.js +1 -0
  677. ksadk/studio/static/assets/chunk-KI3K4JFJ-Rma-0k_M.js +1 -0
  678. ksadk/studio/static/assets/chunk-L3NEJ4N5-Dq5xn7aL.js +1 -0
  679. ksadk/studio/static/assets/chunk-LNGE3PJU-DWpGwHrW.js +34 -0
  680. ksadk/studio/static/assets/chunk-OSK3NFVY-DiCQjx9b.js +10 -0
  681. ksadk/studio/static/assets/chunk-OUJLGHUK-D0j2JRSg.js +2 -0
  682. ksadk/studio/static/assets/chunk-P2QGCYS3-VdhKmfYq.js +1 -0
  683. ksadk/studio/static/assets/chunk-POPQ4Y6H-C1_rzO5M.js +1 -0
  684. ksadk/studio/static/assets/chunk-PWAF6VOD-B45HvflI.js +1 -0
  685. ksadk/studio/static/assets/chunk-SHT3W25Y-DsCFnRVE.js +168 -0
  686. ksadk/studio/static/assets/chunk-SVP7TREG-DljApgRX.js +88 -0
  687. ksadk/studio/static/assets/chunk-TICWLB2K-DWqRtyqa.js +206 -0
  688. ksadk/studio/static/assets/chunk-TLUHSLCS-DUeGgnD5.js +2 -0
  689. ksadk/studio/static/assets/chunk-UY3FDG6J-CnmaAkG5.js +1 -0
  690. ksadk/studio/static/assets/chunk-XHIXRSVI-BFQ6B8BE.js +1 -0
  691. ksadk/studio/static/assets/chunk-XXDRQBXY-DqAYeljN.js +1 -0
  692. ksadk/studio/static/assets/chunk-Y2CYZVJY-DsF7k-Jl.js +1 -0
  693. ksadk/studio/static/assets/classDiagram-ZZMXUADV-DjeMNJmu.js +1 -0
  694. ksadk/studio/static/assets/classDiagram-v2-VYDZK3BY-DjeMNJmu.js +1 -0
  695. ksadk/studio/static/assets/clsx-DB0hHKMi.js +1 -0
  696. ksadk/studio/static/assets/cose-bilkent-JH36ORCC-om8AY0Mc.js +1 -0
  697. ksadk/studio/static/assets/createLucideIcon-DR0LGTP5.js +1 -0
  698. ksadk/studio/static/assets/cynefin-OW5HDTMX-7tP7QfM3.js +1 -0
  699. ksadk/studio/static/assets/cynefinDiagram-5FMLGOSQ-6BrmK52S.js +62 -0
  700. ksadk/studio/static/assets/cytoscape.esm-CGd-uY3x.js +321 -0
  701. ksadk/studio/static/assets/dagre-GXQ25YYZ-buZBRlwz.js +4 -0
  702. ksadk/studio/static/assets/dagre-PrKaheQc.js +1 -0
  703. ksadk/studio/static/assets/defaultLocale-BFoDCU3G.js +1 -0
  704. ksadk/studio/static/assets/diagram-S7CK7UJ4-C6aH78c4.js +30 -0
  705. ksadk/studio/static/assets/diagram-UQ7AKVKN-DY_tQ6C_.js +41 -0
  706. ksadk/studio/static/assets/diagram-VSXAHHWV-DX9p5cQT.js +3 -0
  707. ksadk/studio/static/assets/diagram-VX7I27RA-DB2WSH8X.js +24 -0
  708. ksadk/studio/static/assets/diagram-Z3DM3KII-Ce1BJwHE.js +24 -0
  709. ksadk/studio/static/assets/dist-v5Q1xZ2K.js +1 -0
  710. ksadk/studio/static/assets/ebnfDiagram-PWID7BFC-Daukxwqf.js +1 -0
  711. ksadk/studio/static/assets/erDiagram-RLTQ6QDP-CGthTMmJ.js +99 -0
  712. ksadk/studio/static/assets/eventmodeling-NTZA5JFV-BR2FzK4R.js +1 -0
  713. ksadk/studio/static/assets/flowDiagram-HODETNUW-CZ1tEenp.js +1 -0
  714. ksadk/studio/static/assets/ganttDiagram-EL5Y4UJY-BfoAZW9X.js +292 -0
  715. ksadk/studio/static/assets/gitGraph-4MIJSDKK-DYlXv_yJ.js +1 -0
  716. ksadk/studio/static/assets/gitGraphDiagram-WWUBYQGX-S985OIJF.js +106 -0
  717. ksadk/studio/static/assets/graphlib-DS17s2tU.js +1 -0
  718. ksadk/studio/static/assets/iconfont-4HN3C9Pg.woff2 +0 -0
  719. ksadk/studio/static/assets/index-CfEnms6Y.css +2 -0
  720. ksadk/studio/static/assets/index-Dp61rOWZ.js +0 -0
  721. ksadk/studio/static/assets/index.dom-BQenBtFm.js +1 -0
  722. ksadk/studio/static/assets/info-A6RAGUB7-BlU-8_xu.js +1 -0
  723. ksadk/studio/static/assets/infoDiagram-27XIBGKW-CO3W8tFn.js +2 -0
  724. ksadk/studio/static/assets/init-C-OQMol4.js +1 -0
  725. ksadk/studio/static/assets/ishikawaDiagram-5VMMS53U-BUGEl8cO.js +70 -0
  726. ksadk/studio/static/assets/journeyDiagram-3NMN7TZE-Ch2ZYxvr.js +139 -0
  727. ksadk/studio/static/assets/kanban-definition-UXKFOSKX-Da-Fp4vC.js +89 -0
  728. ksadk/studio/static/assets/katex-DhON-x74.js +257 -0
  729. ksadk/studio/static/assets/kingsoft-cloud-BOcLiQ3e.ico +0 -0
  730. ksadk/studio/static/assets/line-BDaeq300.js +1 -0
  731. ksadk/studio/static/assets/linear-DmucvK78.js +1 -0
  732. ksadk/studio/static/assets/mermaid-parser.core-Cj5mYdBi.js +4 -0
  733. ksadk/studio/static/assets/mindmap-definition-YA3MSWOX-CvlsVQ38.js +96 -0
  734. ksadk/studio/static/assets/ordinal-BDEzSJ7C.js +1 -0
  735. ksadk/studio/static/assets/packet-AYTQ26CC-BSJEH9Lb.js +1 -0
  736. ksadk/studio/static/assets/path-fybaL0A-.js +1 -0
  737. ksadk/studio/static/assets/pegDiagram-XKGWAZYB-BuHuNgT5.js +1 -0
  738. ksadk/studio/static/assets/pie-WAS4IAKB-qxv01Y8W.js +1 -0
  739. ksadk/studio/static/assets/pieDiagram-E7YTZNPT-DlrWiSOv.js +39 -0
  740. ksadk/studio/static/assets/preload-helper-CO68xz6u.js +1 -0
  741. ksadk/studio/static/assets/presentation-yYw7xK60-BmcZriri.js +1 -0
  742. ksadk/studio/static/assets/quadrantDiagram-AXDQQJYC-BA3hpUZM.js +7 -0
  743. ksadk/studio/static/assets/radar-RG4KPBEZ-B6h6pWOs.js +1 -0
  744. ksadk/studio/static/assets/railroad-74A4TZTK-CGtTWdGc.js +1 -0
  745. ksadk/studio/static/assets/railroad-abnf-HS5TGJTU-Cq7y22IA.js +1 -0
  746. ksadk/studio/static/assets/railroad-ebnf-LZEXJU2U-V0aQVv9m.js +1 -0
  747. ksadk/studio/static/assets/railroad-peg-WCYAUIDC-BQiIsX_p.js +1 -0
  748. ksadk/studio/static/assets/railroadDiagram-O6MQD6OU-BxpAazym.js +1 -0
  749. ksadk/studio/static/assets/requirementDiagram-BXWQKSXE-E-Ge0FcV.js +84 -0
  750. ksadk/studio/static/assets/rolldown-runtime-Dy4uBu1J-DK3Fl9T5.js +1 -0
  751. ksadk/studio/static/assets/rough.esm-Dy-Kn_BL.js +1 -0
  752. ksadk/studio/static/assets/sankeyDiagram-P5KCCOFB-CA6YKhQ3.js +40 -0
  753. ksadk/studio/static/assets/sequenceDiagram-WJ2MYXX4-CcElXGg4.js +162 -0
  754. ksadk/studio/static/assets/sizeCapture-INFHLROL-B0uUizjq.js +1 -0
  755. ksadk/studio/static/assets/src-B6xuSHsQ.js +1 -0
  756. ksadk/studio/static/assets/stateDiagram-D77RDMKH-DdXZOFqY.js +1 -0
  757. ksadk/studio/static/assets/stateDiagram-v2-MP3YSRHH-CJbOM-QK.js +1 -0
  758. ksadk/studio/static/assets/swimlanes-42K2YHIH-NtgEEHLY.js +1 -0
  759. ksadk/studio/static/assets/swimlanesDiagram-VR7AAH4N-D-AVlW8B.js +8 -0
  760. ksadk/studio/static/assets/timeline-definition-24CTP7MA-CIuYhNy3.js +120 -0
  761. ksadk/studio/static/assets/treeView-Q6P3EWNA-BTTYcvrF.js +1 -0
  762. ksadk/studio/static/assets/treemap-WGGIJYW6-Cg7tyfH8.js +1 -0
  763. ksadk/studio/static/assets/vennDiagram-4TSXK5OY-7HbApbrv.js +34 -0
  764. ksadk/studio/static/assets/wardley-WFR3VGLG-C6N1rULY.js +1 -0
  765. ksadk/studio/static/assets/wardleyDiagram-VM6X3IG4-CMJiaedy.js +78 -0
  766. ksadk/studio/static/assets/xychartDiagram-S5SC5T6Z-BdgtMvW2.js +7 -0
  767. ksadk/studio/static/index.html +8 -2
  768. ksadk/studio/teams_catalog.py +133 -0
  769. ksadk/studio/teams_installation.py +214 -0
  770. ksadk/studio/teams_node.py +545 -0
  771. ksadk/studio/teams_node_runner.py +69 -0
  772. ksadk/studio/teams_remote.py +274 -0
  773. ksadk/studio/templates.py +40 -19
  774. ksadk/studio/validator.py +13 -0
  775. ksadk/studio/workspace.py +19 -4
  776. ksadk/studio/workspace_plugins.py +136 -0
  777. ksadk/studio/workspace_registry.py +286 -0
  778. ksadk/toolsets/__init__.py +11 -0
  779. ksadk/toolsets/skills.py +446 -378
  780. ksadk/toolsets/workspace.py +3 -3
  781. ksadk/toolsets/workspace_identity.py +15 -0
  782. ksadk/version.py +1 -1
  783. ksadk_runtime_common/memory_backend/providers/lancedb.py +56 -2
  784. ksadk_runtime_common/schemas/memory_backend_manifest.schema.json +148 -148
  785. ksadk_runtime_common/workspace_files/router.py +26 -13
  786. agentengine_sdk_python-0.8.3.dist-info/RECORD +0 -833
  787. ksadk/server/static/assets/MathMessageMarkdown-D9uB55Oh.js +0 -8
  788. ksadk/server/static/assets/architecture-7GRP2DOG-Dk9nRQ6-.js +0 -1
  789. ksadk/server/static/assets/channel-s354Yo6o.js +0 -1
  790. ksadk/server/static/assets/chunk-2Q5K7J3B-CDpPpKR5.js +0 -1
  791. ksadk/server/static/assets/classDiagram-DTDB5LWJ-Dd0nucl9.js +0 -1
  792. ksadk/server/static/assets/classDiagram-v2-JRS7N3AN-Dd0nucl9.js +0 -1
  793. ksadk/server/static/assets/cynefin-OW5HDTMX-BBlT4uMf.js +0 -1
  794. ksadk/server/static/assets/dist-DdRBIceA.js +0 -1
  795. ksadk/server/static/assets/eventmodeling-NTZA5JFV-Dr5okd8V.js +0 -1
  796. ksadk/server/static/assets/flowDiagram-A5DVABFB-VEO-cVcO.js +0 -1
  797. ksadk/server/static/assets/gitGraph-4MIJSDKK-CKiKY9Cf.js +0 -1
  798. ksadk/server/static/assets/index-B2k_urY8.js +0 -241
  799. ksadk/server/static/assets/index-ILPt6IWF.css +0 -2
  800. ksadk/server/static/assets/info-A6RAGUB7-ubA4Nm_p.js +0 -1
  801. ksadk/server/static/assets/packet-AYTQ26CC-C7R3NUlK.js +0 -1
  802. ksadk/server/static/assets/pie-WAS4IAKB-BIT6qjr3.js +0 -1
  803. ksadk/server/static/assets/radar-RG4KPBEZ-l5noef9X.js +0 -1
  804. ksadk/server/static/assets/railroad-74A4TZTK-Baea6ZvM.js +0 -1
  805. ksadk/server/static/assets/railroad-abnf-HS5TGJTU-OKn8zZnU.js +0 -1
  806. ksadk/server/static/assets/railroad-ebnf-LZEXJU2U-DdKAKC4l.js +0 -1
  807. ksadk/server/static/assets/railroad-peg-WCYAUIDC-Bds8udlG.js +0 -1
  808. ksadk/server/static/assets/stateDiagram-v2-4QOOHH4V-5b-8o2iS.js +0 -1
  809. ksadk/server/static/assets/swimlanesDiagram-VK2B7HYN-uf6WPRA4.js +0 -8
  810. ksadk/server/static/assets/treeView-Q6P3EWNA-CK5CSrSO.js +0 -1
  811. ksadk/server/static/assets/treemap-WGGIJYW6-Ch2BKgAM.js +0 -1
  812. ksadk/server/static/assets/wardley-WFR3VGLG-YW3Q0ml_.js +0 -1
  813. ksadk/studio/static/assets/PrismRenderer-IYN-ffww.js +0 -3
  814. ksadk/studio/static/assets/index-DXs1Eq4M.css +0 -1
  815. ksadk/studio/static/assets/index-DeDqwTsD.js +0 -283
  816. {agentengine_sdk_python-0.8.3.dist-info → agentengine_sdk_python-0.8.5.dist-info}/WHEEL +0 -0
  817. {agentengine_sdk_python-0.8.3.dist-info → agentengine_sdk_python-0.8.5.dist-info}/entry_points.txt +0 -0
  818. {agentengine_sdk_python-0.8.3.dist-info → agentengine_sdk_python-0.8.5.dist-info}/licenses/LICENSE +0 -0
  819. {agentengine_sdk_python-0.8.3.dist-info → agentengine_sdk_python-0.8.5.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,3 @@
1
+ import{r as e}from"./rolldown-runtime-hePW80VL.js";import{i as t,t as n}from"./react-vendor-BNmTiJ-I.js";import{t as r}from"./clsx-DB0hHKMi.js";var i=e(t(),1),a=Object.create,o=Object.defineProperty,s=Object.defineProperties,c=Object.getOwnPropertyDescriptor,l=Object.getOwnPropertyDescriptors,u=Object.getOwnPropertyNames,d=Object.getOwnPropertySymbols,f=Object.getPrototypeOf,p=Object.prototype.hasOwnProperty,m=Object.prototype.propertyIsEnumerable,h=(e,t,n)=>t in e?o(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,g=(e,t)=>{for(var n in t||={})p.call(t,n)&&h(e,n,t[n]);if(d)for(var n of d(t))m.call(t,n)&&h(e,n,t[n]);return e},_=(e,t)=>s(e,l(t)),v=(e,t)=>{var n={};for(var r in e)p.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&d)for(var r of d(e))t.indexOf(r)<0&&m.call(e,r)&&(n[r]=e[r]);return n},y=(e,t)=>function(){return t||(0,e[u(e)[0]])((t={exports:{}}).exports,t),t.exports},b=(e,t)=>{for(var n in t)o(e,n,{get:t[n],enumerable:!0})},x=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(let i of u(t))!p.call(e,i)&&i!==n&&o(e,i,{get:()=>t[i],enumerable:!(r=c(t,i))||r.enumerable});return e},S=((e,t,n)=>(n=e==null?{}:a(f(e)),x(t||!e||!e.__esModule?o(n,`default`,{value:e,enumerable:!0}):n,e)))(y({"../../node_modules/.pnpm/prismjs@1.29.0_patch_hash=vrxx3pzkik6jpmgpayxfjunetu/node_modules/prismjs/prism.js"(e,t){var n=function(){var e=/(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i,t=0,n={},r={util:{encode:function e(t){return t instanceof i?new i(t.type,e(t.content),t.alias):Array.isArray(t)?t.map(e):t.replace(/&/g,`&amp;`).replace(/</g,`&lt;`).replace(/\u00a0/g,` `)},type:function(e){return Object.prototype.toString.call(e).slice(8,-1)},objId:function(e){return e.__id||Object.defineProperty(e,"__id",{value:++t}),e.__id},clone:function e(t,n){n||={};var i,a;switch(r.util.type(t)){case`Object`:if(a=r.util.objId(t),n[a])return n[a];for(var o in i={},n[a]=i,t)t.hasOwnProperty(o)&&(i[o]=e(t[o],n));return i;case`Array`:return a=r.util.objId(t),n[a]?n[a]:(i=[],n[a]=i,t.forEach(function(t,r){i[r]=e(t,n)}),i);default:return t}},getLanguage:function(t){for(;t;){var n=e.exec(t.className);if(n)return n[1].toLowerCase();t=t.parentElement}return`none`},setLanguage:function(t,n){t.className=t.className.replace(RegExp(e,`gi`),``),t.classList.add(`language-`+n)},isActive:function(e,t,n){for(var r=`no-`+t;e;){var i=e.classList;if(i.contains(t))return!0;if(i.contains(r))return!1;e=e.parentElement}return!!n}},languages:{plain:n,plaintext:n,text:n,txt:n,extend:function(e,t){var n=r.util.clone(r.languages[e]);for(var i in t)n[i]=t[i];return n},insertBefore:function(e,t,n,i){i||=r.languages;var a=i[e],o={};for(var s in a)if(a.hasOwnProperty(s)){if(s==t)for(var c in n)n.hasOwnProperty(c)&&(o[c]=n[c]);n.hasOwnProperty(s)||(o[s]=a[s])}var l=i[e];return i[e]=o,r.languages.DFS(r.languages,function(t,n){n===l&&t!=e&&(this[t]=o)}),o},DFS:function e(t,n,i,a){a||={};var o=r.util.objId;for(var s in t)if(t.hasOwnProperty(s)){n.call(t,s,t[s],i||s);var c=t[s],l=r.util.type(c);l===`Object`&&!a[o(c)]?(a[o(c)]=!0,e(c,n,null,a)):l===`Array`&&!a[o(c)]&&(a[o(c)]=!0,e(c,n,s,a))}}},plugins:{},highlight:function(e,t,n){var a={code:e,grammar:t,language:n};if(r.hooks.run(`before-tokenize`,a),!a.grammar)throw Error(`The language "`+a.language+`" has no grammar.`);return a.tokens=r.tokenize(a.code,a.grammar),r.hooks.run(`after-tokenize`,a),i.stringify(r.util.encode(a.tokens),a.language)},tokenize:function(e,t){var n=t.rest;if(n){for(var r in n)t[r]=n[r];delete t.rest}var i=new s;return c(i,i.head,e),o(e,i,t,i.head,0),u(i)},hooks:{all:{},add:function(e,t){var n=r.hooks.all;n[e]=n[e]||[],n[e].push(t)},run:function(e,t){var n=r.hooks.all[e];if(!(!n||!n.length))for(var i=0,a;a=n[i++];)a(t)}},Token:i};function i(e,t,n,r){this.type=e,this.content=t,this.alias=n,this.length=(r||``).length|0}i.stringify=function e(t,n){if(typeof t==`string`)return t;if(Array.isArray(t)){var i=``;return t.forEach(function(t){i+=e(t,n)}),i}var a={type:t.type,content:e(t.content,n),tag:`span`,classes:[`token`,t.type],attributes:{},language:n},o=t.alias;o&&(Array.isArray(o)?Array.prototype.push.apply(a.classes,o):a.classes.push(o)),r.hooks.run(`wrap`,a);var s=``;for(var c in a.attributes)s+=` `+c+`="`+(a.attributes[c]||``).replace(/"/g,`&quot;`)+`"`;return`<`+a.tag+` class="`+a.classes.join(` `)+`"`+s+`>`+a.content+`</`+a.tag+`>`};function a(e,t,n,r){e.lastIndex=t;var i=e.exec(n);if(i&&r&&i[1]){var a=i[1].length;i.index+=a,i[0]=i[0].slice(a)}return i}function o(e,t,n,s,u,d){for(var f in n)if(!(!n.hasOwnProperty(f)||!n[f])){var p=n[f];p=Array.isArray(p)?p:[p];for(var m=0;m<p.length;++m){if(d&&d.cause==f+`,`+m)return;var h=p[m],g=h.inside,_=!!h.lookbehind,v=!!h.greedy,y=h.alias;if(v&&!h.pattern.global){var b=h.pattern.toString().match(/[imsuy]*$/)[0];h.pattern=RegExp(h.pattern.source,b+`g`)}for(var x=h.pattern||h,S=s.next,C=u;S!==t.tail&&!(d&&C>=d.reach);C+=S.value.length,S=S.next){var w=S.value;if(t.length>e.length)return;if(!(w instanceof i)){var T=1,E;if(v){if(E=a(x,C,e,_),!E||E.index>=e.length)break;var D=E.index,O=E.index+E[0].length,k=C;for(k+=S.value.length;D>=k;)S=S.next,k+=S.value.length;if(k-=S.value.length,C=k,S.value instanceof i)continue;for(var A=S;A!==t.tail&&(k<O||typeof A.value==`string`);A=A.next)T++,k+=A.value.length;T--,w=e.slice(C,k),E.index-=C}else if(E=a(x,0,w,_),!E)continue;var D=E.index,j=E[0],M=w.slice(0,D),N=w.slice(D+j.length),P=C+w.length;d&&P>d.reach&&(d.reach=P);var F=S.prev;M&&(F=c(t,F,M),C+=M.length),l(t,F,T);var I=new i(f,g?r.tokenize(j,g):j,y,j);if(S=c(t,F,I),N&&c(t,S,N),T>1){var L={cause:f+`,`+m,reach:P};o(e,t,n,S.prev,C,L),d&&L.reach>d.reach&&(d.reach=L.reach)}}}}}}function s(){var e={value:null,prev:null,next:null},t={value:null,prev:e,next:null};e.next=t,this.head=e,this.tail=t,this.length=0}function c(e,t,n){var r=t.next,i={value:n,prev:t,next:r};return t.next=i,r.prev=i,e.length++,i}function l(e,t,n){for(var r=t.next,i=0;i<n&&r!==e.tail;i++)r=r.next;t.next=r,r.prev=t,e.length-=i}function u(e){for(var t=[],n=e.head.next;n!==e.tail;)t.push(n.value),n=n.next;return t}return r}();t.exports=n,n.default=n}})());S.languages.markup={comment:{pattern:/<!--(?:(?!<!--)[\s\S])*?-->/,greedy:!0},prolog:{pattern:/<\?[\s\S]+?\?>/,greedy:!0},doctype:{pattern:/<!DOCTYPE(?:[^>"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(^[^\[]*\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^<!|>$|[[\]]/,"doctype-tag":/^DOCTYPE/i,name:/[^\s<>'"]+/}},cdata:{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,greedy:!0},tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"special-attr":[],"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:`attr-equals`},{pattern:/^(\s*)["']|["']$/,lookbehind:!0}]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:`named-entity`},/&#x?[\da-f]{1,8};/i]},S.languages.markup.tag.inside[`attr-value`].inside.entity=S.languages.markup.entity,S.languages.markup.doctype.inside[`internal-subset`].inside=S.languages.markup,S.hooks.add(`wrap`,function(e){e.type===`entity`&&(e.attributes.title=e.content.replace(/&amp;/,`&`))}),Object.defineProperty(S.languages.markup.tag,"addInlined",{value:function(e,t){var n={},n=(n[`language-`+t]={pattern:/(^<!\[CDATA\[)[\s\S]+?(?=\]\]>$)/i,lookbehind:!0,inside:S.languages[t]},n.cdata=/^<!\[CDATA\[|\]\]>$/i,{"included-cdata":{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,inside:n}}),t=(n[`language-`+t]={pattern:/[\s\S]+/,inside:S.languages[t]},{});t[e]={pattern:RegExp(`(<__[^>]*>)(?:<!\\[CDATA\\[(?:[^\\]]|\\](?!\\]>))*\\]\\]>|(?!<!\\[CDATA\\[)[\\s\\S])*?(?=<\\/__>)`.replace(/__/g,function(){return e}),`i`),lookbehind:!0,greedy:!0,inside:n},S.languages.insertBefore(`markup`,`cdata`,t)}}),Object.defineProperty(S.languages.markup.tag,"addAttribute",{value:function(e,t){S.languages.markup.tag.inside[`special-attr`].push({pattern:RegExp(`(^|["'\\s])(?:`+e+`)\\s*=\\s*(?:"[^"]*"|'[^']*'|[^\\s'">=]+(?=[\\s>]))`,`i`),lookbehind:!0,inside:{"attr-name":/^[^\s=]+/,"attr-value":{pattern:/=[\s\S]+/,inside:{value:{pattern:/(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,lookbehind:!0,alias:[t,`language-`+t],inside:S.languages[t]},punctuation:[{pattern:/^=/,alias:`attr-equals`},/"|'/]}}}})}}),S.languages.html=S.languages.markup,S.languages.mathml=S.languages.markup,S.languages.svg=S.languages.markup,S.languages.xml=S.languages.extend(`markup`,{}),S.languages.ssml=S.languages.xml,S.languages.atom=S.languages.xml,S.languages.rss=S.languages.xml,function(e){var t={pattern:/\\[\\(){}[\]^$+*?|.]/,alias:`escape`},n=/\\(?:x[\da-fA-F]{2}|u[\da-fA-F]{4}|u\{[\da-fA-F]+\}|0[0-7]{0,2}|[123][0-7]{2}|c[a-zA-Z]|.)/,r=`(?:[^\\\\-]|`+n.source+`)`,r=RegExp(r+`-`+r),i={pattern:/(<|')[^<>']+(?=[>']$)/,lookbehind:!0,alias:`variable`};e.languages.regex={"char-class":{pattern:/((?:^|[^\\])(?:\\\\)*)\[(?:[^\\\]]|\\[\s\S])*\]/,lookbehind:!0,inside:{"char-class-negation":{pattern:/(^\[)\^/,lookbehind:!0,alias:`operator`},"char-class-punctuation":{pattern:/^\[|\]$/,alias:`punctuation`},range:{pattern:r,inside:{escape:n,"range-punctuation":{pattern:/-/,alias:`operator`}}},"special-escape":t,"char-set":{pattern:/\\[wsd]|\\p\{[^{}]+\}/i,alias:`class-name`},escape:n}},"special-escape":t,"char-set":{pattern:/\.|\\[wsd]|\\p\{[^{}]+\}/i,alias:`class-name`},backreference:[{pattern:/\\(?![123][0-7]{2})[1-9]/,alias:`keyword`},{pattern:/\\k<[^<>']+>/,alias:`keyword`,inside:{"group-name":i}}],anchor:{pattern:/[$^]|\\[ABbGZz]/,alias:`function`},escape:n,group:[{pattern:/\((?:\?(?:<[^<>']+>|'[^<>']+'|[>:]|<?[=!]|[idmnsuxU]+(?:-[idmnsuxU]+)?:?))?/,alias:`punctuation`,inside:{"group-name":i}},{pattern:/\)/,alias:`punctuation`}],quantifier:{pattern:/(?:[+*?]|\{\d+(?:,\d*)?\})[?+]?/,alias:`number`},alternation:{pattern:/\|/,alias:`keyword`}}}(S),S.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|trait)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\b/,boolean:/\b(?:false|true)\b/,function:/\b\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/},S.languages.javascript=S.languages.extend(`clike`,{"class-name":[S.languages.clike[`class-name`],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/,lookbehind:!0}],keyword:[{pattern:/((?:^|\})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:{pattern:RegExp(`(^|[^\\w$])(?:NaN|Infinity|0[bB][01]+(?:_[01]+)*n?|0[oO][0-7]+(?:_[0-7]+)*n?|0[xX][\\dA-Fa-f]+(?:_[\\dA-Fa-f]+)*n?|\\d+(?:_\\d+)*n|(?:\\d+(?:_\\d+)*(?:\\.(?:\\d+(?:_\\d+)*)?)?|\\.\\d+(?:_\\d+)*)(?:[Ee][+-]?\\d+(?:_\\d+)*)?)(?![\\w$])`),lookbehind:!0},operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/}),S.languages.javascript[`class-name`][0].pattern=/(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/,S.languages.insertBefore(`javascript`,`keyword`,{regex:{pattern:RegExp(`((?:^|[^$\\w\\xA0-\\uFFFF."'\\])\\s]|\\b(?:return|yield))\\s*)\\/(?:(?:\\[(?:[^\\]\\\\\\r\\n]|\\\\.)*\\]|\\\\.|[^/\\\\\\[\\r\\n])+\\/[dgimyus]{0,7}|(?:\\[(?:[^[\\]\\\\\\r\\n]|\\\\.|\\[(?:[^[\\]\\\\\\r\\n]|\\\\.|\\[(?:[^[\\]\\\\\\r\\n]|\\\\.)*\\])*\\])*\\]|\\\\.|[^/\\\\\\[\\r\\n])+\\/[dgimyus]{0,7}v[dgimyus]{0,7})(?=(?:\\s|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/)*(?:$|[\\r\\n,.;:})\\]]|\\/\\/))`),lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:`language-regex`,inside:S.languages.regex},"regex-delimiter":/^\/|\/$/,"regex-flags":/^[a-z]+$/}},"function-variable":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:`function`},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:S.languages.javascript},{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,lookbehind:!0,inside:S.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:S.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:S.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),S.languages.insertBefore(`javascript`,`string`,{hashbang:{pattern:/^#!.*/,greedy:!0,alias:`comment`},"template-string":{pattern:/`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:`string`},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:`punctuation`},rest:S.languages.javascript}},string:/[\s\S]+/}},"string-property":{pattern:/((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m,lookbehind:!0,greedy:!0,alias:`property`}}),S.languages.insertBefore(`javascript`,`operator`,{"literal-property":{pattern:/((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m,lookbehind:!0,alias:`property`}}),S.languages.markup&&(S.languages.markup.tag.addInlined(`script`,`javascript`),S.languages.markup.tag.addAttribute(`on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)`,`javascript`)),S.languages.js=S.languages.javascript,S.languages.actionscript=S.languages.extend(`javascript`,{keyword:/\b(?:as|break|case|catch|class|const|default|delete|do|dynamic|each|else|extends|final|finally|for|function|get|if|implements|import|in|include|instanceof|interface|internal|is|namespace|native|new|null|override|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|use|var|void|while|with)\b/,operator:/\+\+|--|(?:[+\-*\/%^]|&&?|\|\|?|<<?|>>?>?|[!=]=?)=?|[~?@]/}),S.languages.actionscript[`class-name`].alias=`function`,delete S.languages.actionscript.parameter,delete S.languages.actionscript[`literal-property`],S.languages.markup&&S.languages.insertBefore(`actionscript`,`string`,{xml:{pattern:/(^|[^.])<\/?\w+(?:\s+[^\s>\/=]+=("|')(?:\\[\s\S]|(?!\2)[^\\])*\2)*\s*\/?>/,lookbehind:!0,inside:S.languages.markup}}),function(e){var t=/#(?!\{).+/,n={pattern:/#\{[^}]+\}/,alias:`variable`};e.languages.coffeescript=e.languages.extend(`javascript`,{comment:t,string:[{pattern:/'(?:\\[\s\S]|[^\\'])*'/,greedy:!0},{pattern:/"(?:\\[\s\S]|[^\\"])*"/,greedy:!0,inside:{interpolation:n}}],keyword:/\b(?:and|break|by|catch|class|continue|debugger|delete|do|each|else|extend|extends|false|finally|for|if|in|instanceof|is|isnt|let|loop|namespace|new|no|not|null|of|off|on|or|own|return|super|switch|then|this|throw|true|try|typeof|undefined|unless|until|when|while|window|with|yes|yield)\b/,"class-member":{pattern:/@(?!\d)\w+/,alias:`variable`}}),e.languages.insertBefore(`coffeescript`,`comment`,{"multiline-comment":{pattern:/###[\s\S]+?###/,alias:`comment`},"block-regex":{pattern:/\/{3}[\s\S]*?\/{3}/,alias:`regex`,inside:{comment:t,interpolation:n}}}),e.languages.insertBefore(`coffeescript`,`string`,{"inline-javascript":{pattern:/`(?:\\[\s\S]|[^\\`])*`/,inside:{delimiter:{pattern:/^`|`$/,alias:`punctuation`},script:{pattern:/[\s\S]+/,alias:`language-javascript`,inside:e.languages.javascript}}},"multiline-string":[{pattern:/'''[\s\S]*?'''/,greedy:!0,alias:`string`},{pattern:/"""[\s\S]*?"""/,greedy:!0,alias:`string`,inside:{interpolation:n}}]}),e.languages.insertBefore(`coffeescript`,`keyword`,{property:/(?!\d)\w+(?=\s*:(?!:))/}),delete e.languages.coffeescript[`template-string`],e.languages.coffee=e.languages.coffeescript}(S),function(e){var t=e.languages.javadoclike={parameter:{pattern:/(^[\t ]*(?:\/{3}|\*|\/\*\*)\s*@(?:arg|arguments|param)\s+)\w+/m,lookbehind:!0},keyword:{pattern:/(^[\t ]*(?:\/{3}|\*|\/\*\*)\s*|\{)@[a-z][a-zA-Z-]+\b/m,lookbehind:!0},punctuation:/[{}]/};Object.defineProperty(t,"addSupport",{value:function(t,n){(t=typeof t==`string`?[t]:t).forEach(function(t){var r=function(e){e.inside||={},e.inside.rest=n},i=`doc-comment`;if(a=e.languages[t]){var a,o=a[i];if((o||=(a=e.languages.insertBefore(t,`comment`,{"doc-comment":{pattern:/(^|[^\\])\/\*\*[^/][\s\S]*?(?:\*\/|$)/,lookbehind:!0,alias:`comment`}}))[i])instanceof RegExp&&(o=a[i]={pattern:o}),Array.isArray(o))for(var s=0,c=o.length;s<c;s++)o[s]instanceof RegExp&&(o[s]={pattern:o[s]}),r(o[s]);else r(o)}})}}),t.addSupport([`java`,`javascript`,`php`],t)}(S),function(e){var t=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/,t=(e.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:RegExp(`@[\\w-](?:[^;{\\s"']|\\s+(?!\\s)|`+t.source+`)*?(?:;|(?=\\s*\\{))`),inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:`selector`},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp(`\\burl\\((?:`+t.source+`|(?:[^\\\\\\r\\n()"']|\\\\[\\s\\S])*)\\)`,`i`),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp(`^`+t.source+`$`),alias:`url`}}},selector:{pattern:RegExp(`(^|[{}\\s])[^{}\\s](?:[^{};"'\\s]|\\s+(?![\\s{])|`+t.source+`)*(?=\\s*\\{)`),lookbehind:!0},string:{pattern:t,greedy:!0},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:!0},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:!0},punctuation:/[(){};:,]/},e.languages.css.atrule.inside.rest=e.languages.css,e.languages.markup);t&&(t.tag.addInlined(`style`,`css`),t.tag.addAttribute(`style`,`css`))}(S),function(e){var t=/("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,t=(e.languages.css.selector={pattern:e.languages.css.selector.pattern,lookbehind:!0,inside:t={"pseudo-element":/:(?:after|before|first-letter|first-line|selection)|::[-\w]+/,"pseudo-class":/:[-\w]+/,class:/\.[-\w]+/,id:/#[-\w]+/,attribute:{pattern:RegExp(`\\[(?:[^[\\]"']|`+t.source+`)*\\]`),greedy:!0,inside:{punctuation:/^\[|\]$/,"case-sensitivity":{pattern:/(\s)[si]$/i,lookbehind:!0,alias:`keyword`},namespace:{pattern:/^(\s*)(?:(?!\s)[-*\w\xA0-\uFFFF])*\|(?!=)/,lookbehind:!0,inside:{punctuation:/\|$/}},"attr-name":{pattern:/^(\s*)(?:(?!\s)[-\w\xA0-\uFFFF])+/,lookbehind:!0},"attr-value":[t,{pattern:/(=\s*)(?:(?!\s)[-\w\xA0-\uFFFF])+(?=\s*$)/,lookbehind:!0}],operator:/[|~*^$]?=/}},"n-th":[{pattern:/(\(\s*)[+-]?\d*[\dn](?:\s*[+-]\s*\d+)?(?=\s*\))/,lookbehind:!0,inside:{number:/[\dn]+/,operator:/[+-]/}},{pattern:/(\(\s*)(?:even|odd)(?=\s*\))/i,lookbehind:!0}],combinator:/>|\+|~|\|\|/,punctuation:/[(),]/}},e.languages.css.atrule.inside[`selector-function-argument`].inside=t,e.languages.insertBefore(`css`,`property`,{variable:{pattern:/(^|[^-\w\xA0-\uFFFF])--(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*/i,lookbehind:!0}}),{pattern:/(\b\d+)(?:%|[a-z]+(?![\w-]))/,lookbehind:!0}),n={pattern:/(^|[^\w.-])-?(?:\d+(?:\.\d+)?|\.\d+)/,lookbehind:!0};e.languages.insertBefore(`css`,`function`,{operator:{pattern:/(\s)[+\-*\/](?=\s)/,lookbehind:!0},hexcode:{pattern:/\B#[\da-f]{3,8}\b/i,alias:`color`},color:[{pattern:/(^|[^\w-])(?:AliceBlue|AntiqueWhite|Aqua|Aquamarine|Azure|Beige|Bisque|Black|BlanchedAlmond|Blue|BlueViolet|Brown|BurlyWood|CadetBlue|Chartreuse|Chocolate|Coral|CornflowerBlue|Cornsilk|Crimson|Cyan|DarkBlue|DarkCyan|DarkGoldenRod|DarkGr[ae]y|DarkGreen|DarkKhaki|DarkMagenta|DarkOliveGreen|DarkOrange|DarkOrchid|DarkRed|DarkSalmon|DarkSeaGreen|DarkSlateBlue|DarkSlateGr[ae]y|DarkTurquoise|DarkViolet|DeepPink|DeepSkyBlue|DimGr[ae]y|DodgerBlue|FireBrick|FloralWhite|ForestGreen|Fuchsia|Gainsboro|GhostWhite|Gold|GoldenRod|Gr[ae]y|Green|GreenYellow|HoneyDew|HotPink|IndianRed|Indigo|Ivory|Khaki|Lavender|LavenderBlush|LawnGreen|LemonChiffon|LightBlue|LightCoral|LightCyan|LightGoldenRodYellow|LightGr[ae]y|LightGreen|LightPink|LightSalmon|LightSeaGreen|LightSkyBlue|LightSlateGr[ae]y|LightSteelBlue|LightYellow|Lime|LimeGreen|Linen|Magenta|Maroon|MediumAquaMarine|MediumBlue|MediumOrchid|MediumPurple|MediumSeaGreen|MediumSlateBlue|MediumSpringGreen|MediumTurquoise|MediumVioletRed|MidnightBlue|MintCream|MistyRose|Moccasin|NavajoWhite|Navy|OldLace|Olive|OliveDrab|Orange|OrangeRed|Orchid|PaleGoldenRod|PaleGreen|PaleTurquoise|PaleVioletRed|PapayaWhip|PeachPuff|Peru|Pink|Plum|PowderBlue|Purple|RebeccaPurple|Red|RosyBrown|RoyalBlue|SaddleBrown|Salmon|SandyBrown|SeaGreen|SeaShell|Sienna|Silver|SkyBlue|SlateBlue|SlateGr[ae]y|Snow|SpringGreen|SteelBlue|Tan|Teal|Thistle|Tomato|Transparent|Turquoise|Violet|Wheat|White|WhiteSmoke|Yellow|YellowGreen)(?![\w-])/i,lookbehind:!0},{pattern:/\b(?:hsl|rgb)\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*\)\B|\b(?:hsl|rgb)a\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*,\s*(?:0|0?\.\d+|1)\s*\)\B/i,inside:{unit:t,number:n,function:/[\w-]+(?=\()/,punctuation:/[(),]/}}],entity:/\\[\da-f]{1,8}/i,unit:t,number:n})}(S),function(e){var t=/[*&][^\s[\]{},]+/,n=/!(?:<[\w\-%#;/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\-%#;/?:@&=+$.~*'()]+)?/,r=`(?:`+n.source+`(?:[ ]+`+t.source+`)?|`+t.source+`(?:[ ]+`+n.source+`)?)`,i=`(?:[^\\s\\x00-\\x08\\x0e-\\x1f!"#%&'*,\\-:>?@[\\]\`{|}\\x7f-\\x84\\x86-\\x9f\\ud800-\\udfff\\ufffe\\uffff]|[?:-]<PLAIN>)(?:[ \\t]*(?:(?![#:])<PLAIN>|:<PLAIN>))*`.replace(/<PLAIN>/g,function(){return`[^\\s\\x00-\\x08\\x0e-\\x1f,[\\]{}\\x7f-\\x84\\x86-\\x9f\\ud800-\\udfff\\ufffe\\uffff]`}),a=`"(?:[^"\\\\\\r\\n]|\\\\.)*"|'(?:[^'\\\\\\r\\n]|\\\\.)*'`;function o(e,t){t=(t||``).replace(/m/g,``)+`m`;var n=`([:\\-,[{]\\s*(?:\\s<<prop>>[ \\t]+)?)(?:<<value>>)(?=[ \\t]*(?:$|,|\\]|\\}|(?:[\\r\\n]\\s*)?#))`.replace(/<<prop>>/g,function(){return r}).replace(/<<value>>/g,function(){return e});return RegExp(n,t)}e.languages.yaml={scalar:{pattern:RegExp(`([\\-:]\\s*(?:\\s<<prop>>[ \\t]+)?[|>])[ \\t]*(?:((?:\\r?\\n|\\r)[ \\t]+)\\S[^\\r\\n]*(?:\\2[^\\r\\n]+)*)`.replace(/<<prop>>/g,function(){return r})),lookbehind:!0,alias:`string`},comment:/#.*/,key:{pattern:RegExp(`((?:^|[:\\-,[{\\r\\n?])[ \\t]*(?:<<prop>>[ \\t]+)?)<<key>>(?=\\s*:\\s)`.replace(/<<prop>>/g,function(){return r}).replace(/<<key>>/g,function(){return`(?:`+i+`|`+a+`)`})),lookbehind:!0,greedy:!0,alias:`atrule`},directive:{pattern:/(^[ \t]*)%.+/m,lookbehind:!0,alias:`important`},datetime:{pattern:o(`\\d{4}-\\d\\d?-\\d\\d?(?:[tT]|[ \\t]+)\\d\\d?:\\d{2}:\\d{2}(?:\\.\\d*)?(?:[ \\t]*(?:Z|[-+]\\d\\d?(?::\\d{2})?))?|\\d{4}-\\d{2}-\\d{2}|\\d\\d?:\\d{2}(?::\\d{2}(?:\\.\\d*)?)?`),lookbehind:!0,alias:`number`},boolean:{pattern:o(`false|true`,`i`),lookbehind:!0,alias:`important`},null:{pattern:o(`null|~`,`i`),lookbehind:!0,alias:`important`},string:{pattern:o(a),lookbehind:!0,greedy:!0},number:{pattern:o(`[+-]?(?:0x[\\da-f]+|0o[0-7]+|(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:e[+-]?\\d+)?|\\.inf|\\.nan)`,`i`),lookbehind:!0},tag:n,important:t,punctuation:/---|[:[\]{}\-,|>?]|\.\.\./},e.languages.yml=e.languages.yaml}(S),function(e){function t(e){return e=e.replace(/<inner>/g,function(){return`(?:\\\\.|[^\\\\\\n\\r]|(?:\\n|\\r\\n?)(?![\\r\\n]))`}),RegExp(`((?:^|[^\\\\])(?:\\\\{2})*)(?:`+e+`)`)}var n="(?:\\\\.|``(?:[^`\\r\\n]|`(?!`))+``|`[^`\\r\\n]+`|[^\\\\|\\r\\n`])+",r=`\\|?__(?:\\|__)+\\|?(?:(?:\\n|\\r\\n?)|(?![\\s\\S]))`.replace(/__/g,function(){return n}),i=`\\|?[ \\t]*:?-{3,}:?[ \\t]*(?:\\|[ \\t]*:?-{3,}:?[ \\t]*)+\\|?(?:\\n|\\r\\n?)`,a=(e.languages.markdown=e.languages.extend(`markup`,{}),e.languages.insertBefore(`markdown`,`prolog`,{"front-matter-block":{pattern:/(^(?:\s*[\r\n])?)---(?!.)[\s\S]*?[\r\n]---(?!.)/,lookbehind:!0,greedy:!0,inside:{punctuation:/^---|---$/,"front-matter":{pattern:/\S+(?:\s+\S+)*/,alias:[`yaml`,`language-yaml`],inside:e.languages.yaml}}},blockquote:{pattern:/^>(?:[\t ]*>)*/m,alias:`punctuation`},table:{pattern:RegExp(`^`+r+i+`(?:`+r+`)*`,`m`),inside:{"table-data-rows":{pattern:RegExp(`^(`+r+i+`)(?:`+r+`)*$`),lookbehind:!0,inside:{"table-data":{pattern:RegExp(n),inside:e.languages.markdown},punctuation:/\|/}},"table-line":{pattern:RegExp(`^(`+r+`)`+i+`$`),lookbehind:!0,inside:{punctuation:/\||:?-{3,}:?/}},"table-header-row":{pattern:RegExp(`^`+r+`$`),inside:{"table-header":{pattern:RegExp(n),alias:`important`,inside:e.languages.markdown},punctuation:/\|/}}}},code:[{pattern:/((?:^|\n)[ \t]*\n|(?:^|\r\n?)[ \t]*\r\n?)(?: {4}|\t).+(?:(?:\n|\r\n?)(?: {4}|\t).+)*/,lookbehind:!0,alias:`keyword`},{pattern:/^```[\s\S]*?^```$/m,greedy:!0,inside:{"code-block":{pattern:/^(```.*(?:\n|\r\n?))[\s\S]+?(?=(?:\n|\r\n?)^```$)/m,lookbehind:!0},"code-language":{pattern:/^(```).+/,lookbehind:!0},punctuation:/```/}}],title:[{pattern:/\S.*(?:\n|\r\n?)(?:==+|--+)(?=[ \t]*$)/m,alias:`important`,inside:{punctuation:/==+$|--+$/}},{pattern:/(^\s*)#.+/m,lookbehind:!0,alias:`important`,inside:{punctuation:/^#+|#+$/}}],hr:{pattern:/(^\s*)([*-])(?:[\t ]*\2){2,}(?=\s*$)/m,lookbehind:!0,alias:`punctuation`},list:{pattern:/(^\s*)(?:[*+-]|\d+\.)(?=[\t ].)/m,lookbehind:!0,alias:`punctuation`},"url-reference":{pattern:/!?\[[^\]]+\]:[\t ]+(?:\S+|<(?:\\.|[^>\\])+>)(?:[\t ]+(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\)))?/,inside:{variable:{pattern:/^(!?\[)[^\]]+/,lookbehind:!0},string:/(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\))$/,punctuation:/^[\[\]!:]|[<>]/},alias:`url`},bold:{pattern:t(`\\b__(?:(?!_)<inner>|_(?:(?!_)<inner>)+_)+__\\b|\\*\\*(?:(?!\\*)<inner>|\\*(?:(?!\\*)<inner>)+\\*)+\\*\\*`),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^..)[\s\S]+(?=..$)/,lookbehind:!0,inside:{}},punctuation:/\*\*|__/}},italic:{pattern:t(`\\b_(?:(?!_)<inner>|__(?:(?!_)<inner>)+__)+_\\b|\\*(?:(?!\\*)<inner>|\\*\\*(?:(?!\\*)<inner>)+\\*\\*)+\\*`),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^.)[\s\S]+(?=.$)/,lookbehind:!0,inside:{}},punctuation:/[*_]/}},strike:{pattern:t(`(~~?)(?:(?!~)<inner>)+\\2`),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^~~?)[\s\S]+(?=\1$)/,lookbehind:!0,inside:{}},punctuation:/~~?/}},"code-snippet":{pattern:/(^|[^\\`])(?:``[^`\r\n]+(?:`[^`\r\n]+)*``(?!`)|`[^`\r\n]+`(?!`))/,lookbehind:!0,greedy:!0,alias:[`code`,`keyword`]},url:{pattern:t(`!?\\[(?:(?!\\])<inner>)+\\](?:\\([^\\s)]+(?:[\\t ]+"(?:\\\\.|[^"\\\\])*")?\\)|[ \\t]?\\[(?:(?!\\])<inner>)+\\])`),lookbehind:!0,greedy:!0,inside:{operator:/^!/,content:{pattern:/(^\[)[^\]]+(?=\])/,lookbehind:!0,inside:{}},variable:{pattern:/(^\][ \t]?\[)[^\]]+(?=\]$)/,lookbehind:!0},url:{pattern:/(^\]\()[^\s)]+/,lookbehind:!0},string:{pattern:/(^[ \t]+)"(?:\\.|[^"\\])*"(?=\)$)/,lookbehind:!0}}}}),[`url`,`bold`,`italic`,`strike`].forEach(function(t){[`url`,`bold`,`italic`,`strike`,`code-snippet`].forEach(function(n){t!==n&&(e.languages.markdown[t].inside.content.inside[n]=e.languages.markdown[n])})}),e.hooks.add(`after-tokenize`,function(e){e.language!==`markdown`&&e.language!==`md`||function e(t){if(t&&typeof t!=`string`)for(var n=0,r=t.length;n<r;n++){var i,a=t[n];a.type===`code`?(i=a.content[1],a=a.content[3],i&&a&&i.type===`code-language`&&a.type===`code-block`&&typeof i.content==`string`&&(i=i.content.replace(/\b#/g,`sharp`).replace(/\b\+\+/g,`pp`),i=`language-`+(i=(/[a-z][\w-]*/i.exec(i)||[``])[0].toLowerCase()),a.alias?typeof a.alias==`string`?a.alias=[a.alias,i]:a.alias.push(i):a.alias=[i])):e(a.content)}}(e.tokens)}),e.hooks.add(`wrap`,function(t){if(t.type===`code-block`){for(var n=``,r=0,i=t.classes.length;r<i;r++){var c=t.classes[r],c=/language-(.+)/.exec(c);if(c){n=c[1];break}}var l,u=e.languages[n];u?t.content=e.highlight(function(e){return e=e.replace(a,``),e=e.replace(/&(\w{1,8}|#x?[\da-f]{1,8});/gi,function(e,t){var n;return(t=t.toLowerCase())[0]===`#`?(n=t[1]===`x`?parseInt(t.slice(2),16):Number(t.slice(1)),s(n)):o[t]||e})}(t.content),u,n):n&&n!==`none`&&e.plugins.autoloader&&(l=`md-`+new Date().valueOf()+`-`+Math.floor(0x2386f26fc10000*Math.random()),t.attributes.id=l,e.plugins.autoloader.loadLanguages(n,function(){var t=document.getElementById(l);t&&(t.innerHTML=e.highlight(t.textContent,e.languages[n],n))}))}}),RegExp(e.languages.markup.tag.pattern.source,`gi`)),o={amp:`&`,lt:`<`,gt:`>`,quot:`"`},s=String.fromCodePoint||String.fromCharCode;e.languages.md=e.languages.markdown}(S),S.languages.graphql={comment:/#.*/,description:{pattern:/(?:"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\\"\r\n])*")(?=\s*[a-z_])/i,greedy:!0,alias:`string`,inside:{"language-markdown":{pattern:/(^"(?:"")?)(?!\1)[\s\S]+(?=\1$)/,lookbehind:!0,inside:S.languages.markdown}}},string:{pattern:/"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\\"\r\n])*"/,greedy:!0},number:/(?:\B-|\b)\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,boolean:/\b(?:false|true)\b/,variable:/\$[a-z_]\w*/i,directive:{pattern:/@[a-z_]\w*/i,alias:`function`},"attr-name":{pattern:/\b[a-z_]\w*(?=\s*(?:\((?:[^()"]|"(?:\\.|[^\\"\r\n])*")*\))?:)/i,greedy:!0},"atom-input":{pattern:/\b[A-Z]\w*Input\b/,alias:`class-name`},scalar:/\b(?:Boolean|Float|ID|Int|String)\b/,constant:/\b[A-Z][A-Z_\d]*\b/,"class-name":{pattern:/(\b(?:enum|implements|interface|on|scalar|type|union)\s+|&\s*|:\s*|\[)[A-Z_]\w*/,lookbehind:!0},fragment:{pattern:/(\bfragment\s+|\.{3}\s*(?!on\b))[a-zA-Z_]\w*/,lookbehind:!0,alias:`function`},"definition-mutation":{pattern:/(\bmutation\s+)[a-zA-Z_]\w*/,lookbehind:!0,alias:`function`},"definition-query":{pattern:/(\bquery\s+)[a-zA-Z_]\w*/,lookbehind:!0,alias:`function`},keyword:/\b(?:directive|enum|extend|fragment|implements|input|interface|mutation|on|query|repeatable|scalar|schema|subscription|type|union)\b/,operator:/[!=|&]|\.{3}/,"property-query":/\w+(?=\s*\()/,object:/\w+(?=\s*\{)/,punctuation:/[!(){}\[\]:=,]/,property:/\w+/},S.hooks.add(`after-tokenize`,function(e){if(e.language===`graphql`)for(var t=e.tokens.filter(function(e){return typeof e!=`string`&&e.type!==`comment`&&e.type!==`scalar`}),n=0;n<t.length;){var r=t[n++];if(r.type===`keyword`&&r.content===`mutation`){var i=[];if(d([`definition-mutation`,`punctuation`])&&u(1).content===`(`){n+=2;var a=f(/^\($/,/^\)$/);if(a===-1)continue;for(;n<a;n++){var o=u(0);o.type===`variable`&&(p(o,`variable-input`),i.push(o.content))}n=a+1}if(d([`punctuation`,`property-query`])&&u(0).content===`{`&&(n++,p(u(0),`property-mutation`),0<i.length)){var s=f(/^\{$/,/^\}$/);if(s!==-1)for(var c=n;c<s;c++){var l=t[c];l.type===`variable`&&0<=i.indexOf(l.content)&&p(l,`variable-input`)}}}}function u(e){return t[n+e]}function d(e,t){t||=0;for(var n=0;n<e.length;n++){var r=u(n+t);if(!r||r.type!==e[n])return}return 1}function f(e,r){for(var i=1,a=n;a<t.length;a++){var o=t[a],s=o.content;if(o.type===`punctuation`&&typeof s==`string`){if(e.test(s))i++;else if(r.test(s)&&--i===0)return a}}return-1}function p(e,t){var n=e.alias;n?Array.isArray(n)||(e.alias=n=[n]):e.alias=n=[],n.push(t)}}),S.languages.sql={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|(?:--|\/\/|#).*)/,lookbehind:!0},variable:[{pattern:/@(["'`])(?:\\[\s\S]|(?!\1)[^\\])+\1/,greedy:!0},/@[\w.$]+/],string:{pattern:/(^|[^@\\])("|')(?:\\[\s\S]|(?!\2)[^\\]|\2\2)*\2/,greedy:!0,lookbehind:!0},identifier:{pattern:/(^|[^@\\])`(?:\\[\s\S]|[^`\\]|``)*`/,greedy:!0,lookbehind:!0,inside:{punctuation:/^`|`$/}},function:/\b(?:AVG|COUNT|FIRST|FORMAT|LAST|LCASE|LEN|MAX|MID|MIN|MOD|NOW|ROUND|SUM|UCASE)(?=\s*\()/i,keyword:/\b(?:ACTION|ADD|AFTER|ALGORITHM|ALL|ALTER|ANALYZE|ANY|APPLY|AS|ASC|AUTHORIZATION|AUTO_INCREMENT|BACKUP|BDB|BEGIN|BERKELEYDB|BIGINT|BINARY|BIT|BLOB|BOOL|BOOLEAN|BREAK|BROWSE|BTREE|BULK|BY|CALL|CASCADED?|CASE|CHAIN|CHAR(?:ACTER|SET)?|CHECK(?:POINT)?|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMNS?|COMMENT|COMMIT(?:TED)?|COMPUTE|CONNECT|CONSISTENT|CONSTRAINT|CONTAINS(?:TABLE)?|CONTINUE|CONVERT|CREATE|CROSS|CURRENT(?:_DATE|_TIME|_TIMESTAMP|_USER)?|CURSOR|CYCLE|DATA(?:BASES?)?|DATE(?:TIME)?|DAY|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFINER|DELAYED|DELETE|DELIMITERS?|DENY|DESC|DESCRIBE|DETERMINISTIC|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DISTRIBUTED|DO|DOUBLE|DROP|DUMMY|DUMP(?:FILE)?|DUPLICATE|ELSE(?:IF)?|ENABLE|ENCLOSED|END|ENGINE|ENUM|ERRLVL|ERRORS|ESCAPED?|EXCEPT|EXEC(?:UTE)?|EXISTS|EXIT|EXPLAIN|EXTENDED|FETCH|FIELDS|FILE|FILLFACTOR|FIRST|FIXED|FLOAT|FOLLOWING|FOR(?: EACH ROW)?|FORCE|FOREIGN|FREETEXT(?:TABLE)?|FROM|FULL|FUNCTION|GEOMETRY(?:COLLECTION)?|GLOBAL|GOTO|GRANT|GROUP|HANDLER|HASH|HAVING|HOLDLOCK|HOUR|IDENTITY(?:COL|_INSERT)?|IF|IGNORE|IMPORT|INDEX|INFILE|INNER|INNODB|INOUT|INSERT|INT|INTEGER|INTERSECT|INTERVAL|INTO|INVOKER|ISOLATION|ITERATE|JOIN|KEYS?|KILL|LANGUAGE|LAST|LEAVE|LEFT|LEVEL|LIMIT|LINENO|LINES|LINESTRING|LOAD|LOCAL|LOCK|LONG(?:BLOB|TEXT)|LOOP|MATCH(?:ED)?|MEDIUM(?:BLOB|INT|TEXT)|MERGE|MIDDLEINT|MINUTE|MODE|MODIFIES|MODIFY|MONTH|MULTI(?:LINESTRING|POINT|POLYGON)|NATIONAL|NATURAL|NCHAR|NEXT|NO|NONCLUSTERED|NULLIF|NUMERIC|OFF?|OFFSETS?|ON|OPEN(?:DATASOURCE|QUERY|ROWSET)?|OPTIMIZE|OPTION(?:ALLY)?|ORDER|OUT(?:ER|FILE)?|OVER|PARTIAL|PARTITION|PERCENT|PIVOT|PLAN|POINT|POLYGON|PRECEDING|PRECISION|PREPARE|PREV|PRIMARY|PRINT|PRIVILEGES|PROC(?:EDURE)?|PUBLIC|PURGE|QUICK|RAISERROR|READS?|REAL|RECONFIGURE|REFERENCES|RELEASE|RENAME|REPEAT(?:ABLE)?|REPLACE|REPLICATION|REQUIRE|RESIGNAL|RESTORE|RESTRICT|RETURN(?:ING|S)?|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROW(?:COUNT|GUIDCOL|S)?|RTREE|RULE|SAVE(?:POINT)?|SCHEMA|SECOND|SELECT|SERIAL(?:IZABLE)?|SESSION(?:_USER)?|SET(?:USER)?|SHARE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|SQL|START(?:ING)?|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLES?|TABLESPACE|TEMP(?:ORARY|TABLE)?|TERMINATED|TEXT(?:SIZE)?|THEN|TIME(?:STAMP)?|TINY(?:BLOB|INT|TEXT)|TOP?|TRAN(?:SACTIONS?)?|TRIGGER|TRUNCATE|TSEQUAL|TYPES?|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNIQUE|UNLOCK|UNPIVOT|UNSIGNED|UPDATE(?:TEXT)?|USAGE|USE|USER|USING|VALUES?|VAR(?:BINARY|CHAR|CHARACTER|YING)|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH(?: ROLLUP|IN)?|WORK|WRITE(?:TEXT)?|YEAR)\b/i,boolean:/\b(?:FALSE|NULL|TRUE)\b/i,number:/\b0x[\da-f]+\b|\b\d+(?:\.\d*)?|\B\.\d+\b/i,operator:/[-+*\/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?|\b(?:AND|BETWEEN|DIV|ILIKE|IN|IS|LIKE|NOT|OR|REGEXP|RLIKE|SOUNDS LIKE|XOR)\b/i,punctuation:/[;[\]()`,.]/},function(e){var t=e.languages.javascript[`template-string`],n=t.pattern.source,r=t.inside.interpolation,i=r.inside[`interpolation-punctuation`],a=r.pattern.source;function o(t,r){if(e.languages[t])return{pattern:RegExp(`((?:`+r+`)\\s*)`+n),lookbehind:!0,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:`string`},"embedded-code":{pattern:/[\s\S]+/,alias:t}}}}function s(t,n,r){return t={code:t,grammar:n,language:r},e.hooks.run(`before-tokenize`,t),t.tokens=e.tokenize(t.code,t.grammar),e.hooks.run(`after-tokenize`,t),t.tokens}function c(t,n,o){var c=e.tokenize(t,{interpolation:{pattern:RegExp(a),lookbehind:!0}}),l=0,u={},c=s(c.map(function(e){if(typeof e==`string`)return e;for(var n,r,e=e.content;t.indexOf((r=l++,n=`___`+o.toUpperCase()+`_`+r+`___`))!==-1;);return u[n]=e,n}).join(``),n,o),d=Object.keys(u);return l=0,function t(n){for(var a=0;a<n.length;a++){if(l>=d.length)return;var o,c,f,p,m,h,g,_=n[a];typeof _==`string`||typeof _.content==`string`?(o=d[l],(g=(h=typeof _==`string`?_:_.content).indexOf(o))!==-1&&(++l,c=h.substring(0,g),m=u[o],f=void 0,(p={})[`interpolation-punctuation`]=i,(p=e.tokenize(m,p)).length===3&&((f=[1,1]).push.apply(f,s(p[1],e.languages.javascript,`javascript`)),p.splice.apply(p,f)),f=new e.Token(`interpolation`,p,r.alias,m),p=h.substring(g+o.length),m=[],c&&m.push(c),m.push(f),p&&(t(h=[p]),m.push.apply(m,h)),typeof _==`string`?(n.splice.apply(n,[a,1].concat(m)),a+=m.length-1):_.content=m)):(g=_.content,t(Array.isArray(g)?g:[g]))}}(c),new e.Token(o,c,`language-`+o,t)}e.languages.javascript[`template-string`]=[o(`css`,`\\b(?:styled(?:\\([^)]*\\))?(?:\\s*\\.\\s*\\w+(?:\\([^)]*\\))*)*|css(?:\\s*\\.\\s*(?:global|resolve))?|createGlobalStyle|keyframes)`),o(`html`,`\\bhtml|\\.\\s*(?:inner|outer)HTML\\s*\\+?=`),o(`svg`,`\\bsvg`),o(`markdown`,`\\b(?:markdown|md)`),o(`graphql`,`\\b(?:gql|graphql(?:\\s*\\.\\s*experimental)?)`),o(`sql`,`\\bsql`),t].filter(Boolean);var l={javascript:!0,js:!0,typescript:!0,ts:!0,jsx:!0,tsx:!0};function u(e){return typeof e==`string`?e:Array.isArray(e)?e.map(u).join(``):u(e.content)}e.hooks.add(`after-tokenize`,function(t){t.language in l&&function t(n){for(var r=0,i=n.length;r<i;r++){var a,o,s,l=n[r];typeof l!=`string`&&(a=l.content,Array.isArray(a)?l.type===`template-string`?(l=a[1],a.length===3&&typeof l!=`string`&&l.type===`embedded-code`&&(o=u(l),l=l.alias,l=Array.isArray(l)?l[0]:l,s=e.languages[l])&&(a[1]=c(o,s,l))):t(a):typeof a!=`string`&&t([a]))}}(t.tokens)})}(S),function(e){e.languages.typescript=e.languages.extend(`javascript`,{"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|type)\s+)(?!keyof\b)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?:\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>)?/,lookbehind:!0,greedy:!0,inside:null},builtin:/\b(?:Array|Function|Promise|any|boolean|console|never|number|string|symbol|unknown)\b/}),e.languages.typescript.keyword.push(/\b(?:abstract|declare|is|keyof|readonly|require)\b/,/\b(?:asserts|infer|interface|module|namespace|type)\b(?=\s*(?:[{_$a-zA-Z\xA0-\uFFFF]|$))/,/\btype\b(?=\s*(?:[\{*]|$))/),delete e.languages.typescript.parameter,delete e.languages.typescript[`literal-property`];var t=e.languages.extend(`typescript`,{});delete t[`class-name`],e.languages.typescript[`class-name`].inside=t,e.languages.insertBefore(`typescript`,`function`,{decorator:{pattern:/@[$\w\xA0-\uFFFF]+/,inside:{at:{pattern:/^@/,alias:`operator`},function:/^[\s\S]+/}},"generic-function":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>(?=\s*\()/,greedy:!0,inside:{function:/^#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/,generic:{pattern:/<[\s\S]+/,alias:`class-name`,inside:t}}}}),e.languages.ts=e.languages.typescript}(S),function(e){var t=e.languages.javascript,n=`\\{(?:[^{}]|\\{(?:[^{}]|\\{[^{}]*\\})*\\})+\\}`,r=`(@(?:arg|argument|param|property)\\s+(?:`+n+`\\s+)?)`;e.languages.jsdoc=e.languages.extend(`javadoclike`,{parameter:{pattern:RegExp(r+`(?:(?!\\s)[$\\w\\xA0-\\uFFFF.])+(?=\\s|$)`),lookbehind:!0,inside:{punctuation:/\./}}}),e.languages.insertBefore(`jsdoc`,`keyword`,{"optional-parameter":{pattern:RegExp(r+`\\[(?:(?!\\s)[$\\w\\xA0-\\uFFFF.])+(?:=[^[\\]]+)?\\](?=\\s|$)`),lookbehind:!0,inside:{parameter:{pattern:/(^\[)[$\w\xA0-\uFFFF\.]+/,lookbehind:!0,inside:{punctuation:/\./}},code:{pattern:/(=)[\s\S]*(?=\]$)/,lookbehind:!0,inside:t,alias:`language-javascript`},punctuation:/[=[\]]/}},"class-name":[{pattern:RegExp(`(@(?:augments|class|extends|interface|memberof!?|template|this|typedef)\\s+(?:<TYPE>\\s+)?)[A-Z]\\w*(?:\\.[A-Z]\\w*)*`.replace(/<TYPE>/g,function(){return n})),lookbehind:!0,inside:{punctuation:/\./}},{pattern:RegExp(`(@[a-z]+\\s+)`+n),lookbehind:!0,inside:{string:t.string,number:t.number,boolean:t.boolean,keyword:e.languages.typescript.keyword,operator:/=>|\.\.\.|[&|?:*]/,punctuation:/[.,;=<>{}()[\]]/}}],example:{pattern:/(@example\s+(?!\s))(?:[^@\s]|\s+(?!\s))+?(?=\s*(?:\*\s*)?(?:@\w|\*\/))/,lookbehind:!0,inside:{code:{pattern:/^([\t ]*(?:\*\s*)?)\S.*$/m,lookbehind:!0,inside:t,alias:`language-javascript`}}}}),e.languages.javadoclike.addSupport(`javascript`,e.languages.jsdoc)}(S),function(e){e.languages.flow=e.languages.extend(`javascript`,{}),e.languages.insertBefore(`flow`,`keyword`,{type:[{pattern:/\b(?:[Bb]oolean|Function|[Nn]umber|[Ss]tring|[Ss]ymbol|any|mixed|null|void)\b/,alias:`class-name`}]}),e.languages.flow[`function-variable`].pattern=/(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=\s*(?:function\b|(?:\([^()]*\)(?:\s*:\s*\w+)?|(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/i,delete e.languages.flow.parameter,e.languages.insertBefore(`flow`,`operator`,{"flow-punctuation":{pattern:/\{\||\|\}/,alias:`punctuation`}}),Array.isArray(e.languages.flow.keyword)||(e.languages.flow.keyword=[e.languages.flow.keyword]),e.languages.flow.keyword.unshift({pattern:/(^|[^$]\b)(?:Class|declare|opaque|type)\b(?!\$)/,lookbehind:!0},{pattern:/(^|[^$]\B)\$(?:Diff|Enum|Exact|Keys|ObjMap|PropertyType|Record|Shape|Subtype|Supertype|await)\b(?!\$)/,lookbehind:!0})}(S),S.languages.n4js=S.languages.extend(`javascript`,{keyword:/\b(?:Array|any|boolean|break|case|catch|class|const|constructor|continue|debugger|declare|default|delete|do|else|enum|export|extends|false|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|module|new|null|number|package|private|protected|public|return|set|static|string|super|switch|this|throw|true|try|typeof|var|void|while|with|yield)\b/}),S.languages.insertBefore(`n4js`,`constant`,{annotation:{pattern:/@+\w+/,alias:`operator`}}),S.languages.n4jsd=S.languages.n4js,function(e){function t(e,t){return RegExp(e.replace(/<ID>/g,function(){return`(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*`}),t)}e.languages.insertBefore(`javascript`,`function-variable`,{"method-variable":{pattern:RegExp(`(\\.\\s*)`+e.languages.javascript[`function-variable`].pattern.source),lookbehind:!0,alias:[`function-variable`,`method`,`function`,`property-access`]}}),e.languages.insertBefore(`javascript`,`function`,{method:{pattern:RegExp(`(\\.\\s*)`+e.languages.javascript.function.source),lookbehind:!0,alias:[`function`,`property-access`]}}),e.languages.insertBefore(`javascript`,`constant`,{"known-class-name":[{pattern:/\b(?:(?:Float(?:32|64)|(?:Int|Uint)(?:8|16|32)|Uint8Clamped)?Array|ArrayBuffer|BigInt|Boolean|DataView|Date|Error|Function|Intl|JSON|(?:Weak)?(?:Map|Set)|Math|Number|Object|Promise|Proxy|Reflect|RegExp|String|Symbol|WebAssembly)\b/,alias:`class-name`},{pattern:/\b(?:[A-Z]\w*)Error\b/,alias:`class-name`}]}),e.languages.insertBefore(`javascript`,`keyword`,{imports:{pattern:t(`(\\bimport\\b\\s*)(?:<ID>(?:\\s*,\\s*(?:\\*\\s*as\\s+<ID>|\\{[^{}]*\\}))?|\\*\\s*as\\s+<ID>|\\{[^{}]*\\})(?=\\s*\\bfrom\\b)`),lookbehind:!0,inside:e.languages.javascript},exports:{pattern:t(`(\\bexport\\b\\s*)(?:\\*(?:\\s*as\\s+<ID>)?(?=\\s*\\bfrom\\b)|\\{[^{}]*\\})`),lookbehind:!0,inside:e.languages.javascript}}),e.languages.javascript.keyword.unshift({pattern:/\b(?:as|default|export|from|import)\b/,alias:`module`},{pattern:/\b(?:await|break|catch|continue|do|else|finally|for|if|return|switch|throw|try|while|yield)\b/,alias:`control-flow`},{pattern:/\bnull\b/,alias:[`null`,`nil`]},{pattern:/\bundefined\b/,alias:`nil`}),e.languages.insertBefore(`javascript`,`operator`,{spread:{pattern:/\.{3}/,alias:`operator`},arrow:{pattern:/=>/,alias:`operator`}}),e.languages.insertBefore(`javascript`,`punctuation`,{"property-access":{pattern:t(`(\\.\\s*)#?<ID>`),lookbehind:!0},"maybe-class-name":{pattern:/(^|[^$\w\xA0-\uFFFF])[A-Z][$\w\xA0-\uFFFF]+/,lookbehind:!0},dom:{pattern:/\b(?:document|(?:local|session)Storage|location|navigator|performance|window)\b/,alias:`variable`},console:{pattern:/\bconsole(?=\s*\.)/,alias:`class-name`}});for(var n=[`function`,`function-variable`,`method`,`method-variable`,`property-access`],r=0;r<n.length;r++){var i=n[r],a=e.languages.javascript[i],i=(a=e.util.type(a)===`RegExp`?e.languages.javascript[i]={pattern:a}:a).inside||{};(a.inside=i)[`maybe-class-name`]=/^[A-Z][\s\S]*/}}(S),function(e){var t=e.util.clone(e.languages.javascript),n=`(?:\\s|\\/\\/.*(?!.)|\\/\\*(?:[^*]|\\*(?!\\/))\\*\\/)`,r=`(?:\\{(?:\\{(?:\\{[^{}]*\\}|[^{}])*\\}|[^{}])*\\})`,i=`(?:\\{<S>*\\.{3}(?:[^{}]|<BRACES>)*\\})`;function a(e,t){return e=e.replace(/<S>/g,function(){return n}).replace(/<BRACES>/g,function(){return r}).replace(/<SPREAD>/g,function(){return i}),RegExp(e,t)}i=a(i).source,e.languages.jsx=e.languages.extend(`markup`,t),e.languages.jsx.tag.pattern=a(`<\\/?(?:[\\w.:-]+(?:<S>+(?:[\\w.:$-]+(?:=(?:"(?:\\\\[\\s\\S]|[^\\\\"])*"|'(?:\\\\[\\s\\S]|[^\\\\'])*'|[^\\s{'"/>=]+|<BRACES>))?|<SPREAD>))*<S>*\\/?)?>`),e.languages.jsx.tag.inside.tag.pattern=/^<\/?[^\s>\/]*/,e.languages.jsx.tag.inside[`attr-value`].pattern=/=(?!\{)(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s'">]+)/,e.languages.jsx.tag.inside.tag.inside[`class-name`]=/^[A-Z]\w*(?:\.[A-Z]\w*)*$/,e.languages.jsx.tag.inside.comment=t.comment,e.languages.insertBefore(`inside`,`attr-name`,{spread:{pattern:a(`<SPREAD>`),inside:e.languages.jsx}},e.languages.jsx.tag),e.languages.insertBefore(`inside`,`special-attr`,{script:{pattern:a(`=<BRACES>`),alias:`language-javascript`,inside:{"script-punctuation":{pattern:/^=(?=\{)/,alias:`punctuation`},rest:e.languages.jsx}}},e.languages.jsx.tag);function o(t){for(var n=[],r=0;r<t.length;r++){var i=t[r],a=!1;typeof i!=`string`&&(i.type===`tag`&&i.content[0]&&i.content[0].type===`tag`?i.content[0].content[0].content===`</`?0<n.length&&n[n.length-1].tagName===s(i.content[0].content[1])&&n.pop():i.content[i.content.length-1].content!==`/>`&&n.push({tagName:s(i.content[0].content[1]),openedBraces:0}):0<n.length&&i.type===`punctuation`&&i.content===`{`?n[n.length-1].openedBraces++:0<n.length&&0<n[n.length-1].openedBraces&&i.type===`punctuation`&&i.content===`}`?n[n.length-1].openedBraces--:a=!0),(a||typeof i==`string`)&&0<n.length&&n[n.length-1].openedBraces===0&&(a=s(i),r<t.length-1&&(typeof t[r+1]==`string`||t[r+1].type===`plain-text`)&&(a+=s(t[r+1]),t.splice(r+1,1)),0<r&&(typeof t[r-1]==`string`||t[r-1].type===`plain-text`)&&(a=s(t[r-1])+a,t.splice(r-1,1),r--),t[r]=new e.Token(`plain-text`,a,null,a)),i.content&&typeof i.content!=`string`&&o(i.content)}}var s=function(e){return e?typeof e==`string`?e:typeof e.content==`string`?e.content:e.content.map(s).join(``):``};e.hooks.add(`after-tokenize`,function(e){e.language!==`jsx`&&e.language!==`tsx`||o(e.tokens)})}(S),function(e){var t=e.util.clone(e.languages.typescript),t=(e.languages.tsx=e.languages.extend(`jsx`,t),delete e.languages.tsx.parameter,delete e.languages.tsx[`literal-property`],e.languages.tsx.tag);t.pattern=RegExp(`(^|[^\\w$]|(?=<\\/))(?:`+t.pattern.source+`)`,t.pattern.flags),t.lookbehind=!0}(S),S.languages.swift={comment:{pattern:/(^|[^\\:])(?:\/\/.*|\/\*(?:[^/*]|\/(?!\*)|\*(?!\/)|\/\*(?:[^*]|\*(?!\/))*\*\/)*\*\/)/,lookbehind:!0,greedy:!0},"string-literal":[{pattern:RegExp(`(^|[^"#])(?:"(?:\\\\(?:\\((?:[^()]|\\([^()]*\\))*\\)|\\r\\n|[^(])|[^\\\\\\r\\n"])*"|"""(?:\\\\(?:\\((?:[^()]|\\([^()]*\\))*\\)|[^(])|[^\\\\"]|"(?!""))*""")(?!["#])`),lookbehind:!0,greedy:!0,inside:{interpolation:{pattern:/(\\\()(?:[^()]|\([^()]*\))*(?=\))/,lookbehind:!0,inside:null},"interpolation-punctuation":{pattern:/^\)|\\\($/,alias:`punctuation`},punctuation:/\\(?=[\r\n])/,string:/[\s\S]+/}},{pattern:RegExp(`(^|[^"#])(#+)(?:"(?:\\\\(?:#+\\((?:[^()]|\\([^()]*\\))*\\)|\\r\\n|[^#])|[^\\\\\\r\\n])*?"|"""(?:\\\\(?:#+\\((?:[^()]|\\([^()]*\\))*\\)|[^#])|[^\\\\])*?""")\\2`),lookbehind:!0,greedy:!0,inside:{interpolation:{pattern:/(\\#+\()(?:[^()]|\([^()]*\))*(?=\))/,lookbehind:!0,inside:null},"interpolation-punctuation":{pattern:/^\)|\\#+\($/,alias:`punctuation`},string:/[\s\S]+/}}],directive:{pattern:RegExp(`#(?:(?:elseif|if)\\b(?:[ ]*(?:![ \\t]*)?(?:\\b\\w+\\b(?:[ \\t]*\\((?:[^()]|\\([^()]*\\))*\\))?|\\((?:[^()]|\\([^()]*\\))*\\))(?:[ \\t]*(?:&&|\\|\\|))?)+|(?:else|endif)\\b)`),alias:`property`,inside:{"directive-name":/^#\w+/,boolean:/\b(?:false|true)\b/,number:/\b\d+(?:\.\d+)*\b/,operator:/!|&&|\|\||[<>]=?/,punctuation:/[(),]/}},literal:{pattern:/#(?:colorLiteral|column|dsohandle|file(?:ID|Literal|Path)?|function|imageLiteral|line)\b/,alias:`constant`},"other-directive":{pattern:/#\w+\b/,alias:`property`},attribute:{pattern:/@\w+/,alias:`atrule`},"function-definition":{pattern:/(\bfunc\s+)\w+/,lookbehind:!0,alias:`function`},label:{pattern:/\b(break|continue)\s+\w+|\b[a-zA-Z_]\w*(?=\s*:\s*(?:for|repeat|while)\b)/,lookbehind:!0,alias:`important`},keyword:/\b(?:Any|Protocol|Self|Type|actor|as|assignment|associatedtype|associativity|async|await|break|case|catch|class|continue|convenience|default|defer|deinit|didSet|do|dynamic|else|enum|extension|fallthrough|fileprivate|final|for|func|get|guard|higherThan|if|import|in|indirect|infix|init|inout|internal|is|isolated|lazy|left|let|lowerThan|mutating|none|nonisolated|nonmutating|open|operator|optional|override|postfix|precedencegroup|prefix|private|protocol|public|repeat|required|rethrows|return|right|safe|self|set|some|static|struct|subscript|super|switch|throw|throws|try|typealias|unowned|unsafe|var|weak|where|while|willSet)\b/,boolean:/\b(?:false|true)\b/,nil:{pattern:/\bnil\b/,alias:`constant`},"short-argument":/\$\d+\b/,omit:{pattern:/\b_\b/,alias:`keyword`},number:/\b(?:[\d_]+(?:\.[\de_]+)?|0x[a-f0-9_]+(?:\.[a-f0-9p_]+)?|0b[01_]+|0o[0-7_]+)\b/i,"class-name":/\b[A-Z](?:[A-Z_\d]*[a-z]\w*)?\b/,function:/\b[a-z_]\w*(?=\s*\()/i,constant:/\b(?:[A-Z_]{2,}|k[A-Z][A-Za-z_]+)\b/,operator:/[-+*/%=!<>&|^~?]+|\.[.\-+*/%=!<>&|^~?]+/,punctuation:/[{}[\]();,.:\\]/},S.languages.swift[`string-literal`].forEach(function(e){e.inside.interpolation.inside=S.languages.swift}),function(e){e.languages.kotlin=e.languages.extend(`clike`,{keyword:{pattern:/(^|[^.])\b(?:abstract|actual|annotation|as|break|by|catch|class|companion|const|constructor|continue|crossinline|data|do|dynamic|else|enum|expect|external|final|finally|for|fun|get|if|import|in|infix|init|inline|inner|interface|internal|is|lateinit|noinline|null|object|open|operator|out|override|package|private|protected|public|reified|return|sealed|set|super|suspend|tailrec|this|throw|to|try|typealias|val|var|vararg|when|where|while)\b/,lookbehind:!0},function:[{pattern:/(?:`[^\r\n`]+`|\b\w+)(?=\s*\()/,greedy:!0},{pattern:/(\.)(?:`[^\r\n`]+`|\w+)(?=\s*\{)/,lookbehind:!0,greedy:!0}],number:/\b(?:0[xX][\da-fA-F]+(?:_[\da-fA-F]+)*|0[bB][01]+(?:_[01]+)*|\d+(?:_\d+)*(?:\.\d+(?:_\d+)*)?(?:[eE][+-]?\d+(?:_\d+)*)?[fFL]?)\b/,operator:/\+[+=]?|-[-=>]?|==?=?|!(?:!|==?)?|[\/*%<>]=?|[?:]:?|\.\.|&&|\|\||\b(?:and|inv|or|shl|shr|ushr|xor)\b/}),delete e.languages.kotlin[`class-name`];var t={"interpolation-punctuation":{pattern:/^\$\{?|\}$/,alias:`punctuation`},expression:{pattern:/[\s\S]+/,inside:e.languages.kotlin}};e.languages.insertBefore(`kotlin`,`string`,{"string-literal":[{pattern:/"""(?:[^$]|\$(?:(?!\{)|\{[^{}]*\}))*?"""/,alias:`multiline`,inside:{interpolation:{pattern:/\$(?:[a-z_]\w*|\{[^{}]*\})/i,inside:t},string:/[\s\S]+/}},{pattern:/"(?:[^"\\\r\n$]|\\.|\$(?:(?!\{)|\{[^{}]*\}))*"/,alias:`singleline`,inside:{interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$(?:[a-z_]\w*|\{[^{}]*\})/i,lookbehind:!0,inside:t},string:/[\s\S]+/}}],char:{pattern:/'(?:[^'\\\r\n]|\\(?:.|u[a-fA-F0-9]{0,4}))'/,greedy:!0}}),delete e.languages.kotlin.string,e.languages.insertBefore(`kotlin`,`keyword`,{annotation:{pattern:/\B@(?:\w+:)?(?:[A-Z]\w*|\[[^\]]+\])/,alias:`builtin`}}),e.languages.insertBefore(`kotlin`,`function`,{label:{pattern:/\b\w+@|@\w+\b/,alias:`symbol`}}),e.languages.kt=e.languages.kotlin,e.languages.kts=e.languages.kotlin}(S),S.languages.c=S.languages.extend(`clike`,{comment:{pattern:/\/\/(?:[^\r\n\\]|\\(?:\r\n?|\n|(?![\r\n])))*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},"class-name":{pattern:/(\b(?:enum|struct)\s+(?:__attribute__\s*\(\([\s\S]*?\)\)\s*)?)\w+|\b[a-z]\w*_t\b/,lookbehind:!0},keyword:/\b(?:_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|__attribute__|asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|inline|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|typeof|union|unsigned|void|volatile|while)\b/,function:/\b[a-z_]\w*(?=\s*\()/i,number:/(?:\b0x(?:[\da-f]+(?:\.[\da-f]*)?|\.[\da-f]+)(?:p[+-]?\d+)?|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?)[ful]{0,4}/i,operator:/>>=?|<<=?|->|([-+&|:])\1|[?:~]|[-+*/%&|^!=<>]=?/}),S.languages.insertBefore(`c`,`string`,{char:{pattern:/'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n]){0,32}'/,greedy:!0}}),S.languages.insertBefore(`c`,`string`,{macro:{pattern:/(^[\t ]*)#\s*[a-z](?:[^\r\n\\/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|\\(?:\r\n|[\s\S]))*/im,lookbehind:!0,greedy:!0,alias:`property`,inside:{string:[{pattern:/^(#\s*include\s*)<[^>]+>/,lookbehind:!0},S.languages.c.string],char:S.languages.c.char,comment:S.languages.c.comment,"macro-name":[{pattern:/(^#\s*define\s+)\w+\b(?!\()/i,lookbehind:!0},{pattern:/(^#\s*define\s+)\w+\b(?=\()/i,lookbehind:!0,alias:`function`}],directive:{pattern:/^(#\s*)[a-z]+/,lookbehind:!0,alias:`keyword`},"directive-hash":/^#/,punctuation:/##|\\(?=[\r\n])/,expression:{pattern:/\S[\s\S]*/,inside:S.languages.c}}}}),S.languages.insertBefore(`c`,`function`,{constant:/\b(?:EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|__DATE__|__FILE__|__LINE__|__TIMESTAMP__|__TIME__|__func__|stderr|stdin|stdout)\b/}),delete S.languages.c.boolean,S.languages.objectivec=S.languages.extend(`c`,{string:{pattern:/@?"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},keyword:/\b(?:asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|in|inline|int|long|register|return|self|short|signed|sizeof|static|struct|super|switch|typedef|typeof|union|unsigned|void|volatile|while)\b|(?:@interface|@end|@implementation|@protocol|@class|@public|@protected|@private|@property|@try|@catch|@finally|@throw|@synthesize|@dynamic|@selector)\b/,operator:/-[->]?|\+\+?|!=?|<<?=?|>>?=?|==?|&&?|\|\|?|[~^%?*\/@]/}),delete S.languages.objectivec[`class-name`],S.languages.objc=S.languages.objectivec,S.languages.reason=S.languages.extend(`clike`,{string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^\\\r\n"])*"/,greedy:!0},"class-name":/\b[A-Z]\w*/,keyword:/\b(?:and|as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|method|module|mutable|new|nonrec|object|of|open|or|private|rec|sig|struct|switch|then|to|try|type|val|virtual|when|while|with)\b/,operator:/\.{3}|:[:=]|\|>|->|=(?:==?|>)?|<=?|>=?|[|^?'#!~`]|[+\-*\/]\.?|\b(?:asr|land|lor|lsl|lsr|lxor|mod)\b/}),S.languages.insertBefore(`reason`,`class-name`,{char:{pattern:/'(?:\\x[\da-f]{2}|\\o[0-3][0-7][0-7]|\\\d{3}|\\.|[^'\\\r\n])'/,greedy:!0},constructor:/\b[A-Z]\w*\b(?!\s*\.)/,label:{pattern:/\b[a-z]\w*(?=::)/,alias:`symbol`}}),delete S.languages.reason.function,function(e){for(var t=`\\/\\*(?:[^*/]|\\*(?!\\/)|\\/(?!\\*)|<self>)*\\*\\/`,n=0;n<2;n++)t=t.replace(/<self>/g,function(){return t});t=t.replace(/<self>/g,function(){return`[^\\s\\S]`}),e.languages.rust={comment:[{pattern:RegExp(`(^|[^\\\\])`+t),lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/b?"(?:\\[\s\S]|[^\\"])*"|b?r(#*)"(?:[^"]|"(?!\1))*"\1/,greedy:!0},char:{pattern:/b?'(?:\\(?:x[0-7][\da-fA-F]|u\{(?:[\da-fA-F]_*){1,6}\}|.)|[^\\\r\n\t'])'/,greedy:!0},attribute:{pattern:/#!?\[(?:[^\[\]"]|"(?:\\[\s\S]|[^\\"])*")*\]/,greedy:!0,alias:`attr-name`,inside:{string:null}},"closure-params":{pattern:/([=(,:]\s*|\bmove\s*)\|[^|]*\||\|[^|]*\|(?=\s*(?:\{|->))/,lookbehind:!0,greedy:!0,inside:{"closure-punctuation":{pattern:/^\||\|$/,alias:`punctuation`},rest:null}},"lifetime-annotation":{pattern:/'\w+/,alias:`symbol`},"fragment-specifier":{pattern:/(\$\w+:)[a-z]+/,lookbehind:!0,alias:`punctuation`},variable:/\$\w+/,"function-definition":{pattern:/(\bfn\s+)\w+/,lookbehind:!0,alias:`function`},"type-definition":{pattern:/(\b(?:enum|struct|trait|type|union)\s+)\w+/,lookbehind:!0,alias:`class-name`},"module-declaration":[{pattern:/(\b(?:crate|mod)\s+)[a-z][a-z_\d]*/,lookbehind:!0,alias:`namespace`},{pattern:/(\b(?:crate|self|super)\s*)::\s*[a-z][a-z_\d]*\b(?:\s*::(?:\s*[a-z][a-z_\d]*\s*::)*)?/,lookbehind:!0,alias:`namespace`,inside:{punctuation:/::/}}],keyword:[/\b(?:Self|abstract|as|async|await|become|box|break|const|continue|crate|do|dyn|else|enum|extern|final|fn|for|if|impl|in|let|loop|macro|match|mod|move|mut|override|priv|pub|ref|return|self|static|struct|super|trait|try|type|typeof|union|unsafe|unsized|use|virtual|where|while|yield)\b/,/\b(?:bool|char|f(?:32|64)|[ui](?:8|16|32|64|128|size)|str)\b/],function:/\b[a-z_]\w*(?=\s*(?:::\s*<|\())/,macro:{pattern:/\b\w+!/,alias:`property`},constant:/\b[A-Z_][A-Z_\d]+\b/,"class-name":/\b[A-Z]\w*\b/,namespace:{pattern:/(?:\b[a-z][a-z_\d]*\s*::\s*)*\b[a-z][a-z_\d]*\s*::(?!\s*<)/,inside:{punctuation:/::/}},number:/\b(?:0x[\dA-Fa-f](?:_?[\dA-Fa-f])*|0o[0-7](?:_?[0-7])*|0b[01](?:_?[01])*|(?:(?:\d(?:_?\d)*)?\.)?\d(?:_?\d)*(?:[Ee][+-]?\d+)?)(?:_?(?:f32|f64|[iu](?:8|16|32|64|size)?))?\b/,boolean:/\b(?:false|true)\b/,punctuation:/->|\.\.=|\.{1,3}|::|[{}[\];(),:]/,operator:/[-+*\/%!^]=?|=[=>]?|&[&=]?|\|[|=]?|<<?=?|>>?=?|[@?]/},e.languages.rust[`closure-params`].inside.rest=e.languages.rust,e.languages.rust.attribute.inside.string=e.languages.rust.string}(S),S.languages.go=S.languages.extend(`clike`,{string:{pattern:/(^|[^\\])"(?:\\.|[^"\\\r\n])*"|`[^`]*`/,lookbehind:!0,greedy:!0},keyword:/\b(?:break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go(?:to)?|if|import|interface|map|package|range|return|select|struct|switch|type|var)\b/,boolean:/\b(?:_|false|iota|nil|true)\b/,number:[/\b0(?:b[01_]+|o[0-7_]+)i?\b/i,/\b0x(?:[a-f\d_]+(?:\.[a-f\d_]*)?|\.[a-f\d_]+)(?:p[+-]?\d+(?:_\d+)*)?i?(?!\w)/i,/(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?[\d_]+)?i?(?!\w)/i],operator:/[*\/%^!=]=?|\+[=+]?|-[=-]?|\|[=|]?|&(?:=|&|\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\.\.\./,builtin:/\b(?:append|bool|byte|cap|close|complex|complex(?:64|128)|copy|delete|error|float(?:32|64)|u?int(?:8|16|32|64)?|imag|len|make|new|panic|print(?:ln)?|real|recover|rune|string|uintptr)\b/}),S.languages.insertBefore(`go`,`string`,{char:{pattern:/'(?:\\.|[^'\\\r\n]){0,10}'/,greedy:!0}}),delete S.languages.go[`class-name`],function(e){var t=/\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char16_t|char32_t|char8_t|class|co_await|co_return|co_yield|compl|concept|const|const_cast|consteval|constexpr|constinit|continue|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|final|float|for|friend|goto|if|import|inline|int|int16_t|int32_t|int64_t|int8_t|long|module|mutable|namespace|new|noexcept|nullptr|operator|override|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|uint16_t|uint32_t|uint64_t|uint8_t|union|unsigned|using|virtual|void|volatile|wchar_t|while)\b/,n=`\\b(?!<keyword>)\\w+(?:\\s*\\.\\s*\\w+)*\\b`.replace(/<keyword>/g,function(){return t.source});e.languages.cpp=e.languages.extend(`c`,{"class-name":[{pattern:RegExp(`(\\b(?:class|concept|enum|struct|typename)\\s+)(?!<keyword>)\\w+`.replace(/<keyword>/g,function(){return t.source})),lookbehind:!0},/\b[A-Z]\w*(?=\s*::\s*\w+\s*\()/,/\b[A-Z_]\w*(?=\s*::\s*~\w+\s*\()/i,/\b\w+(?=\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>\s*::\s*\w+\s*\()/],keyword:t,number:{pattern:/(?:\b0b[01']+|\b0x(?:[\da-f']+(?:\.[\da-f']*)?|\.[\da-f']+)(?:p[+-]?[\d']+)?|(?:\b[\d']+(?:\.[\d']*)?|\B\.[\d']+)(?:e[+-]?[\d']+)?)[ful]{0,4}/i,greedy:!0},operator:/>>=?|<<=?|->|--|\+\+|&&|\|\||[?:~]|<=>|[-+*/%&|^!=<>]=?|\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\b/,boolean:/\b(?:false|true)\b/}),e.languages.insertBefore(`cpp`,`string`,{module:{pattern:RegExp(`(\\b(?:import|module)\\s+)(?:"(?:\\\\(?:\\r\\n|[\\s\\S])|[^"\\\\\\r\\n])*"|<[^<>\\r\\n]*>|`+`<mod-name>(?:\\s*:\\s*<mod-name>)?|:\\s*<mod-name>`.replace(/<mod-name>/g,function(){return n})+`)`),lookbehind:!0,greedy:!0,inside:{string:/^[<"][\s\S]+/,operator:/:/,punctuation:/\./}},"raw-string":{pattern:/R"([^()\\ ]{0,16})\([\s\S]*?\)\1"/,alias:`string`,greedy:!0}}),e.languages.insertBefore(`cpp`,`keyword`,{"generic-function":{pattern:/\b(?!operator\b)[a-z_]\w*\s*<(?:[^<>]|<[^<>]*>)*>(?=\s*\()/i,inside:{function:/^\w+/,generic:{pattern:/<[\s\S]+/,alias:`class-name`,inside:e.languages.cpp}}}}),e.languages.insertBefore(`cpp`,`operator`,{"double-colon":{pattern:/::/,alias:`punctuation`}}),e.languages.insertBefore(`cpp`,`class-name`,{"base-clause":{pattern:/(\b(?:class|struct)\s+\w+\s*:\s*)[^;{}"'\s]+(?:\s+[^;{}"'\s]+)*(?=\s*[;{])/,lookbehind:!0,greedy:!0,inside:e.languages.extend(`cpp`,{})}}),e.languages.insertBefore(`inside`,`double-colon`,{"class-name":/\b[a-z_]\w*\b(?!\s*::)/i},e.languages.cpp[`base-clause`])}(S),S.languages.python={comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0,greedy:!0},"string-interpolation":{pattern:/(?:f|fr|rf)(?:("""|''')[\s\S]*?\1|("|')(?:\\.|(?!\2)[^\\\r\n])*\2)/i,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^{])(?:\{\{)*)\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}])+\})+\})+\}/,lookbehind:!0,inside:{"format-spec":{pattern:/(:)[^:(){}]+(?=\}$)/,lookbehind:!0},"conversion-option":{pattern:/![sra](?=[:}]$)/,alias:`punctuation`},rest:null}},string:/[\s\S]+/}},"triple-quoted-string":{pattern:/(?:[rub]|br|rb)?("""|''')[\s\S]*?\1/i,greedy:!0,alias:`string`},string:{pattern:/(?:[rub]|br|rb)?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/i,greedy:!0},function:{pattern:/((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/g,lookbehind:!0},"class-name":{pattern:/(\bclass\s+)\w+/i,lookbehind:!0},decorator:{pattern:/(^[\t ]*)@\w+(?:\.\w+)*/m,lookbehind:!0,alias:[`annotation`,`punctuation`],inside:{punctuation:/\./}},keyword:/\b(?:_(?=\s*:)|and|as|assert|async|await|break|case|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|match|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/,builtin:/\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/,boolean:/\b(?:False|None|True)\b/,number:/\b0(?:b(?:_?[01])+|o(?:_?[0-7])+|x(?:_?[a-f0-9])+)\b|(?:\b\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\B\.\d+(?:_\d+)*)(?:e[+-]?\d+(?:_\d+)*)?j?(?!\w)/i,operator:/[-+%=]=?|!=|:=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,punctuation:/[{}[\];(),.:]/},S.languages.python[`string-interpolation`].inside.interpolation.inside.rest=S.languages.python,S.languages.py=S.languages.python,S.languages.json={property:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?=\s*:)/,lookbehind:!0,greedy:!0},string:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?!\s*:)/,lookbehind:!0,greedy:!0},comment:{pattern:/\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},number:/-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,punctuation:/[{}[\],]/,operator:/:/,boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:`keyword`}},S.languages.webmanifest=S.languages.json,b({},{dracula:()=>C,duotoneDark:()=>w,duotoneLight:()=>T,github:()=>E,gruvboxMaterialDark:()=>H,gruvboxMaterialLight:()=>U,jettwaveDark:()=>R,jettwaveLight:()=>z,nightOwl:()=>D,nightOwlLight:()=>O,oceanicNext:()=>A,okaidia:()=>j,oneDark:()=>B,oneLight:()=>V,palenight:()=>M,shadesOfPurple:()=>N,synthwave84:()=>P,ultramin:()=>F,vsDark:()=>I,vsLight:()=>L});var C={plain:{color:`#F8F8F2`,backgroundColor:`#282A36`},styles:[{types:[`prolog`,`constant`,`builtin`],style:{color:`rgb(189, 147, 249)`}},{types:[`inserted`,`function`],style:{color:`rgb(80, 250, 123)`}},{types:[`deleted`],style:{color:`rgb(255, 85, 85)`}},{types:[`changed`],style:{color:`rgb(255, 184, 108)`}},{types:[`punctuation`,`symbol`],style:{color:`rgb(248, 248, 242)`}},{types:[`string`,`char`,`tag`,`selector`],style:{color:`rgb(255, 121, 198)`}},{types:[`keyword`,`variable`],style:{color:`rgb(189, 147, 249)`,fontStyle:`italic`}},{types:[`comment`],style:{color:`rgb(98, 114, 164)`}},{types:[`attr-name`],style:{color:`rgb(241, 250, 140)`}}]},w={plain:{backgroundColor:`#2a2734`,color:`#9a86fd`},styles:[{types:[`comment`,`prolog`,`doctype`,`cdata`,`punctuation`],style:{color:`#6c6783`}},{types:[`namespace`],style:{opacity:.7}},{types:[`tag`,`operator`,`number`],style:{color:`#e09142`}},{types:[`property`,`function`],style:{color:`#9a86fd`}},{types:[`tag-id`,`selector`,`atrule-id`],style:{color:`#eeebff`}},{types:[`attr-name`],style:{color:`#c4b9fe`}},{types:[`boolean`,`string`,`entity`,`url`,`attr-value`,`keyword`,`control`,`directive`,`unit`,`statement`,`regex`,`atrule`,`placeholder`,`variable`],style:{color:`#ffcc99`}},{types:[`deleted`],style:{textDecorationLine:`line-through`}},{types:[`inserted`],style:{textDecorationLine:`underline`}},{types:[`italic`],style:{fontStyle:`italic`}},{types:[`important`,`bold`],style:{fontWeight:`bold`}},{types:[`important`],style:{color:`#c4b9fe`}}]},T={plain:{backgroundColor:`#faf8f5`,color:`#728fcb`},styles:[{types:[`comment`,`prolog`,`doctype`,`cdata`,`punctuation`],style:{color:`#b6ad9a`}},{types:[`namespace`],style:{opacity:.7}},{types:[`tag`,`operator`,`number`],style:{color:`#063289`}},{types:[`property`,`function`],style:{color:`#b29762`}},{types:[`tag-id`,`selector`,`atrule-id`],style:{color:`#2d2006`}},{types:[`attr-name`],style:{color:`#896724`}},{types:[`boolean`,`string`,`entity`,`url`,`attr-value`,`keyword`,`control`,`directive`,`unit`,`statement`,`regex`,`atrule`],style:{color:`#728fcb`}},{types:[`placeholder`,`variable`],style:{color:`#93abdc`}},{types:[`deleted`],style:{textDecorationLine:`line-through`}},{types:[`inserted`],style:{textDecorationLine:`underline`}},{types:[`italic`],style:{fontStyle:`italic`}},{types:[`important`,`bold`],style:{fontWeight:`bold`}},{types:[`important`],style:{color:`#896724`}}]},E={plain:{color:`#393A34`,backgroundColor:`#f6f8fa`},styles:[{types:[`comment`,`prolog`,`doctype`,`cdata`],style:{color:`#999988`,fontStyle:`italic`}},{types:[`namespace`],style:{opacity:.7}},{types:[`string`,`attr-value`],style:{color:`#e3116c`}},{types:[`punctuation`,`operator`],style:{color:`#393A34`}},{types:[`entity`,`url`,`symbol`,`number`,`boolean`,`variable`,`constant`,`property`,`regex`,`inserted`],style:{color:`#36acaa`}},{types:[`atrule`,`keyword`,`attr-name`,`selector`],style:{color:`#00a4db`}},{types:[`function`,`deleted`,`tag`],style:{color:`#d73a49`}},{types:[`function-variable`],style:{color:`#6f42c1`}},{types:[`tag`,`selector`,`keyword`],style:{color:`#00009f`}}]},D={plain:{color:`#d6deeb`,backgroundColor:`#011627`},styles:[{types:[`changed`],style:{color:`rgb(162, 191, 252)`,fontStyle:`italic`}},{types:[`deleted`],style:{color:`rgba(239, 83, 80, 0.56)`,fontStyle:`italic`}},{types:[`inserted`,`attr-name`],style:{color:`rgb(173, 219, 103)`,fontStyle:`italic`}},{types:[`comment`],style:{color:`rgb(99, 119, 119)`,fontStyle:`italic`}},{types:[`string`,`url`],style:{color:`rgb(173, 219, 103)`}},{types:[`variable`],style:{color:`rgb(214, 222, 235)`}},{types:[`number`],style:{color:`rgb(247, 140, 108)`}},{types:[`builtin`,`char`,`constant`,`function`],style:{color:`rgb(130, 170, 255)`}},{types:[`punctuation`],style:{color:`rgb(199, 146, 234)`}},{types:[`selector`,`doctype`],style:{color:`rgb(199, 146, 234)`,fontStyle:`italic`}},{types:[`class-name`],style:{color:`rgb(255, 203, 139)`}},{types:[`tag`,`operator`,`keyword`],style:{color:`rgb(127, 219, 202)`}},{types:[`boolean`],style:{color:`rgb(255, 88, 116)`}},{types:[`property`],style:{color:`rgb(128, 203, 196)`}},{types:[`namespace`],style:{color:`rgb(178, 204, 214)`}}]},O={plain:{color:`#403f53`,backgroundColor:`#FBFBFB`},styles:[{types:[`changed`],style:{color:`rgb(162, 191, 252)`,fontStyle:`italic`}},{types:[`deleted`],style:{color:`rgba(239, 83, 80, 0.56)`,fontStyle:`italic`}},{types:[`inserted`,`attr-name`],style:{color:`rgb(72, 118, 214)`,fontStyle:`italic`}},{types:[`comment`],style:{color:`rgb(152, 159, 177)`,fontStyle:`italic`}},{types:[`string`,`builtin`,`char`,`constant`,`url`],style:{color:`rgb(72, 118, 214)`}},{types:[`variable`],style:{color:`rgb(201, 103, 101)`}},{types:[`number`],style:{color:`rgb(170, 9, 130)`}},{types:[`punctuation`],style:{color:`rgb(153, 76, 195)`}},{types:[`function`,`selector`,`doctype`],style:{color:`rgb(153, 76, 195)`,fontStyle:`italic`}},{types:[`class-name`],style:{color:`rgb(17, 17, 17)`}},{types:[`tag`],style:{color:`rgb(153, 76, 195)`}},{types:[`operator`,`property`,`keyword`,`namespace`],style:{color:`rgb(12, 150, 155)`}},{types:[`boolean`],style:{color:`rgb(188, 84, 84)`}}]},k={char:`#D8DEE9`,comment:`#999999`,keyword:`#c5a5c5`,primitive:`#5a9bcf`,string:`#8dc891`,variable:`#d7deea`,boolean:`#ff8b50`,punctuation:`#5FB3B3`,tag:`#fc929e`,function:`#79b6f2`,className:`#FAC863`,method:`#6699CC`,operator:`#fc929e`},A={plain:{backgroundColor:`#282c34`,color:`#ffffff`},styles:[{types:[`attr-name`],style:{color:k.keyword}},{types:[`attr-value`],style:{color:k.string}},{types:[`comment`,`block-comment`,`prolog`,`doctype`,`cdata`,`shebang`],style:{color:k.comment}},{types:[`property`,`number`,`function-name`,`constant`,`symbol`,`deleted`],style:{color:k.primitive}},{types:[`boolean`],style:{color:k.boolean}},{types:[`tag`],style:{color:k.tag}},{types:[`string`],style:{color:k.string}},{types:[`punctuation`],style:{color:k.string}},{types:[`selector`,`char`,`builtin`,`inserted`],style:{color:k.char}},{types:[`function`],style:{color:k.function}},{types:[`operator`,`entity`,`url`,`variable`],style:{color:k.variable}},{types:[`keyword`],style:{color:k.keyword}},{types:[`atrule`,`class-name`],style:{color:k.className}},{types:[`important`],style:{fontWeight:`400`}},{types:[`bold`],style:{fontWeight:`bold`}},{types:[`italic`],style:{fontStyle:`italic`}},{types:[`namespace`],style:{opacity:.7}}]},j={plain:{color:`#f8f8f2`,backgroundColor:`#272822`},styles:[{types:[`changed`],style:{color:`rgb(162, 191, 252)`,fontStyle:`italic`}},{types:[`deleted`],style:{color:`#f92672`,fontStyle:`italic`}},{types:[`inserted`],style:{color:`rgb(173, 219, 103)`,fontStyle:`italic`}},{types:[`comment`],style:{color:`#8292a2`,fontStyle:`italic`}},{types:[`string`,`url`],style:{color:`#a6e22e`}},{types:[`variable`],style:{color:`#f8f8f2`}},{types:[`number`],style:{color:`#ae81ff`}},{types:[`builtin`,`char`,`constant`,`function`,`class-name`],style:{color:`#e6db74`}},{types:[`punctuation`],style:{color:`#f8f8f2`}},{types:[`selector`,`doctype`],style:{color:`#a6e22e`,fontStyle:`italic`}},{types:[`tag`,`operator`,`keyword`],style:{color:`#66d9ef`}},{types:[`boolean`],style:{color:`#ae81ff`}},{types:[`namespace`],style:{color:`rgb(178, 204, 214)`,opacity:.7}},{types:[`tag`,`property`],style:{color:`#f92672`}},{types:[`attr-name`],style:{color:`#a6e22e !important`}},{types:[`doctype`],style:{color:`#8292a2`}},{types:[`rule`],style:{color:`#e6db74`}}]},M={plain:{color:`#bfc7d5`,backgroundColor:`#292d3e`},styles:[{types:[`comment`],style:{color:`rgb(105, 112, 152)`,fontStyle:`italic`}},{types:[`string`,`inserted`],style:{color:`rgb(195, 232, 141)`}},{types:[`number`],style:{color:`rgb(247, 140, 108)`}},{types:[`builtin`,`char`,`constant`,`function`],style:{color:`rgb(130, 170, 255)`}},{types:[`punctuation`,`selector`],style:{color:`rgb(199, 146, 234)`}},{types:[`variable`],style:{color:`rgb(191, 199, 213)`}},{types:[`class-name`,`attr-name`],style:{color:`rgb(255, 203, 107)`}},{types:[`tag`,`deleted`],style:{color:`rgb(255, 85, 114)`}},{types:[`operator`],style:{color:`rgb(137, 221, 255)`}},{types:[`boolean`],style:{color:`rgb(255, 88, 116)`}},{types:[`keyword`],style:{fontStyle:`italic`}},{types:[`doctype`],style:{color:`rgb(199, 146, 234)`,fontStyle:`italic`}},{types:[`namespace`],style:{color:`rgb(178, 204, 214)`}},{types:[`url`],style:{color:`rgb(221, 221, 221)`}}]},N={plain:{color:`#9EFEFF`,backgroundColor:`#2D2A55`},styles:[{types:[`changed`],style:{color:`rgb(255, 238, 128)`}},{types:[`deleted`],style:{color:`rgba(239, 83, 80, 0.56)`}},{types:[`inserted`],style:{color:`rgb(173, 219, 103)`}},{types:[`comment`],style:{color:`rgb(179, 98, 255)`,fontStyle:`italic`}},{types:[`punctuation`],style:{color:`rgb(255, 255, 255)`}},{types:[`constant`],style:{color:`rgb(255, 98, 140)`}},{types:[`string`,`url`],style:{color:`rgb(165, 255, 144)`}},{types:[`variable`],style:{color:`rgb(255, 238, 128)`}},{types:[`number`,`boolean`],style:{color:`rgb(255, 98, 140)`}},{types:[`attr-name`],style:{color:`rgb(255, 180, 84)`}},{types:[`keyword`,`operator`,`property`,`namespace`,`tag`,`selector`,`doctype`],style:{color:`rgb(255, 157, 0)`}},{types:[`builtin`,`char`,`constant`,`function`,`class-name`],style:{color:`rgb(250, 208, 0)`}}]},P={plain:{backgroundColor:`linear-gradient(to bottom, #2a2139 75%, #34294f)`,backgroundImage:`#34294f`,color:`#f92aad`,textShadow:`0 0 2px #100c0f, 0 0 5px #dc078e33, 0 0 10px #fff3`},styles:[{types:[`comment`,`block-comment`,`prolog`,`doctype`,`cdata`],style:{color:`#495495`,fontStyle:`italic`}},{types:[`punctuation`],style:{color:`#ccc`}},{types:[`tag`,`attr-name`,`namespace`,`number`,`unit`,`hexcode`,`deleted`],style:{color:`#e2777a`}},{types:[`property`,`selector`],style:{color:`#72f1b8`,textShadow:`0 0 2px #100c0f, 0 0 10px #257c5575, 0 0 35px #21272475`}},{types:[`function-name`],style:{color:`#6196cc`}},{types:[`boolean`,`selector-id`,`function`],style:{color:`#fdfdfd`,textShadow:`0 0 2px #001716, 0 0 3px #03edf975, 0 0 5px #03edf975, 0 0 8px #03edf975`}},{types:[`class-name`,`maybe-class-name`,`builtin`],style:{color:`#fff5f6`,textShadow:`0 0 2px #000, 0 0 10px #fc1f2c75, 0 0 5px #fc1f2c75, 0 0 25px #fc1f2c75`}},{types:[`constant`,`symbol`],style:{color:`#f92aad`,textShadow:`0 0 2px #100c0f, 0 0 5px #dc078e33, 0 0 10px #fff3`}},{types:[`important`,`atrule`,`keyword`,`selector-class`],style:{color:`#f4eee4`,textShadow:`0 0 2px #393a33, 0 0 8px #f39f0575, 0 0 2px #f39f0575`}},{types:[`string`,`char`,`attr-value`,`regex`,`variable`],style:{color:`#f87c32`}},{types:[`parameter`],style:{fontStyle:`italic`}},{types:[`entity`,`url`],style:{color:`#67cdcc`}},{types:[`operator`],style:{color:`ffffffee`}},{types:[`important`,`bold`],style:{fontWeight:`bold`}},{types:[`italic`],style:{fontStyle:`italic`}},{types:[`entity`],style:{cursor:`help`}},{types:[`inserted`],style:{color:`green`}}]},F={plain:{color:`#282a2e`,backgroundColor:`#ffffff`},styles:[{types:[`comment`],style:{color:`rgb(197, 200, 198)`}},{types:[`string`,`number`,`builtin`,`variable`],style:{color:`rgb(150, 152, 150)`}},{types:[`class-name`,`function`,`tag`,`attr-name`],style:{color:`rgb(40, 42, 46)`}}]},I={plain:{color:`#9CDCFE`,backgroundColor:`#1E1E1E`},styles:[{types:[`prolog`],style:{color:`rgb(0, 0, 128)`}},{types:[`comment`],style:{color:`rgb(106, 153, 85)`}},{types:[`builtin`,`changed`,`keyword`,`interpolation-punctuation`],style:{color:`rgb(86, 156, 214)`}},{types:[`number`,`inserted`],style:{color:`rgb(181, 206, 168)`}},{types:[`constant`],style:{color:`rgb(100, 102, 149)`}},{types:[`attr-name`,`variable`],style:{color:`rgb(156, 220, 254)`}},{types:[`deleted`,`string`,`attr-value`,`template-punctuation`],style:{color:`rgb(206, 145, 120)`}},{types:[`selector`],style:{color:`rgb(215, 186, 125)`}},{types:[`tag`],style:{color:`rgb(78, 201, 176)`}},{types:[`tag`],languages:[`markup`],style:{color:`rgb(86, 156, 214)`}},{types:[`punctuation`,`operator`],style:{color:`rgb(212, 212, 212)`}},{types:[`punctuation`],languages:[`markup`],style:{color:`#808080`}},{types:[`function`],style:{color:`rgb(220, 220, 170)`}},{types:[`class-name`],style:{color:`rgb(78, 201, 176)`}},{types:[`char`],style:{color:`rgb(209, 105, 105)`}}]},L={plain:{color:`#000000`,backgroundColor:`#ffffff`},styles:[{types:[`comment`],style:{color:`rgb(0, 128, 0)`}},{types:[`builtin`],style:{color:`rgb(0, 112, 193)`}},{types:[`number`,`variable`,`inserted`],style:{color:`rgb(9, 134, 88)`}},{types:[`operator`],style:{color:`rgb(0, 0, 0)`}},{types:[`constant`,`char`],style:{color:`rgb(129, 31, 63)`}},{types:[`tag`],style:{color:`rgb(128, 0, 0)`}},{types:[`attr-name`],style:{color:`rgb(255, 0, 0)`}},{types:[`deleted`,`string`],style:{color:`rgb(163, 21, 21)`}},{types:[`changed`,`punctuation`],style:{color:`rgb(4, 81, 165)`}},{types:[`function`,`keyword`],style:{color:`rgb(0, 0, 255)`}},{types:[`class-name`],style:{color:`rgb(38, 127, 153)`}}]},R={plain:{color:`#f8fafc`,backgroundColor:`#011627`},styles:[{types:[`prolog`],style:{color:`#000080`}},{types:[`comment`],style:{color:`#6A9955`}},{types:[`builtin`,`changed`,`keyword`,`interpolation-punctuation`],style:{color:`#569CD6`}},{types:[`number`,`inserted`],style:{color:`#B5CEA8`}},{types:[`constant`],style:{color:`#f8fafc`}},{types:[`attr-name`,`variable`],style:{color:`#9CDCFE`}},{types:[`deleted`,`string`,`attr-value`,`template-punctuation`],style:{color:`#cbd5e1`}},{types:[`selector`],style:{color:`#D7BA7D`}},{types:[`tag`],style:{color:`#0ea5e9`}},{types:[`tag`],languages:[`markup`],style:{color:`#0ea5e9`}},{types:[`punctuation`,`operator`],style:{color:`#D4D4D4`}},{types:[`punctuation`],languages:[`markup`],style:{color:`#808080`}},{types:[`function`],style:{color:`#7dd3fc`}},{types:[`class-name`],style:{color:`#0ea5e9`}},{types:[`char`],style:{color:`#D16969`}}]},z={plain:{color:`#0f172a`,backgroundColor:`#f1f5f9`},styles:[{types:[`prolog`],style:{color:`#000080`}},{types:[`comment`],style:{color:`#6A9955`}},{types:[`builtin`,`changed`,`keyword`,`interpolation-punctuation`],style:{color:`#0c4a6e`}},{types:[`number`,`inserted`],style:{color:`#B5CEA8`}},{types:[`constant`],style:{color:`#0f172a`}},{types:[`attr-name`,`variable`],style:{color:`#0c4a6e`}},{types:[`deleted`,`string`,`attr-value`,`template-punctuation`],style:{color:`#64748b`}},{types:[`selector`],style:{color:`#D7BA7D`}},{types:[`tag`],style:{color:`#0ea5e9`}},{types:[`tag`],languages:[`markup`],style:{color:`#0ea5e9`}},{types:[`punctuation`,`operator`],style:{color:`#475569`}},{types:[`punctuation`],languages:[`markup`],style:{color:`#808080`}},{types:[`function`],style:{color:`#0e7490`}},{types:[`class-name`],style:{color:`#0ea5e9`}},{types:[`char`],style:{color:`#D16969`}}]},B={plain:{backgroundColor:`hsl(220, 13%, 18%)`,color:`hsl(220, 14%, 71%)`,textShadow:`0 1px rgba(0, 0, 0, 0.3)`},styles:[{types:[`comment`,`prolog`,`cdata`],style:{color:`hsl(220, 10%, 40%)`}},{types:[`doctype`,`punctuation`,`entity`],style:{color:`hsl(220, 14%, 71%)`}},{types:[`attr-name`,`class-name`,`maybe-class-name`,`boolean`,`constant`,`number`,`atrule`],style:{color:`hsl(29, 54%, 61%)`}},{types:[`keyword`],style:{color:`hsl(286, 60%, 67%)`}},{types:[`property`,`tag`,`symbol`,`deleted`,`important`],style:{color:`hsl(355, 65%, 65%)`}},{types:[`selector`,`string`,`char`,`builtin`,`inserted`,`regex`,`attr-value`],style:{color:`hsl(95, 38%, 62%)`}},{types:[`variable`,`operator`,`function`],style:{color:`hsl(207, 82%, 66%)`}},{types:[`url`],style:{color:`hsl(187, 47%, 55%)`}},{types:[`deleted`],style:{textDecorationLine:`line-through`}},{types:[`inserted`],style:{textDecorationLine:`underline`}},{types:[`italic`],style:{fontStyle:`italic`}},{types:[`important`,`bold`],style:{fontWeight:`bold`}},{types:[`important`],style:{color:`hsl(220, 14%, 71%)`}}]},V={plain:{backgroundColor:`hsl(230, 1%, 98%)`,color:`hsl(230, 8%, 24%)`},styles:[{types:[`comment`,`prolog`,`cdata`],style:{color:`hsl(230, 4%, 64%)`}},{types:[`doctype`,`punctuation`,`entity`],style:{color:`hsl(230, 8%, 24%)`}},{types:[`attr-name`,`class-name`,`boolean`,`constant`,`number`,`atrule`],style:{color:`hsl(35, 99%, 36%)`}},{types:[`keyword`],style:{color:`hsl(301, 63%, 40%)`}},{types:[`property`,`tag`,`symbol`,`deleted`,`important`],style:{color:`hsl(5, 74%, 59%)`}},{types:[`selector`,`string`,`char`,`builtin`,`inserted`,`regex`,`attr-value`,`punctuation`],style:{color:`hsl(119, 34%, 47%)`}},{types:[`variable`,`operator`,`function`],style:{color:`hsl(221, 87%, 60%)`}},{types:[`url`],style:{color:`hsl(198, 99%, 37%)`}},{types:[`deleted`],style:{textDecorationLine:`line-through`}},{types:[`inserted`],style:{textDecorationLine:`underline`}},{types:[`italic`],style:{fontStyle:`italic`}},{types:[`important`,`bold`],style:{fontWeight:`bold`}},{types:[`important`],style:{color:`hsl(230, 8%, 24%)`}}]},H={plain:{color:`#ebdbb2`,backgroundColor:`#292828`},styles:[{types:[`imports`,`class-name`,`maybe-class-name`,`constant`,`doctype`,`builtin`,`function`],style:{color:`#d8a657`}},{types:[`property-access`],style:{color:`#7daea3`}},{types:[`tag`],style:{color:`#e78a4e`}},{types:[`attr-name`,`char`,`url`,`regex`],style:{color:`#a9b665`}},{types:[`attr-value`,`string`],style:{color:`#89b482`}},{types:[`comment`,`prolog`,`cdata`,`operator`,`inserted`],style:{color:`#a89984`}},{types:[`delimiter`,`boolean`,`keyword`,`selector`,`important`,`atrule`,`property`,`variable`,`deleted`],style:{color:`#ea6962`}},{types:[`entity`,`number`,`symbol`],style:{color:`#d3869b`}}]},U={plain:{color:`#654735`,backgroundColor:`#f9f5d7`},styles:[{types:[`delimiter`,`boolean`,`keyword`,`selector`,`important`,`atrule`,`property`,`variable`,`deleted`],style:{color:`#af2528`}},{types:[`imports`,`class-name`,`maybe-class-name`,`constant`,`doctype`,`builtin`],style:{color:`#b4730e`}},{types:[`string`,`attr-value`],style:{color:`#477a5b`}},{types:[`property-access`],style:{color:`#266b79`}},{types:[`function`,`attr-name`,`char`,`url`],style:{color:`#72761e`}},{types:[`tag`],style:{color:`#b94c07`}},{types:[`comment`,`prolog`,`cdata`,`operator`,`inserted`],style:{color:`#a89984`}},{types:[`entity`,`number`,`symbol`],style:{color:`#924f79`}}]},W=e=>(0,i.useCallback)(t=>{var n=t,{className:i,style:a,line:o}=n;let s=_(g({},v(n,[`className`,`style`,`line`])),{className:r(`token-line`,i)});return typeof e==`object`&&`plain`in e&&(s.style=e.plain),typeof a==`object`&&(s.style=g(g({},s.style||{}),a)),s},[e]),G=e=>{let t=(0,i.useCallback)(({types:t,empty:n})=>{if(e!=null)return t.length===1&&t[0]===`plain`?n==null?void 0:{display:`inline-block`}:t.length===1&&n!=null?e[t[0]]:Object.assign(n==null?{}:{display:`inline-block`},...t.map(t=>e[t]))},[e]);return(0,i.useCallback)(e=>{var n=e,{token:i,className:a,style:o}=n;let s=_(g({},v(n,[`token`,`className`,`style`])),{className:r(`token`,...i.types,a),children:i.content,style:t(i)});return o!=null&&(s.style=g(g({},s.style||{}),o)),s},[t])},K=/\r\n|\r|\n/,q=e=>{e.length===0?e.push({types:[`plain`],content:`
2
+ `,empty:!0}):e.length===1&&e[0].content===``&&(e[0].content=`
3
+ `,e[0].empty=!0)},J=(e,t)=>{let n=e.length;return n>0&&e[n-1]===t?e:e.concat(t)},Y=e=>{let t=[[]],n=[e],r=[0],i=[e.length],a=0,o=0,s=[],c=[s];for(;o>-1;){for(;(a=r[o]++)<i[o];){let e,l=t[o],u=n[o][a];if(typeof u==`string`?(l=o>0?l:[`plain`],e=u):(l=J(l,u.type),u.alias&&(l=J(l,u.alias)),e=u.content),typeof e!=`string`){o++,t.push(l),n.push(e),r.push(0),i.push(e.length);continue}let d=e.split(K),f=d.length;s.push({types:l,content:d[0]});for(let e=1;e<f;e++)q(s),c.push(s=[]),s.push({types:l,content:d[e]})}o--,t.pop(),n.pop(),r.pop(),i.pop()}return q(s),c},X=({prism:e,code:t,grammar:n,language:r})=>(0,i.useMemo)(()=>{if(n==null)return Y([t]);let i={code:t,grammar:n,language:r,tokens:[]};return e.hooks.run(`before-tokenize`,i),i.tokens=e.tokenize(t,n),e.hooks.run(`after-tokenize`,i),Y(i.tokens)},[t,n,r,e]),Z=(e,t)=>{let{plain:n}=e,r=e.styles.reduce((e,n)=>{let{languages:r,style:i}=n;return r&&!r.includes(t)||n.types.forEach(t=>{e[t]=g(g({},e[t]),i)}),e},{});return r.root=n,r.plain=_(g({},n),{backgroundColor:void 0}),r},Q=({children:e,language:t,code:n,theme:r,prism:i})=>{let a=t.toLowerCase(),o=Z(r,a),s=W(o),c=G(o),l=i.languages[a];return e({tokens:X({prism:i,language:a,code:n,grammar:l}),className:`prism-code language-${a}`,style:o==null?{}:o.root,getLineProps:s,getTokenProps:c})},ee=e=>(0,i.createElement)(Q,_(g({},e),{prism:e.prism||S,theme:e.theme||I,code:e.code,language:e.language})),$=n(),te={plain:{color:`var(--code-text)`,backgroundColor:`transparent`},styles:[{types:[`comment`,`prolog`,`doctype`,`cdata`],style:{color:`var(--code-token-comment)`,fontStyle:`italic`}},{types:[`punctuation`],style:{color:`var(--code-token-punctuation)`}},{types:[`property`,`tag`,`constant`,`symbol`,`deleted`,`attr-name`],style:{color:`var(--code-token-property)`}},{types:[`boolean`,`number`],style:{color:`var(--code-token-number)`}},{types:[`selector`,`string`,`char`,`builtin`,`inserted`,`attr-value`],style:{color:`var(--code-token-string)`}},{types:[`operator`,`entity`,`url`],style:{color:`var(--code-token-operator)`}},{types:[`atrule`,`keyword`],style:{color:`var(--code-token-keyword)`}},{types:[`function`],style:{color:`var(--code-token-function)`}},{types:[`class-name`],style:{color:`var(--code-token-class)`}},{types:[`regex`,`important`,`variable`],style:{color:`var(--code-token-variable)`}}]};function ne({code:e,language:t,showLineNumbers:n}){return(0,$.jsx)(ee,{code:e,language:t||`text`,theme:te,children:({className:e,tokens:t,getLineProps:r,getTokenProps:a})=>(0,$.jsx)(`pre`,{className:`${e} code-viewer-pre`,children:(0,$.jsx)(`code`,{children:t.map((e,t)=>{let o=r({line:e});return(0,i.createElement)(`span`,{...o,className:`${o.className} code-viewer-line`,key:t},n&&(0,$.jsx)(`span`,{className:`code-viewer-line-number`,"aria-hidden":`true`,children:t+1}),(0,$.jsx)(`span`,{className:`code-viewer-line-content`,children:e.map((e,t)=>(0,$.jsx)(`span`,{...a({token:e})},t))}))})})})})}export{ne as default};
@@ -0,0 +1,3 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/ExecutionTree-v3HexvPo-Bk8wzGSy.js","assets/rolldown-runtime-hePW80VL.js","assets/react-vendor-BNmTiJ-I.js","assets/rolldown-runtime-Dy4uBu1J-DK3Fl9T5.js","assets/presentation-yYw7xK60-BmcZriri.js"])))=>i.map(i=>d[i]);
2
+ import{r as e}from"./rolldown-runtime-hePW80VL.js";import{i as t,t as n}from"./react-vendor-BNmTiJ-I.js";import{t as r}from"./preload-helper-CO68xz6u.js";import{a as i}from"./MessageMarkdown-CwMTvgFj-g0I-I4dD.js";import{D as a,I as o,P as s,U as c,W as l,_ as u,a as d,b as f,d as p,f as m,g as h,h as g,i as _,j as v,m as y,n as b,o as x,p as S,r as C,v as w,y as T}from"./index-Dp61rOWZ.js";import{i as E,n as D,o as O,r as k,s as ee,t as A}from"./presentation-yYw7xK60-BmcZriri.js";var j=e(t(),1),M=`teams.ksadk.io/v1`,N=T().min(1).max(2048),P=h().int().nonnegative(),F=T().min(1),I=p([`planning`,`running`,`waiting`,`needs_attention`,`awaiting_acceptance`,`succeeded`,`failed`,`cancel_requested`,`cancelled`]),L=p([`draft`,`ready`,`blocked`,`running`,`awaiting_acceptance`,`succeeded`,`failed`,`cancel_requested`,`cancelled`]),R=u({authorityRef:N,groupId:N,memberId:N,bindingRef:N,providerRef:N,sessionId:N,runId:N,itemId:N.optional()}).passthrough(),te=R.extend({interactionId:N}),z=u({enqueue:S(),cancel:S(),steer:S(),restore:S(),interaction:S(),leader:S()}).passthrough(),B=u({groupId:N,name:T().min(1),authorityRef:N,tenantId:N,ownerSubject:N,policy:u({taskAcceptance:p([`leader`,`human`,`result`]),peerWake:S()}).optional(),leaderMemberId:N,revision:P,status:p([`active`,`archived`]),createdAt:F,updatedAt:F}).passthrough(),V=u({memberId:N,groupId:N,name:T().min(1),role:p([`leader`,`member`]),responsibility:T().max(2e3).optional(),bindingRef:N,binding:u({bindingRef:N,providerRef:N,kind:p([`local_build`,`a2a`,`cloud`]),agentId:N,capabilities:z}).passthrough(),sessionId:N,revision:P,status:p([`active`,`removed`,`unavailable`]),executionStatus:p([`idle`,`queued`,`running`,`waiting`,`needs_attention`,`unavailable`])}).passthrough(),H=V.extend({runMemberId:N,teamRunId:N,groupRevision:P}),ne=y(`kind`,[u({kind:g(`text`),text:T()}),u({kind:g(`attachment`),attachmentRef:N,mediaType:N,name:T().optional()})]),U=u({messageId:N,groupId:N,revision:P,createdAt:F,senderPrincipal:N,senderName:T(),groupRole:p([`owner`,`leader`,`member`,`system`]),parts:m(ne),mentions:m(N),intent:p([`start_goal`,`followup`,`directed`,`note`,`result`,`progress`]),sourceRefs:m(R).optional(),visibility:p([`public`,`internal`])}).passthrough(),re=u({artifactId:N,name:T(),mediaType:N,source:R}).passthrough(),ie=u({attemptId:N,attemptNumber:P,executionEpoch:P,status:L,source:R.optional(),artifacts:m(re)}).passthrough(),W=u({taskId:N,groupId:N,teamRunId:N,revision:P,title:T().min(1),description:T(),ownerMemberId:N.nullable(),dependencies:m(N),status:L,acceptanceCriteria:T(),attempts:m(ie)}).passthrough(),ae=u({sourcePath:T().min(1),baseRef:T().optional(),inputs:m(T()).optional(),mode:p([`auto`,`directory`]).optional()}).passthrough(),oe=u({groupId:N,teamRunId:N,state:p([`armed`,`blocked`,`active`]),primaryNodeId:N,primarySessionId:N,primaryBindingRef:N,standbyNodeId:N,standbyBindingRef:N,buildDigest:N,epoch:P,reason:T().nullable().optional(),automaticFailback:g(!1),sessionId:N.optional(),checkpointId:N.optional()}).passthrough(),se=u({teamRunId:N,groupId:N,groupRevision:P,policy:B.shape.policy,revision:P,goalMessageId:N,goal:T(),result:T().optional(),resultHistory:m(u({result:T(),reason:T(),revision:P,requestedAt:F}).passthrough()).optional(),workspace:ae.nullable().optional(),leaderStandby:oe.nullable().optional(),leaderMemberId:N,status:I,dispatchSuspended:S(),dispatchEpoch:P,budget:u({maxMembers:P,maxConcurrent:P,maxStarts:P,startsUsed:P,maxHops:P}).passthrough(),createdAt:F,updatedAt:F}).passthrough(),ce=u({deliveryId:N,groupId:N,teamRunId:N,messageId:N,memberId:N,revision:P,status:p([`pending`,`accepted`,`rejected`,`uncertain`,`cancelled`])}).passthrough(),le=u({ref:te,revision:P,title:T(),message:T(),kind:p([`approval`,`input`]),status:p([`pending`,`resolving`,`resolved`,`cancelled`,`expired`]),createdAt:F}).passthrough(),ue=u({apiVersion:g(M),group:B,watermark:P,members:m(V),runMembers:m(H).optional(),messages:m(U),tasks:m(W),teamRuns:m(se),deliveries:m(ce),interactions:m(le),artifacts:m(re).optional()}).passthrough(),de=u({apiVersion:g(M),eventId:N,groupId:N,groupSeq:h().int().positive(),type:N,createdAt:F,payload:w(T(),f())}).passthrough(),fe=u({nodeId:N,kind:p([`task`,`run`,`child_invocation`]),title:T(),status:N,taskId:N.optional(),memberId:N.nullable().optional(),attemptId:N.optional(),source:R.nullable().optional(),parentNodeId:N.optional(),reason:T().nullable().optional()}).passthrough(),pe=u({groupId:N,teamRunId:N,watermark:P,nodes:m(fe),edges:m(u({source:N,target:N,kind:p([`dependency`,`invocation`])}).passthrough())}).passthrough();function me(e){let t=pe.safeParse(e);if(!t.success)throw new G(`contract_mismatch`,`执行视图格式不兼容,请刷新或更新客户端。`);let n=t.data,r=new Set(n.nodes.map(e=>e.nodeId));if(r.size!==n.nodes.length||n.edges.some(e=>!r.has(e.source)||!r.has(e.target))||n.nodes.some(e=>e.source&&e.source.groupId!==n.groupId))throw new G(`scope_mismatch`,`执行视图包含无效的节点引用。`);return n}var G=class extends Error{code;status;constructor(e,t,n){super(t),this.name=`TeamsError`,this.code=e,this.status=n}};function he(e){let t=ue.safeParse(e);if(!t.success)throw new G(`contract_mismatch`,`群快照格式不兼容,请刷新或更新客户端。`);let n=t.data,r=n.group.groupId;if([n.runMembers||[],n.members,n.messages,n.tasks,n.teamRuns,n.deliveries].some(e=>e.some(e=>e.groupId!==r))||n.interactions.some(e=>e.ref.groupId!==r||e.ref.authorityRef!==n.group.authorityRef))throw new G(`scope_mismatch`,`群快照包含其他作用域的数据。`);if([...(n.artifacts||[]).map(e=>e.source),...n.messages.flatMap(e=>e.sourceRefs||[]),...n.tasks.flatMap(e=>e.attempts.flatMap(e=>[...e.source?[e.source]:[],...e.artifacts.map(e=>e.source)]))].some(e=>e.groupId!==r||e.authorityRef!==n.group.authorityRef))throw new G(`scope_mismatch`,`群快照的产物或执行来源跨越作用域。`);let i=e=>new Set(e).size===e.length;if(!i((n.runMembers||[]).map(e=>e.runMemberId))||(n.runMembers||[]).some(e=>!n.teamRuns.some(t=>t.teamRunId===e.teamRunId))||!i((n.artifacts||[]).map(e=>e.artifactId))||!i(n.members.map(e=>e.memberId))||!i(n.messages.map(e=>e.messageId))||!i(n.tasks.map(e=>e.taskId))||!i(n.teamRuns.map(e=>e.teamRunId))||!i(n.deliveries.map(e=>e.deliveryId))||!i(n.interactions.map(e=>JSON.stringify(e.ref))))throw new G(`contract_mismatch`,`群快照存在重复身份。`);return n}function K(e){let t=de.safeParse(e);if(!t.success)throw new G(`contract_mismatch`,`群事件格式不兼容。`);return t.data}function ge(e){if(!e.name.trim())throw new G(`invalid_name`,`请填写群组名称。`);if(!e.members.length||e.members.length>8)throw new G(`invalid_members`,`请选择 1–8 位成员。`);if(new Set(e.members.map(e=>e.memberId)).size!==e.members.length)throw new G(`duplicate_member`,`成员不能重复。`);if(!e.members.some(t=>t.memberId===e.leaderMemberId))throw new G(`invalid_leader`,`Leader 必须是已选成员。`)}function q(e){return JSON.stringify([e.authorityRef,e.groupId,e.memberId,e.bindingRef,e.providerRef,e.sessionId,e.runId])}function _e(e){return JSON.stringify([q(e),e.interactionId])}function J(e,t,n){let r=e.findIndex(e=>n(e)===n(t));return r>=0&&e[r].revision>=t.revision?e:r<0?[...e,t]:e.map((e,n)=>n===r?t:e)}var ve=class{value;seenIds=new Set;constructor(e){this.value=he(e)}snapshot(){return this.value}replace(e){let t=he(e);if(t.group.groupId!==this.value.group.groupId||t.group.authorityRef!==this.value.group.authorityRef||t.group.tenantId!==this.value.group.tenantId)throw new G(`scope_mismatch`,`不能把另一个群或授权域的快照用于当前会话。`);return t.watermark<this.value.watermark||t.group.revision<this.value.group.revision?!1:(this.value=t,this.seenIds.clear(),!0)}apply(e){let t=K(e),n=this.value;if(t.groupId!==n.group.groupId)throw new G(`scope_mismatch`,`事件不属于当前群。`);if(t.groupSeq<=n.watermark)return!1;if(t.groupSeq!==n.watermark+1||this.seenIds.has(t.eventId))throw new G(`reset_required`,`群事件存在缺口,需要重新读取快照。`);let r={...n,watermark:t.groupSeq},i=(e,t)=>{let r;try{r=e.parse(t)}catch{throw new G(`contract_mismatch`,`群事件内容格式不兼容。`)}let i=r;if(i.groupId&&i.groupId!==n.group.groupId||i.ref&&(i.ref.groupId!==n.group.groupId||i.ref.authorityRef!==n.group.authorityRef))throw new G(`scope_mismatch`,`群事件引用了其他作用域。`);if([...i.source?[i.source]:[],...i.sourceRefs||[],...(i.attempts||[]).flatMap(e=>[...e.source?[e.source]:[],...e.artifacts.map(e=>e.source)])].some(e=>e.groupId!==n.group.groupId||e.authorityRef!==n.group.authorityRef))throw new G(`scope_mismatch`,`群事件的产物或执行来源跨越作用域。`);return r};switch(t.type){case`group.updated`:{let e=i(B,t.payload.group);if(e.groupId!==n.group.groupId||e.authorityRef!==n.group.authorityRef||e.tenantId!==n.group.tenantId)throw new G(`scope_mismatch`,`群事件改变了授权域。`);e.revision>n.group.revision&&(r.group=e);break}case`run_member.updated`:r.runMembers=J(n.runMembers||[],i(H,t.payload.runMember),e=>e.runMemberId);break;case`member.updated`:r.members=J(n.members,i(V,t.payload.member),e=>e.memberId);break;case`message.created`:case`message.updated`:r.messages=J(n.messages,i(U,t.payload.message),e=>e.messageId);break;case`task.updated`:r.tasks=J(n.tasks,i(W,t.payload.task),e=>e.taskId);break;case`team_run.updated`:r.teamRuns=J(n.teamRuns,i(se,t.payload.teamRun),e=>e.teamRunId);break;case`delivery.updated`:r.deliveries=J(n.deliveries,i(ce,t.payload.delivery),e=>e.deliveryId);break;case`artifact.updated`:{let e=i(re,t.payload.artifact);r.artifacts=[...new Map([...n.artifacts||[],e].map(e=>[e.artifactId,e])).values()];break}case`interaction.updated`:r.interactions=J(n.interactions,i(le,t.payload.interaction),e=>_e(e.ref))}return this.seenIds.add(t.eventId),this.seenIds.size>2048&&this.seenIds.delete(this.seenIds.values().next().value),this.value=r,!0}};function Y(e){if(e?.aborted)throw new DOMException(`Aborted`,`AbortError`)}function ye(e,t){return new Promise((n,r)=>{Y(t);let i=()=>t.removeEventListener(`abort`,o),a=setTimeout(()=>{i(),n()},e),o=()=>{clearTimeout(a),i(),r(new DOMException(`Aborted`,`AbortError`))};t.addEventListener(`abort`,o,{once:!0})})}async function be(e,t,n){if(!e.body||!e.headers.get(`content-type`)?.includes(`text/event-stream`))throw new G(`contract_mismatch`,`服务没有返回事件流。`);let r=e.body.getReader(),i=new TextDecoder,a=``,o=()=>{r.cancel().catch(()=>{})};t.addEventListener(`abort`,o,{once:!0});let s=e=>{Y(t);let r=`message`,i=[];for(let t of e.split(/\r?\n/))t.startsWith(`event:`)&&(r=t.slice(6).trim()),t.startsWith(`data:`)&&i.push(t.slice(5).trimStart());if(!i.length)return;let a;try{a=JSON.parse(i.join(`
3
+ `))}catch{throw new G(`contract_mismatch`,`无法解析群事件。`)}n(r,a)};try{for(;;){Y(t);let{done:e,value:n}=await r.read();if(Y(t),a+=e?i.decode():i.decode(n,{stream:!0}),a.length>8e6)throw new G(`event_too_large`,`群事件超过客户端大小限制。`);let o=/\r?\n\r?\n/.exec(a);for(;o;)s(a.slice(0,o.index)),a=a.slice(o.index+o[0].length),o=/\r?\n\r?\n/.exec(a);if(e){a.trim()&&s(a);break}}}finally{t.removeEventListener(`abort`,o),await r.cancel().catch(()=>{}),r.releaseLock()}}var xe=class{fetcher;baseUrl;reconnects;retryDelay;constructor(e={}){if(this.fetcher=e.fetch??((e,t)=>globalThis.fetch(e,t)),this.baseUrl=(e.baseUrl??`/api/v1/groups`).replace(/\/+$/,``),this.reconnects=e.maxReconnects??6,!Number.isSafeInteger(this.reconnects)||this.reconnects<0||this.reconnects>32)throw new G(`invalid_reconnect_limit`,`重连次数必须在 0–32 之间。`);this.retryDelay=e.retryDelayMs??(e=>Math.min(500*2**e,1e4))}path(e,t=``){return`/${encodeURIComponent(e)}${t}`}async request(e,t={}){Y(t.signal??void 0);let n=await this.fetcher(`${this.baseUrl}${e}`,t);if(!n.ok){let e=await n.json().catch(()=>({}));throw new G(e.error?.code??e.code??`http_error`,e.error?.message??e.message??`群服务请求失败(${n.status})`,n.status)}return n}async json(e,t={}){let n=await this.request(e,t);return n.status===204?void 0:n.json()}post(e,t,n){return this.json(e,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(t),signal:n})}list(e={}){let t=new URLSearchParams;return e.cursor&&t.set(`cursor`,e.cursor),e.limit&&t.set(`limit`,String(e.limit)),this.json(t.size?`?${t}`:``,{signal:e.signal})}async snapshot(e,t){let n=he(await this.json(this.path(e),{signal:t}));if(n.group.groupId!==e)throw new G(`scope_mismatch`,`服务返回了另一个群。`);return n}async create(e,t){return ge(e),he(await this.post(``,e,t))}async update(e,t,n){let r=he(await this.json(this.path(e),{method:`PATCH`,headers:{"Content-Type":`application/json`},body:JSON.stringify(t),signal:n}));if(r.group.groupId!==e)throw new G(`scope_mismatch`,`群更新返回了另一个群。`);return r}send(e,t,n){if(!t.parts.some(e=>e.kind!==`text`||e.text.trim()))throw new G(`empty_message`,`请输入消息。`);if(t.workspace&&t.intent!==`start_goal`)throw new G(`invalid_workspace_scope`,`工作目录只能在新建任务时指定。`);if(t.intent===`directed`&&!t.mentions.length)throw new G(`missing_recipient`,`请选择接收成员。`);return this.post(this.path(e,`/messages`),t,n)}start(e,t,n){return this.post(this.path(e,`/team-runs`),t,n)}taskAction(e,t,n,r){return this.post(this.path(e,`/tasks/${encodeURIComponent(t)}/actions`),n,r)}control(e,t,n,r){return this.post(this.path(e,`/team-runs/${encodeURIComponent(t)}/control`),n,r)}acceptRun(e,t,n,r){return this.post(this.path(e,`/team-runs/${encodeURIComponent(t)}/acceptance`),n,r)}async configureLeaderStandby(e,t,n,r){if(!n.bindingRef.trim())throw new G(`missing_binding`,`请选择云端备用节点。`);let i=await this.post(this.path(e,`/team-runs/${encodeURIComponent(t)}/leader-standby`),n,r);if(i.groupId!==e||i.teamRunId!==t||i.standbyBindingRef!==n.bindingRef||![`armed`,`blocked`,`active`].includes(i.state))throw new G(`scope_mismatch`,`备用节点确认不属于当前任务或所选节点。`);return i}interaction(e,t,n){if(t.ref.groupId!==e)throw new G(`scope_mismatch`,`审批不属于当前群。`);return this.post(this.path(e,`/interactions`),t,n)}cancelMember(e,t,n,r){if(n.ref.groupId!==e||n.ref.memberId!==t)throw new G(`scope_mismatch`,`停止请求不属于当前成员。`);return this.post(this.path(e,`/members/${encodeURIComponent(t)}/cancel`),n,r)}async execution(e,t,n){let r=me(await this.json(this.path(e,`/execution${t?`?teamRunId=${encodeURIComponent(t)}`:``}`),{signal:n}));if(r.groupId!==e||t&&r.teamRunId!==t)throw new G(`scope_mismatch`,`执行视图不属于当前协作轮次。`);return r}markRead(e,t,n){return this.post(this.path(e,`/read`),{watermark:t},n)}async reconciliation(e,t){let n=await this.json(this.path(e,`/reconciliation`));if(n.groupId!==e||!Array.isArray(n.items))throw new G(`scope_mismatch`,`原单核查结果不属于当前团队。`);return n.items.filter(e=>e.teamRunId===t)}reconcile(e,t,n){return this.post(this.path(e,`/reconciliation/${encodeURIComponent(t)}`),n)}async watch(e,t){let{signal:n,onSnapshot:r,onConnection:i,onError:a}=t,o,s=!0,c=0;i?.(`connecting`);try{for(;!n.aborted;)try{if(s){let t=await this.snapshot(e,n);if(o){if(!o.replace(t))throw new G(`reset_required`,`服务返回的快照早于当前状态,正在重新核对。`)}else o=new ve(t);s=!1,Y(n),r(o.snapshot())}if(!o)throw new G(`reset_required`,`群快照尚未就绪。`);let t=await this.request(this.path(e,`/events?after=${o.snapshot().watermark}`),{signal:n});throw i?.(`connected`),await be(t,n,(e,t)=>{if(e===`reset_required`)throw new G(`reset_required`,`群事件游标已过期。`);e===`heartbeat`||e===`ping`||o.apply(K(t))&&(c=0,r(o.snapshot()))}),Y(n),new G(`stream_ended`,`群事件连接已断开。`)}catch(e){if(n.aborted)break;let t=e instanceof G?e:new G(`network_error`,e instanceof Error?e.message:`无法连接群服务。`);if(t.code===`reset_required`)s=!0;else if(t.status===401||t.status===403||t.status===404||t.code===`contract_mismatch`||t.code===`scope_mismatch`)throw t;if(c++>=this.reconnects)throw t;i?.(`reconnecting`),await ye(this.retryDelay(c-1),n)}}catch(e){if(!n.aborted){i?.(`offline`);let t=e instanceof G?e:new G(`network_error`,String(e));throw a?.(t),t}}finally{n.aborted&&i?.(`closed`)}}},Se=class{ref;value;reducer=new C;listeners=new Set;abort;generation=0;disposed=!1;constructor(e){let t=R.safeParse(e);if(!t.success)throw new G(`invalid_member_ref`,`成员观察需要完整的运行引用。`);this.ref=Object.freeze({...t.data}),this.value={ref:this.ref,items:[],cursor:0,connection:`closed`,draft:``,error:null}}getSnapshot=()=>this.value;subscribe=e=>(this.listeners.add(e),()=>this.listeners.delete(e));update(e){this.disposed||(this.value={...this.value,...e},this.listeners.forEach(e=>e()))}setDraft(e){this.update({draft:e})}assertRef(e){if(q(e)!==q(this.ref))throw new G(`scope_mismatch`,`成员事件的执行身份不匹配。`)}decode(e){let t=b(e);if(!t)throw new G(`contract_mismatch`,`成员会话内容格式不兼容。`);if(t.sessionId!==this.ref.sessionId||t.runId!==this.ref.runId)throw new G(`scope_mismatch`,`成员事件引用了其他会话或运行。`);return t}ingest(e){if(!this.disposed){if(this.assertRef(e.ref),!Number.isSafeInteger(e.cursor)||e.cursor<0)throw new G(`contract_mismatch`,`成员事件游标无效。`);e.cursor<=this.value.cursor||(this.reducer.apply(this.decode(e.item)),this.update({items:this.reducer.snapshot().items,cursor:e.cursor}))}}restore(e){if(this.assertRef(e.ref),!Number.isSafeInteger(e.cursor)||e.cursor<0)throw new G(`contract_mismatch`,`成员历史游标无效。`);if(e.cursor<this.value.cursor)return;let t=new C;for(let n of e.items)t.apply(this.decode(n));this.reducer=t,this.update({items:t.snapshot().items,cursor:e.cursor})}async observe(e){if(this.disposed)throw new G(`scope_disposed`,`成员会话已关闭。`);this.disconnect();let t=++this.generation,n=new AbortController;this.abort=n;let r=()=>!n.signal.aborted&&t===this.generation;this.update({connection:`connecting`,error:null});try{let t=!0,i=0;for(;r();)try{if(t){let i=await e.read(this.ref,n.signal);if(!r())return;this.restore(i),t=!1}if(this.update({connection:`connected`,error:null}),await e.subscribe(this.ref,this.value.cursor,n.signal,e=>{r()&&(this.ingest(e),i=0)}),!r())return;throw new G(`stream_ended`,`成员事件连接已断开。`)}catch(e){if(!r())return;if(e instanceof G&&([`scope_mismatch`,`contract_mismatch`].includes(e.code)||[401,403,404].includes(e.status??0))||i++>=6)throw e;e instanceof G&&e.code===`reset_required`&&(t=!0),this.update({connection:`reconnecting`}),await new Promise(e=>{let t=n.signal,r=()=>{clearTimeout(a),t.removeEventListener(`abort`,r),e()},a=setTimeout(()=>{t.removeEventListener(`abort`,r),e()},Math.min(500*2**(i-1),1e4));t.addEventListener(`abort`,r,{once:!0})})}}catch(e){r()&&this.update({connection:`offline`,error:e instanceof Error?e.message:`成员详情加载失败。`})}}setConnection(e){this.update({connection:e})}disconnect(){this.generation++,this.abort?.abort(),this.abort=void 0,this.update({connection:`closed`})}dispose(){this.disconnect(),this.disposed=!0,this.listeners.clear(),this.reducer=new C,this.value={...this.value,draft:``,items:[],cursor:0,error:null}}};function Ce(e){return new Se(e)}function we(e={}){let t=e.fetch??((e,t)=>globalThis.fetch(e,t)),n=(e.baseUrl??`/api/v1/groups`).replace(/\/+$/,``),r=(e,t,r)=>{let i=new URLSearchParams({sessionId:e.sessionId,runId:e.runId,bindingRef:e.bindingRef});return r!==void 0&&i.set(`after`,String(r)),`${n}/${encodeURIComponent(e.groupId)}/members/${encodeURIComponent(e.memberId)}/${t}?${i}`},i=async(e,n)=>{let r=await t(e,{method:`GET`,signal:n});if(!r.ok){let e=await r.json().catch(()=>({}));throw new G(e.error?.code??`member_observation_failed`,e.error?.message??`成员详情请求失败(${r.status})`,r.status)}return r};return{async read(e,t){return(await i(r(e,`conversation`),t)).json()},async subscribe(e,t,n,a){await be(await i(r(e,`conversation/events`,t),n),n,(e,t)=>{if(e!==`heartbeat`&&e!==`ping`){if(e===`reset_required`)throw new G(`reset_required`,`成员历史已变化,请重新连接。`);a(t)}})}}}var X=n();function Te({message:e}){let t=null;try{let n=JSON.parse(e);n&&typeof n==`object`&&`arguments`in n&&n.arguments&&typeof n.arguments==`object`&&!Array.isArray(n.arguments)&&(t=n)}catch{}if(!t)return(0,X.jsx)(`p`,{children:e});let n={path:`文件位置`,command:`命令`,cwd:`执行目录`},r={low:`低`,medium:`中`,high:`高`},i=e=>typeof e==`string`?e:JSON.stringify(e,null,2);return(0,X.jsxs)(`div`,{className:`team-approval-details`,children:[(0,X.jsx)(`dl`,{children:Object.entries(t.arguments).filter(([e])=>e!==`content`).map(([e,t])=>(0,X.jsxs)(`div`,{children:[(0,X.jsx)(`dt`,{children:n[e]||e}),(0,X.jsx)(`dd`,{children:(0,X.jsx)(`code`,{children:i(t)})})]},e))}),`content`in t.arguments&&(0,X.jsxs)(`details`,{className:`team-approval-preview`,children:[(0,X.jsx)(`summary`,{children:`查看待写入的文件内容`}),(0,X.jsx)(`pre`,{children:i(t.arguments.content)})]}),typeof t.risk==`string`&&(0,X.jsxs)(`p`,{className:`team-approval-risk`,children:[`风险级别:`,r[t.risk]||t.risk]})]})}function Ee({run:e,onLoadReconciliation:t,onReconcile:n}){let[r,i]=(0,j.useState)(null),[a,o]=(0,j.useState)({}),[s,c]=(0,j.useState)(!1),[l,u]=(0,j.useState)(``);if(!t||!n||e.leaderStandby?.reason!==`execution_uncertain_fenced`)return null;async function d(){c(!0),u(``);try{i(await t(e))}catch(e){u(e instanceof Error?e.message:`暂时无法读取原单。`)}finally{c(!1)}}async function f(r,s){c(!0),u(``);try{await n(r,s,(a[r.commandId]||``).trim()),i(await t(e)),o(e=>({...e,[r.commandId]:``}))}catch(e){u(e instanceof Error?e.message:`核查状态已改变,请刷新。`)}finally{c(!1)}}return(0,X.jsxs)(`section`,{className:`team-run-budget`,"aria-label":`原执行核查`,children:[(0,X.jsx)(`h4`,{children:`旧执行结果需要核查`}),(0,X.jsx)(`p`,{children:`云端已接管,相关分支会等待原单确认。请先核对外部操作和交付物,再决定是否采用结果。`}),(0,X.jsx)(`button`,{type:`button`,className:`team-button`,disabled:s,onClick:()=>void d(),children:s?`正在核对…`:`查看原单证据`}),r?.filter(e=>!e.reconciled).map(e=>{let t=e.quarantinedReceipt,n=a[e.commandId]||``,r=!!e.receiptDigest&&[`succeeded`,`failed`,`cancelled`,`interrupted`].includes(t?.run_status||``);return(0,X.jsxs)(`article`,{className:`team-observer-item`,children:[(0,X.jsxs)(`p`,{children:[e.taskId?`成员执行`:`原 Leader 执行`,` · `,r?`已返回结束回执`:`原节点尚未返回结束回执`]}),t?.output&&(0,X.jsx)(`pre`,{className:`team-observer-details`,children:t.output.slice(0,1e4)}),(0,X.jsxs)(`details`,{children:[(0,X.jsx)(`summary`,{children:`执行引用`}),(0,X.jsx)(`code`,{children:t?.run_id||e.nativeRunId||e.commandId})]}),r&&(0,X.jsxs)(X.Fragment,{children:[(0,X.jsxs)(`label`,{className:`team-field`,children:[`核查说明`,(0,X.jsx)(`textarea`,{value:n,onChange:t=>o(n=>({...n,[e.commandId]:t.target.value})),maxLength:2e3,placeholder:`说明已检查哪些原单或外部结果`})]}),(0,X.jsx)(`button`,{type:`button`,className:`team-button`,disabled:s||!n.trim(),onClick:()=>void f(e,`confirm_ended`),children:`确认已结束`}),e.taskId&&t?.run_status===`succeeded`&&(0,X.jsx)(`button`,{type:`button`,className:`team-button`,disabled:s||!n.trim(),onClick:()=>void f(e,`use_result`),children:`采用已验证成果`}),(0,X.jsx)(`p`,{className:`team-muted`,children:`确认结束不会自动重新执行;必要时再对相应子任务提出重试。`})]})]},e.commandId)}),l&&(0,X.jsx)(`p`,{role:`alert`,className:`team-inline-error`,children:l})]})}var De=(0,j.lazy)(()=>r(()=>import(`./ExecutionTree-v3HexvPo-Bk8wzGSy.js`).then(e=>e.n),__vite__mapDeps([0,1,2,3,4])).then(e=>({default:e.ExecutionTree}))),Oe=()=>`team-${globalThis.crypto.randomUUID()}`,ke={owner:`群主`,leader:`Leader`,member:`成员`,system:`系统`},Ae={idle:`空闲`,queued:`待执行`,running:`进行中`,waiting:`等待中`,needs_attention:`需要处理`,unavailable:`不可用`},je={connecting:`正在连接`,connected:`已连接`,reconnecting:`正在重连 · 任务继续执行`,offline:`连接中断 · 显示最后状态`,closed:`未连接`};function Me({name:e}){return(0,X.jsx)(`span`,{className:`team-avatar`,"aria-hidden":`true`,children:Array.from(e.trim())[0]||`A`})}function Ne({status:e}){return(0,X.jsx)(`span`,{className:`team-status`,"data-status":e,children:D[e]??e})}function Pe({goal:e}){return e.length<=100?(0,X.jsx)(`h3`,{children:e}):(0,X.jsxs)(`details`,{className:`team-run-goal`,children:[(0,X.jsxs)(`summary`,{children:[(0,X.jsx)(`h3`,{children:e}),(0,X.jsx)(`span`,{children:`完整目标`})]}),(0,X.jsx)(`p`,{children:e})]})}function Fe({snapshot:e,connection:t,onMembers:n,onManage:r}){let i=e.members.filter(e=>e.status!==`removed`);return(0,X.jsxs)(`header`,{className:`team-header`,children:[(0,X.jsxs)(`div`,{className:`team-header-identity`,children:[(0,X.jsx)(`div`,{className:`team-avatar-stack`,"aria-hidden":`true`,children:i.slice(0,3).map(e=>(0,X.jsx)(Me,{name:e.name},e.memberId))}),(0,X.jsxs)(`div`,{children:[(0,X.jsx)(`h1`,{children:e.group.name}),(0,X.jsxs)(`button`,{type:`button`,className:`team-text-button team-muted`,onClick:n,children:[i.length,` 位成员 · `,i.find(t=>t.memberId===e.group.leaderMemberId)?.name||`Leader`]})]})]}),(0,X.jsxs)(`div`,{className:`team-header-actions`,children:[t!==`connected`&&(0,X.jsx)(`span`,{className:`team-connection`,role:`status`,children:je[t]}),r&&(0,X.jsx)(`button`,{type:`button`,className:`team-button`,onClick:r,children:`设置`})]})]})}function Ie({messages:e,children:t,emptyState:n,focusFinalDelivery:r}){let a=(0,j.useRef)(null),o=(0,j.useRef)(!0),[s,c]=(0,j.useState)(100),l=e.filter(e=>e.visibility===`public`);(0,j.useLayoutEffect)(()=>{let e=a.current;if(!o.current||!e)return;let t=r?e.querySelector(`.team-final-delivery`):null;t?e.scrollTop+=t.getBoundingClientRect().top-e.getBoundingClientRect().top-12:e.scrollTop=e.scrollHeight},[l.map(e=>`${e.messageId}:${e.revision}`).join(`|`),r]);function u(){let e=a.current;if(!e)return;let t=e.scrollHeight;c(e=>e+100),requestAnimationFrame(()=>{e.scrollTop+=e.scrollHeight-t})}return(0,X.jsx)(`div`,{className:`team-timeline`,ref:a,onScroll:()=>{let e=a.current;e&&(o.current=e.scrollHeight-e.scrollTop-e.clientHeight<80)},"aria-label":`群聊消息`,tabIndex:0,children:(0,X.jsxs)(`div`,{className:`team-timeline-inner`,children:[l.length>s&&(0,X.jsx)(`button`,{className:`team-button team-history-more`,type:`button`,onClick:u,children:`查看更早的消息`}),!l.length&&(n??(0,X.jsxs)(`div`,{className:`team-empty`,children:[(0,X.jsx)(`span`,{className:`team-eyebrow`,children:`一起完成一个目标`}),(0,X.jsx)(`h2`,{children:`团队已就绪`}),(0,X.jsxs)(`p`,{children:[`描述你想得到的成果,Leader 会组织成员分工。`,(0,X.jsx)(`br`,{}),`也可以 @成员,指定由谁参与。`]})]})),l.slice(-s).map(e=>(0,X.jsxs)(`article`,{className:`team-message`,"data-role":e.groupRole,"data-message-id":e.messageId,children:[e.groupRole!==`owner`&&(0,X.jsx)(Me,{name:e.senderName}),(0,X.jsxs)(`div`,{className:`team-message-main`,children:[(0,X.jsxs)(`header`,{children:[(0,X.jsx)(`strong`,{children:e.senderName}),(0,X.jsx)(`span`,{children:ke[e.groupRole]}),(0,X.jsx)(`time`,{dateTime:e.createdAt,children:new Date(e.createdAt).toLocaleTimeString([],{hour:`2-digit`,minute:`2-digit`})}),e.intent===`note`&&(0,X.jsx)(`span`,{children:`仅留言`})]}),(0,X.jsx)(`div`,{className:`team-message-body`,children:e.parts.map((e,t)=>e.kind===`text`?(0,X.jsx)(i,{content:e.text},t):(0,X.jsxs)(`span`,{className:`team-attachment`,children:[e.name||`附件`,` `,(0,X.jsx)(`span`,{children:e.mediaType})]},e.attachmentRef))})]})]},e.messageId)),t]})})}function Le({run:e,tasks:t,pendingCount:n,onOpen:r,compact:i=!1}){let a=t.filter(e=>e.status===`succeeded`).length,o=ee(e.status);return(0,X.jsxs)(`button`,{type:`button`,className:`team-progress-card`,"data-active":o||void 0,onClick:r,"aria-label":`查看协作:${e.goal}`,children:[(0,X.jsxs)(`span`,{className:`team-progress-heading`,children:[(0,X.jsx)(`span`,{className:`team-eyebrow`,children:`本轮协作`}),(0,X.jsxs)(`span`,{className:`team-progress-status`,children:[(0,X.jsx)(Ne,{status:e.status}),o&&(0,X.jsxs)(`span`,{className:`team-progress-live`,role:`status`,children:[`实时处理中`,(0,X.jsxs)(`span`,{"aria-hidden":`true`,children:[(0,X.jsx)(`i`,{}),(0,X.jsx)(`i`,{}),(0,X.jsx)(`i`,{})]})]})]})]}),!i&&(0,X.jsx)(`strong`,{children:e.goal}),(0,X.jsxs)(`span`,{className:`team-progress-caption`,children:[t.length?`${a} / ${t.length} 项任务已验收`:`正在整理目标与分工`,n>0?` · ${n} 项需要处理`:``,(0,X.jsxs)(`span`,{children:[`查看协作 `,(0,X.jsx)(`span`,{"aria-hidden":`true`,children:`→`})]})]}),e.reason&&(0,X.jsx)(`span`,{className:`team-progress-reason`,children:e.reason})]})}function Re({members:e,activeRun:t,value:n,onChange:r,onSend:i,disabled:a=!1,recipientMemberId:o,onRecipientChange:s,focusRequest:c=0,artifacts:l=[],referenceArtifacts:u=[],serverAuthority:d=!1}){let f=(0,j.useId)(),p=(0,j.useId)(),m=(0,j.useId)(),h=t?.teamRunId||``,g={attachmentIds:[],note:!1,sourcePath:``,baseRef:``,inputs:``,mode:`auto`},[_,v]=(0,j.useState)({}),y=_[h]||g,b=e=>v(t=>({...t,[h]:{...t[h]||g,...e}})),{attachmentIds:x,note:S}=y,C=e=>v(t=>{let n=t[h]||g;return{...t,[h]:{...n,attachmentIds:typeof e==`function`?e(n.attachmentIds):e}}}),w=e=>b({note:e}),T=[...new Map([...l,...u].map(e=>[e.artifactId,e])).values()],E=T.filter(e=>x.includes(e.artifactId)),[D,O]=(0,j.useState)(``),k=o??D,A=e=>{O(e),s?.(e)},M=(0,j.useRef)(null);(0,j.useLayoutEffect)(()=>{let e=M.current;e&&(e.style.height=`auto`,e.style.height=`${Math.min(e.scrollHeight,176)}px`)},[n]),(0,j.useEffect)(()=>{c&&M.current?.focus()},[c]);let[N,P]=(0,j.useState)(0),F=(0,j.useRef)(h);F.current=h,(0,j.useEffect)(()=>{B(``)},[h]);let[I,L]=(0,j.useState)(!1),R=!!(t&&ee(t.status)),te=(!!(t&&!R)||t?.status===`cancel_requested`)&&!S,[z,B]=(0,j.useState)(``),V=(0,j.useRef)(new Map),H=(0,j.useRef)(!0);(0,j.useEffect)(()=>(H.current=!0,()=>{H.current=!1}),[]);let ne=/@([^\s@]*)$/u.exec(n)?.[1],U=ne===void 0?[]:e.filter(e=>e.status===`active`&&e.name.toLowerCase().includes(ne.toLowerCase()));async function re(){if(a||I||!n.trim()&&!E.length)return;if(te){B(`这个任务已结束,请新建任务继续协作。`);return}let e=n.trim(),o=S?`note`:t?k===``?`followup`:`directed`:`start_goal`;if(o===`start_goal`&&!e){B(`请补充这轮希望团队完成的目标,或选择仅留言。`);return}let s=k===``?[]:[k],c=[...e?[{kind:`text`,text:e}]:[],...E.map(e=>({kind:`attachment`,attachmentRef:e.artifactId,mediaType:e.mediaType,name:e.name}))],l=t?.teamRunId,u=h;if(o===`start_goal`&&!y.sourcePath.trim()&&(y.baseRef.trim()||y.inputs.trim())){B(`请先填写执行节点上的工作目录。`);return}let f=o===`start_goal`&&y.sourcePath.trim()?{sourcePath:y.sourcePath.trim(),mode:y.mode,...y.mode===`auto`&&y.baseRef.trim()?{baseRef:y.baseRef.trim()}:{},inputs:y.inputs.split(/\r?\n/).map(e=>e.trim()).filter(Boolean)}:void 0;if(f&&d&&f.mode===`auto`&&!/^(?:[a-fA-F0-9]{40}|[a-fA-F0-9]{64})$/.test(y.baseRef.trim())){B(`云端协作的 Git 基线需要完整的 40 或 64 位 commit,请在工作目录设置中填写。`);return}if(f&&f.inputs.length>32){B(`每次任务最多引用 32 个输入文件。`);return}let p=JSON.stringify([c,o,s,l,f]);V.current.get(h)?.digest!==p&&V.current.set(h,{digest:p,idempotencyKey:Oe()});let m=V.current.get(h);L(!0),B(``);try{let e=await i({parts:c,mentions:s,intent:o,...l?{teamRunId:l}:{},...f?{workspace:f}:{},idempotencyKey:m.idempotencyKey});if(!H.current)return;if(e?.status===`rejected`||e?.status===`uncertain`)throw Error(e.reason||(e.status===`uncertain`?`消息接收结果尚未确认。再次提交将使用相同标识核对。`:`消息未被接收。`));F.current===u&&(r(``),C([])),V.current.delete(u),o===`start_goal`&&v(e=>{let t={...e};return delete t[u],t})}catch(e){B(e instanceof Error?e.message:`消息发送失败,请重试。`)}finally{L(!1)}}function ie(e){A(e.memberId),r(n.replace(/@([^\s@]*)$/u,`@${e.name} `)),P(0),M.current?.focus()}return(0,X.jsxs)(`form`,{className:`team-composer-wrap`,onSubmit:e=>{e.preventDefault(),re()},children:[z&&(0,X.jsx)(`p`,{className:`team-inline-error`,role:`alert`,children:z}),!!U.length&&(0,X.jsx)(`div`,{className:`team-mention-options`,role:`listbox`,"aria-label":`选择要提及的成员`,children:U.map((e,t)=>(0,X.jsxs)(`button`,{type:`button`,role:`option`,"aria-selected":t===N,onClick:()=>ie(e),children:[(0,X.jsx)(Me,{name:e.name}),(0,X.jsx)(`span`,{children:e.name}),(0,X.jsx)(`small`,{children:e.role===`leader`?`Leader`:`成员`})]},e.memberId))}),!!E.length&&(0,X.jsx)(`div`,{className:`team-selected-artifacts`,"aria-label":`已选择的交付物`,children:E.map(e=>(0,X.jsxs)(`span`,{className:`team-attachment`,children:[e.name,(0,X.jsx)(`button`,{type:`button`,className:`team-text-button`,"aria-label":`移除引用 ${e.name}`,disabled:I,onClick:()=>C(t=>t.filter(t=>t!==e.artifactId)),children:`×`})]},e.artifactId))}),(0,X.jsxs)(`div`,{className:`team-composer`,children:[(0,X.jsx)(`label`,{className:`team-sr-only`,htmlFor:f,children:`给团队的消息`}),(0,X.jsx)(`textarea`,{ref:M,id:f,value:n,rows:2,onChange:e=>{r(e.target.value),P(0)},placeholder:S?`留下一条消息,不启动任务…`:k===``?`描述目标、交付物或需要团队解决的问题…`:`向选中的成员提问或分派工作…`,disabled:a||I,onKeyDown:e=>{if(U.length&&!e.nativeEvent.isComposing&&[`ArrowDown`,`ArrowUp`,`Enter`].includes(e.key)){e.preventDefault(),e.key===`Enter`?ie(U[N%U.length]):P(t=>(t+(e.key===`ArrowDown`?1:-1)+U.length)%U.length);return}e.key===`Enter`&&!e.shiftKey&&!e.nativeEvent.isComposing&&(e.preventDefault(),re())}}),(0,X.jsxs)(`div`,{className:`team-composer-toolbar`,children:[(0,X.jsxs)(`div`,{children:[(0,X.jsx)(`label`,{className:`team-sr-only`,htmlFor:p,children:`接收成员`}),(0,X.jsxs)(`select`,{id:p,value:k,onChange:e=>A(e.target.value),disabled:a||I,children:[(0,X.jsx)(`option`,{value:``,children:`发给 Leader`}),e.filter(e=>e.status===`active`).map(e=>(0,X.jsxs)(`option`,{value:e.memberId,children:[`@`,e.name]},e.memberId))]}),(0,X.jsxs)(`details`,{className:`team-composer-more`,children:[(0,X.jsx)(`summary`,{"aria-label":`更多消息选项`,children:`···`}),(0,X.jsxs)(`div`,{className:`team-composer-menu`,children:[(0,X.jsxs)(`label`,{className:`team-note-toggle`,children:[(0,X.jsx)(`input`,{type:`checkbox`,checked:S,onChange:e=>w(e.target.checked),disabled:a||I}),`仅留言,不启动执行`]}),!t&&(0,X.jsxs)(`details`,{className:`team-workspace-options`,children:[(0,X.jsxs)(`summary`,{children:[`工作目录`,y.sourcePath?` · 已选择`:` · 可选`]}),(0,X.jsxs)(`label`,{className:`team-field`,children:[`工作目录`,(0,X.jsx)(`input`,{value:y.sourcePath,maxLength:4096,onChange:e=>b({sourcePath:e.target.value}),placeholder:`执行节点上的目录路径`,disabled:I})]}),(0,X.jsxs)(`label`,{className:`team-field`,children:[`目录类型`,(0,X.jsxs)(`select`,{value:y.mode,onChange:e=>b({mode:e.target.value}),children:[(0,X.jsx)(`option`,{value:`auto`,children:d?`Git 仓库`:`自动识别 Git`}),(0,X.jsx)(`option`,{value:`directory`,children:`普通目录,仅复制输入文件`})]})]}),y.mode===`auto`&&(0,X.jsxs)(`label`,{className:`team-field`,children:[`Git 基线`,(0,X.jsx)(`input`,{value:y.baseRef,maxLength:256,onChange:e=>b({baseRef:e.target.value}),placeholder:d?`完整 commit(40 或 64 位)`:`HEAD`,disabled:I})]}),(0,X.jsxs)(`label`,{className:`team-field`,children:[`输入文件`,(0,X.jsx)(`textarea`,{rows:2,value:y.inputs,onChange:e=>b({inputs:e.target.value}),placeholder:`每行一个相对路径(非 Git 目录)`,disabled:I})]}),(0,X.jsxs)(`p`,{children:[`路径须在执行节点可访问。Git 使用提交版本,不带入未提交修改;普通目录只复制列出的输入文件。`,d&&`云端协作需填写固定 commit,并确保节点可访问相同版本。`]})]})]})]}),!!T.length&&(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(`label`,{className:`team-sr-only`,htmlFor:m,children:`引用本群交付物`}),(0,X.jsxs)(`select`,{id:m,value:``,disabled:a||I||E.length>=8,onChange:e=>{let t=e.target.value;t&&C(e=>e.includes(t)?e:[...e,t])},children:[(0,X.jsx)(`option`,{value:``,children:`引用交付物`}),(0,X.jsx)(`optgroup`,{label:`当前任务`,children:l.filter(e=>!x.includes(e.artifactId)).map(e=>(0,X.jsx)(`option`,{value:e.artifactId,children:e.name},e.artifactId))}),(0,X.jsx)(`optgroup`,{label:`其他任务(显式引用)`,children:u.filter(e=>!l.some(t=>t.artifactId===e.artifactId)&&!x.includes(e.artifactId)).map(e=>(0,X.jsx)(`option`,{value:e.artifactId,children:e.name},e.artifactId))})]})]})]}),(0,X.jsx)(`button`,{className:`team-button team-primary`,type:`submit`,disabled:a||I||te||!n.trim()&&!E.length,children:I?`正在发送`:`发送`})]})]}),(0,X.jsx)(`p`,{className:`team-composer-help`,children:te?t?.status===`cancel_requested`?`正在停止任务 · 等待执行端确认`:`任务已结束 · 新建任务以继续协作`:(0,X.jsxs)(X.Fragment,{children:[`Enter 发送 · Shift + Enter 换行`,S?` · 留言不会唤醒成员`:``]})})]})}function ze({tasks:e,members:t,selectedTaskId:n,onSelect:r}){return e.length?(0,X.jsx)(`div`,{className:`team-task-board`,children:[[`attention`,`需处理`],[`running`,`进行中`],[`waiting`,`等待`],[`done`,`已完成`]].map(([i,a])=>{let o=e.filter(e=>O(e)===i);return o.length?(0,X.jsxs)(`section`,{children:[(0,X.jsxs)(`h3`,{children:[a,(0,X.jsx)(`span`,{children:o.length})]}),o.map(e=>(0,X.jsxs)(`button`,{className:`team-task-row`,type:`button`,onClick:()=>r(e),"aria-pressed":n===e.taskId,children:[(0,X.jsxs)(`span`,{className:`team-task-row-main`,children:[(0,X.jsx)(`strong`,{children:e.title}),(0,X.jsx)(Ne,{status:e.status})]}),(0,X.jsxs)(`span`,{className:`team-muted`,children:[t.find(t=>t.memberId===e.ownerMemberId)?.name||`待分派`,k(e)?` · ${k(e)}`:e.dependencies.length&&e.status===`blocked`?` · 等待前置任务验收`:``]})]},e.taskId))]},i):null})}):(0,X.jsxs)(`div`,{className:`team-panel-empty`,children:[(0,X.jsx)(`h3`,{children:`尚未分派任务`}),(0,X.jsx)(`p`,{children:`Leader 建立任务后,负责人、依赖与验收进度会出现在这里。`})]})}function Be({artifact:e,onOpen:t}){let n=A(e.uri);return(0,X.jsxs)(`div`,{className:`team-artifact`,children:[t?(0,X.jsx)(`button`,{className:`team-text-button`,type:`button`,onClick:()=>t(e),children:e.name}):n?(0,X.jsx)(`a`,{href:n,target:`_blank`,rel:`noopener noreferrer`,children:e.name}):(0,X.jsx)(`span`,{children:e.name}),(0,X.jsxs)(`small`,{children:[e.mediaType,e.digest?` · ${e.digest.slice(0,12)}`:``]})]})}function Ve({task:e,members:t,onAction:n,onOpenArtifact:r,onMemberSelect:a}){let[o,s]=(0,j.useState)(``),[c,l]=(0,j.useState)(!1),[u,d]=(0,j.useState)(``),[f,p]=(0,j.useState)(!1),[m,h]=(0,j.useState)(``),g=e.attempts.find(e=>e.attemptId===o)??e.attempts.at(-1),_=t.find(t=>t.memberId===e.ownerMemberId);async function v(t){if(!(!n||c)){if(t===`reject`&&!m.trim()){d(`请填写需要修改的内容。`);return}l(!0),d(``);try{await n(e,t,t===`reject`?m.trim():void 0),p(!1)}catch(e){d(e instanceof Error?e.message:`操作失败。`)}finally{l(!1)}}}return(0,X.jsxs)(`section`,{className:`team-task-detail`,children:[(0,X.jsx)(Ne,{status:e.status}),(0,X.jsx)(`h3`,{children:e.title}),_&&(0,X.jsxs)(`button`,{className:`team-member-link`,type:`button`,onClick:()=>a?.(_),disabled:!a,children:[(0,X.jsx)(Me,{name:_.name}),_.name,(0,X.jsx)(`span`,{children:`查看执行`})]}),(0,X.jsx)(`p`,{children:e.description}),k(e)&&(0,X.jsx)(`p`,{className:`team-detail-reason`,children:k(e)}),(0,X.jsx)(`h4`,{children:`验收要求`}),(0,X.jsx)(`p`,{children:e.acceptanceCriteria||`等待确定验收要求`}),e.attempts.length>1&&(0,X.jsxs)(`label`,{className:`team-field`,children:[`执行记录`,(0,X.jsx)(`select`,{value:g?.attemptId,onChange:e=>s(e.target.value),children:e.attempts.map(e=>(0,X.jsxs)(`option`,{value:e.attemptId,children:[`第 `,e.attemptNumber,` 次执行 · `,D[e.status]]},e.attemptId))})]}),g?.result&&(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(`h4`,{children:`交付结果`}),(0,X.jsx)(i,{content:g.result})]}),g?.artifacts.map(e=>(0,X.jsx)(Be,{artifact:e,onOpen:r},e.artifactId)),f&&(0,X.jsxs)(`label`,{className:`team-field`,children:[`修改意见`,(0,X.jsx)(`textarea`,{rows:3,maxLength:2e3,value:m,onChange:e=>h(e.target.value)}),(0,X.jsx)(`button`,{className:`team-button`,type:`button`,disabled:c||!m.trim(),onClick:()=>void v(`reject`),children:`提交修改意见`})]}),n&&(0,X.jsxs)(`div`,{className:`team-task-actions`,children:[e.status===`awaiting_acceptance`&&(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(`button`,{className:`team-button team-primary`,type:`button`,disabled:c,onClick:()=>void v(`accept`),children:`验收通过`}),(0,X.jsx)(`button`,{className:`team-button`,type:`button`,disabled:c,onClick:()=>p(!0),children:`提出修改`})]}),[`failed`,`cancelled`].includes(e.status)&&(0,X.jsx)(`button`,{className:`team-button`,type:`button`,disabled:c,onClick:()=>void v(`retry`),children:`重新执行`})]}),u&&(0,X.jsx)(`p`,{role:`alert`,className:`team-inline-error`,children:u})]})}function He({interaction:e,member:t,onRespond:n}){let[r,i]=(0,j.useState)({}),[a,o]=(0,j.useState)(!1),[s,c]=(0,j.useState)(!1),[u,d]=(0,j.useState)(``),f=(0,j.useRef)(null);async function p(t,r){if(a||s)return;let i=JSON.stringify([t,r,e.revision]);f.current?.digest!==i&&(f.current={digest:i,idempotencyKey:Oe()}),o(!0),d(``);try{let i=await n({ref:e.ref,expectedRevision:e.revision,action:t,response:r,idempotencyKey:f.current.idempotencyKey});if(i?.status===`rejected`||i?.status===`uncertain`)throw Error(i.reason||`审批结果尚未确认,请核对后重试。`);c(!0)}catch(e){d(e instanceof Error?e.message:`审批提交失败。`)}finally{o(!1)}}return(0,X.jsxs)(`article`,{className:`team-interaction-card`,children:[(0,X.jsxs)(`span`,{className:`team-eyebrow`,children:[t?.name||`成员`,` · 需要你的确认`]}),(0,X.jsx)(`h3`,{children:e.title}),(0,X.jsx)(Te,{message:e.message}),s||e.status===`resolving`?(0,X.jsx)(`p`,{role:`status`,children:`已提交,等待执行端确认`}):e.kind===`input`&&e.requestSchema?(0,X.jsx)(l,{schema:e.requestSchema,values:r,onChange:i,disabled:a,onSubmit:()=>void p(`submit`,r),onCancel:()=>void p(`cancel`,{})}):(0,X.jsxs)(`div`,{className:`team-task-actions`,children:[(0,X.jsx)(`button`,{type:`button`,className:`team-button`,disabled:a,onClick:()=>void p(`reject`,{approved:!1}),children:`拒绝`}),(0,X.jsx)(`button`,{type:`button`,className:`team-button team-primary`,disabled:a,onClick:()=>void p(`approve`,{approved:!0}),children:`同意`})]}),u&&(0,X.jsx)(`p`,{role:`alert`,className:`team-inline-error`,children:u})]})}function Ue({interactions:e,members:t,onRespond:n}){return(0,X.jsx)(`section`,{className:`team-interactions`,"aria-label":`团队审批与待处理输入`,children:e.filter(e=>[`pending`,`resolving`].includes(e.status)).map(e=>(0,X.jsx)(He,{interaction:e,member:t.find(t=>t.memberId===e.ref.memberId),onRespond:n},_e(e.ref)))})}function We({members:e,selectedMemberId:t,onSelect:n}){return(0,X.jsx)(`div`,{className:`team-member-list`,children:e.filter(e=>e.status!==`removed`).map(e=>(0,X.jsxs)(`button`,{type:`button`,className:`team-member-row`,onClick:()=>n(e),"aria-pressed":t===e.memberId,children:[(0,X.jsx)(Me,{name:e.name}),(0,X.jsxs)(`span`,{children:[(0,X.jsxs)(`strong`,{children:[e.name,(0,X.jsx)(`small`,{children:e.role===`leader`?`Leader`:`成员`})]}),(0,X.jsxs)(`span`,{children:[Ae[e.executionStatus],e.binding.kind===`local_build`?` · 本地`:` · 云端`]})]}),(0,X.jsx)(`span`,{"aria-hidden":`true`,children:`→`})]},e.memberId))})}function Ge({member:e,observation:t,onDirectedMessage:n,onRetry:r,onCancel:a,cancelPending:o=!1,cancelBusy:s=!1}){return(0,X.jsxs)(`section`,{className:`team-member-inspector`,children:[(0,X.jsxs)(`div`,{className:`team-member-heading`,children:[(0,X.jsx)(Me,{name:e.name}),(0,X.jsxs)(`div`,{children:[(0,X.jsx)(`h3`,{children:e.name}),(0,X.jsxs)(`span`,{className:`team-muted`,children:[e.role===`leader`?`Leader`:`成员`,` · `,Ae[e.executionStatus]]})]})]}),e.responsibility&&(0,X.jsx)(`p`,{className:`team-member-responsibility`,children:e.responsibility}),(0,X.jsxs)(`div`,{className:`team-member-actions`,children:[n&&(0,X.jsx)(`button`,{className:`team-button`,type:`button`,onClick:n,children:`在群内 @成员`}),a&&e.binding.capabilities.cancel&&e.activeRunId&&(0,X.jsx)(`button`,{className:`team-button`,type:`button`,disabled:o||s,onClick:a,children:s?`正在提交…`:o?`已请求停止`:`请求停止此执行`})]}),(0,X.jsx)(`p`,{className:`team-observer-note`,children:`执行详情只读。关闭面板不会停止成员。`}),t?(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(`span`,{className:`team-connection`,role:`status`,children:je[t.connection]}),t.error&&(0,X.jsx)(`p`,{role:`alert`,className:`team-inline-error`,children:t.error}),t.connection===`offline`&&r&&(0,X.jsx)(`button`,{className:`team-button`,type:`button`,onClick:r,children:`重新连接`}),(0,X.jsx)(`div`,{className:`team-member-transcript`,children:t.items.filter(e=>e.visibility===`public`&&(e.kind!==`progress`||Object.keys(e.payload).length!==0)).map(e=>(0,X.jsxs)(`article`,{className:`team-observer-item`,children:[(0,X.jsx)(`span`,{className:`team-eyebrow`,children:e.kind===`assistant_text`?`回复`:e.kind===`user_message`?`输入`:e.kind===`tool_call`?`工具调用`:e.kind===`reasoning`?`执行思考`:e.kind}),typeof e.payload.text==`string`?(0,X.jsx)(i,{content:e.payload.text}):typeof e.payload.error==`string`?(0,X.jsx)(`p`,{className:`team-inline-error`,children:e.payload.error}):(0,X.jsxs)(`details`,{className:`team-observer-details`,children:[(0,X.jsx)(`summary`,{children:String(e.payload.tool||e.payload.summary||e.payload.title||(e.kind===`tool_call`?`查看工具结果`:`查看事件详情`))}),(0,X.jsx)(`pre`,{children:JSON.stringify(e.payload,null,2)})]})]},e.itemId))}),!t.items.length&&(0,X.jsx)(`p`,{className:`team-muted`,children:`尚无可展示的运行事件。`})]}):(0,X.jsx)(`p`,{className:`team-muted`,children:e.activeRunId?`正在读取执行详情…`:`当前没有进行中的执行。`})]})}function Ke(e){return e.snapshot?(0,X.jsx)(qe,{...e,snapshot:e.snapshot},`${e.snapshot.group.authorityRef}:${e.snapshot.group.groupId}`):(0,X.jsx)(`section`,{className:`ksadk-teams team-workspace`,children:e.loading?(0,X.jsxs)(`div`,{className:`team-loading`,role:`status`,"aria-label":`正在加载群组`,children:[(0,X.jsx)(`span`,{}),(0,X.jsx)(`span`,{}),(0,X.jsx)(`span`,{})]}):(0,X.jsxs)(`div`,{className:`team-empty`,children:[(0,X.jsx)(`h2`,{children:e.error?`群组暂不可用`:`选择一个团队,开始协作`}),(0,X.jsx)(`p`,{children:e.error||`创建群组并选择 Leader,让各有所长的 Agent 共同完成目标。`}),e.onRetry&&(0,X.jsx)(`button`,{type:`button`,className:`team-button`,onClick:e.onRetry,children:`重试`})]})})}function qe({snapshot:e,connection:t=`connected`,draft:n,onDraftChange:r,initialDrafts:a,initialSelection:o,onSelectionChange:s,onSend:c,onRetry:l,error:u,onManage:d,serverAuthority:f,standbyCandidates:p,onConfigureStandby:m,onLoadReconciliation:h,onReconcile:g,onControl:_,onAcceptRun:v,onTaskAction:y,onRespondInteraction:b,onOpenArtifact:x,onMemberSelect:S,renderMember:C,onLoadExecution:w}){let[T,D]=(0,j.useState)(a?.[o?.teamRunId||E(e)?.teamRunId||``]||``),[k,A]=(0,j.useState)(``),[M,N]=(0,j.useState)(0),[P,F]=(0,j.useState)(null),[I,L]=(0,j.useState)(!1),[R,te]=(0,j.useState)(o?.taskId??``),[z,B]=(0,j.useState)(o?.teamRunId||E(e)?.teamRunId||``),[V,H]=(0,j.useState)(!1),[ne,U]=(0,j.useState)(``),[re,ie]=(0,j.useState)(),[W,ae]=(0,j.useState)(!1),[oe,se]=(0,j.useState)(``),[ce,le]=(0,j.useState)(!1),[ue,de]=(0,j.useState)(``),fe=(0,j.useRef)(null),pe=(0,j.useRef)(null),me=(0,j.useRef)(new Map(Object.entries(a||{}).map(([e,t])=>[e,{text:t,recipient:``}]))),G=e.teamRuns.find(e=>e.teamRunId===z)??null,he=!!(z&&!G),K=e.tasks.filter(e=>e.teamRunId===G?.teamRunId);(0,j.useEffect)(()=>{G&&H(!1)},[G]);let ge=G?e.runMembers?.filter(e=>e.teamRunId===G.teamRunId):void 0,q=G&&e.runMembers?ge||[]:e.members.filter(e=>e.status!==`removed`),_e=K.find(e=>e.taskId===R),J=q.find(e=>e.memberId===ne),ve=[...e.deliveries.filter(e=>e.teamRunId===G?.teamRunId).map(e=>e.runId),...K.flatMap(e=>e.attempts.map(e=>e.source?.runId))].filter(Boolean),Y=!e.runMembers&&e.teamRuns.length===1,ye=e=>!!(G&&(ve.includes(e.runId)||ge?.some(t=>t.sessionId===e.sessionId)||Y&&q.some(t=>t.sessionId===e.sessionId))),be=e.interactions.filter(e=>ye(e.ref)),xe=[...new Map([...(e.artifacts||[]).filter(e=>ye(e.source)),...K.flatMap(e=>e.attempts.flatMap(e=>e.artifacts))].filter(t=>t.source.groupId===e.group.groupId&&t.source.authorityRef===e.group.authorityRef).map(e=>[e.artifactId,e])).values()],Se=be.filter(e=>e.status===`pending`).length+((G?.policy||e.group.policy)?.taskAcceptance===`leader`?0:K.filter(e=>O(e)===`attention`).length),Ce=n??T;function we(e){D(e),r?.(e,z),me.current.set(z,{text:e,recipient:k})}function Te(e){me.current.set(z,{text:Ce,recipient:k});let t=me.current.get(e);B(e),H(!1),te(``),U(``),ie(void 0),A(t?.recipient||``),D(t?.text||``),r?.(t?.text||``,e),se(``),le(!1),de(``),L(!1),s?.({teamRunId:e,taskId:``})}function De(e){te(e),s?.({teamRunId:G?.teamRunId??``,taskId:e})}function Oe(e){pe.current=document.activeElement,F(e),U(``)}function ke(){F(null),L(!1),pe.current?.focus()}function Ae(e){A(e.memberId),F(null),L(!1),N(e=>e+1)}function je(e){ie(void 0),U(e.memberId),F(`members`),S?.(e)}(0,j.useEffect)(()=>{P&&fe.current?.focus()},[P]);async function Me(e){if(!(!G||!_||W)){ae(!0),se(``);try{await _(G,e)}catch(e){se(e instanceof Error?e.message:`操作失败。`)}finally{ae(!1)}}}async function He(e){if(!(!G||!v||W)){if(!e&&!ue.trim()){se(`请说明需要修改的内容。`);return}ae(!0),se(``);try{await v(G,e,e?void 0:ue.trim()),le(!1),de(``)}catch(e){se(e instanceof Error?e.message:`验收提交失败。`)}finally{ae(!1)}}}async function Ke(e){let t=await c(e);return t?.teamRunId&&!e.teamRunId&&[`accepted`,`duplicate`].includes(t.status)&&(me.current.set(``,{text:``,recipient:``}),B(t.teamRunId),H(!0),D(``),r?.(``,``),A(``),s?.({teamRunId:t.teamRunId,taskId:``})),t}let qe=G?.status===`awaiting_acceptance`&&v&&(0,X.jsxs)(`section`,{className:`team-final-delivery`,"aria-label":`最终验收`,children:[(0,X.jsx)(`span`,{className:`team-eyebrow`,children:`团队已提交成果`}),(0,X.jsx)(`h3`,{children:`请确认这次交付`}),G.result&&(0,X.jsx)(`div`,{className:`team-final-summary`,children:(0,X.jsx)(i,{content:G.result})}),(0,X.jsx)(`p`,{children:`验收通过后完成任务;提出修改会交给 Leader 继续推进。`}),ce&&(0,X.jsxs)(`label`,{className:`team-field`,children:[`修改意见`,(0,X.jsx)(`textarea`,{value:ue,onChange:e=>de(e.target.value),placeholder:`哪些内容需要调整?期望是什么?`,rows:3,maxLength:2e3,disabled:W})]}),(0,X.jsx)(`div`,{className:`team-task-actions`,children:ce?(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(`button`,{className:`team-button`,type:`button`,disabled:W,onClick:()=>le(!1),children:`取消修改`}),(0,X.jsx)(`button`,{className:`team-button team-primary`,type:`button`,disabled:W||!ue.trim(),onClick:()=>void He(!1),children:`提交修改意见`})]}):(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(`button`,{className:`team-button`,type:`button`,disabled:W,onClick:()=>le(!0),children:`提出修改`}),(0,X.jsx)(`button`,{className:`team-button team-primary`,type:`button`,disabled:W,onClick:()=>void He(!0),children:`通过验收`})]})}),oe&&(0,X.jsx)(`p`,{role:`alert`,className:`team-inline-error`,children:oe})]});return(0,X.jsxs)(`section`,{className:`ksadk-teams team-workspace`,"data-panel":P||`closed`,"data-execution":I?`open`:`closed`,children:[(0,X.jsx)(Fe,{snapshot:e,connection:t,onProgress:()=>Oe(`tasks`),onMembers:()=>Oe(`members`),onManage:d}),u&&(0,X.jsxs)(`div`,{className:`team-top-error`,role:`alert`,children:[u,l&&(0,X.jsx)(`button`,{className:`team-text-button`,type:`button`,onClick:l,children:`重新连接`})]}),(0,X.jsxs)(`div`,{className:`team-body`,children:[(0,X.jsxs)(`nav`,{className:`team-run-directory`,"aria-label":`团队任务`,children:[(0,X.jsxs)(`header`,{children:[(0,X.jsx)(`h2`,{children:`任务`}),(0,X.jsx)(`button`,{type:`button`,className:`team-text-button`,onClick:()=>{Te(``),N(e=>e+1)},children:`+ 新任务`})]}),(0,X.jsxs)(`div`,{className:`team-run-list`,children:[[...e.teamRuns].reverse().map(e=>(0,X.jsxs)(`button`,{type:`button`,className:`team-run-item`,"aria-current":e.teamRunId===z?`page`:void 0,onClick:()=>Te(e.teamRunId),children:[(0,X.jsx)(`strong`,{children:e.goal}),(0,X.jsx)(Ne,{status:e.status})]},e.teamRunId)),!e.teamRuns.length&&(0,X.jsx)(`p`,{className:`team-muted`,children:`每个目标是一个独立任务。`})]})]}),(0,X.jsxs)(`div`,{className:`team-chat-pane`,"aria-hidden":I||void 0,children:[(0,X.jsxs)(`header`,{className:`team-task-heading`,children:[(0,X.jsxs)(`div`,{children:[(0,X.jsx)(`span`,{className:`team-eyebrow`,children:G?`当前任务`:`新的目标`}),(0,X.jsx)(`h2`,{children:G?.goal||(he?V?`正在同步任务…`:`未找到所选任务`:`希望团队完成什么?`)})]}),(0,X.jsx)(`button`,{type:`button`,className:`team-button`,"aria-label":`查看任务详情`,onClick:()=>Oe(`tasks`),children:`详情`})]}),(0,X.jsxs)(`label`,{className:`team-mobile-task-picker team-field`,children:[`切换任务`,(0,X.jsxs)(`select`,{value:z,onChange:e=>Te(e.target.value),children:[(0,X.jsx)(`option`,{value:``,children:`+ 新任务`}),e.teamRuns.map(e=>(0,X.jsx)(`option`,{value:e.teamRunId,children:e.goal},e.teamRunId))]})]}),(0,X.jsxs)(Ie,{emptyState:he?(0,X.jsxs)(`div`,{className:`team-empty`,role:`status`,children:[(0,X.jsx)(`p`,{children:V?`正在读取刚创建的任务,消息已提交。`:`请从任务列表重新选择;当前输入不会发送到其他任务。`}),l&&(0,X.jsx)(`button`,{className:`team-button`,type:`button`,onClick:l,children:`重新读取`})]}):void 0,focusFinalDelivery:qe?G?.teamRunId:void 0,messages:e.messages.filter(e=>G?e.teamRunId===G.teamRunId||Y&&!e.teamRunId:!1),children:[G&&(0,X.jsx)(Le,{compact:!0,run:G,tasks:K,pendingCount:Se,onOpen:()=>Oe(`tasks`)}),qe]},z),Se>0&&(0,X.jsxs)(`button`,{type:`button`,className:`team-attention-banner`,onClick:()=>Oe(`tasks`),children:[Se,` 项需要处理 `,(0,X.jsxs)(`span`,{children:[`查看 `,(0,X.jsx)(`span`,{"aria-hidden":`true`,children:`→`})]})]}),(0,X.jsx)(Re,{serverAuthority:f,referenceArtifacts:[...new Map([...e.artifacts||[],...e.tasks.flatMap(e=>e.attempts.flatMap(e=>e.artifacts))].filter(t=>t.source.groupId===e.group.groupId&&t.source.authorityRef===e.group.authorityRef).map(e=>[e.artifactId,e])).values()],artifacts:xe,recipientMemberId:k,onRecipientChange:A,focusRequest:M,members:q,activeRun:G,value:Ce,onChange:we,onSend:Ke,disabled:e.group.status!==`active`||he})]}),P&&(0,X.jsxs)(`aside`,{className:`team-sidepanel`,ref:fe,tabIndex:-1,"aria-label":`任务详情`,onKeyDown:e=>{e.key===`Escape`&&(e.stopPropagation(),ke())},children:[(0,X.jsxs)(`header`,{className:`team-panel-header`,children:[(0,X.jsx)(`nav`,{className:`team-detail-tabs`,"aria-label":`任务详情分类`,children:[[`tasks`,`进度`],[`members`,`成员`],[`artifacts`,`交付物`]].map(([e,t])=>(0,X.jsx)(`button`,{type:`button`,"aria-pressed":P===e,onClick:()=>Oe(e),children:t},e))}),(0,X.jsx)(`button`,{type:`button`,className:`team-button team-icon-button`,"aria-label":`关闭详情`,onClick:ke,children:`×`})]}),(0,X.jsx)(`div`,{className:`team-panel-scroll`,children:P===`tasks`?(0,X.jsxs)(X.Fragment,{children:[G&&(0,X.jsxs)(`div`,{className:`team-run-overview`,children:[(0,X.jsx)(Ne,{status:G.status}),(0,X.jsx)(Pe,{goal:G.goal}),G.reason&&(0,X.jsx)(`p`,{children:G.reason}),_&&ee(G.status)&&(0,X.jsxs)(`div`,{className:`team-run-actions`,children:[(0,X.jsx)(`button`,{className:`team-text-button`,type:`button`,disabled:W||G.status===`cancel_requested`,onClick:()=>void Me(G.dispatchSuspended?`resume_dispatch`:`suspend_dispatch`),children:G.dispatchSuspended?`继续协作`:`暂停派发`}),(0,X.jsx)(`button`,{className:`team-text-button team-danger`,type:`button`,disabled:W||G.status===`cancel_requested`,onClick:()=>void Me(`stop`),children:`停止任务`})]}),oe&&!qe&&(0,X.jsx)(`p`,{role:`alert`,className:`team-inline-error`,children:oe}),(0,X.jsx)(Je,{run:G,enabled:f,candidates:p||[],configure:m}),(0,X.jsx)(Ee,{run:G,onLoadReconciliation:h,onReconcile:g},G.teamRunId),(0,X.jsxs)(`details`,{className:`team-run-budget`,children:[(0,X.jsx)(`summary`,{children:`执行限额`}),(0,X.jsxs)(`dl`,{children:[(0,X.jsxs)(`div`,{children:[(0,X.jsx)(`dt`,{children:`累计启动`}),(0,X.jsxs)(`dd`,{children:[G.budget.startsUsed,` / `,G.budget.maxStarts]})]}),(0,X.jsxs)(`div`,{children:[(0,X.jsx)(`dt`,{children:`同时执行`}),(0,X.jsxs)(`dd`,{children:[`最多 `,G.budget.maxConcurrent,` 个`]})]}),G.budget.maxTokens&&(0,X.jsxs)(`div`,{children:[(0,X.jsx)(`dt`,{children:`Token`}),(0,X.jsxs)(`dd`,{children:[G.budget.tokensUsed??0,` / `,G.budget.maxTokens]})]}),G.budget.maxDurationSeconds&&(0,X.jsxs)(`div`,{children:[(0,X.jsx)(`dt`,{children:`主动执行时限`}),(0,X.jsxs)(`dd`,{children:[Math.round(G.budget.maxDurationSeconds/60),` 分钟`]})]})]})]})]}),b&&(0,X.jsx)(Ue,{interactions:be,members:q,onRespond:b}),_e?(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(`button`,{className:`team-text-button team-back`,type:`button`,onClick:()=>De(``),children:`← 所有分工`}),(0,X.jsx)(Ve,{task:_e,members:q,onAction:(G?.policy||e.group.policy)?.taskAcceptance===`leader`?void 0:y,onOpenArtifact:x,onMemberSelect:je},_e.taskId)]}):(0,X.jsx)(ze,{tasks:K,members:q,selectedTaskId:R,onSelect:e=>De(e.taskId)})]}):P===`artifacts`?(0,X.jsxs)(`section`,{className:`team-artifact-list`,children:[(0,X.jsx)(`h3`,{children:`任务交付物`}),xe.length?xe.map(e=>(0,X.jsx)(Be,{artifact:e,onOpen:x},e.artifactId)):(0,X.jsx)(`p`,{className:`team-muted`,children:`成员发布的成果会保存在这里。`})]}):J?(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(`button`,{className:`team-text-button team-back`,type:`button`,onClick:()=>U(``),children:`← 所有成员`}),C?.(J,{directedMessage:()=>Ae(J),teamRunId:G?.teamRunId},re)??(0,X.jsx)(Ge,{member:J,onDirectedMessage:()=>Ae(J)})]}):(0,X.jsx)(We,{members:q,selectedMemberId:ne,onSelect:je})}),P===`tasks`&&(K.length>0||!!(w&&G))&&(0,X.jsx)(`footer`,{className:`team-panel-footer`,children:(0,X.jsxs)(`button`,{className:`team-button team-expand`,type:`button`,onClick:()=>L(!0),children:[`查看执行详情 `,(0,X.jsx)(`span`,{"aria-hidden":`true`,children:`↗`})]})})]}),I&&(0,X.jsxs)(`section`,{className:`team-execution-workspace`,"aria-label":`执行工作台`,children:[(0,X.jsxs)(`header`,{className:`team-panel-header`,children:[(0,X.jsxs)(`div`,{children:[(0,X.jsx)(`span`,{className:`team-eyebrow`,children:`执行详情`}),(0,X.jsx)(`h2`,{children:G?.goal})]}),(0,X.jsx)(`button`,{className:`team-button`,type:`button`,onClick:()=>L(!1),children:`返回聊天`})]}),(0,X.jsx)(j.Suspense,{fallback:(0,X.jsxs)(`div`,{className:`team-loading`,role:`status`,"aria-label":`正在加载执行视图`,children:[(0,X.jsx)(`span`,{}),(0,X.jsx)(`span`,{})]}),children:(0,X.jsx)(Ye,{authorityRef:e.group.authorityRef,groupId:e.group.groupId,teamRunId:G?.teamRunId||``,watermark:e.watermark,load:w,tasks:K,members:q,selectedTaskId:R,onSelect:e=>{De(e.taskId),L(!1),F(`tasks`)},onSelectNode:e=>{e.kind===`task`&&e.taskId?(De(e.taskId),F(`tasks`),L(!1)):e.source&&(U(e.source.memberId),ie(e.source),F(`members`),L(!1))}},`${e.group.groupId}:${G?.teamRunId||``}`)})]})]})]})}function Je({run:e,enabled:t,candidates:n,configure:r}){let[i,a]=(0,j.useState)(e.leaderStandby?.standbyBindingRef||``),[o,s]=(0,j.useState)(!1),[c,l]=(0,j.useState)(``),[u,d]=(0,j.useState)(e.leaderStandby),f=n.filter(e=>e.kind!==`local_build`&&[`ready`,`unchecked`].includes(e.availability?.state||``)&&e.capabilities.leader&&e.capabilities.enqueue);if((0,j.useEffect)(()=>{a(e.leaderStandby?.standbyBindingRef||``),l(``),d(e.leaderStandby)},[e.teamRunId,e.leaderStandby]),!t||!r||!f.length&&!u)return null;async function p(){if(!(!i||o||!r)){s(!0),l(``);try{d(await r(e,i))}catch(e){l(e instanceof Error?e.message:`备用配置失败。`)}finally{s(!1)}}}return(0,X.jsxs)(`details`,{className:`team-run-budget team-standby`,children:[(0,X.jsxs)(`summary`,{children:[`云端接管设置`,u?.state===`active`?` · 已接管`:u?.state===`blocked`?` · 等待恢复`:``]}),u&&(0,X.jsx)(`p`,{role:`status`,children:u.state===`active`?`云端 Leader 已接管当前任务。`:u.state===`armed`?`兼容的备用节点已配置;接管前会保存进度并核对原执行。`:{standby_offline:`云端备用节点离线,正在等待恢复。`,checkpoint_required:`正在等待 Leader 保存可恢复的任务进度。`,execution_uncertain:`正在核对原执行结果,避免重复执行。`}[u.reason||``]||`暂时无法接管,请检查执行状态。`}),ee(e.status)&&!!f.length&&(0,X.jsxs)(X.Fragment,{children:[(0,X.jsxs)(`label`,{className:`team-field`,children:[`Leader 备用节点`,(0,X.jsxs)(`select`,{value:i,onChange:e=>a(e.target.value),disabled:o,children:[(0,X.jsx)(`option`,{value:``,children:`选择云端节点,保存时检查`}),f.map(e=>(0,X.jsx)(`option`,{value:e.bindingRef,children:e.name||e.agentId},e.bindingRef))]})]}),(0,X.jsx)(`p`,{children:`本地 Leader 失联后由备用节点继续。新任务沿用此配置;本地恢复时不抢回当前任务。`}),(0,X.jsx)(`button`,{type:`button`,className:`team-button`,disabled:o||!i,onClick:()=>void p(),children:o?`正在校验…`:`配置备用节点`})]}),c&&(0,X.jsx)(`p`,{role:`alert`,className:`team-inline-error`,children:c})]})}function Ye({authorityRef:e,groupId:t,teamRunId:n,watermark:r,load:i,...a}){let o=(0,j.useRef)(i),s=!!i;(0,j.useEffect)(()=>{o.current=i},[i]);let[c,l]=(0,j.useState)(null),[u,d]=(0,j.useState)(``),[f,p]=(0,j.useState)(!!i),[m,h]=(0,j.useState)(0);return(0,j.useEffect)(()=>{if(!o.current||!n)return;let r=new AbortController;return o.current(n,r.signal).then(i=>{if(!r.signal.aborted){if(i.groupId!==t||i.teamRunId!==n||i.nodes.some(t=>t.source&&t.source.authorityRef!==e))throw Error(`执行视图不属于当前协作轮次。`);l(i),d(``)}}).catch(e=>{r.signal.aborted||d(e instanceof Error?e.message:`执行视图加载失败。`)}).finally(()=>{r.signal.aborted||p(!1)}),()=>r.abort()},[e,t,n,r,m,s]),(0,X.jsx)(De,{...a,execution:c,executionLoading:f,executionError:u,onRetryExecution:i?()=>{d(``),p(!0),h(e=>e+1)}:void 0})}var Z=e=>`${e.binding.kind}:${e.binding.agentId}`,Q=e=>e.binding.capabilities.enqueue&&e.binding.availability?.state!==`unavailable`;function Xe(e){let t=new Map;for(let n of e)t.set(Z(n),[...t.get(Z(n))||[],n]);return[...t.values()].map(e=>e.sort((e,t)=>Number(Q(t))-Number(Q(e))||(t.binding.createdAt||``).localeCompare(e.binding.createdAt||``)))}function Ze({open:e,candidates:t,serverAuthority:n,loading:r,error:i,onRefresh:a,onClose:o,onCreate:s}){let c=(0,j.useRef)(null),l=(0,j.useId)(),[u,d]=(0,j.useState)(``),[f,p]=(0,j.useState)(``),[m,h]=(0,j.useState)([]),[g,_]=(0,j.useState)(``),[v,y]=(0,j.useState)(``),[b,x]=(0,j.useState)(!1),[S,C]=(0,j.useState)(``),w=(0,j.useRef)(null),T=m.map(e=>{let n=t.find(t=>t.binding.bindingRef===e.binding.bindingRef);return n?{...n,memberId:e.memberId,responsibility:e.responsibility}:e}),E=T.filter(e=>e.binding.capabilities.leader&&Q(e)),D=E.some(e=>e.memberId===g)?g:E[0]?.memberId??``,O=T.find(e=>e.memberId===D)?.binding.kind===`local_build`,k=t.filter(e=>e.binding.kind===`cloud`&&e.binding.capabilities.leader&&Q(e)),ee=Xe(t).filter(e=>e.some(e=>`${e.name} ${e.description||``} ${e.binding.agentId}`.toLowerCase().includes(f.toLowerCase())));(0,j.useEffect)(()=>{let t=c.current;if(!t)return;let n=document.activeElement;return e&&!t.open&&t.showModal(),!e&&t.open&&t.close(),()=>{t.open&&t.close(),n?.focus()}},[e]);function A(e,t){h(n=>t?[...n,e]:n.filter(t=>Z(t)!==Z(e)))}async function M(){if(b||r)return;C(``);let e={name:u.trim(),members:T.map(e=>({memberId:e.memberId,name:e.name,bindingRef:e.binding.bindingRef,...e.responsibility?.trim()?{responsibility:e.responsibility.trim()}:{}})),leaderMemberId:D,...n&&O&&v?{leaderStandbyBindingRef:v}:{}};try{if(ge(e),T.length<2)throw Error(`请选择至少 2 位成员,一起组成团队。`);if(T.some(e=>!t.some(t=>t.binding.bindingRef===e.binding.bindingRef&&Q(t))))throw Error(`已选成员中有 Agent 暂不可用,请更换版本或移除后重试。`);if(!D)throw Error(`所选成员中至少需要一位支持 Leader 的 Agent。`)}catch(e){C(e instanceof Error?e.message:`团队配置无效。`);return}let i=JSON.stringify(e);w.current?.digest!==i&&(w.current={digest:i,idempotencyKey:`group-${globalThis.crypto.randomUUID()}`}),x(!0);try{await s({...e,idempotencyKey:w.current.idempotencyKey}),d(``),p(``),h([]),_(``),y(``),w.current=null,o()}catch(e){C(e instanceof Error?e.message:`创建团队失败,已保留你的选择。`)}finally{x(!1)}}return(0,X.jsx)(`dialog`,{ref:c,className:`ksadk-teams team-create-dialog`,"aria-labelledby":l,onCancel:e=>{e.preventDefault(),b||o()},children:(0,X.jsxs)(`form`,{onSubmit:e=>{e.preventDefault(),M()},children:[(0,X.jsxs)(`header`,{children:[(0,X.jsxs)(`div`,{children:[(0,X.jsx)(`span`,{className:`team-eyebrow`,children:`新的协作空间`}),(0,X.jsx)(`h2`,{id:l,children:`组建团队`}),(0,X.jsx)(`p`,{children:`选择搭档,让 Leader 组织分工与复核。`})]}),(0,X.jsx)(`button`,{type:`button`,className:`team-button team-icon-button`,"aria-label":`关闭创建团队`,onClick:o,disabled:b,children:`×`})]}),(0,X.jsxs)(`div`,{className:`team-create-body`,children:[(0,X.jsxs)(`label`,{className:`team-field`,children:[`团队名称`,(0,X.jsx)(`input`,{value:u,onChange:e=>d(e.target.value),placeholder:`例如:产品交付团队`,maxLength:100,disabled:b,required:!0})]}),(0,X.jsxs)(`fieldset`,{disabled:b,children:[(0,X.jsxs)(`legend`,{children:[`选择成员 `,(0,X.jsxs)(`span`,{children:[m.length,` / 8`]})]}),(0,X.jsxs)(`div`,{className:`team-directory-search`,children:[(0,X.jsx)(`input`,{"aria-label":`搜索 Agent`,value:f,onChange:e=>p(e.target.value),placeholder:`搜索名称或职责`}),a&&(0,X.jsx)(`button`,{type:`button`,className:`team-text-button`,disabled:r,onClick:a,children:`刷新`})]}),r&&(0,X.jsx)(`p`,{role:`status`,className:`team-muted`,children:`正在读取 Agent…`}),i&&(0,X.jsx)(`p`,{role:`alert`,className:`team-inline-error`,children:i}),!r&&!t.length?(0,X.jsx)(`p`,{className:`team-muted`,children:`还没有 Agent。先创建 Agent 并完成构建,再回来组队。`}):(0,X.jsxs)(`div`,{className:`team-candidate-list`,children:[ee.map(e=>{let t=T.find(t=>Z(t)===Z(e[0])),n=t||e[0],i=n.binding.kind===`local_build`?`本地`:`云端`,a=n.description||n.binding.description||(n.binding.capabilities.leader?`可担任 Leader`:`任务成员`);return(0,X.jsxs)(`div`,{className:`team-candidate-group`,children:[(0,X.jsxs)(`label`,{className:`team-candidate`,"data-selected":!!t,children:[(0,X.jsx)(`input`,{type:`checkbox`,checked:!!t,disabled:r||!t&&(!Q(n)||m.length>=8),onChange:e=>A(n,e.target.checked)}),(0,X.jsx)(`span`,{className:`team-avatar`,"aria-hidden":`true`,children:Array.from(n.name)[0]}),(0,X.jsxs)(`span`,{children:[(0,X.jsx)(`strong`,{title:n.name,children:n.name}),(0,X.jsx)(`small`,{className:`team-candidate-description`,title:a,children:a}),!Q(n)&&(0,X.jsx)(`small`,{className:`team-candidate-reason`,children:n.binding.availability?.reason||`当前不支持团队执行`})]}),(0,X.jsx)(`span`,{className:`team-source`,"data-available":Q(n),"data-state":n.binding.availability?.state,title:n.binding.availability?.reason||(n.binding.availability?.state===`unchecked`?`创建时检查执行环境`:void 0),children:i})]}),t&&(0,X.jsxs)(`details`,{className:`team-version-choice`,children:[(0,X.jsx)(`summary`,{children:`职责与版本`}),(0,X.jsxs)(`label`,{className:`team-field`,children:[`工作职责`,(0,X.jsx)(`textarea`,{"aria-label":`${n.name} 的工作职责`,rows:2,maxLength:2e3,value:n.responsibility||``,onChange:e=>{let t=e.target.value;h(e=>e.map(e=>Z(e)===Z(n)?{...e,responsibility:t}:e))},placeholder:`例如:核对实现边界,补充测试证据`})]}),(0,X.jsxs)(`p`,{children:[`模型:`,n.binding.modelName||`沿用固定版本配置`]}),(0,X.jsxs)(`label`,{className:`team-field`,children:[`执行版本`,(0,X.jsx)(`select`,{"aria-label":`${n.name} 的执行版本`,value:n.binding.bindingRef,onChange:t=>{let r=e.find(e=>e.binding.bindingRef===t.target.value);h(e=>e.map(e=>Z(e)===Z(n)?{...r,memberId:e.memberId,responsibility:e.responsibility}:e))},children:e.map(e=>(0,X.jsxs)(`option`,{value:e.binding.bindingRef,disabled:!Q(e),children:[e.binding.version||e.binding.buildId||e.binding.bindingRef,Q(e)?``:` · 不可用`]},e.binding.bindingRef))})]})]})]},Z(n))}),!ee.length&&!!t.length&&(0,X.jsx)(`p`,{className:`team-muted`,children:`没有匹配的 Agent。`})]}),m.filter(e=>!t.some(t=>t.binding.bindingRef===e.binding.bindingRef)).map(e=>(0,X.jsxs)(`p`,{className:`team-inline-error`,children:[e.name,` · 当前目录中不可用 `,(0,X.jsx)(`button`,{type:`button`,className:`team-text-button`,onClick:()=>A(e,!1),children:`移除`})]},e.memberId))]}),(0,X.jsxs)(`label`,{className:`team-field`,children:[`指定 Leader`,(0,X.jsxs)(`select`,{value:D,onChange:e=>_(e.target.value),disabled:b||!E.length,children:[(0,X.jsx)(`option`,{value:``,disabled:!0,children:`从已选成员中指定`}),E.map(e=>(0,X.jsx)(`option`,{value:e.memberId,children:e.name},e.memberId))]}),(0,X.jsx)(`small`,{children:`Leader 审核成员成果,你处理工具审批和最终验收。`})]}),n&&O&&(0,X.jsxs)(`details`,{className:`team-version-choice`,children:[(0,X.jsx)(`summary`,{children:`本地离线时继续协作`}),(0,X.jsxs)(`label`,{className:`team-field`,children:[`Leader 云端备用`,(0,X.jsxs)(`select`,{value:v,onChange:e=>y(e.target.value),disabled:b||r,children:[(0,X.jsx)(`option`,{value:``,children:`暂不配置`}),k.map(e=>(0,X.jsxs)(`option`,{value:e.binding.bindingRef,children:[e.name,` · `,e.binding.version||e.binding.buildId||`固定版本`]},e.binding.bindingRef))]})]}),(0,X.jsx)(`p`,{className:`team-muted`,children:`创建前会检查同版本执行能力。云端模型、工具和任务资料需预先准备;本地凭据不会复制到云端。`}),!k.length&&(0,X.jsx)(`p`,{className:`team-muted`,children:`还没有可用的云端 Leader 节点。可以先创建团队,接入节点后在任务详情配置。`})]}),(0,X.jsx)(`p`,{className:`team-create-footnote`,children:`创建时检查选中成员的执行环境;配置失败会保留草稿。`}),S&&(0,X.jsx)(`p`,{role:`alert`,className:`team-inline-error`,children:S})]}),(0,X.jsxs)(`footer`,{children:[(0,X.jsx)(`button`,{type:`button`,className:`team-button`,onClick:o,disabled:b,children:`稍后继续`}),(0,X.jsx)(`button`,{type:`submit`,className:`team-button team-primary`,disabled:b||r||T.length<2,children:b?`正在检查并创建…`:`创建团队`})]})]})})}var Qe=class{value={snapshot:null,connection:`closed`,error:null,draft:``};listeners=new Set;abort;generation=0;client;groupId;authorityRef;constructor(e,t,n){this.client=e,this.groupId=t,this.authorityRef=n}getSnapshot=()=>this.value;subscribe=e=>(this.listeners.add(e),()=>this.listeners.delete(e));update(e){this.value={...this.value,...e},this.listeners.forEach(e=>e())}setDraft=e=>this.update({draft:e});start=()=>{this.disconnect();let e=++this.generation,t=new AbortController;this.abort=t;let n=()=>e===this.generation&&!t.signal.aborted;this.update({error:null,connection:`connecting`}),this.client.watch(this.groupId,{signal:t.signal,onSnapshot:e=>{if(n()){if(e.group.authorityRef!==this.authorityRef)throw new G(`scope_mismatch`,`群授权域发生变化,请重新打开。`);this.update({snapshot:e})}},onConnection:e=>{n()&&this.update({connection:e})},onError:e=>{n()&&this.update({error:e.message})}}).catch(e=>{n()&&this.update({connection:`offline`,error:e instanceof Error?e.message:`群连接失败。`})})};disconnect=()=>{this.generation++,this.abort?.abort(),this.abort=void 0};send=e=>this.client.send(this.groupId,e)};function $e(e){let t=(0,j.useMemo)(()=>new Qe(e.client,e.groupId,e.authorityRef),[e.client,e.groupId,e.authorityRef]),n=(0,j.useSyncExternalStore)(t.subscribe,t.getSnapshot,t.getSnapshot);return(0,j.useEffect)(()=>(t.start(),t.disconnect),[t]),{...n,loading:!n.snapshot&&n.connection===`connecting`,setDraft:t.setDraft,send:t.send,reconnect:t.start}}var et=()=>`studio-${crypto.randomUUID()}`,tt=e=>e instanceof Error?e.message:`请求失败,请重试。`;function nt({client:e,snapshot:t,onClose:n,onSaved:r}){let i=(0,j.useRef)(null),[a,o]=(0,j.useState)(t),[s,c]=(0,j.useState)(t.group.name),[l,u]=(0,j.useState)(t.group.leaderMemberId),[d,f]=(0,j.useState)(!1),[p,m]=(0,j.useState)(``),[h,g]=(0,j.useState)(``),[_,v]=(0,j.useState)(`none`),[y,b]=(0,j.useState)(``),[S,C]=(0,j.useState)(``),[w,T]=(0,j.useState)(``),[E,D]=(0,j.useState)(``),[O,k]=(0,j.useState)([]),ee=(0,j.useRef)(`member-${crypto.randomUUID()}`).current,[A,M]=(0,j.useState)(t.group.policy?.taskAcceptance||`human`),[N,P]=(0,j.useState)(t.group.policy?.peerWake||!1),F=t.teamRuns.some(e=>![`succeeded`,`failed`,`cancelled`].includes(e.status)),I=(0,j.useRef)(null);(0,j.useEffect)(()=>{let e=new AbortController;return x(`/api/v1/groups/bindings`,{signal:e.signal}).then(e=>k(e.items)).catch(t=>{e.signal.aborted||m(tt(t))}),()=>e.abort()},[]),(0,j.useEffect)(()=>{let e=document.activeElement;return i.current?.showModal(),()=>{i.current?.close(),e?.focus()}},[]);async function L(){if(!s.trim()||d)return;if(f(!0),m(``),_!==`none`&&(!S||!w.trim()||_===`rebind`&&!y)){m(`请选择成员和可用 Agent,并填写成员名称。`),f(!1);return}let i={memberId:_===`rebind`?y:ee,name:w.trim(),bindingRef:S,...E.trim()?{responsibility:E.trim()}:{}},c={..._===`add`?{addMember:i}:_===`rebind`?{rebindMember:i}:{},...s.trim()===a.group.name?{}:{name:s.trim()},...l===a.group.leaderMemberId?{}:{leaderMemberId:l},...h?{removeMemberId:h}:{},...A===(a.group.policy?.taskAcceptance||`human`)?{}:{taskAcceptance:A},...N===(a.group.policy?.peerWake||!1)?{}:{peerWake:N}},u=JSON.stringify([c,a.group.revision]);I.current?.digest!==u&&(I.current={digest:u,key:et()});try{await e.update(t.group.groupId,{...c,expectedRevision:a.group.revision,idempotencyKey:I.current.key}),r(),n()}catch(n){if(n instanceof G&&n.code===`revision_conflict`)try{o(await e.snapshot(t.group.groupId)),m(`团队配置已更新。已保留你的修改,请核对后再次保存。`)}catch{m(`团队配置已更新,暂时无法读取最新版本。请稍后重试,当前草稿已保留。`)}else m(tt(n))}finally{f(!1)}}return(0,X.jsx)(`dialog`,{ref:i,className:`ksadk-teams team-create-dialog`,"aria-label":`团队设置`,onCancel:e=>{e.preventDefault(),d||n()},children:(0,X.jsxs)(`form`,{onSubmit:e=>{e.preventDefault(),L()},children:[(0,X.jsxs)(`header`,{children:[(0,X.jsx)(`h2`,{children:`团队设置`}),(0,X.jsx)(`button`,{type:`button`,className:`team-button team-icon-button`,"aria-label":`关闭团队设置`,disabled:d,onClick:n,children:`×`})]}),(0,X.jsxs)(`label`,{className:`team-field`,children:[`群组名称`,(0,X.jsx)(`input`,{value:s,maxLength:100,required:!0,onChange:e=>c(e.target.value),disabled:d})]}),(0,X.jsxs)(`label`,{className:`team-field`,children:[`Leader`,(0,X.jsx)(`select`,{value:l,onChange:e=>u(e.target.value),disabled:d,children:t.members.filter(e=>e.status===`active`&&e.binding.capabilities.leader).map(e=>(0,X.jsx)(`option`,{value:e.memberId,children:e.name},e.memberId))})]}),(0,X.jsxs)(`label`,{className:`team-field`,children:[`任务验收`,(0,X.jsxs)(`select`,{value:A,onChange:e=>M(e.target.value),disabled:d,children:[(0,X.jsx)(`option`,{value:`leader`,children:`由 Leader 审核成员成果`}),(0,X.jsx)(`option`,{value:`human`,children:`由我逐项验收`}),(0,X.jsx)(`option`,{value:`result`,children:`以执行结果验收任务`})]}),(0,X.jsx)(`small`,{children:`本轮最终成果始终由你验收。`})]}),(0,X.jsxs)(`label`,{className:`team-field team-policy-checkbox`,children:[(0,X.jsxs)(`span`,{children:[(0,X.jsx)(`input`,{type:`checkbox`,checked:N,onChange:e=>P(e.target.checked),disabled:d}),`允许成员互相唤醒`]}),(0,X.jsx)(`small`,{children:`成员之间的协作仍受本轮预算和停止操作约束。`})]}),(0,X.jsxs)(`fieldset`,{className:`studio-team-member-settings`,disabled:d,children:[(0,X.jsx)(`legend`,{children:`添加成员或更换 Agent`}),(0,X.jsxs)(`label`,{className:`team-field`,children:[`成员变更`,(0,X.jsxs)(`select`,{value:_,onChange:e=>{v(e.target.value),C(``),T(``),D(``)},children:[(0,X.jsx)(`option`,{value:`none`,children:`保留当前绑定`}),(0,X.jsx)(`option`,{value:`add`,disabled:t.members.filter(e=>e.status!==`removed`).length>=8,children:`添加一位成员`}),(0,X.jsx)(`option`,{value:`rebind`,children:`为成员更换 Agent`})]})]}),_!==`none`&&(0,X.jsxs)(X.Fragment,{children:[_===`rebind`&&(0,X.jsxs)(`label`,{className:`team-field`,children:[`选择要更换的成员`,(0,X.jsxs)(`select`,{value:y,onChange:e=>{b(e.target.value);let n=t.members.find(t=>t.memberId===e.target.value);C(n?.bindingRef||``),T(n?.name||``),D(n?.responsibility||``)},children:[(0,X.jsx)(`option`,{value:``,children:`请选择成员`}),t.members.filter(e=>e.status!==`removed`).map(e=>(0,X.jsx)(`option`,{value:e.memberId,children:e.name},e.memberId))]})]}),(0,X.jsxs)(`label`,{className:`team-field`,children:[`可用 Agent`,(0,X.jsxs)(`select`,{value:S,onChange:e=>{C(e.target.value);let t=O.find(t=>t.bindingRef===e.target.value);T(t?.name||t?.agentId||``)},children:[(0,X.jsx)(`option`,{value:``,children:`选择支持团队执行的 Agent`}),O.filter(e=>e.capabilities.enqueue&&(_!==`rebind`||y!==l||e.capabilities.leader)).map(e=>(0,X.jsxs)(`option`,{value:e.bindingRef,children:[e.name||e.agentId,e.buildId?` · ${e.buildId}`:``]},e.bindingRef))]})]}),(0,X.jsxs)(`label`,{className:`team-field`,children:[`成员名称`,(0,X.jsx)(`input`,{value:w,maxLength:80,onChange:e=>T(e.target.value)})]}),(0,X.jsxs)(`label`,{className:`team-field`,children:[`工作职责`,(0,X.jsx)(`textarea`,{rows:3,maxLength:2e3,value:E,onChange:e=>D(e.target.value),placeholder:`说明这位成员负责什么,以及预期交付`})]}),(0,X.jsx)(`p`,{className:`team-muted`,children:`更换 Agent 会使用新的独立会话,历史执行记录仍可查看。`})]})]}),(0,X.jsxs)(`label`,{className:`team-field`,children:[`移除成员`,(0,X.jsxs)(`select`,{value:h,onChange:e=>g(e.target.value),disabled:d,children:[(0,X.jsx)(`option`,{value:``,children:`保留当前成员`}),t.members.filter(e=>e.status===`active`&&e.memberId!==l).map(e=>(0,X.jsx)(`option`,{value:e.memberId,children:e.name},e.memberId))]})]}),(0,X.jsx)(`p`,{className:`team-muted`,children:F?`新配置用于之后创建的任务。正在执行的任务保留原来的成员和策略。`:`配置变化不会重置已有任务记录。`}),p&&(0,X.jsx)(`p`,{className:`team-inline-error`,role:`alert`,children:p}),(0,X.jsxs)(`footer`,{children:[(0,X.jsx)(`button`,{className:`team-button`,type:`button`,disabled:d,onClick:n,children:`取消`}),(0,X.jsx)(`button`,{className:`team-button team-primary`,disabled:d,children:d?`正在保存`:`保存设置`})]})]})})}var rt=new xe({fetch:a}),it=we({fetch:a});function at({member:e,snapshot:t,onDirectedMessage:n,requestedSource:r,teamRunId:i}){let a=r?q(r):``,[o,s]=(0,j.useState)(a);(0,j.useEffect)(()=>{a&&s(a)},[a]);let c=[...t.tasks.filter(e=>!i||e.teamRunId===i).flatMap(e=>e.attempts.map(e=>e.source)),...t.messages.filter(e=>!i||e.teamRunId===i||!t.runMembers&&t.teamRuns.length===1&&!e.teamRunId).flatMap(e=>e.sourceRefs||[]),...t.interactions.filter(t=>!i||t.ref.sessionId===e.sessionId).map(e=>e.ref)].filter(t=>!!(t&&t.memberId===e.memberId&&(!e.teamRunId||t.sessionId===e.sessionId)));e.activeRunId&&c.push({authorityRef:t.group.authorityRef,groupId:t.group.groupId,memberId:e.memberId,bindingRef:e.bindingRef,providerRef:e.binding.providerRef,sessionId:e.sessionId,runId:e.activeRunId}),r&&c.push(r);let l=[...new Map(c.map(e=>[q(e),e])).values()],u=l.find(e=>q(e)===o)||l.at(-1);return u?(0,X.jsxs)(X.Fragment,{children:[(0,X.jsxs)(`p`,{className:`team-observer-note`,children:[`模型:`,e.binding.modelName||`沿用固定版本配置`,` `,(0,X.jsx)(`a`,{href:e.binding.kind===`local_build`?`#/agents/${encodeURIComponent(e.binding.agentId)}/edit`:`#/agents`,children:`查看 Agent 配置`})]}),l.length>1&&(0,X.jsxs)(`label`,{className:`team-field`,children:[`成员执行记录`,(0,X.jsx)(`select`,{value:q(u),onChange:e=>s(e.target.value),children:l.map((t,n)=>(0,X.jsxs)(`option`,{value:q(t),children:[t.runId===e.activeRunId?`当前执行`:`历史执行 ${n+1}`,` `,`· `,t.runId.slice(-10)]},q(t)))})]}),(0,X.jsx)(ot,{member:e,streamRef:u,onDirectedMessage:n},q(u))]}):(0,X.jsxs)(X.Fragment,{children:[(0,X.jsxs)(`p`,{className:`team-observer-note`,children:[`模型:`,e.binding.modelName||`沿用固定版本配置`,` `,(0,X.jsx)(`a`,{href:e.binding.kind===`local_build`?`#/agents/${encodeURIComponent(e.binding.agentId)}/edit`:`#/agents`,children:`查看 Agent 配置`})]}),(0,X.jsx)(Ge,{member:e,onDirectedMessage:n})]})}function ot({member:e,streamRef:t,onDirectedMessage:n}){let r=(0,j.useMemo)(()=>Ce(t),[t.authorityRef,t.groupId,t.memberId,t.bindingRef,t.providerRef,t.sessionId,t.runId]),i=(0,j.useSyncExternalStore)(r.subscribe,r.getSnapshot,r.getSnapshot);(0,j.useEffect)(()=>(r.observe(it),()=>r.disconnect()),[r]);let[a,o]=(0,j.useState)(!1),[s,c]=(0,j.useState)(!1),[l,u]=(0,j.useState)(null),d=(0,j.useRef)(!1),f=(0,j.useRef)(crypto.randomUUID()),p=e.status===`active`&&e.binding.capabilities.cancel&&t.runId===e.activeRunId&&t.bindingRef===e.bindingRef&&t.providerRef===e.binding.providerRef&&t.sessionId===e.sessionId;async function m(){if(!(!p||d.current||s)){d.current=!0,o(!0),u(null);try{let n=await rt.cancelMember(t.groupId,e.memberId,{ref:t,idempotencyKey:f.current});if(n.status!==`cancel_requested`||n.runId!==t.runId)throw Error(`停止回执与当前执行不一致,请重新读取群状态。`);c(!0)}catch(e){u(e instanceof Error?e.message:`停止请求提交失败,请重试。`)}finally{d.current=!1,o(!1)}}}return(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(Ge,{member:e,observation:i,onCancel:p?()=>void m():void 0,cancelBusy:a,cancelPending:s,onDirectedMessage:n,onRetry:()=>void r.observe(it)}),p&&s&&(0,X.jsx)(`p`,{role:`status`,className:`team-observer-note`,children:`已请求停止,等待执行端确认。后续排队消息仍会保留。`}),l&&(0,X.jsx)(`p`,{role:`alert`,className:`team-inline-error`,children:l})]})}var $=new xe({fetch:a}),st=()=>`studio-${crypto.randomUUID()}`,ct=e=>e instanceof Error?e.message:`请求失败,请重试。`;function lt(e){if(e.status===`rejected`||e.status===`uncertain`)throw Error(e.reason||`执行端尚未确认,请核对后重试。`);return e}function ut(){return new URLSearchParams(window.location.hash.split(`?`)[1]||``)}function dt(e,t={}){let n=new URLSearchParams({groupId:e});t.teamRunId&&n.set(`teamRunId`,t.teamRunId),t.taskId&&n.set(`taskId`,t.taskId),window.history.replaceState(null,``,`#/workspace/teams?${n}`)}function ft(){let[e,t]=(0,j.useState)(null),[n,r]=(0,j.useState)(``),[i,a]=(0,j.useState)(0);if((0,j.useEffect)(()=>{let e=new AbortController;return r(``),d(e.signal).then(e=>{if(e.apiVersion!==`teams.ksadk.io/v1`)throw Error(`团队插件版本与当前界面不兼容,请更新插件。`);t(e)}).catch(t=>{e.signal.aborted||r(ct(t))}),()=>e.abort()},[i]),n)return(0,X.jsxs)(`div`,{className:`studio-plugin-empty`,children:[(0,X.jsx)(`h2`,{children:`团队服务暂不可用`}),(0,X.jsx)(`p`,{role:`alert`,children:n}),(0,X.jsx)(`button`,{className:`button secondary`,onClick:()=>a(e=>e+1),children:`重试`})]});if(!e)return(0,X.jsx)(`p`,{className:`studio-plugin-loading`,role:`status`,children:`正在连接团队服务…`});let o=e.mode===`server`||e.authorityLocation===`server`;return!e.enabled||e.health!==`ready`&&!(o&&e.health===`degraded`)?(0,X.jsx)(_,{}):(0,X.jsx)(pt,{authorityRef:e.authorityRef,serverAuthority:e.mode===`server`||e.authorityLocation===`server`},e.authorityRef)}function pt({authorityRef:e,serverAuthority:t}){let[n,r]=(0,j.useState)([]),[i,a]=(0,j.useState)(),[l,u]=(0,j.useState)(()=>ut().get(`groupId`)||``),[d,f]=(0,j.useState)(``),[p,m]=(0,j.useState)(!0),[h,g]=(0,j.useState)(``),[_,y]=(0,j.useState)(!1),[b,S]=(0,j.useState)([]),[C,w]=(0,j.useState)(!1),[T,E]=(0,j.useState)(``),[D,O]=(0,j.useState)(``),[k,ee]=(0,j.useState)(0),A=(0,j.useRef)(new Map),M=(0,j.useRef)(new Map),N=(0,j.useRef)(0),P=(0,j.useCallback)(async(t,n)=>{let i=++N.current;try{let o=await $.list({signal:t,cursor:n,limit:50});if(t?.aborted||i!==N.current)return;let s=o.items.filter(t=>t.authorityRef===e);r(e=>n?[...e.filter(e=>!s.some(t=>t.groupId===e.groupId)),...s]:s),a(o.nextCursor||void 0),g(``)}catch(e){t?.aborted||g(ct(e))}finally{t?.aborted||m(!1)}},[e]);(0,j.useEffect)(()=>{let e=new AbortController;P(e.signal);let t=window.setInterval(()=>{document.visibilityState===`visible`&&P(e.signal)},15e3),n=()=>u(ut().get(`groupId`)||``);return window.addEventListener(`hashchange`,n),window.addEventListener(`popstate`,n),()=>{e.abort(),clearInterval(t),window.removeEventListener(`hashchange`,n),window.removeEventListener(`popstate`,n)}},[P]),(0,j.useEffect)(()=>{if(!_&&!t)return;let e=new AbortController;return w(!0),O(``),x(`/api/v1/groups/bindings`,{signal:e.signal}).then(e=>{S(e.items.map(e=>({memberId:A.current.get(e.bindingRef)||(()=>{let t=`member-${crypto.randomUUID()}`;return A.current.set(e.bindingRef,t),t})(),name:e.name||e.displayName||e.agentId,description:e.description||(e.capabilities.leader?`可担任 Leader`:`任务成员`),binding:e})));let t=e.unavailableBuilds??0;e.items.length?E(t?`${t} 个本地 Agent 构建不可用,已从候选中排除。`:``):E(t?`没有可用的团队成员候选:${t} 个本地 Agent 构建不可用,请先在 Agent 页面重新构建。`:`没有可用的团队成员候选:本地还没有已构建的 Agent,请先创建并构建一个 Agent。`)}).catch(t=>{e.signal.aborted||O(ct(t))}).finally(()=>{e.signal.aborted||w(!1)}),()=>e.abort()},[_,k,t]);let F=e=>{u(e),dt(e)},I=n.filter(e=>`${e.name} ${e.lastMessage||``}`.toLowerCase().includes(d.toLowerCase()));return(0,X.jsxs)(`div`,{className:`studio-teams-browser`,"data-selected":!!l,children:[(0,X.jsxs)(`aside`,{className:`studio-team-directory`,"aria-label":`团队列表`,children:[(0,X.jsxs)(`header`,{children:[(0,X.jsxs)(`div`,{children:[(0,X.jsx)(`span`,{className:`studio-teams-eyebrow`,children:`协作空间`}),(0,X.jsx)(`h2`,{children:`团队`})]}),(0,X.jsx)(`button`,{className:`icon-button tertiary`,"aria-label":`创建团队`,onClick:()=>y(!0),children:(0,X.jsx)(o,{size:19})})]}),(0,X.jsxs)(`label`,{className:`studio-team-search`,children:[(0,X.jsx)(s,{size:15}),(0,X.jsx)(`input`,{"aria-label":`搜索团队`,placeholder:`搜索团队`,value:d,onChange:e=>f(e.target.value)})]}),h&&(0,X.jsxs)(`div`,{className:`studio-team-list-error`,role:`alert`,children:[(0,X.jsx)(`p`,{children:h}),(0,X.jsx)(`button`,{className:`button tertiary`,onClick:()=>void P(),children:`重试`})]}),(0,X.jsxs)(`div`,{className:`studio-team-list`,children:[p?(0,X.jsx)(`p`,{role:`status`,children:`正在读取团队…`}):I.length?I.map(e=>(0,X.jsxs)(`button`,{className:`studio-team-list-item`,"aria-current":l===e.groupId?`page`:void 0,onClick:()=>F(e.groupId),children:[(0,X.jsx)(`span`,{className:`studio-team-monogram`,"aria-hidden":`true`,children:Array.from(e.name)[0]}),(0,X.jsxs)(`span`,{className:`studio-team-list-copy`,children:[(0,X.jsx)(`strong`,{children:e.name}),(0,X.jsx)(`span`,{children:e.lastMessage||`${e.memberCount} 位成员 · 准备好开始协作`}),e.pendingCount>0&&(0,X.jsxs)(`small`,{children:[e.pendingCount,` 项待处理`]})]}),e.unreadCount>0&&(0,X.jsx)(`span`,{className:`studio-team-unread`,"aria-label":`${e.unreadCount} 条未读`,children:Math.min(e.unreadCount,99)})]},e.groupId)):(0,X.jsxs)(`div`,{className:`studio-team-list-empty`,children:[(0,X.jsx)(`p`,{children:d?`没有匹配的团队`:`还没有团队`}),!d&&(0,X.jsx)(`span`,{children:`把合适的 Agent 召集到一起。`})]}),i&&(0,X.jsx)(`button`,{className:`button tertiary`,onClick:()=>void P(void 0,i),children:`加载更多团队`})]}),(0,X.jsxs)(`footer`,{children:[(0,X.jsx)(`a`,{href:`#/agents`,children:`管理 Agent`}),(0,X.jsx)(`a`,{href:`#/plugins`,children:`插件设置`})]})]}),(0,X.jsx)(`div`,{className:`studio-team-content`,children:l?(0,X.jsxs)(X.Fragment,{children:[(0,X.jsxs)(`button`,{className:`studio-team-directory-back`,onClick:()=>F(``),children:[(0,X.jsx)(c,{size:16}),`团队列表`]}),(0,X.jsx)(mt,{authorityRef:e,groupId:l,serverAuthority:t,standbyCandidates:b.map(e=>e.binding),initialDrafts:M.current.get(l)||{},onDraft:(e,t=``)=>M.current.set(l,{...M.current.get(l)||{},[t]:e}),onChanged:()=>void P()},`${e}:${l}`)]}):(0,X.jsxs)(`div`,{className:`studio-team-welcome`,children:[(0,X.jsx)(`span`,{className:`studio-teams-symbol`,children:(0,X.jsx)(v,{size:26})}),(0,X.jsx)(`span`,{className:`studio-teams-eyebrow`,children:`AGENT TEAMS`}),(0,X.jsx)(`h2`,{children:`一个目标,团队一起完成`}),(0,X.jsxs)(`p`,{children:[`让 Leader 组织分工,让成员专注任务。`,(0,X.jsx)(`br`,{}),`在群聊中跟进过程、处理审批和验收成果。`]}),(0,X.jsxs)(`button`,{className:`button primary`,onClick:()=>y(!0),children:[(0,X.jsx)(o,{size:16}),`创建团队`]}),T&&(0,X.jsx)(`p`,{className:`studio-team-bindings-notice`,role:`status`,children:T}),(0,X.jsx)(`a`,{href:`#/agents`,children:`查看可用 Agent`})]})}),(0,X.jsx)(Ze,{serverAuthority:t,open:_,loading:C,error:D,onRefresh:()=>ee(e=>e+1),candidates:b,onClose:()=>y(!1),onCreate:async e=>{let t=await $.create(e);F(t.group.groupId),await P()}})]})}function mt({groupId:e,authorityRef:t,initialDrafts:n,serverAuthority:r,standbyCandidates:i,onDraft:a,onChanged:o}){let s=$e({client:$,groupId:e,authorityRef:t}),[c,l]=(0,j.useState)(!1),[u,d]=(0,j.useState)(``),f=(0,j.useRef)({teamRunId:ut().get(`teamRunId`)||``,taskId:ut().get(`taskId`)||``}),p=(0,j.useRef)(new Map),m=e=>{let t=JSON.stringify(e);return p.current.has(t)||p.current.set(t,st()),p.current.get(t)};(0,j.useEffect)(()=>{if(!s.snapshot)return;let t=new AbortController,n=setTimeout(()=>{document.visibilityState===`visible`&&$.markRead(e,s.snapshot.watermark,t.signal).catch(()=>{})},500);return()=>{clearTimeout(n),t.abort()}},[e,s.snapshot?.watermark]);async function h(t){let n=lt(await $.send(e,t));return o(),n}return(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(Ke,{snapshot:s.snapshot,connection:s.connection,loading:s.loading,error:u||s.error,initialDrafts:n,onDraftChange:a,onSend:h,onRetry:s.reconnect,initialSelection:f.current,onSelectionChange:t=>dt(e,t),onManage:()=>l(!0),serverAuthority:r,standbyCandidates:i,onConfigureStandby:(t,n)=>$.configureLeaderStandby(e,t.teamRunId,{bindingRef:n,idempotencyKey:m([`standby`,t.teamRunId,n])}),onLoadReconciliation:t=>$.reconciliation(e,t.teamRunId),onReconcile:(t,n,r)=>$.reconcile(e,t.commandId,{receiptDigest:t.receiptDigest,action:n,reason:r,idempotencyKey:m([`reconcile`,t.commandId,t.receiptDigest,n,r])}),onControl:async(t,n)=>lt(await $.control(e,t.teamRunId,{action:n,expectedRevision:t.revision,idempotencyKey:m([`control`,t.teamRunId,t.revision,n])})),onAcceptRun:async(t,n,r)=>lt(await $.acceptRun(e,t.teamRunId,{action:n?`accept`:`request_changes`,...r?{reason:r}:{},expectedRevision:t.revision,idempotencyKey:m([`accept`,t.teamRunId,t.revision,n,r])})),onTaskAction:async(t,n,r)=>lt(await $.taskAction(e,t.taskId,{action:n,...r?{reason:r}:{},expectedRevision:t.revision,idempotencyKey:m([`task`,t.taskId,t.revision,n,r])})),onRespondInteraction:async t=>lt(await $.interaction(e,t)),onOpenArtifact:n=>{let r=`/api/v1/groups/${encodeURIComponent(e)}/artifacts/${encodeURIComponent(n.artifactId)}/download`;if(n.source.groupId!==e||n.source.authorityRef!==t||n.uri!==r){d(`交付物尚无有效的团队下载链接。`);return}d(``);let i=document.createElement(`a`);i.href=r,i.download=n.name,i.rel=`noopener`,i.click()},onLoadExecution:(t,n)=>$.execution(e,t,n),renderMember:(e,t,n)=>(0,X.jsx)(at,{teamRunId:t.teamRunId,member:e,snapshot:s.snapshot,requestedSource:n,onDirectedMessage:t.directedMessage},`${t.teamRunId||`group`}:${e.memberId}`)}),c&&s.snapshot&&(0,X.jsx)(nt,{client:$,snapshot:s.snapshot,onClose:()=>l(!1),onSaved:()=>{s.reconnect(),o()}})]})}export{ft as TeamsPage};
@@ -0,0 +1 @@
1
+ import{n as e}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import{m as t}from"./src-B6xuSHsQ.js";import"./chunk-DU6HZSFF-CpEZCUgg.js";import"./chunk-CLGD4ZFX-D-GTtyKs.js";import{n}from"./chunk-XHIXRSVI-BFQ6B8BE.js";import{n as r,r as i,t as a}from"./chunk-SVP7TREG-DljApgRX.js";import{t as o}from"./chunk-JWPE2WC7-DVXcaiue.js";import{t as s}from"./mermaid-parser.core-Cj5mYdBi.js";var c=n().RailroadAbnf.parser.LangiumParser,l=e(e=>{let t=e.alternatives.map(u);return t.length===1?t[0]:{type:`choice`,alternatives:t}},`transformAlternation`),u=e(e=>{let t=e.elements.map(f);return t.length===1?t[0]:{type:`sequence`,elements:t}},`transformConcatenation`),d=e(e=>{if(e.includes(`*`)){let[t,n]=e.split(`*`);return{min:t?parseInt(t,10):0,max:n?parseInt(n,10):1/0}}let t=parseInt(e,10);return{min:t,max:t}},`parseRepeat`),f=e(e=>{let t=p(e.primary);if(!e.repeat)return t;let{min:n,max:r}=d(e.repeat);return n===0&&r===1?{type:`optional`,element:t}:{type:`repetition`,element:t,min:n,max:r}},`transformElement`),p=e(e=>{switch(e.$type){case`AbnfStringLiteral`:return{type:`terminal`,value:e.value};case`AbnfNumVal`:return{type:`terminal`,value:e.value};case`AbnfRuleName`:return{type:`nonterminal`,name:e.name};case`AbnfGroup`:return l(e.element);case`AbnfOptionalGroup`:return{type:`optional`,element:l(e.element)};default:throw Error(`Unsupported ABNF primary node: ${e.$type}`)}},`transformPrimary`),m=e(e=>({name:e.name,definition:l(e.definition)}),`transformRule`),h=e(e=>{o(e,a),e.title&&a.setTitle(e.title),e.rules.map(e=>a.addRule(m(e)))},`populateDb`),g={parser:{parse:e(e=>{a.clear(),t.debug(`[ABNF Parser] Starting Langium parse`);let n=c.parse(e);if(n.lexerErrors.length>0||n.parserErrors.length>0)throw new s(n);let r=n.value;t.debug(`[ABNF Parser] Parsed rules:`,r.rules.length),h(r),t.debug(`[ABNF Parser] Parse complete`)},`parse`),parser:{yy:a}},db:a,renderer:i,styles:r};export{g as diagram};
@@ -0,0 +1 @@
1
+ import{n as e,t}from"./path-fybaL0A-.js";import{a as n,c as r,d as i,f as a,i as o,l as s,m as c,n as l,o as u,p as d,r as f,u as p}from"./dist-v5Q1xZ2K.js";function m(e){return e.innerRadius}function h(e){return e.outerRadius}function g(e){return e.startAngle}function _(e){return e.endAngle}function v(e){return e&&e.padAngle}function y(e,t,n,r,i,a,o,s){var c=n-e,l=r-t,u=o-i,d=s-a,f=d*c-u*l;if(!(f*f<1e-12))return f=(u*(t-a)-d*(e-i))/f,[e+f*c,t+f*l]}function b(e,t,n,r,i,a,o){var c=e-n,l=t-r,u=(o?a:-a)/d(c*c+l*l),f=u*l,p=-u*c,m=e+f,h=t+p,g=n+f,_=r+p,v=(m+g)/2,y=(h+_)/2,b=g-m,x=_-h,S=b*b+x*x,C=i-a,w=m*_-g*h,T=(x<0?-1:1)*d(s(0,C*C*S-w*w)),E=(w*x-b*T)/S,D=(-w*b-x*T)/S,O=(w*x+b*T)/S,k=(-w*b+x*T)/S,A=E-v,j=D-y,M=O-v,N=k-y;return A*A+j*j>M*M+N*N&&(E=O,D=k),{cx:E,cy:D,x01:-f,y01:-p,x11:E*(i/C-1),y11:D*(i/C-1)}}function x(){var s=m,x=h,S=e(0),C=null,w=g,T=_,E=v,D=null,O=t(k);function k(){var e,t,m=+s.apply(this,arguments),h=+x.apply(this,arguments),g=w.apply(this,arguments)-r,_=T.apply(this,arguments)-r,v=l(_-g),k=_>g;if(D||=e=O(),h<m&&(t=h,h=m,m=t),!(h>1e-12))D.moveTo(0,0);else if(v>c-1e-12)D.moveTo(h*u(g),h*a(g)),D.arc(0,0,h,g,_,!k),m>1e-12&&(D.moveTo(m*u(_),m*a(_)),D.arc(0,0,m,_,g,k));else{var A=g,j=_,M=g,N=_,P=v,F=v,I=E.apply(this,arguments)/2,L=I>1e-12&&(C?+C.apply(this,arguments):d(m*m+h*h)),R=p(l(h-m)/2,+S.apply(this,arguments)),z=R,B=R,V,H;if(L>1e-12){var U=o(L/m*a(I)),W=o(L/h*a(I));(P-=U*2)>1e-12?(U*=k?1:-1,M+=U,N-=U):(P=0,M=N=(g+_)/2),(F-=W*2)>1e-12?(W*=k?1:-1,A+=W,j-=W):(F=0,A=j=(g+_)/2)}var G=h*u(A),K=h*a(A),q=m*u(N),J=m*a(N);if(R>1e-12){var Y=h*u(j),X=h*a(j),Z=m*u(M),Q=m*a(M),$;if(v<i){if($=y(G,K,Z,Q,Y,X,q,J)){var ee=G-$[0],te=K-$[1],ne=Y-$[0],re=X-$[1],ie=1/a(f((ee*ne+te*re)/(d(ee*ee+te*te)*d(ne*ne+re*re)))/2),ae=d($[0]*$[0]+$[1]*$[1]);z=p(R,(m-ae)/(ie-1)),B=p(R,(h-ae)/(ie+1))}else z=B=0}}F>1e-12?B>1e-12?(V=b(Z,Q,G,K,h,B,k),H=b(Y,X,q,J,h,B,k),D.moveTo(V.cx+V.x01,V.cy+V.y01),B<R?D.arc(V.cx,V.cy,B,n(V.y01,V.x01),n(H.y01,H.x01),!k):(D.arc(V.cx,V.cy,B,n(V.y01,V.x01),n(V.y11,V.x11),!k),D.arc(0,0,h,n(V.cy+V.y11,V.cx+V.x11),n(H.cy+H.y11,H.cx+H.x11),!k),D.arc(H.cx,H.cy,B,n(H.y11,H.x11),n(H.y01,H.x01),!k))):(D.moveTo(G,K),D.arc(0,0,h,A,j,!k)):D.moveTo(G,K),!(m>1e-12)||!(P>1e-12)?D.lineTo(q,J):z>1e-12?(V=b(q,J,Y,X,m,-z,k),H=b(G,K,Z,Q,m,-z,k),D.lineTo(V.cx+V.x01,V.cy+V.y01),z<R?D.arc(V.cx,V.cy,z,n(V.y01,V.x01),n(H.y01,H.x01),!k):(D.arc(V.cx,V.cy,z,n(V.y01,V.x01),n(V.y11,V.x11),!k),D.arc(0,0,m,n(V.cy+V.y11,V.cx+V.x11),n(H.cy+H.y11,H.cx+H.x11),k),D.arc(H.cx,H.cy,z,n(H.y11,H.x11),n(H.y01,H.x01),!k))):D.arc(0,0,m,N,M,k)}if(D.closePath(),e)return D=null,e+``||null}return k.centroid=function(){var e=(+s.apply(this,arguments)+ +x.apply(this,arguments))/2,t=(+w.apply(this,arguments)+ +T.apply(this,arguments))/2-i/2;return[u(t)*e,a(t)*e]},k.innerRadius=function(t){return arguments.length?(s=typeof t==`function`?t:e(+t),k):s},k.outerRadius=function(t){return arguments.length?(x=typeof t==`function`?t:e(+t),k):x},k.cornerRadius=function(t){return arguments.length?(S=typeof t==`function`?t:e(+t),k):S},k.padRadius=function(t){return arguments.length?(C=t==null?null:typeof t==`function`?t:e(+t),k):C},k.startAngle=function(t){return arguments.length?(w=typeof t==`function`?t:e(+t),k):w},k.endAngle=function(t){return arguments.length?(T=typeof t==`function`?t:e(+t),k):T},k.padAngle=function(t){return arguments.length?(E=typeof t==`function`?t:e(+t),k):E},k.context=function(e){return arguments.length?(D=e??null,k):D},k}export{x as t};
@@ -0,0 +1 @@
1
+ import"./chunk-FOHPRMQF-DHwB1DNv.js";import{n as e}from"./chunk-6AZGARVD-BB6FqMl-.js";export{e as createArchitectureServices};