@cursor/bdk 0.2.11 → 0.2.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bin/agent-serve.js +28 -26
- 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.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.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.js +3 -3
- package/dist/channels/github/events.js +1 -1
- package/dist/channels/github/forward.js +8 -8
- package/dist/channels/github/github-channel.js +2 -2
- package/dist/channels/github/index.d.ts +22 -12
- package/dist/channels/github/index.d.ts.map +1 -1
- package/dist/channels/github/index.js +11 -12
- package/dist/channels/gitlab/binding.js +4 -4
- 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.js +3 -3
- package/dist/channels/origin/checks.js +1 -1
- package/dist/channels/origin/cursor-account.js +1 -1
- package/dist/channels/origin/events.js +1 -1
- package/dist/channels/origin/index.d.ts +21 -11
- package/dist/channels/origin/index.d.ts.map +1 -1
- package/dist/channels/origin/index.js +10 -11
- package/dist/channels/origin/origin-channel.js +1 -1
- package/dist/channels/origin/origin-webhook.js +2 -2
- package/dist/channels/slack/agentic-delivery.js +3 -3
- package/dist/channels/slack/agentic-signals.js +1 -1
- package/dist/channels/slack/api.js +5 -5
- package/dist/channels/slack/approvals.js +1 -1
- package/dist/channels/slack/attachments.js +3 -3
- package/dist/channels/slack/blocks.js +3 -3
- package/dist/channels/slack/bot-mentions.js +4 -4
- package/dist/channels/slack/channel-watch.js +4 -4
- package/dist/channels/slack/cli-project.js +3 -3
- package/dist/channels/slack/dispatch.js +1 -1
- package/dist/channels/slack/doctor.js +1 -1
- package/dist/channels/slack/eval-directive.js +1 -1
- package/dist/channels/slack/footer.js +1 -1
- package/dist/channels/slack/interactive.js +2 -2
- 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/recording-sink.js +6 -6
- package/dist/channels/slack/reply-options.js +6 -6
- package/dist/channels/slack/self-identity.d.ts +7 -4
- package/dist/channels/slack/self-identity.d.ts.map +1 -1
- package/dist/channels/slack/self-identity.js +17 -8
- package/dist/channels/slack/sender-name.d.ts.map +1 -1
- package/dist/channels/slack/sender-name.js +2 -6
- package/dist/channels/slack/setup.d.ts.map +1 -1
- package/dist/channels/slack/setup.js +1 -1
- package/dist/channels/slack/slack-channel.js +2 -2
- package/dist/channels/slack/socket-mode.js +2 -2
- package/dist/channels/slack/thread-context.js +8 -8
- package/dist/channels/slack/tool-cards.js +1 -1
- package/dist/channels/slack/user-info.d.ts +2 -1
- package/dist/channels/slack/user-info.d.ts.map +1 -1
- package/dist/channels/slack/user-info.js +16 -1
- package/dist/channels.js +1 -1
- package/dist/docs/404.html +3 -3
- package/dist/docs/assets/{app.DXI7bwox.js → app.CaLG1pPt.js} +4 -4
- package/dist/docs/assets/chunks/@localSearchIndexroot.DvlKuIO-.js +1 -0
- package/dist/docs/assets/chunks/{VPLocalSearchBox.BrbO5mEe.js → VPLocalSearchBox.YsP_2wqD.js} +2 -2
- package/dist/docs/assets/chunks/{arc.BOG1yms8.js → arc.C2j9hR7c.js} +1 -1
- package/dist/docs/assets/chunks/{architectureDiagram-Q4EWVU46.C0hsMZnZ.js → architectureDiagram-Q4EWVU46.C5qkGp7y.js} +1 -1
- package/dist/docs/assets/chunks/{baseUniq.H044KjKs.js → baseUniq.U6GgTHOD.js} +1 -1
- package/dist/docs/assets/chunks/{blockDiagram-DXYQGD6D.BsRW6GoB.js → blockDiagram-DXYQGD6D.D51mJop2.js} +1 -1
- package/dist/docs/assets/chunks/{c4Diagram-AHTNJAMY.B9HV5PFR.js → c4Diagram-AHTNJAMY.w1d6QxV7.js} +1 -1
- package/dist/docs/assets/chunks/channel.BRSFxCcD.js +1 -0
- package/dist/docs/assets/chunks/{chunk-4BX2VUAB.CPoT_ajl.js → chunk-4BX2VUAB.B_A815un.js} +1 -1
- package/dist/docs/assets/chunks/{chunk-4TB4RGXK.DZBwWuCL.js → chunk-4TB4RGXK.DMrm-ZCb.js} +1 -1
- package/dist/docs/assets/chunks/{chunk-55IACEB6.CZ3yTiyq.js → chunk-55IACEB6.8qw6Xdal.js} +1 -1
- package/dist/docs/assets/chunks/{chunk-EDXVE4YY.6DfvHSd8.js → chunk-EDXVE4YY.Cq_nHODn.js} +1 -1
- package/dist/docs/assets/chunks/{chunk-FMBD7UC4.CpBj8HfK.js → chunk-FMBD7UC4.B67ohCYn.js} +1 -1
- package/dist/docs/assets/chunks/{chunk-OYMX7WX6.BdKo8YqS.js → chunk-OYMX7WX6.Bo8rQI8F.js} +1 -1
- package/dist/docs/assets/chunks/{chunk-QZHKN3VN.BnXNyxJx.js → chunk-QZHKN3VN.BERUMfE9.js} +1 -1
- package/dist/docs/assets/chunks/{chunk-YZCP3GAM.Cg1OcF8G.js → chunk-YZCP3GAM.DWG2tXIX.js} +1 -1
- package/dist/docs/assets/chunks/classDiagram-6PBFFD2Q.Cmtm6WkN.js +1 -0
- package/dist/docs/assets/chunks/classDiagram-v2-HSJHXN6E.Cmtm6WkN.js +1 -0
- package/dist/docs/assets/chunks/clone.JMC96Eo6.js +1 -0
- package/dist/docs/assets/chunks/{cose-bilkent-S5V4N54A.1SP8al9c.js → cose-bilkent-S5V4N54A.tezXBs9b.js} +1 -1
- package/dist/docs/assets/chunks/{dagre-KV5264BT.DS1L6hJt.js → dagre-KV5264BT.aSbEUwT7.js} +1 -1
- package/dist/docs/assets/chunks/{diagram-5BDNPKRD.ChsausbG.js → diagram-5BDNPKRD.vnT6aJ57.js} +1 -1
- package/dist/docs/assets/chunks/{diagram-G4DWMVQ6.3XsptNWj.js → diagram-G4DWMVQ6.hGYdrDa2.js} +1 -1
- package/dist/docs/assets/chunks/{diagram-MMDJMWI5.DPA9Dk_P.js → diagram-MMDJMWI5.CmdSUP6L.js} +1 -1
- package/dist/docs/assets/chunks/{diagram-TYMM5635.BVswXWrB.js → diagram-TYMM5635.BbAnLEBB.js} +1 -1
- package/dist/docs/assets/chunks/{erDiagram-SMLLAGMA.BSak5OSP.js → erDiagram-SMLLAGMA.H40W4HWE.js} +1 -1
- package/dist/docs/assets/chunks/{flowDiagram-DWJPFMVM.CQgN4TTz.js → flowDiagram-DWJPFMVM.BFMtUSv-.js} +1 -1
- package/dist/docs/assets/chunks/{ganttDiagram-T4ZO3ILL.GrT0kA4a.js → ganttDiagram-T4ZO3ILL.CbYiu7Dt.js} +1 -1
- package/dist/docs/assets/chunks/{gitGraphDiagram-UUTBAWPF.CdS7Ucll.js → gitGraphDiagram-UUTBAWPF.Cyc5mzZD.js} +1 -1
- package/dist/docs/assets/chunks/{graph.BVqKRmRo.js → graph.BRptDG1H.js} +1 -1
- package/dist/docs/assets/chunks/{infoDiagram-42DDH7IO.C3C9FRto.js → infoDiagram-42DDH7IO.Bz6KCA3a.js} +1 -1
- package/dist/docs/assets/chunks/{ishikawaDiagram-UXIWVN3A.2FuAh_Zj.js → ishikawaDiagram-UXIWVN3A.DDJ_7_Fq.js} +1 -1
- package/dist/docs/assets/chunks/{journeyDiagram-VCZTEJTY.CaHMfK4b.js → journeyDiagram-VCZTEJTY.D0t_ltlb.js} +1 -1
- package/dist/docs/assets/chunks/{kanban-definition-6JOO6SKY.CjhIUwcA.js → kanban-definition-6JOO6SKY.DyyNsMfi.js} +1 -1
- package/dist/docs/assets/chunks/{layout.CGU3gfSf.js → layout.Cbxq-Rhp.js} +1 -1
- package/dist/docs/assets/chunks/{linear.DaihpW_n.js → linear.DxGYL0MP.js} +1 -1
- package/dist/docs/assets/chunks/{min.BS-j8kHQ.js → min.DA5KL8wu.js} +1 -1
- package/dist/docs/assets/chunks/{mindmap-definition-QFDTVHPH.BVJ1Bbnk.js → mindmap-definition-QFDTVHPH.Bc72Utls.js} +1 -1
- package/dist/docs/assets/chunks/{pieDiagram-DEJITSTG.Cz1WIv9r.js → pieDiagram-DEJITSTG.BtpHnIB_.js} +1 -1
- package/dist/docs/assets/chunks/{quadrantDiagram-34T5L4WZ.DKLFxcjy.js → quadrantDiagram-34T5L4WZ.Cx4oCSRR.js} +1 -1
- package/dist/docs/assets/chunks/{requirementDiagram-MS252O5E.BHegiK7x.js → requirementDiagram-MS252O5E.BC0hXWlW.js} +1 -1
- package/dist/docs/assets/chunks/{sankeyDiagram-XADWPNL6.DYkY6yPc.js → sankeyDiagram-XADWPNL6.Dg8T1SEp.js} +1 -1
- package/dist/docs/assets/chunks/{sequenceDiagram-FGHM5R23.DYQ1QUrI.js → sequenceDiagram-FGHM5R23.CWSdHYAF.js} +1 -1
- package/dist/docs/assets/chunks/{stateDiagram-FHFEXIEX.Iru8BsFo.js → stateDiagram-FHFEXIEX.0MVPRI28.js} +1 -1
- package/dist/docs/assets/chunks/stateDiagram-v2-QKLJ7IA2.N4Am6sXd.js +1 -0
- package/dist/docs/assets/chunks/{theme.DaplWQhQ.js → theme.DO1avLBn.js} +2 -2
- package/dist/docs/assets/chunks/{timeline-definition-GMOUNBTQ.BwFA8hiX.js → timeline-definition-GMOUNBTQ.BuRinAVi.js} +1 -1
- package/dist/docs/assets/chunks/{vennDiagram-DHZGUBPP.CZ60W1C_.js → vennDiagram-DHZGUBPP.DXf0PCoJ.js} +1 -1
- package/dist/docs/assets/chunks/wardley-RL74JXVD._eATmGtu.js +162 -0
- package/dist/docs/assets/chunks/{wardleyDiagram-NUSXRM2D.B69D2r8-.js → wardleyDiagram-NUSXRM2D.T4ThngYV.js} +1 -1
- package/dist/docs/assets/chunks/{xychartDiagram-5P7HB3ND.CLPZEIU9.js → xychartDiagram-5P7HB3ND.b4pZF3D5.js} +1 -1
- package/dist/docs/assets/{reference_connections.md.Bljpve-y.js → reference_connections.md.DLrgAd5f.js} +1 -1
- package/dist/docs/assets/{reference_hooks.md.C5LCJ1R3.js → reference_hooks.md.B-eGa2km.js} +3 -3
- package/dist/docs/assets/{reference_hooks.md.C5LCJ1R3.lean.js → reference_hooks.md.B-eGa2km.lean.js} +1 -1
- package/dist/docs/assets/{reference_sessions.md.CM5zo3w4.js → reference_sessions.md.CyM7ARz1.js} +1 -1
- package/dist/docs/assets/{reference_skills.md.ClkMoQsV.js → reference_skills.md.C0guGcH0.js} +3 -3
- package/dist/docs/assets/{reference_tools.md.v3SXVSs_.js → reference_tools.md.DzIY9JzY.js} +3 -3
- package/dist/docs/assets/{reference_tools.md.v3SXVSs_.lean.js → reference_tools.md.DzIY9JzY.lean.js} +1 -1
- package/dist/docs/assets/{style.C130MVnH.css → style.Dwls12uf.css} +1 -1
- package/dist/docs/building-with-agents.html +37 -37
- package/dist/docs/deployment.html +37 -37
- package/dist/docs/evals.html +37 -37
- package/dist/docs/guides/agent-to-agent.html +37 -37
- package/dist/docs/guides/bitbucket.html +37 -37
- package/dist/docs/guides/cloud-agents.html +37 -37
- package/dist/docs/guides/convert-automation.html +37 -37
- package/dist/docs/guides/github.html +37 -37
- package/dist/docs/guides/gitlab.html +37 -37
- package/dist/docs/guides/grokbot-agents.html +37 -37
- package/dist/docs/guides/hooks.html +37 -37
- package/dist/docs/guides/improve.html +37 -37
- package/dist/docs/guides/jev.html +37 -37
- package/dist/docs/guides/mcp-oauth.html +37 -37
- package/dist/docs/guides/migrate.html +37 -37
- package/dist/docs/guides/opentelemetry.html +37 -37
- package/dist/docs/guides/slack.html +37 -37
- package/dist/docs/guides/webhooks.html +37 -37
- package/dist/docs/hashmap.json +1 -1
- package/dist/docs/hillclimbing.html +37 -37
- package/dist/docs/index.html +37 -37
- package/dist/docs/llms-full.txt +15 -2
- package/dist/docs/quickstart.html +37 -37
- package/dist/docs/reference/agent-config.html +37 -37
- package/dist/docs/reference/artifacts.html +37 -37
- package/dist/docs/reference/channels.html +37 -37
- package/dist/docs/reference/cli.html +37 -37
- package/dist/docs/reference/connections.html +39 -39
- package/dist/docs/reference/connections.md +2 -1
- package/dist/docs/reference/evals.html +37 -37
- package/dist/docs/reference/extensions.html +37 -37
- package/dist/docs/reference/hooks.html +39 -39
- package/dist/docs/reference/hooks.md +1 -0
- package/dist/docs/reference/http-api.html +37 -37
- package/dist/docs/reference/instructions.html +37 -37
- package/dist/docs/reference/playground.html +36 -36
- package/dist/docs/reference/project-layout.html +37 -37
- package/dist/docs/reference/prompt.html +37 -37
- package/dist/docs/reference/schedules.html +37 -37
- package/dist/docs/reference/sessions.html +37 -37
- package/dist/docs/reference/sessions.md +1 -1
- package/dist/docs/reference/skills.html +40 -40
- package/dist/docs/reference/subagents.html +37 -37
- package/dist/docs/reference/tools.html +39 -39
- package/dist/docs/reference/tools.md +11 -0
- package/dist/docs/templates/agentic-owners.html +37 -37
- package/dist/docs/templates/grokbot-agents.html +37 -37
- package/dist/docs/templates/security-reviewer.html +37 -37
- package/dist/docs/templates/thermo-quality-review.html +37 -37
- package/dist/docs/templates/thermo-review.html +37 -37
- package/dist/docs/templates/triage.html +37 -37
- package/dist/docs/troubleshooting.html +36 -36
- package/dist/evals/assertions.d.ts.map +1 -1
- package/dist/evals/assertions.js +21 -19
- package/dist/evals/expect.js +1 -1
- package/dist/evals/judge.js +1 -1
- package/dist/evals/reporters.js +8 -8
- package/dist/evals/run-facts.js +2 -2
- package/dist/evals.js +6 -6
- package/dist/extensions/cursor-cloud-agents/extension.d.ts +2 -0
- package/dist/extensions/cursor-cloud-agents/extension.d.ts.map +1 -1
- package/dist/extensions/cursor-cloud-agents/extension.js +2 -1
- package/dist/extensions/cursor-cloud-agents/lib/backend.d.ts +16 -0
- package/dist/extensions/cursor-cloud-agents/lib/backend.d.ts.map +1 -1
- package/dist/extensions/cursor-cloud-agents/lib/backend.js +44 -3
- package/dist/extensions/cursor-cloud-agents/lib/fleet.js +1 -1
- package/dist/extensions/cursor-cloud-agents/lib/launch-agent.d.ts +23 -0
- package/dist/extensions/cursor-cloud-agents/lib/launch-agent.d.ts.map +1 -0
- package/dist/extensions/cursor-cloud-agents/lib/launch-agent.js +32 -0
- package/dist/extensions/cursor-cloud-agents/lib/repos.js +2 -2
- package/dist/extensions/cursor-cloud-agents/lib/transcript.js +2 -2
- package/dist/extensions/cursor-cloud-agents/lib/watch.d.ts.map +1 -1
- package/dist/extensions/cursor-cloud-agents/lib/watch.js +1 -1
- package/dist/extensions/cursor-cloud-agents/tools/launch.d.ts.map +1 -1
- package/dist/extensions/cursor-cloud-agents/tools/launch.js +3 -8
- package/dist/extensions/cursor-cloud-agents/tools/list.js +1 -1
- package/dist/extensions/cursor-grokbot-agents/extension.js +3 -3
- package/dist/extensions/cursor-grokbot-agents/lib/agents.js +3 -3
- package/dist/extensions/cursor-grokbot-agents/lib/contacts.js +3 -3
- package/dist/extensions/cursor-grokbot-agents/lib/conversation.js +4 -4
- package/dist/extensions/cursor-grokbot-agents/tools/list.js +1 -1
- package/dist/extensions/improve/skills/yourself.js +1 -1
- package/dist/extensions/jev/extension.js +2 -2
- package/dist/extensions/jev/tools/evaluate.js +1 -1
- package/dist/extensions/slack-communication/tools/react.js +1 -1
- package/dist/files-backends/cursor-hosted.js +8 -8
- package/dist/files-backends/local-fs.js +1 -1
- package/dist/filesystem.d.ts.map +1 -1
- package/dist/filesystem.js +15 -15
- package/dist/internal/advertise-tools.d.ts +3 -2
- package/dist/internal/advertise-tools.d.ts.map +1 -1
- package/dist/internal/advertise-tools.js +11 -9
- package/dist/internal/approval-gate.js +1 -1
- package/dist/internal/artifacts-store.js +13 -13
- package/dist/internal/as-of.js +2 -2
- package/dist/internal/authored-alias-hooks.d.ts +4 -3
- package/dist/internal/authored-alias-hooks.d.ts.map +1 -1
- package/dist/internal/authored-alias-hooks.js +16 -7
- package/dist/internal/authored-loaders.d.ts.map +1 -1
- package/dist/internal/authored-loaders.js +21 -5
- package/dist/internal/builtin-tools/reminders.js +2 -2
- package/dist/internal/chat-client.js +5 -5
- package/dist/internal/cli-ax.js +14 -14
- package/dist/internal/cli-bitbucket.js +10 -10
- package/dist/internal/cli-convert-automation.js +2 -2
- package/dist/internal/cli-cursor.js +2 -2
- package/dist/internal/cli-deploy.d.ts.map +1 -1
- package/dist/internal/cli-deploy.js +40 -40
- package/dist/internal/cli-docs.js +5 -5
- package/dist/internal/cli-github.js +15 -15
- package/dist/internal/cli-gitlab.js +10 -10
- package/dist/internal/cli-images.js +16 -16
- package/dist/internal/cli-manifest.js +1 -1
- package/dist/internal/cli-mcp-oauth.js +5 -5
- package/dist/internal/cli-mcp.js +3 -3
- package/dist/internal/cli-migrate.js +1 -1
- 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.js +6 -6
- package/dist/internal/conversation-mirror.js +5 -5
- package/dist/internal/convert-automation/convert-workflow.js +24 -24
- package/dist/internal/cursor/account-mcp.d.ts.map +1 -1
- package/dist/internal/cursor/account-mcp.js +20 -20
- package/dist/internal/cursor/backend-client.js +6 -6
- package/dist/internal/cursor/credentials.js +1 -1
- package/dist/internal/cursor/store-api-client.js +1 -1
- package/dist/internal/cursor-account-mcp-auth.js +9 -9
- package/dist/internal/cursor-deployment-relay.d.ts.map +1 -1
- 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-manifest.d.ts +14 -0
- package/dist/internal/deploy-manifest.d.ts.map +1 -1
- package/dist/internal/deploy-manifest.js +33 -10
- package/dist/internal/discovery/agent-config.js +2 -2
- package/dist/internal/discovery/agent.js +6 -6
- package/dist/internal/discovery/connections.js +5 -5
- 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.js +3 -3
- 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.js +7 -7
- package/dist/internal/eval-runner.d.ts.map +1 -1
- package/dist/internal/eval-runner.js +14 -14
- package/dist/internal/eval-transport.js +1 -1
- package/dist/internal/evals-client.d.ts.map +1 -1
- package/dist/internal/evals-client.js +4 -4
- package/dist/internal/event-log.js +8 -8
- package/dist/internal/event-mapper.js +13 -13
- package/dist/internal/expected-delivery-failure.js +2 -2
- package/dist/internal/filesystem/format.js +2 -2
- package/dist/internal/filesystem/nearest.js +3 -3
- package/dist/internal/filesystem/scratch.js +3 -3
- package/dist/internal/filesystem/tools.js +6 -6
- package/dist/internal/filesystem/walk.d.ts.map +1 -1
- package/dist/internal/filesystem/walk.js +2 -2
- package/dist/internal/framework-file-storage.d.ts.map +1 -1
- package/dist/internal/framework-file-storage.js +6 -5
- package/dist/internal/framework-storage-selection.d.ts.map +1 -1
- package/dist/internal/framework-storage-selection.js +4 -2
- package/dist/internal/github-fanout.d.ts.map +1 -1
- 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-catch-protocol.js +1 -1
- package/dist/internal/hosted-catch.js +1 -1
- package/dist/internal/hosted-delivery-protocol.d.ts +24 -0
- package/dist/internal/hosted-delivery-protocol.d.ts.map +1 -1
- package/dist/internal/hosted-delivery-protocol.js +58 -14
- package/dist/internal/hosted-delivery.d.ts +6 -0
- package/dist/internal/hosted-delivery.d.ts.map +1 -1
- package/dist/internal/hosted-delivery.js +64 -13
- package/dist/internal/hosted-eval-cases.js +4 -4
- package/dist/internal/hosted-execution-diag.js +3 -3
- package/dist/internal/hosted-managed-automation.d.ts +3 -3
- package/dist/internal/hosted-managed-automation.js +3 -3
- package/dist/internal/hosting.js +1 -1
- package/dist/internal/http-channel.js +1 -1
- package/dist/internal/http-control-plane-session.js +2 -2
- package/dist/internal/init-interview.js +7 -7
- package/dist/internal/init-project.d.ts.map +1 -1
- package/dist/internal/init-project.js +12 -12
- package/dist/internal/inline-stdio-mcp.js +2 -2
- package/dist/internal/install-cursor-skills.js +11 -11
- package/dist/internal/json-schema.js +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.d.ts.map +1 -1
- package/dist/internal/mcp-host.js +5 -5
- 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/persistent-stage-log-mirror.d.ts +57 -0
- package/dist/internal/persistent-stage-log-mirror.d.ts.map +1 -0
- package/dist/internal/persistent-stage-log-mirror.js +231 -0
- 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 +1 -1
- package/dist/internal/reminder-runner.d.ts.map +1 -1
- package/dist/internal/reminder-runner.js +14 -16
- package/dist/internal/reminder-store.js +1 -1
- package/dist/internal/resolved-connections.js +8 -8
- package/dist/internal/router.js +4 -4
- package/dist/internal/run-client.js +2 -2
- package/dist/internal/schedule-runner.d.ts +13 -2
- package/dist/internal/schedule-runner.d.ts.map +1 -1
- package/dist/internal/schedule-runner.js +48 -9
- package/dist/internal/sdk-runner.d.ts +2 -1
- package/dist/internal/sdk-runner.d.ts.map +1 -1
- package/dist/internal/sdk-runner.js +13 -8
- package/dist/internal/serve-restart.js +1 -1
- package/dist/internal/server.d.ts.map +1 -1
- package/dist/internal/server.js +101 -76
- package/dist/internal/session-cost.js +3 -3
- package/dist/internal/session-engine.d.ts +8 -0
- package/dist/internal/session-engine.d.ts.map +1 -1
- package/dist/internal/session-engine.js +183 -118
- package/dist/internal/session-live-publisher.d.ts +48 -0
- package/dist/internal/session-live-publisher.d.ts.map +1 -0
- package/dist/internal/session-live-publisher.js +415 -0
- package/dist/internal/session-run-log.js +6 -6
- package/dist/internal/sessions-client.js +3 -3
- package/dist/internal/skill-catalog.js +2 -2
- package/dist/internal/sleep.js +1 -1
- package/dist/internal/start-log-store.d.ts +5 -1
- package/dist/internal/start-log-store.d.ts.map +1 -1
- package/dist/internal/start-log-store.js +5 -3
- package/dist/internal/storage-coordinator.js +12 -12
- package/dist/internal/store-api-protocol.d.ts +51 -0
- package/dist/internal/store-api-protocol.d.ts.map +1 -1
- package/dist/internal/store-api-protocol.js +39 -2
- package/dist/internal/store-mirror.js +4 -4
- package/dist/internal/stream-progress.d.ts.map +1 -1
- package/dist/internal/stream-progress.js +4 -0
- package/dist/internal/terminal-style.js +2 -2
- package/dist/internal/testing/conversation-identity-vectors.d.ts +48 -0
- package/dist/internal/testing/conversation-identity-vectors.d.ts.map +1 -0
- package/dist/internal/testing/conversation-identity-vectors.js +136 -0
- package/dist/internal/tool-call-retry.d.ts +87 -0
- package/dist/internal/tool-call-retry.d.ts.map +1 -0
- package/dist/internal/tool-call-retry.js +387 -0
- 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.d.ts.map +1 -1
- package/dist/internal/update-check.js +4 -2
- package/dist/internal/v2-hosting.d.ts +6 -0
- package/dist/internal/v2-hosting.d.ts.map +1 -1
- package/dist/internal/v2-hosting.js +7 -1
- package/dist/internal/workspace.js +4 -4
- package/dist/kv/memory-kv.js +3 -3
- package/dist/playground/assets/index-CzttDc-d.css +1 -0
- package/dist/playground/assets/{index-Be0-1hw2.js → index-DIiKbZ25.js} +42 -42
- package/dist/playground/index.html +2 -2
- package/dist/prompt.js +1 -1
- package/dist/storage-backends/cursor-hosted-v2.js +2 -2
- package/dist/storage-backends/file-kv.js +7 -7
- package/dist/storage-protocol.d.ts +7 -0
- package/dist/storage-protocol.d.ts.map +1 -1
- package/dist/storage-protocol.js +7 -0
- package/dist/storage.js +3 -3
- package/dist/types.d.ts +21 -4
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +4 -4
- package/docs/reference/connections.md +2 -1
- package/docs/reference/hooks.md +1 -0
- package/docs/reference/sessions.md +1 -1
- package/docs/reference/tools.md +11 -0
- package/package.json +6 -6
- package/templates/agentic-owners/bot/channels/github.ts +2 -2
- package/templates/agentic-owners/bot/lib/github.ts +7 -5
- package/templates/agentic-owners/bot/lib/owners/decision.ts +9 -9
- package/templates/agentic-owners/bot/lib/owners/handles.ts +2 -2
- package/templates/agentic-owners/bot/lib/owners/match.ts +5 -3
- package/templates/agentic-owners/bot/lib/owners/matching.ts +1 -1
- package/templates/agentic-owners/bot/lib/owners/parse.ts +4 -4
- package/templates/agentic-owners/bot/lib/owners/prompt.ts +1 -1
- package/templates/agentic-owners/bot/lib/review.ts +18 -17
- package/templates/agentic-owners/evals/owners.eval.ts +2 -2
- package/templates/agents-md/bot/lib/collect.ts +6 -6
- package/templates/agents-md/bot/lib/config.ts +1 -1
- package/templates/agents-md/bot/tools/apply_agents.ts +4 -4
- package/templates/code-wiki/bot/channels/github.ts +3 -3
- package/templates/code-wiki/bot/lib/repos.ts +1 -1
- package/templates/code-wiki/bot/tools/apply_wiki.ts +2 -2
- package/templates/demo/bot/lib/collect.ts +1 -1
- package/templates/demo/bot/lib/repos.ts +1 -1
- package/templates/demo/bot/tools/record_demo.ts +1 -1
- package/templates/pr-autofixer/bot/channels/github.ts +2 -2
- package/templates/pr-autofixer/bot/lib/merge-watch.ts +2 -2
- package/templates/pr-autofixer/bot/lib/repos.ts +2 -2
- package/templates/pr-autofixer/bot/lib/webhook-routing.ts +1 -1
- package/templates/security-help/bot/lib/repos.ts +1 -1
- package/templates/security-reviewer/bot/lib/repos.ts +1 -1
- package/templates/triage/bot/lib/actuate.ts +15 -15
- package/dist/docs/assets/chunks/@localSearchIndexroot.CtLtpWcx.js +0 -1
- package/dist/docs/assets/chunks/channel.CBwrU9rP.js +0 -1
- package/dist/docs/assets/chunks/classDiagram-6PBFFD2Q.CbC_mrvB.js +0 -1
- package/dist/docs/assets/chunks/classDiagram-v2-HSJHXN6E.CbC_mrvB.js +0 -1
- package/dist/docs/assets/chunks/clone.BTvFyY1a.js +0 -1
- package/dist/docs/assets/chunks/stateDiagram-v2-QKLJ7IA2.BYXl4LW6.js +0 -1
- package/dist/docs/assets/chunks/wardley-RL74JXVD.iXazD3Z7.js +0 -162
- package/dist/playground/assets/index-Clz6uHj9.css +0 -1
- /package/dist/docs/assets/{reference_connections.md.Bljpve-y.lean.js → reference_connections.md.DLrgAd5f.lean.js} +0 -0
- /package/dist/docs/assets/{reference_sessions.md.CM5zo3w4.lean.js → reference_sessions.md.CyM7ARz1.lean.js} +0 -0
- /package/dist/docs/assets/{reference_skills.md.ClkMoQsV.lean.js → reference_skills.md.C0guGcH0.lean.js} +0 -0
package/dist/internal/cli-ax.js
CHANGED
|
@@ -50,15 +50,15 @@ function pickAgentUrl(handle, slug) {
|
|
|
50
50
|
die("No agents discovered.");
|
|
51
51
|
}
|
|
52
52
|
if (slug !== undefined && slug !== "") {
|
|
53
|
-
const match = handle.agents.find(a => a.slug === slug);
|
|
53
|
+
const match = handle.agents.find((a) => a.slug === slug);
|
|
54
54
|
if (match === undefined) {
|
|
55
55
|
die(`Unknown agent slug "${slug}". Available: ${handle.agents
|
|
56
|
-
.map(a => a.slug || "(root)")
|
|
56
|
+
.map((a) => a.slug || "(root)")
|
|
57
57
|
.join(", ")}`);
|
|
58
58
|
}
|
|
59
59
|
return match.url;
|
|
60
60
|
}
|
|
61
|
-
const root = handle.agents.find(a => a.slug === "");
|
|
61
|
+
const root = handle.agents.find((a) => a.slug === "");
|
|
62
62
|
return (root ?? handle.agents[0]).url;
|
|
63
63
|
}
|
|
64
64
|
async function startEphemeral(options, evals = false) {
|
|
@@ -84,7 +84,7 @@ async function startEphemeral(options, evals = false) {
|
|
|
84
84
|
// engine.close() can hang on open SDK streams; don't block the CLI.
|
|
85
85
|
await Promise.race([
|
|
86
86
|
handle.close(),
|
|
87
|
-
new Promise(resolve => setTimeout(resolve, 2_000)),
|
|
87
|
+
new Promise((resolve) => setTimeout(resolve, 2_000)),
|
|
88
88
|
]);
|
|
89
89
|
},
|
|
90
90
|
};
|
|
@@ -392,7 +392,7 @@ export async function cmdRun(options) {
|
|
|
392
392
|
bearerToken: options.bearerToken,
|
|
393
393
|
headers: target.headers,
|
|
394
394
|
timeoutMs: options.timeoutMs,
|
|
395
|
-
onEvent: progress === undefined ? undefined : e => progress.onEvent(e),
|
|
395
|
+
onEvent: progress === undefined ? undefined : (e) => progress.onEvent(e),
|
|
396
396
|
});
|
|
397
397
|
let eventsPath;
|
|
398
398
|
const writeEvents = options.events !== false;
|
|
@@ -406,7 +406,7 @@ export async function cmdRun(options) {
|
|
|
406
406
|
await mkdir(tracesDir, { recursive: true });
|
|
407
407
|
eventsPath = join(tracesDir, `${result.sessionId}.ndjson`);
|
|
408
408
|
}
|
|
409
|
-
await writeFile(eventsPath, `${result.events.map(e => JSON.stringify(e)).join("\n")}\n`, "utf8");
|
|
409
|
+
await writeFile(eventsPath, `${result.events.map((e) => JSON.stringify(e)).join("\n")}\n`, "utf8");
|
|
410
410
|
}
|
|
411
411
|
const playgroundUrl = options.prod === true
|
|
412
412
|
? null
|
|
@@ -736,7 +736,7 @@ export async function cmdEval(options) {
|
|
|
736
736
|
filterIds,
|
|
737
737
|
tags,
|
|
738
738
|
});
|
|
739
|
-
return printListedEvals(listed.map(e => ({
|
|
739
|
+
return printListedEvals(listed.map((e) => ({
|
|
740
740
|
id: e.id,
|
|
741
741
|
fileId: e.fileId,
|
|
742
742
|
description: e.description,
|
|
@@ -783,7 +783,7 @@ export async function cmdEval(options) {
|
|
|
783
783
|
bearerToken: options.bearerToken,
|
|
784
784
|
headers: target.headers,
|
|
785
785
|
verbose: Boolean(options.verbose) || stream,
|
|
786
|
-
onEvent: progress === undefined ? undefined : e => progress.onEvent(e),
|
|
786
|
+
onEvent: progress === undefined ? undefined : (e) => progress.onEvent(e),
|
|
787
787
|
});
|
|
788
788
|
if (results.length === 0) {
|
|
789
789
|
process.stderr.write("No matching evals found.\n");
|
|
@@ -1076,7 +1076,7 @@ export async function cmdEvalStatus(runId, options) {
|
|
|
1076
1076
|
}
|
|
1077
1077
|
const failed = snap.status === "failed" ||
|
|
1078
1078
|
snap.status === "cancelled" ||
|
|
1079
|
-
snap.cases.some(c => c.ok !== true);
|
|
1079
|
+
snap.cases.some((c) => c.ok !== true);
|
|
1080
1080
|
return failed ? 1 : 0;
|
|
1081
1081
|
}
|
|
1082
1082
|
catch (error) {
|
|
@@ -1097,7 +1097,7 @@ function formatEvalRunSummaryLine(run) {
|
|
|
1097
1097
|
async function listLocalEvals(projectRoot, options, filterIds, tags) {
|
|
1098
1098
|
const { evals } = await discoverEvals(projectRoot);
|
|
1099
1099
|
const listed = filterDiscoveredEvals(evals, { filterIds, tags });
|
|
1100
|
-
return printListedEvals(listed.map(e => ({
|
|
1100
|
+
return printListedEvals(listed.map((e) => ({
|
|
1101
1101
|
id: e.id,
|
|
1102
1102
|
fileId: e.fileId,
|
|
1103
1103
|
path: e.path,
|
|
@@ -1346,7 +1346,7 @@ export async function cmdLogs(options) {
|
|
|
1346
1346
|
if (architecture === "v2") {
|
|
1347
1347
|
await followHostedLogs({
|
|
1348
1348
|
slug,
|
|
1349
|
-
read: signal => auth.client.getAgentkitDeploymentLogs({ teamId: auth.teamId, slug, sessionId, signal }),
|
|
1349
|
+
read: (signal) => auth.client.getAgentkitDeploymentLogs({ teamId: auth.teamId, slug, sessionId, signal }),
|
|
1350
1350
|
scoped: sessionId !== undefined,
|
|
1351
1351
|
once: options.once === true,
|
|
1352
1352
|
json: options.json === true,
|
|
@@ -1476,7 +1476,7 @@ function formatHostedSessionRuns(sessionId, runs, events) {
|
|
|
1476
1476
|
const lines = [`Session ${sessionId}`, `Hosted executions: ${runs.executions.length}`];
|
|
1477
1477
|
for (const run of runs.executions) {
|
|
1478
1478
|
const failure = run.error?.message ?? run.message ?? "";
|
|
1479
|
-
lines.push("", `${run.executionId} ${run.turnStatus} ${run.durationMs}ms ${run.writtenAt} ${failure}`.trimEnd(), ...run.logs.map(log => ` ${log.line}`));
|
|
1479
|
+
lines.push("", `${run.executionId} ${run.turnStatus} ${run.durationMs}ms ${run.writtenAt} ${failure}`.trimEnd(), ...run.logs.map((log) => ` ${log.line}`));
|
|
1480
1480
|
}
|
|
1481
1481
|
const latestType = events?.events.at(-1)?.type;
|
|
1482
1482
|
if (events !== undefined && events.events.length > 0) {
|
|
@@ -1590,7 +1590,7 @@ export async function cmdSession(sessionId, options) {
|
|
|
1590
1590
|
if (outPath !== undefined) {
|
|
1591
1591
|
const targetPath = resolve(outPath);
|
|
1592
1592
|
await mkdir(dirname(targetPath), { recursive: true });
|
|
1593
|
-
await writeFile(targetPath, `${events.map(e => JSON.stringify(e)).join("\n")}\n`, "utf8");
|
|
1593
|
+
await writeFile(targetPath, `${events.map((e) => JSON.stringify(e)).join("\n")}\n`, "utf8");
|
|
1594
1594
|
process.stdout.write(`trace: ${targetPath} (${events.length} events)\n`);
|
|
1595
1595
|
return 0;
|
|
1596
1596
|
}
|
|
@@ -1784,7 +1784,7 @@ async function runPlaygroundProxySession(args) {
|
|
|
1784
1784
|
}
|
|
1785
1785
|
}
|
|
1786
1786
|
try {
|
|
1787
|
-
await new Promise(resolve => {
|
|
1787
|
+
await new Promise((resolve) => {
|
|
1788
1788
|
if (controller.signal.aborted) {
|
|
1789
1789
|
resolve();
|
|
1790
1790
|
return;
|
|
@@ -78,10 +78,10 @@ async function resolveTargets(options) {
|
|
|
78
78
|
const port = options.port ?? DEFAULT_PORT;
|
|
79
79
|
let candidates = channels;
|
|
80
80
|
if (options.slug !== undefined) {
|
|
81
|
-
candidates = candidates.filter(c => c.slug === options.slug);
|
|
81
|
+
candidates = candidates.filter((c) => c.slug === options.slug);
|
|
82
82
|
}
|
|
83
83
|
if (options.channel !== undefined) {
|
|
84
|
-
candidates = candidates.filter(c => c.channelId === options.channel);
|
|
84
|
+
candidates = candidates.filter((c) => c.channelId === options.channel);
|
|
85
85
|
}
|
|
86
86
|
if (options.url !== undefined && candidates.length > 1) {
|
|
87
87
|
process.stderr.write("--url targets a single channel; narrow with --slug/--channel\n");
|
|
@@ -102,7 +102,7 @@ async function resolveTargets(options) {
|
|
|
102
102
|
},
|
|
103
103
|
];
|
|
104
104
|
}
|
|
105
|
-
return candidates.map(c => ({
|
|
105
|
+
return candidates.map((c) => ({
|
|
106
106
|
slug: c.slug,
|
|
107
107
|
channelId: c.channelId,
|
|
108
108
|
url: channelForwardUrl({
|
|
@@ -131,7 +131,7 @@ async function cmdBitbucketReplay(options) {
|
|
|
131
131
|
return 1;
|
|
132
132
|
}
|
|
133
133
|
const requested = parseEventList(options.events);
|
|
134
|
-
const declared = [...new Set(targets.flatMap(target => target.events))];
|
|
134
|
+
const declared = [...new Set(targets.flatMap((target) => target.events))];
|
|
135
135
|
const { events, unsupported } = selectBitbucketReplayEvents(requested, declared);
|
|
136
136
|
if (unsupported.length > 0) {
|
|
137
137
|
process.stderr.write(`[bdk] cannot synthesize (skipped): ${unsupported.join(", ")}\n`);
|
|
@@ -174,7 +174,7 @@ async function cmdBitbucketReplay(options) {
|
|
|
174
174
|
}
|
|
175
175
|
const secret = options.secret ?? process.env.BITBUCKET_WEBHOOK_SECRET;
|
|
176
176
|
process.stderr.write(`[bdk] replaying ${ref.label} (${ref.dialect}; ${synthesized
|
|
177
|
-
.map(event => event.eventType)
|
|
177
|
+
.map((event) => event.eventType)
|
|
178
178
|
.join(", ")}) → ${targets.length} channel${targets.length === 1 ? "" : "s"}\n`);
|
|
179
179
|
const report = [];
|
|
180
180
|
let anyRejected = false;
|
|
@@ -200,13 +200,13 @@ async function cmdBitbucketReplay(options) {
|
|
|
200
200
|
continue;
|
|
201
201
|
}
|
|
202
202
|
const deliveries = await deliverReplayEvent(body, headers, event.eventType, targets);
|
|
203
|
-
if (deliveries.length === 0 || deliveries.some(d => !d.ok)) {
|
|
203
|
+
if (deliveries.length === 0 || deliveries.some((d) => !d.ok)) {
|
|
204
204
|
anyRejected = true;
|
|
205
205
|
}
|
|
206
206
|
report.push({ ...eventReport(event), deliveries });
|
|
207
207
|
if (options.json !== true) {
|
|
208
208
|
const summary = deliveries
|
|
209
|
-
.map(d => `${d.label} ${d.status || "ERR"}${d.ok ? "" : " (rejected)"}`)
|
|
209
|
+
.map((d) => `${d.label} ${d.status || "ERR"}${d.ok ? "" : " (rejected)"}`)
|
|
210
210
|
.join(", ") || "(no matching channel)";
|
|
211
211
|
process.stderr.write(`[bdk] ${event.header} → ${summary}\n`);
|
|
212
212
|
}
|
|
@@ -222,7 +222,7 @@ async function cmdBitbucketReplay(options) {
|
|
|
222
222
|
return anyRejected ? 1 : 0;
|
|
223
223
|
}
|
|
224
224
|
async function deliverReplayEvent(body, headers, eventType, targets) {
|
|
225
|
-
const recipients = targets.filter(target => target.events.length === 0 || target.events.includes(eventType));
|
|
225
|
+
const recipients = targets.filter((target) => target.events.length === 0 || target.events.includes(eventType));
|
|
226
226
|
return Promise.all(recipients.map(async (target) => {
|
|
227
227
|
const label = target.slug === "" ? target.channelId : `${target.slug}/${target.channelId}`;
|
|
228
228
|
try {
|
|
@@ -259,7 +259,7 @@ async function cmdBitbucketEvents(options) {
|
|
|
259
259
|
const channels = findBitbucketChannelTargets(await resolveAgentMounts(dir));
|
|
260
260
|
const host = options.host ?? DEFAULT_HOST;
|
|
261
261
|
const port = options.port ?? DEFAULT_PORT;
|
|
262
|
-
const rows = channels.map(c => ({
|
|
262
|
+
const rows = channels.map((c) => ({
|
|
263
263
|
slug: c.slug,
|
|
264
264
|
channelId: c.channelId,
|
|
265
265
|
url: channelForwardUrl({
|
|
@@ -326,7 +326,7 @@ function parseEventList(value) {
|
|
|
326
326
|
}
|
|
327
327
|
const events = value
|
|
328
328
|
.split(/[\s,]+/)
|
|
329
|
-
.map(event => event.trim())
|
|
329
|
+
.map((event) => event.trim())
|
|
330
330
|
.filter(Boolean);
|
|
331
331
|
return events.length === 0 ? undefined : events;
|
|
332
332
|
}
|
|
@@ -45,7 +45,7 @@ export function parseAutomationRef(input) {
|
|
|
45
45
|
if (parsed.protocol !== "http:" && parsed.protocol !== "https:") {
|
|
46
46
|
return undefined;
|
|
47
47
|
}
|
|
48
|
-
const segments = parsed.pathname.split("/").filter(s => s !== "");
|
|
48
|
+
const segments = parsed.pathname.split("/").filter((s) => s !== "");
|
|
49
49
|
if (segments.length !== 2) {
|
|
50
50
|
return undefined;
|
|
51
51
|
}
|
|
@@ -144,7 +144,7 @@ export async function cmdConvertAutomation(options) {
|
|
|
144
144
|
installError: installed.ok
|
|
145
145
|
? null
|
|
146
146
|
: installed.stderr.trim() || `npm install exited ${installed.exitCode}`,
|
|
147
|
-
mcpConnections: result.mcpConnections.map(connection => ({
|
|
147
|
+
mcpConnections: result.mcpConnections.map((connection) => ({
|
|
148
148
|
name: connection.name,
|
|
149
149
|
kind: connection.kind,
|
|
150
150
|
})),
|
|
@@ -34,7 +34,7 @@ export async function cmdLogin(options) {
|
|
|
34
34
|
uuid,
|
|
35
35
|
verifier,
|
|
36
36
|
backendUrl,
|
|
37
|
-
logger: line => process.stderr.write(`warning: ${line}\n`),
|
|
37
|
+
logger: (line) => process.stderr.write(`warning: ${line}\n`),
|
|
38
38
|
});
|
|
39
39
|
if (login.status !== "signed_in") {
|
|
40
40
|
process.stderr.write(`${describeLoginPollFailure(login)}\n`);
|
|
@@ -164,7 +164,7 @@ export async function cmdWhoami(options) {
|
|
|
164
164
|
}
|
|
165
165
|
function formatIdentity(identity) {
|
|
166
166
|
const name = [identity.firstName, identity.lastName]
|
|
167
|
-
.filter(part => part !== undefined && part !== "")
|
|
167
|
+
.filter((part) => part !== undefined && part !== "")
|
|
168
168
|
.join(" ");
|
|
169
169
|
const email = identity.email ?? identity.authId ?? "(unknown user)";
|
|
170
170
|
const team = identity.teamName === undefined ? "" : ` — team ${identity.teamName}`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-deploy.d.ts","sourceRoot":"","sources":["../../src/internal/cli-deploy.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"cli-deploy.d.ts","sourceRoot":"","sources":["../../src/internal/cli-deploy.ts"],"names":[],"mappings":"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"}
|
|
@@ -145,18 +145,18 @@ export async function cmdDeploy(options) {
|
|
|
145
145
|
for (const target of targets) {
|
|
146
146
|
manifests.push(await readDeployManifest(target.dir));
|
|
147
147
|
}
|
|
148
|
-
if (manifests.every(manifest => manifest.architecture === "v2")) {
|
|
148
|
+
if (manifests.every((manifest) => manifest.architecture === "v2")) {
|
|
149
149
|
return deployAgentsdkApplication(ctx, options, targets, {
|
|
150
150
|
// `persistent` is per child agent, like `agentPath`: each release
|
|
151
151
|
// component carries its own.
|
|
152
152
|
componentPersistent: Object.fromEntries(targets.map((target, index) => [target.slug, manifests[index]?.persistent === true])),
|
|
153
153
|
componentImage: Object.fromEntries(targets.flatMap((target, index) => manifests[index]?.image === undefined ? [] : [[target.slug, manifests[index].image]])),
|
|
154
|
-
hasScmChannels: manifests.some(manifest => manifest.hasScmChannels),
|
|
154
|
+
hasScmChannels: manifests.some((manifest) => manifest.hasScmChannels),
|
|
155
155
|
declaredSecretNames: declaredSecretNames(manifests),
|
|
156
|
-
hasDeploymentsChannels: manifests.some(manifest => manifest.hasDeploymentsChannels),
|
|
156
|
+
hasDeploymentsChannels: manifests.some((manifest) => manifest.hasDeploymentsChannels),
|
|
157
157
|
});
|
|
158
158
|
}
|
|
159
|
-
if (!ctx.json && manifests.some(manifest => manifest.architecture === "v2")) {
|
|
159
|
+
if (!ctx.json && manifests.some((manifest) => manifest.architecture === "v2")) {
|
|
160
160
|
ctx.err(`warning: agents under this parent mix architectures; deploying each separately (v2 children become standalone single-component applications).\n`);
|
|
161
161
|
}
|
|
162
162
|
// --path is per-agent (relative to the repo root). When deploying several
|
|
@@ -254,7 +254,7 @@ async function resolveDeployTargets(options, ctx) {
|
|
|
254
254
|
}
|
|
255
255
|
// Deploy slugs are lowercase-only; normalize directory names the same way
|
|
256
256
|
// single-agent deploy does so MixedCase child dirs still deploy.
|
|
257
|
-
children = children.flatMap(child => {
|
|
257
|
+
children = children.flatMap((child) => {
|
|
258
258
|
const slug = slugFromDirectoryName(basename(child.dir));
|
|
259
259
|
if (slug === undefined) {
|
|
260
260
|
return [];
|
|
@@ -301,13 +301,13 @@ async function resolveDeployTargets(options, ctx) {
|
|
|
301
301
|
// Multiple children.
|
|
302
302
|
if (options.all === true) {
|
|
303
303
|
if (!ctx.json) {
|
|
304
|
-
ctx.err(`Deploying all ${children.length} agents under ${basename(dir)}: ${children.map(c => c.slug).join(", ")}.\n`);
|
|
304
|
+
ctx.err(`Deploying all ${children.length} agents under ${basename(dir)}: ${children.map((c) => c.slug).join(", ")}.\n`);
|
|
305
305
|
}
|
|
306
306
|
return [...children];
|
|
307
307
|
}
|
|
308
308
|
if (options.slug !== undefined) {
|
|
309
309
|
const wanted = options.slug.toLowerCase();
|
|
310
|
-
const match = children.find(child => child.slug === wanted);
|
|
310
|
+
const match = children.find((child) => child.slug === wanted);
|
|
311
311
|
if (match === undefined) {
|
|
312
312
|
ctx.err(`No agent "${options.slug}" under ${dir}.\n` +
|
|
313
313
|
formatAgentList(children) +
|
|
@@ -327,7 +327,7 @@ async function resolveDeployTargets(options, ctx) {
|
|
|
327
327
|
return [...children];
|
|
328
328
|
}
|
|
329
329
|
const chooser = options.chooseTargets ??
|
|
330
|
-
(agents => promptChooseDeployTargets(agents, {
|
|
330
|
+
((agents) => promptChooseDeployTargets(agents, {
|
|
331
331
|
err: ctx.err,
|
|
332
332
|
stdin: options.stdin ?? process.stdin,
|
|
333
333
|
interactive: ctx.json !== true &&
|
|
@@ -396,7 +396,7 @@ export async function promptChooseDeployTargets(agents, options) {
|
|
|
396
396
|
asIndex <= agents.length) {
|
|
397
397
|
return [agents[asIndex - 1]];
|
|
398
398
|
}
|
|
399
|
-
const bySlug = agents.find(agent => agent.slug.toLowerCase() === answer);
|
|
399
|
+
const bySlug = agents.find((agent) => agent.slug.toLowerCase() === answer);
|
|
400
400
|
if (bySlug !== undefined) {
|
|
401
401
|
return [bySlug];
|
|
402
402
|
}
|
|
@@ -462,7 +462,7 @@ async function deployOne(ctx, options, target, extras) {
|
|
|
462
462
|
const egressAllowedDomains = [
|
|
463
463
|
...new Set([...(hosting?.egressDomains ?? []), ...(options.allowDomains ?? [])]),
|
|
464
464
|
];
|
|
465
|
-
const publicRoutePaths = (manifest?.publicChannelIds ?? []).map(channelId => `/v1/channels/${channelId}`);
|
|
465
|
+
const publicRoutePaths = (manifest?.publicChannelIds ?? []).map((channelId) => `/v1/channels/${channelId}`);
|
|
466
466
|
if (!ctx.json && manifest?.httpChannelPublicEndpoint === true) {
|
|
467
467
|
ctx.err(`warning: publicEndpoint() on the built-in HTTP channel has no effect on hosting — only custom channels (/v1/channels/…) can be public; the session API always requires the alias token.\n`);
|
|
468
468
|
}
|
|
@@ -478,13 +478,13 @@ async function deployOne(ctx, options, target, extras) {
|
|
|
478
478
|
// Mounted packages widen the pod's egress without an agent.ts edit; name
|
|
479
479
|
// each one before the deploy is accepted.
|
|
480
480
|
ctx.err(` egress from extensions: ${extensionEgress
|
|
481
|
-
.map(entry => `${entry.extension} (${entry.egressDomains.join(", ")})`)
|
|
481
|
+
.map((entry) => `${entry.extension} (${entry.egressDomains.join(", ")})`)
|
|
482
482
|
.join("; ")}\n`);
|
|
483
483
|
}
|
|
484
484
|
const deadSecretChannels = manifest?.publicChannelIdsWithDeadSecretPolicies ?? [];
|
|
485
485
|
if (!ctx.json && deadSecretChannels.length > 0) {
|
|
486
486
|
ctx.err(`warning: ${deadSecretChannels
|
|
487
|
-
.map(channelId => `/v1/channels/${channelId}`)
|
|
487
|
+
.map((channelId) => `/v1/channels/${channelId}`)
|
|
488
488
|
.join(", ")}: publicEndpoint() sits beside sharedSecretAuth()/hmacSignatureAuth() — auth chains are any-of, so every request is admitted and those secret policies never run. Drop publicEndpoint() to enforce them, or drop them to make the intent explicit.\n`);
|
|
489
489
|
}
|
|
490
490
|
if (manifest?.architecture === "v2") {
|
|
@@ -588,7 +588,7 @@ async function deployOne(ctx, options, target, extras) {
|
|
|
588
588
|
// Paste-ready webhook URLs: these subtrees skip the alias token, so
|
|
589
589
|
// the channel handler must verify deliveries (webhook signatures).
|
|
590
590
|
deployedPublicRoutes
|
|
591
|
-
.map(path => ` public: ${aliasUrl}${path} (no alias token)\n`)
|
|
591
|
+
.map((path) => ` public: ${aliasUrl}${path} (no alias token)\n`)
|
|
592
592
|
.join(""));
|
|
593
593
|
await runPostDeployConnectorAuth(ctx, options, {
|
|
594
594
|
slug,
|
|
@@ -635,7 +635,7 @@ async function deployAgentsdkApplication(ctx, options, targets, declarations) {
|
|
|
635
635
|
return 1;
|
|
636
636
|
}
|
|
637
637
|
}
|
|
638
|
-
const components = targets.map(target => ({
|
|
638
|
+
const components = targets.map((target) => ({
|
|
639
639
|
componentKey: target.slug,
|
|
640
640
|
agentPath: [parentPath, basename(target.dir)]
|
|
641
641
|
.filter((part) => part !== undefined && part !== "")
|
|
@@ -648,7 +648,7 @@ async function deployAgentsdkApplication(ctx, options, targets, declarations) {
|
|
|
648
648
|
` architecture: v2\n` +
|
|
649
649
|
` source: ${gitRepoUrl}${gitRef === undefined ? "" : ` @ ${gitRef}`}\n` +
|
|
650
650
|
components
|
|
651
|
-
.map(component => ` component: ${component.componentKey} (${component.agentPath ?? "."})${component.persistent ? " persistent" : ""}${component.image === undefined ? "" : ` image ${component.image}`}\n`)
|
|
651
|
+
.map((component) => ` component: ${component.componentKey} (${component.agentPath ?? "."})${component.persistent ? " persistent" : ""}${component.image === undefined ? "" : ` image ${component.image}`}\n`)
|
|
652
652
|
.join(""));
|
|
653
653
|
}
|
|
654
654
|
return deployOneAgentsdk(ctx, undefined, {
|
|
@@ -674,7 +674,7 @@ async function deployOneAgentsdk(ctx, extras, args) {
|
|
|
674
674
|
const { slug } = args;
|
|
675
675
|
const componentsLine = args.components === undefined
|
|
676
676
|
? ""
|
|
677
|
-
: ` components: ${args.components.map(component => component.componentKey).join(", ")}\n`;
|
|
677
|
+
: ` components: ${args.components.map((component) => component.componentKey).join(", ")}\n`;
|
|
678
678
|
if (args.multiTenant && !ctx.json) {
|
|
679
679
|
ctx.err(" multi-tenant: existing product\n");
|
|
680
680
|
}
|
|
@@ -749,7 +749,7 @@ async function deployOneAgentsdk(ctx, extras, args) {
|
|
|
749
749
|
(args.components === undefined
|
|
750
750
|
? ""
|
|
751
751
|
: ` components: ${args.components
|
|
752
|
-
.map(component => component.componentKey)
|
|
752
|
+
.map((component) => component.componentKey)
|
|
753
753
|
.join(", ")}\n`) +
|
|
754
754
|
(detail.repositories === undefined || !watchesRepositories
|
|
755
755
|
? ""
|
|
@@ -834,42 +834,42 @@ async function readDeployManifest(dir) {
|
|
|
834
834
|
// diagnostics (e.g. agent/storage.ts on architecture v2) would only be
|
|
835
835
|
// refused later by `serve` inside the hosted build, wasting a bake.
|
|
836
836
|
if (hasErrorDiagnostics(project)) {
|
|
837
|
-
throw new Error(`Refusing to deploy ${project.name} — it has errors:\n${formatDiagnostics(project.diagnostics.filter(d => d.severity === "error"))}`);
|
|
837
|
+
throw new Error(`Refusing to deploy ${project.name} — it has errors:\n${formatDiagnostics(project.diagnostics.filter((d) => d.severity === "error"))}`);
|
|
838
838
|
}
|
|
839
839
|
return {
|
|
840
840
|
hosting: project.agent.hosting,
|
|
841
841
|
architecture: project.agent.architecture,
|
|
842
842
|
persistent: project.agent.persistent === true,
|
|
843
843
|
image: project.agent.hosting?.image,
|
|
844
|
-
cursorAccountConnections: project.agent.connections.flatMap(connection => isCursorAccountTransport(connection.transport)
|
|
844
|
+
cursorAccountConnections: project.agent.connections.flatMap((connection) => isCursorAccountTransport(connection.transport)
|
|
845
845
|
? [{ name: connection.name, servers: connection.transport.servers }]
|
|
846
846
|
: []),
|
|
847
847
|
publicChannelIds: project.channels
|
|
848
|
-
.filter(channel => (channel.definition.auth ?? []).some(isPublicEndpointPolicy))
|
|
849
|
-
.map(channel => channel.id),
|
|
848
|
+
.filter((channel) => (channel.definition.auth ?? []).some(isPublicEndpointPolicy))
|
|
849
|
+
.map((channel) => channel.id),
|
|
850
850
|
publicChannelIdsWithDeadSecretPolicies: project.channels
|
|
851
|
-
.filter(channel => {
|
|
851
|
+
.filter((channel) => {
|
|
852
852
|
const auth = channel.definition.auth ?? [];
|
|
853
853
|
return (auth.some(isPublicEndpointPolicy) &&
|
|
854
|
-
auth.some(policy => {
|
|
854
|
+
auth.some((policy) => {
|
|
855
855
|
const kind = catchAuthDeclaration(policy)?.kind;
|
|
856
856
|
return kind !== undefined && kind !== "public";
|
|
857
857
|
}));
|
|
858
858
|
})
|
|
859
|
-
.map(channel => channel.id),
|
|
859
|
+
.map((channel) => channel.id),
|
|
860
860
|
httpChannelPublicEndpoint: (project.httpChannel.auth ?? []).some(isPublicEndpointPolicy),
|
|
861
861
|
catchSecretNames: [
|
|
862
|
-
...new Set(project.channels.flatMap(channel => channelCatchSecretNames(channel.definition))),
|
|
862
|
+
...new Set(project.channels.flatMap((channel) => channelCatchSecretNames(channel.definition))),
|
|
863
863
|
],
|
|
864
864
|
credentialSecretNames: [
|
|
865
|
-
...new Set(project.channels.flatMap(channel => channelCredentialSecretNames(channel.definition))),
|
|
865
|
+
...new Set(project.channels.flatMap((channel) => channelCredentialSecretNames(channel.definition))),
|
|
866
866
|
],
|
|
867
|
-
hasScmChannels: project.channels.some(channel => {
|
|
867
|
+
hasScmChannels: project.channels.some((channel) => {
|
|
868
868
|
const kind = channel.definition.meta?.kind;
|
|
869
869
|
return kind === "github" || kind === "origin";
|
|
870
870
|
}),
|
|
871
|
-
hasDeploymentsChannels: project.channels.some(channel => channel.definition.meta?.kind === "deployments"),
|
|
872
|
-
extensionEgress: (project.agent.extensions ?? []).flatMap(extension => {
|
|
871
|
+
hasDeploymentsChannels: project.channels.some((channel) => channel.definition.meta?.kind === "deployments"),
|
|
872
|
+
extensionEgress: (project.agent.extensions ?? []).flatMap((extension) => {
|
|
873
873
|
const egressDomains = extension.hosting?.egressDomains ?? [];
|
|
874
874
|
return egressDomains.length === 0 ? [] : [{ extension: extension.name, egressDomains }];
|
|
875
875
|
}),
|
|
@@ -882,7 +882,7 @@ async function readDeployManifest(dir) {
|
|
|
882
882
|
*/
|
|
883
883
|
function declaredSecretNames(manifests) {
|
|
884
884
|
return [
|
|
885
|
-
...new Set(manifests.flatMap(manifest => manifest === undefined
|
|
885
|
+
...new Set(manifests.flatMap((manifest) => manifest === undefined
|
|
886
886
|
? []
|
|
887
887
|
: [
|
|
888
888
|
...(manifest.hosting?.secretNames ?? []),
|
|
@@ -902,7 +902,7 @@ function warnMissingSecrets(ctx, slug, declared, set) {
|
|
|
902
902
|
const setNames = new Set(set ?? []);
|
|
903
903
|
// Platform-managed names (CURSOR_*, hosted storage) are injected by the
|
|
904
904
|
// control plane and never appear in secrets list — do not warn on them.
|
|
905
|
-
const missing = declared.filter(name => !setNames.has(name) && !isReservedSecretName(name));
|
|
905
|
+
const missing = declared.filter((name) => !setNames.has(name) && !isReservedSecretName(name));
|
|
906
906
|
if (missing.length === 0) {
|
|
907
907
|
return;
|
|
908
908
|
}
|
|
@@ -946,7 +946,7 @@ export async function cmdDeployments(options) {
|
|
|
946
946
|
return 0;
|
|
947
947
|
}
|
|
948
948
|
ctx.out(`${renderTable(["SLUG", "ARCH", "STATUS", "GEN", "KIND", "UPDATED"], [
|
|
949
|
-
...deployments.map(d => [
|
|
949
|
+
...deployments.map((d) => [
|
|
950
950
|
d.slug,
|
|
951
951
|
"v1",
|
|
952
952
|
d.status,
|
|
@@ -954,14 +954,14 @@ export async function cmdDeployments(options) {
|
|
|
954
954
|
d.deploymentKind,
|
|
955
955
|
d.desiredUpdatedAt ?? "",
|
|
956
956
|
]),
|
|
957
|
-
...applications.map(application => [
|
|
957
|
+
...applications.map((application) => [
|
|
958
958
|
application.slug,
|
|
959
959
|
"v2",
|
|
960
960
|
application.status,
|
|
961
961
|
"-",
|
|
962
962
|
"application",
|
|
963
963
|
application.deployments
|
|
964
|
-
.map(row => row.desiredUpdatedAt)
|
|
964
|
+
.map((row) => row.desiredUpdatedAt)
|
|
965
965
|
.sort()
|
|
966
966
|
.at(-1) ?? "",
|
|
967
967
|
]),
|
|
@@ -1075,7 +1075,7 @@ function livePublicWebhookLines(ctx, detail) {
|
|
|
1075
1075
|
return "";
|
|
1076
1076
|
}
|
|
1077
1077
|
return (detail.publicRoutePaths ?? [])
|
|
1078
|
-
.map(path => ` public: ${ctx.client.aliasUrl(engineAlias)}${path} (no alias token)\n`)
|
|
1078
|
+
.map((path) => ` public: ${ctx.client.aliasUrl(engineAlias)}${path} (no alias token)\n`)
|
|
1079
1079
|
.join("");
|
|
1080
1080
|
}
|
|
1081
1081
|
function renderAgentkitDeploymentStatus(ctx, detail) {
|
|
@@ -1535,7 +1535,7 @@ export async function cmdSecretsSet(slug, specs, options) {
|
|
|
1535
1535
|
}
|
|
1536
1536
|
parsed.push(eq === -1 ? { name } : { name, value: spec.slice(eq + 1) });
|
|
1537
1537
|
}
|
|
1538
|
-
const hasArgvValues = parsed.some(entry => entry.value !== undefined);
|
|
1538
|
+
const hasArgvValues = parsed.some((entry) => entry.value !== undefined);
|
|
1539
1539
|
if (hasArgvValues && options.fromArgv !== true) {
|
|
1540
1540
|
usageErr(`Refusing NAME=VALUE on argv (shows up in shell history and agent-captured terminals).\n` +
|
|
1541
1541
|
`Pass names only:\n` +
|
|
@@ -1629,7 +1629,7 @@ export async function cmdSecretsList(slug, options) {
|
|
|
1629
1629
|
ctx.out(`No secrets set on ${slug}. Add one with \`${CLI} secrets set ${slug} NAME\`.\n`);
|
|
1630
1630
|
return 0;
|
|
1631
1631
|
}
|
|
1632
|
-
ctx.out(`${renderTable(["NAME", "CREATED"], secrets.map(secret => [secret.name, secret.createdAt]))}\n`);
|
|
1632
|
+
ctx.out(`${renderTable(["NAME", "CREATED"], secrets.map((secret) => [secret.name, secret.createdAt]))}\n`);
|
|
1633
1633
|
return 0;
|
|
1634
1634
|
}
|
|
1635
1635
|
export async function cmdSecretsUnset(slug, name, options) {
|
|
@@ -1678,7 +1678,7 @@ export async function cmdSecretsUnset(slug, name, options) {
|
|
|
1678
1678
|
*/
|
|
1679
1679
|
function createSecretValueReader(stdin, err) {
|
|
1680
1680
|
if (stdin.isTTY === true) {
|
|
1681
|
-
return name => promptHidden(stdin, err, `Value for ${name}: `);
|
|
1681
|
+
return (name) => promptHidden(stdin, err, `Value for ${name}: `);
|
|
1682
1682
|
}
|
|
1683
1683
|
const readLine = createLineReader(stdin);
|
|
1684
1684
|
return async (name) => {
|
|
@@ -1831,7 +1831,7 @@ export function createLineReader(stream) {
|
|
|
1831
1831
|
drain();
|
|
1832
1832
|
});
|
|
1833
1833
|
stream.resume();
|
|
1834
|
-
return () => new Promise(resolvePromise => {
|
|
1834
|
+
return () => new Promise((resolvePromise) => {
|
|
1835
1835
|
waiters.push(resolvePromise);
|
|
1836
1836
|
drain();
|
|
1837
1837
|
});
|
|
@@ -2000,7 +2000,7 @@ export function renderApiError(error, err, context) {
|
|
|
2000
2000
|
throw error;
|
|
2001
2001
|
}
|
|
2002
2002
|
export function renderTable(header, rows) {
|
|
2003
|
-
const widths = header.map((h, i) => Math.max(h.length, ...rows.map(row => (row[i] ?? "").length)));
|
|
2003
|
+
const widths = header.map((h, i) => Math.max(h.length, ...rows.map((row) => (row[i] ?? "").length)));
|
|
2004
2004
|
const renderRow = (row) => row
|
|
2005
2005
|
.map((cell, i) => cell.padEnd(widths[i] ?? 0))
|
|
2006
2006
|
.join(" ")
|
|
@@ -8,8 +8,8 @@ import { PACKAGE_NAME } from "./distribution.js";
|
|
|
8
8
|
import { docsSiteExists, ensureDocsSiteBundle, renderDocsFile } from "./docs-site.js";
|
|
9
9
|
import { openBrowser } from "./open-browser.js";
|
|
10
10
|
export async function cmdDocs(options = {}) {
|
|
11
|
-
const stdout = options.stdoutWrite ?? (c => void process.stdout.write(c));
|
|
12
|
-
const stderr = options.stderrWrite ?? (c => void process.stderr.write(c));
|
|
11
|
+
const stdout = options.stdoutWrite ?? ((c) => void process.stdout.write(c));
|
|
12
|
+
const stderr = options.stderrWrite ?? ((c) => void process.stderr.write(c));
|
|
13
13
|
await (options.ensureBundle ?? ensureDocsSiteBundle)();
|
|
14
14
|
if (!(options.siteExists ?? docsSiteExists)()) {
|
|
15
15
|
stderr(`Documentation site is missing from this install. Reinstall ${PACKAGE_NAME}, or from a source checkout run: pnpm run docs:build\n`);
|
|
@@ -20,7 +20,7 @@ export async function cmdDocs(options = {}) {
|
|
|
20
20
|
handle = await startDocsServer({
|
|
21
21
|
port: options.port ?? 0,
|
|
22
22
|
host: options.host ?? "127.0.0.1",
|
|
23
|
-
renderFile: options.renderFile ?? (path => renderDocsFile(path)),
|
|
23
|
+
renderFile: options.renderFile ?? ((path) => renderDocsFile(path)),
|
|
24
24
|
createServerImpl: options.createServerImpl ?? createServer,
|
|
25
25
|
});
|
|
26
26
|
}
|
|
@@ -49,7 +49,7 @@ export async function cmdDocs(options = {}) {
|
|
|
49
49
|
}
|
|
50
50
|
}
|
|
51
51
|
try {
|
|
52
|
-
await new Promise(resolve => {
|
|
52
|
+
await new Promise((resolve) => {
|
|
53
53
|
if (controller.signal.aborted) {
|
|
54
54
|
resolve();
|
|
55
55
|
return;
|
|
@@ -87,7 +87,7 @@ export async function startDocsServer(args) {
|
|
|
87
87
|
docsUrl: `${url}/docs/`,
|
|
88
88
|
port: address.port,
|
|
89
89
|
close: () => new Promise((resolve, reject) => {
|
|
90
|
-
server.close(err => (err !== undefined ? reject(err) : resolve()));
|
|
90
|
+
server.close((err) => (err !== undefined ? reject(err) : resolve()));
|
|
91
91
|
}),
|
|
92
92
|
};
|
|
93
93
|
}
|