@linkedapi/linkedin-cli 1.0.4 → 1.0.6

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 (175) hide show
  1. package/README.md +6 -0
  2. package/dist/base-command.d.ts +15 -0
  3. package/dist/base-command.d.ts.map +1 -0
  4. package/dist/base-command.js +77 -0
  5. package/dist/base-command.js.map +1 -0
  6. package/dist/commands/account/list.d.ts +7 -0
  7. package/dist/commands/account/list.d.ts.map +1 -0
  8. package/dist/commands/account/list.js +28 -0
  9. package/dist/commands/account/list.js.map +1 -0
  10. package/dist/commands/account/rename.d.ts +13 -0
  11. package/dist/commands/account/rename.d.ts.map +1 -0
  12. package/dist/commands/account/rename.js +36 -0
  13. package/dist/commands/account/rename.js.map +1 -0
  14. package/dist/commands/account/switch.d.ts +10 -0
  15. package/dist/commands/account/switch.d.ts.map +1 -0
  16. package/dist/commands/account/switch.js +29 -0
  17. package/dist/commands/account/switch.js.map +1 -0
  18. package/dist/commands/company/fetch.d.ts +30 -0
  19. package/dist/commands/company/fetch.d.ts.map +1 -0
  20. package/dist/commands/company/fetch.js +129 -0
  21. package/dist/commands/company/fetch.js.map +1 -0
  22. package/dist/commands/company/search.d.ts +19 -0
  23. package/dist/commands/company/search.d.ts.map +1 -0
  24. package/dist/commands/company/search.js +67 -0
  25. package/dist/commands/company/search.js.map +1 -0
  26. package/dist/commands/connection/list.d.ts +24 -0
  27. package/dist/commands/connection/list.d.ts.map +1 -0
  28. package/dist/commands/connection/list.js +92 -0
  29. package/dist/commands/connection/list.js.map +1 -0
  30. package/dist/commands/connection/pending.d.ts +14 -0
  31. package/dist/commands/connection/pending.d.ts.map +1 -0
  32. package/dist/commands/connection/pending.js +33 -0
  33. package/dist/commands/connection/pending.js.map +1 -0
  34. package/dist/commands/connection/remove.d.ts +17 -0
  35. package/dist/commands/connection/remove.d.ts.map +1 -0
  36. package/dist/commands/connection/remove.js +43 -0
  37. package/dist/commands/connection/remove.js.map +1 -0
  38. package/dist/commands/connection/send.d.ts +19 -0
  39. package/dist/commands/connection/send.d.ts.map +1 -0
  40. package/dist/commands/connection/send.js +55 -0
  41. package/dist/commands/connection/send.js.map +1 -0
  42. package/dist/commands/connection/status.d.ts +17 -0
  43. package/dist/commands/connection/status.d.ts.map +1 -0
  44. package/dist/commands/connection/status.js +44 -0
  45. package/dist/commands/connection/status.js.map +1 -0
  46. package/dist/commands/connection/withdraw.d.ts +18 -0
  47. package/dist/commands/connection/withdraw.d.ts.map +1 -0
  48. package/dist/commands/connection/withdraw.js +49 -0
  49. package/dist/commands/connection/withdraw.js.map +1 -0
  50. package/dist/commands/message/get.d.ts +18 -0
  51. package/dist/commands/message/get.d.ts.map +1 -0
  52. package/dist/commands/message/get.js +81 -0
  53. package/dist/commands/message/get.js.map +1 -0
  54. package/dist/commands/message/send.d.ts +18 -0
  55. package/dist/commands/message/send.d.ts.map +1 -0
  56. package/dist/commands/message/send.js +48 -0
  57. package/dist/commands/message/send.js.map +1 -0
  58. package/dist/commands/navigator/company/fetch.d.ts +28 -0
  59. package/dist/commands/navigator/company/fetch.d.ts.map +1 -0
  60. package/dist/commands/navigator/company/fetch.js +115 -0
  61. package/dist/commands/navigator/company/fetch.js.map +1 -0
  62. package/dist/commands/navigator/company/search.d.ts +21 -0
  63. package/dist/commands/navigator/company/search.d.ts.map +1 -0
  64. package/dist/commands/navigator/company/search.js +80 -0
  65. package/dist/commands/navigator/company/search.js.map +1 -0
  66. package/dist/commands/navigator/message/get.d.ts +18 -0
  67. package/dist/commands/navigator/message/get.d.ts.map +1 -0
  68. package/dist/commands/navigator/message/get.js +80 -0
  69. package/dist/commands/navigator/message/get.js.map +1 -0
  70. package/dist/commands/navigator/message/send.d.ts +19 -0
  71. package/dist/commands/navigator/message/send.d.ts.map +1 -0
  72. package/dist/commands/navigator/message/send.js +53 -0
  73. package/dist/commands/navigator/message/send.js.map +1 -0
  74. package/dist/commands/navigator/person/fetch.d.ts +17 -0
  75. package/dist/commands/navigator/person/fetch.d.ts.map +1 -0
  76. package/dist/commands/navigator/person/fetch.js +44 -0
  77. package/dist/commands/navigator/person/fetch.js.map +1 -0
  78. package/dist/commands/navigator/person/search.d.ts +25 -0
  79. package/dist/commands/navigator/person/search.d.ts.map +1 -0
  80. package/dist/commands/navigator/person/search.js +99 -0
  81. package/dist/commands/navigator/person/search.js.map +1 -0
  82. package/dist/commands/person/fetch.d.ts +30 -0
  83. package/dist/commands/person/fetch.d.ts.map +1 -0
  84. package/dist/commands/person/fetch.js +130 -0
  85. package/dist/commands/person/fetch.js.map +1 -0
  86. package/dist/commands/person/search.d.ts +24 -0
  87. package/dist/commands/person/search.d.ts.map +1 -0
  88. package/dist/commands/person/search.js +95 -0
  89. package/dist/commands/person/search.js.map +1 -0
  90. package/dist/commands/post/comment.d.ts +19 -0
  91. package/dist/commands/post/comment.d.ts.map +1 -0
  92. package/dist/commands/post/comment.js +54 -0
  93. package/dist/commands/post/comment.js.map +1 -0
  94. package/dist/commands/post/create.d.ts +19 -0
  95. package/dist/commands/post/create.d.ts.map +1 -0
  96. package/dist/commands/post/create.js +89 -0
  97. package/dist/commands/post/create.js.map +1 -0
  98. package/dist/commands/post/fetch.d.ts +23 -0
  99. package/dist/commands/post/fetch.d.ts.map +1 -0
  100. package/dist/commands/post/fetch.js +88 -0
  101. package/dist/commands/post/fetch.js.map +1 -0
  102. package/dist/commands/post/react.d.ts +19 -0
  103. package/dist/commands/post/react.d.ts.map +1 -0
  104. package/dist/commands/post/react.js +55 -0
  105. package/dist/commands/post/react.js.map +1 -0
  106. package/dist/commands/reset.d.ts +10 -0
  107. package/dist/commands/reset.d.ts.map +1 -0
  108. package/dist/commands/reset.js +50 -0
  109. package/dist/commands/reset.js.map +1 -0
  110. package/dist/commands/setup.d.ts +11 -0
  111. package/dist/commands/setup.d.ts.map +1 -0
  112. package/dist/commands/setup.js +118 -0
  113. package/dist/commands/setup.js.map +1 -0
  114. package/dist/commands/stats/performance.d.ts +14 -0
  115. package/dist/commands/stats/performance.d.ts.map +1 -0
  116. package/dist/commands/stats/performance.js +33 -0
  117. package/dist/commands/stats/performance.js.map +1 -0
  118. package/dist/commands/stats/ssi.d.ts +14 -0
  119. package/dist/commands/stats/ssi.d.ts.map +1 -0
  120. package/dist/commands/stats/ssi.js +33 -0
  121. package/dist/commands/stats/ssi.js.map +1 -0
  122. package/dist/commands/stats/usage.d.ts +16 -0
  123. package/dist/commands/stats/usage.d.ts.map +1 -0
  124. package/dist/commands/stats/usage.js +47 -0
  125. package/dist/commands/stats/usage.js.map +1 -0
  126. package/dist/commands/workflow/run.d.ts +15 -0
  127. package/dist/commands/workflow/run.d.ts.map +1 -0
  128. package/dist/commands/workflow/run.js +89 -0
  129. package/dist/commands/workflow/run.js.map +1 -0
  130. package/dist/commands/workflow/status.d.ts +18 -0
  131. package/dist/commands/workflow/status.d.ts.map +1 -0
  132. package/dist/commands/workflow/status.js +75 -0
  133. package/dist/commands/workflow/status.js.map +1 -0
  134. package/dist/core/auth/auth-manager.d.ts +7 -0
  135. package/dist/core/auth/auth-manager.d.ts.map +1 -0
  136. package/dist/core/auth/auth-manager.js +35 -0
  137. package/dist/core/auth/auth-manager.js.map +1 -0
  138. package/dist/core/auth/config-store.d.ts +22 -0
  139. package/dist/core/auth/config-store.d.ts.map +1 -0
  140. package/dist/core/auth/config-store.js +195 -0
  141. package/dist/core/auth/config-store.js.map +1 -0
  142. package/dist/core/client/build-client.d.ts +8 -0
  143. package/dist/core/client/build-client.d.ts.map +1 -0
  144. package/dist/core/client/build-client.js +11 -0
  145. package/dist/core/client/build-client.js.map +1 -0
  146. package/dist/core/errors/error-handler.d.ts +12 -0
  147. package/dist/core/errors/error-handler.d.ts.map +1 -0
  148. package/dist/core/errors/error-handler.js +71 -0
  149. package/dist/core/errors/error-handler.js.map +1 -0
  150. package/dist/core/errors/exit-codes.d.ts +13 -0
  151. package/dist/core/errors/exit-codes.d.ts.map +1 -0
  152. package/dist/core/errors/exit-codes.js +15 -0
  153. package/dist/core/errors/exit-codes.js.map +1 -0
  154. package/dist/core/output/field-selector.d.ts +2 -0
  155. package/dist/core/output/field-selector.d.ts.map +1 -0
  156. package/dist/core/output/field-selector.js +24 -0
  157. package/dist/core/output/field-selector.js.map +1 -0
  158. package/dist/core/output/formatter.d.ts +15 -0
  159. package/dist/core/output/formatter.d.ts.map +1 -0
  160. package/dist/core/output/formatter.js +152 -0
  161. package/dist/core/output/formatter.js.map +1 -0
  162. package/dist/core/workflow/workflow-runner.d.ts +8 -0
  163. package/dist/core/workflow/workflow-runner.d.ts.map +1 -0
  164. package/dist/core/workflow/workflow-runner.js +27 -0
  165. package/dist/core/workflow/workflow-runner.js.map +1 -0
  166. package/dist/index.d.ts +2 -0
  167. package/dist/index.d.ts.map +1 -0
  168. package/dist/index.js +6 -0
  169. package/dist/index.js.map +1 -0
  170. package/dist/utils/tty.d.ts +4 -0
  171. package/dist/utils/tty.d.ts.map +1 -0
  172. package/dist/utils/tty.js +18 -0
  173. package/dist/utils/tty.js.map +1 -0
  174. package/oclif.manifest.json +2573 -2
  175. package/package.json +3 -3
@@ -0,0 +1,23 @@
1
+ import { BaseCommand } from '../../base-command';
2
+ export default class PostFetch extends BaseCommand {
3
+ static description: string;
4
+ static args: {
5
+ url: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
6
+ };
7
+ static flags: {
8
+ comments: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
9
+ reactions: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
10
+ 'comments-limit': import("@oclif/core/lib/interfaces").OptionFlag<number | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
11
+ 'comments-sort': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
12
+ 'comments-replies': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
13
+ 'reactions-limit': import("@oclif/core/lib/interfaces").OptionFlag<number | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
14
+ json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
15
+ fields: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
16
+ quiet: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
17
+ 'no-color': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
18
+ account: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
19
+ };
20
+ static examples: string[];
21
+ run(): Promise<void>;
22
+ }
23
+ //# sourceMappingURL=fetch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../../../src/commands/post/fetch.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAI5C,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,WAAW;IAChD,OAAgB,WAAW,SAA2B;IAEtD,OAAgB,IAAI;;MAKlB;IAEF,OAAgB,KAAK;;;;;;;;;;;;MAwBnB;IAEF,OAAgB,QAAQ,WAGtB;IAEW,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CA6ClC"}
@@ -0,0 +1,88 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const core_1 = require("@oclif/core");
4
+ const _base_command_1 = require("../../base-command");
5
+ const formatter_1 = require("../../core/output/formatter");
6
+ const workflow_runner_1 = require("../../core/workflow/workflow-runner");
7
+ class PostFetch extends _base_command_1.BaseCommand {
8
+ static description = 'Fetch a LinkedIn post';
9
+ static args = {
10
+ url: core_1.Args.string({
11
+ description: 'LinkedIn post URL',
12
+ required: true,
13
+ }),
14
+ };
15
+ static flags = {
16
+ ..._base_command_1.BaseCommand.baseFlags,
17
+ comments: core_1.Flags.boolean({
18
+ description: 'Include comments',
19
+ default: false,
20
+ }),
21
+ reactions: core_1.Flags.boolean({
22
+ description: 'Include reactions',
23
+ default: false,
24
+ }),
25
+ 'comments-limit': core_1.Flags.integer({
26
+ description: 'Max comments to retrieve',
27
+ }),
28
+ 'comments-sort': core_1.Flags.string({
29
+ description: 'Comment sort order',
30
+ options: ['mostRelevant', 'mostRecent'],
31
+ }),
32
+ 'comments-replies': core_1.Flags.boolean({
33
+ description: 'Include comment replies',
34
+ default: false,
35
+ }),
36
+ 'reactions-limit': core_1.Flags.integer({
37
+ description: 'Max reactions to retrieve',
38
+ }),
39
+ };
40
+ static examples = [
41
+ '<%= config.bin %> post fetch https://www.linkedin.com/posts/john-doe_activity-123',
42
+ '<%= config.bin %> post fetch https://www.linkedin.com/posts/john-doe_activity-123 --comments --reactions --json',
43
+ ];
44
+ async run() {
45
+ const { args, flags } = await this.parse(PostFetch);
46
+ const client = await this.buildAuthenticatedClient();
47
+ const params = {
48
+ postUrl: args.url,
49
+ };
50
+ if (flags.comments)
51
+ params.retrieveComments = true;
52
+ if (flags.reactions)
53
+ params.retrieveReactions = true;
54
+ if (flags.comments &&
55
+ (flags['comments-limit'] || flags['comments-sort'] || flags['comments-replies'])) {
56
+ const config = {};
57
+ if (flags['comments-limit'])
58
+ config.limit = flags['comments-limit'];
59
+ if (flags['comments-sort'])
60
+ config.sort = flags['comments-sort'];
61
+ if (flags['comments-replies'])
62
+ config.replies = true;
63
+ params.commentsRetrievalConfig = config;
64
+ }
65
+ if (flags.reactions && flags['reactions-limit']) {
66
+ params.reactionsRetrievalConfig = {
67
+ limit: flags['reactions-limit'],
68
+ };
69
+ }
70
+ try {
71
+ const result = await (0, workflow_runner_1.runWorkflow)(client.fetchPost, params, {
72
+ isQuiet: flags.quiet,
73
+ });
74
+ (0, formatter_1.formatOutput)({
75
+ data: result.data,
76
+ errors: result.errors,
77
+ isJson: flags.json,
78
+ fields: flags.fields,
79
+ isQuiet: flags.quiet,
80
+ });
81
+ }
82
+ catch (error) {
83
+ this.handleError(error);
84
+ }
85
+ }
86
+ }
87
+ exports.default = PostFetch;
88
+ //# sourceMappingURL=fetch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetch.js","sourceRoot":"","sources":["../../../src/commands/post/fetch.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import { BaseCommand } from '../../base-command';
2
+ export default class PostReact extends BaseCommand {
3
+ static description: string;
4
+ static args: {
5
+ url: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
6
+ };
7
+ static flags: {
8
+ type: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
9
+ 'company-url': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
10
+ json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
11
+ fields: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
12
+ quiet: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
13
+ 'no-color': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
14
+ account: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
15
+ };
16
+ static examples: string[];
17
+ run(): Promise<void>;
18
+ }
19
+ //# sourceMappingURL=react.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"react.d.ts","sourceRoot":"","sources":["../../../src/commands/post/react.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAI5C,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,WAAW;IAChD,OAAgB,WAAW,SAA8B;IAEzD,OAAgB,IAAI;;MAKlB;IAEF,OAAgB,KAAK;;;;;;;;MAUnB;IAEF,OAAgB,QAAQ,WAEtB;IAEW,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CA2BlC"}
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const core_1 = require("@oclif/core");
4
+ const _base_command_1 = require("../../base-command");
5
+ const formatter_1 = require("../../core/output/formatter");
6
+ const workflow_runner_1 = require("../../core/workflow/workflow-runner");
7
+ class PostReact extends _base_command_1.BaseCommand {
8
+ static description = 'React to a LinkedIn post';
9
+ static args = {
10
+ url: core_1.Args.string({
11
+ description: 'LinkedIn post URL',
12
+ required: true,
13
+ }),
14
+ };
15
+ static flags = {
16
+ ..._base_command_1.BaseCommand.baseFlags,
17
+ type: core_1.Flags.string({
18
+ description: 'Reaction type',
19
+ required: true,
20
+ options: ['like', 'love', 'support', 'celebrate', 'insightful', 'funny'],
21
+ }),
22
+ 'company-url': core_1.Flags.string({
23
+ description: 'React on behalf of a company page',
24
+ }),
25
+ };
26
+ static examples = [
27
+ '<%= config.bin %> post react https://www.linkedin.com/posts/john-doe_activity-123 --type like',
28
+ ];
29
+ async run() {
30
+ const { args, flags } = await this.parse(PostReact);
31
+ const client = await this.buildAuthenticatedClient();
32
+ const params = {
33
+ postUrl: args.url,
34
+ type: flags.type,
35
+ };
36
+ if (flags['company-url'])
37
+ params.companyUrl = flags['company-url'];
38
+ try {
39
+ const result = await (0, workflow_runner_1.runVoidWorkflow)(client.reactToPost, params, {
40
+ isQuiet: flags.quiet,
41
+ });
42
+ (0, formatter_1.formatVoidOutput)({
43
+ errors: result.errors,
44
+ isJson: flags.json,
45
+ isQuiet: flags.quiet,
46
+ successMessage: `Reacted with ${flags.type}.`,
47
+ });
48
+ }
49
+ catch (error) {
50
+ this.handleError(error);
51
+ }
52
+ }
53
+ }
54
+ exports.default = PostReact;
55
+ //# sourceMappingURL=react.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"react.js","sourceRoot":"","sources":["../../../src/commands/post/react.ts"],"names":[],"mappings":";;AAAA,sCAA0C;AAE1C,iDAA4C;AAC5C,sDAA0D;AAC1D,oEAAiE;AAEjE,MAAqB,SAAU,SAAQ,2BAAW;IAChD,MAAM,CAAU,WAAW,GAAG,0BAA0B,CAAC;IAEzD,MAAM,CAAU,IAAI,GAAG;QACrB,GAAG,EAAE,WAAI,CAAC,MAAM,CAAC;YACf,WAAW,EAAE,mBAAmB;YAChC,QAAQ,EAAE,IAAI;SACf,CAAC;KACH,CAAC;IAEF,MAAM,CAAU,KAAK,GAAG;QACtB,GAAG,2BAAW,CAAC,SAAS;QACxB,IAAI,EAAE,YAAK,CAAC,MAAM,CAAC;YACjB,WAAW,EAAE,eAAe;YAC5B,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,OAAO,CAAC;SACzE,CAAC;QACF,aAAa,EAAE,YAAK,CAAC,MAAM,CAAC;YAC1B,WAAW,EAAE,mCAAmC;SACjD,CAAC;KACH,CAAC;IAEF,MAAM,CAAU,QAAQ,GAAG;QACzB,+FAA+F;KAChG,CAAC;IAEK,KAAK,CAAC,GAAG;QACd,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAEpD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,wBAAwB,EAAE,CAAC;QAErD,MAAM,MAAM,GAA4B;YACtC,OAAO,EAAE,IAAI,CAAC,GAAG;YACjB,IAAI,EAAE,KAAK,CAAC,IAAI;SACjB,CAAC;QAEF,IAAI,KAAK,CAAC,aAAa,CAAC;YAAE,MAAM,CAAC,UAAU,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;QAEnE,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAA,iCAAe,EAAC,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE;gBAC/D,OAAO,EAAE,KAAK,CAAC,KAAK;aACrB,CAAC,CAAC;YAEH,IAAA,4BAAgB,EAAC;gBACf,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,MAAM,EAAE,KAAK,CAAC,IAAI;gBAClB,OAAO,EAAE,KAAK,CAAC,KAAK;gBACpB,cAAc,EAAE,gBAAgB,KAAK,CAAC,IAAI,GAAG;aAC9C,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;;AApDH,4BAqDC"}
@@ -0,0 +1,10 @@
1
+ import { Command } from '@oclif/core';
2
+ export default class Reset extends Command {
3
+ static description: string;
4
+ static flags: {
5
+ all: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
6
+ };
7
+ static examples: string[];
8
+ run(): Promise<void>;
9
+ }
10
+ //# sourceMappingURL=reset.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reset.d.ts","sourceRoot":"","sources":["../../src/commands/reset.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAS,MAAM,aAAa,CAAC;AAI7C,MAAM,CAAC,OAAO,OAAO,KAAM,SAAQ,OAAO;IACxC,OAAgB,WAAW,SAAqC;IAEhE,OAAgB,KAAK;;MAKnB;IAEF,OAAgB,QAAQ,WAGtB;IAEW,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAsClC"}
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const core_1 = require("@oclif/core");
4
+ const config_store_1 = require("../core/auth/config-store");
5
+ class Reset extends core_1.Command {
6
+ static description = 'Remove stored Linked API tokens';
7
+ static flags = {
8
+ all: core_1.Flags.boolean({
9
+ description: 'Remove all accounts',
10
+ default: false,
11
+ }),
12
+ };
13
+ static examples = [
14
+ '<%= config.bin %> reset',
15
+ '<%= config.bin %> reset --all',
16
+ ];
17
+ async run() {
18
+ const { flags } = await this.parse(Reset);
19
+ if (flags.all) {
20
+ const count = (0, config_store_1.removeAllAccounts)();
21
+ if (count > 0) {
22
+ process.stdout.write(`Removed ${count} account${count > 1 ? 's' : ''}.\n`);
23
+ }
24
+ else {
25
+ process.stdout.write('No stored accounts found.\n');
26
+ }
27
+ return;
28
+ }
29
+ const accounts = (0, config_store_1.listAccounts)();
30
+ if (accounts.length === 0) {
31
+ process.stdout.write('No stored accounts found.\n');
32
+ return;
33
+ }
34
+ const removed = (0, config_store_1.removeCurrentAccount)();
35
+ if (!removed) {
36
+ process.stdout.write('No active account to remove.\n');
37
+ return;
38
+ }
39
+ const remaining = (0, config_store_1.listAccounts)();
40
+ if (remaining.length > 0) {
41
+ const next = remaining.find((account) => account.isCurrent);
42
+ process.stdout.write(`Removed "${removed.name}". Switched to "${next?.name}".\n`);
43
+ }
44
+ else {
45
+ process.stdout.write(`Removed "${removed.name}". No accounts remaining.\n`);
46
+ }
47
+ }
48
+ }
49
+ exports.default = Reset;
50
+ //# sourceMappingURL=reset.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reset.js","sourceRoot":"","sources":["../../src/commands/reset.ts"],"names":[],"mappings":";;AAAA,sCAA6C;AAE7C,0DAAgG;AAEhG,MAAqB,KAAM,SAAQ,cAAO;IACxC,MAAM,CAAU,WAAW,GAAG,iCAAiC,CAAC;IAEhE,MAAM,CAAU,KAAK,GAAG;QACtB,GAAG,EAAE,YAAK,CAAC,OAAO,CAAC;YACjB,WAAW,EAAE,qBAAqB;YAClC,OAAO,EAAE,KAAK;SACf,CAAC;KACH,CAAC;IAEF,MAAM,CAAU,QAAQ,GAAG;QACzB,yBAAyB;QACzB,+BAA+B;KAChC,CAAC;IAEK,KAAK,CAAC,GAAG;QACd,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAE1C,IAAI,KAAK,CAAC,GAAG,EAAE,CAAC;YACd,MAAM,KAAK,GAAG,IAAA,gCAAiB,GAAE,CAAC;YAElC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;gBACd,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,KAAK,WAAW,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC7E,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;YACtD,CAAC;YAED,OAAO;QACT,CAAC;QAED,MAAM,QAAQ,GAAG,IAAA,2BAAY,GAAE,CAAC;QAEhC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;YACpD,OAAO;QACT,CAAC;QAED,MAAM,OAAO,GAAG,IAAA,mCAAoB,GAAE,CAAC;QAEvC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;YACvD,OAAO;QACT,CAAC;QAED,MAAM,SAAS,GAAG,IAAA,2BAAY,GAAE,CAAC;QAEjC,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAC5D,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,OAAO,CAAC,IAAI,mBAAmB,IAAI,EAAE,IAAI,MAAM,CAAC,CAAC;QACpF,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,OAAO,CAAC,IAAI,6BAA6B,CAAC,CAAC;QAC9E,CAAC;IACH,CAAC;;AApDH,wBAqDC"}
@@ -0,0 +1,11 @@
1
+ import { Command } from '@oclif/core';
2
+ export default class Setup extends Command {
3
+ static description: string;
4
+ static flags: {
5
+ 'linked-api-token': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
6
+ 'identification-token': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
7
+ };
8
+ static examples: string[];
9
+ run(): Promise<void>;
10
+ }
11
+ //# sourceMappingURL=setup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/commands/setup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAS,MAAM,aAAa,CAAC;AAO7C,MAAM,CAAC,OAAO,OAAO,KAAM,SAAQ,OAAO;IACxC,OAAgB,WAAW,SAA+C;IAE1E,OAAgB,KAAK;;;MAOnB;IAEF,OAAgB,QAAQ,WAGtB;IAEW,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAkElC"}
@@ -0,0 +1,118 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const core_1 = require("@oclif/core");
4
+ const config_store_1 = require("../core/auth/config-store");
5
+ const build_client_1 = require("../core/client/build-client");
6
+ const exit_codes_1 = require("../core/errors/exit-codes");
7
+ const tty_1 = require("../utils/tty");
8
+ class Setup extends core_1.Command {
9
+ static description = 'Save Linked API tokens for authentication';
10
+ static flags = {
11
+ 'linked-api-token': core_1.Flags.string({
12
+ description: 'Linked API Token (for non-interactive use)',
13
+ }),
14
+ 'identification-token': core_1.Flags.string({
15
+ description: 'Identification Token (for non-interactive use)',
16
+ }),
17
+ };
18
+ static examples = [
19
+ '<%= config.bin %> setup',
20
+ '<%= config.bin %> setup --linked-api-token=xxx --identification-token=yyy',
21
+ ];
22
+ async run() {
23
+ const { flags } = await this.parse(Setup);
24
+ let linkedApiToken;
25
+ let identificationToken;
26
+ if (flags['linked-api-token'] && flags['identification-token']) {
27
+ linkedApiToken = flags['linked-api-token'];
28
+ identificationToken = flags['identification-token'];
29
+ }
30
+ else if (!(0, tty_1.isStdinTty)()) {
31
+ process.stderr.write(`Cannot run interactive setup in non-interactive mode.
32
+ Use flags instead:
33
+
34
+ linkedin setup --linked-api-token=xxx --identification-token=yyy
35
+
36
+ Get tokens at https://app.linkedapi.io\n`);
37
+ this.exit(exit_codes_1.EXIT_CODE.AUTH);
38
+ return;
39
+ }
40
+ else {
41
+ process.stdout.write('To get your tokens, visit: https://app.linkedapi.io\n' +
42
+ '(If you don\'t have an account yet, create one and connect your LinkedIn profile first)\n\n');
43
+ linkedApiToken = await readMaskedInput('Linked API Token: ', 'account_');
44
+ identificationToken = await readMaskedInput('Identification Token: ', 'id_');
45
+ }
46
+ if (!linkedApiToken || !identificationToken) {
47
+ process.stderr.write('Both tokens are required.\n');
48
+ this.exit(exit_codes_1.EXIT_CODE.AUTH);
49
+ return;
50
+ }
51
+ process.stdout.write('Verifying tokens... ');
52
+ let accountName = '';
53
+ try {
54
+ const tempClient = (0, build_client_1.buildClient)({
55
+ linkedApiToken,
56
+ identificationToken,
57
+ });
58
+ const accountInfo = await tempClient.getAccountInfo();
59
+ accountName = accountInfo.data?.name ?? '';
60
+ process.stdout.write('OK\n');
61
+ }
62
+ catch {
63
+ process.stdout.write('FAILED\n');
64
+ process.stderr.write('\nInvalid tokens. Make sure you copied the correct tokens from https://app.linkedapi.io\n' +
65
+ 'Need help? Visit https://linkedapi.io/docs/making-requests\n');
66
+ this.exit(exit_codes_1.EXIT_CODE.AUTH);
67
+ return;
68
+ }
69
+ const displayName = accountName || 'default';
70
+ (0, config_store_1.addAccount)({
71
+ name: displayName,
72
+ linkedApiToken,
73
+ identificationToken,
74
+ });
75
+ process.stdout.write(`Account "${displayName}" saved and set as active.\n`);
76
+ }
77
+ }
78
+ exports.default = Setup;
79
+ function readMaskedInput(prompt, visiblePrefix) {
80
+ return new Promise((resolve) => {
81
+ process.stdout.write(prompt);
82
+ const stdin = process.stdin;
83
+ stdin.setRawMode(true);
84
+ stdin.resume();
85
+ stdin.setEncoding('utf-8');
86
+ let input = '';
87
+ const onData = (str) => {
88
+ for (const char of str) {
89
+ if (char === '\n' || char === '\r') {
90
+ stdin.setRawMode(false);
91
+ stdin.removeListener('data', onData);
92
+ stdin.pause();
93
+ process.stdout.write('\n');
94
+ resolve(input);
95
+ return;
96
+ }
97
+ else if (char === '\u007F' || char === '\b') {
98
+ if (input.length > 0) {
99
+ input = input.slice(0, -1);
100
+ process.stdout.write('\b \b');
101
+ }
102
+ }
103
+ else if (char === '\u0003') {
104
+ stdin.setRawMode(false);
105
+ process.stdout.write('\n');
106
+ process.exit(0);
107
+ }
108
+ else if (char >= ' ') {
109
+ input += char;
110
+ const isInPrefix = input.length <= visiblePrefix.length && visiblePrefix.startsWith(input);
111
+ process.stdout.write(isInPrefix ? char : '*');
112
+ }
113
+ }
114
+ };
115
+ stdin.on('data', onData);
116
+ });
117
+ }
118
+ //# sourceMappingURL=setup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/commands/setup.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import { BaseCommand } from '../../base-command';
2
+ export default class StatsPerformance extends BaseCommand {
3
+ static description: string;
4
+ static flags: {
5
+ json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
6
+ fields: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
7
+ quiet: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
8
+ 'no-color': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
9
+ account: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
10
+ };
11
+ static examples: string[];
12
+ run(): Promise<void>;
13
+ }
14
+ //# sourceMappingURL=performance.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"performance.d.ts","sourceRoot":"","sources":["../../../src/commands/stats/performance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAI5C,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,WAAW;IACvD,OAAgB,WAAW,SAAkD;IAE7E,OAAgB,KAAK;;;;;;MAEnB;IAEF,OAAgB,QAAQ,WAAkD;IAE7D,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAqBlC"}
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const _base_command_1 = require("../../base-command");
4
+ const formatter_1 = require("../../core/output/formatter");
5
+ const workflow_runner_1 = require("../../core/workflow/workflow-runner");
6
+ class StatsPerformance extends _base_command_1.BaseCommand {
7
+ static description = 'Retrieve your LinkedIn performance analytics';
8
+ static flags = {
9
+ ..._base_command_1.BaseCommand.baseFlags,
10
+ };
11
+ static examples = ['<%= config.bin %> stats performance --json'];
12
+ async run() {
13
+ const { flags } = await this.parse(StatsPerformance);
14
+ const client = await this.buildAuthenticatedClient();
15
+ try {
16
+ const result = await (0, workflow_runner_1.runWorkflow)(client.retrievePerformance, {}, {
17
+ isQuiet: flags.quiet,
18
+ });
19
+ (0, formatter_1.formatOutput)({
20
+ data: result.data,
21
+ errors: result.errors,
22
+ isJson: flags.json,
23
+ fields: flags.fields,
24
+ isQuiet: flags.quiet,
25
+ });
26
+ }
27
+ catch (error) {
28
+ this.handleError(error);
29
+ }
30
+ }
31
+ }
32
+ exports.default = StatsPerformance;
33
+ //# sourceMappingURL=performance.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"performance.js","sourceRoot":"","sources":["../../../src/commands/stats/performance.ts"],"names":[],"mappings":";;AAAA,iDAA4C;AAC5C,sDAAsD;AACtD,oEAA6D;AAE7D,MAAqB,gBAAiB,SAAQ,2BAAW;IACvD,MAAM,CAAU,WAAW,GAAG,8CAA8C,CAAC;IAE7E,MAAM,CAAU,KAAK,GAAG;QACtB,GAAG,2BAAW,CAAC,SAAS;KACzB,CAAC;IAEF,MAAM,CAAU,QAAQ,GAAG,CAAC,4CAA4C,CAAC,CAAC;IAEnE,KAAK,CAAC,GAAG;QACd,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QAErD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,wBAAwB,EAAE,CAAC;QAErD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAA,6BAAW,EAAC,MAAM,CAAC,mBAAmB,EAAE,EAAE,EAAE;gBAC/D,OAAO,EAAE,KAAK,CAAC,KAAK;aACrB,CAAC,CAAC;YAEH,IAAA,wBAAY,EAAC;gBACX,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,MAAM,EAAE,KAAK,CAAC,IAAI;gBAClB,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,OAAO,EAAE,KAAK,CAAC,KAAK;aACrB,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;;AA7BH,mCA8BC"}
@@ -0,0 +1,14 @@
1
+ import { BaseCommand } from '../../base-command';
2
+ export default class StatsSsi extends BaseCommand {
3
+ static description: string;
4
+ static flags: {
5
+ json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
6
+ fields: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
7
+ quiet: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
8
+ 'no-color': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
9
+ account: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
10
+ };
11
+ static examples: string[];
12
+ run(): Promise<void>;
13
+ }
14
+ //# sourceMappingURL=ssi.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ssi.d.ts","sourceRoot":"","sources":["../../../src/commands/stats/ssi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAI5C,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,WAAW;IAC/C,OAAgB,WAAW,SAAuD;IAElF,OAAgB,KAAK;;;;;;MAEnB;IAEF,OAAgB,QAAQ,WAA0C;IAErD,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAqBlC"}
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const _base_command_1 = require("../../base-command");
4
+ const formatter_1 = require("../../core/output/formatter");
5
+ const workflow_runner_1 = require("../../core/workflow/workflow-runner");
6
+ class StatsSsi extends _base_command_1.BaseCommand {
7
+ static description = 'Retrieve your LinkedIn Social Selling Index (SSI)';
8
+ static flags = {
9
+ ..._base_command_1.BaseCommand.baseFlags,
10
+ };
11
+ static examples = ['<%= config.bin %> stats ssi --json'];
12
+ async run() {
13
+ const { flags } = await this.parse(StatsSsi);
14
+ const client = await this.buildAuthenticatedClient();
15
+ try {
16
+ const result = await (0, workflow_runner_1.runWorkflow)(client.retrieveSSI, {}, {
17
+ isQuiet: flags.quiet,
18
+ });
19
+ (0, formatter_1.formatOutput)({
20
+ data: result.data,
21
+ errors: result.errors,
22
+ isJson: flags.json,
23
+ fields: flags.fields,
24
+ isQuiet: flags.quiet,
25
+ });
26
+ }
27
+ catch (error) {
28
+ this.handleError(error);
29
+ }
30
+ }
31
+ }
32
+ exports.default = StatsSsi;
33
+ //# sourceMappingURL=ssi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ssi.js","sourceRoot":"","sources":["../../../src/commands/stats/ssi.ts"],"names":[],"mappings":";;AAAA,iDAA4C;AAC5C,sDAAsD;AACtD,oEAA6D;AAE7D,MAAqB,QAAS,SAAQ,2BAAW;IAC/C,MAAM,CAAU,WAAW,GAAG,mDAAmD,CAAC;IAElF,MAAM,CAAU,KAAK,GAAG;QACtB,GAAG,2BAAW,CAAC,SAAS;KACzB,CAAC;IAEF,MAAM,CAAU,QAAQ,GAAG,CAAC,oCAAoC,CAAC,CAAC;IAE3D,KAAK,CAAC,GAAG;QACd,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAE7C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,wBAAwB,EAAE,CAAC;QAErD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAA,6BAAW,EAAC,MAAM,CAAC,WAAW,EAAE,EAAE,EAAE;gBACvD,OAAO,EAAE,KAAK,CAAC,KAAK;aACrB,CAAC,CAAC;YAEH,IAAA,wBAAY,EAAC;gBACX,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,MAAM,EAAE,KAAK,CAAC,IAAI;gBAClB,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,OAAO,EAAE,KAAK,CAAC,KAAK;aACrB,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;;AA7BH,2BA8BC"}
@@ -0,0 +1,16 @@
1
+ import { BaseCommand } from '../../base-command';
2
+ export default class StatsUsage extends BaseCommand {
3
+ static description: string;
4
+ static flags: {
5
+ start: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
6
+ end: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
7
+ json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
8
+ fields: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
9
+ quiet: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
10
+ 'no-color': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
11
+ account: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
12
+ };
13
+ static examples: string[];
14
+ run(): Promise<void>;
15
+ }
16
+ //# sourceMappingURL=usage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usage.d.ts","sourceRoot":"","sources":["../../../src/commands/stats/usage.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAG5C,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,WAAW;IACjD,OAAgB,WAAW,SAA0C;IAErE,OAAgB,KAAK;;;;;;;;MAUnB;IAEF,OAAgB,QAAQ,WAEtB;IAEW,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CA0BlC"}
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const core_1 = require("@oclif/core");
4
+ const _base_command_1 = require("../../base-command");
5
+ const formatter_1 = require("../../core/output/formatter");
6
+ class StatsUsage extends _base_command_1.BaseCommand {
7
+ static description = 'Retrieve Linked API usage statistics';
8
+ static flags = {
9
+ ..._base_command_1.BaseCommand.baseFlags,
10
+ start: core_1.Flags.string({
11
+ description: 'Start date (ISO timestamp)',
12
+ required: true,
13
+ }),
14
+ end: core_1.Flags.string({
15
+ description: 'End date (ISO timestamp)',
16
+ required: true,
17
+ }),
18
+ };
19
+ static examples = [
20
+ '<%= config.bin %> stats usage --start 2024-01-01T00:00:00Z --end 2024-01-31T00:00:00Z --json',
21
+ ];
22
+ async run() {
23
+ const { flags } = await this.parse(StatsUsage);
24
+ const client = await this.buildAuthenticatedClient();
25
+ try {
26
+ if (!flags.quiet) {
27
+ process.stderr.write('Fetching usage statistics...\n');
28
+ }
29
+ const result = await client.getApiUsage({
30
+ start: flags.start,
31
+ end: flags.end,
32
+ });
33
+ (0, formatter_1.formatOutput)({
34
+ data: result.data,
35
+ errors: result.errors,
36
+ isJson: flags.json,
37
+ fields: flags.fields,
38
+ isQuiet: flags.quiet,
39
+ });
40
+ }
41
+ catch (error) {
42
+ this.handleError(error);
43
+ }
44
+ }
45
+ }
46
+ exports.default = StatsUsage;
47
+ //# sourceMappingURL=usage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usage.js","sourceRoot":"","sources":["../../../src/commands/stats/usage.ts"],"names":[],"mappings":";;AAAA,sCAAoC;AAEpC,iDAA4C;AAC5C,sDAAsD;AAEtD,MAAqB,UAAW,SAAQ,2BAAW;IACjD,MAAM,CAAU,WAAW,GAAG,sCAAsC,CAAC;IAErE,MAAM,CAAU,KAAK,GAAG;QACtB,GAAG,2BAAW,CAAC,SAAS;QACxB,KAAK,EAAE,YAAK,CAAC,MAAM,CAAC;YAClB,WAAW,EAAE,4BAA4B;YACzC,QAAQ,EAAE,IAAI;SACf,CAAC;QACF,GAAG,EAAE,YAAK,CAAC,MAAM,CAAC;YAChB,WAAW,EAAE,0BAA0B;YACvC,QAAQ,EAAE,IAAI;SACf,CAAC;KACH,CAAC;IAEF,MAAM,CAAU,QAAQ,GAAG;QACzB,8FAA8F;KAC/F,CAAC;IAEK,KAAK,CAAC,GAAG;QACd,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAE/C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,wBAAwB,EAAE,CAAC;QAErD,IAAI,CAAC;YACH,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;gBACjB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;YACzD,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC;gBACtC,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,GAAG,EAAE,KAAK,CAAC,GAAG;aACf,CAAC,CAAC;YAEH,IAAA,wBAAY,EAAC;gBACX,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,MAAM,EAAE,KAAK,CAAC,IAAI;gBAClB,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,OAAO,EAAE,KAAK,CAAC,KAAK;aACrB,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;;AA5CH,6BA6CC"}
@@ -0,0 +1,15 @@
1
+ import { BaseCommand } from '../../base-command';
2
+ export default class WorkflowRun extends BaseCommand {
3
+ static description: string;
4
+ static flags: {
5
+ file: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
6
+ json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
7
+ fields: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
8
+ quiet: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
9
+ 'no-color': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
10
+ account: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
11
+ };
12
+ static examples: string[];
13
+ run(): Promise<void>;
14
+ }
15
+ //# sourceMappingURL=run.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../../src/commands/workflow/run.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAK5C,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,WAAW;IAClD,OAAgB,WAAW,SAImC;IAE9D,OAAgB,KAAK;;;;;;;MAMnB;IAEF,OAAgB,QAAQ,WAGtB;IAEW,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAuDlC"}