deepline 0.3.460 → 0.3.462
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/bundling-sources/sdk/src/client-core.ts +7593 -0
- package/dist/bundling-sources/sdk/src/client.ts +8 -7366
- package/dist/bundling-sources/sdk/src/http-core.ts +1239 -0
- package/dist/bundling-sources/sdk/src/http.ts +6 -1231
- package/dist/bundling-sources/sdk/src/index.ts +4 -1
- package/dist/bundling-sources/sdk/src/play.ts +5 -5
- package/dist/bundling-sources/sdk/src/plays/client-core.ts +437 -0
- package/dist/bundling-sources/sdk/src/plays/client.ts +4 -421
- package/dist/bundling-sources/sdk/src/plays/input-example.ts +3 -4
- package/dist/bundling-sources/sdk/src/plays/play-description.ts +1 -1
- package/dist/bundling-sources/sdk/src/plays/run-request.ts +1 -1
- package/dist/bundling-sources/sdk/src/release.ts +1 -1
- package/dist/bundling-sources/sdk/src/server.ts +43 -0
- package/dist/bundling-sources/sdk/src/types.ts +15 -5
- package/dist/bundling-sources/shared_libs/integration-contracts/billing-entitlements.ts +15 -0
- package/dist/bundling-sources/shared_libs/monitors/billing/state.ts +28 -0
- package/dist/bundling-sources/shared_libs/monitors/callback-security.ts +0 -307
- package/dist/bundling-sources/shared_libs/monitors/http-error-response.ts +3 -0
- package/dist/bundling-sources/shared_libs/monitors/lifecycle-notifications.ts +3 -2
- package/dist/bundling-sources/shared_libs/monitors/package.json +2 -0
- package/dist/bundling-sources/shared_libs/monitors/provider-callback-verification.ts +34 -0
- package/dist/bundling-sources/shared_libs/monitors/provider-monitor-batch-operation.ts +59 -0
- package/dist/bundling-sources/shared_libs/monitors/provider-monitor-upstream-identity.ts +94 -1
- package/dist/bundling-sources/shared_libs/monitors/signal-radars/inbound-dead-letter.ts +35 -1
- package/dist/bundling-sources/shared_libs/monitors/signal-radars/inbound-failure-codes.ts +24 -0
- package/dist/bundling-sources/shared_libs/observability/dlq.ts +32 -0
- package/dist/bundling-sources/shared_libs/observability/scheduled-jobs.json +57 -3
- package/dist/bundling-sources/shared_libs/observability/scheduled-work.ts +1 -0
- package/dist/bundling-sources/shared_libs/play-data-plane/r2.ts +66 -1
- package/dist/bundling-sources/shared_libs/play-data-plane/sheet-column-storage.ts +36 -7
- package/dist/bundling-sources/shared_libs/play-runtime/app-runtime-api.ts +250 -11
- package/dist/bundling-sources/shared_libs/play-runtime/array-input-store.ts +319 -0
- package/dist/bundling-sources/shared_libs/play-runtime/context.ts +991 -359
- package/dist/bundling-sources/shared_libs/play-runtime/ctx-types.ts +17 -0
- package/dist/bundling-sources/shared_libs/play-runtime/daytona-sandbox-janitor.ts +13 -0
- package/dist/bundling-sources/shared_libs/play-runtime/daytona-sandbox-reaper.ts +110 -0
- package/dist/bundling-sources/shared_libs/play-runtime/deployment/fly-machines.ts +155 -6
- package/dist/bundling-sources/shared_libs/play-runtime/deployment/fly-registry.ts +110 -6
- package/dist/bundling-sources/shared_libs/play-runtime/durable-receipt-execution.ts +127 -13
- package/dist/bundling-sources/shared_libs/play-runtime/execution-capabilities.ts +14 -1
- package/dist/bundling-sources/shared_libs/play-runtime/fixture-behavior.ts +57 -1
- package/dist/bundling-sources/shared_libs/play-runtime/free-company-lookup-batching.ts +218 -0
- package/dist/bundling-sources/shared_libs/play-runtime/gateway-postgres-admission.ts +42 -5
- package/dist/bundling-sources/shared_libs/play-runtime/governor/app-runtime-budget-state-backend.ts +6 -1
- package/dist/bundling-sources/shared_libs/play-runtime/governor/app-runtime-rate-state-backend.ts +92 -31
- package/dist/bundling-sources/shared_libs/play-runtime/governor/block-reserving-budget-state-backend.ts +69 -14
- package/dist/bundling-sources/shared_libs/play-runtime/governor/governor.ts +93 -23
- package/dist/bundling-sources/shared_libs/play-runtime/governor/in-memory-rate-state-backend.ts +15 -4
- package/dist/bundling-sources/shared_libs/play-runtime/governor/policy.ts +22 -18
- package/dist/bundling-sources/shared_libs/play-runtime/governor/rate-state-backend.ts +5 -0
- package/dist/bundling-sources/shared_libs/play-runtime/launch-identity.ts +2 -0
- package/dist/bundling-sources/shared_libs/play-runtime/map-memory-limits.ts +190 -14
- package/dist/bundling-sources/shared_libs/play-runtime/memory-ledger.ts +131 -0
- package/dist/bundling-sources/shared_libs/play-runtime/modal-runtime-config.ts +77 -2
- package/dist/bundling-sources/shared_libs/play-runtime/output-size-limits.ts +271 -2
- package/dist/bundling-sources/shared_libs/play-runtime/play-run-recovery-policy.ts +51 -0
- package/dist/bundling-sources/shared_libs/play-runtime/play-runs/sandbox-cleanup/contracts.ts +2 -0
- package/dist/bundling-sources/shared_libs/play-runtime/play-runs/sandbox-cleanup/job.ts +27 -1
- package/dist/bundling-sources/shared_libs/play-runtime/play-runtime-batching-registry.ts +2 -0
- package/dist/bundling-sources/shared_libs/play-runtime/protocol.ts +3 -0
- package/dist/bundling-sources/shared_libs/play-runtime/provider-text-for-log.ts +63 -0
- package/dist/bundling-sources/shared_libs/play-runtime/resource-governor.ts +19 -0
- package/dist/bundling-sources/shared_libs/play-runtime/run-ledger-event-transport.ts +112 -16
- package/dist/bundling-sources/shared_libs/play-runtime/run-ledger.ts +104 -2
- package/dist/bundling-sources/shared_libs/play-runtime/runner-app/index.ts +265 -151
- package/dist/bundling-sources/shared_libs/play-runtime/runner-app/runtime-gateway-transport.ts +17 -0
- package/dist/bundling-sources/shared_libs/play-runtime/runner-app/runtime-progress-push.ts +35 -14
- package/dist/bundling-sources/shared_libs/play-runtime/runner-app/runtime-sheet-persistence-retry.ts +12 -1
- package/dist/bundling-sources/shared_libs/play-runtime/runner-backends/backends/daytona-control-transport.ts +4 -0
- package/dist/bundling-sources/shared_libs/play-runtime/runner-backends/backends/daytona-labels.ts +36 -0
- package/dist/bundling-sources/shared_libs/play-runtime/runner-backends/backends/daytona-launch-transport.ts +136 -70
- package/dist/bundling-sources/shared_libs/play-runtime/runner-backends/backends/daytona-lifecycle.ts +237 -36
- package/dist/bundling-sources/shared_libs/play-runtime/runner-backends/backends/daytona-runtime-watchdog.ts +148 -4
- package/dist/bundling-sources/shared_libs/play-runtime/runner-backends/backends/daytona-session-execution.ts +6 -0
- package/dist/bundling-sources/shared_libs/play-runtime/runner-backends/backends/daytona.ts +285 -32
- package/dist/bundling-sources/shared_libs/play-runtime/runner-backends/backends/modal.ts +251 -56
- package/dist/bundling-sources/shared_libs/play-runtime/runner-backends/runtime-sandbox-reconciliation.ts +29 -4
- package/dist/bundling-sources/shared_libs/play-runtime/runner-backends/sandbox-create-outcome.ts +27 -0
- package/dist/bundling-sources/shared_libs/play-runtime/runner-backends/types.ts +22 -1
- package/dist/bundling-sources/shared_libs/play-runtime/runtime-api.ts +1397 -382
- package/dist/bundling-sources/shared_libs/play-runtime/runtime-array-input-receipts.ts +920 -0
- package/dist/bundling-sources/shared_libs/play-runtime/runtime-constants.ts +16 -0
- package/dist/bundling-sources/shared_libs/play-runtime/runtime-environment.ts +38 -0
- package/dist/bundling-sources/shared_libs/play-runtime/runtime-flow.ts +6 -0
- package/dist/bundling-sources/shared_libs/play-runtime/runtime-incident-drills.ts +26 -1
- package/dist/bundling-sources/shared_libs/play-runtime/runtime-operation-contract.ts +30 -0
- package/dist/bundling-sources/shared_libs/play-runtime/runtime-receipt-store-adapter.ts +14 -3
- package/dist/bundling-sources/shared_libs/play-runtime/runtime-receipt-writer.ts +31 -4
- package/dist/bundling-sources/shared_libs/play-runtime/runtime-sheet-row-transition.ts +47 -0
- package/dist/bundling-sources/shared_libs/play-runtime/sandbox-compute-usage.ts +20 -7
- package/dist/bundling-sources/shared_libs/play-runtime/sandbox-runs/contract.ts +12 -0
- package/dist/bundling-sources/shared_libs/play-runtime/sandbox-runs/index.ts +9 -0
- package/dist/bundling-sources/shared_libs/play-runtime/sandbox-runs/runner-backend-adapter.ts +10 -0
- package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backend.ts +4 -0
- package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/absurd-runtime-worker.ts +1496 -320
- package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/absurd-worker-required-env.ts +31 -1
- package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/postgres.ts +1389 -129
- package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/receipt-gateway.ts +36 -0
- package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/run-ledger-dispatch-authority.ts +4 -0
- package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/run-ledger-outbox-recovery.ts +162 -23
- package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/runtime-event-search.ts +499 -115
- package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/runtime-sandbox-capacity.ts +377 -9
- package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/runtime-sandbox-ledger-reconciliation.ts +117 -8
- package/dist/bundling-sources/shared_libs/play-runtime/secret-resolution-retry-policy.ts +25 -0
- package/dist/bundling-sources/shared_libs/play-runtime/terminal-runtime-performance.ts +391 -0
- package/dist/bundling-sources/shared_libs/play-runtime/test-runtime-seams.ts +40 -0
- package/dist/bundling-sources/shared_libs/play-runtime/tool-call/index.ts +6 -0
- package/dist/bundling-sources/shared_libs/play-runtime/tool-call/mapped-calls.ts +171 -0
- package/dist/bundling-sources/shared_libs/play-runtime/tool-call/receipt-cohort.ts +16 -1
- package/dist/bundling-sources/shared_libs/play-runtime/tool-execute-retry-policy.ts +26 -3
- package/dist/bundling-sources/shared_libs/play-runtime/tool-result.ts +16 -2
- package/dist/bundling-sources/shared_libs/play-runtime/transport-error-diagnostics.ts +28 -0
- package/dist/bundling-sources/shared_libs/play-runtime/work-receipt-storage-contract.ts +55 -5
- package/dist/bundling-sources/shared_libs/plays/authoring-contract.ts +41 -1
- package/dist/bundling-sources/shared_libs/plays/contracts.ts +4 -0
- package/dist/bundling-sources/shared_libs/plays/dataset.ts +9 -3
- package/dist/bundling-sources/shared_libs/plays/deploy/manifest-contract.ts +2 -0
- package/dist/bundling-sources/shared_libs/plays/deploy/manifest.ts +3 -2
- package/dist/bundling-sources/shared_libs/plays/deploy/project-serializer.ts +2 -2
- package/dist/bundling-sources/shared_libs/plays/run-output-summary.ts +66 -0
- package/dist/bundling-sources/shared_libs/plays/script-entry.ts +1 -1
- package/dist/bundling-sources/shared_libs/product-notifications/catalog.ts +43 -1
- package/dist/bundling-sources/shared_libs/product-notifications/content.ts +9 -0
- package/dist/bundling-sources/shared_libs/product-notifications/email.ts +91 -13
- package/dist/bundling-sources/shared_libs/product-notifications/events.ts +3 -0
- package/dist/bundling-sources/shared_libs/product-notifications/slack-delivery.ts +41 -24
- package/dist/bundling-sources/shared_libs/security/attested-client-ip.ts +91 -0
- package/dist/bundling-sources/shared_libs/security/internal-actor.ts +0 -11
- package/dist/cli/{auth-HKA6ZVHQ.mjs → auth-JDLEY7VU.mjs} +5 -4
- package/dist/cli/auth-UXKY6TCC.js +41 -0
- package/dist/cli/{billing-MTO2ZZ3G.js → billing-HXAXB3XZ.js} +152 -78
- package/dist/cli/{billing-26G44S5N.mjs → billing-SDHLBLMV.mjs} +84 -10
- package/dist/cli/{chunk-BHGII2D6.js → chunk-3ACMRZRV.js} +8 -6
- package/dist/cli/{chunk-S4Q2XCGM.mjs → chunk-3KZCFOZ6.mjs} +1 -1
- package/dist/cli/chunk-4KQ6SIBC.mjs +1038 -0
- package/dist/cli/{chunk-Z2GUFYT6.js → chunk-5LEAXRHV.js} +11 -11
- package/dist/cli/{chunk-XAYO3Q2X.mjs → chunk-6NNVJDVR.mjs} +7 -5
- package/dist/cli/{chunk-NMJ4D2WO.js → chunk-6PMCRYDA.js} +216 -91
- package/dist/cli/{chunk-OMM54B3X.mjs → chunk-6RNQGWFD.mjs} +16 -806
- package/dist/cli/{chunk-EBU7LQ64.js → chunk-6V7KVRR5.js} +3 -3
- package/dist/cli/{chunk-RDPTDDKX.js → chunk-7LFIMWMW.js} +2 -2
- package/dist/cli/chunk-7MJ6VI2T.mjs +19 -0
- package/dist/cli/chunk-7SWNPNML.js +1039 -0
- package/dist/cli/{chunk-CTRPCARW.mjs → chunk-7U3XNPOA.mjs} +267 -38
- package/dist/cli/{chunk-RBTTUYZZ.js → chunk-7VZHXVOQ.js} +1 -1
- package/dist/cli/{chunk-YVBWO647.mjs → chunk-AT636LLU.mjs} +2 -2
- package/dist/cli/{chunk-VTODQWQA.js → chunk-BGTPIMSM.js} +392 -261
- package/dist/cli/{chunk-KADIT5NV.mjs → chunk-CKSOY47X.mjs} +2 -2
- package/dist/cli/{chunk-7DH2FD7Y.mjs → chunk-D464JW3N.mjs} +5 -85
- package/dist/cli/chunk-D6DXOUTO.mjs +827 -0
- package/dist/cli/{describe-QW54QQNB.js → chunk-EM4TXCCI.js} +27 -44
- package/dist/cli/chunk-F6QV42MC.mjs +91 -0
- package/dist/cli/chunk-FKVYR3QA.mjs +1039 -0
- package/dist/cli/{chunk-LMAULZLF.js → chunk-GEGW5HPZ.js} +29 -27
- package/dist/cli/{chunk-M52JQSLK.js → chunk-HUB3CCM2.js} +13 -4
- package/dist/cli/{chunk-YHTQM5XI.js → chunk-I6VHOU5O.js} +27 -27
- package/dist/cli/{chunk-Z2XUZC34.js → chunk-IAYSWZDJ.js} +188 -76
- package/dist/cli/chunk-JF3TLIMQ.js +19 -0
- package/dist/cli/{chunk-HDFRJ4IT.mjs → chunk-JVHOS3K3.mjs} +177 -65
- package/dist/cli/{chunk-LAWEURCT.mjs → chunk-LFXLQEZN.mjs} +1 -1
- package/dist/cli/{chunk-2PBN4SZE.js → chunk-LROWFPGN.js} +16 -16
- package/dist/cli/{chunk-SLEUWLJE.mjs → chunk-MSY22NQW.mjs} +5 -5
- package/dist/cli/{chunk-LVJOFUU7.mjs → chunk-MUUQZIOF.mjs} +23 -49
- package/dist/cli/{chunk-2XHWOQF4.js → chunk-NBLSCHKK.js} +52 -50
- package/dist/cli/{chunk-526R2HON.mjs → chunk-NHRWZPWZ.mjs} +4 -2
- package/dist/cli/{chunk-KXMNM4AQ.js → chunk-NMU3VR5U.js} +4 -5
- package/dist/cli/{chunk-W3BE3CHK.mjs → chunk-O2RX5A66.mjs} +14 -12
- package/dist/cli/{chunk-UKFZT7RF.js → chunk-OMQ23IXL.js} +2 -2
- package/dist/cli/{chunk-LJTFZOHU.js → chunk-OPJAJBD4.js} +28 -54
- package/dist/cli/{chunk-MLFR6DVF.mjs → chunk-PHSEINNH.mjs} +5 -5
- package/dist/cli/{chunk-3DNKFH2G.mjs → chunk-PKHVSIJG.mjs} +19 -1
- package/dist/cli/{chunk-WIYWSYDS.mjs → chunk-Q2EIZKVX.mjs} +3 -3
- package/dist/cli/{chunk-VJAEA4CS.js → chunk-QJZ6WNWD.js} +8 -8
- package/dist/cli/{chunk-EIMG75BT.mjs → chunk-S3A4IXBQ.mjs} +4 -5
- package/dist/cli/{chunk-RZSTT45F.mjs → chunk-S42YIQNE.mjs} +13 -8
- package/dist/cli/{chunk-YULBYKAK.mjs → chunk-S6UAJR6V.mjs} +3 -3
- package/dist/cli/{chunk-G7L27KZB.mjs → chunk-TKAQR3IB.mjs} +31 -21
- package/dist/cli/{chunk-QWRHGGUH.js → chunk-UAJFWWZE.js} +20 -2
- package/dist/cli/{chunk-ZR2RLI4O.mjs → chunk-UDRPEZ5F.mjs} +223 -92
- package/dist/cli/{chunk-QGAWTBIR.js → chunk-ULK7JGGI.js} +511 -282
- package/dist/cli/chunk-V335HGX5.js +1038 -0
- package/dist/cli/{chunk-NH6JSJW6.mjs → chunk-V3MEA7NB.mjs} +7 -5
- package/dist/cli/{chunk-NRGGFVVB.js → chunk-VFGVXXZP.js} +37 -35
- package/dist/cli/chunk-VLEVVDWG.js +91 -0
- package/dist/cli/{chunk-R2GLGLDR.mjs → chunk-VPHN2HAL.mjs} +216 -91
- package/dist/cli/{chunk-CFUTOWE4.js → chunk-WG3KGAII.js} +8 -88
- package/dist/cli/{describe-TOMIAT37.mjs → chunk-WIY6U6GD.mjs} +19 -36
- package/dist/cli/{chunk-YS2YBSJB.js → chunk-XANRM3QA.js} +6 -6
- package/dist/cli/{chunk-KGQNIA37.js → chunk-XQCTG5OO.js} +44 -34
- package/dist/cli/{chunk-EJGBLXDZ.mjs → chunk-XZAFIOUQ.mjs} +1 -1
- package/dist/cli/chunk-Y4DPU4OM.js +827 -0
- package/dist/cli/chunk-YT5EODJO.js +920 -0
- package/dist/cli/{chunk-2WRO2UJ5.js → chunk-ZGQSFYD2.js} +56 -51
- package/dist/cli/{chunk-OJ6RUKVT.mjs → chunk-ZUK6LIJB.mjs} +10 -1
- package/dist/cli/command-docs.d.mts +5 -0
- package/dist/cli/command-docs.d.ts +5 -0
- package/dist/cli/command-docs.js +2 -2
- package/dist/cli/command-docs.mjs +1 -1
- package/dist/cli/{csv-6FNFYJUC.js → csv-C56GSCEU.js} +13 -12
- package/dist/cli/{csv-MDHT4BKK.mjs → csv-L54JS7TF.mjs} +4 -3
- package/dist/cli/{db-D6AMVOEW.js → db-MOGRMZTA.js} +30 -27
- package/dist/cli/{db-74O3RFWY.mjs → db-YVBUW2DX.mjs} +10 -7
- package/dist/cli/describe-KYEULWPG.js +48 -0
- package/dist/cli/describe-NLZKKT7C.mjs +48 -0
- package/dist/cli/describe-core.d.mts +153 -5
- package/dist/cli/describe-core.d.ts +153 -5
- package/dist/cli/describe-core.js +9 -5
- package/dist/cli/describe-core.mjs +10 -6
- package/dist/cli/{executions-N4FMGVSC.js → executions-A7L4ULPP.js} +9 -7
- package/dist/cli/{executions-PVSF4HUF.mjs → executions-ZBGSTT37.mjs} +7 -5
- package/dist/cli/{feedback-OB7NANZW.mjs → feedback-G6GU37FD.mjs} +6 -5
- package/dist/cli/{feedback-WFSPCAI2.js → feedback-OHLY7RYD.js} +10 -9
- package/dist/cli/getting-started.d.mts +6 -6
- package/dist/cli/getting-started.d.ts +6 -6
- package/dist/cli/getting-started.js +2 -2
- package/dist/cli/getting-started.mjs +1 -1
- package/dist/cli/git-P76N4NDQ.js +25 -0
- package/dist/cli/{git-FHUSPAEU.mjs → git-PKZW3QD5.mjs} +5 -4
- package/dist/cli/index.js +152 -142
- package/dist/cli/index.mjs +56 -46
- package/dist/cli/{legacy-noops-ECHNA5HN.js → legacy-noops-5LM3D724.js} +8 -7
- package/dist/cli/{legacy-noops-HMK4BSCI.mjs → legacy-noops-LJJYG6YA.mjs} +5 -4
- package/dist/cli/{monitors-U7VQ3EZM.mjs → monitors-72QV4ALO.mjs} +19 -6
- package/dist/cli/{monitors-XLLFNENH.js → monitors-UX3H5DC2.js} +103 -90
- package/dist/cli/{org-6H3USO5M.mjs → org-6RRRKOCP.mjs} +9 -6
- package/dist/cli/{org-QX6ER2HN.js → org-IF7ISUVB.js} +70 -67
- package/dist/cli/pages-3SU3HKL7.js +252 -0
- package/dist/cli/pages-DXDYYKEK.mjs +252 -0
- package/dist/cli/{play-MOB2WYOR.mjs → play-AHASKRLA.mjs} +512 -1508
- package/dist/cli/{play-WNB7HBZK.js → play-EUIUVLUH.js} +1090 -2086
- package/dist/cli/{providers-CXEZ23E2.mjs → providers-GWGE3WY3.mjs} +7 -5
- package/dist/cli/{providers-7M3DISKX.js → providers-V5WU4VXJ.js} +10 -8
- package/dist/cli/{quickstart-ZFCHKHF6.mjs → quickstart-OXKQ5ZST.mjs} +5 -4
- package/dist/cli/{quickstart-CLJT4AZL.js → quickstart-QP65I5PF.js} +13 -12
- package/dist/cli/run-6MM72IGL.mjs +443 -0
- package/dist/cli/run-F3FTYS56.js +443 -0
- package/dist/cli/search-OYKOOI7A.js +32 -0
- package/dist/cli/{search-FVYWYIC3.mjs → search-ZMEBVJZB.mjs} +8 -6
- package/dist/cli/{secrets-YRLKZQS5.js → secrets-ACND5N6A.js} +16 -14
- package/dist/cli/{secrets-WAMPTQFC.mjs → secrets-XRCJFF3L.mjs} +7 -5
- package/dist/cli/{sessions-IQ332BJH.mjs → sessions-RTK3CEW6.mjs} +5 -4
- package/dist/cli/{sessions-44J6WIVU.js → sessions-ZGRJPCFF.js} +6 -5
- package/dist/cli/{settings-4IJR2I2T.js → settings-PD5KWQQZ.js} +80 -77
- package/dist/cli/{settings-22S6NIFQ.mjs → settings-XDRBPRDE.mjs} +14 -11
- package/dist/cli/{setup-OZUPKKPW.mjs → setup-3HPYAOCC.mjs} +12 -10
- package/dist/cli/{setup-3FWSRNOX.js → setup-E2Q6PXHC.js} +53 -51
- package/dist/cli/{skills-5CW3NFP3.mjs → skills-OOQFMPOV.mjs} +7 -6
- package/dist/cli/skills-XYWV52KB.js +31 -0
- package/dist/cli/tools-ASCDZJCK.js +55 -0
- package/dist/cli/tools-C5ZT3UIC.mjs +55 -0
- package/dist/cli/update-5RQSEIFM.js +33 -0
- package/dist/cli/{update-IBULOV7P.mjs → update-ZWJTADIW.mjs} +9 -8
- package/dist/cli/{workflow-MVZT7MWT.mjs → workflow-23NMPAJ7.mjs} +10 -8
- package/dist/cli/{workflow-Z7FW6GT2.js → workflow-TCXU5YJV.js} +20 -18
- package/dist/client-DS2IWYZF.d.ts +10 -0
- package/dist/client-DTwnz_AW.d.mts +10 -0
- package/dist/{client-CYqG23K1.d.ts → client-core-B_6HAIBy.d.ts} +385 -12
- package/dist/{client-BbU5_j7n.d.mts → client-core-DzBSlY1U.d.mts} +385 -12
- package/dist/{compiler-manifest-CWz_sNOQ.d.mts → compiler-manifest-Dcyd3-Zd.d.mts} +43 -1
- package/dist/{compiler-manifest-CWz_sNOQ.d.ts → compiler-manifest-Dcyd3-Zd.d.ts} +43 -1
- package/dist/errors-d-sTrZhe.d.mts +142 -0
- package/dist/errors-yQwfgrcX.d.ts +142 -0
- package/dist/{index-BF2JB_Ug.d.mts → index-C6oXchjN.d.mts} +1 -1
- package/dist/{index-4NPXDzlD.d.ts → index-P56zy_z5.d.ts} +1 -1
- package/dist/index.d.mts +11 -147
- package/dist/index.d.ts +11 -147
- package/dist/index.js +15 -11
- package/dist/index.mjs +14 -10
- package/dist/install-integrity.json +141 -104
- package/dist/plays/bundle-play-file.d.mts +3 -3
- package/dist/plays/bundle-play-file.d.ts +3 -3
- package/dist/plays/bundle-play-file.mjs +2 -1
- package/dist/plays/play-description.d.mts +2 -2
- package/dist/plays/play-description.d.ts +2 -2
- package/dist/plays/play-description.js +2 -2
- package/dist/plays/play-description.mjs +1 -1
- package/dist/plays/run-request.d.mts +2 -2
- package/dist/plays/run-request.d.ts +2 -2
- package/dist/release.d.mts +1 -1
- package/dist/release.d.ts +1 -1
- package/dist/release.js +2 -2
- package/dist/release.mjs +1 -1
- package/dist/server.d.mts +17 -0
- package/dist/server.d.ts +17 -0
- package/dist/server.js +76 -0
- package/dist/server.mjs +76 -0
- package/package.json +6 -1
- package/dist/cli/auth-VDOCNR7H.js +0 -40
- package/dist/cli/chunk-PQUUWFXY.js +0 -95
- package/dist/cli/chunk-QJLKYYPX.js +0 -1710
- package/dist/cli/chunk-YBWAG72P.mjs +0 -95
- package/dist/cli/git-4PMBJSH5.js +0 -24
- package/dist/cli/search-4CCQCTVD.js +0 -30
- package/dist/cli/skills-LMNM6B5F.js +0 -30
- package/dist/cli/tools-AGBBDJ7P.js +0 -45
- package/dist/cli/tools-NOPBDRGW.mjs +0 -45
- package/dist/cli/update-U3W6USVD.js +0 -32
|
@@ -114,6 +114,16 @@ export const RUNNER_MEMORY_CGROUP_ROOT = '/sys/fs/cgroup';
|
|
|
114
114
|
*/
|
|
115
115
|
export const RUNNER_MEMORY_CGROUP_UNLIMITED_BYTES = 2 ** 50;
|
|
116
116
|
|
|
117
|
+
/** How often the watchdog checks that its own timers still fire on time. */
|
|
118
|
+
export const RUNNER_SANDBOX_STALL_TICK_MS = 1_000;
|
|
119
|
+
|
|
120
|
+
/**
|
|
121
|
+
* A timer this late is worth reporting. It sits far above ordinary scheduling
|
|
122
|
+
* jitter on a one-core sandbox and well below the shortest observed sandbox
|
|
123
|
+
* silence, so a report is evidence of a stall and quiet sandboxes send nothing.
|
|
124
|
+
*/
|
|
125
|
+
export const RUNNER_SANDBOX_STALL_REPORT_MS = 5_000;
|
|
126
|
+
|
|
117
127
|
/** `reason` written into the termination diagnostic on a memory abort. */
|
|
118
128
|
export const RUNTIME_SANDBOX_MEMORY_ABORT_REASON =
|
|
119
129
|
RUNTIME_SANDBOX_MEMORY_ABORT_CODE;
|
|
@@ -194,12 +204,107 @@ let heartbeatCadenceMs = 0;
|
|
|
194
204
|
let heartbeatController = null;
|
|
195
205
|
let heartbeatInFlight = false;
|
|
196
206
|
let heartbeatStopped = false;
|
|
207
|
+
let heartbeatSilenced = false;
|
|
197
208
|
let heartbeatConfigRead = false;
|
|
198
209
|
let heartbeatConfig = null;
|
|
199
210
|
let heartbeatLastSuccessAtMs = 0;
|
|
200
211
|
let heartbeatAttempt = 0;
|
|
201
212
|
let stopRequested = false;
|
|
202
213
|
|
|
214
|
+
// --- sandbox stall evidence -------------------------------------------------
|
|
215
|
+
// When a sandbox goes silent, only something inside it can say why, and it can
|
|
216
|
+
// only say so afterwards. Comparing two clocks separates the causes: a paused
|
|
217
|
+
// VM stops the monotonic clock while wall time jumps, a frozen container jumps
|
|
218
|
+
// both, and a network cut jumps neither while heartbeats fail. Pressure deltas
|
|
219
|
+
// show a stall in disk, memory or CPU.
|
|
220
|
+
let stallWallAtMs = Date.now();
|
|
221
|
+
let stallMonotonicAtMs = performance.now();
|
|
222
|
+
let stallMaxWallGapMs = 0;
|
|
223
|
+
let stallMaxMonotonicGapMs = 0;
|
|
224
|
+
let heartbeatFailureCount = 0;
|
|
225
|
+
let heartbeatLastErrorCode = null;
|
|
226
|
+
let pressureBaseline = readSandboxPressure();
|
|
227
|
+
|
|
228
|
+
// Only this sandbox's own counters. /proc/pressure covers the whole host on a
|
|
229
|
+
// shared kernel, so another workload's contention would read as a stall here.
|
|
230
|
+
function readPressureTotalUs(resource) {
|
|
231
|
+
try {
|
|
232
|
+
const match = /^some .*total=(\\d+)$/m.exec(fs.readFileSync(cgroupRoot + '/' + resource + '.pressure', 'utf8'));
|
|
233
|
+
if (match) return Number(match[1]);
|
|
234
|
+
} catch {}
|
|
235
|
+
return null;
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
function readCpuThrottledUs() {
|
|
239
|
+
try {
|
|
240
|
+
const match = /^throttled_usec (\\d+)$/m.exec(fs.readFileSync(cgroupRoot + '/cpu.stat', 'utf8'));
|
|
241
|
+
if (match) return Number(match[1]);
|
|
242
|
+
} catch {}
|
|
243
|
+
return null;
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
function readSandboxPressure() {
|
|
247
|
+
return {
|
|
248
|
+
cpuPressureUs: readPressureTotalUs('cpu'),
|
|
249
|
+
ioPressureUs: readPressureTotalUs('io'),
|
|
250
|
+
memoryPressureUs: readPressureTotalUs('memory'),
|
|
251
|
+
cpuThrottledUs: readCpuThrottledUs(),
|
|
252
|
+
};
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
function pressureDelta(current, baseline) {
|
|
256
|
+
return current === null || baseline === null ? null : Math.max(0, current - baseline);
|
|
257
|
+
}
|
|
258
|
+
|
|
259
|
+
function observeStallTick() {
|
|
260
|
+
const wallMs = Date.now();
|
|
261
|
+
const monotonicMs = performance.now();
|
|
262
|
+
stallMaxWallGapMs = Math.max(stallMaxWallGapMs, wallMs - stallWallAtMs - ${RUNNER_SANDBOX_STALL_TICK_MS});
|
|
263
|
+
stallMaxMonotonicGapMs = Math.max(stallMaxMonotonicGapMs, monotonicMs - stallMonotonicAtMs - ${RUNNER_SANDBOX_STALL_TICK_MS});
|
|
264
|
+
stallWallAtMs = wallMs;
|
|
265
|
+
stallMonotonicAtMs = monotonicMs;
|
|
266
|
+
}
|
|
267
|
+
|
|
268
|
+
// Gaps clear when taken, so a stall that begins while this heartbeat is in
|
|
269
|
+
// flight waits for the next one instead of being cleared by its response.
|
|
270
|
+
function takeSandboxHealth() {
|
|
271
|
+
observeStallTick();
|
|
272
|
+
const pressure = readSandboxPressure();
|
|
273
|
+
if (
|
|
274
|
+
stallMaxWallGapMs < ${RUNNER_SANDBOX_STALL_REPORT_MS} &&
|
|
275
|
+
stallMaxMonotonicGapMs < ${RUNNER_SANDBOX_STALL_REPORT_MS} &&
|
|
276
|
+
heartbeatFailureCount === 0
|
|
277
|
+
) {
|
|
278
|
+
pressureBaseline = pressure;
|
|
279
|
+
return null;
|
|
280
|
+
}
|
|
281
|
+
const report = {
|
|
282
|
+
maxTimerGapWallMs: Math.round(stallMaxWallGapMs),
|
|
283
|
+
maxTimerGapMonotonicMs: Math.round(stallMaxMonotonicGapMs),
|
|
284
|
+
heartbeatFailures: heartbeatFailureCount,
|
|
285
|
+
lastHeartbeatErrorCode: heartbeatLastErrorCode,
|
|
286
|
+
heartbeatAgeMs: Math.max(0, Date.now() - heartbeatLastSuccessAtMs),
|
|
287
|
+
cpuPressureUs: pressureDelta(pressure.cpuPressureUs, pressureBaseline.cpuPressureUs),
|
|
288
|
+
ioPressureUs: pressureDelta(pressure.ioPressureUs, pressureBaseline.ioPressureUs),
|
|
289
|
+
memoryPressureUs: pressureDelta(pressure.memoryPressureUs, pressureBaseline.memoryPressureUs),
|
|
290
|
+
cpuThrottledUs: pressureDelta(pressure.cpuThrottledUs, pressureBaseline.cpuThrottledUs),
|
|
291
|
+
};
|
|
292
|
+
stallMaxWallGapMs = 0;
|
|
293
|
+
stallMaxMonotonicGapMs = 0;
|
|
294
|
+
pressureBaseline = pressure;
|
|
295
|
+
return report;
|
|
296
|
+
}
|
|
297
|
+
|
|
298
|
+
function restoreSandboxHealth(report, baseline) {
|
|
299
|
+
if (!report) return;
|
|
300
|
+
stallMaxWallGapMs = Math.max(stallMaxWallGapMs, report.maxTimerGapWallMs);
|
|
301
|
+
stallMaxMonotonicGapMs = Math.max(stallMaxMonotonicGapMs, report.maxTimerGapMonotonicMs);
|
|
302
|
+
pressureBaseline = baseline;
|
|
303
|
+
}
|
|
304
|
+
|
|
305
|
+
const stallWatch = setInterval(observeStallTick, ${RUNNER_SANDBOX_STALL_TICK_MS});
|
|
306
|
+
stallWatch.unref?.();
|
|
307
|
+
|
|
203
308
|
function readRunnerHeartbeatConfig() {
|
|
204
309
|
if (heartbeatConfigRead) return heartbeatConfig;
|
|
205
310
|
heartbeatConfigRead = true;
|
|
@@ -211,6 +316,7 @@ function readRunnerHeartbeatConfig() {
|
|
|
211
316
|
const executorToken = context && context.executorToken;
|
|
212
317
|
const runId = push && push.runId;
|
|
213
318
|
const leaseSeconds = Number(push && push.leaseSeconds);
|
|
319
|
+
const silenceMs = Number(push && push.heartbeatSilenceMs);
|
|
214
320
|
if (
|
|
215
321
|
!gatewayBaseUrl ||
|
|
216
322
|
typeof executorToken !== 'string' ||
|
|
@@ -227,6 +333,7 @@ function readRunnerHeartbeatConfig() {
|
|
|
227
333
|
executorToken,
|
|
228
334
|
runId,
|
|
229
335
|
leaseMs: Math.max(1_000, Math.floor(leaseSeconds * 1_000)),
|
|
336
|
+
silenceMs: Number.isSafeInteger(silenceMs) && silenceMs > 0 ? silenceMs : 0,
|
|
230
337
|
};
|
|
231
338
|
} catch {}
|
|
232
339
|
return heartbeatConfig;
|
|
@@ -249,8 +356,12 @@ function stopRunnerHeartbeat() {
|
|
|
249
356
|
}
|
|
250
357
|
|
|
251
358
|
function runnerHeartbeatErrorCode(error) {
|
|
252
|
-
|
|
253
|
-
|
|
359
|
+
// fetch wraps every transport failure in a TypeError and keeps the network
|
|
360
|
+
// error on its cause. That code is what separates DNS from connect from reset.
|
|
361
|
+
const code = [error, error && error.cause]
|
|
362
|
+
.map((candidate) => (candidate && typeof candidate.code === 'string' ? candidate.code : ''))
|
|
363
|
+
.find((candidate) => /^(?:E[A-Z0-9_]+|ERR_[A-Z0-9_]+|UND_ERR_[A-Z0-9_]+|http_[0-9]{3}|redirect_[0-9]{3}|protocol_error)$/.test(candidate));
|
|
364
|
+
if (code) return code;
|
|
254
365
|
const name = error && typeof error.name === 'string' ? error.name : '';
|
|
255
366
|
if (name === 'AbortError' || name === 'TimeoutError') return name;
|
|
256
367
|
return 'unknown';
|
|
@@ -273,13 +384,34 @@ function startRunnerHeartbeatSupervisor() {
|
|
|
273
384
|
'\\n',
|
|
274
385
|
);
|
|
275
386
|
heartbeatCadenceMs = cadenceMs;
|
|
387
|
+
if (config.silenceMs > 0) {
|
|
388
|
+
// Test drill: the runner keeps working while the scheduler hears nothing.
|
|
389
|
+
// Only the worker sets this, and never on a Production launch.
|
|
390
|
+
heartbeatSilenced = true;
|
|
391
|
+
process.stderr.write(
|
|
392
|
+
'[play-runner.heartbeat] watchdog_owner_silence_started ' +
|
|
393
|
+
JSON.stringify({ runId: config.runId, silenceMs: config.silenceMs }) +
|
|
394
|
+
'\\n',
|
|
395
|
+
);
|
|
396
|
+
heartbeatRetryTimer = setTimeout(() => {
|
|
397
|
+
heartbeatRetryTimer = null;
|
|
398
|
+
heartbeatSilenced = false;
|
|
399
|
+
process.stderr.write(
|
|
400
|
+
'[play-runner.heartbeat] watchdog_owner_silence_finished ' +
|
|
401
|
+
JSON.stringify({ runId: config.runId }) +
|
|
402
|
+
'\\n',
|
|
403
|
+
);
|
|
404
|
+
void runnerHeartbeatTick();
|
|
405
|
+
}, config.silenceMs);
|
|
406
|
+
heartbeatRetryTimer.unref?.();
|
|
407
|
+
}
|
|
276
408
|
void runnerHeartbeatTick();
|
|
277
409
|
heartbeatTimer = setInterval(runnerHeartbeatTick, cadenceMs);
|
|
278
410
|
heartbeatTimer.unref?.();
|
|
279
411
|
}
|
|
280
412
|
|
|
281
413
|
async function runnerHeartbeatTick() {
|
|
282
|
-
if (heartbeatStopped || heartbeatInFlight || settled || !child || child.exitCode !== null) return;
|
|
414
|
+
if (heartbeatStopped || heartbeatSilenced || heartbeatInFlight || settled || !child || child.exitCode !== null) return;
|
|
283
415
|
const config = readRunnerHeartbeatConfig();
|
|
284
416
|
if (!config) return;
|
|
285
417
|
heartbeatInFlight = true;
|
|
@@ -288,6 +420,8 @@ async function runnerHeartbeatTick() {
|
|
|
288
420
|
const controller = new AbortController();
|
|
289
421
|
heartbeatController = controller;
|
|
290
422
|
const timeout = setTimeout(() => controller.abort(), ${RUNNER_HEARTBEAT_REQUEST_TIMEOUT_MS});
|
|
423
|
+
const reportPressureBaseline = pressureBaseline;
|
|
424
|
+
const sandboxHealth = takeSandboxHealth();
|
|
291
425
|
try {
|
|
292
426
|
const response = await fetch(
|
|
293
427
|
config.gatewayBaseUrl + '/api/v2/plays/runtime',
|
|
@@ -298,7 +432,11 @@ async function runnerHeartbeatTick() {
|
|
|
298
432
|
authorization: 'Bearer ' + config.executorToken,
|
|
299
433
|
${JSON.stringify(PLAY_RUNTIME_TRANSPORT_ATTEMPT_HEADER)}: require('node:crypto').randomUUID(),
|
|
300
434
|
},
|
|
301
|
-
body: JSON.stringify({
|
|
435
|
+
body: JSON.stringify({
|
|
436
|
+
action: 'runner_heartbeat',
|
|
437
|
+
runId: config.runId,
|
|
438
|
+
...(sandboxHealth ? { sandboxHealth } : {}),
|
|
439
|
+
}),
|
|
302
440
|
redirect: 'manual',
|
|
303
441
|
signal: controller.signal,
|
|
304
442
|
},
|
|
@@ -326,12 +464,17 @@ async function runnerHeartbeatTick() {
|
|
|
326
464
|
throw Object.assign(new Error('gateway_protocol_error'), { code: 'protocol_error' });
|
|
327
465
|
}
|
|
328
466
|
heartbeatLastSuccessAtMs = Date.now();
|
|
467
|
+
heartbeatFailureCount = 0;
|
|
468
|
+
heartbeatLastErrorCode = null;
|
|
329
469
|
} catch (error) {
|
|
330
470
|
if (heartbeatStopped || settled) return;
|
|
331
471
|
const errorCode = controller.signal.aborted
|
|
332
472
|
? 'TimeoutError'
|
|
333
473
|
: runnerHeartbeatErrorCode(error);
|
|
334
474
|
const heartbeatAgeMs = Math.max(0, Date.now() - heartbeatLastSuccessAtMs);
|
|
475
|
+
heartbeatFailureCount += 1;
|
|
476
|
+
heartbeatLastErrorCode = errorCode;
|
|
477
|
+
restoreSandboxHealth(sandboxHealth, reportPressureBaseline);
|
|
335
478
|
process.stderr.write(
|
|
336
479
|
'[play-runner.heartbeat] watchdog_owner_retrying ' +
|
|
337
480
|
JSON.stringify({ runId: config.runId, attempt: heartbeatAttempt, durationMs: Math.max(0, Date.now() - startedAt), heartbeatAgeMs, errorCode }) +
|
|
@@ -605,6 +748,7 @@ function finish(code) {
|
|
|
605
748
|
settled = true;
|
|
606
749
|
clearInterval(runtimeBoundaryPoll);
|
|
607
750
|
clearInterval(memoryWatch);
|
|
751
|
+
clearInterval(stallWatch);
|
|
608
752
|
stopRunnerHeartbeat();
|
|
609
753
|
clearTimeout(startupTimer);
|
|
610
754
|
if (runtimeTimer) clearTimeout(runtimeTimer);
|
|
@@ -360,6 +360,11 @@ export function prepareDetachedDaytonaRunner(input: {
|
|
|
360
360
|
readiness: DetachedRunnerReadinessPort;
|
|
361
361
|
cancellation?: Promise<never>;
|
|
362
362
|
runControl<T>(operation: (sandbox: DaytonaSandbox) => Promise<T>): Promise<T>;
|
|
363
|
+
/**
|
|
364
|
+
* Invoked just before the command is sent. From then on a runner may exist
|
|
365
|
+
* in the sandbox, even if the request fails without an answer.
|
|
366
|
+
*/
|
|
367
|
+
onCommandSending?: () => void;
|
|
363
368
|
/** Invoked immediately after Daytona accepts the detached command. */
|
|
364
369
|
onCommandAccepted?: (
|
|
365
370
|
state: Extract<DetachedDaytonaRunnerState, { phase: 'command_accepted' }>,
|
|
@@ -400,6 +405,7 @@ export function prepareDetachedDaytonaRunner(input: {
|
|
|
400
405
|
if (session.ok === false) throw session.error;
|
|
401
406
|
const baseline = await Promise.race([readinessBaseline, cancellation]);
|
|
402
407
|
if (baseline.ok === false) throw baseline.error;
|
|
408
|
+
input.onCommandSending?.();
|
|
403
409
|
const response = await Promise.race([
|
|
404
410
|
input.runControl((sandbox) =>
|
|
405
411
|
sandbox.process.executeSessionCommand(input.sessionId, {
|