apify-cli 0.21.10-beta.1 → 0.21.10-beta.10
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/CHANGELOG.md +1 -0
- package/dist/.tsbuildinfo +1 -1
- package/dist/actor.js +3 -0
- package/dist/actor.js.map +1 -0
- package/dist/apify.js +3 -0
- package/dist/apify.js.map +1 -0
- package/dist/chunk-A3JEYXK4.js +236 -0
- package/dist/chunk-A3JEYXK4.js.map +1 -0
- package/dist/index.js +2 -3
- package/package.json +15 -13
- package/dist/commands/_register.js +0 -68
- package/dist/commands/_register.js.map +0 -1
- package/dist/commands/actor/_index.js +0 -24
- package/dist/commands/actor/_index.js.map +0 -1
- package/dist/commands/actor/charge.js +0 -84
- package/dist/commands/actor/charge.js.map +0 -1
- package/dist/commands/actor/get-input.js +0 -10
- package/dist/commands/actor/get-input.js.map +0 -1
- package/dist/commands/actor/get-public-url.js +0 -52
- package/dist/commands/actor/get-public-url.js.map +0 -1
- package/dist/commands/actor/get-value.js +0 -18
- package/dist/commands/actor/get-value.js.map +0 -1
- package/dist/commands/actor/push-data.js +0 -38
- package/dist/commands/actor/push-data.js.map +0 -1
- package/dist/commands/actor/set-value.js +0 -52
- package/dist/commands/actor/set-value.js.map +0 -1
- package/dist/commands/actors/_index.js +0 -28
- package/dist/commands/actors/_index.js.map +0 -1
- package/dist/commands/actors/build.js +0 -6
- package/dist/commands/actors/build.js.map +0 -1
- package/dist/commands/actors/call.js +0 -224
- package/dist/commands/actors/call.js.map +0 -1
- package/dist/commands/actors/info.js +0 -203
- package/dist/commands/actors/info.js.map +0 -1
- package/dist/commands/actors/ls.js +0 -226
- package/dist/commands/actors/ls.js.map +0 -1
- package/dist/commands/actors/pull.js +0 -150
- package/dist/commands/actors/pull.js.map +0 -1
- package/dist/commands/actors/push.js +0 -300
- package/dist/commands/actors/push.js.map +0 -1
- package/dist/commands/actors/rm.js +0 -43
- package/dist/commands/actors/rm.js.map +0 -1
- package/dist/commands/actors/start.js +0 -125
- package/dist/commands/actors/start.js.map +0 -1
- package/dist/commands/builds/_index.js +0 -22
- package/dist/commands/builds/_index.js.map +0 -1
- package/dist/commands/builds/create.js +0 -130
- package/dist/commands/builds/create.js.map +0 -1
- package/dist/commands/builds/info.js +0 -78
- package/dist/commands/builds/info.js.map +0 -1
- package/dist/commands/builds/log.js +0 -35
- package/dist/commands/builds/log.js.map +0 -1
- package/dist/commands/builds/ls.js +0 -141
- package/dist/commands/builds/ls.js.map +0 -1
- package/dist/commands/builds/rm.js +0 -59
- package/dist/commands/builds/rm.js.map +0 -1
- package/dist/commands/call.js +0 -5
- package/dist/commands/call.js.map +0 -1
- package/dist/commands/create.js +0 -264
- package/dist/commands/create.js.map +0 -1
- package/dist/commands/datasets/_index.js +0 -25
- package/dist/commands/datasets/_index.js.map +0 -1
- package/dist/commands/datasets/create.js +0 -38
- package/dist/commands/datasets/create.js.map +0 -1
- package/dist/commands/datasets/get-items.js +0 -84
- package/dist/commands/datasets/get-items.js.map +0 -1
- package/dist/commands/datasets/info.js +0 -125
- package/dist/commands/datasets/info.js.map +0 -1
- package/dist/commands/datasets/ls.js +0 -73
- package/dist/commands/datasets/ls.js.map +0 -1
- package/dist/commands/datasets/push-items.js +0 -70
- package/dist/commands/datasets/push-items.js.map +0 -1
- package/dist/commands/datasets/rename.js +0 -71
- package/dist/commands/datasets/rename.js.map +0 -1
- package/dist/commands/datasets/rm.js +0 -48
- package/dist/commands/datasets/rm.js.map +0 -1
- package/dist/commands/edit-input-schema.js +0 -162
- package/dist/commands/edit-input-schema.js.map +0 -1
- package/dist/commands/help.js +0 -43
- package/dist/commands/help.js.map +0 -1
- package/dist/commands/info.js +0 -21
- package/dist/commands/info.js.map +0 -1
- package/dist/commands/init-wrap-scrapy.js +0 -27
- package/dist/commands/init-wrap-scrapy.js.map +0 -1
- package/dist/commands/init.js +0 -94
- package/dist/commands/init.js.map +0 -1
- package/dist/commands/key-value-stores/_index.js +0 -30
- package/dist/commands/key-value-stores/_index.js.map +0 -1
- package/dist/commands/key-value-stores/create.js +0 -38
- package/dist/commands/key-value-stores/create.js.map +0 -1
- package/dist/commands/key-value-stores/delete-value.js +0 -61
- package/dist/commands/key-value-stores/delete-value.js.map +0 -1
- package/dist/commands/key-value-stores/get-value.js +0 -70
- package/dist/commands/key-value-stores/get-value.js.map +0 -1
- package/dist/commands/key-value-stores/info.js +0 -127
- package/dist/commands/key-value-stores/info.js.map +0 -1
- package/dist/commands/key-value-stores/keys.js +0 -61
- package/dist/commands/key-value-stores/keys.js.map +0 -1
- package/dist/commands/key-value-stores/ls.js +0 -70
- package/dist/commands/key-value-stores/ls.js.map +0 -1
- package/dist/commands/key-value-stores/rename.js +0 -71
- package/dist/commands/key-value-stores/rename.js.map +0 -1
- package/dist/commands/key-value-stores/rm.js +0 -48
- package/dist/commands/key-value-stores/rm.js.map +0 -1
- package/dist/commands/key-value-stores/set-value.js +0 -57
- package/dist/commands/key-value-stores/set-value.js.map +0 -1
- package/dist/commands/login.js +0 -183
- package/dist/commands/login.js.map +0 -1
- package/dist/commands/logout.js +0 -16
- package/dist/commands/logout.js.map +0 -1
- package/dist/commands/pull.js +0 -5
- package/dist/commands/pull.js.map +0 -1
- package/dist/commands/push.js +0 -5
- package/dist/commands/push.js.map +0 -1
- package/dist/commands/request-queues/_index.js +0 -9
- package/dist/commands/request-queues/_index.js.map +0 -1
- package/dist/commands/run.js +0 -434
- package/dist/commands/run.js.map +0 -1
- package/dist/commands/runs/_index.js +0 -23
- package/dist/commands/runs/_index.js.map +0 -1
- package/dist/commands/runs/abort.js +0 -68
- package/dist/commands/runs/abort.js.map +0 -1
- package/dist/commands/runs/info.js +0 -238
- package/dist/commands/runs/info.js.map +0 -1
- package/dist/commands/runs/log.js +0 -32
- package/dist/commands/runs/log.js.map +0 -1
- package/dist/commands/runs/ls.js +0 -106
- package/dist/commands/runs/ls.js.map +0 -1
- package/dist/commands/runs/resurrect.js +0 -54
- package/dist/commands/runs/resurrect.js.map +0 -1
- package/dist/commands/runs/rm.js +0 -58
- package/dist/commands/runs/rm.js.map +0 -1
- package/dist/commands/secrets/_index.js +0 -25
- package/dist/commands/secrets/_index.js.map +0 -1
- package/dist/commands/secrets/add.js +0 -22
- package/dist/commands/secrets/add.js.map +0 -1
- package/dist/commands/secrets/rm.js +0 -18
- package/dist/commands/secrets/rm.js.map +0 -1
- package/dist/commands/task/_index.js +0 -11
- package/dist/commands/task/_index.js.map +0 -1
- package/dist/commands/task/run.js +0 -91
- package/dist/commands/task/run.js.map +0 -1
- package/dist/commands/upgrade.js +0 -74
- package/dist/commands/upgrade.js.map +0 -1
- package/dist/commands/validate-schema.js +0 -44
- package/dist/commands/validate-schema.js.map +0 -1
- package/dist/entrypoints/_shared.js +0 -256
- package/dist/entrypoints/_shared.js.map +0 -1
- package/dist/entrypoints/actor.js +0 -19
- package/dist/entrypoints/actor.js.map +0 -1
- package/dist/entrypoints/apify.js +0 -18
- package/dist/entrypoints/apify.js.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/lib/actor.js +0 -74
- package/dist/lib/actor.js.map +0 -1
- package/dist/lib/command-framework/apify-command.js +0 -426
- package/dist/lib/command-framework/apify-command.js.map +0 -1
- package/dist/lib/command-framework/args.js +0 -24
- package/dist/lib/command-framework/args.js.map +0 -1
- package/dist/lib/command-framework/flags.js +0 -99
- package/dist/lib/command-framework/flags.js.map +0 -1
- package/dist/lib/command-framework/help/CommandHelp.js +0 -228
- package/dist/lib/command-framework/help/CommandHelp.js.map +0 -1
- package/dist/lib/command-framework/help/CommandWithSubcommands.js +0 -75
- package/dist/lib/command-framework/help/CommandWithSubcommands.js.map +0 -1
- package/dist/lib/command-framework/help/_BaseCommandRenderer.js +0 -63
- package/dist/lib/command-framework/help/_BaseCommandRenderer.js.map +0 -1
- package/dist/lib/command-framework/help/consts.js +0 -27
- package/dist/lib/command-framework/help/consts.js.map +0 -1
- package/dist/lib/command-framework/help.js +0 -105
- package/dist/lib/command-framework/help.js.map +0 -1
- package/dist/lib/commands/pretty-print-bytes.js +0 -13
- package/dist/lib/commands/pretty-print-bytes.js.map +0 -1
- package/dist/lib/commands/pretty-print-status.js +0 -29
- package/dist/lib/commands/pretty-print-status.js.map +0 -1
- package/dist/lib/commands/read-stdin.js +0 -42
- package/dist/lib/commands/read-stdin.js.map +0 -1
- package/dist/lib/commands/resolve-actor-context.js +0 -70
- package/dist/lib/commands/resolve-actor-context.js.map +0 -1
- package/dist/lib/commands/resolve-input.js +0 -162
- package/dist/lib/commands/resolve-input.js.map +0 -1
- package/dist/lib/commands/responsive-table.js +0 -129
- package/dist/lib/commands/responsive-table.js.map +0 -1
- package/dist/lib/commands/run-on-cloud.js +0 -126
- package/dist/lib/commands/run-on-cloud.js.map +0 -1
- package/dist/lib/commands/storage-size.js +0 -8
- package/dist/lib/commands/storage-size.js.map +0 -1
- package/dist/lib/commands/storages.js +0 -30
- package/dist/lib/commands/storages.js.map +0 -1
- package/dist/lib/consts.js +0 -69
- package/dist/lib/consts.js.map +0 -1
- package/dist/lib/create-utils.js +0 -156
- package/dist/lib/create-utils.js.map +0 -1
- package/dist/lib/exec.js +0 -34
- package/dist/lib/exec.js.map +0 -1
- package/dist/lib/files.js +0 -54
- package/dist/lib/files.js.map +0 -1
- package/dist/lib/hooks/runtimes/javascript.js +0 -86
- package/dist/lib/hooks/runtimes/javascript.js.map +0 -1
- package/dist/lib/hooks/runtimes/python.js +0 -80
- package/dist/lib/hooks/runtimes/python.js.map +0 -1
- package/dist/lib/hooks/runtimes/utils.js +0 -16
- package/dist/lib/hooks/runtimes/utils.js.map +0 -1
- package/dist/lib/hooks/useActorConfig.js +0 -177
- package/dist/lib/hooks/useActorConfig.js.map +0 -1
- package/dist/lib/hooks/useCLIMetadata.js +0 -73
- package/dist/lib/hooks/useCLIMetadata.js.map +0 -1
- package/dist/lib/hooks/useCLIVersionCheck.js +0 -91
- package/dist/lib/hooks/useCLIVersionCheck.js.map +0 -1
- package/dist/lib/hooks/useCommandSuggestions.js +0 -37
- package/dist/lib/hooks/useCommandSuggestions.js.map +0 -1
- package/dist/lib/hooks/useCwdProject.js +0 -174
- package/dist/lib/hooks/useCwdProject.js.map +0 -1
- package/dist/lib/hooks/useLocalState.js +0 -56
- package/dist/lib/hooks/useLocalState.js.map +0 -1
- package/dist/lib/hooks/useModuleVersion.js +0 -103
- package/dist/lib/hooks/useModuleVersion.js.map +0 -1
- package/dist/lib/hooks/useStdin.js +0 -65
- package/dist/lib/hooks/useStdin.js.map +0 -1
- package/dist/lib/input_schema.js +0 -130
- package/dist/lib/input_schema.js.map +0 -1
- package/dist/lib/outputs.js +0 -45
- package/dist/lib/outputs.js.map +0 -1
- package/dist/lib/project_analyzer.js +0 -30
- package/dist/lib/project_analyzer.js.map +0 -1
- package/dist/lib/projects/CrawleeAnalyzer.js +0 -20
- package/dist/lib/projects/CrawleeAnalyzer.js.map +0 -1
- package/dist/lib/projects/OldApifySDKAnalyzer.js +0 -38
- package/dist/lib/projects/OldApifySDKAnalyzer.js.map +0 -1
- package/dist/lib/projects/scrapy/ScrapyProjectAnalyzer.js +0 -73
- package/dist/lib/projects/scrapy/ScrapyProjectAnalyzer.js.map +0 -1
- package/dist/lib/projects/scrapy/Spider.js +0 -13
- package/dist/lib/projects/scrapy/Spider.js.map +0 -1
- package/dist/lib/projects/scrapy/SpiderFileAnalyzer.js +0 -20
- package/dist/lib/projects/scrapy/SpiderFileAnalyzer.js.map +0 -1
- package/dist/lib/projects/scrapy/wrapScrapyProject.js +0 -113
- package/dist/lib/projects/scrapy/wrapScrapyProject.js.map +0 -1
- package/dist/lib/projects/shared.js +0 -13
- package/dist/lib/projects/shared.js.map +0 -1
- package/dist/lib/secrets.js +0 -106
- package/dist/lib/secrets.js.map +0 -1
- package/dist/lib/telemetry.js +0 -86
- package/dist/lib/telemetry.js.map +0 -1
- package/dist/lib/types.js +0 -4
- package/dist/lib/types.js.map +0 -1
- package/dist/lib/utils/cliDebugPrint.js +0 -7
- package/dist/lib/utils/cliDebugPrint.js.map +0 -1
- package/dist/lib/utils/confirm.js +0 -28
- package/dist/lib/utils/confirm.js.map +0 -1
- package/dist/lib/utils.js +0 -457
- package/dist/lib/utils.js.map +0 -1
|
@@ -1,130 +0,0 @@
|
|
|
1
|
-
import chalk from 'chalk';
|
|
2
|
-
import { ApifyCommand } from '../../lib/command-framework/apify-command.js';
|
|
3
|
-
import { Args } from '../../lib/command-framework/args.js';
|
|
4
|
-
import { Flags } from '../../lib/command-framework/flags.js';
|
|
5
|
-
import { resolveActorContext } from '../../lib/commands/resolve-actor-context.js';
|
|
6
|
-
import { error, simpleLog } from '../../lib/outputs.js';
|
|
7
|
-
import { getLoggedClientOrThrow, objectGroupBy, outputJobLog, printJsonToStdout, TimestampFormatter, } from '../../lib/utils.js';
|
|
8
|
-
export class BuildsCreateCommand extends ApifyCommand {
|
|
9
|
-
static name = 'create';
|
|
10
|
-
static description = 'Creates a new build of the Actor.';
|
|
11
|
-
static flags = {
|
|
12
|
-
tag: Flags.string({
|
|
13
|
-
description: 'Build tag to be applied to the successful Actor build. By default, this is "latest".',
|
|
14
|
-
}),
|
|
15
|
-
version: Flags.string({
|
|
16
|
-
description: 'Optional Actor Version to build. By default, this will be inferred from the tag, but this flag is required when multiple versions have the same tag.',
|
|
17
|
-
required: false,
|
|
18
|
-
}),
|
|
19
|
-
log: Flags.boolean({
|
|
20
|
-
description: 'Whether to print out the build log after the build is triggered.',
|
|
21
|
-
}),
|
|
22
|
-
};
|
|
23
|
-
static args = {
|
|
24
|
-
actorId: Args.string({
|
|
25
|
-
description: 'Optional Actor ID or Name to trigger a build for. By default, it will use the Actor from the current directory.',
|
|
26
|
-
}),
|
|
27
|
-
};
|
|
28
|
-
static enableJsonFlag = true;
|
|
29
|
-
async run() {
|
|
30
|
-
const { tag, version, json, log } = this.flags;
|
|
31
|
-
const { actorId } = this.args;
|
|
32
|
-
const client = await getLoggedClientOrThrow();
|
|
33
|
-
const ctx = await resolveActorContext({ providedActorNameOrId: actorId, client });
|
|
34
|
-
if (!ctx.valid) {
|
|
35
|
-
error({
|
|
36
|
-
message: `${ctx.reason}. Please run this command in an Actor directory, or specify the Actor ID.`,
|
|
37
|
-
stdout: true,
|
|
38
|
-
});
|
|
39
|
-
return;
|
|
40
|
-
}
|
|
41
|
-
const actorInfo = (await client.actor(ctx.id).get());
|
|
42
|
-
const versionsByBuildTag = objectGroupBy(actorInfo.versions, (actorVersion) => actorVersion.buildTag ?? 'latest');
|
|
43
|
-
const taggedVersions = versionsByBuildTag[tag ?? 'latest'];
|
|
44
|
-
const specificVersionExists = actorInfo.versions.find((v) => v.versionNumber === version);
|
|
45
|
-
let selectedVersion;
|
|
46
|
-
let actualTag = tag;
|
|
47
|
-
// --version takes precedence over tagged versions (but if --tag is also specified, it will be checked again)
|
|
48
|
-
if (specificVersionExists) {
|
|
49
|
-
// The API doesn't really care if the tag you use for a version is correct or not, just that the version exists. This means you CAN have two separate versions with the same tag
|
|
50
|
-
// but only the latest one that gets built will have the tag.
|
|
51
|
-
// The *console* lets you pick a version to build. Multiple versions can have the same default tag, ergo what was written above.
|
|
52
|
-
// The API *does* also let you tag any existing version with whatever you want. This is where we diverge, and follow semi-console-like behavior. Effectively, this one if check prevents you from doing
|
|
53
|
-
// "--version 0.1 --tag not_actually_the_tag", even if that is technically perfectly valid. Future reader of this code, if this is not wanted, nuke the if check.
|
|
54
|
-
// This ensures that a --tag and --version match the version and tag the platform knows about
|
|
55
|
-
// but only when --tag is provided
|
|
56
|
-
if (tag && (!taggedVersions || !taggedVersions.some((v) => v.versionNumber === version))) {
|
|
57
|
-
error({
|
|
58
|
-
message: `The Actor Version "${version}" does not have the tag "${tag}".`,
|
|
59
|
-
stdout: true,
|
|
60
|
-
});
|
|
61
|
-
return;
|
|
62
|
-
}
|
|
63
|
-
selectedVersion = version;
|
|
64
|
-
actualTag = specificVersionExists.buildTag ?? 'latest';
|
|
65
|
-
}
|
|
66
|
-
else if (taggedVersions) {
|
|
67
|
-
selectedVersion = taggedVersions[0].versionNumber;
|
|
68
|
-
actualTag = tag ?? 'latest';
|
|
69
|
-
if (taggedVersions.length > 1) {
|
|
70
|
-
if (!version) {
|
|
71
|
-
error({
|
|
72
|
-
message: `Multiple Actor versions with the tag "${tag}" found. Please specify the version number using the "--version" flag.\n Available versions for this tag: ${taggedVersions.map((v) => chalk.yellow(v.versionNumber)).join(', ')}`,
|
|
73
|
-
stdout: true,
|
|
74
|
-
});
|
|
75
|
-
return;
|
|
76
|
-
}
|
|
77
|
-
// On second run, it will call the upper if check
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
if (!selectedVersion) {
|
|
81
|
-
error({
|
|
82
|
-
message: `No Actor versions with the tag "${tag}" found. You can push a new version with this tag by using "apify push --build-tag=${tag}".`,
|
|
83
|
-
stdout: true,
|
|
84
|
-
});
|
|
85
|
-
return;
|
|
86
|
-
}
|
|
87
|
-
const build = await client.actor(ctx.id).build(selectedVersion, { tag });
|
|
88
|
-
if (json) {
|
|
89
|
-
printJsonToStdout(build);
|
|
90
|
-
return;
|
|
91
|
-
}
|
|
92
|
-
const message = [
|
|
93
|
-
`${chalk.yellow('Actor')}: ${actorInfo?.username ? `${actorInfo.username}/` : ''}${actorInfo?.name ?? 'unknown-actor'} (${chalk.gray(build.actId)})`,
|
|
94
|
-
` ${chalk.yellow('Version')}: ${selectedVersion} (tagged with ${chalk.yellow(actualTag)})`,
|
|
95
|
-
'',
|
|
96
|
-
`${chalk.greenBright('Build Started')} (ID: ${chalk.gray(build.id)})`,
|
|
97
|
-
` ${chalk.yellow('Build Number')}: ${build.buildNumber} (will get tagged once finished)`,
|
|
98
|
-
` ${chalk.yellow('Started')}: ${TimestampFormatter.display(build.startedAt)}`,
|
|
99
|
-
'',
|
|
100
|
-
];
|
|
101
|
-
const url = `https://console.apify.com/actors/${build.actId}/builds/${build.buildNumber}`;
|
|
102
|
-
const viewMessage = `${chalk.blue('View in Apify Console')}: ${url}`;
|
|
103
|
-
simpleLog({
|
|
104
|
-
message: message.join('\n'),
|
|
105
|
-
stdout: true,
|
|
106
|
-
});
|
|
107
|
-
if (log) {
|
|
108
|
-
try {
|
|
109
|
-
await outputJobLog({ job: build, apifyClient: client });
|
|
110
|
-
}
|
|
111
|
-
catch (err) {
|
|
112
|
-
// This should never happen...
|
|
113
|
-
error({
|
|
114
|
-
message: `Failed to print log for build with ID "${build.id}": ${err.message}`,
|
|
115
|
-
stdout: true,
|
|
116
|
-
});
|
|
117
|
-
}
|
|
118
|
-
// Print out an empty line
|
|
119
|
-
simpleLog({
|
|
120
|
-
message: '',
|
|
121
|
-
stdout: true,
|
|
122
|
-
});
|
|
123
|
-
}
|
|
124
|
-
simpleLog({
|
|
125
|
-
message: viewMessage,
|
|
126
|
-
stdout: true,
|
|
127
|
-
});
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
//# sourceMappingURL=create.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/commands/builds/create.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
import chalk from 'chalk';
|
|
2
|
-
import { ApifyCommand } from '../../lib/command-framework/apify-command.js';
|
|
3
|
-
import { Args } from '../../lib/command-framework/args.js';
|
|
4
|
-
import { prettyPrintBytes } from '../../lib/commands/pretty-print-bytes.js';
|
|
5
|
-
import { prettyPrintStatus } from '../../lib/commands/pretty-print-status.js';
|
|
6
|
-
import { error, simpleLog } from '../../lib/outputs.js';
|
|
7
|
-
import { DurationFormatter, getLoggedClientOrThrow, printJsonToStdout, TimestampFormatter } from '../../lib/utils.js';
|
|
8
|
-
export class BuildsInfoCommand extends ApifyCommand {
|
|
9
|
-
static name = 'info';
|
|
10
|
-
static description = 'Prints information about a specific build.';
|
|
11
|
-
static args = {
|
|
12
|
-
buildId: Args.string({
|
|
13
|
-
required: true,
|
|
14
|
-
description: 'The build ID to get information about.',
|
|
15
|
-
}),
|
|
16
|
-
};
|
|
17
|
-
static enableJsonFlag = true;
|
|
18
|
-
async run() {
|
|
19
|
-
const { buildId } = this.args;
|
|
20
|
-
const apifyClient = await getLoggedClientOrThrow();
|
|
21
|
-
const build = await apifyClient.build(buildId).get();
|
|
22
|
-
if (!build) {
|
|
23
|
-
error({ message: `Build with ID "${buildId}" was not found on your account.`, stdout: true });
|
|
24
|
-
return;
|
|
25
|
-
}
|
|
26
|
-
// JSON output -> return the object (which is handled by oclif)
|
|
27
|
-
if (this.flags.json) {
|
|
28
|
-
printJsonToStdout(build);
|
|
29
|
-
return;
|
|
30
|
-
}
|
|
31
|
-
const actor = await apifyClient.actor(build.actId).get();
|
|
32
|
-
let buildTag;
|
|
33
|
-
if (actor?.taggedBuilds) {
|
|
34
|
-
for (const [tag, buildData] of Object.entries(actor.taggedBuilds)) {
|
|
35
|
-
if (buildData.buildId === build.id) {
|
|
36
|
-
buildTag = tag;
|
|
37
|
-
break;
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
// TODO: untyped field, https://github.com/apify/apify-client-js/issues/526
|
|
42
|
-
const exitCode = Reflect.get(build, 'exitCode');
|
|
43
|
-
const fullActorName = actor?.username ? `${actor.username}/${actor.name}` : (actor?.name ?? 'unknown-actor');
|
|
44
|
-
const versionTaggedAs = buildTag ? ` (tagged as ${chalk.yellow(buildTag)})` : '';
|
|
45
|
-
const exitCodeStatus = typeof exitCode !== 'undefined' ? ` (exit code: ${chalk.gray(exitCode)})` : '';
|
|
46
|
-
const message = [
|
|
47
|
-
//
|
|
48
|
-
`${chalk.yellow('Actor')}: ${fullActorName} (${chalk.gray(build.actId)})`,
|
|
49
|
-
'',
|
|
50
|
-
`${chalk.yellow('Build Information')} (ID: ${chalk.gray(build.id)})`,
|
|
51
|
-
` ${chalk.yellow('Build Number')}: ${build.buildNumber}${versionTaggedAs}`,
|
|
52
|
-
` ${chalk.yellow('Status')}: ${prettyPrintStatus(build.status)}${exitCodeStatus}`,
|
|
53
|
-
` ${chalk.yellow('Started')}: ${TimestampFormatter.display(build.startedAt)}`,
|
|
54
|
-
];
|
|
55
|
-
if (build.finishedAt) {
|
|
56
|
-
message.push(` ${chalk.yellow('Finished')}: ${TimestampFormatter.display(build.finishedAt)} (took ${chalk.gray(DurationFormatter.format(build.stats?.durationMillis ?? 0))})`);
|
|
57
|
-
}
|
|
58
|
-
else {
|
|
59
|
-
const diff = Date.now() - build.startedAt.getTime();
|
|
60
|
-
message.push(` ${chalk.yellow('Finished')}: ${chalk.gray(`Running for ${DurationFormatter.format(diff)}`)}`);
|
|
61
|
-
}
|
|
62
|
-
if (build.stats?.computeUnits) {
|
|
63
|
-
// Platform shows 3 decimal places, so shall we
|
|
64
|
-
message.push(` ${chalk.yellow('Compute Units')}: ${build.stats.computeUnits.toFixed(3)}`);
|
|
65
|
-
}
|
|
66
|
-
// TODO: untyped field, https://github.com/apify/apify-client-js/issues/526
|
|
67
|
-
const dockerImageSize = Reflect.get(build.stats ?? {}, 'imageSizeBytes');
|
|
68
|
-
if (dockerImageSize) {
|
|
69
|
-
message.push(` ${chalk.yellow('Docker Image Size')}: ${prettyPrintBytes({ bytes: dockerImageSize })}`);
|
|
70
|
-
}
|
|
71
|
-
message.push(` ${chalk.yellow('Origin')}: ${build.meta.origin ?? 'UNKNOWN'}`);
|
|
72
|
-
message.push('');
|
|
73
|
-
const url = `https://console.apify.com/actors/${build.actId}/builds/${build.buildNumber}`;
|
|
74
|
-
message.push(`${chalk.blue('View in Apify Console')}: ${url}`);
|
|
75
|
-
simpleLog({ message: message.join('\n'), stdout: true });
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
//# sourceMappingURL=info.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"info.js","sourceRoot":"","sources":["../../../src/commands/builds/info.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import { ApifyCommand } from '../../lib/command-framework/apify-command.js';
|
|
2
|
-
import { Args } from '../../lib/command-framework/args.js';
|
|
3
|
-
import { error, info } from '../../lib/outputs.js';
|
|
4
|
-
import { getLoggedClientOrThrow, outputJobLog } from '../../lib/utils.js';
|
|
5
|
-
export class BuildsLogCommand extends ApifyCommand {
|
|
6
|
-
static name = 'log';
|
|
7
|
-
static description = 'Prints the log of a specific build.';
|
|
8
|
-
static args = {
|
|
9
|
-
buildId: Args.string({
|
|
10
|
-
required: true,
|
|
11
|
-
description: 'The build ID to get the log from.',
|
|
12
|
-
}),
|
|
13
|
-
};
|
|
14
|
-
async run() {
|
|
15
|
-
const { buildId } = this.args;
|
|
16
|
-
const apifyClient = await getLoggedClientOrThrow();
|
|
17
|
-
const build = await apifyClient.build(buildId).get();
|
|
18
|
-
if (!build) {
|
|
19
|
-
error({ message: `Build with ID "${buildId}" was not found on your account.`, stdout: true });
|
|
20
|
-
return;
|
|
21
|
-
}
|
|
22
|
-
info({ message: `Log for build with ID "${buildId}":\n` });
|
|
23
|
-
try {
|
|
24
|
-
await outputJobLog({ job: build, apifyClient });
|
|
25
|
-
}
|
|
26
|
-
catch (err) {
|
|
27
|
-
// This should never happen...
|
|
28
|
-
error({
|
|
29
|
-
message: `Failed to get log for build with ID "${buildId}": ${err.message}`,
|
|
30
|
-
stdout: true,
|
|
31
|
-
});
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
//# sourceMappingURL=log.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"log.js","sourceRoot":"","sources":["../../../src/commands/builds/log.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,8CAA8C,CAAC;AAC5E,OAAO,EAAE,IAAI,EAAE,MAAM,qCAAqC,CAAC;AAC3D,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,sBAAsB,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAE1E,MAAM,OAAO,gBAAiB,SAAQ,YAAqC;IAC1E,MAAM,CAAU,IAAI,GAAG,KAAc,CAAC;IAEtC,MAAM,CAAU,WAAW,GAAG,qCAAqC,CAAC;IAEpE,MAAM,CAAU,IAAI,GAAG;QACtB,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC;YACpB,QAAQ,EAAE,IAAI;YACd,WAAW,EAAE,mCAAmC;SAChD,CAAC;KACF,CAAC;IAEF,KAAK,CAAC,GAAG;QACR,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC;QAE9B,MAAM,WAAW,GAAG,MAAM,sBAAsB,EAAE,CAAC;QAEnD,MAAM,KAAK,GAAG,MAAM,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC;QAErD,IAAI,CAAC,KAAK,EAAE,CAAC;YACZ,KAAK,CAAC,EAAE,OAAO,EAAE,kBAAkB,OAAO,kCAAkC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;YAC9F,OAAO;QACR,CAAC;QAED,IAAI,CAAC,EAAE,OAAO,EAAE,0BAA0B,OAAO,MAAM,EAAE,CAAC,CAAC;QAE3D,IAAI,CAAC;YACJ,MAAM,YAAY,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;QACjD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACd,8BAA8B;YAC9B,KAAK,CAAC;gBACL,OAAO,EAAE,wCAAwC,OAAO,MAAO,GAAa,CAAC,OAAO,EAAE;gBACtF,MAAM,EAAE,IAAI;aACZ,CAAC,CAAC;QACJ,CAAC;IACF,CAAC"}
|
|
@@ -1,141 +0,0 @@
|
|
|
1
|
-
import chalk from 'chalk';
|
|
2
|
-
import { ApifyCommand } from '../../lib/command-framework/apify-command.js';
|
|
3
|
-
import { Args } from '../../lib/command-framework/args.js';
|
|
4
|
-
import { Flags } from '../../lib/command-framework/flags.js';
|
|
5
|
-
import { prettyPrintStatus } from '../../lib/commands/pretty-print-status.js';
|
|
6
|
-
import { resolveActorContext } from '../../lib/commands/resolve-actor-context.js';
|
|
7
|
-
import { CompactMode, ResponsiveTable } from '../../lib/commands/responsive-table.js';
|
|
8
|
-
import { error, simpleLog } from '../../lib/outputs.js';
|
|
9
|
-
import { getLoggedClientOrThrow, objectGroupBy, printJsonToStdout, ShortDurationFormatter } from '../../lib/utils.js';
|
|
10
|
-
const tableFactory = () => new ResponsiveTable({
|
|
11
|
-
allColumns: ['Number', 'ID', 'Status', 'Took'],
|
|
12
|
-
mandatoryColumns: ['Number', 'ID', 'Status', 'Took'],
|
|
13
|
-
columnAlignments: {
|
|
14
|
-
'Took': 'right',
|
|
15
|
-
},
|
|
16
|
-
});
|
|
17
|
-
export class BuildsLsCommand extends ApifyCommand {
|
|
18
|
-
static name = 'ls';
|
|
19
|
-
static description = 'Lists all builds of the Actor.';
|
|
20
|
-
static flags = {
|
|
21
|
-
offset: Flags.integer({
|
|
22
|
-
description: 'Number of builds that will be skipped.',
|
|
23
|
-
default: 0,
|
|
24
|
-
}),
|
|
25
|
-
limit: Flags.integer({
|
|
26
|
-
description: 'Number of builds that will be listed.',
|
|
27
|
-
default: 10,
|
|
28
|
-
}),
|
|
29
|
-
desc: Flags.boolean({
|
|
30
|
-
description: 'Sort builds in descending order.',
|
|
31
|
-
default: false,
|
|
32
|
-
}),
|
|
33
|
-
compact: Flags.boolean({
|
|
34
|
-
description: 'Display a compact table.',
|
|
35
|
-
default: false,
|
|
36
|
-
char: 'c',
|
|
37
|
-
}),
|
|
38
|
-
};
|
|
39
|
-
static args = {
|
|
40
|
-
actorId: Args.string({
|
|
41
|
-
description: 'Optional Actor ID or Name to list runs for. By default, it will use the Actor from the current directory.',
|
|
42
|
-
}),
|
|
43
|
-
};
|
|
44
|
-
static enableJsonFlag = true;
|
|
45
|
-
async run() {
|
|
46
|
-
const { desc, limit, offset, compact, json } = this.flags;
|
|
47
|
-
const { actorId } = this.args;
|
|
48
|
-
const client = await getLoggedClientOrThrow();
|
|
49
|
-
// TODO: technically speaking, we don't *need* an actor id to list builds. But it makes more sense to have a table of builds for a specific actor.
|
|
50
|
-
const ctx = await resolveActorContext({ providedActorNameOrId: actorId, client });
|
|
51
|
-
if (!ctx.valid) {
|
|
52
|
-
error({
|
|
53
|
-
message: `${ctx.reason}. Please run this command in an Actor directory, or specify the Actor ID.`,
|
|
54
|
-
stdout: true,
|
|
55
|
-
});
|
|
56
|
-
return;
|
|
57
|
-
}
|
|
58
|
-
const allBuilds = await client.actor(ctx.id).builds().list({ desc, limit, offset });
|
|
59
|
-
const actorInfo = (await client.actor(ctx.id).get());
|
|
60
|
-
const buildsByActorVersion = objectGroupBy(allBuilds.items, (item) => {
|
|
61
|
-
const versionNumber = Reflect.get(item, 'buildNumber');
|
|
62
|
-
const [major, minor] = versionNumber.split('.');
|
|
63
|
-
return `${major}.${minor}`;
|
|
64
|
-
});
|
|
65
|
-
const buildTagToActorVersion = Object.entries(actorInfo.taggedBuilds ?? {}).reduce((acc, [tag, data]) => {
|
|
66
|
-
acc[data.buildNumber] = tag;
|
|
67
|
-
return acc;
|
|
68
|
-
}, {});
|
|
69
|
-
if (json) {
|
|
70
|
-
// Hydrate the builds with their tags
|
|
71
|
-
for (const build of allBuilds.items) {
|
|
72
|
-
// TODO: untyped field, https://github.com/apify/apify-client-js/issues/526
|
|
73
|
-
const buildNumber = Reflect.get(build, 'buildNumber');
|
|
74
|
-
const hasTag = buildTagToActorVersion[buildNumber];
|
|
75
|
-
if (hasTag) {
|
|
76
|
-
Reflect.set(build, 'buildTag', hasTag);
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
printJsonToStdout(allBuilds);
|
|
80
|
-
return;
|
|
81
|
-
}
|
|
82
|
-
simpleLog({
|
|
83
|
-
message: `${chalk.reset('Showing')} ${chalk.yellow(allBuilds.items.length)} out of ${chalk.yellow(allBuilds.total)} builds for Actor ${chalk.yellow(ctx.userFriendlyId)} (${chalk.gray(ctx.id)})\n`,
|
|
84
|
-
stdout: true,
|
|
85
|
-
});
|
|
86
|
-
const sortedActorVersions = Object.entries(buildsByActorVersion).sort((a, b) => a[0].localeCompare(b[0]));
|
|
87
|
-
for (const [actorVersion, buildsForVersion] of sortedActorVersions) {
|
|
88
|
-
if (!buildsForVersion?.length) {
|
|
89
|
-
simpleLog({
|
|
90
|
-
message: `No builds for version ${actorVersion}`,
|
|
91
|
-
stdout: true,
|
|
92
|
-
});
|
|
93
|
-
continue;
|
|
94
|
-
}
|
|
95
|
-
const latestBuildTag = actorInfo.versions.find((v) => v.versionNumber === actorVersion)?.buildTag;
|
|
96
|
-
const table = this.generateTableForActorVersion({
|
|
97
|
-
buildsForVersion,
|
|
98
|
-
buildTagToActorVersion,
|
|
99
|
-
});
|
|
100
|
-
const latestBuildTagMessage = latestBuildTag
|
|
101
|
-
? ` (latest build gets tagged with ${chalk.yellow(latestBuildTag)})`
|
|
102
|
-
: '';
|
|
103
|
-
const message = [
|
|
104
|
-
chalk.reset(`Builds for Actor Version ${chalk.yellow(actorVersion)}${latestBuildTagMessage}`),
|
|
105
|
-
table.render(compact ? CompactMode.VeryCompact : CompactMode.None),
|
|
106
|
-
'',
|
|
107
|
-
];
|
|
108
|
-
simpleLog({
|
|
109
|
-
message: message.join('\n'),
|
|
110
|
-
stdout: true,
|
|
111
|
-
});
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
generateTableForActorVersion({ buildsForVersion, buildTagToActorVersion, }) {
|
|
115
|
-
const table = tableFactory();
|
|
116
|
-
for (const build of buildsForVersion) {
|
|
117
|
-
// TODO: untyped field, https://github.com/apify/apify-client-js/issues/526
|
|
118
|
-
const buildNumber = Reflect.get(build, 'buildNumber');
|
|
119
|
-
const hasTag = buildTagToActorVersion[buildNumber]
|
|
120
|
-
? ` (${chalk.yellow(buildTagToActorVersion[buildNumber])})`
|
|
121
|
-
: '';
|
|
122
|
-
let finishedAt;
|
|
123
|
-
if (build.finishedAt) {
|
|
124
|
-
const diff = build.finishedAt.getTime() - build.startedAt.getTime();
|
|
125
|
-
finishedAt = chalk.gray(`${ShortDurationFormatter.format(diff, undefined, { left: '' })}`);
|
|
126
|
-
}
|
|
127
|
-
else {
|
|
128
|
-
const diff = Date.now() - build.startedAt.getTime();
|
|
129
|
-
finishedAt = chalk.gray(`Running for ${ShortDurationFormatter.format(diff, undefined, { left: '' })}`);
|
|
130
|
-
}
|
|
131
|
-
table.pushRow({
|
|
132
|
-
Number: `${buildNumber}${hasTag}`,
|
|
133
|
-
ID: chalk.gray(build.id),
|
|
134
|
-
Status: prettyPrintStatus(build.status),
|
|
135
|
-
Took: finishedAt,
|
|
136
|
-
});
|
|
137
|
-
}
|
|
138
|
-
return table;
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
//# sourceMappingURL=ls.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ls.js","sourceRoot":"","sources":["../../../src/commands/builds/ls.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
import { ApifyCommand } from '../../lib/command-framework/apify-command.js';
|
|
2
|
-
import { Args } from '../../lib/command-framework/args.js';
|
|
3
|
-
import { error, info, success } from '../../lib/outputs.js';
|
|
4
|
-
import { getLoggedClientOrThrow } from '../../lib/utils.js';
|
|
5
|
-
import { confirmAction } from '../../lib/utils/confirm.js';
|
|
6
|
-
export class BuildsRmCommand extends ApifyCommand {
|
|
7
|
-
static name = 'rm';
|
|
8
|
-
static description = 'Permanently removes an Actor build from the Apify platform.';
|
|
9
|
-
static args = {
|
|
10
|
-
buildId: Args.string({
|
|
11
|
-
description: 'The build ID to delete.',
|
|
12
|
-
required: true,
|
|
13
|
-
}),
|
|
14
|
-
};
|
|
15
|
-
async run() {
|
|
16
|
-
const { buildId } = this.args;
|
|
17
|
-
const apifyClient = await getLoggedClientOrThrow();
|
|
18
|
-
const build = await apifyClient.build(buildId).get();
|
|
19
|
-
if (!build) {
|
|
20
|
-
error({ message: `Build with ID "${buildId}" was not found on your account.`, stdout: true });
|
|
21
|
-
return;
|
|
22
|
-
}
|
|
23
|
-
const actor = await apifyClient.actor(build.actId).get();
|
|
24
|
-
let confirmationPrompt;
|
|
25
|
-
if (actor?.taggedBuilds) {
|
|
26
|
-
// If this build is tagged in the actor, console asks you to write the tag.
|
|
27
|
-
for (const [tag, buildData] of Object.entries(actor.taggedBuilds)) {
|
|
28
|
-
if (buildId === buildData.buildId) {
|
|
29
|
-
confirmationPrompt = tag;
|
|
30
|
-
break;
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
const confirmed = await confirmAction({
|
|
35
|
-
type: 'Actor Build',
|
|
36
|
-
expectedValue: confirmationPrompt,
|
|
37
|
-
failureMessage: 'Your provided value does not match the build tag.',
|
|
38
|
-
});
|
|
39
|
-
if (!confirmed) {
|
|
40
|
-
info({
|
|
41
|
-
message: `Deletion of build "${buildId}" was canceled.`,
|
|
42
|
-
stdout: true,
|
|
43
|
-
});
|
|
44
|
-
return;
|
|
45
|
-
}
|
|
46
|
-
try {
|
|
47
|
-
await apifyClient.build(buildId).delete();
|
|
48
|
-
success({
|
|
49
|
-
message: `Build with ID "${buildId}" was deleted.`,
|
|
50
|
-
stdout: true,
|
|
51
|
-
});
|
|
52
|
-
}
|
|
53
|
-
catch (err) {
|
|
54
|
-
const casted = err;
|
|
55
|
-
error({ message: `Failed to delete build "${buildId}".\n ${casted.message || casted}`, stdout: true });
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
//# sourceMappingURL=rm.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"rm.js","sourceRoot":"","sources":["../../../src/commands/builds/rm.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,8CAA8C,CAAC;AAC5E,OAAO,EAAE,IAAI,EAAE,MAAM,qCAAqC,CAAC;AAC3D,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAE3D,MAAM,OAAO,eAAgB,SAAQ,YAAoC;IACxE,MAAM,CAAU,IAAI,GAAG,IAAa,CAAC;IAErC,MAAM,CAAU,WAAW,GAAG,6DAA6D,CAAC;IAE5F,MAAM,CAAU,IAAI,GAAG;QACtB,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC;YACpB,WAAW,EAAE,yBAAyB;YACtC,QAAQ,EAAE,IAAI;SACd,CAAC;KACF,CAAC;IAEF,KAAK,CAAC,GAAG;QACR,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC;QAE9B,MAAM,WAAW,GAAG,MAAM,sBAAsB,EAAE,CAAC;QAEnD,MAAM,KAAK,GAAG,MAAM,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC;QAErD,IAAI,CAAC,KAAK,EAAE,CAAC;YACZ,KAAK,CAAC,EAAE,OAAO,EAAE,kBAAkB,OAAO,kCAAkC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;YAC9F,OAAO;QACR,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC;QAEzD,IAAI,kBAAsC,CAAC;QAE3C,IAAI,KAAK,EAAE,YAAY,EAAE,CAAC;YACzB,2EAA2E;YAC3E,KAAK,MAAM,CAAC,GAAG,EAAE,SAAS,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,CAAiC,EAAE,CAAC;gBACnG,IAAI,OAAO,KAAK,SAAS,CAAC,OAAO,EAAE,CAAC;oBACnC,kBAAkB,GAAG,GAAG,CAAC;oBACzB,MAAM;gBACP,CAAC;YACF,CAAC;QACF,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC;YACrC,IAAI,EAAE,aAAa;YACnB,aAAa,EAAE,kBAAkB;YACjC,cAAc,EAAE,mDAAmD;SACnE,CAAC,CAAC;QAEH,IAAI,CAAC,SAAS,EAAE,CAAC;YAChB,IAAI,CAAC;gBACJ,OAAO,EAAE,sBAAsB,OAAO,iBAAiB;gBACvD,MAAM,EAAE,IAAI;aACZ,CAAC,CAAC;YAEH,OAAO;QACR,CAAC;QAED,IAAI,CAAC;YACJ,MAAM,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC;YAE1C,OAAO,CAAC;gBACP,OAAO,EAAE,kBAAkB,OAAO,gBAAgB;gBAClD,MAAM,EAAE,IAAI;aACZ,CAAC,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACd,MAAM,MAAM,GAAG,GAAoB,CAAC;YACpC,KAAK,CAAC,EAAE,OAAO,EAAE,2BAA2B,OAAO,SAAS,MAAM,CAAC,OAAO,IAAI,MAAM,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QACzG,CAAC;IACF,CAAC"}
|
package/dist/commands/call.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"call.js","sourceRoot":"","sources":["../../src/commands/call.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAErD,MAAM,OAAO,mBAAoB,SAAQ,iBAAiB;IACzD,MAAM,CAAU,IAAI,GAAG,MAAe,CAAC"}
|