deepline 0.1.236 → 0.1.237
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 +2 -2
- package/dist/cli/index.js +66 -28
- package/dist/cli/index.mjs +75 -31
- package/dist/index.js +2 -2
- package/dist/index.mjs +2 -2
- package/package.json +1 -1
|
@@ -108,10 +108,10 @@ export const SDK_RELEASE = {
|
|
|
108
108
|
// 0.1.175 ships loud `deepline enrich` empty-waterfall reporting.
|
|
109
109
|
// 0.1.220 deprecates SDK CLI versions below 0.1.219 and updates them
|
|
110
110
|
// automatically without blocking their current command.
|
|
111
|
-
version: '0.1.
|
|
111
|
+
version: '0.1.237',
|
|
112
112
|
apiContract: '2026-06-dataset-handle-results-hard-cutover',
|
|
113
113
|
supportPolicy: {
|
|
114
|
-
latest: '0.1.
|
|
114
|
+
latest: '0.1.237',
|
|
115
115
|
minimumSupported: '0.1.53',
|
|
116
116
|
deprecatedBelow: '0.1.219',
|
|
117
117
|
commandMinimumSupported: [
|
package/dist/cli/index.js
CHANGED
|
@@ -625,10 +625,10 @@ var SDK_RELEASE = {
|
|
|
625
625
|
// 0.1.175 ships loud `deepline enrich` empty-waterfall reporting.
|
|
626
626
|
// 0.1.220 deprecates SDK CLI versions below 0.1.219 and updates them
|
|
627
627
|
// automatically without blocking their current command.
|
|
628
|
-
version: "0.1.
|
|
628
|
+
version: "0.1.237",
|
|
629
629
|
apiContract: "2026-06-dataset-handle-results-hard-cutover",
|
|
630
630
|
supportPolicy: {
|
|
631
|
-
latest: "0.1.
|
|
631
|
+
latest: "0.1.237",
|
|
632
632
|
minimumSupported: "0.1.53",
|
|
633
633
|
deprecatedBelow: "0.1.219",
|
|
634
634
|
commandMinimumSupported: [
|
|
@@ -26363,7 +26363,9 @@ function printPlayLikeToolExecuteError(toolId, tool) {
|
|
|
26363
26363
|
console.error(playLikeToolExecuteErrorMessage(toolId, tool));
|
|
26364
26364
|
}
|
|
26365
26365
|
function registerToolsCommands(program) {
|
|
26366
|
-
const tools = program.command("tools").description(
|
|
26366
|
+
const tools = program.command("tools").description(
|
|
26367
|
+
"Search by intent or structured filters, describe, and execute atomic provider tools."
|
|
26368
|
+
).addHelpText(
|
|
26367
26369
|
"after",
|
|
26368
26370
|
`
|
|
26369
26371
|
Concepts:
|
|
@@ -26402,30 +26404,34 @@ Examples:
|
|
|
26402
26404
|
...options.json ? ["--json"] : []
|
|
26403
26405
|
]);
|
|
26404
26406
|
});
|
|
26405
|
-
const addToolSearchCommand = (command) => command.description(
|
|
26407
|
+
const addToolSearchCommand = (command) => command.description(
|
|
26408
|
+
"Search available tools by intent query or structured filters."
|
|
26409
|
+
).addHelpText(
|
|
26406
26410
|
"after",
|
|
26407
26411
|
`
|
|
26408
26412
|
Notes:
|
|
26409
26413
|
Ranked discovery for atomic provider/API operations. Results include tool ids
|
|
26410
26414
|
that can be passed to deepline tools describe or deepline tools execute.
|
|
26415
|
+
Provide a query, or omit it only when --categories and/or --search_terms is
|
|
26416
|
+
supplied. Providing neither is a usage error. Both filters accept
|
|
26417
|
+
comma-separated values. Use a provider name in the query; --prefix is not a
|
|
26418
|
+
supported option.
|
|
26411
26419
|
The grep alias is the same ranked retrieval surface with a more literal name
|
|
26412
26420
|
for agents that are filtering a registry rather than choosing a workflow.
|
|
26413
26421
|
|
|
26414
26422
|
Examples:
|
|
26415
26423
|
deepline tools search email
|
|
26424
|
+
deepline tools search --categories company_search --search_terms "investors,funding"
|
|
26416
26425
|
deepline tools grep "company enrichment" --categories enrichment --json
|
|
26417
26426
|
deepline tools search verifier --search-mode v2 --json
|
|
26418
26427
|
`
|
|
26419
26428
|
).option(
|
|
26420
26429
|
"--categories <categories>",
|
|
26421
|
-
"Comma-separated categories
|
|
26430
|
+
"Comma-separated categories; may be used without a query"
|
|
26422
26431
|
).option(
|
|
26423
26432
|
"--search_terms <terms>",
|
|
26424
|
-
"
|
|
26425
|
-
).option(
|
|
26426
|
-
"--search-terms <terms>",
|
|
26427
|
-
"Structured search terms for ranked search"
|
|
26428
|
-
).option("--search-mode <mode>", "Ranked search mode: v1 or v2").option("--include-search-debug", "Include ranked search debug metadata").option("--compact", "Drop verbose fields from JSON output").option("--json", "Emit JSON output. Also automatic when stdout is piped").action(async (query, options) => {
|
|
26433
|
+
"Comma-separated structured search terms; may be used without a query"
|
|
26434
|
+
).option("--search-terms <terms>", "Alias for --search_terms").option("--search-mode <mode>", "Ranked search mode: v1 or v2").option("--include-search-debug", "Include ranked search debug metadata").option("--compact", "Drop verbose fields from JSON output").option("--json", "Emit JSON output. Also automatic when stdout is piped").action(async (query, options) => {
|
|
26429
26435
|
process.exitCode = await searchTools(query, {
|
|
26430
26436
|
json: options.json,
|
|
26431
26437
|
compact: options.compact,
|
|
@@ -28372,6 +28378,9 @@ function sdkSkillsVersionPath(baseUrl) {
|
|
|
28372
28378
|
function legacySdkSkillsVersionPath(baseUrl) {
|
|
28373
28379
|
return (0, import_node_path18.join)((0, import_node_path18.dirname)(sdkCliStateDirPath(baseUrl)), "sdk-skills", ".version");
|
|
28374
28380
|
}
|
|
28381
|
+
function unavailableSkillsNoticePath(baseUrl) {
|
|
28382
|
+
return (0, import_node_path18.join)(sdkCliStateDirPath(baseUrl), "skills-sync-unavailable-version");
|
|
28383
|
+
}
|
|
28375
28384
|
function readSdkSkillsLocalVersion(baseUrl) {
|
|
28376
28385
|
const pluginVersion = readPluginSkillsVersion();
|
|
28377
28386
|
if (pluginVersion) return pluginVersion;
|
|
@@ -28389,6 +28398,29 @@ function writeLocalSkillsVersion(baseUrl, version) {
|
|
|
28389
28398
|
(0, import_node_fs16.writeFileSync)(path, `${version}
|
|
28390
28399
|
`, "utf-8");
|
|
28391
28400
|
}
|
|
28401
|
+
function writeUnavailableSkillsNotice(baseUrl, remoteVersion, skillNames) {
|
|
28402
|
+
const path = unavailableSkillsNoticePath(baseUrl);
|
|
28403
|
+
try {
|
|
28404
|
+
if ((0, import_node_fs16.existsSync)(path) && (0, import_node_fs16.readFileSync)(path, "utf-8").trim() === remoteVersion) {
|
|
28405
|
+
return;
|
|
28406
|
+
}
|
|
28407
|
+
(0, import_node_fs16.mkdirSync)((0, import_node_path18.dirname)(path), { recursive: true });
|
|
28408
|
+
(0, import_node_fs16.writeFileSync)(path, `${remoteVersion}
|
|
28409
|
+
`, "utf-8");
|
|
28410
|
+
} catch {
|
|
28411
|
+
}
|
|
28412
|
+
const manualCommand = `npx ${buildSkillsInstallArgs(baseUrl, skillNames).join(" ")}`;
|
|
28413
|
+
writeSdkSkillsStatusLine(
|
|
28414
|
+
`Deepline agent skills are out of date, but neither \`bunx\` nor \`npx\` is available. Install Node.js/npm or Bun, then run:
|
|
28415
|
+
${manualCommand}`
|
|
28416
|
+
);
|
|
28417
|
+
}
|
|
28418
|
+
function clearUnavailableSkillsNotice(baseUrl) {
|
|
28419
|
+
try {
|
|
28420
|
+
(0, import_node_fs16.unlinkSync)(unavailableSkillsNoticePath(baseUrl));
|
|
28421
|
+
} catch {
|
|
28422
|
+
}
|
|
28423
|
+
}
|
|
28392
28424
|
function sortedUniqueSkillNames(names) {
|
|
28393
28425
|
return [...new Set(names.map((name) => name.trim()).filter(Boolean))].sort(
|
|
28394
28426
|
(a, b) => a.localeCompare(b)
|
|
@@ -28464,24 +28496,24 @@ function shellQuote5(arg) {
|
|
|
28464
28496
|
return `'${arg.replace(/'/g, `'\\''`)}'`;
|
|
28465
28497
|
}
|
|
28466
28498
|
function resolveSkillsInstallCommands(baseUrl, skillNames = DEFAULT_SDK_SKILL_NAMES) {
|
|
28467
|
-
const
|
|
28468
|
-
const npxInstall = {
|
|
28469
|
-
command: "npx",
|
|
28470
|
-
args: npxArgs,
|
|
28471
|
-
manualCommand: `npx ${npxArgs.map(shellQuote5).join(" ")}`
|
|
28472
|
-
};
|
|
28499
|
+
const commands = [];
|
|
28473
28500
|
if (hasCommand("bunx")) {
|
|
28474
28501
|
const bunxArgs = buildBunxSkillsInstallArgs(baseUrl, skillNames);
|
|
28475
|
-
|
|
28476
|
-
|
|
28477
|
-
|
|
28478
|
-
|
|
28479
|
-
|
|
28480
|
-
|
|
28481
|
-
|
|
28482
|
-
|
|
28502
|
+
commands.push({
|
|
28503
|
+
command: "bunx",
|
|
28504
|
+
args: bunxArgs,
|
|
28505
|
+
manualCommand: `bunx ${bunxArgs.map(shellQuote5).join(" ")}`
|
|
28506
|
+
});
|
|
28507
|
+
}
|
|
28508
|
+
if (hasCommand("npx")) {
|
|
28509
|
+
const npxArgs = buildSkillsInstallArgs(baseUrl, skillNames);
|
|
28510
|
+
commands.push({
|
|
28511
|
+
command: "npx",
|
|
28512
|
+
args: npxArgs,
|
|
28513
|
+
manualCommand: `npx ${npxArgs.map(shellQuote5).join(" ")}`
|
|
28514
|
+
});
|
|
28483
28515
|
}
|
|
28484
|
-
return
|
|
28516
|
+
return commands;
|
|
28485
28517
|
}
|
|
28486
28518
|
function runOneSkillsInstall(install) {
|
|
28487
28519
|
return new Promise((resolve14) => {
|
|
@@ -28514,9 +28546,9 @@ function runOneSkillsInstall(install) {
|
|
|
28514
28546
|
});
|
|
28515
28547
|
});
|
|
28516
28548
|
}
|
|
28517
|
-
async function runSkillsInstall(
|
|
28549
|
+
async function runSkillsInstall(installs) {
|
|
28518
28550
|
const failures = [];
|
|
28519
|
-
for (const install of
|
|
28551
|
+
for (const install of installs) {
|
|
28520
28552
|
const result = await runOneSkillsInstall(install);
|
|
28521
28553
|
if (result.ok) return true;
|
|
28522
28554
|
failures.push(result);
|
|
@@ -28606,11 +28638,17 @@ async function syncSdkSkillsIfNeeded(baseUrl, options = {}) {
|
|
|
28606
28638
|
remoteSkillNames.length > 0 ? remoteSkillNames : DEFAULT_SDK_SKILL_NAMES
|
|
28607
28639
|
);
|
|
28608
28640
|
if (skillNames.length === 0) return;
|
|
28641
|
+
const installs = resolveSkillsInstallCommands(baseUrl, skillNames);
|
|
28642
|
+
if (installs.length === 0) {
|
|
28643
|
+
writeUnavailableSkillsNotice(baseUrl, update.remoteVersion, skillNames);
|
|
28644
|
+
return;
|
|
28645
|
+
}
|
|
28609
28646
|
writeSdkSkillsStatusLine("Deepline skills changed; syncing agent skills...");
|
|
28610
|
-
const installed = await runSkillsInstall(
|
|
28647
|
+
const installed = await runSkillsInstall(installs);
|
|
28611
28648
|
if (!installed) return;
|
|
28612
28649
|
runLegacySkillsCleanup();
|
|
28613
28650
|
writeLocalSkillsVersion(baseUrl, update.remoteVersion);
|
|
28651
|
+
clearUnavailableSkillsNotice(baseUrl);
|
|
28614
28652
|
writeSdkSkillsStatusLine("Deepline agent skills are up to date.");
|
|
28615
28653
|
}
|
|
28616
28654
|
|
package/dist/cli/index.mjs
CHANGED
|
@@ -610,10 +610,10 @@ var SDK_RELEASE = {
|
|
|
610
610
|
// 0.1.175 ships loud `deepline enrich` empty-waterfall reporting.
|
|
611
611
|
// 0.1.220 deprecates SDK CLI versions below 0.1.219 and updates them
|
|
612
612
|
// automatically without blocking their current command.
|
|
613
|
-
version: "0.1.
|
|
613
|
+
version: "0.1.237",
|
|
614
614
|
apiContract: "2026-06-dataset-handle-results-hard-cutover",
|
|
615
615
|
supportPolicy: {
|
|
616
|
-
latest: "0.1.
|
|
616
|
+
latest: "0.1.237",
|
|
617
617
|
minimumSupported: "0.1.53",
|
|
618
618
|
deprecatedBelow: "0.1.219",
|
|
619
619
|
commandMinimumSupported: [
|
|
@@ -26411,7 +26411,9 @@ function printPlayLikeToolExecuteError(toolId, tool) {
|
|
|
26411
26411
|
console.error(playLikeToolExecuteErrorMessage(toolId, tool));
|
|
26412
26412
|
}
|
|
26413
26413
|
function registerToolsCommands(program) {
|
|
26414
|
-
const tools = program.command("tools").description(
|
|
26414
|
+
const tools = program.command("tools").description(
|
|
26415
|
+
"Search by intent or structured filters, describe, and execute atomic provider tools."
|
|
26416
|
+
).addHelpText(
|
|
26415
26417
|
"after",
|
|
26416
26418
|
`
|
|
26417
26419
|
Concepts:
|
|
@@ -26450,30 +26452,34 @@ Examples:
|
|
|
26450
26452
|
...options.json ? ["--json"] : []
|
|
26451
26453
|
]);
|
|
26452
26454
|
});
|
|
26453
|
-
const addToolSearchCommand = (command) => command.description(
|
|
26455
|
+
const addToolSearchCommand = (command) => command.description(
|
|
26456
|
+
"Search available tools by intent query or structured filters."
|
|
26457
|
+
).addHelpText(
|
|
26454
26458
|
"after",
|
|
26455
26459
|
`
|
|
26456
26460
|
Notes:
|
|
26457
26461
|
Ranked discovery for atomic provider/API operations. Results include tool ids
|
|
26458
26462
|
that can be passed to deepline tools describe or deepline tools execute.
|
|
26463
|
+
Provide a query, or omit it only when --categories and/or --search_terms is
|
|
26464
|
+
supplied. Providing neither is a usage error. Both filters accept
|
|
26465
|
+
comma-separated values. Use a provider name in the query; --prefix is not a
|
|
26466
|
+
supported option.
|
|
26459
26467
|
The grep alias is the same ranked retrieval surface with a more literal name
|
|
26460
26468
|
for agents that are filtering a registry rather than choosing a workflow.
|
|
26461
26469
|
|
|
26462
26470
|
Examples:
|
|
26463
26471
|
deepline tools search email
|
|
26472
|
+
deepline tools search --categories company_search --search_terms "investors,funding"
|
|
26464
26473
|
deepline tools grep "company enrichment" --categories enrichment --json
|
|
26465
26474
|
deepline tools search verifier --search-mode v2 --json
|
|
26466
26475
|
`
|
|
26467
26476
|
).option(
|
|
26468
26477
|
"--categories <categories>",
|
|
26469
|
-
"Comma-separated categories
|
|
26478
|
+
"Comma-separated categories; may be used without a query"
|
|
26470
26479
|
).option(
|
|
26471
26480
|
"--search_terms <terms>",
|
|
26472
|
-
"
|
|
26473
|
-
).option(
|
|
26474
|
-
"--search-terms <terms>",
|
|
26475
|
-
"Structured search terms for ranked search"
|
|
26476
|
-
).option("--search-mode <mode>", "Ranked search mode: v1 or v2").option("--include-search-debug", "Include ranked search debug metadata").option("--compact", "Drop verbose fields from JSON output").option("--json", "Emit JSON output. Also automatic when stdout is piped").action(async (query, options) => {
|
|
26481
|
+
"Comma-separated structured search terms; may be used without a query"
|
|
26482
|
+
).option("--search-terms <terms>", "Alias for --search_terms").option("--search-mode <mode>", "Ranked search mode: v1 or v2").option("--include-search-debug", "Include ranked search debug metadata").option("--compact", "Drop verbose fields from JSON output").option("--json", "Emit JSON output. Also automatic when stdout is piped").action(async (query, options) => {
|
|
26477
26483
|
process.exitCode = await searchTools(query, {
|
|
26478
26484
|
json: options.json,
|
|
26479
26485
|
compact: options.compact,
|
|
@@ -28281,7 +28287,7 @@ import {
|
|
|
28281
28287
|
readFileSync as readFileSync13,
|
|
28282
28288
|
renameSync,
|
|
28283
28289
|
rmSync as rmSync4,
|
|
28284
|
-
unlinkSync,
|
|
28290
|
+
unlinkSync as unlinkSync2,
|
|
28285
28291
|
writeFileSync as writeFileSync15
|
|
28286
28292
|
} from "fs";
|
|
28287
28293
|
import { homedir as homedir11 } from "os";
|
|
@@ -28289,7 +28295,13 @@ import { dirname as dirname13, isAbsolute as isAbsolute2, join as join14, relati
|
|
|
28289
28295
|
|
|
28290
28296
|
// src/cli/skills-sync.ts
|
|
28291
28297
|
import { spawn as spawn3, spawnSync as spawnSync2 } from "child_process";
|
|
28292
|
-
import {
|
|
28298
|
+
import {
|
|
28299
|
+
existsSync as existsSync11,
|
|
28300
|
+
mkdirSync as mkdirSync9,
|
|
28301
|
+
readFileSync as readFileSync12,
|
|
28302
|
+
unlinkSync,
|
|
28303
|
+
writeFileSync as writeFileSync14
|
|
28304
|
+
} from "fs";
|
|
28293
28305
|
import { dirname as dirname12, join as join13 } from "path";
|
|
28294
28306
|
|
|
28295
28307
|
// ../shared_libs/cli/install-commands.json
|
|
@@ -28429,6 +28441,9 @@ function sdkSkillsVersionPath(baseUrl) {
|
|
|
28429
28441
|
function legacySdkSkillsVersionPath(baseUrl) {
|
|
28430
28442
|
return join13(dirname12(sdkCliStateDirPath(baseUrl)), "sdk-skills", ".version");
|
|
28431
28443
|
}
|
|
28444
|
+
function unavailableSkillsNoticePath(baseUrl) {
|
|
28445
|
+
return join13(sdkCliStateDirPath(baseUrl), "skills-sync-unavailable-version");
|
|
28446
|
+
}
|
|
28432
28447
|
function readSdkSkillsLocalVersion(baseUrl) {
|
|
28433
28448
|
const pluginVersion = readPluginSkillsVersion();
|
|
28434
28449
|
if (pluginVersion) return pluginVersion;
|
|
@@ -28446,6 +28461,29 @@ function writeLocalSkillsVersion(baseUrl, version) {
|
|
|
28446
28461
|
writeFileSync14(path, `${version}
|
|
28447
28462
|
`, "utf-8");
|
|
28448
28463
|
}
|
|
28464
|
+
function writeUnavailableSkillsNotice(baseUrl, remoteVersion, skillNames) {
|
|
28465
|
+
const path = unavailableSkillsNoticePath(baseUrl);
|
|
28466
|
+
try {
|
|
28467
|
+
if (existsSync11(path) && readFileSync12(path, "utf-8").trim() === remoteVersion) {
|
|
28468
|
+
return;
|
|
28469
|
+
}
|
|
28470
|
+
mkdirSync9(dirname12(path), { recursive: true });
|
|
28471
|
+
writeFileSync14(path, `${remoteVersion}
|
|
28472
|
+
`, "utf-8");
|
|
28473
|
+
} catch {
|
|
28474
|
+
}
|
|
28475
|
+
const manualCommand = `npx ${buildSkillsInstallArgs(baseUrl, skillNames).join(" ")}`;
|
|
28476
|
+
writeSdkSkillsStatusLine(
|
|
28477
|
+
`Deepline agent skills are out of date, but neither \`bunx\` nor \`npx\` is available. Install Node.js/npm or Bun, then run:
|
|
28478
|
+
${manualCommand}`
|
|
28479
|
+
);
|
|
28480
|
+
}
|
|
28481
|
+
function clearUnavailableSkillsNotice(baseUrl) {
|
|
28482
|
+
try {
|
|
28483
|
+
unlinkSync(unavailableSkillsNoticePath(baseUrl));
|
|
28484
|
+
} catch {
|
|
28485
|
+
}
|
|
28486
|
+
}
|
|
28449
28487
|
function sortedUniqueSkillNames(names) {
|
|
28450
28488
|
return [...new Set(names.map((name) => name.trim()).filter(Boolean))].sort(
|
|
28451
28489
|
(a, b) => a.localeCompare(b)
|
|
@@ -28521,24 +28559,24 @@ function shellQuote5(arg) {
|
|
|
28521
28559
|
return `'${arg.replace(/'/g, `'\\''`)}'`;
|
|
28522
28560
|
}
|
|
28523
28561
|
function resolveSkillsInstallCommands(baseUrl, skillNames = DEFAULT_SDK_SKILL_NAMES) {
|
|
28524
|
-
const
|
|
28525
|
-
const npxInstall = {
|
|
28526
|
-
command: "npx",
|
|
28527
|
-
args: npxArgs,
|
|
28528
|
-
manualCommand: `npx ${npxArgs.map(shellQuote5).join(" ")}`
|
|
28529
|
-
};
|
|
28562
|
+
const commands = [];
|
|
28530
28563
|
if (hasCommand("bunx")) {
|
|
28531
28564
|
const bunxArgs = buildBunxSkillsInstallArgs(baseUrl, skillNames);
|
|
28532
|
-
|
|
28533
|
-
|
|
28534
|
-
|
|
28535
|
-
|
|
28536
|
-
|
|
28537
|
-
|
|
28538
|
-
|
|
28539
|
-
|
|
28565
|
+
commands.push({
|
|
28566
|
+
command: "bunx",
|
|
28567
|
+
args: bunxArgs,
|
|
28568
|
+
manualCommand: `bunx ${bunxArgs.map(shellQuote5).join(" ")}`
|
|
28569
|
+
});
|
|
28570
|
+
}
|
|
28571
|
+
if (hasCommand("npx")) {
|
|
28572
|
+
const npxArgs = buildSkillsInstallArgs(baseUrl, skillNames);
|
|
28573
|
+
commands.push({
|
|
28574
|
+
command: "npx",
|
|
28575
|
+
args: npxArgs,
|
|
28576
|
+
manualCommand: `npx ${npxArgs.map(shellQuote5).join(" ")}`
|
|
28577
|
+
});
|
|
28540
28578
|
}
|
|
28541
|
-
return
|
|
28579
|
+
return commands;
|
|
28542
28580
|
}
|
|
28543
28581
|
function runOneSkillsInstall(install) {
|
|
28544
28582
|
return new Promise((resolve14) => {
|
|
@@ -28571,9 +28609,9 @@ function runOneSkillsInstall(install) {
|
|
|
28571
28609
|
});
|
|
28572
28610
|
});
|
|
28573
28611
|
}
|
|
28574
|
-
async function runSkillsInstall(
|
|
28612
|
+
async function runSkillsInstall(installs) {
|
|
28575
28613
|
const failures = [];
|
|
28576
|
-
for (const install of
|
|
28614
|
+
for (const install of installs) {
|
|
28577
28615
|
const result = await runOneSkillsInstall(install);
|
|
28578
28616
|
if (result.ok) return true;
|
|
28579
28617
|
failures.push(result);
|
|
@@ -28663,11 +28701,17 @@ async function syncSdkSkillsIfNeeded(baseUrl, options = {}) {
|
|
|
28663
28701
|
remoteSkillNames.length > 0 ? remoteSkillNames : DEFAULT_SDK_SKILL_NAMES
|
|
28664
28702
|
);
|
|
28665
28703
|
if (skillNames.length === 0) return;
|
|
28704
|
+
const installs = resolveSkillsInstallCommands(baseUrl, skillNames);
|
|
28705
|
+
if (installs.length === 0) {
|
|
28706
|
+
writeUnavailableSkillsNotice(baseUrl, update.remoteVersion, skillNames);
|
|
28707
|
+
return;
|
|
28708
|
+
}
|
|
28666
28709
|
writeSdkSkillsStatusLine("Deepline skills changed; syncing agent skills...");
|
|
28667
|
-
const installed = await runSkillsInstall(
|
|
28710
|
+
const installed = await runSkillsInstall(installs);
|
|
28668
28711
|
if (!installed) return;
|
|
28669
28712
|
runLegacySkillsCleanup();
|
|
28670
28713
|
writeLocalSkillsVersion(baseUrl, update.remoteVersion);
|
|
28714
|
+
clearUnavailableSkillsNotice(baseUrl);
|
|
28671
28715
|
writeSdkSkillsStatusLine("Deepline agent skills are up to date.");
|
|
28672
28716
|
}
|
|
28673
28717
|
|
|
@@ -28896,7 +28940,7 @@ function clearAutoUpdateFailure(plan) {
|
|
|
28896
28940
|
const path = autoUpdateFailurePath(plan);
|
|
28897
28941
|
if (!path) return;
|
|
28898
28942
|
try {
|
|
28899
|
-
|
|
28943
|
+
unlinkSync2(path);
|
|
28900
28944
|
} catch {
|
|
28901
28945
|
}
|
|
28902
28946
|
}
|
package/dist/index.js
CHANGED
|
@@ -424,10 +424,10 @@ var SDK_RELEASE = {
|
|
|
424
424
|
// 0.1.175 ships loud `deepline enrich` empty-waterfall reporting.
|
|
425
425
|
// 0.1.220 deprecates SDK CLI versions below 0.1.219 and updates them
|
|
426
426
|
// automatically without blocking their current command.
|
|
427
|
-
version: "0.1.
|
|
427
|
+
version: "0.1.237",
|
|
428
428
|
apiContract: "2026-06-dataset-handle-results-hard-cutover",
|
|
429
429
|
supportPolicy: {
|
|
430
|
-
latest: "0.1.
|
|
430
|
+
latest: "0.1.237",
|
|
431
431
|
minimumSupported: "0.1.53",
|
|
432
432
|
deprecatedBelow: "0.1.219",
|
|
433
433
|
commandMinimumSupported: [
|
package/dist/index.mjs
CHANGED
|
@@ -354,10 +354,10 @@ var SDK_RELEASE = {
|
|
|
354
354
|
// 0.1.175 ships loud `deepline enrich` empty-waterfall reporting.
|
|
355
355
|
// 0.1.220 deprecates SDK CLI versions below 0.1.219 and updates them
|
|
356
356
|
// automatically without blocking their current command.
|
|
357
|
-
version: "0.1.
|
|
357
|
+
version: "0.1.237",
|
|
358
358
|
apiContract: "2026-06-dataset-handle-results-hard-cutover",
|
|
359
359
|
supportPolicy: {
|
|
360
|
-
latest: "0.1.
|
|
360
|
+
latest: "0.1.237",
|
|
361
361
|
minimumSupported: "0.1.53",
|
|
362
362
|
deprecatedBelow: "0.1.219",
|
|
363
363
|
commandMinimumSupported: [
|