apify-cli 0.21.0-beta.8 → 0.21.0-beta.81

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 (254) hide show
  1. package/CHANGELOG.md +40 -1
  2. package/README.md +589 -74
  3. package/dist/.tsbuildinfo +1 -1
  4. package/dist/commands/actor/get-input.js +1 -6
  5. package/dist/commands/actor/get-input.js.map +1 -1
  6. package/dist/commands/actor/get-value.js +7 -17
  7. package/dist/commands/actor/get-value.js.map +1 -1
  8. package/dist/commands/actor/index.js +1 -6
  9. package/dist/commands/actor/index.js.map +1 -1
  10. package/dist/commands/actor/push-data.d.ts.map +1 -1
  11. package/dist/commands/actor/push-data.js +20 -24
  12. package/dist/commands/actor/push-data.js.map +1 -1
  13. package/dist/commands/actor/set-value.js +27 -50
  14. package/dist/commands/actor/set-value.js.map +1 -1
  15. package/dist/commands/actors/build.d.ts +4 -0
  16. package/dist/commands/actors/build.d.ts.map +1 -0
  17. package/dist/commands/actors/build.js +4 -0
  18. package/dist/commands/actors/build.js.map +1 -0
  19. package/dist/commands/actors/call.d.ts +30 -0
  20. package/dist/commands/actors/call.d.ts.map +1 -0
  21. package/dist/commands/actors/call.js +221 -0
  22. package/dist/commands/actors/call.js.map +1 -0
  23. package/dist/commands/actors/index.js +1 -6
  24. package/dist/commands/actors/index.js.map +1 -1
  25. package/dist/commands/actors/info.d.ts +22 -0
  26. package/dist/commands/actors/info.d.ts.map +1 -0
  27. package/dist/commands/actors/info.js +201 -0
  28. package/dist/commands/actors/info.js.map +1 -0
  29. package/dist/commands/actors/ls.d.ts +15 -0
  30. package/dist/commands/actors/ls.d.ts.map +1 -0
  31. package/dist/commands/actors/ls.js +168 -0
  32. package/dist/commands/actors/ls.js.map +1 -0
  33. package/dist/commands/actors/pull.d.ts +13 -0
  34. package/dist/commands/actors/pull.d.ts.map +1 -0
  35. package/dist/commands/actors/pull.js +151 -0
  36. package/dist/commands/actors/pull.js.map +1 -0
  37. package/dist/commands/actors/push.d.ts +18 -0
  38. package/dist/commands/actors/push.d.ts.map +1 -0
  39. package/dist/commands/actors/push.js +306 -0
  40. package/dist/commands/actors/push.js.map +1 -0
  41. package/dist/commands/actors/rm.js +7 -17
  42. package/dist/commands/actors/rm.js.map +1 -1
  43. package/dist/commands/actors/start.d.ts +18 -0
  44. package/dist/commands/actors/start.d.ts.map +1 -0
  45. package/dist/commands/actors/start.js +124 -0
  46. package/dist/commands/actors/start.js.map +1 -0
  47. package/dist/commands/builds/create.d.ts +3 -1
  48. package/dist/commands/builds/create.d.ts.map +1 -1
  49. package/dist/commands/builds/create.js +35 -37
  50. package/dist/commands/builds/create.js.map +1 -1
  51. package/dist/commands/builds/index.js +1 -6
  52. package/dist/commands/builds/index.js.map +1 -1
  53. package/dist/commands/builds/info.js +11 -26
  54. package/dist/commands/builds/info.js.map +1 -1
  55. package/dist/commands/builds/log.d.ts.map +1 -1
  56. package/dist/commands/builds/log.js +12 -19
  57. package/dist/commands/builds/log.js.map +1 -1
  58. package/dist/commands/builds/ls.d.ts +3 -1
  59. package/dist/commands/builds/ls.d.ts.map +1 -1
  60. package/dist/commands/builds/ls.js +40 -45
  61. package/dist/commands/builds/ls.js.map +1 -1
  62. package/dist/commands/builds/rm.d.ts.map +1 -1
  63. package/dist/commands/builds/rm.js +11 -19
  64. package/dist/commands/builds/rm.js.map +1 -1
  65. package/dist/commands/call.d.ts +2 -18
  66. package/dist/commands/call.d.ts.map +1 -1
  67. package/dist/commands/call.js +2 -181
  68. package/dist/commands/call.js.map +1 -1
  69. package/dist/commands/check-version.js +8 -28
  70. package/dist/commands/check-version.js.map +1 -1
  71. package/dist/commands/create.js +29 -44
  72. package/dist/commands/create.js.map +1 -1
  73. package/dist/commands/datasets/create.d.ts +10 -0
  74. package/dist/commands/datasets/create.d.ts.map +1 -0
  75. package/dist/commands/datasets/create.js +37 -0
  76. package/dist/commands/datasets/create.js.map +1 -0
  77. package/dist/commands/datasets/get-items.d.ts +17 -0
  78. package/dist/commands/datasets/get-items.d.ts.map +1 -0
  79. package/dist/commands/datasets/get-items.js +85 -0
  80. package/dist/commands/datasets/get-items.js.map +1 -0
  81. package/dist/commands/datasets/index.js +1 -6
  82. package/dist/commands/datasets/index.js.map +1 -1
  83. package/dist/commands/datasets/ls.d.ts +13 -0
  84. package/dist/commands/datasets/ls.d.ts.map +1 -0
  85. package/dist/commands/datasets/ls.js +72 -0
  86. package/dist/commands/datasets/ls.js.map +1 -0
  87. package/dist/commands/datasets/push-items.d.ts +10 -0
  88. package/dist/commands/datasets/push-items.d.ts.map +1 -0
  89. package/dist/commands/datasets/push-items.js +69 -0
  90. package/dist/commands/datasets/push-items.js.map +1 -0
  91. package/dist/commands/datasets/rename.d.ts +13 -0
  92. package/dist/commands/datasets/rename.d.ts.map +1 -0
  93. package/dist/commands/datasets/rename.js +69 -0
  94. package/dist/commands/datasets/rename.js.map +1 -0
  95. package/dist/commands/datasets/rm.d.ts +9 -0
  96. package/dist/commands/datasets/rm.d.ts.map +1 -0
  97. package/dist/commands/datasets/rm.js +47 -0
  98. package/dist/commands/datasets/rm.js.map +1 -0
  99. package/dist/commands/edit-input-schema.js +9 -29
  100. package/dist/commands/edit-input-schema.js.map +1 -1
  101. package/dist/commands/info.js +2 -7
  102. package/dist/commands/info.js.map +1 -1
  103. package/dist/commands/init-wrap-scrapy.js +9 -24
  104. package/dist/commands/init-wrap-scrapy.js.map +1 -1
  105. package/dist/commands/init.js +19 -34
  106. package/dist/commands/init.js.map +1 -1
  107. package/dist/commands/key-value-stores/create.d.ts +11 -0
  108. package/dist/commands/key-value-stores/create.d.ts.map +1 -0
  109. package/dist/commands/key-value-stores/create.js +38 -0
  110. package/dist/commands/key-value-stores/create.js.map +1 -0
  111. package/dist/commands/key-value-stores/delete-value.d.ts +11 -0
  112. package/dist/commands/key-value-stores/delete-value.d.ts.map +1 -0
  113. package/dist/commands/key-value-stores/delete-value.js +61 -0
  114. package/dist/commands/key-value-stores/delete-value.js.map +1 -0
  115. package/dist/commands/key-value-stores/get-value.d.ts +14 -0
  116. package/dist/commands/key-value-stores/get-value.d.ts.map +1 -0
  117. package/dist/commands/key-value-stores/get-value.js +69 -0
  118. package/dist/commands/key-value-stores/get-value.js.map +1 -0
  119. package/dist/commands/key-value-stores/index.d.ts +1 -0
  120. package/dist/commands/key-value-stores/index.d.ts.map +1 -1
  121. package/dist/commands/key-value-stores/index.js +2 -6
  122. package/dist/commands/key-value-stores/index.js.map +1 -1
  123. package/dist/commands/key-value-stores/keys.d.ts +15 -0
  124. package/dist/commands/key-value-stores/keys.d.ts.map +1 -0
  125. package/dist/commands/key-value-stores/keys.js +60 -0
  126. package/dist/commands/key-value-stores/keys.js.map +1 -0
  127. package/dist/commands/key-value-stores/ls.d.ts +14 -0
  128. package/dist/commands/key-value-stores/ls.d.ts.map +1 -0
  129. package/dist/commands/key-value-stores/ls.js +71 -0
  130. package/dist/commands/key-value-stores/ls.js.map +1 -0
  131. package/dist/commands/key-value-stores/rename.d.ts +14 -0
  132. package/dist/commands/key-value-stores/rename.d.ts.map +1 -0
  133. package/dist/commands/key-value-stores/rename.js +70 -0
  134. package/dist/commands/key-value-stores/rename.js.map +1 -0
  135. package/dist/commands/key-value-stores/rm.d.ts +10 -0
  136. package/dist/commands/key-value-stores/rm.d.ts.map +1 -0
  137. package/dist/commands/key-value-stores/rm.js +48 -0
  138. package/dist/commands/key-value-stores/rm.js.map +1 -0
  139. package/dist/commands/key-value-stores/set-value.d.ts +15 -0
  140. package/dist/commands/key-value-stores/set-value.d.ts.map +1 -0
  141. package/dist/commands/key-value-stores/set-value.js +59 -0
  142. package/dist/commands/key-value-stores/set-value.js.map +1 -0
  143. package/dist/commands/login.js +16 -26
  144. package/dist/commands/login.js.map +1 -1
  145. package/dist/commands/logout.js +2 -7
  146. package/dist/commands/logout.js.map +1 -1
  147. package/dist/commands/pull.d.ts +2 -10
  148. package/dist/commands/pull.d.ts.map +1 -1
  149. package/dist/commands/pull.js +2 -160
  150. package/dist/commands/pull.js.map +1 -1
  151. package/dist/commands/push.d.ts +2 -16
  152. package/dist/commands/push.d.ts.map +1 -1
  153. package/dist/commands/push.js +2 -323
  154. package/dist/commands/push.js.map +1 -1
  155. package/dist/commands/request-queues/index.js +1 -6
  156. package/dist/commands/request-queues/index.js.map +1 -1
  157. package/dist/commands/run.d.ts.map +1 -1
  158. package/dist/commands/run.js +67 -62
  159. package/dist/commands/run.js.map +1 -1
  160. package/dist/commands/runs/abort.d.ts.map +1 -1
  161. package/dist/commands/runs/abort.js +21 -39
  162. package/dist/commands/runs/abort.js.map +1 -1
  163. package/dist/commands/runs/index.js +1 -6
  164. package/dist/commands/runs/index.js.map +1 -1
  165. package/dist/commands/runs/info.js +21 -41
  166. package/dist/commands/runs/info.js.map +1 -1
  167. package/dist/commands/runs/log.js +9 -19
  168. package/dist/commands/runs/log.js.map +1 -1
  169. package/dist/commands/runs/ls.d.ts +3 -1
  170. package/dist/commands/runs/ls.d.ts.map +1 -1
  171. package/dist/commands/runs/ls.js +34 -45
  172. package/dist/commands/runs/ls.js.map +1 -1
  173. package/dist/commands/runs/resurrect.d.ts.map +1 -1
  174. package/dist/commands/runs/resurrect.js +12 -25
  175. package/dist/commands/runs/resurrect.js.map +1 -1
  176. package/dist/commands/runs/rm.js +7 -17
  177. package/dist/commands/runs/rm.js.map +1 -1
  178. package/dist/commands/secrets/add.js +7 -17
  179. package/dist/commands/secrets/add.js.map +1 -1
  180. package/dist/commands/secrets/index.js +6 -11
  181. package/dist/commands/secrets/index.js.map +1 -1
  182. package/dist/commands/secrets/rm.js +7 -17
  183. package/dist/commands/secrets/rm.js.map +1 -1
  184. package/dist/commands/task/index.js +1 -6
  185. package/dist/commands/task/index.js.map +1 -1
  186. package/dist/commands/task/run.d.ts +0 -1
  187. package/dist/commands/task/run.d.ts.map +1 -1
  188. package/dist/commands/task/run.js +30 -30
  189. package/dist/commands/task/run.js.map +1 -1
  190. package/dist/commands/validate-schema.js +17 -32
  191. package/dist/commands/validate-schema.js.map +1 -1
  192. package/dist/lib/apify_command.d.ts.map +1 -1
  193. package/dist/lib/apify_command.js +3 -21
  194. package/dist/lib/apify_command.js.map +1 -1
  195. package/dist/lib/commands/confirm.d.ts +2 -2
  196. package/dist/lib/commands/confirm.d.ts.map +1 -1
  197. package/dist/lib/commands/confirm.js +1 -1
  198. package/dist/lib/commands/confirm.js.map +1 -1
  199. package/dist/lib/commands/pretty-print-bytes.d.ts +6 -1
  200. package/dist/lib/commands/pretty-print-bytes.d.ts.map +1 -1
  201. package/dist/lib/commands/pretty-print-bytes.js +5 -4
  202. package/dist/lib/commands/pretty-print-bytes.js.map +1 -1
  203. package/dist/lib/commands/read-stdin.d.ts +1 -1
  204. package/dist/lib/commands/read-stdin.d.ts.map +1 -1
  205. package/dist/lib/commands/read-stdin.js +13 -1
  206. package/dist/lib/commands/read-stdin.js.map +1 -1
  207. package/dist/lib/commands/resolve-input.js +1 -1
  208. package/dist/lib/commands/resolve-input.js.map +1 -1
  209. package/dist/lib/commands/responsive-table.d.ts +15 -1
  210. package/dist/lib/commands/responsive-table.d.ts.map +1 -1
  211. package/dist/lib/commands/responsive-table.js +36 -14
  212. package/dist/lib/commands/responsive-table.js.map +1 -1
  213. package/dist/lib/commands/run-on-cloud.d.ts +3 -2
  214. package/dist/lib/commands/run-on-cloud.d.ts.map +1 -1
  215. package/dist/lib/commands/run-on-cloud.js +42 -18
  216. package/dist/lib/commands/run-on-cloud.js.map +1 -1
  217. package/dist/lib/commands/storages.d.ts +10 -0
  218. package/dist/lib/commands/storages.d.ts.map +1 -0
  219. package/dist/lib/commands/storages.js +30 -0
  220. package/dist/lib/commands/storages.js.map +1 -0
  221. package/dist/lib/consts.d.ts.map +1 -1
  222. package/dist/lib/consts.js +11 -1
  223. package/dist/lib/consts.js.map +1 -1
  224. package/dist/lib/create-utils.d.ts +1 -1
  225. package/dist/lib/create-utils.d.ts.map +1 -1
  226. package/dist/lib/create-utils.js +1 -2
  227. package/dist/lib/create-utils.js.map +1 -1
  228. package/dist/lib/exec.d.ts.map +1 -1
  229. package/dist/lib/exec.js +3 -1
  230. package/dist/lib/exec.js.map +1 -1
  231. package/dist/lib/projects/scrapy/ScrapyProjectAnalyzer.d.ts.map +1 -1
  232. package/dist/lib/projects/scrapy/ScrapyProjectAnalyzer.js +8 -22
  233. package/dist/lib/projects/scrapy/ScrapyProjectAnalyzer.js.map +1 -1
  234. package/dist/lib/projects/scrapy/Spider.js +4 -24
  235. package/dist/lib/projects/scrapy/Spider.js.map +1 -1
  236. package/dist/lib/projects/scrapy/SpiderFileAnalyzer.js +1 -6
  237. package/dist/lib/projects/scrapy/SpiderFileAnalyzer.js.map +1 -1
  238. package/dist/lib/projects/scrapy/wrapScrapyProject.d.ts.map +1 -1
  239. package/dist/lib/projects/scrapy/wrapScrapyProject.js +3 -2
  240. package/dist/lib/projects/scrapy/wrapScrapyProject.js.map +1 -1
  241. package/dist/lib/telemetry.d.ts.map +1 -1
  242. package/dist/lib/telemetry.js +1 -0
  243. package/dist/lib/telemetry.js.map +1 -1
  244. package/dist/lib/utils.d.ts +2 -2
  245. package/dist/lib/utils.d.ts.map +1 -1
  246. package/dist/lib/utils.js +1 -2
  247. package/dist/lib/utils.js.map +1 -1
  248. package/dist/lib/version_check.d.ts +1 -1
  249. package/dist/lib/version_check.d.ts.map +1 -1
  250. package/dist/lib/version_check.js +6 -0
  251. package/dist/lib/version_check.js.map +1 -1
  252. package/dist/typechecking.tsbuildinfo +1 -1
  253. package/oclif.manifest.json +1206 -166
  254. package/package.json +19 -18
@@ -0,0 +1,201 @@
1
+ import { Args, Flags } from '@oclif/core';
2
+ import chalk from 'chalk';
3
+ import { ApifyCommand } from '../../lib/apify_command.js';
4
+ import { resolveActorContext } from '../../lib/commands/resolve-actor-context.js';
5
+ import { CompactMode, ResponsiveTable } from '../../lib/commands/responsive-table.js';
6
+ import { error, simpleLog } from '../../lib/outputs.js';
7
+ import { DurationFormatter, getLoggedClientOrThrow, TimestampFormatter } from '../../lib/utils.js';
8
+ const eventTitleColumn = '\u200b';
9
+ const eventPriceUsdColumn = '\u200b\u200b';
10
+ const payPerEventTable = new ResponsiveTable({
11
+ allColumns: [eventTitleColumn, eventPriceUsdColumn],
12
+ mandatoryColumns: [eventTitleColumn, eventPriceUsdColumn],
13
+ columnAlignments: {
14
+ [eventTitleColumn]: 'left',
15
+ [eventPriceUsdColumn]: 'right',
16
+ },
17
+ });
18
+ export class ActorsInfoCommand extends ApifyCommand {
19
+ static description = 'Get information about an Actor.';
20
+ static flags = {
21
+ readme: Flags.boolean({
22
+ description: 'Return the Actor README.',
23
+ exclusive: ['input'],
24
+ }),
25
+ input: Flags.boolean({
26
+ description: 'Return the Actor input schema.',
27
+ exclusive: ['readme'],
28
+ }),
29
+ };
30
+ static args = {
31
+ actorId: Args.string({
32
+ description: 'The ID of the Actor to return information about.',
33
+ required: true,
34
+ }),
35
+ };
36
+ static enableJsonFlag = true;
37
+ async run() {
38
+ const { actorId } = this.args;
39
+ const { readme, input, json } = this.flags;
40
+ const client = await getLoggedClientOrThrow();
41
+ const ctx = await resolveActorContext({ providedActorNameOrId: actorId, client });
42
+ if (!ctx.valid) {
43
+ error({
44
+ message: `${ctx.reason}. Please specify the Actor ID.`,
45
+ stdout: true,
46
+ });
47
+ return;
48
+ }
49
+ const actorInfo = (await client.actor(ctx.id).get());
50
+ const actorMaker = await client.user(actorInfo.userId).get();
51
+ actorInfo.actorMaker = actorMaker;
52
+ // Hydrate builds
53
+ for (const taggedBuild of Object.values(actorInfo.taggedBuilds ?? {})) {
54
+ if (!taggedBuild.buildId) {
55
+ continue;
56
+ }
57
+ const buildData = await client.build(taggedBuild.buildId).get();
58
+ taggedBuild.build = buildData;
59
+ }
60
+ if (json) {
61
+ return actorInfo;
62
+ }
63
+ const latest = actorInfo.taggedBuilds?.latest;
64
+ if (readme) {
65
+ if (!latest) {
66
+ error({
67
+ message: 'No README found for this Actor.',
68
+ stdout: true,
69
+ });
70
+ return;
71
+ }
72
+ if (!latest.build?.readme) {
73
+ error({
74
+ message: 'No README found for this Actor.',
75
+ stdout: true,
76
+ });
77
+ return;
78
+ }
79
+ simpleLog({ message: latest.build.readme, stdout: true });
80
+ }
81
+ if (input) {
82
+ if (!latest) {
83
+ error({
84
+ message: 'No input schema found for this Actor.',
85
+ stdout: true,
86
+ });
87
+ return;
88
+ }
89
+ if (!latest.build?.inputSchema) {
90
+ error({
91
+ message: 'No input schema found for this Actor.',
92
+ stdout: true,
93
+ });
94
+ return;
95
+ }
96
+ simpleLog({ message: latest.build.inputSchema, stdout: true });
97
+ }
98
+ const message = [
99
+ `Information about Actor ${chalk.yellow(`${actorInfo.username}/${actorInfo.name}`)} (${chalk.gray(actorInfo.id)})`,
100
+ '',
101
+ ];
102
+ if (actorInfo.title) {
103
+ message.push(`${chalk.yellow('Title:')} ${chalk.bold(actorInfo.title)}`);
104
+ }
105
+ if (actorInfo.description) {
106
+ message.push(`${chalk.yellow('Description:')} ${actorInfo.description}`);
107
+ }
108
+ message.push(`${chalk.yellow('Created at:')} ${chalk.cyan(TimestampFormatter.display(actorInfo.createdAt))} ${chalk.gray('|')} ${chalk.yellow('Updated at:')} ${chalk.cyan(TimestampFormatter.display(actorInfo.modifiedAt))}`);
109
+ if (actorInfo.actorMaker) {
110
+ message.push('', `${chalk.yellow('Made by:')} ${chalk.cyan(actorInfo.actorMaker.profile.name ?? actorInfo.actorMaker.username)}`);
111
+ // Missing types who?
112
+ if (Reflect.get(actorInfo, 'isCritical')) {
113
+ message[message.length - 1] += ` ${chalk.bgGray('Maintained by Apify')}`;
114
+ }
115
+ }
116
+ if (actorInfo.isPublic) {
117
+ message.push('', `${chalk.yellow('Actor is')} ${chalk.green('PUBLIC')}`);
118
+ }
119
+ else {
120
+ message.push('', `${chalk.yellow('Actor is')} ${chalk.cyan('PRIVATE')}`);
121
+ }
122
+ if (actorInfo.isDeprecated) {
123
+ message.push('', `${chalk.yellow('Actor is')} ${chalk.red('DEPRECATED')}`);
124
+ }
125
+ // Pricing info
126
+ const pricingInfo = Reflect.get(actorInfo, 'pricingInfos');
127
+ if (pricingInfo?.length) {
128
+ // We only print the latest pricing info
129
+ const latestPricingInfo = pricingInfo.at(-1);
130
+ switch (latestPricingInfo.pricingModel) {
131
+ case 'FLAT_PRICE_PER_MONTH': {
132
+ message.push(`${chalk.yellow('Pricing information:')} ${chalk.bgGray(`$${latestPricingInfo.pricePerUnitUsd}/month + usage`)}`);
133
+ if (latestPricingInfo.trialMinutes) {
134
+ const minutesToMs = latestPricingInfo.trialMinutes * 60 * 1000;
135
+ const duration = DurationFormatter.format(minutesToMs);
136
+ message.push(` ${chalk.yellow('Trial duration:')} ${chalk.bold(duration)}`);
137
+ }
138
+ break;
139
+ }
140
+ case 'PRICE_PER_DATASET_ITEM': {
141
+ const pricePerOneKItems = latestPricingInfo.pricePerUnitUsd * 1000;
142
+ message.push(`${chalk.yellow('Pricing information:')} ${chalk.bgGray(`$${pricePerOneKItems.toFixed(2)} / 1,000 results`)}`);
143
+ break;
144
+ }
145
+ case 'PAY_PER_EVENT': {
146
+ message.push(`${chalk.yellow('Pricing information:')} ${chalk.bgGray('Pay per event')}`);
147
+ const events = Object.values(latestPricingInfo.pricingPerEvent?.actorChargeEvents ?? {});
148
+ for (const eventInfo of events) {
149
+ payPerEventTable.pushRow({
150
+ [eventTitleColumn]: eventInfo.eventTitle,
151
+ [eventPriceUsdColumn]: chalk.bold(`$${eventInfo.eventPriceUsd.toFixed(2)}`),
152
+ });
153
+ }
154
+ const rendered = payPerEventTable.render(CompactMode.VeryCompact);
155
+ const split = rendered.split('\n');
156
+ // Remove the second line
157
+ split.splice(1, 1);
158
+ message.push(split.join('\n'));
159
+ break;
160
+ }
161
+ case 'FREE': {
162
+ message.push(`${chalk.yellow('Pricing information:')} ${chalk.bgGray('Pay for usage')}`);
163
+ break;
164
+ }
165
+ default: {
166
+ message.push(`${chalk.yellow('Pricing information:')} ${chalk.bgGray(`Unknown pricing model (${chalk.yellow(latestPricingInfo.pricingModel)})`)}`);
167
+ }
168
+ }
169
+ }
170
+ else {
171
+ message.push(`${chalk.yellow('Pricing information:')} ${chalk.bgGray('Pay for usage')}`);
172
+ }
173
+ // TODO: do we care about this information?
174
+ if (actorInfo.seoTitle || actorInfo.seoDescription) {
175
+ message.push('', chalk.yellow('SEO information:'));
176
+ if (actorInfo.seoTitle) {
177
+ message.push(` ${chalk.yellow('Title:')} ${actorInfo.seoTitle}`);
178
+ }
179
+ if (actorInfo.seoDescription) {
180
+ message.push(` ${chalk.yellow('Description:')} ${actorInfo.seoDescription}`);
181
+ }
182
+ }
183
+ if (actorInfo.taggedBuilds) {
184
+ message.push('', chalk.yellow('Builds:'));
185
+ // Handle latest first
186
+ const latestBuild = actorInfo.taggedBuilds.latest;
187
+ if (latestBuild) {
188
+ message.push(` ${chalk.yellow('-')} ${chalk.cyan(latestBuild.buildNumber)} ${chalk.gray('/')} ${chalk.yellow('latest')}`);
189
+ }
190
+ for (const [buildTag, build] of Object.entries(actorInfo.taggedBuilds)) {
191
+ if (buildTag === 'latest') {
192
+ continue;
193
+ }
194
+ message.push(` ${chalk.yellow('-')} ${chalk.cyan(build.buildNumber)} ${chalk.gray('/')} ${chalk.yellow(buildTag)}`);
195
+ }
196
+ }
197
+ simpleLog({ message: message.join('\n'), stdout: true });
198
+ return undefined;
199
+ }
200
+ }
201
+ //# sourceMappingURL=info.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"info.js","sourceRoot":"","sources":["../../../src/commands/actors/info.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import { ApifyCommand } from '../../lib/apify_command.js';
2
+ export declare class ActorsLsCommand extends ApifyCommand<typeof ActorsLsCommand> {
3
+ static description: string;
4
+ static flags: {
5
+ my: import("@oclif/core/interfaces").BooleanFlag<boolean>;
6
+ offset: import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
7
+ limit: import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
8
+ desc: import("@oclif/core/interfaces").BooleanFlag<boolean>;
9
+ };
10
+ static enableJsonFlag: boolean;
11
+ run(): Promise<import("apify-client").ActorCollectionListResult | undefined>;
12
+ private sortByModifiedAt;
13
+ private sortByLastRun;
14
+ }
15
+ //# sourceMappingURL=ls.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ls.d.ts","sourceRoot":"","sources":["../../../src/commands/actors/ls.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AA8D1D,qBAAa,eAAgB,SAAQ,YAAY,CAAC,OAAO,eAAe,CAAC;IACxE,OAAgB,WAAW,SAAuD;IAElF,OAAgB,KAAK;;;;;MAiBnB;IAEF,OAAgB,cAAc,UAAQ;IAEhC,GAAG;IAwHT,OAAO,CAAC,gBAAgB;IASxB,OAAO,CAAC,aAAa;CAQrB"}
@@ -0,0 +1,168 @@
1
+ import { Flags } from '@oclif/core';
2
+ import chalk from 'chalk';
3
+ import { ApifyCommand } from '../../lib/apify_command.js';
4
+ import { prettyPrintStatus } from '../../lib/commands/pretty-print-status.js';
5
+ import { CompactMode, ResponsiveTable } from '../../lib/commands/responsive-table.js';
6
+ import { info, simpleLog } from '../../lib/outputs.js';
7
+ import { getLoggedClientOrThrow, ShortDurationFormatter, TimestampFormatter } from '../../lib/utils.js';
8
+ const recentlyUsedTable = new ResponsiveTable({
9
+ allColumns: ['Name', 'Runs', 'Last run started at', 'Last run status', 'Last run duration'],
10
+ mandatoryColumns: ['Name', 'Runs', 'Last run started at', 'Last run status', 'Last run duration'],
11
+ columnAlignments: {
12
+ 'Runs': 'right',
13
+ 'Last run duration': 'right',
14
+ Name: 'left',
15
+ 'Last run status': 'center',
16
+ },
17
+ });
18
+ const myRecentlyUsedTable = new ResponsiveTable({
19
+ allColumns: [
20
+ 'Name',
21
+ 'Modified at',
22
+ 'Builds',
23
+ 'Default build',
24
+ 'Runs',
25
+ 'Last run',
26
+ 'Last run status',
27
+ 'Last run duration',
28
+ ],
29
+ mandatoryColumns: [
30
+ 'Name',
31
+ 'Modified at',
32
+ 'Builds',
33
+ 'Default build',
34
+ 'Runs',
35
+ 'Last run',
36
+ 'Last run status',
37
+ 'Last run duration',
38
+ ],
39
+ columnAlignments: {
40
+ 'Builds': 'right',
41
+ 'Runs': 'right',
42
+ 'Last run duration': 'right',
43
+ Name: 'left',
44
+ 'Last run status': 'center',
45
+ },
46
+ });
47
+ export class ActorsLsCommand extends ApifyCommand {
48
+ static description = 'Lists all recently ran Actors or your own Actors.';
49
+ static flags = {
50
+ my: Flags.boolean({
51
+ description: 'Whether to list Actors made by the logged in user.',
52
+ default: false,
53
+ }),
54
+ offset: Flags.integer({
55
+ description: 'Number of Actors that will be skipped.',
56
+ default: 0,
57
+ }),
58
+ limit: Flags.integer({
59
+ description: 'Number of Actors that will be listed.',
60
+ default: 20,
61
+ }),
62
+ desc: Flags.boolean({
63
+ description: 'Sort Actors in descending order.',
64
+ default: false,
65
+ }),
66
+ };
67
+ static enableJsonFlag = true;
68
+ async run() {
69
+ const { desc, limit, offset, my, json } = this.flags;
70
+ const client = await getLoggedClientOrThrow();
71
+ const rawActorList = await client.actors().list({ limit, offset, desc, my });
72
+ if (rawActorList.count === 0) {
73
+ if (json) {
74
+ return rawActorList;
75
+ }
76
+ info({
77
+ message: my ? "You don't have any Actors yet!" : 'There are no recent Actors used by you.',
78
+ stdout: true,
79
+ });
80
+ return;
81
+ }
82
+ // Fetch the last run for actors
83
+ const actorList = {
84
+ ...rawActorList,
85
+ items: await Promise.all(rawActorList.items.map(async (actorData) => {
86
+ const actor = await client.actor(actorData.id).get();
87
+ const runs = await client
88
+ .actor(actorData.id)
89
+ .runs()
90
+ .list({ desc: true, limit: 1 })
91
+ // Throws an error if the returned actor changed publicity status
92
+ .catch(() => ({
93
+ count: 0,
94
+ desc: true,
95
+ items: [],
96
+ limit: 1,
97
+ offset: 0,
98
+ total: 0,
99
+ }));
100
+ return {
101
+ ...actorData,
102
+ actor: actor ?? null,
103
+ lastRun: (runs.items[0] ?? null),
104
+ };
105
+ })),
106
+ };
107
+ actorList.items = my ? this.sortByModifiedAt(actorList.items) : this.sortByLastRun(actorList.items);
108
+ if (json) {
109
+ return actorList;
110
+ }
111
+ const table = my ? myRecentlyUsedTable : recentlyUsedTable;
112
+ for (const item of actorList.items) {
113
+ const lastRunDisplayedTimestamp = item.stats.lastRunStartedAt
114
+ ? TimestampFormatter.display(item.stats.lastRunStartedAt)
115
+ : '';
116
+ const lastRunDuration = item.lastRun
117
+ ? (() => {
118
+ if (item.lastRun.finishedAt) {
119
+ return chalk.gray(ShortDurationFormatter.format(item.lastRun.finishedAt.getTime() - item.lastRun.startedAt.getTime()));
120
+ }
121
+ const duration = Date.now() - item.lastRun.startedAt.getTime();
122
+ return chalk.gray(`${ShortDurationFormatter.format(duration)} ...`);
123
+ })()
124
+ : '';
125
+ const defaultBuild = item.actor
126
+ ? (() => {
127
+ const buildVersionToTag = Object.entries((item.actor.taggedBuilds ?? {})).find(([tag, data]) => data.buildNumber === item.actor.defaultRunOptions.build ||
128
+ tag === item.actor.defaultRunOptions.build);
129
+ if (buildVersionToTag) {
130
+ return `${chalk.yellow(buildVersionToTag[0])} / ${chalk.cyan(buildVersionToTag[1].buildNumber ?? item.actor.defaultRunOptions.build)}`;
131
+ }
132
+ return chalk.gray('Unknown');
133
+ })()
134
+ : chalk.gray('Unknown');
135
+ table.pushRow({
136
+ Name: `${item.title}\n${chalk.gray(`${item.username}/${item.name}`)}`,
137
+ Runs: chalk.cyan(`${item.stats?.totalRuns ?? 0}`),
138
+ 'Last run started at': lastRunDisplayedTimestamp,
139
+ 'Last run': lastRunDisplayedTimestamp,
140
+ 'Last run status': item.lastRun ? prettyPrintStatus(item.lastRun.status) : '',
141
+ 'Modified at': TimestampFormatter.display(item.modifiedAt),
142
+ Builds: item.actor ? chalk.cyan(item.actor.stats.totalBuilds) : chalk.gray('Unknown'),
143
+ 'Last run duration': lastRunDuration,
144
+ 'Default build': defaultBuild,
145
+ });
146
+ }
147
+ simpleLog({
148
+ message: table.render(CompactMode.WebLikeCompact),
149
+ stdout: true,
150
+ });
151
+ return undefined;
152
+ }
153
+ sortByModifiedAt(items) {
154
+ return items.sort((a, b) => {
155
+ const aDate = new Date(a.modifiedAt);
156
+ const bDate = new Date(b.modifiedAt);
157
+ return bDate.getTime() - aDate.getTime();
158
+ });
159
+ }
160
+ sortByLastRun(items) {
161
+ return items.sort((a, b) => {
162
+ const aDate = new Date(a.stats?.lastRunStartedAt ?? '1970-01-01T00:00Z');
163
+ const bDate = new Date(b.stats?.lastRunStartedAt ?? '1970-01-01T00:00Z');
164
+ return bDate.getTime() - aDate.getTime();
165
+ });
166
+ }
167
+ }
168
+ //# sourceMappingURL=ls.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ls.js","sourceRoot":"","sources":["../../../src/commands/actors/ls.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,2CAA2C,CAAC;AAC9E,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAC;AACtF,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAExG,MAAM,iBAAiB,GAAG,IAAI,eAAe,CAAC;IAC7C,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,mBAAmB,CAAC;IAC3F,gBAAgB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,mBAAmB,CAAC;IACjG,gBAAgB,EAAE;QACjB,MAAM,EAAE,OAAO;QACf,mBAAmB,EAAE,OAAO;QAC5B,IAAI,EAAE,MAAM;QACZ,iBAAiB,EAAE,QAAQ;KAC3B;CACD,CAAC,CAAC;AAEH,MAAM,mBAAmB,GAAG,IAAI,eAAe,CAAC;IAC/C,UAAU,EAAE;QACX,MAAM;QACN,aAAa;QACb,QAAQ;QACR,eAAe;QACf,MAAM;QACN,UAAU;QACV,iBAAiB;QACjB,mBAAmB;KACnB;IACD,gBAAgB,EAAE;QACjB,MAAM;QACN,aAAa;QACb,QAAQ;QACR,eAAe;QACf,MAAM;QACN,UAAU;QACV,iBAAiB;QACjB,mBAAmB;KACnB;IACD,gBAAgB,EAAE;QACjB,QAAQ,EAAE,OAAO;QACjB,MAAM,EAAE,OAAO;QACf,mBAAmB,EAAE,OAAO;QAC5B,IAAI,EAAE,MAAM;QACZ,iBAAiB,EAAE,QAAQ;KAC3B;CACD,CAAC,CAAC;AAiBH,MAAM,OAAO,eAAgB,SAAQ,YAAoC;IACxE,MAAM,CAAU,WAAW,GAAG,mDAAmD,CAAC;IAElF,MAAM,CAAU,KAAK,GAAG;QACvB,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC;YACjB,WAAW,EAAE,oDAAoD;YACjE,OAAO,EAAE,KAAK;SACd,CAAC;QACF,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC;YACrB,WAAW,EAAE,wCAAwC;YACrD,OAAO,EAAE,CAAC;SACV,CAAC;QACF,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC;YACpB,WAAW,EAAE,uCAAuC;YACpD,OAAO,EAAE,EAAE;SACX,CAAC;QACF,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC;YACnB,WAAW,EAAE,kCAAkC;YAC/C,OAAO,EAAE,KAAK;SACd,CAAC;KACF,CAAC;IAEF,MAAM,CAAU,cAAc,GAAG,IAAI,CAAC;IAEtC,KAAK,CAAC,GAAG;QACR,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QAErD,MAAM,MAAM,GAAG,MAAM,sBAAsB,EAAE,CAAC;QAE9C,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;QAE7E,IAAI,YAAY,CAAC,KAAK,KAAK,CAAC,EAAE,CAAC;YAC9B,IAAI,IAAI,EAAE,CAAC;gBACV,OAAO,YAAY,CAAC;YACrB,CAAC;YAED,IAAI,CAAC;gBACJ,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,gCAAgC,CAAC,CAAC,CAAC,yCAAyC;gBAC1F,MAAM,EAAE,IAAI;aACZ,CAAC,CAAC;YAEH,OAAO;QACR,CAAC;QAED,gCAAgC;QAChC,MAAM,SAAS,GAAoC;YAClD,GAAG,YAAY;YACf,KAAK,EAAE,MAAM,OAAO,CAAC,GAAG,CACvB,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE;gBAC1C,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC;gBACrD,MAAM,IAAI,GAAG,MAAM,MAAM;qBACvB,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;qBACnB,IAAI,EAAE;qBACN,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;oBAC/B,iEAAiE;qBAChE,KAAK,CACL,GAAG,EAAE,CACJ,CAAC;oBACA,KAAK,EAAE,CAAC;oBACR,IAAI,EAAE,IAAI;oBACV,KAAK,EAAE,EAAE;oBACT,KAAK,EAAE,CAAC;oBACR,MAAM,EAAE,CAAC;oBACT,KAAK,EAAE,CAAC;iBACR,CAA2C,CAC7C,CAAC;gBAEH,OAAO;oBACN,GAAG,SAAS;oBACZ,KAAK,EAAE,KAAK,IAAI,IAAI;oBACpB,OAAO,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,CAA4B;iBACvC,CAAC;YACvB,CAAC,CAAC,CACF;SACD,CAAC;QAEF,SAAS,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAEpG,IAAI,IAAI,EAAE,CAAC;YACV,OAAO,SAAS,CAAC;QAClB,CAAC;QAED,MAAM,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,iBAAiB,CAAC;QAE3D,KAAK,MAAM,IAAI,IAAI,SAAS,CAAC,KAAK,EAAE,CAAC;YACpC,MAAM,yBAAyB,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB;gBAC5D,CAAC,CAAC,kBAAkB,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC;gBACzD,CAAC,CAAC,EAAE,CAAC;YAEN,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO;gBACnC,CAAC,CAAC,CAAC,GAAG,EAAE;oBACN,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;wBAC7B,OAAO,KAAK,CAAC,IAAI,CAChB,sBAAsB,CAAC,MAAM,CAC5B,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,CACpE,CACD,CAAC;oBACH,CAAC;oBAED,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;oBAE/D,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,sBAAsB,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBACrE,CAAC,CAAC,EAAE;gBACL,CAAC,CAAC,EAAE,CAAC;YAEN,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK;gBAC9B,CAAC,CAAC,CAAC,GAAG,EAAE;oBACN,MAAM,iBAAiB,GAAG,MAAM,CAAC,OAAO,CACvC,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,IAAI,EAAE,CAAqC,CACnE,CAAC,IAAI,CACL,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,CACf,IAAI,CAAC,WAAW,KAAK,IAAI,CAAC,KAAM,CAAC,iBAAiB,CAAC,KAAK;wBACxD,GAAG,KAAK,IAAI,CAAC,KAAM,CAAC,iBAAiB,CAAC,KAAK,CAC5C,CAAC;oBAEF,IAAI,iBAAiB,EAAE,CAAC;wBACvB,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,WAAW,IAAI,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC;oBACxI,CAAC;oBAED,OAAO,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC9B,CAAC,CAAC,EAAE;gBACL,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAEzB,KAAK,CAAC,OAAO,CAAC;gBACb,IAAI,EAAE,GAAG,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE;gBACrE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,SAAS,IAAI,CAAC,EAAE,CAAC;gBACjD,qBAAqB,EAAE,yBAAyB;gBAChD,UAAU,EAAE,yBAAyB;gBACrC,iBAAiB,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE;gBAC7E,aAAa,EAAE,kBAAkB,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC;gBAC1D,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC;gBACrF,mBAAmB,EAAE,eAAe;gBACpC,eAAe,EAAE,YAAY;aAC7B,CAAC,CAAC;QACJ,CAAC;QAED,SAAS,CAAC;YACT,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,cAAc,CAAC;YACjD,MAAM,EAAE,IAAI;SACZ,CAAC,CAAC;QAEH,OAAO,SAAS,CAAC;IAClB,CAAC;IAEO,gBAAgB,CAAC,KAAyB;QACjD,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YAC1B,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YACrC,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAErC,OAAO,KAAK,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC;QAC1C,CAAC,CAAC,CAAC;IACJ,CAAC;IAEO,aAAa,CAAC,KAAyB;QAC9C,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YAC1B,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,gBAAgB,IAAI,mBAAmB,CAAC,CAAC;YACzE,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,gBAAgB,IAAI,mBAAmB,CAAC,CAAC;YAEzE,OAAO,KAAK,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC;QAC1C,CAAC,CAAC,CAAC;IACJ,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { ApifyCommand } from '../../lib/apify_command.js';
2
+ export declare class ActorsPullCommand extends ApifyCommand<typeof ActorsPullCommand> {
3
+ static description: string;
4
+ static flags: {
5
+ version: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
6
+ dir: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
7
+ };
8
+ static args: {
9
+ actorId: import("@oclif/core/interfaces").Arg<string | undefined, Record<string, unknown>>;
10
+ };
11
+ run(): Promise<void>;
12
+ }
13
+ //# sourceMappingURL=pull.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pull.d.ts","sourceRoot":"","sources":["../../../src/commands/actors/pull.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAa1D,qBAAa,iBAAkB,SAAQ,YAAY,CAAC,OAAO,iBAAiB,CAAC;IAC5E,OAAgB,WAAW,SAEqF;IAEhH,OAAgB,KAAK;;;MAUnB;IAEF,OAAgB,IAAI;;MAOlB;IAEI,GAAG;CA8HT"}
@@ -0,0 +1,151 @@
1
+ import { mkdirSync, readdirSync, writeFileSync } from 'node:fs';
2
+ import { dirname, join } from 'node:path';
3
+ import process from 'node:process';
4
+ import { Args, Flags } from '@oclif/core';
5
+ import AdmZip from 'adm-zip';
6
+ import axios from 'axios';
7
+ import jju from 'jju';
8
+ import { gt } from 'semver';
9
+ import tiged from 'tiged';
10
+ import { ApifyCommand } from '../../lib/apify_command.js';
11
+ import { CommandExitCodes, LOCAL_CONFIG_PATH } from '../../lib/consts.js';
12
+ import { error, success } from '../../lib/outputs.js';
13
+ import { getLocalConfigOrThrow, getLocalUserInfo, getLoggedClientOrThrow } from '../../lib/utils.js';
14
+ const extractGitHubZip = async (url, directoryPath) => {
15
+ const { data } = await axios.get(url, { responseType: 'arraybuffer' });
16
+ const zipFile = new AdmZip(Buffer.from(data, 'binary'));
17
+ zipFile.extractEntryTo(zipFile.getEntries()[0].entryName, directoryPath, false);
18
+ };
19
+ export class ActorsPullCommand extends ApifyCommand {
20
+ static description = 'Pulls an Actor from the Apify platform to the current directory. ' +
21
+ 'If it is defined as Git repository, it will be cloned. If it is defined as Web IDE, it will fetch the files.';
22
+ static flags = {
23
+ version: Flags.string({
24
+ char: 'v',
25
+ description: 'Actor version number which will be pulled, e.g. 1.2. Default: the highest version',
26
+ required: false,
27
+ }),
28
+ dir: Flags.string({
29
+ description: 'Directory where the Actor should be pulled to',
30
+ required: false,
31
+ }),
32
+ };
33
+ static args = {
34
+ actorId: Args.string({
35
+ required: false,
36
+ description: 'Name or ID of the Actor to run (e.g. "apify/hello-world" or "E2jjCZBezvAZnX8Rb"). ' +
37
+ 'If not provided, the command will update the Actor in the current directory based on its name in ".actor/actor.json" file.',
38
+ }),
39
+ };
40
+ async run() {
41
+ const cwd = process.cwd();
42
+ let localConfig;
43
+ try {
44
+ localConfig = (await getLocalConfigOrThrow(cwd));
45
+ }
46
+ catch (_error) {
47
+ const casted = _error;
48
+ const cause = casted.cause;
49
+ error({ message: `${casted.message}\n ${cause.message}` });
50
+ process.exitCode = CommandExitCodes.InvalidActorJson;
51
+ return;
52
+ }
53
+ const userInfo = await getLocalUserInfo();
54
+ const apifyClient = await getLoggedClientOrThrow();
55
+ const isActorAutomaticallyDetected = !this.args.actorId;
56
+ const usernameOrId = userInfo.username || userInfo.id;
57
+ const actorId = this.args?.actorId ||
58
+ localConfig?.id ||
59
+ (localConfig?.name ? `${usernameOrId}/${localConfig.name}` : undefined);
60
+ if (!actorId)
61
+ throw new Error('Cannot find Actor in this directory.');
62
+ let actor;
63
+ try {
64
+ actor = await apifyClient.actor(actorId).get();
65
+ }
66
+ catch {
67
+ throw new Error(`Cannot find Actor with ID/name '${actorId}' in your account.`);
68
+ }
69
+ if (!actor)
70
+ throw new Error(`Cannot find Actor with ID/name '${actorId}' in your account.`);
71
+ const { name, versions } = actor;
72
+ let correctVersion = null;
73
+ if (this.flags?.version) {
74
+ correctVersion = versions.find((version) => version.versionNumber === this.flags?.version);
75
+ if (!correctVersion) {
76
+ throw new Error(`Cannot find version ${this.flags?.version} of Actor ${actorId}.`);
77
+ }
78
+ }
79
+ if (!correctVersion) {
80
+ correctVersion = versions.reduce((match, curr) => {
81
+ if (gt(`${curr.versionNumber}.0`, `${match.versionNumber}.0`))
82
+ return curr;
83
+ return match;
84
+ });
85
+ }
86
+ const dirpath = isActorAutomaticallyDetected ? cwd : join(cwd, this.flags.dir ?? name);
87
+ mkdirSync(dirpath, { recursive: true });
88
+ if (!isActorAutomaticallyDetected && !(readdirSync(dirpath).length === 0)) {
89
+ error({ message: `Directory ${dirpath} is not empty. Please empty it or choose another directory.` });
90
+ return;
91
+ }
92
+ switch (correctVersion.sourceType) {
93
+ case 'TARBALL': {
94
+ await extractGitHubZip(correctVersion.tarballUrl, dirpath);
95
+ break;
96
+ }
97
+ case 'SOURCE_FILES': {
98
+ const { sourceFiles } = correctVersion;
99
+ for (const file of sourceFiles) {
100
+ const folderPath = dirname(file.name);
101
+ mkdirSync(`${dirpath}/${folderPath}`, { recursive: true });
102
+ // @ts-expect-error TODO: is this an actual field?
103
+ if (!file.folder) {
104
+ const fileContent = file.format === 'BASE64' ? Buffer.from(file.content, 'base64').toString() : file.content;
105
+ if (file.name === LOCAL_CONFIG_PATH) {
106
+ const actorJson = jju.parse(fileContent);
107
+ actorJson.name = actor.name;
108
+ writeFileSync(`${dirpath}/${file.name}`, jju.update(fileContent, actorJson));
109
+ }
110
+ else {
111
+ writeFileSync(`${dirpath}/${file.name}`, fileContent);
112
+ }
113
+ }
114
+ }
115
+ break;
116
+ }
117
+ case 'GIT_REPO': {
118
+ // e.g. https://github.com/jakubbalada/Datasety.git#master:RejstrikPolitickychStran
119
+ const { gitRepoUrl } = correctVersion;
120
+ const [repoUrl, branchDirPart] = gitRepoUrl.split('#');
121
+ let branch;
122
+ let dir;
123
+ if (branchDirPart)
124
+ [branch, dir] = branchDirPart.split(':');
125
+ let branchDirRepoUrl = repoUrl;
126
+ if (dir)
127
+ branchDirRepoUrl += `/${dir}`;
128
+ if (branch)
129
+ branchDirRepoUrl += `#${branch}`;
130
+ const emitter = tiged(branchDirRepoUrl);
131
+ try {
132
+ await emitter.clone(dirpath);
133
+ }
134
+ catch (err) {
135
+ throw new Error(`Failed to pull Actor from ${gitRepoUrl}. ${err.message}`);
136
+ }
137
+ break;
138
+ }
139
+ case 'GITHUB_GIST': {
140
+ await extractGitHubZip(`${correctVersion.gitHubGistUrl}/archive/master.zip`, dirpath);
141
+ break;
142
+ }
143
+ default:
144
+ throw new Error(`Unknown source type: ${correctVersion.sourceType}`);
145
+ }
146
+ success({
147
+ message: isActorAutomaticallyDetected ? `Actor ${name} updated at ${dirpath}/` : `Pulled to ${dirpath}/`,
148
+ });
149
+ }
150
+ }
151
+ //# sourceMappingURL=pull.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pull.js","sourceRoot":"","sources":["../../../src/commands/actors/pull.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import { ApifyCommand } from '../../lib/apify_command.js';
2
+ export declare class ActorsPushCommand extends ApifyCommand<typeof ActorsPushCommand> {
3
+ static description: string;
4
+ static flags: {
5
+ version: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
6
+ 'build-tag': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
7
+ 'wait-for-finish': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
8
+ 'no-prompt': import("@oclif/core/interfaces").BooleanFlag<boolean>;
9
+ force: import("@oclif/core/interfaces").BooleanFlag<boolean>;
10
+ dir: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
11
+ };
12
+ static args: {
13
+ actorId: import("@oclif/core/interfaces").Arg<string | undefined, Record<string, unknown>>;
14
+ };
15
+ catch(caughtError: Error): Promise<void>;
16
+ run(): Promise<void>;
17
+ }
18
+ //# sourceMappingURL=push.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"push.d.ts","sourceRoot":"","sources":["../../../src/commands/actors/push.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AA6B1D,qBAAa,iBAAkB,SAAQ,YAAY,CAAC,OAAO,iBAAiB,CAAC;IAC5E,OAAgB,WAAW,SAO0H;IAErJ,OAAgB,KAAK;;;;;;;MA+BnB;IAEF,OAAgB,IAAI;;MAOlB;IAGa,KAAK,CAAC,WAAW,EAAE,KAAK;IAIjC,GAAG;CAmQT"}