deepline 0.3.470 → 0.3.472

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 (157) hide show
  1. package/dist/bundling-sources/sdk/src/client-core.ts +14 -0
  2. package/dist/bundling-sources/sdk/src/index.ts +2 -0
  3. package/dist/bundling-sources/sdk/src/plays/run-request.ts +1 -0
  4. package/dist/bundling-sources/sdk/src/release.ts +1 -1
  5. package/dist/bundling-sources/sdk/src/types.ts +29 -0
  6. package/dist/bundling-sources/shared_libs/play-runtime/context.ts +3 -1
  7. package/dist/bundling-sources/shared_libs/play-runtime/play-admission-outcome.ts +34 -8
  8. package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/postgres.ts +131 -22
  9. package/dist/bundling-sources/shared_libs/plays/authoring-contract.ts +36 -1
  10. package/dist/cli/{auth-7J52UEWO.mjs → auth-35DAEPHC.mjs} +5 -5
  11. package/dist/cli/auth-Q5TM66UI.js +41 -0
  12. package/dist/cli/{billing-ASNWVDQG.js → billing-5ED5X2IO.js} +82 -81
  13. package/dist/cli/{billing-ORB3UZ73.mjs → billing-CXVBJEC4.mjs} +9 -8
  14. package/dist/cli/{chunk-4BQQ3Q3J.js → chunk-2DND7LLL.js} +8 -8
  15. package/dist/cli/{chunk-GDFO3ERN.js → chunk-2G4R4APL.js} +2 -2
  16. package/dist/cli/{chunk-RVQ333NB.mjs → chunk-2S36YV2K.mjs} +1 -1
  17. package/dist/cli/{chunk-EM2E7YIS.js → chunk-3L76SFGN.js} +53 -53
  18. package/dist/cli/{chunk-QG7UPPOK.mjs → chunk-4NFBYW7X.mjs} +3 -3
  19. package/dist/cli/{chunk-7WILY2XM.mjs → chunk-52VOORHM.mjs} +2 -2
  20. package/dist/cli/{chunk-CNQBCLQP.js → chunk-5FHU67AT.js} +3 -3
  21. package/dist/cli/{chunk-6B7XLHIE.mjs → chunk-6PKONIIP.mjs} +4 -4
  22. package/dist/cli/{chunk-HNP5V5BN.js → chunk-6ZTSHKJF.js} +25 -7
  23. package/dist/cli/{chunk-Y4OE46HH.js → chunk-7KAS4QOW.js} +112 -107
  24. package/dist/cli/{chunk-SHB7BUNQ.mjs → chunk-C5PY2PP6.mjs} +3 -3
  25. package/dist/cli/{chunk-CTDWQYBW.mjs → chunk-CFDQZQE2.mjs} +2 -2
  26. package/dist/cli/{chunk-262PYO4I.mjs → chunk-FHIO7WI2.mjs} +3 -3
  27. package/dist/cli/{chunk-6R5UKWRW.js → chunk-GJPRBELO.js} +16 -16
  28. package/dist/cli/{chunk-57F5VKHV.js → chunk-H7YFUC3J.js} +8 -8
  29. package/dist/cli/{chunk-F6OB5L74.js → chunk-HBVT4FW5.js} +6 -6
  30. package/dist/cli/{chunk-C7EA2VNR.js → chunk-IIQ6O5F3.js} +5 -5
  31. package/dist/cli/{chunk-3P4WOCRB.mjs → chunk-IPJ27SD2.mjs} +5 -5
  32. package/dist/cli/{chunk-JKVRBCZL.js → chunk-JDMR33HS.js} +1 -0
  33. package/dist/cli/{chunk-DSOTGAXS.mjs → chunk-JRZW4LWK.mjs} +1 -1
  34. package/dist/cli/{chunk-VL7OL7YR.mjs → chunk-KQJHIVCE.mjs} +1 -1
  35. package/dist/cli/{chunk-PWXHZPHK.js → chunk-L3AXQXNT.js} +10 -10
  36. package/dist/cli/{chunk-A7THVTRN.js → chunk-LQUOZGM6.js} +51 -51
  37. package/dist/cli/{chunk-YTFCKCII.js → chunk-M475BQ77.js} +3 -3
  38. package/dist/cli/{chunk-YBDQUVDE.mjs → chunk-MRZ7AO72.mjs} +10 -10
  39. package/dist/cli/{chunk-FAG4DFUC.mjs → chunk-NELMCOWK.mjs} +1 -0
  40. package/dist/cli/{chunk-SOME764Z.mjs → chunk-NZBZFEVA.mjs} +4 -4
  41. package/dist/cli/{chunk-ETTUFFBS.js → chunk-ODAARZSK.js} +36 -36
  42. package/dist/cli/{chunk-SETIOXN4.mjs → chunk-OMPW5ELS.mjs} +1 -1
  43. package/dist/cli/{chunk-NNCDHMCT.js → chunk-QLVYYDUI.js} +26 -26
  44. package/dist/cli/{chunk-SXQZYTUW.mjs → chunk-QSCLOPWR.mjs} +1 -1
  45. package/dist/cli/{chunk-PJX7BA7T.mjs → chunk-R6L6JRDR.mjs} +2 -2
  46. package/dist/cli/{chunk-3XLJPLXZ.mjs → chunk-R73LE2IM.mjs} +1 -1
  47. package/dist/cli/{chunk-F2XK4UN6.js → chunk-RDOPZK7A.js} +3 -3
  48. package/dist/cli/{chunk-44UR3BU2.js → chunk-RMQB72WW.js} +14 -14
  49. package/dist/cli/{chunk-D464JW3N.mjs → chunk-RZHUHL53.mjs} +19 -1
  50. package/dist/cli/{chunk-VBKN6ISP.js → chunk-SBPI7AEB.js} +93 -93
  51. package/dist/cli/{chunk-ORO2GFH4.js → chunk-SKVMC6K6.js} +5 -5
  52. package/dist/cli/{chunk-AGIEKE3L.js → chunk-SYWOSAW7.js} +4 -4
  53. package/dist/cli/{chunk-YFKOA4HW.mjs → chunk-T5H7ETIM.mjs} +4 -4
  54. package/dist/cli/{chunk-5ADROBCY.mjs → chunk-TMMODGPV.mjs} +2 -2
  55. package/dist/cli/{chunk-NSAKJQLX.js → chunk-UKKCS6Z4.js} +1 -1
  56. package/dist/cli/{chunk-KBNAI5BY.js → chunk-UPXGN62E.js} +21 -21
  57. package/dist/cli/{chunk-SV3B6KW4.mjs → chunk-UXFUD2MB.mjs} +5 -5
  58. package/dist/cli/{chunk-N72VIY7R.js → chunk-VDHDTXCK.js} +2 -2
  59. package/dist/cli/{chunk-MXAB4W6E.js → chunk-XSSIBO74.js} +8 -8
  60. package/dist/cli/{chunk-QW6HNDS7.mjs → chunk-YK64LQPQ.mjs} +7 -2
  61. package/dist/cli/{chunk-GLSFZYZB.mjs → chunk-YMB2CD55.mjs} +1 -1
  62. package/dist/cli/{chunk-F4L7WMLK.mjs → chunk-YNW47NOJ.mjs} +2 -2
  63. package/dist/cli/{chunk-FVYAEBGO.mjs → chunk-YUNPYX5T.mjs} +25 -7
  64. package/dist/cli/{chunk-WG3KGAII.js → chunk-Z52WEIBR.js} +19 -1
  65. package/dist/cli/{chunk-BWLXHUKH.mjs → chunk-ZZQIS3TH.mjs} +3 -3
  66. package/dist/cli/command-docs.js +2 -2
  67. package/dist/cli/command-docs.mjs +1 -1
  68. package/dist/cli/{csv-D3JPZVUN.mjs → csv-OSDYY3QW.mjs} +4 -4
  69. package/dist/cli/{csv-FSXDIWBP.js → csv-SQJQM3B2.js} +13 -13
  70. package/dist/cli/{db-3UWDQXLF.mjs → db-2M6BU6G5.mjs} +7 -7
  71. package/dist/cli/{db-DZQUPWI3.js → db-ATDYXAD5.js} +28 -28
  72. package/dist/cli/describe-37QXXDCF.js +48 -0
  73. package/dist/cli/{describe-APG2GVFG.mjs → describe-WIAJCWF3.mjs} +18 -18
  74. package/dist/cli/describe-core.d.mts +3 -3
  75. package/dist/cli/describe-core.d.ts +3 -3
  76. package/dist/cli/{executions-TDUX3575.mjs → executions-2J6CCJL2.mjs} +7 -7
  77. package/dist/cli/{executions-BFAPMPG2.js → executions-Y32LMYH6.js} +9 -9
  78. package/dist/cli/{feedback-BMV7PUDL.mjs → feedback-L4AVIMGI.mjs} +4 -4
  79. package/dist/cli/{feedback-2KNPCYTH.js → feedback-RXQLS6QU.js} +8 -8
  80. package/dist/cli/git-JGUR335T.js +25 -0
  81. package/dist/cli/{git-KBVONNE5.mjs → git-V3K77AWH.mjs} +5 -5
  82. package/dist/cli/index.js +139 -139
  83. package/dist/cli/index.mjs +41 -41
  84. package/dist/cli/{legacy-noops-LE6LJO7F.js → legacy-noops-B2KJT4CZ.js} +8 -8
  85. package/dist/cli/{legacy-noops-GZDRRUFE.mjs → legacy-noops-LOGMYOY5.mjs} +5 -5
  86. package/dist/cli/{monitors-CW22L3VL.mjs → monitors-5ETSB7S7.mjs} +8 -8
  87. package/dist/cli/{monitors-PGBHMKOU.js → monitors-A5WYUCGD.js} +92 -92
  88. package/dist/cli/{org-3V2VAH5D.js → org-7EZDWYKK.js} +73 -73
  89. package/dist/cli/{org-K5C23LAV.mjs → org-BJOAUSXL.mjs} +7 -7
  90. package/dist/cli/{pages-7V2C7GWU.mjs → pages-3BYGBTVK.mjs} +7 -7
  91. package/dist/cli/{pages-2F73VVWC.js → pages-45VNTEQU.js} +18 -18
  92. package/dist/cli/{play-62KSZGJQ.js → play-5KER3JFU.js} +586 -518
  93. package/dist/cli/{play-VT7TPJUH.mjs → play-R7JQV533.mjs} +93 -25
  94. package/dist/cli/{providers-3SI3QBT3.js → providers-OHMZ6QIF.js} +10 -10
  95. package/dist/cli/{providers-LX562YG7.mjs → providers-RMFCE6MM.mjs} +7 -7
  96. package/dist/cli/{quickstart-5HA5IFTB.js → quickstart-GNRE4SAT.js} +6 -6
  97. package/dist/cli/{quickstart-ADE7FV26.mjs → quickstart-IHR4VC5K.mjs} +4 -4
  98. package/dist/cli/{run-4ZV4UDKP.js → run-77QIMUUV.js} +37 -37
  99. package/dist/cli/{run-OITZJ6QZ.mjs → run-Y4MIRFJY.mjs} +23 -23
  100. package/dist/cli/{search-BI5VZQMD.mjs → search-24YKTHMK.mjs} +8 -8
  101. package/dist/cli/search-S3VO2UKV.js +32 -0
  102. package/dist/cli/{secrets-A2R36AZ6.mjs → secrets-KHX62AWC.mjs} +7 -7
  103. package/dist/cli/{secrets-UAKNTMYB.js → secrets-SSEBT3IS.js} +16 -16
  104. package/dist/cli/{sessions-3JM3OXME.js → sessions-E6KNWYEH.js} +6 -6
  105. package/dist/cli/{sessions-PPOFUFBW.mjs → sessions-H7T25HGE.mjs} +5 -5
  106. package/dist/cli/{settings-C4M5HOD4.js → settings-GXUYF5G7.js} +79 -79
  107. package/dist/cli/{settings-PZA6TBOL.mjs → settings-XSJG6M32.mjs} +12 -12
  108. package/dist/cli/{setup-245XVTBR.mjs → setup-GD7IOD4U.mjs} +9 -9
  109. package/dist/cli/{setup-TY2OSI6D.js → setup-JP5YPIA4.js} +44 -44
  110. package/dist/cli/skills-C4KTW3US.js +31 -0
  111. package/dist/cli/{skills-ZAN23KLR.mjs → skills-HLHE3ENN.mjs} +7 -7
  112. package/dist/cli/tools-KS7JMRK6.js +55 -0
  113. package/dist/cli/{tools-GG4KDQBM.mjs → tools-Q4XIQX7W.mjs} +17 -17
  114. package/dist/cli/{update-XKXIL6DU.mjs → update-3KRMR2QJ.mjs} +9 -9
  115. package/dist/cli/update-GYTQYK2W.js +33 -0
  116. package/dist/cli/{workflow-VN7M3D2U.js → workflow-NMUESL3O.js} +18 -18
  117. package/dist/cli/{workflow-LVQVTFUJ.mjs → workflow-NOZ7WFEY.mjs} +8 -8
  118. package/dist/{client-CdJR18SJ.d.mts → client-C9bJ0QXu.d.mts} +1 -1
  119. package/dist/{client-B3tlWsw7.d.ts → client-CuNH54w3.d.ts} +1 -1
  120. package/dist/{client-core-CxHBKfE5.d.ts → client-core-C8Q6DKga.d.ts} +38 -2
  121. package/dist/{client-core-ByJD7QXj.d.mts → client-core-CSiXbe2n.d.mts} +38 -2
  122. package/dist/{compiler-manifest-D5dARg3M.d.ts → compiler-manifest-Zwm9yqOA.d.mts} +39 -0
  123. package/dist/{compiler-manifest-D5dARg3M.d.mts → compiler-manifest-Zwm9yqOA.d.ts} +39 -0
  124. package/dist/{errors-BtHHzWL8.d.ts → errors-CsYwlpn4.d.ts} +1 -1
  125. package/dist/{errors-BveMVPwA.d.mts → errors-nEsqNLL8.d.mts} +1 -1
  126. package/dist/{index-C6sovoYP.d.ts → index-9pUZqkPH.d.ts} +1 -1
  127. package/dist/{index-BboApDGD.d.mts → index-CXF2jtza.d.mts} +1 -1
  128. package/dist/index.d.mts +7 -7
  129. package/dist/index.d.ts +7 -7
  130. package/dist/index.js +10 -10
  131. package/dist/index.mjs +7 -7
  132. package/dist/install-integrity.json +112 -112
  133. package/dist/plays/bundle-play-file.d.mts +3 -3
  134. package/dist/plays/bundle-play-file.d.ts +3 -3
  135. package/dist/plays/bundle-play-file.mjs +1 -1
  136. package/dist/plays/play-description.d.mts +2 -2
  137. package/dist/plays/play-description.d.ts +2 -2
  138. package/dist/plays/run-request.d.mts +2 -2
  139. package/dist/plays/run-request.d.ts +2 -2
  140. package/dist/plays/run-request.js +2 -2
  141. package/dist/plays/run-request.mjs +1 -1
  142. package/dist/release.d.mts +1 -1
  143. package/dist/release.d.ts +1 -1
  144. package/dist/release.js +2 -2
  145. package/dist/release.mjs +1 -1
  146. package/dist/server.d.mts +4 -4
  147. package/dist/server.d.ts +4 -4
  148. package/dist/server.js +6 -6
  149. package/dist/server.mjs +4 -4
  150. package/package.json +1 -1
  151. package/dist/cli/auth-4DBOZZDX.js +0 -41
  152. package/dist/cli/describe-2ENX4O3U.js +0 -48
  153. package/dist/cli/git-LUW3GBSD.js +0 -25
  154. package/dist/cli/search-PXFM3MGW.js +0 -32
  155. package/dist/cli/skills-UYNRYDDI.js +0 -31
  156. package/dist/cli/tools-OBESOBG7.js +0 -55
  157. package/dist/cli/update-2VMXTKBN.js +0 -33
@@ -5,7 +5,7 @@ import {
5
5
  parsePlayRunHeaderFlag,
6
6
  parsePlayRunOptions,
7
7
  resolvePlayRunCliOptions
8
- } from "./chunk-262PYO4I.mjs";
8
+ } from "./chunk-FHIO7WI2.mjs";
9
9
  import {
10
10
  TABLE_EXPORT_ERROR_COLUMN,
11
11
  addDescribeOptions,
@@ -17,14 +17,14 @@ import {
17
17
  underscoreKeysLast,
18
18
  writeExecutionOutput,
19
19
  writeRunDatasetCsv
20
- } from "./chunk-SXQZYTUW.mjs";
20
+ } from "./chunk-QSCLOPWR.mjs";
21
21
  import {
22
22
  registerDeprecatedSearchCommand
23
- } from "./chunk-SHB7BUNQ.mjs";
23
+ } from "./chunk-C5PY2PP6.mjs";
24
24
  import {
25
25
  handleDeploymentGet,
26
26
  handleDeploymentsList
27
- } from "./chunk-PJX7BA7T.mjs";
27
+ } from "./chunk-R6L6JRDR.mjs";
28
28
  import {
29
29
  buildPlayDashboardUrl
30
30
  } from "./chunk-JVHOS3K3.mjs";
@@ -40,7 +40,7 @@ import {
40
40
  isAstNode,
41
41
  listPlayFileExports,
42
42
  parsePlaySourceForAnalysis
43
- } from "./chunk-D464JW3N.mjs";
43
+ } from "./chunk-RZHUHL53.mjs";
44
44
  import {
45
45
  resolveEnabledExecutionProfile
46
46
  } from "./chunk-F6QV42MC.mjs";
@@ -52,10 +52,10 @@ import {
52
52
  import {
53
53
  pinLocalPlayImports,
54
54
  planLocalPlayExecution
55
- } from "./chunk-5ADROBCY.mjs";
55
+ } from "./chunk-TMMODGPV.mjs";
56
56
  import {
57
57
  DeeplineClient
58
- } from "./chunk-CTDWQYBW.mjs";
58
+ } from "./chunk-CFDQZQE2.mjs";
59
59
  import "./chunk-ZCALLYF6.mjs";
60
60
  import {
61
61
  RUN_EVENT_SEARCH_KIND_VALUES,
@@ -69,7 +69,7 @@ import {
69
69
  normalizePlayStatus,
70
70
  normalizeRunEventOperationRequest,
71
71
  parseLogLevel
72
- } from "./chunk-QW6HNDS7.mjs";
72
+ } from "./chunk-YK64LQPQ.mjs";
73
73
  import "./chunk-L2VKAASU.mjs";
74
74
  import {
75
75
  CSV_DATA_INPUT_KEY,
@@ -80,7 +80,7 @@ import {
80
80
  fileInputBindingsFromStaticPipeline,
81
81
  stageFileInputs,
82
82
  stagedFileContentType
83
- } from "./chunk-FAG4DFUC.mjs";
83
+ } from "./chunk-NELMCOWK.mjs";
84
84
  import {
85
85
  CSV_HEADER_MATCHING_NOTE,
86
86
  playInputExampleArgs
@@ -89,18 +89,18 @@ import "./chunk-UBKA33KY.mjs";
89
89
  import {
90
90
  checkPlayRunCompatibility,
91
91
  usesInlinePlayAdmission
92
- } from "./chunk-7WILY2XM.mjs";
92
+ } from "./chunk-52VOORHM.mjs";
93
93
  import {
94
94
  isCliTraceEnabled,
95
95
  recordCliTrace,
96
96
  resolveCliMaintenancePolicy,
97
97
  traceCliSpan
98
- } from "./chunk-RVQ333NB.mjs";
99
- import "./chunk-YFKOA4HW.mjs";
98
+ } from "./chunk-2S36YV2K.mjs";
99
+ import "./chunk-T5H7ETIM.mjs";
100
100
  import {
101
101
  createCliProgress,
102
102
  getActiveCliProgress
103
- } from "./chunk-3XLJPLXZ.mjs";
103
+ } from "./chunk-R73LE2IM.mjs";
104
104
  import {
105
105
  argsWantJson,
106
106
  describeArgs,
@@ -114,17 +114,17 @@ import {
114
114
  printJsonError,
115
115
  renderCommandEnvelopeText,
116
116
  shouldEmitJson
117
- } from "./chunk-QG7UPPOK.mjs";
118
- import "./chunk-VL7OL7YR.mjs";
117
+ } from "./chunk-4NFBYW7X.mjs";
118
+ import "./chunk-KQJHIVCE.mjs";
119
119
  import {
120
120
  fetchWithDeploymentProtection
121
- } from "./chunk-SETIOXN4.mjs";
121
+ } from "./chunk-OMPW5ELS.mjs";
122
122
  import "./chunk-4QF2K7TM.mjs";
123
123
  import "./chunk-DLIRSHV6.mjs";
124
124
  import {
125
125
  DeeplineError
126
126
  } from "./chunk-HBL4PM5Q.mjs";
127
- import "./chunk-DSOTGAXS.mjs";
127
+ import "./chunk-JRZW4LWK.mjs";
128
128
  import "./chunk-WZYKRD7T.mjs";
129
129
  import {
130
130
  __commonJS,
@@ -4253,6 +4253,11 @@ async function runRunsRerunCommand(runId, options) {
4253
4253
  });
4254
4254
  if (shouldEmitJson(options.json)) {
4255
4255
  printCommandEnvelope(result, { json: true });
4256
+ } else if (result.rateLimited) {
4257
+ console.log(`
4258
+ ${result.rateLimited.message}`);
4259
+ console.log(` inspect: deepline runs get ${result.runId}`);
4260
+ console.log(" No new run was started.");
4256
4261
  } else {
4257
4262
  console.log(
4258
4263
  result.deduplicated === true ? `
@@ -8776,8 +8781,10 @@ async function startAndWaitForPlayCompletion(input) {
8776
8781
  await input.onRunStarted?.(workflowId);
8777
8782
  await input.onRunAdmitted?.(workflowId);
8778
8783
  const dashboardUrl = started.dashboardUrl ?? buildPlayDashboardUrl(input.client.baseUrl, input.playName);
8784
+ const rateLimited = started.rateLimited ?? null;
8779
8785
  if (!input.jsonOutput) {
8780
8786
  writeStartedPlayRun({
8787
+ rateLimited,
8781
8788
  runId: workflowId,
8782
8789
  playName: input.playName,
8783
8790
  dashboardUrl,
@@ -8819,10 +8826,13 @@ async function startAndWaitForPlayCompletion(input) {
8819
8826
  full: true,
8820
8827
  source: status2 === initialStatus ? "start_response" : "durable_repair"
8821
8828
  });
8822
- const completedStatus = { ...status2, dashboardUrl };
8829
+ const completedStatus = withRateLimitedNotice(
8830
+ { ...status2, dashboardUrl },
8831
+ rateLimited
8832
+ );
8823
8833
  return input.request.revisionId ? { ...completedStatus, revisionId: input.request.revisionId } : completedStatus;
8824
8834
  }
8825
- const status = await waitForPlayCompletionByWatch({
8835
+ const watchedStatus = await waitForPlayCompletionByWatch({
8826
8836
  ...input,
8827
8837
  workflowId,
8828
8838
  dashboardUrl,
@@ -8837,6 +8847,7 @@ async function startAndWaitForPlayCompletion(input) {
8837
8847
  lastStatusHeartbeatAt: 0
8838
8848
  }
8839
8849
  });
8850
+ const status = withRateLimitedNotice(watchedStatus, rateLimited);
8840
8851
  return input.request.revisionId ? { ...status, revisionId: input.request.revisionId } : status;
8841
8852
  }
8842
8853
  async function startAndWaitForPlayCompletionByStream(input) {
@@ -8854,7 +8865,14 @@ async function startAndWaitForPlayCompletionByStream(input) {
8854
8865
  for (let attempt = 0; attempt <= retryDelays.length; attempt += 1) {
8855
8866
  let status;
8856
8867
  try {
8857
- status = await startAndWaitForPlayCompletionByStreamOnce(pinnedInput);
8868
+ const notice = { value: null };
8869
+ status = withRateLimitedNotice(
8870
+ await startAndWaitForPlayCompletionByStreamOnce({
8871
+ ...pinnedInput,
8872
+ rateLimitedNotice: notice
8873
+ }),
8874
+ notice.value
8875
+ );
8858
8876
  } catch (error) {
8859
8877
  if (error instanceof CliPlayAdmissionUnsupportedError && input.cliAdmission) {
8860
8878
  await checkPlayRunCompatibility(
@@ -8943,6 +8961,7 @@ async function startAndWaitForPlayCompletionByStreamOnce(input) {
8943
8961
  let eventCount = 0;
8944
8962
  let firstRunIdMs = null;
8945
8963
  let launchConfirmed = false;
8964
+ const notice = input.rateLimitedNotice ?? { value: null };
8946
8965
  let terminalWindowExpired = false;
8947
8966
  let terminalWindowTimer = null;
8948
8967
  const confirmAdmission = async (runId) => {
@@ -9009,6 +9028,10 @@ async function startAndWaitForPlayCompletionByStreamOnce(input) {
9009
9028
  if (eventRevisionId) {
9010
9029
  launchedRevisionId = eventRevisionId;
9011
9030
  }
9031
+ const eventRateLimited = getEventPayload(event)?.rateLimited;
9032
+ if (eventRateLimited && typeof eventRateLimited === "object") {
9033
+ notice.value = eventRateLimited;
9034
+ }
9012
9035
  const eventRunId = getRunIdFromLiveEvent(event);
9013
9036
  if (typeof eventRunId === "string" && eventRunId && eventRunId !== "pending") {
9014
9037
  const runStartedNow = !lastKnownWorkflowId;
@@ -9025,6 +9048,7 @@ async function startAndWaitForPlayCompletionByStreamOnce(input) {
9025
9048
  if (workflowId !== "pending" && !emittedDashboardUrl) {
9026
9049
  if (!input.jsonOutput) {
9027
9050
  writeStartedPlayRun({
9051
+ rateLimited: notice.value,
9028
9052
  runId: workflowId,
9029
9053
  playName: input.playName,
9030
9054
  dashboardUrl,
@@ -10898,6 +10922,19 @@ function buildBillingRollupTextLines(status) {
10898
10922
  }
10899
10923
  return [` cost: ${total} credits`];
10900
10924
  }
10925
+ function playRunRateLimitedNotice(status) {
10926
+ const notice = getPlayRunPackage(status)?.rateLimited ?? status.rateLimited;
10927
+ return notice && typeof notice === "object" ? notice : null;
10928
+ }
10929
+ function withRateLimitedNotice(status, notice) {
10930
+ if (!notice) return status;
10931
+ const packaged = getPlayRunPackage(status);
10932
+ if (!packaged) return { ...status, rateLimited: notice };
10933
+ return packaged === status ? { ...status, rateLimited: notice } : {
10934
+ ...status,
10935
+ package: { ...packaged, rateLimited: notice }
10936
+ };
10937
+ }
10901
10938
  function buildRunLaunch(status) {
10902
10939
  const compact = compactPlayStatus(status);
10903
10940
  const headline = Object.fromEntries(
@@ -10905,6 +10942,7 @@ function buildRunLaunch(status) {
10905
10942
  "schemaVersion",
10906
10943
  "kind",
10907
10944
  "apiVersion",
10945
+ "rateLimited",
10908
10946
  "dashboardUrl",
10909
10947
  "progress",
10910
10948
  "rowOutcomes",
@@ -10926,7 +10964,9 @@ function buildPlayCompletionTextLines(status) {
10926
10964
  const { run } = overview;
10927
10965
  const failed = run.status === "failed";
10928
10966
  const label = run.status === "completed" ? overview.rowOutcomes?.hasRowFailures ? "Completed with row failures" : "Completed" : failed ? "Failed" : run.status;
10967
+ const rateLimited = playRunRateLimitedNotice(status);
10929
10968
  const lines = [
10969
+ ...rateLimited ? [rateLimited.message] : [],
10930
10970
  `${label} ${run.playName ?? status.playName ?? "Play"}`,
10931
10971
  `Run: ${run.id}`
10932
10972
  ];
@@ -11861,7 +11901,7 @@ function writeStartedPlayRun(input) {
11861
11901
  }
11862
11902
  };
11863
11903
  const lines = [
11864
- `Started ${input.playName}`,
11904
+ input.rateLimited ? input.rateLimited.message : `Started ${input.playName}`,
11865
11905
  `Run: ${input.runId}`,
11866
11906
  `Logs: deepline runs logs ${shellQuote(input.runId)}`,
11867
11907
  ...["started", "queued", "running", "waiting"].includes(
@@ -14841,6 +14881,20 @@ var PREBUILT_PLAY_TAG_KEYS = [
14841
14881
  "contact-info",
14842
14882
  "signals"
14843
14883
  ];
14884
+ async function handlePlayCost(args) {
14885
+ const name = args[0];
14886
+ if (!name) {
14887
+ console.error("Usage: deepline plays cost <play> [--json]");
14888
+ return 2;
14889
+ }
14890
+ const result = await new DeeplineClient().getPlayCostEstimate(name);
14891
+ if (argsWantJson(args)) console.log(JSON.stringify(result, null, 2));
14892
+ else
14893
+ console.log(
14894
+ `${result.reference}: ${formatPlayCostEstimate(result.costEstimate)}`
14895
+ );
14896
+ return 0;
14897
+ }
14844
14898
  async function handlePlayList(args) {
14845
14899
  const jsonOutput = argsWantJson(args);
14846
14900
  const showCost = args.includes("--show-cost");
@@ -14874,8 +14928,9 @@ async function handlePlayList(args) {
14874
14928
  const page = await client.listPlaysPage({
14875
14929
  categories,
14876
14930
  ...tags.length > 0 ? { tags } : {},
14877
- includeToolCategories: true,
14931
+ includeToolCategories: !args.includes("--summary"),
14878
14932
  ...showCost ? { includeCostEstimates: true } : {},
14933
+ ...args.includes("--summary") ? { summaryOnly: true } : {},
14879
14934
  limit,
14880
14935
  cursor
14881
14936
  });
@@ -16084,6 +16139,14 @@ Examples:
16084
16139
  next: result.isDone ? null : `deepline plays triggers --cursor ${JSON.stringify(result.continueCursor)}`
16085
16140
  });
16086
16141
  });
16142
+ play.command("cost <play>").description(
16143
+ "Estimate one saved or prebuilt Play in the current workspace."
16144
+ ).option("--json", "Emit the cost estimate as JSON").action(async (name, options) => {
16145
+ process.exitCode = await handlePlayCost([
16146
+ name,
16147
+ ...options.json ? ["--json"] : []
16148
+ ]);
16149
+ });
16087
16150
  play.command("list").description("List saved and prebuilt plays.").addHelpText(
16088
16151
  "after",
16089
16152
  `
@@ -16102,7 +16165,10 @@ Examples:
16102
16165
  deepline plays list --tag smb
16103
16166
  deepline search "name and company domain -> work email" --type prebuilts
16104
16167
  `
16105
- ).option("--limit <count>", "Page size").option("--cursor <cursor>", "Continue a previous page").option("--show-cost", "Include the per-row or per-run cost estimate").option("--json", "Emit JSON output").option(
16168
+ ).option("--limit <count>", "Page size").option("--cursor <cursor>", "Continue a previous page").option("--show-cost", "Include the per-row or per-run cost estimate").option(
16169
+ "--summary",
16170
+ "Load metadata without authored source or revision payloads"
16171
+ ).option("--json", "Emit JSON output").option(
16106
16172
  "--categories <categories>",
16107
16173
  "Filter by comma-separated canonical tool categories"
16108
16174
  ).option(
@@ -16113,6 +16179,7 @@ Examples:
16113
16179
  ...options.limit ? ["--limit", options.limit] : [],
16114
16180
  ...options.cursor ? ["--cursor", options.cursor] : [],
16115
16181
  ...options.showCost ? ["--show-cost"] : [],
16182
+ ...options.summary ? ["--summary"] : [],
16116
16183
  ...options.categories ? ["--categories", options.categories] : [],
16117
16184
  ...(options.tag ?? []).flatMap((tag) => ["--tag", tag]),
16118
16185
  ...options.json ? ["--json"] : []
@@ -16223,7 +16290,7 @@ Examples:
16223
16290
  process.exitCode = await ownView();
16224
16291
  return;
16225
16292
  }
16226
- const { describeAnything } = await import("./describe-APG2GVFG.mjs");
16293
+ const { describeAnything } = await import("./describe-WIAJCWF3.mjs");
16227
16294
  process.exitCode = await describeAnything(
16228
16295
  name,
16229
16296
  {
@@ -16557,7 +16624,7 @@ Examples:
16557
16624
  new Option2("--log-failed", "Attach terminal-failure logs").hideHelp()
16558
16625
  ).action(async (runId, options) => {
16559
16626
  if (TOOL_EXECUTION_ID.test(runId)) {
16560
- const { getToolExecutionReceipt } = await import("./tools-GG4KDQBM.mjs");
16627
+ const { getToolExecutionReceipt } = await import("./tools-Q4XIQX7W.mjs");
16561
16628
  process.exitCode = await getToolExecutionReceipt(runId, {
16562
16629
  receiptJson: options.json !== void 0
16563
16630
  });
@@ -17251,6 +17318,7 @@ export {
17251
17318
  getRunningHeartbeatLine,
17252
17319
  getStepTransitionLineFromLiveEvent,
17253
17320
  handlePlayCheck,
17321
+ handlePlayCost,
17254
17322
  handlePlayDelete,
17255
17323
  handlePlayDescribe,
17256
17324
  handlePlayGet,
@@ -1,29 +1,29 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } }
2
2
 
3
- var _chunkORO2GFH4js = require('./chunk-ORO2GFH4.js');
4
- require('./chunk-Y4OE46HH.js');
3
+ var _chunkSKVMC6K6js = require('./chunk-SKVMC6K6.js');
4
+ require('./chunk-7KAS4QOW.js');
5
5
  require('./chunk-E4CABWXL.js');
6
- require('./chunk-JKVRBCZL.js');
6
+ require('./chunk-JDMR33HS.js');
7
7
  require('./chunk-NMU3VR5U.js');
8
8
  require('./chunk-XDVT3GOM.js');
9
9
 
10
10
 
11
11
 
12
- var _chunk57F5VKHVjs = require('./chunk-57F5VKHV.js');
13
- require('./chunk-CNQBCLQP.js');
14
- require('./chunk-AGIEKE3L.js');
12
+ var _chunkH7YFUC3Jjs = require('./chunk-H7YFUC3J.js');
13
+ require('./chunk-5FHU67AT.js');
14
+ require('./chunk-SYWOSAW7.js');
15
15
  require('./chunk-ALJJRZNJ.js');
16
16
  require('./chunk-XNYIZMNQ.js');
17
17
  require('./chunk-DIAWYWT5.js');
18
- require('./chunk-NSAKJQLX.js');
18
+ require('./chunk-UKKCS6Z4.js');
19
19
  require('./chunk-OG64RBAC.js');
20
20
  require('./chunk-COGTRVWW.js');
21
21
 
22
22
  // src/cli/commands/providers.ts
23
23
  async function listProviders(options = {}) {
24
- const client = new (0, _chunkORO2GFH4js.DeeplineClient)();
24
+ const client = new (0, _chunkSKVMC6K6js.DeeplineClient)();
25
25
  const changed = options.changed === true;
26
- const emitJson = options.json === true || _chunk57F5VKHVjs.shouldEmitJson.call(void 0, );
26
+ const emitJson = options.json === true || _chunkH7YFUC3Jjs.shouldEmitJson.call(void 0, );
27
27
  const providers = await client.listProviders({ changed });
28
28
  const render = {
29
29
  sections: [
@@ -42,7 +42,7 @@ async function listProviders(options = {}) {
42
42
  }
43
43
  ]
44
44
  };
45
- _chunk57F5VKHVjs.printCommandEnvelope.call(void 0,
45
+ _chunkH7YFUC3Jjs.printCommandEnvelope.call(void 0,
46
46
  {
47
47
  providers,
48
48
  count: providers.length,
@@ -1,21 +1,21 @@
1
1
  import {
2
2
  DeeplineClient
3
- } from "./chunk-CTDWQYBW.mjs";
4
- import "./chunk-QW6HNDS7.mjs";
3
+ } from "./chunk-CFDQZQE2.mjs";
4
+ import "./chunk-YK64LQPQ.mjs";
5
5
  import "./chunk-L2VKAASU.mjs";
6
- import "./chunk-FAG4DFUC.mjs";
6
+ import "./chunk-NELMCOWK.mjs";
7
7
  import "./chunk-S3A4IXBQ.mjs";
8
8
  import "./chunk-UBKA33KY.mjs";
9
9
  import {
10
10
  printCommandEnvelope,
11
11
  shouldEmitJson
12
- } from "./chunk-QG7UPPOK.mjs";
13
- import "./chunk-VL7OL7YR.mjs";
14
- import "./chunk-SETIOXN4.mjs";
12
+ } from "./chunk-4NFBYW7X.mjs";
13
+ import "./chunk-KQJHIVCE.mjs";
14
+ import "./chunk-OMPW5ELS.mjs";
15
15
  import "./chunk-4QF2K7TM.mjs";
16
16
  import "./chunk-DLIRSHV6.mjs";
17
17
  import "./chunk-HBL4PM5Q.mjs";
18
- import "./chunk-DSOTGAXS.mjs";
18
+ import "./chunk-JRZW4LWK.mjs";
19
19
  import "./chunk-WZYKRD7T.mjs";
20
20
  import "./chunk-KRD6H754.mjs";
21
21
 
@@ -1,13 +1,13 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
3
 
4
- var _chunk57F5VKHVjs = require('./chunk-57F5VKHV.js');
5
- require('./chunk-CNQBCLQP.js');
6
- require('./chunk-AGIEKE3L.js');
4
+ var _chunkH7YFUC3Jjs = require('./chunk-H7YFUC3J.js');
5
+ require('./chunk-5FHU67AT.js');
6
+ require('./chunk-SYWOSAW7.js');
7
7
  require('./chunk-ALJJRZNJ.js');
8
8
  require('./chunk-XNYIZMNQ.js');
9
9
  require('./chunk-DIAWYWT5.js');
10
- require('./chunk-NSAKJQLX.js');
10
+ require('./chunk-UKKCS6Z4.js');
11
11
  require('./chunk-OG64RBAC.js');
12
12
 
13
13
 
@@ -17,12 +17,12 @@ require('./chunk-COGTRVWW.js');
17
17
 
18
18
  // src/cli/commands/quickstart.ts
19
19
  async function handleQuickstart(options) {
20
- const jsonOutput = _chunk57F5VKHVjs.shouldEmitJson.call(void 0, options.json === true);
20
+ const jsonOutput = _chunkH7YFUC3Jjs.shouldEmitJson.call(void 0, options.json === true);
21
21
  const gettingStarted = {
22
22
  skill: _chunk6V7KVRR5js.DEEPLINE_GTM_SKILL,
23
23
  examples: _chunk6V7KVRR5js.DEEPLINE_GTM_STARTER_PROMPTS
24
24
  };
25
- _chunk57F5VKHVjs.printCommandEnvelope.call(void 0,
25
+ _chunkH7YFUC3Jjs.printCommandEnvelope.call(void 0,
26
26
  {
27
27
  ok: true,
28
28
  status: "deprecated",
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  printCommandEnvelope,
3
3
  shouldEmitJson
4
- } from "./chunk-QG7UPPOK.mjs";
5
- import "./chunk-VL7OL7YR.mjs";
6
- import "./chunk-SETIOXN4.mjs";
4
+ } from "./chunk-4NFBYW7X.mjs";
5
+ import "./chunk-KQJHIVCE.mjs";
6
+ import "./chunk-OMPW5ELS.mjs";
7
7
  import "./chunk-4QF2K7TM.mjs";
8
8
  import "./chunk-DLIRSHV6.mjs";
9
9
  import "./chunk-HBL4PM5Q.mjs";
10
- import "./chunk-DSOTGAXS.mjs";
10
+ import "./chunk-JRZW4LWK.mjs";
11
11
  import "./chunk-WZYKRD7T.mjs";
12
12
  import {
13
13
  DEEPLINE_GTM_SKILL,
@@ -1,18 +1,18 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
2
2
 
3
3
 
4
- var _chunkPWXHZPHKjs = require('./chunk-PWXHZPHK.js');
5
- require('./chunk-VBKN6ISP.js');
4
+ var _chunkL3AXQXNTjs = require('./chunk-L3AXQXNT.js');
5
+ require('./chunk-SBPI7AEB.js');
6
6
 
7
7
 
8
8
 
9
- var _chunk44UR3BU2js = require('./chunk-44UR3BU2.js');
9
+ var _chunkRMQB72WWjs = require('./chunk-RMQB72WW.js');
10
10
 
11
11
 
12
12
 
13
13
 
14
- var _chunkF2XK4UN6js = require('./chunk-F2XK4UN6.js');
15
- require('./chunk-4BQQ3Q3J.js');
14
+ var _chunkRDOPZK7Ajs = require('./chunk-RDOPZK7A.js');
15
+ require('./chunk-2DND7LLL.js');
16
16
 
17
17
 
18
18
  var _chunkT5GRG37Bjs = require('./chunk-T5GRG37B.js');
@@ -23,29 +23,29 @@ require('./chunk-ZM2YPJQJ.js');
23
23
  require('./chunk-VLEVVDWG.js');
24
24
  require('./chunk-J33TSWO5.js');
25
25
  require('./chunk-HGFFYVXN.js');
26
- require('./chunk-ORO2GFH4.js');
26
+ require('./chunk-SKVMC6K6.js');
27
27
  require('./chunk-NPZBE64X.js');
28
- require('./chunk-Y4OE46HH.js');
28
+ require('./chunk-7KAS4QOW.js');
29
29
  require('./chunk-E4CABWXL.js');
30
- require('./chunk-JKVRBCZL.js');
30
+ require('./chunk-JDMR33HS.js');
31
31
  require('./chunk-NMU3VR5U.js');
32
32
  require('./chunk-XDVT3GOM.js');
33
- require('./chunk-KBNAI5BY.js');
34
- require('./chunk-6R5UKWRW.js');
35
- require('./chunk-N72VIY7R.js');
36
- require('./chunk-ETTUFFBS.js');
37
- require('./chunk-GDFO3ERN.js');
38
- require('./chunk-EM2E7YIS.js');
33
+ require('./chunk-UPXGN62E.js');
34
+ require('./chunk-GJPRBELO.js');
35
+ require('./chunk-VDHDTXCK.js');
36
+ require('./chunk-ODAARZSK.js');
37
+ require('./chunk-2G4R4APL.js');
38
+ require('./chunk-3L76SFGN.js');
39
39
 
40
40
 
41
- var _chunkYTFCKCIIjs = require('./chunk-YTFCKCII.js');
42
- require('./chunk-57F5VKHV.js');
43
- require('./chunk-CNQBCLQP.js');
44
- require('./chunk-AGIEKE3L.js');
41
+ var _chunkM475BQ77js = require('./chunk-M475BQ77.js');
42
+ require('./chunk-H7YFUC3J.js');
43
+ require('./chunk-5FHU67AT.js');
44
+ require('./chunk-SYWOSAW7.js');
45
45
  require('./chunk-ALJJRZNJ.js');
46
46
  require('./chunk-XNYIZMNQ.js');
47
47
  require('./chunk-DIAWYWT5.js');
48
- require('./chunk-NSAKJQLX.js');
48
+ require('./chunk-UKKCS6Z4.js');
49
49
  require('./chunk-OG64RBAC.js');
50
50
  require('./chunk-COGTRVWW.js');
51
51
 
@@ -80,7 +80,7 @@ function readInput(options) {
80
80
  return input;
81
81
  }
82
82
  function refuse(message, output) {
83
- _chunkF2XK4UN6js.writeExecutionOutput.call(void 0,
83
+ _chunkRDOPZK7Ajs.writeExecutionOutput.call(void 0,
84
84
  { id: null, status: "failed", error: { message }, ran: false },
85
85
  output
86
86
  );
@@ -96,7 +96,7 @@ async function runAnything(name, options) {
96
96
  logsOut: options.logsOut,
97
97
  fields: _optionalChain([options, 'access', _7 => _7.fields, 'optionalAccess', _8 => _8.split, 'call', _9 => _9(","), 'access', _10 => _10.map, 'call', _11 => _11((path) => path.trim()), 'access', _12 => _12.filter, 'call', _13 => _13(Boolean)])
98
98
  };
99
- if (!_chunkF2XK4UN6js.preflightExecutionOutput.call(void 0, output)) return 2;
99
+ if (!_chunkRDOPZK7Ajs.preflightExecutionOutput.call(void 0, output)) return 2;
100
100
  let input;
101
101
  let timeoutMs;
102
102
  try {
@@ -114,7 +114,7 @@ async function runAnything(name, options) {
114
114
  throw new Error("--max-credits takes a number of credits above 0.");
115
115
  }
116
116
  if (options.timeout !== void 0 && options.timeout !== "0") {
117
- const { parseToolExecuteTimeout } = await Promise.resolve().then(() => _interopRequireWildcard(require("./tools-OBESOBG7.js")));
117
+ const { parseToolExecuteTimeout } = await Promise.resolve().then(() => _interopRequireWildcard(require("./tools-KS7JMRK6.js")));
118
118
  timeoutMs = parseToolExecuteTimeout(options.timeout);
119
119
  }
120
120
  } catch (error) {
@@ -135,7 +135,7 @@ async function runAnything(name, options) {
135
135
  if (name !== void 0) {
136
136
  return refuse("Use a name or -e, not both.", output);
137
137
  }
138
- const { writeInlinePlay } = await Promise.resolve().then(() => _interopRequireWildcard(require("./play-62KSZGJQ.js")));
138
+ const { writeInlinePlay } = await Promise.resolve().then(() => _interopRequireWildcard(require("./play-5KER3JFU.js")));
139
139
  let file;
140
140
  try {
141
141
  file = writeInlinePlay(options.eval);
@@ -158,19 +158,19 @@ async function runAnything(name, options) {
158
158
  output
159
159
  );
160
160
  }
161
- if (_chunk44UR3BU2js.looksLikeFilePath.call(void 0, name)) {
161
+ if (_chunkRMQB72WWjs.looksLikeFilePath.call(void 0, name)) {
162
162
  output.label = `${name} (play file)`;
163
163
  return runPlay(name, play);
164
164
  }
165
165
  let { base, revision } = splitRevision(name);
166
- let found = await _chunkPWXHZPHKjs.findNamed.call(void 0, base, {});
166
+ let found = await _chunkL3AXQXNTjs.findNamed.call(void 0, base, {});
167
167
  if (!found.chosen && revision) {
168
- found = await _chunkPWXHZPHKjs.findNamed.call(void 0, name, {});
168
+ found = await _chunkL3AXQXNTjs.findNamed.call(void 0, name, {});
169
169
  if (found.chosen)
170
170
  ({ base, revision } = { base: name, revision: void 0 });
171
171
  }
172
172
  const { chosen, shadowed } = found;
173
- if (!chosen) return refuse(_chunkPWXHZPHKjs.nothingNamed.call(void 0, base), output);
173
+ if (!chosen) return refuse(_chunkL3AXQXNTjs.nothingNamed.call(void 0, base), output);
174
174
  const { described } = chosen;
175
175
  if (described.kind === "custom_play" && shadowed) {
176
176
  console.error(
@@ -195,7 +195,7 @@ async function runAnything(name, options) {
195
195
  if (runner.via === "play") {
196
196
  return runPlay(runner.reference, { ...play, revision });
197
197
  }
198
- const { executeToolForReceipt } = await Promise.resolve().then(() => _interopRequireWildcard(require("./tools-OBESOBG7.js")));
198
+ const { executeToolForReceipt } = await Promise.resolve().then(() => _interopRequireWildcard(require("./tools-KS7JMRK6.js")));
199
199
  return executeToolForReceipt({
200
200
  toolId: runner.toolId,
201
201
  params: input,
@@ -209,7 +209,7 @@ function dryRun(described, input, output) {
209
209
  const missing = described.inputs.filter((field) => field.required && !(field.name in input)).map((field) => field.name);
210
210
  const known = new Set(described.inputs.map((field) => field.name));
211
211
  const unknown = known.size ? Object.keys(input).filter((key) => !known.has(key)) : [];
212
- _chunkF2XK4UN6js.writeExecutionOutput.call(void 0,
212
+ _chunkRDOPZK7Ajs.writeExecutionOutput.call(void 0,
213
213
  {
214
214
  id: null,
215
215
  status: "dry_run",
@@ -226,11 +226,11 @@ function dryRun(described, input, output) {
226
226
  return missing.length ? 2 : 0;
227
227
  }
228
228
  async function runPlay(reference, play) {
229
- const { handlePlayRun, writePlayRunReceipt } = await Promise.resolve().then(() => _interopRequireWildcard(require("./play-62KSZGJQ.js")));
229
+ const { handlePlayRun, writePlayRunReceipt } = await Promise.resolve().then(() => _interopRequireWildcard(require("./play-5KER3JFU.js")));
230
230
  const { output, options, revision } = play;
231
231
  if (options.dryRun) {
232
232
  return handlePlayRun(
233
- _chunk44UR3BU2js.resolvePlayRunCliOptions.call(void 0, reference, {
233
+ _chunkRMQB72WWjs.resolvePlayRunCliOptions.call(void 0, reference, {
234
234
  input: JSON.stringify(play.input),
235
235
  dryRun: true,
236
236
  json: output.receiptJson === true
@@ -239,11 +239,11 @@ async function runPlay(reference, play) {
239
239
  }
240
240
  let id = null;
241
241
  let written = false;
242
- const progress = _chunkYTFCKCIIjs.createCliProgress.call(void 0, true);
243
- if (!play.noWait) progress.setLogWriter(_chunkF2XK4UN6js.openLogDestination.call(void 0, output));
242
+ const progress = _chunkM475BQ77js.createCliProgress.call(void 0, true);
243
+ if (!play.noWait) progress.setLogWriter(_chunkRDOPZK7Ajs.openLogDestination.call(void 0, output));
244
244
  try {
245
245
  const code = await handlePlayRun(
246
- _chunk44UR3BU2js.resolvePlayRunCliOptions.call(void 0, reference, {
246
+ _chunkRMQB72WWjs.resolvePlayRunCliOptions.call(void 0, reference, {
247
247
  input: JSON.stringify(play.input),
248
248
  // The receipt is the only thing on stdout.
249
249
  json: true,
@@ -276,7 +276,7 @@ async function runPlay(reference, play) {
276
276
  },
277
277
  writeStarted: (runId, status) => {
278
278
  written = true;
279
- _chunkF2XK4UN6js.writeExecutionOutput.call(void 0,
279
+ _chunkRDOPZK7Ajs.writeExecutionOutput.call(void 0,
280
280
  {
281
281
  id: runId,
282
282
  status,
@@ -291,7 +291,7 @@ async function runPlay(reference, play) {
291
291
  }
292
292
  );
293
293
  if (!written) {
294
- _chunkF2XK4UN6js.writeExecutionOutput.call(void 0,
294
+ _chunkRDOPZK7Ajs.writeExecutionOutput.call(void 0,
295
295
  {
296
296
  id,
297
297
  status: "failed",
@@ -303,7 +303,7 @@ async function runPlay(reference, play) {
303
303
  return code;
304
304
  } catch (error) {
305
305
  if (written) throw error;
306
- _chunkF2XK4UN6js.writeExecutionOutput.call(void 0,
306
+ _chunkRDOPZK7Ajs.writeExecutionOutput.call(void 0,
307
307
  {
308
308
  id,
309
309
  status: "failed",