@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
|
@@ -123,13 +123,13 @@ export function expandEvalModule(fileId, defaultExport) {
|
|
|
123
123
|
export function filterDiscoveredEvals(evals, options = {}) {
|
|
124
124
|
let selected = evals;
|
|
125
125
|
if (options.filterIds !== undefined && options.filterIds.length > 0) {
|
|
126
|
-
selected = selected.filter(e => options.filterIds.some(f => matchesEvalIdFilter(e.id, f)));
|
|
126
|
+
selected = selected.filter((e) => options.filterIds.some((f) => matchesEvalIdFilter(e.id, f)));
|
|
127
127
|
}
|
|
128
128
|
if (options.tags !== undefined && options.tags.length > 0) {
|
|
129
|
-
selected = selected.filter(e => (e.definition.tags ?? []).some(t => options.tags.includes(t)));
|
|
129
|
+
selected = selected.filter((e) => (e.definition.tags ?? []).some((t) => options.tags.includes(t)));
|
|
130
130
|
}
|
|
131
131
|
// Suite aggregators (`summary` tag) need sibling cases from the same file.
|
|
132
|
-
return expandSummarySuiteSelection(evals, selected, e => isEvalSummaryCase(e.definition.tags));
|
|
132
|
+
return expandSummarySuiteSelection(evals, selected, (e) => isEvalSummaryCase(e.definition.tags));
|
|
133
133
|
}
|
|
134
134
|
export async function runDiscoveredEvals(options) {
|
|
135
135
|
let selected;
|
|
@@ -185,7 +185,7 @@ export async function runDiscoveredEvals(options) {
|
|
|
185
185
|
configModel: config.judge?.model,
|
|
186
186
|
caller: options.judgeCaller ?? callJudgeModel,
|
|
187
187
|
},
|
|
188
|
-
onEvent: event => {
|
|
188
|
+
onEvent: (event) => {
|
|
189
189
|
options.onCaseEvent?.(discovered.id, event);
|
|
190
190
|
options.onEvent?.(event);
|
|
191
191
|
},
|
|
@@ -215,7 +215,7 @@ export async function runDiscoveredEvals(options) {
|
|
|
215
215
|
function buildReporterHub(options, config, selected) {
|
|
216
216
|
const skip = options.skipReport === true;
|
|
217
217
|
const runWide = [...(options.reporters ?? []), ...(skip ? [] : (config.reporters ?? []))];
|
|
218
|
-
const perEval = skip ? [] : selected.flatMap(e => e.definition.reporters ?? []);
|
|
218
|
+
const perEval = skip ? [] : selected.flatMap((e) => e.definition.reporters ?? []);
|
|
219
219
|
const everyReporter = [...new Set([...runWide, ...perEval])];
|
|
220
220
|
if (everyReporter.length === 0) {
|
|
221
221
|
return undefined;
|
|
@@ -228,7 +228,7 @@ function buildReporterHub(options, config, selected) {
|
|
|
228
228
|
const all = combineReporters(everyReporter, onError);
|
|
229
229
|
return {
|
|
230
230
|
async runStart(evals, target) {
|
|
231
|
-
await all.onRunStart?.(evals.map(e => ({
|
|
231
|
+
await all.onRunStart?.(evals.map((e) => ({
|
|
232
232
|
id: e.id,
|
|
233
233
|
fileId: e.fileId,
|
|
234
234
|
description: e.definition.description,
|
|
@@ -279,7 +279,7 @@ export function groupEvalsForIterationSchedule(evals) {
|
|
|
279
279
|
}
|
|
280
280
|
group.push(discovered);
|
|
281
281
|
}
|
|
282
|
-
return order.map(key => {
|
|
282
|
+
return order.map((key) => {
|
|
283
283
|
const group = groups.get(key);
|
|
284
284
|
return group.sort((a, b) => (a.definition.iteration ?? 1) - (b.definition.iteration ?? 1));
|
|
285
285
|
});
|
|
@@ -323,8 +323,8 @@ async function runOneEval(discovered, opts) {
|
|
|
323
323
|
const inputs = [];
|
|
324
324
|
const turns = [];
|
|
325
325
|
let reply = null;
|
|
326
|
-
const toolsUsed = () => buildTrajectory(allEvents).turns.flatMap(t => t.toolCalls.map(c => c.toolName));
|
|
327
|
-
const toolCallIo = () => buildTrajectory(allEvents).turns.flatMap(turn => turn.toolCalls.map(c => ({
|
|
326
|
+
const toolsUsed = () => buildTrajectory(allEvents).turns.flatMap((t) => t.toolCalls.map((c) => c.toolName));
|
|
327
|
+
const toolCallIo = () => buildTrajectory(allEvents).turns.flatMap((turn) => turn.toolCalls.map((c) => ({
|
|
328
328
|
toolName: c.toolName,
|
|
329
329
|
...(c.args === undefined ? {} : { args: c.args }),
|
|
330
330
|
...(c.output === undefined ? {} : { output: c.output }),
|
|
@@ -366,8 +366,8 @@ async function runOneEval(discovered, opts) {
|
|
|
366
366
|
});
|
|
367
367
|
const judge = createJudgeSurface({
|
|
368
368
|
recorder,
|
|
369
|
-
grader: name => EVAL_JUDGE_GRADERS[name],
|
|
370
|
-
resolveModel: callModel => resolveJudgeModel({
|
|
369
|
+
grader: (name) => EVAL_JUDGE_GRADERS[name],
|
|
370
|
+
resolveModel: (callModel) => resolveJudgeModel({
|
|
371
371
|
call: callModel,
|
|
372
372
|
evalLevel: def.judge?.model,
|
|
373
373
|
config: opts.judge.configModel,
|
|
@@ -375,7 +375,7 @@ async function runOneEval(discovered, opts) {
|
|
|
375
375
|
}),
|
|
376
376
|
caller: opts.judge.caller,
|
|
377
377
|
defaultValue: () => reply,
|
|
378
|
-
onUnavailable: message => {
|
|
378
|
+
onUnavailable: (message) => {
|
|
379
379
|
judgeUnavailable = judgeUnavailable ?? message;
|
|
380
380
|
},
|
|
381
381
|
});
|
|
@@ -436,12 +436,12 @@ async function runOneEval(discovered, opts) {
|
|
|
436
436
|
message: result.trajectory.finalText,
|
|
437
437
|
sessionId: result.sessionId,
|
|
438
438
|
events: turnEvents,
|
|
439
|
-
toolCalls: result.trajectory.turns.flatMap(turn => turn.toolCalls.map(c => c.toolName)),
|
|
439
|
+
toolCalls: result.trajectory.turns.flatMap((turn) => turn.toolCalls.map((c) => c.toolName)),
|
|
440
440
|
ok: result.ok,
|
|
441
441
|
index,
|
|
442
442
|
expectOk() {
|
|
443
443
|
if (!result.ok) {
|
|
444
|
-
throw new Error(`turn[${index}] failed: ${result.trajectory.turns.find(x => x.failed)?.error ?? "unknown error"}`);
|
|
444
|
+
throw new Error(`turn[${index}] failed: ${result.trajectory.turns.find((x) => x.failed)?.error ?? "unknown error"}`);
|
|
445
445
|
}
|
|
446
446
|
return turn;
|
|
447
447
|
},
|
|
@@ -2,7 +2,7 @@ import { runSession } from "./run-client.js";
|
|
|
2
2
|
/** An agent served over HTTP: the local eval server, a `--url`, or the playground host. */
|
|
3
3
|
export function localHttpEvalTransport(input) {
|
|
4
4
|
return {
|
|
5
|
-
send: turn => runSession({
|
|
5
|
+
send: (turn) => runSession({
|
|
6
6
|
baseUrl: input.baseUrl,
|
|
7
7
|
messages: [turn.message],
|
|
8
8
|
sessionId: turn.sessionId,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"evals-client.d.ts","sourceRoot":"","sources":["../../src/internal/evals-client.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAuB,KAAK,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAI7E,MAAM,MAAM,mBAAmB,GAC3B,mBAAmB,GACnB,sBAAsB,GACtB,sBAAsB,GACtB,kBAAkB,GAClB,cAAc,GACd,aAAa,GACb,eAAe,GACf,SAAS,CAAC;AAEd,qBAAa,eAAgB,SAAQ,KAAK;IAGtC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM;
|
|
1
|
+
{"version":3,"file":"evals-client.d.ts","sourceRoot":"","sources":["../../src/internal/evals-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -89,13 +89,13 @@ export async function listRemoteEvals(args) {
|
|
|
89
89
|
}
|
|
90
90
|
let selected = listed;
|
|
91
91
|
if (args.filterIds !== undefined && args.filterIds.length > 0) {
|
|
92
|
-
selected = selected.filter(e => args.filterIds.some(f => matchesEvalIdFilter(e.id, f)));
|
|
92
|
+
selected = selected.filter((e) => args.filterIds.some((f) => matchesEvalIdFilter(e.id, f)));
|
|
93
93
|
}
|
|
94
94
|
if (args.tags !== undefined && args.tags.length > 0) {
|
|
95
|
-
selected = selected.filter(e => (e.tags ?? []).some(t => args.tags.includes(t)));
|
|
95
|
+
selected = selected.filter((e) => (e.tags ?? []).some((t) => args.tags.includes(t)));
|
|
96
96
|
}
|
|
97
97
|
// Match server-side filterDiscoveredEvals: summary → whole file.
|
|
98
|
-
return expandSummarySuiteSelection(listed, selected, e => isEvalSummaryCase(e.tags));
|
|
98
|
+
return expandSummarySuiteSelection(listed, selected, (e) => isEvalSummaryCase(e.tags));
|
|
99
99
|
}
|
|
100
100
|
export async function startRemoteEvalRun(args) {
|
|
101
101
|
const baseUrl = args.baseUrl.replace(/\/$/, "");
|
|
@@ -258,7 +258,7 @@ export async function pollRemoteEvalRun(args) {
|
|
|
258
258
|
}
|
|
259
259
|
}
|
|
260
260
|
export function snapshotToEvalRunResults(snapshot) {
|
|
261
|
-
return snapshot.cases.map(c => ({
|
|
261
|
+
return snapshot.cases.map((c) => ({
|
|
262
262
|
id: c.id,
|
|
263
263
|
path: c.fileId,
|
|
264
264
|
...(c.description === undefined ? {} : { description: c.description }),
|
|
@@ -80,7 +80,7 @@ export class SessionEventLog {
|
|
|
80
80
|
}
|
|
81
81
|
async readNextIndex() {
|
|
82
82
|
let next = 0;
|
|
83
|
-
await readNdjsonEvents(this.filePath, event => {
|
|
83
|
+
await readNdjsonEvents(this.filePath, (event) => {
|
|
84
84
|
if (typeof event.index === "number" && event.index >= next) {
|
|
85
85
|
next = event.index + 1;
|
|
86
86
|
}
|
|
@@ -132,7 +132,7 @@ export class SessionEventLog {
|
|
|
132
132
|
.then(() => {
|
|
133
133
|
this.dropInflight(index);
|
|
134
134
|
})
|
|
135
|
-
.catch(error => this.onPersistError(error));
|
|
135
|
+
.catch((error) => this.onPersistError(error));
|
|
136
136
|
return event;
|
|
137
137
|
}
|
|
138
138
|
dropInflight(index) {
|
|
@@ -140,7 +140,7 @@ export class SessionEventLog {
|
|
|
140
140
|
this.inflight.shift();
|
|
141
141
|
return;
|
|
142
142
|
}
|
|
143
|
-
const i = this.inflight.findIndex(event => event.index === index);
|
|
143
|
+
const i = this.inflight.findIndex((event) => event.index === index);
|
|
144
144
|
if (i >= 0) {
|
|
145
145
|
this.inflight.splice(i, 1);
|
|
146
146
|
}
|
|
@@ -155,7 +155,7 @@ export class SessionEventLog {
|
|
|
155
155
|
*/
|
|
156
156
|
async snapshot(startIndex = 0) {
|
|
157
157
|
const byIndex = new Map();
|
|
158
|
-
await readNdjsonEvents(this.filePath, event => {
|
|
158
|
+
await readNdjsonEvents(this.filePath, (event) => {
|
|
159
159
|
if (event.index >= startIndex) {
|
|
160
160
|
byIndex.set(event.index, event);
|
|
161
161
|
}
|
|
@@ -214,7 +214,7 @@ export class SessionEventLog {
|
|
|
214
214
|
};
|
|
215
215
|
let following = false;
|
|
216
216
|
const buffered = [];
|
|
217
|
-
unsubscribe = this.subscribe(event => {
|
|
217
|
+
unsubscribe = this.subscribe((event) => {
|
|
218
218
|
if (event.index < startIndex) {
|
|
219
219
|
return;
|
|
220
220
|
}
|
|
@@ -269,9 +269,9 @@ export class EventLogStore {
|
|
|
269
269
|
.then(() => SessionEventLog.open({
|
|
270
270
|
sessionId,
|
|
271
271
|
filePath,
|
|
272
|
-
onPersistError: error => this.onPersistError(sessionId, error),
|
|
272
|
+
onPersistError: (error) => this.onPersistError(sessionId, error),
|
|
273
273
|
}))
|
|
274
|
-
.then(opened => {
|
|
274
|
+
.then((opened) => {
|
|
275
275
|
this.opened.set(sessionId, opened);
|
|
276
276
|
return opened;
|
|
277
277
|
});
|
|
@@ -294,6 +294,6 @@ export class EventLogStore {
|
|
|
294
294
|
};
|
|
295
295
|
}
|
|
296
296
|
async flushAll() {
|
|
297
|
-
await Promise.all([...this.logs.values()].map(logPromise => logPromise.then(log => log.flush()).catch(() => { })));
|
|
297
|
+
await Promise.all([...this.logs.values()].map((logPromise) => logPromise.then((log) => log.flush()).catch(() => { })));
|
|
298
298
|
}
|
|
299
299
|
}
|
|
@@ -272,7 +272,7 @@ export class TurnEventMapper {
|
|
|
272
272
|
if (wave === undefined) {
|
|
273
273
|
return;
|
|
274
274
|
}
|
|
275
|
-
if (wave.calls.every(existing => existing.callId !== callId)) {
|
|
275
|
+
if (wave.calls.every((existing) => existing.callId !== callId)) {
|
|
276
276
|
wave.calls.push(call);
|
|
277
277
|
}
|
|
278
278
|
this.adoptSingletonResults(wave, parentCallId, callId);
|
|
@@ -311,7 +311,7 @@ export class TurnEventMapper {
|
|
|
311
311
|
if (wave === undefined) {
|
|
312
312
|
return;
|
|
313
313
|
}
|
|
314
|
-
const isNew = wave.results.every(existing => existing.callId !== callId);
|
|
314
|
+
const isNew = wave.results.every((existing) => existing.callId !== callId);
|
|
315
315
|
if (isNew) {
|
|
316
316
|
wave.results.push(actionResult);
|
|
317
317
|
}
|
|
@@ -332,8 +332,8 @@ export class TurnEventMapper {
|
|
|
332
332
|
}
|
|
333
333
|
}
|
|
334
334
|
callBelongsToWave(wave, callId) {
|
|
335
|
-
return (wave.calls.some(existing => existing.callId === callId) ||
|
|
336
|
-
wave.results.some(existing => existing.callId === callId));
|
|
335
|
+
return (wave.calls.some((existing) => existing.callId === callId) ||
|
|
336
|
+
wave.results.some((existing) => existing.callId === callId));
|
|
337
337
|
}
|
|
338
338
|
singletonWave(parentCallId, callId) {
|
|
339
339
|
const key = waveKey({ parentCallId, callId });
|
|
@@ -399,7 +399,7 @@ export class TurnEventMapper {
|
|
|
399
399
|
return;
|
|
400
400
|
}
|
|
401
401
|
for (const result of singleton.results) {
|
|
402
|
-
if (wave.results.every(existing => existing.callId !== result.callId)) {
|
|
402
|
+
if (wave.results.every((existing) => existing.callId !== result.callId)) {
|
|
403
403
|
wave.results.push(result);
|
|
404
404
|
}
|
|
405
405
|
}
|
|
@@ -487,11 +487,11 @@ export class TurnEventMapper {
|
|
|
487
487
|
wave.results.length < wave.calls.length) {
|
|
488
488
|
return;
|
|
489
489
|
}
|
|
490
|
-
const callIds = new Set(wave.calls.map(call => call.callId));
|
|
491
|
-
if (!wave.results.every(result => callIds.has(result.callId))) {
|
|
490
|
+
const callIds = new Set(wave.calls.map((call) => call.callId));
|
|
491
|
+
if (!wave.results.every((result) => callIds.has(result.callId))) {
|
|
492
492
|
return;
|
|
493
493
|
}
|
|
494
|
-
if (!wave.calls.every(call => wave.results.some(result => result.callId === call.callId))) {
|
|
494
|
+
if (!wave.calls.every((call) => wave.results.some((result) => result.callId === call.callId))) {
|
|
495
495
|
return;
|
|
496
496
|
}
|
|
497
497
|
this.emitActionsCompleted(wave);
|
|
@@ -512,8 +512,8 @@ export class TurnEventMapper {
|
|
|
512
512
|
this.waves.delete(wave.key);
|
|
513
513
|
this.sealedWaveKeys.add(wave.key);
|
|
514
514
|
for (const callId of new Set([
|
|
515
|
-
...wave.calls.map(call => call.callId),
|
|
516
|
-
...wave.results.map(result => result.callId),
|
|
515
|
+
...wave.calls.map((call) => call.callId),
|
|
516
|
+
...wave.results.map((result) => result.callId),
|
|
517
517
|
])) {
|
|
518
518
|
this.sealedWaveKeys.add(waveKey({ parentCallId: wave.parentCallId, callId }));
|
|
519
519
|
}
|
|
@@ -523,7 +523,7 @@ export class TurnEventMapper {
|
|
|
523
523
|
flushOpenResults() {
|
|
524
524
|
for (const wave of [...this.waves.values()]) {
|
|
525
525
|
if (wave.calls.length === 0 && wave.results.length > 0) {
|
|
526
|
-
wave.calls = wave.results.map(result => ({
|
|
526
|
+
wave.calls = wave.results.map((result) => ({
|
|
527
527
|
callId: result.callId,
|
|
528
528
|
toolName: result.toolName,
|
|
529
529
|
parentCallId: result.parentCallId,
|
|
@@ -629,8 +629,8 @@ export function describeToolResult(toolCall) {
|
|
|
629
629
|
if (toolCall.type === "mcp") {
|
|
630
630
|
const value = result.value;
|
|
631
631
|
const text = (value.content ?? [])
|
|
632
|
-
.map(item => item.text?.text ?? "")
|
|
633
|
-
.filter(part => part !== "")
|
|
632
|
+
.map((item) => item.text?.text ?? "")
|
|
633
|
+
.filter((part) => part !== "")
|
|
634
634
|
.join("\n");
|
|
635
635
|
return {
|
|
636
636
|
output: text === "" ? value : text,
|
|
@@ -18,10 +18,10 @@ export function classifyExpectedDeliveryFailure(message) {
|
|
|
18
18
|
return undefined;
|
|
19
19
|
}
|
|
20
20
|
const text = message.toLowerCase();
|
|
21
|
-
if (UNPAID_INVOICE_PHRASES.some(phrase => text.includes(phrase))) {
|
|
21
|
+
if (UNPAID_INVOICE_PHRASES.some((phrase) => text.includes(phrase))) {
|
|
22
22
|
return "unpaid_invoice";
|
|
23
23
|
}
|
|
24
|
-
if (USAGE_LIMIT_PHRASES.some(phrase => text.includes(phrase))) {
|
|
24
|
+
if (USAGE_LIMIT_PHRASES.some((phrase) => text.includes(phrase))) {
|
|
25
25
|
return "usage_limit";
|
|
26
26
|
}
|
|
27
27
|
return undefined;
|
|
@@ -140,7 +140,7 @@ function renderDirectoryTree(rootDirectory, renderExtensionCounts = true, render
|
|
|
140
140
|
export function formatGlobOutput(dir, files) {
|
|
141
141
|
const normalizedRoot = dir.replace(/\/+$/, "") || "/";
|
|
142
142
|
const prefix = normalizedRoot === "/" ? "/" : `${normalizedRoot}/`;
|
|
143
|
-
const relative = files.map(filePath => filePath.startsWith(prefix) ? filePath.slice(prefix.length) : filePath);
|
|
143
|
+
const relative = files.map((filePath) => filePath.startsWith(prefix) ? filePath.slice(prefix.length) : filePath);
|
|
144
144
|
if (relative.length === 0) {
|
|
145
145
|
return `Result of search in '${dir}': 0 files found\n`;
|
|
146
146
|
}
|
|
@@ -169,7 +169,7 @@ export function formatGrepOutput(union) {
|
|
|
169
169
|
if (union.output.counts.length === 0) {
|
|
170
170
|
return "No matches found";
|
|
171
171
|
}
|
|
172
|
-
return union.output.counts.map(row => `${row.file}:${row.count}`).join("\n");
|
|
172
|
+
return union.output.counts.map((row) => `${row.file}:${row.count}`).join("\n");
|
|
173
173
|
}
|
|
174
174
|
if (union.output.matches.length === 0) {
|
|
175
175
|
return "No matches found";
|
|
@@ -41,9 +41,9 @@ export async function nearestNeighborMissHint(root, path) {
|
|
|
41
41
|
});
|
|
42
42
|
const names = [
|
|
43
43
|
...new Set(files
|
|
44
|
-
.map(file => relativeToParent(file.path, parent))
|
|
45
|
-
.filter(name => name.length > 0 && !name.includes("/"))),
|
|
46
|
-
].filter(name => name !== posix.basename(missed));
|
|
44
|
+
.map((file) => relativeToParent(file.path, parent))
|
|
45
|
+
.filter((name) => name.length > 0 && !name.includes("/"))),
|
|
46
|
+
].filter((name) => name !== posix.basename(missed));
|
|
47
47
|
return formatMissNeighborHint(missed, nearestListedNames(posix.basename(missed), names));
|
|
48
48
|
}
|
|
49
49
|
function rankKey(name) {
|
|
@@ -71,7 +71,7 @@ export function rewriteWebScratchValue(args) {
|
|
|
71
71
|
return rewriteWebScratchText({ cwd, text: value });
|
|
72
72
|
}
|
|
73
73
|
if (Array.isArray(value)) {
|
|
74
|
-
return value.map(item => rewriteWebScratchValue({ cwd, value: item }));
|
|
74
|
+
return value.map((item) => rewriteWebScratchValue({ cwd, value: item }));
|
|
75
75
|
}
|
|
76
76
|
if (value !== null && typeof value === "object") {
|
|
77
77
|
const next = {};
|
|
@@ -142,8 +142,8 @@ async function listHostAgentToolsFiles(cwd) {
|
|
|
142
142
|
try {
|
|
143
143
|
const entries = await readdir(dir, { withFileTypes: true });
|
|
144
144
|
return entries
|
|
145
|
-
.filter(entry => entry.isFile() && UUID_TXT.test(entry.name))
|
|
146
|
-
.map(entry => path.join(dir, entry.name));
|
|
145
|
+
.filter((entry) => entry.isFile() && UUID_TXT.test(entry.name))
|
|
146
|
+
.map((entry) => path.join(dir, entry.name));
|
|
147
147
|
}
|
|
148
148
|
catch (error) {
|
|
149
149
|
if (isEnoent(error)) {
|
|
@@ -69,7 +69,7 @@ export function hostFileToolsFromAuthored(tools) {
|
|
|
69
69
|
}
|
|
70
70
|
return rootFileToolsFromAuthored(tools) ?? [];
|
|
71
71
|
}
|
|
72
|
-
const HOST_DEFAULT_SYNTHESIZED_NAMES = SYNTHESIZED_FILE_SYSTEM_TOOL_NAMES.filter(name => name !== "SemanticSearch");
|
|
72
|
+
const HOST_DEFAULT_SYNTHESIZED_NAMES = SYNTHESIZED_FILE_SYSTEM_TOOL_NAMES.filter((name) => name !== "SemanticSearch");
|
|
73
73
|
/**
|
|
74
74
|
* Names July will actually synthesize for this agent. Discovery reserves
|
|
75
75
|
* only this set, not every FileSystem alias.
|
|
@@ -84,7 +84,7 @@ export function synthesizedFileSystemToolNames(options) {
|
|
|
84
84
|
if (filter === undefined) {
|
|
85
85
|
return catalog;
|
|
86
86
|
}
|
|
87
|
-
return catalog.filter(name => filter.includes(name));
|
|
87
|
+
return catalog.filter((name) => filter.includes(name));
|
|
88
88
|
}
|
|
89
89
|
function wantsTool(filter, name) {
|
|
90
90
|
return filter === undefined || filter.includes(name);
|
|
@@ -158,7 +158,7 @@ async function collectMultilineGrepFiles(root, input) {
|
|
|
158
158
|
pattern: recursiveGrepGlob(input.glob),
|
|
159
159
|
...(input.path === undefined ? {} : { dir: input.path }),
|
|
160
160
|
});
|
|
161
|
-
return entries.map(entry => entry.path);
|
|
161
|
+
return entries.map((entry) => entry.path);
|
|
162
162
|
}
|
|
163
163
|
function recursiveGrepGlob(glob) {
|
|
164
164
|
if (glob === undefined || glob.length === 0) {
|
|
@@ -401,12 +401,12 @@ Tool to search for files matching a glob pattern
|
|
|
401
401
|
pattern: globPattern,
|
|
402
402
|
...(targetDirectory === undefined ? {} : { dir: targetDirectory }),
|
|
403
403
|
limit: FILE_SYSTEM_SCAN_LIMIT,
|
|
404
|
-
})).map(entry => entry.path);
|
|
404
|
+
})).map((entry) => entry.path);
|
|
405
405
|
return formatGlobOutput(dir, files);
|
|
406
406
|
},
|
|
407
407
|
}), { input: sdkGlobArgs, output: sdkGlobResult });
|
|
408
408
|
}
|
|
409
|
-
const grepInputSchema = z.preprocess(raw => {
|
|
409
|
+
const grepInputSchema = z.preprocess((raw) => {
|
|
410
410
|
const aliased = aliasKeys({
|
|
411
411
|
output_mode: "outputMode",
|
|
412
412
|
head_limit: "headLimit",
|
|
@@ -555,7 +555,7 @@ function semanticSearchTool(root) {
|
|
|
555
555
|
break;
|
|
556
556
|
}
|
|
557
557
|
}
|
|
558
|
-
return hits.map(hit => `${hit.path}: ${hit.snippet}`).join("\n");
|
|
558
|
+
return hits.map((hit) => `${hit.path}: ${hit.snippet}`).join("\n");
|
|
559
559
|
},
|
|
560
560
|
}), { input: sdkSemSearchArgs, output: sdkSemSearchResult });
|
|
561
561
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"walk.d.ts","sourceRoot":"","sources":["../../../src/internal/filesystem/walk.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAe,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAIpG;;;;;GAKG;AACH,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,mBAAmB,EAAE,CAAC;IACpC,aAAa,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACvC,qBAAqB,EAAE,OAAO,CAAC;IAC/B,0BAA0B,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnD,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,iEAAiE;AACjE,eAAO,MAAM,0BAA0B,OAAQ,CAAC;AAUhD;;;GAGG;AACH,wBAAuB,kBAAkB,CACvC,KAAK,EAAE,QAAQ,CAAC,QAAQ,CAAC,EACzB,MAAM,CAAC,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,WAAW,GACpB,cAAc,CAAC,QAAQ,CAAC,CAqB1B;AAED,wBAAgB,mBAAmB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAK3D;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,QAAQ,CAgBjF;AAED,wBAAsB,WAAW,CAC/B,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,EAC9B,MAAM,CAAC,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,QAAQ,EAAE,CAAC,CASrB;AAED,wBAAsB,WAAW,CAC/B,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,EAC9B,OAAO,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GACzD,OAAO,CAAC,QAAQ,EAAE,CAAC,CAWrB;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAAC,EACvC,IAAI,CAAC,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC;IAAE,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAAC,KAAK,EAAE,QAAQ,EAAE,CAAA;CAAE,CAAC,CAUxD;AAED,wBAAuB,iBAAiB,CACtC,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC,EAC5D,OAAO,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,GAC7B,cAAc,CAAC,QAAQ,CAAC,CAK1B;AAaD;;;GAGG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,QAAQ,EAAE,GAAG,mBAAmB,CAYxF;AAkFD;;;GAGG;AACH,wBAAgB,YAAY,CAC1B,OAAO,EAAE,SAAS,QAAQ,EAAE,EAC5B,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,GAC9B,QAAQ,EAAE,
|
|
1
|
+
{"version":3,"file":"walk.d.ts","sourceRoot":"","sources":["../../../src/internal/filesystem/walk.ts"],"names":[],"mappings":"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"}
|
|
@@ -209,7 +209,7 @@ export function applyIgnores(entries, ignoreGlobs) {
|
|
|
209
209
|
if (ignoreGlobs === undefined || ignoreGlobs.length === 0) {
|
|
210
210
|
return [...entries];
|
|
211
211
|
}
|
|
212
|
-
return entries.filter(entry => !ignoreGlobs.some(glob => matchesIgnoreGlob(entry.path, glob)));
|
|
212
|
+
return entries.filter((entry) => !ignoreGlobs.some((glob) => matchesIgnoreGlob(entry.path, glob)));
|
|
213
213
|
}
|
|
214
214
|
function matchesIgnoreGlob(filePath, glob) {
|
|
215
215
|
const recursivePrefix = "**".concat("/");
|
|
@@ -229,7 +229,7 @@ export function isExcludedPath(path, excludes) {
|
|
|
229
229
|
if (excludes === undefined || excludes.length === 0) {
|
|
230
230
|
return false;
|
|
231
231
|
}
|
|
232
|
-
return excludes.some(glob => matchesIgnoreGlob(path, glob));
|
|
232
|
+
return excludes.some((glob) => matchesIgnoreGlob(path, glob));
|
|
233
233
|
}
|
|
234
234
|
export async function lsFromList(root, path, ignoreGlobs) {
|
|
235
235
|
const listed = await collectListOrStat(root, path, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"framework-file-storage.d.ts","sourceRoot":"","sources":["../../src/internal/framework-file-storage.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,KAAK,EAAE,aAAa,EAAgB,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"framework-file-storage.d.ts","sourceRoot":"","sources":["../../src/internal/framework-file-storage.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,KAAK,EAAE,aAAa,EAAgB,MAAM,eAAe,CAAC;AAkBjE;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAavD;AAED;;;;GAIG;AACH,MAAM,MAAM,mBAAmB,GAAG,QAAQ,CAAC,IAAI,CAAC,aAAa,EAAE,KAAK,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC,CAAC,GAChG,IAAI,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;AAgBjC;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,QAAQ,GAAG,mBAAmB,CA2GvE;AA6CD;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE;IAC7C,EAAE,EAAE,mBAAmB,CAAC;IACxB,KAAK,EAAE,mBAAmB,CAAC;CAC5B,GAAG,mBAAmB,GAAG,IAAI,CAAC,aAAa,EAAE,YAAY,CAAC,CAqD1D;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,WAAW,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,GACrC,WAAW,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CA0BnC"}
|
|
@@ -17,6 +17,7 @@ const FRAMEWORK_FILE_KINDS = new Set([
|
|
|
17
17
|
"session-events",
|
|
18
18
|
"session-runs",
|
|
19
19
|
"logs",
|
|
20
|
+
"persistent-stage-logs",
|
|
20
21
|
"continuation",
|
|
21
22
|
]);
|
|
22
23
|
/**
|
|
@@ -48,7 +49,7 @@ const LIST_READ_CONCURRENCY = 8;
|
|
|
48
49
|
* a per-request 400 that the lazy-restore path would propagate forever.
|
|
49
50
|
*/
|
|
50
51
|
function isUnrepresentableFileKey(key) {
|
|
51
|
-
return key.split("/").some(segment => segment === "" || segment === "." || segment === "..");
|
|
52
|
+
return key.split("/").some((segment) => segment === "" || segment === "." || segment === "..");
|
|
52
53
|
}
|
|
53
54
|
/**
|
|
54
55
|
* Adapt a {@link FileSink} to the `defineStorage` KV core. Storage keys are
|
|
@@ -70,7 +71,7 @@ export function fileSinkStorageCore(sink) {
|
|
|
70
71
|
await sink.put(key, encodeDocument(key, value));
|
|
71
72
|
},
|
|
72
73
|
async putMany(entries) {
|
|
73
|
-
const results = entries.map(entry => ({
|
|
74
|
+
const results = entries.map((entry) => ({
|
|
74
75
|
key: entry.key,
|
|
75
76
|
}));
|
|
76
77
|
const writable = [];
|
|
@@ -143,8 +144,8 @@ export function fileSinkStorageCore(sink) {
|
|
|
143
144
|
// FileSink.list returns metadata only, so values require separate reads.
|
|
144
145
|
// Prefer the sink's batch API and otherwise use bounded parallel reads.
|
|
145
146
|
const bodies = sink.getMany !== undefined
|
|
146
|
-
? await sink.getMany(entries.map(entry => entry.key))
|
|
147
|
-
: await mapBounded(entries, LIST_READ_CONCURRENCY, entry => sink.get(entry.key));
|
|
147
|
+
? await sink.getMany(entries.map((entry) => entry.key))
|
|
148
|
+
: await mapBounded(entries, LIST_READ_CONCURRENCY, (entry) => sink.get(entry.key));
|
|
148
149
|
const out = [];
|
|
149
150
|
for (let index = 0; index < entries.length; index += 1) {
|
|
150
151
|
const entry = entries[index];
|
|
@@ -213,7 +214,7 @@ export function composeFrameworkStorage(input) {
|
|
|
213
214
|
// Partition by destination store, batch each side, and reassemble
|
|
214
215
|
// per-entry outcomes in input order.
|
|
215
216
|
const indexed = entries.map((entry, index) => ({ entry, index }));
|
|
216
|
-
const results = entries.map(entry => ({
|
|
217
|
+
const results = entries.map((entry) => ({
|
|
217
218
|
key: entry.key,
|
|
218
219
|
}));
|
|
219
220
|
for (const core of [input.files, input.kv]) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"framework-storage-selection.d.ts","sourceRoot":"","sources":["../../src/internal/framework-storage-selection.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,EAAiB,KAAK,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAMtE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AASrD,MAAM,WAAW,8BAA8B;IAC7C,2FAA2F;IAC3F,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,GAAG,SAAS,CAAC;IACjD,6EAA6E;IAC7E,QAAQ,CAAC,YAAY,CAAC,EAAE,iBAAiB,GAAG,SAAS,CAAC;IACtD,iEAAiE;IACjE,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;CACnD;AAED;;;;;GAKG;AACH,wBAAgB,gCAAgC,CAC9C,KAAK,EAAE,8BAA8B,GACpC,iBAAiB,GAAG,SAAS,
|
|
1
|
+
{"version":3,"file":"framework-storage-selection.d.ts","sourceRoot":"","sources":["../../src/internal/framework-storage-selection.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,EAAiB,KAAK,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAMtE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AASrD,MAAM,WAAW,8BAA8B;IAC7C,2FAA2F;IAC3F,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,GAAG,SAAS,CAAC;IACjD,6EAA6E;IAC7E,QAAQ,CAAC,YAAY,CAAC,EAAE,iBAAiB,GAAG,SAAS,CAAC;IACtD,iEAAiE;IACjE,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;CACnD;AAED;;;;;GAKG;AACH,wBAAgB,gCAAgC,CAC9C,KAAK,EAAE,8BAA8B,GACpC,iBAAiB,GAAG,SAAS,CA8D/B"}
|
|
@@ -16,7 +16,7 @@ import { AGENT_SERVE_DEPLOYMENT_ID_ENV_VAR, cursorHostedStorage, } from "../stor
|
|
|
16
16
|
import { cursorHostedStorageV2 } from "../storage-backends/cursor-hosted-v2.js";
|
|
17
17
|
import { resolveApiKeySync } from "./cursor/credentials.js";
|
|
18
18
|
import { composeFrameworkStorage, fileSinkStorageCore, frameworkGuardedCas, } from "./framework-file-storage.js";
|
|
19
|
-
import { resolveAgentV2Hosting } from "./v2-hosting.js";
|
|
19
|
+
import { isCursorManagedV2Hosting, resolveAgentV2Hosting } from "./v2-hosting.js";
|
|
20
20
|
/**
|
|
21
21
|
* Pick the backend for framework session state.
|
|
22
22
|
*
|
|
@@ -51,12 +51,14 @@ export function selectFrameworkStorageDefinition(input) {
|
|
|
51
51
|
architecture: input.architecture,
|
|
52
52
|
env: input.env,
|
|
53
53
|
});
|
|
54
|
-
if (hosting
|
|
54
|
+
if (!isCursorManagedV2Hosting(hosting)) {
|
|
55
55
|
// Self-hosted v2: the state root is the durable copy.
|
|
56
56
|
return undefined;
|
|
57
57
|
}
|
|
58
58
|
// Managed v2 hosts restore sessions lazily by continuation or session id.
|
|
59
59
|
// Turn completion still waits for the session record to reach storage.
|
|
60
|
+
// A persistent slot never restores: its own `/state` is the live copy and
|
|
61
|
+
// the mirror exists so the dashboard survives the VM, not the other way.
|
|
60
62
|
const policy = {
|
|
61
63
|
restore: "off",
|
|
62
64
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"github-fanout.d.ts","sourceRoot":"","sources":["../../src/internal/github-fanout.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAgB,KAAK,eAAe,EAAuB,MAAM,WAAW,CAAC;AAEpF,OAAO,EAAE,KAAK,mBAAmB,EAAe,MAAM,+BAA+B,CAAC;AAEtF,6EAA6E;AAC7E,eAAO,MAAM,sBAAsB,EAAE,SAAS,MAAM,EASnD,CAAC;AAEF,MAAM,WAAW,YAAY;IAC3B,2DAA2D;IAC3D,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,IAAI,IAAI,CAAC;CACf;AAED,MAAM,WAAW,aAAa;IAC5B,oEAAoE;IACpE,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACjC;AAED,0EAA0E;AAC1E,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,SAAS,mBAAmB,EAAE,EACvC,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,YAAY,CAAC,CAiBvB;AA8BD;;;;GAIG;AACH,wBAAsB,cAAc,CAClC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,eAAe,CAAC,SAAS,CAAC,EACnC,OAAO,EAAE,SAAS,mBAAmB,EAAE,EACvC,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,MAAM,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"github-fanout.d.ts","sourceRoot":"","sources":["../../src/internal/github-fanout.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAgB,KAAK,eAAe,EAAuB,MAAM,WAAW,CAAC;AAEpF,OAAO,EAAE,KAAK,mBAAmB,EAAe,MAAM,+BAA+B,CAAC;AAEtF,6EAA6E;AAC7E,eAAO,MAAM,sBAAsB,EAAE,SAAS,MAAM,EASnD,CAAC;AAEF,MAAM,WAAW,YAAY;IAC3B,2DAA2D;IAC3D,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,IAAI,IAAI,CAAC;CACf;AAED,MAAM,WAAW,aAAa;IAC5B,oEAAoE;IACpE,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACjC;AAED,0EAA0E;AAC1E,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,SAAS,mBAAmB,EAAE,EACvC,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,YAAY,CAAC,CAiBvB;AA8BD;;;;GAIG;AACH,wBAAsB,cAAc,CAClC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,eAAe,CAAC,SAAS,CAAC,EACnC,OAAO,EAAE,SAAS,mBAAmB,EAAE,EACvC,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,MAAM,EAAE,CAAC,CA8CnB"}
|
|
@@ -47,7 +47,7 @@ function handleFanoutRequest(req, res, targets, options) {
|
|
|
47
47
|
});
|
|
48
48
|
req.on("end", () => {
|
|
49
49
|
void fanoutDelivery(Buffer.concat(chunks), req.headers, targets, options)
|
|
50
|
-
.then(delivered => {
|
|
50
|
+
.then((delivered) => {
|
|
51
51
|
res.writeHead(200, { "content-type": "application/json" });
|
|
52
52
|
res.end(JSON.stringify({ ok: true, delivered }));
|
|
53
53
|
})
|
|
@@ -66,7 +66,7 @@ function handleFanoutRequest(req, res, targets, options) {
|
|
|
66
66
|
* `x-github-event` receive it (all of them when the header is absent).
|
|
67
67
|
*/
|
|
68
68
|
export async function fanoutDelivery(body, headers, targets, options = {}) {
|
|
69
|
-
const log = options.logger ?? (line => process.stderr.write(line));
|
|
69
|
+
const log = options.logger ?? ((line) => process.stderr.write(line));
|
|
70
70
|
const event = typeof headers["x-github-event"] === "string" ? headers["x-github-event"] : undefined;
|
|
71
71
|
const outbound = {};
|
|
72
72
|
for (const name of FANOUT_FORWARD_HEADERS) {
|
|
@@ -75,7 +75,7 @@ export async function fanoutDelivery(body, headers, targets, options = {}) {
|
|
|
75
75
|
outbound[name] = value;
|
|
76
76
|
}
|
|
77
77
|
}
|
|
78
|
-
const recipients = targets.filter(target => event === undefined || target.events.includes(event));
|
|
78
|
+
const recipients = targets.filter((target) => event === undefined || target.events.includes(event));
|
|
79
79
|
// Reuse one Uint8Array view across recipients (Buffer isn't a BodyInit).
|
|
80
80
|
const payload = new Uint8Array(body);
|
|
81
81
|
const delivered = [];
|
|
@@ -115,7 +115,7 @@ function hasCodeAtDepth(error, depth, codes) {
|
|
|
115
115
|
return true;
|
|
116
116
|
}
|
|
117
117
|
if (error instanceof AggregateError &&
|
|
118
|
-
error.errors.some(inner => hasCodeAtDepth(inner, depth + 1, codes))) {
|
|
118
|
+
error.errors.some((inner) => hasCodeAtDepth(inner, depth + 1, codes))) {
|
|
119
119
|
return true;
|
|
120
120
|
}
|
|
121
121
|
return hasCodeAtDepth(error.cause, depth + 1, codes);
|
|
@@ -136,7 +136,7 @@ function isQuietSignatureAtDepth(error, depth) {
|
|
|
136
136
|
return true;
|
|
137
137
|
}
|
|
138
138
|
if (error instanceof AggregateError &&
|
|
139
|
-
error.errors.some(inner => isQuietSignatureAtDepth(inner, depth + 1))) {
|
|
139
|
+
error.errors.some((inner) => isQuietSignatureAtDepth(inner, depth + 1))) {
|
|
140
140
|
return true;
|
|
141
141
|
}
|
|
142
142
|
return isQuietSignatureAtDepth(error.cause, depth + 1);
|
|
@@ -164,7 +164,7 @@ function isTransientAtDepth(error, depth) {
|
|
|
164
164
|
return true;
|
|
165
165
|
}
|
|
166
166
|
if (error instanceof AggregateError &&
|
|
167
|
-
error.errors.some(inner => isTransientAtDepth(inner, depth + 1))) {
|
|
167
|
+
error.errors.some((inner) => isTransientAtDepth(inner, depth + 1))) {
|
|
168
168
|
return true;
|
|
169
169
|
}
|
|
170
170
|
return isTransientAtDepth(error.cause, depth + 1);
|
|
@@ -174,7 +174,7 @@ const DEFAULT_PROBE_TIMEOUT_MS = 2_000;
|
|
|
174
174
|
export const DEFAULT_WAIT_TIMEOUT_MS = 8_000;
|
|
175
175
|
const DEFAULT_POLL_MS = 250;
|
|
176
176
|
function defaultSleep(ms) {
|
|
177
|
-
return new Promise(resolve => {
|
|
177
|
+
return new Promise((resolve) => {
|
|
178
178
|
setTimeout(resolve, ms);
|
|
179
179
|
});
|
|
180
180
|
}
|
|
@@ -140,7 +140,7 @@ async function statKey(sink, key) {
|
|
|
140
140
|
return await sink.stat(key);
|
|
141
141
|
}
|
|
142
142
|
const entries = await sink.list(key);
|
|
143
|
-
return entries.find(entry => entry.key === key);
|
|
143
|
+
return entries.find((entry) => entry.key === key);
|
|
144
144
|
}
|
|
145
145
|
// ============================================================================
|
|
146
146
|
// Key minting
|
package/dist/internal/host-kv.js
CHANGED
|
@@ -14,9 +14,9 @@ export function createHostKvApi(options) {
|
|
|
14
14
|
const storage = options.storage;
|
|
15
15
|
if (storage?.supportsAuthorKv === true) {
|
|
16
16
|
return {
|
|
17
|
-
get: key => storage.kvGet(normalizeAuthorKey(key)),
|
|
17
|
+
get: (key) => storage.kvGet(normalizeAuthorKey(key)),
|
|
18
18
|
put: (key, value) => storage.kvPut(normalizeAuthorKey(key), value),
|
|
19
|
-
delete: key => storage.kvDelete(normalizeAuthorKey(key)),
|
|
19
|
+
delete: (key) => storage.kvDelete(normalizeAuthorKey(key)),
|
|
20
20
|
};
|
|
21
21
|
}
|
|
22
22
|
return createFilesystemKvApi({
|
|
@@ -43,7 +43,7 @@ export function parseCatchRequestEnvelope(value) {
|
|
|
43
43
|
if (!isRecord(value)) {
|
|
44
44
|
return undefined;
|
|
45
45
|
}
|
|
46
|
-
if (Object.keys(value).some(key => !ENVELOPE_KEYS.has(key)) ||
|
|
46
|
+
if (Object.keys(value).some((key) => !ENVELOPE_KEYS.has(key)) ||
|
|
47
47
|
value.v !== AGENT_SDK_CATCH_ENVELOPE_VERSION ||
|
|
48
48
|
typeof value.method !== "string" ||
|
|
49
49
|
!METHODS.has(value.method) ||
|