wednesdayai 0.6.1-dev.47 → 0.6.1-dev.50
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{acp-cli-DwgE-JaK.js → acp-cli-COVr7c9K.js} +12 -12
- package/dist/{agent-DOJWHSTp.js → agent-BgBSmNaI.js} +11 -11
- package/dist/{agent-BzS-Bw92.js → agent-XU4Yrfkg.js} +19 -19
- package/dist/{agent-turn-enqueue-DNz67IZC.js → agent-turn-enqueue-C65boHpU.js} +6 -6
- package/dist/{agent-turn-execute-CVq_M1H9.js → agent-turn-execute-CijEn5uU.js} +81 -81
- package/dist/{agent-turn-recovery-adapter-CVhr928E.js → agent-turn-recovery-adapter-xa1CJlHy.js} +4 -4
- package/dist/{agent-turn-runner-MK7RWfZB.js → agent-turn-runner-ns-G6-qQ.js} +4 -4
- package/dist/{agent-turn-runner-BnpbHkgj.js → agent-turn-runner-zXi4ADUq.js} +6 -6
- package/dist/{agents-iPiwcs70.js → agents-DdxbZ1yR.js} +15 -15
- package/dist/{agents.config-Dh-NFmf1.js → agents.config-Du-EvARZ.js} +2 -2
- package/dist/{audit-D4zYMRNh.js → audit-0XGsgYln.js} +21 -21
- package/dist/{auth-BLSoSze_.js → auth-a3TKKlev.js} +4 -4
- package/dist/{auth-choice-2S2Bu397.js → auth-choice-6lPmGWX_.js} +13 -13
- package/dist/{auth-choice-CAlWQnS0.js → auth-choice-BlU5Jwiy.js} +16 -16
- package/dist/{auth-choice.apply-helpers-DXEH3kKc.js → auth-choice.apply-helpers-BT5h7Kd2.js} +1 -1
- package/dist/{auth-token-RZVdRVFL.js → auth-token-BJlagO1q.js} +2 -2
- package/dist/{banner-DPhzJGvu.js → banner-DTi0GYhj.js} +4 -4
- package/dist/{bonjour-discovery-BP2NnLb7.js → bonjour-discovery-BaPEhz6-.js} +3 -3
- package/dist/{browser-cli-DqPOdkfi.js → browser-cli-cJbbNuC-.js} +20 -20
- package/dist/build-info.json +3 -3
- package/dist/bundled/boot-md/handler.js +32 -32
- package/dist/bundled/bootstrap-extra-files/handler.js +5 -5
- package/dist/bundled/command-logger/handler.js +2 -2
- package/dist/bundled/session-journal/handler.js +31 -31
- package/dist/bundled/session-memory/handler.js +32 -32
- package/dist/{call-DzGlAM6A.js → call-DC_l0C6c.js} +5 -5
- package/dist/canvas-host/a2ui/.bundle.hash +1 -1
- package/dist/{catalog-feed-DAWwBcpU.js → catalog-feed-BPQiz-j4.js} +2 -2
- package/dist/{channel-account-context-DHCvTbB_.js → channel-account-context-BR30O-XA.js} +2 -2
- package/dist/{channel-options-C-m0chcy.js → channel-options-pWJ9tPoi.js} +3 -3
- package/dist/{channel-selection-o_GXmd3S.js → channel-selection-SzzxWFqF.js} +1 -1
- package/dist/{channels-cli-DDV8DQJF.js → channels-cli-DCPDMwOi.js} +102 -102
- package/dist/{channels-status-issues-CDGOGIDW.js → channels-status-issues-D7YJcPZY.js} +1 -1
- package/dist/{chrome-BblDtIhl.js → chrome-DaxSYq9x.js} +6 -6
- package/dist/{chrome-C1IRBXCq.js → chrome-cV7G42a8.js} +32 -32
- package/dist/{clack-prompter-X5gjXw2v.js → clack-prompter-CSTfawN7.js} +5 -5
- package/dist/clawbot-cli-N0qA9LCg.js +32 -0
- package/dist/cli-BS1xXWfW.js +147 -0
- package/dist/{client-RYxRFbaf.js → client-CXlXbWxa.js} +4 -4
- package/dist/{client-profiles-DJoOHmYb.js → client-profiles-BPSW-Pej.js} +2 -2
- package/dist/{clipboard-DqxGZScZ.js → clipboard-C0KqeNJz.js} +1 -1
- package/dist/{command-queue-CZNc1Y5b.js → command-queue-CypbHAAc.js} +1 -1
- package/dist/{command-queue-CgNl6dbc.js → command-queue-DCuGQ6oE.js} +1 -1
- package/dist/{command-registry-nGIVkV6u.js → command-registry-Dn80fYRF.js} +13 -13
- package/dist/{command-secret-targets-BwUg9MG7.js → command-secret-targets-DJebWnC0.js} +4 -4
- package/dist/{commands-P3aAWSG_.js → commands-C4yR5Eki.js} +1 -1
- package/dist/{commands-registry-jq_YarKY.js → commands-registry-DagIzqO7.js} +4 -4
- package/dist/{completion-cli-CdEHcp3V.js → completion-cli-CFOXdHq-.js} +5 -5
- package/dist/{config-cli-BDy6tJDD.js → config-cli-DtQjTEf3.js} +14 -14
- package/dist/{config-guard-I6AtTyZv.js → config-guard-J_hz16uv.js} +4 -4
- package/dist/{config-validation-otVjLKQn.js → config-validation-Db_ZJIqZ.js} +4 -4
- package/dist/{configure-u-u8aXM_.js → configure-DbO7EHyB.js} +22 -22
- package/dist/{console-CdR5lE0A.js → console-eDkX4znK.js} +1 -1
- package/dist/control-ui-v2/assets/{AgentsView-BtvwUvjT.js → AgentsView-K8DEVXxj.js} +1 -1
- package/dist/control-ui-v2/assets/{AutomationsView-Bm551KRf.js → AutomationsView-DO0ssbS6.js} +1 -1
- package/dist/control-ui-v2/assets/Badge-me4YM1lq.js +1 -0
- package/dist/control-ui-v2/assets/{Button-D5rMawzJ.js → Button-ralPMMNs.js} +1 -1
- package/dist/control-ui-v2/assets/{ChannelsView-Bmcrzyc8.js → ChannelsView-8vJB0hXL.js} +1 -1
- package/dist/control-ui-v2/assets/{ConfigForm-tS4Ekkuj.js → ConfigForm-IOs1Exic.js} +1 -1
- package/dist/control-ui-v2/assets/{ConfirmDialog-B-AAbwH-.js → ConfirmDialog-9ode6FP3.js} +1 -1
- package/dist/control-ui-v2/assets/{DataTable-BqqaNmU8.js → DataTable-BbRrWxor.js} +1 -1
- package/dist/control-ui-v2/assets/{DebugView-w3AcoKSJ.js → DebugView-hDoK-Miv.js} +1 -1
- package/dist/control-ui-v2/assets/{Dialog-Che1C2PS.js → Dialog-oJKnAIqZ.js} +1 -1
- package/dist/control-ui-v2/assets/{DreamsView-CRVOkZ0y.js → DreamsView-QBWBlJnW.js} +1 -1
- package/dist/control-ui-v2/assets/{EntityLink-D6UsLKQR.js → EntityLink-CMtTP9Dk.js} +1 -1
- package/dist/control-ui-v2/assets/{FilterPills-CA2lRy0A.js → FilterPills-C_zBIqFP.js} +1 -1
- package/dist/control-ui-v2/assets/{InstancesView-D1s_2Z-j.js → InstancesView-BlXUEHAU.js} +1 -1
- package/dist/control-ui-v2/assets/{LearningView-BOxsGx8P.js → LearningView-De4YeA4M.js} +1 -1
- package/dist/control-ui-v2/assets/{LogsView-DU03hzlQ.js → LogsView-CbllorCk.js} +1 -1
- package/dist/control-ui-v2/assets/{NodesView-DH8y_KeJ.js → NodesView-DD4GYH-6.js} +1 -1
- package/dist/control-ui-v2/assets/{OverviewView-DHPrvXcn.js → OverviewView-7YdkWdG1.js} +1 -1
- package/dist/control-ui-v2/assets/{Panel-DM0JsHgz.js → Panel-CqcbBXzJ.js} +1 -1
- package/dist/control-ui-v2/assets/{PluginMount-DfCGGLsN.js → PluginMount-CIP5T99f.js} +1 -1
- package/dist/control-ui-v2/assets/{PluginPageView-7zgkiz9P.js → PluginPageView-D-WSAQoY.js} +1 -1
- package/dist/control-ui-v2/assets/{PluginPanels-BfBbsH_Z.js → PluginPanels-AFbR8qyk.js} +1 -1
- package/dist/control-ui-v2/assets/{RecoveryView-CrGTo_hu.js → RecoveryView-wCA7Nq9J.js} +1 -1
- package/dist/control-ui-v2/assets/{RunsView-Dp6Mtciq.js → RunsView-DucoEAaM.js} +1 -1
- package/dist/control-ui-v2/assets/{SessionsView-DbjlMwqU.js → SessionsView-0DgZ_-MW.js} +1 -1
- package/dist/control-ui-v2/assets/{SettingsView-Ci22dw48.js → SettingsView-CfTJTK06.js} +1 -1
- package/dist/control-ui-v2/assets/{SkillsView-7BGQcoCn.js → SkillsView-C_sMCqlY.js} +1 -1
- package/dist/control-ui-v2/assets/{Stat-DQyb-fKe.js → Stat-BRQhQ01w.js} +1 -1
- package/dist/control-ui-v2/assets/{StatusDot-CRJsKnJw.js → StatusDot-CjtPcYD9.js} +1 -1
- package/dist/control-ui-v2/assets/{StorageView-5BqFOHli.js → StorageView-B3vVHqxH.js} +1 -1
- package/dist/control-ui-v2/assets/{UpdatedAgo-D_q8xIeZ.js → UpdatedAgo-CJqGVu6_.js} +1 -1
- package/dist/control-ui-v2/assets/{UsageView-Bm9sF-Wt.js → UsageView-BUZtG2MG.js} +1 -1
- package/dist/control-ui-v2/assets/{config-store-zXNM_umy.js → config-store-DiHUH-77.js} +1 -1
- package/dist/control-ui-v2/assets/{format-DpM2rlEo.js → format-BPrfsCHW.js} +1 -1
- package/dist/control-ui-v2/assets/{gateway-features-C0JaT4JI.js → gateway-features-SDBnjY95.js} +1 -1
- package/dist/control-ui-v2/assets/{index-CGoFdGyu.js → index-ChHyE-y3.js} +1 -1
- package/dist/control-ui-v2/assets/{links-Bcw24zqI.js → links-vgPLVF05.js} +2 -2
- package/dist/control-ui-v2/assets/{run-rows-DVijLB79.js → run-rows-1MUje5J6.js} +1 -1
- package/dist/control-ui-v2/assets/{runs-store-Cxbnn8K8.js → runs-store-BZTDbQro.js} +1 -1
- package/dist/control-ui-v2/assets/{use-gateway-query-xtY3vmte.js → use-gateway-query-7iLwemQz.js} +1 -1
- package/dist/control-ui-v2/index.html +7 -7
- package/dist/{controller-ClPKFt9H.js → controller-Bibu9RBu.js} +1 -1
- package/dist/{credentials-D8xf4kQ3.js → credentials-BzwRYS__.js} +1 -1
- package/dist/{cron-cli-BcTM_Nir.js → cron-cli-C3uwnjAJ.js} +16 -16
- package/dist/{daemon-cli-mpcai9ZB.js → daemon-cli-DhSeyb4s.js} +18 -18
- package/dist/{daemon-install-Mm9lvcvD.js → daemon-install-DCXozUs7.js} +11 -11
- package/dist/{daemon-install-helpers-D74OoyoM.js → daemon-install-helpers-CU4mnKsx.js} +2 -2
- package/dist/{delete-agent-sessions-Drf95Usu.js → delete-agent-sessions-BNaCeFyf.js} +1 -1
- package/dist/{deliver-Di5lG5OI.js → deliver-DTy7SNq9.js} +11 -11
- package/dist/{deliver-BukUfhSv.js → deliver-XZwPv99X.js} +28 -28
- package/dist/{devices-cli-DfnrI4Q4.js → devices-cli-BZzq7Fou.js} +14 -14
- package/dist/{diagnostic-B4mnFYUK.js → diagnostic-5TT45xHw.js} +4 -4
- package/dist/{diagnostic-C8nY3mdC.js → diagnostic-CeSjaots.js} +3 -3
- package/dist/{diagnostics-BzqDQMJ0.js → diagnostics-aJloMvRL.js} +1 -1
- package/dist/{directory-cli-tEju7zyL.js → directory-cli-BdfsQsAd.js} +12 -12
- package/dist/{dm-policy-shared-DuFgR_0W.js → dm-policy-shared-BZGS_0kS.js} +5 -5
- package/dist/{dns-cli-1Fm79fkk.js → dns-cli-BXbIk9ti.js} +11 -11
- package/dist/{docs-cli-PbTOsDX0.js → docs-cli-DpSAY3cX.js} +12 -12
- package/dist/{doctor-4PvP20jU.js → doctor-8FDQmndb.js} +1 -1
- package/dist/{doctor-completion-D_hqUq1a.js → doctor-completion-D3c2yROu.js} +3 -3
- package/dist/{doctor-config-flow-Cn3VGUWv.js → doctor-config-flow-DsjAW_i3.js} +12 -12
- package/dist/{enable-CoZmUN1F.js → enable-BD-5STUq.js} +2 -2
- package/dist/entry.js +2 -2
- package/dist/{errors-C-0CPtkE.js → errors-BaBvv30m.js} +1 -1
- package/dist/{exec-CP66JVDC.js → exec-DiLAfuLr.js} +3 -3
- package/dist/{exec-approvals-DEidE9cu.js → exec-approvals-BwBMqZpq.js} +2 -2
- package/dist/{exec-approvals-allowlist-D3VLWMn3.js → exec-approvals-allowlist-DeajDmQz.js} +1 -1
- package/dist/{exec-approvals-cli-CD0A7x-1.js → exec-approvals-cli-D0vutwdC.js} +23 -23
- package/dist/{exec-safe-bin-runtime-policy-DgsZVxiX.js → exec-safe-bin-runtime-policy-GyiNcLWt.js} +2 -2
- package/dist/{extension-relay-auth-C4DY3BoO.js → extension-relay-auth-Vn4eJEcQ.js} +3 -3
- package/dist/{fences-D0-yWVSH.js → fences-CISax-La.js} +16 -16
- package/dist/{fetch-guard-DVeFm4CZ.js → fetch-guard-Bnzd4qWS.js} +2 -2
- package/dist/{fetch-guard-Bx35q9u4.js → fetch-guard-CDkEddFV.js} +2 -2
- package/dist/{frontmatter-QVz_zD_W.js → frontmatter-BtfJx9Sg.js} +3 -3
- package/dist/{frontmatter-BUaSX8Fz.js → frontmatter-Bzvwr1W7.js} +3 -3
- package/dist/{fs-safe-DA9gVh9s.js → fs-safe-D8HkhuMZ.js} +3 -3
- package/dist/{fs-safe-BV3IWmYM.js → fs-safe-jXfn3Elb.js} +26 -26
- package/dist/{gateway-cli-BGDf_UXv.js → gateway-cli-lPADWps2.js} +152 -152
- package/dist/{gateway-rpc-DpYzInuu.js → gateway-rpc-DQG3hBI5.js} +3 -3
- package/dist/{globals-BVh-VW1y.js → globals-BOYJmqPO.js} +4 -4
- package/dist/{gmail-setup-utils-BUD74IWH.js → gmail-setup-utils-Db0ZWkas.js} +3 -3
- package/dist/{health-DoUNuepo.js → health-CqBDDLKJ.js} +12 -12
- package/dist/{health-format-D_7YEfOK.js → health-format-B3wM0UeC.js} +1 -1
- package/dist/{heartbeat-tick-BRGg7O46.js → heartbeat-tick-DWTPRSj2.js} +1 -1
- package/dist/{help-format-B9fBC7YQ.js → help-format-3m9GNcQp.js} +1 -1
- package/dist/{helpers-BMCu08tD.js → helpers-ByEDcAjf.js} +1 -1
- package/dist/{hooks-cli-D6KMUi8J.js → hooks-cli-CuvmA2a8.js} +90 -90
- package/dist/{hooks-status-DsJcrJdW.js → hooks-status-D42ilCFd.js} +3 -3
- package/dist/{identity-cli-hw9RP7bb.js → identity-cli-eGQmm7Uf.js} +20 -20
- package/dist/{identity-links-DGrSQOyI.js → identity-links-CMiIcgvn.js} +4 -4
- package/dist/{image-ops-oycM9vAs.js → image-ops-BT8bD5QW.js} +2 -2
- package/dist/{inspect-y-Rf7C9M.js → inspect-DHJbh1BK.js} +1 -1
- package/dist/{install-package-dir-cFGJwdjt.js → install-package-dir-atID3P53.js} +4 -4
- package/dist/{install-safe-path-BKMVgfRM.js → install-safe-path-5pN67hCN.js} +3 -3
- package/dist/{installs-BpMec9Cz.js → installs-C8HDE8ek.js} +10 -10
- package/dist/{ipv4-_5izhCOd.js → ipv4-D-LmFWW3.js} +2 -2
- package/dist/{issue-format-BcCT1LCp.js → issue-format-3AjTJZ-g.js} +1 -1
- package/dist/{jobs-BADjbSd0.js → jobs-BGleUcI-.js} +3 -3
- package/dist/{legacy-names-DpNvKeY4.js → legacy-names-BncMDG8I.js} +26 -26
- package/dist/{legacy-names-D-gFhJkB.js → legacy-names-m85yQK-H.js} +4 -4
- package/dist/{lifecycle-core-BDcQzbfM.js → lifecycle-core-lEWBgzfk.js} +8 -8
- package/dist/{links-CNDAkRQK.js → links-C3uVLgry.js} +1 -1
- package/dist/llm-slug-generator.js +31 -31
- package/dist/{log-tail-P2iIBET-.js → log-tail-BVn--aNY.js} +1 -1
- package/dist/{logging-BrtVmOug.js → logging-CasLPWvm.js} +1 -1
- package/dist/{logs-cli-DNJpQfm5.js → logs-cli-C8g9JGRK.js} +15 -15
- package/dist/{manager-qTIsRkIR.js → manager-COuC5aCY.js} +16 -16
- package/dist/{manager-ANr3eRjC.js → manager-DO4sftxl.js} +6 -6
- package/dist/{manager-Byt2W-zl.js → manager-zauhsMSz.js} +7 -7
- package/dist/{memory-cli-C-kkAcSv.js → memory-cli-C6ChdKAF.js} +15 -15
- package/dist/{model-C0zdj1IG.js → model-CY6irdbq.js} +2 -2
- package/dist/{model-catalog-D2OnT5G5.js → model-catalog-PS0jzDnI.js} +4 -4
- package/dist/{model-picker-DqmubfPT.js → model-picker-CTFCXSBm.js} +4 -4
- package/dist/{model-selection-BFwMLFJs.js → model-selection-LDnLrnn_.js} +78 -78
- package/dist/{models-CpRbKJuJ.js → models-C3BadlQJ.js} +20 -20
- package/dist/{models-cli-DZkw5Jdo.js → models-cli-nmVozi2V.js} +92 -92
- package/dist/{models-config-C3Tq7XpJ.js → models-config-QyFOywkg.js} +2 -2
- package/dist/{net-CsWibfvZ.js → net-D11xIRO3.js} +2 -2
- package/dist/{net-ZNMDyvE6.js → net-DqV0ZX0o.js} +1 -1
- package/dist/{node-cli-Cnez-SsZ.js → node-cli-S-iiWwOu.js} +37 -37
- package/dist/{node-command-policy-07YXEli2.js → node-command-policy-CgAWdzL5.js} +1 -1
- package/dist/{node-service-CAIBDHUL.js → node-service-DZ8fTOrl.js} +1 -1
- package/dist/{nodes-cli-tf4VB1mc.js → nodes-cli-BsGZc9ap.js} +22 -22
- package/dist/{nodes-screen-BeGrUDun.js → nodes-screen-CE5ExO2h.js} +4 -4
- package/dist/{note-DU3J-cLi.js → note-3jvXiQ6d.js} +2 -2
- package/dist/{npm-pack-install-LDEh8ibx.js → npm-pack-install-hlogNf3I.js} +2 -2
- package/dist/{npm-resolution-hwnRhJMY.js → npm-resolution-HrhqxZv1.js} +5 -5
- package/dist/{nudge-DO_XorIH.js → nudge-E00XAyaB.js} +9 -9
- package/dist/{nudge-BwlwOlHp.js → nudge-dYyHjBXU.js} +32 -32
- package/dist/{oauth-tls-preflight-Dml1qLXe.js → oauth-tls-preflight-JLBGc5N0.js} +1 -1
- package/dist/{onboard-Ca24xZMF.js → onboard-DlZ1BOYr.js} +11 -11
- package/dist/{onboard-channels-D9_949pz.js → onboard-channels-CgNpTkpG.js} +16 -16
- package/dist/{onboard-custom-B-Mkie4R.js → onboard-custom-DCm_Y_rq.js} +4 -4
- package/dist/{onboard-helpers-ByWR3CzW.js → onboard-helpers-DM-4vR0k.js} +8 -8
- package/dist/{onboard-hooks-BeOBPHVT.js → onboard-hooks-8Pr9LF3E.js} +8 -8
- package/dist/{onboard-remote-Bcj3rkca.js → onboard-remote-DmGboWPK.js} +5 -5
- package/dist/{onboard-skills-naWc0YmQ.js → onboard-skills-CWqQ6_nv.js} +4 -4
- package/dist/{onboarding-BGv0OTQ7.js → onboarding-DP9CpRIE.js} +18 -18
- package/dist/{onboarding.finalize-DXb_92Cl.js → onboarding.finalize-BopskbFm.js} +98 -98
- package/dist/{onboarding.gateway-config-CWPurA78.js → onboarding.gateway-config-F79AgW-W.js} +21 -21
- package/dist/{onboarding.secret-input-CWSgVFz4.js → onboarding.secret-input-Dg2d19bw.js} +1 -1
- package/dist/{openai-model-default-DqvDB0tE.js → openai-model-default-DZdYjkgw.js} +2 -2
- package/dist/{operator-commands-DucDPVYt.js → operator-commands-73Jy7Whh.js} +6 -6
- package/dist/{outbound-attachment-9K5W_qRv.js → outbound-attachment-BJKAbId_.js} +8 -8
- package/dist/{outbound-attachment-TmKpX3fK.js → outbound-attachment-BWJTBdLV.js} +9 -9
- package/dist/{outbound-send-deps-CZSYC14H.js → outbound-send-deps-DhCughCA.js} +4 -4
- package/dist/{pairing-cli-Cu9D7InY.js → pairing-cli-B_Py5VFV.js} +19 -19
- package/dist/{pairing-labels-ByiR4xag.js → pairing-labels-g02uyuXJ.js} +1 -1
- package/dist/{pairing-store-BwhC2WSm.js → pairing-store-C6blSyqu.js} +3 -3
- package/dist/{path-alias-guards-1poj6WAF.js → path-alias-guards-BQTkQXB8.js} +1 -1
- package/dist/{path-safety-DVOKipvs.js → path-safety-DiKe4sLz.js} +1 -1
- package/dist/{pi-embedded-CSaAlmuo.js → pi-embedded-BIha9wV3.js} +227 -227
- package/dist/{pi-embedded-helpers-D-rwFjbw.js → pi-embedded-helpers-D9jcApuf.js} +5 -5
- package/dist/{pi-embedded-recovery-adapter-gFm3nWut.js → pi-embedded-recovery-adapter-BwHVGYu3.js} +37 -37
- package/dist/{pi-model-discovery-BO1rPzPp.js → pi-model-discovery-Wg17i5yr.js} +7 -7
- package/dist/{pi-model-discovery-B7YaarSR.js → pi-model-discovery-qfeaBTmR.js} +1 -1
- package/dist/{pid-alive-Dp9yiDJm.js → pid-alive-CVi1kpc0.js} +1 -1
- package/dist/{plugin-auto-enable-vtMrJ3Bo.js → plugin-auto-enable-BndBdzvN.js} +4 -4
- package/dist/{plugin-owned-work-recovery-adapter-khLJn2o6.js → plugin-owned-work-recovery-adapter-CU0jgkGU.js} +9 -9
- package/dist/{plugin-registry-Bdf1V0v4.js → plugin-registry-j-zdK9Aj.js} +4 -4
- package/dist/plugin-sdk/{agent-Dpwqmur5.js → agent-BGApB_hH.js} +33 -33
- package/dist/plugin-sdk/{agent-turn-execute-B4f6kU8t.js → agent-turn-execute-CovKPB71.js} +47 -47
- package/dist/plugin-sdk/{agent-turn-runner-8-elIcKG.js → agent-turn-runner-x5EwBtiy.js} +6 -6
- package/dist/plugin-sdk/{chrome-DmrLIg1A.js → chrome-CWrDqDvu.js} +6 -6
- package/dist/plugin-sdk/{command-queue-DbyHTkqC.js → command-queue-BjQhBzl0.js} +1 -1
- package/dist/plugin-sdk/{deliver-DRb5wg9T.js → deliver-Bufpy1Nj.js} +10 -10
- package/dist/plugin-sdk/{diagnostic-BaEfjzoG.js → diagnostic-DWsfRRMb.js} +3 -3
- package/dist/plugin-sdk/{errors-Di-1W5oL.js → errors-CU4XzshA.js} +1 -1
- package/dist/plugin-sdk/{fetch-guard-D593bO1R.js → fetch-guard-Bkz_LvY1.js} +2 -2
- package/dist/plugin-sdk/{fs-safe-B9qlEOPl.js → fs-safe-mU6OF_le.js} +2 -2
- package/dist/plugin-sdk/{image-ops-ByQhA5AW.js → image-ops-BN9LfKcr.js} +2 -2
- package/dist/plugin-sdk/{manager-BlVhEJyV.js → manager-CHVkW_mo.js} +5 -5
- package/dist/plugin-sdk/{model-auth-BYzo7BMW.js → model-auth-A8ol0IK6.js} +6 -6
- package/dist/plugin-sdk/{models-config-Df7qxXDT.js → models-config-DwWNe4wJ.js} +2 -2
- package/dist/plugin-sdk/{nudge-8hrtI-uQ.js → nudge-DKWORgbV.js} +6 -6
- package/dist/plugin-sdk/{openai-compatible-video-CC8O8EEM.js → openai-compatible-video-zjvEDFQp.js} +6 -6
- package/dist/plugin-sdk/{outbound-attachment-D5Du9kSm.js → outbound-attachment-DDNTRL0U.js} +7 -7
- package/dist/plugin-sdk/{pi-embedded-helpers-DDrF73tt.js → pi-embedded-helpers-Pj_rV8qf.js} +13 -13
- package/dist/plugin-sdk/{pi-embedded-utils-DLlaty3W.js → pi-embedded-utils-D6jztEWf.js} +3 -3
- package/dist/plugin-sdk/{pi-model-discovery-Cgvb050_.js → pi-model-discovery-D_iAcUa4.js} +1 -1
- package/dist/plugin-sdk/provider-media-understanding.js +16 -16
- package/dist/plugin-sdk/{pw-ai-BEcGp8XY.js → pw-ai-BwgzJYjo.js} +8 -8
- package/dist/plugin-sdk/{qmd-manager-DXpe_ju8.js → qmd-manager-DAFEkAMD.js} +6 -6
- package/dist/plugin-sdk/{qmd-scope-DVIoXpLl.js → qmd-scope-DJLcA3NX.js} +1 -1
- package/dist/plugin-sdk/{query-expansion-D0qReab0.js → query-expansion-CkRCFmXy.js} +2 -2
- package/dist/plugin-sdk/{recorder-S1aQdgl5.js → recorder-Brvd3BNt.js} +2 -2
- package/dist/plugin-sdk/{redact-CcJnxu3z.js → redact-B42Dpjen.js} +1 -1
- package/dist/plugin-sdk/{reply-directives-CEvR8_X7.js → reply-directives-twMFpY3R.js} +2 -2
- package/dist/plugin-sdk/{runs-D6b6GEuq.js → runs-w3MS_VZ4.js} +7 -7
- package/dist/plugin-sdk/{send-_X4VJ-16.js → send-7QsCXN2z.js} +5 -5
- package/dist/plugin-sdk/{send-DC_wB-oy.js → send-7cDA7nYq.js} +4 -4
- package/dist/plugin-sdk/{sessions-V6UyW1ee.js → sessions-BkkGJf0L.js} +3 -3
- package/dist/plugin-sdk/{ssrf-BD-w1_r0.js → ssrf-Bul6kRmN.js} +1 -1
- package/dist/{subsystem-D1n05zOF.js → plugin-sdk/subsystem-ChbeeOSk.js} +5 -5
- package/dist/plugin-sdk/{tool-loop-detection-JyupU8MW.js → tool-loop-detection-CJDaraAN.js} +1 -1
- package/dist/plugin-sdk/{user-run-recording-BHAgBh4G.js → user-run-recording-BK8sYUEb.js} +2 -2
- package/dist/plugin-sdk/{ws-Cd1gQ37X.js → ws-zY8UZwJ_.js} +1 -1
- package/dist/{plugins-Do2VO-bb.js → plugins-50bsyRF5.js} +12 -12
- package/dist/{plugins-cli-ClCHi--i.js → plugins-cli-B7i09-Yu.js} +94 -94
- package/dist/{ports-wpTsMPMQ.js → ports-Cx-3VoKB.js} +1 -1
- package/dist/{ports-CkB6zd6B.js → ports-qsGNGnWb.js} +2 -2
- package/dist/{program-BNEbV10c.js → program-DVVCdH_Q.js} +91 -91
- package/dist/{progress-DRmPtDtg.js → progress-DLl5RtiT.js} +2 -2
- package/dist/{prompt-select-styled-CNJtUcHo.js → prompt-select-styled-kC6tnFRy.js} +39 -39
- package/dist/{prompt-style-DpZu7Rv0.js → prompt-style-C-jp54Ww.js} +1 -1
- package/dist/{provider-auth-helpers-BmlLx1lK.js → provider-auth-helpers-CoSW0VEc.js} +5 -5
- package/dist/{proxy-env-D2TojSO4.js → proxy-env-B8ko7FIe.js} +1 -1
- package/dist/{proxy-env-ieess7Mx.js → proxy-env-Cbti8B-h.js} +1 -1
- package/dist/{push-apns-B35KAhUm.js → push-apns-ouI2t6wj.js} +7 -7
- package/dist/{pw-ai-BP_oDyML.js → pw-ai-BHdnQCVz.js} +11 -11
- package/dist/{pw-ai-DBQU70P9.js → pw-ai-CXYAo13E.js} +15 -15
- package/dist/{qmd-manager-CHnF92RD.js → qmd-manager-BbwLXjLX.js} +9 -9
- package/dist/{qmd-manager-Cc8Yjnkj.js → qmd-manager-D53dwf0o.js} +11 -11
- package/dist/{qmd-scope-Bf9ewzqs.js → qmd-scope-BGPSkaGT.js} +1 -1
- package/dist/{qmd-scope-CS0DtNYO.js → qmd-scope-ZqGqqT7I.js} +1 -1
- package/dist/{qr-cli-BR65O0r3.js → qr-cli-C03g-Jln.js} +10 -10
- package/dist/{query-expansion-Bv4KqsqP.js → query-expansion-CfOEMDQH.js} +1 -1
- package/dist/{query-expansion-CRbSQ6uw.js → query-expansion-D6kYMMSG.js} +13 -13
- package/dist/{reconcile-bundled-DkR2LG6R.js → reconcile-bundled-BHSH7QIf.js} +3 -3
- package/dist/{recorder-Ln2SDZKW.js → recorder-B4tsZmjb.js} +2 -2
- package/dist/{recorder-DII7nv4x.js → recorder-CPMScZJa.js} +2 -2
- package/dist/{recovery-adapter-CyyO_Ekl.js → recovery-adapter-BJRNT8FV.js} +9 -9
- package/dist/{recovery-adapter-DOleMTp_.js → recovery-adapter-CZoZy-m9.js} +2 -2
- package/dist/{recovery-adapter-But7eE6o.js → recovery-adapter-CxLHOdbs.js} +3 -3
- package/dist/{recovery-prompt-BPdq27Tq.js → recovery-prompt-DjQfAUy6.js} +1 -1
- package/dist/{redact-CS0CgCEL.js → redact-DkgvOdb-.js} +1 -1
- package/dist/{redact-snapshot-CZVXlnxH.js → redact-snapshot-B0Hmde1v.js} +5 -5
- package/dist/{register.agent-BcT7F79Y.js → register.agent-CH14a6J3.js} +109 -109
- package/dist/register.configure-BXpFEa7d.js +152 -0
- package/dist/{register.maintenance-rxIW-tKO.js → register.maintenance-2jJXwpET.js} +111 -111
- package/dist/{register.message-BLuymT-f.js → register.message-o6R49haY.js} +86 -86
- package/dist/{register.onboard-PGgg72Sx.js → register.onboard-CYG4aJ_S.js} +26 -26
- package/dist/{register.setup-Fnakw3cB.js → register.setup-B9Mx2Csz.js} +28 -28
- package/dist/{register.status-health-sessions--aE04YLN.js → register.status-health-sessions-BdYJh1dD.js} +105 -105
- package/dist/{register.subclis-gCMZ4Bku.js → register.subclis-B8qYBt57.js} +34 -34
- package/dist/{reply-directives-DGXfbm15.js → reply-directives-C3TQE9y0.js} +49 -49
- package/dist/{reply-directives-Bzeg3um3.js → reply-directives-DL_tpnAW.js} +2 -2
- package/dist/{reset-B2CTuAPC.js → reset-CoOQ6-8Y.js} +1 -1
- package/dist/{rpc-C-oFxe45.js → rpc-gJ5XJBJ1.js} +3 -3
- package/dist/{run-main-B4g_4pz1.js → run-main-CtkFW7nv.js} +104 -104
- package/dist/{runs-KGTnMvSd.js → runs-CNSar-WP.js} +8 -8
- package/dist/{runs-HDGXsBua.js → runs-DLcRidXE.js} +6 -6
- package/dist/{runtime-CM06Vsh4.js → runtime-DQiHcfpT.js} +4 -4
- package/dist/{runtime-config-collectors-owiepuTT.js → runtime-config-collectors-CokvgXBK.js} +1 -1
- package/dist/{runtime-guard-BAkI3Ri4.js → runtime-guard-D4N1U69H.js} +1 -1
- package/dist/{sandbox-I0OArJYc.js → sandbox-CqhMEP_P.js} +15 -15
- package/dist/{sandbox-cli-Byd1iHHL.js → sandbox-cli-CJWXKmae.js} +35 -35
- package/dist/{secrets-cli-cvWxtbRr.js → secrets-cli-DEllaqgI.js} +17 -17
- package/dist/{security-cli-Dlr0WB3R.js → security-cli-CsBRazBA.js} +42 -42
- package/dist/{send-Bkdo82oz.js → send-41XrPhaV.js} +4 -4
- package/dist/{send-DVTBurfS.js → send-B3iJ8ToE.js} +5 -5
- package/dist/{send-CmECiyUu.js → send-Ch-mNnij.js} +4 -4
- package/dist/{send-C-k3_j2u.js → send-RssGHDsu.js} +4 -4
- package/dist/{server-CtKA1Cp0.js → server-BuyEF_-i.js} +23 -23
- package/dist/{server-context-Ca5AiDBb.js → server-context-Cm7u69Q7.js} +9 -9
- package/dist/{server-lifecycle-DTtM3Lhl.js → server-lifecycle-BG-u8nMU.js} +3 -3
- package/dist/{server-middleware-DDvaga1l.js → server-middleware-BizsA-re.js} +2 -2
- package/dist/{server-node-events-s5GkBDRY.js → server-node-events-C-Sm1NJJ.js} +87 -87
- package/dist/{service-BnFOyfze.js → service-Ox4QjIIv.js} +1 -1
- package/dist/{session-consumer-agents-FpCrtynZ.js → session-consumer-agents-Bjo2Pybw.js} +1 -1
- package/dist/{session-consumer-claim-sweep-Ccri2PgZ.js → session-consumer-claim-sweep-DcyQR1lf.js} +10 -10
- package/dist/{session-key-D38Dat68.js → session-key-DOpjqY4f.js} +1 -1
- package/dist/{session-storage-owner-B8-IRBP7.js → session-storage-owner-DSJotdF9.js} +8 -8
- package/dist/{session-storage-CAf99J7I.js → session-storage-sH-8KuPm.js} +7 -7
- package/dist/{session-store-targets-9oN46FBf.js → session-store-targets-BtKZ6O9-.js} +3 -3
- package/dist/{session-utils-CPdS25Fh.js → session-utils-acVEcYBx.js} +9 -9
- package/dist/{sessions-DjSoGXsL.js → sessions-B3-eoZNa.js} +6 -6
- package/dist/{sessions-CH1h_nhO.js → sessions-BoUKHlfq.js} +5 -5
- package/dist/{sessions-DoqXSqab.js → sessions-CkJwIbnD.js} +17 -17
- package/dist/{sessions-DyhCT0pp.js → sessions-WyhyMdoW.js} +5 -5
- package/dist/{sessions-claims-status-BzDkLrz5.js → sessions-claims-status-yyKjvPdI.js} +12 -12
- package/dist/{sessions-maintenance-core-Cnhlr59R.js → sessions-maintenance-core-DJHvi0-G.js} +5 -5
- package/dist/{setup-helpers-DtszvYvl.js → setup-helpers-BQv9HNqM.js} +1 -1
- package/dist/{shared-DneLSdUs.js → shared-BhyLuWyq.js} +4 -4
- package/dist/{shared-CgJjqVc_.js → shared-WARMxoiR.js} +2 -2
- package/dist/{skill-scanner-C2qUvy1A.js → skill-scanner-Dl8opLZe.js} +1 -1
- package/dist/{skills-CKjNigud.js → skills-BAtMgBiD.js} +4 -4
- package/dist/{skills-cli-DrWE30sF.js → skills-cli-BriosLsG.js} +19 -19
- package/dist/{skills-install-DYOyXyhf.js → skills-install-dlhAdjwE.js} +11 -11
- package/dist/{skills-status-CUqccvmE.js → skills-status-2pBbVUCf.js} +4 -4
- package/dist/{status-DJX7Nh9n.js → status-DWY8cs3q.js} +45 -45
- package/dist/{status.update-BjTs0tMA.js → status.update-C37l-lB3.js} +1 -1
- package/dist/{storage-config-MiCWhQ75.js → storage-config-CsGADkaH.js} +4 -4
- package/dist/{subsystem-BQlVwUGh.js → subsystem-C7-3a5Zr.js} +2 -2
- package/dist/{plugin-sdk/subsystem-BdiA7Q_t.js → subsystem-WQ4uaYQN.js} +74 -74
- package/dist/{supervisor-Tib9c0Rw.js → supervisor-CmU501hP.js} +2 -2
- package/dist/{system-cli-CE9TlrCx.js → system-cli-C5GELIKy.js} +14 -14
- package/dist/{system-run-command-CAIpFmMh.js → system-run-command-DU36hElD.js} +2 -2
- package/dist/{systemd-2lEi1s2h.js → systemd-BjNzb_4K.js} +2 -2
- package/dist/{systemd-hints-DQKdqw9A.js → systemd-hints-Ccpg4IDq.js} +3 -3
- package/dist/{systemd-linger-DUCPAGl8.js → systemd-linger-Om0p6z20.js} +2 -2
- package/dist/{table-BgEYg0Fr.js → table-aewm6YXw.js} +2 -2
- package/dist/{tailnet-Cf-zH8LX.js → tailnet-DFd-E-hz.js} +1 -1
- package/dist/{tailscale-CPYYbNsJ.js → tailscale-DAOiwlpJ.js} +2 -2
- package/dist/{task-pipeline-boot-MRo6ngzY.js → task-pipeline-boot-BYsUt1aD.js} +85 -85
- package/dist/{tasks-DlanUcxq.js → tasks-BH9BLMW5.js} +5 -5
- package/dist/{tasks-CEiohszX.js → tasks-zUDZ9WDS.js} +12 -12
- package/dist/{tool-display-BW2pVtBe.js → tool-display-gmmRfkw3.js} +1 -1
- package/dist/{tool-loop-detection-CEOjW4Zj.js → tool-loop-detection-CUWKSyGf.js} +2 -2
- package/dist/{tool-loop-detection-C0wLAXu8.js → tool-loop-detection-D_3ML-aV.js} +3 -3
- package/dist/{trash-DNn54Qs6.js → trash-ByCJFFqw.js} +3 -3
- package/dist/{tui-Df1UoEuB.js → tui-D3L5epd6.js} +9 -9
- package/dist/{tui-cli-Y-2Y0TeW.js → tui-cli-B9yGq3iI.js} +37 -37
- package/dist/{update-CmNsRKyB.js → update-BOw7sc5p.js} +3 -3
- package/dist/{update-cli-DSKMdoM3.js → update-cli-DMbakbAW.js} +120 -120
- package/dist/{update-runner-BiHwGWqV.js → update-runner-xWEkzp2Q.js} +5 -5
- package/dist/{user-run-recording-BijpJcES.js → user-run-recording-BxTnAUuI.js} +2 -2
- package/dist/{user-run-recording-DkuT1rGt.js → user-run-recording-CYg9LLHh.js} +2 -2
- package/dist/{validation-cli-exRDYYEc.js → validation-cli-CHqmdg5w.js} +84 -84
- package/dist/{web-cli-BX1XaHNZ.js → web-cli-DuQt0_V0.js} +3 -3
- package/dist/web-client/assets/{index-Cpg6_3Hi.js → index-CbKkwaEi.js} +1 -1
- package/dist/web-client/index.html +1 -1
- package/dist/{webhooks-cli-CkpR8Fzk.js → webhooks-cli-BmIhFbc4.js} +13 -13
- package/dist/{widearea-dns-DFhroEuN.js → widearea-dns-Dg8lFYi7.js} +1 -1
- package/dist/{with-timeout-DNQj_Xiv.js → with-timeout-maI6Hxh1.js} +6 -6
- package/dist/{workspace-Cl3X-aax.js → workspace-Bv2hEGNJ.js} +6 -6
- package/dist/{workspace-BmXTOUee.js → workspace-CNoka32n.js} +4 -4
- package/extensions/a2a/package.json +1 -1
- package/extensions/acpx/package.json +1 -1
- package/extensions/anthropic/package.json +1 -1
- package/extensions/bifrost/package.json +1 -1
- package/extensions/bluebubbles/package.json +1 -1
- package/extensions/copilot-proxy/package.json +1 -1
- package/extensions/deepgram/package.json +1 -1
- package/extensions/deepinfra/package.json +1 -1
- package/extensions/diagnostics-otel/package.json +1 -1
- package/extensions/diffs/package.json +1 -1
- package/extensions/discord/package.json +1 -1
- package/extensions/dream-cycle/package.json +1 -1
- package/extensions/elevenlabs/package.json +1 -1
- package/extensions/feishu/package.json +1 -1
- package/extensions/gemini-search/package.json +1 -1
- package/extensions/google/package.json +1 -1
- package/extensions/google-gemini-cli-auth/package.json +1 -1
- package/extensions/googlechat/package.json +1 -1
- package/extensions/grok-search/package.json +1 -1
- package/extensions/groq/package.json +1 -1
- package/extensions/identity-oidc/package.json +1 -1
- package/extensions/imessage/package.json +1 -1
- package/extensions/irc/package.json +1 -1
- package/extensions/kimi-search/package.json +1 -1
- package/extensions/kokoro/package.json +1 -1
- package/extensions/learning-core/package.json +1 -1
- package/extensions/line/package.json +1 -1
- package/extensions/llm-task/package.json +1 -1
- package/extensions/lobster/package.json +1 -1
- package/extensions/matrix/CHANGELOG.md +1 -1
- package/extensions/matrix/package.json +1 -1
- package/extensions/mattermost/package.json +1 -1
- package/extensions/memory-core/package.json +1 -1
- package/extensions/memory-lancedb/package.json +1 -1
- package/extensions/minimax/package.json +1 -1
- package/extensions/minimax-portal-auth/package.json +1 -1
- package/extensions/mistral/package.json +1 -1
- package/extensions/moonshot/package.json +1 -1
- package/extensions/msteams/CHANGELOG.md +1 -1
- package/extensions/msteams/package.json +1 -1
- package/extensions/nextcloud-talk/package.json +1 -1
- package/extensions/nostr/CHANGELOG.md +1 -1
- package/extensions/nostr/package.json +1 -1
- package/extensions/open-prose/package.json +1 -1
- package/extensions/openai/package.json +1 -1
- package/extensions/openai-realtime/package.json +1 -1
- package/extensions/openrouter/package.json +1 -1
- package/extensions/perplexity-search/package.json +1 -1
- package/extensions/searxng-search/package.json +1 -1
- package/extensions/signal/package.json +1 -1
- package/extensions/slack/package.json +1 -1
- package/extensions/synology-chat/package.json +1 -1
- package/extensions/telegram/package.json +1 -1
- package/extensions/tlon/package.json +1 -1
- package/extensions/twitch/CHANGELOG.md +1 -1
- package/extensions/twitch/package.json +1 -1
- package/extensions/ui-surfaces/package.json +1 -1
- package/extensions/voice-call/CHANGELOG.md +1 -1
- package/extensions/voice-call/package.json +1 -1
- package/extensions/whatsapp/package.json +1 -1
- package/extensions/zai/package.json +1 -1
- package/extensions/zalo/CHANGELOG.md +1 -1
- package/extensions/zalo/package.json +1 -1
- package/extensions/zalouser/CHANGELOG.md +1 -1
- package/extensions/zalouser/package.json +1 -1
- package/package.json +1 -1
- package/dist/clawbot-cli-sRVUxd_s.js +0 -32
- package/dist/cli-ax3_7oZf.js +0 -147
- package/dist/control-ui-v2/assets/Badge-sUgH4suZ.js +0 -1
- package/dist/github-copilot-token-Bm6yG6tw.js +0 -106
- package/dist/paths-BIDPYPVC.js +0 -233
- package/dist/register.configure-C_6WuEbz.js +0 -152
- /package/dist/{config-1om7Pwz0.js → config-CM9p9U7m.js} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
import{_ as e,c as t,h as n,i as r,l as i,o as a,s as o,t as s}from"./format-
|
|
1
|
+
import{_ as e,c as t,h as n,i as r,l as i,o as a,s as o,t as s}from"./format-BPrfsCHW.js";import{a as c,n as l,o as u}from"./links-vgPLVF05.js";import{t as d}from"./Button-ralPMMNs.js";import{t as f}from"./index-ChHyE-y3.js";import{n as p,t as m}from"./use-gateway-query-7iLwemQz.js";import{t as h}from"./Panel-CqcbBXzJ.js";import{t as g}from"./EntityLink-CMtTP9Dk.js";import{t as _}from"./DataTable-BbRrWxor.js";import{t as v}from"./FilterPills-C_zBIqFP.js";import{t as y}from"./ConfirmDialog-9ode6FP3.js";import{t as b}from"./UpdatedAgo-CJqGVu6_.js";var x=e(n(),1),S=t();function C(e){return e.id===`cancel`||e.id===`replay`}function w(e){return`available`in e?`Restart recovery is unavailable: ${e.reason}`:`result`in e&&e.result===`rejected`?e.reasonText??e.reasonCode:null}function T({item:e,items:t,actions:n,reload:o,onClose:c}){let u=i(e=>e.request),[p,m]=(0,x.useState)(null),[v,b]=(0,x.useState)(!1),[T,E]=(0,x.useState)(!1),[D,O]=(0,x.useState)(!1),[k,A]=(0,x.useState)(null),j=e.subject,M=(0,x.useMemo)(()=>n.filter(t=>t.adapterId===e.adapterId&&t.sourceId===e.sourceId).slice().sort((e,t)=>(a(t.createdAt)??0)-(a(e.createdAt)??0)),[n,e.adapterId,e.sourceId]),N=(0,x.useMemo)(()=>{if(e.disposition!==`blocked`||e.reasonCode===null)return[];let n=t.filter(t=>t.disposition===`blocked`&&t.adapterId===e.adapterId&&t.reasonCode===e.reasonCode),r=n.every(e=>e.actions.some(e=>e.requestedAction===`cancel`&&!e.replay));return n.length>=2&&r?n:[]},[e.adapterId,e.disposition,e.reasonCode,t]),P=async t=>{E(!0),A(null);try{let n=await u(`doctor.recovery.plan`,{itemId:e.itemId,requestedAction:t.requestedAction}),r=w(n);if(r!==null||!(`plan`in n)){A({tone:`error`,text:r??`No plan was returned.`});return}m({action:t,plan:n.plan,authorityToken:n.authorityToken})}catch(e){A({tone:`error`,text:s(e)})}finally{E(!1)}},F=async()=>{if(!p)return;let{action:e,plan:t,authorityToken:n}=p;E(!0);try{let r=await u(`doctor.recovery.apply`,{plan:t,authorityToken:n,confirm:!0,replay:e.replay}),i=w(r);A(i===null?{tone:`ok`,text:`replay`in r&&r.replay?`Done · run again requested`:`Done`}:{tone:`error`,text:i}),m(null)}catch(e){A({tone:`error`,text:s(e)}),m(null)}finally{E(!1),o()}},I=async()=>{b(!1),O(!0),A(null);let e=0,t=0;try{for(let n of N){let r=n.actions.find(e=>e.requestedAction===`cancel`&&!e.replay);if(!r){t+=1;continue}let i=await u(`doctor.recovery.plan`,{itemId:n.itemId,requestedAction:r.requestedAction});if(w(i)!==null||!(`plan`in i)){t+=1;continue}w(await u(`doctor.recovery.apply`,{plan:i.plan,authorityToken:i.authorityToken,confirm:!0,replay:!1}))===null?e+=1:t+=1}A({tone:t>0?`error`:`ok`,text:`Discarded ${e}, rejected ${t}`})}catch(n){A({tone:`error`,text:`${s(n)} (discarded ${e}, rejected ${t} before the failure)`})}finally{O(!1),o()}},L=[[`Agent`,j?.agentId],[`Trigger`,j?.trigger],[`Runtime`,j?.runtime],[`Session`,j?.sessionKey],[`Run`,j?.runId],[`Cron job`,j?.cronJobId],[`Task run`,j?.taskRunId],[`Channel`,j?.channel],[`Owner plugin`,j?.ownerPluginId],[`Started`,j?.startedAt],[`Interrupted`,j?.interruptedAt],[`Preview`,j?.preview]].filter(e=>!!e[1]);return(0,S.jsxs)(h,{className:`ct-inspector`,title:e.title,sub:(0,S.jsx)(`span`,{className:`ct-mono`,children:e.sourceId}),testId:`recovery-inspector`,actions:(0,S.jsx)(`button`,{type:`button`,className:`ct-icon-btn`,"aria-label":`Close recovery item`,onClick:c,children:(0,S.jsx)(f,{name:`x`})}),children:[(0,S.jsxs)(`div`,{className:`ct-inspector__body`,children:[(0,S.jsx)(`p`,{children:e.reasonText??`The gateway has not explained this item.`}),L.length>0?(0,S.jsx)(`dl`,{className:`ct-kv`,children:L.map(([e,t])=>(0,S.jsxs)(`div`,{className:`ct-kv__row`,children:[(0,S.jsx)(`dt`,{children:e}),(0,S.jsx)(`dd`,{children:e===`Agent`&&j?.agentId?(0,S.jsx)(g,{to:l.agent(j.agentId),children:j.agentId}):e===`Session`&&j?.sessionKey?(0,S.jsx)(g,{to:l.session(j.sessionKey),children:j.sessionKey}):e===`Cron job`&&j?.cronJobId?(0,S.jsx)(g,{to:l.automation(j.cronJobId),children:j.cronJobId}):(0,S.jsx)(`span`,{className:e===`Preview`?void 0:`ct-mono`,children:t})})]},e))}):null,j?.sessionKey?(0,S.jsx)(`div`,{className:`ct-inspector__links`,children:(0,S.jsx)(g,{to:l.runs({session:j.sessionKey}),children:`View runs`})}):null,(0,S.jsxs)(`dl`,{className:`ct-kv`,children:[(0,S.jsxs)(`div`,{className:`ct-kv__row`,children:[(0,S.jsx)(`dt`,{children:`Adapter`}),(0,S.jsx)(`dd`,{className:`ct-mono`,children:e.adapterId})]}),(0,S.jsxs)(`div`,{className:`ct-kv__row`,children:[(0,S.jsx)(`dt`,{children:`Source id`}),(0,S.jsx)(`dd`,{className:`ct-mono`,children:e.sourceId})]}),(0,S.jsxs)(`div`,{className:`ct-kv__row`,children:[(0,S.jsx)(`dt`,{children:`Generation`}),(0,S.jsx)(`dd`,{className:`ct-mono`,children:e.sourceGeneration})]}),(0,S.jsxs)(`div`,{className:`ct-kv__row`,children:[(0,S.jsx)(`dt`,{children:`Attempts`}),(0,S.jsxs)(`dd`,{children:[e.attempts,` of `,e.attemptLimit]})]}),(0,S.jsxs)(`div`,{className:`ct-kv__row`,children:[(0,S.jsx)(`dt`,{children:`First seen`}),(0,S.jsx)(`dd`,{children:r(e.firstSeenAt)})]}),e.reasonCode?(0,S.jsxs)(`div`,{className:`ct-kv__row`,children:[(0,S.jsx)(`dt`,{children:`Reason code`}),(0,S.jsx)(`dd`,{className:`ct-mono`,children:e.reasonCode})]}):null]}),(0,S.jsxs)(`div`,{className:`ct-inspector__actions`,children:[e.actions.map(e=>(0,S.jsx)(d,{variant:C(e)?`danger`:e.recommended?`primary`:`secondary`,disabled:T||D,onClick:()=>void P(e),children:e.label},e.id)),N.length>=2?(0,S.jsxs)(d,{disabled:T||D,onClick:()=>b(!0),children:[`Discard all `,N.length,` like this`]}):null]}),k?(0,S.jsx)(`p`,{className:k.tone===`error`?`ct-approval__error`:`ct-scoped-note`,role:k.tone===`error`?`alert`:void 0,"data-testid":`recovery-action-result`,children:k.text}):null,(0,S.jsx)(`h3`,{className:`ct-inspector__heading`,children:`History`}),(0,S.jsx)(`div`,{"data-testid":`recovery-history`,children:M.length===0?(0,S.jsx)(`p`,{className:`ct-scoped-note`,children:`No actions have been recorded for this item.`}):(0,S.jsx)(_,{label:`Recovery history`,columns:[{key:`when`,label:`When`,render:e=>r(e.createdAt)},{key:`action`,label:`Action`,render:e=>e.requestedAction},{key:`result`,label:`Result`,render:e=>e.result},{key:`actor`,label:`Actor`,render:e=>e.actor??`—`}],rows:M,rowKey:e=>String(e.id)})})]}),(0,S.jsx)(y,{open:p!==null,title:`${p?.action.label??``}: ${e.title}`,body:`${p?.action.description??``} Plan expires ${r(p?.plan.expiresAt??null)}.`,confirmLabel:p?.action.label??`Apply`,danger:p?C(p.action):!1,busy:T,onConfirm:()=>void F(),onCancel:()=>m(null)}),(0,S.jsx)(y,{open:v,title:`Discard all ${N.length} like this?`,body:`Discard every blocked item with reason "${e.reasonText??e.reasonCode??`unknown`}"? Nothing is re-run or re-sent, and none of them will come back after a restart.`,confirmLabel:`Discard all`,danger:!0,busy:D,onConfirm:()=>void I(),onCancel:()=>b(!1)})]})}var E=[{value:`blocked`,label:`Needs action`},{value:`all`,label:`All this boot`}],D=[{key:`what`,label:`What`,render:e=>e.title},{key:`agent`,label:`Agent`,render:e=>e.subject?.agentId??`—`},{key:`trigger`,label:`Trigger`,render:e=>e.subject?.trigger??e.adapterId},{key:`reason`,label:`Reason`,render:e=>e.reasonText??e.reasonCode??`—`},{key:`since`,label:`Since`,render:e=>r(e.subject?.startedAt??e.firstSeenAt)}];function O(){let e=u().params.get(`item`),[t,n]=(0,x.useState)(`blocked`),r=p(`doctor.recovery.inspect`,{},{refreshMs:m}),i=r.data?.available===!0?r.data.items:[],a=r.data?.available===!0?r.data.actions:[],s=i.filter(e=>e.disposition===`blocked`),l=t===`blocked`?s:i,d=e?i.find(t=>t.itemId===e)??null:null,f=t=>{let n={},r=t.item===void 0?e:t.item;r&&(n.item=r),c(`recovery`,n)},g=r.data?.available===!1?r.data.reason:null;return(0,S.jsxs)(`div`,{className:`ct-page`,"data-testid":`recovery-view`,children:[(0,S.jsxs)(`header`,{className:`ct-page__head`,children:[(0,S.jsxs)(`div`,{className:`ct-page__head-text`,children:[(0,S.jsx)(`h1`,{className:`ct-page__title`,children:`Recovery`}),(0,S.jsx)(`p`,{className:`ct-page__sub`,children:`Work left behind by the last gateway restart. Discarding settles an item for good.`})]}),(0,S.jsx)(b,{at:r.updatedAt,error:r.error})]}),g===null?r.error&&!r.data?(0,S.jsx)(o,{tone:`error`,message:`Recovery items could not be listed.`,hint:r.error}):r.loading&&!r.data?(0,S.jsx)(o,{tone:`loading`,message:`Loading recovery items…`}):(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)(`div`,{className:`ct-toolbar`,children:(0,S.jsx)(v,{label:`Filter recovery items`,value:t,onChange:n,options:E.map(e=>({value:e.value,label:e.label,count:e.value===`blocked`?s.length:i.length}))})}),(0,S.jsxs)(`div`,{className:d?`ct-split ct-split--open`:`ct-split`,children:[(0,S.jsx)(h,{title:`Recovery items`,sub:`${l.length} shown`,children:(0,S.jsx)(_,{label:`Recovery items`,columns:D,rows:l,rowKey:e=>e.itemId,selectedKey:e,onRowClick:e=>f({item:e.itemId}),empty:(0,S.jsx)(o,{message:t===`blocked`?`Nothing needs a decision.`:`No recovery items were recorded this boot.`,hint:t===`blocked`?`Items appear here when the gateway restarts with work still in flight.`:void 0})})}),d?(0,S.jsx)(T,{item:d,items:i,actions:a,reload:r.reload,onClose:()=>f({item:null})},d.itemId):null]})]}):(0,S.jsx)(o,{testId:`recovery-unavailable`,message:`Restart recovery is unavailable: ${g}`})]})}export{O as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{_ as e,a as t,c as n,d as r,h as i,i as a,l as o,o as s,r as c,s as l,t as u}from"./format-DpM2rlEo.js";import{i as d,o as f}from"./runs-store-Cxbnn8K8.js";import{a as p,n as m,o as h}from"./links-Bcw24zqI.js";import{t as g}from"./Button-D5rMawzJ.js";import{t as _}from"./Dialog-Che1C2PS.js";import{n as v,t as y}from"./index-CGoFdGyu.js";import{n as b,t as x}from"./use-gateway-query-xtY3vmte.js";import{t as S}from"./Badge-sUgH4suZ.js";import{t as C}from"./Panel-DM0JsHgz.js";import{t as w}from"./EntityLink-D6UsLKQR.js";import{t as T}from"./DataTable-BqqaNmU8.js";import{t as E}from"./FilterPills-CA2lRy0A.js";import{t as D}from"./StatusDot-CRJsKnJw.js";import{t as O}from"./UpdatedAgo-D_q8xIeZ.js";import{a as k,i as A,n as j,o as M,r as N,t as P}from"./run-rows-DVijLB79.js";import{t as F}from"./PluginPanels-BfBbsH_Z.js";var I=e(i(),1);function L(e){return typeof e==`string`&&e.length>0}function R(e){return typeof e==`number`&&Number.isFinite(e)&&e>=0}function z(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function B(e){if(!z(e))return null;let t=e.context;if(!z(t))return null;let n={};if(L(t.provider)&&(n.provider=t.provider),L(t.model)&&(n.model=t.model),L(t.stopReason)&&(n.stopReason=t.stopReason),L(t.errorKind)&&(n.errorKind=t.errorKind),Array.isArray(t.fallbacks)&&(n.fallbacks=t.fallbacks.flatMap(e=>!z(e)||!L(e.provider)||!L(e.model)?[]:[{provider:e.provider,model:e.model,...L(e.reason)?{reason:e.reason}:{}}])),z(t.usage)){let e={};for(let n of[`input`,`output`,`cacheRead`,`cacheWrite`,`total`])R(t.usage[n])&&(e[n]=t.usage[n]);Object.keys(e).length>0&&(n.usage=e)}if(z(t.composition)){let e=t.composition,r=z(e.contextChars)?Object.fromEntries(Object.entries(e.contextChars).filter(e=>R(e[1]))):{};n.composition={systemChars:R(e.systemChars)?e.systemChars:0,bootstrapChars:R(e.bootstrapChars)?e.bootstrapChars:0,skillsChars:R(e.skillsChars)?e.skillsChars:0,toolCount:R(e.toolCount)?e.toolCount:0,toolChars:R(e.toolChars)?e.toolChars:0,contextChars:r,messagesChars:R(e.messagesChars)?e.messagesChars:0,totalChars:R(e.totalChars)?e.totalChars:0,...R(e.firstCallInputTokens)?{firstCallInputTokens:e.firstCallInputTokens}:{}}}return Array.isArray(t.injectedFiles)&&(n.injectedFiles=t.injectedFiles.flatMap(e=>!z(e)||!L(e.name)||!R(e.injectedChars)||!R(e.rawChars)||typeof e.truncated!=`boolean`||typeof e.missing!=`boolean`?[]:[{name:e.name,injectedChars:e.injectedChars,rawChars:e.rawChars,truncated:e.truncated,missing:e.missing}])),Array.isArray(t.tools)&&(n.tools=t.tools.filter(L)),Array.isArray(t.skills)&&(n.skills=t.skills.filter(L)),n}var V=n(),H=[[`System prompt`,`systemChars`],[`Workspace files`,`bootstrapChars`],[`Skills`,`skillsChars`]],U=[[`in`,`input`],[`out`,`output`],[`cache read`,`cacheRead`],[`cache write`,`cacheWrite`],[`total`,`total`]];function W({composition:e}){let n=e.totalChars,r=Object.entries(e.contextChars).map(([e,t])=>({label:`Context · ${e}`,chars:t})).toSorted((e,t)=>t.chars-e.chars),i=H.map(([t,n])=>({label:t,chars:e[n]}));return i.push({label:`Tools (${e.toolCount})`,chars:e.toolChars}),i.push(...r),i.push({label:`Messages`,chars:e.messagesChars}),(0,V.jsx)(`table`,{"data-testid":`run-context-composition`,children:(0,V.jsxs)(`tbody`,{children:[i.map(e=>{let t=n===0?0:e.chars/n*100;return(0,V.jsxs)(`tr`,{children:[(0,V.jsx)(`th`,{scope:`row`,children:e.label}),(0,V.jsx)(`td`,{children:e.chars.toLocaleString(`en-AU`)}),(0,V.jsx)(`td`,{children:n===0?`—`:`${t.toFixed(1)}%`}),(0,V.jsx)(`td`,{className:`ct-context__bar`,children:(0,V.jsx)(`span`,{className:`ct-context-bar`,style:{width:`${Math.min(t,100)}%`}})})]},e.label)}),(0,V.jsxs)(`tr`,{children:[(0,V.jsx)(`th`,{scope:`row`,children:`Total`}),(0,V.jsx)(`td`,{children:n.toLocaleString(`en-AU`)}),(0,V.jsx)(`td`,{}),(0,V.jsx)(`td`,{})]}),e.firstCallInputTokens===void 0?null:(0,V.jsxs)(`tr`,{children:[(0,V.jsx)(`th`,{scope:`row`,children:`First call input tokens`}),(0,V.jsx)(`td`,{children:t(e.firstCallInputTokens)}),(0,V.jsx)(`td`,{}),(0,V.jsx)(`td`,{})]})]})})}function G({title:e,names:t,total:n}){return(0,V.jsxs)(`details`,{children:[(0,V.jsxs)(`summary`,{children:[e,` (`,t.length,`)`]}),(0,V.jsx)(`ul`,{children:t.map(e=>(0,V.jsx)(`li`,{children:e},e))}),n!==void 0&&n>t.length?(0,V.jsxs)(`p`,{children:[`Showing `,t.length,` of `,n]}):null]})}function K({context:e,status:n}){if(e===null)return(0,V.jsxs)(`section`,{children:[(0,V.jsx)(`h3`,{className:`ct-inspector__heading`,children:`Context`}),(0,V.jsx)(l,{message:n===`pending`||n===`running`||n===`recovering`?`Context is recorded when the run ends.`:`No context was recorded for this run.`})]});let r=[];if(e.provider&&e.model&&r.push([`Model`,`${e.provider}/${e.model}`]),e.fallbacks?.length&&r.push([`Fallbacks`,e.fallbacks.map(e=>`${e.provider}/${e.model}${e.reason?` (${e.reason})`:``}`).join(` → `)]),e.usage){let n=e.usage,i=U.filter(([,e])=>n[e]!==void 0).map(([e,r])=>`${e} ${t(n[r])}`).join(` · `);i.length>0&&r.push([`Tokens`,i])}return e.stopReason&&r.push([`Stop reason`,e.stopReason]),e.errorKind&&r.push([`Error`,e.errorKind]),(0,V.jsxs)(`section`,{className:`ct-context`,children:[(0,V.jsx)(`h3`,{className:`ct-inspector__heading`,children:`Context`}),r.length>0?(0,V.jsx)(`dl`,{className:`ct-kv`,children:r.map(([e,t])=>(0,V.jsxs)(`div`,{className:`ct-kv__row`,children:[(0,V.jsx)(`dt`,{children:e}),(0,V.jsx)(`dd`,{children:t})]},e))}):null,e.composition?(0,V.jsx)(W,{composition:e.composition}):null,e.injectedFiles?.length?(0,V.jsx)(`ul`,{className:`ct-context__files`,"data-testid":`run-context-files`,children:e.injectedFiles.map(e=>(0,V.jsxs)(`li`,{children:[(0,V.jsx)(`span`,{children:e.name}),` `,(0,V.jsx)(`span`,{className:`ct-context__size`,children:`${e.injectedChars} / ${e.rawChars} chars`}),` `,e.truncated?(0,V.jsx)(S,{tone:`warn`,children:`Truncated`}):null,e.missing?(0,V.jsx)(S,{tone:`danger`,children:`Missing`}):null]},e.name))}):null,e.tools?.length?(0,V.jsx)(G,{title:`Tools`,names:e.tools,total:e.composition?.toolCount}):null,e.skills?.length?(0,V.jsx)(G,{title:`Skills`,names:e.skills}):null]})}function q(e,t){let n=o(e=>e.request),r=o(e=>e.status===`connected`),[i,a]=(0,I.useState)([]);return(0,I.useEffect)(()=>{a([])},[e]),(0,I.useEffect)(()=>{if(!e||!r)return;let t=!1;return n(`sessions.runs.events`,{sessionRunId:e}).then(e=>{t||a((e.events??[]).map(e=>({id:e.eventId,at:e.createdAt,label:e.eventType})))}).catch(()=>{}),()=>{t=!0}},[n,e,t,r]),i}function J(e,t){return e.task?e.events.map(e=>({id:e.eventId,at:e.createdAt,label:e.eventType})):t}function Y({row:e,detail:t,onClose:n}){let i=o(e=>e.request),f=d(e=>e.refresh),p=r(e=>e.pending),[h,b]=(0,I.useState)(!1),[x,T]=(0,I.useState)(!1),[E,D]=(0,I.useState)(null),O=J(t,q(e.sessionRunId,e.entry.changedAt)),A=e.sessionKey?p.filter(t=>t.sessionKey===e.sessionKey):[],M=e.entry.kind===`session`&&e.filter===`running`&&e.sessionKey,N=e.entry.kind===`session`&&e.entry.status===`needs_recovery_decision`&&e.decisionVersion!==null,L=async(e,t)=>{T(!0),D(null);try{await i(e,t),await f()}catch(e){D(u(e))}finally{T(!1)}},R=B(t.session),z=[[`Agent`,e.agent?(0,V.jsx)(w,{to:m.agent(e.agent),children:e.agent}):`—`],[`Kind`,e.kind],[`Started`,a(e.startedAt)],[`Duration`,c(k(e))],[`Status`,e.entry.status]];return(0,V.jsxs)(C,{className:`ct-inspector`,title:e.entry.title,sub:(0,V.jsx)(`span`,{className:`ct-mono`,children:e.sessionKey??e.entry.subtitle}),testId:`run-inspector`,actions:(0,V.jsx)(`button`,{type:`button`,className:`ct-icon-btn`,"aria-label":`Close run`,onClick:n,children:(0,V.jsx)(y,{name:`x`})}),children:[(0,V.jsxs)(`div`,{className:`ct-inspector__body`,children:[(0,V.jsx)(S,{tone:j[e.filter],children:P[e.filter]}),t.loading?(0,V.jsx)(l,{tone:`loading`,message:`Loading run…`}):null,t.error?(0,V.jsx)(l,{tone:`error`,message:t.error}):null,(0,V.jsx)(`dl`,{className:`ct-kv`,children:z.map(([e,t])=>(0,V.jsxs)(`div`,{className:`ct-kv__row`,children:[(0,V.jsx)(`dt`,{children:e}),(0,V.jsx)(`dd`,{children:t})]},e))}),e.sessionKey?(0,V.jsxs)(`div`,{className:`ct-inspector__links`,children:[(0,V.jsx)(w,{to:m.session(e.sessionKey),children:e.sessionKey}),e.runId?(0,V.jsx)(w,{to:m.session(e.sessionKey,{run:e.runId}),children:`Transcript`}):null]}):null,A.map(e=>(0,V.jsxs)(`div`,{className:`ct-approval`,"data-testid":`run-approval`,children:[(0,V.jsx)(`code`,{className:`ct-approval__command`,children:e.command??`(no command)`}),(0,V.jsx)(v,{approval:e})]},e.id)),(0,V.jsxs)(`div`,{className:`ct-inspector__actions`,children:[M?(0,V.jsxs)(g,{variant:`danger`,disabled:x,onClick:()=>b(!0),children:[(0,V.jsx)(y,{name:`stop`,size:15}),`Abort run`]}):null,N?(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(g,{variant:`primary`,disabled:x,onClick:()=>void L(`sessions.runs.continue`,{sessionRunId:e.sessionRunId,expectedDecisionVersion:e.decisionVersion}),children:`Continue run`}),(0,V.jsx)(g,{variant:`danger`,disabled:x,onClick:()=>void L(`sessions.runs.cancel`,{sessionRunId:e.sessionRunId,expectedDecisionVersion:e.decisionVersion}),children:`Cancel run`})]}):null]}),E?(0,V.jsx)(`p`,{className:`ct-approval__error`,role:`alert`,children:E}):null,(0,V.jsx)(K,{context:R,status:e.entry.status}),(0,V.jsx)(`h3`,{className:`ct-inspector__heading`,children:`Timeline`}),O.length===0?(0,V.jsx)(l,{message:`No recorded events for this run.`}):(0,V.jsx)(`ol`,{className:`ct-timeline`,children:O.map(e=>(0,V.jsxs)(`li`,{className:`ct-timeline__item`,children:[(0,V.jsx)(`span`,{className:`ct-timeline__time ct-mono`,children:new Date(s(e.at)??0).toLocaleTimeString(`en-AU`)}),(0,V.jsx)(`span`,{className:`ct-timeline__label`,children:e.label})]},e.id))}),(0,V.jsx)(F,{placement:`run`,props:{sessionKey:e.sessionKey,runId:e.runId,sessionRunId:e.sessionRunId}})]}),(0,V.jsx)(_,{open:h,title:`Abort run?`,width:`sm`,onClose:()=>b(!1),footer:(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(g,{onClick:()=>b(!1),children:`Keep running`}),(0,V.jsx)(g,{variant:`danger`,disabled:x,onClick:()=>{b(!1),L(`sessions.abort`,{key:e.sessionKey,...e.runId?{runId:e.runId}:{}})},children:`Abort run`})]}),children:(0,V.jsx)(`p`,{children:`The agent stops this turn now. Anything it already replied stays in the transcript.`})})]})}var X=[`all`,`queued`,`running`,`needs`,`failed`,`done`],Z=100,Q=[{key:`status`,label:`Status`,render:e=>(0,V.jsxs)(`span`,{className:`ct-run-status`,children:[(0,V.jsx)(D,{tone:j[e.filter],label:e.entry.status,pulse:e.filter===`running`}),(0,V.jsx)(S,{tone:j[e.filter],children:P[e.filter]})]})},{key:`run`,label:`Run`,render:e=>(0,V.jsxs)(`span`,{className:`ct-cell-stack`,children:[(0,V.jsx)(`span`,{className:`ct-cell-stack__main`,children:e.entry.title}),(0,V.jsx)(`span`,{className:`ct-cell-stack__sub ct-mono`,children:e.sessionKey??e.entry.subtitle})]})},{key:`agent`,label:`Agent`,render:e=>e.agent??`—`},{key:`kind`,label:`Kind`,render:e=>e.kind},{key:`started`,label:`Started`,render:e=>a(e.startedAt)},{key:`duration`,label:`Duration`,align:`end`,mono:!0,render:e=>c(k(e))}];function $(e){return e!==null&&X.includes(e)}function ee(){let e=h(),t=d(e=>e.view),n=d(e=>e.select),r=d(e=>e.loadMore),i=d(e=>e.refresh),a=e.params.get(`run`),o=e.params.get(`session`)||null,s=e.params.get(`agent`)||null,c=e.params.get(`filter`),u=$(c)?c:`all`,_=o!==null||s!==null,v=b(`health`,{},{refreshMs:x}).data?.recovery?.counts?.blocked,S=b(`sessions.runs.list`,{...o?{sessionKey:o}:{},...s?{agentId:s}:{},limit:100},{enabled:_,invalidateOn:[`runs.invalidated`],refreshMs:x});(0,I.useEffect)(()=>{n(a)},[n,a]);let D=(0,I.useMemo)(()=>_?A(S.data?.runs??[]):N(t),[_,S.data,t]),k=u===`all`?D:D.filter(e=>e.filter===u),j=(0,I.useRef)(null),F=null;if(a){let e=D.find(e=>e.entry.key===a)??null;e?(j.current=e,F=e):j.current?.entry.key===a?F=j.current:t?.detail.key===a&&t.detail.session&&(F=M(f(t.detail.session),t.detail.session))}let L=e=>{let t={},n=e.filter??u;n!==`all`&&(t.filter=n);let r=e.session===void 0?o:e.session;r&&(t.session=r);let i=e.agent===void 0?s:e.agent;i&&(t.agent=i);let c=e.run===void 0?a:e.run;c&&(t.run=c),p(`runs`,t)},R=t?Object.entries(t.lists).filter(([,e])=>e.error!==null):[],z=R.some(([,e])=>e.errorCode===`UNAVAILABLE`),B=R.filter(([,e])=>e.errorCode!==`UNAVAILABLE`),H=t?Object.values(t.lists).some(e=>e.cursor!==null):!1;return(0,V.jsxs)(`div`,{className:`ct-page`,"data-testid":`runs-view`,children:[(0,V.jsxs)(`header`,{className:`ct-page__head`,children:[(0,V.jsxs)(`div`,{className:`ct-page__head-text`,children:[(0,V.jsx)(`h1`,{className:`ct-page__title`,children:`Runs`}),(0,V.jsx)(`p`,{className:`ct-page__sub`,children:`Agent turns and task runs across this gateway, live. Select a run to inspect it.`})]}),(0,V.jsx)(O,{at:_?S.updatedAt:t?.lastReconciledAt??null,error:_?S.error:B[0]?.[1].error??null}),(0,V.jsxs)(g,{onClick:()=>{i(),_&&S.reload()},disabled:t?.refreshing,children:[(0,V.jsx)(y,{name:`refresh`,size:15}),`Refresh`]})]}),(0,V.jsxs)(`div`,{className:`ct-toolbar`,children:[(0,V.jsx)(E,{label:`Filter runs`,value:u,onChange:e=>L({filter:e,run:null}),options:X.map(e=>({value:e,label:P[e],count:e===`all`?D.length:D.filter(t=>t.filter===e).length}))}),o?(0,V.jsxs)(`span`,{className:`ct-chip`,children:[`Session `,(0,V.jsx)(`span`,{className:`ct-chip__value`,children:o}),(0,V.jsx)(`button`,{type:`button`,className:`ct-chip__clear`,"aria-label":`Show runs for every session`,onClick:()=>L({session:null,run:null}),children:(0,V.jsx)(y,{name:`x`,size:12})})]}):null,s?(0,V.jsxs)(`span`,{className:`ct-chip`,children:[`Agent `,(0,V.jsx)(`span`,{className:`ct-chip__value`,children:s}),(0,V.jsx)(`button`,{type:`button`,className:`ct-chip__clear`,"aria-label":`Show runs for every agent`,onClick:()=>L({agent:null,run:null}),children:(0,V.jsx)(y,{name:`x`,size:12})})]}):null]}),typeof v==`number`&&v>0?(0,V.jsxs)(`p`,{className:`ct-scoped-note`,"data-testid":`runs-recovery-notice`,children:[`${v} item(s) from the last gateway restart need a decision`,` ·`,` `,(0,V.jsx)(w,{to:m.view(`recovery`),children:`Review`})]}):null,!_&&z?(0,V.jsx)(l,{message:`Queued and task runs are not available on this gateway.`,hint:`They need SQLite or Postgres session storage (session.storage.backend). Agent turns still show below.`}):null,!_&&B.map(([e,t])=>(0,V.jsx)(l,{tone:`error`,message:`Some ${e===`sessions`?`agent`:`task`} runs could not be listed.`,hint:t.error},e)),(0,V.jsxs)(`div`,{className:F?`ct-split ct-split--open`:`ct-split`,children:[(0,V.jsx)(C,{title:`${P[u]} runs`,sub:`${k.length} shown`,children:_?S.error&&!S.data?(0,V.jsx)(l,{tone:`error`,message:`Runs could not be listed.`,hint:S.error}):S.loading&&!S.data?(0,V.jsx)(l,{tone:`loading`,message:`Loading runs…`}):(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(T,{label:`Runs`,columns:Q,rows:k,rowKey:e=>e.entry.key,selectedKey:a,onRowClick:e=>L({run:e.entry.key}),empty:(0,V.jsx)(l,{message:`No runs match this filter.`,hint:`Runs appear here as agents and scheduled tasks start working.`})}),S.data?.nextCursor?(0,V.jsxs)(`p`,{className:`ct-scoped-note`,children:[`Showing the `,100,` most recent runs.`]}):null]}):t===null?(0,V.jsx)(l,{tone:`loading`,message:`Loading runs…`}):(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(T,{label:`Runs`,columns:Q,rows:k,rowKey:e=>e.entry.key,selectedKey:a,onRowClick:e=>L({run:e.entry.key}),empty:(0,V.jsx)(l,{message:`No runs match this filter.`,hint:`Runs appear here as agents and scheduled tasks start working.`})}),H?(0,V.jsx)(`div`,{className:`ct-load-more`,children:(0,V.jsx)(g,{size:`sm`,onClick:()=>{for(let e of[`queued`,`tasks`,`sessions`])t?.lists[e].cursor&&r(e)},children:`Load more`})}):null]})}),F&&t?(0,V.jsx)(Y,{row:F,detail:t.detail,onClose:()=>L({run:null})}):null]})]})}export{Z as SCOPED_RUNS_LIMIT,ee as default};
|
|
1
|
+
import{_ as e,a as t,c as n,d as r,h as i,i as a,l as o,o as s,r as c,s as l,t as u}from"./format-BPrfsCHW.js";import{i as d,o as f}from"./runs-store-BZTDbQro.js";import{a as p,n as m,o as h}from"./links-vgPLVF05.js";import{t as g}from"./Button-ralPMMNs.js";import{t as _}from"./Dialog-oJKnAIqZ.js";import{n as v,t as y}from"./index-ChHyE-y3.js";import{n as b,t as x}from"./use-gateway-query-7iLwemQz.js";import{t as S}from"./Badge-me4YM1lq.js";import{t as C}from"./Panel-CqcbBXzJ.js";import{t as w}from"./EntityLink-CMtTP9Dk.js";import{t as T}from"./DataTable-BbRrWxor.js";import{t as E}from"./FilterPills-C_zBIqFP.js";import{t as D}from"./StatusDot-CjtPcYD9.js";import{t as O}from"./UpdatedAgo-CJqGVu6_.js";import{a as k,i as A,n as j,o as M,r as N,t as P}from"./run-rows-1MUje5J6.js";import{t as F}from"./PluginPanels-AFbR8qyk.js";var I=e(i(),1);function L(e){return typeof e==`string`&&e.length>0}function R(e){return typeof e==`number`&&Number.isFinite(e)&&e>=0}function z(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function B(e){if(!z(e))return null;let t=e.context;if(!z(t))return null;let n={};if(L(t.provider)&&(n.provider=t.provider),L(t.model)&&(n.model=t.model),L(t.stopReason)&&(n.stopReason=t.stopReason),L(t.errorKind)&&(n.errorKind=t.errorKind),Array.isArray(t.fallbacks)&&(n.fallbacks=t.fallbacks.flatMap(e=>!z(e)||!L(e.provider)||!L(e.model)?[]:[{provider:e.provider,model:e.model,...L(e.reason)?{reason:e.reason}:{}}])),z(t.usage)){let e={};for(let n of[`input`,`output`,`cacheRead`,`cacheWrite`,`total`])R(t.usage[n])&&(e[n]=t.usage[n]);Object.keys(e).length>0&&(n.usage=e)}if(z(t.composition)){let e=t.composition,r=z(e.contextChars)?Object.fromEntries(Object.entries(e.contextChars).filter(e=>R(e[1]))):{};n.composition={systemChars:R(e.systemChars)?e.systemChars:0,bootstrapChars:R(e.bootstrapChars)?e.bootstrapChars:0,skillsChars:R(e.skillsChars)?e.skillsChars:0,toolCount:R(e.toolCount)?e.toolCount:0,toolChars:R(e.toolChars)?e.toolChars:0,contextChars:r,messagesChars:R(e.messagesChars)?e.messagesChars:0,totalChars:R(e.totalChars)?e.totalChars:0,...R(e.firstCallInputTokens)?{firstCallInputTokens:e.firstCallInputTokens}:{}}}return Array.isArray(t.injectedFiles)&&(n.injectedFiles=t.injectedFiles.flatMap(e=>!z(e)||!L(e.name)||!R(e.injectedChars)||!R(e.rawChars)||typeof e.truncated!=`boolean`||typeof e.missing!=`boolean`?[]:[{name:e.name,injectedChars:e.injectedChars,rawChars:e.rawChars,truncated:e.truncated,missing:e.missing}])),Array.isArray(t.tools)&&(n.tools=t.tools.filter(L)),Array.isArray(t.skills)&&(n.skills=t.skills.filter(L)),n}var V=n(),H=[[`System prompt`,`systemChars`],[`Workspace files`,`bootstrapChars`],[`Skills`,`skillsChars`]],U=[[`in`,`input`],[`out`,`output`],[`cache read`,`cacheRead`],[`cache write`,`cacheWrite`],[`total`,`total`]];function W({composition:e}){let n=e.totalChars,r=Object.entries(e.contextChars).map(([e,t])=>({label:`Context · ${e}`,chars:t})).toSorted((e,t)=>t.chars-e.chars),i=H.map(([t,n])=>({label:t,chars:e[n]}));return i.push({label:`Tools (${e.toolCount})`,chars:e.toolChars}),i.push(...r),i.push({label:`Messages`,chars:e.messagesChars}),(0,V.jsx)(`table`,{"data-testid":`run-context-composition`,children:(0,V.jsxs)(`tbody`,{children:[i.map(e=>{let t=n===0?0:e.chars/n*100;return(0,V.jsxs)(`tr`,{children:[(0,V.jsx)(`th`,{scope:`row`,children:e.label}),(0,V.jsx)(`td`,{children:e.chars.toLocaleString(`en-AU`)}),(0,V.jsx)(`td`,{children:n===0?`—`:`${t.toFixed(1)}%`}),(0,V.jsx)(`td`,{className:`ct-context__bar`,children:(0,V.jsx)(`span`,{className:`ct-context-bar`,style:{width:`${Math.min(t,100)}%`}})})]},e.label)}),(0,V.jsxs)(`tr`,{children:[(0,V.jsx)(`th`,{scope:`row`,children:`Total`}),(0,V.jsx)(`td`,{children:n.toLocaleString(`en-AU`)}),(0,V.jsx)(`td`,{}),(0,V.jsx)(`td`,{})]}),e.firstCallInputTokens===void 0?null:(0,V.jsxs)(`tr`,{children:[(0,V.jsx)(`th`,{scope:`row`,children:`First call input tokens`}),(0,V.jsx)(`td`,{children:t(e.firstCallInputTokens)}),(0,V.jsx)(`td`,{}),(0,V.jsx)(`td`,{})]})]})})}function G({title:e,names:t,total:n}){return(0,V.jsxs)(`details`,{children:[(0,V.jsxs)(`summary`,{children:[e,` (`,t.length,`)`]}),(0,V.jsx)(`ul`,{children:t.map(e=>(0,V.jsx)(`li`,{children:e},e))}),n!==void 0&&n>t.length?(0,V.jsxs)(`p`,{children:[`Showing `,t.length,` of `,n]}):null]})}function K({context:e,status:n}){if(e===null)return(0,V.jsxs)(`section`,{children:[(0,V.jsx)(`h3`,{className:`ct-inspector__heading`,children:`Context`}),(0,V.jsx)(l,{message:n===`pending`||n===`running`||n===`recovering`?`Context is recorded when the run ends.`:`No context was recorded for this run.`})]});let r=[];if(e.provider&&e.model&&r.push([`Model`,`${e.provider}/${e.model}`]),e.fallbacks?.length&&r.push([`Fallbacks`,e.fallbacks.map(e=>`${e.provider}/${e.model}${e.reason?` (${e.reason})`:``}`).join(` → `)]),e.usage){let n=e.usage,i=U.filter(([,e])=>n[e]!==void 0).map(([e,r])=>`${e} ${t(n[r])}`).join(` · `);i.length>0&&r.push([`Tokens`,i])}return e.stopReason&&r.push([`Stop reason`,e.stopReason]),e.errorKind&&r.push([`Error`,e.errorKind]),(0,V.jsxs)(`section`,{className:`ct-context`,children:[(0,V.jsx)(`h3`,{className:`ct-inspector__heading`,children:`Context`}),r.length>0?(0,V.jsx)(`dl`,{className:`ct-kv`,children:r.map(([e,t])=>(0,V.jsxs)(`div`,{className:`ct-kv__row`,children:[(0,V.jsx)(`dt`,{children:e}),(0,V.jsx)(`dd`,{children:t})]},e))}):null,e.composition?(0,V.jsx)(W,{composition:e.composition}):null,e.injectedFiles?.length?(0,V.jsx)(`ul`,{className:`ct-context__files`,"data-testid":`run-context-files`,children:e.injectedFiles.map(e=>(0,V.jsxs)(`li`,{children:[(0,V.jsx)(`span`,{children:e.name}),` `,(0,V.jsx)(`span`,{className:`ct-context__size`,children:`${e.injectedChars} / ${e.rawChars} chars`}),` `,e.truncated?(0,V.jsx)(S,{tone:`warn`,children:`Truncated`}):null,e.missing?(0,V.jsx)(S,{tone:`danger`,children:`Missing`}):null]},e.name))}):null,e.tools?.length?(0,V.jsx)(G,{title:`Tools`,names:e.tools,total:e.composition?.toolCount}):null,e.skills?.length?(0,V.jsx)(G,{title:`Skills`,names:e.skills}):null]})}function q(e,t){let n=o(e=>e.request),r=o(e=>e.status===`connected`),[i,a]=(0,I.useState)([]);return(0,I.useEffect)(()=>{a([])},[e]),(0,I.useEffect)(()=>{if(!e||!r)return;let t=!1;return n(`sessions.runs.events`,{sessionRunId:e}).then(e=>{t||a((e.events??[]).map(e=>({id:e.eventId,at:e.createdAt,label:e.eventType})))}).catch(()=>{}),()=>{t=!0}},[n,e,t,r]),i}function J(e,t){return e.task?e.events.map(e=>({id:e.eventId,at:e.createdAt,label:e.eventType})):t}function Y({row:e,detail:t,onClose:n}){let i=o(e=>e.request),f=d(e=>e.refresh),p=r(e=>e.pending),[h,b]=(0,I.useState)(!1),[x,T]=(0,I.useState)(!1),[E,D]=(0,I.useState)(null),O=J(t,q(e.sessionRunId,e.entry.changedAt)),A=e.sessionKey?p.filter(t=>t.sessionKey===e.sessionKey):[],M=e.entry.kind===`session`&&e.filter===`running`&&e.sessionKey,N=e.entry.kind===`session`&&e.entry.status===`needs_recovery_decision`&&e.decisionVersion!==null,L=async(e,t)=>{T(!0),D(null);try{await i(e,t),await f()}catch(e){D(u(e))}finally{T(!1)}},R=B(t.session),z=[[`Agent`,e.agent?(0,V.jsx)(w,{to:m.agent(e.agent),children:e.agent}):`—`],[`Kind`,e.kind],[`Started`,a(e.startedAt)],[`Duration`,c(k(e))],[`Status`,e.entry.status]];return(0,V.jsxs)(C,{className:`ct-inspector`,title:e.entry.title,sub:(0,V.jsx)(`span`,{className:`ct-mono`,children:e.sessionKey??e.entry.subtitle}),testId:`run-inspector`,actions:(0,V.jsx)(`button`,{type:`button`,className:`ct-icon-btn`,"aria-label":`Close run`,onClick:n,children:(0,V.jsx)(y,{name:`x`})}),children:[(0,V.jsxs)(`div`,{className:`ct-inspector__body`,children:[(0,V.jsx)(S,{tone:j[e.filter],children:P[e.filter]}),t.loading?(0,V.jsx)(l,{tone:`loading`,message:`Loading run…`}):null,t.error?(0,V.jsx)(l,{tone:`error`,message:t.error}):null,(0,V.jsx)(`dl`,{className:`ct-kv`,children:z.map(([e,t])=>(0,V.jsxs)(`div`,{className:`ct-kv__row`,children:[(0,V.jsx)(`dt`,{children:e}),(0,V.jsx)(`dd`,{children:t})]},e))}),e.sessionKey?(0,V.jsxs)(`div`,{className:`ct-inspector__links`,children:[(0,V.jsx)(w,{to:m.session(e.sessionKey),children:e.sessionKey}),e.runId?(0,V.jsx)(w,{to:m.session(e.sessionKey,{run:e.runId}),children:`Transcript`}):null]}):null,A.map(e=>(0,V.jsxs)(`div`,{className:`ct-approval`,"data-testid":`run-approval`,children:[(0,V.jsx)(`code`,{className:`ct-approval__command`,children:e.command??`(no command)`}),(0,V.jsx)(v,{approval:e})]},e.id)),(0,V.jsxs)(`div`,{className:`ct-inspector__actions`,children:[M?(0,V.jsxs)(g,{variant:`danger`,disabled:x,onClick:()=>b(!0),children:[(0,V.jsx)(y,{name:`stop`,size:15}),`Abort run`]}):null,N?(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(g,{variant:`primary`,disabled:x,onClick:()=>void L(`sessions.runs.continue`,{sessionRunId:e.sessionRunId,expectedDecisionVersion:e.decisionVersion}),children:`Continue run`}),(0,V.jsx)(g,{variant:`danger`,disabled:x,onClick:()=>void L(`sessions.runs.cancel`,{sessionRunId:e.sessionRunId,expectedDecisionVersion:e.decisionVersion}),children:`Cancel run`})]}):null]}),E?(0,V.jsx)(`p`,{className:`ct-approval__error`,role:`alert`,children:E}):null,(0,V.jsx)(K,{context:R,status:e.entry.status}),(0,V.jsx)(`h3`,{className:`ct-inspector__heading`,children:`Timeline`}),O.length===0?(0,V.jsx)(l,{message:`No recorded events for this run.`}):(0,V.jsx)(`ol`,{className:`ct-timeline`,children:O.map(e=>(0,V.jsxs)(`li`,{className:`ct-timeline__item`,children:[(0,V.jsx)(`span`,{className:`ct-timeline__time ct-mono`,children:new Date(s(e.at)??0).toLocaleTimeString(`en-AU`)}),(0,V.jsx)(`span`,{className:`ct-timeline__label`,children:e.label})]},e.id))}),(0,V.jsx)(F,{placement:`run`,props:{sessionKey:e.sessionKey,runId:e.runId,sessionRunId:e.sessionRunId}})]}),(0,V.jsx)(_,{open:h,title:`Abort run?`,width:`sm`,onClose:()=>b(!1),footer:(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(g,{onClick:()=>b(!1),children:`Keep running`}),(0,V.jsx)(g,{variant:`danger`,disabled:x,onClick:()=>{b(!1),L(`sessions.abort`,{key:e.sessionKey,...e.runId?{runId:e.runId}:{}})},children:`Abort run`})]}),children:(0,V.jsx)(`p`,{children:`The agent stops this turn now. Anything it already replied stays in the transcript.`})})]})}var X=[`all`,`queued`,`running`,`needs`,`failed`,`done`],Z=100,Q=[{key:`status`,label:`Status`,render:e=>(0,V.jsxs)(`span`,{className:`ct-run-status`,children:[(0,V.jsx)(D,{tone:j[e.filter],label:e.entry.status,pulse:e.filter===`running`}),(0,V.jsx)(S,{tone:j[e.filter],children:P[e.filter]})]})},{key:`run`,label:`Run`,render:e=>(0,V.jsxs)(`span`,{className:`ct-cell-stack`,children:[(0,V.jsx)(`span`,{className:`ct-cell-stack__main`,children:e.entry.title}),(0,V.jsx)(`span`,{className:`ct-cell-stack__sub ct-mono`,children:e.sessionKey??e.entry.subtitle})]})},{key:`agent`,label:`Agent`,render:e=>e.agent??`—`},{key:`kind`,label:`Kind`,render:e=>e.kind},{key:`started`,label:`Started`,render:e=>a(e.startedAt)},{key:`duration`,label:`Duration`,align:`end`,mono:!0,render:e=>c(k(e))}];function $(e){return e!==null&&X.includes(e)}function ee(){let e=h(),t=d(e=>e.view),n=d(e=>e.select),r=d(e=>e.loadMore),i=d(e=>e.refresh),a=e.params.get(`run`),o=e.params.get(`session`)||null,s=e.params.get(`agent`)||null,c=e.params.get(`filter`),u=$(c)?c:`all`,_=o!==null||s!==null,v=b(`health`,{},{refreshMs:x}).data?.recovery?.counts?.blocked,S=b(`sessions.runs.list`,{...o?{sessionKey:o}:{},...s?{agentId:s}:{},limit:100},{enabled:_,invalidateOn:[`runs.invalidated`],refreshMs:x});(0,I.useEffect)(()=>{n(a)},[n,a]);let D=(0,I.useMemo)(()=>_?A(S.data?.runs??[]):N(t),[_,S.data,t]),k=u===`all`?D:D.filter(e=>e.filter===u),j=(0,I.useRef)(null),F=null;if(a){let e=D.find(e=>e.entry.key===a)??null;e?(j.current=e,F=e):j.current?.entry.key===a?F=j.current:t?.detail.key===a&&t.detail.session&&(F=M(f(t.detail.session),t.detail.session))}let L=e=>{let t={},n=e.filter??u;n!==`all`&&(t.filter=n);let r=e.session===void 0?o:e.session;r&&(t.session=r);let i=e.agent===void 0?s:e.agent;i&&(t.agent=i);let c=e.run===void 0?a:e.run;c&&(t.run=c),p(`runs`,t)},R=t?Object.entries(t.lists).filter(([,e])=>e.error!==null):[],z=R.some(([,e])=>e.errorCode===`UNAVAILABLE`),B=R.filter(([,e])=>e.errorCode!==`UNAVAILABLE`),H=t?Object.values(t.lists).some(e=>e.cursor!==null):!1;return(0,V.jsxs)(`div`,{className:`ct-page`,"data-testid":`runs-view`,children:[(0,V.jsxs)(`header`,{className:`ct-page__head`,children:[(0,V.jsxs)(`div`,{className:`ct-page__head-text`,children:[(0,V.jsx)(`h1`,{className:`ct-page__title`,children:`Runs`}),(0,V.jsx)(`p`,{className:`ct-page__sub`,children:`Agent turns and task runs across this gateway, live. Select a run to inspect it.`})]}),(0,V.jsx)(O,{at:_?S.updatedAt:t?.lastReconciledAt??null,error:_?S.error:B[0]?.[1].error??null}),(0,V.jsxs)(g,{onClick:()=>{i(),_&&S.reload()},disabled:t?.refreshing,children:[(0,V.jsx)(y,{name:`refresh`,size:15}),`Refresh`]})]}),(0,V.jsxs)(`div`,{className:`ct-toolbar`,children:[(0,V.jsx)(E,{label:`Filter runs`,value:u,onChange:e=>L({filter:e,run:null}),options:X.map(e=>({value:e,label:P[e],count:e===`all`?D.length:D.filter(t=>t.filter===e).length}))}),o?(0,V.jsxs)(`span`,{className:`ct-chip`,children:[`Session `,(0,V.jsx)(`span`,{className:`ct-chip__value`,children:o}),(0,V.jsx)(`button`,{type:`button`,className:`ct-chip__clear`,"aria-label":`Show runs for every session`,onClick:()=>L({session:null,run:null}),children:(0,V.jsx)(y,{name:`x`,size:12})})]}):null,s?(0,V.jsxs)(`span`,{className:`ct-chip`,children:[`Agent `,(0,V.jsx)(`span`,{className:`ct-chip__value`,children:s}),(0,V.jsx)(`button`,{type:`button`,className:`ct-chip__clear`,"aria-label":`Show runs for every agent`,onClick:()=>L({agent:null,run:null}),children:(0,V.jsx)(y,{name:`x`,size:12})})]}):null]}),typeof v==`number`&&v>0?(0,V.jsxs)(`p`,{className:`ct-scoped-note`,"data-testid":`runs-recovery-notice`,children:[`${v} item(s) from the last gateway restart need a decision`,` ·`,` `,(0,V.jsx)(w,{to:m.view(`recovery`),children:`Review`})]}):null,!_&&z?(0,V.jsx)(l,{message:`Queued and task runs are not available on this gateway.`,hint:`They need SQLite or Postgres session storage (session.storage.backend). Agent turns still show below.`}):null,!_&&B.map(([e,t])=>(0,V.jsx)(l,{tone:`error`,message:`Some ${e===`sessions`?`agent`:`task`} runs could not be listed.`,hint:t.error},e)),(0,V.jsxs)(`div`,{className:F?`ct-split ct-split--open`:`ct-split`,children:[(0,V.jsx)(C,{title:`${P[u]} runs`,sub:`${k.length} shown`,children:_?S.error&&!S.data?(0,V.jsx)(l,{tone:`error`,message:`Runs could not be listed.`,hint:S.error}):S.loading&&!S.data?(0,V.jsx)(l,{tone:`loading`,message:`Loading runs…`}):(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(T,{label:`Runs`,columns:Q,rows:k,rowKey:e=>e.entry.key,selectedKey:a,onRowClick:e=>L({run:e.entry.key}),empty:(0,V.jsx)(l,{message:`No runs match this filter.`,hint:`Runs appear here as agents and scheduled tasks start working.`})}),S.data?.nextCursor?(0,V.jsxs)(`p`,{className:`ct-scoped-note`,children:[`Showing the `,100,` most recent runs.`]}):null]}):t===null?(0,V.jsx)(l,{tone:`loading`,message:`Loading runs…`}):(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(T,{label:`Runs`,columns:Q,rows:k,rowKey:e=>e.entry.key,selectedKey:a,onRowClick:e=>L({run:e.entry.key}),empty:(0,V.jsx)(l,{message:`No runs match this filter.`,hint:`Runs appear here as agents and scheduled tasks start working.`})}),H?(0,V.jsx)(`div`,{className:`ct-load-more`,children:(0,V.jsx)(g,{size:`sm`,onClick:()=>{for(let e of[`queued`,`tasks`,`sessions`])t?.lists[e].cursor&&r(e)},children:`Load more`})}):null]})}),F&&t?(0,V.jsx)(Y,{row:F,detail:t.detail,onClose:()=>L({run:null})}):null]})]})}export{Z as SCOPED_RUNS_LIMIT,ee as default};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{_ as e,a as t,c as n,h as r,i,l as a,n as o,r as s,s as c,t as l}from"./format-
|
|
1
|
+
import{_ as e,a as t,c as n,h as r,i,l as a,n as o,r as s,s as c,t as l}from"./format-BPrfsCHW.js";import{a as u,i as d,n as f}from"./runs-store-BZTDbQro.js";import{n as p}from"./gateway-features-SDBnjY95.js";import{a as m,n as h,o as g,t as _}from"./links-vgPLVF05.js";import{t as v}from"./Button-ralPMMNs.js";import{i as y,r as b,t as x}from"./index-ChHyE-y3.js";import{n as S}from"./use-gateway-query-7iLwemQz.js";import{t as C}from"./Badge-me4YM1lq.js";import{t as w}from"./Panel-CqcbBXzJ.js";import{t as T}from"./EntityLink-CMtTP9Dk.js";import{t as E}from"./Stat-BRQhQ01w.js";import{t as D}from"./DataTable-BbRrWxor.js";import{t as O}from"./FilterPills-C_zBIqFP.js";import{n as k,r as A,t as j}from"./usage-range-C-j75vK8.js";import{t as ee}from"./UpdatedAgo-CJqGVu6_.js";import{t as M}from"./PluginPanels-AFbR8qyk.js";var N=e(r(),1);function P(e){let t=I(e.role)?.toLowerCase();return t===`toolresult`||t===`tool_result`||t===`tool`||t===`function`||I(e.toolCallId)!==void 0||I(e.tool_call_id)!==void 0||I(e.toolName)!==void 0||I(e.tool_name)!==void 0}var F=new Set([`toolcall`,`tooluse`,`tool_use`,`functioncall`,`function_call`,`tool_call`]);function I(e){return typeof e==`string`&&e.trim()?e:void 0}function L(e){return e&&typeof e==`object`&&!Array.isArray(e)?e:null}function R(e){return typeof e==`string`?e:Array.isArray(e)?e.map(e=>{let t=L(e);return t&&typeof t.text==`string`?t.text:null}).filter(e=>e!==null).join(`
|
|
2
2
|
`):typeof e==`object`&&e?JSON.stringify(e,null,2):``}function z(e){let t=I(e.toolCallId)??I(e.tool_call_id);if(P(e)){let n=I(e.error),r=R(e.content??e.output)||(n??``),i=e.isError===!0||n!==void 0;return[{kind:`toolResult`,id:t??I(e.toolUseId)??I(e.call_id)??null,isError:i,text:r}]}let n=e.content;if(typeof n==`string`)return n?[{kind:`text`,text:n}]:[];if(!Array.isArray(n))return typeof e.text==`string`&&e.text?[{kind:`text`,text:e.text}]:[];let r=[];for(let e of n){let t=L(e);if(!t)continue;let n=I(t.type);if(n!==void 0&&(n===`text`||n===`output_text`||n===`input_text`)&&typeof t.text==`string`){r.push({kind:`text`,text:t.text});continue}if(n!==void 0&&(n===`thinking`||n===`reasoning`)&&typeof(t.thinking??t.text)==`string`){r.push({kind:`thinking`,text:t.thinking??t.text});continue}if(n!==void 0&&F.has(n.toLowerCase())){let e=L(t.function),n=I(t.id)??I(t.toolCallId)??I(t.call_id),i=I(t.name)??I(e?.name),a=t.arguments??t.input??(e?.arguments===void 0?void 0:e.arguments);r.push({kind:`toolCall`,id:n??null,name:i??`tool`,args:JSON.stringify(a??{},null,2)});continue}if(n===`toolResult`||n===`tool_result`){let e=I(t.toolCallId)??I(t.toolUseId)??I(t.id);r.push({kind:`toolResult`,id:e??null,isError:t.isError===!0||I(t.error)!==void 0,text:R(t.content??t.output)})}}return r}function B(e){let t=typeof e==`string`?e.toLowerCase():``;return t===`user`||t===`assistant`||t===`system`?t:`other`}function V(e){return e.map((e,t)=>{let n=L(e),r=n?L(n.__openclaw):null,i=n?.timestamp??n?.timestampMs;return{rowId:I(r?.rowId)??String(t),entryId:I(r?.id)??null,runId:I(r?.runId)??null,transcriptId:I(r?.transcriptId)??null,role:n&&P(n)?`tool`:B(n?.role),timestamp:typeof i==`number`?i:null,blocks:n?z(n):[]}})}var H=n(),U=50,W=200,G=1e3,te=20,K=`ct-transcript__item--anchor`,q={user:`accent`,assistant:`ok`,tool:`warn`,system:`neutral`,other:`neutral`};function J(e,t){return!(t.entry!==void 0&&e.entryId!==t.entry||t.run!==void 0&&e.runId!==t.run)}function Y({item:e,sessionKey:t,index:n}){if(e.runId===null)return null;let r=n.get(e.runId);return r===void 0?(0,H.jsx)(T,{to:h.runs({session:t}),children:`Runs`}):(0,H.jsx)(T,{to:h.run(`session:${r}`),children:`Run`})}function X({block:e}){return e.kind===`text`?(0,H.jsx)(`p`,{className:`ct-transcript__text`,children:e.text}):e.kind===`thinking`?(0,H.jsxs)(`details`,{className:`ct-transcript__thinking`,children:[(0,H.jsx)(`summary`,{children:`Thinking`}),(0,H.jsx)(`p`,{className:`ct-transcript__text`,children:e.text})]}):e.kind===`toolCall`?(0,H.jsxs)(`details`,{className:`ct-transcript__tool`,children:[(0,H.jsxs)(`summary`,{children:[`Tool call · `,e.name]}),(0,H.jsx)(`pre`,{children:e.args})]}):(0,H.jsxs)(`details`,{className:`ct-transcript__result`,children:[(0,H.jsx)(`summary`,{children:e.isError?(0,H.jsx)(C,{tone:`danger`,children:`Error`}):`Result`}),(0,H.jsx)(`pre`,{children:e.text})]})}function Z(e){let{sessionKey:t}=e,n=e.anchor.entry,r=e.anchor.run,o=n!==void 0||r!==void 0,s=(0,N.useMemo)(()=>({entry:n,run:r}),[n,r]),u=a(e=>e.request),d=a(e=>e.status),f=p(`chat.history.spanTranscripts`),m=S(`sessions.runs.list`,{sessionKey:t,limit:100},{invalidateOn:[`runs.invalidated`]}),h=(0,N.useMemo)(()=>{let e=new Map;for(let t of m.data?.runs??[])e.set(t.runId,t.sessionRunId);return e},[m.data]),[g,_]=(0,N.useState)([]),[y,b]=(0,N.useState)(!1),[x,w]=(0,N.useState)(null),[T,E]=(0,N.useState)(!0),[D,O]=(0,N.useState)(null),[k,A]=(0,N.useState)(o?`pending`:`found`),j=(0,N.useRef)(0),M=(0,N.useRef)(0),P=(0,N.useRef)(null),F=(0,N.useRef)(null),[I,L]=(0,N.useState)(!1),R=(0,N.useRef)(null),z=(0,N.useCallback)(async()=>{let e=++j.current;M.current=0,w(null),E(!0),_([]),P.current=null,b(!1),F.current=null,L(!1),A(o?`pending`:`found`);try{let n=o?W:U,r=await u(`chat.history`,{sessionKey:t,limit:n,...f?{spanTranscripts:!0}:{}});if(j.current!==e)return;M.current+=1;let i=V(r.messages??[]),a=r.cursor??null,c=r.hasMore===!0;for(;o&&!i.some(e=>J(e,s))&&c&&a!==null&&i.length<G&&M.current<te;){let r=await u(`chat.history`,{sessionKey:t,limit:n,before:a,...f?{spanTranscripts:!0}:{}});if(j.current!==e)return;M.current+=1,i=[...V(r.messages??[]),...i],a=r.cursor??null,c=r.hasMore===!0}_(i),P.current=a,b(c),O(Date.now()),o&&A(i.some(e=>J(e,s))?`found`:`missing`)}catch(t){j.current===e&&w(l(t))}finally{j.current===e&&E(!1)}},[u,t,s,o,f]);(0,N.useEffect)(()=>(d===`connected`&&z(),()=>{j.current+=1}),[z,d]);let B=(0,N.useCallback)(async()=>{let e=P.current,n=j.current;if(!(F.current===n||e===null)){F.current=n,L(!0);try{let r=await u(`chat.history`,{sessionKey:t,limit:U,before:e,...f?{spanTranscripts:!0}:{}});if(j.current!==n||P.current!==e)return;_(e=>[...V(r.messages??[]),...e]),P.current=r.cursor??null,b(r.hasMore===!0)}catch(e){j.current===n&&w(l(e))}finally{F.current===n&&(F.current=null,L(!1))}}},[u,t,f]),Z=o&&k===`found`;return(0,N.useEffect)(()=>{if(!Z)return;let e=R.current?.querySelector(`.${K}`);e instanceof HTMLElement&&e.scrollIntoView?.({block:`center`})},[Z,g]),(0,H.jsxs)(`div`,{"data-testid":`session-transcript`,className:`ct-transcript-wrap`,children:[(0,H.jsxs)(`div`,{className:`ct-transcript__bar`,children:[(0,H.jsx)(v,{size:`sm`,onClick:()=>void z(),children:`Refresh`}),(0,H.jsx)(ee,{at:D,error:x})]}),x!==null&&g.length===0?(0,H.jsx)(c,{message:x,tone:`error`}):g.length===0&&T?(0,H.jsx)(c,{message:`Loading transcript…`,tone:`loading`}):null,(0,H.jsx)(`ol`,{className:`ct-transcript`,ref:R,children:g.map((e,n)=>{let r=Z&&J(e,s),a=n>0?g[n-1]:void 0;return(0,H.jsxs)(N.Fragment,{children:[e.transcriptId!==null&&a!==void 0&&a.transcriptId!==null&&a.transcriptId!==e.transcriptId?(0,H.jsxs)(`li`,{role:`separator`,className:`ct-transcript__divider`,"data-testid":`transcript-divider`,children:[`New session`,e.timestamp===null?null:(0,H.jsxs)(H.Fragment,{children:[` · `,i(e.timestamp)]})]}):null,(0,H.jsxs)(`li`,{className:r?`ct-transcript__item ${K}`:`ct-transcript__item`,"aria-current":r?`true`:void 0,children:[(0,H.jsxs)(`div`,{className:`ct-transcript__head`,children:[(0,H.jsx)(C,{tone:q[e.role],children:e.role}),(0,H.jsx)(`span`,{className:`ct-transcript__time`,children:e.timestamp===null?null:i(e.timestamp)}),(0,H.jsx)(Y,{item:e,sessionKey:t,index:h})]}),e.blocks.map((e,t)=>(0,H.jsx)(X,{block:e},t))]})]},e.entryId??`row:${n}:${e.rowId}`)})}),g.length===0&&!T&&x===null&&k!==`missing`?(0,H.jsx)(c,{message:`No transcript messages.`}):null,y?(0,H.jsx)(v,{size:`sm`,onClick:()=>void B(),disabled:I,children:`Load older`}):null,k===`missing`?(0,H.jsx)(c,{message:y?`The linked message is older than the last ${g.length.toLocaleString(`en-US`)} messages.`:`The linked message is not in this session's transcript.`}):null]})}var ne=[{key:`model`,label:`Model`,mono:!0,render:e=>{let t=e.provider?`${e.provider}/${e.model??`—`}`:e.model??`—`;return e.actualModel&&e.actualModel!==e.model?`${t} → ${e.actualModel}`:t}},{key:`count`,label:`Calls`,align:`end`,mono:!0,render:e=>e.count},{key:`cost`,label:`Cost`,align:`end`,mono:!0,render:e=>o(e.totals?.totalCost)}],Q=[{key:`name`,label:`Tool`,mono:!0,render:e=>e.name},{key:`count`,label:`Calls`,align:`end`,mono:!0,render:e=>e.count}];function $({sessionKey:e}){let[n,r]=(0,N.useState)(`30d`),i=S(`sessions.usage`,{...A(n),key:e,limit:1}),a=i.data?.sessions?.[0],l=i.data?.totals,u=i.data?.aggregates,d=l?.missingCostEntries??0,f=a?.usage!==void 0&&a.usage!==null;return(0,H.jsxs)(`div`,{"data-testid":`session-usage`,children:[(0,H.jsxs)(`div`,{className:`ct-session-usage__head`,children:[(0,H.jsx)(O,{label:`Usage range`,value:n,onChange:r,options:j.map(e=>({value:e,label:k[e]}))}),(0,H.jsx)(`div`,{className:`ct-toolbar__grow`}),(0,H.jsxs)(`div`,{className:`ct-session-usage__meta`,children:[(0,H.jsx)(ee,{at:i.updatedAt,error:i.error}),(0,H.jsxs)(v,{size:`sm`,onClick:i.reload,disabled:i.loading,children:[(0,H.jsx)(x,{name:`refresh`,size:14}),`Refresh`]})]})]}),i.error?(0,H.jsx)(c,{tone:`error`,message:`Session usage is unavailable.`,hint:i.error}):null,f&&l&&u?(0,H.jsxs)(H.Fragment,{children:[d>0?(0,H.jsx)(`p`,{className:`ct-session-usage__missing`,"data-testid":`session-usage-missing`,children:`${d} messages have no price; spend is a lower bound.`}):null,(0,H.jsxs)(`div`,{className:`ct-stat-grid`,role:`group`,"aria-label":`Session usage`,children:[(0,H.jsx)(E,{label:`Spend`,value:o(l.totalCost),sub:k[n]}),(0,H.jsx)(E,{label:`Tokens`,value:t(l.totalTokens)}),(0,H.jsx)(E,{label:`Messages`,value:u.messages.total}),(0,H.jsx)(E,{label:`Tool calls`,value:u.messages.toolCalls}),(0,H.jsx)(E,{label:`Errors`,value:u.messages.errors}),(0,H.jsx)(E,{label:`p95 latency`,value:s(u.latency?.p95Ms)})]}),(0,H.jsxs)(`div`,{className:`ct-session-usage__tables`,children:[(0,H.jsx)(D,{label:`Models`,columns:ne,rows:u.byModel,rowKey:e=>JSON.stringify([e.provider,e.model,e.actualModel]),empty:(0,H.jsx)(c,{message:`No model calls in this range.`})}),(0,H.jsx)(D,{label:`Tools`,columns:Q,rows:u.tools.tools,rowKey:e=>e.name,empty:(0,H.jsx)(c,{message:`No tool calls in this range.`})})]})]}):i.loading&&i.data===null?(0,H.jsx)(c,{tone:`loading`,message:`Loading usage…`}):i.error?null:(0,H.jsx)(c,{message:`No usage recorded in this range.`})]})}function re({sessionKey:e,row:n,tab:r=`overview`,anchor:a={},onTabChange:o,onClose:s}){let l=S(`sessions.describe`,{key:e,includeDerivedTitles:!0},{enabled:n===null}),u=n??l.data?.session??null,d=n===null&&l.error!==null,f=u?.derivedTitle??u?.displayName??u?.label??e,p=typeof u?.totalTokens==`number`?typeof u.contextTokens==`number`&&u.contextTokens>0?`${t(u.totalTokens)} / ${t(u.contextTokens)}`:t(u.totalTokens):`—`,m=[[`Channel`,u?.channel??`—`],[`Model`,u?.model??`—`],[`Tokens`,p],[`Updated`,i(u?.updatedAt??null)],[`Agent`,u?.agentId?(0,H.jsx)(T,{to:h.agent(u.agentId),children:u.agentId}):`—`],[`Parent`,u?.parentSessionKey?(0,H.jsx)(T,{to:h.session(u.parentSessionKey),children:u.parentSessionKey}):`—`]];return(0,H.jsx)(w,{className:`ct-inspector`,title:f,sub:(0,H.jsx)(`span`,{className:`ct-mono`,children:e}),testId:`session-inspector`,actions:(0,H.jsx)(`button`,{type:`button`,className:`ct-icon-btn`,"aria-label":`Close session`,onClick:s,children:(0,H.jsx)(x,{name:`x`})}),children:(0,H.jsxs)(`div`,{className:`ct-inspector__body`,children:[(0,H.jsx)(O,{label:`Session sections`,value:r,onChange:e=>o?.(e),options:[{value:`overview`,label:`Overview`},{value:`transcript`,label:`Transcript`},{value:`usage`,label:`Usage`}]}),r===`overview`?d?(0,H.jsx)(c,{tone:`error`,message:`Session not found.`,hint:l.error}):(0,H.jsxs)(H.Fragment,{children:[(0,H.jsx)(`dl`,{className:`ct-kv`,children:m.map(([e,t])=>(0,H.jsxs)(`div`,{className:`ct-kv__row`,children:[(0,H.jsx)(`dt`,{children:e}),(0,H.jsx)(`dd`,{children:t})]},e))}),(0,H.jsx)(`div`,{className:`ct-inspector__actions`,children:(0,H.jsx)(v,{onClick:()=>_(h.runs({session:e})),children:`View runs`})}),(0,H.jsx)(M,{placement:`session`,props:{sessionKey:e}})]}):null,r===`transcript`?(0,H.jsx)(Z,{sessionKey:e,anchor:a}):null,r===`usage`?(0,H.jsx)($,{sessionKey:e}):null]})})}var ie=50,ae=200,oe=250,se=.8,ce=1e3,le={all:`All`,active:`Active`,idle:`Idle`};function ue({row:e}){let{totalTokens:n,contextTokens:r}=e;if(typeof n!=`number`||typeof r!=`number`||r<=0)return(0,H.jsx)(`span`,{className:`ct-muted`,children:`—`});let i=n/r,a=`${t(n)} / ${t(r)}`;return i>=se?(0,H.jsx)(C,{tone:`warn`,children:`${a} · ${Math.round(i*100)}%`}):(0,H.jsx)(`span`,{className:`ct-mono`,children:a})}var de=[{key:`title`,label:`Session`,render:e=>(0,H.jsxs)(`span`,{className:`ct-cell-stack`,children:[(0,H.jsx)(`span`,{className:`ct-cell-stack__main`,children:e.derivedTitle??e.displayName??e.label??e.key}),(0,H.jsx)(`span`,{className:`ct-cell-stack__sub ct-mono`,children:e.key})]})},{key:`channel`,label:`Channel`,render:e=>e.channel??`—`},{key:`model`,label:`Model`,mono:!0,render:e=>e.model??`—`},{key:`context`,label:`Context`,render:e=>(0,H.jsx)(ue,{row:e})},{key:`updated`,label:`Last active`,render:e=>i(e.updatedAt)}];function fe(){let e=g(),t=a(e=>e.request),n=a(e=>e.status),r=a(e=>e.subscribe),i=y(),o=d(e=>e.view),s=(0,N.useMemo)(()=>f(o),[o]),p=e.params.get(`agent`)??void 0,h=e.params.get(`filter`),_=h===`active`||h===`idle`?h:`all`,S=e.params.get(`q`)??``,C=e.params.get(`session`)??void 0,T=e.params.get(`tab`),E=e.params.get(`entry`)??void 0,k=e.params.get(`run`)??void 0,A=T===`transcript`||T===`usage`?T:E!==void 0||k!==void 0?`transcript`:`overview`,[j,M]=(0,N.useState)([]),[P,F]=(0,N.useState)(null),[I,L]=(0,N.useState)(null),[R,z]=(0,N.useState)(!0),[B,V]=(0,N.useState)(null),[U,W]=(0,N.useState)(S),G=(0,N.useRef)(0),te=(0,N.useRef)(j);te.current=j,(0,N.useEffect)(()=>{W(S)},[S]);let K=(0,N.useCallback)(e=>{let t={},n={agent:p,filter:_===`all`?void 0:_,q:S||void 0,session:C,tab:A===`overview`?void 0:A,entry:E,run:k};for(let[t,r]of Object.entries(e))n[t]=r===null?void 0:r;for(let[e,r]of Object.entries(n))r!==void 0&&(t[e]=r);m(`sessions`,t)},[p,_,S,C,A,E,k]),q=(0,N.useCallback)(async(e,n=ie)=>{let r=++G.current;z(!0);try{let i=await t(`sessions.list`,{includeDerivedTitles:!0,...p?{agentId:p}:{},...S?{search:S}:{},offset:e,limit:n});if(r!==G.current)return;let a=Array.isArray(i.sessions)?i.sessions:[];M(t=>e===0?a:[...t,...a]),F(typeof i.nextOffset==`number`?i.nextOffset:null),L(Date.now()),V(null)}catch(e){r===G.current&&V(l(e))}finally{r===G.current&&z(!1)}},[t,p,S]),J=(0,N.useCallback)(async()=>{let e=te.current.length;e>ae||await q(0,Math.max(e,ie))},[q]),Y=(0,N.useRef)(!1);(0,N.useEffect)(()=>{n===`connected`&&(Y.current=!1,q(0))},[q,n]);let X=(0,N.useRef)(S);X.current=S;let Z=(0,N.useRef)(K);Z.current=K,(0,N.useEffect)(()=>{let e=window.setTimeout(()=>{let e=U.trim();e!==X.current&&Z.current({q:e||null})},oe);return()=>window.clearTimeout(e)},[U]),(0,N.useEffect)(()=>{if(n!==`connected`)return;let e=null,t=()=>{if(!b()){Y.current=!0;return}e===null&&(e=window.setTimeout(()=>{e=null,Y.current=!1,J()},ce))},a=[r(`sessions.changed`,t),r(`runs.invalidated`,e=>{u(e)?.scope===`session`&&t()})];return i&&Y.current&&(Y.current=!1,J()),()=>{e!==null&&(Y.current=!0,window.clearTimeout(e));for(let e of a)e()}},[n,i,r,J]);let ne=_===`all`?j:j.filter(e=>s.has(e.key)===(_===`active`)),Q=(0,N.useRef)(null),$=null;if(C){let e=j.find(e=>e.key===C)??null;e?(Q.current=e,$=e):Q.current?.key===C&&($=Q.current)}return(0,H.jsxs)(`div`,{className:`ct-page`,"data-testid":`sessions-view`,children:[(0,H.jsxs)(`header`,{className:`ct-page__head`,children:[(0,H.jsxs)(`div`,{className:`ct-page__head-text`,children:[(0,H.jsx)(`h1`,{className:`ct-page__title`,children:`Sessions`}),(0,H.jsx)(`p`,{className:`ct-page__sub`,children:`Every conversation this gateway holds. Select one to inspect it.`})]}),(0,H.jsxs)(`div`,{className:`ct-session-refresh`,children:[(0,H.jsx)(ee,{at:I,error:B}),(0,H.jsxs)(v,{onClick:()=>void q(0),disabled:R,children:[(0,H.jsx)(x,{name:`refresh`,size:15}),`Refresh`]})]})]}),(0,H.jsxs)(`div`,{className:`ct-toolbar`,children:[(0,H.jsx)(O,{label:`Filter sessions`,value:_,onChange:e=>K({filter:e===`all`?null:e}),options:[`all`,`active`,`idle`].map(e=>({value:e,label:le[e]}))}),p?(0,H.jsxs)(`span`,{className:`ct-chip`,"data-testid":`sessions-agent-chip`,children:[`Agent: `,(0,H.jsx)(`span`,{className:`ct-chip__value`,children:p}),(0,H.jsx)(`button`,{type:`button`,className:`ct-chip__clear`,"aria-label":`Show sessions for every agent`,onClick:()=>K({agent:null}),children:(0,H.jsx)(x,{name:`x`,size:12})})]}):null,(0,H.jsx)(`div`,{className:`ct-toolbar__grow`}),(0,H.jsxs)(`label`,{className:`ct-search`,children:[(0,H.jsx)(x,{name:`search`,size:15}),(0,H.jsx)(`input`,{className:`ct-search__input`,type:`search`,placeholder:`Search sessions`,"aria-label":`Search sessions`,value:U,onChange:e=>W(e.target.value)})]})]}),(0,H.jsxs)(`div`,{className:C?`ct-split ct-split--open`:`ct-split`,children:[(0,H.jsxs)(w,{title:`${le[_]} sessions`,sub:`${ne.length} shown`,children:[B?(0,H.jsx)(c,{tone:`error`,message:`Sessions could not be listed.`,hint:B}):null,R&&j.length===0?(0,H.jsx)(c,{tone:`loading`,message:`Loading sessions…`}):(0,H.jsx)(D,{label:`Sessions`,columns:de,rows:ne,rowKey:e=>e.key,selectedKey:C,onRowClick:e=>K({session:e.key,entry:null,run:null}),empty:(0,H.jsx)(c,{message:S?`No sessions match “${S}”.`:`No sessions yet.`})}),P===null?null:(0,H.jsx)(`div`,{className:`ct-load-more`,children:(0,H.jsx)(v,{size:`sm`,disabled:R,onClick:()=>void q(P),children:`Load more`})})]}),C?(0,H.jsx)(re,{sessionKey:C,row:$,tab:A,anchor:{entry:E,run:k},onTabChange:e=>K({tab:e===`overview`?null:e,entry:null,run:null}),onClose:()=>K({session:null,tab:null,entry:null,run:null})},C):null]})]})}export{ce as SESSIONS_REFRESH_COALESCE_MS,fe as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{_ as e,c as t,h as n,s as r,t as i}from"./format-
|
|
1
|
+
import{_ as e,c as t,h as n,s as r,t as i}from"./format-BPrfsCHW.js";import{t as a}from"./Button-ralPMMNs.js";import{t as o}from"./Dialog-oJKnAIqZ.js";import{i as s,n as c,r as l,t as u}from"./config-store-DiHUH-77.js";import{l as d,s as f}from"./form-utils-BkwTm73v.js";import{t as p}from"./Badge-me4YM1lq.js";import{i as m,n as h,r as g,t as _}from"./ConfigForm-IOs1Exic.js";var v=e(n(),1),y=e(s(),1);function b(e,t){let n=e?.properties;return n?Object.entries(n).map(([e])=>({key:e,label:h(e),order:f([e],t)?.order??50})).toSorted((e,t)=>e.order===t.order?e.key.localeCompare(t.key):e.order-t.order):[]}var x=[`security`,`auth`,`network`,`access`,`privacy`,`observability`,`performance`,`reliability`,`storage`,`models`,`media`,`automation`,`channels`,`tools`,`advanced`];function ee(e){try{return y.default.parse(e),{ok:!0}}catch(e){return{ok:!1,error:i(e)}}}var S=t();function C({message:e,onReload:t}){return(0,S.jsxs)(`div`,{className:`ct-settings__callout`,role:`alert`,"data-testid":`settings-error`,children:[(0,S.jsx)(`p`,{className:`ct-settings__callout-msg`,children:e}),(0,S.jsx)(a,{size:`sm`,"data-testid":`settings-error-reload`,onClick:t,children:`Reload from gateway`})]})}function w(){let e=l(e=>e.snapshot),t=l(e=>e.schema),n=l(e=>e.draft),i=l(e=>e.dirty),s=l(e=>e.busy),f=l(e=>e.error),h=l(e=>e.pendingRestart),[y,w]=(0,v.useState)(`form`),[T,E]=(0,v.useState)(``),[D,O]=(0,v.useState)(null),[k,A]=(0,v.useState)(null),[j,M]=(0,v.useState)(!1),[N,P]=(0,v.useState)(!1),[F,I]=(0,v.useState)(!1),[L,R]=(0,v.useState)(!1),z=(0,v.useRef)(!1);(0,v.useEffect)(()=>{z.current||(z.current=!0,l.getState().load())},[]);let B=e?.raw??null;(0,v.useEffect)(()=>{j||A(B)},[B,j]);let V=(0,v.useMemo)(()=>{let e=t?.schema;return d(e)?e:null},[t]),H=t?.uiHints??{},U=(0,v.useMemo)(()=>b(V,H),[V,H]),W=(0,v.useMemo)(()=>u({draft:n,snapshot:e}),[n,e]),G=y===`raw`&&k!==null?ee(k):{ok:!0},K=i||j,q=y===`form`?W.length>0:k!==null&&k!==B,J=s||!q||y===`raw`&&!G.ok,Y=async e=>{let t=y===`raw`&&k!==null?k:void 0;await l.getState().save(e,t);let n=l.getState();n.error===null&&n.pendingRestart===null&&M(!1)},X=async()=>{let e=l.getState().pendingRestart?.method??null;await l.getState().confirmRestart();let t=l.getState();e===`config.apply`&&t.pendingRestart===null&&t.error===null&&M(!1)},Z=()=>{l.getState().reset(),A(B),M(!1),P(!1)},Q=async()=>{M(!1);let e=l.getState();e.dirty&&e.reset(),await e.load()},$=()=>{if(K){I(!0);return}Q()};if(!e)return(0,S.jsxs)(`div`,{className:`ct-page`,"data-testid":`settings-view`,children:[(0,S.jsx)(`header`,{className:`ct-page__head`,children:(0,S.jsxs)(`div`,{className:`ct-page__head-text`,children:[(0,S.jsx)(`h1`,{className:`ct-page__title`,children:`Settings`}),(0,S.jsx)(`p`,{className:`ct-page__sub`,children:`Gateway configuration, form and raw.`})]})}),s?(0,S.jsx)(r,{tone:`loading`,message:`Loading settings…`,testId:`settings-loading`}):f?(0,S.jsx)(C,{message:f,onReload:$}):(0,S.jsx)(r,{message:`No configuration loaded.`,hint:`Reload from the gateway.`})]});let te=y===`form`?`${W.length} unsaved change${W.length===1?``:`s`}`:`Unsaved changes`;return(0,S.jsxs)(`div`,{className:`ct-page`,"data-testid":`settings-view`,children:[(0,S.jsx)(`header`,{className:`ct-page__head`,children:(0,S.jsxs)(`div`,{className:`ct-page__head-text`,children:[(0,S.jsx)(`h1`,{className:`ct-page__title`,children:`Settings`}),(0,S.jsx)(`p`,{className:`ct-page__sub`,children:`Gateway configuration, form and raw.`})]})}),(0,S.jsxs)(`div`,{className:`ct-settings__layout`,children:[(0,S.jsxs)(`aside`,{className:`ct-settings__side`,children:[(0,S.jsxs)(`div`,{className:`ct-settings__side-head`,children:[(0,S.jsx)(`span`,{className:`ct-settings__side-title`,children:`Configuration`}),e.valid===!1?(0,S.jsx)(p,{tone:`danger`,children:`invalid`}):e.valid===!0?(0,S.jsx)(p,{tone:`ok`,children:`valid`}):null]}),(0,S.jsx)(`input`,{className:`cfg-input ct-settings__search`,"data-testid":`settings-search`,placeholder:`Search settings…`,value:T,onChange:e=>E(e.target.value)}),(0,S.jsx)(`div`,{className:`ct-settings__tags`,role:`group`,"aria-label":`Tag filters`,children:x.map(e=>{let t=g(T,e);return(0,S.jsxs)(`button`,{type:`button`,className:t?`ct-settings__tag ct-settings__tag--active`:`ct-settings__tag`,"data-testid":`settings-tag-${e}`,"aria-pressed":t,onClick:()=>E(m(T,e)),children:[`tag:`,e]},e)})}),(0,S.jsxs)(`nav`,{className:`ct-settings__nav`,"data-testid":`settings-nav`,"aria-label":`Config sections`,children:[(0,S.jsx)(`button`,{type:`button`,className:D===null?`ct-settings__nav-item ct-settings__nav-item--active`:`ct-settings__nav-item`,"data-testid":`settings-section-all`,onClick:()=>O(null),children:`All settings`}),U.map(e=>(0,S.jsx)(`button`,{type:`button`,className:D===e.key?`ct-settings__nav-item ct-settings__nav-item--active`:`ct-settings__nav-item`,"data-testid":`settings-section-${e.key}`,onClick:()=>O(e.key),children:e.label},e.key))]}),(0,S.jsxs)(`div`,{className:`ct-settings__modes`,role:`group`,"aria-label":`Editor mode`,children:[(0,S.jsx)(`button`,{type:`button`,"data-testid":`settings-mode-form`,className:y===`form`?`ct-settings__mode ct-settings__mode--active`:`ct-settings__mode`,disabled:V===null,onClick:()=>w(`form`),children:`Form`}),(0,S.jsx)(`button`,{type:`button`,"data-testid":`settings-mode-raw`,className:y===`raw`?`ct-settings__mode ct-settings__mode--active`:`ct-settings__mode`,onClick:()=>{let e=l.getState();e.dirty&&!j&&A(c(e.draft,e.schema?.schema??null)),w(`raw`)},children:`Raw`})]})]}),(0,S.jsxs)(`div`,{className:`ct-settings__main`,children:[(0,S.jsxs)(`div`,{className:`ct-settings__toolbar`,children:[q?(0,S.jsx)(`span`,{className:`ct-settings__changes`,"data-testid":`settings-pending`,children:te}):null,(0,S.jsxs)(`div`,{className:`ct-settings__actions`,children:[(0,S.jsx)(a,{size:`sm`,"data-testid":`settings-reload`,disabled:s,onClick:$,children:`Reload`}),(0,S.jsx)(a,{size:`sm`,"data-testid":`settings-reset`,disabled:!K||s,onClick:()=>P(!0),children:`Reset`}),(0,S.jsx)(a,{size:`sm`,"data-testid":`settings-update`,disabled:s,onClick:()=>R(!0),children:`Update`}),(0,S.jsx)(a,{size:`sm`,variant:`primary`,"data-testid":`settings-save`,disabled:J,onClick:()=>void Y(`set`),children:`Save`}),(0,S.jsx)(a,{size:`sm`,variant:`primary`,"data-testid":`settings-apply`,disabled:J,onClick:()=>void Y(`apply`),children:`Save & restart`})]})]}),f?(0,S.jsx)(C,{message:f,onReload:$}):null,e.issues.length>0?(0,S.jsxs)(`div`,{className:`ct-settings__issues`,role:`alert`,"data-testid":`settings-issues`,children:[(0,S.jsxs)(`p`,{className:`ct-settings__issues-title`,children:[`The saved config has `,e.issues.length,` validation issue`,e.issues.length===1?``:`s`,`:`]}),(0,S.jsx)(`ul`,{children:e.issues.map((e,t)=>(0,S.jsxs)(`li`,{className:`ct-settings__issue`,children:[(0,S.jsx)(`span`,{className:`ct-mono`,children:e.path}),` — `,e.message]},`${e.path}:${t}`))})]}):null,y===`form`?(0,S.jsxs)(S.Fragment,{children:[W.length>0?(0,S.jsxs)(`details`,{className:`ct-settings__diff`,"data-testid":`settings-pending-list`,children:[(0,S.jsxs)(`summary`,{children:[`View `,W.length,` pending change`,W.length===1?``:`s`]}),(0,S.jsx)(`div`,{className:`ct-settings__diff-list`,children:W.map(e=>(0,S.jsx)(`div`,{className:`ct-settings__diff-path ct-mono`,"data-testid":`settings-pending-path`,children:e},e))})]}):null,(0,S.jsx)(_,{schema:V,uiHints:H,value:n,disabled:s,search:T,rootPath:D===null?void 0:[D],onPatch:(e,t)=>l.getState().setPath(e,t)})]}):(0,S.jsxs)(`div`,{className:`ct-settings__raw`,children:[G.ok?null:(0,S.jsx)(`div`,{className:`ct-settings__raw-error`,role:`alert`,"data-testid":`settings-raw-error`,children:G.error}),(0,S.jsx)(`textarea`,{className:`ct-settings__raw-text`,"data-testid":`settings-raw`,spellCheck:!1,value:k??``,disabled:s,onChange:e=>{A(e.target.value),M(!0)}})]})]})]}),(0,S.jsx)(o,{open:h!==null,title:`Restart the gateway?`,width:`sm`,onClose:s?()=>{}:()=>l.getState().cancelRestart(),footer:(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)(a,{disabled:s,onClick:()=>l.getState().cancelRestart(),children:`Cancel`}),(0,S.jsx)(a,{variant:`primary`,"data-testid":`settings-restart-confirm`,disabled:s,onClick:()=>void X(),children:`Drain and restart`})]}),children:(0,S.jsxs)(`p`,{className:`ct-settings__dialog-body`,"data-testid":`settings-restart-dialog`,children:[`This operation needs a gateway restart, but`,` `,(0,S.jsxs)(`strong`,{children:[h?.activeRuns??0,` active run`,h?.activeRuns===1?``:`s`]}),` `,`will be interrupted. Continue?`]})}),(0,S.jsx)(o,{open:L,title:`Run the updater?`,width:`sm`,onClose:()=>R(!1),footer:(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)(a,{onClick:()=>R(!1),children:`Cancel`}),(0,S.jsx)(a,{variant:`primary`,"data-testid":`settings-update-confirm`,disabled:s,onClick:()=>{R(!1),l.getState().runUpdate()},children:`Run update`})]}),children:(0,S.jsxs)(`p`,{className:`ct-settings__dialog-body`,children:[`Runs `,(0,S.jsx)(`span`,{className:`ct-mono`,children:`update.run`}),` now: it installs the latest release and may restart the gateway.`]})}),(0,S.jsx)(o,{open:F,title:`Discard unsaved changes?`,width:`sm`,onClose:()=>I(!1),footer:(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)(a,{onClick:()=>I(!1),children:`Cancel`}),(0,S.jsx)(a,{variant:`danger`,"data-testid":`settings-reload-confirm`,disabled:s,onClick:()=>{I(!1),Q()},children:`Discard and reload`})]}),children:(0,S.jsx)(`p`,{className:`ct-settings__dialog-body`,children:`Unsaved edits are lost and the config is reloaded from the gateway.`})}),(0,S.jsx)(o,{open:N,title:`Discard unsaved changes?`,width:`sm`,onClose:()=>P(!1),footer:(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)(a,{onClick:()=>P(!1),children:`Cancel`}),(0,S.jsx)(a,{variant:`danger`,"data-testid":`settings-reset-confirm`,disabled:s,onClick:Z,children:`Discard changes`})]}),children:(0,S.jsx)(`p`,{className:`ct-settings__dialog-body`,children:`Edits are discarded and the saved gateway config is restored in the form.`})})]})}export{w as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{_ as e,c as t,h as n,l as r,s as i,t as a}from"./format-
|
|
1
|
+
import{_ as e,c as t,h as n,l as r,s as i,t as a}from"./format-BPrfsCHW.js";import{t as o}from"./Button-ralPMMNs.js";import{n as s,t as c}from"./use-gateway-query-7iLwemQz.js";import{t as l}from"./Badge-me4YM1lq.js";import{t as u}from"./Panel-CqcbBXzJ.js";import{a as d,i as f,n as p,r as m,t as h}from"./skills-model-DANiC-ui.js";var g=e(n(),1),_=t(),v=12e4;function y({agentId:e}){let t=r(e=>e.request),n=s(`skills.status`,e?{agentId:e}:{},{refreshMs:c}),[l,p]=(0,g.useState)(``),[m,h]=(0,g.useState)({}),[y,x]=(0,g.useState)({}),[S,C]=(0,g.useState)(null),w=(e,t)=>{e.trim()&&x(n=>{let r={...n};return t?r[e]=t:delete r[e],r})},T=f(n.data?.skills??[],l),E=d(T),D=async e=>{let r=e.disabled;C(e.skillKey);try{await t(`skills.update`,{skillKey:e.skillKey,enabled:r}),await n.reload(),w(e.skillKey,{kind:`success`,message:r?`Skill enabled`:`Skill disabled`})}catch(t){w(e.skillKey,{kind:`error`,message:a(t)})}finally{C(null)}},O=async e=>{C(e.skillKey);try{let r=m[e.skillKey]??``;await t(`skills.update`,{skillKey:e.skillKey,apiKey:r}),await n.reload(),w(e.skillKey,{kind:`success`,message:`API key saved`})}catch(t){w(e.skillKey,{kind:`error`,message:a(t)})}finally{C(null)}},k=async e=>{let r=e.install[0]?.id;if(r){C(e.skillKey);try{let i=await t(`skills.install`,{name:e.name,installId:r,timeoutMs:v});await n.reload(),w(e.skillKey,{kind:`success`,message:i?.message??`Installed`})}catch(t){w(e.skillKey,{kind:`error`,message:a(t)})}finally{C(null)}}};return(0,_.jsxs)(u,{title:`Skills`,sub:`Bundled, managed, and workspace skills.`,actions:(0,_.jsx)(o,{onClick:()=>void n.reload(),disabled:n.loading,children:n.loading?`Loading…`:`Refresh`}),children:[(0,_.jsxs)(`div`,{className:`ct-skills__filters`,children:[(0,_.jsx)(`input`,{className:`ct-skills__search`,type:`text`,"aria-label":`Filter skills`,placeholder:`Search skills`,value:l,onChange:e=>p(e.target.value)}),(0,_.jsxs)(`span`,{className:`ct-skills__count`,children:[T.length,` shown`]})]}),n.error?(0,_.jsx)(i,{tone:`error`,message:n.error}):null,n.loading&&!n.data?(0,_.jsx)(i,{tone:`loading`,message:`Loading…`}):null,!n.error&&!n.loading&&T.length===0?(0,_.jsx)(i,{message:`No skills found.`}):null,(0,_.jsx)(`div`,{className:`ct-skills__groups`,children:E.map(e=>(0,_.jsxs)(`details`,{className:`ct-skills__group`,open:!(e.id===`workspace`||e.id===`built-in`),"data-testid":`skill-group-${e.id}`,children:[(0,_.jsxs)(`summary`,{className:`ct-skills__group-head`,children:[(0,_.jsx)(`span`,{children:e.label}),(0,_.jsx)(`span`,{className:`ct-skills__count`,children:e.skills.length})]}),(0,_.jsx)(`div`,{className:`ct-skills__list`,children:e.skills.map(e=>(0,_.jsx)(b,{skill:e,busy:S===e.skillKey,apiKey:m[e.skillKey]??``,message:y[e.skillKey]??null,onApiKeyEdit:t=>h(n=>({...n,[e.skillKey]:t})),onToggle:()=>void D(e),onSaveKey:()=>void O(e),onInstall:()=>void k(e)},e.skillKey))})]},e.id))})]})}function b({skill:e,busy:t,apiKey:n,message:r,onApiKeyEdit:i,onToggle:a,onSaveKey:s,onInstall:c}){let u=e.install.length>0&&e.missing.bins.length>0,d=e.bundled&&e.source!==`openclaw-bundled`,f=p(e),g=m(e);return(0,_.jsxs)(`div`,{className:`ct-skills__item`,"data-testid":`skill-row-${e.skillKey}`,children:[(0,_.jsxs)(`div`,{className:`ct-skills__main`,children:[(0,_.jsxs)(`div`,{className:`ct-skills__title`,children:[e.emoji?`${e.emoji} `:``,e.name]}),(0,_.jsx)(`div`,{className:`ct-skills__desc`,children:h(e.description,140)}),(0,_.jsxs)(`div`,{className:`ct-skills__chips`,children:[(0,_.jsx)(l,{children:e.source}),d?(0,_.jsx)(l,{children:`bundled`}):null,(0,_.jsx)(l,{tone:e.eligible?`ok`:`warn`,children:e.eligible?`eligible`:`blocked`}),e.disabled?(0,_.jsx)(l,{tone:`warn`,children:`disabled`}):null]}),f.length>0?(0,_.jsxs)(`p`,{className:`ct-skills__note`,children:[`Missing: `,f.join(`, `)]}):null,g.length>0?(0,_.jsxs)(`p`,{className:`ct-skills__note`,children:[`Reason: `,g.join(`, `)]}):null]}),(0,_.jsxs)(`div`,{className:`ct-skills__side`,children:[(0,_.jsxs)(`div`,{className:`ct-skills__actions`,children:[(0,_.jsx)(o,{onClick:a,disabled:t,"aria-label":`${e.disabled?`Enable`:`Disable`} ${e.name}`,children:e.disabled?`Enable`:`Disable`}),u?(0,_.jsx)(o,{onClick:c,disabled:t,"aria-label":`Install ${e.name}`,children:t?`Installing…`:e.install[0].label}):null]}),r?(0,_.jsx)(`p`,{className:r.kind===`error`?`ct-skills__msg ct-skills__msg--error`:`ct-skills__msg`,role:r.kind===`error`?`alert`:void 0,children:r.message}):null,e.primaryEnv?(0,_.jsxs)(`div`,{className:`ct-skills__key`,children:[(0,_.jsxs)(`label`,{className:`ct-skills__key-label`,htmlFor:`skill-key-${e.skillKey}`,children:[`API key for `,e.name]}),(0,_.jsx)(`input`,{id:`skill-key-${e.skillKey}`,type:`password`,autoComplete:`off`,value:n,onChange:e=>i(e.target.value)}),(0,_.jsx)(o,{variant:`primary`,onClick:s,disabled:t,"aria-label":`Save API key for ${e.name}`,children:`Save key`})]}):null]})]})}function x(){return(0,_.jsxs)(`div`,{className:`ct-page`,"data-testid":`skills-view`,children:[(0,_.jsx)(`header`,{className:`ct-page__head`,children:(0,_.jsxs)(`div`,{className:`ct-page__head-text`,children:[(0,_.jsx)(`h1`,{className:`ct-page__title`,children:`Skills`}),(0,_.jsx)(`p`,{className:`ct-page__sub`,children:`Workspace, built-in and installed skills, with eligibility at a glance.`})]})}),(0,_.jsx)(y,{})]})}export{x as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c as e}from"./format-
|
|
1
|
+
import{c as e}from"./format-BPrfsCHW.js";var t=e();function n({label:e,value:n,sub:r,tone:i}){return(0,t.jsxs)(`div`,{className:`ct-stat`,children:[(0,t.jsxs)(`span`,{className:`ct-stat__label`,children:[i?(0,t.jsx)(`span`,{className:`ct-dot ct-dot--${i}`,"aria-hidden":`true`}):null,e]}),(0,t.jsx)(`span`,{className:`ct-stat__value`,children:n}),r===void 0?null:(0,t.jsx)(`span`,{className:`ct-stat__sub`,children:r})]})}export{n as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c as e}from"./format-
|
|
1
|
+
import{c as e}from"./format-BPrfsCHW.js";var t=e();function n({tone:e,label:n,pulse:r=!1}){return(0,t.jsx)(`span`,{className:[`ct-dot`,`ct-dot--${e}`,r?`ct-dot--pulse`:null].filter(Boolean).join(` `),role:`img`,"aria-label":n,title:n})}export{n as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{_ as e,c as t,h as n,l as r,s as i,t as a}from"./format-
|
|
1
|
+
import{_ as e,c as t,h as n,l as r,s as i,t as a}from"./format-BPrfsCHW.js";import{t as o}from"./Button-ralPMMNs.js";import{n as s}from"./use-gateway-query-7iLwemQz.js";import{t as c}from"./Badge-me4YM1lq.js";import{t as l}from"./Panel-CqcbBXzJ.js";import{t as u}from"./Stat-BRQhQ01w.js";import{t as d}from"./DataTable-BbRrWxor.js";import{t as f}from"./StatusDot-CjtPcYD9.js";import{t as p}from"./ConfirmDialog-9ode6FP3.js";var m=e(n(),1),h=t(),g=5e3,_=3e4,v=`Retry every failed legacy import, including ones past the attempt cap?`,y=`Use pg_dump / your managed Postgres backups for Postgres session storage.`;function b(e){switch(e.state){case`none`:return`No legacy JSONL data to import.`;case`pending`:return`Legacy import queued.`;case`running`:return`${e.done} of ${e.total} sources imported`;case`completed`:return e.total===0?`No legacy JSONL data to import.`:e.failed+e.capped===0?`All ${e.total} sources imported.`:`Legacy import finished: ${e.imported} of ${e.total} sources imported, ${e.failed} failed, ${e.capped} past the attempt cap.`;case`error`:return`Legacy import stopped: ${e.failed} failed sources, ${e.capped} past the attempt cap.`}}function x({status:e}){if(e.state!==`running`)return null;let t=e.total>0?Math.round(e.done/e.total*100):0;return(0,h.jsx)(`div`,{className:`ct-storage__progress`,role:`progressbar`,"aria-label":`Legacy import progress`,"aria-valuemin":0,"aria-valuemax":e.total,"aria-valuenow":e.done,children:(0,h.jsx)(`div`,{className:`ct-storage__progress-fill`,style:{width:`${t}%`}})})}function S({status:e}){return e?(0,h.jsxs)(`div`,{className:`ct-storage__section`,"data-testid":`import-section`,children:[(0,h.jsx)(`h3`,{className:`ct-storage__section-title`,children:`Legacy JSONL import`}),(0,h.jsx)(x,{status:e}),(0,h.jsx)(`p`,{className:`ct-storage__headline`,children:b(e)}),(0,h.jsxs)(`div`,{className:`ct-storage__counts`,children:[(0,h.jsx)(u,{label:`Pending`,value:e.pending}),(0,h.jsx)(u,{label:`Imported`,value:e.imported}),(0,h.jsx)(u,{label:`Failed`,value:e.failed}),(0,h.jsx)(u,{label:`Capped`,value:e.capped}),(0,h.jsx)(u,{label:`Vanished`,value:e.vanished}),(0,h.jsx)(u,{label:`Rejected entries`,value:e.rejectedEntries})]}),e.lastError?(0,h.jsx)(`p`,{className:`ct-storage__callout ct-storage__callout--error`,role:`alert`,children:e.lastError}):null,e.archiveRoot||e.backupPath?(0,h.jsxs)(`dl`,{className:`ct-storage__kv`,children:[e.archiveRoot?(0,h.jsxs)(h.Fragment,{children:[(0,h.jsx)(`dt`,{children:`Archive root`}),(0,h.jsx)(`dd`,{className:`ct-mono`,children:e.archiveRoot})]}):null,e.backupPath?(0,h.jsxs)(h.Fragment,{children:[(0,h.jsx)(`dt`,{children:`Backup path`}),(0,h.jsx)(`dd`,{className:`ct-mono`,children:e.backupPath})]}):null]}):null]}):null}function C({result:e}){return(0,h.jsxs)(`div`,{className:`ct-storage__section`,"data-testid":`validate-section`,children:[(0,h.jsxs)(`h3`,{className:`ct-storage__section-title`,children:[`Validation`,` `,(0,h.jsx)(c,{tone:e.ok?`ok`:`danger`,children:e.ok?`all checks passed`:`checks failed`})]}),(0,h.jsx)(d,{columns:[{key:`name`,label:`Check`,render:e=>e.name},{key:`result`,label:`Result`,render:e=>(0,h.jsx)(c,{tone:e.ok?`ok`:`danger`,children:e.ok?`ok`:`failed`})},{key:`detail`,label:`Detail`,mono:!0,render:e=>e.detail??`—`}],rows:e.checks,rowKey:e=>e.name,label:`Storage validation checks`})]})}function w(){let e=r(e=>e.request),t=s(`sessions.storage.status`,{}),[n,c]=(0,m.useState)(null),[u,d]=(0,m.useState)(!1),[b,x]=(0,m.useState)(null),[w,T]=(0,m.useState)(null),[E,D]=(0,m.useState)(null),[O,k]=(0,m.useState)(!1);(0,m.useEffect)(()=>{t.data&&c(null)},[t.data]);let A=n??t.data?.legacyImport??null,j=A?.state===`pending`||A?.state===`running`,{reload:M}=t,N=r(e=>e.status===`connected`);if((0,m.useEffect)(()=>{if(!N)return;let e=window.setInterval(M,j?g:_);return()=>window.clearInterval(e)},[M,j,N]),t.error&&!t.data)return(0,h.jsxs)(`div`,{className:`ct-page`,"data-testid":`storage-view`,children:[(0,h.jsx)(`header`,{className:`ct-page__head`,children:(0,h.jsx)(`div`,{className:`ct-page__head-text`,children:(0,h.jsx)(`h1`,{className:`ct-page__title`,children:`Storage`})})}),(0,h.jsx)(i,{message:t.error,tone:`error`,testId:`storage-error`})]});let P=t.data,F=async e=>{d(!0),x(null);try{await e()}catch(e){x(a(e))}finally{d(!1)}},I=()=>F(async()=>{T(await e(`sessions.storage.validate`,{}))}),L=()=>F(async()=>{D(await e(`sessions.storage.backup`,{}))}),R=()=>F(async()=>{k(!1);try{let t=await e(`sessions.storage.import`,{retryFailed:!0});c(t.status)}finally{M()}}),z=A!==null&&A.failed+A.capped>0;return(0,h.jsxs)(`div`,{className:`ct-page`,"data-testid":`storage-view`,children:[(0,h.jsx)(`header`,{className:`ct-page__head`,children:(0,h.jsxs)(`div`,{className:`ct-page__head-text`,children:[(0,h.jsx)(`h1`,{className:`ct-page__title`,children:`Storage`}),(0,h.jsx)(`p`,{className:`ct-page__sub`,children:`SQL session storage, legacy import progress and maintenance.`})]})}),(0,h.jsx)(l,{title:`Session storage`,testId:`storage-status`,sub:P?(0,h.jsxs)(`span`,{className:`ct-storage__meta`,children:[(0,h.jsx)(f,{tone:P.ready?`ok`:`warn`,label:P.ready?`Storage ready`:`Storage starting`}),(0,h.jsx)(`span`,{className:`ct-mono`,children:P.backend})]}):void 0,actions:P?(0,h.jsxs)(`div`,{className:`ct-storage__actions`,children:[P.backend===`postgres`?(0,h.jsx)(`span`,{className:`ct-storage__pgnote`,children:y}):(0,h.jsx)(o,{onClick:L,disabled:u,children:`Back up now`}),(0,h.jsx)(o,{variant:`primary`,onClick:I,disabled:u,children:`Validate`})]}):void 0,children:t.loading&&!P?(0,h.jsx)(i,{message:`Loading storage status…`,tone:`loading`,testId:`storage-loading`}):t.error?(0,h.jsx)(i,{message:t.error,tone:`error`,testId:`storage-status-error`}):P?(0,h.jsxs)(`div`,{className:`ct-storage__section`,children:[b?(0,h.jsx)(`p`,{className:`ct-storage__callout ct-storage__callout--error`,role:`alert`,children:b}):null,E?(0,h.jsxs)(`p`,{className:`ct-storage__callout ct-storage__callout--ok`,"data-testid":`backup-result`,children:[`Backup written: `,(0,h.jsx)(`span`,{className:`ct-mono`,children:E.path}),` ·`,` `,(0,h.jsxs)(`span`,{children:[E.bytes.toLocaleString(`en-AU`),` bytes`]})]}):null,(0,h.jsx)(S,{status:A}),z?(0,h.jsx)(`div`,{children:(0,h.jsx)(o,{onClick:()=>k(!0),disabled:u,children:`Retry failed imports`})}):null]}):null}),w?(0,h.jsx)(l,{title:`Validation`,testId:`storage-validate`,children:(0,h.jsx)(C,{result:w})}):null,(0,h.jsx)(p,{open:O,title:`Retry failed imports`,body:v,confirmLabel:`Retry failed imports`,busy:u,bodyClassName:`ct-storage__confirm-body`,onConfirm:R,onCancel:()=>k(!1)})]})}export{w as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{_ as e,c as t,h as n,i as r}from"./format-
|
|
1
|
+
import{_ as e,c as t,h as n,i as r}from"./format-BPrfsCHW.js";import{i}from"./index-ChHyE-y3.js";import{t as a}from"./Badge-me4YM1lq.js";var o=e(n(),1),s=t();function c(e){let[t,n]=(0,o.useState)(()=>Date.now()),r=i();return(0,o.useEffect)(()=>{if(!r)return;let t=window.setInterval(()=>n(Date.now()),e);return()=>window.clearInterval(t)},[r,e]),t}function l({at:e,error:t}){let n=c(1e4);return e===null?null:(0,s.jsxs)(`span`,{className:`ct-updated`,"data-testid":`updated-ago`,title:t??void 0,children:[t?(0,s.jsx)(a,{tone:`warn`,children:`Stale`}):null,`Updated ${r(e,Math.max(n,e))}`]})}export{l as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{_ as e,a as t,c as n,h as r,n as i,s as a}from"./format-
|
|
1
|
+
import{_ as e,a as t,c as n,h as r,n as i,s as a}from"./format-BPrfsCHW.js";import{n as o,t as s}from"./links-vgPLVF05.js";import{n as c}from"./use-gateway-query-7iLwemQz.js";import{t as l}from"./Panel-CqcbBXzJ.js";import{t as u}from"./EntityLink-CMtTP9Dk.js";import{t as d}from"./Stat-BRQhQ01w.js";import{t as f}from"./DataTable-BbRrWxor.js";import{n as p,r as m,t as h}from"./usage-range-C-j75vK8.js";import{t as g}from"./UpdatedAgo-CJqGVu6_.js";var _=e(r(),1),v=n(),y=[{key:`agent`,label:`Agent`,render:e=>(0,v.jsx)(u,{to:o.agent(e.agentId),children:e.agentId})},{key:`tokens`,label:`Tokens`,align:`end`,mono:!0,render:e=>t(e.totals.totalTokens)},{key:`spend`,label:`Spend`,align:`end`,mono:!0,render:e=>i(e.totals.totalCost)}],b=[{key:`model`,label:`Model`,mono:!0,render:e=>{let t=e.provider?`${e.provider}/${e.model??`—`}`:e.model??`—`;return e.actualModel&&e.actualModel!==e.model?`${t} → ${e.actualModel}`:t}},{key:`calls`,label:`Calls`,align:`end`,mono:!0,render:e=>e.count},{key:`tokens`,label:`Tokens`,align:`end`,mono:!0,render:e=>t(e.totals.totalTokens)},{key:`spend`,label:`Spend`,align:`end`,mono:!0,render:e=>i(e.totals.totalCost)}],x=[{key:`channel`,label:`Channel`,render:e=>e.channel},{key:`tokens`,label:`Tokens`,align:`end`,mono:!0,render:e=>t(e.totals.totalTokens)},{key:`spend`,label:`Spend`,align:`end`,mono:!0,render:e=>i(e.totals.totalCost)}],S=[{key:`name`,label:`Tool`,mono:!0,render:e=>e.name},{key:`calls`,label:`Calls`,align:`end`,mono:!0,render:e=>e.count}],C=10;function w(e,t){return t.totals.totalCost-e.totals.totalCost}function T({aggregates:e,sessionCount:t,limitReached:n}){let r=n?`Across the 1,000 most recent sessions in range`:`Across ${t} ${t===1?`session`:`sessions`}`;if(!e)return(0,v.jsx)(l,{title:`Breakdowns`,sub:r,children:(0,v.jsx)(a,{message:`No usage recorded in this range.`})});let i=e.byAgent.toSorted(w),o=e.byModel.toSorted(w),s=e.byChannel.toSorted(w);return(0,v.jsxs)(`div`,{className:`ct-grid`,children:[(0,v.jsx)(l,{className:`ct-span-6`,title:`Spend by agent`,sub:r,children:(0,v.jsx)(f,{label:`Spend by agent`,columns:y,rows:i,rowKey:e=>e.agentId,empty:(0,v.jsx)(a,{message:`No agent spend in this range.`})})}),(0,v.jsx)(l,{className:`ct-span-6`,title:`Spend by model`,sub:r,children:(0,v.jsx)(f,{label:`Spend by model`,columns:b,rows:o,rowKey:e=>JSON.stringify([e.provider,e.model,e.actualModel]),empty:(0,v.jsx)(a,{message:`No model spend in this range.`})})}),(0,v.jsx)(l,{className:`ct-span-6`,title:`Spend by channel`,sub:r,children:(0,v.jsx)(f,{label:`Spend by channel`,columns:x,rows:s,rowKey:e=>e.channel,empty:(0,v.jsx)(a,{message:`No channel spend in this range.`})})}),(0,v.jsx)(l,{className:`ct-span-6`,title:`Top tools`,sub:r,children:(0,v.jsx)(f,{label:`Top tools`,columns:S,rows:e.tools.tools.slice(0,C),rowKey:e=>e.name,empty:(0,v.jsx)(a,{message:`No tool calls in this range.`})})})]})}var E=10,D=6e4,O=1e3,k=[{key:`session`,label:`Session`,render:e=>(0,v.jsxs)(`span`,{className:`ct-cell-stack`,children:[(0,v.jsx)(`span`,{className:`ct-cell-stack__main`,children:e.label??e.key}),(0,v.jsx)(`span`,{className:`ct-cell-stack__sub ct-mono`,children:e.key})]})},{key:`agent`,label:`Agent`,render:e=>e.agentId??`—`},{key:`model`,label:`Model`,mono:!0,render:e=>e.model??`—`},{key:`tokens`,label:`Tokens`,align:`end`,mono:!0,render:e=>t(e.usage?.totalTokens)},{key:`cost`,label:`Cost`,align:`end`,mono:!0,render:e=>i(e.usage?.totalCost)}];function A(e){return e.filter(e=>typeof e.usage?.totalCost==`number`).toSorted((e,t)=>(t.usage?.totalCost??0)-(e.usage?.totalCost??0)).slice(0,10)}function j(){let[e,n]=(0,_.useState)(`7d`),r=m(e),u=c(`usage.cost`,r,{refreshMs:D}),y=c(`sessions.usage`,{...r,limit:O},{refreshMs:D}),b=u.data?.totals,x=u.data?.daily??[],S=Math.max(1,...x.map(e=>e.totalTokens)),C=y.data?.sessions??[],w=A(C),E=b?.missingCostEntries??0,j=`${p[e]}${E>0?` · ${E} unpriced`:``}`;return(0,v.jsxs)(`div`,{className:`ct-page`,"data-testid":`usage-view`,children:[(0,v.jsxs)(`header`,{className:`ct-page__head`,children:[(0,v.jsxs)(`div`,{className:`ct-page__head-text`,children:[(0,v.jsx)(`h1`,{className:`ct-page__title`,children:`Usage`}),(0,v.jsx)(`p`,{className:`ct-page__sub`,children:`Tokens and spend across every agent and model, in USD.`})]}),(0,v.jsx)(`div`,{className:`ct-segmented`,role:`group`,"aria-label":`Usage range`,children:h.map(t=>(0,v.jsx)(`button`,{type:`button`,className:t===e?`ct-segmented__item ct-segmented__item--active`:`ct-segmented__item`,"aria-pressed":t===e,onClick:()=>n(t),children:p[t]},t))}),(0,v.jsx)(g,{at:u.updatedAt,error:u.error??y.error})]}),u.error?(0,v.jsx)(a,{tone:`error`,message:`Usage totals are unavailable.`,hint:u.error}):null,(0,v.jsxs)(`div`,{className:`ct-stat-grid`,children:[(0,v.jsx)(d,{label:`Spend`,value:i(b?.totalCost),sub:j}),(0,v.jsx)(d,{label:`Input tokens`,value:t(b?.input)}),(0,v.jsx)(d,{label:`Output tokens`,value:t(b?.output)}),(0,v.jsx)(d,{label:`Total tokens`,value:t(b?.totalTokens)})]}),(0,v.jsx)(l,{title:`Daily tokens`,sub:`Hover a day for its spend`,children:x.length===0?(0,v.jsx)(a,{tone:u.loading?`loading`:`neutral`,message:u.loading?`Loading…`:`No usage recorded in this range.`}):(0,v.jsx)(`div`,{className:`ct-bars`,role:`list`,"aria-label":`Daily tokens`,children:x.map(e=>(0,v.jsx)(`div`,{className:`ct-bars__bar`,role:`listitem`,title:`${e.date}: ${t(e.totalTokens)} tokens, ${i(e.totalCost)}`,"aria-label":`${e.date}: ${t(e.totalTokens)} tokens`,style:{height:`${Math.max(2,e.totalTokens/S*100)}%`}},e.date))})}),(0,v.jsx)(l,{title:`Top sessions by spend`,sub:`Up to 10`,children:y.error?(0,v.jsx)(a,{tone:`error`,message:`Session usage is unavailable.`,hint:y.error}):y.loading&&!y.data?(0,v.jsx)(a,{tone:`loading`,message:`Loading…`}):(0,v.jsx)(f,{label:`Top sessions by spend`,columns:k,rows:w,rowKey:e=>e.key,onRowClick:e=>s(o.session(e.key,{tab:`usage`})),empty:(0,v.jsx)(a,{message:`No session spent anything in this range.`})})}),(0,v.jsx)(T,{aggregates:y.data?.aggregates,sessionCount:C.length,limitReached:C.length>=O})]})}export{E as TOP_SESSIONS_LIMIT,D as USAGE_REFRESH_MS,j as default,A as topSessionsByCost};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{_ as e,f as t,g as n,l as r,t as i}from"./format-DpM2rlEo.js";import{a,f as o,i as s,l as c,n as l,r as u,t as d}from"./form-utils-BkwTm73v.js";var f=n(((e,t)=>{(function(n,r){typeof e==`object`&&t!==void 0?t.exports=r():typeof define==`function`&&define.amd?define(r):n.JSON5=r()})(e,(function(){function e(e,t){return t={exports:{}},e(t,t.exports),t.exports}var t=e(function(e){var t=e.exports=typeof window<`u`&&window.Math==Math?window:typeof self<`u`&&self.Math==Math?self:Function(`return this`)();typeof __g==`number`&&(__g=t)}),n=e(function(e){var t=e.exports={version:`2.6.5`};typeof __e==`number`&&(__e=t)});n.version;var r=function(e){return typeof e==`object`?e!==null:typeof e==`function`},i=function(e){if(!r(e))throw TypeError(e+` is not an object!`);return e},a=function(e){try{return!!e()}catch{return!0}},o=!a(function(){return Object.defineProperty({},"a",{get:function(){return 7}}).a!=7}),s=t.document,c=r(s)&&r(s.createElement),l=function(e){return c?s.createElement(e):{}},u=!o&&!a(function(){return Object.defineProperty(l(`div`),"a",{get:function(){return 7}}).a!=7}),d=function(e,t){if(!r(e))return e;var n,i;if(t&&typeof(n=e.toString)==`function`&&!r(i=n.call(e))||typeof(n=e.valueOf)==`function`&&!r(i=n.call(e))||!t&&typeof(n=e.toString)==`function`&&!r(i=n.call(e)))return i;throw TypeError(`Can't convert object to primitive value`)},f=Object.defineProperty,p={f:o?Object.defineProperty:function(e,t,n){if(i(e),t=d(t,!0),i(n),u)try{return f(e,t,n)}catch{}if(`get`in n||`set`in n)throw TypeError(`Accessors not supported!`);return`value`in n&&(e[t]=n.value),e}},m=function(e,t){return{enumerable:!(e&1),configurable:!(e&2),writable:!(e&4),value:t}},h=o?function(e,t,n){return p.f(e,t,m(1,n))}:function(e,t,n){return e[t]=n,e},g={}.hasOwnProperty,_=function(e,t){return g.call(e,t)},ee=0,v=Math.random(),te=function(e){return`Symbol(${e===void 0?``:e})_${(++ee+v).toString(36)}`},y=e(function(e){var r=`__core-js_shared__`,i=t[r]||(t[r]={});(e.exports=function(e,t){return i[e]||(i[e]=t===void 0?{}:t)})(`versions`,[]).push({version:n.version,mode:`global`,copyright:`© 2019 Denis Pushkarev (zloirock.ru)`})})(`native-function-to-string`,Function.toString),b=e(function(e){var r=te(`src`),i=`toString`,a=(``+y).split(i);n.inspectSource=function(e){return y.call(e)},(e.exports=function(e,n,i,o){var s=typeof i==`function`;s&&(_(i,`name`)||h(i,`name`,n)),e[n]!==i&&(s&&(_(i,r)||h(i,r,e[n]?``+e[n]:a.join(String(n)))),e===t?e[n]=i:o?e[n]?e[n]=i:h(e,n,i):(delete e[n],h(e,n,i)))})(Function.prototype,i,function(){return typeof this==`function`&&this[r]||y.call(this)})}),ne=function(e){if(typeof e!=`function`)throw TypeError(e+` is not a function!`);return e},x=function(e,t,n){if(ne(e),t===void 0)return e;switch(n){case 1:return function(n){return e.call(t,n)};case 2:return function(n,r){return e.call(t,n,r)};case 3:return function(n,r,i){return e.call(t,n,r,i)}}return function(){return e.apply(t,arguments)}},S=`prototype`,C=function(e,r,i){var a=e&C.F,o=e&C.G,s=e&C.S,c=e&C.P,l=e&C.B,u=o?t:s?t[r]||(t[r]={}):(t[r]||{})[S],d=o?n:n[r]||(n[r]={}),f=d[S]||(d[S]={}),p,m,g,_;for(p in o&&(i=r),i)m=!a&&u&&u[p]!==void 0,g=(m?u:i)[p],_=l&&m?x(g,t):c&&typeof g==`function`?x(Function.call,g):g,u&&b(u,p,g,e&C.U),d[p]!=g&&h(d,p,_),c&&f[p]!=g&&(f[p]=g)};t.core=n,C.F=1,C.G=2,C.S=4,C.P=8,C.B=16,C.W=32,C.U=64,C.R=128;var w=C,re=Math.ceil,ie=Math.floor,T=function(e){return isNaN(e=+e)?0:(e>0?ie:re)(e)},ae=function(e){if(e==null)throw TypeError(`Can't call method on `+e);return e},oe=function(e){return function(t,n){var r=String(ae(t)),i=T(n),a=r.length,o,s;return i<0||i>=a?e?``:void 0:(o=r.charCodeAt(i),o<55296||o>56319||i+1===a||(s=r.charCodeAt(i+1))<56320||s>57343?e?r.charAt(i):o:e?r.slice(i,i+2):(o-55296<<10)+(s-56320)+65536)}}(!1);w(w.P,`String`,{codePointAt:function(e){return oe(this,e)}}),n.String.codePointAt;var se=Math.max,ce=Math.min,le=function(e,t){return e=T(e),e<0?se(e+t,0):ce(e,t)},E=String.fromCharCode,ue=String.fromCodePoint;w(w.S+w.F*(!!ue&&ue.length!=1),`String`,{fromCodePoint:function(e){for(var t=arguments,n=[],r=arguments.length,i=0,a;r>i;){if(a=+t[i++],le(a,1114111)!==a)throw RangeError(a+` is not a valid code point`);n.push(a<65536?E(a):E(((a-=65536)>>10)+55296,a%1024+56320))}return n.join(``)}}),n.String.fromCodePoint;var D={Space_Separator:/[\u1680\u2000-\u200A\u202F\u205F\u3000]/,ID_Start:/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE83\uDE86-\uDE89\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]/,ID_Continue:/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u09FC\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9-\u0AFF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D00-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF9\u1D00-\u1DF9\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDE00-\uDE3E\uDE47\uDE50-\uDE83\uDE86-\uDE99\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD47\uDD50-\uDD59]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4A\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/},O={isSpaceSeparator:function(e){return typeof e==`string`&&D.Space_Separator.test(e)},isIdStartChar:function(e){return typeof e==`string`&&(e>=`a`&&e<=`z`||e>=`A`&&e<=`Z`||e===`$`||e===`_`||D.ID_Start.test(e))},isIdContinueChar:function(e){return typeof e==`string`&&(e>=`a`&&e<=`z`||e>=`A`&&e<=`Z`||e>=`0`&&e<=`9`||e===`$`||e===`_`||e===``||e===``||D.ID_Continue.test(e))},isDigit:function(e){return typeof e==`string`&&/[0-9]/.test(e)},isHexDigit:function(e){return typeof e==`string`&&/[0-9A-Fa-f]/.test(e)}},k,A,j,M,N,P,F,I,L,de=function(e,t){k=String(e),A=`start`,j=[],M=0,N=1,P=0,F=void 0,I=void 0,L=void 0;do F=fe(),ge[A]();while(F.type!==`eof`);return typeof t==`function`?R({"":L},``,t):L};function R(e,t,n){var r=e[t];if(typeof r==`object`&&r)if(Array.isArray(r))for(var i=0;i<r.length;i++){var a=String(i),o=R(r,a,n);o===void 0?delete r[a]:Object.defineProperty(r,a,{value:o,writable:!0,enumerable:!0,configurable:!0})}else for(var s in r){var c=R(r,s,n);c===void 0?delete r[s]:Object.defineProperty(r,s,{value:c,writable:!0,enumerable:!0,configurable:!0})}return n.call(e,t,r)}var z,B,V,H,U;function fe(){for(z=`default`,B=``,V=!1,H=1;;){U=W();var e=pe[z]();if(e)return e}}function W(){if(k[M])return String.fromCodePoint(k.codePointAt(M))}function G(){var e=W();return e===`
|
|
1
|
+
import{_ as e,f as t,g as n,l as r,t as i}from"./format-BPrfsCHW.js";import{a,f as o,i as s,l as c,n as l,r as u,t as d}from"./form-utils-BkwTm73v.js";var f=n(((e,t)=>{(function(n,r){typeof e==`object`&&t!==void 0?t.exports=r():typeof define==`function`&&define.amd?define(r):n.JSON5=r()})(e,(function(){function e(e,t){return t={exports:{}},e(t,t.exports),t.exports}var t=e(function(e){var t=e.exports=typeof window<`u`&&window.Math==Math?window:typeof self<`u`&&self.Math==Math?self:Function(`return this`)();typeof __g==`number`&&(__g=t)}),n=e(function(e){var t=e.exports={version:`2.6.5`};typeof __e==`number`&&(__e=t)});n.version;var r=function(e){return typeof e==`object`?e!==null:typeof e==`function`},i=function(e){if(!r(e))throw TypeError(e+` is not an object!`);return e},a=function(e){try{return!!e()}catch{return!0}},o=!a(function(){return Object.defineProperty({},"a",{get:function(){return 7}}).a!=7}),s=t.document,c=r(s)&&r(s.createElement),l=function(e){return c?s.createElement(e):{}},u=!o&&!a(function(){return Object.defineProperty(l(`div`),"a",{get:function(){return 7}}).a!=7}),d=function(e,t){if(!r(e))return e;var n,i;if(t&&typeof(n=e.toString)==`function`&&!r(i=n.call(e))||typeof(n=e.valueOf)==`function`&&!r(i=n.call(e))||!t&&typeof(n=e.toString)==`function`&&!r(i=n.call(e)))return i;throw TypeError(`Can't convert object to primitive value`)},f=Object.defineProperty,p={f:o?Object.defineProperty:function(e,t,n){if(i(e),t=d(t,!0),i(n),u)try{return f(e,t,n)}catch{}if(`get`in n||`set`in n)throw TypeError(`Accessors not supported!`);return`value`in n&&(e[t]=n.value),e}},m=function(e,t){return{enumerable:!(e&1),configurable:!(e&2),writable:!(e&4),value:t}},h=o?function(e,t,n){return p.f(e,t,m(1,n))}:function(e,t,n){return e[t]=n,e},g={}.hasOwnProperty,_=function(e,t){return g.call(e,t)},ee=0,v=Math.random(),te=function(e){return`Symbol(${e===void 0?``:e})_${(++ee+v).toString(36)}`},y=e(function(e){var r=`__core-js_shared__`,i=t[r]||(t[r]={});(e.exports=function(e,t){return i[e]||(i[e]=t===void 0?{}:t)})(`versions`,[]).push({version:n.version,mode:`global`,copyright:`© 2019 Denis Pushkarev (zloirock.ru)`})})(`native-function-to-string`,Function.toString),b=e(function(e){var r=te(`src`),i=`toString`,a=(``+y).split(i);n.inspectSource=function(e){return y.call(e)},(e.exports=function(e,n,i,o){var s=typeof i==`function`;s&&(_(i,`name`)||h(i,`name`,n)),e[n]!==i&&(s&&(_(i,r)||h(i,r,e[n]?``+e[n]:a.join(String(n)))),e===t?e[n]=i:o?e[n]?e[n]=i:h(e,n,i):(delete e[n],h(e,n,i)))})(Function.prototype,i,function(){return typeof this==`function`&&this[r]||y.call(this)})}),ne=function(e){if(typeof e!=`function`)throw TypeError(e+` is not a function!`);return e},x=function(e,t,n){if(ne(e),t===void 0)return e;switch(n){case 1:return function(n){return e.call(t,n)};case 2:return function(n,r){return e.call(t,n,r)};case 3:return function(n,r,i){return e.call(t,n,r,i)}}return function(){return e.apply(t,arguments)}},S=`prototype`,C=function(e,r,i){var a=e&C.F,o=e&C.G,s=e&C.S,c=e&C.P,l=e&C.B,u=o?t:s?t[r]||(t[r]={}):(t[r]||{})[S],d=o?n:n[r]||(n[r]={}),f=d[S]||(d[S]={}),p,m,g,_;for(p in o&&(i=r),i)m=!a&&u&&u[p]!==void 0,g=(m?u:i)[p],_=l&&m?x(g,t):c&&typeof g==`function`?x(Function.call,g):g,u&&b(u,p,g,e&C.U),d[p]!=g&&h(d,p,_),c&&f[p]!=g&&(f[p]=g)};t.core=n,C.F=1,C.G=2,C.S=4,C.P=8,C.B=16,C.W=32,C.U=64,C.R=128;var w=C,re=Math.ceil,ie=Math.floor,T=function(e){return isNaN(e=+e)?0:(e>0?ie:re)(e)},ae=function(e){if(e==null)throw TypeError(`Can't call method on `+e);return e},oe=function(e){return function(t,n){var r=String(ae(t)),i=T(n),a=r.length,o,s;return i<0||i>=a?e?``:void 0:(o=r.charCodeAt(i),o<55296||o>56319||i+1===a||(s=r.charCodeAt(i+1))<56320||s>57343?e?r.charAt(i):o:e?r.slice(i,i+2):(o-55296<<10)+(s-56320)+65536)}}(!1);w(w.P,`String`,{codePointAt:function(e){return oe(this,e)}}),n.String.codePointAt;var se=Math.max,ce=Math.min,le=function(e,t){return e=T(e),e<0?se(e+t,0):ce(e,t)},E=String.fromCharCode,ue=String.fromCodePoint;w(w.S+w.F*(!!ue&&ue.length!=1),`String`,{fromCodePoint:function(e){for(var t=arguments,n=[],r=arguments.length,i=0,a;r>i;){if(a=+t[i++],le(a,1114111)!==a)throw RangeError(a+` is not a valid code point`);n.push(a<65536?E(a):E(((a-=65536)>>10)+55296,a%1024+56320))}return n.join(``)}}),n.String.fromCodePoint;var D={Space_Separator:/[\u1680\u2000-\u200A\u202F\u205F\u3000]/,ID_Start:/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE83\uDE86-\uDE89\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]/,ID_Continue:/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u09FC\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9-\u0AFF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D00-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF9\u1D00-\u1DF9\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDE00-\uDE3E\uDE47\uDE50-\uDE83\uDE86-\uDE99\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD47\uDD50-\uDD59]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4A\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/},O={isSpaceSeparator:function(e){return typeof e==`string`&&D.Space_Separator.test(e)},isIdStartChar:function(e){return typeof e==`string`&&(e>=`a`&&e<=`z`||e>=`A`&&e<=`Z`||e===`$`||e===`_`||D.ID_Start.test(e))},isIdContinueChar:function(e){return typeof e==`string`&&(e>=`a`&&e<=`z`||e>=`A`&&e<=`Z`||e>=`0`&&e<=`9`||e===`$`||e===`_`||e===``||e===``||D.ID_Continue.test(e))},isDigit:function(e){return typeof e==`string`&&/[0-9]/.test(e)},isHexDigit:function(e){return typeof e==`string`&&/[0-9A-Fa-f]/.test(e)}},k,A,j,M,N,P,F,I,L,de=function(e,t){k=String(e),A=`start`,j=[],M=0,N=1,P=0,F=void 0,I=void 0,L=void 0;do F=fe(),ge[A]();while(F.type!==`eof`);return typeof t==`function`?R({"":L},``,t):L};function R(e,t,n){var r=e[t];if(typeof r==`object`&&r)if(Array.isArray(r))for(var i=0;i<r.length;i++){var a=String(i),o=R(r,a,n);o===void 0?delete r[a]:Object.defineProperty(r,a,{value:o,writable:!0,enumerable:!0,configurable:!0})}else for(var s in r){var c=R(r,s,n);c===void 0?delete r[s]:Object.defineProperty(r,s,{value:c,writable:!0,enumerable:!0,configurable:!0})}return n.call(e,t,r)}var z,B,V,H,U;function fe(){for(z=`default`,B=``,V=!1,H=1;;){U=W();var e=pe[z]();if(e)return e}}function W(){if(k[M])return String.fromCodePoint(k.codePointAt(M))}function G(){var e=W();return e===`
|
|
2
2
|
`?(N++,P=0):e?P+=e.length:P++,e&&(M+=e.length),e}var pe={default:function(){switch(U){case` `:case`\v`:case`\f`:case` `:case`\xA0`:case``:case`
|
|
3
3
|
`:case`\r`:case`\u2028`:case`\u2029`:G();return;case`/`:G(),z=`comment`;return;case void 0:return G(),K(`eof`)}if(O.isSpaceSeparator(U)){G();return}return pe[A]()},comment:function(){switch(U){case`*`:G(),z=`multiLineComment`;return;case`/`:G(),z=`singleLineComment`;return}throw Z(G())},multiLineComment:function(){switch(U){case`*`:G(),z=`multiLineCommentAsterisk`;return;case void 0:throw Z(G())}G()},multiLineCommentAsterisk:function(){switch(U){case`*`:G();return;case`/`:G(),z=`default`;return;case void 0:throw Z(G())}G(),z=`multiLineComment`},singleLineComment:function(){switch(U){case`
|
|
4
4
|
`:case`\r`:case`\u2028`:case`\u2029`:G(),z=`default`;return;case void 0:return G(),K(`eof`)}G()},value:function(){switch(U){case`{`:case`[`:return K(`punctuator`,G());case`n`:return G(),q(`ull`),K(`null`,null);case`t`:return G(),q(`rue`),K(`boolean`,!0);case`f`:return G(),q(`alse`),K(`boolean`,!1);case`-`:case`+`:G()===`-`&&(H=-1),z=`sign`;return;case`.`:B=G(),z=`decimalPointLeading`;return;case`0`:B=G(),z=`zero`;return;case`1`:case`2`:case`3`:case`4`:case`5`:case`6`:case`7`:case`8`:case`9`:B=G(),z=`decimalInteger`;return;case`I`:return G(),q(`nfinity`),K(`numeric`,1/0);case`N`:return G(),q(`aN`),K(`numeric`,NaN);case`"`:case`'`:V=G()===`"`,B=``,z=`string`;return}throw Z(G())},identifierNameStartEscape:function(){if(U!==`u`)throw Z(G());G();var e=J();switch(e){case`$`:case`_`:break;default:if(!O.isIdStartChar(e))throw _e();break}B+=e,z=`identifierName`},identifierName:function(){switch(U){case`$`:case`_`:case``:case``:B+=G();return;case`\\`:G(),z=`identifierNameEscape`;return}if(O.isIdContinueChar(U)){B+=G();return}return K(`identifier`,B)},identifierNameEscape:function(){if(U!==`u`)throw Z(G());G();var e=J();switch(e){case`$`:case`_`:case``:case``:break;default:if(!O.isIdContinueChar(e))throw _e();break}B+=e,z=`identifierName`},sign:function(){switch(U){case`.`:B=G(),z=`decimalPointLeading`;return;case`0`:B=G(),z=`zero`;return;case`1`:case`2`:case`3`:case`4`:case`5`:case`6`:case`7`:case`8`:case`9`:B=G(),z=`decimalInteger`;return;case`I`:return G(),q(`nfinity`),K(`numeric`,H*(1/0));case`N`:return G(),q(`aN`),K(`numeric`,NaN)}throw Z(G())},zero:function(){switch(U){case`.`:B+=G(),z=`decimalPoint`;return;case`e`:case`E`:B+=G(),z=`decimalExponent`;return;case`x`:case`X`:B+=G(),z=`hexadecimal`;return}return K(`numeric`,H*0)},decimalInteger:function(){switch(U){case`.`:B+=G(),z=`decimalPoint`;return;case`e`:case`E`:B+=G(),z=`decimalExponent`;return}if(O.isDigit(U)){B+=G();return}return K(`numeric`,H*Number(B))},decimalPointLeading:function(){if(O.isDigit(U)){B+=G(),z=`decimalFraction`;return}throw Z(G())},decimalPoint:function(){switch(U){case`e`:case`E`:B+=G(),z=`decimalExponent`;return}if(O.isDigit(U)){B+=G(),z=`decimalFraction`;return}return K(`numeric`,H*Number(B))},decimalFraction:function(){switch(U){case`e`:case`E`:B+=G(),z=`decimalExponent`;return}if(O.isDigit(U)){B+=G();return}return K(`numeric`,H*Number(B))},decimalExponent:function(){switch(U){case`+`:case`-`:B+=G(),z=`decimalExponentSign`;return}if(O.isDigit(U)){B+=G(),z=`decimalExponentInteger`;return}throw Z(G())},decimalExponentSign:function(){if(O.isDigit(U)){B+=G(),z=`decimalExponentInteger`;return}throw Z(G())},decimalExponentInteger:function(){if(O.isDigit(U)){B+=G();return}return K(`numeric`,H*Number(B))},hexadecimal:function(){if(O.isHexDigit(U)){B+=G(),z=`hexadecimalInteger`;return}throw Z(G())},hexadecimalInteger:function(){if(O.isHexDigit(U)){B+=G();return}return K(`numeric`,H*Number(B))},string:function(){switch(U){case`\\`:G(),B+=me();return;case`"`:if(V)return G(),K(`string`,B);B+=G();return;case`'`:if(!V)return G(),K(`string`,B);B+=G();return;case`
|