deepline 0.3.327 → 0.3.329
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.
- package/dist/bundling-sources/sdk/src/index.ts +1 -0
- package/dist/bundling-sources/sdk/src/play.ts +55 -45
- package/dist/bundling-sources/sdk/src/release.ts +1 -1
- package/dist/bundling-sources/sdk/src/types.ts +16 -0
- package/dist/bundling-sources/shared_libs/observability/queue-health.ts +9 -0
- package/dist/bundling-sources/shared_libs/observability/queue-item-connectors.ts +1 -0
- package/dist/bundling-sources/shared_libs/play-runtime/context.ts +31 -15
- package/dist/bundling-sources/shared_libs/play-runtime/play-runtime-semantics.ts +22 -4
- package/dist/bundling-sources/shared_libs/play-runtime/runner-app/index.ts +29 -11
- package/dist/bundling-sources/shared_libs/play-runtime/tool-result.ts +145 -19
- package/dist/bundling-sources/shared_libs/plays/authoring-contract.ts +37 -10
- package/dist/bundling-sources/shared_libs/plays/dataset.ts +3 -0
- package/dist/bundling-sources/shared_libs/plays/tool-result-types.ts +59 -10
- package/dist/bundling-sources/shared_libs/security/secret-redaction.ts +4 -0
- package/dist/cli/{auth-EBBDOKNV.mjs → auth-MFFVOITR.mjs} +4 -4
- package/dist/cli/auth-W2MQM6GQ.js +31 -0
- package/dist/cli/{billing-IM2QUFX4.mjs → billing-LRBHWLIQ.mjs} +30 -16
- package/dist/cli/{billing-6AAB7WPJ.js → billing-V4Y4OVQ7.js} +96 -82
- package/dist/cli/{chunk-D6GD5AVN.mjs → chunk-3RZJ3GEG.mjs} +135 -5
- package/dist/cli/{chunk-MOP6D7Z5.js → chunk-4FLEXYUC.js} +141 -11
- package/dist/cli/{chunk-DSDX6EUW.js → chunk-75ZOTF3K.js} +15 -15
- package/dist/cli/{chunk-ZOFARJWH.mjs → chunk-7T6DX5RK.mjs} +21 -14
- package/dist/cli/{chunk-3MXRNPBN.js → chunk-AD23W4S5.js} +1 -1
- package/dist/cli/{chunk-F45425TB.mjs → chunk-EROOAI5G.mjs} +1 -1
- package/dist/cli/{chunk-REP2MYBI.mjs → chunk-ERU2OR6F.mjs} +2 -2
- package/dist/cli/{chunk-YIY74KUF.mjs → chunk-EV4QJE4J.mjs} +1 -1
- package/dist/cli/{chunk-CCRQ2VGJ.mjs → chunk-FK7PW6BP.mjs} +1 -1
- package/dist/cli/{chunk-2HKPAZVJ.js → chunk-FKKNYKDY.js} +14 -3
- package/dist/cli/{chunk-G5774EFF.mjs → chunk-GCNER3HV.mjs} +1 -1
- package/dist/cli/{chunk-4ZARCCPT.js → chunk-GY2EEO2Y.js} +9 -9
- package/dist/cli/{chunk-HOWQKN6J.mjs → chunk-HI7TAWFS.mjs} +79 -26
- package/dist/cli/{chunk-RSEVBSFE.mjs → chunk-HVPRQGF4.mjs} +1 -1
- package/dist/cli/{chunk-CISKBOXD.js → chunk-J2E5R2VH.js} +60 -60
- package/dist/cli/{chunk-7RCJDAJX.js → chunk-KHZQFFOQ.js} +2 -2
- package/dist/cli/{chunk-DVV4FPS7.mjs → chunk-MFQQINUY.mjs} +2 -2
- package/dist/cli/{chunk-DCAU6PND.mjs → chunk-MO2XSC5I.mjs} +4 -4
- package/dist/cli/{chunk-KP7W5NO6.mjs → chunk-NTVTZAVZ.mjs} +13 -2
- package/dist/cli/{chunk-HZZJR2GV.js → chunk-OUTIWGKY.js} +26 -26
- package/dist/cli/{chunk-QZAP5VOS.mjs → chunk-OZGU7P2S.mjs} +1 -1
- package/dist/cli/{chunk-A5SKM3GL.mjs → chunk-SJV5MTOJ.mjs} +1 -1
- package/dist/cli/{chunk-UROXKPND.js → chunk-U2N4CYT7.js} +6 -6
- package/dist/cli/{chunk-4TO56P22.js → chunk-U4CTHVN7.js} +255 -248
- package/dist/cli/{chunk-AGH6YP2T.js → chunk-UQV5M6HN.js} +3 -3
- package/dist/cli/{chunk-DM3SHV6U.js → chunk-VDIHLKGG.js} +4 -4
- package/dist/cli/{chunk-77RAV5XX.js → chunk-VLDLJZ75.js} +48 -48
- package/dist/cli/{chunk-NWIJLTRL.js → chunk-XRYKLK56.js} +119 -66
- package/dist/cli/{chunk-3ITDKXNC.mjs → chunk-YNSCELIJ.mjs} +2 -2
- package/dist/cli/{chunk-TAGHNT5P.js → chunk-ZXGUYTIT.js} +6 -6
- package/dist/cli/client-5AIFBLKQ.js +20 -0
- package/dist/cli/{client-JCMSACT4.mjs → client-BNLD775D.mjs} +3 -3
- package/dist/cli/{csv-NPMWVM5D.mjs → csv-7MVQECWG.mjs} +3 -3
- package/dist/cli/{csv-OILKDKUX.js → csv-ZT6ZRQ3Z.js} +12 -12
- package/dist/cli/{db-AZUAOWPQ.mjs → db-ABLWLMX5.mjs} +4 -4
- package/dist/cli/{db-MNDRYYEX.js → db-C4BMZXJK.js} +29 -29
- package/dist/cli/{describe-KJWOHMKC.mjs → describe-XWOWAR32.mjs} +10 -10
- package/dist/cli/{describe-QENLDLM2.js → describe-YALVN4WH.js} +17 -17
- package/dist/cli/{executions-QZNQWF6F.mjs → executions-7IZVKQ3O.mjs} +4 -4
- package/dist/cli/{executions-P36UHBPG.js → executions-U4TNRP26.js} +6 -6
- package/dist/cli/{feedback-RQ6HSZSG.mjs → feedback-GO5XPEKY.mjs} +3 -3
- package/dist/cli/{feedback-K4UGTLFD.js → feedback-NWMRT5W4.js} +6 -6
- package/dist/cli/{git-PBRMCBMI.mjs → git-R53WS4WA.mjs} +4 -4
- package/dist/cli/git-YWRLAOBY.js +23 -0
- package/dist/cli/index.js +95 -80
- package/dist/cli/index.mjs +54 -39
- package/dist/cli/{legacy-noops-G7GWJ5UC.mjs → legacy-noops-6QAZW7WJ.mjs} +4 -4
- package/dist/cli/{legacy-noops-X74FM35Q.js → legacy-noops-NJWM53DE.js} +7 -7
- package/dist/cli/{monitors-VKURX3YM.js → monitors-2I2MYAPS.js} +85 -85
- package/dist/cli/{monitors-KL2MCR57.mjs → monitors-2N4BRU5M.mjs} +4 -4
- package/dist/cli/{org-DT53KTNW.mjs → org-D3RHK2Q7.mjs} +4 -4
- package/dist/cli/{org-ZYXJDC44.js → org-XVNAE2JV.js} +60 -60
- package/dist/cli/{play-WIJGQYTB.mjs → play-L7MYJZ65.mjs} +9 -9
- package/dist/cli/play-OYRHI7G3.js +153 -0
- package/dist/cli/{providers-GRTW4TXX.js → providers-5BTDAZHN.js} +7 -7
- package/dist/cli/{providers-GYGKGS2J.mjs → providers-YM4E7WZD.mjs} +4 -4
- package/dist/cli/{quickstart-WB26543C.js → quickstart-5A3FHAH3.js} +5 -5
- package/dist/cli/{quickstart-XF3M2M2S.mjs → quickstart-ARPLJOLH.mjs} +3 -3
- package/dist/cli/{search-ANJLTOF2.mjs → search-KKJEVV27.mjs} +5 -5
- package/dist/cli/search-VE3O3ZEM.js +26 -0
- package/dist/cli/{secrets-D6UR5CTW.mjs → secrets-DGRJ4DO5.mjs} +4 -4
- package/dist/cli/{secrets-5KBUGMTK.js → secrets-DVPVCSZD.js} +13 -13
- package/dist/cli/{sessions-S7N4JEWK.mjs → sessions-56EHXLZD.mjs} +4 -4
- package/dist/cli/{sessions-46PXFULL.js → sessions-VG4ATQ5Y.js} +5 -5
- package/dist/cli/{settings-V6U3SRTH.mjs → settings-4U5XG7QI.mjs} +7 -7
- package/dist/cli/{settings-KMNBITSU.js → settings-BLOTIW2G.js} +74 -74
- package/dist/cli/{setup-4K5FY6AU.js → setup-L7AMAXCH.js} +41 -41
- package/dist/cli/{setup-OGITSLTN.mjs → setup-RHJAHPOR.mjs} +6 -6
- package/dist/cli/skills-QB4OQGGP.js +28 -0
- package/dist/cli/{skills-AXWAYPBY.mjs → skills-VU55YFCI.mjs} +4 -4
- package/dist/cli/tools-2CPFYNK7.js +40 -0
- package/dist/cli/{tools-LJCY6B23.mjs → tools-JS3YIDOH.mjs} +7 -6
- package/dist/cli/{update-DDR5XIUB.mjs → update-EHI5QUXM.mjs} +6 -6
- package/dist/cli/update-WXP24GU5.js +28 -0
- package/dist/cli/{workflow-PRNCVANQ.mjs → workflow-BITLTLRF.mjs} +5 -5
- package/dist/cli/{workflow-7CTCDWL3.js → workflow-NE4SYRAT.js} +15 -15
- package/dist/{client-wiWPZhnI.d.mts → client-D5XOQKsA.d.mts} +20 -1
- package/dist/{client-DHq8dJ56.d.ts → client-l-IoLh8Z.d.ts} +20 -1
- package/dist/{compiler-manifest-9TkZ_ykI.d.mts → compiler-manifest-82q4jtfQ.d.mts} +44 -17
- package/dist/{compiler-manifest-9TkZ_ykI.d.ts → compiler-manifest-82q4jtfQ.d.ts} +44 -17
- package/dist/{index-B-5_Xhud.d.mts → index-BPbW2XHF.d.mts} +1 -1
- package/dist/{index-ykksoEyR.d.ts → index-k0rquHIm.d.ts} +1 -1
- package/dist/index.d.mts +14 -8
- package/dist/index.d.ts +14 -8
- package/dist/index.js +194 -69
- package/dist/index.mjs +162 -37
- package/dist/install-integrity.json +84 -84
- package/dist/plays/bundle-play-file.d.mts +3 -3
- package/dist/plays/bundle-play-file.d.ts +3 -3
- package/dist/plays/bundle-play-file.mjs +2 -2
- package/dist/plays/run-request.d.mts +2 -2
- package/dist/plays/run-request.d.ts +2 -2
- package/dist/release.d.mts +1 -1
- package/dist/release.d.ts +1 -1
- package/dist/release.js +2 -2
- package/dist/release.mjs +1 -1
- package/package.json +2 -1
- package/dist/cli/auth-67YOPQ6M.js +0 -31
- package/dist/cli/client-7LZCG4VD.js +0 -20
- package/dist/cli/git-RPFH3NJ2.js +0 -23
- package/dist/cli/play-BUQV47E2.js +0 -153
- package/dist/cli/search-CR2GZLCM.js +0 -26
- package/dist/cli/skills-4FP2MZKL.js +0 -28
- package/dist/cli/tools-7YZPH6WC.js +0 -39
- package/dist/cli/update-3VUOW6AP.js +0 -28
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import {
|
|
2
2
|
DeeplineClient
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-OZGU7P2S.mjs";
|
|
4
4
|
import {
|
|
5
|
-
printCommandEnvelope
|
|
6
|
-
|
|
5
|
+
printCommandEnvelope,
|
|
6
|
+
renderCommandEnvelopeText
|
|
7
|
+
} from "./chunk-EROOAI5G.mjs";
|
|
7
8
|
import {
|
|
8
9
|
resolveConfig,
|
|
9
10
|
sdkCliStateDirPath
|
|
10
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-FK7PW6BP.mjs";
|
|
11
12
|
|
|
12
13
|
// src/cli/search-ref.ts
|
|
13
14
|
import { mkdirSync, readFileSync, writeFileSync } from "fs";
|
|
@@ -36,6 +37,132 @@ function recentSearchRef() {
|
|
|
36
37
|
}
|
|
37
38
|
}
|
|
38
39
|
|
|
40
|
+
// src/cli/text-table.ts
|
|
41
|
+
import { getBorderCharacters, table } from "table";
|
|
42
|
+
function formatTextTable(rows, columns) {
|
|
43
|
+
if (columns.length === 0) return "";
|
|
44
|
+
const data = [
|
|
45
|
+
columns.map((column) => column.header),
|
|
46
|
+
...rows.map((row) => columns.map((column) => column.value(row)))
|
|
47
|
+
];
|
|
48
|
+
return table(data, {
|
|
49
|
+
border: getBorderCharacters("void"),
|
|
50
|
+
drawHorizontalLine: () => false,
|
|
51
|
+
columnDefault: { paddingLeft: 0, paddingRight: 2 },
|
|
52
|
+
columns: columns.map((column, index) => ({
|
|
53
|
+
alignment: column.alignment ?? "left",
|
|
54
|
+
// table@6's word wrapper counts UTF-16 characters instead of display
|
|
55
|
+
// cells. Use its display-width-safe character wrapper for Unicode;
|
|
56
|
+
// unbounded identifiers never need wrapping in the first place.
|
|
57
|
+
wrapWord: column.width !== void 0 && data.every((row) => new RegExp("^\\p{ASCII}*$", "u").test(row[index])),
|
|
58
|
+
...column.width === void 0 ? {} : { width: column.width }
|
|
59
|
+
}))
|
|
60
|
+
}).split("\n").map((line) => line.trimEnd()).join("\n").trimEnd();
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
// src/cli/search-output.ts
|
|
64
|
+
function clipSummary(value) {
|
|
65
|
+
const characters = Array.from(value.replace(/\s+/gu, " ").trim());
|
|
66
|
+
return characters.length <= 78 ? characters.join("") : `${characters.slice(0, 77).join("")}\u2026`;
|
|
67
|
+
}
|
|
68
|
+
function pricingDisplay(item) {
|
|
69
|
+
const pricing = item.pricing;
|
|
70
|
+
if (!pricing)
|
|
71
|
+
return { cost: item.kind === "tool" ? "unknown" : "\u2014", notes: [] };
|
|
72
|
+
const range = pricing.estimatedRange;
|
|
73
|
+
if (range && item.billingSource !== "own_provider_credentials") {
|
|
74
|
+
return {
|
|
75
|
+
cost: `${range.minCreditsPerUnit}\u2013${range.maxCreditsPerUnit}/${pricing.unit} (estimate)`,
|
|
76
|
+
notes: [range.scope]
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
const observed = pricing.observedReference;
|
|
80
|
+
if (observed) {
|
|
81
|
+
return {
|
|
82
|
+
cost: `${observed.creditsPerCall}/call (observed)`,
|
|
83
|
+
notes: [
|
|
84
|
+
`Observed reference: ${observed.sampleSize} call(s), ${observed.observedAt}; ${observed.inputMode} Not a quote.`
|
|
85
|
+
]
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
if (item.billingSource === "own_provider_credentials") {
|
|
89
|
+
return {
|
|
90
|
+
cost: "0 (own credentials)",
|
|
91
|
+
notes: ["Your provider quota still applies."]
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
const display = pricing.displayText ?? "";
|
|
95
|
+
const rate = display.match(
|
|
96
|
+
/^([\d.,]+) Deepline credits(?: \/ \$[\d.,]+)? per (call|result|page)( \(estimate\))?$/
|
|
97
|
+
);
|
|
98
|
+
if (rate)
|
|
99
|
+
return {
|
|
100
|
+
cost: `${rate[1]}/${rate[2]}${rate[3] ?? ""}${pricing.summary || pricing.details?.length ? "*" : ""}`,
|
|
101
|
+
notes: []
|
|
102
|
+
};
|
|
103
|
+
if (pricing.creditsPerUnit === 0 && /^Free\b/.test(display)) {
|
|
104
|
+
return { cost: "0 (free)", notes: [] };
|
|
105
|
+
}
|
|
106
|
+
if (!display || display === "Pricing unavailable.")
|
|
107
|
+
return { cost: "unknown", notes: [] };
|
|
108
|
+
return {
|
|
109
|
+
cost: pricing.unit === "usage" ? "usage-based" : "variable",
|
|
110
|
+
notes: display ? [clipSummary(display)] : []
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
function searchRow(item) {
|
|
114
|
+
const { cost, notes } = pricingDisplay(item);
|
|
115
|
+
if (item.credentialStatus === "requires_connection") {
|
|
116
|
+
notes.push("Requires your credentials \u2014 not connected (connect to use).");
|
|
117
|
+
} else if (item.connected === false && item.credentialStatus === "managed") {
|
|
118
|
+
notes.push("Temporarily unavailable.");
|
|
119
|
+
}
|
|
120
|
+
return {
|
|
121
|
+
id: item.id,
|
|
122
|
+
kind: item.kind,
|
|
123
|
+
cost,
|
|
124
|
+
summary: clipSummary(item.description ?? ""),
|
|
125
|
+
notes
|
|
126
|
+
};
|
|
127
|
+
}
|
|
128
|
+
function renderSearchResults(result) {
|
|
129
|
+
if (result.results.length === 0)
|
|
130
|
+
return renderCommandEnvelopeText(result);
|
|
131
|
+
const rows = result.results.map(searchRow);
|
|
132
|
+
const kinds = new Set(rows.map((row) => row.kind));
|
|
133
|
+
const onlyTools = kinds.size === 1 && kinds.has("tool");
|
|
134
|
+
const columns = [
|
|
135
|
+
{ header: onlyTools ? "TOOL" : "ID", value: (row) => row.id },
|
|
136
|
+
...!onlyTools ? [{ header: "KIND", value: (row) => row.kind }] : [],
|
|
137
|
+
{ header: "CREDITS", value: (row) => row.cost, alignment: "right" },
|
|
138
|
+
{ header: "SUMMARY", value: (row) => row.summary }
|
|
139
|
+
];
|
|
140
|
+
const render = result.render;
|
|
141
|
+
const title = render?.sections?.[0]?.title ?? `${result.total ?? rows.length} matches \u2014 showing ${rows.length}`;
|
|
142
|
+
const remaining = {
|
|
143
|
+
sections: render?.sections?.slice(1),
|
|
144
|
+
actions: render?.actions
|
|
145
|
+
};
|
|
146
|
+
const followUps = remaining.sections?.length || remaining.actions?.length ? `
|
|
147
|
+
${renderCommandEnvelopeText({ render: remaining })}` : "";
|
|
148
|
+
const notes = rows.flatMap(
|
|
149
|
+
(row) => row.notes.map((note) => ` ${row.id}: ${note}`)
|
|
150
|
+
);
|
|
151
|
+
const details = [
|
|
152
|
+
...notes.length ? ["Notes", ...notes, ""] : [],
|
|
153
|
+
...rows.some((row) => row.cost.endsWith("*")) ? [
|
|
154
|
+
"* Additional pricing conditions apply; see full pricing before execution."
|
|
155
|
+
] : [],
|
|
156
|
+
"Full descriptions and pricing: deepline tools describe <toolId> or search --json."
|
|
157
|
+
].join("\n");
|
|
158
|
+
return `${title}
|
|
159
|
+
|
|
160
|
+
${formatTextTable(rows, columns)}
|
|
161
|
+
|
|
162
|
+
${details}
|
|
163
|
+
${followUps}`;
|
|
164
|
+
}
|
|
165
|
+
|
|
39
166
|
// src/cli/commands/search.ts
|
|
40
167
|
var SEARCH_TYPES = [
|
|
41
168
|
"tools",
|
|
@@ -112,7 +239,8 @@ async function runSearch(queryInput, options, types, exclude = []) {
|
|
|
112
239
|
if (searchRef) rememberSearchRef(searchRef);
|
|
113
240
|
pointAtDescribe(result);
|
|
114
241
|
printCommandEnvelope(result, {
|
|
115
|
-
json: options.json === true
|
|
242
|
+
json: options.json === true,
|
|
243
|
+
text: renderSearchResults(result)
|
|
116
244
|
});
|
|
117
245
|
return 0;
|
|
118
246
|
}
|
|
@@ -166,6 +294,8 @@ Notes:
|
|
|
166
294
|
materially improves ranking, especially for short queries.
|
|
167
295
|
Search prints a readable result list by default, piped or not, and that is
|
|
168
296
|
the recommended form. Pass --json only when a program parses the result.
|
|
297
|
+
Readable prices are Deepline credits with a per-row unit. Estimates and
|
|
298
|
+
observed historical charges are labelled; usage-based prices are not quotes.
|
|
169
299
|
|
|
170
300
|
Examples:
|
|
171
301
|
deepline search "find work email"
|
|
@@ -1,20 +1,21 @@
|
|
|
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
|
|
3
|
+
var _chunkGY2EEO2Yjs = require('./chunk-GY2EEO2Y.js');
|
|
4
4
|
|
|
5
5
|
|
|
6
|
-
var _chunkUROXKPNDjs = require('./chunk-UROXKPND.js');
|
|
7
6
|
|
|
7
|
+
var _chunkU2N4CYT7js = require('./chunk-U2N4CYT7.js');
|
|
8
8
|
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
|
|
11
|
+
var _chunkVDIHLKGGjs = require('./chunk-VDIHLKGG.js');
|
|
11
12
|
|
|
12
13
|
// src/cli/search-ref.ts
|
|
13
14
|
var _fs = require('fs');
|
|
14
15
|
var _path = require('path');
|
|
15
16
|
var SEARCH_REF_TTL_MS = 15 * 6e4;
|
|
16
17
|
function lastSearchPath() {
|
|
17
|
-
return _path.join.call(void 0,
|
|
18
|
+
return _path.join.call(void 0, _chunkVDIHLKGGjs.sdkCliStateDirPath.call(void 0, _chunkVDIHLKGGjs.resolveConfig.call(void 0, ).baseUrl), "last-search.json");
|
|
18
19
|
}
|
|
19
20
|
function rememberSearchRef(searchRef) {
|
|
20
21
|
try {
|
|
@@ -36,6 +37,132 @@ function recentSearchRef() {
|
|
|
36
37
|
}
|
|
37
38
|
}
|
|
38
39
|
|
|
40
|
+
// src/cli/text-table.ts
|
|
41
|
+
var _table = require('table');
|
|
42
|
+
function formatTextTable(rows, columns) {
|
|
43
|
+
if (columns.length === 0) return "";
|
|
44
|
+
const data = [
|
|
45
|
+
columns.map((column) => column.header),
|
|
46
|
+
...rows.map((row) => columns.map((column) => column.value(row)))
|
|
47
|
+
];
|
|
48
|
+
return _table.table.call(void 0, data, {
|
|
49
|
+
border: _table.getBorderCharacters.call(void 0, "void"),
|
|
50
|
+
drawHorizontalLine: () => false,
|
|
51
|
+
columnDefault: { paddingLeft: 0, paddingRight: 2 },
|
|
52
|
+
columns: columns.map((column, index) => ({
|
|
53
|
+
alignment: _nullishCoalesce(column.alignment, () => ( "left")),
|
|
54
|
+
// table@6's word wrapper counts UTF-16 characters instead of display
|
|
55
|
+
// cells. Use its display-width-safe character wrapper for Unicode;
|
|
56
|
+
// unbounded identifiers never need wrapping in the first place.
|
|
57
|
+
wrapWord: column.width !== void 0 && data.every((row) => new RegExp("^\\p{ASCII}*$", "u").test(row[index])),
|
|
58
|
+
...column.width === void 0 ? {} : { width: column.width }
|
|
59
|
+
}))
|
|
60
|
+
}).split("\n").map((line) => line.trimEnd()).join("\n").trimEnd();
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
// src/cli/search-output.ts
|
|
64
|
+
function clipSummary(value) {
|
|
65
|
+
const characters = Array.from(value.replace(/\s+/gu, " ").trim());
|
|
66
|
+
return characters.length <= 78 ? characters.join("") : `${characters.slice(0, 77).join("")}\u2026`;
|
|
67
|
+
}
|
|
68
|
+
function pricingDisplay(item) {
|
|
69
|
+
const pricing = item.pricing;
|
|
70
|
+
if (!pricing)
|
|
71
|
+
return { cost: item.kind === "tool" ? "unknown" : "\u2014", notes: [] };
|
|
72
|
+
const range = pricing.estimatedRange;
|
|
73
|
+
if (range && item.billingSource !== "own_provider_credentials") {
|
|
74
|
+
return {
|
|
75
|
+
cost: `${range.minCreditsPerUnit}\u2013${range.maxCreditsPerUnit}/${pricing.unit} (estimate)`,
|
|
76
|
+
notes: [range.scope]
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
const observed = pricing.observedReference;
|
|
80
|
+
if (observed) {
|
|
81
|
+
return {
|
|
82
|
+
cost: `${observed.creditsPerCall}/call (observed)`,
|
|
83
|
+
notes: [
|
|
84
|
+
`Observed reference: ${observed.sampleSize} call(s), ${observed.observedAt}; ${observed.inputMode} Not a quote.`
|
|
85
|
+
]
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
if (item.billingSource === "own_provider_credentials") {
|
|
89
|
+
return {
|
|
90
|
+
cost: "0 (own credentials)",
|
|
91
|
+
notes: ["Your provider quota still applies."]
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
const display = _nullishCoalesce(pricing.displayText, () => ( ""));
|
|
95
|
+
const rate = display.match(
|
|
96
|
+
/^([\d.,]+) Deepline credits(?: \/ \$[\d.,]+)? per (call|result|page)( \(estimate\))?$/
|
|
97
|
+
);
|
|
98
|
+
if (rate)
|
|
99
|
+
return {
|
|
100
|
+
cost: `${rate[1]}/${rate[2]}${_nullishCoalesce(rate[3], () => ( ""))}${pricing.summary || _optionalChain([pricing, 'access', _ => _.details, 'optionalAccess', _2 => _2.length]) ? "*" : ""}`,
|
|
101
|
+
notes: []
|
|
102
|
+
};
|
|
103
|
+
if (pricing.creditsPerUnit === 0 && /^Free\b/.test(display)) {
|
|
104
|
+
return { cost: "0 (free)", notes: [] };
|
|
105
|
+
}
|
|
106
|
+
if (!display || display === "Pricing unavailable.")
|
|
107
|
+
return { cost: "unknown", notes: [] };
|
|
108
|
+
return {
|
|
109
|
+
cost: pricing.unit === "usage" ? "usage-based" : "variable",
|
|
110
|
+
notes: display ? [clipSummary(display)] : []
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
function searchRow(item) {
|
|
114
|
+
const { cost, notes } = pricingDisplay(item);
|
|
115
|
+
if (item.credentialStatus === "requires_connection") {
|
|
116
|
+
notes.push("Requires your credentials \u2014 not connected (connect to use).");
|
|
117
|
+
} else if (item.connected === false && item.credentialStatus === "managed") {
|
|
118
|
+
notes.push("Temporarily unavailable.");
|
|
119
|
+
}
|
|
120
|
+
return {
|
|
121
|
+
id: item.id,
|
|
122
|
+
kind: item.kind,
|
|
123
|
+
cost,
|
|
124
|
+
summary: clipSummary(_nullishCoalesce(item.description, () => ( ""))),
|
|
125
|
+
notes
|
|
126
|
+
};
|
|
127
|
+
}
|
|
128
|
+
function renderSearchResults(result) {
|
|
129
|
+
if (result.results.length === 0)
|
|
130
|
+
return _chunkU2N4CYT7js.renderCommandEnvelopeText.call(void 0, result);
|
|
131
|
+
const rows = result.results.map(searchRow);
|
|
132
|
+
const kinds = new Set(rows.map((row) => row.kind));
|
|
133
|
+
const onlyTools = kinds.size === 1 && kinds.has("tool");
|
|
134
|
+
const columns = [
|
|
135
|
+
{ header: onlyTools ? "TOOL" : "ID", value: (row) => row.id },
|
|
136
|
+
...!onlyTools ? [{ header: "KIND", value: (row) => row.kind }] : [],
|
|
137
|
+
{ header: "CREDITS", value: (row) => row.cost, alignment: "right" },
|
|
138
|
+
{ header: "SUMMARY", value: (row) => row.summary }
|
|
139
|
+
];
|
|
140
|
+
const render = result.render;
|
|
141
|
+
const title = _nullishCoalesce(_optionalChain([render, 'optionalAccess', _3 => _3.sections, 'optionalAccess', _4 => _4[0], 'optionalAccess', _5 => _5.title]), () => ( `${_nullishCoalesce(result.total, () => ( rows.length))} matches \u2014 showing ${rows.length}`));
|
|
142
|
+
const remaining = {
|
|
143
|
+
sections: _optionalChain([render, 'optionalAccess', _6 => _6.sections, 'optionalAccess', _7 => _7.slice, 'call', _8 => _8(1)]),
|
|
144
|
+
actions: _optionalChain([render, 'optionalAccess', _9 => _9.actions])
|
|
145
|
+
};
|
|
146
|
+
const followUps = _optionalChain([remaining, 'access', _10 => _10.sections, 'optionalAccess', _11 => _11.length]) || _optionalChain([remaining, 'access', _12 => _12.actions, 'optionalAccess', _13 => _13.length]) ? `
|
|
147
|
+
${_chunkU2N4CYT7js.renderCommandEnvelopeText.call(void 0, { render: remaining })}` : "";
|
|
148
|
+
const notes = rows.flatMap(
|
|
149
|
+
(row) => row.notes.map((note) => ` ${row.id}: ${note}`)
|
|
150
|
+
);
|
|
151
|
+
const details = [
|
|
152
|
+
...notes.length ? ["Notes", ...notes, ""] : [],
|
|
153
|
+
...rows.some((row) => row.cost.endsWith("*")) ? [
|
|
154
|
+
"* Additional pricing conditions apply; see full pricing before execution."
|
|
155
|
+
] : [],
|
|
156
|
+
"Full descriptions and pricing: deepline tools describe <toolId> or search --json."
|
|
157
|
+
].join("\n");
|
|
158
|
+
return `${title}
|
|
159
|
+
|
|
160
|
+
${formatTextTable(rows, columns)}
|
|
161
|
+
|
|
162
|
+
${details}
|
|
163
|
+
${followUps}`;
|
|
164
|
+
}
|
|
165
|
+
|
|
39
166
|
// src/cli/commands/search.ts
|
|
40
167
|
var SEARCH_TYPES = [
|
|
41
168
|
"tools",
|
|
@@ -78,8 +205,8 @@ function addSearchOptions(command) {
|
|
|
78
205
|
function pointAtDescribe(result) {
|
|
79
206
|
const old = /`deepline (tools|plays) describe [^`]*`/;
|
|
80
207
|
const render = result.render;
|
|
81
|
-
for (const section of _nullishCoalesce(_optionalChain([render, 'optionalAccess',
|
|
82
|
-
if (!_optionalChain([section, 'access',
|
|
208
|
+
for (const section of _nullishCoalesce(_optionalChain([render, 'optionalAccess', _14 => _14.sections]), () => ( []))) {
|
|
209
|
+
if (!_optionalChain([section, 'access', _15 => _15.lines, 'optionalAccess', _16 => _16.some, 'call', _17 => _17((line) => old.test(line))])) continue;
|
|
83
210
|
section.lines = [
|
|
84
211
|
"Run `deepline describe <id>` before executing a tool or running a play.",
|
|
85
212
|
...section.lines.filter((line) => !old.test(line))
|
|
@@ -91,13 +218,13 @@ function pointAtDescribe(result) {
|
|
|
91
218
|
}
|
|
92
219
|
}
|
|
93
220
|
async function runSearch(queryInput, options, types, exclude = []) {
|
|
94
|
-
const query = _nullishCoalesce(_optionalChain([queryInput, 'optionalAccess',
|
|
221
|
+
const query = _nullishCoalesce(_optionalChain([queryInput, 'optionalAccess', _18 => _18.trim, 'call', _19 => _19()]), () => ( ""));
|
|
95
222
|
const searchTerms = _nullishCoalesce(options.searchTerms, () => ( options.search_terms));
|
|
96
|
-
if (!query && !_optionalChain([options, 'access',
|
|
223
|
+
if (!query && !_optionalChain([options, 'access', _20 => _20.categories, 'optionalAccess', _21 => _21.trim, 'call', _22 => _22()]) && !_optionalChain([searchTerms, 'optionalAccess', _23 => _23.trim, 'call', _24 => _24()])) {
|
|
97
224
|
console.error(USAGE);
|
|
98
225
|
return 1;
|
|
99
226
|
}
|
|
100
|
-
const { search_ref: searchRef, ...result } = await new (0,
|
|
227
|
+
const { search_ref: searchRef, ...result } = await new (0, _chunkGY2EEO2Yjs.DeeplineClient)().search({
|
|
101
228
|
query,
|
|
102
229
|
types,
|
|
103
230
|
exclude,
|
|
@@ -111,8 +238,9 @@ async function runSearch(queryInput, options, types, exclude = []) {
|
|
|
111
238
|
});
|
|
112
239
|
if (searchRef) rememberSearchRef(searchRef);
|
|
113
240
|
pointAtDescribe(result);
|
|
114
|
-
|
|
115
|
-
json: options.json === true
|
|
241
|
+
_chunkU2N4CYT7js.printCommandEnvelope.call(void 0, result, {
|
|
242
|
+
json: options.json === true,
|
|
243
|
+
text: renderSearchResults(result)
|
|
116
244
|
});
|
|
117
245
|
return 0;
|
|
118
246
|
}
|
|
@@ -166,6 +294,8 @@ Notes:
|
|
|
166
294
|
materially improves ranking, especially for short queries.
|
|
167
295
|
Search prints a readable result list by default, piped or not, and that is
|
|
168
296
|
the recommended form. Pass --json only when a program parses the result.
|
|
297
|
+
Readable prices are Deepline credits with a per-row unit. Estimates and
|
|
298
|
+
observed historical charges are labelled; usage-based prices are not quotes.
|
|
169
299
|
|
|
170
300
|
Examples:
|
|
171
301
|
deepline search "find work email"
|
|
@@ -1,17 +1,17 @@
|
|
|
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
3
|
|
|
4
|
-
var
|
|
4
|
+
var _chunkKHZQFFOQjs = require('./chunk-KHZQFFOQ.js');
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
|
|
8
|
-
var
|
|
8
|
+
var _chunkJ2E5R2VHjs = require('./chunk-J2E5R2VH.js');
|
|
9
9
|
|
|
10
10
|
|
|
11
|
-
var
|
|
11
|
+
var _chunkU2N4CYT7js = require('./chunk-U2N4CYT7.js');
|
|
12
12
|
|
|
13
13
|
|
|
14
|
-
var
|
|
14
|
+
var _chunkVDIHLKGGjs = require('./chunk-VDIHLKGG.js');
|
|
15
15
|
|
|
16
16
|
// src/cli/commands/update.ts
|
|
17
17
|
var _child_process = require('child_process');
|
|
@@ -489,7 +489,7 @@ function normalizedNpmPrefix(value) {
|
|
|
489
489
|
}
|
|
490
490
|
function resolveNpmGlobalPrefix(env) {
|
|
491
491
|
try {
|
|
492
|
-
const plan =
|
|
492
|
+
const plan = _chunkJ2E5R2VHjs.resolveShellSpawn.call(void 0, "npm", ["prefix", "-g"], process.platform, env);
|
|
493
493
|
const result = _child_process.spawnSync.call(void 0, plan.command, plan.args, {
|
|
494
494
|
encoding: "utf8",
|
|
495
495
|
env,
|
|
@@ -545,8 +545,8 @@ function resolveUpdatePlan(options = {}) {
|
|
|
545
545
|
const npmGlobalPrefix = options.npmGlobalPrefix !== void 0 ? options.npmGlobalPrefix : resolveNpmGlobalPrefix(env);
|
|
546
546
|
const hasVerifiedNpmOwnership = inferredInstallPrefix !== null && normalizedNpmPrefix(inferredInstallPrefix) === normalizedNpmPrefix(npmGlobalPrefix);
|
|
547
547
|
const installPrefix = options.requireVerifiedNpmOwnership ? hasVerifiedNpmOwnership ? inferredInstallPrefix : null : inferredInstallPrefix;
|
|
548
|
-
const npmVersion = options.npmVersion === void 0 ?
|
|
549
|
-
const npmGlobalInstallFlags =
|
|
548
|
+
const npmVersion = options.npmVersion === void 0 ? _chunkKHZQFFOQjs.readNpmVersion.call(void 0, env) : options.npmVersion;
|
|
549
|
+
const npmGlobalInstallFlags = _chunkKHZQFFOQjs.npmSupportsAllowScripts.call(void 0, npmVersion) ? [...NPM_SDK_INSTALL_COMMON_FLAGS, "--allow-scripts=esbuild"] : NPM_SDK_INSTALL_COMMON_FLAGS;
|
|
550
550
|
const args = installPrefix ? [
|
|
551
551
|
"install",
|
|
552
552
|
"-g",
|
|
@@ -556,7 +556,7 @@ function resolveUpdatePlan(options = {}) {
|
|
|
556
556
|
packageSpec
|
|
557
557
|
] : ["install", "-g", ...npmGlobalInstallFlags, packageSpec];
|
|
558
558
|
const fallbackRegistryUrl = options.npmFallbackRegistryUrl !== void 0 ? options.npmFallbackRegistryUrl : publicNpmFallbackRegistryUrl(
|
|
559
|
-
_optionalChain([env, 'access', _18 => _18.DEEPLINE_HOST_URL, 'optionalAccess', _19 => _19.trim, 'call', _20 => _20()]) ||
|
|
559
|
+
_optionalChain([env, 'access', _18 => _18.DEEPLINE_HOST_URL, 'optionalAccess', _19 => _19.trim, 'call', _20 => _20()]) || _chunkVDIHLKGGjs.autoDetectBaseUrl.call(void 0, )
|
|
560
560
|
);
|
|
561
561
|
return {
|
|
562
562
|
kind: "npm-global",
|
|
@@ -703,7 +703,7 @@ function sidecarInstallFailure(versionDir) {
|
|
|
703
703
|
function runCommand(command, args, env = process.env) {
|
|
704
704
|
return new Promise((resolveResult) => {
|
|
705
705
|
let output = "";
|
|
706
|
-
const plan =
|
|
706
|
+
const plan = _chunkJ2E5R2VHjs.resolveShellSpawn.call(void 0, command, args, process.platform, env);
|
|
707
707
|
const child = _child_process.spawn.call(void 0, plan.command, plan.args, {
|
|
708
708
|
stdio: ["inherit", "pipe", "pipe"],
|
|
709
709
|
shell: plan.shell,
|
|
@@ -1079,14 +1079,14 @@ async function publishedVersionSupportsPin(version, fallbackRegistryUrl) {
|
|
|
1079
1079
|
throw _nullishCoalesce(lastError, () => ( new Error("No npm registry was available")));
|
|
1080
1080
|
}
|
|
1081
1081
|
async function runUpdateCommand(options, dependencies = {}) {
|
|
1082
|
-
const detectBaseUrl = _nullishCoalesce(dependencies.detectBaseUrl, () => (
|
|
1082
|
+
const detectBaseUrl = _nullishCoalesce(dependencies.detectBaseUrl, () => ( _chunkVDIHLKGGjs.autoDetectBaseUrl));
|
|
1083
1083
|
const resolvePlan = _nullishCoalesce(dependencies.resolvePlan, () => ( resolveUpdatePlan));
|
|
1084
1084
|
const runPlan = _nullishCoalesce(dependencies.runPlan, () => ( runUpdatePlan));
|
|
1085
1085
|
const syncSkills = _nullishCoalesce(dependencies.syncSkillsIfNeeded, () => ( (async () => {
|
|
1086
1086
|
const originalWrite = process.stdout.write.bind(process.stdout);
|
|
1087
1087
|
process.stdout.write = (() => true);
|
|
1088
1088
|
try {
|
|
1089
|
-
const exitCode = await
|
|
1089
|
+
const exitCode = await _chunkJ2E5R2VHjs.runSkillsCommand.call(void 0, { json: true });
|
|
1090
1090
|
if (exitCode !== 0) {
|
|
1091
1091
|
throw new Error(
|
|
1092
1092
|
`Deepline skills update failed with exit ${exitCode}.`
|
|
@@ -1157,11 +1157,11 @@ async function runUpdateCommand(options, dependencies = {}) {
|
|
|
1157
1157
|
]
|
|
1158
1158
|
};
|
|
1159
1159
|
if (options.json && !options.executeWithJson) {
|
|
1160
|
-
|
|
1160
|
+
_chunkU2N4CYT7js.printCommandEnvelope.call(void 0, { ...plan, render }, { json: true });
|
|
1161
1161
|
return 0;
|
|
1162
1162
|
}
|
|
1163
1163
|
if (options.printCommand) {
|
|
1164
|
-
|
|
1164
|
+
_chunkU2N4CYT7js.printCommandEnvelope.call(void 0,
|
|
1165
1165
|
{
|
|
1166
1166
|
...plan,
|
|
1167
1167
|
render: {
|
|
@@ -1174,7 +1174,7 @@ async function runUpdateCommand(options, dependencies = {}) {
|
|
|
1174
1174
|
return 0;
|
|
1175
1175
|
}
|
|
1176
1176
|
if (plan.kind === "source" || plan.kind === "homebrew") {
|
|
1177
|
-
|
|
1177
|
+
_chunkU2N4CYT7js.printCommandEnvelope.call(void 0, { ...plan, render }, { json: false });
|
|
1178
1178
|
return 0;
|
|
1179
1179
|
}
|
|
1180
1180
|
stderr.write(`Updating Deepline SDK/CLI with: ${plan.manualCommand}
|
|
@@ -1204,7 +1204,7 @@ To retry with full installer output, run: deepline skills --json
|
|
|
1204
1204
|
);
|
|
1205
1205
|
}
|
|
1206
1206
|
if (options.executeWithJson && options.json) {
|
|
1207
|
-
|
|
1207
|
+
_chunkU2N4CYT7js.printCommandEnvelope.call(void 0,
|
|
1208
1208
|
{
|
|
1209
1209
|
ok: true,
|
|
1210
1210
|
pinnedVersion
|
|
@@ -10,11 +10,11 @@ import {
|
|
|
10
10
|
} from "./chunk-EDWJY6T4.mjs";
|
|
11
11
|
import {
|
|
12
12
|
registerDeprecatedSearchCommand
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-3RZJ3GEG.mjs";
|
|
14
14
|
import {
|
|
15
15
|
handleDeploymentGet,
|
|
16
16
|
handleDeploymentsList
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-ERU2OR6F.mjs";
|
|
18
18
|
import {
|
|
19
19
|
PLAY_BOOTSTRAP_COMPANY_PROVIDER_CATEGORY,
|
|
20
20
|
PLAY_BOOTSTRAP_OUTPUT_FIELD_BY_FINDER,
|
|
@@ -39,7 +39,7 @@ import {
|
|
|
39
39
|
normalizeRunEventOperationRequest,
|
|
40
40
|
parseLogLevel,
|
|
41
41
|
playInputExampleArgs
|
|
42
|
-
} from "./chunk-
|
|
42
|
+
} from "./chunk-OZGU7P2S.mjs";
|
|
43
43
|
import {
|
|
44
44
|
CSV_DATA_INPUT_KEY,
|
|
45
45
|
buildNamedPlayRunRequest,
|
|
@@ -71,10 +71,10 @@ import {
|
|
|
71
71
|
printJson,
|
|
72
72
|
printJsonError,
|
|
73
73
|
renderCommandEnvelopeText
|
|
74
|
-
} from "./chunk-
|
|
74
|
+
} from "./chunk-EROOAI5G.mjs";
|
|
75
75
|
import {
|
|
76
76
|
fetchWithDeploymentProtection
|
|
77
|
-
} from "./chunk-
|
|
77
|
+
} from "./chunk-FK7PW6BP.mjs";
|
|
78
78
|
import {
|
|
79
79
|
PLAY_DEFAULT_EXPORT,
|
|
80
80
|
extractDefinedPlayName,
|
|
@@ -82,7 +82,7 @@ import {
|
|
|
82
82
|
listPlayFileExports,
|
|
83
83
|
parsePlaySourceForAnalysis,
|
|
84
84
|
resolveEnabledExecutionProfile
|
|
85
|
-
} from "./chunk-
|
|
85
|
+
} from "./chunk-EV4QJE4J.mjs";
|
|
86
86
|
import {
|
|
87
87
|
DeeplineError
|
|
88
88
|
} from "./chunk-NXGCO4JB.mjs";
|
|
@@ -5180,10 +5180,13 @@ function generateProviderSourceBlock(input) {
|
|
|
5180
5180
|
input: ${inputName},
|
|
5181
5181
|
description: ${jsString(`Seed ${input.entity} rows from ${input.provider}.`)},
|
|
5182
5182
|
});
|
|
5183
|
-
// extractedLists.${getter}.get() returns
|
|
5183
|
+
// extractedLists.${getter}.get() returns provider-shaped rows. Do not assume canonical fields;
|
|
5184
5184
|
// inspect source_${input.index}.extractedLists.${getter}.keys or the provider output schema, then map explicitly below.
|
|
5185
|
-
const
|
|
5186
|
-
|
|
5185
|
+
const sourceList_${input.index} = ${accessorExpression(`source_${input.index}.extractedLists`, getter)}.get();
|
|
5186
|
+
// Legacy admitted Plays use a dataset getter; the new contract returns an ordinary array.
|
|
5187
|
+
const sourceRows_${input.index} = (Array.isArray(sourceList_${input.index})
|
|
5188
|
+
? sourceList_${input.index}.slice(0, limit)
|
|
5189
|
+
: await sourceList_${input.index}.peek(limit)) as ${input.collectionType}[];`;
|
|
5187
5190
|
}
|
|
5188
5191
|
function generateProviderSourceRowsBlock(input) {
|
|
5189
5192
|
const blocks = input.source.values.map(
|
|
@@ -15675,13 +15678,14 @@ Active runs: ${next.running}`
|
|
|
15675
15678
|
...offset !== void 0 ? { offset } : {}
|
|
15676
15679
|
});
|
|
15677
15680
|
const runs = page.runs.map((run) => ({
|
|
15681
|
+
id: run.workflowId,
|
|
15678
15682
|
runId: run.workflowId,
|
|
15679
15683
|
// `workflowId` is the legacy SDK name for the same public Deepline run
|
|
15680
15684
|
// identity. Keep it during the compatibility window, but never label the
|
|
15681
15685
|
// duplicate as a Temporal/runtime id.
|
|
15682
15686
|
workflowId: run.workflowId,
|
|
15683
15687
|
// Retain the runtime identifier for existing JSON consumers. It is not a
|
|
15684
|
-
// stable Deepline run id; `
|
|
15688
|
+
// stable Deepline run id; `id` above is the canonical public id.
|
|
15685
15689
|
temporalRunId: run.runId ?? null,
|
|
15686
15690
|
parentRunId: run.parentRunId ?? null,
|
|
15687
15691
|
rootRunId: run.rootRunId ?? null,
|
|
@@ -15702,12 +15706,12 @@ Active runs: ${next.running}`
|
|
|
15702
15706
|
playName ? `No runs found for ${playName}.` : `No runs found for status ${statusFilter}.`
|
|
15703
15707
|
] : runs.map((run) => {
|
|
15704
15708
|
const lines2 = [
|
|
15705
|
-
`${run.
|
|
15709
|
+
`${run.id} ${run.status}`,
|
|
15706
15710
|
` created: ${formatTimestamp(run.createdAt)}`,
|
|
15707
15711
|
` started: ${formatTimestamp(run.startedAt)}`,
|
|
15708
15712
|
` finished: ${formatTimestamp(run.finishedAt)}`,
|
|
15709
15713
|
` credits: ${typeof run.billingTotalCredits === "number" && Number.isFinite(run.billingTotalCredits) ? formatCreditAmount2(run.billingTotalCredits) : "\u2014"}`,
|
|
15710
|
-
` inspect: deepline runs get ${run.
|
|
15714
|
+
` inspect: deepline runs get ${run.id} --json`
|
|
15711
15715
|
];
|
|
15712
15716
|
if (run.parentRunId) lines2.push(` parent: ${run.parentRunId}`);
|
|
15713
15717
|
if (run.rootRunId) lines2.push(` root: ${run.rootRunId}`);
|
|
@@ -15744,7 +15748,7 @@ Active runs: ${next.running}`
|
|
|
15744
15748
|
...page.hasMore !== void 0 ? { has_more: page.hasMore, is_truncated: page.hasMore } : {},
|
|
15745
15749
|
next: {
|
|
15746
15750
|
page: nextPage,
|
|
15747
|
-
get: runs[0]?.
|
|
15751
|
+
get: runs[0]?.id ? `deepline runs get ${runs[0].id} --json` : null
|
|
15748
15752
|
},
|
|
15749
15753
|
render: { sections: [{ title: "runs", lines }] }
|
|
15750
15754
|
},
|
|
@@ -18146,7 +18150,7 @@ Examples:
|
|
|
18146
18150
|
process.exitCode = await ownView();
|
|
18147
18151
|
return;
|
|
18148
18152
|
}
|
|
18149
|
-
const { describeAnything } = await import("./describe-
|
|
18153
|
+
const { describeAnything } = await import("./describe-XWOWAR32.mjs");
|
|
18150
18154
|
process.exitCode = await describeAnything(
|
|
18151
18155
|
name,
|
|
18152
18156
|
{
|
|
@@ -18494,6 +18498,9 @@ Notes:
|
|
|
18494
18498
|
Use the exact qualified Play reference, such as workspace/my-play or prebuilt/my-play.
|
|
18495
18499
|
--offset requires --play; narrow status-only lists with a Play reference to paginate.
|
|
18496
18500
|
Common statuses include running, completed, failed, and stopped.
|
|
18501
|
+
JSON runs[].id is the public ID accepted by runs get, watch, export, and stop.
|
|
18502
|
+
runId and workflowId are compatibility aliases; temporalRunId is not the public ID.
|
|
18503
|
+
Use the ID returned by plays run for your execution, not the latest inventory entry.
|
|
18497
18504
|
|
|
18498
18505
|
Examples:
|
|
18499
18506
|
deepline runs list --play my-play
|
|
@@ -49,7 +49,7 @@ var SDK_RELEASE = {
|
|
|
49
49
|
// getters keep their established compatibility behavior.
|
|
50
50
|
// 0.3.1 deprecated the legacy `deepline enrich` command in favor of Plays.
|
|
51
51
|
// 0.3.90 is the first deliberately versioned SDK release for API v3.
|
|
52
|
-
version: "0.3.
|
|
52
|
+
version: "0.3.329",
|
|
53
53
|
updateSummary: "Play grep now returns concise results with the matched fields and terms. Automatic CLI updates are enabled by default; use `deepline settings autoupdate off` to opt out, `deepline settings autoupdate on` to re-enable updates, or `deepline settings autoupdate pin <version>` to hold an exact release.",
|
|
54
54
|
packageCapabilities: {
|
|
55
55
|
updatePreferences: 1
|
|
@@ -2,10 +2,10 @@ import {
|
|
|
2
2
|
getAuthedHttpClient,
|
|
3
3
|
openInBrowser,
|
|
4
4
|
printCommandEnvelope
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-EROOAI5G.mjs";
|
|
6
6
|
import {
|
|
7
7
|
resolveBaseUrlOnly
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-FK7PW6BP.mjs";
|
|
9
9
|
|
|
10
10
|
// src/cli/commands/git.ts
|
|
11
11
|
function shellQuote(value) {
|