apify-cli 0.21.10-beta.2 → 0.21.10-beta.21

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.
Files changed (251) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/actor.js +3 -0
  4. package/dist/actor.js.map +1 -0
  5. package/dist/apify.js +3 -0
  6. package/dist/apify.js.map +1 -0
  7. package/dist/chunk-ATQHWRBX.js +242 -0
  8. package/dist/chunk-ATQHWRBX.js.map +1 -0
  9. package/dist/index.js +2 -3
  10. package/package.json +16 -18
  11. package/dist/commands/_register.js +0 -68
  12. package/dist/commands/_register.js.map +0 -1
  13. package/dist/commands/actor/_index.js +0 -24
  14. package/dist/commands/actor/_index.js.map +0 -1
  15. package/dist/commands/actor/charge.js +0 -84
  16. package/dist/commands/actor/charge.js.map +0 -1
  17. package/dist/commands/actor/get-input.js +0 -10
  18. package/dist/commands/actor/get-input.js.map +0 -1
  19. package/dist/commands/actor/get-public-url.js +0 -52
  20. package/dist/commands/actor/get-public-url.js.map +0 -1
  21. package/dist/commands/actor/get-value.js +0 -18
  22. package/dist/commands/actor/get-value.js.map +0 -1
  23. package/dist/commands/actor/push-data.js +0 -38
  24. package/dist/commands/actor/push-data.js.map +0 -1
  25. package/dist/commands/actor/set-value.js +0 -52
  26. package/dist/commands/actor/set-value.js.map +0 -1
  27. package/dist/commands/actors/_index.js +0 -28
  28. package/dist/commands/actors/_index.js.map +0 -1
  29. package/dist/commands/actors/build.js +0 -6
  30. package/dist/commands/actors/build.js.map +0 -1
  31. package/dist/commands/actors/call.js +0 -224
  32. package/dist/commands/actors/call.js.map +0 -1
  33. package/dist/commands/actors/info.js +0 -203
  34. package/dist/commands/actors/info.js.map +0 -1
  35. package/dist/commands/actors/ls.js +0 -226
  36. package/dist/commands/actors/ls.js.map +0 -1
  37. package/dist/commands/actors/pull.js +0 -150
  38. package/dist/commands/actors/pull.js.map +0 -1
  39. package/dist/commands/actors/push.js +0 -300
  40. package/dist/commands/actors/push.js.map +0 -1
  41. package/dist/commands/actors/rm.js +0 -43
  42. package/dist/commands/actors/rm.js.map +0 -1
  43. package/dist/commands/actors/start.js +0 -125
  44. package/dist/commands/actors/start.js.map +0 -1
  45. package/dist/commands/builds/_index.js +0 -22
  46. package/dist/commands/builds/_index.js.map +0 -1
  47. package/dist/commands/builds/create.js +0 -130
  48. package/dist/commands/builds/create.js.map +0 -1
  49. package/dist/commands/builds/info.js +0 -78
  50. package/dist/commands/builds/info.js.map +0 -1
  51. package/dist/commands/builds/log.js +0 -35
  52. package/dist/commands/builds/log.js.map +0 -1
  53. package/dist/commands/builds/ls.js +0 -141
  54. package/dist/commands/builds/ls.js.map +0 -1
  55. package/dist/commands/builds/rm.js +0 -59
  56. package/dist/commands/builds/rm.js.map +0 -1
  57. package/dist/commands/call.js +0 -5
  58. package/dist/commands/call.js.map +0 -1
  59. package/dist/commands/create.js +0 -264
  60. package/dist/commands/create.js.map +0 -1
  61. package/dist/commands/datasets/_index.js +0 -25
  62. package/dist/commands/datasets/_index.js.map +0 -1
  63. package/dist/commands/datasets/create.js +0 -38
  64. package/dist/commands/datasets/create.js.map +0 -1
  65. package/dist/commands/datasets/get-items.js +0 -84
  66. package/dist/commands/datasets/get-items.js.map +0 -1
  67. package/dist/commands/datasets/info.js +0 -125
  68. package/dist/commands/datasets/info.js.map +0 -1
  69. package/dist/commands/datasets/ls.js +0 -73
  70. package/dist/commands/datasets/ls.js.map +0 -1
  71. package/dist/commands/datasets/push-items.js +0 -70
  72. package/dist/commands/datasets/push-items.js.map +0 -1
  73. package/dist/commands/datasets/rename.js +0 -71
  74. package/dist/commands/datasets/rename.js.map +0 -1
  75. package/dist/commands/datasets/rm.js +0 -48
  76. package/dist/commands/datasets/rm.js.map +0 -1
  77. package/dist/commands/edit-input-schema.js +0 -162
  78. package/dist/commands/edit-input-schema.js.map +0 -1
  79. package/dist/commands/help.js +0 -43
  80. package/dist/commands/help.js.map +0 -1
  81. package/dist/commands/info.js +0 -21
  82. package/dist/commands/info.js.map +0 -1
  83. package/dist/commands/init-wrap-scrapy.js +0 -27
  84. package/dist/commands/init-wrap-scrapy.js.map +0 -1
  85. package/dist/commands/init.js +0 -94
  86. package/dist/commands/init.js.map +0 -1
  87. package/dist/commands/key-value-stores/_index.js +0 -30
  88. package/dist/commands/key-value-stores/_index.js.map +0 -1
  89. package/dist/commands/key-value-stores/create.js +0 -38
  90. package/dist/commands/key-value-stores/create.js.map +0 -1
  91. package/dist/commands/key-value-stores/delete-value.js +0 -61
  92. package/dist/commands/key-value-stores/delete-value.js.map +0 -1
  93. package/dist/commands/key-value-stores/get-value.js +0 -70
  94. package/dist/commands/key-value-stores/get-value.js.map +0 -1
  95. package/dist/commands/key-value-stores/info.js +0 -127
  96. package/dist/commands/key-value-stores/info.js.map +0 -1
  97. package/dist/commands/key-value-stores/keys.js +0 -61
  98. package/dist/commands/key-value-stores/keys.js.map +0 -1
  99. package/dist/commands/key-value-stores/ls.js +0 -70
  100. package/dist/commands/key-value-stores/ls.js.map +0 -1
  101. package/dist/commands/key-value-stores/rename.js +0 -71
  102. package/dist/commands/key-value-stores/rename.js.map +0 -1
  103. package/dist/commands/key-value-stores/rm.js +0 -48
  104. package/dist/commands/key-value-stores/rm.js.map +0 -1
  105. package/dist/commands/key-value-stores/set-value.js +0 -57
  106. package/dist/commands/key-value-stores/set-value.js.map +0 -1
  107. package/dist/commands/login.js +0 -183
  108. package/dist/commands/login.js.map +0 -1
  109. package/dist/commands/logout.js +0 -16
  110. package/dist/commands/logout.js.map +0 -1
  111. package/dist/commands/pull.js +0 -5
  112. package/dist/commands/pull.js.map +0 -1
  113. package/dist/commands/push.js +0 -5
  114. package/dist/commands/push.js.map +0 -1
  115. package/dist/commands/request-queues/_index.js +0 -9
  116. package/dist/commands/request-queues/_index.js.map +0 -1
  117. package/dist/commands/run.js +0 -434
  118. package/dist/commands/run.js.map +0 -1
  119. package/dist/commands/runs/_index.js +0 -23
  120. package/dist/commands/runs/_index.js.map +0 -1
  121. package/dist/commands/runs/abort.js +0 -68
  122. package/dist/commands/runs/abort.js.map +0 -1
  123. package/dist/commands/runs/info.js +0 -238
  124. package/dist/commands/runs/info.js.map +0 -1
  125. package/dist/commands/runs/log.js +0 -32
  126. package/dist/commands/runs/log.js.map +0 -1
  127. package/dist/commands/runs/ls.js +0 -106
  128. package/dist/commands/runs/ls.js.map +0 -1
  129. package/dist/commands/runs/resurrect.js +0 -54
  130. package/dist/commands/runs/resurrect.js.map +0 -1
  131. package/dist/commands/runs/rm.js +0 -58
  132. package/dist/commands/runs/rm.js.map +0 -1
  133. package/dist/commands/secrets/_index.js +0 -25
  134. package/dist/commands/secrets/_index.js.map +0 -1
  135. package/dist/commands/secrets/add.js +0 -22
  136. package/dist/commands/secrets/add.js.map +0 -1
  137. package/dist/commands/secrets/rm.js +0 -18
  138. package/dist/commands/secrets/rm.js.map +0 -1
  139. package/dist/commands/task/_index.js +0 -11
  140. package/dist/commands/task/_index.js.map +0 -1
  141. package/dist/commands/task/run.js +0 -91
  142. package/dist/commands/task/run.js.map +0 -1
  143. package/dist/commands/upgrade.js +0 -74
  144. package/dist/commands/upgrade.js.map +0 -1
  145. package/dist/commands/validate-schema.js +0 -44
  146. package/dist/commands/validate-schema.js.map +0 -1
  147. package/dist/entrypoints/_shared.js +0 -256
  148. package/dist/entrypoints/_shared.js.map +0 -1
  149. package/dist/entrypoints/actor.js +0 -19
  150. package/dist/entrypoints/actor.js.map +0 -1
  151. package/dist/entrypoints/apify.js +0 -18
  152. package/dist/entrypoints/apify.js.map +0 -1
  153. package/dist/index.js.map +0 -1
  154. package/dist/lib/actor.js +0 -74
  155. package/dist/lib/actor.js.map +0 -1
  156. package/dist/lib/command-framework/apify-command.js +0 -426
  157. package/dist/lib/command-framework/apify-command.js.map +0 -1
  158. package/dist/lib/command-framework/args.js +0 -24
  159. package/dist/lib/command-framework/args.js.map +0 -1
  160. package/dist/lib/command-framework/flags.js +0 -99
  161. package/dist/lib/command-framework/flags.js.map +0 -1
  162. package/dist/lib/command-framework/help/CommandHelp.js +0 -228
  163. package/dist/lib/command-framework/help/CommandHelp.js.map +0 -1
  164. package/dist/lib/command-framework/help/CommandWithSubcommands.js +0 -75
  165. package/dist/lib/command-framework/help/CommandWithSubcommands.js.map +0 -1
  166. package/dist/lib/command-framework/help/_BaseCommandRenderer.js +0 -63
  167. package/dist/lib/command-framework/help/_BaseCommandRenderer.js.map +0 -1
  168. package/dist/lib/command-framework/help/consts.js +0 -27
  169. package/dist/lib/command-framework/help/consts.js.map +0 -1
  170. package/dist/lib/command-framework/help.js +0 -105
  171. package/dist/lib/command-framework/help.js.map +0 -1
  172. package/dist/lib/commands/pretty-print-bytes.js +0 -13
  173. package/dist/lib/commands/pretty-print-bytes.js.map +0 -1
  174. package/dist/lib/commands/pretty-print-status.js +0 -29
  175. package/dist/lib/commands/pretty-print-status.js.map +0 -1
  176. package/dist/lib/commands/read-stdin.js +0 -42
  177. package/dist/lib/commands/read-stdin.js.map +0 -1
  178. package/dist/lib/commands/resolve-actor-context.js +0 -70
  179. package/dist/lib/commands/resolve-actor-context.js.map +0 -1
  180. package/dist/lib/commands/resolve-input.js +0 -162
  181. package/dist/lib/commands/resolve-input.js.map +0 -1
  182. package/dist/lib/commands/responsive-table.js +0 -129
  183. package/dist/lib/commands/responsive-table.js.map +0 -1
  184. package/dist/lib/commands/run-on-cloud.js +0 -126
  185. package/dist/lib/commands/run-on-cloud.js.map +0 -1
  186. package/dist/lib/commands/storage-size.js +0 -8
  187. package/dist/lib/commands/storage-size.js.map +0 -1
  188. package/dist/lib/commands/storages.js +0 -30
  189. package/dist/lib/commands/storages.js.map +0 -1
  190. package/dist/lib/consts.js +0 -69
  191. package/dist/lib/consts.js.map +0 -1
  192. package/dist/lib/create-utils.js +0 -156
  193. package/dist/lib/create-utils.js.map +0 -1
  194. package/dist/lib/exec.js +0 -34
  195. package/dist/lib/exec.js.map +0 -1
  196. package/dist/lib/files.js +0 -54
  197. package/dist/lib/files.js.map +0 -1
  198. package/dist/lib/hooks/runtimes/javascript.js +0 -86
  199. package/dist/lib/hooks/runtimes/javascript.js.map +0 -1
  200. package/dist/lib/hooks/runtimes/python.js +0 -80
  201. package/dist/lib/hooks/runtimes/python.js.map +0 -1
  202. package/dist/lib/hooks/runtimes/utils.js +0 -16
  203. package/dist/lib/hooks/runtimes/utils.js.map +0 -1
  204. package/dist/lib/hooks/useActorConfig.js +0 -177
  205. package/dist/lib/hooks/useActorConfig.js.map +0 -1
  206. package/dist/lib/hooks/useCLIMetadata.js +0 -73
  207. package/dist/lib/hooks/useCLIMetadata.js.map +0 -1
  208. package/dist/lib/hooks/useCLIVersionCheck.js +0 -91
  209. package/dist/lib/hooks/useCLIVersionCheck.js.map +0 -1
  210. package/dist/lib/hooks/useCommandSuggestions.js +0 -37
  211. package/dist/lib/hooks/useCommandSuggestions.js.map +0 -1
  212. package/dist/lib/hooks/useCwdProject.js +0 -174
  213. package/dist/lib/hooks/useCwdProject.js.map +0 -1
  214. package/dist/lib/hooks/useLocalState.js +0 -56
  215. package/dist/lib/hooks/useLocalState.js.map +0 -1
  216. package/dist/lib/hooks/useModuleVersion.js +0 -103
  217. package/dist/lib/hooks/useModuleVersion.js.map +0 -1
  218. package/dist/lib/hooks/useStdin.js +0 -65
  219. package/dist/lib/hooks/useStdin.js.map +0 -1
  220. package/dist/lib/input_schema.js +0 -130
  221. package/dist/lib/input_schema.js.map +0 -1
  222. package/dist/lib/outputs.js +0 -45
  223. package/dist/lib/outputs.js.map +0 -1
  224. package/dist/lib/project_analyzer.js +0 -30
  225. package/dist/lib/project_analyzer.js.map +0 -1
  226. package/dist/lib/projects/CrawleeAnalyzer.js +0 -20
  227. package/dist/lib/projects/CrawleeAnalyzer.js.map +0 -1
  228. package/dist/lib/projects/OldApifySDKAnalyzer.js +0 -38
  229. package/dist/lib/projects/OldApifySDKAnalyzer.js.map +0 -1
  230. package/dist/lib/projects/scrapy/ScrapyProjectAnalyzer.js +0 -73
  231. package/dist/lib/projects/scrapy/ScrapyProjectAnalyzer.js.map +0 -1
  232. package/dist/lib/projects/scrapy/Spider.js +0 -13
  233. package/dist/lib/projects/scrapy/Spider.js.map +0 -1
  234. package/dist/lib/projects/scrapy/SpiderFileAnalyzer.js +0 -20
  235. package/dist/lib/projects/scrapy/SpiderFileAnalyzer.js.map +0 -1
  236. package/dist/lib/projects/scrapy/wrapScrapyProject.js +0 -113
  237. package/dist/lib/projects/scrapy/wrapScrapyProject.js.map +0 -1
  238. package/dist/lib/projects/shared.js +0 -13
  239. package/dist/lib/projects/shared.js.map +0 -1
  240. package/dist/lib/secrets.js +0 -106
  241. package/dist/lib/secrets.js.map +0 -1
  242. package/dist/lib/telemetry.js +0 -86
  243. package/dist/lib/telemetry.js.map +0 -1
  244. package/dist/lib/types.js +0 -4
  245. package/dist/lib/types.js.map +0 -1
  246. package/dist/lib/utils/cliDebugPrint.js +0 -7
  247. package/dist/lib/utils/cliDebugPrint.js.map +0 -1
  248. package/dist/lib/utils/confirm.js +0 -28
  249. package/dist/lib/utils/confirm.js.map +0 -1
  250. package/dist/lib/utils.js +0 -457
  251. package/dist/lib/utils.js.map +0 -1
@@ -1,224 +0,0 @@
1
- import process from 'node:process';
2
- import { DownloadItemsFormat, } from 'apify-client';
3
- import chalk from 'chalk';
4
- import { ApifyCommand, StdinMode } from '../../lib/command-framework/apify-command.js';
5
- import { Args } from '../../lib/command-framework/args.js';
6
- import { Flags } from '../../lib/command-framework/flags.js';
7
- import { getInputOverride } from '../../lib/commands/resolve-input.js';
8
- import { runActorOrTaskOnCloud, SharedRunOnCloudFlags } from '../../lib/commands/run-on-cloud.js';
9
- import { CommandExitCodes, LOCAL_CONFIG_PATH } from '../../lib/consts.js';
10
- import { error, simpleLog } from '../../lib/outputs.js';
11
- import { getLocalConfig, getLocalUserInfo, getLoggedClientOrThrow, printJsonToStdout, TimestampFormatter, } from '../../lib/utils.js';
12
- export class ActorsCallCommand extends ApifyCommand {
13
- static name = 'call';
14
- static description = 'Executes Actor remotely using your authenticated account.\n' +
15
- 'Reads input from local key-value store by default.';
16
- static flags = {
17
- ...SharedRunOnCloudFlags('Actor'),
18
- input: Flags.string({
19
- char: 'i',
20
- description: 'Optional JSON input to be given to the Actor.',
21
- required: false,
22
- stdin: StdinMode.Stringified,
23
- exclusive: ['input-file'],
24
- }),
25
- 'input-file': Flags.string({
26
- aliases: ['if'],
27
- description: 'Optional path to a file with JSON input to be given to the Actor. The file must be a valid JSON file. You can also specify `-` to read from standard input.',
28
- required: false,
29
- stdin: StdinMode.Stringified,
30
- exclusive: ['input'],
31
- }),
32
- silent: Flags.boolean({
33
- char: 's',
34
- description: 'Prevents printing the logs of the Actor run to the console.',
35
- default: false,
36
- }),
37
- 'output-dataset': Flags.boolean({
38
- char: 'o',
39
- description: 'Prints out the entire default dataset on successful run of the Actor.',
40
- }),
41
- // TODO: do we want to do the --stream-x flags? Can we even do them?
42
- };
43
- static enableJsonFlag = true;
44
- static args = {
45
- actorId: Args.string({
46
- required: false,
47
- description: 'Name or ID of the Actor to run (e.g. "my-actor", "apify/hello-world" or "E2jjCZBezvAZnX8Rb"). ' +
48
- `If not provided, the command runs the remote Actor specified in the '${LOCAL_CONFIG_PATH}' file.`,
49
- }),
50
- };
51
- async run() {
52
- const cwd = process.cwd();
53
- const localConfig = getLocalConfig(cwd) || {};
54
- const apifyClient = await getLoggedClientOrThrow();
55
- const userInfo = await getLocalUserInfo();
56
- const usernameOrId = userInfo.username || userInfo.id;
57
- if (this.flags.json && this.flags.outputDataset) {
58
- error({ message: 'You cannot use both the --json and --output-dataset flags when running this command.' });
59
- process.exitCode = CommandExitCodes.InvalidInput;
60
- return;
61
- }
62
- const { id: actorId, userFriendlyId, actorData, } = await ActorsCallCommand.resolveActorId({
63
- client: apifyClient,
64
- localActorName: localConfig.name,
65
- usernameOrId,
66
- providedActorNameOrId: this.args.actorId,
67
- });
68
- const runOpts = {
69
- waitForFinish: 2, // NOTE: We need to wait some time to Apify open stream and we can create connection
70
- };
71
- if (this.flags.build) {
72
- runOpts.build = this.flags.build;
73
- }
74
- if (this.flags.timeout) {
75
- runOpts.timeout = this.flags.timeout;
76
- }
77
- if (this.flags.memory) {
78
- runOpts.memory = this.flags.memory;
79
- }
80
- const inputOverride = await getInputOverride(cwd, this.flags.input, this.flags.inputFile);
81
- // Means we couldn't resolve input, so we should exit
82
- if (inputOverride === false) {
83
- return;
84
- }
85
- let runStarted = false;
86
- let run;
87
- let url;
88
- let datasetUrl;
89
- const iterator = runActorOrTaskOnCloud(apifyClient, {
90
- actorOrTaskData: {
91
- id: actorId,
92
- userFriendlyId,
93
- },
94
- runOptions: runOpts,
95
- type: 'Actor',
96
- inputOverride: inputOverride?.input,
97
- silent: this.flags.silent,
98
- waitForRunToFinish: true,
99
- printRunLogs: true,
100
- });
101
- for await (const yieldedRun of iterator) {
102
- run = yieldedRun;
103
- if (!runStarted) {
104
- runStarted = true;
105
- // A *lot* is copied from `runs info`
106
- if (!this.flags.silent) {
107
- url = `https://console.apify.com/actors/${actorId}/runs/${yieldedRun.id}`;
108
- datasetUrl = `https://console.apify.com/storage/datasets/${yieldedRun.defaultDatasetId}`;
109
- const message = [
110
- `${chalk.yellow('Started')}: ${TimestampFormatter.display(yieldedRun.startedAt)}`,
111
- ];
112
- // container url
113
- if (yieldedRun.containerUrl) {
114
- message.push(`${chalk.yellow('Container URL')}: ${chalk.blue(yieldedRun.containerUrl)}`);
115
- }
116
- // basic version info
117
- const expectedActorVersion = run.buildNumber.split('.').slice(0, 2).join('.');
118
- const actorVersion = actorData.versions.find((item) => item.versionNumber === expectedActorVersion);
119
- const runVersionTaggedAs = Object.entries((actorData.taggedBuilds ?? {})).find(([, data]) => data.buildNumber === yieldedRun.buildNumber)?.[0];
120
- const messageParts = [`${chalk.yellow('Build')}:`, chalk.cyan(run.buildNumber)];
121
- if (runVersionTaggedAs) {
122
- messageParts.push(`(${chalk.yellow(runVersionTaggedAs)})`);
123
- }
124
- else {
125
- messageParts.push(`(${chalk.gray('N/A')})`);
126
- }
127
- if (actorVersion) {
128
- messageParts.push(`| ${chalk.gray('Actor version:')} ${chalk.cyan(actorVersion.versionNumber)} (${chalk.yellow(actorVersion.buildTag)})`);
129
- }
130
- message.push(messageParts.join(' '));
131
- // timeout
132
- message.push(`${chalk.yellow('Timeout')}: ${run.options.timeoutSecs.toLocaleString('en-US')} seconds`);
133
- // memory limit
134
- message.push(`${chalk.yellow('Memory')}: ${run.options.memoryMbytes} MB`);
135
- // url
136
- message.push(`${chalk.blue('View on Apify Console')}: ${url}`, '');
137
- simpleLog({ message: message.join('\n'), stdout: !this.flags.json });
138
- }
139
- }
140
- }
141
- if (this.flags.json) {
142
- printJsonToStdout(run);
143
- return;
144
- }
145
- if (!this.flags.silent) {
146
- simpleLog({
147
- message: [
148
- '',
149
- `${chalk.blue('Export results')}: ${datasetUrl}`,
150
- `${chalk.blue('View on Apify Console')}: ${url}`,
151
- ].join('\n'),
152
- stdout: true,
153
- });
154
- }
155
- if (this.flags.outputDataset) {
156
- const datasetId = run.defaultDatasetId;
157
- let info;
158
- let retries = 4;
159
- // Why is this needed? Sometimes, when fetching the dataset info right after the run ends, the object doesn't have the stats up-to-date.
160
- // But sometimes it does!
161
- do {
162
- info = (await apifyClient.dataset(datasetId).get());
163
- if (info?.itemCount) {
164
- break;
165
- }
166
- await new Promise((resolve) => {
167
- setTimeout(resolve, 250);
168
- });
169
- } while (retries--);
170
- const dataset = await apifyClient.dataset(datasetId).downloadItems(DownloadItemsFormat.JSON, {
171
- clean: true,
172
- });
173
- console.log(dataset.toString());
174
- }
175
- }
176
- static async resolveActorId({ client, localActorName, usernameOrId, providedActorNameOrId, }) {
177
- // Full ID
178
- if (providedActorNameOrId?.includes('/')) {
179
- const actor = await client.actor(providedActorNameOrId).get();
180
- if (!actor) {
181
- throw new Error(`Cannot find Actor with ID '${providedActorNameOrId}' in your account.`);
182
- }
183
- return {
184
- userFriendlyId: `${actor.username}/${actor.name}`,
185
- id: actor.id,
186
- actorData: actor,
187
- };
188
- }
189
- // Try fetching Actor directly by name/id
190
- if (providedActorNameOrId) {
191
- const actorById = await client.actor(providedActorNameOrId).get();
192
- if (actorById) {
193
- return {
194
- userFriendlyId: `${actorById.username}/${actorById.name}`,
195
- id: actorById.id,
196
- actorData: actorById,
197
- };
198
- }
199
- const actorByName = await client.actor(`${usernameOrId}/${providedActorNameOrId.toLowerCase()}`).get();
200
- if (actorByName) {
201
- return {
202
- userFriendlyId: `${actorByName.username}/${actorByName.name}`,
203
- id: actorByName.id,
204
- actorData: actorByName,
205
- };
206
- }
207
- throw new Error(`Cannot find Actor with name or ID '${providedActorNameOrId}' in your account.`);
208
- }
209
- if (localActorName) {
210
- const actor = await client.actor(`${usernameOrId}/${localActorName}`).get();
211
- if (!actor) {
212
- throw new Error(`Cannot find Actor with ID '${usernameOrId}/${localActorName}' ` +
213
- 'in your account. Call "apify push" to push this Actor to Apify platform.');
214
- }
215
- return {
216
- userFriendlyId: `${actor.username}/${actor.name}`,
217
- id: actor.id,
218
- actorData: actor,
219
- };
220
- }
221
- throw new Error('Please provide an Actor ID or name, or run this command from a directory with a valid Apify Actor.');
222
- }
223
- }
224
- //# sourceMappingURL=call.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"call.js","sourceRoot":"","sources":["../../../src/commands/actors/call.ts"],"names":[],"mappings":"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"}
@@ -1,203 +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 { CompactMode, ResponsiveTable } from '../../lib/commands/responsive-table.js';
7
- import { error, simpleLog } from '../../lib/outputs.js';
8
- import { DurationFormatter, getLoggedClientOrThrow, printJsonToStdout, TimestampFormatter } from '../../lib/utils.js';
9
- const eventTitleColumn = '\u200b';
10
- const eventPriceUsdColumn = '\u200b\u200b';
11
- const payPerEventTable = new ResponsiveTable({
12
- allColumns: [eventTitleColumn, eventPriceUsdColumn],
13
- mandatoryColumns: [eventTitleColumn, eventPriceUsdColumn],
14
- columnAlignments: {
15
- [eventTitleColumn]: 'left',
16
- [eventPriceUsdColumn]: 'right',
17
- },
18
- });
19
- export class ActorsInfoCommand extends ApifyCommand {
20
- static name = 'info';
21
- static description = 'Get information about an Actor.';
22
- static flags = {
23
- readme: Flags.boolean({
24
- description: 'Return the Actor README.',
25
- exclusive: ['input'],
26
- }),
27
- input: Flags.boolean({
28
- description: 'Return the Actor input schema.',
29
- exclusive: ['readme'],
30
- }),
31
- };
32
- static args = {
33
- actorId: Args.string({
34
- description: 'The ID of the Actor to return information about.',
35
- required: true,
36
- }),
37
- };
38
- static enableJsonFlag = true;
39
- async run() {
40
- const { actorId } = this.args;
41
- const { readme, input, json } = this.flags;
42
- const client = await getLoggedClientOrThrow();
43
- const ctx = await resolveActorContext({ providedActorNameOrId: actorId, client });
44
- if (!ctx.valid) {
45
- error({
46
- message: `${ctx.reason}. Please specify the Actor ID.`,
47
- stdout: true,
48
- });
49
- return;
50
- }
51
- const actorInfo = (await client.actor(ctx.id).get());
52
- const actorMaker = await client.user(actorInfo.userId).get();
53
- actorInfo.actorMaker = actorMaker;
54
- // Hydrate builds
55
- for (const taggedBuild of Object.values(actorInfo.taggedBuilds ?? {})) {
56
- if (!taggedBuild.buildId) {
57
- continue;
58
- }
59
- const buildData = await client.build(taggedBuild.buildId).get();
60
- taggedBuild.build = buildData;
61
- }
62
- if (json) {
63
- printJsonToStdout(actorInfo);
64
- return;
65
- }
66
- const latest = actorInfo.taggedBuilds?.latest;
67
- if (readme) {
68
- if (!latest) {
69
- error({
70
- message: 'No README found for this Actor.',
71
- stdout: true,
72
- });
73
- return;
74
- }
75
- if (!latest.build?.readme) {
76
- error({
77
- message: 'No README found for this Actor.',
78
- stdout: true,
79
- });
80
- return;
81
- }
82
- simpleLog({ message: latest.build.readme, stdout: true });
83
- }
84
- if (input) {
85
- if (!latest) {
86
- error({
87
- message: 'No input schema found for this Actor.',
88
- stdout: true,
89
- });
90
- return;
91
- }
92
- if (!latest.build?.inputSchema) {
93
- error({
94
- message: 'No input schema found for this Actor.',
95
- stdout: true,
96
- });
97
- return;
98
- }
99
- simpleLog({ message: latest.build.inputSchema, stdout: true });
100
- }
101
- const message = [
102
- `Information about Actor ${chalk.yellow(`${actorInfo.username}/${actorInfo.name}`)} (${chalk.gray(actorInfo.id)})`,
103
- '',
104
- ];
105
- if (actorInfo.title) {
106
- message.push(`${chalk.yellow('Title:')} ${chalk.bold(actorInfo.title)}`);
107
- }
108
- if (actorInfo.description) {
109
- message.push(`${chalk.yellow('Description:')} ${actorInfo.description}`);
110
- }
111
- message.push(`${chalk.yellow('Created at:')} ${chalk.cyan(TimestampFormatter.display(actorInfo.createdAt))} ${chalk.gray('|')} ${chalk.yellow('Updated at:')} ${chalk.cyan(TimestampFormatter.display(actorInfo.modifiedAt))}`);
112
- if (actorInfo.actorMaker) {
113
- message.push('', `${chalk.yellow('Made by:')} ${chalk.cyan(actorInfo.actorMaker.profile.name ?? actorInfo.actorMaker.username)}`);
114
- // Missing types who?
115
- if (Reflect.get(actorInfo, 'isCritical')) {
116
- message[message.length - 1] += ` ${chalk.bgGray('Maintained by Apify')}`;
117
- }
118
- }
119
- if (actorInfo.isPublic) {
120
- message.push('', `${chalk.yellow('Actor is')} ${chalk.green('PUBLIC')}`);
121
- }
122
- else {
123
- message.push('', `${chalk.yellow('Actor is')} ${chalk.cyan('PRIVATE')}`);
124
- }
125
- if (actorInfo.isDeprecated) {
126
- message.push('', `${chalk.yellow('Actor is')} ${chalk.red('DEPRECATED')}`);
127
- }
128
- // Pricing info
129
- const pricingInfo = Reflect.get(actorInfo, 'pricingInfos');
130
- if (pricingInfo?.length) {
131
- // We only print the latest pricing info
132
- const latestPricingInfo = pricingInfo.at(-1);
133
- switch (latestPricingInfo.pricingModel) {
134
- case 'FLAT_PRICE_PER_MONTH': {
135
- message.push(`${chalk.yellow('Pricing information:')} ${chalk.bgGray(`$${latestPricingInfo.pricePerUnitUsd}/month + usage`)}`);
136
- if (latestPricingInfo.trialMinutes) {
137
- const minutesToMs = latestPricingInfo.trialMinutes * 60 * 1000;
138
- const duration = DurationFormatter.format(minutesToMs);
139
- message.push(` ${chalk.yellow('Trial duration:')} ${chalk.bold(duration)}`);
140
- }
141
- break;
142
- }
143
- case 'PRICE_PER_DATASET_ITEM': {
144
- const pricePerOneKItems = latestPricingInfo.pricePerUnitUsd * 1000;
145
- message.push(`${chalk.yellow('Pricing information:')} ${chalk.bgGray(`$${pricePerOneKItems.toFixed(2)} / 1,000 results`)}`);
146
- break;
147
- }
148
- case 'PAY_PER_EVENT': {
149
- message.push(`${chalk.yellow('Pricing information:')} ${chalk.bgGray('Pay per event')}`);
150
- const events = Object.values(latestPricingInfo.pricingPerEvent?.actorChargeEvents ?? {});
151
- for (const eventInfo of events) {
152
- payPerEventTable.pushRow({
153
- [eventTitleColumn]: eventInfo.eventTitle,
154
- [eventPriceUsdColumn]: chalk.bold(`$${eventInfo.eventPriceUsd.toFixed(2)}`),
155
- });
156
- }
157
- const rendered = payPerEventTable.render(CompactMode.VeryCompact);
158
- const split = rendered.split('\n');
159
- // Remove the second line
160
- split.splice(1, 1);
161
- message.push(split.join('\n'));
162
- break;
163
- }
164
- case 'FREE': {
165
- message.push(`${chalk.yellow('Pricing information:')} ${chalk.bgGray('Pay for usage')}`);
166
- break;
167
- }
168
- default: {
169
- message.push(`${chalk.yellow('Pricing information:')} ${chalk.bgGray(`Unknown pricing model (${chalk.yellow(latestPricingInfo.pricingModel)})`)}`);
170
- }
171
- }
172
- }
173
- else {
174
- message.push(`${chalk.yellow('Pricing information:')} ${chalk.bgGray('Pay for usage')}`);
175
- }
176
- // TODO: do we care about this information?
177
- if (actorInfo.seoTitle || actorInfo.seoDescription) {
178
- message.push('', chalk.yellow('SEO information:'));
179
- if (actorInfo.seoTitle) {
180
- message.push(` ${chalk.yellow('Title:')} ${actorInfo.seoTitle}`);
181
- }
182
- if (actorInfo.seoDescription) {
183
- message.push(` ${chalk.yellow('Description:')} ${actorInfo.seoDescription}`);
184
- }
185
- }
186
- if (actorInfo.taggedBuilds) {
187
- message.push('', chalk.yellow('Builds:'));
188
- // Handle latest first
189
- const latestBuild = actorInfo.taggedBuilds.latest;
190
- if (latestBuild) {
191
- message.push(` ${chalk.yellow('-')} ${chalk.cyan(latestBuild.buildNumber)} ${chalk.gray('/')} ${chalk.yellow('latest')}`);
192
- }
193
- for (const [buildTag, build] of Object.entries(actorInfo.taggedBuilds)) {
194
- if (buildTag === 'latest') {
195
- continue;
196
- }
197
- message.push(` ${chalk.yellow('-')} ${chalk.cyan(build.buildNumber)} ${chalk.gray('/')} ${chalk.yellow(buildTag)}`);
198
- }
199
- }
200
- simpleLog({ message: message.join('\n'), stdout: true });
201
- }
202
- }
203
- //# sourceMappingURL=info.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"info.js","sourceRoot":"","sources":["../../../src/commands/actors/info.ts"],"names":[],"mappings":"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"}