@cursor/july 0.1.109 → 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 +1 -1
- package/README.md +0 -15
- package/dist/bin/agent-serve.js +81 -66
- package/dist/channels/bitbucket/api.js +8 -8
- package/dist/channels/bitbucket/binding.js +4 -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/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/binding.js +4 -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/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 +34 -1
- package/dist/channels/slack/dispatch.d.ts.map +1 -1
- package/dist/channels/slack/dispatch.js +219 -106
- 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 +2 -2
- package/dist/channels/slack/slack-channel.d.ts.map +1 -1
- package/dist/channels/slack/slack-channel.js +55 -20
- 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.D0KbSkJn.js → building-with-agents.md.CEGVXkmO.js} +2 -2
- package/dist/docs/assets/{building-with-agents.md.D0KbSkJn.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.CVQERt56.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.Dnsd3XOn.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.C7JLjoEP.js → evals.md.BLDRt5LH.js} +4 -4
- package/dist/docs/assets/{evals.md.C7JLjoEP.lean.js → evals.md.BLDRt5LH.lean.js} +1 -1
- 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.DZPzmUjU.js → guides_bitbucket.md.CTpCl__f.js} +1 -1
- package/dist/docs/assets/{guides_bitbucket.md.DZPzmUjU.lean.js → guides_bitbucket.md.CTpCl__f.lean.js} +1 -1
- 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.TZaTZlfz.js → guides_github.md.D6ER29dG.js} +1 -1
- package/dist/docs/assets/{guides_github.md.TZaTZlfz.lean.js → guides_github.md.D6ER29dG.lean.js} +1 -1
- package/dist/docs/assets/{guides_gitlab.md.BmqwQfdG.js → guides_gitlab.md.P-TjBnS5.js} +1 -1
- package/dist/docs/assets/{guides_gitlab.md.BmqwQfdG.lean.js → guides_gitlab.md.P-TjBnS5.lean.js} +1 -1
- 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.CJK484ex.js → guides_webhooks.md.aQW10HRe.js} +2 -2
- package/dist/docs/assets/{guides_webhooks.md.CJK484ex.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.CAo-iK4j.js → reference_channels.md.icqLKcTc.js} +2 -12
- package/dist/docs/assets/{reference_channels.md.CAo-iK4j.lean.js → reference_channels.md.icqLKcTc.lean.js} +1 -1
- package/dist/docs/assets/{reference_cli.md.Deg7849l.js → reference_cli.md.B2dBL6L8.js} +3 -3
- package/dist/docs/assets/{reference_cli.md.Deg7849l.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.ZAVUyuEX.js → reference_extensions.md.wlFD3cUR.js} +2 -2
- package/dist/docs/assets/{reference_extensions.md.ZAVUyuEX.lean.js → reference_extensions.md.wlFD3cUR.lean.js} +1 -1
- package/dist/docs/assets/{reference_hooks.md.BlM_bOg6.js → reference_hooks.md.CZuynAxj.js} +3 -3
- package/dist/docs/assets/{reference_hooks.md.BlM_bOg6.lean.js → reference_hooks.md.CZuynAxj.lean.js} +1 -1
- package/dist/docs/assets/{reference_http-api.md.BwaCo-VO.js → reference_http-api.md.DTKcYE6L.js} +3 -3
- package/dist/docs/assets/{reference_http-api.md.BwaCo-VO.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.DLnoaczX.js → reference_playground.md.D2YExv5K.js} +1 -1
- package/dist/docs/assets/{reference_playground.md.DLnoaczX.lean.js → reference_playground.md.D2YExv5K.lean.js} +1 -1
- package/dist/docs/assets/{reference_project-layout.md.BEU8MtQV.js → reference_project-layout.md.DPxbUJyt.js} +3 -3
- package/dist/docs/assets/{reference_project-layout.md.BEU8MtQV.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.CyXV1MUw.js → reference_sessions.md.YKvIsWAx.js} +1 -1
- package/dist/docs/assets/{reference_sessions.md.CyXV1MUw.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 +13 -15
- package/dist/docs/deployment.html +44 -11
- package/dist/docs/deployment.md +6 -7
- package/dist/docs/evals.html +44 -11
- package/dist/docs/evals.md +5 -5
- 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 +41 -8
- 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 +41 -8
- package/dist/docs/guides/github.md +1 -1
- package/dist/docs/guides/gitlab.html +41 -8
- 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 +3 -4
- package/dist/docs/hashmap.json +1 -1
- package/dist/docs/hillclimbing.html +40 -10
- package/dist/docs/hillclimbing.md +5 -5
- package/dist/docs/index.html +57 -12
- package/dist/docs/index.md +81 -150
- package/dist/docs/llms-full.txt +5779 -10297
- package/dist/docs/llms.txt +3 -29
- 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 +0 -16
- package/dist/docs/reference/cli.html +42 -9
- package/dist/docs/reference/cli.md +0 -16
- package/dist/docs/reference/connections.html +43 -10
- package/dist/docs/reference/connections.md +3 -5
- package/dist/docs/reference/extensions.html +42 -9
- package/dist/docs/reference/extensions.md +2 -2
- package/dist/docs/reference/hooks.html +42 -9
- package/dist/docs/reference/hooks.md +2 -4
- package/dist/docs/reference/http-api.html +42 -9
- package/dist/docs/reference/http-api.md +5 -5
- package/dist/docs/reference/instructions.html +41 -8
- package/dist/docs/reference/playground.html +40 -7
- package/dist/docs/reference/playground.md +2 -2
- package/dist/docs/reference/project-layout.html +42 -9
- package/dist/docs/reference/project-layout.md +3 -4
- 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 +5 -4
- 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/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 +5 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -6
- 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.js +1 -1
- package/dist/internal/builtin-tools/reminders.js +2 -2
- package/dist/internal/chat-client.js +5 -5
- package/dist/internal/cli-ax.d.ts +1 -0
- package/dist/internal/cli-ax.d.ts.map +1 -1
- package/dist/internal/cli-ax.js +68 -13
- 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-identity.d.ts.map +1 -1
- package/dist/internal/continuation-identity.js +14 -9
- 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.map +1 -1
- package/dist/internal/discovery/agent.js +10 -8
- 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.js +3 -3
- package/dist/internal/discovery/extensions.js +6 -6
- package/dist/internal/discovery/info.js +9 -9
- package/dist/internal/discovery/instructions.js +1 -1
- package/dist/internal/discovery/project.d.ts.map +1 -1
- package/dist/internal/discovery/project.js +4 -4
- 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 -14
- 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 +6 -2
- package/dist/internal/framework-file-storage.d.ts.map +1 -1
- package/dist/internal/framework-file-storage.js +91 -2
- package/dist/internal/framework-storage-selection.d.ts +0 -6
- package/dist/internal/framework-storage-selection.d.ts.map +1 -1
- package/dist/internal/framework-storage-selection.js +2 -11
- 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.js +1 -1
- package/dist/internal/inline-stdio-mcp.js +2 -2
- package/dist/internal/install-cursor-skills.js +10 -10
- 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.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 +14 -15
- package/dist/internal/serve-restart.js +1 -1
- package/dist/internal/server.d.ts.map +1 -1
- package/dist/internal/server.js +81 -87
- package/dist/internal/session-cost.js +3 -3
- package/dist/internal/session-engine.d.ts +34 -0
- package/dist/internal/session-engine.d.ts.map +1 -1
- package/dist/internal/session-engine.js +380 -184
- 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 +17 -0
- package/dist/internal/storage-coordinator.d.ts.map +1 -1
- package/dist/internal/storage-coordinator.js +111 -11
- 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.js +2 -2
- package/dist/storage-backends/cursor-hosted.d.ts +5 -17
- package/dist/storage-backends/cursor-hosted.d.ts.map +1 -1
- package/dist/storage-backends/cursor-hosted.js +6 -20
- package/dist/storage-backends/file-kv.js +7 -7
- package/dist/storage.d.ts +20 -2
- package/dist/storage.d.ts.map +1 -1
- package/dist/storage.js +7 -6
- package/dist/types.d.ts +67 -11
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +12 -4
- package/docs/README.md +83 -152
- package/docs/building-with-agents.md +13 -15
- package/docs/deployment.md +6 -7
- package/docs/evals.md +5 -5
- package/docs/guides/agent-to-agent.md +41 -84
- package/docs/guides/cloud-agents.md +25 -20
- package/docs/guides/github.md +1 -1
- 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 +3 -4
- package/docs/hillclimbing.md +5 -5
- package/docs/quickstart.md +45 -106
- package/docs/reference/channels.md +0 -16
- package/docs/reference/cli.md +0 -16
- package/docs/reference/connections.md +3 -5
- package/docs/reference/extensions.md +2 -2
- package/docs/reference/hooks.md +2 -4
- package/docs/reference/http-api.md +5 -5
- package/docs/reference/playground.md +2 -2
- package/docs/reference/project-layout.md +3 -4
- package/docs/reference/sessions.md +5 -4
- package/docs/reference/subagents.md +2 -4
- package/docs/reference/tools.md +2 -5
- package/docs/troubleshooting.md +1 -2
- package/package.json +55 -37
- package/skills/framework-map/SKILL.md +2 -2
- package/skills/otel/SKILL.md +8 -18
- package/src/bin/agent-serve.ts +93 -72
- package/src/channels/bitbucket/api.ts +8 -8
- package/src/channels/bitbucket/binding.ts +4 -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/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/binding.ts +4 -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/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 +299 -170
- 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 +73 -13
- 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/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 -36
- 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 +1 -1
- package/src/internal/authored-loaders.ts +2 -3
- package/src/internal/builtin-tools/reminders.ts +2 -2
- package/src/internal/chat-client.ts +5 -5
- package/src/internal/cli-ax.ts +84 -14
- 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-identity.ts +13 -9
- 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 +14 -6
- 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 -3
- package/src/internal/discovery/extensions.ts +6 -6
- package/src/internal/discovery/info.ts +9 -9
- package/src/internal/discovery/instructions.ts +1 -1
- package/src/internal/discovery/project.ts +4 -4
- 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 -20
- 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 +104 -4
- package/src/internal/framework-storage-selection.ts +2 -12
- 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 +1 -1
- package/src/internal/inline-stdio-mcp.ts +2 -2
- package/src/internal/install-cursor-skills.ts +11 -11
- 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 +2 -2
- package/src/internal/schedule-runner.ts +6 -6
- package/src/internal/scm/pr-url.ts +11 -2
- package/src/internal/sdk-runner.ts +14 -28
- package/src/internal/serve-restart.ts +1 -1
- package/src/internal/server.ts +97 -99
- package/src/internal/session-cost.ts +3 -3
- package/src/internal/session-engine.ts +504 -244
- 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 +118 -21
- 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 +2 -2
- package/src/storage-backends/cursor-hosted.ts +6 -23
- package/src/storage-backends/file-kv.ts +7 -7
- package/src/storage.ts +22 -7
- package/src/types.ts +82 -17
- 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/agent/lib/collect.ts +6 -2
- package/templates/demo/agent/lib/repos.ts +1 -1
- package/templates/demo/agent/tools/record_demo.ts +1 -1
- package/templates/demo/evals/demo.eval.ts +1 -5
- 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/client.d.ts +0 -14
- package/dist/client.d.ts.map +0 -1
- package/dist/client.js +0 -12
- package/dist/docs/assets/app.Cr-wVbnB.js +0 -1
- package/dist/docs/assets/chunks/@localSearchIndexroot.CFVQ4S17.js +0 -1
- package/dist/docs/assets/chunks/framework.BCISBCiQ.js +0 -19
- package/dist/docs/assets/concepts.md.B4o63Gul.js +0 -1
- package/dist/docs/assets/concepts.md.B4o63Gul.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.BOiVo1tf.js +0 -4
- package/dist/docs/assets/hillclimbing.md.BOiVo1tf.lean.js +0 -1
- package/dist/docs/assets/index.md.DD9Q2XuJ.js +0 -5
- package/dist/docs/assets/index.md.DD9Q2XuJ.lean.js +0 -1
- package/dist/docs/assets/quickstart.md.DdQOF7Y8.lean.js +0 -1
- 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/scaffolding-agents.md.Kctn3OVb.js +0 -1
- package/dist/docs/assets/scaffolding-agents.md.Kctn3OVb.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_deploy.md.CWqi_ZxW.js +0 -35
- package/dist/docs/assets/skills_deploy.md.CWqi_ZxW.lean.js +0 -1
- package/dist/docs/assets/skills_evals.md.DFxYPErF.js +0 -25
- package/dist/docs/assets/skills_evals.md.DFxYPErF.lean.js +0 -1
- package/dist/docs/assets/skills_framework-map.md.BxLSOhSY.js +0 -1
- package/dist/docs/assets/skills_framework-map.md.BxLSOhSY.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.DL7EHaQ-.js +0 -1
- package/dist/docs/assets/skills_index.md.DL7EHaQ-.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.BUrhJ-Zz.js +0 -30
- package/dist/docs/assets/storage.md.BUrhJ-Zz.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 -166
- 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/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/deploy.html +0 -61
- package/dist/docs/skills/deploy.md +0 -161
- package/dist/docs/skills/evals.html +0 -51
- package/dist/docs/skills/evals.md +0 -137
- package/dist/docs/skills/framework-map.html +0 -27
- package/dist/docs/skills/framework-map.md +0 -99
- 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 -167
- 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/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-Bhxzrcf6.css +0 -1
- package/dist/playground/assets/index-CqLX5uF3.js +0 -67
- package/docs/concepts.md +0 -171
- 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 -172
- 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/src/client.ts +0 -23
- 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/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. <a href="./evals.html">Evals</a> 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></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,10 +0,0 @@
|
|
|
1
|
-
import{_ as t,c as s,o as a,ag as n}from"./chunks/framework.BCISBCiQ.js";const g=JSON.parse('{"title":"Agent-to-agent","description":"Every agent is an MCP server. Peer MCP connections let one agent delegate to another that keeps its own tools, sessions, and context.","frontmatter":{"title":"Agent-to-agent","description":"Every agent is an MCP server. Peer MCP connections let one agent delegate to another that keeps its own tools, sessions, and context."},"headers":[],"relativePath":"guides/agent-to-agent.md","filePath":"guides/agent-to-agent.md"}'),o={name:"guides/agent-to-agent.md"};function i(r,e,h,l,d,c){return a(),s("div",null,[...e[0]||(e[0]=[n(`<h1 id="agent-to-agent" tabindex="-1">Agent-to-agent <a class="header-anchor" href="#agent-to-agent" aria-label="Permalink to "Agent-to-agent""></a></h1><p>Every mounted agent is also an MCP server. So agents can delegate to each other without extra infrastructure. One agent hands a question to another, and the peer answers in its own session with its own instructions, tools, and context. Any external MCP client can do the same. A peer MCP connection makes the wiring one line.</p><p>This guide wires a <code>concierge</code> agent that delegates weather questions to a <code>weather-agent</code> peer mounted on the same host.</p><h2 id="mcp-endpoint" tabindex="-1">MCP endpoint <a class="header-anchor" href="#mcp-endpoint" aria-label="Permalink to "MCP endpoint""></a></h2><p>Each agent serves the Model Context Protocol over streamable HTTP at <code>/<slug>/v1/mcp</code> (or <code>/v1/mcp</code> in single mode). The surface is stateless (session identity travels in tool arguments) and runs the same route auth chain as the session API. It exposes three tools:</p><table tabindex="0"><thead><tr><th>Tool</th><th>Behavior</th></tr></thead><tbody><tr><td><code>ask</code></td><td>Send a message. Runs a model turn in this agent's own session and returns <code>{ status, sessionId, reply }</code>. Omit <code>sessionId</code> for a fresh session; pass it back to follow up.</td></tr><tr><td><code>check</code></td><td>Wait for or poll a running session (<code>waitSeconds: 0</code> polls without blocking).</td></tr><tr><td><code>call_tool</code></td><td>Call one of the agent's server tools directly, no model turn. Registered only when the agent has server tools.</td></tr></tbody></table><p>Waits are bounded at roughly 50 seconds, below typical MCP client request timeouts: a long turn returns <code>status: "running"</code> and the caller keeps waiting with <code>check</code>. Sessions created this way live on the <code>mcp</code> channel, bind to the calling principal, and show up in the playground and <code>GET /v1/sessions</code> like any other session.</p><p>Any MCP client can attach to this endpoint. It isn't only for other Agent SDK agents.</p><h2 id="wire-a-peer-mcp-connection" tabindex="-1">Wire a peer MCP connection <a class="header-anchor" href="#wire-a-peer-mcp-connection" aria-label="Permalink to "Wire a peer MCP connection""></a></h2><p>A peer MCP connection points one agent at another mounted on the same serve host. Author an MCP connection whose transport is the peer's slug:</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;">// agents/concierge/agent/mcp-connections/weather.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;"> { defineConnection } </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">from</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> "@cursor/july/connections"</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;"> defineConnection</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">({</span></span>
|
|
5
|
-
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> agent: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"weather-agent"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
|
|
6
|
-
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> description: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"Delegate weather questions to the weather agent."</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
|
|
7
|
-
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">});</span></span></code></pre></div><p>The parent model now sees the peer's <code>ask</code> and <code>check</code> (and <code>call_tool</code>) tools under the <code>weather</code> server name. It reads like subagent delegation, except the peer is a full agent that keeps its own instructions, tools, MCP connections, and sessions.</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;"> ./agents</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --dev</span></span>
|
|
8
|
-
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">agent-sdk</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> chat</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --url</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> http://127.0.0.1:3000/concierge</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> \\</span></span>
|
|
9
|
-
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --message</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> "What's the weather in Paris right now?"</span></span>
|
|
10
|
-
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># concierge → weather.ask → weather-agent's own session/tools → reply</span></span></code></pre></div><h2 id="peer-or-subagent" tabindex="-1">Peer or subagent? <a class="header-anchor" href="#peer-or-subagent" aria-label="Permalink to "Peer or subagent?""></a></h2><p>The two delegation mechanisms solve different problems.</p><table tabindex="0"><thead><tr><th></th><th>Subagent (<code>agent/subagents/<id>/</code>)</th><th>Peer (<code>defineConnection({ agent })</code>)</th></tr></thead><tbody><tr><td>Runs as</td><td>an SDK custom subagent inside the parent's harness</td><td>an independent agent on the same host</td></tr><tr><td>Own tools, MCP connections, sessions</td><td>no, inherits the parent's surface</td><td>yes, everything is its own</td></tr><tr><td>Visible to others</td><td>only its parent</td><td>any MCP client, other agents, its own playground</td></tr><tr><td>Reach for it when</td><td>splitting one job into specialist roles</td><td>composing independently useful agents</td></tr></tbody></table><h2 id="how-peer-urls-resolve" tabindex="-1">How peer URLs resolve <a class="header-anchor" href="#how-peer-urls-resolve" aria-label="Permalink to "How peer URLs resolve""></a></h2><p>Peer URLs resolve when the server starts, so the ephemeral ports <code>run</code> and <code>eval</code> use work too. Local-runtime turns (and host-side <code>ctx.host.mcp</code> or channel-handler calls) reach the peer over loopback, which works under the default auth. Cloud-runtime turns execute on a VM that cannot reach this host's loopback address: pass <code>--public-url https://agent-sdk.example.com</code> (or <code>serve(dir, { publicUrl })</code>) so peers resolve to a reachable URL. Without one, peers are omitted from cloud turns and the server warns at startup. With <code>--bearer-token</code>, the token is attached to peer calls automatically so they pass the target agent's auth chain.</p><h2 id="guardrails" tabindex="-1">Guardrails <a class="header-anchor" href="#guardrails" aria-label="Permalink to "Guardrails""></a></h2><p>Unknown peer slugs and self-references fail <code>serve</code> at startup, so you find out immediately rather than at delegation time. Peers require the multi-agent layout (each agent mounted under its slug, the default).</p><p>The framework does not provide cross-host loop protection. If agent A's instructions delegate to B and B's delegate back to A, they can recurse. Scope each agent's delegation instructions narrowly. The concierge delegates <em>weather questions</em> to <code>weather-agent</code>, not everything.</p><h2 id="call-a-peer-from-host-code" tabindex="-1">Call a peer from host code <a class="header-anchor" href="#call-a-peer-from-host-code" aria-label="Permalink to "Call a peer from host code""></a></h2><p>Peer MCP connections are ordinary MCP connections, so deterministic host code can use them too. A channel handler or server tool can call <code>host.mcp.callTool("weather", "ask", { message: "…" })</code> without any model turn deciding to. See <a href="./../reference/connections.html#every-model-visible-mcp-connection-is-available-in-three-places">MCP connections</a> for the three places every model-visible MCP connection is available.</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="./../reference/connections.html">MCP connections</a>: all four MCP connection transports</li><li><a href="./../reference/subagents.html">Subagents</a>: the in-harness alternative</li><li><a href="./../reference/http-api.html#mcp-endpoint">HTTP API</a>: the endpoint contract</li></ul>`,26)])])}const u=t(o,[["render",i]]);export{g as __pageData,u as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{_ as t,c as s,o as a,ag as n}from"./chunks/framework.BCISBCiQ.js";const g=JSON.parse('{"title":"Agent-to-agent","description":"Every agent is an MCP server. Peer MCP connections let one agent delegate to another that keeps its own tools, sessions, and context.","frontmatter":{"title":"Agent-to-agent","description":"Every agent is an MCP server. Peer MCP connections let one agent delegate to another that keeps its own tools, sessions, and context."},"headers":[],"relativePath":"guides/agent-to-agent.md","filePath":"guides/agent-to-agent.md"}'),o={name:"guides/agent-to-agent.md"};function i(r,e,h,l,d,c){return a(),s("div",null,[...e[0]||(e[0]=[n("",26)])])}const u=t(o,[["render",i]]);export{g as __pageData,u as default};
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import{_ as e,c as a,o as s,ag as o}from"./chunks/framework.BCISBCiQ.js";const c=JSON.parse('{"title":"Cursor Grok Bot agents","description":"Let an agent-sdk agent talk to your Grok Bot agents: mount the extension, name the bots it may reach, and decide what needs approval.","frontmatter":{"title":"Cursor Grok Bot agents","description":"Let an agent-sdk agent talk to your Grok Bot agents: mount the extension, name the bots it may reach, and decide what needs approval."},"headers":[],"relativePath":"guides/grokbot-agents.md","filePath":"guides/grokbot-agents.md"}'),n={name:"guides/grokbot-agents.md"};function i(r,t,h,l,d,p){return s(),a("div",null,[...t[0]||(t[0]=[o(`<h1 id="cursor-grok-bot-agents" tabindex="-1">Cursor Grok Bot agents <a class="header-anchor" href="#cursor-grok-bot-agents" aria-label="Permalink to "Cursor Grok Bot agents""></a></h1><p>The <code>cursor-grokbot-agents</code> extension lets an agent send a message to one of your Grok Bot agents and read the reply. The Grok Bot keeps its own conversation, memory, and tools. Your agent stays where it is and consults that bot the way you would in the Grok Bot app.</p><p>This is different from moving this agent's turns onto a hosted Grok Bot. The extension keeps the agent where it is and lets it talk to <em>other</em> Grok Bot agents.</p><h2 id="mount-it" tabindex="-1">Mount it <a class="header-anchor" href="#mount-it" aria-label="Permalink to "Mount it""></a></h2><p>The extension ships with <code>@cursor/july</code>. Mount it with one file.</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;">// agent/extensions/grokbot.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;"> cursorGrokBotAgents </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">from</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> "@cursor/july/extensions/cursor-grokbot-agents"</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;"> cursorGrokBotAgents</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">({</span></span>
|
|
5
|
-
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> agents: [</span></span>
|
|
6
|
-
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> { name: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"Plan Keeper"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, description: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"Keeps or moves outdoor plans."</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> },</span></span>
|
|
7
|
-
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> { name: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"Chief of Staff"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, description: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"Routes work and tracks priorities."</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> },</span></span>
|
|
8
|
-
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> ],</span></span>
|
|
9
|
-
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">});</span></span></code></pre></div><p><code>agents</code> is the allowlist. List every Grok Bot the model may talk to; a name outside the list is refused. Calls run under the host's signed-in account (<code>agent-sdk login</code>, <code>CURSOR_API_KEY</code>, or <code>CURSOR_SERVICE_ACCOUNT_KEY</code>). Keep approval on when you can't.</p><p>Start from the <a href="./../templates/grokbot-agents.html">Grok Bot agents template</a> when you want a project that already mounts this.</p><h2 id="what-the-agent-can-do" tabindex="-1">What the agent can do <a class="header-anchor" href="#what-the-agent-can-do" aria-label="Permalink to "What the agent can do""></a></h2><p>With the extension mounted, the agent can consult a Grok Bot and stay in its own conversation:</p><ul><li><strong>Ask.</strong> Send a self-contained message to a Grok Bot by the name shown in the Grok Bot app. The message lands in your conversation with that bot. The tool waits for the bot's reply.</li><li><strong>Keep waiting.</strong> A long turn returns <code>status: "running"</code>. Call check with the same name to read what arrived since the last look.</li><li><strong>Stop a turn.</strong> Interrupt the bot's current work. The conversation stays; a later ask continues it.</li><li><strong>See who you can talk to.</strong> List the configured bots and the ones this caller has already asked. Add a name to <code>agents</code> when you want the model to reach another bot.</li></ul><p>A skill teaches the model when to bring a Grok Bot in, how to write a message the bot can act on alone, and how to wait or interrupt. The reply is what the Grok Bot sent to the person. If a turn finishes with no reply, the bot sent nothing; ask again with a clearer request, or open the bot in the Grok Bot app.</p><p>The tools reach Grok Bot agents on the signed-in account. A bot another user owns is out of reach. That separation is only as fine as your host's auth; a shared bearer token or <code>--allow-anonymous</code> makes every caller one principal, so use <a href="./../reference/channels.html#auth-policies">authored auth</a> when callers need their own.</p><h2 id="configure-it" tabindex="-1">Configure it <a class="header-anchor" href="#configure-it" aria-label="Permalink to "Configure it""></a></h2><table tabindex="0"><thead><tr><th>Option</th><th>What it controls</th></tr></thead><tbody><tr><td><code>agents</code></td><td>The Grok Bot agents the model may talk to, by the name shown in the app. A lone entry is the default when a call names none. Omit <code>agents</code> to allow any name; an unknown name creates an empty Grok Bot on the account.</td></tr><tr><td><code>needsApproval</code></td><td>Park asks for a <a href="./human-in-the-loop.html">human decision</a>. Defaults to <code>true</code> when no <code>agents</code> are configured, <code>false</code> otherwise.</td></tr><tr><td><code>apiKey</code></td><td>A Cursor API key to call with instead of the host's own.</td></tr></tbody></table><h2 id="adjust-it" tabindex="-1">Adjust it <a class="header-anchor" href="#adjust-it" aria-label="Permalink to "Adjust it""></a></h2><p>To take a capability away, such as interrupting a turn, mount as a directory and disable that tool; see <a href="./../reference/extensions.html#adjust-a-mounted-extension">overlays</a>.</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="./../templates/grokbot-agents.html">Grok Bot agents template</a>: scaffold an agent that already mounts this</li><li><a href="./../reference/extensions.html">Extensions</a>: how mounts, namespaces, and overrides work</li><li><a href="./human-in-the-loop.html">Human-in-the-loop approvals</a>: where parked asks get approved</li></ul>`,20)])])}const u=e(n,[["render",i]]);export{c as __pageData,u as default};
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import{_ as a,c as i,o as e,ag as t}from"./chunks/framework.BCISBCiQ.js";const c=JSON.parse('{"title":"Human-in-the-loop","description":"Gate a tool call on human approval: park it, resolve it from the playground, HTTP, or Slack, and keep the turn alive throughout.","frontmatter":{"title":"Human-in-the-loop","description":"Gate a tool call on human approval: park it, resolve it from the playground, HTTP, or Slack, and keep the turn alive throughout."},"headers":[],"relativePath":"guides/human-in-the-loop.md","filePath":"guides/human-in-the-loop.md"}'),n={name:"guides/human-in-the-loop.md"};function l(p,s,h,o,r,k){return e(),i("div",null,[...s[0]||(s[0]=[t(`<h1 id="human-in-the-loop-approvals" tabindex="-1">Human-in-the-loop approvals <a class="header-anchor" href="#human-in-the-loop-approvals" aria-label="Permalink to "Human-in-the-loop approvals""></a></h1><p>Some tools must wait for human review: promoting a build, approving a PR, spending money. Mark those tools <code>needsApproval</code> and the host parks the in-flight call until a person approves or denies it, from the playground, over HTTP, or with Slack buttons. The turn stays running; nothing executes until someone decides.</p><h2 id="gate-a-tool" tabindex="-1">Gate a tool <a class="header-anchor" href="#gate-a-tool" aria-label="Permalink to "Gate a tool""></a></h2><p>Mark the tool with <code>needsApproval</code> and export it like any other tool.</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;"> { defineTool } </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">from</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> "@cursor/july/tools"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">;</span></span>
|
|
2
|
-
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">import</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> { z } </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">from</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> "zod"</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;"> defineTool</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;">"Promote a verified build to production."</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
|
|
6
|
-
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> needsApproval: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">true</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
|
|
7
|
-
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> inputSchema: z.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">object</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">({</span></span>
|
|
8
|
-
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> service: z.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">string</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(),</span></span>
|
|
9
|
-
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> buildId: z.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">string</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(),</span></span>
|
|
10
|
-
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> }),</span></span>
|
|
11
|
-
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> async</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> execute</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">({ </span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">service</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, </span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">buildId</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> }) {</span></span>
|
|
12
|
-
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> return</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> {</span></span>
|
|
13
|
-
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> promoted: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">true</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
|
|
14
|
-
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> service,</span></span>
|
|
15
|
-
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> buildId,</span></span>
|
|
16
|
-
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> environment: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"production"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
|
|
17
|
-
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> };</span></span>
|
|
18
|
-
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> },</span></span>
|
|
19
|
-
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">});</span></span></code></pre></div><p><code>needsApproval</code> also takes a predicate over the validated input, so you can gate only the dangerous shapes:</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:#6F42C1;--shiki-dark:#B392F0;">needsApproval</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: (</span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">input</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;"> input.amountUsd </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">></span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> 100</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span></code></pre></div><h2 id="what-happens-to-a-gated-call" tabindex="-1">What happens to a gated call <a class="header-anchor" href="#what-happens-to-a-gated-call" aria-label="Permalink to "What happens to a gated call""></a></h2><p>When the model calls a <code>needsApproval</code> tool, the call parks and the session's stream emits <code>action.approval_requested</code> with the <code>callId</code>, tool name, and arguments. The turn stays running and waits. When a person resolves it, the stream emits <code>action.approval_resolved</code> with the decision and, where known, who decided. On approval, <code>execute</code> runs and <code>action.result</code> follows exactly as if the tool had run immediately. On denial, the model receives the denial as the tool result and continues the turn. It can explain, adjust, or try something else.</p><p>Approvals exist for <code>execution: "server"</code> tools on the local runtime only. Parked calls do not survive a host restart: pending approvals left after a crash resolve as interrupted, and you re-run the turn.</p><h2 id="resolve-from-the-playground" tabindex="-1">Resolve from the playground <a class="header-anchor" href="#resolve-from-the-playground" aria-label="Permalink to "Resolve from the playground""></a></h2><p>Parked calls render Approve / Deny buttons inline in the conversation. Nothing to configure.</p><h2 id="resolve-over-http" tabindex="-1">Resolve over HTTP <a class="header-anchor" href="#resolve-over-http" aria-label="Permalink to "Resolve over HTTP""></a></h2><p>List and resolve programmatically. The routes run the same auth chain as the rest of the session API, and the caller must be the session owner:</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;">curl</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> http://127.0.0.1:3000/</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"><</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">slu</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">g</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">></span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">/v1/session/ses_.../approvals</span></span>
|
|
20
|
-
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># {"approvals":[{"callId":"...","toolName":"approve_pr","args":{...}}]}</span></span>
|
|
21
|
-
<span class="line"></span>
|
|
22
|
-
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">curl</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -X</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> POST</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> http://127.0.0.1:3000/</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"><</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">slu</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">g</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">></span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">/v1/session/ses_.../approvals/</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"><</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">callI</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">d</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">></span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> \\</span></span>
|
|
23
|
-
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -H</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> 'content-type: application/json'</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> \\</span></span>
|
|
24
|
-
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -d</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> '{"decision":"approve"}'</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> # or "deny"</span></span></code></pre></div><h2 id="resolve-from-slack" tabindex="-1">Resolve from Slack <a class="header-anchor" href="#resolve-from-slack" aria-label="Permalink to "Resolve from Slack""></a></h2><p>Set <code>toolApprovals: true</code> on the Slack channel and the pack posts Block Kit Approve/Deny cards and routes the button clicks back to the parked call:</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;"> { slackChannel } </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">from</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> "@cursor/july/channels/slack"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">;</span></span>
|
|
25
|
-
<span class="line"></span>
|
|
26
|
-
<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;"> slackChannel</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">({</span></span>
|
|
27
|
-
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> toolApprovals: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">true</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
|
|
28
|
-
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">});</span></span></code></pre></div><p>Approval cards need interactivity on the Slack app. Cards show redacted, truncated arguments because of Block Kit size limits. Execution still uses the full validated input, so review sensitive tools in the playground when the arguments may exceed the card. Details in the <a href="./slack.html#add-approval-buttons">Slack guide</a>.</p><p>In <code>serve --dev</code>, the playground can also list Slack sessions and resolve their parked tools (the audit trail records the HTTP caller). That bridge does not open cross-owner approval for HTTP sessions, and production and bearer-auth hosts stay strict: Slack approvals must come from Slack interactivity or a matching principal.</p><h2 id="design-principles-for-approvals" tabindex="-1">Design principles for approvals <a class="header-anchor" href="#design-principles-for-approvals" aria-label="Permalink to "Design principles for approvals""></a></h2><p>Park/resume is independent of delivery: <code>needsApproval</code> works with no Slack channel at all, because the playground and HTTP surfaces are always there.</p><p>Prefer approval gates over trust in instructions. "Only call this tool when…" is a suggestion; <code>needsApproval</code> is a guarantee. And pair approvals with dry-run defaults for destructive integrations: post real PR reviews only behind an explicit env flag like <code>MY_AGENT_LIVE=1</code>, no matter who approved.</p><p>Deterministic tool calls (<code>agent-sdk call</code>, <code>POST /v1/tools/:name</code>) execute directly without parking. There the human is the caller. Approval parking applies to model-initiated calls.</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="./../reference/tools.html">Tools</a>: the full tool API <code>needsApproval</code> lives on</li><li><a href="./slack.html">Slack</a>: the approval cards in context</li><li><a href="./../reference/sessions.html">Sessions and streaming</a>: the <code>action.approval_*</code> events on the wire</li></ul>`,27)])])}const u=a(n,[["render",l]]);export{c as __pageData,u as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{_ as a,c as i,o as e,ag as t}from"./chunks/framework.BCISBCiQ.js";const c=JSON.parse('{"title":"Human-in-the-loop","description":"Gate a tool call on human approval: park it, resolve it from the playground, HTTP, or Slack, and keep the turn alive throughout.","frontmatter":{"title":"Human-in-the-loop","description":"Gate a tool call on human approval: park it, resolve it from the playground, HTTP, or Slack, and keep the turn alive throughout."},"headers":[],"relativePath":"guides/human-in-the-loop.md","filePath":"guides/human-in-the-loop.md"}'),n={name:"guides/human-in-the-loop.md"};function l(p,s,h,o,r,k){return e(),i("div",null,[...s[0]||(s[0]=[t("",27)])])}const u=a(n,[["render",l]]);export{c as __pageData,u as default};
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import{_ as t,c as i,o as a,ag as l}from"./chunks/framework.BCISBCiQ.js";const m=JSON.parse('{"title":"Hillclimbing","description":"Improve an agent one measured round at a time, with the hillclimb skill running the loop with you.","frontmatter":{"title":"Hillclimbing","description":"Improve an agent one measured round at a time, with the hillclimb skill running the loop with you."},"headers":[],"relativePath":"hillclimbing.md","filePath":"hillclimbing.md"}'),o={name:"hillclimbing.md"};function n(r,e,s,h,d,c){return a(),i("div",null,[...e[0]||(e[0]=[l(`<h1 id="hillclimbing" tabindex="-1">Hillclimbing <a class="header-anchor" href="#hillclimbing" aria-label="Permalink to "Hillclimbing""></a></h1><p>Make an agent better on fixed inputs: measure, change one lever, remeasure, and lock every kept win with an eval.</p><h2 id="what-is-hillclimbing" tabindex="-1">What is hillclimbing? <a class="header-anchor" href="#what-is-hillclimbing" aria-label="Permalink to "What is hillclimbing?""></a></h2><p>Hillclimbing is a measured improvement loop. You pin a few fixtures, name the one dominant problem in the run, change one lever, and check the same fixtures again. Keep only what helps. Every kept change lands an <a href="./evals.html">eval</a> so the win stays put.</p><p>You don't have to run the loop alone. The package ships a coding-agent skill that drives it with you.</p><div class="language-mermaid vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">mermaid</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;">flowchart LR</span></span>
|
|
2
|
-
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> measure[Measure] --> change[Change one lever]</span></span>
|
|
3
|
-
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> change --> remeasure[Remeasure]</span></span>
|
|
4
|
-
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> remeasure --> measure</span></span></code></pre></div><h2 id="how-do-i-hillclimb-an-agent-with-a-coding-agent" tabindex="-1">How do I hillclimb an agent with a coding agent? <a class="header-anchor" href="#how-do-i-hillclimb-an-agent-with-a-coding-agent" aria-label="Permalink to "How do I hillclimb an agent with a coding agent?""></a></h2><p>Have Cursor read <a href="./skills/hillclimb.html"><code>skills/hillclimb/SKILL.md</code></a>.</p><p>Tell it:</p><ol><li><strong>Which agent</strong> you're improving (path or slug)</li><li><strong>One to three fixtures</strong> you'll reuse every round: a PR URL, a saved webhook body, or a canonical chat prompt</li><li><strong>What "better" means</strong> this round: correct tool choice, fewer tools, lower latency, or output quality. Name the freeze line too: API shape, public output, and existing evals that must stay green</li></ol><p>The skill serves the agent, hits your fixtures, reads the session trajectory, proposes one change, remeasures, and checks with you before the next round.</p><p>Other skills cover the edges:</p><table tabindex="0"><thead><tr><th>When you need…</th><th>Skill</th></tr></thead><tbody><tr><td>The measured improvement loop</td><td><a href="./skills/hillclimb.html"><code>skills/hillclimb/SKILL.md</code></a></td></tr><tr><td>An eval that locks a kept win</td><td><a href="./skills/evals.html"><code>skills/evals/SKILL.md</code></a></td></tr><tr><td>Repeatable GitHub webhook inputs</td><td><a href="./skills/github.html"><code>skills/github/SKILL.md</code></a></td></tr><tr><td>A run that misbehaves</td><td><a href="./skills/debug.html"><code>skills/debug/SKILL.md</code></a></td></tr></tbody></table><p>See <a href="./building-with-agents.html">Building agents with agents</a> for every framework skill and a good first prompt.</p><h2 id="what-do-i-need-before-a-hillclimb-round" tabindex="-1">What do I need before a hillclimb round? <a class="header-anchor" href="#what-do-i-need-before-a-hillclimb-round" aria-label="Permalink to "What do I need before a hillclimb round?""></a></h2><p>Agree on four things before you edit:</p><ol><li><strong>The target agent</strong>: the project you're improving</li><li><strong>Fixtures</strong>: one to three fixed inputs you can compare across runs</li><li><strong>Success criteria</strong>: what better means this round</li><li><strong>The freeze line</strong>: what must not change</li></ol><p>Pin the input first. A moving fixture is noise. For GitHub agents, use <code>agent-sdk github replay</code> (see the <a href="./guides/github.html">GitHub guide</a>). For a single tool without a model turn, use <code>agent-sdk call</code>. For a chat turn, use <code>agent-sdk run --dir . --message "…"</code>.</p><h2 id="how-do-i-run-one-hillclimb-round" tabindex="-1">How do I run one hillclimb round? <a class="header-anchor" href="#how-do-i-run-one-hillclimb-round" aria-label="Permalink to "How do I run one hillclimb round?""></a></h2><p><strong>Measure.</strong> Hit the agent the way a user would: playground, channel HTTP, or Slack in <code>--dev</code>. Or ask the hillclimb skill to do it. <code>agent-sdk run</code> returns a JSON trajectory and writes a trace under the project state directory.</p><p><strong>Reflect.</strong> Score the trajectory, not impressions. Was the answer right? Did the model thrash (too many tools, fat evidence, grep loops)? Did it invent work the host should have prepared? Name the single dominant problem for this round in one sentence. Example: "Full-file dumps trigger grep loops."</p><p><strong>Change one lever.</strong> Prefer the smallest change that addresses that problem:</p><ol><li>Host prep: seed what the model needs so it doesn't hunt</li><li>Evidence shape: trim or reorder artifacts</li><li>Instructions and skills: tighten the procedure</li><li>Tool surface: remove or gate tools that invite wandering</li><li>Framework changes: only when the agent can't express the fix</li></ol><p><strong>Remeasure.</strong> Same fixtures. Diff tools, wall time, and quality side by side. Keep the change only if the target metric improves and the freeze line holds.</p><h2 id="how-do-i-lock-a-hillclimb-improvement-with-an-eval" tabindex="-1">How do I lock a hillclimb improvement with an eval? <a class="header-anchor" href="#how-do-i-lock-a-hillclimb-improvement-with-an-eval" aria-label="Permalink to "How do I lock a hillclimb improvement with an eval?""></a></h2><p>Every kept change needs an eval that would have failed before the change: a tool-choice gate, a <code>maxToolCalls</code> bound, or an output-shape check. Run <code>agent-sdk eval --dir . --json</code> between rounds. Never weaken an existing gate to pass the round.</p><p>Details live in <a href="./evals.html#keep-improvements-with-regression-evals">Keep improvements with regression evals</a>. The evals skill will author the case with you.</p><h2 id="what-habits-help-hillclimbing-stay-reliable" tabindex="-1">What habits help hillclimbing stay reliable? <a class="header-anchor" href="#what-habits-help-hillclimbing-stay-reliable" aria-label="Permalink to "What habits help hillclimbing stay reliable?""></a></h2><ul><li>One problem per round. Don't bundle "trim evidence and rewrite instructions" unless you chose that on purpose.</li><li>Keep fixtures fixed until you deliberately need a harder case.</li><li>Separate host work from model tools when you blame latency. Moving deterministic prep onto the host is often the biggest win. In one PR reviewer, host-prepared evidence cut turns from about 8 minutes to about 1 minute.</li><li>Spot-check quality on at least one fixture against a known-good answer. Efficiency-only climbs quietly drop findings.</li><li>Treat <code>turn.failed</code> with <code>"turn interrupted"</code> as expected when a follow-up or stop preempted the turn.</li><li>Don't deploy, post to real surfaces, or weaken evals as part of a climb.</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="./evals.html">Evals</a></li><li><a href="./building-with-agents.html">Building agents with agents</a></li><li><a href="./guides/github.html">GitHub guide</a></li><li><a href="./troubleshooting.html">Fix common agent problems</a></li></ul>`,31)])])}const p=t(o,[["render",n]]);export{m as __pageData,p as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{_ as t,c as i,o as a,ag as l}from"./chunks/framework.BCISBCiQ.js";const m=JSON.parse('{"title":"Hillclimbing","description":"Improve an agent one measured round at a time, with the hillclimb skill running the loop with you.","frontmatter":{"title":"Hillclimbing","description":"Improve an agent one measured round at a time, with the hillclimb skill running the loop with you."},"headers":[],"relativePath":"hillclimbing.md","filePath":"hillclimbing.md"}'),o={name:"hillclimbing.md"};function n(r,e,s,h,d,c){return a(),i("div",null,[...e[0]||(e[0]=[l("",31)])])}const p=t(o,[["render",n]]);export{m as __pageData,p as default};
|