deepline 0.3.88 → 0.3.90

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 (280) hide show
  1. package/contracts/install-commands.json +29 -0
  2. package/dist/bundling-sources/sdk/src/client.ts +652 -39
  3. package/dist/bundling-sources/sdk/src/config.ts +77 -0
  4. package/dist/bundling-sources/sdk/src/http.ts +76 -30
  5. package/dist/bundling-sources/sdk/src/index.ts +10 -0
  6. package/dist/bundling-sources/sdk/src/monitor-fleet-contract.ts +1 -1
  7. package/dist/bundling-sources/sdk/src/pagination.ts +25 -0
  8. package/dist/bundling-sources/sdk/src/play.ts +15 -1
  9. package/dist/bundling-sources/sdk/src/plays/bundle-play-file.ts +3 -3
  10. package/dist/bundling-sources/sdk/src/release.ts +16 -9
  11. package/dist/bundling-sources/sdk/src/types.ts +106 -4
  12. package/dist/bundling-sources/shared_libs/integration-contracts/AGENTS.md +9 -0
  13. package/dist/bundling-sources/shared_libs/integration-contracts/README.md +3 -0
  14. package/dist/bundling-sources/shared_libs/integration-contracts/index.ts +2 -0
  15. package/dist/bundling-sources/shared_libs/monitors/analytics-install-guides.ts +77 -0
  16. package/dist/bundling-sources/shared_libs/monitors/analytics-public.ts +10 -0
  17. package/dist/bundling-sources/shared_libs/monitors/billing/charges.ts +125 -0
  18. package/dist/bundling-sources/shared_libs/monitors/billing/policy-builders.ts +686 -0
  19. package/dist/bundling-sources/shared_libs/monitors/billing/pricing.ts +54 -0
  20. package/dist/bundling-sources/shared_libs/monitors/billing/public-pricing.ts +72 -0
  21. package/dist/bundling-sources/shared_libs/monitors/billing/session.ts +45 -0
  22. package/dist/bundling-sources/shared_libs/monitors/billing/state.ts +454 -0
  23. package/dist/bundling-sources/shared_libs/monitors/billing/tamradar.ts +260 -0
  24. package/dist/bundling-sources/shared_libs/monitors/billing/types.ts +215 -0
  25. package/dist/bundling-sources/shared_libs/monitors/callback-security.ts +333 -0
  26. package/dist/bundling-sources/shared_libs/monitors/cursor-page.ts +42 -0
  27. package/dist/bundling-sources/shared_libs/monitors/deactivation-reasons.ts +16 -0
  28. package/dist/bundling-sources/shared_libs/monitors/framework-managed-payload-fields.ts +71 -0
  29. package/dist/bundling-sources/shared_libs/monitors/generated/provider-monitor-callback-admission-targets.ts +16 -0
  30. package/dist/bundling-sources/shared_libs/monitors/http-error-response.ts +270 -0
  31. package/dist/bundling-sources/shared_libs/monitors/inbound-publish-key.ts +39 -0
  32. package/dist/bundling-sources/shared_libs/monitors/inbound-queue.ts +82 -0
  33. package/dist/bundling-sources/shared_libs/monitors/inventory-reconciliation.ts +59 -0
  34. package/dist/bundling-sources/shared_libs/monitors/lifecycle-notifications.ts +471 -0
  35. package/dist/bundling-sources/shared_libs/monitors/org-monitor-limits.ts +1 -1
  36. package/dist/bundling-sources/shared_libs/monitors/package.json +36 -0
  37. package/dist/bundling-sources/shared_libs/monitors/provider-callback-verification.ts +1125 -0
  38. package/dist/bundling-sources/shared_libs/monitors/provider-monitor-batch-operation.ts +305 -0
  39. package/dist/bundling-sources/shared_libs/monitors/provider-monitor-capability.ts +964 -0
  40. package/dist/bundling-sources/shared_libs/monitors/provider-monitor-consumer-health.ts +56 -0
  41. package/dist/bundling-sources/shared_libs/monitors/provider-monitor-errors.ts +131 -0
  42. package/dist/bundling-sources/shared_libs/monitors/provider-monitor-identity-claims.ts +535 -0
  43. package/dist/bundling-sources/shared_libs/monitors/provider-monitor-legacy-aliases.ts +16 -0
  44. package/dist/bundling-sources/shared_libs/monitors/provider-monitor-priority-execution.ts +56 -0
  45. package/dist/bundling-sources/shared_libs/monitors/provider-monitor-public-aliases.ts +28 -0
  46. package/dist/bundling-sources/shared_libs/monitors/provider-monitor-runtime-read-eligibility.ts +38 -0
  47. package/dist/bundling-sources/shared_libs/monitors/provider-monitor-state.ts +122 -0
  48. package/dist/bundling-sources/shared_libs/monitors/provider-monitor-status.ts +10 -0
  49. package/dist/bundling-sources/shared_libs/monitors/provider-monitor-upstream-identity.ts +112 -0
  50. package/dist/bundling-sources/shared_libs/monitors/provider-webhook-monitor-runtime.ts +300 -0
  51. package/dist/bundling-sources/shared_libs/monitors/quickstart-prompts.ts +22 -0
  52. package/dist/bundling-sources/shared_libs/monitors/signal-radars/inbound-dead-letter.ts +245 -0
  53. package/dist/bundling-sources/shared_libs/monitors/signal-radars/inbound-message.ts +38 -0
  54. package/dist/bundling-sources/shared_libs/monitors/signal-radars/inbound-queue-ack-probe.ts +94 -0
  55. package/dist/bundling-sources/shared_libs/monitors/signal-radars/inbound-queue-delivery.ts +60 -0
  56. package/dist/bundling-sources/shared_libs/monitors/signal-radars/inbound-queue.ts +60 -0
  57. package/dist/bundling-sources/shared_libs/monitors/snitcher-install-validation.ts +93 -0
  58. package/dist/bundling-sources/shared_libs/monitors/snitcher-ip2company.ts +332 -0
  59. package/dist/bundling-sources/shared_libs/monitors/snitcher-radar.ts +221 -0
  60. package/dist/bundling-sources/shared_libs/monitors/starter-templates.ts +105 -0
  61. package/dist/bundling-sources/shared_libs/monitors/tracking-provider-guidance.ts +73 -0
  62. package/dist/bundling-sources/shared_libs/monitors/tracking-provider-integrations.ts +81 -0
  63. package/dist/bundling-sources/shared_libs/monitors/tsconfig.json +10 -0
  64. package/dist/bundling-sources/shared_libs/observability/build-context.ts +13 -0
  65. package/dist/bundling-sources/shared_libs/observability/log-metadata.ts +160 -0
  66. package/dist/bundling-sources/shared_libs/observability/request-context.ts +68 -0
  67. package/dist/bundling-sources/shared_libs/observability/scheduled-jobs.json +654 -0
  68. package/dist/bundling-sources/shared_libs/observability/scheduled-work-manual.ts +35 -0
  69. package/dist/bundling-sources/shared_libs/observability/scheduled-work.ts +5 -0
  70. package/dist/bundling-sources/shared_libs/play-data-plane/neon-constants.ts +9 -0
  71. package/dist/bundling-sources/shared_libs/play-data-plane/r2.ts +272 -0
  72. package/dist/bundling-sources/shared_libs/play-runtime/activity-observation.ts +6 -11
  73. package/dist/bundling-sources/shared_libs/play-runtime/app-runtime-api.ts +135 -12
  74. package/dist/bundling-sources/shared_libs/play-runtime/async-operation.ts +66 -1
  75. package/dist/bundling-sources/shared_libs/play-runtime/async-play-invocation.ts +77 -0
  76. package/dist/bundling-sources/shared_libs/play-runtime/bounceban-batching.ts +137 -0
  77. package/dist/bundling-sources/shared_libs/play-runtime/checkpoint-boundaries.ts +70 -0
  78. package/dist/bundling-sources/shared_libs/play-runtime/context.ts +1159 -166
  79. package/dist/bundling-sources/shared_libs/play-runtime/coordinator-headers.ts +1 -32
  80. package/dist/bundling-sources/shared_libs/play-runtime/ctx-types.ts +103 -0
  81. package/dist/bundling-sources/shared_libs/play-runtime/daytona-payload-contract.ts +68 -0
  82. package/dist/bundling-sources/shared_libs/play-runtime/daytona-sandbox-janitor.ts +103 -0
  83. package/dist/bundling-sources/shared_libs/play-runtime/daytona-sandbox-reaper.ts +725 -0
  84. package/dist/bundling-sources/shared_libs/play-runtime/default-batch-strategies.ts +20 -1
  85. package/dist/bundling-sources/shared_libs/play-runtime/durable-call-cache.ts +29 -0
  86. package/dist/bundling-sources/shared_libs/play-runtime/execution-capabilities.ts +29 -0
  87. package/dist/bundling-sources/shared_libs/play-runtime/execution-gateway-invocation-fence.ts +442 -0
  88. package/dist/bundling-sources/shared_libs/play-runtime/execution-protocol.ts +7 -1
  89. package/dist/bundling-sources/shared_libs/play-runtime/fixture-behavior.ts +18 -0
  90. package/dist/bundling-sources/shared_libs/play-runtime/governor/app-runtime-rate-state-backend.ts +9 -0
  91. package/dist/bundling-sources/shared_libs/play-runtime/governor/policy.ts +1 -1
  92. package/dist/bundling-sources/shared_libs/play-runtime/governor/rate-state-backend.ts +1 -1
  93. package/dist/bundling-sources/shared_libs/play-runtime/integration-operation-reader-fence/contracts.ts +66 -0
  94. package/dist/bundling-sources/shared_libs/play-runtime/integration-operation-reader-fence/job.ts +145 -0
  95. package/dist/bundling-sources/shared_libs/play-runtime/integration-operation-reader-fence/ports.ts +21 -0
  96. package/dist/bundling-sources/shared_libs/play-runtime/integration-operation-reader-fence/postgres-store.ts +170 -0
  97. package/dist/bundling-sources/shared_libs/play-runtime/internal-bootstrap-token.ts +1322 -0
  98. package/dist/bundling-sources/shared_libs/play-runtime/internal-step-ids.ts +2 -2
  99. package/dist/bundling-sources/shared_libs/play-runtime/lane-retirement-gate.ts +189 -0
  100. package/dist/bundling-sources/shared_libs/play-runtime/launch-source-policy.ts +112 -0
  101. package/dist/bundling-sources/shared_libs/play-runtime/map-execution-frame.ts +8 -0
  102. package/dist/bundling-sources/shared_libs/play-runtime/perf-trace.ts +127 -0
  103. package/dist/bundling-sources/shared_libs/play-runtime/play-artifact-runtime-contract.ts +5 -0
  104. package/dist/bundling-sources/shared_libs/play-runtime/play-run-recovery-policy.ts +24 -1
  105. package/dist/bundling-sources/shared_libs/play-runtime/play-runs/admission/contracts.ts +56 -0
  106. package/dist/bundling-sources/shared_libs/play-runtime/play-runs/admission/index.ts +13 -0
  107. package/dist/bundling-sources/shared_libs/play-runtime/play-runs/admission/job.ts +41 -0
  108. package/dist/bundling-sources/shared_libs/play-runtime/play-runs/admission/ports.ts +17 -0
  109. package/dist/bundling-sources/shared_libs/play-runtime/play-runs/admission/postgres-adapter.ts +54 -0
  110. package/dist/bundling-sources/shared_libs/play-runtime/play-runs/attempts/contracts.ts +114 -0
  111. package/dist/bundling-sources/shared_libs/play-runtime/play-runs/attempts/engine-suspension.ts +108 -0
  112. package/dist/bundling-sources/shared_libs/play-runtime/play-runs/attempts/index.ts +36 -0
  113. package/dist/bundling-sources/shared_libs/play-runtime/play-runs/attempts/job.ts +97 -0
  114. package/dist/bundling-sources/shared_libs/play-runtime/play-runs/attempts/ports.ts +104 -0
  115. package/dist/bundling-sources/shared_libs/play-runtime/play-runs/attempts/postgres-fence-adapter.ts +263 -0
  116. package/dist/bundling-sources/shared_libs/play-runtime/play-runs/attempts/worker-terminal-projection.ts +64 -0
  117. package/dist/bundling-sources/shared_libs/play-runtime/play-runs/projection/contracts.ts +29 -0
  118. package/dist/bundling-sources/shared_libs/play-runtime/play-runs/projection/gateway-adapter.ts +56 -0
  119. package/dist/bundling-sources/shared_libs/play-runtime/play-runs/projection/index.ts +15 -0
  120. package/dist/bundling-sources/shared_libs/play-runtime/play-runs/projection/job.ts +65 -0
  121. package/dist/bundling-sources/shared_libs/play-runtime/play-runs/projection/ports.ts +17 -0
  122. package/dist/bundling-sources/shared_libs/play-runtime/play-runs/sandbox-cleanup/contracts.ts +42 -0
  123. package/dist/bundling-sources/shared_libs/play-runtime/play-runs/sandbox-cleanup/index.ts +17 -0
  124. package/dist/bundling-sources/shared_libs/play-runtime/play-runs/sandbox-cleanup/job.ts +142 -0
  125. package/dist/bundling-sources/shared_libs/play-runtime/play-runs/sandbox-cleanup/ports.ts +42 -0
  126. package/dist/bundling-sources/shared_libs/play-runtime/play-runs/sandbox-cleanup/postgres-adapter.ts +102 -0
  127. package/dist/bundling-sources/shared_libs/play-runtime/play-runs/terminal/contracts.ts +60 -0
  128. package/dist/bundling-sources/shared_libs/play-runtime/play-runs/terminal/index.ts +16 -0
  129. package/dist/bundling-sources/shared_libs/play-runtime/play-runs/terminal/job.ts +78 -0
  130. package/dist/bundling-sources/shared_libs/play-runtime/play-runs/terminal/ports.ts +54 -0
  131. package/dist/bundling-sources/shared_libs/play-runtime/play-runs/terminal/postgres-adapter.ts +71 -0
  132. package/dist/bundling-sources/shared_libs/play-runtime/play-runtime-batching-registry.ts +4 -0
  133. package/dist/bundling-sources/shared_libs/play-runtime/play-runtime-semantics.ts +28 -0
  134. package/dist/bundling-sources/shared_libs/play-runtime/protocol.ts +4 -0
  135. package/dist/bundling-sources/shared_libs/play-runtime/receipt-status.ts +5 -8
  136. package/dist/bundling-sources/shared_libs/play-runtime/run-failure.ts +23 -2
  137. package/dist/bundling-sources/shared_libs/play-runtime/run-identity.ts +168 -0
  138. package/dist/bundling-sources/shared_libs/play-runtime/run-snapshot-stream.ts +1 -1
  139. package/dist/bundling-sources/shared_libs/play-runtime/runner-backends/backends/daytona-lifecycle.ts +90 -13
  140. package/dist/bundling-sources/shared_libs/play-runtime/runner-backends/backends/daytona-payload-transport.ts +6 -12
  141. package/dist/bundling-sources/shared_libs/play-runtime/runner-backends/backends/daytona-start-admission.ts +68 -0
  142. package/dist/bundling-sources/shared_libs/play-runtime/runner-backends/backends/daytona.ts +21 -0
  143. package/dist/bundling-sources/shared_libs/play-runtime/runner-backends/bundle.ts +0 -1
  144. package/dist/bundling-sources/shared_libs/play-runtime/runner-backends/runtime-sandbox-reconciliation.ts +14 -43
  145. package/dist/bundling-sources/shared_libs/play-runtime/runtime-api.ts +67 -213
  146. package/dist/bundling-sources/shared_libs/play-runtime/runtime-authority.ts +201 -0
  147. package/dist/bundling-sources/shared_libs/play-runtime/runtime-capacity-policy.ts +20 -0
  148. package/dist/bundling-sources/shared_libs/play-runtime/runtime-contract.ts +6 -0
  149. package/dist/bundling-sources/shared_libs/play-runtime/runtime-env.ts +12 -0
  150. package/dist/bundling-sources/shared_libs/play-runtime/runtime-operation-contract.ts +67 -0
  151. package/dist/bundling-sources/shared_libs/play-runtime/runtime-release-environment.ts +2 -0
  152. package/dist/bundling-sources/shared_libs/play-runtime/runtime-sandbox-contract.ts +68 -0
  153. package/dist/bundling-sources/shared_libs/play-runtime/runtime-scheduler-topology.ts +38 -2
  154. package/dist/bundling-sources/shared_libs/play-runtime/runtime-telemetry.ts +108 -0
  155. package/dist/bundling-sources/shared_libs/play-runtime/sandbox-runs/contract.ts +4 -0
  156. package/dist/bundling-sources/shared_libs/play-runtime/sandbox-runs/runner-backend-adapter.ts +3 -0
  157. package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backend.ts +37 -1
  158. package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/absurd-deadline-reconciliation.ts +88 -0
  159. package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/absurd-play-deploy-task.ts +124 -0
  160. package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/absurd-play-run-task.ts +68 -0
  161. package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/absurd-pool.ts +193 -0
  162. package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/absurd-queue-lifecycle.ts +269 -0
  163. package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/absurd-queue-suffix.ts +73 -0
  164. package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/absurd-runtime-worker.ts +6642 -0
  165. package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/absurd-shared.ts +897 -0
  166. package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/absurd-worker-metrics.ts +120 -0
  167. package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/absurd-worker-required-env.ts +76 -0
  168. package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/absurd.ts +476 -0
  169. package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/gateway-heavy-request-admission.ts +47 -0
  170. package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/gateway-progress-registry.ts +147 -0
  171. package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/index.ts +27 -0
  172. package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/lazy.ts +50 -0
  173. package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/play-run-recovery.ts +98 -0
  174. package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/postgres-budget-state.ts +260 -0
  175. package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/postgres-pool.ts +1416 -0
  176. package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/postgres-progress.ts +1255 -0
  177. package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/postgres-rate-state.ts +942 -0
  178. package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/postgres.ts +14636 -0
  179. package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/receipt-gateway.ts +888 -0
  180. package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/run-ledger-outbox-recovery.ts +355 -0
  181. package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/run-terminal-transition.ts +46 -0
  182. package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/runner-push.ts +60 -0
  183. package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/runtime-api-origin.ts +33 -0
  184. package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/runtime-receipt-gateway-health.ts +64 -0
  185. package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/runtime-sandbox-capacity.ts +835 -0
  186. package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/runtime-sandbox-ledger-reconciliation.ts +1218 -0
  187. package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/runtime-sandbox-operation.ts +207 -0
  188. package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/runtime-scheduler-schema.ts +10 -0
  189. package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/scheduler-capacity.ts +123 -0
  190. package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/scheduler-launch-read-observability.ts +78 -0
  191. package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/submit-admission.ts +169 -0
  192. package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/terminal-contract.ts +20 -0
  193. package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/worker-queue-metrics.ts +34 -0
  194. package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/worker-resource-metrics.ts +249 -0
  195. package/dist/bundling-sources/shared_libs/play-runtime/sheet-attempt-sql.ts +7 -0
  196. package/dist/bundling-sources/shared_libs/play-runtime/step-progress.ts +296 -0
  197. package/dist/bundling-sources/shared_libs/play-runtime/tool-call/native-batch.ts +3 -3
  198. package/dist/bundling-sources/shared_libs/play-runtime/tool-call/runtime-step-receipts-adapter.ts +20 -1
  199. package/dist/bundling-sources/shared_libs/play-runtime/tool-execute-retry-policy.ts +60 -15
  200. package/dist/bundling-sources/shared_libs/play-runtime/tool-execution-outcome.ts +20 -0
  201. package/dist/bundling-sources/shared_libs/play-runtime/tool-http-errors.ts +1 -1
  202. package/dist/bundling-sources/shared_libs/play-runtime/tool-result.ts +1 -1
  203. package/dist/bundling-sources/shared_libs/play-runtime/transient-service-error.ts +12 -0
  204. package/dist/bundling-sources/shared_libs/play-runtime/vercel-protection.ts +14 -1
  205. package/dist/bundling-sources/shared_libs/play-runtime/work-receipt-storage-contract.ts +165 -0
  206. package/dist/bundling-sources/shared_libs/play-runtime/work-receipts.ts +15 -23
  207. package/dist/bundling-sources/shared_libs/play-runtime/workflow-executor-auth.ts +169 -0
  208. package/dist/bundling-sources/shared_libs/play-runtime/zerobounce-batching.ts +122 -0
  209. package/dist/bundling-sources/shared_libs/plays/artifact-types.ts +8 -3
  210. package/dist/bundling-sources/shared_libs/plays/authoring-contract.ts +454 -17
  211. package/dist/bundling-sources/shared_libs/plays/bundling/index.ts +19 -4
  212. package/dist/bundling-sources/shared_libs/plays/contracts.ts +8 -14
  213. package/dist/bundling-sources/shared_libs/plays/core.ts +11 -6
  214. package/dist/bundling-sources/shared_libs/plays/deployment-status.ts +1 -1
  215. package/dist/bundling-sources/shared_libs/plays/docflow-binding-owner.ts +16 -11
  216. package/dist/bundling-sources/shared_libs/plays/docflow.ts +1 -1
  217. package/dist/bundling-sources/shared_libs/plays/email-status.ts +1 -1
  218. package/dist/bundling-sources/shared_libs/plays/play-grep-search.ts +39 -0
  219. package/dist/bundling-sources/shared_libs/plays/resolve-static-pipeline.ts +1 -1
  220. package/dist/bundling-sources/shared_libs/plays/share/copy.ts +271 -0
  221. package/dist/bundling-sources/shared_libs/plays/share/metrics.ts +140 -0
  222. package/dist/bundling-sources/shared_libs/plays/share/public-read-model.ts +86 -0
  223. package/dist/bundling-sources/shared_libs/plays/share/seo-quality.ts +181 -0
  224. package/dist/bundling-sources/shared_libs/plays/share/static-pipeline-summary.ts +658 -0
  225. package/dist/bundling-sources/shared_libs/plays/share/types.ts +197 -0
  226. package/dist/bundling-sources/shared_libs/plays/slack-hitl-timeout-error.ts +37 -0
  227. package/dist/bundling-sources/shared_libs/plays/slug.ts +115 -0
  228. package/dist/bundling-sources/shared_libs/plays/static-pipeline.ts +50 -15
  229. package/dist/bundling-sources/shared_libs/plays/tool-category-descriptions.ts +2 -2
  230. package/dist/bundling-sources/shared_libs/plays/tool-result-types.ts +1 -1
  231. package/dist/bundling-sources/shared_libs/product-notifications/catalog.ts +877 -0
  232. package/dist/bundling-sources/shared_libs/product-notifications/configuration-draft.ts +456 -0
  233. package/dist/bundling-sources/shared_libs/product-notifications/configuration.ts +566 -0
  234. package/dist/bundling-sources/shared_libs/product-notifications/content.ts +28 -0
  235. package/dist/bundling-sources/shared_libs/product-notifications/default-policy.ts +60 -0
  236. package/dist/bundling-sources/shared_libs/product-notifications/email.ts +246 -0
  237. package/dist/bundling-sources/shared_libs/product-notifications/evaluation.ts +280 -0
  238. package/dist/bundling-sources/shared_libs/product-notifications/events.ts +433 -0
  239. package/dist/bundling-sources/shared_libs/product-notifications/legacy-slack.ts +80 -0
  240. package/dist/bundling-sources/shared_libs/product-notifications/overflow.ts +18 -0
  241. package/dist/bundling-sources/shared_libs/product-notifications/rolling-limit.ts +24 -0
  242. package/dist/bundling-sources/shared_libs/product-notifications/slack-delivery.ts +624 -0
  243. package/dist/bundling-sources/shared_libs/product-notifications/slack-payload.ts +140 -0
  244. package/dist/bundling-sources/shared_libs/product-notifications/slack-transport.ts +75 -0
  245. package/dist/bundling-sources/shared_libs/product-notifications/workspace.ts +38 -0
  246. package/dist/bundling-sources/shared_libs/runtime-env.ts +12 -0
  247. package/dist/bundling-sources/shared_libs/security/email-blacklist.ts +42 -0
  248. package/dist/bundling-sources/shared_libs/security/header-safe-env.ts +35 -0
  249. package/dist/bundling-sources/shared_libs/security/internal-actor.ts +50 -0
  250. package/dist/bundling-sources/shared_libs/security/secret-redaction.ts +267 -0
  251. package/dist/bundling-sources/shared_libs/security/slack-sanitize.ts +133 -0
  252. package/dist/cli/getting-started.d.mts +52 -0
  253. package/dist/cli/getting-started.d.ts +52 -0
  254. package/dist/cli/getting-started.js +65 -0
  255. package/dist/cli/getting-started.mjs +36 -0
  256. package/dist/cli/index.d.mts +9 -0
  257. package/dist/cli/index.d.ts +9 -0
  258. package/dist/cli/index.js +1611 -453
  259. package/dist/cli/index.mjs +1596 -447
  260. package/dist/{compiler-manifest-Dbov16F7.d.mts → compiler-manifest-BaJfE-5H.d.mts} +136 -10
  261. package/dist/{compiler-manifest-Dbov16F7.d.ts → compiler-manifest-BaJfE-5H.d.ts} +136 -10
  262. package/dist/index.d.mts +910 -155
  263. package/dist/index.d.ts +910 -155
  264. package/dist/index.js +550 -64
  265. package/dist/index.mjs +550 -64
  266. package/dist/install-integrity.json +193 -4
  267. package/dist/monitor-fleet-contract.d.mts +138 -0
  268. package/dist/monitor-fleet-contract.d.ts +138 -0
  269. package/dist/monitor-fleet-contract.js +404 -0
  270. package/dist/monitor-fleet-contract.mjs +367 -0
  271. package/dist/plays/bundle-play-file.d.mts +8 -3
  272. package/dist/plays/bundle-play-file.d.ts +8 -3
  273. package/dist/plays/bundle-play-file.mjs +100 -20
  274. package/dist/release.d.mts +255 -0
  275. package/dist/release.d.ts +255 -0
  276. package/dist/release.js +215 -0
  277. package/dist/release.mjs +188 -0
  278. package/package.json +23 -4
  279. /package/dist/bundling-sources/shared_libs/{integrations/bettercontact-execution-policy.ts → integration-contracts/bettercontact/execution-policy.ts} +0 -0
  280. /package/dist/bundling-sources/shared_libs/{integrations/theirstack-execution-policy.ts → integration-contracts/theirstack/execution-policy.ts} +0 -0
@@ -0,0 +1,269 @@
1
+ /**
2
+ * Bounded lifecycle cleanup for historical Absurd release queues.
3
+ *
4
+ * `runtimeReleases` is authoritative for live/draining lanes, but early
5
+ * release-lane deployments created physical `absurd.queues` entries before
6
+ * the lifecycle registry had a tombstone for every lane. Those queues are
7
+ * still safe to reclaim once they are old, unowned, and have no nonterminal
8
+ * task. This module deliberately owns only those orphan queues; registered
9
+ * retired releases continue through the stronger release-id/run-row gate in
10
+ * `runtime-lanes.ts`.
11
+ */
12
+ import type { AbsurdLaneTaskCounts } from './absurd-runtime-worker';
13
+ import type {
14
+ RuntimeSchedulerPoolOptions,
15
+ RuntimeSchedulerQueryClient,
16
+ } from './postgres-pool';
17
+ import { withRuntimeSchedulerClient } from './postgres-pool';
18
+ import { absurdQueueNameForRelease } from './absurd-shared';
19
+ import { resolveRuntimeSchedulerSchemaEnv } from './runtime-scheduler-schema';
20
+
21
+ export const ABSURD_ORPHAN_QUEUE_GRACE_MS = 7 * 24 * 60 * 60 * 1_000;
22
+ export const ABSURD_ORPHAN_QUEUE_BATCH_LIMIT = 5;
23
+ /** Query a bounded page then rotate it. A blocked historical queue must never
24
+ * prevent later empty queues from being reclaimed. */
25
+ export const ABSURD_ORPHAN_QUEUE_SCAN_LIMIT = 100;
26
+
27
+ export type AbsurdQueueLifecycleCandidate = {
28
+ queueName: string;
29
+ createdAt: string;
30
+ };
31
+
32
+ export type AbsurdQueueLifecycleOutcome = {
33
+ scanned: number;
34
+ skippedProtected: string[];
35
+ skippedNonTerminal: Array<{
36
+ queueName: string;
37
+ taskCounts: AbsurdLaneTaskCounts;
38
+ }>;
39
+ dropped: string[];
40
+ nextCursor: AbsurdQueueLifecycleCandidate | null;
41
+ };
42
+
43
+ function quoteIdent(value: string): string {
44
+ return `"${value.replaceAll('"', '""')}"`;
45
+ }
46
+
47
+ /**
48
+ * Atomically prove one orphan queue empty and remove it.
49
+ *
50
+ * `absurd.drop_queue` intentionally does not decide whether a queue is safe
51
+ * to delete. The controller locks scheduler runs, the queue registry, and the
52
+ * task table in submit order. Scheduler-run ownership, task count, and drop
53
+ * therefore share one serialization boundary rather than a racy sequence.
54
+ */
55
+ async function dropAbsurdQueueIfStillEmpty(
56
+ client: RuntimeSchedulerQueryClient,
57
+ queueName: string,
58
+ schedulerSchema: string,
59
+ ): Promise<{ dropped: boolean; taskCounts: AbsurdLaneTaskCounts }> {
60
+ let transactionOpen = false;
61
+ try {
62
+ await client.query('BEGIN');
63
+ transactionOpen = true;
64
+ await client.query(
65
+ `SELECT set_config('lock_timeout', '2000ms', true),
66
+ set_config('statement_timeout', '15000ms', true)`,
67
+ );
68
+ // Scheduler submit writes its run row before spawning the Absurd task.
69
+ // Match that lock order: freeze nonterminal run inserts/updates before the
70
+ // queue registry and task table, avoiding both a deadlock and the
71
+ // run-without-task gap.
72
+ await client.query(
73
+ `LOCK TABLE ${quoteIdent(schedulerSchema)}.runs IN SHARE MODE`,
74
+ );
75
+ // `ensure_queue_tables` and `spawn_task` consult this registry before
76
+ // touching queue tables. Holding this lock makes the following task-table
77
+ // gate atomic with respect to a late enqueue.
78
+ await client.query('LOCK TABLE absurd.queues IN ACCESS EXCLUSIVE MODE');
79
+ const taskTable = `t_${queueName}`;
80
+ const present = await client.query<{ present: boolean }>(
81
+ `SELECT to_regclass(format('absurd.%I', $1::text)) IS NOT NULL AS present`,
82
+ [taskTable],
83
+ );
84
+ let taskCounts: AbsurdLaneTaskCounts = {
85
+ nonTerminal: 0,
86
+ claimable: 0,
87
+ running: 0,
88
+ };
89
+ if (present.rows[0]?.present) {
90
+ await client.query(
91
+ `LOCK TABLE absurd.${quoteIdent(taskTable)} IN ACCESS EXCLUSIVE MODE`,
92
+ );
93
+ const taskResult = await client.query<{ non_terminal: string }>(
94
+ `SELECT count(*) FILTER (WHERE state IN ('pending', 'running', 'sleeping'))::text AS non_terminal
95
+ FROM absurd.${quoteIdent(taskTable)}`,
96
+ );
97
+ taskCounts = {
98
+ ...taskCounts,
99
+ nonTerminal:
100
+ Number.parseInt(taskResult.rows[0]?.non_terminal ?? '0', 10) || 0,
101
+ };
102
+ }
103
+ const schedulerRuns = await client.query<{
104
+ release_id: string | null;
105
+ non_terminal: string;
106
+ }>(
107
+ `SELECT launch_json ->> 'absurdReleaseId' AS release_id,
108
+ count(*)::text AS non_terminal
109
+ FROM ${quoteIdent(schedulerSchema)}.runs
110
+ WHERE status IN ('queued', 'running', 'waiting')
111
+ GROUP BY launch_json ->> 'absurdReleaseId'`,
112
+ );
113
+ for (const row of schedulerRuns.rows) {
114
+ const releaseId = row.release_id?.trim();
115
+ if (!releaseId) continue;
116
+ let runQueue: string;
117
+ try {
118
+ runQueue = absurdQueueNameForRelease(releaseId);
119
+ } catch {
120
+ continue;
121
+ }
122
+ if (runQueue !== queueName) continue;
123
+ taskCounts.nonTerminal +=
124
+ Number.parseInt(row.non_terminal ?? '0', 10) || 0;
125
+ }
126
+ if (taskCounts.nonTerminal > 0) {
127
+ await client.query('ROLLBACK');
128
+ transactionOpen = false;
129
+ return { dropped: false, taskCounts };
130
+ }
131
+ await client.query('SELECT absurd.drop_queue($1)', [queueName]);
132
+ await client.query('COMMIT');
133
+ transactionOpen = false;
134
+ return { dropped: true, taskCounts };
135
+ } catch (error) {
136
+ if (transactionOpen) await client.query('ROLLBACK').catch(() => undefined);
137
+ throw error;
138
+ }
139
+ }
140
+
141
+ /** Pure rotating selection shared by the controller and its focused tests. */
142
+ export function selectRotatingAbsurdOrphanQueues(input: {
143
+ candidates: readonly AbsurdQueueLifecycleCandidate[];
144
+ limit?: number;
145
+ }): {
146
+ candidates: AbsurdQueueLifecycleCandidate[];
147
+ nextCursor: AbsurdQueueLifecycleCandidate | null;
148
+ } {
149
+ const candidates = [...input.candidates].sort((left, right) => {
150
+ const created = left.createdAt.localeCompare(right.createdAt);
151
+ return created === 0
152
+ ? left.queueName.localeCompare(right.queueName)
153
+ : created;
154
+ });
155
+ if (candidates.length === 0) {
156
+ return { candidates: [], nextCursor: null };
157
+ }
158
+ const count = Math.min(
159
+ candidates.length,
160
+ Math.max(1, Math.floor(input.limit ?? ABSURD_ORPHAN_QUEUE_BATCH_LIMIT)),
161
+ );
162
+ const selected = candidates.slice(0, count);
163
+ return {
164
+ candidates: selected,
165
+ nextCursor: selected.at(-1) ?? null,
166
+ };
167
+ }
168
+
169
+ /**
170
+ * Reclaim only old `runs_*` release queues which no current controller/Fly
171
+ * owner can reference. The base `runs` queue is intentionally never eligible:
172
+ * it is the durable dev/default queue and cannot be reverse-mapped to one
173
+ * release safely.
174
+ *
175
+ * The caller supplies a fresh snapshot of every active, draining, retiring,
176
+ * rollback-held, and tombstoned queue. We still re-read each task table just
177
+ * before `drop_queue`; an empty queue is the destructive gate. Work is capped
178
+ * so a historical backlog cannot steal capacity reconciliation time.
179
+ */
180
+ export async function cleanupAbsurdOrphanReleaseQueues(input: {
181
+ poolOptions: RuntimeSchedulerPoolOptions;
182
+ schedulerSchema?: string | null;
183
+ protectedQueueNames: ReadonlySet<string>;
184
+ nowMs?: number;
185
+ cursor?: AbsurdQueueLifecycleCandidate | null;
186
+ limit?: number;
187
+ scanLimit?: number;
188
+ withClient?: <T>(
189
+ callback: (client: RuntimeSchedulerQueryClient) => Promise<T>,
190
+ ) => Promise<T>;
191
+ }): Promise<AbsurdQueueLifecycleOutcome> {
192
+ const nowMs = input.nowMs ?? Date.now();
193
+ const graceCutoff = new Date(nowMs - ABSURD_ORPHAN_QUEUE_GRACE_MS);
194
+ const schedulerSchema =
195
+ input.schedulerSchema?.trim() ||
196
+ resolveRuntimeSchedulerSchemaEnv() ||
197
+ 'runtime_scheduler';
198
+ const withClient =
199
+ input.withClient ??
200
+ ((callback) => withRuntimeSchedulerClient(input.poolOptions, callback));
201
+
202
+ return withClient(async (client) => {
203
+ const readCandidates = (cursor?: AbsurdQueueLifecycleCandidate | null) =>
204
+ client.query<AbsurdQueueLifecycleCandidate>(
205
+ `SELECT queue_name AS "queueName", created_at::text AS "createdAt"
206
+ FROM absurd.queues
207
+ WHERE queue_name LIKE 'runs\\_%' ESCAPE '\\'
208
+ AND queue_name <> 'runs'
209
+ AND created_at <= $1
210
+ ${
211
+ cursor
212
+ ? 'AND (created_at, queue_name) > ($2::timestamptz, $3::text)'
213
+ : ''
214
+ }
215
+ ORDER BY created_at ASC, queue_name ASC
216
+ LIMIT $${cursor ? 4 : 2}`,
217
+ cursor
218
+ ? [
219
+ graceCutoff.toISOString(),
220
+ cursor.createdAt,
221
+ cursor.queueName,
222
+ input.scanLimit ?? ABSURD_ORPHAN_QUEUE_SCAN_LIMIT,
223
+ ]
224
+ : [
225
+ graceCutoff.toISOString(),
226
+ input.scanLimit ?? ABSURD_ORPHAN_QUEUE_SCAN_LIMIT,
227
+ ],
228
+ );
229
+ let candidatesResult = await readCandidates(input.cursor);
230
+ if (candidatesResult.rows.length === 0 && input.cursor) {
231
+ candidatesResult = await readCandidates();
232
+ }
233
+ const selection = selectRotatingAbsurdOrphanQueues({
234
+ candidates: candidatesResult.rows,
235
+ limit: input.limit,
236
+ });
237
+ const skippedProtected: string[] = [];
238
+ const skippedNonTerminal: AbsurdQueueLifecycleOutcome['skippedNonTerminal'] =
239
+ [];
240
+ const dropped: string[] = [];
241
+
242
+ for (const candidate of selection.candidates) {
243
+ if (input.protectedQueueNames.has(candidate.queueName)) {
244
+ skippedProtected.push(candidate.queueName);
245
+ continue;
246
+ }
247
+ const removal = await dropAbsurdQueueIfStillEmpty(
248
+ client,
249
+ candidate.queueName,
250
+ schedulerSchema,
251
+ );
252
+ if (!removal.dropped) {
253
+ skippedNonTerminal.push({
254
+ queueName: candidate.queueName,
255
+ taskCounts: removal.taskCounts,
256
+ });
257
+ continue;
258
+ }
259
+ dropped.push(candidate.queueName);
260
+ }
261
+ return {
262
+ scanned: selection.candidates.length,
263
+ skippedProtected,
264
+ skippedNonTerminal,
265
+ dropped,
266
+ nextCursor: selection.nextCursor,
267
+ };
268
+ });
269
+ }
@@ -0,0 +1,73 @@
1
+ import { createHash } from 'node:crypto';
2
+ import { PROD_DEFAULT_RUNTIME_SCHEDULER_SCHEMA } from '../runtime-scheduler-topology';
3
+
4
+ type EnvMap = Record<string, string | undefined>;
5
+
6
+ /** Per-process suffix used to isolate Absurd queue tables. */
7
+ export const ABSURD_QUEUE_SUFFIX_ENV = 'DEEPLINE_ABSURD_QUEUE_SUFFIX';
8
+
9
+ /** Scheduler schema native to this process. */
10
+ export const ABSURD_SCHEDULER_SCHEMA_ENV = 'DEEPLINE_RUNTIME_SCHEDULER_SCHEMA';
11
+
12
+ /** The production scheduler schema uses the canonical, unsuffixed queues. */
13
+ export const ABSURD_PROD_DEFAULT_SCHEMA = PROD_DEFAULT_RUNTIME_SCHEDULER_SCHEMA;
14
+
15
+ export const ABSURD_DEV_RELEASE_PREFIX = 'dev-';
16
+
17
+ function normalizeQueueSuffixValue(raw: string): string {
18
+ return raw
19
+ .toLowerCase()
20
+ .replace(/[^a-z0-9_]+/g, '_')
21
+ .replace(/^_+|_+$/g, '')
22
+ .slice(0, 32);
23
+ }
24
+
25
+ /** Read and normalize the queue suffix owned by this process. */
26
+ export function resolveAbsurdQueueSuffix(env: EnvMap = process.env): string {
27
+ const raw = env[ABSURD_QUEUE_SUFFIX_ENV]?.trim();
28
+ return raw ? normalizeQueueSuffixValue(raw) : '';
29
+ }
30
+
31
+ /**
32
+ * Resolve the queue suffix for an explicitly selected scheduler schema.
33
+ * The process-owned suffix applies only to its native schema. A different
34
+ * explicitly selected schema is a remote runtime and therefore derives the
35
+ * stable schema fingerprint provisioned by that runtime's worker workflow.
36
+ */
37
+ export function resolveAbsurdQueueSuffixForSchema(
38
+ schema?: string | null,
39
+ env: EnvMap = process.env,
40
+ ): string {
41
+ const normalizedSchema = schema?.trim();
42
+ const envSuffix = resolveAbsurdQueueSuffix(env);
43
+ if (!normalizedSchema || normalizedSchema === ABSURD_PROD_DEFAULT_SCHEMA) {
44
+ return envSuffix;
45
+ }
46
+ const nativeSchema = env[ABSURD_SCHEDULER_SCHEMA_ENV]?.trim();
47
+ if (envSuffix && nativeSchema === normalizedSchema) return envSuffix;
48
+ return resolveAbsurdQueueSuffixForIsolatedSchema(normalizedSchema);
49
+ }
50
+
51
+ /** Pure queue identity for an explicitly selected isolated scheduler schema. */
52
+ export function resolveAbsurdQueueSuffixForIsolatedSchema(
53
+ schema: string,
54
+ ): string {
55
+ const normalizedSchema = schema.trim();
56
+ if (!normalizedSchema || normalizedSchema === ABSURD_PROD_DEFAULT_SCHEMA) {
57
+ throw new Error('An isolated scheduler schema is required.');
58
+ }
59
+ return normalizeQueueSuffixValue(
60
+ createHash('sha256').update(normalizedSchema).digest('hex').slice(0, 12),
61
+ );
62
+ }
63
+
64
+ /** Map a non-empty isolated queue suffix to its dev-collapse release id. */
65
+ export function absurdDevReleaseIdForQueueSuffix(suffix: string): string {
66
+ const normalized = normalizeQueueSuffixValue(suffix.trim());
67
+ if (!normalized) {
68
+ throw new Error(
69
+ 'An isolated Absurd runtime environment requires a non-empty queue suffix.',
70
+ );
71
+ }
72
+ return `${ABSURD_DEV_RELEASE_PREFIX}${normalized}`;
73
+ }