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.
Files changed (297) hide show
  1. package/dist/bundling-sources/sdk/src/client-core.ts +7593 -0
  2. package/dist/bundling-sources/sdk/src/client.ts +8 -7366
  3. package/dist/bundling-sources/sdk/src/http-core.ts +1239 -0
  4. package/dist/bundling-sources/sdk/src/http.ts +6 -1231
  5. package/dist/bundling-sources/sdk/src/index.ts +4 -1
  6. package/dist/bundling-sources/sdk/src/play.ts +5 -5
  7. package/dist/bundling-sources/sdk/src/plays/client-core.ts +437 -0
  8. package/dist/bundling-sources/sdk/src/plays/client.ts +4 -421
  9. package/dist/bundling-sources/sdk/src/plays/input-example.ts +3 -4
  10. package/dist/bundling-sources/sdk/src/plays/play-description.ts +1 -1
  11. package/dist/bundling-sources/sdk/src/plays/run-request.ts +1 -1
  12. package/dist/bundling-sources/sdk/src/release.ts +1 -1
  13. package/dist/bundling-sources/sdk/src/server.ts +43 -0
  14. package/dist/bundling-sources/sdk/src/types.ts +15 -5
  15. package/dist/bundling-sources/shared_libs/integration-contracts/billing-entitlements.ts +15 -0
  16. package/dist/bundling-sources/shared_libs/monitors/billing/state.ts +28 -0
  17. package/dist/bundling-sources/shared_libs/monitors/callback-security.ts +0 -307
  18. package/dist/bundling-sources/shared_libs/monitors/http-error-response.ts +3 -0
  19. package/dist/bundling-sources/shared_libs/monitors/lifecycle-notifications.ts +3 -2
  20. package/dist/bundling-sources/shared_libs/monitors/package.json +2 -0
  21. package/dist/bundling-sources/shared_libs/monitors/provider-callback-verification.ts +34 -0
  22. package/dist/bundling-sources/shared_libs/monitors/provider-monitor-batch-operation.ts +59 -0
  23. package/dist/bundling-sources/shared_libs/monitors/provider-monitor-upstream-identity.ts +94 -1
  24. package/dist/bundling-sources/shared_libs/monitors/signal-radars/inbound-dead-letter.ts +35 -1
  25. package/dist/bundling-sources/shared_libs/monitors/signal-radars/inbound-failure-codes.ts +24 -0
  26. package/dist/bundling-sources/shared_libs/observability/dlq.ts +32 -0
  27. package/dist/bundling-sources/shared_libs/observability/scheduled-jobs.json +57 -3
  28. package/dist/bundling-sources/shared_libs/observability/scheduled-work.ts +1 -0
  29. package/dist/bundling-sources/shared_libs/play-data-plane/r2.ts +66 -1
  30. package/dist/bundling-sources/shared_libs/play-data-plane/sheet-column-storage.ts +36 -7
  31. package/dist/bundling-sources/shared_libs/play-runtime/app-runtime-api.ts +250 -11
  32. package/dist/bundling-sources/shared_libs/play-runtime/array-input-store.ts +319 -0
  33. package/dist/bundling-sources/shared_libs/play-runtime/context.ts +991 -359
  34. package/dist/bundling-sources/shared_libs/play-runtime/ctx-types.ts +17 -0
  35. package/dist/bundling-sources/shared_libs/play-runtime/daytona-sandbox-janitor.ts +13 -0
  36. package/dist/bundling-sources/shared_libs/play-runtime/daytona-sandbox-reaper.ts +110 -0
  37. package/dist/bundling-sources/shared_libs/play-runtime/deployment/fly-machines.ts +155 -6
  38. package/dist/bundling-sources/shared_libs/play-runtime/deployment/fly-registry.ts +110 -6
  39. package/dist/bundling-sources/shared_libs/play-runtime/durable-receipt-execution.ts +127 -13
  40. package/dist/bundling-sources/shared_libs/play-runtime/execution-capabilities.ts +14 -1
  41. package/dist/bundling-sources/shared_libs/play-runtime/fixture-behavior.ts +57 -1
  42. package/dist/bundling-sources/shared_libs/play-runtime/free-company-lookup-batching.ts +218 -0
  43. package/dist/bundling-sources/shared_libs/play-runtime/gateway-postgres-admission.ts +42 -5
  44. package/dist/bundling-sources/shared_libs/play-runtime/governor/app-runtime-budget-state-backend.ts +6 -1
  45. package/dist/bundling-sources/shared_libs/play-runtime/governor/app-runtime-rate-state-backend.ts +92 -31
  46. package/dist/bundling-sources/shared_libs/play-runtime/governor/block-reserving-budget-state-backend.ts +69 -14
  47. package/dist/bundling-sources/shared_libs/play-runtime/governor/governor.ts +93 -23
  48. package/dist/bundling-sources/shared_libs/play-runtime/governor/in-memory-rate-state-backend.ts +15 -4
  49. package/dist/bundling-sources/shared_libs/play-runtime/governor/policy.ts +22 -18
  50. package/dist/bundling-sources/shared_libs/play-runtime/governor/rate-state-backend.ts +5 -0
  51. package/dist/bundling-sources/shared_libs/play-runtime/launch-identity.ts +2 -0
  52. package/dist/bundling-sources/shared_libs/play-runtime/map-memory-limits.ts +190 -14
  53. package/dist/bundling-sources/shared_libs/play-runtime/memory-ledger.ts +131 -0
  54. package/dist/bundling-sources/shared_libs/play-runtime/modal-runtime-config.ts +77 -2
  55. package/dist/bundling-sources/shared_libs/play-runtime/output-size-limits.ts +271 -2
  56. package/dist/bundling-sources/shared_libs/play-runtime/play-run-recovery-policy.ts +51 -0
  57. package/dist/bundling-sources/shared_libs/play-runtime/play-runs/sandbox-cleanup/contracts.ts +2 -0
  58. package/dist/bundling-sources/shared_libs/play-runtime/play-runs/sandbox-cleanup/job.ts +27 -1
  59. package/dist/bundling-sources/shared_libs/play-runtime/play-runtime-batching-registry.ts +2 -0
  60. package/dist/bundling-sources/shared_libs/play-runtime/protocol.ts +3 -0
  61. package/dist/bundling-sources/shared_libs/play-runtime/provider-text-for-log.ts +63 -0
  62. package/dist/bundling-sources/shared_libs/play-runtime/resource-governor.ts +19 -0
  63. package/dist/bundling-sources/shared_libs/play-runtime/run-ledger-event-transport.ts +112 -16
  64. package/dist/bundling-sources/shared_libs/play-runtime/run-ledger.ts +104 -2
  65. package/dist/bundling-sources/shared_libs/play-runtime/runner-app/index.ts +265 -151
  66. package/dist/bundling-sources/shared_libs/play-runtime/runner-app/runtime-gateway-transport.ts +17 -0
  67. package/dist/bundling-sources/shared_libs/play-runtime/runner-app/runtime-progress-push.ts +35 -14
  68. package/dist/bundling-sources/shared_libs/play-runtime/runner-app/runtime-sheet-persistence-retry.ts +12 -1
  69. package/dist/bundling-sources/shared_libs/play-runtime/runner-backends/backends/daytona-control-transport.ts +4 -0
  70. package/dist/bundling-sources/shared_libs/play-runtime/runner-backends/backends/daytona-labels.ts +36 -0
  71. package/dist/bundling-sources/shared_libs/play-runtime/runner-backends/backends/daytona-launch-transport.ts +136 -70
  72. package/dist/bundling-sources/shared_libs/play-runtime/runner-backends/backends/daytona-lifecycle.ts +237 -36
  73. package/dist/bundling-sources/shared_libs/play-runtime/runner-backends/backends/daytona-runtime-watchdog.ts +148 -4
  74. package/dist/bundling-sources/shared_libs/play-runtime/runner-backends/backends/daytona-session-execution.ts +6 -0
  75. package/dist/bundling-sources/shared_libs/play-runtime/runner-backends/backends/daytona.ts +285 -32
  76. package/dist/bundling-sources/shared_libs/play-runtime/runner-backends/backends/modal.ts +251 -56
  77. package/dist/bundling-sources/shared_libs/play-runtime/runner-backends/runtime-sandbox-reconciliation.ts +29 -4
  78. package/dist/bundling-sources/shared_libs/play-runtime/runner-backends/sandbox-create-outcome.ts +27 -0
  79. package/dist/bundling-sources/shared_libs/play-runtime/runner-backends/types.ts +22 -1
  80. package/dist/bundling-sources/shared_libs/play-runtime/runtime-api.ts +1397 -382
  81. package/dist/bundling-sources/shared_libs/play-runtime/runtime-array-input-receipts.ts +920 -0
  82. package/dist/bundling-sources/shared_libs/play-runtime/runtime-constants.ts +16 -0
  83. package/dist/bundling-sources/shared_libs/play-runtime/runtime-environment.ts +38 -0
  84. package/dist/bundling-sources/shared_libs/play-runtime/runtime-flow.ts +6 -0
  85. package/dist/bundling-sources/shared_libs/play-runtime/runtime-incident-drills.ts +26 -1
  86. package/dist/bundling-sources/shared_libs/play-runtime/runtime-operation-contract.ts +30 -0
  87. package/dist/bundling-sources/shared_libs/play-runtime/runtime-receipt-store-adapter.ts +14 -3
  88. package/dist/bundling-sources/shared_libs/play-runtime/runtime-receipt-writer.ts +31 -4
  89. package/dist/bundling-sources/shared_libs/play-runtime/runtime-sheet-row-transition.ts +47 -0
  90. package/dist/bundling-sources/shared_libs/play-runtime/sandbox-compute-usage.ts +20 -7
  91. package/dist/bundling-sources/shared_libs/play-runtime/sandbox-runs/contract.ts +12 -0
  92. package/dist/bundling-sources/shared_libs/play-runtime/sandbox-runs/index.ts +9 -0
  93. package/dist/bundling-sources/shared_libs/play-runtime/sandbox-runs/runner-backend-adapter.ts +10 -0
  94. package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backend.ts +4 -0
  95. package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/absurd-runtime-worker.ts +1496 -320
  96. package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/absurd-worker-required-env.ts +31 -1
  97. package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/postgres.ts +1389 -129
  98. package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/receipt-gateway.ts +36 -0
  99. package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/run-ledger-dispatch-authority.ts +4 -0
  100. package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/run-ledger-outbox-recovery.ts +162 -23
  101. package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/runtime-event-search.ts +499 -115
  102. package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/runtime-sandbox-capacity.ts +377 -9
  103. package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/runtime-sandbox-ledger-reconciliation.ts +117 -8
  104. package/dist/bundling-sources/shared_libs/play-runtime/secret-resolution-retry-policy.ts +25 -0
  105. package/dist/bundling-sources/shared_libs/play-runtime/terminal-runtime-performance.ts +391 -0
  106. package/dist/bundling-sources/shared_libs/play-runtime/test-runtime-seams.ts +40 -0
  107. package/dist/bundling-sources/shared_libs/play-runtime/tool-call/index.ts +6 -0
  108. package/dist/bundling-sources/shared_libs/play-runtime/tool-call/mapped-calls.ts +171 -0
  109. package/dist/bundling-sources/shared_libs/play-runtime/tool-call/receipt-cohort.ts +16 -1
  110. package/dist/bundling-sources/shared_libs/play-runtime/tool-execute-retry-policy.ts +26 -3
  111. package/dist/bundling-sources/shared_libs/play-runtime/tool-result.ts +16 -2
  112. package/dist/bundling-sources/shared_libs/play-runtime/transport-error-diagnostics.ts +28 -0
  113. package/dist/bundling-sources/shared_libs/play-runtime/work-receipt-storage-contract.ts +55 -5
  114. package/dist/bundling-sources/shared_libs/plays/authoring-contract.ts +41 -1
  115. package/dist/bundling-sources/shared_libs/plays/contracts.ts +4 -0
  116. package/dist/bundling-sources/shared_libs/plays/dataset.ts +9 -3
  117. package/dist/bundling-sources/shared_libs/plays/deploy/manifest-contract.ts +2 -0
  118. package/dist/bundling-sources/shared_libs/plays/deploy/manifest.ts +3 -2
  119. package/dist/bundling-sources/shared_libs/plays/deploy/project-serializer.ts +2 -2
  120. package/dist/bundling-sources/shared_libs/plays/run-output-summary.ts +66 -0
  121. package/dist/bundling-sources/shared_libs/plays/script-entry.ts +1 -1
  122. package/dist/bundling-sources/shared_libs/product-notifications/catalog.ts +43 -1
  123. package/dist/bundling-sources/shared_libs/product-notifications/content.ts +9 -0
  124. package/dist/bundling-sources/shared_libs/product-notifications/email.ts +91 -13
  125. package/dist/bundling-sources/shared_libs/product-notifications/events.ts +3 -0
  126. package/dist/bundling-sources/shared_libs/product-notifications/slack-delivery.ts +41 -24
  127. package/dist/bundling-sources/shared_libs/security/attested-client-ip.ts +91 -0
  128. package/dist/bundling-sources/shared_libs/security/internal-actor.ts +0 -11
  129. package/dist/cli/{auth-HKA6ZVHQ.mjs → auth-JDLEY7VU.mjs} +5 -4
  130. package/dist/cli/auth-UXKY6TCC.js +41 -0
  131. package/dist/cli/{billing-MTO2ZZ3G.js → billing-HXAXB3XZ.js} +152 -78
  132. package/dist/cli/{billing-26G44S5N.mjs → billing-SDHLBLMV.mjs} +84 -10
  133. package/dist/cli/{chunk-BHGII2D6.js → chunk-3ACMRZRV.js} +8 -6
  134. package/dist/cli/{chunk-S4Q2XCGM.mjs → chunk-3KZCFOZ6.mjs} +1 -1
  135. package/dist/cli/chunk-4KQ6SIBC.mjs +1038 -0
  136. package/dist/cli/{chunk-Z2GUFYT6.js → chunk-5LEAXRHV.js} +11 -11
  137. package/dist/cli/{chunk-XAYO3Q2X.mjs → chunk-6NNVJDVR.mjs} +7 -5
  138. package/dist/cli/{chunk-NMJ4D2WO.js → chunk-6PMCRYDA.js} +216 -91
  139. package/dist/cli/{chunk-OMM54B3X.mjs → chunk-6RNQGWFD.mjs} +16 -806
  140. package/dist/cli/{chunk-EBU7LQ64.js → chunk-6V7KVRR5.js} +3 -3
  141. package/dist/cli/{chunk-RDPTDDKX.js → chunk-7LFIMWMW.js} +2 -2
  142. package/dist/cli/chunk-7MJ6VI2T.mjs +19 -0
  143. package/dist/cli/chunk-7SWNPNML.js +1039 -0
  144. package/dist/cli/{chunk-CTRPCARW.mjs → chunk-7U3XNPOA.mjs} +267 -38
  145. package/dist/cli/{chunk-RBTTUYZZ.js → chunk-7VZHXVOQ.js} +1 -1
  146. package/dist/cli/{chunk-YVBWO647.mjs → chunk-AT636LLU.mjs} +2 -2
  147. package/dist/cli/{chunk-VTODQWQA.js → chunk-BGTPIMSM.js} +392 -261
  148. package/dist/cli/{chunk-KADIT5NV.mjs → chunk-CKSOY47X.mjs} +2 -2
  149. package/dist/cli/{chunk-7DH2FD7Y.mjs → chunk-D464JW3N.mjs} +5 -85
  150. package/dist/cli/chunk-D6DXOUTO.mjs +827 -0
  151. package/dist/cli/{describe-QW54QQNB.js → chunk-EM4TXCCI.js} +27 -44
  152. package/dist/cli/chunk-F6QV42MC.mjs +91 -0
  153. package/dist/cli/chunk-FKVYR3QA.mjs +1039 -0
  154. package/dist/cli/{chunk-LMAULZLF.js → chunk-GEGW5HPZ.js} +29 -27
  155. package/dist/cli/{chunk-M52JQSLK.js → chunk-HUB3CCM2.js} +13 -4
  156. package/dist/cli/{chunk-YHTQM5XI.js → chunk-I6VHOU5O.js} +27 -27
  157. package/dist/cli/{chunk-Z2XUZC34.js → chunk-IAYSWZDJ.js} +188 -76
  158. package/dist/cli/chunk-JF3TLIMQ.js +19 -0
  159. package/dist/cli/{chunk-HDFRJ4IT.mjs → chunk-JVHOS3K3.mjs} +177 -65
  160. package/dist/cli/{chunk-LAWEURCT.mjs → chunk-LFXLQEZN.mjs} +1 -1
  161. package/dist/cli/{chunk-2PBN4SZE.js → chunk-LROWFPGN.js} +16 -16
  162. package/dist/cli/{chunk-SLEUWLJE.mjs → chunk-MSY22NQW.mjs} +5 -5
  163. package/dist/cli/{chunk-LVJOFUU7.mjs → chunk-MUUQZIOF.mjs} +23 -49
  164. package/dist/cli/{chunk-2XHWOQF4.js → chunk-NBLSCHKK.js} +52 -50
  165. package/dist/cli/{chunk-526R2HON.mjs → chunk-NHRWZPWZ.mjs} +4 -2
  166. package/dist/cli/{chunk-KXMNM4AQ.js → chunk-NMU3VR5U.js} +4 -5
  167. package/dist/cli/{chunk-W3BE3CHK.mjs → chunk-O2RX5A66.mjs} +14 -12
  168. package/dist/cli/{chunk-UKFZT7RF.js → chunk-OMQ23IXL.js} +2 -2
  169. package/dist/cli/{chunk-LJTFZOHU.js → chunk-OPJAJBD4.js} +28 -54
  170. package/dist/cli/{chunk-MLFR6DVF.mjs → chunk-PHSEINNH.mjs} +5 -5
  171. package/dist/cli/{chunk-3DNKFH2G.mjs → chunk-PKHVSIJG.mjs} +19 -1
  172. package/dist/cli/{chunk-WIYWSYDS.mjs → chunk-Q2EIZKVX.mjs} +3 -3
  173. package/dist/cli/{chunk-VJAEA4CS.js → chunk-QJZ6WNWD.js} +8 -8
  174. package/dist/cli/{chunk-EIMG75BT.mjs → chunk-S3A4IXBQ.mjs} +4 -5
  175. package/dist/cli/{chunk-RZSTT45F.mjs → chunk-S42YIQNE.mjs} +13 -8
  176. package/dist/cli/{chunk-YULBYKAK.mjs → chunk-S6UAJR6V.mjs} +3 -3
  177. package/dist/cli/{chunk-G7L27KZB.mjs → chunk-TKAQR3IB.mjs} +31 -21
  178. package/dist/cli/{chunk-QWRHGGUH.js → chunk-UAJFWWZE.js} +20 -2
  179. package/dist/cli/{chunk-ZR2RLI4O.mjs → chunk-UDRPEZ5F.mjs} +223 -92
  180. package/dist/cli/{chunk-QGAWTBIR.js → chunk-ULK7JGGI.js} +511 -282
  181. package/dist/cli/chunk-V335HGX5.js +1038 -0
  182. package/dist/cli/{chunk-NH6JSJW6.mjs → chunk-V3MEA7NB.mjs} +7 -5
  183. package/dist/cli/{chunk-NRGGFVVB.js → chunk-VFGVXXZP.js} +37 -35
  184. package/dist/cli/chunk-VLEVVDWG.js +91 -0
  185. package/dist/cli/{chunk-R2GLGLDR.mjs → chunk-VPHN2HAL.mjs} +216 -91
  186. package/dist/cli/{chunk-CFUTOWE4.js → chunk-WG3KGAII.js} +8 -88
  187. package/dist/cli/{describe-TOMIAT37.mjs → chunk-WIY6U6GD.mjs} +19 -36
  188. package/dist/cli/{chunk-YS2YBSJB.js → chunk-XANRM3QA.js} +6 -6
  189. package/dist/cli/{chunk-KGQNIA37.js → chunk-XQCTG5OO.js} +44 -34
  190. package/dist/cli/{chunk-EJGBLXDZ.mjs → chunk-XZAFIOUQ.mjs} +1 -1
  191. package/dist/cli/chunk-Y4DPU4OM.js +827 -0
  192. package/dist/cli/chunk-YT5EODJO.js +920 -0
  193. package/dist/cli/{chunk-2WRO2UJ5.js → chunk-ZGQSFYD2.js} +56 -51
  194. package/dist/cli/{chunk-OJ6RUKVT.mjs → chunk-ZUK6LIJB.mjs} +10 -1
  195. package/dist/cli/command-docs.d.mts +5 -0
  196. package/dist/cli/command-docs.d.ts +5 -0
  197. package/dist/cli/command-docs.js +2 -2
  198. package/dist/cli/command-docs.mjs +1 -1
  199. package/dist/cli/{csv-6FNFYJUC.js → csv-C56GSCEU.js} +13 -12
  200. package/dist/cli/{csv-MDHT4BKK.mjs → csv-L54JS7TF.mjs} +4 -3
  201. package/dist/cli/{db-D6AMVOEW.js → db-MOGRMZTA.js} +30 -27
  202. package/dist/cli/{db-74O3RFWY.mjs → db-YVBUW2DX.mjs} +10 -7
  203. package/dist/cli/describe-KYEULWPG.js +48 -0
  204. package/dist/cli/describe-NLZKKT7C.mjs +48 -0
  205. package/dist/cli/describe-core.d.mts +153 -5
  206. package/dist/cli/describe-core.d.ts +153 -5
  207. package/dist/cli/describe-core.js +9 -5
  208. package/dist/cli/describe-core.mjs +10 -6
  209. package/dist/cli/{executions-N4FMGVSC.js → executions-A7L4ULPP.js} +9 -7
  210. package/dist/cli/{executions-PVSF4HUF.mjs → executions-ZBGSTT37.mjs} +7 -5
  211. package/dist/cli/{feedback-OB7NANZW.mjs → feedback-G6GU37FD.mjs} +6 -5
  212. package/dist/cli/{feedback-WFSPCAI2.js → feedback-OHLY7RYD.js} +10 -9
  213. package/dist/cli/getting-started.d.mts +6 -6
  214. package/dist/cli/getting-started.d.ts +6 -6
  215. package/dist/cli/getting-started.js +2 -2
  216. package/dist/cli/getting-started.mjs +1 -1
  217. package/dist/cli/git-P76N4NDQ.js +25 -0
  218. package/dist/cli/{git-FHUSPAEU.mjs → git-PKZW3QD5.mjs} +5 -4
  219. package/dist/cli/index.js +152 -142
  220. package/dist/cli/index.mjs +56 -46
  221. package/dist/cli/{legacy-noops-ECHNA5HN.js → legacy-noops-5LM3D724.js} +8 -7
  222. package/dist/cli/{legacy-noops-HMK4BSCI.mjs → legacy-noops-LJJYG6YA.mjs} +5 -4
  223. package/dist/cli/{monitors-U7VQ3EZM.mjs → monitors-72QV4ALO.mjs} +19 -6
  224. package/dist/cli/{monitors-XLLFNENH.js → monitors-UX3H5DC2.js} +103 -90
  225. package/dist/cli/{org-6H3USO5M.mjs → org-6RRRKOCP.mjs} +9 -6
  226. package/dist/cli/{org-QX6ER2HN.js → org-IF7ISUVB.js} +70 -67
  227. package/dist/cli/pages-3SU3HKL7.js +252 -0
  228. package/dist/cli/pages-DXDYYKEK.mjs +252 -0
  229. package/dist/cli/{play-MOB2WYOR.mjs → play-AHASKRLA.mjs} +512 -1508
  230. package/dist/cli/{play-WNB7HBZK.js → play-EUIUVLUH.js} +1090 -2086
  231. package/dist/cli/{providers-CXEZ23E2.mjs → providers-GWGE3WY3.mjs} +7 -5
  232. package/dist/cli/{providers-7M3DISKX.js → providers-V5WU4VXJ.js} +10 -8
  233. package/dist/cli/{quickstart-ZFCHKHF6.mjs → quickstart-OXKQ5ZST.mjs} +5 -4
  234. package/dist/cli/{quickstart-CLJT4AZL.js → quickstart-QP65I5PF.js} +13 -12
  235. package/dist/cli/run-6MM72IGL.mjs +443 -0
  236. package/dist/cli/run-F3FTYS56.js +443 -0
  237. package/dist/cli/search-OYKOOI7A.js +32 -0
  238. package/dist/cli/{search-FVYWYIC3.mjs → search-ZMEBVJZB.mjs} +8 -6
  239. package/dist/cli/{secrets-YRLKZQS5.js → secrets-ACND5N6A.js} +16 -14
  240. package/dist/cli/{secrets-WAMPTQFC.mjs → secrets-XRCJFF3L.mjs} +7 -5
  241. package/dist/cli/{sessions-IQ332BJH.mjs → sessions-RTK3CEW6.mjs} +5 -4
  242. package/dist/cli/{sessions-44J6WIVU.js → sessions-ZGRJPCFF.js} +6 -5
  243. package/dist/cli/{settings-4IJR2I2T.js → settings-PD5KWQQZ.js} +80 -77
  244. package/dist/cli/{settings-22S6NIFQ.mjs → settings-XDRBPRDE.mjs} +14 -11
  245. package/dist/cli/{setup-OZUPKKPW.mjs → setup-3HPYAOCC.mjs} +12 -10
  246. package/dist/cli/{setup-3FWSRNOX.js → setup-E2Q6PXHC.js} +53 -51
  247. package/dist/cli/{skills-5CW3NFP3.mjs → skills-OOQFMPOV.mjs} +7 -6
  248. package/dist/cli/skills-XYWV52KB.js +31 -0
  249. package/dist/cli/tools-ASCDZJCK.js +55 -0
  250. package/dist/cli/tools-C5ZT3UIC.mjs +55 -0
  251. package/dist/cli/update-5RQSEIFM.js +33 -0
  252. package/dist/cli/{update-IBULOV7P.mjs → update-ZWJTADIW.mjs} +9 -8
  253. package/dist/cli/{workflow-MVZT7MWT.mjs → workflow-23NMPAJ7.mjs} +10 -8
  254. package/dist/cli/{workflow-Z7FW6GT2.js → workflow-TCXU5YJV.js} +20 -18
  255. package/dist/client-DS2IWYZF.d.ts +10 -0
  256. package/dist/client-DTwnz_AW.d.mts +10 -0
  257. package/dist/{client-CYqG23K1.d.ts → client-core-B_6HAIBy.d.ts} +385 -12
  258. package/dist/{client-BbU5_j7n.d.mts → client-core-DzBSlY1U.d.mts} +385 -12
  259. package/dist/{compiler-manifest-CWz_sNOQ.d.mts → compiler-manifest-Dcyd3-Zd.d.mts} +43 -1
  260. package/dist/{compiler-manifest-CWz_sNOQ.d.ts → compiler-manifest-Dcyd3-Zd.d.ts} +43 -1
  261. package/dist/errors-d-sTrZhe.d.mts +142 -0
  262. package/dist/errors-yQwfgrcX.d.ts +142 -0
  263. package/dist/{index-BF2JB_Ug.d.mts → index-C6oXchjN.d.mts} +1 -1
  264. package/dist/{index-4NPXDzlD.d.ts → index-P56zy_z5.d.ts} +1 -1
  265. package/dist/index.d.mts +11 -147
  266. package/dist/index.d.ts +11 -147
  267. package/dist/index.js +15 -11
  268. package/dist/index.mjs +14 -10
  269. package/dist/install-integrity.json +141 -104
  270. package/dist/plays/bundle-play-file.d.mts +3 -3
  271. package/dist/plays/bundle-play-file.d.ts +3 -3
  272. package/dist/plays/bundle-play-file.mjs +2 -1
  273. package/dist/plays/play-description.d.mts +2 -2
  274. package/dist/plays/play-description.d.ts +2 -2
  275. package/dist/plays/play-description.js +2 -2
  276. package/dist/plays/play-description.mjs +1 -1
  277. package/dist/plays/run-request.d.mts +2 -2
  278. package/dist/plays/run-request.d.ts +2 -2
  279. package/dist/release.d.mts +1 -1
  280. package/dist/release.d.ts +1 -1
  281. package/dist/release.js +2 -2
  282. package/dist/release.mjs +1 -1
  283. package/dist/server.d.mts +17 -0
  284. package/dist/server.d.ts +17 -0
  285. package/dist/server.js +76 -0
  286. package/dist/server.mjs +76 -0
  287. package/package.json +6 -1
  288. package/dist/cli/auth-VDOCNR7H.js +0 -40
  289. package/dist/cli/chunk-PQUUWFXY.js +0 -95
  290. package/dist/cli/chunk-QJLKYYPX.js +0 -1710
  291. package/dist/cli/chunk-YBWAG72P.mjs +0 -95
  292. package/dist/cli/git-4PMBJSH5.js +0 -24
  293. package/dist/cli/search-4CCQCTVD.js +0 -30
  294. package/dist/cli/skills-LMNM6B5F.js +0 -30
  295. package/dist/cli/tools-AGBBDJ7P.js +0 -45
  296. package/dist/cli/tools-NOPBDRGW.mjs +0 -45
  297. package/dist/cli/update-U3W6USVD.js +0 -32
@@ -281,6 +281,26 @@ export type FieldDefinition = QueueItemFieldDefinition;
281
281
  /** A normalized item returned by an owner connector. `nativeState` is always
282
282
  * retained so an operator can distinguish a connector mapping from the
283
283
  * backend's actual state. */
284
+ /**
285
+ * What one retained monitor callback is, without its content: enough for an
286
+ * operator to pair rows, choose what to redrive and see which monitor a row
287
+ * belongs to. Never carries the callback token, headers, body or raw error.
288
+ */
289
+ export type QueueItemMonitorEvent = {
290
+ readonly version: 1;
291
+ readonly eventClass: 'finding' | 'notice' | 'failure' | 'unknown';
292
+ /** The provider's `update_type`, when it is a plain identifier. */
293
+ readonly updateType: string | null;
294
+ /** Hash of the provider's update id: equal across one finding's rows. */
295
+ readonly findingGroup: string | null;
296
+ /** Null on the shared bulk route, whose row is not bound to one monitor. */
297
+ readonly monitorKey: string | null;
298
+ readonly route: 'monitor' | 'shared' | 'unknown';
299
+ readonly bindingVersion: number | null;
300
+ /** What the inbound worker answered for this row's last redrive, if any. */
301
+ readonly lastRedriveStatus: string | null;
302
+ };
303
+
284
304
  export type QueueItem = {
285
305
  readonly queueId: string;
286
306
  readonly id: string;
@@ -301,6 +321,8 @@ export type QueueItem = {
301
321
  readonly summary?: string;
302
322
  /** Bounded, owner-projected explanation for a queue item. */
303
323
  readonly diagnosis?: QueueItemDiagnosis;
324
+ /** Additive; only monitor inbound dead letters carry it. */
325
+ readonly monitorEvent?: QueueItemMonitorEvent;
304
326
  readonly retiredAt?: string;
305
327
  readonly retirementReason?: string;
306
328
  };
@@ -1530,3 +1552,13 @@ export function readOnlyDlqAdapter(input: {
1530
1552
  },
1531
1553
  };
1532
1554
  }
1555
+
1556
+ /**
1557
+ * Whether a retained failure is `ChargeAuthorizationNotOpenError`. The error
1558
+ * names the charge's status, so match the sentence around it, not one status.
1559
+ */
1560
+ export function isChargeAuthorizationNotOpenFailure(text: string): boolean {
1561
+ return /Charge authorization is [a-z_]+; provider work requires an open charge\./.test(
1562
+ text,
1563
+ );
1564
+ }
@@ -219,6 +219,24 @@
219
219
  "failureAlert": "github_workflow_run",
220
220
  "domainReportRequired": true
221
221
  },
222
+ {
223
+ "id": "github.session-health-digest",
224
+ "name": "Session Health Digest",
225
+ "scheduler": "github_actions",
226
+ "cadence": "0 12 * * *",
227
+ "timezone": "UTC",
228
+ "source": ".github/workflows/session-health-digest.yml",
229
+ "locator": "schedule:",
230
+ "owner": "product",
231
+ "criticality": "reporting",
232
+ "purpose": "Score the last 24 hours of customer agent sessions from production Axiom telemetry and post the sessions predicted to be going poorly to the reporting Slack channel.",
233
+ "successDefinition": "All four Axiom reads return complete results, the scored report is retained as an artifact, and Slack accepts the digest; a day with no poor sessions still posts its counts.",
234
+ "failureDefinition": "Axiom returns an error, a partial result or a row-limit-sized result, or Slack rejects the digest.",
235
+ "startGraceMs": 600000,
236
+ "runTimeoutMs": 900000,
237
+ "failureAlert": "github_workflow_run",
238
+ "domainReportRequired": true
239
+ },
222
240
  {
223
241
  "id": "github.eval-agent-cli-matrix",
224
242
  "name": "Eval Agent CLI Matrix",
@@ -532,6 +550,24 @@
532
550
  "failureAlert": "vercel_route_wrapper",
533
551
  "domainReportRequired": true
534
552
  },
553
+ {
554
+ "id": "vercel.finalized-usage-cycle-reconcile",
555
+ "name": "Finalized usage-cycle reconciliation",
556
+ "scheduler": "vercel_cron",
557
+ "cadence": "*/5 * * * *",
558
+ "timezone": "UTC",
559
+ "source": "apps/deepline-api/vercel.json",
560
+ "locator": "/api/v2/cron/finalized-usage-cycle-reconcile",
561
+ "owner": "billing",
562
+ "criticality": "critical",
563
+ "purpose": "Compare finalized Metronome usage invoices with local terminal and delivered usage receipts.",
564
+ "successDefinition": "Scanned invoices are durably reconciled and parity mismatches are recorded for review.",
565
+ "failureDefinition": "Provider, local usage, cursor, or persistence failures prevent the scan from advancing safely.",
566
+ "startGraceMs": 300000,
567
+ "runTimeoutMs": 300000,
568
+ "failureAlert": "vercel_route_wrapper",
569
+ "domainReportRequired": true
570
+ },
535
571
  {
536
572
  "id": "vercel.metronome-usage-export",
537
573
  "name": "Metronome usage export",
@@ -1352,9 +1388,9 @@
1352
1388
  "locator": "deepline-play-execution-heartbeat",
1353
1389
  "owner": "runtime",
1354
1390
  "criticality": "critical",
1355
- "purpose": "Exercise the Play execution heartbeat that keeps active runs and queue leases alive.",
1356
- "successDefinition": "Active executions receive heartbeats and idle/terminal runs are reported; no active executions is a valid no-op.",
1357
- "failureDefinition": "Heartbeat dispatch, lease refresh, or terminal reporting fails.",
1391
+ "purpose": "Run provider-free API, webhook and Modal-pinned canary Plays, then ping Better Stack: heartbeat 473888 for the public Play execution row and the internal heartbeat Deepline Play execution on Modal.",
1392
+ "successDefinition": "The API and webhook canaries complete and heartbeat 473888 is pinged; the canary pinned to modal_only@1 completes and its Modal heartbeat is pinged.",
1393
+ "failureDefinition": "Cron metadata is stale, a canary fails or times out, or a Better Stack call fails. A Modal-leg failure is reported in checks.modal and withholds only the Modal heartbeat.",
1358
1394
  "startGraceMs": 120000,
1359
1395
  "runTimeoutMs": 1800000,
1360
1396
  "failureAlert": "better_stack_heartbeat",
@@ -1593,5 +1629,23 @@
1593
1629
  "runTimeoutMs": 60000,
1594
1630
  "failureAlert": "convex_action_wrapper",
1595
1631
  "domainReportRequired": true
1632
+ },
1633
+ {
1634
+ "id": "fly.runtime-detached-runner-liveness-sweep",
1635
+ "name": "Runtime detached-runner liveness sweep",
1636
+ "scheduler": "fly_controller",
1637
+ "cadence": "runAfter each fixed runtime controller reconcile, about every 15 seconds",
1638
+ "timezone": "UTC",
1639
+ "source": "apps/absurd-release-scaler/index.ts",
1640
+ "locator": "recoverConfiguredAbsurdRuntimeStaleDetachedRunners",
1641
+ "owner": "runtime",
1642
+ "criticality": "critical",
1643
+ "purpose": "Read each parked detached runner whose heartbeat is stale, outside org-ranked claims, and report the ones whose sandbox the provider proves ended. It settles nothing until it moves to enforce.",
1644
+ "successDefinition": "Each pass finishes inside its budget, logs every proven runner it reached as would_settle, names any provider it could not read, and leaves every sandbox parked.",
1645
+ "failureDefinition": "Discovery or a terminal settlement fails. A provider outage is not a failure: its runs stay parked and the hard ceiling still bounds them.",
1646
+ "startGraceMs": 60000,
1647
+ "runTimeoutMs": 12000,
1648
+ "failureAlert": "fly_scaler_lifecycle_metric",
1649
+ "domainReportRequired": true
1596
1650
  }
1597
1651
  ]
@@ -6,6 +6,7 @@ export type ScheduledWorkScheduler =
6
6
  | 'convex_cron'
7
7
  | 'convex_scheduled_action'
8
8
  | 'convex_scheduled_mutation'
9
+ | 'fly_controller'
9
10
  | 'github_actions'
10
11
  | 'inngest'
11
12
  | 'scheduled_play'
@@ -4,7 +4,9 @@ import {
4
4
  GetObjectCommand,
5
5
  HeadObjectCommand,
6
6
  DeleteObjectCommand,
7
+ ListObjectsV2Command,
7
8
  } from '@aws-sdk/client-s3';
9
+ import { createHash } from 'node:crypto';
8
10
  import { NodeHttpHandler } from '@smithy/node-http-handler';
9
11
  import { getSignedUrl } from '@aws-sdk/s3-request-presigner';
10
12
  import { Agent as HttpsAgent } from 'node:https';
@@ -56,9 +58,23 @@ function getRuntimeEnv(): keyof typeof PLAY_ARTIFACT_BUCKETS {
56
58
  return 'dev';
57
59
  }
58
60
 
61
+ function resolvePlayArtifactStorage() {
62
+ const environment = getRuntimeEnv();
63
+ return { environment, bucket: PLAY_ARTIFACT_BUCKETS[environment] };
64
+ }
65
+
66
+ /** Nonsecret identity only: does not resolve credentials or access storage. */
67
+ export function getPlayArtifactStorageIdentity() {
68
+ const { environment, bucket } = resolvePlayArtifactStorage();
69
+ return {
70
+ environment,
71
+ bucketSha256: createHash('sha256').update(bucket).digest('hex'),
72
+ };
73
+ }
74
+
59
75
  function resolveBucket(kind: R2BucketKind): string {
60
76
  if (kind === 'playArtifacts') {
61
- return PLAY_ARTIFACT_BUCKETS[getRuntimeEnv()];
77
+ return resolvePlayArtifactStorage().bucket;
62
78
  }
63
79
  return requireEnv('CLOUDFLARE_R2_BUCKET_NAME');
64
80
  }
@@ -73,9 +89,28 @@ export function getR2Config(kind: R2BucketKind = 'default') {
73
89
  };
74
90
  }
75
91
 
92
+ export type R2TransportPolicy = {
93
+ connectionTimeoutMs: number;
94
+ socketIdleTimeoutMs: number;
95
+ };
96
+
97
+ const DEFAULT_R2_TRANSPORT_POLICY: Readonly<R2TransportPolicy> = {
98
+ connectionTimeoutMs: 10_000,
99
+ socketIdleTimeoutMs: 30_000,
100
+ };
101
+
76
102
  export function createR2Client(
77
103
  config: ReturnType<typeof getR2Config>,
104
+ transportPolicy: Readonly<R2TransportPolicy> = DEFAULT_R2_TRANSPORT_POLICY,
78
105
  ): S3Client {
106
+ for (const timeout of [
107
+ transportPolicy.connectionTimeoutMs,
108
+ transportPolicy.socketIdleTimeoutMs,
109
+ ]) {
110
+ if (!Number.isSafeInteger(timeout) || timeout <= 0) {
111
+ throw new Error('R2 transport timeouts must be positive milliseconds');
112
+ }
113
+ }
79
114
  return new S3Client({
80
115
  region: 'auto',
81
116
  endpoint: config.endpoint,
@@ -84,6 +119,11 @@ export function createR2Client(
84
119
  secretAccessKey: config.secretAccessKey,
85
120
  },
86
121
  requestHandler: new NodeHttpHandler({
122
+ // Bound connection acquisition/connect and stalled I/O separately. A
123
+ // large upload that keeps moving must not hit a small total deadline.
124
+ // The SDK can retry an interrupted PUT with the same object key/body.
125
+ connectionTimeout: transportPolicy.connectionTimeoutMs,
126
+ socketTimeout: transportPolicy.socketIdleTimeoutMs,
87
127
  httpsAgent: new HttpsAgent({
88
128
  keepAlive: true,
89
129
  maxSockets: 64,
@@ -239,6 +279,31 @@ export async function getBufferFromR2(
239
279
  return Buffer.from(bytes);
240
280
  }
241
281
 
282
+ /** Every key under a prefix, across as many listing pages as it takes. */
283
+ export async function listR2Keys(
284
+ prefix: string,
285
+ kind: R2BucketKind = 'default',
286
+ ): Promise<string[]> {
287
+ const config = getR2Config(kind);
288
+ const client = getR2Client(config);
289
+ const keys: string[] = [];
290
+ let continuationToken: string | undefined;
291
+ do {
292
+ const response = await client.send(
293
+ new ListObjectsV2Command({
294
+ Bucket: config.bucket,
295
+ Prefix: prefix,
296
+ ContinuationToken: continuationToken,
297
+ }),
298
+ );
299
+ for (const object of response.Contents ?? []) {
300
+ if (object.Key) keys.push(object.Key);
301
+ }
302
+ continuationToken = response.NextContinuationToken;
303
+ } while (continuationToken);
304
+ return keys;
305
+ }
306
+
242
307
  /**
243
308
  * Delete one immutable runtime object. Callers must retain their own durable
244
309
  * deletion intent and confirm absence with HEAD before they acknowledge this
@@ -10,6 +10,15 @@ type QueryClient = {
10
10
  type SheetIdentity = { schema: string; table: string };
11
11
  type StorageType = 'boolean' | 'double precision' | 'text' | 'jsonb';
12
12
  type ColumnState = { name: string; type: string; marker: string | null };
13
+ type WriteLockMode = 'shared' | 'exclusive';
14
+
15
+ /** Restart the whole transaction exclusively before changing a type or marker. */
16
+ export class RuntimeSheetColumnSchemaChangeRequired extends Error {
17
+ constructor() {
18
+ super('Runtime Sheet column preparation requires an exclusive transaction');
19
+ this.name = 'RuntimeSheetColumnSchemaChangeRequired';
20
+ }
21
+ }
13
22
  export type RuntimeSheetColumnTypes = ReadonlyMap<string, string>;
14
23
 
15
24
  const MARKER = 'deepline:runtime-sheet-column:';
@@ -38,12 +47,19 @@ function valueType(value: unknown): StorageType | null {
38
47
  return 'jsonb';
39
48
  }
40
49
 
41
- async function lock(client: QueryClient, sheet: SheetIdentity): Promise<void> {
42
- // The caller holds this transaction through DML. Both SQL writers use the
43
- // same lock, so type inspection, widening and the affected write are atomic.
44
- await client.query('SELECT pg_advisory_xact_lock(hashtextextended($1, 0))', [
45
- `runtime-sheet-columns:${relation(sheet)}`,
46
- ]);
50
+ async function lock(
51
+ client: QueryClient,
52
+ sheet: SheetIdentity,
53
+ mode: WriteLockMode = 'exclusive',
54
+ ): Promise<void> {
55
+ // Stable writers may share the type fence. Schema mutations and all existing
56
+ // callers keep the exclusive fence; either mode is held through row DML.
57
+ await client.query(
58
+ mode === 'shared'
59
+ ? 'SELECT pg_advisory_xact_lock_shared(hashtextextended($1, 0))'
60
+ : 'SELECT pg_advisory_xact_lock(hashtextextended($1, 0))',
61
+ [`runtime-sheet-columns:${relation(sheet)}`],
62
+ );
47
63
  }
48
64
 
49
65
  async function inspect(
@@ -160,9 +176,11 @@ export const RuntimeSheetColumns = {
160
176
  | readonly Record<string, unknown>[]
161
177
  | (() => Promise<readonly Record<string, unknown>[]>);
162
178
  columns: readonly PhysicalSheetColumnProjection[];
179
+ /** Opt in only when the caller can roll back and restart the whole transaction. */
180
+ lockMode?: WriteLockMode;
163
181
  },
164
182
  ): Promise<RuntimeSheetColumnTypes> {
165
- await lock(client, input);
183
+ await lock(client, input, input.lockMode);
166
184
  const rows =
167
185
  typeof input.rows === 'function' ? await input.rows() : input.rows;
168
186
  const columns = new Map(
@@ -178,6 +196,17 @@ export const RuntimeSheetColumns = {
178
196
  projection.typeEvidence?.valueType === 'json' ? 'jsonb' : null;
179
197
  for (const row of rows)
180
198
  desired = combine(desired, valueType(row[projection.fieldName]));
199
+ if (
200
+ input.lockMode === 'shared' &&
201
+ desired !== null &&
202
+ (column.marker === UNDECIDED ||
203
+ (column.marker === NATIVE &&
204
+ combine(column.type as StorageType, desired) !== column.type))
205
+ ) {
206
+ // Even an unchanged SQL type can need a new enrollment marker. Never
207
+ // upgrade the shared lock or perform partial schema changes here.
208
+ throw new RuntimeSheetColumnSchemaChangeRequired();
209
+ }
181
210
  await changeType(client, input, column, desired);
182
211
  }
183
212
  return new Map([...columns].map(([name, column]) => [name, column.type]));