@kilnci/cli 0.1.0

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 (130) hide show
  1. package/bin/kiln.js +5 -0
  2. package/dist/base-command.d.ts +21 -0
  3. package/dist/base-command.d.ts.map +1 -0
  4. package/dist/base-command.js +30 -0
  5. package/dist/base-command.js.map +1 -0
  6. package/dist/client.d.ts +166 -0
  7. package/dist/client.d.ts.map +1 -0
  8. package/dist/client.js +321 -0
  9. package/dist/client.js.map +1 -0
  10. package/dist/commands/artifacts.d.ts +17 -0
  11. package/dist/commands/artifacts.d.ts.map +1 -0
  12. package/dist/commands/artifacts.js +96 -0
  13. package/dist/commands/artifacts.js.map +1 -0
  14. package/dist/commands/build.d.ts +15 -0
  15. package/dist/commands/build.d.ts.map +1 -0
  16. package/dist/commands/build.js +79 -0
  17. package/dist/commands/build.js.map +1 -0
  18. package/dist/commands/cancel.d.ts +10 -0
  19. package/dist/commands/cancel.d.ts.map +1 -0
  20. package/dist/commands/cancel.js +27 -0
  21. package/dist/commands/cancel.js.map +1 -0
  22. package/dist/commands/login.d.ts +18 -0
  23. package/dist/commands/login.d.ts.map +1 -0
  24. package/dist/commands/login.js +188 -0
  25. package/dist/commands/login.js.map +1 -0
  26. package/dist/commands/logout.d.ts +7 -0
  27. package/dist/commands/logout.d.ts.map +1 -0
  28. package/dist/commands/logout.js +17 -0
  29. package/dist/commands/logout.js.map +1 -0
  30. package/dist/commands/logs.d.ts +18 -0
  31. package/dist/commands/logs.d.ts.map +1 -0
  32. package/dist/commands/logs.js +139 -0
  33. package/dist/commands/logs.js.map +1 -0
  34. package/dist/commands/org/create.d.ts +13 -0
  35. package/dist/commands/org/create.d.ts.map +1 -0
  36. package/dist/commands/org/create.js +39 -0
  37. package/dist/commands/org/create.js.map +1 -0
  38. package/dist/commands/org/delete.d.ts +13 -0
  39. package/dist/commands/org/delete.d.ts.map +1 -0
  40. package/dist/commands/org/delete.js +44 -0
  41. package/dist/commands/org/delete.js.map +1 -0
  42. package/dist/commands/org/gitlab/remove.d.ts +13 -0
  43. package/dist/commands/org/gitlab/remove.d.ts.map +1 -0
  44. package/dist/commands/org/gitlab/remove.js +51 -0
  45. package/dist/commands/org/gitlab/remove.js.map +1 -0
  46. package/dist/commands/org/gitlab/setup.d.ts +17 -0
  47. package/dist/commands/org/gitlab/setup.d.ts.map +1 -0
  48. package/dist/commands/org/gitlab/setup.js +83 -0
  49. package/dist/commands/org/gitlab/setup.js.map +1 -0
  50. package/dist/commands/org/gitlab/show.d.ts +10 -0
  51. package/dist/commands/org/gitlab/show.d.ts.map +1 -0
  52. package/dist/commands/org/gitlab/show.js +54 -0
  53. package/dist/commands/org/gitlab/show.js.map +1 -0
  54. package/dist/commands/org/gitlab/sync.d.ts +10 -0
  55. package/dist/commands/org/gitlab/sync.d.ts.map +1 -0
  56. package/dist/commands/org/gitlab/sync.js +38 -0
  57. package/dist/commands/org/gitlab/sync.js.map +1 -0
  58. package/dist/commands/org/index.d.ts +11 -0
  59. package/dist/commands/org/index.d.ts.map +1 -0
  60. package/dist/commands/org/index.js +46 -0
  61. package/dist/commands/org/index.js.map +1 -0
  62. package/dist/commands/org/repos/disable.d.ts +11 -0
  63. package/dist/commands/org/repos/disable.d.ts.map +1 -0
  64. package/dist/commands/org/repos/disable.js +32 -0
  65. package/dist/commands/org/repos/disable.js.map +1 -0
  66. package/dist/commands/org/repos/enable.d.ts +11 -0
  67. package/dist/commands/org/repos/enable.d.ts.map +1 -0
  68. package/dist/commands/org/repos/enable.js +32 -0
  69. package/dist/commands/org/repos/enable.js.map +1 -0
  70. package/dist/commands/org/repos.d.ts +14 -0
  71. package/dist/commands/org/repos.d.ts.map +1 -0
  72. package/dist/commands/org/repos.js +54 -0
  73. package/dist/commands/org/repos.js.map +1 -0
  74. package/dist/commands/status.d.ts +17 -0
  75. package/dist/commands/status.d.ts.map +1 -0
  76. package/dist/commands/status.js +73 -0
  77. package/dist/commands/status.js.map +1 -0
  78. package/dist/commands/workers/create.d.ts +15 -0
  79. package/dist/commands/workers/create.d.ts.map +1 -0
  80. package/dist/commands/workers/create.js +74 -0
  81. package/dist/commands/workers/create.js.map +1 -0
  82. package/dist/commands/workers/delete.d.ts +13 -0
  83. package/dist/commands/workers/delete.d.ts.map +1 -0
  84. package/dist/commands/workers/delete.js +40 -0
  85. package/dist/commands/workers/delete.js.map +1 -0
  86. package/dist/commands/workers/index.d.ts +10 -0
  87. package/dist/commands/workers/index.d.ts.map +1 -0
  88. package/dist/commands/workers/index.js +42 -0
  89. package/dist/commands/workers/index.js.map +1 -0
  90. package/dist/commands/workers/logs.d.ts +11 -0
  91. package/dist/commands/workers/logs.d.ts.map +1 -0
  92. package/dist/commands/workers/logs.js +54 -0
  93. package/dist/commands/workers/logs.js.map +1 -0
  94. package/dist/commands/workers/revoke.d.ts +10 -0
  95. package/dist/commands/workers/revoke.d.ts.map +1 -0
  96. package/dist/commands/workers/revoke.js +27 -0
  97. package/dist/commands/workers/revoke.js.map +1 -0
  98. package/dist/commands/workers/start.d.ts +19 -0
  99. package/dist/commands/workers/start.d.ts.map +1 -0
  100. package/dist/commands/workers/start.js +329 -0
  101. package/dist/commands/workers/start.js.map +1 -0
  102. package/dist/commands/workers/status.d.ts +7 -0
  103. package/dist/commands/workers/status.d.ts.map +1 -0
  104. package/dist/commands/workers/status.js +75 -0
  105. package/dist/commands/workers/status.js.map +1 -0
  106. package/dist/commands/workers/stop.d.ts +10 -0
  107. package/dist/commands/workers/stop.d.ts.map +1 -0
  108. package/dist/commands/workers/stop.js +79 -0
  109. package/dist/commands/workers/stop.js.map +1 -0
  110. package/dist/commands/workers/token.d.ts +13 -0
  111. package/dist/commands/workers/token.d.ts.map +1 -0
  112. package/dist/commands/workers/token.js +38 -0
  113. package/dist/commands/workers/token.js.map +1 -0
  114. package/dist/config.d.ts +38 -0
  115. package/dist/config.d.ts.map +1 -0
  116. package/dist/config.js +68 -0
  117. package/dist/config.js.map +1 -0
  118. package/dist/formatters.d.ts +42 -0
  119. package/dist/formatters.d.ts.map +1 -0
  120. package/dist/formatters.js +194 -0
  121. package/dist/formatters.js.map +1 -0
  122. package/dist/index.d.ts +4 -0
  123. package/dist/index.d.ts.map +1 -0
  124. package/dist/index.js +5 -0
  125. package/dist/index.js.map +1 -0
  126. package/dist/lib/workers-helpers.d.ts +20 -0
  127. package/dist/lib/workers-helpers.d.ts.map +1 -0
  128. package/dist/lib/workers-helpers.js +51 -0
  129. package/dist/lib/workers-helpers.js.map +1 -0
  130. package/package.json +56 -0
@@ -0,0 +1,46 @@
1
+ import { Flags } from '@oclif/core';
2
+ import { BaseCommand } from '../../base-command.js';
3
+ export default class Org extends BaseCommand {
4
+ static description = 'List organizations';
5
+ static examples = [
6
+ '<%= config.bin %> org',
7
+ '<%= config.bin %> org --page 2',
8
+ ];
9
+ static flags = {
10
+ page: Flags.integer({
11
+ char: 'p',
12
+ description: 'Page number',
13
+ default: 1,
14
+ }),
15
+ pageSize: Flags.integer({
16
+ char: 'n',
17
+ description: 'Page size',
18
+ default: 10,
19
+ }),
20
+ };
21
+ async run() {
22
+ const { flags } = await this.parse(Org);
23
+ this.requireAuth();
24
+ try {
25
+ const result = await this.client.listOrganizations({
26
+ page: flags.page,
27
+ pageSize: flags.pageSize,
28
+ });
29
+ if (result.items.length === 0) {
30
+ this.log('No organizations found.');
31
+ return;
32
+ }
33
+ this.log(`Organizations (page ${result.page}/${Math.ceil(result.total / result.pageSize)}, total: ${result.total}):\n`);
34
+ for (const org of result.items) {
35
+ this.log(` ${org.slug}`);
36
+ this.log(` Name: ${org.name}`);
37
+ this.log(` Created: ${new Date(org.createdAt).toLocaleDateString()}`);
38
+ this.log('');
39
+ }
40
+ }
41
+ catch (error) {
42
+ this.handleError(error, 'list organizations');
43
+ }
44
+ }
45
+ }
46
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/org/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEpD,MAAM,CAAC,OAAO,OAAO,GAAI,SAAQ,WAAW;IAC1C,MAAM,CAAU,WAAW,GAAG,oBAAoB,CAAC;IAEnD,MAAM,CAAU,QAAQ,GAAG;QACzB,uBAAuB;QACvB,gCAAgC;KACjC,CAAC;IAEF,MAAM,CAAU,KAAK,GAAG;QACtB,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC;YAClB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,aAAa;YAC1B,OAAO,EAAE,CAAC;SACX,CAAC;QACF,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC;YACtB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,WAAW;YACxB,OAAO,EAAE,EAAE;SACZ,CAAC;KACH,CAAC;IAEK,KAAK,CAAC,GAAG;QACd,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACxC,IAAI,CAAC,WAAW,EAAE,CAAC;QAEnB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC;gBACjD,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,QAAQ,EAAE,KAAK,CAAC,QAAQ;aACzB,CAAC,CAAC;YAEH,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC9B,IAAI,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;gBACpC,OAAO;YACT,CAAC;YAED,IAAI,CAAC,GAAG,CAAC,uBAAuB,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,YAAY,MAAM,CAAC,KAAK,MAAM,CAAC,CAAC;YAExH,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;gBAC/B,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC1B,IAAI,CAAC,GAAG,CAAC,aAAa,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;gBAClC,IAAI,CAAC,GAAG,CAAC,gBAAgB,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC;gBACzE,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACf,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,oBAAoB,CAAC,CAAC;QAChD,CAAC;IACH,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { BaseCommand } from '../../../base-command.js';
2
+ export default class OrgReposDisable extends BaseCommand {
3
+ static description: string;
4
+ static examples: string[];
5
+ static args: {
6
+ org: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
7
+ repoId: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
8
+ };
9
+ run(): Promise<void>;
10
+ }
11
+ //# sourceMappingURL=disable.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"disable.d.ts","sourceRoot":"","sources":["../../../../src/commands/org/repos/disable.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,WAAW;IACtD,OAAgB,WAAW,SAAqC;IAEhE,OAAgB,QAAQ,WAEtB;IAEF,OAAgB,IAAI;;;MASlB;IAEW,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAclC"}
@@ -0,0 +1,32 @@
1
+ import { Args } from '@oclif/core';
2
+ import { BaseCommand } from '../../../base-command.js';
3
+ export default class OrgReposDisable extends BaseCommand {
4
+ static description = 'Disable builds for a repository';
5
+ static examples = [
6
+ '<%= config.bin %> org repos disable enspirit abc123',
7
+ ];
8
+ static args = {
9
+ org: Args.string({
10
+ description: 'Organization slug',
11
+ required: true,
12
+ }),
13
+ repoId: Args.string({
14
+ description: 'Repository ID',
15
+ required: true,
16
+ }),
17
+ };
18
+ async run() {
19
+ const { args } = await this.parse(OrgReposDisable);
20
+ this.requireAuth();
21
+ try {
22
+ const repo = await this.client.updateRepository(args.org, args.repoId, {
23
+ buildEnabled: false,
24
+ });
25
+ this.log(`Builds disabled for ${repo.fullPath}`);
26
+ }
27
+ catch (error) {
28
+ this.handleError(error, 'disable builds');
29
+ }
30
+ }
31
+ }
32
+ //# sourceMappingURL=disable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"disable.js","sourceRoot":"","sources":["../../../../src/commands/org/repos/disable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACnC,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,WAAW;IACtD,MAAM,CAAU,WAAW,GAAG,iCAAiC,CAAC;IAEhE,MAAM,CAAU,QAAQ,GAAG;QACzB,qDAAqD;KACtD,CAAC;IAEF,MAAM,CAAU,IAAI,GAAG;QACrB,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC;YACf,WAAW,EAAE,mBAAmB;YAChC,QAAQ,EAAE,IAAI;SACf,CAAC;QACF,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC;YAClB,WAAW,EAAE,eAAe;YAC5B,QAAQ,EAAE,IAAI;SACf,CAAC;KACH,CAAC;IAEK,KAAK,CAAC,GAAG;QACd,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QACnD,IAAI,CAAC,WAAW,EAAE,CAAC;QAEnB,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,EAAE;gBACrE,YAAY,EAAE,KAAK;aACpB,CAAC,CAAC;YAEH,IAAI,CAAC,GAAG,CAAC,uBAAuB,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QACnD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { BaseCommand } from '../../../base-command.js';
2
+ export default class OrgReposEnable extends BaseCommand {
3
+ static description: string;
4
+ static examples: string[];
5
+ static args: {
6
+ org: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
7
+ repoId: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
8
+ };
9
+ run(): Promise<void>;
10
+ }
11
+ //# sourceMappingURL=enable.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enable.d.ts","sourceRoot":"","sources":["../../../../src/commands/org/repos/enable.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,WAAW;IACrD,OAAgB,WAAW,SAAoC;IAE/D,OAAgB,QAAQ,WAEtB;IAEF,OAAgB,IAAI;;;MASlB;IAEW,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAclC"}
@@ -0,0 +1,32 @@
1
+ import { Args } from '@oclif/core';
2
+ import { BaseCommand } from '../../../base-command.js';
3
+ export default class OrgReposEnable extends BaseCommand {
4
+ static description = 'Enable builds for a repository';
5
+ static examples = [
6
+ '<%= config.bin %> org repos enable enspirit abc123',
7
+ ];
8
+ static args = {
9
+ org: Args.string({
10
+ description: 'Organization slug',
11
+ required: true,
12
+ }),
13
+ repoId: Args.string({
14
+ description: 'Repository ID',
15
+ required: true,
16
+ }),
17
+ };
18
+ async run() {
19
+ const { args } = await this.parse(OrgReposEnable);
20
+ this.requireAuth();
21
+ try {
22
+ const repo = await this.client.updateRepository(args.org, args.repoId, {
23
+ buildEnabled: true,
24
+ });
25
+ this.log(`Builds enabled for ${repo.fullPath}`);
26
+ }
27
+ catch (error) {
28
+ this.handleError(error, 'enable builds');
29
+ }
30
+ }
31
+ }
32
+ //# sourceMappingURL=enable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enable.js","sourceRoot":"","sources":["../../../../src/commands/org/repos/enable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACnC,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,WAAW;IACrD,MAAM,CAAU,WAAW,GAAG,gCAAgC,CAAC;IAE/D,MAAM,CAAU,QAAQ,GAAG;QACzB,oDAAoD;KACrD,CAAC;IAEF,MAAM,CAAU,IAAI,GAAG;QACrB,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC;YACf,WAAW,EAAE,mBAAmB;YAChC,QAAQ,EAAE,IAAI;SACf,CAAC;QACF,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC;YAClB,WAAW,EAAE,eAAe;YAC5B,QAAQ,EAAE,IAAI;SACf,CAAC;KACH,CAAC;IAEK,KAAK,CAAC,GAAG;QACd,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QAClD,IAAI,CAAC,WAAW,EAAE,CAAC;QAEnB,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,EAAE;gBACrE,YAAY,EAAE,IAAI;aACnB,CAAC,CAAC;YAEH,IAAI,CAAC,GAAG,CAAC,sBAAsB,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QAClD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC"}
@@ -0,0 +1,14 @@
1
+ import { BaseCommand } from '../../base-command.js';
2
+ export default class OrgRepos extends BaseCommand {
3
+ static description: string;
4
+ static examples: string[];
5
+ static args: {
6
+ org: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
7
+ };
8
+ static flags: {
9
+ page: import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
10
+ pageSize: import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
11
+ };
12
+ run(): Promise<void>;
13
+ }
14
+ //# sourceMappingURL=repos.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repos.d.ts","sourceRoot":"","sources":["../../../src/commands/org/repos.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEpD,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,WAAW;IAC/C,OAAgB,WAAW,SAA2C;IAEtE,OAAgB,QAAQ,WAGtB;IAEF,OAAgB,IAAI;;MAKlB;IAEF,OAAgB,KAAK;;;MAWnB;IAEW,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CA6BlC"}
@@ -0,0 +1,54 @@
1
+ import { Args, Flags } from '@oclif/core';
2
+ import { BaseCommand } from '../../base-command.js';
3
+ export default class OrgRepos extends BaseCommand {
4
+ static description = 'List repositories for an organization';
5
+ static examples = [
6
+ '<%= config.bin %> org repos enspirit',
7
+ '<%= config.bin %> org repos enspirit --page 2',
8
+ ];
9
+ static args = {
10
+ org: Args.string({
11
+ description: 'Organization slug',
12
+ required: true,
13
+ }),
14
+ };
15
+ static flags = {
16
+ page: Flags.integer({
17
+ char: 'p',
18
+ description: 'Page number',
19
+ default: 1,
20
+ }),
21
+ pageSize: Flags.integer({
22
+ char: 'n',
23
+ description: 'Page size',
24
+ default: 20,
25
+ }),
26
+ };
27
+ async run() {
28
+ const { args, flags } = await this.parse(OrgRepos);
29
+ this.requireAuth();
30
+ try {
31
+ const result = await this.client.listRepositories(args.org, {
32
+ page: flags.page,
33
+ pageSize: flags.pageSize,
34
+ });
35
+ if (result.items.length === 0) {
36
+ this.log('No repositories found. Run `kiln org gitlab sync` to sync from GitLab.');
37
+ return;
38
+ }
39
+ this.log(`Repositories for ${args.org} (page ${result.page}/${Math.ceil(result.total / result.pageSize)}, total: ${result.total}):\n`);
40
+ for (const repo of result.items) {
41
+ const status = repo.buildEnabled ? 'enabled' : 'disabled';
42
+ this.log(` ${repo.fullPath}`);
43
+ this.log(` ID: ${repo.id}`);
44
+ this.log(` Build: ${status}`);
45
+ this.log(` Default Branch: ${repo.defaultBranch}`);
46
+ this.log('');
47
+ }
48
+ }
49
+ catch (error) {
50
+ this.handleError(error, 'list repositories');
51
+ }
52
+ }
53
+ }
54
+ //# sourceMappingURL=repos.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repos.js","sourceRoot":"","sources":["../../../src/commands/org/repos.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEpD,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,WAAW;IAC/C,MAAM,CAAU,WAAW,GAAG,uCAAuC,CAAC;IAEtE,MAAM,CAAU,QAAQ,GAAG;QACzB,sCAAsC;QACtC,+CAA+C;KAChD,CAAC;IAEF,MAAM,CAAU,IAAI,GAAG;QACrB,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC;YACf,WAAW,EAAE,mBAAmB;YAChC,QAAQ,EAAE,IAAI;SACf,CAAC;KACH,CAAC;IAEF,MAAM,CAAU,KAAK,GAAG;QACtB,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC;YAClB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,aAAa;YAC1B,OAAO,EAAE,CAAC;SACX,CAAC;QACF,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC;YACtB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,WAAW;YACxB,OAAO,EAAE,EAAE;SACZ,CAAC;KACH,CAAC;IAEK,KAAK,CAAC,GAAG;QACd,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACnD,IAAI,CAAC,WAAW,EAAE,CAAC;QAEnB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,EAAE;gBAC1D,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,QAAQ,EAAE,KAAK,CAAC,QAAQ;aACzB,CAAC,CAAC;YAEH,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC9B,IAAI,CAAC,GAAG,CAAC,wEAAwE,CAAC,CAAC;gBACnF,OAAO;YACT,CAAC;YAED,IAAI,CAAC,GAAG,CAAC,oBAAoB,IAAI,CAAC,GAAG,UAAU,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,YAAY,MAAM,CAAC,KAAK,MAAM,CAAC,CAAC;YAEvI,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;gBAChC,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC;gBAC1D,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAC/B,IAAI,CAAC,GAAG,CAAC,WAAW,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC/B,IAAI,CAAC,GAAG,CAAC,cAAc,MAAM,EAAE,CAAC,CAAC;gBACjC,IAAI,CAAC,GAAG,CAAC,uBAAuB,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;gBACtD,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACf,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,mBAAmB,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { BaseCommand } from '../base-command.js';
2
+ export default class Status extends BaseCommand {
3
+ static description: string;
4
+ static examples: string[];
5
+ static args: {
6
+ buildId: import("@oclif/core/interfaces").Arg<string | undefined, Record<string, unknown>>;
7
+ };
8
+ static flags: {
9
+ page: import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
10
+ pageSize: import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
11
+ repo: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
12
+ branch: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
13
+ status: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
14
+ };
15
+ run(): Promise<void>;
16
+ }
17
+ //# sourceMappingURL=status.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGjD,MAAM,CAAC,OAAO,OAAO,MAAO,SAAQ,WAAW;IAC7C,OAAgB,WAAW,SAAuB;IAElD,OAAgB,QAAQ,WAKtB;IAEF,OAAgB,IAAI;;MAKlB;IAEF,OAAgB,KAAK;;;;;;MAuBnB;IAEW,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CA+BlC"}
@@ -0,0 +1,73 @@
1
+ import { Args, Flags } from '@oclif/core';
2
+ import { BaseCommand } from '../base-command.js';
3
+ import { formatBuildsTable, formatBuildDetails } from '../formatters.js';
4
+ export default class Status extends BaseCommand {
5
+ static description = 'Show build status';
6
+ static examples = [
7
+ '<%= config.bin %> status',
8
+ '<%= config.bin %> status 11111111-1111-1111-1111-111111111111',
9
+ '<%= config.bin %> status --status running',
10
+ '<%= config.bin %> status --repo https://github.com/example/repo.git',
11
+ ];
12
+ static args = {
13
+ buildId: Args.string({
14
+ description: 'Build ID to show status for (optional, lists all if omitted)',
15
+ required: false,
16
+ }),
17
+ };
18
+ static flags = {
19
+ page: Flags.integer({
20
+ char: 'p',
21
+ description: 'Page number',
22
+ default: 1,
23
+ }),
24
+ pageSize: Flags.integer({
25
+ char: 'n',
26
+ description: 'Number of builds per page',
27
+ default: 10,
28
+ }),
29
+ repo: Flags.string({
30
+ char: 'r',
31
+ description: 'Filter by repository URL',
32
+ }),
33
+ branch: Flags.string({
34
+ char: 'b',
35
+ description: 'Filter by branch',
36
+ }),
37
+ status: Flags.string({
38
+ char: 's',
39
+ description: 'Filter by status (pending, running, success, failed, cancelled)',
40
+ }),
41
+ };
42
+ async run() {
43
+ const { args, flags } = await this.parse(Status);
44
+ this.requireAuth();
45
+ try {
46
+ if (args.buildId) {
47
+ // Show single build
48
+ const build = await this.client.getBuild(args.buildId);
49
+ this.log(formatBuildDetails(build));
50
+ }
51
+ else {
52
+ // List builds
53
+ const result = await this.client.listBuilds({
54
+ page: flags.page,
55
+ pageSize: flags.pageSize,
56
+ repo: flags.repo,
57
+ branch: flags.branch,
58
+ status: flags.status,
59
+ });
60
+ if (result.items.length === 0) {
61
+ this.log('No builds found.');
62
+ return;
63
+ }
64
+ this.log(formatBuildsTable(result.items));
65
+ this.log(`\nShowing ${result.items.length} of ${result.total} builds (page ${result.page})`);
66
+ }
67
+ }
68
+ catch (error) {
69
+ this.handleError(error, 'get build status');
70
+ }
71
+ }
72
+ }
73
+ //# sourceMappingURL=status.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAEzE,MAAM,CAAC,OAAO,OAAO,MAAO,SAAQ,WAAW;IAC7C,MAAM,CAAU,WAAW,GAAG,mBAAmB,CAAC;IAElD,MAAM,CAAU,QAAQ,GAAG;QACzB,0BAA0B;QAC1B,+DAA+D;QAC/D,2CAA2C;QAC3C,qEAAqE;KACtE,CAAC;IAEF,MAAM,CAAU,IAAI,GAAG;QACrB,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC;YACnB,WAAW,EAAE,8DAA8D;YAC3E,QAAQ,EAAE,KAAK;SAChB,CAAC;KACH,CAAC;IAEF,MAAM,CAAU,KAAK,GAAG;QACtB,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC;YAClB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,aAAa;YAC1B,OAAO,EAAE,CAAC;SACX,CAAC;QACF,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC;YACtB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,2BAA2B;YACxC,OAAO,EAAE,EAAE;SACZ,CAAC;QACF,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC;YACjB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,0BAA0B;SACxC,CAAC;QACF,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC;YACnB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,kBAAkB;SAChC,CAAC;QACF,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC;YACnB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,iEAAiE;SAC/E,CAAC;KACH,CAAC;IAEK,KAAK,CAAC,GAAG;QACd,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACjD,IAAI,CAAC,WAAW,EAAE,CAAC;QAEnB,IAAI,CAAC;YACH,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACjB,oBAAoB;gBACpB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACvD,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC;YACtC,CAAC;iBAAM,CAAC;gBACN,cAAc;gBACd,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;oBAC1C,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,QAAQ,EAAE,KAAK,CAAC,QAAQ;oBACxB,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,MAAM,EAAE,KAAK,CAAC,MAAM;oBACpB,MAAM,EAAE,KAAK,CAAC,MAAM;iBACrB,CAAC,CAAC;gBAEH,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC9B,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;oBAC7B,OAAO;gBACT,CAAC;gBAED,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;gBAC1C,IAAI,CAAC,GAAG,CAAC,aAAa,MAAM,CAAC,KAAK,CAAC,MAAM,OAAO,MAAM,CAAC,KAAK,iBAAiB,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC;YAC/F,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC"}
@@ -0,0 +1,15 @@
1
+ import { BaseCommand } from '../../base-command.js';
2
+ export default class WorkersCreate extends BaseCommand {
3
+ static description: string;
4
+ static examples: string[];
5
+ static args: {
6
+ name: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
7
+ };
8
+ static flags: {
9
+ 'max-concurrent': import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
10
+ ttl: import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
11
+ labels: import("@oclif/core/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/interfaces").CustomOptions>;
12
+ };
13
+ run(): Promise<void>;
14
+ }
15
+ //# sourceMappingURL=create.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../src/commands/workers/create.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEpD,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,WAAW;IACpD,OAAgB,WAAW,SAA8E;IAEzG,OAAgB,QAAQ,WAItB;IAEF,OAAgB,IAAI;;MAKlB;IAEF,OAAgB,KAAK;;;;MAgBnB;IAEW,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CA0ClC"}
@@ -0,0 +1,74 @@
1
+ import { Args, Flags } from '@oclif/core';
2
+ import { BaseCommand } from '../../base-command.js';
3
+ export default class WorkersCreate extends BaseCommand {
4
+ static description = 'Create a new worker (admin only). Returns a one-time registration token.';
5
+ static examples = [
6
+ '<%= config.bin %> workers create my-worker',
7
+ '<%= config.bin %> workers create build-server --max-concurrent 4',
8
+ '<%= config.bin %> workers create k8s-worker --ttl 60',
9
+ ];
10
+ static args = {
11
+ name: Args.string({
12
+ description: 'Worker name (unique identifier)',
13
+ required: true,
14
+ }),
15
+ };
16
+ static flags = {
17
+ 'max-concurrent': Flags.integer({
18
+ char: 'c',
19
+ description: 'Maximum concurrent builds this worker can handle',
20
+ default: 1,
21
+ }),
22
+ ttl: Flags.integer({
23
+ char: 't',
24
+ description: 'Registration token TTL in minutes (default: 1440 = 24 hours)',
25
+ default: 1440,
26
+ }),
27
+ labels: Flags.string({
28
+ char: 'l',
29
+ description: 'Labels as key=value pairs (can be repeated)',
30
+ multiple: true,
31
+ }),
32
+ };
33
+ async run() {
34
+ const { args, flags } = await this.parse(WorkersCreate);
35
+ this.requireAuth();
36
+ try {
37
+ // Parse labels from key=value pairs
38
+ const labels = {};
39
+ if (flags.labels) {
40
+ for (const label of flags.labels) {
41
+ const [key, ...valueParts] = label.split('=');
42
+ if (!key || valueParts.length === 0) {
43
+ this.error(`Invalid label format: ${label}. Expected key=value`);
44
+ }
45
+ labels[key] = valueParts.join('=');
46
+ }
47
+ }
48
+ const result = await this.client.createWorker({
49
+ name: args.name,
50
+ maxConcurrentBuilds: flags['max-concurrent'],
51
+ tokenTtlMinutes: flags.ttl,
52
+ labels,
53
+ selectorMode: 'preferred',
54
+ });
55
+ this.log(`Worker created successfully:\n`);
56
+ this.log(` ID: ${result.worker.id}`);
57
+ this.log(` Name: ${result.worker.name}`);
58
+ this.log(` Max Concurrent Builds: ${result.worker.maxConcurrentBuilds}`);
59
+ this.log(` Status: ${result.worker.status}`);
60
+ this.log('');
61
+ this.log(`Registration Token (shown only once):`);
62
+ this.log(` ${result.workerToken}`);
63
+ this.log('');
64
+ this.log(`Token Expires: ${new Date(result.tokenExpiresAt).toLocaleString()}`);
65
+ this.log('');
66
+ this.log('Use this token to configure the worker:');
67
+ this.log(` WORKER_TOKEN=${result.workerToken}`);
68
+ }
69
+ catch (error) {
70
+ this.handleError(error, 'create worker');
71
+ }
72
+ }
73
+ }
74
+ //# sourceMappingURL=create.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/commands/workers/create.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import { BaseCommand } from '../../base-command.js';
2
+ export default class WorkersDelete extends BaseCommand {
3
+ static description: string;
4
+ static examples: string[];
5
+ static args: {
6
+ id: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
7
+ };
8
+ static flags: {
9
+ force: import("@oclif/core/interfaces").BooleanFlag<boolean>;
10
+ };
11
+ run(): Promise<void>;
12
+ }
13
+ //# sourceMappingURL=delete.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../../src/commands/workers/delete.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEpD,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,WAAW;IACpD,OAAgB,WAAW,SAAkC;IAE7D,OAAgB,QAAQ,WAGtB;IAEF,OAAgB,IAAI;;MAKlB;IAEF,OAAgB,KAAK;;MAMnB;IAEW,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAkBlC"}
@@ -0,0 +1,40 @@
1
+ import { Args, Flags } from '@oclif/core';
2
+ import { BaseCommand } from '../../base-command.js';
3
+ export default class WorkersDelete extends BaseCommand {
4
+ static description = 'Delete a worker (admin only)';
5
+ static examples = [
6
+ '<%= config.bin %> workers delete w_abc123',
7
+ '<%= config.bin %> workers delete w_abc123 --force',
8
+ ];
9
+ static args = {
10
+ id: Args.string({
11
+ description: 'Worker ID',
12
+ required: true,
13
+ }),
14
+ };
15
+ static flags = {
16
+ force: Flags.boolean({
17
+ char: 'f',
18
+ description: 'Skip confirmation',
19
+ default: false,
20
+ }),
21
+ };
22
+ async run() {
23
+ const { args, flags } = await this.parse(WorkersDelete);
24
+ this.requireAuth();
25
+ if (!flags.force) {
26
+ this.log(`Are you sure you want to delete worker ${args.id}?`);
27
+ this.log('This will also revoke all active sessions.');
28
+ this.log('Use --force to skip this confirmation.');
29
+ return;
30
+ }
31
+ try {
32
+ await this.client.deleteWorker(args.id);
33
+ this.log(`Worker ${args.id} deleted successfully.`);
34
+ }
35
+ catch (error) {
36
+ this.handleError(error, 'delete worker');
37
+ }
38
+ }
39
+ }
40
+ //# sourceMappingURL=delete.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../src/commands/workers/delete.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEpD,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,WAAW;IACpD,MAAM,CAAU,WAAW,GAAG,8BAA8B,CAAC;IAE7D,MAAM,CAAU,QAAQ,GAAG;QACzB,2CAA2C;QAC3C,mDAAmD;KACpD,CAAC;IAEF,MAAM,CAAU,IAAI,GAAG;QACrB,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC;YACd,WAAW,EAAE,WAAW;YACxB,QAAQ,EAAE,IAAI;SACf,CAAC;KACH,CAAC;IAEF,MAAM,CAAU,KAAK,GAAG;QACtB,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC;YACnB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,mBAAmB;YAChC,OAAO,EAAE,KAAK;SACf,CAAC;KACH,CAAC;IAEK,KAAK,CAAC,GAAG;QACd,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QACxD,IAAI,CAAC,WAAW,EAAE,CAAC;QAEnB,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YACjB,IAAI,CAAC,GAAG,CAAC,0CAA0C,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;YAC/D,IAAI,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;YACvD,IAAI,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;YACnD,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACxC,IAAI,CAAC,GAAG,CAAC,UAAU,IAAI,CAAC,EAAE,wBAAwB,CAAC,CAAC;QACtD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { BaseCommand } from '../../base-command.js';
2
+ export default class Workers extends BaseCommand {
3
+ static description: string;
4
+ static examples: string[];
5
+ static flags: {
6
+ status: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
7
+ };
8
+ run(): Promise<void>;
9
+ }
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/workers/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAGpD,MAAM,CAAC,OAAO,OAAO,OAAQ,SAAQ,WAAW;IAC9C,OAAgB,WAAW,SAAmC;IAE9D,OAAgB,QAAQ,WAGtB;IAEF,OAAgB,KAAK;;MAKnB;IAEW,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CA+BlC"}
@@ -0,0 +1,42 @@
1
+ import { Flags } from '@oclif/core';
2
+ import { BaseCommand } from '../../base-command.js';
3
+ import { formatWorkersTable, formatWorkerStatus } from '../../formatters.js';
4
+ export default class Workers extends BaseCommand {
5
+ static description = 'List workers and their status';
6
+ static examples = [
7
+ '<%= config.bin %> workers',
8
+ '<%= config.bin %> workers --status online',
9
+ ];
10
+ static flags = {
11
+ status: Flags.string({
12
+ char: 's',
13
+ description: 'Filter by status (pending, online, busy, offline)',
14
+ }),
15
+ };
16
+ async run() {
17
+ const { flags } = await this.parse(Workers);
18
+ this.requireAuth();
19
+ try {
20
+ let workers = await this.client.listWorkers();
21
+ // Filter by status if specified
22
+ if (flags.status) {
23
+ workers = workers.filter(w => w.status === flags.status);
24
+ }
25
+ if (workers.length === 0) {
26
+ this.log('No workers found.');
27
+ return;
28
+ }
29
+ this.log(formatWorkersTable(workers));
30
+ // Summary
31
+ const pending = workers.filter(w => w.status === 'pending').length;
32
+ const online = workers.filter(w => w.status === 'online').length;
33
+ const busy = workers.filter(w => w.status === 'busy').length;
34
+ const offline = workers.filter(w => w.status === 'offline').length;
35
+ this.log(`\n${workers.length} workers: ${formatWorkerStatus('pending')} ${pending}, ${formatWorkerStatus('online')} ${online}, ${formatWorkerStatus('busy')} ${busy}, ${formatWorkerStatus('offline')} ${offline}`);
36
+ }
37
+ catch (error) {
38
+ this.handleError(error, 'list workers');
39
+ }
40
+ }
41
+ }
42
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/workers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAE7E,MAAM,CAAC,OAAO,OAAO,OAAQ,SAAQ,WAAW;IAC9C,MAAM,CAAU,WAAW,GAAG,+BAA+B,CAAC;IAE9D,MAAM,CAAU,QAAQ,GAAG;QACzB,2BAA2B;QAC3B,2CAA2C;KAC5C,CAAC;IAEF,MAAM,CAAU,KAAK,GAAG;QACtB,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC;YACnB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,mDAAmD;SACjE,CAAC;KACH,CAAC;IAEK,KAAK,CAAC,GAAG;QACd,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC5C,IAAI,CAAC,WAAW,EAAE,CAAC;QAEnB,IAAI,CAAC;YACH,IAAI,OAAO,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;YAE9C,gCAAgC;YAChC,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;gBACjB,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,CAAC,CAAC;YAC3D,CAAC;YAED,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzB,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;gBAC9B,OAAO;YACT,CAAC;YAED,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC;YAEtC,UAAU;YACV,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,MAAM,CAAC;YACnE,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,MAAM,CAAC;YACjE,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,MAAM,CAAC;YAC7D,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,MAAM,CAAC;YACnE,IAAI,CAAC,GAAG,CACN,KAAK,OAAO,CAAC,MAAM,aAAa,kBAAkB,CAAC,SAAS,CAAC,IAAI,OAAO,KAAK,kBAAkB,CAAC,QAAQ,CAAC,IAAI,MAAM,KAAK,kBAAkB,CAAC,MAAM,CAAC,IAAI,IAAI,KAAK,kBAAkB,CAAC,SAAS,CAAC,IAAI,OAAO,EAAE,CAC1M,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { BaseCommand } from '../../base-command.js';
2
+ export default class WorkersLogs extends BaseCommand {
3
+ static description: string;
4
+ static examples: string[];
5
+ static flags: {
6
+ follow: import("@oclif/core/interfaces").BooleanFlag<boolean>;
7
+ tail: import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
8
+ };
9
+ run(): Promise<void>;
10
+ }
11
+ //# sourceMappingURL=logs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logs.d.ts","sourceRoot":"","sources":["../../../src/commands/workers/logs.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAgBpD,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,WAAW;IAClD,OAAgB,WAAW,SAAgD;IAE3E,OAAgB,QAAQ,WAItB;IAEF,OAAgB,KAAK;;;MAWnB;IAEW,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAuBlC"}