deepline 0.3.372 → 0.3.374
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/release.ts +1 -1
- package/dist/bundling-sources/shared_libs/play-runtime/runner-backends/backends/daytona-payload-transport.ts +1 -53
- package/dist/bundling-sources/shared_libs/play-runtime/runner-backends/backends/daytona-runtime-watchdog.ts +15 -23
- package/dist/bundling-sources/shared_libs/play-runtime/scheduler-backends/absurd-runtime-worker.ts +65 -3
- package/dist/bundling-sources/shared_libs/plays/email-status.ts +95 -0
- package/dist/bundling-sources/shared_libs/plays/extractor-targets.ts +14 -0
- package/dist/bundling-sources/shared_libs/plays/field-catalog.ts +253 -0
- package/dist/bundling-sources/shared_libs/plays/tool-result-types.ts +2 -0
- package/dist/cli/auth-IFXXXZP6.js +33 -0
- package/dist/cli/{auth-ODSACXLF.mjs → auth-YGCDA4WG.mjs} +4 -4
- package/dist/cli/{billing-OPIOZLAN.mjs → billing-3ZLR3CJU.mjs} +4 -4
- package/dist/cli/{billing-4ERXY2DZ.js → billing-ZXRKPD5D.js} +73 -73
- package/dist/cli/{chunk-XSPAI6MF.mjs → chunk-2DAWTVNN.mjs} +2 -2
- package/dist/cli/{chunk-E5UD3JDQ.js → chunk-3VN4FTE3.js} +289 -5
- package/dist/cli/{chunk-VVFH745L.js → chunk-3XKAOV74.js} +6 -6
- package/dist/cli/{chunk-N5TPMNTT.js → chunk-53PZA4EP.js} +8 -8
- package/dist/cli/{chunk-BFLPCGOR.mjs → chunk-62IBVKWB.mjs} +1 -1
- package/dist/cli/{chunk-2RC5JQ3C.mjs → chunk-A62HBMHY.mjs} +1 -1
- package/dist/cli/{chunk-3GK3SH3G.mjs → chunk-E6BZWURC.mjs} +200 -13
- package/dist/cli/{chunk-KC2YOJTU.mjs → chunk-FT6O2ZVJ.mjs} +319 -115
- package/dist/cli/{chunk-5HYD3GMS.mjs → chunk-GT6KGIWV.mjs} +3 -3
- package/dist/cli/{chunk-RUYZAREB.js → chunk-HC5L6KGE.js} +9 -9
- package/dist/cli/{chunk-JAERLCMH.mjs → chunk-IZVGMVNX.mjs} +1 -1
- package/dist/cli/{chunk-ML2ZY7YD.js → chunk-JK547IDB.js} +4 -4
- package/dist/cli/{chunk-D6O3NJHX.js → chunk-MOBOAZMA.js} +60 -60
- package/dist/cli/{chunk-DONL233W.mjs → chunk-MQ5UW5AZ.mjs} +4 -4
- package/dist/cli/{chunk-MIMV5LTU.mjs → chunk-NNYQ24O5.mjs} +1 -1
- package/dist/cli/{chunk-DM5QUZJR.js → chunk-NOSIMGZV.js} +1 -1
- package/dist/cli/{chunk-AQFA7HMN.js → chunk-O7KJYX7R.js} +15 -15
- package/dist/cli/{chunk-U3W7E5WT.mjs → chunk-OS7GXARW.mjs} +27 -15
- package/dist/cli/{chunk-BVUGPOU3.mjs → chunk-OYTPVM2R.mjs} +2 -2
- package/dist/cli/{chunk-EFJL5FCU.js → chunk-PCYCNZLR.js} +8 -8
- package/dist/cli/{chunk-6MDAGRZP.js → chunk-RT5ICJ5V.js} +2 -2
- package/dist/cli/{chunk-GZQKUFM5.js → chunk-RXR7A2MX.js} +26 -26
- package/dist/cli/{chunk-4LIUZ4QR.mjs → chunk-SBB27CIJ.mjs} +2 -2
- package/dist/cli/{chunk-RJ7JJMQO.js → chunk-T35LCTC7.js} +266 -254
- package/dist/cli/{chunk-IUWPC5K6.js → chunk-TZTGK5JQ.js} +50 -50
- package/dist/cli/{chunk-FGHRRJ3D.mjs → chunk-VZSVYNZH.mjs} +1 -1
- package/dist/cli/{chunk-WJWO74MM.js → chunk-X5V2QTDR.js} +390 -186
- package/dist/cli/{chunk-JB6ERQUV.mjs → chunk-Y6VOGHF2.mjs} +284 -0
- package/dist/cli/{chunk-3CTB7V5F.mjs → chunk-YFFH6NDU.mjs} +2 -2
- package/dist/cli/{chunk-2JRRXXTA.js → chunk-YPVTQRUM.js} +201 -14
- package/dist/cli/client-O6IEMURJ.js +20 -0
- package/dist/cli/{client-KF2J754U.mjs → client-TV254HC4.mjs} +3 -3
- package/dist/cli/{csv-UL3MCD5D.mjs → csv-VEHHRUG4.mjs} +3 -3
- package/dist/cli/{csv-UJ3M7NFP.js → csv-WSRTANXI.js} +12 -12
- package/dist/cli/{db-SIOWA63T.mjs → db-BH25DX2G.mjs} +4 -4
- package/dist/cli/{db-444XYOTV.js → db-JXZNMFCE.js} +29 -29
- package/dist/cli/{describe-RRBESS3S.js → describe-N2OBGVJM.js} +61 -32
- package/dist/cli/{describe-GI5GHAKO.mjs → describe-TMBECHTX.mjs} +46 -17
- package/dist/cli/{executions-ERXZUOL5.js → executions-TX5CQF66.js} +6 -6
- package/dist/cli/{executions-4YDP6BXI.mjs → executions-Y4HQHYSO.mjs} +4 -4
- package/dist/cli/{feedback-3M7D7DZQ.js → feedback-ASEJ5A7I.js} +7 -7
- package/dist/cli/{feedback-CPWQL5LU.mjs → feedback-W7SRXYSP.mjs} +3 -3
- package/dist/cli/{git-XN6C3TJZ.mjs → git-2W7CZZRC.mjs} +4 -4
- package/dist/cli/git-SSSOIQ2L.js +23 -0
- package/dist/cli/index.js +81 -81
- package/dist/cli/index.mjs +32 -32
- package/dist/cli/{legacy-noops-5XDGOFWH.js → legacy-noops-NJYAAGBY.js} +7 -7
- package/dist/cli/{legacy-noops-KXQ6TFFL.mjs → legacy-noops-TXMPY3P7.mjs} +4 -4
- package/dist/cli/{monitors-33IU5JR6.mjs → monitors-G4L65QGQ.mjs} +4 -4
- package/dist/cli/{monitors-KH22PDOC.js → monitors-YLKTQ57D.js} +85 -85
- package/dist/cli/{org-MHYMWUEP.mjs → org-BCHOWKIA.mjs} +4 -4
- package/dist/cli/{org-X4NSLQG5.js → org-ENXO2A33.js} +64 -64
- package/dist/cli/{play-LCZKHKW2.mjs → play-JBY7HUYN.mjs} +8 -8
- package/dist/cli/play-SSJ3PO4D.js +155 -0
- package/dist/cli/{providers-J6LWCF5R.js → providers-GWFX3E7C.js} +7 -7
- package/dist/cli/{providers-L5FJTSEA.mjs → providers-JV2DZG43.mjs} +4 -4
- package/dist/cli/{quickstart-NE3BTWGL.mjs → quickstart-AIXURXZQ.mjs} +3 -3
- package/dist/cli/{quickstart-OOPFA4MX.js → quickstart-CASPK7F4.js} +5 -5
- package/dist/cli/{search-DBXOEOIE.mjs → search-DYQB7LHK.mjs} +5 -5
- package/dist/cli/search-N7K6A2YV.js +26 -0
- package/dist/cli/{secrets-WPMU7UBD.js → secrets-AZQG2E4U.js} +13 -13
- package/dist/cli/{secrets-U2MLWZH2.mjs → secrets-RQZPIPO5.mjs} +4 -4
- package/dist/cli/{sessions-WYNC4AUE.mjs → sessions-3FJJDMBB.mjs} +4 -4
- package/dist/cli/{sessions-YYZ3UJDS.js → sessions-ZY6RBYD4.js} +5 -5
- package/dist/cli/{settings-WQDFX3X6.js → settings-GXKWNR5V.js} +74 -74
- package/dist/cli/{settings-FQZSHFC6.mjs → settings-UNZDQGSE.mjs} +7 -7
- package/dist/cli/{setup-JKYJT35S.mjs → setup-PIRXJ2KJ.mjs} +6 -6
- package/dist/cli/{setup-DKYVNDTM.js → setup-UURZD4YO.js} +41 -41
- package/dist/cli/skills-4OUZLKTW.js +28 -0
- package/dist/cli/{skills-VHVCJJJY.mjs → skills-B4AQEIAF.mjs} +4 -4
- package/dist/cli/tools-MIZS5UN6.js +40 -0
- package/dist/cli/{tools-E23PU7KM.mjs → tools-UMGQKUSW.mjs} +8 -8
- package/dist/cli/update-3CO7LA4M.js +28 -0
- package/dist/cli/{update-4A4VU6CW.mjs → update-SFUTMEKL.mjs} +6 -6
- package/dist/cli/{workflow-WB2USWAA.js → workflow-CDAJCMT7.js} +15 -15
- package/dist/cli/{workflow-2ZR2ECTG.mjs → workflow-ON6XVW36.mjs} +5 -5
- package/dist/{client-Cw0e2Uec.d.mts → client-Cn-txrXv.d.mts} +1 -1
- package/dist/{client-CwdiawoG.d.ts → client-fPoIN-3V.d.ts} +1 -1
- package/dist/{compiler-manifest-DgdW0q0b.d.mts → compiler-manifest-CY2v8ab0.d.mts} +2 -0
- package/dist/{compiler-manifest-DgdW0q0b.d.ts → compiler-manifest-CY2v8ab0.d.ts} +2 -0
- package/dist/{index-C3nQQTI-.d.mts → index-B9fBZH1g.d.mts} +1 -1
- package/dist/{index-CEYQAfS0.d.ts → index-BZ6uzZJl.d.ts} +1 -1
- package/dist/index.d.mts +5 -5
- package/dist/index.d.ts +5 -5
- package/dist/index.js +79 -249
- package/dist/index.mjs +10 -180
- package/dist/install-integrity.json +85 -84
- package/dist/plays/bundle-play-file.d.mts +3 -3
- package/dist/plays/bundle-play-file.d.ts +3 -3
- 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 +1 -1
- package/dist/cli/auth-4SXMV3CD.js +0 -33
- package/dist/cli/client-UUNLXOHF.js +0 -20
- package/dist/cli/git-ITSCNUVB.js +0 -23
- package/dist/cli/play-4QRPOBWW.js +0 -155
- package/dist/cli/search-UGQDBP76.js +0 -26
- package/dist/cli/skills-VBQMXDAX.js +0 -28
- package/dist/cli/tools-ACEJZMJD.js +0 -40
- package/dist/cli/update-V5KMYHVE.js +0 -28
|
@@ -4,7 +4,8 @@
|
|
|
4
4
|
|
|
5
5
|
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
|
|
8
|
+
var _chunkYPVTQRUMjs = require('./chunk-YPVTQRUM.js');
|
|
8
9
|
|
|
9
10
|
|
|
10
11
|
var _chunkAID3OYVJjs = require('./chunk-AID3OYVJ.js');
|
|
@@ -13,7 +14,10 @@ var _chunkAID3OYVJjs = require('./chunk-AID3OYVJ.js');
|
|
|
13
14
|
|
|
14
15
|
|
|
15
16
|
|
|
16
|
-
var
|
|
17
|
+
var _chunk53PZA4EPjs = require('./chunk-53PZA4EP.js');
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
|
|
17
21
|
|
|
18
22
|
|
|
19
23
|
|
|
@@ -21,14 +25,15 @@ var _chunkN5TPMNTTjs = require('./chunk-N5TPMNTT.js');
|
|
|
21
25
|
|
|
22
26
|
|
|
23
27
|
|
|
24
|
-
|
|
28
|
+
|
|
29
|
+
var _chunk3VN4FTE3js = require('./chunk-3VN4FTE3.js');
|
|
25
30
|
|
|
26
31
|
|
|
27
32
|
var _chunk5O4B6AUNjs = require('./chunk-5O4B6AUN.js');
|
|
28
33
|
|
|
29
34
|
|
|
30
35
|
|
|
31
|
-
var
|
|
36
|
+
var _chunkHC5L6KGEjs = require('./chunk-HC5L6KGE.js');
|
|
32
37
|
|
|
33
38
|
|
|
34
39
|
|
|
@@ -42,11 +47,11 @@ var _chunkQJBJZVG6js = require('./chunk-QJBJZVG6.js');
|
|
|
42
47
|
|
|
43
48
|
|
|
44
49
|
|
|
45
|
-
var
|
|
50
|
+
var _chunk3XKAOV74js = require('./chunk-3XKAOV74.js');
|
|
46
51
|
|
|
47
52
|
|
|
48
53
|
|
|
49
|
-
var
|
|
54
|
+
var _chunkJK547IDBjs = require('./chunk-JK547IDB.js');
|
|
50
55
|
|
|
51
56
|
|
|
52
57
|
var _chunk7P5AA3SNjs = require('./chunk-7P5AA3SN.js');
|
|
@@ -91,10 +96,10 @@ var ToolCallRecovery = class _ToolCallRecovery {
|
|
|
91
96
|
}
|
|
92
97
|
};
|
|
93
98
|
function pendingToolExecutionPath(input) {
|
|
94
|
-
const config =
|
|
95
|
-
const fingerprint = _crypto.createHash.call(void 0, "sha256").update(config.baseUrl).update("\0").update(_crypto.createHash.call(void 0, "sha256").update(config.apiKey).digest("hex")).update("\0").update(input.toolId).update("\0").update(
|
|
99
|
+
const config = _chunkJK547IDBjs.resolveConfig.call(void 0, );
|
|
100
|
+
const fingerprint = _crypto.createHash.call(void 0, "sha256").update(config.baseUrl).update("\0").update(_crypto.createHash.call(void 0, "sha256").update(config.apiKey).digest("hex")).update("\0").update(input.toolId).update("\0").update(_chunk3VN4FTE3js.stableStringify.call(void 0, input.params)).update("\0").update(input.responseIntent).digest("hex");
|
|
96
101
|
return _path.join.call(void 0,
|
|
97
|
-
|
|
102
|
+
_chunkJK547IDBjs.sdkCliStateDirPath.call(void 0, config.baseUrl),
|
|
98
103
|
`pending-tool-execution-${fingerprint}.json`
|
|
99
104
|
);
|
|
100
105
|
}
|
|
@@ -185,6 +190,179 @@ function describeToolCategory(category) {
|
|
|
185
190
|
return _nullishCoalesce(TOOL_CATEGORY_DESCRIPTIONS[category], () => ( null));
|
|
186
191
|
}
|
|
187
192
|
|
|
193
|
+
// ../plays/field-catalog.ts
|
|
194
|
+
var value = (description) => ({ type: "string", description });
|
|
195
|
+
var SOURCE = {
|
|
196
|
+
type: "string",
|
|
197
|
+
description: "The provider or step that found it."
|
|
198
|
+
};
|
|
199
|
+
var FIELD_CATALOG = {
|
|
200
|
+
person: {
|
|
201
|
+
name: {
|
|
202
|
+
description: "The person's name.",
|
|
203
|
+
leaves: {
|
|
204
|
+
value: value("Full name."),
|
|
205
|
+
first: value("First (given) name."),
|
|
206
|
+
last: value("Last (family) name.")
|
|
207
|
+
}
|
|
208
|
+
},
|
|
209
|
+
email: {
|
|
210
|
+
description: "An email address for the person.",
|
|
211
|
+
leaves: {
|
|
212
|
+
value: value("The address."),
|
|
213
|
+
validated: {
|
|
214
|
+
type: "boolean",
|
|
215
|
+
description: "Whether the address passed validation."
|
|
216
|
+
},
|
|
217
|
+
status: {
|
|
218
|
+
type: "EmailStatus",
|
|
219
|
+
description: "The validation verdict and its signals."
|
|
220
|
+
},
|
|
221
|
+
source: SOURCE
|
|
222
|
+
},
|
|
223
|
+
kinds: {
|
|
224
|
+
work: "At their employer.",
|
|
225
|
+
personal: "Their own, not tied to an employer."
|
|
226
|
+
}
|
|
227
|
+
},
|
|
228
|
+
phone: {
|
|
229
|
+
description: "A phone number for the person.",
|
|
230
|
+
leaves: {
|
|
231
|
+
value: value("The number."),
|
|
232
|
+
validated: {
|
|
233
|
+
type: "boolean",
|
|
234
|
+
description: "Whether the number passed validation."
|
|
235
|
+
},
|
|
236
|
+
status: {
|
|
237
|
+
type: '"valid" | "invalid" | "unknown"',
|
|
238
|
+
description: "The validation verdict."
|
|
239
|
+
},
|
|
240
|
+
line_type: value("Mobile, landline, VoIP and so on."),
|
|
241
|
+
carrier: value("The carrier serving the number."),
|
|
242
|
+
source: SOURCE
|
|
243
|
+
},
|
|
244
|
+
kinds: {
|
|
245
|
+
mobile: "Their mobile.",
|
|
246
|
+
work: "A direct line at their employer."
|
|
247
|
+
}
|
|
248
|
+
},
|
|
249
|
+
linkedin: {
|
|
250
|
+
description: "The person's LinkedIn profile.",
|
|
251
|
+
leaves: { url: value("The profile URL.") }
|
|
252
|
+
},
|
|
253
|
+
job: {
|
|
254
|
+
description: "The person's current role.",
|
|
255
|
+
leaves: {
|
|
256
|
+
title: value("Job title."),
|
|
257
|
+
change: {
|
|
258
|
+
type: "JobChange",
|
|
259
|
+
description: "Whether they changed jobs, and to what."
|
|
260
|
+
},
|
|
261
|
+
change_status: {
|
|
262
|
+
type: "JobChangeStatus",
|
|
263
|
+
description: "The job-change verdict alone."
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
},
|
|
267
|
+
record: {
|
|
268
|
+
description: "A provider's own record of the person.",
|
|
269
|
+
leaves: { id: value("The provider's id for the person.") }
|
|
270
|
+
}
|
|
271
|
+
},
|
|
272
|
+
company: {
|
|
273
|
+
name: {
|
|
274
|
+
description: "The company's name.",
|
|
275
|
+
leaves: { value: value("The name.") },
|
|
276
|
+
kinds: { legal: "As registered with a government." }
|
|
277
|
+
},
|
|
278
|
+
domain: {
|
|
279
|
+
description: "The company's web domain.",
|
|
280
|
+
leaves: { value: value("The bare domain, such as example.com.") }
|
|
281
|
+
},
|
|
282
|
+
website: {
|
|
283
|
+
description: "The company's website.",
|
|
284
|
+
leaves: { url: value("The site URL.") }
|
|
285
|
+
},
|
|
286
|
+
linkedin: {
|
|
287
|
+
description: "The company's LinkedIn page.",
|
|
288
|
+
leaves: { url: value("The page URL.") }
|
|
289
|
+
},
|
|
290
|
+
phone: {
|
|
291
|
+
description: "A phone number for the company.",
|
|
292
|
+
leaves: { value: value("The number.") }
|
|
293
|
+
},
|
|
294
|
+
industry: {
|
|
295
|
+
description: "The industry the company is in.",
|
|
296
|
+
leaves: { value: value("The industry.") }
|
|
297
|
+
},
|
|
298
|
+
record: {
|
|
299
|
+
description: "A provider's own record of the company.",
|
|
300
|
+
leaves: { id: value("The provider's id for the company.") }
|
|
301
|
+
}
|
|
302
|
+
}
|
|
303
|
+
};
|
|
304
|
+
function catalogFields() {
|
|
305
|
+
return Object.entries(FIELD_CATALOG).flatMap(
|
|
306
|
+
([entity, groups]) => Object.entries(groups).flatMap(
|
|
307
|
+
([group, definition]) => [void 0, ...Object.keys(_nullishCoalesce(definition.kinds, () => ( {})))].flatMap(
|
|
308
|
+
(kind) => Object.entries(definition.leaves).map(([leaf, described]) => ({
|
|
309
|
+
...described,
|
|
310
|
+
id: [entity, group, kind, leaf].filter(Boolean).join("."),
|
|
311
|
+
entity,
|
|
312
|
+
group,
|
|
313
|
+
...kind ? { kind } : {},
|
|
314
|
+
leaf
|
|
315
|
+
}))
|
|
316
|
+
)
|
|
317
|
+
)
|
|
318
|
+
);
|
|
319
|
+
}
|
|
320
|
+
var FIELDS_BY_ID = new Map(catalogFields().map((field) => [field.id, field]));
|
|
321
|
+
function generalField(id) {
|
|
322
|
+
const field = FIELDS_BY_ID.get(id);
|
|
323
|
+
return _optionalChain([field, 'optionalAccess', _ => _.kind]) ? [field.entity, field.group, field.leaf].join(".") : null;
|
|
324
|
+
}
|
|
325
|
+
function fieldSatisfies(offered, wanted) {
|
|
326
|
+
return offered === wanted || generalField(offered) === wanted;
|
|
327
|
+
}
|
|
328
|
+
var EXTRACTOR_TARGET_FIELDS = {
|
|
329
|
+
email: ["person.email.value"],
|
|
330
|
+
personal_email: ["person.email.personal.value"],
|
|
331
|
+
email_status: ["person.email.status"],
|
|
332
|
+
phone: ["person.phone.value", "company.phone.value"],
|
|
333
|
+
phone_status: ["person.phone.status"],
|
|
334
|
+
first_name: ["person.name.first"],
|
|
335
|
+
last_name: ["person.name.last"],
|
|
336
|
+
full_name: ["person.name.value"],
|
|
337
|
+
// Also used for a list name, a channel title and a search suggestion.
|
|
338
|
+
name: ["person.name.value", "company.name.value"],
|
|
339
|
+
linkedin: ["person.linkedin.url", "company.linkedin.url"],
|
|
340
|
+
linkedin_url: ["person.linkedin.url"],
|
|
341
|
+
title: ["person.job.title"],
|
|
342
|
+
job_change: ["person.job.change"],
|
|
343
|
+
job_change_status: ["person.job.change_status"],
|
|
344
|
+
company: ["company.name.value"],
|
|
345
|
+
company_name: ["company.name.value"],
|
|
346
|
+
organization_name: ["company.name.value"],
|
|
347
|
+
company_domain: ["company.domain.value"],
|
|
348
|
+
domain: ["company.domain.value"],
|
|
349
|
+
company_website: ["company.website.url"],
|
|
350
|
+
// Also used for a podcast URL.
|
|
351
|
+
website: ["company.website.url"],
|
|
352
|
+
company_linkedin_url: ["company.linkedin.url"],
|
|
353
|
+
industry: ["company.industry.value"],
|
|
354
|
+
id: ["person.record.id", "company.record.id"],
|
|
355
|
+
// Used for unrelated provider statuses; none is a catalog field.
|
|
356
|
+
status: []
|
|
357
|
+
};
|
|
358
|
+
function fieldOfName(name, declared) {
|
|
359
|
+
const meanings = _nullishCoalesce(EXTRACTOR_TARGET_FIELDS[name], () => ( []));
|
|
360
|
+
if (declared === void 0) {
|
|
361
|
+
return meanings.length === 1 ? meanings[0] : void 0;
|
|
362
|
+
}
|
|
363
|
+
return meanings.some((meaning) => fieldSatisfies(declared, meaning)) ? declared : void 0;
|
|
364
|
+
}
|
|
365
|
+
|
|
188
366
|
// src/cli/commands/model-description.ts
|
|
189
367
|
function formatModelDescription(description) {
|
|
190
368
|
const lines = [];
|
|
@@ -198,7 +376,7 @@ function formatModelDescription(description) {
|
|
|
198
376
|
);
|
|
199
377
|
if (contextWindow !== null) lines.push(`Context: ${contextWindow}`);
|
|
200
378
|
const tags = arrayField(description.modelMetadata, "tags").filter(
|
|
201
|
-
(
|
|
379
|
+
(value2) => typeof value2 === "string"
|
|
202
380
|
);
|
|
203
381
|
if (tags.length) lines.push(`Tags: ${tags.join(", ")}`);
|
|
204
382
|
lines.push("");
|
|
@@ -223,25 +401,25 @@ function formatModelDescription(description) {
|
|
|
223
401
|
function appendNamespace(lines, namespace) {
|
|
224
402
|
lines.push(`- ${namespace.provider} (${namespace.sourceSymbol})`);
|
|
225
403
|
for (const field of namespace.fields) {
|
|
226
|
-
const values = _optionalChain([field, 'access',
|
|
404
|
+
const values = _optionalChain([field, 'access', _2 => _2.enumValues, 'optionalAccess', _3 => _3.length]) ? ` (${field.enumValues.map((value2) => JSON.stringify(value2)).join(" | ")})` : "";
|
|
227
405
|
lines.push(
|
|
228
406
|
` - ${field.name}: ${field.type}${values} - ${field.description}`
|
|
229
407
|
);
|
|
230
408
|
}
|
|
231
409
|
}
|
|
232
|
-
function stringField(
|
|
233
|
-
if (!
|
|
234
|
-
const candidate =
|
|
410
|
+
function stringField(value2, key) {
|
|
411
|
+
if (!value2 || typeof value2 !== "object" || Array.isArray(value2)) return null;
|
|
412
|
+
const candidate = value2[key];
|
|
235
413
|
return typeof candidate === "string" && candidate.trim() ? candidate.trim() : null;
|
|
236
414
|
}
|
|
237
|
-
function numberField(
|
|
238
|
-
if (!
|
|
239
|
-
const candidate =
|
|
415
|
+
function numberField(value2, key) {
|
|
416
|
+
if (!value2 || typeof value2 !== "object" || Array.isArray(value2)) return null;
|
|
417
|
+
const candidate = value2[key];
|
|
240
418
|
return typeof candidate === "number" ? candidate : null;
|
|
241
419
|
}
|
|
242
|
-
function arrayField(
|
|
243
|
-
if (!
|
|
244
|
-
const candidate =
|
|
420
|
+
function arrayField(value2, key) {
|
|
421
|
+
if (!value2 || typeof value2 !== "object" || Array.isArray(value2)) return [];
|
|
422
|
+
const candidate = value2[key];
|
|
245
423
|
return Array.isArray(candidate) ? candidate : [];
|
|
246
424
|
}
|
|
247
425
|
|
|
@@ -279,15 +457,15 @@ function toListedTool(tool) {
|
|
|
279
457
|
executeCommand: `deepline tools execute ${tool.toolId}`
|
|
280
458
|
};
|
|
281
459
|
}
|
|
282
|
-
function normalizeGrepText(
|
|
283
|
-
if (
|
|
284
|
-
if (typeof
|
|
285
|
-
if (typeof
|
|
286
|
-
return String(
|
|
460
|
+
function normalizeGrepText(value2) {
|
|
461
|
+
if (value2 === null || value2 === void 0) return "";
|
|
462
|
+
if (typeof value2 === "string") return value2.toLowerCase();
|
|
463
|
+
if (typeof value2 === "number" || typeof value2 === "boolean") {
|
|
464
|
+
return String(value2).toLowerCase();
|
|
287
465
|
}
|
|
288
|
-
if (Array.isArray(
|
|
289
|
-
if (typeof
|
|
290
|
-
return Object.values(
|
|
466
|
+
if (Array.isArray(value2)) return value2.map(normalizeGrepText).join(" ");
|
|
467
|
+
if (typeof value2 === "object") {
|
|
468
|
+
return Object.values(value2).map(normalizeGrepText).join(" ");
|
|
291
469
|
}
|
|
292
470
|
return "";
|
|
293
471
|
}
|
|
@@ -298,19 +476,19 @@ function parseGrepTerms(query, mode) {
|
|
|
298
476
|
const matches = _nullishCoalesce(trimmed.match(/"([^"]+)"|'([^']+)'|\S+/g), () => ( []));
|
|
299
477
|
return matches.map((term) => term.replace(/^["']|["']$/g, "").trim()).filter(Boolean);
|
|
300
478
|
}
|
|
301
|
-
function matchesGrepQuery(
|
|
479
|
+
function matchesGrepQuery(value2, query, mode) {
|
|
302
480
|
const terms = parseGrepTerms(query, mode);
|
|
303
481
|
if (terms.length === 0) return true;
|
|
304
|
-
const haystack = normalizeGrepText(
|
|
482
|
+
const haystack = normalizeGrepText(value2);
|
|
305
483
|
if (mode === "any") return terms.some((term) => haystack.includes(term));
|
|
306
484
|
return terms.every((term) => haystack.includes(term));
|
|
307
485
|
}
|
|
308
|
-
function shellCommandArg(
|
|
309
|
-
return `'${
|
|
486
|
+
function shellCommandArg(value2) {
|
|
487
|
+
return `'${value2.replace(/'/g, `'\\''`)}'`;
|
|
310
488
|
}
|
|
311
489
|
function zeroMatchToolGuidance(options) {
|
|
312
490
|
const categories = _nullishCoalesce(options.categories, () => ( []));
|
|
313
|
-
const query = _nullishCoalesce(_optionalChain([options, 'access',
|
|
491
|
+
const query = _nullishCoalesce(_optionalChain([options, 'access', _4 => _4.query, 'optionalAccess', _5 => _5.trim, 'call', _6 => _6()]), () => ( ""));
|
|
314
492
|
const filterText = [
|
|
315
493
|
categories.length ? `categories=${categories.join(",")}` : null,
|
|
316
494
|
query ? `grep=${query}` : null,
|
|
@@ -442,12 +620,12 @@ function categoryEnumerationRender(summaries) {
|
|
|
442
620
|
};
|
|
443
621
|
}
|
|
444
622
|
async function listToolCategories(emitJson, compact) {
|
|
445
|
-
const client = new (0,
|
|
623
|
+
const client = new (0, _chunkHC5L6KGEjs.DeeplineClient)();
|
|
446
624
|
const rawTools = await client.listTools({ compact });
|
|
447
625
|
const items = rawTools.map(toListedTool);
|
|
448
626
|
const summaries = aggregateCategorySummaries(rawTools);
|
|
449
627
|
const outputItems = compact ? items.map(compactTool) : items;
|
|
450
|
-
|
|
628
|
+
_chunk3XKAOV74js.printCommandEnvelope.call(void 0,
|
|
451
629
|
{
|
|
452
630
|
tools: outputItems,
|
|
453
631
|
count: outputItems.length,
|
|
@@ -466,7 +644,7 @@ function unknownCategoryError(category, summaries, emitJson) {
|
|
|
466
644
|
const known = summaries.map((item) => item.name);
|
|
467
645
|
const message = `Unknown tool category "${category}". Run \`deepline tools list\` to browse categories.`;
|
|
468
646
|
if (emitJson) {
|
|
469
|
-
|
|
647
|
+
_chunk3XKAOV74js.printJson.call(void 0, {
|
|
470
648
|
ok: false,
|
|
471
649
|
exitCode: 4,
|
|
472
650
|
code: "TOOL_CATEGORY_NOT_FOUND",
|
|
@@ -480,13 +658,13 @@ function unknownCategoryError(category, summaries, emitJson) {
|
|
|
480
658
|
const render = categoryEnumerationRender(summaries);
|
|
481
659
|
console.error(message);
|
|
482
660
|
console.error("");
|
|
483
|
-
console.error(
|
|
661
|
+
console.error(_chunk3XKAOV74js.renderCommandEnvelopeText.call(void 0, { render }).trimEnd());
|
|
484
662
|
console.error("");
|
|
485
663
|
console.error(`Valid categories: ${known.join(", ")}`);
|
|
486
664
|
return 4;
|
|
487
665
|
}
|
|
488
666
|
async function listToolsInCategory(category, emitJson) {
|
|
489
|
-
const client = new (0,
|
|
667
|
+
const client = new (0, _chunkHC5L6KGEjs.DeeplineClient)();
|
|
490
668
|
const rawTools = await client.listTools({
|
|
491
669
|
categories: category,
|
|
492
670
|
compact: false
|
|
@@ -496,7 +674,7 @@ async function listToolsInCategory(category, emitJson) {
|
|
|
496
674
|
if (!summaries.some((item) => item.name === category)) {
|
|
497
675
|
return unknownCategoryError(category, summaries, emitJson);
|
|
498
676
|
}
|
|
499
|
-
const rows = rawTools.filter((tool) => _optionalChain([tool, 'access',
|
|
677
|
+
const rows = rawTools.filter((tool) => _optionalChain([tool, 'access', _7 => _7.categories, 'optionalAccess', _8 => _8.includes, 'call', _9 => _9(category)])).map((tool) => ({
|
|
500
678
|
id: tool.toolId,
|
|
501
679
|
provider: tool.provider,
|
|
502
680
|
required: requiredInputIds(tool),
|
|
@@ -523,7 +701,7 @@ async function listToolsInCategory(category, emitJson) {
|
|
|
523
701
|
}
|
|
524
702
|
]
|
|
525
703
|
};
|
|
526
|
-
|
|
704
|
+
_chunk3XKAOV74js.printCommandEnvelope.call(void 0,
|
|
527
705
|
{
|
|
528
706
|
category,
|
|
529
707
|
total: rows.length,
|
|
@@ -536,7 +714,7 @@ async function listToolsInCategory(category, emitJson) {
|
|
|
536
714
|
return 0;
|
|
537
715
|
}
|
|
538
716
|
async function listToolsForCategoryFilter(requestedCategories, emitJson, compact) {
|
|
539
|
-
const client = new (0,
|
|
717
|
+
const client = new (0, _chunkHC5L6KGEjs.DeeplineClient)();
|
|
540
718
|
const items = (await client.listTools({
|
|
541
719
|
categories: requestedCategories.join(","),
|
|
542
720
|
compact
|
|
@@ -565,7 +743,7 @@ async function listToolsForCategoryFilter(requestedCategories, emitJson, compact
|
|
|
565
743
|
]
|
|
566
744
|
};
|
|
567
745
|
const outputItems = compact ? items.map(compactTool) : items;
|
|
568
|
-
|
|
746
|
+
_chunk3XKAOV74js.printCommandEnvelope.call(void 0,
|
|
569
747
|
{
|
|
570
748
|
tools: outputItems,
|
|
571
749
|
count: outputItems.length,
|
|
@@ -581,16 +759,16 @@ async function listToolsForCategoryFilter(requestedCategories, emitJson, compact
|
|
|
581
759
|
return 0;
|
|
582
760
|
}
|
|
583
761
|
async function listTools(category, options = {}) {
|
|
584
|
-
const positional = _nullishCoalesce(_optionalChain([category, 'optionalAccess',
|
|
762
|
+
const positional = _nullishCoalesce(_optionalChain([category, 'optionalAccess', _10 => _10.trim, 'call', _11 => _11()]), () => ( ""));
|
|
585
763
|
const flagCategories = (_nullishCoalesce(options.categories, () => ( ""))).split(",").map((item) => item.trim()).filter(Boolean);
|
|
586
764
|
const compact = options.compact !== false;
|
|
587
|
-
const emitJson = options.json === true ||
|
|
765
|
+
const emitJson = options.json === true || _chunk3XKAOV74js.shouldEmitJson.call(void 0, );
|
|
588
766
|
if (positional && flagCategories.length > 0) {
|
|
589
767
|
const flagIsSameSingle = flagCategories.length === 1 && flagCategories[0] === positional;
|
|
590
768
|
if (!flagIsSameSingle) {
|
|
591
769
|
const message = `Category "${positional}" and --categories ${flagCategories.join(",")} disagree. Pass one: deepline tools list ${positional}`;
|
|
592
770
|
if (emitJson) {
|
|
593
|
-
|
|
771
|
+
_chunk3XKAOV74js.printJson.call(void 0, {
|
|
594
772
|
ok: false,
|
|
595
773
|
exitCode: 2,
|
|
596
774
|
code: "TOOL_LIST_CATEGORY_CONFLICT",
|
|
@@ -617,7 +795,7 @@ async function grepTools(queryInput, options = {}) {
|
|
|
617
795
|
console.error("Usage: deepline tools grep <query> [--json]");
|
|
618
796
|
return 1;
|
|
619
797
|
}
|
|
620
|
-
const client = new (0,
|
|
798
|
+
const client = new (0, _chunkHC5L6KGEjs.DeeplineClient)();
|
|
621
799
|
const requestedCategories = options.categories ? options.categories.split(",").map((item) => item.trim()).filter(Boolean) : [];
|
|
622
800
|
const mode = _nullishCoalesce(options.mode, () => ( "all"));
|
|
623
801
|
const jsonOutput = options.json === true;
|
|
@@ -660,7 +838,7 @@ async function grepTools(queryInput, options = {}) {
|
|
|
660
838
|
query,
|
|
661
839
|
mode
|
|
662
840
|
}) : null;
|
|
663
|
-
|
|
841
|
+
_chunk3XKAOV74js.printCommandEnvelope.call(void 0,
|
|
664
842
|
{
|
|
665
843
|
tools: outputTools,
|
|
666
844
|
count: outputTools.length,
|
|
@@ -678,13 +856,13 @@ async function grepTools(queryInput, options = {}) {
|
|
|
678
856
|
} : {},
|
|
679
857
|
commandTemplates: TOOL_COMMAND_TEMPLATES
|
|
680
858
|
},
|
|
681
|
-
{ json: options.json ||
|
|
859
|
+
{ json: options.json || _chunk3XKAOV74js.shouldEmitJson.call(void 0, ) }
|
|
682
860
|
);
|
|
683
861
|
return 0;
|
|
684
862
|
}
|
|
685
863
|
function numericToolField(tool, field) {
|
|
686
|
-
const
|
|
687
|
-
return typeof
|
|
864
|
+
const value2 = tool[field];
|
|
865
|
+
return typeof value2 === "number" ? value2 : void 0;
|
|
688
866
|
}
|
|
689
867
|
function compactTool(tool) {
|
|
690
868
|
const listed = toListedTool(tool);
|
|
@@ -704,7 +882,7 @@ function compactTool(tool) {
|
|
|
704
882
|
};
|
|
705
883
|
}
|
|
706
884
|
function playIdentifiers(play) {
|
|
707
|
-
return [play.name, play.reference, ..._nullishCoalesce(play.aliases, () => ( []))].filter((
|
|
885
|
+
return [play.name, play.reference, ..._nullishCoalesce(play.aliases, () => ( []))].filter((value2) => Boolean(_optionalChain([value2, 'optionalAccess', _12 => _12.trim, 'call', _13 => _13()]))).map((value2) => value2.trim());
|
|
708
886
|
}
|
|
709
887
|
async function findPlayForToolId(client, toolId, cliInvocationId) {
|
|
710
888
|
const requested = toolId.trim();
|
|
@@ -835,7 +1013,7 @@ Examples:
|
|
|
835
1013
|
json: Boolean(options.json)
|
|
836
1014
|
});
|
|
837
1015
|
});
|
|
838
|
-
|
|
1016
|
+
_chunk53PZA4EPjs.registerDeprecatedSearchCommand.call(void 0, tools, () => ["tools", "monitors"]);
|
|
839
1017
|
tools.command("grep <query>").description(
|
|
840
1018
|
"Literal grep over tool ids, descriptions, categories, and input fields."
|
|
841
1019
|
).addHelpText(
|
|
@@ -940,19 +1118,24 @@ Examples:
|
|
|
940
1118
|
process.exitCode = await narrowView();
|
|
941
1119
|
return;
|
|
942
1120
|
}
|
|
943
|
-
const { describeAnything } = await Promise.resolve().then(() => _interopRequireWildcard(require("./describe-
|
|
1121
|
+
const { describeAnything } = await Promise.resolve().then(() => _interopRequireWildcard(require("./describe-N2OBGVJM.js")));
|
|
944
1122
|
process.exitCode = await describeAnything(
|
|
945
1123
|
toolId,
|
|
946
|
-
{
|
|
1124
|
+
{
|
|
1125
|
+
...options,
|
|
1126
|
+
kinds: ["tools", "monitors"],
|
|
1127
|
+
fetchedTool: metadata,
|
|
1128
|
+
fullRecord: true
|
|
1129
|
+
},
|
|
947
1130
|
// An unknown id keeps this command's own error and play hint.
|
|
948
1131
|
narrowView
|
|
949
1132
|
);
|
|
950
1133
|
});
|
|
951
1134
|
};
|
|
952
1135
|
addToolMetadataCommand(
|
|
953
|
-
|
|
1136
|
+
_chunkYPVTQRUMjs.addDescribeOptions.call(void 0,
|
|
954
1137
|
tools.command("describe <toolId>", { hidden: true }).alias("get"),
|
|
955
|
-
{ json: false }
|
|
1138
|
+
{ json: false, byok: false }
|
|
956
1139
|
)
|
|
957
1140
|
);
|
|
958
1141
|
tools.command("execute <toolId>").alias("call").description("Execute a tool by id.").addHelpText(
|
|
@@ -980,8 +1163,8 @@ Examples:
|
|
|
980
1163
|
).option(
|
|
981
1164
|
"-p, --param <key=value>",
|
|
982
1165
|
"Pass one parameter. Repeat for multiple values.",
|
|
983
|
-
(
|
|
984
|
-
acc.push(
|
|
1166
|
+
(value2, acc) => {
|
|
1167
|
+
acc.push(value2);
|
|
985
1168
|
return acc;
|
|
986
1169
|
},
|
|
987
1170
|
[]
|
|
@@ -1021,7 +1204,7 @@ async function getTool(toolId, options = {}, compatibilityMetadata) {
|
|
|
1021
1204
|
console.error("Usage: deepline tools describe <toolId> [--json]");
|
|
1022
1205
|
return 1;
|
|
1023
1206
|
}
|
|
1024
|
-
const client = new (0,
|
|
1207
|
+
const client = new (0, _chunkHC5L6KGEjs.DeeplineClient)();
|
|
1025
1208
|
let tool;
|
|
1026
1209
|
try {
|
|
1027
1210
|
tool = await _asyncNullishCoalesce(compatibilityMetadata, async () => ( await client.getTool(toolId)));
|
|
@@ -1075,11 +1258,11 @@ async function getTool(toolId, options = {}, compatibilityMetadata) {
|
|
|
1075
1258
|
if (options.byok) {
|
|
1076
1259
|
const resolvedToolId = String(tool.toolId || toolId);
|
|
1077
1260
|
const byok = recordField(tool, "byok");
|
|
1078
|
-
|
|
1261
|
+
_chunk3XKAOV74js.printCommandEnvelope.call(void 0,
|
|
1079
1262
|
{ toolId: resolvedToolId, byok },
|
|
1080
1263
|
{
|
|
1081
1264
|
json: Boolean(options.json || options.contractJson),
|
|
1082
|
-
text: `${
|
|
1265
|
+
text: `${[resolvedToolId, ..._chunkYPVTQRUMjs.byokLines.call(void 0, byok)].join("\n")}
|
|
1083
1266
|
`
|
|
1084
1267
|
}
|
|
1085
1268
|
);
|
|
@@ -1089,10 +1272,10 @@ async function getTool(toolId, options = {}, compatibilityMetadata) {
|
|
|
1089
1272
|
const lines = toolPricingOnlyLines(tool, toolId);
|
|
1090
1273
|
if (inferenceQuote)
|
|
1091
1274
|
lines.push(...inferenceQuoteSummaryLines(inferenceQuote));
|
|
1092
|
-
|
|
1275
|
+
_chunk3XKAOV74js.printCommandEnvelope.call(void 0,
|
|
1093
1276
|
{
|
|
1094
1277
|
toolId: String(tool.toolId || toolId),
|
|
1095
|
-
cost:
|
|
1278
|
+
cost: _chunk53PZA4EPjs.Capability.fromCatalogEntry(tool).describe().customerCost(),
|
|
1096
1279
|
...modelDescription ? { modelOptions: modelDescription } : {},
|
|
1097
1280
|
...isMonitorTypeTool(tool) ? { pricing: recordField(tool, "pricing") } : {},
|
|
1098
1281
|
...inferenceQuote ? { inferenceQuote } : {}
|
|
@@ -1107,7 +1290,7 @@ async function getTool(toolId, options = {}, compatibilityMetadata) {
|
|
|
1107
1290
|
}
|
|
1108
1291
|
if ((options.schemaOnly || options.examplesOnly || options.gettersOnly) && !isMonitorTypeTool(tool) && !isPlayLikeTool(tool) && (options.json || options.contractJson)) {
|
|
1109
1292
|
const contract = toolContractJsonForDescribe(tool, toolId);
|
|
1110
|
-
|
|
1293
|
+
_chunk3XKAOV74js.printCompactJson.call(void 0, {
|
|
1111
1294
|
toolId: contract.toolId,
|
|
1112
1295
|
...options.schemaOnly ? {
|
|
1113
1296
|
inputSchema: contract.inputSchema,
|
|
@@ -1130,7 +1313,7 @@ async function getTool(toolId, options = {}, compatibilityMetadata) {
|
|
|
1130
1313
|
return 0;
|
|
1131
1314
|
}
|
|
1132
1315
|
if (options.contractJson) {
|
|
1133
|
-
|
|
1316
|
+
_chunk3XKAOV74js.printCompactJson.call(void 0, {
|
|
1134
1317
|
...toolContractJsonForDescribe(tool, toolId),
|
|
1135
1318
|
...modelDescription ? { modelOptions: modelDescription } : {},
|
|
1136
1319
|
...inferenceQuote ? { inferenceQuote } : {}
|
|
@@ -1139,7 +1322,7 @@ async function getTool(toolId, options = {}, compatibilityMetadata) {
|
|
|
1139
1322
|
}
|
|
1140
1323
|
const emitJson = options.json === true;
|
|
1141
1324
|
if (emitJson) {
|
|
1142
|
-
|
|
1325
|
+
_chunk3XKAOV74js.printCompactJson.call(void 0, {
|
|
1143
1326
|
...toolMetadataJsonForDescribe(tool, toolId),
|
|
1144
1327
|
...modelDescription ? { modelOptions: modelDescription } : {},
|
|
1145
1328
|
...inferenceQuote ? { inferenceQuote } : {}
|
|
@@ -1216,7 +1399,7 @@ function toolContractJsonForDescribe(tool, requestedToolId, authoringContractEdi
|
|
|
1216
1399
|
const extractedValues = extractionContractEntries(
|
|
1217
1400
|
arrayField2(toolExecutionResult, "extractedValues", "extracted_values")
|
|
1218
1401
|
);
|
|
1219
|
-
const pricing =
|
|
1402
|
+
const pricing = _chunk53PZA4EPjs.Capability.fromCatalogEntry(tool).describe().customerCost();
|
|
1220
1403
|
const executionMetadataRecord = recordField(
|
|
1221
1404
|
tool,
|
|
1222
1405
|
"executionMetadata",
|
|
@@ -1324,7 +1507,7 @@ function printMonitorTypeFilterExamples(tool) {
|
|
|
1324
1507
|
const example = stringField2(grammar, "example");
|
|
1325
1508
|
const values = [
|
|
1326
1509
|
...arrayField2(grammar, "examples").filter(
|
|
1327
|
-
(
|
|
1510
|
+
(value2) => typeof value2 === "string" && Boolean(value2)
|
|
1328
1511
|
),
|
|
1329
1512
|
...example ? [example] : []
|
|
1330
1513
|
];
|
|
@@ -1417,6 +1600,23 @@ function schemaNodeAt(schema, path) {
|
|
|
1417
1600
|
}
|
|
1418
1601
|
return node;
|
|
1419
1602
|
}
|
|
1603
|
+
var NAMED_VALUE_SHAPES = {
|
|
1604
|
+
email_status: { shape: "EmailStatus", schema: _chunk3VN4FTE3js.EMAIL_STATUS_JSON_SCHEMA },
|
|
1605
|
+
job_change: { shape: "JobChange", schema: _chunk3VN4FTE3js.JOB_CHANGE_JSON_SCHEMA }
|
|
1606
|
+
};
|
|
1607
|
+
function extractorValueType(name) {
|
|
1608
|
+
if (!_chunk3VN4FTE3js.isDeeplineExtractorTarget.call(void 0, name)) return void 0;
|
|
1609
|
+
const definition = _chunk3VN4FTE3js.DEEPLINE_EXTRACTOR_TARGET_DEFINITIONS[name];
|
|
1610
|
+
if (definition.enum) {
|
|
1611
|
+
return {
|
|
1612
|
+
type: definition.enum.map((value2) => JSON.stringify(value2)).join(" | ")
|
|
1613
|
+
};
|
|
1614
|
+
}
|
|
1615
|
+
const named = NAMED_VALUE_SHAPES[definition.valueKind];
|
|
1616
|
+
if (!named) return { type: "string" };
|
|
1617
|
+
const { type, fields } = _chunkYPVTQRUMjs.schemaField.call(void 0, name, named.schema, true);
|
|
1618
|
+
return { type, ...fields ? { fields } : {}, shape: named.shape };
|
|
1619
|
+
}
|
|
1420
1620
|
function jsonSchemaOf(wrapper) {
|
|
1421
1621
|
return isRecord(wrapper.jsonSchema) ? wrapper.jsonSchema : wrapper;
|
|
1422
1622
|
}
|
|
@@ -1442,7 +1642,7 @@ function publicToolSchemas(tool) {
|
|
|
1442
1642
|
function describedTool(tool, requestedToolId) {
|
|
1443
1643
|
const id = stringField2(tool, "toolId") || requestedToolId;
|
|
1444
1644
|
const displayName = stringField2(tool, "displayName") || void 0;
|
|
1445
|
-
const description = stringField2(tool, "description") || void 0;
|
|
1645
|
+
const description = stringField2(tool, "bestFor", "best_for") || stringField2(tool, "description") || void 0;
|
|
1446
1646
|
if (isMonitorTypeTool(tool)) {
|
|
1447
1647
|
return {
|
|
1448
1648
|
kind: "monitor_type",
|
|
@@ -1451,7 +1651,7 @@ function describedTool(tool, requestedToolId) {
|
|
|
1451
1651
|
description,
|
|
1452
1652
|
cost: stringField2(recordField(tool, "pricing"), "displayText") || void 0,
|
|
1453
1653
|
guidance: [],
|
|
1454
|
-
inputs:
|
|
1654
|
+
inputs: _chunkYPVTQRUMjs.schemaFields.call(void 0,
|
|
1455
1655
|
recordField(tool, "payload_schema", "payloadSchema")
|
|
1456
1656
|
),
|
|
1457
1657
|
outputs: [],
|
|
@@ -1474,24 +1674,37 @@ function describedTool(tool, requestedToolId) {
|
|
|
1474
1674
|
recordField(item, "details")
|
|
1475
1675
|
])
|
|
1476
1676
|
);
|
|
1677
|
+
const declared = recordField(tool, "extractors");
|
|
1477
1678
|
const getterOutputs = (kind, roots) => {
|
|
1478
1679
|
const details = getterDetails(kind);
|
|
1479
1680
|
return arrayField2(getters, kind).filter(isRecord).map((entry) => {
|
|
1480
1681
|
const name = stringField2(entry, "name");
|
|
1481
|
-
const
|
|
1682
|
+
const rawPaths = arrayField2(
|
|
1482
1683
|
_nullishCoalesce(details.get(name), () => ( {})),
|
|
1483
1684
|
"rawToolOutputPaths"
|
|
1484
|
-
).map(
|
|
1685
|
+
).map(String);
|
|
1686
|
+
const paths = rawPaths.map(
|
|
1687
|
+
(path) => path.replace(/^toolResponse\.raw\./, "")
|
|
1688
|
+
);
|
|
1485
1689
|
const node = roots.flatMap((root) => paths.map((path) => schemaNodeAt(root, path))).find(isRecord);
|
|
1486
|
-
const { fields, ...typed } =
|
|
1690
|
+
const { fields, ...typed } = _chunkYPVTQRUMjs.schemaField.call(void 0, name, node, true);
|
|
1487
1691
|
const valueType = stringField2(_nullishCoalesce(details.get(name), () => ( {})), "valueType");
|
|
1692
|
+
const deepline = kind === "extractedValues" ? extractorValueType(name) : void 0;
|
|
1693
|
+
const known = typed.type !== "unknown" ? void 0 : kind === "extractedLists" ? { type: "object[]" } : deepline;
|
|
1694
|
+
const means = kind === "extractedValues" ? fieldOfName(
|
|
1695
|
+
name,
|
|
1696
|
+
stringField2(_nullishCoalesce(declared[name], () => ( {})), "means") || void 0
|
|
1697
|
+
) : void 0;
|
|
1488
1698
|
const field = {
|
|
1489
1699
|
...typed,
|
|
1490
|
-
|
|
1491
|
-
|
|
1700
|
+
...means ? { means } : {},
|
|
1701
|
+
// A normalized value has a named type instead of the response's
|
|
1702
|
+
// shape; a normalized object is spelled out once under Types.
|
|
1703
|
+
..._optionalChain([deepline, 'optionalAccess', _14 => _14.shape]) ? deepline : valueType ? { type: valueType } : known ? known : fields ? { fields } : {},
|
|
1492
1704
|
// A list's row columns that matter are value getters of their own.
|
|
1493
1705
|
...kind === "extractedLists" && fields ? { summarized: true } : {},
|
|
1494
|
-
read: playResultExpression(entry)
|
|
1706
|
+
read: playResultExpression(entry),
|
|
1707
|
+
...rawPaths.length ? { paths: rawPaths } : {}
|
|
1495
1708
|
};
|
|
1496
1709
|
return { field, node };
|
|
1497
1710
|
});
|
|
@@ -1499,8 +1712,20 @@ function describedTool(tool, requestedToolId) {
|
|
|
1499
1712
|
const lists = getterOutputs("extractedLists", [outputSchema]);
|
|
1500
1713
|
const values = getterOutputs("extractedValues", [
|
|
1501
1714
|
outputSchema,
|
|
1502
|
-
...lists.map(({ node }) => _optionalChain([node, 'optionalAccess',
|
|
1503
|
-
])
|
|
1715
|
+
...lists.map(({ node }) => _optionalChain([node, 'optionalAccess', _15 => _15.items]))
|
|
1716
|
+
]).map((value2) => {
|
|
1717
|
+
if (!lists.length || !value2.field.paths) return value2;
|
|
1718
|
+
const within = value2.field.paths.map(
|
|
1719
|
+
(path) => path.replace(/^toolResponse\.raw\./, "")
|
|
1720
|
+
);
|
|
1721
|
+
const list = _nullishCoalesce(lists.find(
|
|
1722
|
+
({ node }) => within.some((path) => isRecord(schemaNodeAt(_optionalChain([node, 'optionalAccess', _16 => _16.items]), path)))
|
|
1723
|
+
), () => ( lists[0]));
|
|
1724
|
+
return {
|
|
1725
|
+
...value2,
|
|
1726
|
+
field: { ...value2.field, in: list.field.name, paths: within }
|
|
1727
|
+
};
|
|
1728
|
+
});
|
|
1504
1729
|
const playReference = isPlayLikeTool(tool) ? playReferenceForTool(tool) : null;
|
|
1505
1730
|
return {
|
|
1506
1731
|
kind: "tool",
|
|
@@ -1511,7 +1736,7 @@ function describedTool(tool, requestedToolId) {
|
|
|
1511
1736
|
stringField2(cost, "displayText"),
|
|
1512
1737
|
// "Free (free)" says the same thing twice.
|
|
1513
1738
|
billing.toLowerCase() === stringField2(cost, "displayText").toLowerCase() ? "" : billing && `(${billing})`,
|
|
1514
|
-
|
|
1739
|
+
_chunk53PZA4EPjs.observedMaxText.call(void 0, cost) && `\u2014 ${_chunk53PZA4EPjs.observedMaxText.call(void 0, cost)}`
|
|
1515
1740
|
].filter(Boolean).join(" ") || void 0,
|
|
1516
1741
|
guidance: [
|
|
1517
1742
|
...contract.deprecated === true ? [`Deprecated. ${stringField2(deprecation, "message")}`.trim()] : [],
|
|
@@ -1519,12 +1744,12 @@ function describedTool(tool, requestedToolId) {
|
|
|
1519
1744
|
(line) => typeof line === "string" && /[a-z0-9]/i.test(line)
|
|
1520
1745
|
)
|
|
1521
1746
|
],
|
|
1522
|
-
rateLimit:
|
|
1747
|
+
rateLimit: _chunkYPVTQRUMjs.rateLimitSummary.call(void 0,
|
|
1523
1748
|
recordField(contract, "executionMetadata").configuredRateLimits
|
|
1524
1749
|
),
|
|
1525
|
-
inputs:
|
|
1750
|
+
inputs: _chunkYPVTQRUMjs.schemaFields.call(void 0, jsonSchemaOf(recordField(contract, "inputSchema"))),
|
|
1526
1751
|
outputs: [...lists, ...values].map(({ field }) => field),
|
|
1527
|
-
rawResponse:
|
|
1752
|
+
rawResponse: _chunkYPVTQRUMjs.schemaFields.call(void 0, outputSchema),
|
|
1528
1753
|
runner: playReference ? { via: "play", reference: playReference } : { via: "tool", toolId: String(contract.toolId) }
|
|
1529
1754
|
};
|
|
1530
1755
|
}
|
|
@@ -1643,31 +1868,12 @@ function printCompactToolContract(tool, requestedToolId) {
|
|
|
1643
1868
|
);
|
|
1644
1869
|
console.log(`More: deepline describe ${contract.toolId}`);
|
|
1645
1870
|
}
|
|
1646
|
-
function toolByokLines(toolId, byok) {
|
|
1647
|
-
if (typeof byok.supported !== "boolean") {
|
|
1648
|
-
return [`${toolId}`, "BYOK: unknown (this server does not report it)"];
|
|
1649
|
-
}
|
|
1650
|
-
if (!byok.supported) {
|
|
1651
|
-
return [
|
|
1652
|
-
`${toolId}`,
|
|
1653
|
-
"BYOK: not supported. Deepline runs this tool with its own credentials."
|
|
1654
|
-
];
|
|
1655
|
-
}
|
|
1656
|
-
const setup = stringField2(byok, "setup");
|
|
1657
|
-
const setupUrl = stringField2(byok, "setupUrl");
|
|
1658
|
-
return [
|
|
1659
|
-
`${toolId}`,
|
|
1660
|
-
byok.required === true ? "BYOK: required. This tool runs only on your own provider credentials." : "BYOK: supported (optional).",
|
|
1661
|
-
...setup ? [`Setup: ${setup}`] : [],
|
|
1662
|
-
...setupUrl ? [`Connect: ${setupUrl}`] : []
|
|
1663
|
-
];
|
|
1664
|
-
}
|
|
1665
1871
|
function toolPricingOnlyLines(tool, requestedToolId, options = {}) {
|
|
1666
1872
|
if (isMonitorTypeTool(tool)) {
|
|
1667
1873
|
return monitorTypePricingLines(tool);
|
|
1668
1874
|
}
|
|
1669
1875
|
const toolId = String(tool.toolId || requestedToolId);
|
|
1670
|
-
const cost =
|
|
1876
|
+
const cost = _chunk53PZA4EPjs.Capability.fromCatalogEntry(tool).describe().customerCost();
|
|
1671
1877
|
const pricingModel = stringField2(cost, "pricingModel") || "unknown";
|
|
1672
1878
|
const billing = stringField2(cost, "billingSourceLabel") || stringField2(cost, "billingSource") || stringField2(cost, "billingMode") || "unknown";
|
|
1673
1879
|
const explicitUnit = stringField2(cost, "unit");
|
|
@@ -1679,7 +1885,7 @@ function toolPricingOnlyLines(tool, requestedToolId, options = {}) {
|
|
|
1679
1885
|
const price = displayText || summary || (credits !== null ? `${formatDecimal(credits)} Deepline credits${usd !== null ? ` / ${formatUsd(usd)}` : ""} per ${unit}` : "pricing unavailable");
|
|
1680
1886
|
return [
|
|
1681
1887
|
`${_nullishCoalesce(options.heading, () => ( `Pricing: ${toolId}`))}: ${price}`,
|
|
1682
|
-
...
|
|
1888
|
+
..._chunk53PZA4EPjs.observedMaxText.call(void 0, cost) ? [` ${_chunk53PZA4EPjs.observedMaxText.call(void 0, cost)}`] : [],
|
|
1683
1889
|
...cost.observedReference || cost.estimatedRange ? [
|
|
1684
1890
|
...summary ? [` ${summary}`] : [],
|
|
1685
1891
|
...(_nullishCoalesce(cost.details, () => ( []))).map((detail) => ` ${detail}`)
|
|
@@ -1839,9 +2045,7 @@ function printToolGettersOnly(tool, requestedToolId) {
|
|
|
1839
2045
|
const valueGetters = Array.isArray(getters.extractedValues) ? getters.extractedValues : [];
|
|
1840
2046
|
console.log(`Getters: ${contract.toolId}`);
|
|
1841
2047
|
if (!listGetters.length && !valueGetters.length) {
|
|
1842
|
-
console.log(
|
|
1843
|
-
"No generated getters declared."
|
|
1844
|
-
);
|
|
2048
|
+
console.log("No generated getters declared.");
|
|
1845
2049
|
return;
|
|
1846
2050
|
}
|
|
1847
2051
|
if (listGetters.length) {
|
|
@@ -1959,7 +2163,7 @@ function toolMetadataJsonForDescribe(tool, requestedToolId) {
|
|
|
1959
2163
|
} = tool;
|
|
1960
2164
|
const outputSchemaRecord = recordField(tool, "outputSchema", "output_schema");
|
|
1961
2165
|
return {
|
|
1962
|
-
cost:
|
|
2166
|
+
cost: _chunk53PZA4EPjs.Capability.fromCatalogEntry(tool).describe().customerCost(),
|
|
1963
2167
|
...publicTool,
|
|
1964
2168
|
toolId,
|
|
1965
2169
|
provider: tool.provider,
|
|
@@ -2031,9 +2235,9 @@ function usageGuidanceWithAccessDefaults(usageGuidance) {
|
|
|
2031
2235
|
}
|
|
2032
2236
|
};
|
|
2033
2237
|
}
|
|
2034
|
-
function singleLineText(
|
|
2035
|
-
if (typeof
|
|
2036
|
-
const text =
|
|
2238
|
+
function singleLineText(value2, maxLength = 260) {
|
|
2239
|
+
if (typeof value2 !== "string") return "";
|
|
2240
|
+
const text = value2.replace(/\s+/g, " ").trim();
|
|
2037
2241
|
if (text.length <= maxLength) return text;
|
|
2038
2242
|
return `${text.slice(0, maxLength - 3).trimEnd()}...`;
|
|
2039
2243
|
}
|
|
@@ -2063,9 +2267,9 @@ function toolInputFieldsForDisplay(inputSchema) {
|
|
|
2063
2267
|
);
|
|
2064
2268
|
return fields.map((field) => {
|
|
2065
2269
|
const jsonSchemaField = typeof field.name === "string" ? jsonSchemaFields.get(field.name) : void 0;
|
|
2066
|
-
const minItems = typeof field.minItems === "number" ? field.minItems : _optionalChain([jsonSchemaField, 'optionalAccess',
|
|
2067
|
-
const maxItems = typeof field.maxItems === "number" ? field.maxItems : _optionalChain([jsonSchemaField, 'optionalAccess',
|
|
2068
|
-
const items = isRecord(field.items) ? field.items : _optionalChain([jsonSchemaField, 'optionalAccess',
|
|
2270
|
+
const minItems = typeof field.minItems === "number" ? field.minItems : _optionalChain([jsonSchemaField, 'optionalAccess', _17 => _17.minItems]);
|
|
2271
|
+
const maxItems = typeof field.maxItems === "number" ? field.maxItems : _optionalChain([jsonSchemaField, 'optionalAccess', _18 => _18.maxItems]);
|
|
2272
|
+
const items = isRecord(field.items) ? field.items : _optionalChain([jsonSchemaField, 'optionalAccess', _19 => _19.items]);
|
|
2069
2273
|
return {
|
|
2070
2274
|
...field,
|
|
2071
2275
|
...isRecord(items) ? { items } : {},
|
|
@@ -2077,8 +2281,8 @@ function toolInputFieldsForDisplay(inputSchema) {
|
|
|
2077
2281
|
const jsonSchema = isRecord(inputSchema.jsonSchema) ? inputSchema.jsonSchema : inputSchema;
|
|
2078
2282
|
const properties = isRecord(jsonSchema.properties) ? jsonSchema.properties : {};
|
|
2079
2283
|
const required = Array.isArray(jsonSchema.required) ? new Set(jsonSchema.required.map(String)) : /* @__PURE__ */ new Set();
|
|
2080
|
-
return Object.entries(properties).map(([name,
|
|
2081
|
-
const property = isRecord(
|
|
2284
|
+
return Object.entries(properties).map(([name, value2]) => {
|
|
2285
|
+
const property = isRecord(value2) ? value2 : {};
|
|
2082
2286
|
return {
|
|
2083
2287
|
name,
|
|
2084
2288
|
type: typeof property.type === "string" ? property.type : "unknown",
|
|
@@ -2142,11 +2346,11 @@ function publicToolInputSchemaForDescribe(inputSchema) {
|
|
|
2142
2346
|
withoutDeeplineCredits
|
|
2143
2347
|
) || /\b(?:additional|extra)\s+charges?\b/i.test(withoutDeeplineCredits) || /\bcharg(?:e|ed)\s+(?:double|per)\b/i.test(withoutDeeplineCredits) || /\bpricing page\b/i.test(withoutDeeplineCredits);
|
|
2144
2348
|
};
|
|
2145
|
-
const stripDescriptions = (
|
|
2146
|
-
if (Array.isArray(
|
|
2147
|
-
if (!isRecord(
|
|
2349
|
+
const stripDescriptions = (value2) => {
|
|
2350
|
+
if (Array.isArray(value2)) return value2.map(stripDescriptions);
|
|
2351
|
+
if (!isRecord(value2)) return value2;
|
|
2148
2352
|
return Object.fromEntries(
|
|
2149
|
-
Object.entries(
|
|
2353
|
+
Object.entries(value2).flatMap(([key, nested]) => {
|
|
2150
2354
|
if (key === "description" && typeof nested === "string" && exposesProviderSpend(nested)) {
|
|
2151
2355
|
return [];
|
|
2152
2356
|
}
|
|
@@ -2160,16 +2364,16 @@ function recursiveToolInputFieldsForDisplay(inputSchema) {
|
|
|
2160
2364
|
const root = canonicalToolJsonSchema(inputSchema);
|
|
2161
2365
|
const fields = /* @__PURE__ */ new Map();
|
|
2162
2366
|
const schemasById = /* @__PURE__ */ new Map();
|
|
2163
|
-
const collectSchemaIds = (
|
|
2164
|
-
if (Array.isArray(
|
|
2165
|
-
for (const item of
|
|
2367
|
+
const collectSchemaIds = (value2) => {
|
|
2368
|
+
if (Array.isArray(value2)) {
|
|
2369
|
+
for (const item of value2) collectSchemaIds(item);
|
|
2166
2370
|
return;
|
|
2167
2371
|
}
|
|
2168
|
-
if (!isRecord(
|
|
2169
|
-
if (typeof
|
|
2170
|
-
schemasById.set(
|
|
2372
|
+
if (!isRecord(value2)) return;
|
|
2373
|
+
if (typeof value2.$id === "string" && value2.$id.trim()) {
|
|
2374
|
+
schemasById.set(value2.$id.trim(), value2);
|
|
2171
2375
|
}
|
|
2172
|
-
for (const nested of Object.values(
|
|
2376
|
+
for (const nested of Object.values(value2)) collectSchemaIds(nested);
|
|
2173
2377
|
};
|
|
2174
2378
|
collectSchemaIds(root);
|
|
2175
2379
|
const resolveRef = (schema) => {
|
|
@@ -2214,10 +2418,10 @@ function recursiveToolInputFieldsForDisplay(inputSchema) {
|
|
|
2214
2418
|
const requiredNames = new Set(
|
|
2215
2419
|
Array.isArray(schema.required) ? schema.required.map(String) : []
|
|
2216
2420
|
);
|
|
2217
|
-
for (const [name,
|
|
2218
|
-
if (!isRecord(
|
|
2421
|
+
for (const [name, value2] of Object.entries(properties)) {
|
|
2422
|
+
if (!isRecord(value2)) continue;
|
|
2219
2423
|
visit(
|
|
2220
|
-
|
|
2424
|
+
value2,
|
|
2221
2425
|
path ? `${path}.${name}` : name,
|
|
2222
2426
|
requiredNames.has(name),
|
|
2223
2427
|
nextActiveRefs
|
|
@@ -2254,7 +2458,7 @@ function inputFieldJsonForDescribe(field) {
|
|
|
2254
2458
|
function arrayItemBoundsSuffix(field) {
|
|
2255
2459
|
const itemSchema = isRecord(field.items) ? field.items : null;
|
|
2256
2460
|
const itemType = itemSchema ? typeof itemSchema.type === "string" ? itemSchema.type : isRecord(itemSchema.properties) ? "object" : "unknown" : null;
|
|
2257
|
-
const itemEnum = Array.isArray(_optionalChain([itemSchema, 'optionalAccess',
|
|
2461
|
+
const itemEnum = Array.isArray(_optionalChain([itemSchema, 'optionalAccess', _20 => _20.enum])) ? ` enum=${itemSchema.enum.map(String).join("|")}` : "";
|
|
2258
2462
|
const itemTypeSuffix = itemType && itemType !== "unknown" ? ` items=${itemType}${itemEnum}` : "";
|
|
2259
2463
|
const minItems = typeof field.minItems === "number" && Number.isFinite(field.minItems) ? field.minItems : null;
|
|
2260
2464
|
const maxItems = typeof field.maxItems === "number" && Number.isFinite(field.maxItems) ? field.maxItems : null;
|
|
@@ -2265,15 +2469,15 @@ function arrayItemBoundsSuffix(field) {
|
|
|
2265
2469
|
if (maxItems !== null) return `${itemTypeSuffix} maxItems=${maxItems}`;
|
|
2266
2470
|
return itemTypeSuffix;
|
|
2267
2471
|
}
|
|
2268
|
-
function printToolExecutionHints(
|
|
2472
|
+
function printToolExecutionHints(value2) {
|
|
2269
2473
|
const batchCapabilityRecord = recordField(
|
|
2270
|
-
isRecord(
|
|
2474
|
+
isRecord(value2) ? value2 : {},
|
|
2271
2475
|
"batchCapability",
|
|
2272
2476
|
"batch_capability"
|
|
2273
2477
|
);
|
|
2274
2478
|
const batchCapability = Object.keys(batchCapabilityRecord).length > 0 ? batchCapabilityRecord : null;
|
|
2275
2479
|
const executionMetadata = recordField(
|
|
2276
|
-
isRecord(
|
|
2480
|
+
isRecord(value2) ? value2 : {},
|
|
2277
2481
|
"executionMetadata",
|
|
2278
2482
|
"execution_metadata"
|
|
2279
2483
|
);
|
|
@@ -2383,7 +2587,7 @@ function extractToolExecutionWarningMessages(rawResponse) {
|
|
|
2383
2587
|
];
|
|
2384
2588
|
const messages = [];
|
|
2385
2589
|
for (const candidate of candidates) {
|
|
2386
|
-
const warnings = _optionalChain([candidate, 'optionalAccess',
|
|
2590
|
+
const warnings = _optionalChain([candidate, 'optionalAccess', _21 => _21.warnings]);
|
|
2387
2591
|
if (!Array.isArray(warnings)) continue;
|
|
2388
2592
|
for (const warning of warnings) {
|
|
2389
2593
|
if (typeof warning === "string" && warning.trim()) {
|
|
@@ -2419,51 +2623,51 @@ function apifySyncRecoveryNext(rawResponse) {
|
|
|
2419
2623
|
};
|
|
2420
2624
|
}
|
|
2421
2625
|
function listExtractorPathsFromUsageGuidance(tool) {
|
|
2422
|
-
const toolExecutionResult = _optionalChain([tool, 'access',
|
|
2423
|
-
const extractedLists = Array.isArray(_optionalChain([toolExecutionResult, 'optionalAccess',
|
|
2626
|
+
const toolExecutionResult = _optionalChain([tool, 'access', _22 => _22.usageGuidance, 'optionalAccess', _23 => _23.toolExecutionResult]);
|
|
2627
|
+
const extractedLists = Array.isArray(_optionalChain([toolExecutionResult, 'optionalAccess', _24 => _24.extractedLists])) ? toolExecutionResult.extractedLists : isRecord(_optionalChain([toolExecutionResult, 'optionalAccess', _25 => _25.extractedLists])) ? Object.values(toolExecutionResult.extractedLists) : [];
|
|
2424
2628
|
return extractedLists.flatMap((entry) => {
|
|
2425
|
-
const paths = _nullishCoalesce(_optionalChain([entry, 'access',
|
|
2629
|
+
const paths = _nullishCoalesce(_optionalChain([entry, 'access', _26 => _26.details, 'optionalAccess', _27 => _27.candidatePaths]), () => ( _optionalChain([entry, 'access', _28 => _28.details, 'optionalAccess', _29 => _29.rawToolOutputPaths])));
|
|
2426
2630
|
if (!Array.isArray(paths)) return [];
|
|
2427
2631
|
return paths.map(
|
|
2428
2632
|
(path) => path.trim().replace(/^toolExecutionResult\.toolResponse\.raw\.?/, "").replace(/^toolExecutionResult\.toolOutput\.raw\.?/, "").replace(/^\./, "")
|
|
2429
2633
|
).filter(Boolean);
|
|
2430
2634
|
});
|
|
2431
2635
|
}
|
|
2432
|
-
function formatDecimal(
|
|
2433
|
-
const text =
|
|
2636
|
+
function formatDecimal(value2) {
|
|
2637
|
+
const text = value2.toFixed(12).replace(/0+$/, "").replace(/\.$/, "");
|
|
2434
2638
|
return text || "0";
|
|
2435
2639
|
}
|
|
2436
|
-
function formatUsd(
|
|
2437
|
-
return `$${formatDecimal(
|
|
2640
|
+
function formatUsd(value2) {
|
|
2641
|
+
return `$${formatDecimal(value2)}`;
|
|
2438
2642
|
}
|
|
2439
|
-
function isRecord(
|
|
2440
|
-
return Boolean(
|
|
2643
|
+
function isRecord(value2) {
|
|
2644
|
+
return Boolean(value2 && typeof value2 === "object" && !Array.isArray(value2));
|
|
2441
2645
|
}
|
|
2442
2646
|
function stringField2(source, ...keys) {
|
|
2443
2647
|
for (const key of keys) {
|
|
2444
|
-
const
|
|
2445
|
-
if (typeof
|
|
2648
|
+
const value2 = source[key];
|
|
2649
|
+
if (typeof value2 === "string" && value2.trim()) return value2.trim();
|
|
2446
2650
|
}
|
|
2447
2651
|
return "";
|
|
2448
2652
|
}
|
|
2449
2653
|
function numberField2(source, ...keys) {
|
|
2450
2654
|
for (const key of keys) {
|
|
2451
|
-
const
|
|
2452
|
-
if (typeof
|
|
2655
|
+
const value2 = source[key];
|
|
2656
|
+
if (typeof value2 === "number" && Number.isFinite(value2)) return value2;
|
|
2453
2657
|
}
|
|
2454
2658
|
return null;
|
|
2455
2659
|
}
|
|
2456
2660
|
function arrayField2(source, ...keys) {
|
|
2457
2661
|
for (const key of keys) {
|
|
2458
|
-
const
|
|
2459
|
-
if (Array.isArray(
|
|
2662
|
+
const value2 = source[key];
|
|
2663
|
+
if (Array.isArray(value2)) return value2;
|
|
2460
2664
|
}
|
|
2461
2665
|
return [];
|
|
2462
2666
|
}
|
|
2463
2667
|
function recordField(source, ...keys) {
|
|
2464
2668
|
for (const key of keys) {
|
|
2465
|
-
const
|
|
2466
|
-
if (isRecord(
|
|
2669
|
+
const value2 = source[key];
|
|
2670
|
+
if (isRecord(value2)) return value2;
|
|
2467
2671
|
}
|
|
2468
2672
|
return {};
|
|
2469
2673
|
}
|
|
@@ -2534,10 +2738,10 @@ function parseJsonObjectArgument(raw, flagName) {
|
|
|
2534
2738
|
}
|
|
2535
2739
|
return parsed;
|
|
2536
2740
|
}
|
|
2537
|
-
function toolExecuteJsonOption(
|
|
2538
|
-
const legacyInput = typeof
|
|
2741
|
+
function toolExecuteJsonOption(value2) {
|
|
2742
|
+
const legacyInput = typeof value2 === "string" ? value2 : void 0;
|
|
2539
2743
|
return {
|
|
2540
|
-
requested:
|
|
2744
|
+
requested: value2 === true || legacyInput !== void 0,
|
|
2541
2745
|
legacyInput
|
|
2542
2746
|
};
|
|
2543
2747
|
}
|
|
@@ -2573,7 +2777,7 @@ function parseExecuteOptions(toolId, options, output) {
|
|
|
2573
2777
|
outputFormat = normalizeOutputFormat(options.outputFormat);
|
|
2574
2778
|
}
|
|
2575
2779
|
if (options.idempotencyKey !== void 0) {
|
|
2576
|
-
|
|
2780
|
+
_chunkHC5L6KGEjs.validateExecutionIdempotencyKey.call(void 0, options.idempotencyKey);
|
|
2577
2781
|
}
|
|
2578
2782
|
if (options.recoveryTimeoutMs !== void 0) {
|
|
2579
2783
|
const parsed = Number(options.recoveryTimeoutMs);
|
|
@@ -2601,10 +2805,10 @@ function parseToolExecuteTimeout(raw) {
|
|
|
2601
2805
|
"--timeout must be a duration like 500ms, 90s, 10m, or 1h (a bare number is seconds)."
|
|
2602
2806
|
);
|
|
2603
2807
|
}
|
|
2604
|
-
const
|
|
2808
|
+
const value2 = Number(match[1]);
|
|
2605
2809
|
const unit = (_nullishCoalesce(match[2], () => ( "s"))).toLowerCase();
|
|
2606
2810
|
const factor = unit === "ms" ? 1 : unit === "s" ? 1e3 : unit === "m" ? 6e4 : 36e5;
|
|
2607
|
-
const timeoutMs =
|
|
2811
|
+
const timeoutMs = value2 * factor;
|
|
2608
2812
|
if (!Number.isSafeInteger(timeoutMs) || timeoutMs < 1 || timeoutMs > 2147483647) {
|
|
2609
2813
|
throw new Error(
|
|
2610
2814
|
"--timeout must be between 1ms and 2147483647ms (24d 20h 31m 23s)."
|
|
@@ -2612,11 +2816,11 @@ function parseToolExecuteTimeout(raw) {
|
|
|
2612
2816
|
}
|
|
2613
2817
|
return timeoutMs;
|
|
2614
2818
|
}
|
|
2615
|
-
function safeFileStem(
|
|
2616
|
-
return
|
|
2819
|
+
function safeFileStem(value2) {
|
|
2820
|
+
return value2.trim().replace(/[^a-zA-Z0-9_-]+/g, "-").replace(/^-+|-+$/g, "").slice(0, 64) || "tool";
|
|
2617
2821
|
}
|
|
2618
|
-
function powerShellQuote(
|
|
2619
|
-
return `'${
|
|
2822
|
+
function powerShellQuote(value2) {
|
|
2823
|
+
return `'${value2.replace(/'/g, "''")}'`;
|
|
2620
2824
|
}
|
|
2621
2825
|
function starterScriptJson(script) {
|
|
2622
2826
|
return {
|
|
@@ -2774,7 +2978,7 @@ function buildToolExecuteBaseEnvelope(input) {
|
|
|
2774
2978
|
lines: apifyRecovery ? [
|
|
2775
2979
|
"Apify is still running. Run the follow-up command(s) below."
|
|
2776
2980
|
] : summaryEntries.length > 0 ? summaryEntries.map(
|
|
2777
|
-
([key,
|
|
2981
|
+
([key, value2]) => `${key}=${String(value2)}`
|
|
2778
2982
|
) : [JSON.stringify(input.rawResponse, null, 2)]
|
|
2779
2983
|
},
|
|
2780
2984
|
...guidanceLines.length > 0 ? [{ title: "guidance", lines: guidanceLines }] : []
|
|
@@ -2856,7 +3060,7 @@ function buildToolExecuteRowArtifactEnvelope(input) {
|
|
|
2856
3060
|
lines: [
|
|
2857
3061
|
...input.csv.columns.length > 0 ? [`columns: ${JSON.stringify(input.csv.columns)}`] : [],
|
|
2858
3062
|
...Object.keys(input.summary).length > 0 ? [
|
|
2859
|
-
`summary: ${Object.entries(input.summary).map(([key,
|
|
3063
|
+
`summary: ${Object.entries(input.summary).map(([key, value2]) => `${key}=${String(value2)}`).join(", ")}`
|
|
2860
3064
|
] : [],
|
|
2861
3065
|
`preview: ${JSON.stringify(input.rowOutput.previewRows)}`,
|
|
2862
3066
|
`starter script: ${input.seededScript.path}`
|
|
@@ -2884,20 +3088,20 @@ function buildToolExecuteRowArtifactEnvelope(input) {
|
|
|
2884
3088
|
}
|
|
2885
3089
|
async function executeTool(toolId, options) {
|
|
2886
3090
|
const output = toolExecuteJsonOption(options.json);
|
|
2887
|
-
const wantsJson =
|
|
3091
|
+
const wantsJson = _chunk3XKAOV74js.shouldEmitJson.call(void 0, output.requested) || (_nullishCoalesce(options.outputFormat, () => ( "auto"))).trim().toLowerCase() !== "csv";
|
|
2888
3092
|
let parsed;
|
|
2889
3093
|
try {
|
|
2890
3094
|
parsed = parseExecuteOptions(toolId, options, output);
|
|
2891
3095
|
} catch (error) {
|
|
2892
3096
|
if (wantsJson) {
|
|
2893
|
-
|
|
3097
|
+
_chunk3XKAOV74js.printJsonError.call(void 0, error);
|
|
2894
3098
|
} else {
|
|
2895
3099
|
console.error(error instanceof Error ? error.message : String(error));
|
|
2896
3100
|
}
|
|
2897
3101
|
return error instanceof _chunk7P5AA3SNjs.DeeplineError && error.code === "IDEMPOTENCY_KEY_INVALID" ? 2 : 1;
|
|
2898
3102
|
}
|
|
2899
3103
|
const cliInvocationId = _nullishCoalesce(_chunkQJBJZVG6js.getToolExecuteInvocationId.call(void 0, ), () => ( _chunkQJBJZVG6js.beginToolExecuteCommand.call(void 0, )));
|
|
2900
|
-
const client = new (0,
|
|
3104
|
+
const client = new (0, _chunkHC5L6KGEjs.DeeplineClient)();
|
|
2901
3105
|
let metadata;
|
|
2902
3106
|
try {
|
|
2903
3107
|
metadata = await _chunkQJBJZVG6js.runToolExecuteStage.call(void 0,
|
|
@@ -2912,7 +3116,7 @@ async function executeTool(toolId, options) {
|
|
|
2912
3116
|
);
|
|
2913
3117
|
if (play) {
|
|
2914
3118
|
if (wantsJson) {
|
|
2915
|
-
|
|
3119
|
+
_chunk3XKAOV74js.printJsonError.call(void 0,
|
|
2916
3120
|
new Error(playAliasToolErrorMessage(parsed.toolId, play))
|
|
2917
3121
|
);
|
|
2918
3122
|
} else {
|
|
@@ -2925,7 +3129,7 @@ async function executeTool(toolId, options) {
|
|
|
2925
3129
|
}
|
|
2926
3130
|
if (isPlayLikeTool(metadata)) {
|
|
2927
3131
|
if (wantsJson) {
|
|
2928
|
-
|
|
3132
|
+
_chunk3XKAOV74js.printJsonError.call(void 0,
|
|
2929
3133
|
new Error(
|
|
2930
3134
|
playLikeToolExecuteErrorMessage(
|
|
2931
3135
|
parsed.toolId,
|
|
@@ -2957,13 +3161,13 @@ async function executeTool(toolId, options) {
|
|
|
2957
3161
|
"execute request",
|
|
2958
3162
|
() => client.executeTool(parsed.toolId, parsed.params, {
|
|
2959
3163
|
...parsed.timeoutMs !== void 0 ? { timeout: parsed.timeoutMs } : {},
|
|
2960
|
-
..._optionalChain([metadata, 'access',
|
|
3164
|
+
..._optionalChain([metadata, 'access', _30 => _30.executionMetadata, 'optionalAccess', _31 => _31.retrySafeTransientHttp]) === true ? { maxRetries: 2, retryApiErrors: true } : {},
|
|
2961
3165
|
responseIntent,
|
|
2962
3166
|
...idempotencyKey ? { idempotencyKey } : {},
|
|
2963
3167
|
...parsed.recoveryTimeoutMs !== void 0 ? { recoveryTimeoutMs: parsed.recoveryTimeoutMs } : {},
|
|
2964
|
-
searchRef:
|
|
3168
|
+
searchRef: _chunk53PZA4EPjs.recentSearchRef.call(void 0, ),
|
|
2965
3169
|
cliInvocationId,
|
|
2966
|
-
onResponseReceived:
|
|
3170
|
+
onResponseReceived: _chunkYPVTQRUMjs.recordApiResponse
|
|
2967
3171
|
}).catch((error) => {
|
|
2968
3172
|
const guidanceLines = toolGuidanceLines(metadata.guidance);
|
|
2969
3173
|
if (guidanceLines.length > 0) {
|
|
@@ -2982,10 +3186,10 @@ async function executeTool(toolId, options) {
|
|
|
2982
3186
|
"result formatting",
|
|
2983
3187
|
() => {
|
|
2984
3188
|
const listExtractorPaths = listExtractorPathsFromUsageGuidance(metadata);
|
|
2985
|
-
const listConversion2 =
|
|
3189
|
+
const listConversion2 = _chunk3VN4FTE3js.tryConvertToList.call(void 0, rawResponse, {
|
|
2986
3190
|
listExtractorPaths
|
|
2987
3191
|
});
|
|
2988
|
-
const summary2 =
|
|
3192
|
+
const summary2 = _chunk3VN4FTE3js.extractSummaryFields.call(void 0, rawResponse);
|
|
2989
3193
|
const baseEnvelope2 = buildToolExecuteBaseEnvelope({
|
|
2990
3194
|
toolId: parsed.toolId,
|
|
2991
3195
|
params: parsed.params,
|
|
@@ -3002,15 +3206,15 @@ async function executeTool(toolId, options) {
|
|
|
3002
3206
|
const executeExitCode = toolExecuteExitCode(baseEnvelope);
|
|
3003
3207
|
const delivered = await _chunkQJBJZVG6js.runToolExecuteStage.call(void 0, "output delivery", () => {
|
|
3004
3208
|
if (!parsed.outPath && (parsed.outputFormat === "json" || parsed.outputFormat === "auto" && wantsJson)) {
|
|
3005
|
-
|
|
3209
|
+
_chunk3XKAOV74js.printCommandEnvelope.call(void 0, baseEnvelope, { json: true });
|
|
3006
3210
|
return true;
|
|
3007
3211
|
}
|
|
3008
3212
|
if (parsed.outputFormat === "json_file") {
|
|
3009
|
-
const jsonPath =
|
|
3213
|
+
const jsonPath = _chunk3VN4FTE3js.writeJsonOutputFile.call(void 0,
|
|
3010
3214
|
rawResponse,
|
|
3011
3215
|
`payload_${parsed.toolId}`
|
|
3012
3216
|
);
|
|
3013
|
-
|
|
3217
|
+
_chunk3XKAOV74js.printCommandEnvelope.call(void 0,
|
|
3014
3218
|
{
|
|
3015
3219
|
...baseEnvelope,
|
|
3016
3220
|
local: {
|
|
@@ -3032,18 +3236,18 @@ async function executeTool(toolId, options) {
|
|
|
3032
3236
|
`${parsed.toolId} did not expose row-shaped output to write as CSV. ${inspection.inspectDescription} Run: ${inspection.inspect}`
|
|
3033
3237
|
);
|
|
3034
3238
|
if (wantsJson) {
|
|
3035
|
-
|
|
3239
|
+
_chunk3XKAOV74js.printJsonError.call(void 0, error);
|
|
3036
3240
|
} else {
|
|
3037
3241
|
console.error(error.message);
|
|
3038
3242
|
}
|
|
3039
3243
|
return false;
|
|
3040
3244
|
}
|
|
3041
3245
|
if (parsed.outputFormat === "csv" || parsed.outputFormat === "csv_file") {
|
|
3042
|
-
const jsonPath =
|
|
3246
|
+
const jsonPath = _chunk3VN4FTE3js.writeJsonOutputFile.call(void 0,
|
|
3043
3247
|
rawResponse,
|
|
3044
3248
|
`payload_${parsed.toolId}`
|
|
3045
3249
|
);
|
|
3046
|
-
|
|
3250
|
+
_chunk3XKAOV74js.printCommandEnvelope.call(void 0,
|
|
3047
3251
|
{
|
|
3048
3252
|
...baseEnvelope,
|
|
3049
3253
|
local: {
|
|
@@ -3054,11 +3258,11 @@ async function executeTool(toolId, options) {
|
|
|
3054
3258
|
);
|
|
3055
3259
|
return true;
|
|
3056
3260
|
}
|
|
3057
|
-
|
|
3261
|
+
_chunk3XKAOV74js.printCommandEnvelope.call(void 0, baseEnvelope, { json: false });
|
|
3058
3262
|
return true;
|
|
3059
3263
|
}
|
|
3060
|
-
const rowOutput =
|
|
3061
|
-
const csv =
|
|
3264
|
+
const rowOutput = _chunk3VN4FTE3js.projectRowOutput.call(void 0, listConversion);
|
|
3265
|
+
const csv = _chunk3VN4FTE3js.writeCsvOutputFile.call(void 0,
|
|
3062
3266
|
listConversion.rows,
|
|
3063
3267
|
`${parsed.toolId}_output`,
|
|
3064
3268
|
parsed.outPath ? { outPath: parsed.outPath } : void 0
|
|
@@ -3078,7 +3282,7 @@ async function executeTool(toolId, options) {
|
|
|
3078
3282
|
seededScript
|
|
3079
3283
|
});
|
|
3080
3284
|
if (parsed.outputFormat === "csv_file") {
|
|
3081
|
-
|
|
3285
|
+
_chunk3XKAOV74js.printCommandEnvelope.call(void 0, materializedEnvelope, { json: true });
|
|
3082
3286
|
return true;
|
|
3083
3287
|
}
|
|
3084
3288
|
if (parsed.outPath) {
|
|
@@ -3086,7 +3290,7 @@ async function executeTool(toolId, options) {
|
|
|
3086
3290
|
toolId: parsed.toolId,
|
|
3087
3291
|
idempotencyKey
|
|
3088
3292
|
});
|
|
3089
|
-
|
|
3293
|
+
_chunk3XKAOV74js.printCommandEnvelope.call(void 0, materializedEnvelope, {
|
|
3090
3294
|
json: wantsJson,
|
|
3091
3295
|
text: `Wrote ${csv.rowCount} row(s) to ${csv.path}
|
|
3092
3296
|
inspect: ${inspection.inspect}
|
|
@@ -3095,7 +3299,7 @@ inspect: ${inspection.inspect}
|
|
|
3095
3299
|
return true;
|
|
3096
3300
|
}
|
|
3097
3301
|
if (parsed.noPreview) {
|
|
3098
|
-
|
|
3302
|
+
_chunk3XKAOV74js.printCommandEnvelope.call(void 0,
|
|
3099
3303
|
{
|
|
3100
3304
|
...materializedEnvelope,
|
|
3101
3305
|
local: {
|
|
@@ -3108,7 +3312,7 @@ inspect: ${inspection.inspect}
|
|
|
3108
3312
|
);
|
|
3109
3313
|
return true;
|
|
3110
3314
|
}
|
|
3111
|
-
|
|
3315
|
+
_chunk3XKAOV74js.printCommandEnvelope.call(void 0, materializedEnvelope, {
|
|
3112
3316
|
json: wantsJson && parsed.outputFormat !== "csv"
|
|
3113
3317
|
});
|
|
3114
3318
|
return true;
|