deepline 0.3.370 → 0.3.372

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 (120) 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/bundling-sources/shared_libs/product-notifications/catalog.ts +15 -3
  15. package/dist/cli/auth-4SXMV3CD.js +33 -0
  16. package/dist/cli/{auth-RIH4S7NC.mjs → auth-ODSACXLF.mjs} +4 -4
  17. package/dist/cli/{billing-Q65H5GJM.js → billing-4ERXY2DZ.js} +148 -148
  18. package/dist/cli/{billing-ERNGN6WK.mjs → billing-OPIOZLAN.mjs} +79 -79
  19. package/dist/cli/{chunk-MX53GIOB.js → chunk-2JRRXXTA.js} +2 -2
  20. package/dist/cli/{chunk-H4IQJRFC.mjs → chunk-2RC5JQ3C.mjs} +9 -9
  21. package/dist/cli/{chunk-IDBLJSLL.mjs → chunk-3CTB7V5F.mjs} +5 -5
  22. package/dist/cli/{chunk-Z6B4UPM4.mjs → chunk-3GK3SH3G.mjs} +2 -2
  23. package/dist/cli/{chunk-RLXMRC6P.mjs → chunk-46JCJ7FT.mjs} +49 -96
  24. package/dist/cli/{chunk-YQMUTC2H.mjs → chunk-4LIUZ4QR.mjs} +11 -11
  25. package/dist/cli/{chunk-BGXG3GEI.mjs → chunk-5HYD3GMS.mjs} +5 -5
  26. package/dist/cli/{chunk-DFJDVQMH.js → chunk-6MDAGRZP.js} +2 -2
  27. package/dist/cli/{chunk-NHB3UWTZ.js → chunk-AQFA7HMN.js} +17 -17
  28. package/dist/cli/{chunk-LNEBKWXM.mjs → chunk-BFLPCGOR.mjs} +1 -1
  29. package/dist/cli/{chunk-5DUTNG37.mjs → chunk-BVUGPOU3.mjs} +10 -10
  30. package/dist/cli/{chunk-A6DJC2RC.js → chunk-D6O3NJHX.js} +68 -68
  31. package/dist/cli/{chunk-666HPUIZ.js → chunk-DM5QUZJR.js} +1 -6
  32. package/dist/cli/{chunk-HHH4MPFY.mjs → chunk-DONL233W.mjs} +6 -6
  33. package/dist/cli/{chunk-NXDRDJ4K.js → chunk-E5UD3JDQ.js} +3 -1
  34. package/dist/cli/{chunk-XTKVXHGD.js → chunk-EFJL5FCU.js} +17 -17
  35. package/dist/cli/{chunk-LJWOPNJJ.mjs → chunk-FGHRRJ3D.mjs} +1 -1
  36. package/dist/cli/{chunk-WQZ22EQU.js → chunk-GZQKUFM5.js} +26 -26
  37. package/dist/cli/{chunk-Y2B56VN7.js → chunk-IUWPC5K6.js} +53 -53
  38. package/dist/cli/{chunk-NEY2M4EZ.mjs → chunk-JAERLCMH.mjs} +1 -6
  39. package/dist/cli/{chunk-MIMASXO4.mjs → chunk-JB6ERQUV.mjs} +3 -1
  40. package/dist/cli/{chunk-CTMA3C3N.js → chunk-JSK6GUY6.js} +49 -96
  41. package/dist/cli/{chunk-T64NZ2A7.mjs → chunk-KC2YOJTU.mjs} +46 -47
  42. package/dist/cli/{chunk-GGRVNAOH.mjs → chunk-MIMV5LTU.mjs} +3 -3
  43. package/dist/cli/{chunk-SFI7U6CA.js → chunk-ML2ZY7YD.js} +4 -4
  44. package/dist/cli/{chunk-A4OX52RV.js → chunk-N5TPMNTT.js} +10 -10
  45. package/dist/cli/{chunk-YEEESF2T.js → chunk-RJ7JJMQO.js} +419 -413
  46. package/dist/cli/{chunk-4Y5UDYQK.js → chunk-RUYZAREB.js} +17 -17
  47. package/dist/cli/{chunk-BKHNCIQD.mjs → chunk-U3W7E5WT.mjs} +193 -187
  48. package/dist/cli/{chunk-MKFHZDBO.js → chunk-VVFH745L.js} +8 -8
  49. package/dist/cli/{chunk-R7AAYFDQ.js → chunk-WJWO74MM.js} +102 -103
  50. package/dist/cli/{chunk-A5RFERJQ.mjs → chunk-XSPAI6MF.mjs} +2 -2
  51. package/dist/cli/{client-QXOERIFI.mjs → client-KF2J754U.mjs} +3 -3
  52. package/dist/cli/client-UUNLXOHF.js +20 -0
  53. package/dist/cli/command-docs.js +2 -2
  54. package/dist/cli/command-docs.mjs +1 -1
  55. package/dist/cli/{csv-ZKIUSDIV.js → csv-UJ3M7NFP.js} +12 -12
  56. package/dist/cli/{csv-V7UKQ7AC.mjs → csv-UL3MCD5D.mjs} +3 -3
  57. package/dist/cli/{db-GWKRVHKS.js → db-444XYOTV.js} +42 -43
  58. package/dist/cli/{db-QQ4BYMPY.mjs → db-SIOWA63T.mjs} +17 -18
  59. package/dist/cli/{describe-XMWXEFMS.mjs → describe-GI5GHAKO.mjs} +12 -12
  60. package/dist/cli/{describe-3AJI2BOS.js → describe-RRBESS3S.js} +28 -28
  61. package/dist/cli/{executions-QV7UE5YG.mjs → executions-4YDP6BXI.mjs} +4 -4
  62. package/dist/cli/{executions-2IMCCV34.js → executions-ERXZUOL5.js} +6 -6
  63. package/dist/cli/{feedback-7SSJ7VPF.js → feedback-3M7D7DZQ.js} +12 -12
  64. package/dist/cli/{feedback-K6WNXZDB.mjs → feedback-CPWQL5LU.mjs} +8 -8
  65. package/dist/cli/git-ITSCNUVB.js +23 -0
  66. package/dist/cli/{git-UOE2K2XQ.mjs → git-XN6C3TJZ.mjs} +4 -4
  67. package/dist/cli/index.js +98 -109
  68. package/dist/cli/index.mjs +46 -57
  69. package/dist/cli/{legacy-noops-GC43OSXL.js → legacy-noops-5XDGOFWH.js} +9 -9
  70. package/dist/cli/{legacy-noops-SOYPIA2X.mjs → legacy-noops-KXQ6TFFL.mjs} +6 -6
  71. package/dist/cli/{monitors-FLCGMXVH.mjs → monitors-33IU5JR6.mjs} +59 -59
  72. package/dist/cli/{monitors-AXANB6WK.js → monitors-KH22PDOC.js} +140 -140
  73. package/dist/cli/{org-Q7EDNZMN.mjs → org-MHYMWUEP.mjs} +28 -27
  74. package/dist/cli/{org-MXD4BTQI.js → org-X4NSLQG5.js} +88 -87
  75. package/dist/cli/play-4QRPOBWW.js +155 -0
  76. package/dist/cli/{play-TZROCF7E.mjs → play-LCZKHKW2.mjs} +10 -8
  77. package/dist/cli/{providers-LOS4MHAG.js → providers-J6LWCF5R.js} +10 -10
  78. package/dist/cli/{providers-JEY4FTWG.mjs → providers-L5FJTSEA.mjs} +7 -7
  79. package/dist/cli/{quickstart-WO5KVVER.mjs → quickstart-NE3BTWGL.mjs} +4 -4
  80. package/dist/cli/{quickstart-27UQGHEH.js → quickstart-OOPFA4MX.js} +6 -6
  81. package/dist/cli/{search-LZHWXC2C.mjs → search-DBXOEOIE.mjs} +5 -5
  82. package/dist/cli/search-UGQDBP76.js +26 -0
  83. package/dist/cli/{secrets-AVJGZABR.mjs → secrets-U2MLWZH2.mjs} +5 -5
  84. package/dist/cli/{secrets-PE7P4L7N.js → secrets-WPMU7UBD.js} +14 -14
  85. package/dist/cli/{sessions-ZDSZTYZV.mjs → sessions-WYNC4AUE.mjs} +4 -4
  86. package/dist/cli/{sessions-I6UDBN7M.js → sessions-YYZ3UJDS.js} +5 -5
  87. package/dist/cli/{settings-SPWH3FET.mjs → settings-FQZSHFC6.mjs} +10 -10
  88. package/dist/cli/{settings-3SLMJHJ2.js → settings-WQDFX3X6.js} +77 -77
  89. package/dist/cli/{setup-R4LUWQE4.js → setup-DKYVNDTM.js} +50 -50
  90. package/dist/cli/{setup-Q3CJ4T2Q.mjs → setup-JKYJT35S.mjs} +15 -15
  91. package/dist/cli/skills-VBQMXDAX.js +28 -0
  92. package/dist/cli/{skills-FGXH432G.mjs → skills-VHVCJJJY.mjs} +4 -4
  93. package/dist/cli/tools-ACEJZMJD.js +40 -0
  94. package/dist/cli/{tools-O7C6PFF2.mjs → tools-E23PU7KM.mjs} +8 -8
  95. package/dist/cli/{update-PPCQV3CD.mjs → update-4A4VU6CW.mjs} +6 -6
  96. package/dist/cli/update-V5KMYHVE.js +28 -0
  97. package/dist/cli/{workflow-Z2KYQ2JE.mjs → workflow-2ZR2ECTG.mjs} +7 -7
  98. package/dist/cli/{workflow-ALKU4ZFD.js → workflow-WB2USWAA.js} +17 -17
  99. package/dist/{client-CjHv4K6D.d.mts → client-Cw0e2Uec.d.mts} +8 -7
  100. package/dist/{client-rTuhNN-x.d.ts → client-CwdiawoG.d.ts} +8 -7
  101. package/dist/index.d.mts +2 -2
  102. package/dist/index.d.ts +2 -2
  103. package/dist/index.js +15 -15
  104. package/dist/index.mjs +4 -4
  105. package/dist/install-integrity.json +82 -82
  106. package/dist/plays/run-request.d.mts +1 -1
  107. package/dist/plays/run-request.d.ts +1 -1
  108. package/dist/release.d.mts +1 -5
  109. package/dist/release.d.ts +1 -5
  110. package/dist/release.js +2 -2
  111. package/dist/release.mjs +1 -1
  112. package/package.json +1 -1
  113. package/dist/cli/auth-DD3PVIRQ.js +0 -33
  114. package/dist/cli/client-DNAFHKWV.js +0 -20
  115. package/dist/cli/git-EBSF3254.js +0 -23
  116. package/dist/cli/play-YWQXVOBT.js +0 -153
  117. package/dist/cli/search-OQ3OEFUA.js +0 -26
  118. package/dist/cli/skills-IDXBBOUW.js +0 -28
  119. package/dist/cli/tools-WHLD4Y4O.js +0 -40
  120. package/dist/cli/update-K6HE3XKO.js +0 -28
@@ -4,7 +4,7 @@ import {
4
4
  recordApiResponse,
5
5
  schemaField,
6
6
  schemaFields
7
- } from "./chunk-Z6B4UPM4.mjs";
7
+ } from "./chunk-3GK3SH3G.mjs";
8
8
  import {
9
9
  shellQuote
10
10
  } from "./chunk-OVDNJAJN.mjs";
@@ -13,7 +13,7 @@ import {
13
13
  observedMaxText,
14
14
  recentSearchRef,
15
15
  registerDeprecatedSearchCommand
16
- } from "./chunk-BGXG3GEI.mjs";
16
+ } from "./chunk-5HYD3GMS.mjs";
17
17
  import {
18
18
  extractSummaryFields,
19
19
  projectRowOutput,
@@ -21,14 +21,14 @@ import {
21
21
  tryConvertToList,
22
22
  writeCsvOutputFile,
23
23
  writeJsonOutputFile
24
- } from "./chunk-MIMASXO4.mjs";
24
+ } from "./chunk-JB6ERQUV.mjs";
25
25
  import {
26
26
  playToolListGetterMode
27
27
  } from "./chunk-7E66A24V.mjs";
28
28
  import {
29
29
  DeeplineClient,
30
30
  validateExecutionIdempotencyKey
31
- } from "./chunk-H4IQJRFC.mjs";
31
+ } from "./chunk-2RC5JQ3C.mjs";
32
32
  import {
33
33
  beginToolExecuteCommand,
34
34
  getToolExecuteInvocationId,
@@ -42,11 +42,11 @@ import {
42
42
  printJsonError,
43
43
  renderCommandEnvelopeText,
44
44
  shouldEmitJson
45
- } from "./chunk-GGRVNAOH.mjs";
45
+ } from "./chunk-MIMV5LTU.mjs";
46
46
  import {
47
47
  resolveConfig,
48
48
  sdkCliStateDirPath
49
- } from "./chunk-LJWOPNJJ.mjs";
49
+ } from "./chunk-FGHRRJ3D.mjs";
50
50
  import {
51
51
  DeeplineError
52
52
  } from "./chunk-NXGCO4JB.mjs";
@@ -331,7 +331,7 @@ function zeroMatchToolGuidance(options) {
331
331
  ] : [],
332
332
  {
333
333
  label: "List the current atomic tool catalog",
334
- command: "deepline tools list --json"
334
+ command: "deepline tools list"
335
335
  },
336
336
  ...query ? [
337
337
  {
@@ -750,7 +750,7 @@ function playReferenceForTool(tool) {
750
750
  return null;
751
751
  }
752
752
  function playSearchCommandForToolId(toolId) {
753
- return `deepline search --type prebuilts ${JSON.stringify(toolId.replace(/_/g, " "))} --json`;
753
+ return `deepline search --type prebuilts ${JSON.stringify(toolId.replace(/_/g, " "))}`;
754
754
  }
755
755
  function playRunCommandForTool(tool, toolId, input) {
756
756
  const playReference = playReferenceForTool(tool);
@@ -764,7 +764,7 @@ function playLikeToolExecuteErrorMessage(toolId, tool) {
764
764
  return [
765
765
  `${toolId} is a workflow/play entry, not an atomic provider tool.`,
766
766
  nextStep,
767
- 'Or search provider tools only with: deepline search "<input you have -> result you need>" --type tools --json'
767
+ 'Or search provider tools only with: deepline search "<input you have -> result you need>" --type tools'
768
768
  ].join("\n");
769
769
  }
770
770
  function printPlayLikeToolExecuteError(toolId, tool) {
@@ -791,10 +791,10 @@ Concepts:
791
791
  through the plays namespace.
792
792
 
793
793
  Common commands:
794
- deepline search "name and company domain -> work email" --type tools --json
794
+ deepline search "name and company domain -> work email" --type tools
795
795
  deepline describe hunter_email_verifier
796
796
  deepline tools execute hunter_email_verifier --input '{"email":"a@b.com"}'
797
- deepline billing usage --request-id <job_id> --json
797
+ deepline billing usage --request-id <job_id>
798
798
 
799
799
  Output:
800
800
  Use deepline describe for tool contracts.
@@ -821,14 +821,14 @@ Notes:
821
821
  Examples:
822
822
  deepline tools list
823
823
  deepline tools list email_finder
824
- deepline tools list email_finder --json
825
- deepline tools list --categories email_finder --json
826
- deepline search "name and company domain -> work email" --type tools --json
824
+ deepline tools list email_finder
825
+ deepline tools list --categories email_finder
826
+ deepline search "name and company domain -> work email" --type tools
827
827
  `
828
828
  ).option(
829
829
  "--categories <categories>",
830
830
  "Comma-separated categories filter (back-compat alias for the positional)"
831
- ).option("--compact", "Drop verbose fields from JSON output").option("--json", "Emit JSON output. Also automatic when stdout is piped").action(async (category, options) => {
831
+ ).option("--compact", "Drop verbose fields from JSON output").option("--json", "Emit JSON output").action(async (category, options) => {
832
832
  process.exitCode = await listTools(category, {
833
833
  categories: typeof options.categories === "string" ? options.categories : void 0,
834
834
  compact: options.compact !== false,
@@ -848,14 +848,14 @@ Notes:
848
848
  the default --mode all for AND.
849
849
 
850
850
  Examples:
851
- deepline tools grep email --categories email_finder --json
852
- deepline tools grep "phone validate" --mode all --json
853
- deepline tools grep hunter --mode phrase --json
851
+ deepline tools grep email --categories email_finder
852
+ deepline tools grep "phone validate" --mode all
853
+ deepline tools grep hunter --mode phrase
854
854
  `
855
855
  ).option(
856
856
  "--categories <categories>",
857
857
  "Comma-separated categories to filter inventory"
858
- ).option("--mode <mode>", "Grep matching mode: all, any, or phrase").option("--compact", "Drop verbose fields from JSON output").option("--json", "Emit JSON output. Also automatic when stdout is piped").action(async (query, options) => {
858
+ ).option("--mode <mode>", "Grep matching mode: all, any, or phrase").option("--compact", "Drop verbose fields from JSON output").option("--json", "Emit JSON output").action(async (query, options) => {
859
859
  const mode = options.mode === "any" || options.mode === "phrase" ? options.mode : "all";
860
860
  process.exitCode = await grepTools(query, {
861
861
  json: options.json,
@@ -882,18 +882,16 @@ Notes:
882
882
  preserve the nesting shown in the tool's example. Schemas and examples are
883
883
  separate describe fields.
884
884
  get is accepted as a compatibility alias for describe.
885
- Text by default, including when piped; pass --json for structured output.
885
+ Text by default; pass --json for structured output.
886
886
 
887
887
  Examples:
888
888
  deepline tools describe hunter_email_verifier
889
889
  deepline tools describe hunter_email_verifier --pricing-only
890
- deepline tools describe hunter_email_verifier --pricing-only --json
891
890
  deepline tools describe hunter_email_verifier --examples-only
892
891
  deepline tools describe hunter_email_verifier --byok
893
- deepline tools describe hunter_email_verifier --json
894
- deepline tools describe deeplineagent --model openai/gpt-5.6-luna --json
895
- deepline tools describe ai_inference --estimate-payload @payload.json --json
896
- deepline tools describe ai_evaluate --estimate-payload @payload.json --json
892
+ deepline tools describe deeplineagent --model openai/gpt-5.6-luna
893
+ deepline tools describe ai_inference --estimate-payload @payload.json
894
+ deepline tools describe ai_evaluate --estimate-payload @payload.json
897
895
  deepline tools execute hunter_email_verifier --input '{"email":"a@b.com"}'
898
896
  `
899
897
  ).option("--json", "Emit JSON output").option(
@@ -942,7 +940,7 @@ Examples:
942
940
  process.exitCode = await narrowView();
943
941
  return;
944
942
  }
945
- const { describeAnything } = await import("./describe-XMWXEFMS.mjs");
943
+ const { describeAnything } = await import("./describe-GI5GHAKO.mjs");
946
944
  process.exitCode = await describeAnything(
947
945
  toolId,
948
946
  { ...options, kinds: ["tools", "monitors"], fetchedTool: metadata },
@@ -973,11 +971,10 @@ Notes:
973
971
  Examples:
974
972
  deepline tools execute hunter_email_verifier --input '{"email":"a@b.com"}'
975
973
  deepline describe hunter_email_verifier
976
- deepline billing usage --request-id <job_id> --json
977
- deepline tools execute bounceban_verify_bulk --input @batch.json --timeout 10m --json
974
+ deepline billing usage --request-id <job_id>
975
+ deepline tools execute bounceban_verify_bulk --input @batch.json --timeout 10m
978
976
  deepline tools execute hunter_email_verifier -p email=a@b.com
979
- deepline tools execute test_rate_limit --input '{"key":"smoke"}' --timeout 90s --json
980
- deepline tools execute test_rate_limit --input '{"key":"smoke"}' --json | jq '.status'
977
+ deepline tools execute test_rate_limit --input '{"key":"smoke"}' --timeout 90s
981
978
  deepline tools execute free_simple_company_search --input '{"sql":"SELECT company_name FROM companies LIMIT 10"}' --out companies.csv
982
979
  `
983
980
  ).option(
@@ -1248,7 +1245,7 @@ function toolContractJsonForDescribe(tool, requestedToolId, authoringContractEdi
1248
1245
  rows: []
1249
1246
  })
1250
1247
  ) : null;
1251
- const executeCommand = deprecated && replacementToolId ? `deepline tools execute ${replacementToolId} --input '{...}' --json` : isPlayLikeTool(tool) ? playRunCommandForTool(tool, toolId) : `deepline tools execute ${toolId} --input '{...}' --json`;
1248
+ const executeCommand = deprecated && replacementToolId ? `deepline tools execute ${replacementToolId} --input '{...}'` : isPlayLikeTool(tool) ? playRunCommandForTool(tool, toolId) : `deepline tools execute ${toolId} --input '{...}'`;
1252
1249
  return {
1253
1250
  schemaVersion: 1,
1254
1251
  toolId,
@@ -1362,14 +1359,14 @@ function monitorTypePricingLines(tool) {
1362
1359
  );
1363
1360
  const keys = Object.keys(byType);
1364
1361
  if (!keys.length) {
1365
- return ["Pricing: Deepline credits per accepted event (see --json)"];
1362
+ return ["Pricing: Deepline credits per accepted event"];
1366
1363
  }
1367
1364
  const lines = ["Pricing (Deepline credits per accepted event):"];
1368
1365
  for (const key of keys) {
1369
1366
  const entry = isRecord(byType[key]) ? byType[key] : {};
1370
1367
  const credits = numberField2(entry, "deepline_credits", "deeplineCredits");
1371
1368
  const display = stringField2(entry, "display");
1372
- const shown = display || (credits !== null ? `${formatDecimal(credits)} credits/event` : "see --json");
1369
+ const shown = display || (credits !== null ? `${formatDecimal(credits)} credits/event` : "not listed");
1373
1370
  lines.push(`- ${key}: ${shown}`);
1374
1371
  }
1375
1372
  return lines;
@@ -1586,7 +1583,7 @@ function printCompactToolContract(tool, requestedToolId) {
1586
1583
  }
1587
1584
  console.log("");
1588
1585
  console.log(
1589
- `More: deepline describe ${replacementToolId || contract.toolId} --json`
1586
+ `More: deepline describe ${replacementToolId || contract.toolId}`
1590
1587
  );
1591
1588
  return;
1592
1589
  }
@@ -1644,7 +1641,7 @@ function printCompactToolContract(tool, requestedToolId) {
1644
1641
  console.log(
1645
1642
  "Provider-specific fields: inspect result.toolResponse.rawV2 and its observed envelope. Prefer the declared getters above."
1646
1643
  );
1647
- console.log(`More: deepline describe ${contract.toolId} --json`);
1644
+ console.log(`More: deepline describe ${contract.toolId}`);
1648
1645
  }
1649
1646
  function toolByokLines(toolId, byok) {
1650
1647
  if (typeof byok.supported !== "boolean") {
@@ -1843,7 +1840,7 @@ function printToolGettersOnly(tool, requestedToolId) {
1843
1840
  console.log(`Getters: ${contract.toolId}`);
1844
1841
  if (!listGetters.length && !valueGetters.length) {
1845
1842
  console.log(
1846
- "No generated getters declared. Use --json only if you need raw metadata."
1843
+ "No generated getters declared."
1847
1844
  );
1848
1845
  return;
1849
1846
  }
@@ -1943,7 +1940,7 @@ function toolMetadataJsonForDescribe(tool, requestedToolId) {
1943
1940
  rows: []
1944
1941
  })
1945
1942
  ) : null;
1946
- const observedOutputCommand = isPlayLikeTool(tool) ? playRunCommandForTool(tool, toolId) : `deepline tools execute ${toolId} --input '{...}' --json`;
1943
+ const observedOutputCommand = isPlayLikeTool(tool) ? playRunCommandForTool(tool, toolId) : `deepline tools execute ${toolId} --input '{...}'`;
1947
1944
  const {
1948
1945
  cost: _cost,
1949
1946
  deeplineCreditsPerPricingUnit: _deeplineCreditsPerPricingUnit,
@@ -1982,7 +1979,7 @@ function toolMetadataJsonForDescribe(tool, requestedToolId) {
1982
1979
  invalidGetterHint: "If TypeScript says an extractedValues/extractedLists property does not exist, that field is not a declared Deepline getter.",
1983
1980
  observeActualShape: observedOutputCommand,
1984
1981
  observedOutput: observedOutputCommand,
1985
- forPlayGetterBugs: "Run a tiny play, inspect returned handles with `deepline runs get <run-id> --full --json`, then export row datasets with `deepline runs export`.",
1982
+ forPlayGetterBugs: "Run a tiny play, inspect returned handles with `deepline runs get <run-id> --full`, then export row datasets with `deepline runs export`.",
1986
1983
  executeOutputFields: "tools execute JSON may include output_preview for this direct probe only; play debugging uses run output and returned dataset handles."
1987
1984
  },
1988
1985
  ...starterScript ? { starterScript } : {}
@@ -2415,9 +2412,9 @@ function apifySyncRecoveryNext(rawResponse) {
2415
2412
  const getDatasetItemsTool = stringField2(getDatasetItems, "tool");
2416
2413
  const getDatasetItemsPayload = recordField(getDatasetItems, "payload");
2417
2414
  return {
2418
- getActorRun: `deepline tools execute ${getActorRunTool} --input ${shellQuote(JSON.stringify(getActorRunPayload))} --json`,
2415
+ getActorRun: `deepline tools execute ${getActorRunTool} --input ${shellQuote(JSON.stringify(getActorRunPayload))}`,
2419
2416
  ...getDatasetItemsTool && Object.keys(getDatasetItemsPayload).length > 0 ? {
2420
- getDatasetItems: `deepline tools execute ${getDatasetItemsTool} --input ${shellQuote(JSON.stringify(getDatasetItemsPayload))} --json`
2417
+ getDatasetItems: `deepline tools execute ${getDatasetItemsTool} --input ${shellQuote(JSON.stringify(getDatasetItemsPayload))}`
2421
2418
  } : {}
2422
2419
  };
2423
2420
  }
@@ -2692,7 +2689,7 @@ export default definePlay(${JSON.stringify(playName)}, async (ctx) => {
2692
2689
  }
2693
2690
  function toolExecutionInspection(input) {
2694
2691
  return {
2695
- inspect: input.idempotencyKey !== void 0 ? `deepline executions get --idempotency-key ${shellQuote(input.idempotencyKey)} --json` : `deepline describe ${shellQuote(input.toolId)} --json`,
2692
+ inspect: input.idempotencyKey !== void 0 ? `deepline executions get --idempotency-key ${shellQuote(input.idempotencyKey)}` : `deepline describe ${shellQuote(input.toolId)}`,
2696
2693
  inspectDescription: input.idempotencyKey !== void 0 ? "Read the saved execution without starting new work." : "Read the tool contract; this unkeyed call has no saved recovery identity."
2697
2694
  };
2698
2695
  }
@@ -2720,7 +2717,7 @@ function buildToolExecuteBaseEnvelope(input) {
2720
2717
  envelope,
2721
2718
  "output"
2722
2719
  );
2723
- const billingLookup = typeof envelope.job_id === "string" && envelope.job_id.trim() ? `deepline billing usage --request-id ${shellQuote(envelope.job_id)} --json` : null;
2720
+ const billingLookup = typeof envelope.job_id === "string" && envelope.job_id.trim() ? `deepline billing usage --request-id ${shellQuote(envelope.job_id)}` : null;
2724
2721
  const inspection = toolExecutionInspection(input);
2725
2722
  const actions = input.listConversion ? [
2726
2723
  {
@@ -2887,7 +2884,7 @@ function buildToolExecuteRowArtifactEnvelope(input) {
2887
2884
  }
2888
2885
  async function executeTool(toolId, options) {
2889
2886
  const output = toolExecuteJsonOption(options.json);
2890
- const wantsJson = shouldEmitJson(output.requested);
2887
+ const wantsJson = shouldEmitJson(output.requested) || (options.outputFormat ?? "auto").trim().toLowerCase() !== "csv";
2891
2888
  let parsed;
2892
2889
  try {
2893
2890
  parsed = parseExecuteOptions(toolId, options, output);
@@ -3004,7 +3001,7 @@ async function executeTool(toolId, options) {
3004
3001
  );
3005
3002
  const executeExitCode = toolExecuteExitCode(baseEnvelope);
3006
3003
  const delivered = await runToolExecuteStage("output delivery", () => {
3007
- if (!parsed.outPath && (parsed.outputFormat === "json" || parsed.outputFormat === "auto" && shouldEmitJson())) {
3004
+ if (!parsed.outPath && (parsed.outputFormat === "json" || parsed.outputFormat === "auto" && wantsJson)) {
3008
3005
  printCommandEnvelope(baseEnvelope, { json: true });
3009
3006
  return true;
3010
3007
  }
@@ -3053,7 +3050,7 @@ async function executeTool(toolId, options) {
3053
3050
  payload_file: jsonPath
3054
3051
  }
3055
3052
  },
3056
- { json: parsed.outputFormat === "csv_file" || shouldEmitJson() }
3053
+ { json: parsed.outputFormat === "csv_file" || wantsJson }
3057
3054
  );
3058
3055
  return true;
3059
3056
  }
@@ -3106,12 +3103,14 @@ inspect: ${inspection.inspect}
3106
3103
  output_path: csv.path
3107
3104
  }
3108
3105
  },
3109
- { json: shouldEmitJson(), text: `${csv.path}
3106
+ { json: wantsJson, text: `${csv.path}
3110
3107
  ` }
3111
3108
  );
3112
3109
  return true;
3113
3110
  }
3114
- printCommandEnvelope(materializedEnvelope, { json: false });
3111
+ printCommandEnvelope(materializedEnvelope, {
3112
+ json: wantsJson && parsed.outputFormat !== "csv"
3113
+ });
3115
3114
  return true;
3116
3115
  });
3117
3116
  if (delivered) {
@@ -3,7 +3,7 @@ import {
3
3
  detectAgentRuntime,
4
4
  resolveCliCommandContext,
5
5
  resolveConfig
6
- } from "./chunk-LJWOPNJJ.mjs";
6
+ } from "./chunk-FGHRRJ3D.mjs";
7
7
  import {
8
8
  DeeplineError
9
9
  } from "./chunk-NXGCO4JB.mjs";
@@ -60,7 +60,7 @@ function parseJsonFields(args, surface) {
60
60
  const command = surface === "get" ? "runs get" : `plays ${surface}`;
61
61
  const quotedTarget = `'${target.replace(/'/g, "'\\''")}'`;
62
62
  throw new DeeplineError(
63
- `--json diagnostics requires --full. For inspection, use: deepline ${surface === "run" ? "runs get <run-id>" : `${command} ${quotedTarget}`} --full --json ${path}`,
63
+ `--json diagnostics requires --full. For inspection, use: deepline ${surface === "run" ? "runs get <run-id>" : `${command} ${quotedTarget}`} --full`,
64
64
  void 0,
65
65
  "INVALID_ARGUMENT"
66
66
  );
@@ -903,7 +903,7 @@ function printJsonError(error) {
903
903
  printJson(errorToJsonPayload(error));
904
904
  }
905
905
  function shouldEmitJson(explicitJson = false) {
906
- return explicitJson || !process.stdout.isTTY;
906
+ return explicitJson || process.argv.includes("--json");
907
907
  }
908
908
  function argsWantJson(args) {
909
909
  return shouldEmitJson(args.includes("--json"));
@@ -14,7 +14,7 @@ var _chunkXNYIZMNQjs = require('./chunk-XNYIZMNQ.js');
14
14
  var _chunk7P5AA3SNjs = require('./chunk-7P5AA3SN.js');
15
15
 
16
16
 
17
- var _chunk666HPUIZjs = require('./chunk-666HPUIZ.js');
17
+ var _chunkDM5QUZJRjs = require('./chunk-DM5QUZJR.js');
18
18
 
19
19
  // src/errors.ts
20
20
  var CustomerDbQueryOutcomeUnknownError = (_class = class extends _chunk7P5AA3SNjs.DeeplineError {
@@ -743,9 +743,9 @@ function resolveCliCommandContext(inputConfig, requestedScope) {
743
743
  }
744
744
 
745
745
  // src/version.ts
746
- var SDK_VERSION = _chunk666HPUIZjs.SDK_RELEASE.version;
747
- var SDK_API_MAJOR = _chunk666HPUIZjs.SDK_RELEASE.contracts.api.currentMajor;
748
- var SDK_API_CONTRACT = _nullishCoalesce(_chunk666HPUIZjs.SDK_RELEASE.contracts.api.legacyWireIds[0], () => ( `api-v${SDK_API_MAJOR}`));
746
+ var SDK_VERSION = _chunkDM5QUZJRjs.SDK_RELEASE.version;
747
+ var SDK_API_MAJOR = _chunkDM5QUZJRjs.SDK_RELEASE.contracts.api.currentMajor;
748
+ var SDK_API_CONTRACT = _nullishCoalesce(_chunkDM5QUZJRjs.SDK_RELEASE.contracts.api.legacyWireIds[0], () => ( `api-v${SDK_API_MAJOR}`));
749
749
 
750
750
  // src/agent-runtime.ts
751
751
 
@@ -1,14 +1,14 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); 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
- var _chunk4Y5UDYQKjs = require('./chunk-4Y5UDYQK.js');
3
+ var _chunkRUYZAREBjs = require('./chunk-RUYZAREB.js');
4
4
 
5
5
 
6
6
 
7
- var _chunkMKFHZDBOjs = require('./chunk-MKFHZDBO.js');
7
+ var _chunkVVFH745Ljs = require('./chunk-VVFH745L.js');
8
8
 
9
9
 
10
10
 
11
- var _chunkSFI7U6CAjs = require('./chunk-SFI7U6CA.js');
11
+ var _chunkML2ZY7YDjs = require('./chunk-ML2ZY7YD.js');
12
12
 
13
13
  // src/cli/commands/search.ts
14
14
  var _commander = require('commander');
@@ -18,7 +18,7 @@ var _fs = require('fs');
18
18
  var _path = require('path');
19
19
  var SEARCH_REF_TTL_MS = 15 * 6e4;
20
20
  function lastSearchPath() {
21
- return _path.join.call(void 0, _chunkSFI7U6CAjs.sdkCliStateDirPath.call(void 0, _chunkSFI7U6CAjs.resolveConfig.call(void 0, ).baseUrl), "last-search.json");
21
+ return _path.join.call(void 0, _chunkML2ZY7YDjs.sdkCliStateDirPath.call(void 0, _chunkML2ZY7YDjs.resolveConfig.call(void 0, ).baseUrl), "last-search.json");
22
22
  }
23
23
  function rememberSearchRef(searchRef) {
24
24
  try {
@@ -259,7 +259,7 @@ function searchRow(item) {
259
259
  }
260
260
  function renderSearchResults(result) {
261
261
  if (result.results.length === 0)
262
- return _chunkMKFHZDBOjs.renderCommandEnvelopeText.call(void 0, result);
262
+ return _chunkVVFH745Ljs.renderCommandEnvelopeText.call(void 0, result);
263
263
  const rows = result.results.map(searchRow);
264
264
  const kinds = new Set(rows.map((row) => row.kind));
265
265
  const onlyTools = kinds.size === 1 && kinds.has("tool");
@@ -283,7 +283,7 @@ function renderSearchResults(result) {
283
283
  actions: _optionalChain([render, 'optionalAccess', _11 => _11.actions])
284
284
  };
285
285
  const followUps = _optionalChain([remaining, 'access', _12 => _12.sections, 'optionalAccess', _13 => _13.length]) || _optionalChain([remaining, 'access', _14 => _14.actions, 'optionalAccess', _15 => _15.length]) ? `
286
- ${_chunkMKFHZDBOjs.renderCommandEnvelopeText.call(void 0, { render: remaining })}` : "";
286
+ ${_chunkVVFH745Ljs.renderCommandEnvelopeText.call(void 0, { render: remaining })}` : "";
287
287
  const notes = rows.flatMap(
288
288
  (row) => row.notes.map((note) => ` ${row.id}: ${note}`)
289
289
  );
@@ -292,7 +292,7 @@ ${_chunkMKFHZDBOjs.renderCommandEnvelopeText.call(void 0, { render: remaining })
292
292
  ...rows.some((row) => row.cost.endsWith("*")) ? [
293
293
  "* Additional pricing conditions apply; see full pricing before execution."
294
294
  ] : [],
295
- "Full descriptions and pricing: deepline tools describe <toolId> or search --json."
295
+ "Full descriptions and pricing: deepline describe <toolId>."
296
296
  ].join("\n");
297
297
  return `${title}
298
298
 
@@ -360,7 +360,7 @@ async function runSearch(queryInput, options, types, exclude = []) {
360
360
  console.error(USAGE);
361
361
  return 1;
362
362
  }
363
- const { search_ref: searchRef, ...result } = await new (0, _chunk4Y5UDYQKjs.DeeplineClient)().search({
363
+ const { search_ref: searchRef, ...result } = await new (0, _chunkRUYZAREBjs.DeeplineClient)().search({
364
364
  query,
365
365
  types,
366
366
  exclude,
@@ -374,7 +374,7 @@ async function runSearch(queryInput, options, types, exclude = []) {
374
374
  });
375
375
  if (searchRef) rememberSearchRef(searchRef);
376
376
  pointAtDescribe(result);
377
- _chunkMKFHZDBOjs.printCommandEnvelope.call(void 0, result, {
377
+ _chunkVVFH745Ljs.printCommandEnvelope.call(void 0, result, {
378
378
  json: options.json === true,
379
379
  text: renderSearchResults(result)
380
380
  });
@@ -428,7 +428,7 @@ Notes:
428
428
  sentence is what ranks the results. Omit it only when --categories and/or
429
429
  --search_terms is supplied. Use --limit and --offset to page (limit 1-50,
430
430
  offset zero-based); JSON includes next_offset.
431
- Search prints a readable result list by default, piped or not, and that is
431
+ Search prints a readable result list by default, and that is
432
432
  the recommended form. Pass --json only when a program parses the result.
433
433
  Readable prices are Deepline credits with a per-row unit. Estimates and
434
434
  observed historical charges are labelled; usage-based prices are not quotes.