deepline 0.3.370 → 0.3.371

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 (119) hide show
  1. package/README.md +1 -1
  2. package/dist/bundling-sources/sdk/src/client.ts +8 -8
  3. package/dist/bundling-sources/sdk/src/release.ts +1 -7
  4. package/dist/bundling-sources/sdk/src/runs/overview.ts +7 -7
  5. package/dist/bundling-sources/sdk/src/tool-output.ts +5 -1
  6. package/dist/bundling-sources/sdk/src/types.ts +2 -2
  7. package/dist/bundling-sources/shared_libs/monitors/fleets/errors.ts +5 -5
  8. package/dist/bundling-sources/shared_libs/monitors/http-error-response.ts +18 -18
  9. package/dist/bundling-sources/shared_libs/monitors/provider-monitor-capability.ts +1 -1
  10. package/dist/bundling-sources/shared_libs/play-runtime/context.ts +2 -2
  11. package/dist/bundling-sources/shared_libs/play-runtime/dataset-lifecycle-log.ts +1 -1
  12. package/dist/bundling-sources/shared_libs/play-runtime/runner-app/index.ts +1 -1
  13. package/dist/bundling-sources/shared_libs/plays/launch/input-contract.ts +34 -9
  14. package/dist/cli/auth-DQVK3ZI6.js +33 -0
  15. package/dist/cli/{auth-RIH4S7NC.mjs → auth-LCSEXQA2.mjs} +4 -4
  16. package/dist/cli/{billing-Q65H5GJM.js → billing-KISDL67A.js} +148 -148
  17. package/dist/cli/{billing-ERNGN6WK.mjs → billing-Z7PLJC5C.mjs} +79 -79
  18. package/dist/cli/{chunk-MX53GIOB.js → chunk-2JRRXXTA.js} +2 -2
  19. package/dist/cli/{chunk-BKHNCIQD.mjs → chunk-2L6LBJVC.mjs} +193 -187
  20. package/dist/cli/{chunk-IDBLJSLL.mjs → chunk-3FTYFVYN.mjs} +5 -5
  21. package/dist/cli/{chunk-Z6B4UPM4.mjs → chunk-3GK3SH3G.mjs} +2 -2
  22. package/dist/cli/{chunk-4Y5UDYQK.js → chunk-44SHFHA3.js} +17 -17
  23. package/dist/cli/{chunk-RLXMRC6P.mjs → chunk-46JCJ7FT.mjs} +49 -96
  24. package/dist/cli/{chunk-XTKVXHGD.js → chunk-5BCVKWLV.js} +17 -17
  25. package/dist/cli/{chunk-A5RFERJQ.mjs → chunk-5S525TQV.mjs} +2 -2
  26. package/dist/cli/{chunk-WQZ22EQU.js → chunk-5Z7JFUNX.js} +26 -26
  27. package/dist/cli/{chunk-T64NZ2A7.mjs → chunk-73NIXYKH.mjs} +46 -47
  28. package/dist/cli/{chunk-SFI7U6CA.js → chunk-A7X7KFXX.js} +4 -4
  29. package/dist/cli/{chunk-YQMUTC2H.mjs → chunk-AIZKDTFF.mjs} +11 -11
  30. package/dist/cli/{chunk-MKFHZDBO.js → chunk-BO3ADIBV.js} +8 -8
  31. package/dist/cli/{chunk-NHB3UWTZ.js → chunk-C3IPN4E6.js} +17 -17
  32. package/dist/cli/{chunk-A4OX52RV.js → chunk-C553OZGG.js} +10 -10
  33. package/dist/cli/{chunk-GGRVNAOH.mjs → chunk-DOXAN2I7.mjs} +3 -3
  34. package/dist/cli/{chunk-YEEESF2T.js → chunk-DPVBWLBF.js} +419 -413
  35. package/dist/cli/{chunk-R7AAYFDQ.js → chunk-DQMTJXLK.js} +102 -103
  36. package/dist/cli/{chunk-NXDRDJ4K.js → chunk-E5UD3JDQ.js} +3 -1
  37. package/dist/cli/{chunk-LNEBKWXM.mjs → chunk-IWY7T6MR.mjs} +1 -1
  38. package/dist/cli/{chunk-MIMASXO4.mjs → chunk-JB6ERQUV.mjs} +3 -1
  39. package/dist/cli/{chunk-CTMA3C3N.js → chunk-JSK6GUY6.js} +49 -96
  40. package/dist/cli/{chunk-H4IQJRFC.mjs → chunk-KBJO7HIF.mjs} +9 -9
  41. package/dist/cli/{chunk-HHH4MPFY.mjs → chunk-KGRAQ4OR.mjs} +6 -6
  42. package/dist/cli/{chunk-LJWOPNJJ.mjs → chunk-KKRRIFR3.mjs} +1 -1
  43. package/dist/cli/{chunk-DFJDVQMH.js → chunk-N34UX4TW.js} +2 -2
  44. package/dist/cli/{chunk-666HPUIZ.js → chunk-NMDNUOVI.js} +1 -6
  45. package/dist/cli/{chunk-5DUTNG37.mjs → chunk-SEDS6ZVR.mjs} +10 -10
  46. package/dist/cli/{chunk-BGXG3GEI.mjs → chunk-SENW5J4O.mjs} +5 -5
  47. package/dist/cli/{chunk-Y2B56VN7.js → chunk-TT2YWFYW.js} +53 -53
  48. package/dist/cli/{chunk-A6DJC2RC.js → chunk-YENBXYUH.js} +68 -68
  49. package/dist/cli/{chunk-NEY2M4EZ.mjs → chunk-YYFLULK7.mjs} +1 -6
  50. package/dist/cli/client-JFSRNUVD.js +20 -0
  51. package/dist/cli/{client-QXOERIFI.mjs → client-Z3Z5EDDJ.mjs} +3 -3
  52. package/dist/cli/command-docs.js +2 -2
  53. package/dist/cli/command-docs.mjs +1 -1
  54. package/dist/cli/{csv-V7UKQ7AC.mjs → csv-TEVHLGGA.mjs} +3 -3
  55. package/dist/cli/{csv-ZKIUSDIV.js → csv-XGFXV7JE.js} +12 -12
  56. package/dist/cli/{db-GWKRVHKS.js → db-LLZJ7UH5.js} +42 -43
  57. package/dist/cli/{db-QQ4BYMPY.mjs → db-OB7PMWSZ.mjs} +17 -18
  58. package/dist/cli/{describe-XMWXEFMS.mjs → describe-GZIRANUZ.mjs} +12 -12
  59. package/dist/cli/{describe-3AJI2BOS.js → describe-NWU7LI3I.js} +28 -28
  60. package/dist/cli/{executions-2IMCCV34.js → executions-64YZGSOW.js} +6 -6
  61. package/dist/cli/{executions-QV7UE5YG.mjs → executions-7UZ3ZGJ3.mjs} +4 -4
  62. package/dist/cli/{feedback-K6WNXZDB.mjs → feedback-2WRQRW3U.mjs} +8 -8
  63. package/dist/cli/{feedback-7SSJ7VPF.js → feedback-MN5CXULH.js} +12 -12
  64. package/dist/cli/{git-UOE2K2XQ.mjs → git-BPYVLLTY.mjs} +4 -4
  65. package/dist/cli/git-TJIPVSAE.js +23 -0
  66. package/dist/cli/index.js +98 -109
  67. package/dist/cli/index.mjs +46 -57
  68. package/dist/cli/{legacy-noops-GC43OSXL.js → legacy-noops-VMXJPLMW.js} +9 -9
  69. package/dist/cli/{legacy-noops-SOYPIA2X.mjs → legacy-noops-ZRPWEPX6.mjs} +6 -6
  70. package/dist/cli/{monitors-FLCGMXVH.mjs → monitors-5BRTBL7E.mjs} +59 -59
  71. package/dist/cli/{monitors-AXANB6WK.js → monitors-OQSI2VOL.js} +140 -140
  72. package/dist/cli/{org-MXD4BTQI.js → org-F5QS3HG4.js} +88 -87
  73. package/dist/cli/{org-Q7EDNZMN.mjs → org-SMZ7AGR3.mjs} +28 -27
  74. package/dist/cli/{play-TZROCF7E.mjs → play-CJZNLQL7.mjs} +10 -8
  75. package/dist/cli/play-K7HE4LBB.js +155 -0
  76. package/dist/cli/{providers-JEY4FTWG.mjs → providers-CBWXJRDG.mjs} +7 -7
  77. package/dist/cli/{providers-LOS4MHAG.js → providers-SH2HYOVR.js} +10 -10
  78. package/dist/cli/{quickstart-WO5KVVER.mjs → quickstart-342ENF6Q.mjs} +4 -4
  79. package/dist/cli/{quickstart-27UQGHEH.js → quickstart-B6EL7WDG.js} +6 -6
  80. package/dist/cli/{search-LZHWXC2C.mjs → search-E7DKH3SI.mjs} +5 -5
  81. package/dist/cli/search-SEEYCQED.js +26 -0
  82. package/dist/cli/{secrets-AVJGZABR.mjs → secrets-FSYIPRVS.mjs} +5 -5
  83. package/dist/cli/{secrets-PE7P4L7N.js → secrets-M2AW5RGE.js} +14 -14
  84. package/dist/cli/{sessions-I6UDBN7M.js → sessions-AFE4C3FQ.js} +5 -5
  85. package/dist/cli/{sessions-ZDSZTYZV.mjs → sessions-DJPGWPNA.mjs} +4 -4
  86. package/dist/cli/{settings-SPWH3FET.mjs → settings-KLN2A3PQ.mjs} +10 -10
  87. package/dist/cli/{settings-3SLMJHJ2.js → settings-VUWBNATC.js} +77 -77
  88. package/dist/cli/{setup-Q3CJ4T2Q.mjs → setup-BE6N5YV6.mjs} +15 -15
  89. package/dist/cli/{setup-R4LUWQE4.js → setup-I5IMTQCX.js} +50 -50
  90. package/dist/cli/skills-7XH5GMZB.js +28 -0
  91. package/dist/cli/{skills-FGXH432G.mjs → skills-GSNPQDUG.mjs} +4 -4
  92. package/dist/cli/tools-JCL4ABAF.js +40 -0
  93. package/dist/cli/{tools-O7C6PFF2.mjs → tools-ORCGHV4P.mjs} +8 -8
  94. package/dist/cli/{update-PPCQV3CD.mjs → update-UXEUWVWS.mjs} +6 -6
  95. package/dist/cli/update-YNZOS77Z.js +28 -0
  96. package/dist/cli/{workflow-Z2KYQ2JE.mjs → workflow-JBQY7JJN.mjs} +7 -7
  97. package/dist/cli/{workflow-ALKU4ZFD.js → workflow-R7SDICTU.js} +17 -17
  98. package/dist/{client-CjHv4K6D.d.mts → client-CZFMQEgO.d.mts} +6 -6
  99. package/dist/{client-rTuhNN-x.d.ts → client-CgSwpnb-.d.ts} +6 -6
  100. package/dist/index.d.mts +2 -2
  101. package/dist/index.d.ts +2 -2
  102. package/dist/index.js +15 -15
  103. package/dist/index.mjs +4 -4
  104. package/dist/install-integrity.json +82 -82
  105. package/dist/plays/run-request.d.mts +1 -1
  106. package/dist/plays/run-request.d.ts +1 -1
  107. package/dist/release.d.mts +1 -5
  108. package/dist/release.d.ts +1 -5
  109. package/dist/release.js +2 -2
  110. package/dist/release.mjs +1 -1
  111. package/package.json +1 -1
  112. package/dist/cli/auth-DD3PVIRQ.js +0 -33
  113. package/dist/cli/client-DNAFHKWV.js +0 -20
  114. package/dist/cli/git-EBSF3254.js +0 -23
  115. package/dist/cli/play-YWQXVOBT.js +0 -153
  116. package/dist/cli/search-OQ3OEFUA.js +0 -26
  117. package/dist/cli/skills-IDXBBOUW.js +0 -28
  118. package/dist/cli/tools-WHLD4Y4O.js +0 -40
  119. package/dist/cli/update-K6HE3XKO.js +0 -28
@@ -2,7 +2,7 @@ import {
2
2
  argsWantJson,
3
3
  openInBrowser,
4
4
  printCommandEnvelope
5
- } from "./chunk-GGRVNAOH.mjs";
5
+ } from "./chunk-DOXAN2I7.mjs";
6
6
  import {
7
7
  ACTIVE_ORG_ID_ENV,
8
8
  ACTIVE_ORG_NAME_ENV,
@@ -25,7 +25,7 @@ import {
25
25
  saveHostEnvValues,
26
26
  saveProjectDeeplineEnvValues,
27
27
  storedHostApiKey
28
- } from "./chunk-LJWOPNJJ.mjs";
28
+ } from "./chunk-KKRRIFR3.mjs";
29
29
 
30
30
  // src/cli/commands/auth.ts
31
31
  import {
@@ -825,7 +825,7 @@ Common commands:
825
825
  deepline auth register
826
826
  deepline auth wait --timeout 300
827
827
  deepline auth status
828
- deepline auth status --json
828
+ deepline auth status
829
829
 
830
830
  Notes:
831
831
  Auth status shows the target host and active workspace without printing secrets.
@@ -909,12 +909,12 @@ Notes:
909
909
  Examples:
910
910
  deepline auth status
911
911
  deepline auth status --auth-scope folder
912
- deepline auth status --json
912
+ deepline auth status
913
913
  `
914
914
  ).option(
915
915
  "--reveal",
916
916
  "Persist the revealed API key back to the host auth file"
917
- ).option("--auth-scope <scope>", "Read only folder or global auth").option("--json", "Emit JSON output. Also automatic when stdout is piped").action(async (options) => {
917
+ ).option("--auth-scope <scope>", "Read only folder or global auth").option("--json", "Emit JSON output").action(async (options) => {
918
918
  process.exitCode = await handleStatus([
919
919
  ...options.reveal ? ["--reveal"] : [],
920
920
  ...options.authScope ? ["--auth-scope", String(options.authScope)] : [],
@@ -314,11 +314,11 @@ function examples(described, options) {
314
314
  }
315
315
  var EXPLANATIONS = {
316
316
  tool: {
317
- cli: "--input takes a JSON object or @file.json. The result prints when the call finishes; add --json for the full result payload.",
317
+ cli: "--input takes a JSON object or @file.json. The result prints when the call finishes.",
318
318
  play: "id names the step and must stay stable. Read a declared output with its getter; every other provider field is in result.toolResponse.rawV2."
319
319
  },
320
320
  play: {
321
- cli: "--input takes a JSON object or @file.json. The run waits and prints its output; add --json for the full result, or read it later with deepline runs get <run-id> --json.",
321
+ cli: "--input takes a JSON object or @file.json. The run waits and prints its output; read it later with deepline runs get <run-id>.",
322
322
  play: "The first argument is a stable key for the child run. The call waits and returns the output object."
323
323
  },
324
324
  monitor: {
@@ -21,7 +21,7 @@ var _chunkLA46MMTLjs = require('./chunk-LA46MMTL.js');
21
21
 
22
22
 
23
23
 
24
- var _chunkSFI7U6CAjs = require('./chunk-SFI7U6CA.js');
24
+ var _chunkA7X7KFXXjs = require('./chunk-A7X7KFXX.js');
25
25
 
26
26
 
27
27
 
@@ -167,7 +167,7 @@ async function queryCustomerDatabase(http, input) {
167
167
  if (error instanceof _chunk7P5AA3SNjs.DeeplineError && (_optionalChain([error, 'access', _2 => _2.code, 'optionalAccess', _3 => _3.startsWith, 'call', _4 => _4("NETWORK_")]) || // Older API readers return PostgreSQL errors as HTTP 400, including
168
168
  // lost connections and explicitly unknown transaction resolution.
169
169
  /^08[A-Z0-9]{3}$/.test(_nullishCoalesce(error.code, () => ( ""))) || ["57P01", "57P02", "57P03"].includes(_nullishCoalesce(error.code, () => ( ""))) || error.statusCode === 408 || (_nullishCoalesce(error.statusCode, () => ( 0))) >= 500)) {
170
- throw new (0, _chunkSFI7U6CAjs.CustomerDbQueryOutcomeUnknownError)(
170
+ throw new (0, _chunkA7X7KFXXjs.CustomerDbQueryOutcomeUnknownError)(
171
171
  error,
172
172
  plan.request.body.operation_key
173
173
  );
@@ -175,7 +175,7 @@ async function queryCustomerDatabase(http, input) {
175
175
  throw error;
176
176
  }
177
177
  if (!result || typeof result !== "object" || Array.isArray(result) || typeof result.command !== "string" || !Array.isArray(result.columns) || !Array.isArray(result.rows) || typeof result.truncated !== "boolean" || result.row_count !== null && (!Number.isSafeInteger(result.row_count) || result.row_count < 0) || !Number.isSafeInteger(result.row_count_returned) || result.row_count_returned < 0) {
178
- throw new (0, _chunkSFI7U6CAjs.CustomerDbQueryOutcomeUnknownError)(
178
+ throw new (0, _chunkA7X7KFXXjs.CustomerDbQueryOutcomeUnknownError)(
179
179
  new (0, _chunk7P5AA3SNjs.DeeplineError)(
180
180
  "The SQL response did not contain a valid result.",
181
181
  200,
@@ -186,7 +186,7 @@ async function queryCustomerDatabase(http, input) {
186
186
  }
187
187
  const operation = result.operation;
188
188
  if (input.operationKey !== void 0 && (!operation || operation.operation_key !== input.operationKey || !Number.isSafeInteger(operation.completed_at_ms) || operation.completed_at_ms < 0 || !["executed", "operation_recovery"].includes(operation.source))) {
189
- throw new (0, _chunkSFI7U6CAjs.CustomerDbQueryOutcomeUnknownError)(
189
+ throw new (0, _chunkA7X7KFXXjs.CustomerDbQueryOutcomeUnknownError)(
190
190
  new (0, _chunk7P5AA3SNjs.DeeplineError)(
191
191
  "The server did not confirm the original atomic SQL operation.",
192
192
  200,
@@ -2910,8 +2910,8 @@ function runtimeSelectionHeaders(runtime) {
2910
2910
  }
2911
2911
  const receivers = _optionalChain([process, 'access', _104 => _104.env, 'access', _105 => _105.DEEPLINE_RUNTIME_RETAINED_PIPELINE_RECEIVERS, 'optionalAccess', _106 => _106.trim, 'call', _107 => _107()]);
2912
2912
  return {
2913
- [_chunkSFI7U6CAjs.RUNTIME_ENVIRONMENT_TOKEN_HEADER]: token,
2914
- ...receivers ? { [_chunkSFI7U6CAjs.RETAINED_PIPELINE_RECEIVERS_HEADER]: receivers } : {}
2913
+ [_chunkA7X7KFXXjs.RUNTIME_ENVIRONMENT_TOKEN_HEADER]: token,
2914
+ ...receivers ? { [_chunkA7X7KFXXjs.RETAINED_PIPELINE_RECEIVERS_HEADER]: receivers } : {}
2915
2915
  };
2916
2916
  }
2917
2917
  function isolatedCiRuntimeEventReadHeaders() {
@@ -2927,7 +2927,7 @@ function isolatedCiRuntimeEventReadHeaders() {
2927
2927
  "RUNTIME_EVENT_INTERNAL_TOKEN_REQUIRED"
2928
2928
  );
2929
2929
  }
2930
- return { [_chunkSFI7U6CAjs.COORDINATOR_INTERNAL_TOKEN_HEADER]: token };
2930
+ return { [_chunkA7X7KFXXjs.COORDINATOR_INTERNAL_TOKEN_HEADER]: token };
2931
2931
  }
2932
2932
  function normalizeTestPolicyOverrides(value, source) {
2933
2933
  if (value && typeof value === "object" && !Array.isArray(value)) {
@@ -3217,8 +3217,8 @@ var DeeplineClient = (_class = class _DeeplineClient {
3217
3217
  * @throws {@link ConfigError} if no API key can be resolved from any source.
3218
3218
  */
3219
3219
  constructor(options) {
3220
- this.config = _chunkSFI7U6CAjs.resolveConfig.call(void 0, options);
3221
- this.http = new (0, _chunkSFI7U6CAjs.HttpClient)(this.config);
3220
+ this.config = _chunkA7X7KFXXjs.resolveConfig.call(void 0, options);
3221
+ this.http = new (0, _chunkA7X7KFXXjs.HttpClient)(this.config);
3222
3222
  this.toolCalls = new ToolCalls(
3223
3223
  this.http,
3224
3224
  this.config.timeout,
@@ -3409,7 +3409,7 @@ var DeeplineClient = (_class = class _DeeplineClient {
3409
3409
  const cloneEditStarter = this.playCloneEditStarter(play);
3410
3410
  return {
3411
3411
  name: play.name,
3412
- // playKey and triggerStatus were projected away here, so `plays describe`
3412
+ // playKey and triggerStatus were projected away here, so `describe`
3413
3413
  // was strictly less informative than `plays list` for the same play — no
3414
3414
  // stable key, and no way to see that a cron was armed.
3415
3415
  ...play.playKey ? { playKey: play.playKey } : {},
@@ -4313,7 +4313,7 @@ var DeeplineClient = (_class = class _DeeplineClient {
4313
4313
  * This is the SDK equivalent of:
4314
4314
  *
4315
4315
  * ```bash
4316
- * deepline runs get <run-id> --json
4316
+ * deepline runs get <run-id>
4317
4317
  * ```
4318
4318
  */
4319
4319
  async getRunStatus(runId, options) {
@@ -4350,7 +4350,7 @@ var DeeplineClient = (_class = class _DeeplineClient {
4350
4350
  });
4351
4351
  } catch (error) {
4352
4352
  failedLogsLoaded = false;
4353
- const retryCommand = `deepline runs logs ${runId} --failed --json`;
4353
+ const retryCommand = `deepline runs logs ${runId} --failed`;
4354
4354
  const reason = error instanceof Error && error.message.trim() ? ` (${error.message.trim().slice(0, 500)})` : "";
4355
4355
  failedLogs = {
4356
4356
  runId,
@@ -4417,7 +4417,7 @@ var DeeplineClient = (_class = class _DeeplineClient {
4417
4417
  * This is the SDK equivalent of:
4418
4418
  *
4419
4419
  * ```bash
4420
- * deepline runs list --play <play-name> --status failed --json
4420
+ * deepline runs list --play <play-name> --status failed
4421
4421
  * ```
4422
4422
  */
4423
4423
  async listRuns(options) {
@@ -4555,7 +4555,7 @@ var DeeplineClient = (_class = class _DeeplineClient {
4555
4555
  * This is the SDK equivalent of:
4556
4556
  *
4557
4557
  * ```bash
4558
- * deepline runs logs <run-id> --limit 200 --json
4558
+ * deepline runs logs <run-id> --limit 200
4559
4559
  * ```
4560
4560
  */
4561
4561
  async getRunLogs(runId, options) {
@@ -4847,7 +4847,7 @@ var DeeplineClient = (_class = class _DeeplineClient {
4847
4847
  * This is the SDK equivalent of:
4848
4848
  *
4849
4849
  * ```bash
4850
- * deepline runs stop <run-id> --reason "stale lock" --json
4850
+ * deepline runs stop <run-id> --reason "stale lock"
4851
4851
  * ```
4852
4852
  */
4853
4853
  async stopRun(runId, options) {
@@ -4863,8 +4863,8 @@ var DeeplineClient = (_class = class _DeeplineClient {
4863
4863
  * This is the SDK equivalent of:
4864
4864
  *
4865
4865
  * ```bash
4866
- * deepline runs stop-all --dry-run --json
4867
- * deepline runs stop-all --reason "stale lock" --json
4866
+ * deepline runs stop-all --dry-run
4867
+ * deepline runs stop-all --reason "stale lock"
4868
4868
  * ```
4869
4869
  *
4870
4870
  * Use this when a failed parent run left child or waiting runs active and you
@@ -1,14 +1,14 @@
1
1
  // src/cli/command-docs.ts
2
2
  var CONVENTIONS = `
3
3
  Conventions (apply to every command):
4
- Output mode: structured commands print JSON automatically when stdout is not
5
- a terminal, which is the case inside agent tool shells. --json forces it in
6
- a terminal. search is the exception: readable unless --json.
4
+ Output mode: readable text by default. --json prints JSON. tools execute
5
+ is the exception: it prints JSON; --output-format csv prints a readable
6
+ summary and writes the rows to a CSV file.
7
7
  Streams: stdout carries only the command result. Progress, update notices,
8
8
  skills-sync notes, and warnings go to stderr.
9
- Piping JSON: 2>&1 puts stderr text in front of the JSON, so the parse fails
10
- and the real error is hidden; | head and | tail cut the document. Parse
11
- stdout alone (--json | python3 ..., or --json > out.json).
9
+ Piping JSON: pass --json only when a program parses the output, and parse
10
+ stdout alone. 2>&1 puts stderr text in front of the JSON, so the parse
11
+ fails and the real error is hidden; | head and | tail cut the document.
12
12
  JSON envelope: most payloads include render.sections[].lines (the human
13
13
  summary as text), next.* (exact follow-up commands; run commands name
14
14
  them actions.*Cmd), and command_context.
@@ -43,7 +43,7 @@ What Deepline is for:
43
43
  priced per call. Discover with search, inspect with tools
44
44
  describe, call with tools execute.
45
45
  plays a durable workflow, usually a prebuilt waterfall over a CSV. Discover
46
- with search, read the contract with plays describe, start with
46
+ with search, read the contract with describe, start with
47
47
  plays run.
48
48
  runs one execution of a play: status, rows, logs, cost, and export.
49
49
  Inspect with runs get, download rows with runs export.
@@ -51,11 +51,11 @@ What Deepline is for:
51
51
  The agent path for a typical task:
52
52
  deepline --help prints the CLI version and the auth state on its first two
53
53
  lines, checked live. Do not run version or auth status as well.
54
- 1. deepline preflight only when you need the credit balance
54
+ 1. deepline billing balance only when you need the credit balance
55
55
  2. deepline search "<input you have -> result you need>"
56
56
  one search over prebuilt plays, tools, your
57
57
  workspace's plays, and monitor types
58
- 3. deepline plays describe <ref> read required input, CSV columns, output
58
+ 3. deepline describe <ref> read required input, CSV columns, output
59
59
  4. deepline plays run <ref> --input '{"csv":"file.csv"}' waits, prints run id
60
60
  5. deepline runs export <run-id> --out result.csv rows as CSV
61
61
  6. deepline billing usage --run-id <run-id> what it cost
@@ -75,7 +75,7 @@ Working rules:
75
75
  domain, so do not split the file or run a second pass. Phones: a known
76
76
  person -> person-to-phone-batch.
77
77
  The balance is a ceiling, not a budget to use up. Before each paid call,
78
- estimate its cost: the price from tools describe <tool> --pricing-only or
78
+ estimate its cost: the price from describe <tool> or
79
79
  plays list --show-cost, times the results or rows you will request. Take
80
80
  the cheapest route that can answer and test it with the smallest limit.
81
81
  If one tool call would cost more than about 5 credits, lower its limit or
@@ -108,50 +108,7 @@ Auth in non-interactive shells:
108
108
  Skills:
109
109
  The bare skills command reinstalls the Deepline skill files on disk. To see
110
110
  which skills are installed without changing anything, run
111
- skills --dry-run --json and read the plan.
112
- `
113
- },
114
- preflight: {
115
- core: `
116
- Purpose:
117
- One read-only call that reports server health, whether this shell is
118
- authenticated, and the workspace's Deepline credit balance.
119
- When:
120
- Once at the start of a task, before the first paid call. Its balance is the
121
- balance for the whole task; do not repeat preflight, auth status, or billing
122
- balance later unless a command fails with an auth or balance error.
123
- Input:
124
- No arguments. --json forces JSON in a terminal (automatic when piped).
125
- Output (JSON):
126
- status ("ok" or "error"), cli_version, host, health.status, auth.connected
127
- (boolean),
128
- auth.org_name, billing.balance (number of Deepline credits),
129
- billing.balance_display, billing.balance_status, and render.sections with
130
- the four-line human summary.
131
- Cost:
132
- Free. Makes no provider calls.
133
- Avoid:
134
- Do not treat auth.connected false as something to fix with auth register in
135
- an unattended shell; report it instead.
136
- `,
137
- verbose: `
138
- Output fields:
139
- health.status "ok" when the API answered; anything else means the host
140
- is unreachable or degraded and paid work should not start.
141
- health.version API version string, currently "v2".
142
- auth.status "claimed" for a working key; auth.connected mirrors it as
143
- a boolean and is the field to branch on.
144
- auth.org_id/org_name the workspace every following command will bill.
145
- auth.rate_limit_tier informational.
146
- billing.balance Deepline credits available now. Compare it with a play's
147
- cost estimate (plays list --show-cost) times the row
148
- count before running a large file.
149
- billing.rough_usd_balance the same balance in approximate USD.
150
- billing.balance_status "active" normally; other values mean the workspace
151
- cannot spend and runs will fail with a balance error.
152
- Related:
153
- health (server only), auth status (identity only), billing balance (credits
154
- only). preflight is the union and is the one to prefer.
111
+ skills --dry-run and read the plan.
155
112
  `
156
113
  },
157
114
  health: {
@@ -159,7 +116,7 @@ Related:
159
116
  Purpose:
160
117
  Read-only connectivity check that prints the server's raw health payload.
161
118
  When:
162
- Only when preflight reports a health problem and you want the raw payload,
119
+ Only when a command cannot reach the server and you want the raw payload,
163
120
  or with --play-runner to prove the whole play execution plane works.
164
121
  Input:
165
122
  No arguments. --play-runner runs a tiny no-provider play end to end.
@@ -169,7 +126,8 @@ Output (JSON):
169
126
  Cost:
170
127
  Free. --play-runner uses no providers.
171
128
  Avoid:
172
- Do not use health to check auth or balance; preflight covers all three.
129
+ Do not use health to check auth or balance; use auth status or billing
130
+ balance.
173
131
  `
174
132
  },
175
133
  "auth status": {
@@ -179,7 +137,7 @@ Purpose:
179
137
  as, without changing anything.
180
138
  When:
181
139
  When you need the workspace name or id, or to confirm auth after a 3 exit
182
- code. For the routine start-of-task check, prefer preflight.
140
+ code.
183
141
  Input:
184
142
  No arguments. --auth-scope folder|global reads one auth store only.
185
143
  --reveal persists the API key into the local auth file; do not use it.
@@ -234,9 +192,8 @@ Cost:
234
192
  Purpose:
235
193
  Read the workspace's current Deepline credit balance.
236
194
  When:
237
- After a run reports a balance or insufficient-credits error, or when you
238
- need only the balance and preflight was not run. preflight already
239
- includes this number; do not call both at the start of a task.
195
+ Once at the start of a task, before the first paid call, and after a run
196
+ reports a balance or insufficient-credits error.
240
197
  Input:
241
198
  No arguments. Prints one line, "Balance: N credits". --verbose adds
242
199
  reservations and usage awaiting settlement; --json returns the full record.
@@ -259,7 +216,7 @@ When:
259
216
  include cost unless you pass --full.
260
217
  Input:
261
218
  --run-id <run-id> scopes the spend to one play run. --limit and --cursor
262
- page the recent-call list. --json forces JSON.
219
+ page the recent-call list. --json prints JSON.
263
220
  Output (JSON):
264
221
  balance, usage.last_30_days_usage_credits, usage.month_spent_credits, and
265
222
  with --run-id: run.spent_credits, run.rough_usd_spent, run.event_count.
@@ -271,7 +228,7 @@ Avoid:
271
228
  `,
272
229
  verbose: `
273
230
  Output fields:
274
- balance, balance_display, rough_usd_balance the same balance preflight shows.
231
+ balance, balance_display, rough_usd_balance credits available now.
275
232
  plan.usd_per_credit conversion used for rough USD.
276
233
  usage.month_spent_credits spend in the current period.
277
234
  usage.last_30_days_usage_credits trailing-30-day spend.
@@ -308,7 +265,7 @@ Input:
308
265
  comma-separated list. --categories <a,b> and --search_terms <a,b> filter
309
266
  tools and work without a task. --limit (1-50) and --offset page.
310
267
  Output:
311
- A readable ranked list by default, also when piped; read that form. With
268
+ A readable ranked list by default; read that form. With
312
269
  --json: results[] where each item has id, kind (tool, prebuilt_play,
313
270
  custom_play, monitor_type), displayName, and description. A tool adds
314
271
  provider, categories, inputFields, pricing, connected, and executeCommand;
@@ -344,15 +301,11 @@ Input:
344
301
  A play your workspace created is shown instead of a Deepline tool or
345
302
  prebuilt play of the same name; --prebuilt shows the Deepline one.
346
303
  Output:
347
- Readable text by default, also when piped; read that form. With --json:
304
+ Readable text by default; read that form. With --json:
348
305
  kind, id, displayName, description, cost, inputs[], outputs[], and
349
- runExamples {cli, play}, plus the fields tools describe or plays describe
350
- returns for that kind.
306
+ runExamples {cli, play}, plus the kind's own fields.
351
307
  Cost:
352
308
  Free.
353
- Avoid:
354
- tools describe and plays describe are this command limited to one kind and
355
- keep their own flags (--pricing-only, --examples-only, --getters-only).
356
309
  `
357
310
  },
358
311
  tools: {
@@ -366,11 +319,11 @@ When:
366
319
  reuse completed rows, and export.
367
320
  The sequence:
368
321
  search <words> ranked tools and plays for an intent
369
- tools describe <id> required input fields, pricing, output shape
322
+ describe <id> required input fields, pricing, output shape
370
323
  tools execute <id> --input '{...}' run it
371
324
  Cost:
372
325
  search, describe, list, and grep are free. execute can spend credits; the
373
- price is in tools describe <id> --pricing-only.
326
+ price is in describe <id>.
374
327
  `
375
328
  },
376
329
  "tools grep": {
@@ -398,7 +351,7 @@ When:
398
351
  To see what kinds of tools exist (bare tools list) or to enumerate one
399
352
  category without ranking (tools list email_finder).
400
353
  Input:
401
- Optional positional category. --json forces JSON.
354
+ Optional positional category. --json prints JSON.
402
355
  Output (JSON):
403
356
  Bare: one entry per category with its tool count. With a category: one row
404
357
  per tool with required inputs and a pricing hint. Never truncated.
@@ -415,7 +368,7 @@ When:
415
368
  Always before paying for an unfamiliar tool; the input schema is the only
416
369
  reliable source of field names.
417
370
  Input:
418
- The tool id. Prints readable text by default, also when piped; read that
371
+ The tool id. Prints readable text by default; read that
419
372
  form and pass --json only for a program. --pricing-only, --schema-only,
420
373
  --examples-only, --getters-only print one section. --byok prints only
421
374
  whether you can use your own provider credentials and how to connect them. --out <path> saves the
@@ -491,17 +444,17 @@ Output (JSON):
491
444
  listSourcePath}, summary, next, render.sections. Errors return a non-zero
492
445
  exit code and an error object, not a completed status.
493
446
  Cost:
494
- Spends Deepline credits per call at the price in tools describe. A search
447
+ Spends Deepline credits per call at the price in describe. A search
495
448
  with limit N is one call; it is not billed per result.
496
449
  Avoid:
497
450
  Do not wrap the result in shell parsing to find rows; output_preview
498
451
  already lists the row path and the first rows, and --out writes the CSV.
499
- Do not add 2>&1 when you parse --json: stderr text breaks the parse. A
452
+ Do not add 2>&1 when you parse the JSON: stderr text breaks the parse. A
500
453
  failed call prints its error as JSON on stdout.
501
454
  `,
502
455
  verbose: `
503
456
  Input rules:
504
- The object must match inputSchema.fields from tools describe. Extra keys
457
+ The object must match inputSchema.fields from describe. Extra keys
505
458
  are rejected by most providers. Nested filter objects (for example
506
459
  crustdata_v3_* filters) must be passed as JSON, so use --input, not -p.
507
460
  An @path value is read relative to the current directory.
@@ -514,12 +467,12 @@ Output fields:
514
467
  toolResponse, for example toolResponse.raw.companies.
515
468
  output_preview.preview a bounded sample of rows; the full array is at the
516
469
  listSourcePath, and --out writes all of it as CSV.
517
- next.inspect the same command with --json, for debugging.
470
+ next.inspect a read-only command that inspects the call, for debugging.
518
471
  Cases:
519
472
  Insufficient credits fail before the provider is called, with an
520
- insufficient-credits error; check the preflight balance first.
473
+ insufficient-credits error; check billing balance first.
521
474
  A provider that needs a connected account fails with an auth or permission
522
- error; tools describe shows connected false beforehand.
475
+ error; describe shows connected false beforehand.
523
476
  Free tools (run_javascript, free_* ids) never charge.
524
477
  Related:
525
478
  To run the same operation over many rows, put the rows in a CSV and use a
@@ -538,7 +491,7 @@ When:
538
491
  rows on rerun, so a failed run can be resumed instead of repaid.
539
492
  The sequence:
540
493
  search "<input you have -> result you need>" find the play
541
- plays describe <ref> required input, CSV columns, output fields
494
+ describe <ref> required input, CSV columns, output fields
542
495
  plays list --show-cost per-row or per-run credit estimate
543
496
  plays run <ref> --input '{"csv":"file.csv"}' start and wait
544
497
  runs export <run-id> --out out.csv rows
@@ -552,7 +505,7 @@ Writing a play:
552
505
  The file is: export default definePlay('name', async (ctx, input) => {...}).
553
506
  --help --verbose lists the authoring rules.
554
507
  Auditing plays:
555
- plays list --json every saved play
508
+ plays list every saved play
556
509
  plays versions --name <play> its revisions, and which one is live
557
510
  plays get <play> --source --out <dir> a revision's source (--live,
558
511
  --working, or --revision <n>)
@@ -582,7 +535,7 @@ Authoring rules:
582
535
  rows.peek(n), rows.materialize(n), or for await. Array methods on a
583
536
  handle fail plays check.
584
537
  Tool calls: rowCtx.tools.execute({ id, tool, input, description }). Read
585
- results through the getters tools describe lists:
538
+ results through the getters describe lists:
586
539
  result.extractedValues.<name>.get() and
587
540
  result.extractedLists.<name>.get(). A field with no getter is under
588
541
  result.toolResponse.rawV2 with the provider's nesting kept.
@@ -622,7 +575,7 @@ Purpose:
622
575
  When:
623
576
  Finding a saved play by a phrase in its source or description.
624
577
  Input:
625
- A query. --json forces JSON.
578
+ A query. --json prints JSON.
626
579
  Output (JSON):
627
580
  Matching owned plays with the matched fields and terms.
628
581
  Cost:
@@ -639,7 +592,7 @@ When:
639
592
  cost estimate line for the play, or costEstimate in JSON.
640
593
  Input:
641
594
  --show-cost adds estimates. --limit and --cursor page. --categories
642
- filters by tool category. --json forces JSON.
595
+ filters by tool category. --json prints JSON.
643
596
  Output (JSON):
644
597
  plays[] with playKey, reference, displayName, description, origin,
645
598
  runCount, lastRun, and with --show-cost costEstimate {status, unit ("row"
@@ -650,13 +603,13 @@ Output (JSON):
650
603
  Cost:
651
604
  Free.
652
605
  Avoid:
653
- plays describe does not include a cost estimate; this command does.
606
+ describe does not include a cost estimate; this command does.
654
607
  `,
655
608
  verbose: `
656
609
  Pricing a run:
657
610
  Multiply lowCredits..highCredits by the row count when unit is "row", or
658
- use it directly when unit is "run". Compare with billing.balance from
659
- preflight. When the estimate is unavailable, run a two-row slice first and
611
+ use it directly when unit is "run". Compare with the billing balance.
612
+ When the estimate is unavailable, run a two-row slice first and
660
613
  read its actual spend with billing usage --run-id <run-id>.
661
614
  Output fields:
662
615
  costEstimate.source "observed" (from past runs; shown with ~) or
@@ -676,7 +629,7 @@ When:
676
629
  reliable source of the input field and column names.
677
630
  Input:
678
631
  The play reference from search (prebuilt/... or <workspace>/...).
679
- --compact shortens schemas. --json forces JSON.
632
+ --compact shortens schemas. --json prints JSON.
680
633
  Output (JSON):
681
634
  name, reference, displayName, description, inputSchema (JSON Schema plus
682
635
  fields[] {name, required, type}), outputSchema, csvInput {inputField,
@@ -739,7 +692,7 @@ When:
739
692
  Before running a local play file, and after editing one. Free, so run it
740
693
  every time.
741
694
  Input:
742
- A local path ending in .play.ts, or a play reference. --json forces JSON.
695
+ A local path ending in .play.ts, or a play reference. --json prints JSON.
743
696
  Output (JSON):
744
697
  valid (boolean), target, name, reference, inputSchema, outputSchema,
745
698
  runtimeLimit, note, and for local files any errors or warnings with the
@@ -914,7 +867,7 @@ Input:
914
867
  The run id. --full resolves a full-only result and adds diagnostics with
915
868
  billing and timeline (large). --log-failed attaches the failure log window.
916
869
  --input prints the original input (may contain customer data). --json
917
- forces JSON; --json run.status,datasets.name selects fields.
870
+ prints JSON; --json run.status,datasets.name selects fields.
918
871
  Output (JSON):
919
872
  kind "run_overview", run {id, playName, status, startedAt, finishedAt,
920
873
  durationMs}, steps[] {id, kind, status, label, progress {total, executed,
@@ -1054,7 +1007,7 @@ When:
1054
1007
  log. Without a run id it searches events: which runs or steps failed
1055
1008
  (--kind run.failed, --kind step.failed), with --payloads for the details.
1056
1009
  To read what a tool call in a run returned: runs logs <run-id> --kind
1057
- receipt.completed --payloads --json, then one exact result by its eventId
1010
+ receipt.completed --payloads, then one exact result by its eventId
1058
1011
  with --where.
1059
1012
  Input:
1060
1013
  A run id alone reads text logs; no run id, or any search flag, searches
@@ -1080,7 +1033,7 @@ Purpose:
1080
1033
  When:
1081
1034
  A row of a run's output records a receipt key and you need what that tool
1082
1035
  call returned. Without a key, find the call first with runs logs <run-id>
1083
- --kind receipt.completed --payloads --json.
1036
+ --kind receipt.completed --payloads.
1084
1037
  Input:
1085
1038
  The run id, then --key <key> (repeatable) or --keys <file> with one key
1086
1039
  per line (--keys - reads stdin). --out <file> writes the JSON to a new
@@ -1126,7 +1079,7 @@ When:
1126
1079
  running lists them. Completed work is kept and reused by a later run of the
1127
1080
  same play and input.
1128
1081
  Input:
1129
- The run id and --reason "<text>". --json forces JSON.
1082
+ The run id and --reason "<text>". --json prints JSON.
1130
1083
  Output (JSON):
1131
1084
  The run's new status; cancellation is asynchronous, so poll runs get.
1132
1085
  Cost:
@@ -1310,7 +1263,7 @@ Purpose:
1310
1263
  from the current release. It writes to disk.
1311
1264
  When:
1312
1265
  Only when asked to install or update skills. To see what is installed
1313
- without changing anything, use --dry-run --json and read the plan.
1266
+ without changing anything, use --dry-run and read the plan.
1314
1267
  Input:
1315
1268
  --scope global|local, --agent <target>, --dry-run, --json.
1316
1269
  Output (JSON):
@@ -1345,8 +1298,8 @@ Purpose:
1345
1298
  Read-only diagnosis of the local install: CLI version, skills, auth,
1346
1299
  workspace, and API connectivity, with suggested repairs.
1347
1300
  When:
1348
- When something local is wrong (skills missing, auth file odd). For the
1349
- routine start-of-task check use preflight; doctor is stricter and exits 7
1301
+ When something local is wrong (skills missing, auth file odd). Doctor is
1302
+ stricter and exits 7
1350
1303
  when any check fails, which is common in sandboxes with no skills on disk.
1351
1304
  Input:
1352
1305
  --scope global|local. --json.