deepline 0.3.392 → 0.3.394

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 (153) hide show
  1. package/dist/bundling-sources/sdk/src/client.ts +156 -24
  2. package/dist/bundling-sources/sdk/src/compat.ts +9 -0
  3. package/dist/bundling-sources/sdk/src/http.ts +5 -1
  4. package/dist/bundling-sources/sdk/src/index.ts +5 -0
  5. package/dist/bundling-sources/sdk/src/plays/run-request.ts +182 -6
  6. package/dist/bundling-sources/sdk/src/release.ts +4 -1
  7. package/dist/bundling-sources/sdk/src/types.ts +13 -0
  8. package/dist/bundling-sources/shared_libs/integration-contracts/request-warnings.ts +64 -0
  9. package/dist/bundling-sources/shared_libs/play-data-plane/runtime-sheet-storage-contract.ts +315 -0
  10. package/dist/bundling-sources/shared_libs/play-runtime/async-operation.ts +41 -8
  11. package/dist/bundling-sources/shared_libs/play-runtime/context.ts +895 -54
  12. package/dist/bundling-sources/shared_libs/play-runtime/ctx-types.ts +41 -4
  13. package/dist/bundling-sources/shared_libs/play-runtime/durable-call-policy.ts +28 -0
  14. package/dist/bundling-sources/shared_libs/play-runtime/durable-invocation-fence.ts +36 -0
  15. package/dist/bundling-sources/shared_libs/play-runtime/freshness-receipt-execution.ts +251 -0
  16. package/dist/bundling-sources/shared_libs/play-runtime/map-execution-frame.ts +11 -3
  17. package/dist/bundling-sources/shared_libs/play-runtime/play-runs/projection/gateway-adapter.ts +1 -0
  18. package/dist/bundling-sources/shared_libs/play-runtime/play-runtime-semantics.ts +30 -1
  19. package/dist/bundling-sources/shared_libs/play-runtime/run-identity.ts +26 -0
  20. package/dist/bundling-sources/shared_libs/play-runtime/runner-app/index.ts +168 -10
  21. package/dist/bundling-sources/shared_libs/play-runtime/runtime-api.ts +252 -10
  22. package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/absurd-runtime-worker.ts +92 -58
  23. package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/postgres-pool.ts +7 -1
  24. package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/postgres-progress.ts +30 -7
  25. package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/postgres.ts +1161 -316
  26. package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/runtime-event-search.ts +28 -15
  27. package/dist/bundling-sources/shared_libs/play-runtime/tool-execute-retry-policy.ts +24 -3
  28. package/dist/bundling-sources/shared_libs/play-runtime/tool-result.ts +32 -0
  29. package/dist/bundling-sources/shared_libs/plays/authoring-contract.ts +103 -23
  30. package/dist/bundling-sources/shared_libs/plays/core.ts +1 -1
  31. package/dist/bundling-sources/shared_libs/plays/dataset.ts +172 -79
  32. package/dist/bundling-sources/shared_libs/plays/static-pipeline.ts +173 -1
  33. package/dist/bundling-sources/shared_libs/plays/tool-result-types.ts +18 -0
  34. package/dist/cli/auth-IHKISLJQ.js +39 -0
  35. package/dist/cli/{auth-6JSA2ZCW.mjs → auth-OSXDAVCF.mjs} +4 -4
  36. package/dist/cli/{billing-Q5BLQHIU.js → billing-EKLYOXUY.js} +101 -74
  37. package/dist/cli/{billing-MRRO643H.mjs → billing-ZNNKX3UR.mjs} +32 -5
  38. package/dist/cli/{chunk-4SFPVW7A.js → chunk-2MDDA7A4.js} +26 -26
  39. package/dist/cli/{chunk-JOFPQGXW.js → chunk-354JCXA2.js} +50 -50
  40. package/dist/cli/{chunk-7E66A24V.mjs → chunk-3HU47EGZ.mjs} +71 -9
  41. package/dist/cli/{chunk-DSWSEHRX.mjs → chunk-3HWALOL2.mjs} +1 -1
  42. package/dist/cli/{chunk-T7OKJ2T6.js → chunk-4P27AXEA.js} +73 -63
  43. package/dist/cli/{chunk-24VEN5PQ.mjs → chunk-5BB2RGAX.mjs} +190 -18
  44. package/dist/cli/{chunk-JSLPHFP7.js → chunk-6YAUMG27.js} +3 -2
  45. package/dist/cli/{chunk-MU6M3URX.mjs → chunk-BP33SIZF.mjs} +1 -1
  46. package/dist/cli/{chunk-WMS5U6YB.js → chunk-CS6RAIVY.js} +20 -19
  47. package/dist/cli/{chunk-CVLM3WMJ.js → chunk-E23BQ5SC.js} +242 -183
  48. package/dist/cli/{chunk-2GAHHSLB.mjs → chunk-FJGW5GXU.mjs} +3 -2
  49. package/dist/cli/{chunk-YN6YA7ZZ.mjs → chunk-JHIJIHFB.mjs} +79 -20
  50. package/dist/cli/{chunk-Q6EOHNRH.mjs → chunk-JI2B4RZP.mjs} +119 -6
  51. package/dist/cli/{chunk-5O4B6AUN.js → chunk-KB4SDX5S.js} +71 -9
  52. package/dist/cli/{chunk-RV6ALZIX.js → chunk-KGNTKMRG.js} +32 -7
  53. package/dist/cli/{chunk-6DBOU7UH.js → chunk-KI635JN4.js} +176 -87
  54. package/dist/cli/{chunk-2FQG2HU4.js → chunk-KIUMEOM5.js} +8 -8
  55. package/dist/cli/{chunk-Y6VOGHF2.mjs → chunk-KZZC33PY.mjs} +0 -181
  56. package/dist/cli/{chunk-2Q3GEFL4.mjs → chunk-M57J2SK4.mjs} +2 -2
  57. package/dist/cli/{chunk-R3O2CZ4H.mjs → chunk-MFB2VKBO.mjs} +2 -2
  58. package/dist/cli/{chunk-QGKPTBRR.js → chunk-MH73HMPV.js} +3 -3
  59. package/dist/cli/{chunk-BB3FNYFY.js → chunk-MLPU5SMZ.js} +2 -2
  60. package/dist/cli/{chunk-2G7DXFHI.mjs → chunk-NR3DFKNF.mjs} +27 -2
  61. package/dist/cli/{chunk-EY7RFC6A.js → chunk-QIQBYKLB.js} +15 -15
  62. package/dist/cli/{chunk-RIV2GS5E.js → chunk-RBJYWRCF.js} +638 -466
  63. package/dist/cli/{chunk-3VN4FTE3.js → chunk-RDXFGPJU.js} +1 -182
  64. package/dist/cli/{chunk-YAZCDBXX.mjs → chunk-TJI2EN6K.mjs} +3 -2
  65. package/dist/cli/chunk-UBKA33KY.mjs +310 -0
  66. package/dist/cli/{chunk-PAIMOGCM.js → chunk-UHNDVD3P.js} +125 -12
  67. package/dist/cli/{chunk-4TCT77UF.js → chunk-URWF7NGQ.js} +6 -1
  68. package/dist/cli/{chunk-2QLML6G4.mjs → chunk-UXFSWG3Q.mjs} +4 -4
  69. package/dist/cli/{chunk-UCKJQG25.js → chunk-VK6FYZLP.js} +8 -8
  70. package/dist/cli/{chunk-ZTACINO5.mjs → chunk-X63FDZJZ.mjs} +13 -3
  71. package/dist/cli/chunk-XDVT3GOM.js +310 -0
  72. package/dist/cli/{chunk-A3APGZFP.mjs → chunk-XRQ2AQL7.mjs} +2 -2
  73. package/dist/cli/{chunk-3FV4GBRK.mjs → chunk-XXUDVEXK.mjs} +97 -8
  74. package/dist/cli/{chunk-PQSA443V.mjs → chunk-ZI2ZNDJK.mjs} +6 -1
  75. package/dist/cli/{chunk-HGYBEAQP.mjs → chunk-ZYBGA4AR.mjs} +3 -3
  76. package/dist/cli/command-docs.js +2 -2
  77. package/dist/cli/command-docs.mjs +1 -1
  78. package/dist/cli/{csv-E4QGUIGI.mjs → csv-5AXRB35H.mjs} +3 -3
  79. package/dist/cli/{csv-26U5T24Z.js → csv-LU7O75WE.js} +12 -12
  80. package/dist/cli/{db-JTRJIAQW.mjs → db-7XP5UWEW.mjs} +6 -5
  81. package/dist/cli/{db-QHBFLMVL.js → db-F7YTFKVM.js} +31 -30
  82. package/dist/cli/{describe-FDV2V74F.js → describe-FRH32RDV.js} +24 -23
  83. package/dist/cli/{describe-E3DE3ZK3.mjs → describe-K4ES5LIL.mjs} +17 -16
  84. package/dist/cli/{executions-B3GTNPRE.mjs → executions-IEHEHJUO.mjs} +6 -5
  85. package/dist/cli/{executions-VZYOGVQY.js → executions-RZV5XPT2.js} +8 -7
  86. package/dist/cli/{feedback-CR55FJA2.js → feedback-3P65QTX3.js} +7 -7
  87. package/dist/cli/{feedback-4CEBR3OV.mjs → feedback-FPUVZBAN.mjs} +3 -3
  88. package/dist/cli/{git-NM2PHHZ4.mjs → git-GLVVP7TY.mjs} +4 -4
  89. package/dist/cli/git-MFFAWVVX.js +23 -0
  90. package/dist/cli/index.js +100 -96
  91. package/dist/cli/index.mjs +47 -43
  92. package/dist/cli/{legacy-noops-A7MSW5ND.mjs → legacy-noops-3MOI6NBM.mjs} +4 -4
  93. package/dist/cli/{legacy-noops-ZUA4YFIH.js → legacy-noops-XKSGZR7Q.js} +7 -7
  94. package/dist/cli/{monitors-NVPRQYP3.mjs → monitors-FTBGNEFG.mjs} +6 -5
  95. package/dist/cli/{monitors-ZE3TLZ4H.js → monitors-NZ2DYNST.js} +87 -86
  96. package/dist/cli/{org-U7A6DV5D.js → org-MCKDQXIV.js} +66 -65
  97. package/dist/cli/{org-KUBILNQV.mjs → org-V2J5RBCN.mjs} +6 -5
  98. package/dist/cli/{play-HRDXQ4QE.mjs → play-AJFGME3B.mjs} +11 -10
  99. package/dist/cli/play-WLSN2EO2.js +158 -0
  100. package/dist/cli/{providers-VD6YTVQZ.js → providers-2JEZ2264.js} +9 -8
  101. package/dist/cli/{providers-OHIWI453.mjs → providers-I6RQJZFZ.mjs} +6 -5
  102. package/dist/cli/{quickstart-UBV2FONF.mjs → quickstart-BIDQDMO4.mjs} +3 -3
  103. package/dist/cli/{quickstart-ETTCWPA4.js → quickstart-GJ2RPDU3.js} +5 -5
  104. package/dist/cli/run-identity-G257GQED.js +25 -0
  105. package/dist/cli/run-identity-MRNCEGV2.mjs +25 -0
  106. package/dist/cli/search-5VN4YD4I.js +27 -0
  107. package/dist/cli/{search-F44IZRT7.mjs → search-ELRXFWG5.mjs} +7 -6
  108. package/dist/cli/{secrets-CAEMRORF.js → secrets-53IT6VXD.js} +15 -14
  109. package/dist/cli/{secrets-R6XOJZKU.mjs → secrets-SQXGZXIC.mjs} +6 -5
  110. package/dist/cli/{sessions-RLN6UQS3.mjs → sessions-2X5QF7SL.mjs} +4 -4
  111. package/dist/cli/{sessions-6GC7OFTT.js → sessions-CAV5M77Y.js} +5 -5
  112. package/dist/cli/{settings-DPNVUAV2.js → settings-532WNAZO.js} +76 -75
  113. package/dist/cli/{settings-KIPAMRPP.mjs → settings-7P67VGCJ.mjs} +9 -8
  114. package/dist/cli/{setup-DTL3L5SG.js → setup-6L2VSUWJ.js} +41 -41
  115. package/dist/cli/{setup-TU2F7PU5.mjs → setup-QGGBV2LE.mjs} +6 -6
  116. package/dist/cli/{skills-UV5MYJ46.mjs → skills-3FE62WBG.mjs} +4 -4
  117. package/dist/cli/skills-S6NPZAN7.js +28 -0
  118. package/dist/cli/tools-647RLXQS.js +41 -0
  119. package/dist/cli/{tools-QRRNDCQ7.mjs → tools-DMR25DEF.mjs} +10 -9
  120. package/dist/cli/{update-4426TF35.mjs → update-6RZMHJZP.mjs} +6 -6
  121. package/dist/cli/update-WVTSC3EM.js +28 -0
  122. package/dist/cli/{workflow-N4U5VLZ3.mjs → workflow-L2DQRE6R.mjs} +7 -6
  123. package/dist/cli/{workflow-HNLOVISB.js → workflow-TX4F2PIX.js} +17 -16
  124. package/dist/{client-e6Qh5ZIg.d.mts → client-BktIPdIj.d.mts} +153 -4
  125. package/dist/{client-Uxuy-xQ2.d.ts → client-C3O1Ipf3.d.ts} +153 -4
  126. package/dist/{compiler-manifest-CY2v8ab0.d.ts → compiler-manifest-DLxUY5kI.d.mts} +124 -10
  127. package/dist/{compiler-manifest-CY2v8ab0.d.mts → compiler-manifest-DLxUY5kI.d.ts} +124 -10
  128. package/dist/{index-BZ6uzZJl.d.ts → index-B_GM9E3q.d.ts} +1 -1
  129. package/dist/{index-B9fBZH1g.d.mts → index-SCb0NvDb.d.mts} +1 -1
  130. package/dist/index.d.mts +5 -5
  131. package/dist/index.d.ts +5 -5
  132. package/dist/index.js +120 -29
  133. package/dist/index.mjs +111 -20
  134. package/dist/install-integrity.json +94 -88
  135. package/dist/plays/bundle-play-file.d.mts +3 -3
  136. package/dist/plays/bundle-play-file.d.ts +3 -3
  137. package/dist/plays/bundle-play-file.mjs +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 +5 -2
  141. package/dist/plays/run-request.mjs +4 -1
  142. package/dist/release.d.mts +4 -1
  143. package/dist/release.d.ts +4 -1
  144. package/dist/release.js +2 -2
  145. package/dist/release.mjs +1 -1
  146. package/package.json +1 -1
  147. package/dist/cli/auth-67TAELQL.js +0 -39
  148. package/dist/cli/git-I5JTK6YU.js +0 -23
  149. package/dist/cli/play-A2V7YDU7.js +0 -157
  150. package/dist/cli/search-WWXMBVPH.js +0 -26
  151. package/dist/cli/skills-SWOSEZLB.js +0 -28
  152. package/dist/cli/tools-IL2YCDQ6.js +0 -40
  153. package/dist/cli/update-BERDPEYR.js +0 -28
@@ -2,10 +2,10 @@ import {
2
2
  getAuthedHttpClient,
3
3
  openInBrowser,
4
4
  printCommandEnvelope
5
- } from "./chunk-2G7DXFHI.mjs";
5
+ } from "./chunk-NR3DFKNF.mjs";
6
6
  import {
7
7
  resolveBaseUrlOnly
8
- } from "./chunk-2GAHHSLB.mjs";
8
+ } from "./chunk-FJGW5GXU.mjs";
9
9
 
10
10
  // src/cli/commands/git.ts
11
11
  function shellQuote(value) {
@@ -13,7 +13,7 @@ import {
13
13
  observedMaxText,
14
14
  recentSearchRef,
15
15
  registerDeprecatedSearchCommand
16
- } from "./chunk-HGYBEAQP.mjs";
16
+ } from "./chunk-ZYBGA4AR.mjs";
17
17
  import {
18
18
  DEEPLINE_EXTRACTOR_TARGET_DEFINITIONS,
19
19
  EMAIL_STATUS_JSON_SCHEMA,
@@ -21,18 +21,20 @@ import {
21
21
  extractSummaryFields,
22
22
  isDeeplineExtractorTarget,
23
23
  projectRowOutput,
24
- stableStringify,
25
24
  tryConvertToList,
26
25
  writeCsvOutputFile,
27
26
  writeJsonOutputFile
28
- } from "./chunk-Y6VOGHF2.mjs";
27
+ } from "./chunk-KZZC33PY.mjs";
29
28
  import {
30
29
  playToolListGetterMode
31
- } from "./chunk-7E66A24V.mjs";
30
+ } from "./chunk-3HU47EGZ.mjs";
32
31
  import {
33
32
  DeeplineClient,
34
33
  validateExecutionIdempotencyKey
35
- } from "./chunk-YN6YA7ZZ.mjs";
34
+ } from "./chunk-JHIJIHFB.mjs";
35
+ import {
36
+ stableStringify
37
+ } from "./chunk-UBKA33KY.mjs";
36
38
  import {
37
39
  beginToolExecuteCommand,
38
40
  getToolExecuteInvocationId,
@@ -46,17 +48,51 @@ import {
46
48
  printJsonError,
47
49
  renderCommandEnvelopeText,
48
50
  shouldEmitJson
49
- } from "./chunk-2G7DXFHI.mjs";
51
+ } from "./chunk-NR3DFKNF.mjs";
50
52
  import {
51
53
  resolveConfig,
52
54
  sdkCliStateDirPath
53
- } from "./chunk-2GAHHSLB.mjs";
55
+ } from "./chunk-FJGW5GXU.mjs";
54
56
  import {
55
57
  DeeplineError
56
58
  } from "./chunk-NXGCO4JB.mjs";
57
59
 
58
60
  // src/cli/commands/tools.ts
59
61
  import { Option } from "commander";
62
+
63
+ // ../integration-contracts/request-warnings.ts
64
+ function matchesToolRequestCondition(condition, payload) {
65
+ if ("all" in condition) {
66
+ return condition.all.every(
67
+ (entry) => matchesToolRequestCondition(entry, payload)
68
+ );
69
+ }
70
+ if ("any" in condition) {
71
+ return condition.any.some(
72
+ (entry) => matchesToolRequestCondition(entry, payload)
73
+ );
74
+ }
75
+ const value2 = payload?.[condition.field];
76
+ switch (condition.operator) {
77
+ case "equals":
78
+ return value2 === condition.value;
79
+ case "number_equals":
80
+ try {
81
+ return Number(value2) === condition.value;
82
+ } catch {
83
+ return false;
84
+ }
85
+ case "present_nonblank":
86
+ return typeof value2 === "string" ? value2.trim().length > 0 : value2 !== void 0 && value2 !== null;
87
+ default:
88
+ throw new Error("Unsupported tool request warning condition.");
89
+ }
90
+ }
91
+ function firstMatchingToolRequestWarning(rules, payload) {
92
+ return rules?.find((rule) => matchesToolRequestCondition(rule.when, payload));
93
+ }
94
+
95
+ // src/cli/commands/tools.ts
60
96
  import {
61
97
  chmodSync,
62
98
  existsSync as existsSync2,
@@ -979,6 +1015,46 @@ Output:
979
1015
  exact charge. Workspace balance changes also include other callers' activity.
980
1016
  `
981
1017
  );
1018
+ tools.command("connect <provider>").description(
1019
+ "Save your provider credentials for the active workspace (owner/admin required)."
1020
+ ).requiredOption(
1021
+ "--credentials-file <path>",
1022
+ "JSON object of credential field names and string values; keep this file private"
1023
+ ).option("--json", "Emit a confirmation without credential values").action(
1024
+ async (provider, options) => {
1025
+ let credentials;
1026
+ try {
1027
+ credentials = JSON.parse(
1028
+ readFileSync2(resolve(options.credentialsFile), "utf8")
1029
+ );
1030
+ } catch {
1031
+ throw new Error(
1032
+ "Unable to read --credentials-file as a JSON object."
1033
+ );
1034
+ }
1035
+ if (!credentials || typeof credentials !== "object" || Array.isArray(credentials) || Object.keys(credentials).length === 0 || Object.values(credentials).some((value2) => typeof value2 !== "string")) {
1036
+ throw new Error(
1037
+ "--credentials-file must contain a nonempty JSON object of string credential values."
1038
+ );
1039
+ }
1040
+ const result = await new DeeplineClient().setIntegrationCredentials(
1041
+ provider,
1042
+ credentials
1043
+ );
1044
+ if (!result.ok || result.credential_saved !== true) {
1045
+ throw new Error(
1046
+ "The API did not confirm that provider credentials were saved. Inspect the integration before retrying."
1047
+ );
1048
+ }
1049
+ const confirmation = { provider, credential_saved: true };
1050
+ if (shouldEmitJson(options.json))
1051
+ console.log(JSON.stringify(confirmation));
1052
+ else
1053
+ console.log(
1054
+ `Credentials saved for ${provider} in the active workspace.`
1055
+ );
1056
+ }
1057
+ );
982
1058
  tools.command("list [category]").description("Browse tool categories, or list every tool in a category.").addHelpText(
983
1059
  "after",
984
1060
  `
@@ -1112,7 +1188,7 @@ Examples:
1112
1188
  process.exitCode = await narrowView();
1113
1189
  return;
1114
1190
  }
1115
- const { describeAnything } = await import("./describe-E3DE3ZK3.mjs");
1191
+ const { describeAnything } = await import("./describe-K4ES5LIL.mjs");
1116
1192
  process.exitCode = await describeAnything(
1117
1193
  toolId,
1118
1194
  {
@@ -1418,6 +1494,7 @@ function toolContractJsonForDescribe(tool, requestedToolId, authoringContractEdi
1418
1494
  description: tool.description,
1419
1495
  ...Object.keys(guidance).length > 0 ? { guidance } : {},
1420
1496
  categories: tool.categories,
1497
+ ...Array.isArray(tool.requestWarnings) ? { requestWarnings: tool.requestWarnings } : {},
1421
1498
  ...deprecated ? {
1422
1499
  deprecated: true,
1423
1500
  callable: tool.callable !== false,
@@ -3126,6 +3203,18 @@ async function executeTool(toolId, options) {
3126
3203
  }
3127
3204
  return 2;
3128
3205
  }
3206
+ if (metadata.deprecation?.message) {
3207
+ console.error(
3208
+ `Warning: ${parsed.toolId} is deprecated. ${metadata.deprecation.message}`
3209
+ );
3210
+ }
3211
+ const requestWarning = firstMatchingToolRequestWarning(
3212
+ metadata.requestWarnings,
3213
+ parsed.params
3214
+ );
3215
+ if (requestWarning) {
3216
+ console.error(`Warning: ${requestWarning.message}`);
3217
+ }
3129
3218
  const responseIntent = parsed.outPath || parsed.outputFormat === "csv" || parsed.outputFormat === "csv_file" ? "row_artifact" : "raw";
3130
3219
  const recovery = ToolCallRecovery.open({
3131
3220
  toolId: parsed.toolId,
@@ -693,7 +693,12 @@ Authoring rules:
693
693
  Dataset handles are async: await rows.count(), rows.first(),
694
694
  rows.peek(n), rows.materialize(n), or for await. Array methods on a
695
695
  handle fail [[cli:plays check]][[mcp:deepline_check_play]].
696
- Tool calls: rowCtx.tools.execute({ id, tool, input, description }). Read
696
+ Tool calls: rowCtx.tools.execute({ id, tool, input, description,
697
+ staleAfterSeconds }). In authoring edition 11, choose freshness explicitly:
698
+ 0 for fresh logical work, a positive integer for the maximum reusable
699
+ result age in seconds, or null for indefinite result reuse. A matching
700
+ completed operation receipt can still recover that operation after resume.
701
+ Read
697
702
  results through the getters [[cli:describe]][[mcp:deepline_describe_tool]] lists:
698
703
  result.extractedValues.<name>.get() and
699
704
  result.extractedLists.<name>.get(). A field with no getter is under
@@ -1,14 +1,14 @@
1
1
  import {
2
2
  DeeplineClient
3
- } from "./chunk-YN6YA7ZZ.mjs";
3
+ } from "./chunk-JHIJIHFB.mjs";
4
4
  import {
5
5
  printCommandEnvelope,
6
6
  renderCommandEnvelopeText
7
- } from "./chunk-2G7DXFHI.mjs";
7
+ } from "./chunk-NR3DFKNF.mjs";
8
8
  import {
9
9
  resolveConfig,
10
10
  sdkCliStateDirPath
11
- } from "./chunk-2GAHHSLB.mjs";
11
+ } from "./chunk-FJGW5GXU.mjs";
12
12
 
13
13
  // src/cli/commands/search.ts
14
14
  import { Option } from "commander";
@@ -6,7 +6,7 @@
6
6
 
7
7
 
8
8
 
9
- var _chunk4TCT77UFjs = require('./chunk-4TCT77UF.js');
9
+ var _chunkURWF7NGQjs = require('./chunk-URWF7NGQ.js');
10
10
  require('./chunk-COGTRVWW.js');
11
11
 
12
12
 
@@ -16,4 +16,4 @@ require('./chunk-COGTRVWW.js');
16
16
 
17
17
 
18
18
 
19
- exports.CLI_DOC_SURFACE = _chunk4TCT77UFjs.CLI_DOC_SURFACE; exports.COMMAND_DOCS = _chunk4TCT77UFjs.COMMAND_DOCS; exports.commandDocKey = _chunk4TCT77UFjs.commandDocKey; exports.helpDetailFromArgv = _chunk4TCT77UFjs.helpDetailFromArgv; exports.renderActionExplanation = _chunk4TCT77UFjs.renderActionExplanation; exports.renderCommandExplanation = _chunk4TCT77UFjs.renderCommandExplanation; exports.renderDocText = _chunk4TCT77UFjs.renderDocText;
19
+ exports.CLI_DOC_SURFACE = _chunkURWF7NGQjs.CLI_DOC_SURFACE; exports.COMMAND_DOCS = _chunkURWF7NGQjs.COMMAND_DOCS; exports.commandDocKey = _chunkURWF7NGQjs.commandDocKey; exports.helpDetailFromArgv = _chunkURWF7NGQjs.helpDetailFromArgv; exports.renderActionExplanation = _chunkURWF7NGQjs.renderActionExplanation; exports.renderCommandExplanation = _chunkURWF7NGQjs.renderCommandExplanation; exports.renderDocText = _chunkURWF7NGQjs.renderDocText;
@@ -6,7 +6,7 @@ import {
6
6
  renderActionExplanation,
7
7
  renderCommandExplanation,
8
8
  renderDocText
9
- } from "./chunk-PQSA443V.mjs";
9
+ } from "./chunk-ZI2ZNDJK.mjs";
10
10
  import "./chunk-KRD6H754.mjs";
11
11
  export {
12
12
  CLI_DOC_SURFACE,
@@ -4,11 +4,11 @@ import {
4
4
  printCommandEnvelope,
5
5
  printJson,
6
6
  readCsvRows
7
- } from "./chunk-2G7DXFHI.mjs";
8
- import "./chunk-2GAHHSLB.mjs";
7
+ } from "./chunk-NR3DFKNF.mjs";
8
+ import "./chunk-FJGW5GXU.mjs";
9
9
  import "./chunk-DLIRSHV6.mjs";
10
10
  import "./chunk-NXGCO4JB.mjs";
11
- import "./chunk-YAZCDBXX.mjs";
11
+ import "./chunk-TJI2EN6K.mjs";
12
12
  import "./chunk-WZYKRD7T.mjs";
13
13
  import "./chunk-KRD6H754.mjs";
14
14
 
@@ -4,11 +4,11 @@
4
4
 
5
5
 
6
6
 
7
- var _chunkRV6ALZIXjs = require('./chunk-RV6ALZIX.js');
8
- require('./chunk-WMS5U6YB.js');
7
+ var _chunkKGNTKMRGjs = require('./chunk-KGNTKMRG.js');
8
+ require('./chunk-CS6RAIVY.js');
9
9
  require('./chunk-XNYIZMNQ.js');
10
10
  require('./chunk-7P5AA3SN.js');
11
- require('./chunk-JSLPHFP7.js');
11
+ require('./chunk-6YAUMG27.js');
12
12
  require('./chunk-OG64RBAC.js');
13
13
  require('./chunk-COGTRVWW.js');
14
14
 
@@ -126,7 +126,7 @@ function renderTable(rows, totalRows, verbose, footer = `showing ${rows.length}
126
126
  column.length,
127
127
  ...rows.map((row) => {
128
128
  const value = _nullishCoalesce(row[column], () => ( ""));
129
- return (verbose ? value : _chunkRV6ALZIXjs.clip.call(void 0, value, 42)).length;
129
+ return (verbose ? value : _chunkKGNTKMRGjs.clip.call(void 0, value, 42)).length;
130
130
  })
131
131
  )
132
132
  ])
@@ -136,7 +136,7 @@ function renderTable(rows, totalRows, verbose, footer = `showing ${rows.length}
136
136
  const body = rows.map(
137
137
  (row) => columns.map((column) => {
138
138
  const raw = _nullishCoalesce(row[column], () => ( ""));
139
- const display = verbose ? raw : _chunkRV6ALZIXjs.clip.call(void 0, raw, 42);
139
+ const display = verbose ? raw : _chunkKGNTKMRGjs.clip.call(void 0, raw, 42);
140
140
  return display.padEnd(widths[column]);
141
141
  }).join(" | ")
142
142
  );
@@ -156,7 +156,7 @@ async function handleCsvShow(path, options, command) {
156
156
  { exitCode: 2 }
157
157
  );
158
158
  }
159
- const allRows = _chunkRV6ALZIXjs.readCsvRows.call(void 0, csvPath);
159
+ const allRows = _chunkKGNTKMRGjs.readCsvRows.call(void 0, csvPath);
160
160
  const [rowStart, rowEnd] = parseRowRange(options.rows);
161
161
  const rows = options.summary && options.rows === void 0 ? allRows : selectRows(allRows, rowStart, rowEnd);
162
162
  const { rows: selected, columns } = selectColumns(
@@ -169,7 +169,7 @@ async function handleCsvShow(path, options, command) {
169
169
  if (options.summary) {
170
170
  const summaries = summarizeColumns(selected, columns);
171
171
  if (format === "json") {
172
- _chunkRV6ALZIXjs.printJson.call(void 0, {
172
+ _chunkKGNTKMRGjs.printJson.call(void 0, {
173
173
  rows: summaries,
174
174
  total_rows: selected.length,
175
175
  source_total_rows: allRows.length
@@ -178,7 +178,7 @@ async function handleCsvShow(path, options, command) {
178
178
  }
179
179
  const displayRows = summaryDisplayRows(summaries);
180
180
  if (format === "csv") {
181
- process.stdout.write(_chunkRV6ALZIXjs.csvStringFromRows.call(void 0, displayRows));
181
+ process.stdout.write(_chunkKGNTKMRGjs.csvStringFromRows.call(void 0, displayRows));
182
182
  return;
183
183
  }
184
184
  process.stdout.write(
@@ -193,7 +193,7 @@ async function handleCsvShow(path, options, command) {
193
193
  return;
194
194
  }
195
195
  if (format === "json") {
196
- _chunkRV6ALZIXjs.printJson.call(void 0, {
196
+ _chunkKGNTKMRGjs.printJson.call(void 0, {
197
197
  rows: selected.map((row, index) => ({ __row: rowStart + index, ...row }))
198
198
  });
199
199
  return;
@@ -436,7 +436,7 @@ async function handleCsvRenderStart(options) {
436
436
  if (log) {
437
437
  detail = `
438
438
  CSV render log:
439
- ${_chunkRV6ALZIXjs.clip.call(void 0, log, 2e3)}`;
439
+ ${_chunkKGNTKMRGjs.clip.call(void 0, log, 2e3)}`;
440
440
  }
441
441
  } catch (e7) {
442
442
  }
@@ -487,7 +487,7 @@ async function handleCsvRenderStatus(options) {
487
487
  if (payload.pid) lines.push(`Render PID: ${payload.pid}`);
488
488
  if (payload.url) lines.push(`Render URL: ${payload.url}`);
489
489
  lines.push(`Render Health: ${payload.health_status}`);
490
- _chunkRV6ALZIXjs.printCommandEnvelope.call(void 0, payload, {
490
+ _chunkKGNTKMRGjs.printCommandEnvelope.call(void 0, payload, {
491
491
  json: options.json,
492
492
  text: `${lines.join("\n")}
493
493
  `
@@ -523,7 +523,7 @@ async function handleCsvRenderStop(options) {
523
523
  };
524
524
  const text = stopped.length > 0 ? `Stopped CSV render process(es): ${stopped.join(" ")}
525
525
  ` : "No running CSV render process found.\n";
526
- _chunkRV6ALZIXjs.printCommandEnvelope.call(void 0, payload, { json: options.json, text });
526
+ _chunkKGNTKMRGjs.printCommandEnvelope.call(void 0, payload, { json: options.json, text });
527
527
  }
528
528
  async function handleCsvRender(action, options) {
529
529
  const normalized = _nullishCoalesce(action, () => ( "start"));
@@ -4,9 +4,10 @@ import {
4
4
  import {
5
5
  DeeplineClient,
6
6
  planCustomerDbQuery
7
- } from "./chunk-YN6YA7ZZ.mjs";
7
+ } from "./chunk-JHIJIHFB.mjs";
8
8
  import "./chunk-6IKARAYD.mjs";
9
- import "./chunk-Q6EOHNRH.mjs";
9
+ import "./chunk-JI2B4RZP.mjs";
10
+ import "./chunk-UBKA33KY.mjs";
10
11
  import {
11
12
  argsWantJson,
12
13
  dataExportColumns,
@@ -16,15 +17,15 @@ import {
16
17
  printCommandEnvelope,
17
18
  recordRows,
18
19
  shouldEmitJson
19
- } from "./chunk-2G7DXFHI.mjs";
20
+ } from "./chunk-NR3DFKNF.mjs";
20
21
  import {
21
22
  CustomerDbQueryOutcomeUnknownError
22
- } from "./chunk-2GAHHSLB.mjs";
23
+ } from "./chunk-FJGW5GXU.mjs";
23
24
  import "./chunk-DLIRSHV6.mjs";
24
25
  import {
25
26
  DeeplineError
26
27
  } from "./chunk-NXGCO4JB.mjs";
27
- import "./chunk-YAZCDBXX.mjs";
28
+ import "./chunk-TJI2EN6K.mjs";
28
29
  import "./chunk-WZYKRD7T.mjs";
29
30
  import "./chunk-KRD6H754.mjs";
30
31
 
@@ -4,9 +4,10 @@ var _chunkAID3OYVJjs = require('./chunk-AID3OYVJ.js');
4
4
 
5
5
 
6
6
 
7
- var _chunkCVLM3WMJjs = require('./chunk-CVLM3WMJ.js');
7
+ var _chunkE23BQ5SCjs = require('./chunk-E23BQ5SC.js');
8
8
  require('./chunk-S6R3OX7B.js');
9
- require('./chunk-PAIMOGCM.js');
9
+ require('./chunk-UHNDVD3P.js');
10
+ require('./chunk-XDVT3GOM.js');
10
11
 
11
12
 
12
13
 
@@ -16,15 +17,15 @@ require('./chunk-PAIMOGCM.js');
16
17
 
17
18
 
18
19
 
19
- var _chunkRV6ALZIXjs = require('./chunk-RV6ALZIX.js');
20
+ var _chunkKGNTKMRGjs = require('./chunk-KGNTKMRG.js');
20
21
 
21
22
 
22
- var _chunkWMS5U6YBjs = require('./chunk-WMS5U6YB.js');
23
+ var _chunkCS6RAIVYjs = require('./chunk-CS6RAIVY.js');
23
24
  require('./chunk-XNYIZMNQ.js');
24
25
 
25
26
 
26
27
  var _chunk7P5AA3SNjs = require('./chunk-7P5AA3SN.js');
27
- require('./chunk-JSLPHFP7.js');
28
+ require('./chunk-6YAUMG27.js');
28
29
  require('./chunk-OG64RBAC.js');
29
30
  require('./chunk-COGTRVWW.js');
30
31
 
@@ -47,8 +48,8 @@ function formatCell(value) {
47
48
  return text.length > 80 ? `${text.slice(0, 77)}...` : text;
48
49
  }
49
50
  function tableLines(result) {
50
- const rows = _chunkRV6ALZIXjs.dataExportRows.call(void 0, customerDbRows(result));
51
- const responseColumns = _chunkRV6ALZIXjs.dataExportColumns.call(void 0,
51
+ const rows = _chunkKGNTKMRGjs.dataExportRows.call(void 0, customerDbRows(result));
52
+ const responseColumns = _chunkKGNTKMRGjs.dataExportColumns.call(void 0,
52
53
  rows,
53
54
  customerDbColumnNames(result)
54
55
  );
@@ -94,7 +95,7 @@ function tableLines(result) {
94
95
  return lines;
95
96
  }
96
97
  function customerDbRows(result) {
97
- return _chunkRV6ALZIXjs.recordRows.call(void 0, result.rows);
98
+ return _chunkKGNTKMRGjs.recordRows.call(void 0, result.rows);
98
99
  }
99
100
  function customerDbColumnNames(result) {
100
101
  return result.columns.map((column) => column.name).filter(Boolean);
@@ -116,15 +117,15 @@ function collectErrorText(value) {
116
117
  ].filter(Boolean).join("\n");
117
118
  }
118
119
  function formatDbQueryError(sql, error) {
119
- const text = error instanceof _chunkWMS5U6YBjs.CustomerDbQueryOutcomeUnknownError ? collectErrorText(error.cause) : collectErrorText(error);
120
+ const text = error instanceof _chunkCS6RAIVYjs.CustomerDbQueryOutcomeUnknownError ? collectErrorText(error.cause) : collectErrorText(error);
120
121
  const lower = text.toLowerCase();
121
122
  const referencesStorage = /"storage"\.|storage\./i.test(sql);
122
123
  const runIdColumnMissing = /column\s+"?run_id"?\s+does not exist/i.test(text) || /run_id.*does not exist/i.test(lower);
123
124
  const relationMissing = /relation\s+["']?[^"']*storage[^"']*["']?\s+does not exist/i.test(text) || /42p01/i.test(text);
124
125
  if (referencesStorage && relationMissing) {
125
126
  return [
126
- ...error instanceof _chunkWMS5U6YBjs.CustomerDbQueryOutcomeUnknownError ? [error.message] : [],
127
- error instanceof _chunkWMS5U6YBjs.CustomerDbQueryOutcomeUnknownError ? "The server reported that the referenced storage table does not exist." : "Customer DB query failed: the referenced storage table does not exist.",
127
+ ...error instanceof _chunkCS6RAIVYjs.CustomerDbQueryOutcomeUnknownError ? [error.message] : [],
128
+ error instanceof _chunkCS6RAIVYjs.CustomerDbQueryOutcomeUnknownError ? "The server reported that the referenced storage table does not exist." : "Customer DB query failed: the referenced storage table does not exist.",
128
129
  "Play dataset tables are created only when the corresponding ctx.dataset(...).run(...) call executes. Pilot branches, early returns, and runs that fail before the dataset do not create that table.",
129
130
  "Use `deepline runs get <run-id> --full` to inspect returned dataset handles, then export them with `deepline runs export <run-id> --dataset result.rows --out rows.csv`.",
130
131
  `Original error: ${errorMessage(error)}`
@@ -132,7 +133,7 @@ function formatDbQueryError(sql, error) {
132
133
  }
133
134
  if (referencesStorage && runIdColumnMissing) {
134
135
  return [
135
- ...error instanceof _chunkWMS5U6YBjs.CustomerDbQueryOutcomeUnknownError ? [error.message] : [],
136
+ ...error instanceof _chunkCS6RAIVYjs.CustomerDbQueryOutcomeUnknownError ? [error.message] : [],
136
137
  "Customer DB query failed: storage dataset tables use `_run_id`, not `run_id`.",
137
138
  "Prefer `deepline runs export <run-id> --dataset result.rows --out rows.csv` unless you are doing deep table debugging.",
138
139
  `Original error: ${errorMessage(error)}`
@@ -147,7 +148,7 @@ function writeCustomerDbCsv(result, outPath) {
147
148
  const resolved = _path.resolve.call(void 0, outPath);
148
149
  _fs.writeFileSync.call(void 0,
149
150
  resolved,
150
- _chunkRV6ALZIXjs.dataExportCsvString.call(void 0, customerDbRows(result), customerDbColumnNames(result)),
151
+ _chunkKGNTKMRGjs.dataExportCsvString.call(void 0, customerDbRows(result), customerDbColumnNames(result)),
151
152
  "utf-8"
152
153
  );
153
154
  return resolved;
@@ -188,7 +189,7 @@ function dbQueryExportEnvelope(input) {
188
189
  function renderDbQueryResult(result, query, options) {
189
190
  const { sql, maxRows, operationKey } = query;
190
191
  const { format, out: outPath, json: explicitJsonOutput = false } = options;
191
- const jsonOutput = explicitJsonOutput || _chunkRV6ALZIXjs.shouldEmitJson.call(void 0, );
192
+ const jsonOutput = explicitJsonOutput || _chunkKGNTKMRGjs.shouldEmitJson.call(void 0, );
192
193
  const toolPayload = JSON.stringify({
193
194
  sql,
194
195
  result_mode: "rows",
@@ -199,7 +200,7 @@ function renderDbQueryResult(result, query, options) {
199
200
  if (format === "csv") {
200
201
  if (outPath) {
201
202
  const exportedPath = writeCustomerDbCsv(result, outPath);
202
- _chunkRV6ALZIXjs.printCommandEnvelope.call(void 0,
203
+ _chunkKGNTKMRGjs.printCommandEnvelope.call(void 0,
203
204
  dbQueryExportEnvelope({
204
205
  result,
205
206
  format,
@@ -215,7 +216,7 @@ function renderDbQueryResult(result, query, options) {
215
216
  );
216
217
  return;
217
218
  }
218
- _chunkRV6ALZIXjs.printCommandEnvelope.call(void 0,
219
+ _chunkKGNTKMRGjs.printCommandEnvelope.call(void 0,
219
220
  dbQueryExportEnvelope({
220
221
  result,
221
222
  format,
@@ -225,7 +226,7 @@ function renderDbQueryResult(result, query, options) {
225
226
  }),
226
227
  {
227
228
  json: explicitJsonOutput,
228
- text: _chunkRV6ALZIXjs.dataExportCsvString.call(void 0,
229
+ text: _chunkKGNTKMRGjs.dataExportCsvString.call(void 0,
229
230
  customerDbRows(result),
230
231
  customerDbColumnNames(result)
231
232
  )
@@ -234,14 +235,14 @@ function renderDbQueryResult(result, query, options) {
234
235
  return;
235
236
  }
236
237
  if (format === "markdown") {
237
- const content = _chunkRV6ALZIXjs.markdownTableFromRows.call(void 0,
238
+ const content = _chunkKGNTKMRGjs.markdownTableFromRows.call(void 0,
238
239
  customerDbRows(result),
239
240
  customerDbColumnNames(result)
240
241
  );
241
242
  if (outPath) {
242
243
  const exportedPath = _path.resolve.call(void 0, outPath);
243
244
  _fs.writeFileSync.call(void 0, exportedPath, content, "utf-8");
244
- _chunkRV6ALZIXjs.printCommandEnvelope.call(void 0,
245
+ _chunkKGNTKMRGjs.printCommandEnvelope.call(void 0,
245
246
  dbQueryExportEnvelope({
246
247
  result,
247
248
  format,
@@ -257,7 +258,7 @@ function renderDbQueryResult(result, query, options) {
257
258
  );
258
259
  return;
259
260
  }
260
- _chunkRV6ALZIXjs.printCommandEnvelope.call(void 0,
261
+ _chunkKGNTKMRGjs.printCommandEnvelope.call(void 0,
261
262
  dbQueryExportEnvelope({
262
263
  result,
263
264
  format,
@@ -272,7 +273,7 @@ function renderDbQueryResult(result, query, options) {
272
273
  );
273
274
  return;
274
275
  }
275
- _chunkRV6ALZIXjs.printCommandEnvelope.call(void 0,
276
+ _chunkKGNTKMRGjs.printCommandEnvelope.call(void 0,
276
277
  {
277
278
  ...result,
278
279
  next: {
@@ -346,9 +347,9 @@ async function runDbQueryCommand(options) {
346
347
  ...maxRows === void 0 ? {} : { maxRows },
347
348
  ...operationKey === void 0 ? {} : { operationKey }
348
349
  };
349
- const plan = _chunkCVLM3WMJjs.planCustomerDbQuery.call(void 0, query);
350
+ const plan = _chunkE23BQ5SCjs.planCustomerDbQuery.call(void 0, query);
350
351
  if (options.dryRun) {
351
- _chunkRV6ALZIXjs.printCommandEnvelope.call(void 0,
352
+ _chunkKGNTKMRGjs.printCommandEnvelope.call(void 0,
352
353
  {
353
354
  dryRun: true,
354
355
  ...plan,
@@ -361,11 +362,11 @@ async function runDbQueryCommand(options) {
361
362
  ...out === void 0 ? {} : { file: _path.resolve.call(void 0, out) }
362
363
  }
363
364
  },
364
- { json: options.json || _chunkRV6ALZIXjs.shouldEmitJson.call(void 0, ) }
365
+ { json: options.json || _chunkKGNTKMRGjs.shouldEmitJson.call(void 0, ) }
365
366
  );
366
367
  return 0;
367
368
  }
368
- const client = new (0, _chunkCVLM3WMJjs.DeeplineClient)();
369
+ const client = new (0, _chunkE23BQ5SCjs.DeeplineClient)();
369
370
  const result = await client.db.query(query);
370
371
  renderDbQueryResult(result, query, {
371
372
  format,
@@ -374,8 +375,8 @@ async function runDbQueryCommand(options) {
374
375
  });
375
376
  return 0;
376
377
  } catch (error) {
377
- if (error instanceof _chunkWMS5U6YBjs.CustomerDbQueryOutcomeUnknownError && (options.json || _chunkRV6ALZIXjs.shouldEmitJson.call(void 0, ))) {
378
- _chunkRV6ALZIXjs.printCommandEnvelope.call(void 0,
378
+ if (error instanceof _chunkCS6RAIVYjs.CustomerDbQueryOutcomeUnknownError && (options.json || _chunkKGNTKMRGjs.shouldEmitJson.call(void 0, ))) {
379
+ _chunkKGNTKMRGjs.printCommandEnvelope.call(void 0,
379
380
  {
380
381
  ok: false,
381
382
  error: {
@@ -423,8 +424,8 @@ function dbRepairPlainText(result) {
423
424
  async function handleDbRepair(args) {
424
425
  const providerIndex = args.indexOf("--provider");
425
426
  const provider = providerIndex >= 0 ? _optionalChain([args, 'access', _9 => _9[providerIndex + 1], 'optionalAccess', _10 => _10.trim, 'call', _11 => _11()]) : void 0;
426
- const jsonOutput = _chunkRV6ALZIXjs.argsWantJson.call(void 0, args);
427
- const client = new (0, _chunkCVLM3WMJjs.DeeplineClient)();
427
+ const jsonOutput = _chunkKGNTKMRGjs.argsWantJson.call(void 0, args);
428
+ const client = new (0, _chunkE23BQ5SCjs.DeeplineClient)();
428
429
  let result;
429
430
  try {
430
431
  result = await client.repairIngestionStorage(
@@ -440,7 +441,7 @@ async function handleDbRepair(args) {
440
441
  console.error(errorMessage2(error));
441
442
  return 1;
442
443
  }
443
- _chunkRV6ALZIXjs.printCommandEnvelope.call(void 0,
444
+ _chunkKGNTKMRGjs.printCommandEnvelope.call(void 0,
444
445
  {
445
446
  command: "db repair",
446
447
  status: result.status,