deepline 0.1.276 → 0.1.277
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/cli/index.js +100 -68
- package/dist/cli/index.mjs +100 -68
- package/dist/index.js +1 -1
- package/dist/index.mjs +1 -1
- package/package.json +1 -1
|
@@ -155,7 +155,7 @@ export const SDK_RELEASE = {
|
|
|
155
155
|
// 0.1.253 makes play-page browser opening opt-in and retires --no-open.
|
|
156
156
|
// 0.1.254 removes the internal operations tree from the published SDK CLI.
|
|
157
157
|
// Operators use the checkout-local deepline-admin binary instead.
|
|
158
|
-
version: '0.1.
|
|
158
|
+
version: '0.1.277',
|
|
159
159
|
contracts: {
|
|
160
160
|
api: {
|
|
161
161
|
name: 'sdk-http-api',
|
package/dist/cli/index.js
CHANGED
|
@@ -718,7 +718,7 @@ var SDK_RELEASE = {
|
|
|
718
718
|
// 0.1.253 makes play-page browser opening opt-in and retires --no-open.
|
|
719
719
|
// 0.1.254 removes the internal operations tree from the published SDK CLI.
|
|
720
720
|
// Operators use the checkout-local deepline-admin binary instead.
|
|
721
|
-
version: "0.1.
|
|
721
|
+
version: "0.1.277",
|
|
722
722
|
contracts: {
|
|
723
723
|
api: {
|
|
724
724
|
name: "sdk-http-api",
|
|
@@ -27365,43 +27365,6 @@ async function listTools(category, options = {}) {
|
|
|
27365
27365
|
}
|
|
27366
27366
|
return listToolCategories(emitJson, compact);
|
|
27367
27367
|
}
|
|
27368
|
-
async function listProviders(options = {}) {
|
|
27369
|
-
const client2 = new DeeplineClient();
|
|
27370
|
-
const changed = options.changed === true;
|
|
27371
|
-
const emitJson = options.json === true || shouldEmitJson();
|
|
27372
|
-
const providers = await client2.listProviders({ changed });
|
|
27373
|
-
const render = {
|
|
27374
|
-
sections: [
|
|
27375
|
-
{
|
|
27376
|
-
title: changed ? `${providers.length} recently added providers:` : `${providers.length} providers:`,
|
|
27377
|
-
lines: providers.map((provider) => {
|
|
27378
|
-
const release2 = provider.releasedAt ? ` - v${provider.version ?? "unknown"} (${provider.releasedAt})` : "";
|
|
27379
|
-
return `${provider.provider} (${provider.displayName}) - ${provider.toolCount} tools${release2}`;
|
|
27380
|
-
})
|
|
27381
|
-
},
|
|
27382
|
-
{
|
|
27383
|
-
title: "next",
|
|
27384
|
-
lines: [
|
|
27385
|
-
"Run `deepline tools list <category>` to browse provider tools by category."
|
|
27386
|
-
]
|
|
27387
|
-
}
|
|
27388
|
-
]
|
|
27389
|
-
};
|
|
27390
|
-
printCommandEnvelope(
|
|
27391
|
-
{
|
|
27392
|
-
providers,
|
|
27393
|
-
count: providers.length,
|
|
27394
|
-
filters: { changed },
|
|
27395
|
-
commandTemplates: {
|
|
27396
|
-
list: "deepline tools providers",
|
|
27397
|
-
changed: "deepline tools providers --changed"
|
|
27398
|
-
},
|
|
27399
|
-
render
|
|
27400
|
-
},
|
|
27401
|
-
{ json: emitJson }
|
|
27402
|
-
);
|
|
27403
|
-
return 0;
|
|
27404
|
-
}
|
|
27405
27368
|
async function searchTools(queryInput, options = {}) {
|
|
27406
27369
|
const query = queryInput?.trim() ?? "";
|
|
27407
27370
|
const hasStructuredSearch = Boolean(
|
|
@@ -27594,7 +27557,6 @@ Concepts:
|
|
|
27594
27557
|
through the plays namespace.
|
|
27595
27558
|
|
|
27596
27559
|
Common commands:
|
|
27597
|
-
deepline tools providers --changed --json
|
|
27598
27560
|
deepline tools search email --json
|
|
27599
27561
|
deepline tools describe hunter_email_verifier --json
|
|
27600
27562
|
deepline tools execute hunter_email_verifier --input '{"email":"a@b.com"}'
|
|
@@ -27604,28 +27566,6 @@ Output:
|
|
|
27604
27566
|
Use execute to run a tool.
|
|
27605
27567
|
`
|
|
27606
27568
|
);
|
|
27607
|
-
tools.command("providers").description("List discoverable providers and their available tool counts.").addHelpText(
|
|
27608
|
-
"after",
|
|
27609
|
-
`
|
|
27610
|
-
Notes:
|
|
27611
|
-
This directory is served by Deepline's provider catalog; it does not require
|
|
27612
|
-
cloning a public plugins repository. Use --changed to show recently added
|
|
27613
|
-
providers with their catalog version and release date.
|
|
27614
|
-
|
|
27615
|
-
Examples:
|
|
27616
|
-
deepline tools providers
|
|
27617
|
-
deepline tools providers --changed
|
|
27618
|
-
deepline tools providers --changed --json
|
|
27619
|
-
`
|
|
27620
|
-
).option(
|
|
27621
|
-
"--changed",
|
|
27622
|
-
"Only list recently added providers with release metadata"
|
|
27623
|
-
).option("--json", "Emit JSON output. Also automatic when stdout is piped").action(async (options) => {
|
|
27624
|
-
process.exitCode = await listProviders({
|
|
27625
|
-
changed: Boolean(options.changed),
|
|
27626
|
-
json: Boolean(options.json)
|
|
27627
|
-
});
|
|
27628
|
-
});
|
|
27629
27569
|
tools.command("list [category]").description("Browse tool categories, or list every tool in a category.").addHelpText(
|
|
27630
27570
|
"after",
|
|
27631
27571
|
`
|
|
@@ -28019,7 +27959,9 @@ function printMonitorTypeFilters(tool) {
|
|
|
28019
27959
|
}
|
|
28020
27960
|
}
|
|
28021
27961
|
function printMonitorTypeStreams(tool) {
|
|
28022
|
-
const streams = arrayField2(tool, "streams", "output_streams").filter(
|
|
27962
|
+
const streams = arrayField2(tool, "streams", "output_streams").filter(
|
|
27963
|
+
isRecord9
|
|
27964
|
+
);
|
|
28023
27965
|
if (!streams.length) return;
|
|
28024
27966
|
console.log("");
|
|
28025
27967
|
console.log("Filter columns (a play's sqlListeners.where, per stream):");
|
|
@@ -29058,6 +29000,83 @@ async function executeTool(args) {
|
|
|
29058
29000
|
return 0;
|
|
29059
29001
|
}
|
|
29060
29002
|
|
|
29003
|
+
// src/cli/commands/providers.ts
|
|
29004
|
+
async function listProviders(options = {}) {
|
|
29005
|
+
const client2 = new DeeplineClient();
|
|
29006
|
+
const changed = options.changed === true;
|
|
29007
|
+
const emitJson = options.json === true || shouldEmitJson();
|
|
29008
|
+
const providers = await client2.listProviders({ changed });
|
|
29009
|
+
const render = {
|
|
29010
|
+
sections: [
|
|
29011
|
+
{
|
|
29012
|
+
title: changed ? `${providers.length} recently added providers:` : `${providers.length} providers:`,
|
|
29013
|
+
lines: providers.map((provider) => {
|
|
29014
|
+
const release2 = provider.releasedAt ? ` - v${provider.version ?? "unknown"} (${provider.releasedAt})` : "";
|
|
29015
|
+
return `${provider.provider} (${provider.displayName}) - ${provider.toolCount} tools${release2}`;
|
|
29016
|
+
})
|
|
29017
|
+
},
|
|
29018
|
+
{
|
|
29019
|
+
title: "next",
|
|
29020
|
+
lines: [
|
|
29021
|
+
"Run `deepline tools list <category>` to browse provider tools by category."
|
|
29022
|
+
]
|
|
29023
|
+
}
|
|
29024
|
+
]
|
|
29025
|
+
};
|
|
29026
|
+
printCommandEnvelope(
|
|
29027
|
+
{
|
|
29028
|
+
providers,
|
|
29029
|
+
count: providers.length,
|
|
29030
|
+
filters: { changed },
|
|
29031
|
+
commandTemplates: {
|
|
29032
|
+
list: "deepline providers list",
|
|
29033
|
+
changed: "deepline providers list --changed"
|
|
29034
|
+
},
|
|
29035
|
+
render
|
|
29036
|
+
},
|
|
29037
|
+
{ json: emitJson }
|
|
29038
|
+
);
|
|
29039
|
+
return 0;
|
|
29040
|
+
}
|
|
29041
|
+
function registerProviderCommands(program) {
|
|
29042
|
+
const providers = program.command("providers").description("Browse the catalog of provider integrations.").addHelpText(
|
|
29043
|
+
"after",
|
|
29044
|
+
`
|
|
29045
|
+
Notes:
|
|
29046
|
+
This directory is served by Deepline's provider catalog; it does not require
|
|
29047
|
+
cloning a public plugins repository. Use --changed to show recently added
|
|
29048
|
+
providers with their catalog version and release date.
|
|
29049
|
+
|
|
29050
|
+
Examples:
|
|
29051
|
+
deepline providers list
|
|
29052
|
+
deepline providers list --changed
|
|
29053
|
+
deepline providers list --changed --json
|
|
29054
|
+
`
|
|
29055
|
+
);
|
|
29056
|
+
providers.command("list").description("List discoverable providers and their available tool counts.").addHelpText(
|
|
29057
|
+
"after",
|
|
29058
|
+
`
|
|
29059
|
+
Notes:
|
|
29060
|
+
The catalog does not require cloning a public plugins repository. Use
|
|
29061
|
+
--changed to show recently added providers with their catalog version and
|
|
29062
|
+
release date.
|
|
29063
|
+
|
|
29064
|
+
Examples:
|
|
29065
|
+
deepline providers list
|
|
29066
|
+
deepline providers list --changed
|
|
29067
|
+
deepline providers list --changed --json
|
|
29068
|
+
`
|
|
29069
|
+
).option(
|
|
29070
|
+
"--changed",
|
|
29071
|
+
"Only list recently added providers with release metadata"
|
|
29072
|
+
).option("--json", "Emit JSON output. Also automatic when stdout is piped").action(async (options) => {
|
|
29073
|
+
process.exitCode = await listProviders({
|
|
29074
|
+
changed: Boolean(options.changed),
|
|
29075
|
+
json: Boolean(options.json)
|
|
29076
|
+
});
|
|
29077
|
+
});
|
|
29078
|
+
}
|
|
29079
|
+
|
|
29061
29080
|
// src/cli/commands/workflow.ts
|
|
29062
29081
|
var import_promises5 = require("fs/promises");
|
|
29063
29082
|
var import_node_path17 = require("path");
|
|
@@ -30960,7 +30979,20 @@ function resolvePathCommands(command) {
|
|
|
30960
30979
|
function resolvePathCommand(command) {
|
|
30961
30980
|
return resolvePathCommands(command)[0] ?? null;
|
|
30962
30981
|
}
|
|
30963
|
-
function
|
|
30982
|
+
function isHomebrewFormulaCommand(path) {
|
|
30983
|
+
let resolvedPath = path;
|
|
30984
|
+
try {
|
|
30985
|
+
resolvedPath = (0, import_node_fs18.realpathSync)(path);
|
|
30986
|
+
} catch {
|
|
30987
|
+
return false;
|
|
30988
|
+
}
|
|
30989
|
+
const parts = resolvedPath.split(/[\\/]+/);
|
|
30990
|
+
const cellarIndex = parts.lastIndexOf("Cellar");
|
|
30991
|
+
return cellarIndex >= 0 && parts[cellarIndex + 1] === "deepline" && parts.slice(cellarIndex + 3).includes("libexec");
|
|
30992
|
+
}
|
|
30993
|
+
function resolvePersistentGlobalCommand(pathClis) {
|
|
30994
|
+
const homebrewCommand = pathClis.find(isHomebrewFormulaCommand);
|
|
30995
|
+
if (homebrewCommand) return homebrewCommand;
|
|
30964
30996
|
const prefix = (0, import_node_child_process4.spawnSync)("npm", ["prefix", "-g"], { encoding: "utf8" });
|
|
30965
30997
|
if (prefix.status !== 0) return null;
|
|
30966
30998
|
const root = String(prefix.stdout ?? "").trim();
|
|
@@ -30969,8 +31001,8 @@ function resolvePersistentGlobalCommand() {
|
|
|
30969
31001
|
return candidates.find((candidate) => (0, import_node_fs18.existsSync)(candidate)) ?? null;
|
|
30970
31002
|
}
|
|
30971
31003
|
function inspectGlobalCliAvailability(input2) {
|
|
30972
|
-
const persistentPath = input2 && "persistentGlobalCli" in input2 ? input2.persistentGlobalCli ?? null : resolvePersistentGlobalCommand();
|
|
30973
31004
|
const pathClis = input2?.pathClis ?? resolvePathCommands("deepline");
|
|
31005
|
+
const persistentPath = input2 && "persistentGlobalCli" in input2 ? input2.persistentGlobalCli ?? null : resolvePersistentGlobalCommand(pathClis);
|
|
30974
31006
|
const path = persistentPath ? pathClis.find(
|
|
30975
31007
|
(candidate) => pathsResolveToSameFile(candidate, persistentPath)
|
|
30976
31008
|
) ?? null : null;
|
|
@@ -32437,11 +32469,10 @@ function shouldDeferSkillsSyncForCommand() {
|
|
|
32437
32469
|
const args = process.argv.slice(2);
|
|
32438
32470
|
const command = args[0];
|
|
32439
32471
|
const subcommand = args[1];
|
|
32440
|
-
if (command === "tools" && ["list", "
|
|
32441
|
-
subcommand ?? ""
|
|
32442
|
-
)) {
|
|
32472
|
+
if (command === "tools" && ["list", "search", "grep", "describe", "get"].includes(subcommand ?? "")) {
|
|
32443
32473
|
return true;
|
|
32444
32474
|
}
|
|
32475
|
+
if (command === "providers" && subcommand === "list") return true;
|
|
32445
32476
|
return (command === "play" || command === "plays") && subcommand === "run" && args.includes("--json");
|
|
32446
32477
|
}
|
|
32447
32478
|
function isLegacyNoopInvocation() {
|
|
@@ -32665,7 +32696,7 @@ Common commands:
|
|
|
32665
32696
|
deepline plays describe prebuilt/person-linkedin-to-email --json
|
|
32666
32697
|
deepline plays run my.play.ts --input '{"domain":"stripe.com"}'
|
|
32667
32698
|
deepline secrets check HUBSPOT_TOKEN
|
|
32668
|
-
deepline
|
|
32699
|
+
deepline providers list --changed --json
|
|
32669
32700
|
deepline tools execute hunter_email_verifier --input '{"email":"a@b.com"}'
|
|
32670
32701
|
deepline update
|
|
32671
32702
|
|
|
@@ -32745,6 +32776,7 @@ Exit codes:
|
|
|
32745
32776
|
}
|
|
32746
32777
|
});
|
|
32747
32778
|
registerAuthCommands(program);
|
|
32779
|
+
registerProviderCommands(program);
|
|
32748
32780
|
registerToolsCommands(program);
|
|
32749
32781
|
registerPlayCommands(program);
|
|
32750
32782
|
registerSessionsCommands(program);
|
package/dist/cli/index.mjs
CHANGED
|
@@ -703,7 +703,7 @@ var SDK_RELEASE = {
|
|
|
703
703
|
// 0.1.253 makes play-page browser opening opt-in and retires --no-open.
|
|
704
704
|
// 0.1.254 removes the internal operations tree from the published SDK CLI.
|
|
705
705
|
// Operators use the checkout-local deepline-admin binary instead.
|
|
706
|
-
version: "0.1.
|
|
706
|
+
version: "0.1.277",
|
|
707
707
|
contracts: {
|
|
708
708
|
api: {
|
|
709
709
|
name: "sdk-http-api",
|
|
@@ -27413,43 +27413,6 @@ async function listTools(category, options = {}) {
|
|
|
27413
27413
|
}
|
|
27414
27414
|
return listToolCategories(emitJson, compact);
|
|
27415
27415
|
}
|
|
27416
|
-
async function listProviders(options = {}) {
|
|
27417
|
-
const client2 = new DeeplineClient();
|
|
27418
|
-
const changed = options.changed === true;
|
|
27419
|
-
const emitJson = options.json === true || shouldEmitJson();
|
|
27420
|
-
const providers = await client2.listProviders({ changed });
|
|
27421
|
-
const render = {
|
|
27422
|
-
sections: [
|
|
27423
|
-
{
|
|
27424
|
-
title: changed ? `${providers.length} recently added providers:` : `${providers.length} providers:`,
|
|
27425
|
-
lines: providers.map((provider) => {
|
|
27426
|
-
const release2 = provider.releasedAt ? ` - v${provider.version ?? "unknown"} (${provider.releasedAt})` : "";
|
|
27427
|
-
return `${provider.provider} (${provider.displayName}) - ${provider.toolCount} tools${release2}`;
|
|
27428
|
-
})
|
|
27429
|
-
},
|
|
27430
|
-
{
|
|
27431
|
-
title: "next",
|
|
27432
|
-
lines: [
|
|
27433
|
-
"Run `deepline tools list <category>` to browse provider tools by category."
|
|
27434
|
-
]
|
|
27435
|
-
}
|
|
27436
|
-
]
|
|
27437
|
-
};
|
|
27438
|
-
printCommandEnvelope(
|
|
27439
|
-
{
|
|
27440
|
-
providers,
|
|
27441
|
-
count: providers.length,
|
|
27442
|
-
filters: { changed },
|
|
27443
|
-
commandTemplates: {
|
|
27444
|
-
list: "deepline tools providers",
|
|
27445
|
-
changed: "deepline tools providers --changed"
|
|
27446
|
-
},
|
|
27447
|
-
render
|
|
27448
|
-
},
|
|
27449
|
-
{ json: emitJson }
|
|
27450
|
-
);
|
|
27451
|
-
return 0;
|
|
27452
|
-
}
|
|
27453
27416
|
async function searchTools(queryInput, options = {}) {
|
|
27454
27417
|
const query = queryInput?.trim() ?? "";
|
|
27455
27418
|
const hasStructuredSearch = Boolean(
|
|
@@ -27642,7 +27605,6 @@ Concepts:
|
|
|
27642
27605
|
through the plays namespace.
|
|
27643
27606
|
|
|
27644
27607
|
Common commands:
|
|
27645
|
-
deepline tools providers --changed --json
|
|
27646
27608
|
deepline tools search email --json
|
|
27647
27609
|
deepline tools describe hunter_email_verifier --json
|
|
27648
27610
|
deepline tools execute hunter_email_verifier --input '{"email":"a@b.com"}'
|
|
@@ -27652,28 +27614,6 @@ Output:
|
|
|
27652
27614
|
Use execute to run a tool.
|
|
27653
27615
|
`
|
|
27654
27616
|
);
|
|
27655
|
-
tools.command("providers").description("List discoverable providers and their available tool counts.").addHelpText(
|
|
27656
|
-
"after",
|
|
27657
|
-
`
|
|
27658
|
-
Notes:
|
|
27659
|
-
This directory is served by Deepline's provider catalog; it does not require
|
|
27660
|
-
cloning a public plugins repository. Use --changed to show recently added
|
|
27661
|
-
providers with their catalog version and release date.
|
|
27662
|
-
|
|
27663
|
-
Examples:
|
|
27664
|
-
deepline tools providers
|
|
27665
|
-
deepline tools providers --changed
|
|
27666
|
-
deepline tools providers --changed --json
|
|
27667
|
-
`
|
|
27668
|
-
).option(
|
|
27669
|
-
"--changed",
|
|
27670
|
-
"Only list recently added providers with release metadata"
|
|
27671
|
-
).option("--json", "Emit JSON output. Also automatic when stdout is piped").action(async (options) => {
|
|
27672
|
-
process.exitCode = await listProviders({
|
|
27673
|
-
changed: Boolean(options.changed),
|
|
27674
|
-
json: Boolean(options.json)
|
|
27675
|
-
});
|
|
27676
|
-
});
|
|
27677
27617
|
tools.command("list [category]").description("Browse tool categories, or list every tool in a category.").addHelpText(
|
|
27678
27618
|
"after",
|
|
27679
27619
|
`
|
|
@@ -28067,7 +28007,9 @@ function printMonitorTypeFilters(tool) {
|
|
|
28067
28007
|
}
|
|
28068
28008
|
}
|
|
28069
28009
|
function printMonitorTypeStreams(tool) {
|
|
28070
|
-
const streams = arrayField2(tool, "streams", "output_streams").filter(
|
|
28010
|
+
const streams = arrayField2(tool, "streams", "output_streams").filter(
|
|
28011
|
+
isRecord9
|
|
28012
|
+
);
|
|
28071
28013
|
if (!streams.length) return;
|
|
28072
28014
|
console.log("");
|
|
28073
28015
|
console.log("Filter columns (a play's sqlListeners.where, per stream):");
|
|
@@ -29106,6 +29048,83 @@ async function executeTool(args) {
|
|
|
29106
29048
|
return 0;
|
|
29107
29049
|
}
|
|
29108
29050
|
|
|
29051
|
+
// src/cli/commands/providers.ts
|
|
29052
|
+
async function listProviders(options = {}) {
|
|
29053
|
+
const client2 = new DeeplineClient();
|
|
29054
|
+
const changed = options.changed === true;
|
|
29055
|
+
const emitJson = options.json === true || shouldEmitJson();
|
|
29056
|
+
const providers = await client2.listProviders({ changed });
|
|
29057
|
+
const render = {
|
|
29058
|
+
sections: [
|
|
29059
|
+
{
|
|
29060
|
+
title: changed ? `${providers.length} recently added providers:` : `${providers.length} providers:`,
|
|
29061
|
+
lines: providers.map((provider) => {
|
|
29062
|
+
const release2 = provider.releasedAt ? ` - v${provider.version ?? "unknown"} (${provider.releasedAt})` : "";
|
|
29063
|
+
return `${provider.provider} (${provider.displayName}) - ${provider.toolCount} tools${release2}`;
|
|
29064
|
+
})
|
|
29065
|
+
},
|
|
29066
|
+
{
|
|
29067
|
+
title: "next",
|
|
29068
|
+
lines: [
|
|
29069
|
+
"Run `deepline tools list <category>` to browse provider tools by category."
|
|
29070
|
+
]
|
|
29071
|
+
}
|
|
29072
|
+
]
|
|
29073
|
+
};
|
|
29074
|
+
printCommandEnvelope(
|
|
29075
|
+
{
|
|
29076
|
+
providers,
|
|
29077
|
+
count: providers.length,
|
|
29078
|
+
filters: { changed },
|
|
29079
|
+
commandTemplates: {
|
|
29080
|
+
list: "deepline providers list",
|
|
29081
|
+
changed: "deepline providers list --changed"
|
|
29082
|
+
},
|
|
29083
|
+
render
|
|
29084
|
+
},
|
|
29085
|
+
{ json: emitJson }
|
|
29086
|
+
);
|
|
29087
|
+
return 0;
|
|
29088
|
+
}
|
|
29089
|
+
function registerProviderCommands(program) {
|
|
29090
|
+
const providers = program.command("providers").description("Browse the catalog of provider integrations.").addHelpText(
|
|
29091
|
+
"after",
|
|
29092
|
+
`
|
|
29093
|
+
Notes:
|
|
29094
|
+
This directory is served by Deepline's provider catalog; it does not require
|
|
29095
|
+
cloning a public plugins repository. Use --changed to show recently added
|
|
29096
|
+
providers with their catalog version and release date.
|
|
29097
|
+
|
|
29098
|
+
Examples:
|
|
29099
|
+
deepline providers list
|
|
29100
|
+
deepline providers list --changed
|
|
29101
|
+
deepline providers list --changed --json
|
|
29102
|
+
`
|
|
29103
|
+
);
|
|
29104
|
+
providers.command("list").description("List discoverable providers and their available tool counts.").addHelpText(
|
|
29105
|
+
"after",
|
|
29106
|
+
`
|
|
29107
|
+
Notes:
|
|
29108
|
+
The catalog does not require cloning a public plugins repository. Use
|
|
29109
|
+
--changed to show recently added providers with their catalog version and
|
|
29110
|
+
release date.
|
|
29111
|
+
|
|
29112
|
+
Examples:
|
|
29113
|
+
deepline providers list
|
|
29114
|
+
deepline providers list --changed
|
|
29115
|
+
deepline providers list --changed --json
|
|
29116
|
+
`
|
|
29117
|
+
).option(
|
|
29118
|
+
"--changed",
|
|
29119
|
+
"Only list recently added providers with release metadata"
|
|
29120
|
+
).option("--json", "Emit JSON output. Also automatic when stdout is piped").action(async (options) => {
|
|
29121
|
+
process.exitCode = await listProviders({
|
|
29122
|
+
changed: Boolean(options.changed),
|
|
29123
|
+
json: Boolean(options.json)
|
|
29124
|
+
});
|
|
29125
|
+
});
|
|
29126
|
+
}
|
|
29127
|
+
|
|
29109
29128
|
// src/cli/commands/workflow.ts
|
|
29110
29129
|
import { mkdir as mkdir4, readFile as readFile2, writeFile as writeFile4 } from "fs/promises";
|
|
29111
29130
|
import { dirname as dirname11, join as join13, resolve as resolve12 } from "path";
|
|
@@ -31025,7 +31044,20 @@ function resolvePathCommands(command) {
|
|
|
31025
31044
|
function resolvePathCommand(command) {
|
|
31026
31045
|
return resolvePathCommands(command)[0] ?? null;
|
|
31027
31046
|
}
|
|
31028
|
-
function
|
|
31047
|
+
function isHomebrewFormulaCommand(path) {
|
|
31048
|
+
let resolvedPath = path;
|
|
31049
|
+
try {
|
|
31050
|
+
resolvedPath = realpathSync4(path);
|
|
31051
|
+
} catch {
|
|
31052
|
+
return false;
|
|
31053
|
+
}
|
|
31054
|
+
const parts = resolvedPath.split(/[\\/]+/);
|
|
31055
|
+
const cellarIndex = parts.lastIndexOf("Cellar");
|
|
31056
|
+
return cellarIndex >= 0 && parts[cellarIndex + 1] === "deepline" && parts.slice(cellarIndex + 3).includes("libexec");
|
|
31057
|
+
}
|
|
31058
|
+
function resolvePersistentGlobalCommand(pathClis) {
|
|
31059
|
+
const homebrewCommand = pathClis.find(isHomebrewFormulaCommand);
|
|
31060
|
+
if (homebrewCommand) return homebrewCommand;
|
|
31029
31061
|
const prefix = spawnSync("npm", ["prefix", "-g"], { encoding: "utf8" });
|
|
31030
31062
|
if (prefix.status !== 0) return null;
|
|
31031
31063
|
const root = String(prefix.stdout ?? "").trim();
|
|
@@ -31034,8 +31066,8 @@ function resolvePersistentGlobalCommand() {
|
|
|
31034
31066
|
return candidates.find((candidate) => existsSync13(candidate)) ?? null;
|
|
31035
31067
|
}
|
|
31036
31068
|
function inspectGlobalCliAvailability(input2) {
|
|
31037
|
-
const persistentPath = input2 && "persistentGlobalCli" in input2 ? input2.persistentGlobalCli ?? null : resolvePersistentGlobalCommand();
|
|
31038
31069
|
const pathClis = input2?.pathClis ?? resolvePathCommands("deepline");
|
|
31070
|
+
const persistentPath = input2 && "persistentGlobalCli" in input2 ? input2.persistentGlobalCli ?? null : resolvePersistentGlobalCommand(pathClis);
|
|
31039
31071
|
const path = persistentPath ? pathClis.find(
|
|
31040
31072
|
(candidate) => pathsResolveToSameFile(candidate, persistentPath)
|
|
31041
31073
|
) ?? null : null;
|
|
@@ -32508,11 +32540,10 @@ function shouldDeferSkillsSyncForCommand() {
|
|
|
32508
32540
|
const args = process.argv.slice(2);
|
|
32509
32541
|
const command = args[0];
|
|
32510
32542
|
const subcommand = args[1];
|
|
32511
|
-
if (command === "tools" && ["list", "
|
|
32512
|
-
subcommand ?? ""
|
|
32513
|
-
)) {
|
|
32543
|
+
if (command === "tools" && ["list", "search", "grep", "describe", "get"].includes(subcommand ?? "")) {
|
|
32514
32544
|
return true;
|
|
32515
32545
|
}
|
|
32546
|
+
if (command === "providers" && subcommand === "list") return true;
|
|
32516
32547
|
return (command === "play" || command === "plays") && subcommand === "run" && args.includes("--json");
|
|
32517
32548
|
}
|
|
32518
32549
|
function isLegacyNoopInvocation() {
|
|
@@ -32736,7 +32767,7 @@ Common commands:
|
|
|
32736
32767
|
deepline plays describe prebuilt/person-linkedin-to-email --json
|
|
32737
32768
|
deepline plays run my.play.ts --input '{"domain":"stripe.com"}'
|
|
32738
32769
|
deepline secrets check HUBSPOT_TOKEN
|
|
32739
|
-
deepline
|
|
32770
|
+
deepline providers list --changed --json
|
|
32740
32771
|
deepline tools execute hunter_email_verifier --input '{"email":"a@b.com"}'
|
|
32741
32772
|
deepline update
|
|
32742
32773
|
|
|
@@ -32816,6 +32847,7 @@ Exit codes:
|
|
|
32816
32847
|
}
|
|
32817
32848
|
});
|
|
32818
32849
|
registerAuthCommands(program);
|
|
32850
|
+
registerProviderCommands(program);
|
|
32819
32851
|
registerToolsCommands(program);
|
|
32820
32852
|
registerPlayCommands(program);
|
|
32821
32853
|
registerSessionsCommands(program);
|
package/dist/index.js
CHANGED
|
@@ -438,7 +438,7 @@ var SDK_RELEASE = {
|
|
|
438
438
|
// 0.1.253 makes play-page browser opening opt-in and retires --no-open.
|
|
439
439
|
// 0.1.254 removes the internal operations tree from the published SDK CLI.
|
|
440
440
|
// Operators use the checkout-local deepline-admin binary instead.
|
|
441
|
-
version: "0.1.
|
|
441
|
+
version: "0.1.277",
|
|
442
442
|
contracts: {
|
|
443
443
|
api: {
|
|
444
444
|
name: "sdk-http-api",
|
package/dist/index.mjs
CHANGED
|
@@ -367,7 +367,7 @@ var SDK_RELEASE = {
|
|
|
367
367
|
// 0.1.253 makes play-page browser opening opt-in and retires --no-open.
|
|
368
368
|
// 0.1.254 removes the internal operations tree from the published SDK CLI.
|
|
369
369
|
// Operators use the checkout-local deepline-admin binary instead.
|
|
370
|
-
version: "0.1.
|
|
370
|
+
version: "0.1.277",
|
|
371
371
|
contracts: {
|
|
372
372
|
api: {
|
|
373
373
|
name: "sdk-http-api",
|