@cursor/july 0.1.108 → 0.1.111
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/AGENTS.md +3 -7
- package/README.md +3 -21
- package/dist/bin/agent-serve.js +81 -66
- package/dist/channels/bitbucket/api.d.ts +41 -0
- package/dist/channels/bitbucket/api.d.ts.map +1 -1
- package/dist/channels/bitbucket/api.js +266 -6
- package/dist/channels/bitbucket/binding.d.ts +4 -0
- package/dist/channels/bitbucket/binding.d.ts.map +1 -1
- package/dist/channels/bitbucket/binding.js +20 -4
- package/dist/channels/bitbucket/bitbucket-channel.js +1 -1
- package/dist/channels/bitbucket/bitbucket-webhook.js +1 -1
- package/dist/channels/bitbucket/checks.d.ts.map +1 -1
- package/dist/channels/bitbucket/checks.js +1 -1
- package/dist/channels/bitbucket/cursor-account.js +1 -1
- package/dist/channels/bitbucket/events.js +1 -1
- package/dist/channels/bitbucket/index.d.ts +1 -1
- package/dist/channels/bitbucket/index.d.ts.map +1 -1
- package/dist/channels/bitbucket/index.js +1 -1
- package/dist/channels/change-monitors/change-monitors-channel.js +1 -1
- package/dist/channels/checks.d.ts.map +1 -1
- package/dist/channels/checks.js +2 -2
- package/dist/channels/deployments/deployments-channel.js +1 -1
- package/dist/channels/github/cursor-account.js +3 -3
- package/dist/channels/github/defaults.d.ts.map +1 -1
- package/dist/channels/github/defaults.js +5 -3
- package/dist/channels/github/events.js +1 -1
- package/dist/channels/github/forward.js +8 -8
- package/dist/channels/github/github-channel.d.ts.map +1 -1
- package/dist/channels/github/github-channel.js +17 -13
- package/dist/channels/github/progress.d.ts.map +1 -1
- package/dist/channels/github/progress.js +7 -2
- package/dist/channels/github/state.d.ts +6 -0
- package/dist/channels/github/state.d.ts.map +1 -1
- package/dist/channels/github/types.d.ts +6 -0
- package/dist/channels/github/types.d.ts.map +1 -1
- package/dist/channels/gitlab/api.d.ts +27 -0
- package/dist/channels/gitlab/api.d.ts.map +1 -1
- package/dist/channels/gitlab/api.js +88 -0
- package/dist/channels/gitlab/binding.d.ts +5 -0
- package/dist/channels/gitlab/binding.d.ts.map +1 -1
- package/dist/channels/gitlab/binding.js +14 -4
- package/dist/channels/gitlab/checks.d.ts.map +1 -1
- package/dist/channels/gitlab/checks.js +1 -1
- package/dist/channels/gitlab/cursor-account.js +1 -1
- package/dist/channels/gitlab/events.js +1 -1
- package/dist/channels/gitlab/gitlab-channel.js +1 -1
- package/dist/channels/gitlab/gitlab-webhook.js +1 -1
- package/dist/channels/gitlab/index.d.ts +1 -1
- package/dist/channels/gitlab/index.d.ts.map +1 -1
- package/dist/channels/gitlab/index.js +1 -1
- package/dist/channels/gitlab/replay.js +2 -2
- package/dist/channels/origin/binding.d.ts +2 -0
- package/dist/channels/origin/binding.d.ts.map +1 -1
- package/dist/channels/origin/binding.js +3 -3
- package/dist/channels/origin/checks.d.ts +19 -7
- package/dist/channels/origin/checks.d.ts.map +1 -1
- package/dist/channels/origin/checks.js +13 -9
- package/dist/channels/origin/cursor-account.js +1 -1
- package/dist/channels/origin/defaults.d.ts.map +1 -1
- package/dist/channels/origin/defaults.js +3 -1
- package/dist/channels/origin/events.js +1 -1
- package/dist/channels/origin/origin-channel.d.ts.map +1 -1
- package/dist/channels/origin/origin-channel.js +2 -1
- package/dist/channels/origin/origin-webhook.js +2 -2
- package/dist/channels/slack/agentic-delivery.d.ts +23 -0
- package/dist/channels/slack/agentic-delivery.d.ts.map +1 -0
- package/dist/channels/slack/agentic-delivery.js +558 -0
- package/dist/channels/slack/agentic-posted.d.ts +30 -0
- package/dist/channels/slack/agentic-posted.d.ts.map +1 -0
- package/dist/channels/slack/agentic-posted.js +102 -0
- package/dist/channels/slack/agentic-signals.d.ts +48 -0
- package/dist/channels/slack/agentic-signals.d.ts.map +1 -0
- package/dist/channels/slack/agentic-signals.js +204 -0
- package/dist/channels/slack/api.d.ts +20 -1
- package/dist/channels/slack/api.d.ts.map +1 -1
- package/dist/channels/slack/api.js +43 -11
- package/dist/channels/slack/approvals.js +1 -1
- package/dist/channels/slack/auth.d.ts.map +1 -1
- package/dist/channels/slack/auth.js +3 -1
- package/dist/channels/slack/blocks.js +3 -3
- package/dist/channels/slack/bot-mentions.d.ts.map +1 -1
- package/dist/channels/slack/bot-mentions.js +5 -5
- package/dist/channels/slack/channel-watch.js +1 -1
- package/dist/channels/slack/cli-project.js +3 -3
- package/dist/channels/slack/defaults.d.ts +3 -0
- package/dist/channels/slack/defaults.d.ts.map +1 -1
- package/dist/channels/slack/defaults.js +90 -29
- package/dist/channels/slack/dispatch.d.ts +44 -1
- package/dist/channels/slack/dispatch.d.ts.map +1 -1
- package/dist/channels/slack/dispatch.js +233 -103
- package/dist/channels/slack/doctor.js +1 -1
- package/dist/channels/slack/eval-directive.js +1 -1
- package/dist/channels/slack/external-policy.d.ts +2 -1
- package/dist/channels/slack/external-policy.d.ts.map +1 -1
- package/dist/channels/slack/external-policy.js +13 -2
- package/dist/channels/slack/footer.d.ts +30 -0
- package/dist/channels/slack/footer.d.ts.map +1 -0
- package/dist/channels/slack/footer.js +88 -0
- package/dist/channels/slack/index.d.ts +2 -0
- package/dist/channels/slack/index.d.ts.map +1 -1
- package/dist/channels/slack/index.js +2 -0
- package/dist/channels/slack/interactive.d.ts.map +1 -1
- package/dist/channels/slack/interactive.js +5 -3
- package/dist/channels/slack/live-delivery.d.ts +1 -1
- package/dist/channels/slack/live-delivery.d.ts.map +1 -1
- package/dist/channels/slack/live-delivery.js +20 -6
- package/dist/channels/slack/log.d.ts.map +1 -1
- package/dist/channels/slack/log.js +1 -1
- package/dist/channels/slack/manifest.js +1 -1
- package/dist/channels/slack/nudge-carrier.js +1 -1
- package/dist/channels/slack/nudge-store.js +2 -2
- package/dist/channels/slack/paint-start.d.ts +22 -0
- package/dist/channels/slack/paint-start.d.ts.map +1 -0
- package/dist/channels/slack/paint-start.js +91 -0
- package/dist/channels/slack/placeholder.d.ts +36 -0
- package/dist/channels/slack/placeholder.d.ts.map +1 -0
- package/dist/channels/slack/placeholder.js +240 -0
- package/dist/channels/slack/progress-delivery.d.ts.map +1 -1
- package/dist/channels/slack/progress-delivery.js +13 -4
- package/dist/channels/slack/reasoning-chip.d.ts +8 -0
- package/dist/channels/slack/reasoning-chip.d.ts.map +1 -0
- package/dist/channels/slack/reasoning-chip.js +30 -0
- package/dist/channels/slack/recording-sink.d.ts +29 -0
- package/dist/channels/slack/recording-sink.d.ts.map +1 -0
- package/dist/channels/slack/recording-sink.js +142 -0
- package/dist/channels/slack/reply-options.d.ts +8 -1
- package/dist/channels/slack/reply-options.d.ts.map +1 -1
- package/dist/channels/slack/reply-options.js +59 -14
- package/dist/channels/slack/setup.js +1 -1
- package/dist/channels/slack/slack-channel.d.ts +12 -5
- package/dist/channels/slack/slack-channel.d.ts.map +1 -1
- package/dist/channels/slack/slack-channel.js +110 -24
- package/dist/channels/slack/socket-mode.js +2 -2
- package/dist/channels/slack/thread-context.js +5 -5
- package/dist/channels/slack/tool-approval-events.d.ts +5 -0
- package/dist/channels/slack/tool-approval-events.d.ts.map +1 -1
- package/dist/channels/slack/tool-approval-events.js +50 -38
- package/dist/channels/slack/tool-cards.js +1 -1
- package/dist/channels/slack/tool-chip.d.ts +9 -0
- package/dist/channels/slack/tool-chip.d.ts.map +1 -0
- package/dist/channels/slack/tool-chip.js +25 -0
- package/dist/channels/slack/types.d.ts +49 -7
- package/dist/channels/slack/types.d.ts.map +1 -1
- package/dist/channels/slack/upload.d.ts +13 -0
- package/dist/channels/slack/upload.d.ts.map +1 -0
- package/dist/channels/slack/upload.js +135 -0
- package/dist/channels.d.ts +10 -14
- package/dist/channels.d.ts.map +1 -1
- package/dist/channels.js +9 -21
- package/dist/dashboard-session-url.d.ts +15 -0
- package/dist/dashboard-session-url.d.ts.map +1 -0
- package/dist/dashboard-session-url.js +25 -0
- package/dist/docs/404.html +3 -3
- package/dist/docs/architecture.svg +59 -0
- package/dist/docs/assets/app.Drol6mi6.js +309 -0
- package/dist/docs/assets/{building-with-agents.md.CUSWxlP_.js → building-with-agents.md.CEGVXkmO.js} +2 -2
- package/dist/docs/assets/{building-with-agents.md.CUSWxlP_.lean.js → building-with-agents.md.CEGVXkmO.lean.js} +1 -1
- package/dist/docs/assets/chunks/@localSearchIndexroot.DtXk1hy-.js +1 -0
- package/dist/docs/assets/chunks/{VPLocalSearchBox.BOKxlYGP.js → VPLocalSearchBox.CdqoBZJX.js} +2 -2
- package/dist/docs/assets/chunks/arc.BVX3ycTn.js +1 -0
- package/dist/docs/assets/chunks/architectureDiagram-Q4EWVU46.CcChnMxX.js +36 -0
- package/dist/docs/assets/chunks/baseUniq.xwtXO-yt.js +1 -0
- package/dist/docs/assets/chunks/blockDiagram-DXYQGD6D.CijZ_taK.js +132 -0
- package/dist/docs/assets/chunks/c4Diagram-AHTNJAMY.0FBvwBvK.js +10 -0
- package/dist/docs/assets/chunks/channel.Bkv1N-gK.js +1 -0
- package/dist/docs/assets/chunks/chunk-4BX2VUAB.CELMmMDA.js +1 -0
- package/dist/docs/assets/chunks/chunk-4TB4RGXK.C4bhFtSm.js +206 -0
- package/dist/docs/assets/chunks/chunk-55IACEB6.ZnQ9gRRQ.js +1 -0
- package/dist/docs/assets/chunks/chunk-EDXVE4YY.DPlmglG-.js +1 -0
- package/dist/docs/assets/chunks/chunk-FMBD7UC4.BrUk8pff.js +15 -0
- package/dist/docs/assets/chunks/chunk-OYMX7WX6.CcmWIncu.js +231 -0
- package/dist/docs/assets/chunks/chunk-QZHKN3VN.D65-cs8I.js +1 -0
- package/dist/docs/assets/chunks/chunk-YZCP3GAM.qoXZpG9F.js +1 -0
- package/dist/docs/assets/chunks/classDiagram-6PBFFD2Q.CZDco1o8.js +1 -0
- package/dist/docs/assets/chunks/classDiagram-v2-HSJHXN6E.CZDco1o8.js +1 -0
- package/dist/docs/assets/chunks/clone.YSt_40_s.js +1 -0
- package/dist/docs/assets/chunks/cose-bilkent-S5V4N54A.8rYtqudO.js +1 -0
- package/dist/docs/assets/chunks/cytoscape.esm.BQk4lpUV.js +331 -0
- package/dist/docs/assets/chunks/dagre-KV5264BT.DrRP1fOh.js +4 -0
- package/dist/docs/assets/chunks/defaultLocale.C4B-KCzX.js +1 -0
- package/dist/docs/assets/chunks/diagram-5BDNPKRD.DHj_xA2_.js +10 -0
- package/dist/docs/assets/chunks/diagram-G4DWMVQ6.Bz_6nAKj.js +24 -0
- package/dist/docs/assets/chunks/diagram-MMDJMWI5.BWA0xSW9.js +43 -0
- package/dist/docs/assets/chunks/diagram-TYMM5635.CpTJLNJI.js +24 -0
- package/dist/docs/assets/chunks/erDiagram-SMLLAGMA.-7AWWSrP.js +85 -0
- package/dist/docs/assets/chunks/flowDiagram-DWJPFMVM.BTnQ742_.js +162 -0
- package/dist/docs/assets/chunks/framework.dypDpWZ3.js +19 -0
- package/dist/docs/assets/chunks/ganttDiagram-T4ZO3ILL.B5_HiiQ5.js +292 -0
- package/dist/docs/assets/chunks/gitGraphDiagram-UUTBAWPF.CZcNTFZd.js +106 -0
- package/dist/docs/assets/chunks/graph.V2GLaab4.js +1 -0
- package/dist/docs/assets/chunks/infoDiagram-42DDH7IO.7pZOkCCU.js +2 -0
- package/dist/docs/assets/chunks/init.Gi6I4Gst.js +1 -0
- package/dist/docs/assets/chunks/ishikawaDiagram-UXIWVN3A.DSMo3Qa3.js +70 -0
- package/dist/docs/assets/chunks/journeyDiagram-VCZTEJTY.BNEgWN1S.js +139 -0
- package/dist/docs/assets/chunks/kanban-definition-6JOO6SKY.B-4d4tC7.js +89 -0
- package/dist/docs/assets/chunks/katex.DkKDou_j.js +257 -0
- package/dist/docs/assets/chunks/layout.Dvbn9nSb.js +1 -0
- package/dist/docs/assets/chunks/linear.D2GM4p4b.js +1 -0
- package/dist/docs/assets/chunks/min.DVBtLK-B.js +1 -0
- package/dist/docs/assets/chunks/mindmap-definition-QFDTVHPH.CnJRI55x.js +96 -0
- package/dist/docs/assets/chunks/ordinal.DBvzRdQf.js +1 -0
- package/dist/docs/assets/chunks/pieDiagram-DEJITSTG.CtoaTFlA.js +30 -0
- package/dist/docs/assets/chunks/quadrantDiagram-34T5L4WZ.DtT24_vN.js +7 -0
- package/dist/docs/assets/chunks/requirementDiagram-MS252O5E.CjSO4o8f.js +84 -0
- package/dist/docs/assets/chunks/sankeyDiagram-XADWPNL6.-wWiIVWa.js +10 -0
- package/dist/docs/assets/chunks/sequenceDiagram-FGHM5R23.DSk8s4gX.js +157 -0
- package/dist/docs/assets/chunks/stateDiagram-FHFEXIEX.BFKAsdkN.js +1 -0
- package/dist/docs/assets/chunks/stateDiagram-v2-QKLJ7IA2.C4CLm481.js +1 -0
- package/dist/docs/assets/chunks/{theme.DbDZW-zb.js → theme.C0MctGaz.js} +2 -2
- package/dist/docs/assets/chunks/timeline-definition-GMOUNBTQ.TUNJbAFe.js +120 -0
- package/dist/docs/assets/chunks/vennDiagram-DHZGUBPP.C-RGNnk4.js +34 -0
- package/dist/docs/assets/chunks/virtual_mermaid-config.DDnGl6nM.js +1 -0
- package/dist/docs/assets/chunks/wardley-RL74JXVD.g5efOWmT.js +162 -0
- package/dist/docs/assets/chunks/wardleyDiagram-NUSXRM2D.DH4zt73Y.js +20 -0
- package/dist/docs/assets/chunks/xychartDiagram-5P7HB3ND.B-3k6bF6.js +7 -0
- package/dist/docs/assets/{deployment.md.JenwuCCB.js → deployment.md.Dm4Qo3hp.js} +5 -5
- package/dist/docs/assets/{deployment.md.JenwuCCB.lean.js → deployment.md.Dm4Qo3hp.lean.js} +1 -1
- package/dist/docs/assets/evals.md.BLDRt5LH.js +211 -0
- package/dist/docs/assets/evals.md.BLDRt5LH.lean.js +1 -0
- package/dist/docs/assets/guides_agent-to-agent.md.BI0xclmy.js +14 -0
- package/dist/docs/assets/guides_agent-to-agent.md.BI0xclmy.lean.js +1 -0
- package/dist/docs/assets/guides_bitbucket.md.CTpCl__f.js +10 -0
- package/dist/docs/assets/guides_bitbucket.md.CTpCl__f.lean.js +1 -0
- package/dist/docs/assets/{guides_cloud-agents.md.BsloyHdY.js → guides_cloud-agents.md.lSE_l7lH.js} +2 -2
- package/dist/docs/assets/{guides_cloud-agents.md.BsloyHdY.lean.js → guides_cloud-agents.md.lSE_l7lH.lean.js} +1 -1
- package/dist/docs/assets/{guides_convert-automation.md.B4sjlodG.js → guides_convert-automation.md.Ck6Cr68A.js} +1 -1
- package/dist/docs/assets/{guides_convert-automation.md.B4sjlodG.lean.js → guides_convert-automation.md.Ck6Cr68A.lean.js} +1 -1
- package/dist/docs/assets/{guides_github.md.BH33UEBJ.js → guides_github.md.D6ER29dG.js} +13 -3
- package/dist/docs/assets/{guides_github.md.BH33UEBJ.lean.js → guides_github.md.D6ER29dG.lean.js} +1 -1
- package/dist/docs/assets/guides_gitlab.md.P-TjBnS5.js +14 -0
- package/dist/docs/assets/guides_gitlab.md.P-TjBnS5.lean.js +1 -0
- package/dist/docs/assets/guides_grokbot-agents.md.WBZIOvkz.js +9 -0
- package/dist/docs/assets/{guides_grokbot-agents.md.DyV-WArv.lean.js → guides_grokbot-agents.md.WBZIOvkz.lean.js} +1 -1
- package/dist/docs/assets/{guides_improve.md.BGVk32bK.js → guides_improve.md.BKaDuKKK.js} +1 -1
- package/dist/docs/assets/{guides_improve.md.BGVk32bK.lean.js → guides_improve.md.BKaDuKKK.lean.js} +1 -1
- package/dist/docs/assets/{guides_mcp-oauth.md.Dp6cDP7f.js → guides_mcp-oauth.md.DMNMpXtO.js} +1 -1
- package/dist/docs/assets/{guides_mcp-oauth.md.Dp6cDP7f.lean.js → guides_mcp-oauth.md.DMNMpXtO.lean.js} +1 -1
- package/dist/docs/assets/{guides_opentelemetry.md.SCRMskno.js → guides_opentelemetry.md._CRfDyzH.js} +14 -14
- package/dist/docs/assets/{guides_opentelemetry.md.SCRMskno.lean.js → guides_opentelemetry.md._CRfDyzH.lean.js} +1 -1
- package/dist/docs/assets/{guides_slack.md.D4RVMM4G.js → guides_slack.md.DdT8rmsj.js} +12 -4
- package/dist/docs/assets/{guides_slack.md.D4RVMM4G.lean.js → guides_slack.md.DdT8rmsj.lean.js} +1 -1
- package/dist/docs/assets/{guides_webhooks.md.DKdA43Qm.js → guides_webhooks.md.aQW10HRe.js} +3 -3
- package/dist/docs/assets/{guides_webhooks.md.DKdA43Qm.lean.js → guides_webhooks.md.aQW10HRe.lean.js} +1 -1
- package/dist/docs/assets/hillclimbing.md.Dq4kkVIL.js +1 -0
- package/dist/docs/assets/hillclimbing.md.Dq4kkVIL.lean.js +1 -0
- package/dist/docs/assets/index.md.BFVyY2KT.js +17 -0
- package/dist/docs/assets/index.md.BFVyY2KT.lean.js +1 -0
- package/dist/docs/assets/{quickstart.md.DdQOF7Y8.js → quickstart.md.D3MjSZN-.js} +30 -38
- package/dist/docs/assets/quickstart.md.D3MjSZN-.lean.js +1 -0
- package/dist/docs/assets/{reference_agent-config.md.CvoL6pof.js → reference_agent-config.md.CfVA-LZJ.js} +1 -1
- package/dist/docs/assets/{reference_agent-config.md.CvoL6pof.lean.js → reference_agent-config.md.CfVA-LZJ.lean.js} +1 -1
- package/dist/docs/assets/{reference_artifacts.md.Dior32Qw.js → reference_artifacts.md.Vf7qyIZ-.js} +1 -1
- package/dist/docs/assets/{reference_artifacts.md.Dior32Qw.lean.js → reference_artifacts.md.Vf7qyIZ-.lean.js} +1 -1
- package/dist/docs/assets/{reference_channels.md.D-qTqwcq.js → reference_channels.md.icqLKcTc.js} +2 -12
- package/dist/docs/assets/{reference_channels.md.D-qTqwcq.lean.js → reference_channels.md.icqLKcTc.lean.js} +1 -1
- package/dist/docs/assets/{reference_cli.md.Ca26u0Es.js → reference_cli.md.B2dBL6L8.js} +4 -4
- package/dist/docs/assets/{reference_cli.md.Ca26u0Es.lean.js → reference_cli.md.B2dBL6L8.lean.js} +1 -1
- package/dist/docs/assets/{reference_connections.md.BojkC6c5.js → reference_connections.md.Cb3U_c8n.js} +4 -4
- package/dist/docs/assets/{reference_connections.md.BojkC6c5.lean.js → reference_connections.md.Cb3U_c8n.lean.js} +1 -1
- package/dist/docs/assets/{reference_extensions.md.CPWt00ds.js → reference_extensions.md.wlFD3cUR.js} +3 -3
- package/dist/docs/assets/{reference_extensions.md.CPWt00ds.lean.js → reference_extensions.md.wlFD3cUR.lean.js} +1 -1
- package/dist/docs/assets/{reference_hooks.md.Ddt5DdgJ.js → reference_hooks.md.CZuynAxj.js} +3 -3
- package/dist/docs/assets/{reference_hooks.md.Ddt5DdgJ.lean.js → reference_hooks.md.CZuynAxj.lean.js} +1 -1
- package/dist/docs/assets/{reference_http-api.md.oySXBO8o.js → reference_http-api.md.DTKcYE6L.js} +3 -3
- package/dist/docs/assets/{reference_http-api.md.oySXBO8o.lean.js → reference_http-api.md.DTKcYE6L.lean.js} +1 -1
- package/dist/docs/assets/{reference_instructions.md.CR7XSsGk.js → reference_instructions.md.D7gkckK-.js} +1 -1
- package/dist/docs/assets/{reference_instructions.md.CR7XSsGk.lean.js → reference_instructions.md.D7gkckK-.lean.js} +1 -1
- package/dist/docs/assets/{reference_playground.md.4myJPxrf.js → reference_playground.md.D2YExv5K.js} +1 -1
- package/dist/docs/assets/{reference_playground.md.4myJPxrf.lean.js → reference_playground.md.D2YExv5K.lean.js} +1 -1
- package/dist/docs/assets/reference_project-layout.md.DPxbUJyt.js +19 -0
- package/dist/docs/assets/{reference_project-layout.md.DuBu9a96.lean.js → reference_project-layout.md.DPxbUJyt.lean.js} +1 -1
- package/dist/docs/assets/{reference_prompt.md.DnaD5dNK.js → reference_prompt.md.BQ5uAv1F.js} +1 -1
- package/dist/docs/assets/{reference_prompt.md.DnaD5dNK.lean.js → reference_prompt.md.BQ5uAv1F.lean.js} +1 -1
- package/dist/docs/assets/{reference_schedules.md.DI_JrHgq.js → reference_schedules.md.BasfZWO-.js} +1 -1
- package/dist/docs/assets/{reference_schedules.md.DI_JrHgq.lean.js → reference_schedules.md.BasfZWO-.lean.js} +1 -1
- package/dist/docs/assets/reference_sessions.md.YKvIsWAx.js +1 -0
- package/dist/docs/assets/{reference_sessions.md.CueyOHSL.lean.js → reference_sessions.md.YKvIsWAx.lean.js} +1 -1
- package/dist/docs/assets/{reference_skills.md.l2ezAcaN.js → reference_skills.md.rNgpsGd0.js} +1 -1
- package/dist/docs/assets/{reference_skills.md.l2ezAcaN.lean.js → reference_skills.md.rNgpsGd0.lean.js} +1 -1
- package/dist/docs/assets/{reference_subagents.md.CfsIloPm.js → reference_subagents.md.e5qitjJt.js} +2 -2
- package/dist/docs/assets/{reference_subagents.md.CfsIloPm.lean.js → reference_subagents.md.e5qitjJt.lean.js} +1 -1
- package/dist/docs/assets/{reference_tools.md.aGrn99hP.js → reference_tools.md.BdCO2aHZ.js} +4 -4
- package/dist/docs/assets/{reference_tools.md.aGrn99hP.lean.js → reference_tools.md.BdCO2aHZ.lean.js} +1 -1
- package/dist/docs/assets/{style.DCD_zyg3.css → style.Cfo2vbik.css} +1 -1
- package/dist/docs/assets/{templates_agentic-owners.md.BZSH4N9z.js → templates_agentic-owners.md.Da_AGDlH.js} +1 -1
- package/dist/docs/assets/{templates_agentic-owners.md.BZSH4N9z.lean.js → templates_agentic-owners.md.Da_AGDlH.lean.js} +1 -1
- package/dist/docs/assets/{templates_pr-autofixer.md.Bds_XWcV.js → templates_pr-autofixer.md.DqxocIGh.js} +1 -1
- package/dist/docs/assets/{templates_pr-autofixer.md.Bds_XWcV.lean.js → templates_pr-autofixer.md.DqxocIGh.lean.js} +1 -1
- package/dist/docs/assets/{templates_security-reviewer.md.lshxbCLK.js → templates_security-reviewer.md.Bhnvd8VE.js} +1 -1
- package/dist/docs/assets/{templates_security-reviewer.md.lshxbCLK.lean.js → templates_security-reviewer.md.Bhnvd8VE.lean.js} +1 -1
- package/dist/docs/assets/{templates_triage.md.Co4UNzkZ.js → templates_triage.md.BdBWO9Ic.js} +1 -1
- package/dist/docs/assets/{templates_triage.md.Co4UNzkZ.lean.js → templates_triage.md.BdBWO9Ic.lean.js} +1 -1
- package/dist/docs/assets/{troubleshooting.md.CYEAO9bM.js → troubleshooting.md.BcgNoYtJ.js} +1 -1
- package/dist/docs/assets/{troubleshooting.md.CYEAO9bM.lean.js → troubleshooting.md.BcgNoYtJ.lean.js} +1 -1
- package/dist/docs/building-with-agents.html +41 -8
- package/dist/docs/building-with-agents.md +15 -16
- package/dist/docs/deployment.html +44 -11
- package/dist/docs/deployment.md +6 -7
- package/dist/docs/evals.html +196 -37
- package/dist/docs/evals.md +612 -297
- package/dist/docs/guides/agent-to-agent.html +48 -11
- package/dist/docs/guides/agent-to-agent.md +40 -83
- package/dist/docs/guides/bitbucket.html +69 -0
- package/dist/docs/guides/bitbucket.md +84 -0
- package/dist/docs/guides/cloud-agents.html +41 -8
- package/dist/docs/guides/cloud-agents.md +24 -20
- package/dist/docs/guides/convert-automation.html +41 -8
- package/dist/docs/guides/github.html +52 -9
- package/dist/docs/guides/github.md +32 -1
- package/dist/docs/guides/gitlab.html +73 -0
- package/dist/docs/guides/gitlab.md +92 -0
- package/dist/docs/guides/grokbot-agents.html +41 -8
- package/dist/docs/guides/grokbot-agents.md +26 -19
- package/dist/docs/guides/improve.html +41 -8
- package/dist/docs/guides/mcp-oauth.html +41 -8
- package/dist/docs/guides/mcp-oauth.md +1 -1
- package/dist/docs/guides/opentelemetry.html +53 -20
- package/dist/docs/guides/opentelemetry.md +28 -41
- package/dist/docs/guides/slack.html +51 -10
- package/dist/docs/guides/slack.md +53 -4
- package/dist/docs/guides/webhooks.html +42 -9
- package/dist/docs/guides/webhooks.md +7 -6
- package/dist/docs/hashmap.json +1 -1
- package/dist/docs/hillclimbing.html +40 -10
- package/dist/docs/hillclimbing.md +7 -7
- package/dist/docs/index.html +57 -12
- package/dist/docs/index.md +81 -146
- package/dist/docs/llms-full.txt +1368 -5551
- package/dist/docs/llms.txt +6 -31
- package/dist/docs/quickstart.html +70 -45
- package/dist/docs/quickstart.md +44 -105
- package/dist/docs/reference/agent-config.html +41 -8
- package/dist/docs/reference/artifacts.html +41 -8
- package/dist/docs/reference/channels.html +41 -18
- package/dist/docs/reference/channels.md +16 -19
- package/dist/docs/reference/cli.html +43 -10
- package/dist/docs/reference/cli.md +6 -20
- package/dist/docs/reference/connections.html +43 -10
- package/dist/docs/reference/connections.md +3 -5
- package/dist/docs/reference/extensions.html +43 -10
- package/dist/docs/reference/extensions.md +2 -5
- package/dist/docs/reference/hooks.html +42 -9
- package/dist/docs/reference/hooks.md +11 -16
- package/dist/docs/reference/http-api.html +42 -9
- package/dist/docs/reference/http-api.md +6 -7
- package/dist/docs/reference/instructions.html +41 -8
- package/dist/docs/reference/playground.html +40 -7
- package/dist/docs/reference/playground.md +2 -6
- package/dist/docs/reference/project-layout.html +42 -9
- package/dist/docs/reference/project-layout.md +4 -12
- package/dist/docs/reference/prompt.html +41 -8
- package/dist/docs/reference/schedules.html +41 -8
- package/dist/docs/reference/sessions.html +40 -7
- package/dist/docs/reference/sessions.md +6 -6
- package/dist/docs/reference/skills.html +41 -8
- package/dist/docs/reference/subagents.html +41 -8
- package/dist/docs/reference/subagents.md +2 -4
- package/dist/docs/reference/tools.html +43 -10
- package/dist/docs/reference/tools.md +2 -5
- package/dist/docs/templates/agentic-owners.html +41 -8
- package/dist/docs/templates/pr-autofixer.html +41 -8
- package/dist/docs/templates/security-reviewer.html +41 -8
- package/dist/docs/templates/triage.html +41 -8
- package/dist/docs/troubleshooting.html +40 -7
- package/dist/docs/troubleshooting.md +1 -2
- package/dist/evals/assertions.js +19 -19
- package/dist/evals/expect.js +1 -1
- package/dist/evals/judge.js +1 -1
- package/dist/evals/reporters.d.ts.map +1 -1
- package/dist/evals/reporters.js +8 -8
- package/dist/evals/run-facts.js +2 -2
- package/dist/evals.d.ts +1 -1
- package/dist/evals.d.ts.map +1 -1
- package/dist/evals.js +7 -7
- package/dist/extensions/cursor-cloud-agents/extension.js +1 -1
- package/dist/extensions/cursor-cloud-agents/lib/backend.js +3 -3
- package/dist/extensions/cursor-cloud-agents/lib/fleet.js +1 -1
- package/dist/extensions/cursor-cloud-agents/lib/repos.js +6 -6
- package/dist/extensions/cursor-cloud-agents/lib/transcript.d.ts.map +1 -1
- package/dist/extensions/cursor-cloud-agents/lib/transcript.js +2 -2
- package/dist/extensions/cursor-cloud-agents/tools/list.js +1 -1
- package/dist/extensions/improve/skills/yourself.js +1 -1
- package/dist/extensions/slack-communication/extension.d.ts +28 -0
- package/dist/extensions/slack-communication/extension.d.ts.map +1 -0
- package/dist/extensions/slack-communication/extension.js +32 -0
- package/dist/extensions/slack-communication/skills/slack-voice.d.ts +5 -0
- package/dist/extensions/slack-communication/skills/slack-voice.d.ts.map +1 -0
- package/dist/extensions/slack-communication/skills/slack-voice.js +54 -0
- package/dist/extensions/slack-communication/tools/delete-message.d.ts +4 -0
- package/dist/extensions/slack-communication/tools/delete-message.d.ts.map +1 -0
- package/dist/extensions/slack-communication/tools/delete-message.js +29 -0
- package/dist/extensions/slack-communication/tools/edit-message.d.ts +4 -0
- package/dist/extensions/slack-communication/tools/edit-message.d.ts.map +1 -0
- package/dist/extensions/slack-communication/tools/edit-message.js +37 -0
- package/dist/extensions/slack-communication/tools/post-card.d.ts +4 -0
- package/dist/extensions/slack-communication/tools/post-card.d.ts.map +1 -0
- package/dist/extensions/slack-communication/tools/post-card.js +25 -0
- package/dist/extensions/slack-communication/tools/post-file.d.ts +4 -0
- package/dist/extensions/slack-communication/tools/post-file.d.ts.map +1 -0
- package/dist/extensions/slack-communication/tools/post-file.js +76 -0
- package/dist/extensions/slack-communication/tools/post-update.d.ts +4 -0
- package/dist/extensions/slack-communication/tools/post-update.d.ts.map +1 -0
- package/dist/extensions/slack-communication/tools/post-update.js +36 -0
- package/dist/extensions/slack-communication/tools/react.d.ts +4 -0
- package/dist/extensions/slack-communication/tools/react.d.ts.map +1 -0
- package/dist/extensions/slack-communication/tools/react.js +27 -0
- package/dist/extensions/slack-communication/tools/set-status.d.ts +4 -0
- package/dist/extensions/slack-communication/tools/set-status.d.ts.map +1 -0
- package/dist/extensions/slack-communication/tools/set-status.js +18 -0
- package/dist/extensions.d.ts +2 -3
- package/dist/extensions.d.ts.map +1 -1
- package/dist/extensions.js +2 -5
- package/dist/files-backends/cursor-hosted.d.ts +18 -6
- package/dist/files-backends/cursor-hosted.d.ts.map +1 -1
- package/dist/files-backends/cursor-hosted.js +357 -74
- package/dist/files-backends/local-fs.js +1 -1
- package/dist/files.d.ts +15 -0
- package/dist/files.d.ts.map +1 -1
- package/dist/filesystem.d.ts.map +1 -1
- package/dist/filesystem.js +15 -15
- package/dist/index.d.ts +6 -10
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -8
- package/dist/internal/advertise-tools.js +6 -6
- package/dist/internal/approval-gate.js +1 -1
- package/dist/internal/artifacts-store.js +3 -3
- package/dist/internal/as-of.js +2 -2
- package/dist/internal/authored-alias-hooks.d.ts +5 -0
- package/dist/internal/authored-alias-hooks.d.ts.map +1 -1
- package/dist/internal/authored-alias-hooks.js +17 -0
- package/dist/internal/authored-loaders.d.ts +4 -0
- package/dist/internal/authored-loaders.d.ts.map +1 -1
- package/dist/internal/authored-loaders.js +21 -2
- package/dist/internal/builtin-tools/reminders.js +2 -2
- package/dist/internal/chat-client.js +5 -5
- package/dist/internal/cli-ax.d.ts +2 -2
- package/dist/internal/cli-ax.d.ts.map +1 -1
- package/dist/internal/cli-ax.js +69 -15
- package/dist/internal/cli-bitbucket.js +10 -10
- package/dist/internal/cli-convert-automation.js +2 -2
- package/dist/internal/cli-cursor.d.ts +3 -11
- package/dist/internal/cli-cursor.d.ts.map +1 -1
- package/dist/internal/cli-cursor.js +5 -10
- package/dist/internal/cli-deploy.d.ts +12 -2
- package/dist/internal/cli-deploy.d.ts.map +1 -1
- package/dist/internal/cli-deploy.js +328 -96
- package/dist/internal/cli-docs.js +5 -5
- package/dist/internal/cli-github.js +15 -16
- package/dist/internal/cli-gitlab.js +10 -10
- package/dist/internal/cli-manifest.js +1 -1
- package/dist/internal/cli-mcp-oauth.d.ts.map +1 -1
- package/dist/internal/cli-mcp-oauth.js +5 -5
- package/dist/internal/cli-mcp.js +3 -3
- package/dist/internal/cli-skills.js +2 -2
- package/dist/internal/cli-slack.js +5 -5
- package/dist/internal/cloud-turn-cost.js +1 -1
- package/dist/internal/continuation-channel.d.ts.map +1 -1
- package/dist/internal/continuation-channel.js +2 -2
- package/dist/internal/continuation-identity.d.ts.map +1 -1
- package/dist/internal/continuation-identity.js +22 -12
- package/dist/internal/conversation-mirror.d.ts.map +1 -1
- package/dist/internal/conversation-mirror.js +33 -2
- package/dist/internal/convert-automation/convert-workflow.js +25 -24
- package/dist/internal/convert-automation/types.d.ts +8 -0
- package/dist/internal/convert-automation/types.d.ts.map +1 -1
- package/dist/internal/cursor/account-mcp.d.ts +2 -2
- package/dist/internal/cursor/account-mcp.d.ts.map +1 -1
- package/dist/internal/cursor/account-mcp.js +32 -27
- package/dist/internal/cursor/backend-client.d.ts +15 -10
- package/dist/internal/cursor/backend-client.d.ts.map +1 -1
- package/dist/internal/cursor/backend-client.js +17 -11
- package/dist/internal/cursor/credentials.js +1 -1
- package/dist/internal/cursor/hosted-store-secrets.d.ts +16 -0
- package/dist/internal/cursor/hosted-store-secrets.d.ts.map +1 -1
- package/dist/internal/cursor/hosted-store-secrets.js +25 -0
- package/dist/internal/cursor-account-mcp-auth.js +9 -9
- package/dist/internal/cursor-deployment-relay.js +9 -9
- package/dist/internal/cursor-event-relay.js +10 -10
- package/dist/internal/cursor-relay-core.js +2 -2
- package/dist/internal/deploy-client.d.ts +106 -9
- package/dist/internal/deploy-client.d.ts.map +1 -1
- package/dist/internal/deploy-client.js +171 -23
- package/dist/internal/deploy-manifest.d.ts +13 -0
- package/dist/internal/deploy-manifest.d.ts.map +1 -1
- package/dist/internal/deploy-manifest.js +32 -16
- package/dist/internal/discovery/agent-config.d.ts +5 -0
- package/dist/internal/discovery/agent-config.d.ts.map +1 -1
- package/dist/internal/discovery/agent-config.js +27 -0
- package/dist/internal/discovery/agent.d.ts +1 -1
- package/dist/internal/discovery/agent.d.ts.map +1 -1
- package/dist/internal/discovery/agent.js +10 -13
- package/dist/internal/discovery/channels.js +4 -4
- package/dist/internal/discovery/connections.js +4 -4
- package/dist/internal/discovery/cursor-plugin.js +12 -12
- package/dist/internal/discovery/extension-overlay.d.ts +1 -2
- package/dist/internal/discovery/extension-overlay.d.ts.map +1 -1
- package/dist/internal/discovery/extension-overlay.js +3 -17
- package/dist/internal/discovery/extensions.d.ts +1 -2
- package/dist/internal/discovery/extensions.d.ts.map +1 -1
- package/dist/internal/discovery/extensions.js +10 -28
- package/dist/internal/discovery/info.d.ts.map +1 -1
- package/dist/internal/discovery/info.js +44 -26
- package/dist/internal/discovery/instructions.js +1 -1
- package/dist/internal/discovery/modules.js +0 -1
- package/dist/internal/discovery/project.d.ts.map +1 -1
- package/dist/internal/discovery/project.js +4 -20
- package/dist/internal/discovery/services.js +1 -1
- package/dist/internal/discovery/tools.js +1 -1
- package/dist/internal/docs-site.js +2 -2
- package/dist/internal/env-file.js +1 -1
- package/dist/internal/eval-run-store.d.ts.map +1 -1
- package/dist/internal/eval-run-store.js +7 -7
- package/dist/internal/eval-runner.js +14 -15
- package/dist/internal/evals-client.js +4 -4
- package/dist/internal/event-log.js +8 -8
- package/dist/internal/event-mapper.d.ts +18 -0
- package/dist/internal/event-mapper.d.ts.map +1 -1
- package/dist/internal/event-mapper.js +34 -2
- package/dist/internal/filesystem/format.d.ts.map +1 -1
- package/dist/internal/filesystem/format.js +6 -3
- package/dist/internal/filesystem/scratch.js +3 -3
- package/dist/internal/filesystem/tools.d.ts.map +1 -1
- package/dist/internal/filesystem/tools.js +6 -6
- package/dist/internal/filesystem/walk.js +1 -1
- package/dist/internal/framework-file-storage.d.ts +10 -7
- package/dist/internal/framework-file-storage.d.ts.map +1 -1
- package/dist/internal/framework-file-storage.js +95 -7
- package/dist/internal/framework-storage-selection.d.ts +2 -8
- package/dist/internal/framework-storage-selection.d.ts.map +1 -1
- package/dist/internal/framework-storage-selection.js +4 -13
- package/dist/internal/github-fanout.js +3 -3
- package/dist/internal/guest-network.js +4 -4
- package/dist/internal/host-files.js +1 -1
- package/dist/internal/host-kv.js +2 -2
- package/dist/internal/hosted-admission-adapter.d.ts +2 -0
- package/dist/internal/hosted-admission-adapter.d.ts.map +1 -1
- package/dist/internal/hosted-catch-protocol.d.ts.map +1 -1
- package/dist/internal/hosted-catch-protocol.js +2 -4
- package/dist/internal/hosted-catch.js +1 -1
- package/dist/internal/hosted-delivery-protocol.d.ts +29 -0
- package/dist/internal/hosted-delivery-protocol.d.ts.map +1 -1
- package/dist/internal/hosted-delivery-protocol.js +76 -8
- package/dist/internal/hosted-delivery.d.ts.map +1 -1
- package/dist/internal/hosted-delivery.js +201 -64
- package/dist/internal/hosted-execution-diag.js +3 -3
- package/dist/internal/hosted-execution-latency.d.ts +80 -0
- package/dist/internal/hosted-execution-latency.d.ts.map +1 -0
- package/dist/internal/hosted-execution-latency.js +220 -0
- package/dist/internal/hosting.d.ts +5 -5
- package/dist/internal/hosting.d.ts.map +1 -1
- package/dist/internal/hosting.js +5 -6
- package/dist/internal/http-channel-define.d.ts +11 -0
- package/dist/internal/http-channel-define.d.ts.map +1 -0
- package/dist/internal/http-channel-define.js +18 -0
- package/dist/internal/http-channel.d.ts +2 -3
- package/dist/internal/http-channel.d.ts.map +1 -1
- package/dist/internal/http-channel.js +3 -4
- package/dist/internal/http-control-plane-session.d.ts +7 -3
- package/dist/internal/http-control-plane-session.d.ts.map +1 -1
- package/dist/internal/http-control-plane-session.js +22 -10
- package/dist/internal/incoming-headers-to-fetch.d.ts +10 -0
- package/dist/internal/incoming-headers-to-fetch.d.ts.map +1 -0
- package/dist/internal/incoming-headers-to-fetch.js +41 -0
- package/dist/internal/init-interview.js +7 -7
- package/dist/internal/init-project.d.ts.map +1 -1
- package/dist/internal/init-project.js +14 -14
- package/dist/internal/init-scaffold.d.ts.map +1 -1
- package/dist/internal/init-scaffold.js +2 -3
- package/dist/internal/inline-stdio-mcp.js +2 -2
- package/dist/internal/install-cursor-skills.d.ts +5 -2
- package/dist/internal/install-cursor-skills.d.ts.map +1 -1
- package/dist/internal/install-cursor-skills.js +35 -15
- package/dist/internal/json-schema.js +1 -1
- package/dist/internal/local-control-plane.d.ts.map +1 -1
- package/dist/internal/local-control-plane.js +3 -3
- package/dist/internal/local-env.js +3 -3
- package/dist/internal/log-ring.js +1 -1
- package/dist/internal/logs-client.js +1 -1
- package/dist/internal/mcp-endpoint.js +8 -8
- package/dist/internal/mcp-host.js +4 -4
- package/dist/internal/mcp-oauth-on-demand.js +3 -3
- package/dist/internal/mcp-oauth.js +5 -5
- package/dist/internal/net.js +2 -2
- package/dist/internal/otel/config.js +3 -3
- package/dist/internal/otel/runtime.js +13 -13
- package/dist/internal/peer-connections.js +2 -2
- package/dist/internal/platform-schedule-sync.js +1 -1
- package/dist/internal/platform-timers.js +1 -1
- package/dist/internal/playground/static.js +2 -2
- package/dist/internal/playground/toolchain.js +2 -2
- package/dist/internal/playground-proxy.js +3 -3
- package/dist/internal/process-memory-telemetry.js +1 -1
- package/dist/internal/reminder-runner.d.ts.map +1 -1
- package/dist/internal/reminder-runner.js +7 -7
- package/dist/internal/reminder-store.js +1 -1
- package/dist/internal/request-error-status.d.ts.map +1 -1
- package/dist/internal/request-error-status.js +9 -0
- package/dist/internal/resolved-connections.js +8 -8
- package/dist/internal/result-output.d.ts +14 -2
- package/dist/internal/result-output.d.ts.map +1 -1
- package/dist/internal/result-output.js +45 -2
- package/dist/internal/router.js +4 -4
- package/dist/internal/run-client.d.ts +1 -1
- package/dist/internal/run-client.js +2 -2
- package/dist/internal/schedule-runner.js +6 -6
- package/dist/internal/scm/pr-url.d.ts +3 -1
- package/dist/internal/scm/pr-url.d.ts.map +1 -1
- package/dist/internal/scm/pr-url.js +10 -2
- package/dist/internal/sdk-runner.d.ts.map +1 -1
- package/dist/internal/sdk-runner.js +15 -16
- package/dist/internal/serve-restart.js +1 -1
- package/dist/internal/server.d.ts.map +1 -1
- package/dist/internal/server.js +81 -101
- package/dist/internal/session-cost.js +3 -3
- package/dist/internal/session-engine.d.ts +39 -35
- package/dist/internal/session-engine.d.ts.map +1 -1
- package/dist/internal/session-engine.js +394 -343
- package/dist/internal/session-run-log.d.ts.map +1 -1
- package/dist/internal/session-run-log.js +4 -4
- package/dist/internal/session-store.d.ts +47 -3
- package/dist/internal/session-store.d.ts.map +1 -1
- package/dist/internal/session-store.js +198 -33
- package/dist/internal/sessions-client.js +3 -3
- package/dist/internal/slack-thread-key.d.ts +7 -0
- package/dist/internal/slack-thread-key.d.ts.map +1 -0
- package/dist/internal/slack-thread-key.js +10 -0
- package/dist/internal/sleep.js +1 -1
- package/dist/internal/storage-coordinator.d.ts +22 -19
- package/dist/internal/storage-coordinator.d.ts.map +1 -1
- package/dist/internal/storage-coordinator.js +114 -73
- package/dist/internal/storage-roles.d.ts +4 -9
- package/dist/internal/storage-roles.d.ts.map +1 -1
- package/dist/internal/storage-roles.js +2 -2
- package/dist/internal/storage.d.ts +2 -0
- package/dist/internal/storage.d.ts.map +1 -0
- package/dist/internal/storage.js +1 -0
- package/dist/internal/store-mirror.js +4 -4
- package/dist/internal/terminal-style.js +2 -2
- package/dist/internal/tool-result.js +3 -3
- package/dist/internal/trajectory.js +7 -7
- package/dist/internal/turn-governor.js +2 -2
- package/dist/internal/turn-outbox.js +1 -1
- package/dist/internal/update-check.js +2 -2
- package/dist/internal/v2-hosting.d.ts +9 -0
- package/dist/internal/v2-hosting.d.ts.map +1 -1
- package/dist/internal/v2-hosting.js +10 -0
- package/dist/internal/workspace.d.ts +13 -10
- package/dist/internal/workspace.d.ts.map +1 -1
- package/dist/internal/workspace.js +17 -16
- package/dist/kv/memory-kv.d.ts +6 -4
- package/dist/kv/memory-kv.d.ts.map +1 -1
- package/dist/kv/memory-kv.js +9 -7
- package/dist/kv.d.ts +4 -7
- package/dist/kv.d.ts.map +1 -1
- package/dist/kv.js +4 -7
- package/dist/otel-public.d.ts +7 -0
- package/dist/otel-public.d.ts.map +1 -0
- package/dist/otel-public.js +5 -0
- package/dist/otel.d.ts +7 -2
- package/dist/otel.d.ts.map +1 -1
- package/dist/otel.js +7 -2
- package/dist/playground/assets/index-BLlKgZtI.css +1 -0
- package/dist/playground/assets/index-CDS5p9sR.js +67 -0
- package/dist/playground/index.html +2 -2
- package/dist/prompt.js +1 -1
- package/dist/result.d.ts +10 -4
- package/dist/result.d.ts.map +1 -1
- package/dist/result.js +9 -3
- package/dist/storage-backends/cursor-hosted-v2.d.ts +4 -5
- package/dist/storage-backends/cursor-hosted-v2.d.ts.map +1 -1
- package/dist/storage-backends/cursor-hosted-v2.js +6 -7
- package/dist/storage-backends/cursor-hosted.d.ts +6 -19
- package/dist/storage-backends/cursor-hosted.d.ts.map +1 -1
- package/dist/storage-backends/cursor-hosted.js +6 -50
- package/dist/storage-backends/file-kv.d.ts +9 -12
- package/dist/storage-backends/file-kv.d.ts.map +1 -1
- package/dist/storage-backends/file-kv.js +18 -54
- package/dist/storage-protocol.d.ts +3 -11
- package/dist/storage-protocol.d.ts.map +1 -1
- package/dist/storage-protocol.js +3 -11
- package/dist/storage.d.ts +28 -38
- package/dist/storage.d.ts.map +1 -1
- package/dist/storage.js +15 -50
- package/dist/types.d.ts +87 -68
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +12 -4
- package/docs/README.md +83 -148
- package/docs/building-with-agents.md +15 -16
- package/docs/deployment.md +6 -7
- package/docs/evals.md +613 -298
- package/docs/guides/agent-to-agent.md +41 -84
- package/docs/guides/bitbucket.md +89 -0
- package/docs/guides/cloud-agents.md +25 -20
- package/docs/guides/github.md +32 -1
- package/docs/guides/gitlab.md +97 -0
- package/docs/guides/grokbot-agents.md +27 -19
- package/docs/guides/mcp-oauth.md +1 -1
- package/docs/guides/opentelemetry.md +28 -41
- package/docs/guides/slack.md +53 -4
- package/docs/guides/webhooks.md +7 -6
- package/docs/hillclimbing.md +7 -7
- package/docs/quickstart.md +45 -106
- package/docs/reference/channels.md +16 -19
- package/docs/reference/cli.md +6 -20
- package/docs/reference/connections.md +3 -5
- package/docs/reference/extensions.md +2 -5
- package/docs/reference/hooks.md +11 -16
- package/docs/reference/http-api.md +6 -7
- package/docs/reference/playground.md +2 -6
- package/docs/reference/project-layout.md +4 -12
- package/docs/reference/sessions.md +6 -6
- package/docs/reference/subagents.md +2 -4
- package/docs/reference/tools.md +2 -5
- package/docs/troubleshooting.md +1 -2
- package/package.json +55 -43
- package/skills/deploy/SKILL.md +169 -0
- package/skills/evals/SKILL.md +45 -8
- package/skills/framework-map/SKILL.md +3 -4
- package/skills/otel/SKILL.md +8 -18
- package/src/bin/agent-serve.ts +93 -72
- package/src/channels/bitbucket/api.ts +347 -6
- package/src/channels/bitbucket/binding.ts +29 -4
- package/src/channels/bitbucket/bitbucket-channel.ts +1 -1
- package/src/channels/bitbucket/bitbucket-webhook.ts +1 -1
- package/src/channels/bitbucket/checks.ts +3 -4
- package/src/channels/bitbucket/cursor-account.ts +1 -1
- package/src/channels/bitbucket/events.ts +1 -1
- package/src/channels/bitbucket/index.ts +2 -0
- package/src/channels/change-monitors/change-monitors-channel.ts +2 -2
- package/src/channels/checks.ts +5 -4
- package/src/channels/deployments/deployments-channel.ts +1 -1
- package/src/channels/github/api.ts +1 -1
- package/src/channels/github/checks.ts +1 -1
- package/src/channels/github/cursor-account.ts +3 -3
- package/src/channels/github/defaults.ts +8 -4
- package/src/channels/github/events.ts +1 -1
- package/src/channels/github/forward.ts +8 -8
- package/src/channels/github/github-channel.ts +19 -2
- package/src/channels/github/progress.ts +7 -2
- package/src/channels/github/state.ts +6 -0
- package/src/channels/github/types.ts +6 -0
- package/src/channels/gitlab/api.ts +123 -0
- package/src/channels/gitlab/binding.ts +16 -4
- package/src/channels/gitlab/checks.ts +3 -4
- package/src/channels/gitlab/cursor-account.ts +1 -1
- package/src/channels/gitlab/events.ts +1 -1
- package/src/channels/gitlab/gitlab-channel.ts +1 -1
- package/src/channels/gitlab/gitlab-webhook.ts +1 -1
- package/src/channels/gitlab/index.ts +1 -0
- package/src/channels/gitlab/replay.ts +2 -2
- package/src/channels/origin/binding.ts +6 -3
- package/src/channels/origin/checks.ts +27 -17
- package/src/channels/origin/cursor-account.ts +1 -1
- package/src/channels/origin/defaults.ts +5 -1
- package/src/channels/origin/events.ts +1 -1
- package/src/channels/origin/origin-channel.ts +2 -1
- package/src/channels/origin/origin-webhook.ts +2 -2
- package/src/channels/slack/agentic-delivery.ts +659 -0
- package/src/channels/slack/agentic-posted.ts +148 -0
- package/src/channels/slack/agentic-signals.ts +248 -0
- package/src/channels/slack/api.ts +51 -11
- package/src/channels/slack/approvals.ts +1 -1
- package/src/channels/slack/attachments.ts +1 -1
- package/src/channels/slack/auth.ts +3 -1
- package/src/channels/slack/blocks.ts +3 -3
- package/src/channels/slack/bot-mentions.ts +5 -7
- package/src/channels/slack/channel-watch.ts +1 -1
- package/src/channels/slack/cli-project.ts +3 -3
- package/src/channels/slack/defaults.ts +109 -37
- package/src/channels/slack/dispatch.ts +323 -164
- package/src/channels/slack/doctor.ts +1 -1
- package/src/channels/slack/eval-directive.ts +1 -1
- package/src/channels/slack/external-policy.ts +15 -2
- package/src/channels/slack/footer.ts +108 -0
- package/src/channels/slack/index.ts +2 -0
- package/src/channels/slack/interactive.ts +4 -2
- package/src/channels/slack/live-delivery.ts +23 -7
- package/src/channels/slack/log.ts +1 -1
- package/src/channels/slack/manifest.ts +1 -1
- package/src/channels/slack/nudge-carrier.ts +1 -1
- package/src/channels/slack/nudge-store.ts +2 -2
- package/src/channels/slack/paint-start.ts +93 -0
- package/src/channels/slack/placeholder.ts +315 -0
- package/src/channels/slack/progress-delivery.ts +14 -1
- package/src/channels/slack/reasoning-chip.ts +48 -0
- package/src/channels/slack/recording-sink.ts +176 -0
- package/src/channels/slack/reply-options.ts +71 -15
- package/src/channels/slack/setup.ts +1 -1
- package/src/channels/slack/slack-channel.ts +140 -18
- package/src/channels/slack/socket-mode.ts +2 -2
- package/src/channels/slack/thread-context.ts +5 -5
- package/src/channels/slack/tool-approval-events.ts +54 -38
- package/src/channels/slack/tool-cards.ts +1 -1
- package/src/channels/slack/tool-chip.ts +36 -0
- package/src/channels/slack/types.ts +47 -7
- package/src/channels/slack/upload.ts +142 -0
- package/src/channels.ts +12 -30
- package/src/dashboard-session-url.ts +32 -0
- package/src/evals/assertions.ts +19 -19
- package/src/evals/expect.ts +1 -1
- package/src/evals/judge.ts +1 -1
- package/src/evals/reporters.ts +8 -9
- package/src/evals/run-facts.ts +2 -2
- package/src/evals.ts +7 -10
- package/src/extensions/cursor-cloud-agents/extension.ts +1 -1
- package/src/extensions/cursor-cloud-agents/lib/backend.ts +3 -3
- package/src/extensions/cursor-cloud-agents/lib/fleet.ts +1 -1
- package/src/extensions/cursor-cloud-agents/lib/repos.ts +3 -3
- package/src/extensions/cursor-cloud-agents/lib/transcript.ts +3 -4
- package/src/extensions/cursor-cloud-agents/tools/list.ts +1 -1
- package/src/extensions/improve/skills/yourself.ts +1 -1
- package/src/extensions/slack-communication/evals/harness.ts +728 -0
- package/src/extensions/slack-communication/evals/slack-communication.eval.ts +953 -0
- package/src/extensions/slack-communication/evals/slack-placeholder.eval.ts +194 -0
- package/src/extensions/slack-communication/extension.ts +45 -0
- package/src/extensions/slack-communication/skills/slack-voice.ts +59 -0
- package/src/extensions/slack-communication/tools/delete-message.ts +34 -0
- package/src/extensions/slack-communication/tools/edit-message.ts +42 -0
- package/src/extensions/slack-communication/tools/post-card.ts +28 -0
- package/src/extensions/slack-communication/tools/post-file.ts +85 -0
- package/src/extensions/slack-communication/tools/post-update.ts +41 -0
- package/src/extensions/slack-communication/tools/react.ts +33 -0
- package/src/extensions/slack-communication/tools/set-status.ts +21 -0
- package/src/extensions.ts +2 -6
- package/src/files-backends/cursor-hosted.ts +502 -98
- package/src/files-backends/local-fs.ts +1 -1
- package/src/files.ts +15 -0
- package/src/filesystem.ts +16 -18
- package/src/index.ts +4 -39
- package/src/internal/advertise-tools.ts +6 -6
- package/src/internal/approval-gate.ts +1 -1
- package/src/internal/artifacts-store.ts +3 -3
- package/src/internal/as-of.ts +2 -2
- package/src/internal/authored-alias-hooks.ts +32 -0
- package/src/internal/authored-loaders.ts +25 -2
- package/src/internal/builtin-tools/reminders.ts +2 -2
- package/src/internal/chat-client.ts +5 -5
- package/src/internal/cli-ax.ts +85 -16
- package/src/internal/cli-bitbucket.ts +11 -11
- package/src/internal/cli-convert-automation.ts +2 -2
- package/src/internal/cli-cursor.ts +5 -16
- package/src/internal/cli-deploy.ts +389 -104
- package/src/internal/cli-docs.ts +5 -5
- package/src/internal/cli-github.ts +16 -19
- package/src/internal/cli-gitlab.ts +11 -11
- package/src/internal/cli-manifest.ts +1 -1
- package/src/internal/cli-mcp-oauth.ts +5 -7
- package/src/internal/cli-mcp.ts +3 -3
- package/src/internal/cli-skills.ts +2 -2
- package/src/internal/cli-slack.ts +5 -5
- package/src/internal/cloud-turn-cost.ts +1 -1
- package/src/internal/continuation-channel.ts +2 -1
- package/src/internal/continuation-identity.ts +23 -11
- package/src/internal/conversation-mirror.ts +36 -3
- package/src/internal/convert-automation/convert-workflow.ts +27 -27
- package/src/internal/convert-automation/types.ts +9 -0
- package/src/internal/cursor/account-mcp.ts +48 -31
- package/src/internal/cursor/backend-client.ts +28 -17
- package/src/internal/cursor/credentials.ts +1 -1
- package/src/internal/cursor/hosted-store-secrets.ts +34 -0
- package/src/internal/cursor-account-mcp-auth.ts +9 -9
- package/src/internal/cursor-deployment-relay.ts +10 -10
- package/src/internal/cursor-event-relay.ts +10 -10
- package/src/internal/cursor-relay-core.ts +2 -2
- package/src/internal/deploy-client.ts +266 -24
- package/src/internal/deploy-manifest.ts +46 -8
- package/src/internal/discovery/agent-config.ts +34 -0
- package/src/internal/discovery/agent.ts +15 -13
- package/src/internal/discovery/channels.ts +4 -4
- package/src/internal/discovery/connections.ts +4 -4
- package/src/internal/discovery/cursor-plugin.ts +12 -12
- package/src/internal/discovery/extension-overlay.ts +3 -21
- package/src/internal/discovery/extensions.ts +8 -32
- package/src/internal/discovery/info.ts +12 -22
- package/src/internal/discovery/instructions.ts +1 -1
- package/src/internal/discovery/modules.ts +0 -1
- package/src/internal/discovery/project.ts +4 -20
- package/src/internal/discovery/services.ts +1 -1
- package/src/internal/discovery/tools.ts +1 -1
- package/src/internal/docs-site.ts +2 -2
- package/src/internal/env-file.ts +2 -2
- package/src/internal/eval-run-store.ts +7 -9
- package/src/internal/eval-runner.ts +20 -21
- package/src/internal/evals-client.ts +6 -6
- package/src/internal/event-log.ts +10 -10
- package/src/internal/event-mapper.ts +37 -2
- package/src/internal/filesystem/format.ts +11 -12
- package/src/internal/filesystem/scratch.ts +3 -3
- package/src/internal/filesystem/tools.ts +6 -8
- package/src/internal/filesystem/walk.ts +1 -1
- package/src/internal/framework-file-storage.ts +108 -9
- package/src/internal/framework-storage-selection.ts +4 -14
- package/src/internal/github-fanout.ts +4 -4
- package/src/internal/guest-network.ts +4 -4
- package/src/internal/host-files.ts +1 -1
- package/src/internal/host-kv.ts +2 -2
- package/src/internal/hosted-admission-adapter.ts +2 -0
- package/src/internal/hosted-catch-protocol.ts +3 -5
- package/src/internal/hosted-catch.ts +1 -1
- package/src/internal/hosted-delivery-protocol.ts +111 -13
- package/src/internal/hosted-delivery.ts +286 -81
- package/src/internal/hosted-execution-diag.ts +3 -3
- package/src/internal/hosted-execution-latency.ts +334 -0
- package/src/internal/hosting.ts +5 -6
- package/src/internal/http-channel-define.ts +27 -0
- package/src/internal/http-channel.ts +3 -4
- package/src/internal/http-control-plane-session.ts +24 -11
- package/src/internal/incoming-headers-to-fetch.ts +54 -0
- package/src/internal/init-interview.ts +7 -7
- package/src/internal/init-project.ts +14 -16
- package/src/internal/init-scaffold.ts +2 -3
- package/src/internal/inline-stdio-mcp.ts +2 -2
- package/src/internal/install-cursor-skills.ts +49 -16
- package/src/internal/json-schema.ts +1 -1
- package/src/internal/local-control-plane.ts +4 -5
- package/src/internal/local-env.ts +3 -3
- package/src/internal/log-ring.ts +1 -1
- package/src/internal/logs-client.ts +1 -1
- package/src/internal/mcp-endpoint.ts +10 -10
- package/src/internal/mcp-host.ts +9 -9
- package/src/internal/mcp-oauth-on-demand.ts +3 -3
- package/src/internal/mcp-oauth.ts +5 -5
- package/src/internal/net.ts +2 -2
- package/src/internal/otel/config.ts +3 -3
- package/src/internal/otel/runtime.ts +14 -14
- package/src/internal/peer-connections.ts +2 -2
- package/src/internal/platform-schedule-sync.ts +1 -1
- package/src/internal/platform-timers.ts +1 -1
- package/src/internal/playground/static.ts +2 -2
- package/src/internal/playground/toolchain.ts +2 -2
- package/src/internal/playground-proxy.ts +3 -3
- package/src/internal/process-memory-telemetry.ts +1 -1
- package/src/internal/reminder-runner.ts +8 -10
- package/src/internal/reminder-store.ts +1 -1
- package/src/internal/request-error-status.ts +9 -0
- package/src/internal/resolved-connections.ts +8 -8
- package/src/internal/result-output.ts +62 -5
- package/src/internal/router.ts +4 -4
- package/src/internal/run-client.ts +3 -3
- package/src/internal/schedule-runner.ts +6 -6
- package/src/internal/scm/pr-url.ts +11 -2
- package/src/internal/sdk-runner.ts +15 -29
- package/src/internal/serve-restart.ts +1 -1
- package/src/internal/server.ts +97 -115
- package/src/internal/session-cost.ts +3 -3
- package/src/internal/session-engine.ts +517 -445
- package/src/internal/session-run-log.ts +4 -6
- package/src/internal/session-store.ts +213 -39
- package/src/internal/sessions-client.ts +3 -3
- package/src/internal/slack-thread-key.ts +11 -0
- package/src/internal/sleep.ts +1 -1
- package/src/internal/storage-coordinator.ts +122 -96
- package/src/internal/storage-roles.ts +4 -9
- package/src/internal/storage.ts +1 -0
- package/src/internal/store-mirror.ts +4 -4
- package/src/internal/terminal-style.ts +2 -2
- package/src/internal/tool-result.ts +3 -3
- package/src/internal/trajectory.ts +7 -7
- package/src/internal/turn-governor.ts +2 -2
- package/src/internal/turn-outbox.ts +1 -1
- package/src/internal/update-check.ts +2 -2
- package/src/internal/v2-hosting.ts +14 -0
- package/src/internal/workspace.ts +17 -17
- package/src/kv/memory-kv.ts +9 -7
- package/src/kv.ts +4 -7
- package/src/otel-public.ts +24 -0
- package/src/otel.ts +7 -2
- package/src/prompt.ts +1 -1
- package/src/result.ts +10 -8
- package/src/storage-backends/cursor-hosted-v2.ts +6 -9
- package/src/storage-backends/cursor-hosted.ts +6 -60
- package/src/storage-backends/file-kv.ts +17 -58
- package/src/storage-protocol.ts +3 -17
- package/src/storage.ts +32 -108
- package/src/types.ts +101 -73
- package/templates/agentic-owners/agent/channels/github.ts +3 -6
- package/templates/agentic-owners/agent/lib/github.ts +5 -5
- package/templates/agentic-owners/agent/lib/owners/decision.ts +13 -10
- package/templates/agentic-owners/agent/lib/owners/handles.ts +2 -2
- package/templates/agentic-owners/agent/lib/owners/match.ts +3 -3
- package/templates/agentic-owners/agent/lib/owners/matching.ts +1 -1
- package/templates/agentic-owners/agent/lib/owners/parse.ts +4 -9
- package/templates/agentic-owners/agent/lib/owners/prompt.ts +1 -1
- package/templates/agentic-owners/agent/lib/review.ts +37 -30
- package/templates/agentic-owners/evals/owners.eval.ts +2 -2
- package/templates/agentic-owners/package.json +1 -1
- package/templates/agents-md/agent/lib/collect.ts +16 -10
- package/templates/agents-md/agent/lib/config.ts +1 -1
- package/templates/agents-md/agent/tools/apply_agents.ts +10 -8
- package/templates/agents-md/package.json +1 -1
- package/templates/code-wiki/agent/channels/github.ts +4 -7
- package/templates/code-wiki/agent/lib/repos.ts +1 -1
- package/templates/code-wiki/agent/tools/apply_wiki.ts +3 -4
- package/templates/code-wiki/package.json +1 -1
- package/templates/demo/README.md +10 -6
- package/templates/demo/agent/channels/github.ts +2 -0
- package/templates/demo/agent/channels/queue.ts +6 -2
- package/templates/demo/agent/lib/collect.ts +6 -2
- package/templates/demo/agent/lib/repos.ts +5 -0
- package/templates/demo/agent/tools/record_demo.ts +1 -1
- package/templates/demo/evals/demo.eval.ts +1 -5
- package/templates/demo/init.json +25 -0
- package/templates/demo/package.json +1 -1
- package/templates/grokbot-agents/package.json +1 -1
- package/templates/pr-autofixer/agent/channels/github.ts +16 -13
- package/templates/pr-autofixer/agent/lib/merge-watch.ts +2 -4
- package/templates/pr-autofixer/agent/lib/repos.ts +2 -2
- package/templates/pr-autofixer/agent/lib/webhook-routing.ts +1 -1
- package/templates/pr-autofixer/package.json +1 -1
- package/templates/security-help/agent/lib/repos.ts +1 -1
- package/templates/security-help/package.json +1 -1
- package/templates/security-reviewer/agent/lib/repos.ts +1 -1
- package/templates/security-reviewer/agent/tools/post_findings.ts +1 -3
- package/templates/security-reviewer/package.json +1 -1
- package/templates/triage/agent/lib/actuate.ts +26 -41
- package/templates/triage/agent/lib/parse-queue-event.ts +2 -1
- package/templates/triage/agent/lib/verify-webhook.ts +10 -5
- package/templates/triage/agent/tools/record_triage.ts +1 -4
- package/templates/triage/package.json +1 -1
- package/dist/ab.d.ts +0 -209
- package/dist/ab.d.ts.map +0 -1
- package/dist/ab.js +0 -246
- package/dist/client.d.ts +0 -14
- package/dist/client.d.ts.map +0 -1
- package/dist/client.js +0 -12
- package/dist/docs/ab.html +0 -80
- package/dist/docs/ab.md +0 -332
- package/dist/docs/assets/ab.md.mlVgqvSk.js +0 -54
- package/dist/docs/assets/ab.md.mlVgqvSk.lean.js +0 -1
- package/dist/docs/assets/app.BASKM3M4.js +0 -1
- package/dist/docs/assets/chunks/@localSearchIndexroot.BHZYsNVi.js +0 -1
- package/dist/docs/assets/chunks/framework.BCISBCiQ.js +0 -19
- package/dist/docs/assets/concepts.md.DgEcZOfT.js +0 -1
- package/dist/docs/assets/concepts.md.DgEcZOfT.lean.js +0 -1
- package/dist/docs/assets/evals.md.C1ekS3k2.js +0 -85
- package/dist/docs/assets/evals.md.C1ekS3k2.lean.js +0 -1
- package/dist/docs/assets/guides_agent-to-agent.md.BDb0t1QV.js +0 -10
- package/dist/docs/assets/guides_agent-to-agent.md.BDb0t1QV.lean.js +0 -1
- package/dist/docs/assets/guides_grokbot-agents.md.DyV-WArv.js +0 -9
- package/dist/docs/assets/guides_human-in-the-loop.md.By1G2T3_.js +0 -28
- package/dist/docs/assets/guides_human-in-the-loop.md.By1G2T3_.lean.js +0 -1
- package/dist/docs/assets/hillclimbing.md.CpTGTCle.js +0 -4
- package/dist/docs/assets/hillclimbing.md.CpTGTCle.lean.js +0 -1
- package/dist/docs/assets/index.md.BjH1w2ZW.js +0 -5
- package/dist/docs/assets/index.md.BjH1w2ZW.lean.js +0 -1
- package/dist/docs/assets/quickstart.md.DdQOF7Y8.lean.js +0 -1
- package/dist/docs/assets/reference_project-layout.md.DuBu9a96.js +0 -19
- package/dist/docs/assets/reference_result.md.BK5SxDrf.js +0 -19
- package/dist/docs/assets/reference_result.md.BK5SxDrf.lean.js +0 -1
- package/dist/docs/assets/reference_sessions.md.CueyOHSL.js +0 -1
- package/dist/docs/assets/scaffolding-agents.md.Kctn3OVb.js +0 -1
- package/dist/docs/assets/scaffolding-agents.md.Kctn3OVb.lean.js +0 -1
- package/dist/docs/assets/skills_ab.md.CsFNatVx.js +0 -26
- package/dist/docs/assets/skills_ab.md.CsFNatVx.lean.js +0 -1
- package/dist/docs/assets/skills_create-agent.md.Q3h6Je-e.js +0 -8
- package/dist/docs/assets/skills_create-agent.md.Q3h6Je-e.lean.js +0 -1
- package/dist/docs/assets/skills_debug.md.CVjCXMFF.js +0 -1
- package/dist/docs/assets/skills_debug.md.CVjCXMFF.lean.js +0 -1
- package/dist/docs/assets/skills_evals.md.BhovOvrl.js +0 -25
- package/dist/docs/assets/skills_evals.md.BhovOvrl.lean.js +0 -1
- package/dist/docs/assets/skills_framework-map.md.D-tFZhFS.js +0 -1
- package/dist/docs/assets/skills_framework-map.md.D-tFZhFS.lean.js +0 -1
- package/dist/docs/assets/skills_github.md.hgFX_oKY.js +0 -16
- package/dist/docs/assets/skills_github.md.hgFX_oKY.lean.js +0 -1
- package/dist/docs/assets/skills_hillclimb.md.B_zJerxA.js +0 -7
- package/dist/docs/assets/skills_hillclimb.md.B_zJerxA.lean.js +0 -1
- package/dist/docs/assets/skills_index.md.DKwIxzGg.js +0 -1
- package/dist/docs/assets/skills_index.md.DKwIxzGg.lean.js +0 -1
- package/dist/docs/assets/skills_mcp-auth.md.DGvFP3HE.js +0 -18
- package/dist/docs/assets/skills_mcp-auth.md.DGvFP3HE.lean.js +0 -1
- package/dist/docs/assets/skills_otel.md.B5Ddv1xH.js +0 -8
- package/dist/docs/assets/skills_otel.md.B5Ddv1xH.lean.js +0 -1
- package/dist/docs/assets/skills_setup-slack.md.BBgx8lUz.js +0 -20
- package/dist/docs/assets/skills_setup-slack.md.BBgx8lUz.lean.js +0 -1
- package/dist/docs/assets/storage.md.BOHeqk2M.js +0 -30
- package/dist/docs/assets/storage.md.BOHeqk2M.lean.js +0 -1
- package/dist/docs/assets/templates_agents-md.md.CXSMZljE.js +0 -2
- package/dist/docs/assets/templates_agents-md.md.CXSMZljE.lean.js +0 -1
- package/dist/docs/assets/templates_code-wiki.md.CDYZIBFN.js +0 -2
- package/dist/docs/assets/templates_code-wiki.md.CDYZIBFN.lean.js +0 -1
- package/dist/docs/assets/templates_demo.md.BeQX9V3H.js +0 -4
- package/dist/docs/assets/templates_demo.md.BeQX9V3H.lean.js +0 -1
- package/dist/docs/assets/templates_grokbot-agents.md.c1s6Flp9.js +0 -3
- package/dist/docs/assets/templates_grokbot-agents.md.c1s6Flp9.lean.js +0 -1
- package/dist/docs/assets/templates_security-help.md.C3Ny_Qr2.js +0 -4
- package/dist/docs/assets/templates_security-help.md.C3Ny_Qr2.lean.js +0 -1
- package/dist/docs/concepts.html +0 -27
- package/dist/docs/concepts.md +0 -168
- package/dist/docs/design/filesystem.md +0 -376
- package/dist/docs/design/runtime-abstraction.md +0 -1756
- package/dist/docs/guides/human-in-the-loop.html +0 -54
- package/dist/docs/guides/human-in-the-loop.md +0 -126
- package/dist/docs/reference/result.html +0 -45
- package/dist/docs/reference/result.md +0 -89
- package/dist/docs/scaffolding-agents.html +0 -27
- package/dist/docs/scaffolding-agents.md +0 -130
- package/dist/docs/skills/ab.html +0 -52
- package/dist/docs/skills/ab.md +0 -50
- package/dist/docs/skills/create-agent.html +0 -34
- package/dist/docs/skills/create-agent.md +0 -160
- package/dist/docs/skills/debug.html +0 -27
- package/dist/docs/skills/debug.md +0 -36
- package/dist/docs/skills/evals.html +0 -51
- package/dist/docs/skills/evals.md +0 -99
- package/dist/docs/skills/framework-map.html +0 -27
- package/dist/docs/skills/framework-map.md +0 -100
- package/dist/docs/skills/github.html +0 -42
- package/dist/docs/skills/github.md +0 -93
- package/dist/docs/skills/hillclimb.html +0 -33
- package/dist/docs/skills/hillclimb.md +0 -55
- package/dist/docs/skills/index.html +0 -27
- package/dist/docs/skills/index.md +0 -21
- package/dist/docs/skills/mcp-auth.html +0 -44
- package/dist/docs/skills/mcp-auth.md +0 -76
- package/dist/docs/skills/otel.html +0 -34
- package/dist/docs/skills/otel.md +0 -53
- package/dist/docs/skills/setup-slack.html +0 -46
- package/dist/docs/skills/setup-slack.md +0 -141
- package/dist/docs/storage.html +0 -56
- package/dist/docs/storage.md +0 -176
- package/dist/docs/templates/agents-md.html +0 -28
- package/dist/docs/templates/agents-md.md +0 -105
- package/dist/docs/templates/code-wiki.html +0 -28
- package/dist/docs/templates/code-wiki.md +0 -91
- package/dist/docs/templates/demo.html +0 -30
- package/dist/docs/templates/demo.md +0 -80
- package/dist/docs/templates/grokbot-agents.html +0 -29
- package/dist/docs/templates/grokbot-agents.md +0 -48
- package/dist/docs/templates/security-help.html +0 -30
- package/dist/docs/templates/security-help.md +0 -65
- package/dist/internal/ab-collector.d.ts +0 -44
- package/dist/internal/ab-collector.d.ts.map +0 -1
- package/dist/internal/ab-collector.js +0 -142
- package/dist/internal/ab-fold.d.ts +0 -36
- package/dist/internal/ab-fold.d.ts.map +0 -1
- package/dist/internal/ab-fold.js +0 -175
- package/dist/internal/ab-snapshot.d.ts +0 -68
- package/dist/internal/ab-snapshot.d.ts.map +0 -1
- package/dist/internal/ab-snapshot.js +0 -208
- package/dist/internal/discovery/ab.d.ts +0 -9
- package/dist/internal/discovery/ab.d.ts.map +0 -1
- package/dist/internal/discovery/ab.js +0 -113
- package/dist/internal/tenant-slack/relay.d.ts +0 -75
- package/dist/internal/tenant-slack/relay.d.ts.map +0 -1
- package/dist/internal/tenant-slack/relay.js +0 -148
- package/dist/playground/assets/index-BMDqAeXu.js +0 -67
- package/dist/playground/assets/index-LUgJoWdL.css +0 -1
- package/docs/ab.md +0 -337
- package/docs/concepts.md +0 -173
- package/docs/design/filesystem.md +0 -376
- package/docs/design/runtime-abstraction.md +0 -1756
- package/docs/guides/human-in-the-loop.md +0 -131
- package/docs/reference/result.md +0 -94
- package/docs/scaffolding-agents.md +0 -135
- package/docs/skills/index.md +0 -26
- package/docs/storage.md +0 -181
- package/docs/templates/agents-md.md +0 -110
- package/docs/templates/code-wiki.md +0 -96
- package/docs/templates/demo.md +0 -85
- package/docs/templates/grokbot-agents.md +0 -53
- package/docs/templates/security-help.md +0 -70
- package/skills/ab/SKILL.md +0 -58
- package/src/ab.ts +0 -430
- package/src/client.ts +0 -23
- package/src/internal/ab-collector.ts +0 -200
- package/src/internal/ab-fold.ts +0 -232
- package/src/internal/ab-snapshot.ts +0 -331
- package/src/internal/discovery/ab.ts +0 -131
- package/src/internal/tenant-slack/relay.ts +0 -203
- package/templates/pr-autofixer/agent/storage.ts +0 -7
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @vue/shared v3.5.39
|
|
3
|
-
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
|
4
|
-
* @license MIT
|
|
5
|
-
**/function Xs(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const se={},Ft=[],Je=()=>{},_i=()=>!1,dn=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Gn=e=>e.startsWith("onUpdate:"),ge=Object.assign,Ys=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},ll=Object.prototype.hasOwnProperty,Z=(e,t)=>ll.call(e,t),B=Array.isArray,Dt=e=>hn(e)==="[object Map]",bi=e=>hn(e)==="[object Set]",Sr=e=>hn(e)==="[object Date]",K=e=>typeof e=="function",ce=e=>typeof e=="string",Le=e=>typeof e=="symbol",Q=e=>e!==null&&typeof e=="object",wi=e=>(Q(e)||K(e))&&K(e.then)&&K(e.catch),Si=Object.prototype.toString,hn=e=>Si.call(e),cl=e=>hn(e).slice(8,-1),Ti=e=>hn(e)==="[object Object]",Xn=e=>ce(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,wt=Xs(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Yn=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},al=/-\w/g,Ce=Yn(e=>e.replace(al,t=>t.slice(1).toUpperCase())),ul=/\B([A-Z])/g,pt=Yn(e=>e.replace(ul,"-$1").toLowerCase()),Jn=Yn(e=>e.charAt(0).toUpperCase()+e.slice(1)),On=Yn(e=>e?`on${Jn(e)}`:""),Ye=(e,t)=>!Object.is(e,t),Pn=(e,...t)=>{for(let n=0;n<e.length;n++)e[n](...t)},Ei=(e,t,n,s=!1)=>{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:s,value:n})},Js=e=>{const t=parseFloat(e);return isNaN(t)?e:t},fl=e=>{const t=ce(e)?Number(e):NaN;return isNaN(t)?e:t};let Tr;const zn=()=>Tr||(Tr=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function zs(e){if(B(e)){const t={};for(let n=0;n<e.length;n++){const s=e[n],r=ce(s)?gl(s):zs(s);if(r)for(const i in r)t[i]=r[i]}return t}else if(ce(e)||Q(e))return e}const dl=/;(?![^(]*\))/g,hl=/:([^]+)/,pl=/\/\*[^]*?\*\//g;function gl(e){const t={};return e.replace(pl,"").split(dl).forEach(n=>{if(n){const s=n.split(hl);s.length>1&&(t[s[0].trim()]=s[1].trim())}}),t}function Qs(e){let t="";if(ce(e))t=e;else if(B(e))for(let n=0;n<e.length;n++){const s=Qs(e[n]);s&&(t+=s+" ")}else if(Q(e))for(const n in e)e[n]&&(t+=n+" ");return t.trim()}const ml="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly",yl=Xs(ml);function xi(e){return!!e||e===""}function vl(e,t){if(e.length!==t.length)return!1;let n=!0;for(let s=0;n&&s<e.length;s++)n=Zs(e[s],t[s]);return n}function Zs(e,t){if(e===t)return!0;let n=Sr(e),s=Sr(t);if(n||s)return n&&s?e.getTime()===t.getTime():!1;if(n=Le(e),s=Le(t),n||s)return e===t;if(n=B(e),s=B(t),n||s)return n&&s?vl(e,t):!1;if(n=Q(e),s=Q(t),n||s){if(!n||!s)return!1;const r=Object.keys(e).length,i=Object.keys(t).length;if(r!==i)return!1;for(const o in e){const l=e.hasOwnProperty(o),c=t.hasOwnProperty(o);if(l&&!c||!l&&c||!Zs(e[o],t[o]))return!1}}return String(e)===String(t)}const Ci=e=>!!(e&&e.__v_isRef===!0),_l=e=>ce(e)?e:e==null?"":B(e)||Q(e)&&(e.toString===Si||!K(e.toString))?Ci(e)?_l(e.value):JSON.stringify(e,Ai,2):String(e),Ai=(e,t)=>Ci(t)?Ai(e,t.value):Dt(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[s,r],i)=>(n[fs(s,i)+" =>"]=r,n),{})}:bi(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>fs(n))}:Le(t)?fs(t):Q(t)&&!B(t)&&!Ti(t)?String(t):t,fs=(e,t="")=>{var n;return Le(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};/**
|
|
6
|
-
* @vue/reactivity v3.5.39
|
|
7
|
-
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
|
8
|
-
* @license MIT
|
|
9
|
-
**/let pe;class bl{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this._warnOnRun=!0,this.__v_skip=!0,!t&&pe&&(pe.active?(this.parent=pe,this.index=(pe.scopes||(pe.scopes=[])).push(this)-1):(this._active=!1,this._warnOnRun=!1))}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,n;if(this.scopes)for(t=0,n=this.scopes.length;t<n;t++)this.scopes[t].pause();for(t=0,n=this.effects.length;t<n;t++)this.effects[t].pause()}}resume(){if(this._active&&this._isPaused){this._isPaused=!1;let t,n;if(this.scopes)for(t=0,n=this.scopes.length;t<n;t++)this.scopes[t].resume();for(t=0,n=this.effects.length;t<n;t++)this.effects[t].resume()}}run(t){if(this._active){const n=pe;try{return pe=this,t()}finally{pe=n}}}on(){++this._on===1&&(this.prevScope=pe,pe=this)}off(){if(this._on>0&&--this._on===0){if(pe===this)pe=this.prevScope;else{let t=pe;for(;t;){if(t.prevScope===this){t.prevScope=this.prevScope;break}t=t.prevScope}}this.prevScope=void 0}}stop(t){if(this._active){this._active=!1;let n,s;for(n=0,s=this.effects.length;n<s;n++)this.effects[n].stop();for(this.effects.length=0,n=0,s=this.cleanups.length;n<s;n++)this.cleanups[n]();if(this.cleanups.length=0,this.scopes){for(n=0,s=this.scopes.length;n<s;n++)this.scopes[n].stop(!0);this.scopes.length=0}if(!this.detached&&this.parent&&!t){const r=this.parent.scopes.pop();r&&r!==this&&(this.parent.scopes[this.index]=r,r.index=this.index)}this.parent=void 0}}}function Ri(){return pe}function wl(e,t=!1){pe&&pe.cleanups.push(e)}let ie;const ds=new WeakSet;class Mi{constructor(t){this.fn=t,this.deps=void 0,this.depsTail=void 0,this.flags=5,this.next=void 0,this.cleanup=void 0,this.scheduler=void 0,pe&&(pe.active?pe.effects.push(this):this.flags&=-2)}pause(){this.flags|=64}resume(){this.flags&64&&(this.flags&=-65,ds.has(this)&&(ds.delete(this),this.trigger()))}notify(){this.flags&2&&!(this.flags&32)||this.flags&8||Pi(this)}run(){if(!(this.flags&1))return this.fn();this.flags|=2,Er(this),Li(this);const t=ie,n=Ve;ie=this,Ve=!0;try{return this.fn()}finally{Ii(this),ie=t,Ve=n,this.flags&=-3}}stop(){if(this.flags&1){for(let t=this.deps;t;t=t.nextDep)nr(t);this.deps=this.depsTail=void 0,Er(this),this.onStop&&this.onStop(),this.flags&=-2}}trigger(){this.flags&64?ds.add(this):this.scheduler?this.scheduler():this.runIfDirty()}runIfDirty(){Is(this)&&this.run()}get dirty(){return Is(this)}}let Oi=0,zt,Qt;function Pi(e,t=!1){if(e.flags|=8,t){e.next=Qt,Qt=e;return}e.next=zt,zt=e}function er(){Oi++}function tr(){if(--Oi>0)return;if(Qt){let t=Qt;for(Qt=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;zt;){let t=zt;for(zt=void 0;t;){const n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(s){e||(e=s)}t=n}}if(e)throw e}function Li(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function Ii(e){let t,n=e.depsTail,s=n;for(;s;){const r=s.prevDep;s.version===-1?(s===n&&(n=r),nr(s),Sl(s)):t=s,s.dep.activeLink=s.prevActiveLink,s.prevActiveLink=void 0,s=r}e.deps=t,e.depsTail=n}function Is(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Ni(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function Ni(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===sn)||(e.globalVersion=sn,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!Is(e))))return;e.flags|=2;const t=e.dep,n=ie,s=Ve;ie=e,Ve=!0;try{Li(e);const r=e.fn(e._value);(t.version===0||Ye(r,e._value))&&(e.flags|=128,e._value=r,t.version++)}catch(r){throw t.version++,r}finally{ie=n,Ve=s,Ii(e),e.flags&=-3}}function nr(e,t=!1){const{dep:n,prevSub:s,nextSub:r}=e;if(s&&(s.nextSub=r,e.prevSub=void 0),r&&(r.prevSub=s,e.nextSub=void 0),n.subs===e&&(n.subs=s,!s&&n.computed)){n.computed.flags&=-5;for(let i=n.computed.deps;i;i=i.nextDep)nr(i,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function Sl(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let Ve=!0;const Fi=[];function ze(){Fi.push(Ve),Ve=!1}function Qe(){const e=Fi.pop();Ve=e===void 0?!0:e}function Er(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=ie;ie=void 0;try{t()}finally{ie=n}}}let sn=0;class Tl{constructor(t,n){this.sub=t,this.dep=n,this.version=n.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class Qn{constructor(t){this.computed=t,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(t){if(!ie||!Ve||ie===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==ie)n=this.activeLink=new Tl(ie,this),ie.deps?(n.prevDep=ie.depsTail,ie.depsTail.nextDep=n,ie.depsTail=n):ie.deps=ie.depsTail=n,Di(n);else if(n.version===-1&&(n.version=this.version,n.nextDep)){const s=n.nextDep;s.prevDep=n.prevDep,n.prevDep&&(n.prevDep.nextDep=s),n.prevDep=ie.depsTail,n.nextDep=void 0,ie.depsTail.nextDep=n,ie.depsTail=n,ie.deps===n&&(ie.deps=s)}return n}trigger(t){this.version++,sn++,this.notify(t)}notify(t){er();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{tr()}}}function Di(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let s=t.deps;s;s=s.nextDep)Di(s)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const Dn=new WeakMap,St=Symbol(""),Ns=Symbol(""),rn=Symbol("");function we(e,t,n){if(Ve&&ie){let s=Dn.get(e);s||Dn.set(e,s=new Map);let r=s.get(n);r||(s.set(n,r=new Qn),r.map=s,r.key=n),r.track()}}function st(e,t,n,s,r,i){const o=Dn.get(e);if(!o){sn++;return}const l=c=>{c&&c.trigger()};if(er(),t==="clear")o.forEach(l);else{const c=B(e),u=c&&Xn(n);if(c&&n==="length"){const a=Number(s);o.forEach((d,m)=>{(m==="length"||m===rn||!Le(m)&&m>=a)&&l(d)})}else switch((n!==void 0||o.has(void 0))&&l(o.get(n)),u&&l(o.get(rn)),t){case"add":c?u&&l(o.get("length")):(l(o.get(St)),Dt(e)&&l(o.get(Ns)));break;case"delete":c||(l(o.get(St)),Dt(e)&&l(o.get(Ns)));break;case"set":Dt(e)&&l(o.get(St));break}}tr()}function El(e,t){const n=Dn.get(e);return n&&n.get(t)}function Ot(e){const t=z(e);return t===e?t:(we(t,"iterate",rn),Pe(e)?t:t.map(We))}function Zn(e){return we(e=z(e),"iterate",rn),e}function Xe(e,t){return it(e)?Vt(ft(e)?We(t):t):We(t)}const xl={__proto__:null,[Symbol.iterator](){return hs(this,Symbol.iterator,e=>Xe(this,e))},concat(...e){return Ot(this).concat(...e.map(t=>B(t)?Ot(t):t))},entries(){return hs(this,"entries",e=>(e[1]=Xe(this,e[1]),e))},every(e,t){return Ze(this,"every",e,t,void 0,arguments)},filter(e,t){return Ze(this,"filter",e,t,n=>n.map(s=>Xe(this,s)),arguments)},find(e,t){return Ze(this,"find",e,t,n=>Xe(this,n),arguments)},findIndex(e,t){return Ze(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return Ze(this,"findLast",e,t,n=>Xe(this,n),arguments)},findLastIndex(e,t){return Ze(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return Ze(this,"forEach",e,t,void 0,arguments)},includes(...e){return ps(this,"includes",e)},indexOf(...e){return ps(this,"indexOf",e)},join(e){return Ot(this).join(e)},lastIndexOf(...e){return ps(this,"lastIndexOf",e)},map(e,t){return Ze(this,"map",e,t,void 0,arguments)},pop(){return Kt(this,"pop")},push(...e){return Kt(this,"push",e)},reduce(e,...t){return xr(this,"reduce",e,t)},reduceRight(e,...t){return xr(this,"reduceRight",e,t)},shift(){return Kt(this,"shift")},some(e,t){return Ze(this,"some",e,t,void 0,arguments)},splice(...e){return Kt(this,"splice",e)},toReversed(){return Ot(this).toReversed()},toSorted(e){return Ot(this).toSorted(e)},toSpliced(...e){return Ot(this).toSpliced(...e)},unshift(...e){return Kt(this,"unshift",e)},values(){return hs(this,"values",e=>Xe(this,e))}};function hs(e,t,n){const s=Zn(e),r=s[t]();return s!==e&&!Pe(e)&&(r._next=r.next,r.next=()=>{const i=r._next();return i.done||(i.value=n(i.value)),i}),r}const Cl=Array.prototype;function Ze(e,t,n,s,r,i){const o=Zn(e),l=o!==e&&!Pe(e),c=o[t];if(c!==Cl[t]){const d=c.apply(e,i);return l?We(d):d}let u=n;o!==e&&(l?u=function(d,m){return n.call(this,Xe(e,d),m,e)}:n.length>2&&(u=function(d,m){return n.call(this,d,m,e)}));const a=c.call(o,u,s);return l&&r?r(a):a}function xr(e,t,n,s){const r=Zn(e),i=r!==e&&!Pe(e);let o=n,l=!1;r!==e&&(i?(l=s.length===0,o=function(u,a,d){return l&&(l=!1,u=Xe(e,u)),n.call(this,u,Xe(e,a),d,e)}):n.length>3&&(o=function(u,a,d){return n.call(this,u,a,d,e)}));const c=r[t](o,...s);return l?Xe(e,c):c}function ps(e,t,n){const s=z(e);we(s,"iterate",rn);const r=s[t](...n);return(r===-1||r===!1)&&es(n[0])?(n[0]=z(n[0]),s[t](...n)):r}function Kt(e,t,n=[]){ze(),er();const s=z(e)[t].apply(e,n);return tr(),Qe(),s}const Al=Xs("__proto__,__v_isRef,__isVue"),Hi=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Le));function Rl(e){Le(e)||(e=String(e));const t=z(this);return we(t,"has",e),t.hasOwnProperty(e)}class $i{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,s){if(n==="__v_skip")return t.__v_skip;const r=this._isReadonly,i=this._isShallow;if(n==="__v_isReactive")return!r;if(n==="__v_isReadonly")return r;if(n==="__v_isShallow")return i;if(n==="__v_raw")return s===(r?i?$l:Wi:i?ki:Vi).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(s)?t:void 0;const o=B(t);if(!r){let c;if(o&&(c=xl[n]))return c;if(n==="hasOwnProperty")return Rl}const l=Reflect.get(t,n,ue(t)?t:s);if((Le(n)?Hi.has(n):Al(n))||(r||we(t,"get",n),i))return l;if(ue(l)){const c=o&&Xn(n)?l:l.value;return r&&Q(c)?on(c):c}return Q(l)?r?on(l):jt(l):l}}class ji extends $i{constructor(t=!1){super(!1,t)}set(t,n,s,r){let i=t[n];const o=B(t)&&Xn(n);if(!this._isShallow){const u=it(i);if(!Pe(s)&&!it(s)&&(i=z(i),s=z(s)),!o&&ue(i)&&!ue(s))return u||(i.value=s),!0}const l=o?Number(n)<t.length:Z(t,n),c=Reflect.set(t,n,s,ue(t)?t:r);return t===z(r)&&c&&(l?Ye(s,i)&&st(t,"set",n,s):st(t,"add",n,s)),c}deleteProperty(t,n){const s=Z(t,n);t[n];const r=Reflect.deleteProperty(t,n);return r&&s&&st(t,"delete",n,void 0),r}has(t,n){const s=Reflect.has(t,n);return(!Le(n)||!Hi.has(n))&&we(t,"has",n),s}ownKeys(t){return we(t,"iterate",B(t)?"length":St),Reflect.ownKeys(t)}}class Ml extends $i{constructor(t=!1){super(!0,t)}set(t,n){return!0}deleteProperty(t,n){return!0}}const Ol=new ji,Pl=new Ml,Ll=new ji(!0);const Fs=e=>e,bn=e=>Reflect.getPrototypeOf(e);function Il(e,t,n){return function(...s){const r=this.__v_raw,i=z(r),o=Dt(i),l=e==="entries"||e===Symbol.iterator&&o,c=e==="keys"&&o,u=r[e](...s),a=n?Fs:t?Vt:We;return!t&&we(i,"iterate",c?Ns:St),ge(Object.create(u),{next(){const{value:d,done:m}=u.next();return m?{value:d,done:m}:{value:l?[a(d[0]),a(d[1])]:a(d),done:m}}})}}function wn(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Nl(e,t){const n={get(r){const i=this.__v_raw,o=z(i),l=z(r);e||(Ye(r,l)&&we(o,"get",r),we(o,"get",l));const{has:c}=bn(o),u=t?Fs:e?Vt:We;if(c.call(o,r))return u(i.get(r));if(c.call(o,l))return u(i.get(l));i!==o&&i.get(r)},get size(){const r=this.__v_raw;return!e&&we(z(r),"iterate",St),r.size},has(r){const i=this.__v_raw,o=z(i),l=z(r);return e||(Ye(r,l)&&we(o,"has",r),we(o,"has",l)),r===l?i.has(r):i.has(r)||i.has(l)},forEach(r,i){const o=this,l=o.__v_raw,c=z(l),u=t?Fs:e?Vt:We;return!e&&we(c,"iterate",St),l.forEach((a,d)=>r.call(i,u(a),u(d),o))}};return ge(n,e?{add:wn("add"),set:wn("set"),delete:wn("delete"),clear:wn("clear")}:{add(r){const i=z(this),o=bn(i),l=z(r),c=!t&&!Pe(r)&&!it(r)?l:r;return o.has.call(i,c)||Ye(r,c)&&o.has.call(i,r)||Ye(l,c)&&o.has.call(i,l)||(i.add(c),st(i,"add",c,c)),this},set(r,i){!t&&!Pe(i)&&!it(i)&&(i=z(i));const o=z(this),{has:l,get:c}=bn(o);let u=l.call(o,r);u||(r=z(r),u=l.call(o,r));const a=c.call(o,r);return o.set(r,i),u?Ye(i,a)&&st(o,"set",r,i):st(o,"add",r,i),this},delete(r){const i=z(this),{has:o,get:l}=bn(i);let c=o.call(i,r);c||(r=z(r),c=o.call(i,r)),l&&l.call(i,r);const u=i.delete(r);return c&&st(i,"delete",r,void 0),u},clear(){const r=z(this),i=r.size!==0,o=r.clear();return i&&st(r,"clear",void 0,void 0),o}}),["keys","values","entries",Symbol.iterator].forEach(r=>{n[r]=Il(r,e,t)}),n}function sr(e,t){const n=Nl(e,t);return(s,r,i)=>r==="__v_isReactive"?!e:r==="__v_isReadonly"?e:r==="__v_raw"?s:Reflect.get(Z(n,r)&&r in s?n:s,r,i)}const Fl={get:sr(!1,!1)},Dl={get:sr(!1,!0)},Hl={get:sr(!0,!1)};const Vi=new WeakMap,ki=new WeakMap,Wi=new WeakMap,$l=new WeakMap;function jl(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function jt(e){return it(e)?e:rr(e,!1,Ol,Fl,Vi)}function Vl(e){return rr(e,!1,Ll,Dl,ki)}function on(e){return rr(e,!0,Pl,Hl,Wi)}function rr(e,t,n,s,r){if(!Q(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;const i=r.get(e);if(i)return i;const o=jl(cl(e));if(o===0)return e;const l=new Proxy(e,o===2?s:n);return r.set(e,l),l}function ft(e){return it(e)?ft(e.__v_raw):!!(e&&e.__v_isReactive)}function it(e){return!!(e&&e.__v_isReadonly)}function Pe(e){return!!(e&&e.__v_isShallow)}function es(e){return e?!!e.__v_raw:!1}function z(e){const t=e&&e.__v_raw;return t?z(t):e}function Ln(e){return!Z(e,"__v_skip")&&Object.isExtensible(e)&&Ei(e,"__v_skip",!0),e}const We=e=>Q(e)?jt(e):e,Vt=e=>Q(e)?on(e):e;function ue(e){return e?e.__v_isRef===!0:!1}function ke(e){return Ui(e,!1)}function Ae(e){return Ui(e,!0)}function Ui(e,t){return ue(e)?e:new kl(e,t)}class kl{constructor(t,n){this.dep=new Qn,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?t:z(t),this._value=n?t:We(t),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(t){const n=this._rawValue,s=this.__v_isShallow||Pe(t)||it(t);t=s?t:z(t),Ye(t,n)&&(this._rawValue=t,this._value=s?t:We(t),this.dep.trigger())}}function ts(e){return ue(e)?e.value:e}function ae(e){return K(e)?e():ts(e)}const Wl={get:(e,t,n)=>t==="__v_raw"?e:ts(Reflect.get(e,t,n)),set:(e,t,n,s)=>{const r=e[t];return ue(r)&&!ue(n)?(r.value=n,!0):Reflect.set(e,t,n,s)}};function Bi(e){return ft(e)?e:new Proxy(e,Wl)}class Ul{constructor(t){this.__v_isRef=!0,this._value=void 0;const n=this.dep=new Qn,{get:s,set:r}=t(n.track.bind(n),n.trigger.bind(n));this._get=s,this._set=r}get value(){return this._value=this._get()}set value(t){this._set(t)}}function Bl(e){return new Ul(e)}class Kl{constructor(t,n,s){this._object=t,this._defaultValue=s,this.__v_isRef=!0,this._value=void 0,this._key=Le(n)?n:String(n),this._raw=z(t);let r=!0,i=t;if(!B(t)||Le(this._key)||!Xn(this._key))do r=!es(i)||Pe(i);while(r&&(i=i.__v_raw));this._shallow=r}get value(){let t=this._object[this._key];return this._shallow&&(t=ts(t)),this._value=t===void 0?this._defaultValue:t}set value(t){if(this._shallow&&ue(this._raw[this._key])){const n=this._object[this._key];if(ue(n)){n.value=t;return}}this._object[this._key]=t}get dep(){return El(this._raw,this._key)}}class ql{constructor(t){this._getter=t,this.__v_isRef=!0,this.__v_isReadonly=!0,this._value=void 0}get value(){return this._value=this._getter()}}function Gl(e,t,n){return ue(e)?e:K(e)?new ql(e):Q(e)&&arguments.length>1?Xl(e,t,n):ke(e)}function Xl(e,t,n){return new Kl(e,t,n)}class Yl{constructor(t,n,s){this.fn=t,this.setter=n,this._value=void 0,this.dep=new Qn(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=sn-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=s}notify(){if(this.flags|=16,!(this.flags&8)&&ie!==this)return Pi(this,!0),!0}get value(){const t=this.dep.track();return Ni(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function Jl(e,t,n=!1){let s,r;return K(e)?s=e:(s=e.get,r=e.set),new Yl(s,r,n)}const Sn={},Hn=new WeakMap;let vt;function zl(e,t=!1,n=vt){if(n){let s=Hn.get(n);s||Hn.set(n,s=[]),s.push(e)}}function Ql(e,t,n=se){const{immediate:s,deep:r,once:i,scheduler:o,augmentJob:l,call:c}=n,u=g=>r?g:Pe(g)||r===!1||r===0?rt(g,1):rt(g);let a,d,m,_,b=!1,y=!1;if(ue(e)?(d=()=>e.value,b=Pe(e)):ft(e)?(d=()=>u(e),b=!0):B(e)?(y=!0,b=e.some(g=>ft(g)||Pe(g)),d=()=>e.map(g=>{if(ue(g))return g.value;if(ft(g))return u(g);if(K(g))return c?c(g,2):g()})):K(e)?t?d=c?()=>c(e,2):e:d=()=>{if(m){ze();try{m()}finally{Qe()}}const g=vt;vt=a;try{return c?c(e,3,[_]):e(_)}finally{vt=g}}:d=Je,t&&r){const g=d,R=r===!0?1/0:r;d=()=>rt(g(),R)}const F=Ri(),O=()=>{a.stop(),F&&F.active&&Ys(F.effects,a)};if(i&&t){const g=t;t=(...R)=>{const V=g(...R);return O(),V}}let P=y?new Array(e.length).fill(Sn):Sn;const p=g=>{if(!(!(a.flags&1)||!a.dirty&&!g))if(t){const R=a.run();if(g||r||b||(y?R.some((V,S)=>Ye(V,P[S])):Ye(R,P))){m&&m();const V=vt;vt=a;try{const S=[R,P===Sn?void 0:y&&P[0]===Sn?[]:P,_];P=R,c?c(t,3,S):t(...S)}finally{vt=V}}}else a.run()};return l&&l(p),a=new Mi(d),a.scheduler=o?()=>o(p,!1):p,_=g=>zl(g,!1,a),m=a.onStop=()=>{const g=Hn.get(a);if(g){if(c)c(g,4);else for(const R of g)R();Hn.delete(a)}},t?s?p(!0):P=a.run():o?o(p.bind(null,!0),!0):a.run(),O.pause=a.pause.bind(a),O.resume=a.resume.bind(a),O.stop=O,O}function rt(e,t=1/0,n){if(t<=0||!Q(e)||e.__v_skip||(n=n||new Map,(n.get(e)||0)>=t))return e;if(n.set(e,t),t--,ue(e))rt(e.value,t,n);else if(B(e))for(let s=0;s<e.length;s++)rt(e[s],t,n);else if(bi(e)||Dt(e))e.forEach(s=>{rt(s,t,n)});else if(Ti(e)){for(const s in e)rt(e[s],t,n);for(const s of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,s)&&rt(e[s],t,n)}return e}/**
|
|
10
|
-
* @vue/runtime-core v3.5.39
|
|
11
|
-
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
|
12
|
-
* @license MIT
|
|
13
|
-
**/function pn(e,t,n,s){try{return s?e(...s):e()}catch(r){gn(r,t,n)}}function $e(e,t,n,s){if(K(e)){const r=pn(e,t,n,s);return r&&wi(r)&&r.catch(i=>{gn(i,t,n)}),r}if(B(e)){const r=[];for(let i=0;i<e.length;i++)r.push($e(e[i],t,n,s));return r}}function gn(e,t,n,s=!0){const r=t?t.vnode:null,{errorHandler:i,throwUnhandledErrorInProduction:o}=t&&t.appContext.config||se;if(t){let l=t.parent;const c=t.proxy,u=`https://vuejs.org/error-reference/#runtime-${n}`;for(;l;){const a=l.ec;if(a){for(let d=0;d<a.length;d++)if(a[d](e,c,u)===!1)return}l=l.parent}if(i){ze(),pn(i,null,10,[e,c,u]),Qe();return}}Zl(e,n,r,s,o)}function Zl(e,t,n,s=!0,r=!1){if(r)throw e;console.error(e)}const Ee=[];let qe=-1;const Ht=[];let ut=null,Lt=0;const Ki=Promise.resolve();let $n=null;function ns(e){const t=$n||Ki;return e?t.then(this?e.bind(this):e):t}function ec(e){let t=qe+1,n=Ee.length;for(;t<n;){const s=t+n>>>1,r=Ee[s],i=ln(r);i<e||i===e&&r.flags&2?t=s+1:n=s}return t}function ir(e){if(!(e.flags&1)){const t=ln(e),n=Ee[Ee.length-1];!n||!(e.flags&2)&&t>=ln(n)?Ee.push(e):Ee.splice(ec(t),0,e),e.flags|=1,qi()}}function qi(){$n||($n=Ki.then(Gi))}function tc(e){B(e)?Ht.push(...e):ut&&e.id===-1?ut.splice(Lt+1,0,e):e.flags&1||(Ht.push(e),e.flags|=1),qi()}function Cr(e,t,n=qe+1){for(;n<Ee.length;n++){const s=Ee[n];if(s&&s.flags&2){if(e&&s.id!==e.uid)continue;Ee.splice(n,1),n--,s.flags&4&&(s.flags&=-2),s(),s.flags&4||(s.flags&=-2)}}}function jn(e){if(Ht.length){const t=[...new Set(Ht)].sort((n,s)=>ln(n)-ln(s));if(Ht.length=0,ut){ut.push(...t);return}for(ut=t,Lt=0;Lt<ut.length;Lt++){const n=ut[Lt];n.flags&4&&(n.flags&=-2),n.flags&8||n(),n.flags&=-2}ut=null,Lt=0}}const ln=e=>e.id==null?e.flags&2?-1:1/0:e.id;function Gi(e){try{for(qe=0;qe<Ee.length;qe++){const t=Ee[qe];t&&!(t.flags&8)&&(t.flags&4&&(t.flags&=-2),pn(t,t.i,t.i?15:14),t.flags&4||(t.flags&=-2))}}finally{for(;qe<Ee.length;qe++){const t=Ee[qe];t&&(t.flags&=-2)}qe=-1,Ee.length=0,jn(),$n=null,(Ee.length||Ht.length)&&Gi()}}let ve=null,Xi=null;function Vn(e){const t=ve;return ve=e,Xi=e&&e.type.__scopeId||null,t}function nc(e,t=ve,n){if(!t||e._n)return e;const s=(...r)=>{s._d&&Bn(-1);const i=Vn(t);let o;try{o=e(...r)}finally{Vn(i),s._d&&Bn(1)}return o};return s._n=!0,s._c=!0,s._d=!0,s}function Yu(e,t){if(ve===null)return e;const n=os(ve),s=e.dirs||(e.dirs=[]);for(let r=0;r<t.length;r++){let[i,o,l,c=se]=t[r];i&&(K(i)&&(i={mounted:i,updated:i}),i.deep&&rt(o),s.push({dir:i,instance:n,value:o,oldValue:void 0,arg:l,modifiers:c}))}return e}function Ge(e,t,n,s){const r=e.dirs,i=t&&t.dirs;for(let o=0;o<r.length;o++){const l=r[o];i&&(l.oldValue=i[o].value);let c=l.dir[s];c&&(ze(),$e(c,n,8,[e.el,l,e,t]),Qe())}}function sc(e,t){if(ye){let n=ye.provides;const s=ye.parent&&ye.parent.provides;s===n&&(n=ye.provides=Object.create(s)),n[e]=t}}function Tt(e,t,n=!1){const s=Rt();if(s||xt){let r=xt?xt._context.provides:s?s.parent==null||s.ce?s.vnode.appContext&&s.vnode.appContext.provides:s.parent.provides:void 0;if(r&&e in r)return r[e];if(arguments.length>1)return n&&K(t)?t.call(s&&s.proxy):t}}function Yi(){return!!(Rt()||xt)}const rc=Symbol.for("v-scx"),ic=()=>Tt(rc);function or(e,t){return ss(e,null,t)}function Ju(e,t){return ss(e,null,{flush:"post"})}function He(e,t,n){return ss(e,t,n)}function ss(e,t,n=se){const{immediate:s,deep:r,flush:i,once:o}=n,l=ge({},n),c=t&&s||!t&&i!=="post";let u;if(kt){if(i==="sync"){const _=ic();u=_.__watcherHandles||(_.__watcherHandles=[])}else if(!c){const _=()=>{};return _.stop=Je,_.resume=Je,_.pause=Je,_}}const a=ye;l.call=(_,b,y)=>$e(_,a,b,y);let d=!1;i==="post"?l.scheduler=_=>{Te(_,a&&a.suspense)}:i!=="sync"&&(d=!0,l.scheduler=(_,b)=>{b?_():ir(_)}),l.augmentJob=_=>{t&&(_.flags|=4),d&&(_.flags|=2,a&&(_.id=a.uid,_.i=a))};const m=Ql(e,t,l);return kt&&(u?u.push(m):c&&m()),m}function oc(e,t,n){const s=this.proxy,r=ce(e)?e.includes(".")?Ji(s,e):()=>s[e]:e.bind(s,s);let i;K(t)?i=t:(i=t.handler,n=t);const o=vn(this),l=ss(r,i.bind(s),n);return o(),l}function Ji(e,t){const n=t.split(".");return()=>{let s=e;for(let r=0;r<n.length&&s;r++)s=s[n[r]];return s}}const at=new WeakMap,zi=Symbol("_vte"),Qi=e=>e.__isTeleport,_t=e=>e&&(e.disabled||e.disabled===""),lc=e=>e&&(e.defer||e.defer===""),Ar=e=>typeof SVGElement<"u"&&e instanceof SVGElement,Rr=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,Ds=(e,t)=>{const n=e&&e.to;return ce(n)?t?t(n):null:n},cc={name:"Teleport",__isTeleport:!0,process(e,t,n,s,r,i,o,l,c,u){const{mc:a,pc:d,pbc:m,o:{insert:_,querySelector:b,createText:y,createComment:F,parentNode:O}}=u,P=_t(t.props);let{dynamicChildren:p}=t;const g=(S,j,T)=>{S.shapeFlag&16&&a(S.children,j,T,r,i,o,l,c)},R=(S=t)=>{const j=_t(S.props),T=S.target=Ds(S.props,b),H=Hs(T,S,y,_);T&&(o!=="svg"&&Ar(T)?o="svg":o!=="mathml"&&Rr(T)&&(o="mathml"),r&&r.isCE&&(r.ce._teleportTargets||(r.ce._teleportTargets=new Set)).add(T),j||(g(S,T,H),Xt(S,!1)))},V=S=>{const j=()=>{if(at.get(S)===j){if(at.delete(S),_t(S.props)){const T=O(S.el)||n;g(S,T,S.anchor),Xt(S,!0)}R(S)}};at.set(S,j),Te(j,i)};if(e==null){const S=t.el=y(""),j=t.anchor=y("");if(_(S,n,s),_(j,n,s),lc(t.props)||i&&i.pendingBranch){V(t);return}P&&(g(t,n,j),Xt(t,!0)),R()}else{t.el=e.el;const S=t.anchor=e.anchor,j=at.get(e);if(j){j.flags|=8,at.delete(e),V(t);return}t.targetStart=e.targetStart;const T=t.target=e.target,H=t.targetAnchor=e.targetAnchor,A=_t(e.props),w=A?n:T,D=A?S:H;if(o==="svg"||Ar(T)?o="svg":(o==="mathml"||Rr(T))&&(o="mathml"),p?(m(e.dynamicChildren,p,w,r,i,o,l),dr(e,t,!0)):c||d(e,t,w,D,r,i,o,l,!1),P)A?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):Tn(t,n,S,u,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const G=Ds(t.props,b);G&&(t.target=G,Tn(t,G,null,u,0))}else A&&Tn(t,T,H,u,1);Xt(t,P)}},remove(e,t,n,{um:s,o:{remove:r}},i){const{shapeFlag:o,children:l,anchor:c,targetStart:u,targetAnchor:a,target:d,props:m}=e,_=_t(m),b=i||!_,y=at.get(e);if(y&&(y.flags|=8,at.delete(e)),d&&(r(u),r(a)),i&&r(c),!y&&(_||d)&&o&16)for(let F=0;F<l.length;F++){const O=l[F];s(O,t,n,b,!!O.dynamicChildren)}},move:Tn,hydrate:ac};function Tn(e,t,n,{o:{insert:s},m:r},i=2){i===0&&s(e.targetAnchor,t,n);const{el:o,anchor:l,shapeFlag:c,children:u,props:a}=e,d=i===2;if(d&&s(o,t,n),!at.has(e)&&(!d||_t(a))&&c&16)for(let m=0;m<u.length;m++)r(u[m],t,n,2);d&&s(l,t,n)}function ac(e,t,n,s,r,i,{o:{nextSibling:o,parentNode:l,querySelector:c,insert:u,createText:a}},d){function m(F,O){let P=O;for(;P;){if(P&&P.nodeType===8){if(P.data==="teleport start anchor")t.targetStart=P;else if(P.data==="teleport anchor"){t.targetAnchor=P,F._lpa=t.targetAnchor&&o(t.targetAnchor);break}}P=o(P)}}function _(F,O){O.anchor=d(o(F),O,l(F),n,s,r,i)}const b=t.target=Ds(t.props,c),y=_t(t.props);if(b){const F=b._lpa||b.firstChild;t.shapeFlag&16&&(y?(_(e,t),m(b,F),t.targetAnchor||Hs(b,t,a,u,l(e)===b?e:null)):(t.anchor=o(e),m(b,F),t.targetAnchor||Hs(b,t,a,u),d(F&&o(F),t,b,n,s,r,i))),Xt(t,y)}else y&&t.shapeFlag&16&&(_(e,t),t.targetStart=e,t.targetAnchor=o(e));return t.anchor&&o(t.anchor)}const zu=cc;function Xt(e,t){const n=e.ctx;if(n&&n.ut){let s,r;for(t?(s=e.el,r=e.anchor):(s=e.targetStart,r=e.targetAnchor);s&&s!==r;)s.nodeType===1&&s.setAttribute("data-v-owner",n.uid),s=s.nextSibling;n.ut()}}function Hs(e,t,n,s,r=null){const i=t.targetStart=n(""),o=t.targetAnchor=n("");return i[zi]=o,e&&(s(i,e,r),s(o,e,r)),o}const Fe=Symbol("_leaveCb"),qt=Symbol("_enterCb");function uc(){const e={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return Wt(()=>{e.isMounted=!0}),io(()=>{e.isUnmounting=!0}),e}const Ie=[Function,Array],Zi={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:Ie,onEnter:Ie,onAfterEnter:Ie,onEnterCancelled:Ie,onBeforeLeave:Ie,onLeave:Ie,onAfterLeave:Ie,onLeaveCancelled:Ie,onBeforeAppear:Ie,onAppear:Ie,onAfterAppear:Ie,onAppearCancelled:Ie},eo=e=>{const t=e.subTree;return t.component?eo(t.component):t},fc={name:"BaseTransition",props:Zi,setup(e,{slots:t}){const n=Rt(),s=uc();return()=>{const r=t.default&&so(t.default(),!0),i=r&&r.length?to(r):n.subTree?ra():void 0;if(!i)return;const o=z(e),{mode:l}=o;if(s.isLeaving)return gs(i);const c=Mr(i);if(!c)return gs(i);let u=$s(c,o,s,n,d=>u=d);c.type!==me&&cn(c,u);let a=n.subTree&&Mr(n.subTree);if(a&&a.type!==me&&!bt(a,c)&&eo(n).type!==me){let d=$s(a,o,s,n);if(cn(a,d),l==="out-in"&&c.type!==me)return s.isLeaving=!0,d.afterLeave=()=>{s.isLeaving=!1,n.job.flags&8||n.update(),delete d.afterLeave,a=void 0},gs(i);l==="in-out"&&c.type!==me?d.delayLeave=(m,_,b)=>{const y=no(s,a);y[String(a.key)]=a,m[Fe]=()=>{_(),m[Fe]=void 0,delete u.delayedLeave,a=void 0},u.delayedLeave=()=>{b(),delete u.delayedLeave,a=void 0}}:a=void 0}else a&&(a=void 0);return i}}};function to(e){let t=e[0];if(e.length>1){for(const n of e)if(n.type!==me){t=n;break}}return t}const dc=fc;function no(e,t){const{leavingVNodes:n}=e;let s=n.get(t.type);return s||(s=Object.create(null),n.set(t.type,s)),s}function $s(e,t,n,s,r){const{appear:i,mode:o,persisted:l=!1,onBeforeEnter:c,onEnter:u,onAfterEnter:a,onEnterCancelled:d,onBeforeLeave:m,onLeave:_,onAfterLeave:b,onLeaveCancelled:y,onBeforeAppear:F,onAppear:O,onAfterAppear:P,onAppearCancelled:p}=t,g=String(e.key),R=no(n,e),V=(T,H)=>{T&&$e(T,s,9,H)},S=(T,H)=>{const A=H[1];V(T,H),B(T)?T.every(w=>w.length<=1)&&A():T.length<=1&&A()},j={mode:o,persisted:l,beforeEnter(T){let H=c;if(!n.isMounted)if(i)H=F||c;else return;T[Fe]&&T[Fe](!0);const A=R[g];A&&bt(e,A)&&A.el[Fe]&&A.el[Fe](),V(H,[T])},enter(T){if(R[g]===e)return;let H=u,A=a,w=d;if(!n.isMounted)if(i)H=O||u,A=P||a,w=p||d;else return;let D=!1;T[qt]=te=>{D||(D=!0,te?V(w,[T]):V(A,[T]),j.delayedLeave&&j.delayedLeave(),T[qt]=void 0)};const G=T[qt].bind(null,!1);H?S(H,[T,G]):G()},leave(T,H){const A=String(e.key);if(T[qt]&&T[qt](!0),n.isUnmounting)return H();V(m,[T]);let w=!1;T[Fe]=G=>{w||(w=!0,H(),G?V(y,[T]):V(b,[T]),T[Fe]=void 0,R[A]===e&&delete R[A])};const D=T[Fe].bind(null,!1);R[A]=e,_?S(_,[T,D]):D()},clone(T){const H=$s(T,t,n,s,r);return r&&r(H),H}};return j}function gs(e){if(mn(e))return e=dt(e),e.children=null,e}function Mr(e){if(!mn(e))return Qi(e.type)&&e.children?to(e.children):e;if(e.component)return e.component.subTree;const{shapeFlag:t,children:n}=e;if(n){if(t&16)return n[0];if(t&32&&K(n.default))return n.default()}}function cn(e,t){e.shapeFlag&6&&e.component?(e.transition=t,cn(e.component.subTree,t)):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function so(e,t=!1,n){let s=[],r=0;for(let i=0;i<e.length;i++){let o=e[i];const l=n==null?o.key:String(n)+String(o.key!=null?o.key:i);o.type===xe?(o.patchFlag&128&&r++,s=s.concat(so(o.children,t,l))):(t||o.type!==me)&&s.push(l!=null?dt(o,{key:l}):o)}if(r>1)for(let i=0;i<s.length;i++)s[i].patchFlag=-2;return s}function lr(e,t){return K(e)?ge({name:e.name},t,{setup:e}):e}function cr(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function Or(e,t){let n;return!!((n=Object.getOwnPropertyDescriptor(e,t))&&!n.configurable)}const kn=new WeakMap;function $t(e,t,n,s,r=!1){if(B(e)){e.forEach((y,F)=>$t(y,t&&(B(t)?t[F]:t),n,s,r));return}if(Et(s)&&!r){s.shapeFlag&512&&s.type.__asyncResolved&&s.component.subTree.component&&$t(e,t,n,s.component.subTree);return}const i=s.shapeFlag&4?os(s.component):s.el,o=r?null:i,{i:l,r:c}=e,u=t&&t.r,a=l.refs===se?l.refs={}:l.refs,d=l.setupState,m=z(d),_=d===se?_i:y=>Or(a,y)?!1:Z(m,y),b=(y,F)=>!(F&&Or(a,F));if(u!=null&&u!==c){if(Pr(t),ce(u))a[u]=null,_(u)&&(d[u]=null);else if(ue(u)){const y=t;b(u,y.k)&&(u.value=null),y.k&&(a[y.k]=null)}}if(K(c)){ze();try{pn(c,l,12,[o,a])}finally{Qe()}}else{const y=ce(c),F=ue(c);if(y||F){const O=()=>{if(e.f){const P=y?_(c)?d[c]:a[c]:b()||!e.k?c.value:a[e.k];if(r)B(P)&&Ys(P,i);else if(B(P))P.includes(i)||P.push(i);else if(y)a[c]=[i],_(c)&&(d[c]=a[c]);else{const p=[i];b(c,e.k)&&(c.value=p),e.k&&(a[e.k]=p)}}else y?(a[c]=o,_(c)&&(d[c]=o)):F&&(b(c,e.k)&&(c.value=o),e.k&&(a[e.k]=o))};if(o){const P=()=>{O(),kn.delete(e)};P.id=-1,kn.set(e,P),Te(P,n)}else Pr(e),O()}}}function Pr(e){const t=kn.get(e);t&&(t.flags|=8,kn.delete(e))}let Lr=!1;const Pt=()=>{Lr||(console.error("Hydration completed but contains mismatches."),Lr=!0)},hc=e=>e.namespaceURI.includes("svg")&&e.tagName!=="foreignObject",pc=e=>e.namespaceURI.includes("MathML"),En=e=>{if(e.nodeType===1){if(hc(e))return"svg";if(pc(e))return"mathml"}},Nt=e=>e.nodeType===8;function gc(e){const{mt:t,p:n,o:{patchProp:s,createText:r,nextSibling:i,parentNode:o,remove:l,insert:c,createComment:u}}=e,a=(p,g)=>{if(!g.hasChildNodes()){n(null,p,g),jn(),g._vnode=p;return}d(g.firstChild,p,null,null,null),jn(),g._vnode=p},d=(p,g,R,V,S,j=!1)=>{j=j||!!g.dynamicChildren;const T=Nt(p)&&p.data==="[",H=()=>y(p,g,R,V,S,T),{type:A,ref:w,shapeFlag:D,patchFlag:G}=g;let te=p.nodeType;g.el=p,G===-2&&(j=!1,g.dynamicChildren=null);let W=null;switch(A){case Ct:te!==3?g.children===""?(c(g.el=r(""),o(p),p),W=p):W=H():(p.data!==g.children&&(Pt(),p.data=g.children),W=i(p));break;case me:P(p)?(W=i(p),O(g.el=p.content.firstChild,p,R)):te!==8||T?W=H():W=i(p);break;case en:if(T&&(p=i(p),te=p.nodeType),te===1||te===3){W=p;const Y=!g.children.length;for(let X=0;X<g.staticCount;X++)Y&&(g.children+=W.nodeType===1?W.outerHTML:W.data),X===g.staticCount-1&&(g.anchor=W),W=i(W);return T?i(W):W}else H();break;case xe:T?W=b(p,g,R,V,S,j):W=H();break;default:if(D&1)(te!==1||g.type.toLowerCase()!==p.tagName.toLowerCase())&&!P(p)?W=H():W=m(p,g,R,V,S,j);else if(D&6){g.slotScopeIds=S;const Y=o(p);if(T?W=F(p):Nt(p)&&p.data==="teleport start"?W=F(p,p.data,"teleport end"):W=i(p),t(g,Y,null,R,V,En(Y),j),Et(g)&&!g.type.__asyncResolved){let X;T?(X=de(xe),X.anchor=W?W.previousSibling:Y.lastChild):X=p.nodeType===3?No(""):de("div"),X.el=p,g.component.subTree=X}}else D&64?te!==8?W=H():W=g.type.hydrate(p,g,R,V,S,j,e,_):D&128&&(W=g.type.hydrate(p,g,R,V,En(o(p)),S,j,e,d))}return w!=null&&$t(w,null,V,g),W},m=(p,g,R,V,S,j)=>{j=j||!!g.dynamicChildren;const{type:T,dynamicProps:H,props:A,patchFlag:w,shapeFlag:D,dirs:G,transition:te}=g,W=T==="input"||T==="option",Y=!!H;if(W||Y||w!==-1){G&&Ge(g,null,R,"created");let X=!1;if(P(p)){X=Co(null,te)&&R&&R.vnode.props&&R.vnode.props.appear;const re=p.content.firstChild;if(X){const oe=re.getAttribute("class");oe&&(re.$cls=oe),te.beforeEnter(re)}O(re,p,R),g.el=p=re}if(D&16&&!(A&&(A.innerHTML||A.textContent))){let re=_(p.firstChild,g,p,R,V,S,j);for(re&&!In(p,1)&&Pt();re;){const oe=re;re=re.nextSibling,l(oe)}}else if(D&8){let re=g.children;re[0]===`
|
|
14
|
-
`&&(p.tagName==="PRE"||p.tagName==="TEXTAREA")&&(re=re.slice(1));const{textContent:oe}=p;oe!==re&&oe!==re.replace(/\r\n|\r/g,`
|
|
15
|
-
`)&&(In(p,0)||Pt(),p.textContent=g.children)}if(A){if(W||Y||!j||w&48){const re=p.tagName.includes("-");for(const oe in A)(W&&(oe.endsWith("value")||oe==="indeterminate")||dn(oe)&&!wt(oe)||oe[0]==="."||re&&!wt(oe)||H&&H.includes(oe))&&s(p,oe,null,A[oe],void 0,R)}else if(A.onClick)s(p,"onClick",null,A.onClick,void 0,R);else if(w&4&&ft(A.style))for(const re in A.style)A.style[re]}let _e;(_e=A&&A.onVnodeBeforeMount)&&Ne(_e,R,g),G&&Ge(g,null,R,"beforeMount"),((_e=A&&A.onVnodeMounted)||G||X)&&Oo(()=>{_e&&Ne(_e,R,g),X&&te.enter(p),G&&Ge(g,null,R,"mounted")},V)}return p.nextSibling},_=(p,g,R,V,S,j,T)=>{T=T||!!g.dynamicChildren;const H=g.children,A=H.length;let w=!1;for(let D=0;D<A;D++){const G=T?H[D]:H[D]=De(H[D]),te=G.type===Ct;p?(te&&!T&&D+1<A&&De(H[D+1]).type===Ct&&(c(r(p.data.slice(G.children.length)),R,i(p)),p.data=G.children),p=d(p,G,V,S,j,T)):te&&!G.children?c(G.el=r(""),R):(w||(w=!0,In(R,1)||Pt()),n(null,G,R,null,V,S,En(R),j))}return p},b=(p,g,R,V,S,j)=>{const{slotScopeIds:T}=g;T&&(S=S?S.concat(T):T);const H=o(p),A=_(i(p),g,H,R,V,S,j);return A&&Nt(A)&&A.data==="]"?i(g.anchor=A):(Pt(),c(g.anchor=u("]"),H,A),A)},y=(p,g,R,V,S,j)=>{if(yc(p,g)||Pt(),g.el=null,j){const A=F(p);for(;;){const w=i(p);if(w&&w!==A)l(w);else break}}const T=i(p),H=o(p);return l(p),n(null,g,H,T,R,V,En(H),S),R&&(R.vnode.el=g.el,mo(R,g.el)),T},F=(p,g="[",R="]")=>{let V=0;for(;p;)if(p=i(p),p&&Nt(p)&&(p.data===g&&V++,p.data===R)){if(V===0)return i(p);V--}return p},O=(p,g,R)=>{const V=g.parentNode;V&&V.replaceChild(p,g);let S=R;for(;S;)S.vnode.el===g&&(S.vnode.el=S.subTree.el=p),S=S.parent},P=p=>p.nodeType===1&&p.tagName==="TEMPLATE";return[a,d]}const Wn="data-allow-mismatch",mc={0:"text",1:"children",2:"class",3:"style",4:"attribute"};function In(e,t){if(t===0||t===1)for(;e&&!e.hasAttribute(Wn);)e=e.parentElement;return ar(e&&e.getAttribute(Wn),t)}function ar(e,t){if(e==null)return!1;if(e==="")return!0;{const n=e.split(",");return t===0&&n.includes("children")?!0:n.includes(mc[t])}}function yc(e,t){return In(e.parentElement,1)||vc(e)||_c(t)}function vc(e){return e.nodeType===1&&ar(e.getAttribute(Wn),1)}function _c({props:e}){const t=e&&e[Wn];return typeof t=="string"&&ar(t,1)}zn().requestIdleCallback;zn().cancelIdleCallback;function bc(e,t){if(Nt(e)&&e.data==="["){let n=1,s=e.nextSibling;for(;s;){if(s.nodeType===1){if(t(s)===!1)break}else if(Nt(s))if(s.data==="]"){if(--n===0)break}else s.data==="["&&n++;s=s.nextSibling}}else t(e)}const Et=e=>!!e.type.__asyncLoader;function Qu(e){K(e)&&(e={loader:e});const{loader:t,loadingComponent:n,errorComponent:s,delay:r=200,hydrate:i,timeout:o,suspensible:l=!0,onError:c}=e;let u=null,a,d=0;const m=()=>(d++,u=null,_()),_=()=>{let b;return u||(b=u=t().catch(y=>{if(y=y instanceof Error?y:new Error(String(y)),c)return new Promise((F,O)=>{c(y,()=>F(m()),()=>O(y),d+1)});throw y}).then(y=>b!==u&&u?u:(y&&(y.__esModule||y[Symbol.toStringTag]==="Module")&&(y=y.default),a=y,y)))};return lr({name:"AsyncComponentWrapper",__asyncLoader:_,__asyncHydrate(b,y,F){let O=!1;(y.bu||(y.bu=[])).push(()=>O=!0);const P=()=>{O||F()},p=i?()=>{const g=i(P,R=>bc(b,R));g&&(y.bum||(y.bum=[])).push(g)}:P;a?p():_().then(()=>!y.isUnmounted&&p())},get __asyncResolved(){return a},setup(){const b=ye;if(cr(b),a)return()=>xn(a,b);const y=R=>{u=null,gn(R,b,13,!s)};if(l&&b.suspense||kt)return _().then(R=>()=>xn(R,b)).catch(R=>(y(R),()=>s?de(s,{error:R}):null));const F=ke(!1),O=ke(),P=ke(!!r);let p,g;return yn(()=>{p!=null&&clearTimeout(p),g!=null&&clearTimeout(g)}),r&&(g=setTimeout(()=>{b.isUnmounted||(P.value=!1)},r)),o!=null&&(p=setTimeout(()=>{if(!b.isUnmounted&&!F.value&&!O.value){const R=new Error(`Async component timed out after ${o}ms.`);y(R),O.value=R}},o)),_().then(()=>{b.isUnmounted||(F.value=!0,b.parent&&mn(b.parent.vnode)&&b.parent.update())}).catch(R=>{if(b.isUnmounted){u=null;return}y(R),O.value=R}),()=>{if(F.value&&a)return xn(a,b);if(O.value&&s)return de(s,{error:O.value});if(n&&!P.value)return xn(n,b)}}})}function xn(e,t){const{ref:n,props:s,children:r,ce:i}=t.vnode,o=de(e,s,r);return o.ref=n,o.ce=i,delete t.vnode.ce,o}const mn=e=>e.type.__isKeepAlive;function wc(e,t){ro(e,"a",t)}function Sc(e,t){ro(e,"da",t)}function ro(e,t,n=ye){const s=e.__wdc||(e.__wdc=()=>{let r=n;for(;r;){if(r.isDeactivated)return;r=r.parent}return e()});if(rs(t,s,n),n){let r=n.parent;for(;r&&r.parent;)mn(r.parent.vnode)&&Tc(s,t,n,r),r=r.parent}}function Tc(e,t,n,s){const r=rs(t,e,s,!0);yn(()=>{Ys(s[t],r)},n)}function rs(e,t,n=ye,s=!1){if(n){const r=n[e]||(n[e]=[]),i=t.__weh||(t.__weh=(...o)=>{ze();const l=vn(n),c=$e(t,n,e,o);return l(),Qe(),c});return s?r.unshift(i):r.push(i),i}}const lt=e=>(t,n=ye)=>{(!kt||e==="sp")&&rs(e,(...s)=>t(...s),n)},Ec=lt("bm"),Wt=lt("m"),xc=lt("bu"),Cc=lt("u"),io=lt("bum"),yn=lt("um"),Ac=lt("sp"),Rc=lt("rtg"),Mc=lt("rtc");function Oc(e,t=ye){rs("ec",e,t)}const oo="components";function Zu(e,t){return co(oo,e,!0,t)||e}const lo=Symbol.for("v-ndc");function ef(e){return ce(e)?co(oo,e,!1)||e:e||lo}function co(e,t,n=!0,s=!1){const r=ve||ye;if(r){const i=r.type;{const l=da(i,!1);if(l&&(l===t||l===Ce(t)||l===Jn(Ce(t))))return i}const o=Ir(r[e]||i[e],t)||Ir(r.appContext[e],t);return!o&&s?i:o}}function Ir(e,t){return e&&(e[t]||e[Ce(t)]||e[Jn(Ce(t))])}function tf(e,t,n,s){let r;const i=n,o=B(e);if(o||ce(e)){const l=o&&ft(e);let c=!1,u=!1;l&&(c=!Pe(e),u=it(e),e=Zn(e)),r=new Array(e.length);for(let a=0,d=e.length;a<d;a++)r[a]=t(c?u?Vt(We(e[a])):We(e[a]):e[a],a,void 0,i)}else if(typeof e=="number"){r=new Array(e);for(let l=0;l<e;l++)r[l]=t(l+1,l,void 0,i)}else if(Q(e))if(e[Symbol.iterator])r=Array.from(e,(l,c)=>t(l,c,void 0,i));else{const l=Object.keys(e);r=new Array(l.length);for(let c=0,u=l.length;c<u;c++){const a=l[c];r[c]=t(e[a],a,c,i)}}else r=[];return r}function nf(e,t,n={},s,r){if(ve.ce||ve.parent&&Et(ve.parent)&&ve.parent.ce){const u=Object.keys(n).length>0;return t!=="default"&&(n.name=t),Us(),Bs(xe,null,[de("slot",n,s&&s())],u?-2:64)}let i=e[t];i&&i._c&&(i._d=!1),Us();const o=i&&ao(i(n)),l=n.key||o&&o.key,c=Bs(xe,{key:(l&&!Le(l)?l:`_${t}`)+(!o&&s?"_fb":"")},o||(s?s():[]),o&&e._===1?64:-2);return!r&&c.scopeId&&(c.slotScopeIds=[c.scopeId+"-s"]),i&&i._c&&(i._d=!0),c}function ao(e){return e.some(t=>un(t)?!(t.type===me||t.type===xe&&!ao(t.children)):!0)?e:null}function sf(e,t){const n={};for(const s in e)n[/[A-Z]/.test(s)?`on:${s}`:On(s)]=e[s];return n}const js=e=>e?Fo(e)?os(e):js(e.parent):null,Zt=ge(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>js(e.parent),$root:e=>js(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>fo(e),$forceUpdate:e=>e.f||(e.f=()=>{ir(e.update)}),$nextTick:e=>e.n||(e.n=ns.bind(e.proxy)),$watch:e=>oc.bind(e)}),ms=(e,t)=>e!==se&&!e.__isScriptSetup&&Z(e,t),Pc={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:s,data:r,props:i,accessCache:o,type:l,appContext:c}=e;if(t[0]!=="$"){const m=o[t];if(m!==void 0)switch(m){case 1:return s[t];case 2:return r[t];case 4:return n[t];case 3:return i[t]}else{if(ms(s,t))return o[t]=1,s[t];if(r!==se&&Z(r,t))return o[t]=2,r[t];if(Z(i,t))return o[t]=3,i[t];if(n!==se&&Z(n,t))return o[t]=4,n[t];Vs&&(o[t]=0)}}const u=Zt[t];let a,d;if(u)return t==="$attrs"&&we(e.attrs,"get",""),u(e);if((a=l.__cssModules)&&(a=a[t]))return a;if(n!==se&&Z(n,t))return o[t]=4,n[t];if(d=c.config.globalProperties,Z(d,t))return d[t]},set({_:e},t,n){const{data:s,setupState:r,ctx:i}=e;return ms(r,t)?(r[t]=n,!0):s!==se&&Z(s,t)?(s[t]=n,!0):Z(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(i[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:s,appContext:r,props:i,type:o}},l){let c;return!!(n[l]||e!==se&&l[0]!=="$"&&Z(e,l)||ms(t,l)||Z(i,l)||Z(s,l)||Z(Zt,l)||Z(r.config.globalProperties,l)||(c=o.__cssModules)&&c[l])},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:Z(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function rf(){return Lc().slots}function Lc(e){const t=Rt();return t.setupContext||(t.setupContext=Ho(t))}function Nr(e){return B(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let Vs=!0;function Ic(e){const t=fo(e),n=e.proxy,s=e.ctx;Vs=!1,t.beforeCreate&&Fr(t.beforeCreate,e,"bc");const{data:r,computed:i,methods:o,watch:l,provide:c,inject:u,created:a,beforeMount:d,mounted:m,beforeUpdate:_,updated:b,activated:y,deactivated:F,beforeDestroy:O,beforeUnmount:P,destroyed:p,unmounted:g,render:R,renderTracked:V,renderTriggered:S,errorCaptured:j,serverPrefetch:T,expose:H,inheritAttrs:A,components:w,directives:D,filters:G}=t;if(u&&Nc(u,s,null),o)for(const Y in o){const X=o[Y];K(X)&&(s[Y]=X.bind(n))}if(r){const Y=r.call(n,n);Q(Y)&&(e.data=jt(Y))}if(Vs=!0,i)for(const Y in i){const X=i[Y],_e=K(X)?X.bind(n,n):K(X.get)?X.get.bind(n,n):Je,re=!K(X)&&K(X.set)?X.set.bind(n):Je,oe=le({get:_e,set:re});Object.defineProperty(s,Y,{enumerable:!0,configurable:!0,get:()=>oe.value,set:Be=>oe.value=Be})}if(l)for(const Y in l)uo(l[Y],s,n,Y);if(c){const Y=K(c)?c.call(n):c;Reflect.ownKeys(Y).forEach(X=>{sc(X,Y[X])})}a&&Fr(a,e,"c");function W(Y,X){B(X)?X.forEach(_e=>Y(_e.bind(n))):X&&Y(X.bind(n))}if(W(Ec,d),W(Wt,m),W(xc,_),W(Cc,b),W(wc,y),W(Sc,F),W(Oc,j),W(Mc,V),W(Rc,S),W(io,P),W(yn,g),W(Ac,T),B(H))if(H.length){const Y=e.exposed||(e.exposed={});H.forEach(X=>{Object.defineProperty(Y,X,{get:()=>n[X],set:_e=>n[X]=_e,enumerable:!0})})}else e.exposed||(e.exposed={});R&&e.render===Je&&(e.render=R),A!=null&&(e.inheritAttrs=A),w&&(e.components=w),D&&(e.directives=D),T&&cr(e)}function Nc(e,t,n=Je){B(e)&&(e=ks(e));for(const s in e){const r=e[s];let i;Q(r)?"default"in r?i=Tt(r.from||s,r.default,!0):i=Tt(r.from||s):i=Tt(r),ue(i)?Object.defineProperty(t,s,{enumerable:!0,configurable:!0,get:()=>i.value,set:o=>i.value=o}):t[s]=i}}function Fr(e,t,n){$e(B(e)?e.map(s=>s.bind(t.proxy)):e.bind(t.proxy),t,n)}function uo(e,t,n,s){let r=s.includes(".")?Ji(n,s):()=>n[s];if(ce(e)){const i=t[e];K(i)&&He(r,i)}else if(K(e))He(r,e.bind(n));else if(Q(e))if(B(e))e.forEach(i=>uo(i,t,n,s));else{const i=K(e.handler)?e.handler.bind(n):t[e.handler];K(i)&&He(r,i,e)}}function fo(e){const t=e.type,{mixins:n,extends:s}=t,{mixins:r,optionsCache:i,config:{optionMergeStrategies:o}}=e.appContext,l=i.get(t);let c;return l?c=l:!r.length&&!n&&!s?c=t:(c={},r.length&&r.forEach(u=>Un(c,u,o,!0)),Un(c,t,o)),Q(t)&&i.set(t,c),c}function Un(e,t,n,s=!1){const{mixins:r,extends:i}=t;i&&Un(e,i,n,!0),r&&r.forEach(o=>Un(e,o,n,!0));for(const o in t)if(!(s&&o==="expose")){const l=Fc[o]||n&&n[o];e[o]=l?l(e[o],t[o]):t[o]}return e}const Fc={data:Dr,props:Hr,emits:Hr,methods:Yt,computed:Yt,beforeCreate:Se,created:Se,beforeMount:Se,mounted:Se,beforeUpdate:Se,updated:Se,beforeDestroy:Se,beforeUnmount:Se,destroyed:Se,unmounted:Se,activated:Se,deactivated:Se,errorCaptured:Se,serverPrefetch:Se,components:Yt,directives:Yt,watch:Hc,provide:Dr,inject:Dc};function Dr(e,t){return t?e?function(){return ge(K(e)?e.call(this,this):e,K(t)?t.call(this,this):t)}:t:e}function Dc(e,t){return Yt(ks(e),ks(t))}function ks(e){if(B(e)){const t={};for(let n=0;n<e.length;n++)t[e[n]]=e[n];return t}return e}function Se(e,t){return e?[...new Set([].concat(e,t))]:t}function Yt(e,t){return e?ge(Object.create(null),e,t):t}function Hr(e,t){return e?B(e)&&B(t)?[...new Set([...e,...t])]:ge(Object.create(null),Nr(e),Nr(t??{})):t}function Hc(e,t){if(!e)return t;if(!t)return e;const n=ge(Object.create(null),e);for(const s in t)n[s]=Se(e[s],t[s]);return n}function ho(){return{app:null,config:{isNativeTag:_i,performance:!1,globalProperties:{},optionMergeStrategies:{},errorHandler:void 0,warnHandler:void 0,compilerOptions:{}},mixins:[],components:{},directives:{},provides:Object.create(null),optionsCache:new WeakMap,propsCache:new WeakMap,emitsCache:new WeakMap}}let $c=0;function jc(e,t){return function(s,r=null){K(s)||(s=ge({},s)),r!=null&&!Q(r)&&(r=null);const i=ho(),o=new WeakSet,l=[];let c=!1;const u=i.app={_uid:$c++,_component:s,_props:r,_container:null,_context:i,_instance:null,version:pa,get config(){return i.config},set config(a){},use(a,...d){return o.has(a)||(a&&K(a.install)?(o.add(a),a.install(u,...d)):K(a)&&(o.add(a),a(u,...d))),u},mixin(a){return i.mixins.includes(a)||i.mixins.push(a),u},component(a,d){return d?(i.components[a]=d,u):i.components[a]},directive(a,d){return d?(i.directives[a]=d,u):i.directives[a]},mount(a,d,m){if(!c){const _=u._ceVNode||de(s,r);return _.appContext=i,m===!0?m="svg":m===!1&&(m=void 0),d&&t?t(_,a):e(_,a,m),c=!0,u._container=a,a.__vue_app__=u,os(_.component)}},onUnmount(a){l.push(a)},unmount(){c&&($e(l,u._instance,16),e(null,u._container),delete u._container.__vue_app__)},provide(a,d){return i.provides[a]=d,u},runWithContext(a){const d=xt;xt=u;try{return a()}finally{xt=d}}};return u}}let xt=null;const Vc=(e,t)=>t==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${Ce(t)}Modifiers`]||e[`${pt(t)}Modifiers`];function kc(e,t,...n){if(e.isUnmounted)return;const s=e.vnode.props||se;let r=n;const i=t.startsWith("update:"),o=i&&Vc(s,t.slice(7));o&&(o.trim&&(r=n.map(a=>ce(a)?a.trim():a)),o.number&&(r=n.map(Js)));let l,c=s[l=On(t)]||s[l=On(Ce(t))];!c&&i&&(c=s[l=On(pt(t))]),c&&$e(c,e,6,r);const u=s[l+"Once"];if(u){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,$e(u,e,6,r)}}const Wc=new WeakMap;function po(e,t,n=!1){const s=n?Wc:t.emitsCache,r=s.get(e);if(r!==void 0)return r;const i=e.emits;let o={},l=!1;if(!K(e)){const c=u=>{const a=po(u,t,!0);a&&(l=!0,ge(o,a))};!n&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}return!i&&!l?(Q(e)&&s.set(e,null),null):(B(i)?i.forEach(c=>o[c]=null):ge(o,i),Q(e)&&s.set(e,o),o)}function is(e,t){return!e||!dn(t)?!1:(t=t.slice(2),t=t==="Once"?t:t.replace(/Once$/,""),Z(e,t[0].toLowerCase()+t.slice(1))||Z(e,pt(t))||Z(e,t))}function ys(e){const{type:t,vnode:n,proxy:s,withProxy:r,propsOptions:[i],slots:o,attrs:l,emit:c,render:u,renderCache:a,props:d,data:m,setupState:_,ctx:b,inheritAttrs:y}=e,F=Vn(e);let O,P;try{if(n.shapeFlag&4){const g=r||s,R=g;O=De(u.call(R,g,a,d,_,m,b)),P=l}else{const g=t;O=De(g.length>1?g(d,{attrs:l,slots:o,emit:c}):g(d,null)),P=t.props?l:Uc(l)}}catch(g){tn.length=0,gn(g,e,1),O=de(me)}let p=O;if(P&&y!==!1){const g=Object.keys(P),{shapeFlag:R}=p;g.length&&R&7&&(i&&g.some(Gn)&&(P=Bc(P,i)),p=dt(p,P,!1,!0))}return n.dirs&&(p=dt(p,null,!1,!0),p.dirs=p.dirs?p.dirs.concat(n.dirs):n.dirs),n.transition&&cn(p,n.transition),O=p,Vn(F),O}const Uc=e=>{let t;for(const n in e)(n==="class"||n==="style"||dn(n))&&((t||(t={}))[n]=e[n]);return t},Bc=(e,t)=>{const n={};for(const s in e)(!Gn(s)||!(s.slice(9)in t))&&(n[s]=e[s]);return n};function Kc(e,t,n){const{props:s,children:r,component:i}=e,{props:o,children:l,patchFlag:c}=t,u=i.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&c>=0){if(c&1024)return!0;if(c&16)return s?$r(s,o,u):!!o;if(c&8){const a=t.dynamicProps;for(let d=0;d<a.length;d++){const m=a[d];if(go(o,s,m)&&!is(u,m))return!0}}}else return(r||l)&&(!l||!l.$stable)?!0:s===o?!1:s?o?$r(s,o,u):!0:!!o;return!1}function $r(e,t,n){const s=Object.keys(t);if(s.length!==Object.keys(e).length)return!0;for(let r=0;r<s.length;r++){const i=s[r];if(go(t,e,i)&&!is(n,i))return!0}return!1}function go(e,t,n){const s=e[n],r=t[n];return n==="style"&&Q(s)&&Q(r)?!Zs(s,r):s!==r}function mo({vnode:e,parent:t,suspense:n},s){for(;t;){const r=t.subTree;if(r.suspense&&r.suspense.activeBranch===e&&(r.suspense.vnode.el=r.el=s,e=r),r===e)(e=t.vnode).el=s,t=t.parent;else break}n&&n.activeBranch===e&&(n.vnode.el=s)}const yo={},vo=()=>Object.create(yo),_o=e=>Object.getPrototypeOf(e)===yo;function qc(e,t,n,s=!1){const r={},i=vo();e.propsDefaults=Object.create(null),bo(e,t,r,i);for(const o in e.propsOptions[0])o in r||(r[o]=void 0);n?e.props=s?r:Vl(r):e.type.props?e.props=r:e.props=i,e.attrs=i}function Gc(e,t,n,s){const{props:r,attrs:i,vnode:{patchFlag:o}}=e,l=z(r),[c]=e.propsOptions;let u=!1;if((s||o>0)&&!(o&16)){if(o&8){const a=e.vnode.dynamicProps;for(let d=0;d<a.length;d++){let m=a[d];if(is(e.emitsOptions,m))continue;const _=t[m];if(c)if(Z(i,m))_!==i[m]&&(i[m]=_,u=!0);else{const b=Ce(m);r[b]=Ws(c,l,b,_,e,!1)}else _!==i[m]&&(i[m]=_,u=!0)}}}else{bo(e,t,r,i)&&(u=!0);let a;for(const d in l)(!t||!Z(t,d)&&((a=pt(d))===d||!Z(t,a)))&&(c?n&&(n[d]!==void 0||n[a]!==void 0)&&(r[d]=Ws(c,l,d,void 0,e,!0)):delete r[d]);if(i!==l)for(const d in i)(!t||!Z(t,d))&&(delete i[d],u=!0)}u&&st(e.attrs,"set","")}function bo(e,t,n,s){const[r,i]=e.propsOptions;let o=!1,l;if(t)for(let c in t){if(wt(c))continue;const u=t[c];let a;r&&Z(r,a=Ce(c))?!i||!i.includes(a)?n[a]=u:(l||(l={}))[a]=u:is(e.emitsOptions,c)||(!(c in s)||u!==s[c])&&(s[c]=u,o=!0)}if(i){const c=z(n),u=l||se;for(let a=0;a<i.length;a++){const d=i[a];n[d]=Ws(r,c,d,u[d],e,!Z(u,d))}}return o}function Ws(e,t,n,s,r,i){const o=e[n];if(o!=null){const l=Z(o,"default");if(l&&s===void 0){const c=o.default;if(o.type!==Function&&!o.skipFactory&&K(c)){const{propsDefaults:u}=r;if(n in u)s=u[n];else{const a=vn(r);s=u[n]=c.call(null,t),a()}}else s=c;r.ce&&r.ce._setProp(n,s)}o[0]&&(i&&!l?s=!1:o[1]&&(s===""||s===pt(n))&&(s=!0))}return s}const Xc=new WeakMap;function wo(e,t,n=!1){const s=n?Xc:t.propsCache,r=s.get(e);if(r)return r;const i=e.props,o={},l=[];let c=!1;if(!K(e)){const a=d=>{c=!0;const[m,_]=wo(d,t,!0);ge(o,m),_&&l.push(..._)};!n&&t.mixins.length&&t.mixins.forEach(a),e.extends&&a(e.extends),e.mixins&&e.mixins.forEach(a)}if(!i&&!c)return Q(e)&&s.set(e,Ft),Ft;if(B(i))for(let a=0;a<i.length;a++){const d=Ce(i[a]);jr(d)&&(o[d]=se)}else if(i)for(const a in i){const d=Ce(a);if(jr(d)){const m=i[a],_=o[d]=B(m)||K(m)?{type:m}:ge({},m),b=_.type;let y=!1,F=!0;if(B(b))for(let O=0;O<b.length;++O){const P=b[O],p=K(P)&&P.name;if(p==="Boolean"){y=!0;break}else p==="String"&&(F=!1)}else y=K(b)&&b.name==="Boolean";_[0]=y,_[1]=F,(y||Z(_,"default"))&&l.push(d)}}const u=[o,l];return Q(e)&&s.set(e,u),u}function jr(e){return e[0]!=="$"&&!wt(e)}const ur=e=>e==="_"||e==="_ctx"||e==="$stable",fr=e=>B(e)?e.map(De):[De(e)],Yc=(e,t,n)=>{if(t._n)return t;const s=nc((...r)=>fr(t(...r)),n);return s._c=!1,s},So=(e,t,n)=>{const s=e._ctx;for(const r in e){if(ur(r))continue;const i=e[r];if(K(i))t[r]=Yc(r,i,s);else if(i!=null){const o=fr(i);t[r]=()=>o}}},To=(e,t)=>{const n=fr(t);e.slots.default=()=>n},Eo=(e,t,n)=>{for(const s in t)(n||!ur(s))&&(e[s]=t[s])},Jc=(e,t,n)=>{const s=e.slots=vo();if(e.vnode.shapeFlag&32){const r=t._;r?(Eo(s,t,n),n&&Ei(s,"_",r,!0)):So(t,s)}else t&&To(e,t)},zc=(e,t,n)=>{const{vnode:s,slots:r}=e;let i=!0,o=se;if(s.shapeFlag&32){const l=t._;l?n&&l===1?i=!1:Eo(r,t,n):(i=!t.$stable,So(t,r)),o=t}else t&&(To(e,t),o={default:1});if(i)for(const l in r)!ur(l)&&o[l]==null&&delete r[l]},Te=Oo;function Qc(e){return xo(e)}function Zc(e){return xo(e,gc)}function xo(e,t){const n=zn();n.__VUE__=!0;const{insert:s,remove:r,patchProp:i,createElement:o,createText:l,createComment:c,setText:u,setElementText:a,parentNode:d,nextSibling:m,setScopeId:_=Je,insertStaticContent:b}=e,y=(f,h,v,M=null,x=null,E=null,N=void 0,I=null,L=!!h.dynamicChildren)=>{if(f===h)return;f&&!bt(f,h)&&(M=_n(f),Be(f,x,E,!0),f=null),h.patchFlag===-2&&(L=!1,h.dynamicChildren=null);const{type:C,ref:U,shapeFlag:$}=h;switch(C){case Ct:F(f,h,v,M);break;case me:O(f,h,v,M);break;case en:f==null&&P(h,v,M,N);break;case xe:w(f,h,v,M,x,E,N,I,L);break;default:$&1?R(f,h,v,M,x,E,N,I,L):$&6?D(f,h,v,M,x,E,N,I,L):($&64||$&128)&&C.process(f,h,v,M,x,E,N,I,L,Mt)}U!=null&&x?$t(U,f&&f.ref,E,h||f,!h):U==null&&f&&f.ref!=null&&$t(f.ref,null,E,f,!0)},F=(f,h,v,M)=>{if(f==null)s(h.el=l(h.children),v,M);else{const x=h.el=f.el;h.children!==f.children&&u(x,h.children)}},O=(f,h,v,M)=>{f==null?s(h.el=c(h.children||""),v,M):h.el=f.el},P=(f,h,v,M)=>{[f.el,f.anchor]=b(f.children,h,v,M,f.el,f.anchor)},p=({el:f,anchor:h},v,M)=>{let x;for(;f&&f!==h;)x=m(f),s(f,v,M),f=x;s(h,v,M)},g=({el:f,anchor:h})=>{let v;for(;f&&f!==h;)v=m(f),r(f),f=v;r(h)},R=(f,h,v,M,x,E,N,I,L)=>{if(h.type==="svg"?N="svg":h.type==="math"&&(N="mathml"),f==null)V(h,v,M,x,E,N,I,L);else{const C=f.el&&f.el._isVueCE?f.el:null;try{C&&C._beginPatch(),T(f,h,x,E,N,I,L)}finally{C&&C._endPatch()}}},V=(f,h,v,M,x,E,N,I)=>{let L,C;const{props:U,shapeFlag:$,transition:k,dirs:q}=f;if(L=f.el=o(f.type,E,U&&U.is,U),$&8?a(L,f.children):$&16&&j(f.children,L,null,M,x,vs(f,E),N,I),q&&Ge(f,null,M,"created"),S(L,f,f.scopeId,N,M),U){for(const ne in U)ne!=="value"&&!wt(ne)&&i(L,ne,null,U[ne],E,M);"value"in U&&i(L,"value",null,U.value,E),(C=U.onVnodeBeforeMount)&&Ne(C,M,f)}q&&Ge(f,null,M,"beforeMount");const J=Co(x,k);J&&k.beforeEnter(L),s(L,h,v),((C=U&&U.onVnodeMounted)||J||q)&&Te(()=>{try{C&&Ne(C,M,f),J&&k.enter(L),q&&Ge(f,null,M,"mounted")}finally{}},x)},S=(f,h,v,M,x)=>{if(v&&_(f,v),M)for(let E=0;E<M.length;E++)_(f,M[E]);if(x){let E=x.subTree;if(h===E||Mo(E.type)&&(E.ssContent===h||E.ssFallback===h)){const N=x.vnode;S(f,N,N.scopeId,N.slotScopeIds,x.parent)}}},j=(f,h,v,M,x,E,N,I,L=0)=>{for(let C=L;C<f.length;C++){const U=f[C]=I?nt(f[C]):De(f[C]);y(null,U,h,v,M,x,E,N,I)}},T=(f,h,v,M,x,E,N)=>{const I=h.el=f.el;let{patchFlag:L,dynamicChildren:C,dirs:U}=h;L|=f.patchFlag&16;const $=f.props||se,k=h.props||se;let q;if(v&>(v,!1),(q=k.onVnodeBeforeUpdate)&&Ne(q,v,h,f),U&&Ge(h,f,v,"beforeUpdate"),v&>(v,!0),C&&(!f.dynamicChildren||f.dynamicChildren.length!==C.length)&&(L=0,N=!1,C=null),($.innerHTML&&k.innerHTML==null||$.textContent&&k.textContent==null)&&a(I,""),C?H(f.dynamicChildren,C,I,v,M,vs(h,x),E):N||X(f,h,I,null,v,M,vs(h,x),E,!1),L>0){if(L&16)A(I,$,k,v,x);else if(L&2&&$.class!==k.class&&i(I,"class",null,k.class,x),L&4&&i(I,"style",$.style,k.style,x),L&8){const J=h.dynamicProps;for(let ne=0;ne<J.length;ne++){const ee=J[ne],fe=$[ee],he=k[ee];(he!==fe||ee==="value")&&i(I,ee,fe,he,x,v)}}L&1&&f.children!==h.children&&a(I,h.children)}else!N&&C==null&&A(I,$,k,v,x);((q=k.onVnodeUpdated)||U)&&Te(()=>{q&&Ne(q,v,h,f),U&&Ge(h,f,v,"updated")},M)},H=(f,h,v,M,x,E,N)=>{for(let I=0;I<h.length;I++){const L=f[I],C=h[I],U=L.el&&(L.type===xe||!bt(L,C)||L.shapeFlag&198)?d(L.el):v;y(L,C,U,null,M,x,E,N,!0)}},A=(f,h,v,M,x)=>{if(h!==v){if(h!==se)for(const E in h)!wt(E)&&!(E in v)&&i(f,E,h[E],null,x,M);for(const E in v){if(wt(E))continue;const N=v[E],I=h[E];N!==I&&E!=="value"&&i(f,E,I,N,x,M)}"value"in v&&i(f,"value",h.value,v.value,x)}},w=(f,h,v,M,x,E,N,I,L)=>{const C=h.el=f?f.el:l(""),U=h.anchor=f?f.anchor:l("");let{patchFlag:$,dynamicChildren:k,slotScopeIds:q}=h;q&&(I=I?I.concat(q):q),f==null?(s(C,v,M),s(U,v,M),j(h.children||[],v,U,x,E,N,I,L)):$>0&&$&64&&k&&f.dynamicChildren&&f.dynamicChildren.length===k.length?(H(f.dynamicChildren,k,v,x,E,N,I),(h.key!=null||x&&h===x.subTree)&&dr(f,h,!0)):X(f,h,v,U,x,E,N,I,L)},D=(f,h,v,M,x,E,N,I,L)=>{h.slotScopeIds=I,f==null?h.shapeFlag&512?x.ctx.activate(h,v,M,N,L):G(h,v,M,x,E,N,L):te(f,h,L)},G=(f,h,v,M,x,E,N)=>{const I=f.component=ca(f,M,x);if(mn(f)&&(I.ctx.renderer=Mt),aa(I,!1,N),I.asyncDep){if(x&&x.registerDep(I,W,N),!f.el){const L=I.subTree=de(me);O(null,L,h,v),f.placeholder=L.el}}else W(I,f,h,v,x,E,N)},te=(f,h,v)=>{const M=h.component=f.component;if(Kc(f,h,v))if(M.asyncDep&&!M.asyncResolved){Y(M,h,v);return}else M.next=h,M.update();else h.el=f.el,M.vnode=h},W=(f,h,v,M,x,E,N)=>{const I=()=>{if(f.isMounted){let{next:$,bu:k,u:q,parent:J,vnode:ne}=f;{const Re=Ao(f);if(Re){$&&($.el=ne.el,Y(f,$,N)),Re.asyncDep.then(()=>{Te(()=>{f.isUnmounted||C()},x)});return}}let ee=$,fe;gt(f,!1),$?($.el=ne.el,Y(f,$,N)):$=ne,k&&Pn(k),(fe=$.props&&$.props.onVnodeBeforeUpdate)&&Ne(fe,J,$,ne),gt(f,!0);const he=ys(f),je=f.subTree;f.subTree=he,y(je,he,d(je.el),_n(je),f,x,E),$.el=he.el,ee===null&&mo(f,he.el),q&&Te(q,x),(fe=$.props&&$.props.onVnodeUpdated)&&Te(()=>Ne(fe,J,$,ne),x)}else{let $;const{el:k,props:q}=h,{bm:J,m:ne,parent:ee,root:fe,type:he}=f,je=Et(h);if(gt(f,!1),J&&Pn(J),!je&&($=q&&q.onVnodeBeforeMount)&&Ne($,ee,h),gt(f,!0),k&&us){const Re=()=>{f.subTree=ys(f),us(k,f.subTree,f,x,null)};je&&he.__asyncHydrate?he.__asyncHydrate(k,f,Re):Re()}else{fe.ce&&fe.ce._hasShadowRoot()&&fe.ce._injectChildStyle(he,f.parent?f.parent.type:void 0);const Re=f.subTree=ys(f);y(null,Re,v,M,f,x,E),h.el=Re.el}if(ne&&Te(ne,x),!je&&($=q&&q.onVnodeMounted)){const Re=h;Te(()=>Ne($,ee,Re),x)}(h.shapeFlag&256||ee&&Et(ee.vnode)&&ee.vnode.shapeFlag&256)&&f.a&&Te(f.a,x),f.isMounted=!0,h=v=M=null}};f.scope.on();const L=f.effect=new Mi(I);f.scope.off();const C=f.update=L.run.bind(L),U=f.job=L.runIfDirty.bind(L);U.i=f,U.id=f.uid,L.scheduler=()=>ir(U),gt(f,!0),C()},Y=(f,h,v)=>{h.component=f;const M=f.vnode.props;f.vnode=h,f.next=null,Gc(f,h.props,M,v),zc(f,h.children,v),ze(),Cr(f),Qe()},X=(f,h,v,M,x,E,N,I,L=!1)=>{const C=f&&f.children,U=f?f.shapeFlag:0,$=h.children,{patchFlag:k,shapeFlag:q}=h;if(k>0){if(k&128){re(C,$,v,M,x,E,N,I,L);return}else if(k&256){_e(C,$,v,M,x,E,N,I,L);return}}q&8?(U&16&&Ut(C,x,E),$!==C&&a(v,$)):U&16?q&16?re(C,$,v,M,x,E,N,I,L):Ut(C,x,E,!0):(U&8&&a(v,""),q&16&&j($,v,M,x,E,N,I,L))},_e=(f,h,v,M,x,E,N,I,L)=>{f=f||Ft,h=h||Ft;const C=f.length,U=h.length,$=Math.min(C,U);let k;for(k=0;k<$;k++){const q=h[k]=L?nt(h[k]):De(h[k]);y(f[k],q,v,null,x,E,N,I,L)}C>U?Ut(f,x,E,!0,!1,$):j(h,v,M,x,E,N,I,L,$)},re=(f,h,v,M,x,E,N,I,L)=>{let C=0;const U=h.length;let $=f.length-1,k=U-1;for(;C<=$&&C<=k;){const q=f[C],J=h[C]=L?nt(h[C]):De(h[C]);if(bt(q,J))y(q,J,v,null,x,E,N,I,L);else break;C++}for(;C<=$&&C<=k;){const q=f[$],J=h[k]=L?nt(h[k]):De(h[k]);if(bt(q,J))y(q,J,v,null,x,E,N,I,L);else break;$--,k--}if(C>$){if(C<=k){const q=k+1,J=q<U?h[q].el:M;for(;C<=k;)y(null,h[C]=L?nt(h[C]):De(h[C]),v,J,x,E,N,I,L),C++}}else if(C>k)for(;C<=$;)Be(f[C],x,E,!0),C++;else{const q=C,J=C,ne=new Map;for(C=J;C<=k;C++){const Me=h[C]=L?nt(h[C]):De(h[C]);Me.key!=null&&ne.set(Me.key,C)}let ee,fe=0;const he=k-J+1;let je=!1,Re=0;const Bt=new Array(he);for(C=0;C<he;C++)Bt[C]=0;for(C=q;C<=$;C++){const Me=f[C];if(fe>=he){Be(Me,x,E,!0);continue}let Ke;if(Me.key!=null)Ke=ne.get(Me.key);else for(ee=J;ee<=k;ee++)if(Bt[ee-J]===0&&bt(Me,h[ee])){Ke=ee;break}Ke===void 0?Be(Me,x,E,!0):(Bt[Ke-J]=C+1,Ke>=Re?Re=Ke:je=!0,y(Me,h[Ke],v,null,x,E,N,I,L),fe++)}const _r=je?ea(Bt):Ft;for(ee=_r.length-1,C=he-1;C>=0;C--){const Me=J+C,Ke=h[Me],br=h[Me+1],wr=Me+1<U?br.el||Ro(br):M;Bt[C]===0?y(null,Ke,v,wr,x,E,N,I,L):je&&(ee<0||C!==_r[ee]?oe(Ke,v,wr,2):ee--)}}},oe=(f,h,v,M,x=null)=>{const{el:E,type:N,transition:I,children:L,shapeFlag:C}=f;if(C&6){oe(f.component.subTree,h,v,M);return}if(C&128){f.suspense.move(h,v,M);return}if(C&64){N.move(f,h,v,Mt);return}if(N===xe){s(E,h,v);for(let $=0;$<L.length;$++)oe(L[$],h,v,M);s(f.anchor,h,v);return}if(N===en){p(f,h,v);return}if(M!==2&&C&1&&I)if(M===0)I.persisted&&!E[Fe]?s(E,h,v):(I.beforeEnter(E),s(E,h,v),Te(()=>I.enter(E),x));else{const{leave:$,delayLeave:k,afterLeave:q}=I,J=()=>{f.ctx.isUnmounted?r(E):s(E,h,v)},ne=()=>{const ee=E._isLeaving||!!E[Fe];E._isLeaving&&E[Fe](!0),I.persisted&&!ee?J():$(E,()=>{J(),q&&q()})};k?k(E,J,ne):ne()}else s(E,h,v)},Be=(f,h,v,M=!1,x=!1)=>{const{type:E,props:N,ref:I,children:L,dynamicChildren:C,shapeFlag:U,patchFlag:$,dirs:k,cacheIndex:q,memo:J}=f;if($===-2&&(x=!1),I!=null&&(ze(),$t(I,null,v,f,!0),Qe()),q!=null&&(h.renderCache[q]=void 0),U&256){h.ctx.deactivate(f);return}const ne=U&1&&k,ee=!Et(f);let fe;if(ee&&(fe=N&&N.onVnodeBeforeUnmount)&&Ne(fe,h,f),U&6)ol(f.component,v,M);else{if(U&128){f.suspense.unmount(v,M);return}ne&&Ge(f,null,h,"beforeUnmount"),U&64?f.type.remove(f,h,v,Mt,M):C&&!C.hasOnce&&(E!==xe||$>0&&$&64)?Ut(C,h,v,!1,!0):(E===xe&&$&384||!x&&U&16)&&Ut(L,h,v),M&&yr(f)}const he=J!=null&&q==null;(ee&&(fe=N&&N.onVnodeUnmounted)||ne||he)&&Te(()=>{fe&&Ne(fe,h,f),ne&&Ge(f,null,h,"unmounted"),he&&(f.el=null)},v)},yr=f=>{const{type:h,el:v,anchor:M,transition:x}=f;if(h===xe){il(v,M);return}if(h===en){g(f);return}const E=()=>{r(v),x&&!x.persisted&&x.afterLeave&&x.afterLeave()};if(f.shapeFlag&1&&x&&!x.persisted){const{leave:N,delayLeave:I}=x,L=()=>N(v,E);I?I(f.el,E,L):L()}else E()},il=(f,h)=>{let v;for(;f!==h;)v=m(f),r(f),f=v;r(h)},ol=(f,h,v)=>{const{bum:M,scope:x,job:E,subTree:N,um:I,m:L,a:C}=f;Vr(L),Vr(C),M&&Pn(M),x.stop(),E&&(E.flags|=8,Be(N,f,h,v)),I&&Te(I,h),Te(()=>{f.isUnmounted=!0},h)},Ut=(f,h,v,M=!1,x=!1,E=0)=>{for(let N=E;N<f.length;N++)Be(f[N],h,v,M,x)},_n=f=>{if(f.shapeFlag&6)return _n(f.component.subTree);if(f.shapeFlag&128)return f.suspense.next();const h=m(f.anchor||f.el),v=h&&h[zi];return v?m(v):h};let cs=!1;const vr=(f,h,v)=>{let M;f==null?h._vnode&&(Be(h._vnode,null,null,!0),M=h._vnode.component):y(h._vnode||null,f,h,null,null,null,v),h._vnode=f,cs||(cs=!0,Cr(M),jn(),cs=!1)},Mt={p:y,um:Be,m:oe,r:yr,mt:G,mc:j,pc:X,pbc:H,n:_n,o:e};let as,us;return t&&([as,us]=t(Mt)),{render:vr,hydrate:as,createApp:jc(vr,as)}}function vs({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function gt({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function Co(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function dr(e,t,n=!1){const s=e.children,r=t.children;if(B(s)&&B(r))for(let i=0;i<s.length;i++){const o=s[i];let l=r[i];l.shapeFlag&1&&!l.dynamicChildren&&((l.patchFlag<=0||l.patchFlag===32)&&(l=r[i]=nt(r[i]),l.el=o.el),!n&&l.patchFlag!==-2&&dr(o,l)),l.type===Ct&&(l.patchFlag===-1&&(l=r[i]=nt(l)),l.el=o.el),l.type===me&&!l.el&&(l.el=o.el)}}function ea(e){const t=e.slice(),n=[0];let s,r,i,o,l;const c=e.length;for(s=0;s<c;s++){const u=e[s];if(u!==0){if(r=n[n.length-1],e[r]<u){t[s]=r,n.push(s);continue}for(i=0,o=n.length-1;i<o;)l=i+o>>1,e[n[l]]<u?i=l+1:o=l;u<e[n[i]]&&(i>0&&(t[s]=n[i-1]),n[i]=s)}}for(i=n.length,o=n[i-1];i-- >0;)n[i]=o,o=t[o];return n}function Ao(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Ao(t)}function Vr(e){if(e)for(let t=0;t<e.length;t++)e[t].flags|=8}function Ro(e){if(e.placeholder)return e.placeholder;const t=e.component;return t?Ro(t.subTree):null}const Mo=e=>e.__isSuspense;function Oo(e,t){t&&t.pendingBranch?B(e)?t.effects.push(...e):t.effects.push(e):tc(e)}const xe=Symbol.for("v-fgt"),Ct=Symbol.for("v-txt"),me=Symbol.for("v-cmt"),en=Symbol.for("v-stc"),tn=[];let Oe=null;function Us(e=!1){tn.push(Oe=e?null:[])}function ta(){tn.pop(),Oe=tn[tn.length-1]||null}let an=1;function Bn(e,t=!1){an+=e,e<0&&Oe&&t&&(Oe.hasOnce=!0)}function Po(e){return e.dynamicChildren=an>0?Oe||Ft:null,ta(),an>0&&Oe&&Oe.push(e),e}function of(e,t,n,s,r,i){return Po(Io(e,t,n,s,r,i,!0))}function Bs(e,t,n,s,r){return Po(de(e,t,n,s,r,!0))}function un(e){return e?e.__v_isVNode===!0:!1}function bt(e,t){return e.type===t.type&&e.key===t.key}const Lo=({key:e})=>e??null,Nn=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?ce(e)||ue(e)||K(e)?{i:ve,r:e,k:t,f:!!n}:e:null);function Io(e,t=null,n=null,s=0,r=null,i=e===xe?0:1,o=!1,l=!1){const c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Lo(t),ref:t&&Nn(t),scopeId:Xi,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:i,patchFlag:s,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:ve};return l?(Kn(c,n),i&128&&e.normalize(c)):n&&(c.shapeFlag|=ce(n)?8:16),an>0&&!o&&Oe&&(c.patchFlag>0||i&6)&&c.patchFlag!==32&&Oe.push(c),c}const de=na;function na(e,t=null,n=null,s=0,r=null,i=!1){if((!e||e===lo)&&(e=me),un(e)){const l=dt(e,t,!0);return n&&Kn(l,n),an>0&&!i&&Oe&&(l.shapeFlag&6?Oe[Oe.indexOf(e)]=l:Oe.push(l)),l.patchFlag=-2,l}if(ha(e)&&(e=e.__vccOpts),t){t=sa(t);let{class:l,style:c}=t;l&&!ce(l)&&(t.class=Qs(l)),Q(c)&&(es(c)&&!B(c)&&(c=ge({},c)),t.style=zs(c))}const o=ce(e)?1:Mo(e)?128:Qi(e)?64:Q(e)?4:K(e)?2:0;return Io(e,t,n,s,r,o,i,!0)}function sa(e){return e?es(e)||_o(e)?ge({},e):e:null}function dt(e,t,n=!1,s=!1){const{props:r,ref:i,patchFlag:o,children:l,transition:c}=e,u=t?ia(r||{},t):r,a={__v_isVNode:!0,__v_skip:!0,type:e.type,props:u,key:u&&Lo(u),ref:t&&t.ref?n&&i?B(i)?i.concat(Nn(t)):[i,Nn(t)]:Nn(t):i,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:l,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==xe?o===-1?16:o|16:o,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:c,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&dt(e.ssContent),ssFallback:e.ssFallback&&dt(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return c&&s&&cn(a,c.clone(a)),a}function No(e=" ",t=0){return de(Ct,null,e,t)}function lf(e,t){const n=de(en,null,e);return n.staticCount=t,n}function ra(e="",t=!1){return t?(Us(),Bs(me,null,e)):de(me,null,e)}function De(e){return e==null||typeof e=="boolean"?de(me):B(e)?de(xe,null,e.slice()):un(e)?nt(e):de(Ct,null,String(e))}function nt(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:dt(e)}function Kn(e,t){let n=0;const{shapeFlag:s}=e;if(t==null)t=null;else if(B(t))n=16;else if(typeof t=="object")if(s&65){const r=t.default;r&&(r._c&&(r._d=!1),Kn(e,r()),r._c&&(r._d=!0));return}else{n=32;const r=t._;!r&&!_o(t)?t._ctx=ve:r===3&&ve&&(ve.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else if(K(t)){if(s&65){Kn(e,{default:t});return}t={default:t,_ctx:ve},n=32}else t=String(t),s&64?(n=16,t=[No(t)]):n=8;e.children=t,e.shapeFlag|=n}function ia(...e){const t={};for(let n=0;n<e.length;n++){const s=e[n];for(const r in s)if(r==="class")t.class!==s.class&&(t.class=Qs([t.class,s.class]));else if(r==="style")t.style=zs([t.style,s.style]);else if(dn(r)){const i=t[r],o=s[r];o&&i!==o&&!(B(i)&&i.includes(o))?t[r]=i?[].concat(i,o):o:o==null&&i==null&&!Gn(r)&&(t[r]=o)}else r!==""&&(t[r]=s[r])}return t}function Ne(e,t,n,s=null){$e(e,t,7,[n,s])}const oa=ho();let la=0;function ca(e,t,n){const s=e.type,r=(t?t.appContext:e.appContext)||oa,i={uid:la++,vnode:e,type:s,parent:t,appContext:r,root:null,next:null,subTree:null,effect:null,update:null,job:null,scope:new bl(!0),render:null,proxy:null,exposed:null,exposeProxy:null,withProxy:null,provides:t?t.provides:Object.create(r.provides),ids:t?t.ids:["",0,0],accessCache:null,renderCache:[],components:null,directives:null,propsOptions:wo(s,r),emitsOptions:po(s,r),emit:null,emitted:null,propsDefaults:se,inheritAttrs:s.inheritAttrs,ctx:se,data:se,props:se,attrs:se,slots:se,refs:se,setupState:se,setupContext:null,suspense:n,suspenseId:n?n.pendingId:0,asyncDep:null,asyncResolved:!1,isMounted:!1,isUnmounted:!1,isDeactivated:!1,bc:null,c:null,bm:null,m:null,bu:null,u:null,um:null,bum:null,da:null,a:null,rtg:null,rtc:null,ec:null,sp:null};return i.ctx={_:i},i.root=t?t.root:i,i.emit=kc.bind(null,i),e.ce&&e.ce(i),i}let ye=null;const Rt=()=>ye||ve;let qn,Ks;{const e=zn(),t=(n,s)=>{let r;return(r=e[n])||(r=e[n]=[]),r.push(s),i=>{r.length>1?r.forEach(o=>o(i)):r[0](i)}};qn=t("__VUE_INSTANCE_SETTERS__",n=>ye=n),Ks=t("__VUE_SSR_SETTERS__",n=>kt=n)}const vn=e=>{const t=ye;return qn(e),e.scope.on(),()=>{e.scope.off(),qn(t)}},kr=()=>{ye&&ye.scope.off(),qn(null)};function Fo(e){return e.vnode.shapeFlag&4}let kt=!1;function aa(e,t=!1,n=!1){t&&Ks(t);const{props:s,children:r}=e.vnode,i=Fo(e);qc(e,s,i,t),Jc(e,r,n||t);const o=i?ua(e,t):void 0;return t&&Ks(!1),o}function ua(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Pc);const{setup:s}=n;if(s){ze();const r=e.setupContext=s.length>1?Ho(e):null,i=vn(e),o=pn(s,e,0,[e.props,r]),l=wi(o);if(Qe(),i(),(l||e.sp)&&!Et(e)&&cr(e),l){if(o.then(kr,kr),t)return o.then(c=>{Wr(e,c)}).catch(c=>{gn(c,e,0)});e.asyncDep=o}else Wr(e,o)}else Do(e)}function Wr(e,t,n){K(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:Q(t)&&(e.setupState=Bi(t)),Do(e)}function Do(e,t,n){const s=e.type;e.render||(e.render=s.render||Je);{const r=vn(e);ze();try{Ic(e)}finally{Qe(),r()}}}const fa={get(e,t){return we(e,"get",""),e[t]}};function Ho(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,fa),slots:e.slots,emit:e.emit,expose:t}}function os(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(Bi(Ln(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in Zt)return Zt[n](e)},has(t,n){return n in t||n in Zt}})):e.proxy}function da(e,t=!0){return K(e)?e.displayName||e.name:e.name||t&&e.__name}function ha(e){return K(e)&&"__vccOpts"in e}const le=(e,t)=>Jl(e,t,kt);function qs(e,t,n){try{Bn(-1);const s=arguments.length;return s===2?Q(t)&&!B(t)?un(t)?de(e,null,[t]):de(e,t):de(e,null,t):(s>3?n=Array.prototype.slice.call(arguments,2):s===3&&un(n)&&(n=[n]),de(e,t,n))}finally{Bn(1)}}const pa="3.5.39";/**
|
|
16
|
-
* @vue/runtime-dom v3.5.39
|
|
17
|
-
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
|
18
|
-
* @license MIT
|
|
19
|
-
**/let Gs;const Ur=typeof window<"u"&&window.trustedTypes;if(Ur)try{Gs=Ur.createPolicy("vue",{createHTML:e=>e})}catch{}const $o=Gs?e=>Gs.createHTML(e):e=>e,ga="http://www.w3.org/2000/svg",ma="http://www.w3.org/1998/Math/MathML",tt=typeof document<"u"?document:null,Br=tt&&tt.createElement("template"),ya={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,s)=>{const r=t==="svg"?tt.createElementNS(ga,e):t==="mathml"?tt.createElementNS(ma,e):n?tt.createElement(e,{is:n}):tt.createElement(e);return e==="select"&&s&&s.multiple!=null&&r.setAttribute("multiple",s.multiple),r},createText:e=>tt.createTextNode(e),createComment:e=>tt.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>tt.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,s,r,i){const o=n?n.previousSibling:t.lastChild;if(r&&(r===i||r.nextSibling))for(;t.insertBefore(r.cloneNode(!0),n),!(r===i||!(r=r.nextSibling)););else{Br.innerHTML=$o(s==="svg"?`<svg>${e}</svg>`:s==="mathml"?`<math>${e}</math>`:e);const l=Br.content;if(s==="svg"||s==="mathml"){const c=l.firstChild;for(;c.firstChild;)l.appendChild(c.firstChild);l.removeChild(c)}t.insertBefore(l,n)}return[o?o.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},ct="transition",Gt="animation",fn=Symbol("_vtc"),jo={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},va=ge({},Zi,jo),_a=e=>(e.displayName="Transition",e.props=va,e),cf=_a((e,{slots:t})=>qs(dc,ba(e),t)),mt=(e,t=[])=>{B(e)?e.forEach(n=>n(...t)):e&&e(...t)},Kr=e=>e?B(e)?e.some(t=>t.length>1):e.length>1:!1;function ba(e){const t={};for(const w in e)w in jo||(t[w]=e[w]);if(e.css===!1)return t;const{name:n="v",type:s,duration:r,enterFromClass:i=`${n}-enter-from`,enterActiveClass:o=`${n}-enter-active`,enterToClass:l=`${n}-enter-to`,appearFromClass:c=i,appearActiveClass:u=o,appearToClass:a=l,leaveFromClass:d=`${n}-leave-from`,leaveActiveClass:m=`${n}-leave-active`,leaveToClass:_=`${n}-leave-to`}=e,b=wa(r),y=b&&b[0],F=b&&b[1],{onBeforeEnter:O,onEnter:P,onEnterCancelled:p,onLeave:g,onLeaveCancelled:R,onBeforeAppear:V=O,onAppear:S=P,onAppearCancelled:j=p}=t,T=(w,D,G,te)=>{w._enterCancelled=te,yt(w,D?a:l),yt(w,D?u:o),G&&G()},H=(w,D)=>{w._isLeaving=!1,yt(w,d),yt(w,_),yt(w,m),D&&D()},A=w=>(D,G)=>{const te=w?S:P,W=()=>T(D,w,G);mt(te,[D,W]),qr(()=>{yt(D,w?c:i),et(D,w?a:l),Kr(te)||Gr(D,s,y,W)})};return ge(t,{onBeforeEnter(w){mt(O,[w]),et(w,i),et(w,o)},onBeforeAppear(w){mt(V,[w]),et(w,c),et(w,u)},onEnter:A(!1),onAppear:A(!0),onLeave(w,D){w._isLeaving=!0;const G=()=>H(w,D);et(w,d),w._enterCancelled?(et(w,m),Jr(w)):(Jr(w),et(w,m)),qr(()=>{w._isLeaving&&(yt(w,d),et(w,_),Kr(g)||Gr(w,s,F,G))}),mt(g,[w,G])},onEnterCancelled(w){T(w,!1,void 0,!0),mt(p,[w])},onAppearCancelled(w){T(w,!0,void 0,!0),mt(j,[w])},onLeaveCancelled(w){H(w),mt(R,[w])}})}function wa(e){if(e==null)return null;if(Q(e))return[_s(e.enter),_s(e.leave)];{const t=_s(e);return[t,t]}}function _s(e){return fl(e)}function et(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[fn]||(e[fn]=new Set)).add(t)}function yt(e,t){t.split(/\s+/).forEach(s=>s&&e.classList.remove(s));const n=e[fn];n&&(n.delete(t),n.size||(e[fn]=void 0))}function qr(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let Sa=0;function Gr(e,t,n,s){const r=e._endId=++Sa,i=()=>{r===e._endId&&s()};if(n!=null)return setTimeout(i,n);const{type:o,timeout:l,propCount:c}=Ta(e,t);if(!o)return s();const u=o+"end";let a=0;const d=()=>{e.removeEventListener(u,m),i()},m=_=>{_.target===e&&++a>=c&&d()};setTimeout(()=>{a<c&&d()},l+1),e.addEventListener(u,m)}function Ta(e,t){const n=window.getComputedStyle(e),s=b=>(n[b]||"").split(", "),r=s(`${ct}Delay`),i=s(`${ct}Duration`),o=Xr(r,i),l=s(`${Gt}Delay`),c=s(`${Gt}Duration`),u=Xr(l,c);let a=null,d=0,m=0;t===ct?o>0&&(a=ct,d=o,m=i.length):t===Gt?u>0&&(a=Gt,d=u,m=c.length):(d=Math.max(o,u),a=d>0?o>u?ct:Gt:null,m=a?a===ct?i.length:c.length:0);const _=a===ct&&/\b(?:transform|all)(?:,|$)/.test(s(`${ct}Property`).toString());return{type:a,timeout:d,propCount:m,hasTransform:_}}function Xr(e,t){for(;e.length<t.length;)e=e.concat(e);return Math.max(...t.map((n,s)=>Yr(n)+Yr(e[s])))}function Yr(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function Jr(e){return(e?e.ownerDocument:document).body.offsetHeight}function Ea(e,t,n){const s=e[fn];s&&(t=(t?[t,...s]:[...s]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const zr=Symbol("_vod"),xa=Symbol("_vsh"),Ca=Symbol(""),Aa=/(?:^|;)\s*display\s*:/;function Ra(e,t,n){const s=e.style,r=ce(n);let i=!1;if(n&&!r){if(t)if(ce(t))for(const o of t.split(";")){const l=o.slice(0,o.indexOf(":")).trim();n[l]==null&&Jt(s,l,"")}else for(const o in t)n[o]==null&&Jt(s,o,"");for(const o in n){o==="display"&&(i=!0);const l=n[o];l!=null?Oa(e,o,!ce(t)&&t?t[o]:void 0,l)||Jt(s,o,l):Jt(s,o,"")}}else if(r){if(t!==n){const o=s[Ca];o&&(n+=";"+o),s.cssText=n,i=Aa.test(n)}}else t&&e.removeAttribute("style");zr in e&&(e[zr]=i?s.display:"",e[xa]&&(s.display="none"))}const Qr=/\s*!important$/;function Jt(e,t,n){if(B(n))n.forEach(s=>Jt(e,t,s));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const s=Ma(e,t);Qr.test(n)?e.setProperty(pt(s),n.replace(Qr,""),"important"):e[s]=n}}const Zr=["Webkit","Moz","ms"],bs={};function Ma(e,t){const n=bs[t];if(n)return n;let s=Ce(t);if(s!=="filter"&&s in e)return bs[t]=s;s=Jn(s);for(let r=0;r<Zr.length;r++){const i=Zr[r]+s;if(i in e)return bs[t]=i}return t}function Oa(e,t,n,s){return e.tagName==="TEXTAREA"&&(t==="width"||t==="height")&&ce(s)&&n===s}const ei="http://www.w3.org/1999/xlink";function ti(e,t,n,s,r,i=yl(t)){s&&t.startsWith("xlink:")?n==null?e.removeAttributeNS(ei,t.slice(6,t.length)):e.setAttributeNS(ei,t,n):n==null||i&&!xi(n)?e.removeAttribute(t):e.setAttribute(t,i?"":Le(n)?String(n):n)}function ni(e,t,n,s,r){if(t==="innerHTML"||t==="textContent"){n!=null&&(e[t]=t==="innerHTML"?$o(n):n);return}const i=e.tagName;if(t==="value"&&i!=="PROGRESS"&&!i.includes("-")){const l=i==="OPTION"?e.getAttribute("value")||"":e.value,c=n==null?e.type==="checkbox"?"on":"":String(n);(l!==c||!("_value"in e))&&(e.value=c),n==null&&e.removeAttribute(t),e._value=n;return}let o=!1;if(n===""||n==null){const l=typeof e[t];l==="boolean"?n=xi(n):n==null&&l==="string"?(n="",o=!0):l==="number"&&(n=0,o=!0)}try{e[t]=n}catch{}o&&e.removeAttribute(r||t)}function It(e,t,n,s){e.addEventListener(t,n,s)}function Pa(e,t,n,s){e.removeEventListener(t,n,s)}const si=Symbol("_vei");function La(e,t,n,s,r=null){const i=e[si]||(e[si]={}),o=i[t];if(s&&o)o.value=s;else{const[l,c]=Fa(t);if(s){const u=i[t]=$a(s,r);It(e,l,u,c)}else o&&(Pa(e,l,o,c),i[t]=void 0)}}const Ia=/(Once|Passive|Capture)$/,Na=/^on:?(?:Once|Passive|Capture)$/;function Fa(e){let t,n;for(;(n=e.match(Ia))&&!Na.test(e);)t||(t={}),e=e.slice(0,e.length-n[1].length),t[n[1].toLowerCase()]=!0;return[e[2]===":"?e.slice(3):pt(e.slice(2)),t]}let ws=0;const Da=Promise.resolve(),Ha=()=>ws||(Da.then(()=>ws=0),ws=Date.now());function $a(e,t){const n=s=>{if(!s._vts)s._vts=Date.now();else if(s._vts<=n.attached)return;const r=n.value;if(B(r)){const i=s.stopImmediatePropagation;s.stopImmediatePropagation=()=>{i.call(s),s._stopped=!0};const o=r.slice(),l=[s];for(let c=0;c<o.length&&!s._stopped;c++){const u=o[c];u&&$e(u,t,5,l)}}else $e(r,t,5,[s])};return n.value=e,n.attached=Ha(),n}const ri=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,ja=(e,t,n,s,r,i)=>{const o=r==="svg";t==="class"?Ea(e,s,o):t==="style"?Ra(e,n,s):dn(t)?Gn(t)||La(e,t,n,s,i):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Va(e,t,s,o))?(ni(e,t,s),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&ti(e,t,s,o,i,t!=="value")):e._isVueCE&&(ka(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!ce(s)))?ni(e,Ce(t),s,i,t):(t==="true-value"?e._trueValue=s:t==="false-value"&&(e._falseValue=s),ti(e,t,s,o))};function Va(e,t,n,s){if(s)return!!(t==="innerHTML"||t==="textContent"||t in e&&ri(t)&&K(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="sandbox"&&e.tagName==="IFRAME"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const r=e.tagName;if(r==="IMG"||r==="VIDEO"||r==="CANVAS"||r==="SOURCE")return!1}return ri(t)&&ce(n)?!1:t in e}function ka(e,t){const n=e._def.props;if(!n)return!1;const s=Ce(t);return Array.isArray(n)?n.some(r=>Ce(r)===s):Object.keys(n).some(r=>Ce(r)===s)}const ii=e=>{const t=e.props["onUpdate:modelValue"]||!1;return B(t)?n=>Pn(t,n):t};function Wa(e){e.target.composing=!0}function oi(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const Ss=Symbol("_assign");function li(e,t,n){return t&&(e=e.trim()),n&&(e=Js(e)),e}const af={created(e,{modifiers:{lazy:t,trim:n,number:s}},r){e[Ss]=ii(r);const i=s||r.props&&r.props.type==="number";It(e,t?"change":"input",o=>{o.target.composing||e[Ss](li(e.value,n,i))}),(n||i)&&It(e,"change",()=>{e.value=li(e.value,n,i)}),t||(It(e,"compositionstart",Wa),It(e,"compositionend",oi),It(e,"change",oi))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:s,trim:r,number:i}},o){if(e[Ss]=ii(o),e.composing)return;const l=(i||e.type==="number")&&!/^0\d/.test(e.value)?Js(e.value):e.value,c=t??"";if(l===c)return;const u=e.getRootNode();(u instanceof Document||u instanceof ShadowRoot)&&u.activeElement===e&&e.type!=="range"&&(s&&t===n||r&&e.value.trim()===c)||(e.value=c)}},Ua=["ctrl","shift","alt","meta"],Ba={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>Ua.some(n=>e[`${n}Key`]&&!t.includes(n))},uf=(e,t)=>{if(!e)return e;const n=e._withMods||(e._withMods={}),s=t.join(".");return n[s]||(n[s]=(r,...i)=>{for(let o=0;o<t.length;o++){const l=Ba[t[o]];if(l&&l(r,t))return}return e(r,...i)})},Ka={esc:"escape",space:" ",up:"arrow-up",left:"arrow-left",right:"arrow-right",down:"arrow-down",delete:"backspace"},ff=(e,t)=>{const n=e._withKeys||(e._withKeys={}),s=t.join(".");return n[s]||(n[s]=r=>{if(!("key"in r))return;const i=pt(r.key);if(t.some(o=>o===i||Ka[o]===i))return e(r)})},Vo=ge({patchProp:ja},ya);let nn,ci=!1;function qa(){return nn||(nn=Qc(Vo))}function Ga(){return nn=ci?nn:Zc(Vo),ci=!0,nn}const df=(...e)=>{const t=qa().createApp(...e),{mount:n}=t;return t.mount=s=>{const r=Wo(s);if(!r)return;const i=t._component;!K(i)&&!i.render&&!i.template&&(i.template=r.innerHTML),r.nodeType===1&&(r.textContent="");const o=n(r,!1,ko(r));return r instanceof Element&&(r.removeAttribute("v-cloak"),r.setAttribute("data-v-app","")),o},t},hf=(...e)=>{const t=Ga().createApp(...e),{mount:n}=t;return t.mount=s=>{const r=Wo(s);if(r)return n(r,!0,ko(r))},t};function ko(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function Wo(e){return ce(e)?document.querySelector(e):e}const Xa=window.__VP_SITE_DATA__;function Uo(e){return Ri()?(wl(e),!0):!1}const Ts=new WeakMap,Ya=(...e)=>{var t;const n=e[0],s=(t=Rt())==null?void 0:t.proxy;if(s==null&&!Yi())throw new Error("injectLocal must be called in setup");return s&&Ts.has(s)&&n in Ts.get(s)?Ts.get(s)[n]:Tt(...e)},Bo=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const pf=e=>e!=null,Ja=Object.prototype.toString,za=e=>Ja.call(e)==="[object Object]",ht=()=>{},ai=Qa();function Qa(){var e,t;return Bo&&((e=window==null?void 0:window.navigator)==null?void 0:e.userAgent)&&(/iP(?:ad|hone|od)/.test(window.navigator.userAgent)||((t=window==null?void 0:window.navigator)==null?void 0:t.maxTouchPoints)>2&&/iPad|Macintosh/.test(window==null?void 0:window.navigator.userAgent))}function hr(e,t){function n(...s){return new Promise((r,i)=>{Promise.resolve(e(()=>t.apply(this,s),{fn:t,thisArg:this,args:s})).then(r).catch(i)})}return n}const Ko=e=>e();function qo(e,t={}){let n,s,r=ht;const i=c=>{clearTimeout(c),r(),r=ht};let o;return c=>{const u=ae(e),a=ae(t.maxWait);return n&&i(n),u<=0||a!==void 0&&a<=0?(s&&(i(s),s=null),Promise.resolve(c())):new Promise((d,m)=>{r=t.rejectOnCancel?m:d,o=c,a&&!s&&(s=setTimeout(()=>{n&&i(n),s=null,d(o())},a)),n=setTimeout(()=>{s&&i(s),s=null,d(c())},u)})}}function Za(...e){let t=0,n,s=!0,r=ht,i,o,l,c,u;!ue(e[0])&&typeof e[0]=="object"?{delay:o,trailing:l=!0,leading:c=!0,rejectOnCancel:u=!1}=e[0]:[o,l=!0,c=!0,u=!1]=e;const a=()=>{n&&(clearTimeout(n),n=void 0,r(),r=ht)};return m=>{const _=ae(o),b=Date.now()-t,y=()=>i=m();return a(),_<=0?(t=Date.now(),y()):(b>_&&(c||!s)?(t=Date.now(),y()):l&&(i=new Promise((F,O)=>{r=u?O:F,n=setTimeout(()=>{t=Date.now(),s=!0,F(y()),a()},Math.max(0,_-b))})),!c&&!n&&(n=setTimeout(()=>s=!0,_)),s=!1,i)}}function eu(e=Ko,t={}){const{initialState:n="active"}=t,s=pr(n==="active");function r(){s.value=!1}function i(){s.value=!0}return{isActive:on(s),pause:r,resume:i,eventFilter:(...l)=>{s.value&&e(...l)}}}function ui(e){return e.endsWith("rem")?Number.parseFloat(e)*16:Number.parseFloat(e)}function tu(e){return Rt()}function Es(e){return Array.isArray(e)?e:[e]}function pr(...e){if(e.length!==1)return Gl(...e);const t=e[0];return typeof t=="function"?on(Bl(()=>({get:t,set:ht}))):ke(t)}function nu(e,t=200,n={}){return hr(qo(t,n),e)}function su(e,t=200,n=!1,s=!0,r=!1){return hr(Za(t,n,s,r),e)}function Go(e,t,n={}){const{eventFilter:s=Ko,...r}=n;return He(e,hr(s,t),r)}function ru(e,t,n={}){const{eventFilter:s,initialState:r="active",...i}=n,{eventFilter:o,pause:l,resume:c,isActive:u}=eu(s,{initialState:r});return{stop:Go(e,t,{...i,eventFilter:o}),pause:l,resume:c,isActive:u}}function ls(e,t=!0,n){tu()?Wt(e,n):t?e():ns(e)}function gf(e,t,n={}){const{debounce:s=0,maxWait:r=void 0,...i}=n;return Go(e,t,{...i,eventFilter:qo(s,{maxWait:r})})}function iu(e,t,n){return He(e,t,{...n,immediate:!0})}function mf(e,t,n){let s;ue(n)?s={evaluating:n}:s={};const{lazy:r=!1,evaluating:i=void 0,shallow:o=!0,onError:l=ht}=s,c=Ae(!r),u=o?Ae(t):ke(t);let a=0;return or(async d=>{if(!c.value)return;a++;const m=a;let _=!1;i&&Promise.resolve().then(()=>{i.value=!0});try{const b=await e(y=>{d(()=>{i&&(i.value=!1),_||y()})});m===a&&(u.value=b)}catch(b){l(b)}finally{i&&m===a&&(i.value=!1),_=!0}}),r?le(()=>(c.value=!0,u.value)):u}const Ue=Bo?window:void 0;function gr(e){var t;const n=ae(e);return(t=n==null?void 0:n.$el)!=null?t:n}function ot(...e){const t=[],n=()=>{t.forEach(l=>l()),t.length=0},s=(l,c,u,a)=>(l.addEventListener(c,u,a),()=>l.removeEventListener(c,u,a)),r=le(()=>{const l=Es(ae(e[0])).filter(c=>c!=null);return l.every(c=>typeof c!="string")?l:void 0}),i=iu(()=>{var l,c;return[(c=(l=r.value)==null?void 0:l.map(u=>gr(u)))!=null?c:[Ue].filter(u=>u!=null),Es(ae(r.value?e[1]:e[0])),Es(ts(r.value?e[2]:e[1])),ae(r.value?e[3]:e[2])]},([l,c,u,a])=>{if(n(),!(l!=null&&l.length)||!(c!=null&&c.length)||!(u!=null&&u.length))return;const d=za(a)?{...a}:a;t.push(...l.flatMap(m=>c.flatMap(_=>u.map(b=>s(m,_,b,d)))))},{flush:"post"}),o=()=>{i(),n()};return Uo(n),o}function ou(){const e=Ae(!1),t=Rt();return t&&Wt(()=>{e.value=!0},t),e}function lu(e){const t=ou();return le(()=>(t.value,!!e()))}function cu(e){return typeof e=="function"?e:typeof e=="string"?t=>t.key===e:Array.isArray(e)?t=>e.includes(t.key):()=>!0}function yf(...e){let t,n,s={};e.length===3?(t=e[0],n=e[1],s=e[2]):e.length===2?typeof e[1]=="object"?(t=!0,n=e[0],s=e[1]):(t=e[0],n=e[1]):(t=!0,n=e[0]);const{target:r=Ue,eventName:i="keydown",passive:o=!1,dedupe:l=!1}=s,c=cu(t);return ot(r,i,a=>{a.repeat&&ae(l)||c(a)&&n(a)},o)}const au=Symbol("vueuse-ssr-width");function uu(){const e=Yi()?Ya(au,null):null;return typeof e=="number"?e:void 0}function Xo(e,t={}){const{window:n=Ue,ssrWidth:s=uu()}=t,r=lu(()=>n&&"matchMedia"in n&&typeof n.matchMedia=="function"),i=Ae(typeof s=="number"),o=Ae(),l=Ae(!1),c=u=>{l.value=u.matches};return or(()=>{if(i.value){i.value=!r.value;const u=ae(e).split(",");l.value=u.some(a=>{const d=a.includes("not all"),m=a.match(/\(\s*min-width:\s*(-?\d+(?:\.\d*)?[a-z]+\s*)\)/),_=a.match(/\(\s*max-width:\s*(-?\d+(?:\.\d*)?[a-z]+\s*)\)/);let b=!!(m||_);return m&&b&&(b=s>=ui(m[1])),_&&b&&(b=s<=ui(_[1])),d?!b:b});return}r.value&&(o.value=n.matchMedia(ae(e)),l.value=o.value.matches)}),ot(o,"change",c,{passive:!0}),le(()=>l.value)}const Cn=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},An="__vueuse_ssr_handlers__",fu=du();function du(){return An in Cn||(Cn[An]=Cn[An]||{}),Cn[An]}function Yo(e,t){return fu[e]||t}function Jo(e){return Xo("(prefers-color-scheme: dark)",e)}function hu(e){return e==null?"any":e instanceof Set?"set":e instanceof Map?"map":e instanceof Date?"date":typeof e=="boolean"?"boolean":typeof e=="string"?"string":typeof e=="object"?"object":Number.isNaN(e)?"any":"number"}const pu={boolean:{read:e=>e==="true",write:e=>String(e)},object:{read:e=>JSON.parse(e),write:e=>JSON.stringify(e)},number:{read:e=>Number.parseFloat(e),write:e=>String(e)},any:{read:e=>e,write:e=>String(e)},string:{read:e=>e,write:e=>String(e)},map:{read:e=>new Map(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e.entries()))},set:{read:e=>new Set(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e))},date:{read:e=>new Date(e),write:e=>e.toISOString()}},fi="vueuse-storage";function mr(e,t,n,s={}){var r;const{flush:i="pre",deep:o=!0,listenToStorageChanges:l=!0,writeDefaults:c=!0,mergeDefaults:u=!1,shallow:a,window:d=Ue,eventFilter:m,onError:_=A=>{console.error(A)},initOnMounted:b}=s,y=(a?Ae:ke)(typeof t=="function"?t():t),F=le(()=>ae(e));if(!n)try{n=Yo("getDefaultStorage",()=>{var A;return(A=Ue)==null?void 0:A.localStorage})()}catch(A){_(A)}if(!n)return y;const O=ae(t),P=hu(O),p=(r=s.serializer)!=null?r:pu[P],{pause:g,resume:R}=ru(y,()=>S(y.value),{flush:i,deep:o,eventFilter:m});He(F,()=>T(),{flush:i}),d&&l&&ls(()=>{n instanceof Storage?ot(d,"storage",T,{passive:!0}):ot(d,fi,H),b&&T()}),b||T();function V(A,w){if(d){const D={key:F.value,oldValue:A,newValue:w,storageArea:n};d.dispatchEvent(n instanceof Storage?new StorageEvent("storage",D):new CustomEvent(fi,{detail:D}))}}function S(A){try{const w=n.getItem(F.value);if(A==null)V(w,null),n.removeItem(F.value);else{const D=p.write(A);w!==D&&(n.setItem(F.value,D),V(w,D))}}catch(w){_(w)}}function j(A){const w=A?A.newValue:n.getItem(F.value);if(w==null)return c&&O!=null&&n.setItem(F.value,p.write(O)),O;if(!A&&u){const D=p.read(w);return typeof u=="function"?u(D,O):P==="object"&&!Array.isArray(D)?{...O,...D}:D}else return typeof w!="string"?w:p.read(w)}function T(A){if(!(A&&A.storageArea!==n)){if(A&&A.key==null){y.value=O;return}if(!(A&&A.key!==F.value)){g();try{(A==null?void 0:A.newValue)!==p.write(y.value)&&(y.value=j(A))}catch(w){_(w)}finally{A?ns(R):R()}}}}function H(A){T(A.detail)}return y}const gu="*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}";function mu(e={}){const{selector:t="html",attribute:n="class",initialValue:s="auto",window:r=Ue,storage:i,storageKey:o="vueuse-color-scheme",listenToStorageChanges:l=!0,storageRef:c,emitAuto:u,disableTransition:a=!0}=e,d={auto:"",light:"light",dark:"dark",...e.modes||{}},m=Jo({window:r}),_=le(()=>m.value?"dark":"light"),b=c||(o==null?pr(s):mr(o,s,i,{window:r,listenToStorageChanges:l})),y=le(()=>b.value==="auto"?_.value:b.value),F=Yo("updateHTMLAttrs",(g,R,V)=>{const S=typeof g=="string"?r==null?void 0:r.document.querySelector(g):gr(g);if(!S)return;const j=new Set,T=new Set;let H=null;if(R==="class"){const w=V.split(/\s/g);Object.values(d).flatMap(D=>(D||"").split(/\s/g)).filter(Boolean).forEach(D=>{w.includes(D)?j.add(D):T.add(D)})}else H={key:R,value:V};if(j.size===0&&T.size===0&&H===null)return;let A;a&&(A=r.document.createElement("style"),A.appendChild(document.createTextNode(gu)),r.document.head.appendChild(A));for(const w of j)S.classList.add(w);for(const w of T)S.classList.remove(w);H&&S.setAttribute(H.key,H.value),a&&(r.getComputedStyle(A).opacity,document.head.removeChild(A))});function O(g){var R;F(t,n,(R=d[g])!=null?R:g)}function P(g){e.onChanged?e.onChanged(g,O):O(g)}He(y,P,{flush:"post",immediate:!0}),ls(()=>P(y.value));const p=le({get(){return u?b.value:y.value},set(g){b.value=g}});return Object.assign(p,{store:b,system:_,state:y})}function yu(e={}){const{valueDark:t="dark",valueLight:n=""}=e,s=mu({...e,onChanged:(o,l)=>{var c;e.onChanged?(c=e.onChanged)==null||c.call(e,o==="dark",l,o):l(o)},modes:{dark:t,light:n}}),r=le(()=>s.system.value);return le({get(){return s.value==="dark"},set(o){const l=o?"dark":"light";r.value===l?s.value="auto":s.value=l}})}function xs(e){return typeof Window<"u"&&e instanceof Window?e.document.documentElement:typeof Document<"u"&&e instanceof Document?e.documentElement:e}const di=1;function vu(e,t={}){const{throttle:n=0,idle:s=200,onStop:r=ht,onScroll:i=ht,offset:o={left:0,right:0,top:0,bottom:0},eventListenerOptions:l={capture:!1,passive:!0},behavior:c="auto",window:u=Ue,onError:a=S=>{console.error(S)}}=t,d=Ae(0),m=Ae(0),_=le({get(){return d.value},set(S){y(S,void 0)}}),b=le({get(){return m.value},set(S){y(void 0,S)}});function y(S,j){var T,H,A,w;if(!u)return;const D=ae(e);if(!D)return;(A=D instanceof Document?u.document.body:D)==null||A.scrollTo({top:(T=ae(j))!=null?T:b.value,left:(H=ae(S))!=null?H:_.value,behavior:ae(c)});const G=((w=D==null?void 0:D.document)==null?void 0:w.documentElement)||(D==null?void 0:D.documentElement)||D;_!=null&&(d.value=G.scrollLeft),b!=null&&(m.value=G.scrollTop)}const F=Ae(!1),O=jt({left:!0,right:!1,top:!0,bottom:!1}),P=jt({left:!1,right:!1,top:!1,bottom:!1}),p=S=>{F.value&&(F.value=!1,P.left=!1,P.right=!1,P.top=!1,P.bottom=!1,r(S))},g=nu(p,n+s),R=S=>{var j;if(!u)return;const T=((j=S==null?void 0:S.document)==null?void 0:j.documentElement)||(S==null?void 0:S.documentElement)||gr(S),{display:H,flexDirection:A,direction:w}=getComputedStyle(T),D=w==="rtl"?-1:1,G=T.scrollLeft;P.left=G<d.value,P.right=G>d.value;const te=Math.abs(G*D)<=(o.left||0),W=Math.abs(G*D)+T.clientWidth>=T.scrollWidth-(o.right||0)-di;H==="flex"&&A==="row-reverse"?(O.left=W,O.right=te):(O.left=te,O.right=W),d.value=G;let Y=T.scrollTop;S===u.document&&!Y&&(Y=u.document.body.scrollTop),P.top=Y<m.value,P.bottom=Y>m.value;const X=Math.abs(Y)<=(o.top||0),_e=Math.abs(Y)+T.clientHeight>=T.scrollHeight-(o.bottom||0)-di;H==="flex"&&A==="column-reverse"?(O.top=_e,O.bottom=X):(O.top=X,O.bottom=_e),m.value=Y},V=S=>{var j;if(!u)return;const T=(j=S.target.documentElement)!=null?j:S.target;R(T),F.value=!0,g(S),i(S)};return ot(e,"scroll",n?su(V,n,!0,!1):V,l),ls(()=>{try{const S=ae(e);if(!S)return;R(S)}catch(S){a(S)}}),ot(e,"scrollend",p,l),{x:_,y:b,isScrolling:F,arrivedState:O,directions:P,measure(){const S=ae(e);u&&S&&R(S)}}}function vf(e,t,n={}){const{window:s=Ue}=n;return mr(e,t,s==null?void 0:s.localStorage,n)}function zo(e){const t=window.getComputedStyle(e);if(t.overflowX==="scroll"||t.overflowY==="scroll"||t.overflowX==="auto"&&e.clientWidth<e.scrollWidth||t.overflowY==="auto"&&e.clientHeight<e.scrollHeight)return!0;{const n=e.parentNode;return!n||n.tagName==="BODY"?!1:zo(n)}}function _u(e){const t=e||window.event,n=t.target;return zo(n)?!1:t.touches.length>1?!0:(t.preventDefault&&t.preventDefault(),!1)}const Cs=new WeakMap;function _f(e,t=!1){const n=Ae(t);let s=null,r="";He(pr(e),l=>{const c=xs(ae(l));if(c){const u=c;if(Cs.get(u)||Cs.set(u,u.style.overflow),u.style.overflow!=="hidden"&&(r=u.style.overflow),u.style.overflow==="hidden")return n.value=!0;if(n.value)return u.style.overflow="hidden"}},{immediate:!0});const i=()=>{const l=xs(ae(e));!l||n.value||(ai&&(s=ot(l,"touchmove",c=>{_u(c)},{passive:!1})),l.style.overflow="hidden",n.value=!0)},o=()=>{const l=xs(ae(e));!l||!n.value||(ai&&(s==null||s()),l.style.overflow=r,Cs.delete(l),n.value=!1)};return Uo(o),le({get(){return n.value},set(l){l?i():o()}})}function bf(e,t,n={}){const{window:s=Ue}=n;return mr(e,t,s==null?void 0:s.sessionStorage,n)}function wf(e={}){const{window:t=Ue,...n}=e;return vu(t,n)}function Sf(e={}){const{window:t=Ue,initialWidth:n=Number.POSITIVE_INFINITY,initialHeight:s=Number.POSITIVE_INFINITY,listenOrientation:r=!0,includeScrollbar:i=!0,type:o="inner"}=e,l=Ae(n),c=Ae(s),u=()=>{if(t)if(o==="outer")l.value=t.outerWidth,c.value=t.outerHeight;else if(o==="visual"&&t.visualViewport){const{width:d,height:m,scale:_}=t.visualViewport;l.value=Math.round(d*_),c.value=Math.round(m*_)}else i?(l.value=t.innerWidth,c.value=t.innerHeight):(l.value=t.document.documentElement.clientWidth,c.value=t.document.documentElement.clientHeight)};u(),ls(u);const a={passive:!0};if(ot("resize",u,a),t&&o==="visual"&&t.visualViewport&&ot(t.visualViewport,"resize",u,a),r){const d=Xo("(orientation: portrait)");He(d,()=>u())}return{width:l,height:c}}const As={};var Rs={};const Qo=/^(?:[a-z]+:|\/\/)/i,bu="vitepress-theme-appearance",wu=/#.*$/,Su=/[?#].*$/,Tu=/(?:(^|\/)index)?\.(?:md|html)$/,be=typeof document<"u",Zo={relativePath:"404.md",filePath:"",title:"404",description:"Not Found",headers:[],frontmatter:{sidebar:!1,layout:"page"},lastUpdated:0,isNotFound:!0};function Eu(e,t,n=!1){if(t===void 0)return!1;if(e=hi(`/${e}`),n)return new RegExp(t).test(e);if(hi(t)!==e)return!1;const s=t.match(wu);return s?(be?location.hash:"")===s[0]:!0}function hi(e){return decodeURI(e).replace(Su,"").replace(Tu,"$1")}function xu(e){return Qo.test(e)}function Cu(e,t){return Object.keys((e==null?void 0:e.locales)||{}).find(n=>n!=="root"&&!xu(n)&&Eu(t,`/${n}/`,!0))||"root"}function Au(e,t){var s,r,i,o,l,c,u;const n=Cu(e,t);return Object.assign({},e,{localeIndex:n,lang:((s=e.locales[n])==null?void 0:s.lang)??e.lang,dir:((r=e.locales[n])==null?void 0:r.dir)??e.dir,title:((i=e.locales[n])==null?void 0:i.title)??e.title,titleTemplate:((o=e.locales[n])==null?void 0:o.titleTemplate)??e.titleTemplate,description:((l=e.locales[n])==null?void 0:l.description)??e.description,head:tl(e.head,((c=e.locales[n])==null?void 0:c.head)??[]),themeConfig:{...e.themeConfig,...(u=e.locales[n])==null?void 0:u.themeConfig}})}function el(e,t){const n=t.title||e.title,s=t.titleTemplate??e.titleTemplate;if(typeof s=="string"&&s.includes(":title"))return s.replace(/:title/g,n);const r=Ru(e.title,s);return n===r.slice(3)?n:`${n}${r}`}function Ru(e,t){return t===!1?"":t===!0||t===void 0?` | ${e}`:e===t?"":` | ${t}`}function Mu(e,t){const[n,s]=t;if(n!=="meta")return!1;const r=Object.entries(s)[0];return r==null?!1:e.some(([i,o])=>i===n&&o[r[0]]===r[1])}function tl(e,t){return[...e.filter(n=>!Mu(t,n)),...t]}const Ou=/[\u0000-\u001F"#$&*+,:;<=>?[\]^`{|}\u007F]/g,Pu=/^[a-z]:/i;function pi(e){const t=Pu.exec(e),n=t?t[0]:"";return n+e.slice(n.length).replace(Ou,"_").replace(/(^|\/)_+(?=[^/]*$)/,"$1")}const Ms=new Set;function Lu(e){if(Ms.size===0){const n=typeof process=="object"&&(Rs==null?void 0:Rs.VITE_EXTRA_EXTENSIONS)||(As==null?void 0:As.VITE_EXTRA_EXTENSIONS)||"";("3g2,3gp,aac,ai,apng,au,avif,bin,bmp,cer,class,conf,crl,css,csv,dll,doc,eps,epub,exe,gif,gz,ics,ief,jar,jpe,jpeg,jpg,js,json,jsonld,m4a,man,mid,midi,mjs,mov,mp2,mp3,mp4,mpe,mpeg,mpg,mpp,oga,ogg,ogv,ogx,opus,otf,p10,p7c,p7m,p7s,pdf,png,ps,qt,roff,rtf,rtx,ser,svg,t,tif,tiff,tr,ts,tsv,ttf,txt,vtt,wav,weba,webm,webp,woff,woff2,xhtml,xml,yaml,yml,zip"+(n&&typeof n=="string"?","+n:"")).split(",").forEach(s=>Ms.add(s))}const t=e.split(".").pop();return t==null||!Ms.has(t.toLowerCase())}function Tf(e){return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}const Iu=Symbol(),At=Ae(Xa);function Ef(e){const t=le(()=>Au(At.value,e.data.relativePath)),n=t.value.appearance,s=n==="force-dark"?ke(!0):n==="force-auto"?Jo():n?yu({storageKey:bu,initialValue:()=>n==="dark"?"dark":"auto",...typeof n=="object"?n:{}}):ke(!1),r=ke(be?location.hash:"");return be&&window.addEventListener("hashchange",()=>{r.value=location.hash}),He(()=>e.data,()=>{r.value=be?location.hash:""}),{site:t,theme:le(()=>t.value.themeConfig),page:le(()=>e.data),frontmatter:le(()=>e.data.frontmatter),params:le(()=>e.data.params),lang:le(()=>t.value.lang),dir:le(()=>e.data.frontmatter.dir||t.value.dir),localeIndex:le(()=>t.value.localeIndex||"root"),title:le(()=>el(t.value,e.data)),description:le(()=>e.data.description||t.value.description),isDark:s,hash:le(()=>r.value)}}function Nu(){const e=Tt(Iu);if(!e)throw new Error("vitepress data not properly injected in app");return e}function Fu(e,t){return`${e}${t}`.replace(/\/+/g,"/")}function gi(e){return Qo.test(e)||!e.startsWith("/")?e:Fu(At.value.base,e)}function Du(e){let t=e.replace(/\.html$/,"");if(t=decodeURIComponent(t),t=t.replace(/\/$/,"/index"),be){const n="/docs/";t=pi(t.slice(n.length).replace(/\//g,"_")||"index")+".md";let s=__VP_HASH_MAP__[t.toLowerCase()];if(s||(t=t.endsWith("_index.md")?t.slice(0,-9)+".md":t.slice(0,-3)+"_index.md",s=__VP_HASH_MAP__[t.toLowerCase()]),!s)return null;t=`${n}assets/${t}.${s}.js`}else t=`./${pi(t.slice(1).replace(/\//g,"_"))}.md.js`;return t}let Fn=[];function xf(e){Fn.push(e),yn(()=>{Fn=Fn.filter(t=>t!==e)})}function Hu(){let e=At.value.scrollOffset,t=0,n=24;if(typeof e=="object"&&"padding"in e&&(n=e.padding,e=e.selector),typeof e=="number")t=e;else if(typeof e=="string")t=mi(e,n);else if(Array.isArray(e))for(const s of e){const r=mi(s,n);if(r){t=r;break}}return t}function mi(e,t){const n=document.querySelector(e);if(!n)return 0;const s=n.getBoundingClientRect().bottom;return s<0?0:s+t}const $u=Symbol(),nl="http://a.com",ju=()=>({path:"/",component:null,data:Zo});function Cf(e,t){const n=jt(ju()),s={route:n,go:r};async function r(l=be?location.href:"/"){var c,u;l=Os(l),await((c=s.onBeforeRouteChange)==null?void 0:c.call(s,l))!==!1&&(be&&l!==Os(location.href)&&(history.replaceState({scrollPosition:window.scrollY},""),history.pushState({},"",l)),await o(l),await((u=s.onAfterRouteChange??s.onAfterRouteChanged)==null?void 0:u(l)))}let i=null;async function o(l,c=0,u=!1){var m,_;if(await((m=s.onBeforePageLoad)==null?void 0:m.call(s,l))===!1)return;const a=new URL(l,nl),d=i=a.pathname;try{let b=await e(d);if(!b)throw new Error(`Page not found: ${d}`);if(i===d){i=null;const{default:y,__pageData:F}=b;if(!y)throw new Error(`Invalid route component: ${y}`);await((_=s.onAfterPageLoad)==null?void 0:_.call(s,l)),n.path=be?d:gi(d),n.component=Ln(y),n.data=Ln(F),be&&ns(()=>{let O=At.value.base+F.relativePath.replace(/(?:(^|\/)index)?\.md$/,"$1");if(!At.value.cleanUrls&&!O.endsWith("/")&&(O+=".html"),O!==a.pathname&&(a.pathname=O,l=O+a.search+a.hash,history.replaceState({},"",l)),a.hash&&!c){let P=null;try{P=document.getElementById(decodeURIComponent(a.hash).slice(1))}catch(p){console.warn(p)}if(P){yi(P,a.hash);return}}window.scrollTo(0,c)})}}catch(b){if(!/fetch|Page not found/.test(b.message)&&!/^\/404(\.html|\/)?$/.test(l)&&console.error(b),!u)try{const y=await fetch(At.value.base+"hashmap.json");window.__VP_HASH_MAP__=await y.json(),await o(l,c,!0);return}catch{}if(i===d){i=null,n.path=be?d:gi(d),n.component=t?Ln(t):null;const y=be?d.replace(/(^|\/)$/,"$1index").replace(/(\.html)?$/,".md").replace(/^\//,""):"404.md";n.data={...Zo,relativePath:y}}}}return be&&(history.state===null&&history.replaceState({},""),window.addEventListener("click",l=>{if(l.defaultPrevented||!(l.target instanceof Element)||l.target.closest("button")||l.button!==0||l.ctrlKey||l.shiftKey||l.altKey||l.metaKey)return;const c=l.target.closest("a");if(!c||c.closest(".vp-raw")||c.hasAttribute("download")||c.hasAttribute("target"))return;const u=c.getAttribute("href")??(c instanceof SVGAElement?c.getAttribute("xlink:href"):null);if(u==null)return;const{href:a,origin:d,pathname:m,hash:_,search:b}=new URL(u,c.baseURI),y=new URL(location.href);d===y.origin&&Lu(m)&&(l.preventDefault(),m===y.pathname&&b===y.search?(_!==y.hash&&(history.pushState({},"",a),window.dispatchEvent(new HashChangeEvent("hashchange",{oldURL:y.href,newURL:a}))),_?yi(c,_,c.classList.contains("header-anchor")):window.scrollTo(0,0)):r(a))},{capture:!0}),window.addEventListener("popstate",async l=>{var u;if(l.state===null)return;const c=Os(location.href);await o(c,l.state&&l.state.scrollPosition||0),await((u=s.onAfterRouteChange??s.onAfterRouteChanged)==null?void 0:u(c))}),window.addEventListener("hashchange",l=>{l.preventDefault()})),s}function Vu(){const e=Tt($u);if(!e)throw new Error("useRouter() is called without provider.");return e}function sl(){return Vu().route}function yi(e,t,n=!1){let s=null;try{s=e.classList.contains("header-anchor")?e:document.getElementById(decodeURIComponent(t).slice(1))}catch(r){console.warn(r)}if(s){let r=function(){!n||Math.abs(o-window.scrollY)>window.innerHeight?window.scrollTo(0,o):window.scrollTo({left:0,top:o,behavior:"smooth"})};const i=parseInt(window.getComputedStyle(s).paddingTop,10),o=window.scrollY+s.getBoundingClientRect().top-Hu()+i;requestAnimationFrame(r)}}function Os(e){const t=new URL(e,nl);return t.pathname=t.pathname.replace(/(^|\/)index(\.html)?$/,"$1"),At.value.cleanUrls?t.pathname=t.pathname.replace(/\.html$/,""):!t.pathname.endsWith("/")&&!t.pathname.endsWith(".html")&&(t.pathname+=".html"),t.pathname+t.search+t.hash}const Rn=()=>Fn.forEach(e=>e()),Af=lr({name:"VitePressContent",props:{as:{type:[Object,String],default:"div"}},setup(e){const t=sl(),{frontmatter:n,site:s}=Nu();return He(n,Rn,{deep:!0,flush:"post"}),()=>qs(e.as,s.value.contentProps??{style:{position:"relative"}},[t.component?qs(t.component,{onVnodeMounted:Rn,onVnodeUpdated:Rn,onVnodeUnmounted:Rn}):"404 Page Not Found"])}}),Rf=(e,t)=>{const n=e.__vccOpts||e;for(const[s,r]of t)n[s]=r;return n},ku="modulepreload",Wu=function(e){return"/docs/"+e},vi={},Mf=function(t,n,s){let r=Promise.resolve();if(n&&n.length>0){document.getElementsByTagName("link");const o=document.querySelector("meta[property=csp-nonce]"),l=(o==null?void 0:o.nonce)||(o==null?void 0:o.getAttribute("nonce"));r=Promise.allSettled(n.map(c=>{if(c=Wu(c),c in vi)return;vi[c]=!0;const u=c.endsWith(".css"),a=u?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${c}"]${a}`))return;const d=document.createElement("link");if(d.rel=u?"stylesheet":ku,u||(d.as="script"),d.crossOrigin="",d.href=c,l&&d.setAttribute("nonce",l),document.head.appendChild(d),u)return new Promise((m,_)=>{d.addEventListener("load",m),d.addEventListener("error",()=>_(new Error(`Unable to preload CSS for ${c}`)))})}))}function i(o){const l=new Event("vite:preloadError",{cancelable:!0});if(l.payload=o,window.dispatchEvent(l),!l.defaultPrevented)throw o}return r.then(o=>{for(const l of o||[])l.status==="rejected"&&i(l.reason);return t().catch(i)})},Of=lr({setup(e,{slots:t}){const n=ke(!1);return Wt(()=>{n.value=!0}),()=>n.value&&t.default?t.default():null}});function Pf(){be&&window.addEventListener("click",e=>{var n;const t=e.target;if(t.matches(".vp-code-group input")){const s=(n=t.parentElement)==null?void 0:n.parentElement;if(!s)return;const r=Array.from(s.querySelectorAll("input")).indexOf(t);if(r<0)return;const i=s.querySelector(".blocks");if(!i)return;const o=Array.from(i.children).find(u=>u.classList.contains("active"));if(!o)return;const l=i.children[r];if(!l||o===l)return;o.classList.remove("active"),l.classList.add("active");const c=s==null?void 0:s.querySelector(`label[for="${t.id}"]`);c==null||c.scrollIntoView({block:"nearest"})}})}function Lf(){if(be){const e=new WeakMap;window.addEventListener("click",t=>{var s;const n=t.target;if(n.matches('div[class*="language-"] > button.copy')){const r=n.parentElement,i=(s=n.nextElementSibling)==null?void 0:s.nextElementSibling;if(!r||!i)return;const o=/language-(shellscript|shell|bash|sh|zsh)/.test(r.className),l=[".vp-copy-ignore",".diff.remove"],c=i.cloneNode(!0);c.querySelectorAll(l.join(",")).forEach(a=>a.remove());let u=c.textContent||"";o&&(u=u.replace(/^ *(\$|>) /gm,"").trim()),Uu(u).then(()=>{n.classList.add("copied"),clearTimeout(e.get(n));const a=setTimeout(()=>{n.classList.remove("copied"),n.blur(),e.delete(n)},2e3);e.set(n,a)})}})}}async function Uu(e){try{return navigator.clipboard.writeText(e)}catch{const t=document.createElement("textarea"),n=document.activeElement;t.value=e,t.setAttribute("readonly",""),t.style.contain="strict",t.style.position="absolute",t.style.left="-9999px",t.style.fontSize="12pt";const s=document.getSelection(),r=s?s.rangeCount>0&&s.getRangeAt(0):null;document.body.appendChild(t),t.select(),t.selectionStart=0,t.selectionEnd=e.length,document.execCommand("copy"),document.body.removeChild(t),r&&(s.removeAllRanges(),s.addRange(r)),n&&n.focus()}}function If(e,t){let n=!0,s=[];const r=i=>{if(n){n=!1,i.forEach(l=>{const c=Ps(l);for(const u of document.head.children)if(u.isEqualNode(c)){s.push(u);return}});return}const o=i.map(Ps);s.forEach((l,c)=>{const u=o.findIndex(a=>a==null?void 0:a.isEqualNode(l??null));u!==-1?delete o[u]:(l==null||l.remove(),delete s[c])}),o.forEach(l=>l&&document.head.appendChild(l)),s=[...s,...o].filter(Boolean)};or(()=>{const i=e.data,o=t.value,l=i&&i.description,c=i&&i.frontmatter.head||[],u=el(o,i);u!==document.title&&(document.title=u);const a=l||o.description;let d=document.querySelector("meta[name=description]");d?d.getAttribute("content")!==a&&d.setAttribute("content",a):Ps(["meta",{name:"description",content:a}]),r(tl(o.head,Ku(c)))})}function Ps([e,t,n]){const s=document.createElement(e);for(const r in t)s.setAttribute(r,t[r]);return n&&(s.innerHTML=n),e==="script"&&t.async==null&&(s.async=!1),s}function Bu(e){return e[0]==="meta"&&e[1]&&e[1].name==="description"}function Ku(e){return e.filter(t=>!Bu(t))}const Ls=new Set,rl=()=>document.createElement("link"),qu=e=>{const t=rl();t.rel="prefetch",t.href=e,document.head.appendChild(t)},Gu=e=>{const t=new XMLHttpRequest;t.open("GET",e,t.withCredentials=!0),t.send()};let Mn;const Xu=be&&(Mn=rl())&&Mn.relList&&Mn.relList.supports&&Mn.relList.supports("prefetch")?qu:Gu;function Nf(){if(!be||!window.IntersectionObserver)return;let e;if((e=navigator.connection)&&(e.saveData||/2g/.test(e.effectiveType)))return;const t=window.requestIdleCallback||setTimeout;let n=null;const s=()=>{n&&n.disconnect(),n=new IntersectionObserver(i=>{i.forEach(o=>{if(o.isIntersecting){const l=o.target;n.unobserve(l);const{pathname:c}=l;if(!Ls.has(c)){Ls.add(c);const u=Du(c);u&&Xu(u)}}})}),t(()=>{document.querySelectorAll("#app a").forEach(i=>{const{hostname:o,pathname:l}=new URL(i.href instanceof SVGAnimatedString?i.href.animVal:i.href,i.baseURI),c=l.match(/\.\w+$/);c&&c[0]!==".html"||i.target!=="_blank"&&o===location.hostname&&(l!==location.pathname?n.observe(i):Ls.add(l))})})};Wt(s);const r=sl();He(()=>r.path,s),yn(()=>{n&&n.disconnect()})}export{io as $,Hu as A,tf as B,Zu as C,xf as D,Ae as E,xe as F,de as G,ef as H,Qo as I,sl as J,ia as K,Tt as L,Sf as M,zs as N,yf as O,ns as P,wf as Q,be as R,on as S,cf as T,Qu as U,Mf as V,_f as W,sc as X,sf as Y,ff as Z,Rf as _,No as a,uf as a0,rf as a1,qs as a2,If as a3,$u as a4,Ef as a5,Iu as a6,Af as a7,Of as a8,At as a9,Cf as aa,Du as ab,hf as ac,Nf as ad,Lf as ae,Pf as af,lf as ag,Uo as ah,ae as ai,Es as aj,gr as ak,pf as al,mf as am,bf as an,vf as ao,gf as ap,Vu as aq,ot as ar,Yu as as,af as at,ue as au,zu as av,Ln as aw,df as ax,Tf as ay,Bs as b,of as c,lr as d,ra as e,Lu as f,gi as g,le as h,xu as i,Io as j,ts as k,Eu as l,Xo as m,Qs as n,Us as o,ke as p,He as q,nf as r,or as s,_l as t,Nu as u,Wt as v,nc as w,yn as x,Ju as y,Cc as z};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{_ as t,c as a,o,ag as s}from"./chunks/framework.BCISBCiQ.js";const p=JSON.parse('{"title":"How the Agent SDK works","description":"Understand projects, sessions, event streams, channels, and runtimes in plain language.","frontmatter":{"title":"How the Agent SDK works","description":"Understand projects, sessions, event streams, channels, and runtimes in plain language."},"headers":[],"relativePath":"concepts.md","filePath":"concepts.md"}'),n={name:"concepts.md"};function r(d,e,l,i,c,h){return o(),a("div",null,[...e[0]||(e[0]=[s('<h1 id="how-the-agent-sdk-works" tabindex="-1">How the Agent SDK works <a class="header-anchor" href="#how-the-agent-sdk-works" aria-label="Permalink to "How the Agent SDK works""></a></h1><p>An agent is a folder of instructions and capabilities. The Agent SDK discovers those files, runs conversations, and records what happened.</p><h2 id="what-happens-when-someone-sends-a-message" tabindex="-1">What happens when someone sends a message? <a class="header-anchor" href="#what-happens-when-someone-sends-a-message" aria-label="Permalink to "What happens when someone sends a message?""></a></h2><p>Follow one message through the system:</p><ol><li>A channel receives the message from HTTP, Slack, GitHub, or another webhook.</li><li>The channel starts a session or continues an existing one.</li><li>The runtime gives the model its instructions, tools, and workspace.</li><li>The model replies and can call tools along the way.</li><li>The Agent SDK appends every message and tool call to the session's event stream.</li></ol><p>The channel is the front door. The runtime does the work. The event stream is the record you inspect later.</p><h2 id="how-do-files-become-an-agent" tabindex="-1">How do files become an agent? <a class="header-anchor" href="#how-do-files-become-an-agent" aria-label="Permalink to "How do files become an agent?""></a></h2><p>Each capability has a home in the project. The path tells the Agent SDK what to load. The filename becomes the capability's name. For example, <code>agent/tools/get_weather.ts</code> creates a tool named <code>get_weather</code>.</p><table tabindex="0"><thead><tr><th>Path</th><th>What it is</th></tr></thead><tbody><tr><td><code>agent/agent.ts</code></td><td>Model and runtime settings</td></tr><tr><td><code>agent/instructions.md</code></td><td>The always-on system prompt</td></tr><tr><td><code>agent/tools/<name>.ts</code></td><td>Typed actions the model can call</td></tr><tr><td><code>agent/skills/*</code></td><td>Procedures loaded when needed</td></tr><tr><td><code>agent/mcp-connections/<name>.ts</code></td><td>Tools from external MCP servers</td></tr><tr><td><code>agent/host-connections/<name>.ts</code></td><td>Privileged MCP servers for host tools only</td></tr><tr><td><code>agent/channels/*.ts</code></td><td>HTTP, Slack, and GitHub entry points</td></tr><tr><td><code>agent/ab.ts</code> or <code>agent/ab/*.ts</code></td><td>Sticky variants and live performance metrics</td></tr><tr><td><code>agent/result.ts</code></td><td>Optional host <code>commit</code> on the final assistant text</td></tr><tr><td><code>evals/**/*.eval.ts</code></td><td>Repeatable checks at the project root</td></tr></tbody></table><p>Other folders add subagents, extensions, hooks, schedules, and workspace files. You don't register them elsewhere. Run <code>agent-sdk validate</code> to catch invalid files before serving the project.</p><p>See <a href="./reference/project-layout.html">Project layout</a> for the folder structure.</p><h2 id="how-does-the-agent-sdk-identify-a-conversation" tabindex="-1">How does the Agent SDK identify a conversation? <a class="header-anchor" href="#how-does-the-agent-sdk-identify-a-conversation" aria-label="Permalink to "How does the Agent SDK identify a conversation?""></a></h2><p>A session is one durable conversation. It has two identifiers:</p><ul><li><strong><code>continuationToken</code></strong> tells a channel which conversation to resume. A Slack channel can use its thread ID. A GitHub channel can use the pull request. The built-in HTTP API returns an opaque token and rotates it after each accepted follow-up.</li><li><strong><code>sessionId</code></strong> identifies the stored session. Use it to stream events, inspect the session, resolve approvals, or bind a tool call to the session.</li></ul><p>Use the continuation token to keep talking. Use the session ID to observe or manage the conversation.</p><h2 id="how-do-i-see-what-an-agent-did" tabindex="-1">How do I see what an agent did? <a class="header-anchor" href="#how-do-i-see-what-an-agent-did" aria-label="Permalink to "How do I see what an agent did?""></a></h2><p>Each session records an append-only event stream. It includes:</p><ul><li>Messages and streamed text</li><li>Requested tool calls and their results</li><li>Approval requests and decisions</li><li>Turn completion and token usage</li></ul><p>Sessions and their event streams survive server restarts. The playground renders the stream. Evals assert against it. The <code>agent-sdk trajectory</code> command turns a saved stream into a short summary.</p><p>When a run surprises you, inspect its event stream first. See <a href="./reference/sessions.html">Sessions and streaming</a> for the event vocabulary.</p><h2 id="what-does-a-channel-control" tabindex="-1">What does a channel control? <a class="header-anchor" href="#what-does-a-channel-control" aria-label="Permalink to "What does a channel control?""></a></h2><p>A channel connects the agent to a surface such as HTTP, Slack, GitHub, or a custom webhook. It controls:</p><ul><li>Routes and input schemas</li><li>Authentication</li><li>Conversation identity</li><li>How replies return to the user</li></ul><p>The built-in HTTP session API is always available. Custom routes accept loopback callers by default. Add an auth policy before sharing them over a network.</p><p>Channels should also prepare deterministic input for the model. For example, a GitHub channel can fetch the pull request, collect the diff, and seed the workspace before the turn starts. The model can then focus on the review instead of gathering files.</p><p>See <a href="./reference/channels.html">Channels</a> for route and authentication details.</p><h2 id="where-does-a-turn-run" tabindex="-1">Where does a turn run? <a class="header-anchor" href="#where-does-a-turn-run" aria-label="Permalink to "Where does a turn run?""></a></h2><p>Choose a runtime in <code>agent/agent.ts</code>:</p><table tabindex="0"><thead><tr><th></th><th>Local (default)</th><th>Cloud</th></tr></thead><tbody><tr><td>Turn runs on</td><td>The server host</td><td>A Cursor cloud agent</td></tr><tr><td>Server tools</td><td>Supported</td><td>Supported when the server has <code>--public-url</code> or <code>--cloud-tools-url</code>; the cloud turn reaches them over authenticated HTTP MCP. Without one of those flags, the server warns and cloud turns omit them.</td></tr><tr><td>Approvals (<code>needsApproval</code>)</td><td>Supported</td><td>Not supported (local runtime only)</td></tr><tr><td>Agent tool scripts</td><td>Supported</td><td>Supported</td></tr><tr><td>Skills</td><td>Added to the session workspace</td><td>Available automatically</td></tr><tr><td>Seeded files</td><td>Added to the session workspace</td><td>Available in a shared directory the first prompt names</td></tr><tr><td>Repository</td><td>You provide it</td><td>The cloud agent checks it out</td></tr></tbody></table><p>Use the local runtime when the host has the tools and files the agent needs. Use the cloud runtime when each turn needs an isolated repository checkout. <code>agent-sdk validate</code> warns when a cloud agent uses a local-only capability.</p><h2 id="what-files-can-a-local-session-access" tabindex="-1">What files can a local session access? <a class="header-anchor" href="#what-files-can-a-local-session-access" aria-label="Permalink to "What files can a local session access?""></a></h2><p>Each local session gets its own workspace. The Agent SDK writes the instructions as <code>AGENTS.md</code>, installs authored skills, copies sandbox files, and adds agent tool scripts.</p><p>The workspace is a real Cursor project. It can inherit <code>AGENTS.md</code> and <code>.cursor</code> settings from parent directories. Nested git checkouts default <code>local.cwd</code> to a per-project cache directory under <code>~/.cache</code>. Point <code>cwd</code> at a checkout only when the agent should inherit that tree. <code>run</code> and <code>eval</code> already use a temporary state root.</p><p>Session files live under <code>--state-root</code>. See <a href="./reference/sessions.html#where-does-the-agent-sdk-store-session-data">Sessions</a> for the layout.</p><h2 id="how-can-one-agent-call-another" tabindex="-1">How can one agent call another? <a class="header-anchor" href="#how-can-one-agent-call-another" aria-label="Permalink to "How can one agent call another?""></a></h2><p>Every mounted agent also serves MCP at <code>/<slug>/v1/mcp</code>. Another agent or MCP client can use <code>ask</code>, <code>check</code>, and <code>call_tool</code> to delegate work. A peer MCP connection such as <code>defineConnection({ agent: "weather-agent" })</code> adds those tools to the calling agent.</p><p>See <a href="./guides/agent-to-agent.html">Agent-to-agent</a> for a complete example.</p><h2 id="which-rules-prevent-common-setup-problems" tabindex="-1">Which rules prevent common setup problems? <a class="header-anchor" href="#which-rules-prevent-common-setup-problems" aria-label="Permalink to "Which rules prevent common setup problems?""></a></h2><ul><li>Use Node 22.13 or newer. Bun isn't supported.</li><li>Put evals under the project-root <code>evals/</code> directory, not <code>agent/evals/</code>.</li><li>Run a TypeScript check before shipping. <code>validate</code> and <code>run</code> execute TypeScript but don't type-check it.</li><li>Return JSON-shaped values from tool <code>execute</code> functions.</li><li>Keep local session workspaces away from parent rules you don't want the agent to inherit.</li><li>Sign in or set <code>CURSOR_API_KEY</code> before starting a model turn. Discovery, validation, direct tool calls, and server startup work without a credential.</li></ul><h2 id="related" tabindex="-1">Related <a class="header-anchor" href="#related" aria-label="Permalink to "Related""></a></h2><ul><li><a href="./quickstart.html">Quickstart</a></li><li><a href="./reference/project-layout.html">Project layout</a></li><li><a href="./reference/sessions.html">Sessions and streaming</a></li><li><a href="./reference/channels.html">Channels</a></li><li><a href="./ab.html">Live A/B metrics</a></li></ul>',41)])])}const m=t(n,[["render",r]]);export{p as __pageData,m as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{_ as t,c as a,o,ag as s}from"./chunks/framework.BCISBCiQ.js";const p=JSON.parse('{"title":"How the Agent SDK works","description":"Understand projects, sessions, event streams, channels, and runtimes in plain language.","frontmatter":{"title":"How the Agent SDK works","description":"Understand projects, sessions, event streams, channels, and runtimes in plain language."},"headers":[],"relativePath":"concepts.md","filePath":"concepts.md"}'),n={name:"concepts.md"};function r(d,e,l,i,c,h){return o(),a("div",null,[...e[0]||(e[0]=[s("",41)])])}const m=t(n,[["render",r]]);export{p as __pageData,m as default};
|
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
import{_ as e,c as i,o as a,ag as t}from"./chunks/framework.BCISBCiQ.js";const k=JSON.parse('{"title":"Evals","description":"Define repeatable checks with defineEval, run them with agent-sdk eval, and use them as regression checks.","frontmatter":{"title":"Evals","description":"Define repeatable checks with defineEval, run them with agent-sdk eval, and use them as regression checks."},"headers":[],"relativePath":"evals.md","filePath":"evals.md"}'),n={name:"evals.md"};function l(d,s,h,o,r,p){return a(),i("div",null,[...s[0]||(s[0]=[t(`<h1 id="evals" tabindex="-1">Evals <a class="header-anchor" href="#evals" aria-label="Permalink to "Evals""></a></h1><p>An eval is a repeatable check that runs your agent against a fixed input and gates the recorded trajectory: the run completed, the right tool ran, the reply has the right shape. Evals are how you know a prompt tweak helped, a refactor didn't regress the agent, and last month's fix is still holding.</p><p>Evals exercise the same surface your users hit. The runner starts (or targets) a real agent server, drives sessions over the public API, and grades what comes back. A passing eval means the agent started, accepted a message, and did what you asserted.</p><h2 id="define-evals-with-defineeval" tabindex="-1">Define evals with <code>defineEval</code> <a class="header-anchor" href="#define-evals-with-defineeval" aria-label="Permalink to "Define evals with \`defineEval\`""></a></h2><p>The Agent SDK discovers evals under the project-root <code>evals/</code> directory, in <code>.eval.ts</code> or <code>.eval.js</code> files. That's a sibling of <code>agent/</code>, never inside it (<code>agent/evals/</code> is silently ignored). TypeScript is the normal authoring format.</p><p>The file path is the eval's identity, so you don't author an id. Directories group related evals: <code>evals/builds/api.eval.ts</code> becomes id <code>builds/api</code>. An <code>index</code> filename collapses to its directory, so <code>evals/builds/index.eval.ts</code> becomes <code>builds</code>.</p><p>An eval is a single <code>async test(t)</code>. You drive the agent with <code>t</code> and assert on the run with the same <code>t</code>:</p><div class="language-ts vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">ts</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;">// evals/readiness.eval.ts</span></span>
|
|
2
|
-
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">import</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> { defineEval, includes } </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">from</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> "@cursor/july/evals"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">;</span></span>
|
|
3
|
-
<span class="line"></span>
|
|
4
|
-
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">export</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> default</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> defineEval</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">({</span></span>
|
|
5
|
-
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> description: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"Inspects a PR without approving it."</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
|
|
6
|
-
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> tags: [</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"smoke"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">],</span></span>
|
|
7
|
-
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> timeoutMs: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">120_000</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
|
|
8
|
-
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> async</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> test</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">t</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">) {</span></span>
|
|
9
|
-
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> await</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> t.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">send</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span></span>
|
|
10
|
-
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> "Is https://github.com/acme/checkout/pull/42 ready to approve?"</span></span>
|
|
11
|
-
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> );</span></span>
|
|
12
|
-
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> t.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">succeeded</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">();</span></span>
|
|
13
|
-
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> t.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">calledTool</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"inspect_pr"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">);</span></span>
|
|
14
|
-
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> t.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">notCalledTool</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"approve_pr"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">);</span></span>
|
|
15
|
-
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> t.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">check</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(t.reply, </span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">includes</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">/</span><span style="--shiki-light:#032F62;--shiki-dark:#DBEDFF;">ready</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">|</span><span style="--shiki-light:#032F62;--shiki-dark:#DBEDFF;">approve</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">/</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">i</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">));</span></span>
|
|
16
|
-
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> },</span></span>
|
|
17
|
-
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">});</span></span></code></pre></div><p>One file can also hold several datapoints through <code>cases</code> (provide either <code>test</code> or <code>cases</code>, not both). Each case id becomes <code><fileId>/<case.id></code>:</p><div class="language-ts vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">ts</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;">// evals/prs.eval.ts → prs/checkout, prs/search</span></span>
|
|
18
|
-
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">export</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> default</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> defineEval</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">({</span></span>
|
|
19
|
-
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> tags: [</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"smoke"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"prs"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">],</span></span>
|
|
20
|
-
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> cases: [</span></span>
|
|
21
|
-
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> {</span></span>
|
|
22
|
-
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> id: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"checkout"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
|
|
23
|
-
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> description: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"Checkout PR readiness."</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
|
|
24
|
-
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> async</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> test</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">t</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">) {</span></span>
|
|
25
|
-
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> await</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> t.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">send</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span></span>
|
|
26
|
-
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> "Is https://github.com/acme/checkout/pull/42 ready to approve?"</span></span>
|
|
27
|
-
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> );</span></span>
|
|
28
|
-
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> t.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">succeeded</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">();</span></span>
|
|
29
|
-
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> t.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">calledTool</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"inspect_pr"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">);</span></span>
|
|
30
|
-
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> },</span></span>
|
|
31
|
-
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> },</span></span>
|
|
32
|
-
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> {</span></span>
|
|
33
|
-
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> id: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"search"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
|
|
34
|
-
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> async</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> test</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">t</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">) {</span></span>
|
|
35
|
-
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> await</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> t.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">send</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span></span>
|
|
36
|
-
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> "Check https://github.com/acme/search/pull/7 before approval."</span></span>
|
|
37
|
-
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> );</span></span>
|
|
38
|
-
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> t.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">succeeded</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">();</span></span>
|
|
39
|
-
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> t.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">calledTool</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"inspect_pr"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">);</span></span>
|
|
40
|
-
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> },</span></span>
|
|
41
|
-
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> },</span></span>
|
|
42
|
-
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> ],</span></span>
|
|
43
|
-
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">});</span></span></code></pre></div><p>Case ids must be single path segments, unique within the file. Each case can set its own <code>description</code>, <code>tags</code>, <code>timeoutMs</code>, and <code>iterations</code>. A case-level value replaces the file-level value for that datapoint.</p><h3 id="iterations" tabindex="-1">Iterations <a class="header-anchor" href="#iterations" aria-label="Permalink to "Iterations""></a></h3><p><code>iterations</code> (file or case, default <code>1</code>) runs a datapoint repeatedly. Discovery expands <code>iterations: 3</code> on case <code>nyc</code> to runnable ids <code>weather/nyc/1</code>, <code>weather/nyc/2</code>, <code>weather/nyc/3</code> (filter prefix <code>weather/nyc</code> still selects all three). Each expanded case exposes <code>t.iteration</code> / <code>t.iterations</code> on the test context. Cap is 100.</p><p><code>maxConcurrency</code> counts <strong>authored datapoints</strong>, not expanded iterations: siblings <code>…/1</code>…<code>…/n</code> share one concurrency slot and run sequentially. A suite with 11 cases × 3 iterations and <code>maxConcurrency: 20</code> therefore has at most 11 cases in flight, not 33.</p><h2 id="configure-eval-runs" tabindex="-1">Configure eval runs <a class="header-anchor" href="#configure-eval-runs" aria-label="Permalink to "Configure eval runs""></a></h2><p>Each project with evals needs <code>evals/evals.config.ts</code> or <code>evals/evals.config.js</code>, and it must set <code>maxConcurrency</code>. Each case issues real model-provider requests, so concurrency is capped hard at 200. Existing projects use 20. Discovery with <code>eval --list</code> works without this file, but running a case does not.</p><div class="language-ts vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">ts</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">import</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> { defineEvalConfig } </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">from</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> "@cursor/july/evals"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">;</span></span>
|
|
44
|
-
<span class="line"></span>
|
|
45
|
-
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">export</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> default</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> defineEvalConfig</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">({</span></span>
|
|
46
|
-
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> maxConcurrency: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">20</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, </span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;">// required</span></span>
|
|
47
|
-
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> // timeoutMs: 180_000,</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> // optional project-wide default</span></span>
|
|
48
|
-
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> // judge: { model: "..." },</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> // default judge model for t.judge.*</span></span>
|
|
49
|
-
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> // reporters: [],</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> // destinations that observe every case</span></span>
|
|
50
|
-
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> // maxPlaygroundRuns: 50,</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> // playground history only (default 20)</span></span>
|
|
51
|
-
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">});</span></span></code></pre></div><p>The timeout order is case or file <code>timeoutMs</code>, CLI <code>--timeout-ms</code>, project config <code>timeoutMs</code>, then the 180-second runner default.</p><p>The optional fields:</p><table tabindex="0"><thead><tr><th>Option</th><th>Default</th><th>Meaning</th></tr></thead><tbody><tr><td><code>timeoutMs</code></td><td><code>180_000</code></td><td>Project-wide per-case timeout</td></tr><tr><td><code>judge</code></td><td>unset</td><td>Default judge model for <code>t.judge.*</code>; see <a href="#judge-free-form-output">Judge free-form output</a></td></tr><tr><td><code>reporters</code></td><td>unset</td><td>Destinations that observe every case; <code>--skip-report</code> suppresses them</td></tr><tr><td><code>maxPlaygroundRuns</code></td><td><code>20</code></td><td>Max batches in the playground / <code>/v1/dev/evals*</code> history (not CLI <code>eval</code>). Hard-capped at 500.</td></tr></tbody></table><p>Reporters come from <code>@cursor/july/evals/reporters</code>: <code>JUnit</code> writes a JUnit XML file for CI, <code>Artifacts</code> writes per-case files, and <code>combineReporters</code> merges several into one (<code>renderJUnitXml</code> renders the XML for a custom destination). A file or case can add its own <code>reporters</code> on top of the config list.</p><p>Playground batches survive restarts whenever <code>agent/storage.ts</code> exists with an <code>evals</code> table or a KV core providing <code>delete</code> and <code>list</code> (the table is derived over the core); see <a href="./storage.html#eval-and-a-b-tables">Storage</a>. Without storage they live in process memory and disappear when <code>serve</code> exits. Navigating away and back still works while the process is up.</p><h2 id="drive-and-assert-with-t" tabindex="-1">Drive and assert with <code>t</code> <a class="header-anchor" href="#drive-and-assert-with-t" aria-label="Permalink to "Drive and assert with \`t\`""></a></h2><p><code>t</code> is both the driver and the assertion surface. You write ordinary control flow, sending turns and asserting inline.</p><p>Drive the agent with <code>t.send(message, options?)</code>. It runs one turn and waits for the session to park or fail. Multiple sends in one case share the session, which is how you write multi-turn evals.</p><p>Each <code>t.send</code> resolves to a turn result with <code>message</code>, <code>sessionId</code>, <code>events</code>, <code>toolCalls</code>, <code>ok</code>, and <code>index</code>. The turn carries the same assertion vocabulary as <code>t</code>, scoped to that turn, so you can grade an intermediate turn before the next send overwrites <code>t.reply</code>. <code>turn.expectOk()</code> throws when the turn failed, for later steps that depend on it.</p><p>Read the full case state with <code>t.reply</code> (the last assistant text), <code>t.events</code> (session events captured so far), <code>t.turns</code> (settled turns, oldest first), and <code>t.sessionId</code>. <code>t.signal</code> aborts when the case hits its timeout; pass it to your own async work. A thrown <a href="./reference/result.html">turn result</a> <code>commit</code> fails the turn, so <code>t.succeeded()</code> fails too.</p><p>Assert with the gates:</p><table tabindex="0"><thead><tr><th>Gate</th><th>Checks</th></tr></thead><tbody><tr><td><code>t.succeeded()</code></td><td>the run did not fail and is not parked on an unanswered approval</td></tr><tr><td><code>t.parked()</code></td><td>the run cleanly parked on an unanswered approval request</td></tr><tr><td><code>t.messageIncludes(token)</code></td><td>the joined assistant text matches a string or <code>RegExp</code></td></tr><tr><td><code>t.calledTool(name, matcher?)</code></td><td>a matching call to <code>name</code> happened</td></tr><tr><td><code>t.notCalledTool(name)</code></td><td>no request for <code>name</code>, in any lifecycle state</td></tr><tr><td><code>t.loadedSkill(name)</code></td><td>the agent opened the skill's <code>SKILL.md</code> (read, grep, or shell <code>cat</code>)</td></tr><tr><td><code>t.toolOrder(names)</code></td><td>tool requests appear in this relative order (extra calls allowed)</td></tr><tr><td><code>t.usedNoTools()</code></td><td>no tool calls at all</td></tr><tr><td><code>t.maxToolCalls(max)</code></td><td>at most <code>max</code> tool calls</td></tr><tr><td><code>t.noFailedActions()</code></td><td>no tool call reported an error</td></tr><tr><td><code>t.calledSubagent(name, matcher?)</code></td><td>a matching subagent delegation happened</td></tr><tr><td><code>t.taggedArtifact(kind?, predicate?)</code></td><td>at least one <a href="./reference/artifacts.html">artifact</a> was tagged</td></tr><tr><td><code>t.event(type, matcher?)</code></td><td>at least one matching event of <code>type</code> occurred</td></tr><tr><td><code>t.notEvent(type, matcher?)</code></td><td>no matching event of <code>type</code> occurred</td></tr><tr><td><code>t.eventOrder(matchers)</code></td><td>matching event groups occur in this relative order</td></tr><tr><td><code>t.eventsSatisfy(label, predicate)</code></td><td>your predicate over the typed event stream</td></tr><tr><td><code>t.check(value, expectation)</code></td><td>any value, against a builder</td></tr><tr><td><code>t.score(name, value)</code></td><td>records a 0–1 score you computed; soft until you add a bar</td></tr><tr><td><code>t.requireToolCall(name, matcher?)</code></td><td>gates on a matching call and returns it, so later code can read its input and output</td></tr><tr><td><code>t.requireInputRequest(filter?)</code></td><td>gates on exactly one pending approval request and returns it</td></tr></tbody></table><p>Every gate returns a handle: <code>.soft()</code> demotes it to tracked-only, <code>.atLeast(0.7)</code> adds a soft score bar, and <code>.gate(0.8)</code> promotes a scored assertion into a hard gate.</p><p>With no matcher, <code>calledTool</code> is request-based: a requested call counts even when its result has not arrived. Pass <code>t.calledTool("inspect_pr", { status: "completed" })</code> to require the call to return. <code>input</code>, <code>output</code>, and <code>count</code> matcher fields accept a literal, a <code>RegExp</code>, or a predicate.</p><p>The expectation builders are <code>includes(string | RegExp)</code>, <code>equals(value)</code>, <code>matches(schema)</code>, <code>similarity(expected)</code>, and <code>satisfies(predicate, label)</code>. <code>includes</code> stringifies its input, <code>equals</code> compares values deeply, <code>matches</code> validates against a Standard Schema (or anything with <code>safeParse</code>, like Zod), <code>similarity</code> scores normalized text similarity, and <code>satisfies</code> runs your predicate. The plain function <code>normalizedSimilarity(actual, expected)</code> returns the same 0–1 score for use with <code>t.score</code>.</p><p>A few more context members shape a case: <code>t.require(value, expectation)</code> records a gate and stops the test body when it fails, without a duplicate execution error. <code>t.skip(reason)</code> ends the case as skipped (reported separately, never changes the exit code; call it before sending messages). <code>t.metric(name, value)</code> records a structured score for the playground case card. <code>t.log(message)</code> records a debug line for the CLI and playground result.</p><p>Three <code>t.send</code> options apply on session create (first <code>t.send</code> only):</p><ul><li><code>workspaceFiles</code>: <code>{ path: contents }</code>, seeded into the local session workspace. Prefer this over machine-local paths.</li><li><code>workspaceDir</code>: absolute harness cwd (local runtime).</li><li><code>cloud</code>: per-session cloud options merged over the agent's static <code>cloud</code> config (repos / env / …). Use a pinned <code>repos</code> override to attach a fixture repo for cloud evals without putting it on the agent's default <code>cloud.repos</code>. Cloud ignores <code>workspaceFiles</code> seeds.</li></ul><div class="language-ts vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">ts</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> toolResults</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> =</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> t.events.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">filter</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">((</span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">e</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">) </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=></span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> e.type </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">===</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> "action.result"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">);</span></span>
|
|
52
|
-
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">t.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">check</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span></span>
|
|
53
|
-
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> toolResults.</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">length</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
|
|
54
|
-
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> satisfies</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">((</span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">n</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">) </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=></span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> (n </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">as</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> number</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">) </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"><=</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> 4</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"at most 4 tool calls"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)</span></span>
|
|
55
|
-
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">);</span></span></code></pre></div><p>A case with no explicit gates falls back to whether at least one turn completed successfully. Add <code>t.succeeded()</code> and behavior-specific gates anyway. They make the contract visible during review.</p><h3 id="judge-free-form-output" tabindex="-1">Judge free-form output <a class="header-anchor" href="#judge-free-form-output" aria-label="Permalink to "Judge free-form output""></a></h3><p>When wording matters and no regex captures it, <code>t.judge</code> grades the reply with an LLM. The built-in graders are <code>factuality(expected)</code>, <code>summarizes(expected)</code>, <code>closedQA(criteria)</code>, and <code>sql(expected)</code>. Each scores <code>t.reply</code> by default; pass <code>{ on }</code> to grade another value.</p><div class="language-ts vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">ts</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">t.judge.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">factuality</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"It is 54°F in NYC right now."</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">).</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">atLeast</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">0.7</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">);</span></span></code></pre></div><p>Judge assertions are soft by default, so a judge never fails a build until you give it a bar with <code>.atLeast(0.7)</code> or promote it with <code>.gate(0.8)</code>. The judge model comes from <code>defineEvalConfig({ judge })</code>, <code>defineEval({ judge })</code>, a case-level <code>judge</code>, or a per-call <code>{ model }</code> override; the nearest one wins. For a domain-specific judge whose verdict is not a single score, <code>t.judge.model(prompt)</code> sends a raw prompt to the same model and returns the reply. You then record the parsed result with <code>t.score</code> or <code>t.check</code>.</p><h2 id="run-evals-from-the-cli" tabindex="-1">Run evals from the CLI <a class="header-anchor" href="#run-evals-from-the-cli" aria-label="Permalink to "Run evals from the CLI""></a></h2><p>The <code>eval</code> command discovers, filters, and runs cases.</p><p>Run the CLI under Node 22.13 or newer. Do not use Bun. Its HTTP/2 client breaks tool-result streams and causes eval turns to fail.</p><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">agent-sdk</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> eval</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --dir</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> .</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --list</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> # discover only</span></span>
|
|
56
|
-
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">agent-sdk</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> eval</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --dir</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> .</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> # run all</span></span>
|
|
57
|
-
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">agent-sdk</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> eval</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --dir</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> .</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> builds/checkout</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> # one datapoint</span></span>
|
|
58
|
-
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">agent-sdk</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> eval</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --dir</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> .</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> builds</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> search</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> # several ids or prefixes</span></span>
|
|
59
|
-
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">agent-sdk</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> eval</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --dir</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> .</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --tag</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> smoke</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --tag</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> pull-request</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> # any matching tag</span></span>
|
|
60
|
-
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">agent-sdk</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> eval</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --dir</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> .</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --json</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --no-stream</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> # machine-readable results</span></span>
|
|
61
|
-
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">agent-sdk</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> eval</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --dir</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> .</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --verbose</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> # logs + reply snippets</span></span></code></pre></div><p>Id filters use OR semantics. Each filter selects an exact id and its descendants. For example, <code>builds</code> selects <code>builds</code>, <code>builds/checkout</code>, and every other case below that path. Repeated tags also use OR semantics. When you provide both ids and tags, a case must match both groups.</p><p><code>eval</code> boots an ephemeral server on port 0 with a temp state root outside the project, so cases don't inherit ambient monorepo rules and don't write into the project state directory. Point <code>--url</code> at a running server to eval a live agent instead:</p><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">agent-sdk</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> eval</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --dir</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> .</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> \\</span></span>
|
|
62
|
-
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --url</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> http://127.0.0.1:3000/weather-agent</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> \\</span></span>
|
|
63
|
-
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --bearer-token</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> "</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">$AGENT_TOKEN</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"</span></span></code></pre></div><p>The eval definitions still come from <code>--dir</code>; <code>--url</code> only changes the agent that receives the turns. For a locally mounted multi-agent directory, <code>--slug weather-agent</code> chooses the target. Use <code>--state-root</code> to keep ephemeral session state at a chosen path, <code>--timeout-ms</code> to override the project timeout, and <code>--no-stream</code> to keep live progress off stderr. A TTY streams turn progress by default. <code>--verbose</code> still writes <code>t.log</code> lines to stderr and adds reply snippets to text results.</p><p>Model turns need a Cursor credential: <code>CURSOR_API_KEY</code>, then <code>CURSOR_API_KEY_FILE</code> (hosted default <code>/run/cursor/secrets/CURSOR_API_KEY</code>), then <code>CURSOR_SERVICE_ACCOUNT_KEY</code>, then <code>agent-sdk login</code>.</p><p>See <a href="./reference/cli.html#eval">CLI: eval</a> for flags and exit codes.</p><h3 id="json-results" tabindex="-1">JSON results <a class="header-anchor" href="#json-results" aria-label="Permalink to "JSON results""></a></h3><p>Use <code>--json --no-stream</code> in scripts and CI. The top-level result carries the totals and one result per case:</p><div class="language-json vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">json</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">{</span></span>
|
|
64
|
-
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> "ok"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">true</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
|
|
65
|
-
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> "passed"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">1</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
|
|
66
|
-
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> "failed"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">0</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
|
|
67
|
-
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> "results"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: [</span></span>
|
|
68
|
-
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> {</span></span>
|
|
69
|
-
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> "id"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"readiness"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
|
|
70
|
-
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> "ok"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">true</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
|
|
71
|
-
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> "assertions"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: [{ </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">"name"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"succeeded"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">"passed"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">true</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> }],</span></span>
|
|
72
|
-
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> "sessionId"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"ses_123"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
|
|
73
|
-
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> "inputs"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: [</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"Is checkout pull request 42 ready to approve?"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">],</span></span>
|
|
74
|
-
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> "toolCalls"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: [{ </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">"toolName"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"inspect_pr"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">"isError"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">false</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> }],</span></span>
|
|
75
|
-
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> "logs"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: [],</span></span>
|
|
76
|
-
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> "durationMs"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">12340</span></span>
|
|
77
|
-
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> }</span></span>
|
|
78
|
-
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> ]</span></span>
|
|
79
|
-
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">}</span></span></code></pre></div><p>Each case result can also include <code>description</code>, <code>finalText</code>, <code>tools</code>, <code>error</code>, and tool arguments or output. This shape lets CI report the failed assertion without parsing terminal text.</p><h2 id="run-evals-in-the-playground" tabindex="-1">Run evals in the playground <a class="header-anchor" href="#run-evals-in-the-playground" aria-label="Permalink to "Run evals in the playground""></a></h2><p>Start the server, open the playground, and choose <strong>Evals</strong>. You can run every case or one case, watch progress, and open the resulting session trace. The Evals tab works on a normal <code>serve</code>.</p><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">agent-sdk</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> serve</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --dir</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> .</span></span></code></pre></div><p>Playground runs target the live server instead of an ephemeral one. Their sessions appear in the session list. One eval batch can run at a time. Persistence follows the rule under <a href="#configure-eval-runs">Configure eval runs</a>. See <a href="./reference/http-api.html#playground-eval-routes">Playground eval routes</a>. The start request returns <code>202</code> while cases run in the background. Poll until the snapshot status becomes <code>completed</code>, <code>failed</code>, or <code>cancelled</code>. Configuration errors appear on a failed snapshot.</p><p>On <code>--prod</code> / <code>--url</code>, the CLI prints the Eval ID as soon as the batch is accepted (and a Playground deep link with <code>?view=evals&evalRunId=…</code>):</p><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">agent-sdk</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> eval</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --prod</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --slug</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> vulnerability-scanner</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --tag</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> deepsec</span></span>
|
|
80
|
-
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># Eval ID: evalrun_…</span></span>
|
|
81
|
-
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># Cancel: agent-sdk eval cancel evalrun_… --prod --slug vulnerability-scanner</span></span>
|
|
82
|
-
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># Playground: https://…/playground?view=evals&evalRunId=evalrun_…</span></span>
|
|
83
|
-
<span class="line"></span>
|
|
84
|
-
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">agent-sdk</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> eval</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> cancel</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> evalrun_…</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --prod</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --slug</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> vulnerability-scanner</span></span>
|
|
85
|
-
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">agent-sdk</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> eval</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> status</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> evalrun_…</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --prod</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --slug</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> vulnerability-scanner</span></span></code></pre></div><h2 id="what-good-cases-assert" tabindex="-1">What good cases assert <a class="header-anchor" href="#what-good-cases-assert" aria-label="Permalink to "What good cases assert""></a></h2><p>Gate decisions and shape, not prose. Model wording varies run to run. Tool choice, tool avoidance, and output structure are the stable contract.</p><ol><li><code>t.succeeded()</code>: always, first.</li><li>The tool decision: <code>calledTool</code> for the intended path, <code>notCalledTool</code> for the likely wrong alternative. The pair is stronger than either alone.</li><li>Output shape: a regex for the contract (<code>/ready|blocked/i</code>, a JSON marker, a findings-block fence), never exact sentences.</li><li>For structured output, parse <code>t.reply</code> and check fields with <code>satisfies</code> instead of substring-matching JSON.</li></ol><p>The common failure modes: asserting exact phrasing, packing more than about five gates into one case (split it), and cases that depend on live external state that drifts (pin the input; see fixtures).</p><h2 id="pick-fixtures-by-agent-type" tabindex="-1">Pick fixtures by agent type <a class="header-anchor" href="#pick-fixtures-by-agent-type" aria-label="Permalink to "Pick fixtures by agent type""></a></h2><p>The right fixture depends on the surface under test.</p><table tabindex="0"><thead><tr><th>Agent surface</th><th>Fixture</th></tr></thead><tbody><tr><td>Chat / domain assistant</td><td>A canonical prompt string, chosen once and frozen</td></tr><tr><td>Tool-heavy</td><td>Run <code>agent-sdk call <tool></code> first to pin what the tool returns, then freeze the prompt that triggers it</td></tr><tr><td>GitHub webhook</td><td><code>agent-sdk github replay <pr> --events '*' --dry-run --out fixtures/github</code> snapshots real payloads for offline replay (<a href="./guides/github.html">GitHub guide</a>)</td></tr><tr><td>PR reviewer with host preparation</td><td>Diff, metadata, and gold labels pinned to commit SHAs; keep any live PR matrix small</td></tr><tr><td>Workspace-dependent</td><td><code>workspaceFiles</code> in <code>t.send</code> options, never developer-machine paths</td></tr></tbody></table><p>Tag the fast, reliably passing core <code>smoke</code> and run <code>--tag smoke</code> in the inner loop. Leave slow or flaky-prone cases untagged for explicit runs.</p><h3 id="materialize-api-backed-fixtures" tabindex="-1">Materialize API-backed fixtures <a class="header-anchor" href="#materialize-api-backed-fixtures" aria-label="Permalink to "Materialize API-backed fixtures""></a></h3><p>An input that only points at external data, such as a pull request URL, snapshot id, or pair of commit SHAs, is not self-contained. Fetch it once and commit the rendered fixture before you expand the suite.</p><ol><li>Save the diff, metadata, and labels under <code>fixtures/</code> at pinned revisions.</li><li>Seed those files with <code>workspaceFiles</code>, or read them from the fixture directory.</li><li>Assert decisions and output shape against the saved evidence.</li><li>Keep a small <code>smoke</code> subset for any remaining live pipeline checks.</li></ol><p>Read committed fixtures with <code>@cursor/july/evals/loaders</code>: <code>loadJson</code>, <code>loadJsonl</code>, and <code>loadYaml</code> resolve relative paths against the project root the runner discovered, not the cwd the CLI was invoked from (<code>resolveFixturePath</code> and <code>evalFixtureRoot</code> expose the same resolution for other file formats).</p><p><code>maxConcurrency</code> limits parallel datapoints. It does not limit model or API fan-out inside one datapoint. Materialized fixtures prevent a large suite from exhausting provider and GitHub rate limits. The <a href="./skills/evals.html">evals skill</a> has the full fixture workflow.</p><h2 id="keep-improvements-with-regression-evals" tabindex="-1">Keep improvements with regression evals <a class="header-anchor" href="#keep-improvements-with-regression-evals" aria-label="Permalink to "Keep improvements with regression evals""></a></h2><p>Every <a href="./hillclimbing.html">hillclimb</a> round that keeps a change must land an eval that would have failed before the change. If you can't express the improvement as a gate (a <code>calledTool</code> shift, a bounded <code>action.result</code> count, an output-shape regex), the improvement is unverified, and it'll regress silently.</p><p>The rule cuts the other way too: never weaken an existing gate to make a round pass. That's the freeze line moving, and it turns your regression suite into a list of checks that no longer protect anything.</p><h2 id="compare-variants-on-live-traffic" tabindex="-1">Compare variants on live traffic <a class="header-anchor" href="#compare-variants-on-live-traffic" aria-label="Permalink to "Compare variants on live traffic""></a></h2><p>Use <code>defineAB</code> to compare variant metrics on live sessions. It is not a test runner and has no <code>agent-sdk ab</code> command. Keep <code>defineEval</code> as the regression ratchet. Eval sessions do not enroll or change live metrics. See <a href="./ab.html">Live A/B metrics</a> for assignment, behavior, collection, and inspection.</p><h2 id="what-s-next" tabindex="-1">What's next <a class="header-anchor" href="#what-s-next" aria-label="Permalink to "What's next""></a></h2><p>Continue with these pages:</p><ul><li><a href="./ab.html">Live A/B metrics</a>: sticky variants and cumulative metrics on live sessions</li><li><a href="./hillclimbing.html">Hillclimbing</a>: the loop evals make trustworthy</li><li><a href="./building-with-agents.html">Building agents with agents</a>: have a coding agent write the first suite</li><li><a href="./guides/github.html">GitHub guide</a>: deterministic webhook fixtures with <code>github replay</code></li><li><a href="./reference/sessions.html">Sessions and streaming</a>: the events <code>t.events</code> contains</li></ul>`,82)])])}const g=e(n,[["render",l]]);export{k as __pageData,g as default};
|