deepline 0.3.470 → 0.3.471

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 +5 -0
  2. package/dist/bundling-sources/sdk/src/index.ts +1 -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 +22 -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-2MMOFS3O.js +41 -0
  11. package/dist/cli/{auth-7J52UEWO.mjs → auth-MUCIXHJF.mjs} +5 -5
  12. package/dist/cli/{billing-ASNWVDQG.js → billing-BQQNTCTV.js} +82 -81
  13. package/dist/cli/{billing-ORB3UZ73.mjs → billing-QGCTDE2N.mjs} +9 -8
  14. package/dist/cli/{chunk-BWLXHUKH.mjs → chunk-2KBRY5CA.mjs} +3 -3
  15. package/dist/cli/{chunk-DSOTGAXS.mjs → chunk-3PT2HJKC.mjs} +1 -1
  16. package/dist/cli/{chunk-262PYO4I.mjs → chunk-4OAA43RX.mjs} +3 -3
  17. package/dist/cli/{chunk-NNCDHMCT.js → chunk-4PT2WZD2.js} +26 -26
  18. package/dist/cli/{chunk-VBKN6ISP.js → chunk-5QWGL2QO.js} +93 -93
  19. package/dist/cli/{chunk-HNP5V5BN.js → chunk-6DTW6JND.js} +6 -2
  20. package/dist/cli/{chunk-5ADROBCY.mjs → chunk-AMUSZHCE.mjs} +2 -2
  21. package/dist/cli/{chunk-3P4WOCRB.mjs → chunk-ATKFOOVD.mjs} +5 -5
  22. package/dist/cli/{chunk-A7THVTRN.js → chunk-CR2F3JZN.js} +51 -51
  23. package/dist/cli/{chunk-PWXHZPHK.js → chunk-DFMFYOML.js} +10 -10
  24. package/dist/cli/{chunk-AGIEKE3L.js → chunk-DK5Y5BD3.js} +4 -4
  25. package/dist/cli/{chunk-SV3B6KW4.mjs → chunk-DV4V5IWI.mjs} +5 -5
  26. package/dist/cli/{chunk-F4L7WMLK.mjs → chunk-E2SHDT7T.mjs} +2 -2
  27. package/dist/cli/{chunk-44UR3BU2.js → chunk-E3WTQ3JI.js} +14 -14
  28. package/dist/cli/{chunk-3XLJPLXZ.mjs → chunk-EHVVDHNU.mjs} +1 -1
  29. package/dist/cli/{chunk-YFKOA4HW.mjs → chunk-EYKMITTY.mjs} +4 -4
  30. package/dist/cli/{chunk-7WILY2XM.mjs → chunk-FJBGBPYY.mjs} +2 -2
  31. package/dist/cli/{chunk-VL7OL7YR.mjs → chunk-FVGT5EBA.mjs} +1 -1
  32. package/dist/cli/{chunk-F2XK4UN6.js → chunk-FX3QM6WN.js} +3 -3
  33. package/dist/cli/{chunk-NSAKJQLX.js → chunk-G6RQXAJ2.js} +1 -1
  34. package/dist/cli/{chunk-MXAB4W6E.js → chunk-GPSVXVDZ.js} +8 -8
  35. package/dist/cli/{chunk-SHB7BUNQ.mjs → chunk-IE5KAVTI.mjs} +3 -3
  36. package/dist/cli/{chunk-SOME764Z.mjs → chunk-IPFUDUSY.mjs} +4 -4
  37. package/dist/cli/{chunk-Y4OE46HH.js → chunk-J2NYCUTK.js} +24 -24
  38. package/dist/cli/{chunk-JKVRBCZL.js → chunk-JDMR33HS.js} +1 -0
  39. package/dist/cli/{chunk-YBDQUVDE.mjs → chunk-K5USD25Z.mjs} +10 -10
  40. package/dist/cli/{chunk-F6OB5L74.js → chunk-KSUGLTX3.js} +6 -6
  41. package/dist/cli/{chunk-CNQBCLQP.js → chunk-MLQJVAVS.js} +3 -3
  42. package/dist/cli/{chunk-QW6HNDS7.mjs → chunk-MV6HL67R.mjs} +2 -2
  43. package/dist/cli/{chunk-6R5UKWRW.js → chunk-NBPNYD54.js} +16 -16
  44. package/dist/cli/{chunk-FAG4DFUC.mjs → chunk-NELMCOWK.mjs} +1 -0
  45. package/dist/cli/{chunk-N72VIY7R.js → chunk-NLT3CFVJ.js} +2 -2
  46. package/dist/cli/{chunk-EM2E7YIS.js → chunk-NPJY5QRC.js} +53 -53
  47. package/dist/cli/{chunk-QG7UPPOK.mjs → chunk-OYHCMKZM.mjs} +3 -3
  48. package/dist/cli/{chunk-SXQZYTUW.mjs → chunk-PVEEGJFN.mjs} +1 -1
  49. package/dist/cli/{chunk-4BQQ3Q3J.js → chunk-RUWBAU6V.js} +8 -8
  50. package/dist/cli/{chunk-YTFCKCII.js → chunk-RWCTGSD7.js} +3 -3
  51. package/dist/cli/{chunk-GLSFZYZB.mjs → chunk-RYGJWMWL.mjs} +1 -1
  52. package/dist/cli/{chunk-D464JW3N.mjs → chunk-RZHUHL53.mjs} +19 -1
  53. package/dist/cli/{chunk-6B7XLHIE.mjs → chunk-SIQV6UYG.mjs} +4 -4
  54. package/dist/cli/{chunk-ETTUFFBS.js → chunk-TWRK4NOU.js} +36 -36
  55. package/dist/cli/{chunk-CTDWQYBW.mjs → chunk-U5RGCQWJ.mjs} +2 -2
  56. package/dist/cli/{chunk-FVYAEBGO.mjs → chunk-V2WMJXU6.mjs} +6 -2
  57. package/dist/cli/{chunk-ORO2GFH4.js → chunk-VDRGX2XL.js} +5 -5
  58. package/dist/cli/{chunk-C7EA2VNR.js → chunk-VGIAOWCD.js} +5 -5
  59. package/dist/cli/{chunk-PJX7BA7T.mjs → chunk-VVY3HGFM.mjs} +2 -2
  60. package/dist/cli/{chunk-GDFO3ERN.js → chunk-WDXJUZCY.js} +2 -2
  61. package/dist/cli/{chunk-57F5VKHV.js → chunk-YRM5TPXL.js} +8 -8
  62. package/dist/cli/{chunk-WG3KGAII.js → chunk-Z52WEIBR.js} +19 -1
  63. package/dist/cli/{chunk-RVQ333NB.mjs → chunk-ZAF54BQK.mjs} +1 -1
  64. package/dist/cli/{chunk-KBNAI5BY.js → chunk-ZHM7VCKH.js} +21 -21
  65. package/dist/cli/{chunk-SETIOXN4.mjs → chunk-ZMJOSD7R.mjs} +1 -1
  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-Q6BSRCBJ.mjs} +4 -4
  69. package/dist/cli/{csv-FSXDIWBP.js → csv-UE7RZDUV.js} +13 -13
  70. package/dist/cli/{db-3UWDQXLF.mjs → db-FI6XXB2H.mjs} +7 -7
  71. package/dist/cli/{db-DZQUPWI3.js → db-T7A7EE3D.js} +28 -28
  72. package/dist/cli/{describe-APG2GVFG.mjs → describe-4GGU6NU3.mjs} +18 -18
  73. package/dist/cli/describe-UM2VGRY7.js +48 -0
  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-BFAPMPG2.js → executions-4I6F5RMS.js} +9 -9
  77. package/dist/cli/{executions-TDUX3575.mjs → executions-S46XI7NX.mjs} +7 -7
  78. package/dist/cli/{feedback-BMV7PUDL.mjs → feedback-3LJ7NZE7.mjs} +4 -4
  79. package/dist/cli/{feedback-2KNPCYTH.js → feedback-VEGUNKSP.js} +8 -8
  80. package/dist/cli/git-EVWKNIUA.js +25 -0
  81. package/dist/cli/{git-KBVONNE5.mjs → git-W7SFD7AA.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-3EMB5SJH.js} +8 -8
  85. package/dist/cli/{legacy-noops-GZDRRUFE.mjs → legacy-noops-FIR5PSHG.mjs} +5 -5
  86. package/dist/cli/{monitors-CW22L3VL.mjs → monitors-4DKW25PV.mjs} +8 -8
  87. package/dist/cli/{monitors-PGBHMKOU.js → monitors-53LPJH6R.js} +92 -92
  88. package/dist/cli/{org-K5C23LAV.mjs → org-6ZV2DBGI.mjs} +7 -7
  89. package/dist/cli/{org-3V2VAH5D.js → org-CYLJFX4Q.js} +73 -73
  90. package/dist/cli/{pages-2F73VVWC.js → pages-42E3WIMH.js} +18 -18
  91. package/dist/cli/{pages-7V2C7GWU.mjs → pages-V3LEXCRL.mjs} +7 -7
  92. package/dist/cli/{play-62KSZGJQ.js → play-O3OY556F.js} +556 -516
  93. package/dist/cli/{play-VT7TPJUH.mjs → play-X7REMNNG.mjs} +63 -23
  94. package/dist/cli/{providers-LX562YG7.mjs → providers-L2DJVAXN.mjs} +7 -7
  95. package/dist/cli/{providers-3SI3QBT3.js → providers-NZ7TISS3.js} +10 -10
  96. package/dist/cli/{quickstart-5HA5IFTB.js → quickstart-IKNGAQRO.js} +6 -6
  97. package/dist/cli/{quickstart-ADE7FV26.mjs → quickstart-ROWMAUXQ.mjs} +4 -4
  98. package/dist/cli/{run-4ZV4UDKP.js → run-JG6DLOYR.js} +37 -37
  99. package/dist/cli/{run-OITZJ6QZ.mjs → run-PJI577J2.mjs} +23 -23
  100. package/dist/cli/{search-BI5VZQMD.mjs → search-DOVJ745X.mjs} +8 -8
  101. package/dist/cli/search-RHKW5GSR.js +32 -0
  102. package/dist/cli/{secrets-A2R36AZ6.mjs → secrets-OKDFNCRJ.mjs} +7 -7
  103. package/dist/cli/{secrets-UAKNTMYB.js → secrets-R5LWXIG6.js} +16 -16
  104. package/dist/cli/{sessions-PPOFUFBW.mjs → sessions-KX4C2CKS.mjs} +5 -5
  105. package/dist/cli/{sessions-3JM3OXME.js → sessions-L3DSAY2T.js} +6 -6
  106. package/dist/cli/{settings-C4M5HOD4.js → settings-NKTNNTAP.js} +79 -79
  107. package/dist/cli/{settings-PZA6TBOL.mjs → settings-W3SMDBYS.mjs} +12 -12
  108. package/dist/cli/{setup-TY2OSI6D.js → setup-5WZEXWQR.js} +44 -44
  109. package/dist/cli/{setup-245XVTBR.mjs → setup-7KFKKW2W.mjs} +9 -9
  110. package/dist/cli/skills-UFAABPCQ.js +31 -0
  111. package/dist/cli/{skills-ZAN23KLR.mjs → skills-X5TLATOL.mjs} +7 -7
  112. package/dist/cli/{tools-GG4KDQBM.mjs → tools-27J5EOKO.mjs} +17 -17
  113. package/dist/cli/tools-IVU3BCIY.js +55 -0
  114. package/dist/cli/{update-XKXIL6DU.mjs → update-EWL477FJ.mjs} +9 -9
  115. package/dist/cli/update-G7HFHKPG.js +33 -0
  116. package/dist/cli/{workflow-VN7M3D2U.js → workflow-GFNGGHJE.js} +18 -18
  117. package/dist/cli/{workflow-LVQVTFUJ.mjs → workflow-YXR6YMT2.mjs} +8 -8
  118. package/dist/{client-B3tlWsw7.d.ts → client-DIpVmXcj.d.ts} +1 -1
  119. package/dist/{client-CdJR18SJ.d.mts → client-DitOgp8N.d.mts} +1 -1
  120. package/dist/{client-core-ByJD7QXj.d.mts → client-core-COZteOww.d.mts} +28 -2
  121. package/dist/{client-core-CxHBKfE5.d.ts → client-core-k543Fg6D.d.ts} +28 -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-4OAA43RX.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-PVEEGJFN.mjs";
21
21
  import {
22
22
  registerDeprecatedSearchCommand
23
- } from "./chunk-SHB7BUNQ.mjs";
23
+ } from "./chunk-IE5KAVTI.mjs";
24
24
  import {
25
25
  handleDeploymentGet,
26
26
  handleDeploymentsList
27
- } from "./chunk-PJX7BA7T.mjs";
27
+ } from "./chunk-VVY3HGFM.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-AMUSZHCE.mjs";
56
56
  import {
57
57
  DeeplineClient
58
- } from "./chunk-CTDWQYBW.mjs";
58
+ } from "./chunk-U5RGCQWJ.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-MV6HL67R.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-FJBGBPYY.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-ZAF54BQK.mjs";
99
+ import "./chunk-EYKMITTY.mjs";
100
100
  import {
101
101
  createCliProgress,
102
102
  getActiveCliProgress
103
- } from "./chunk-3XLJPLXZ.mjs";
103
+ } from "./chunk-EHVVDHNU.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-OYHCMKZM.mjs";
118
+ import "./chunk-FVGT5EBA.mjs";
119
119
  import {
120
120
  fetchWithDeploymentProtection
121
- } from "./chunk-SETIOXN4.mjs";
121
+ } from "./chunk-ZMJOSD7R.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-3PT2HJKC.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(
@@ -16223,7 +16263,7 @@ Examples:
16223
16263
  process.exitCode = await ownView();
16224
16264
  return;
16225
16265
  }
16226
- const { describeAnything } = await import("./describe-APG2GVFG.mjs");
16266
+ const { describeAnything } = await import("./describe-4GGU6NU3.mjs");
16227
16267
  process.exitCode = await describeAnything(
16228
16268
  name,
16229
16269
  {
@@ -16557,7 +16597,7 @@ Examples:
16557
16597
  new Option2("--log-failed", "Attach terminal-failure logs").hideHelp()
16558
16598
  ).action(async (runId, options) => {
16559
16599
  if (TOOL_EXECUTION_ID.test(runId)) {
16560
- const { getToolExecutionReceipt } = await import("./tools-GG4KDQBM.mjs");
16600
+ const { getToolExecutionReceipt } = await import("./tools-27J5EOKO.mjs");
16561
16601
  process.exitCode = await getToolExecutionReceipt(runId, {
16562
16602
  receiptJson: options.json !== void 0
16563
16603
  });
@@ -1,21 +1,21 @@
1
1
  import {
2
2
  DeeplineClient
3
- } from "./chunk-CTDWQYBW.mjs";
4
- import "./chunk-QW6HNDS7.mjs";
3
+ } from "./chunk-U5RGCQWJ.mjs";
4
+ import "./chunk-MV6HL67R.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-OYHCMKZM.mjs";
13
+ import "./chunk-FVGT5EBA.mjs";
14
+ import "./chunk-ZMJOSD7R.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-3PT2HJKC.mjs";
19
19
  import "./chunk-WZYKRD7T.mjs";
20
20
  import "./chunk-KRD6H754.mjs";
21
21
 
@@ -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 _chunkVDRGX2XLjs = require('./chunk-VDRGX2XL.js');
4
+ require('./chunk-J2NYCUTK.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 _chunkYRM5TPXLjs = require('./chunk-YRM5TPXL.js');
13
+ require('./chunk-MLQJVAVS.js');
14
+ require('./chunk-DK5Y5BD3.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-G6RQXAJ2.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, _chunkVDRGX2XLjs.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 || _chunkYRM5TPXLjs.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
+ _chunkYRM5TPXLjs.printCommandEnvelope.call(void 0,
46
46
  {
47
47
  providers,
48
48
  count: providers.length,
@@ -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 _chunkYRM5TPXLjs = require('./chunk-YRM5TPXL.js');
5
+ require('./chunk-MLQJVAVS.js');
6
+ require('./chunk-DK5Y5BD3.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-G6RQXAJ2.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 = _chunkYRM5TPXLjs.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
+ _chunkYRM5TPXLjs.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-OYHCMKZM.mjs";
5
+ import "./chunk-FVGT5EBA.mjs";
6
+ import "./chunk-ZMJOSD7R.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-3PT2HJKC.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 _chunkDFMFYOMLjs = require('./chunk-DFMFYOML.js');
5
+ require('./chunk-5QWGL2QO.js');
6
6
 
7
7
 
8
8
 
9
- var _chunk44UR3BU2js = require('./chunk-44UR3BU2.js');
9
+ var _chunkE3WTQ3JIjs = require('./chunk-E3WTQ3JI.js');
10
10
 
11
11
 
12
12
 
13
13
 
14
- var _chunkF2XK4UN6js = require('./chunk-F2XK4UN6.js');
15
- require('./chunk-4BQQ3Q3J.js');
14
+ var _chunkFX3QM6WNjs = require('./chunk-FX3QM6WN.js');
15
+ require('./chunk-RUWBAU6V.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-VDRGX2XL.js');
27
27
  require('./chunk-NPZBE64X.js');
28
- require('./chunk-Y4OE46HH.js');
28
+ require('./chunk-J2NYCUTK.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-ZHM7VCKH.js');
34
+ require('./chunk-NBPNYD54.js');
35
+ require('./chunk-NLT3CFVJ.js');
36
+ require('./chunk-TWRK4NOU.js');
37
+ require('./chunk-WDXJUZCY.js');
38
+ require('./chunk-NPJY5QRC.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 _chunkRWCTGSD7js = require('./chunk-RWCTGSD7.js');
42
+ require('./chunk-YRM5TPXL.js');
43
+ require('./chunk-MLQJVAVS.js');
44
+ require('./chunk-DK5Y5BD3.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-G6RQXAJ2.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
+ _chunkFX3QM6WNjs.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 (!_chunkFX3QM6WNjs.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-IVU3BCIY.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-O3OY556F.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 (_chunkE3WTQ3JIjs.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 _chunkDFMFYOMLjs.findNamed.call(void 0, base, {});
167
167
  if (!found.chosen && revision) {
168
- found = await _chunkPWXHZPHKjs.findNamed.call(void 0, name, {});
168
+ found = await _chunkDFMFYOMLjs.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(_chunkDFMFYOMLjs.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-IVU3BCIY.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
+ _chunkFX3QM6WNjs.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-O3OY556F.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
+ _chunkE3WTQ3JIjs.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 = _chunkRWCTGSD7js.createCliProgress.call(void 0, true);
243
+ if (!play.noWait) progress.setLogWriter(_chunkFX3QM6WNjs.openLogDestination.call(void 0, output));
244
244
  try {
245
245
  const code = await handlePlayRun(
246
- _chunk44UR3BU2js.resolvePlayRunCliOptions.call(void 0, reference, {
246
+ _chunkE3WTQ3JIjs.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
+ _chunkFX3QM6WNjs.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
+ _chunkFX3QM6WNjs.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
+ _chunkFX3QM6WNjs.writeExecutionOutput.call(void 0,
307
307
  {
308
308
  id,
309
309
  status: "failed",