@agentuity/cli 0.1.6 → 0.1.8

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 (101) hide show
  1. package/dist/cli.d.ts.map +1 -1
  2. package/dist/cli.js +64 -4
  3. package/dist/cli.js.map +1 -1
  4. package/dist/cmd/build/vite/agent-discovery.d.ts.map +1 -1
  5. package/dist/cmd/build/vite/agent-discovery.js +159 -16
  6. package/dist/cmd/build/vite/agent-discovery.js.map +1 -1
  7. package/dist/cmd/build/vite/docs-generator.d.ts.map +1 -1
  8. package/dist/cmd/build/vite/docs-generator.js +8 -4
  9. package/dist/cmd/build/vite/docs-generator.js.map +1 -1
  10. package/dist/cmd/build/vite/registry-generator.d.ts.map +1 -1
  11. package/dist/cmd/build/vite/registry-generator.js +27 -4
  12. package/dist/cmd/build/vite/registry-generator.js.map +1 -1
  13. package/dist/cmd/build/vite/server-bundler.d.ts.map +1 -1
  14. package/dist/cmd/build/vite/server-bundler.js +3 -1
  15. package/dist/cmd/build/vite/server-bundler.js.map +1 -1
  16. package/dist/cmd/build/vite/vite-asset-server-config.d.ts.map +1 -1
  17. package/dist/cmd/build/vite/vite-asset-server-config.js +5 -2
  18. package/dist/cmd/build/vite/vite-asset-server-config.js.map +1 -1
  19. package/dist/cmd/canary/index.d.ts.map +1 -0
  20. package/dist/cmd/canary/index.js +186 -0
  21. package/dist/cmd/canary/index.js.map +1 -0
  22. package/dist/cmd/cloud/deploy.js +1 -1
  23. package/dist/cmd/cloud/deploy.js.map +1 -1
  24. package/dist/cmd/git/account/add.js +1 -1
  25. package/dist/cmd/git/account/add.js.map +1 -1
  26. package/dist/cmd/git/account/list.js +1 -1
  27. package/dist/cmd/git/account/list.js.map +1 -1
  28. package/dist/cmd/git/account/remove.js +1 -1
  29. package/dist/cmd/git/account/remove.js.map +1 -1
  30. package/dist/cmd/git/api.d.ts.map +1 -0
  31. package/dist/cmd/git/api.js.map +1 -0
  32. package/dist/cmd/git/link.js +1 -1
  33. package/dist/cmd/git/link.js.map +1 -1
  34. package/dist/cmd/git/list.js +1 -1
  35. package/dist/cmd/git/list.js.map +1 -1
  36. package/dist/cmd/git/status.js +1 -1
  37. package/dist/cmd/git/status.js.map +1 -1
  38. package/dist/cmd/git/unlink.js +1 -1
  39. package/dist/cmd/git/unlink.js.map +1 -1
  40. package/dist/cmd/index.js +1 -1
  41. package/dist/cmd/index.js.map +1 -1
  42. package/dist/cmd/project/auth/generate.js.map +1 -1
  43. package/dist/cmd/project/auth/init.js.map +1 -1
  44. package/dist/cmd/project/auth/shared.d.ts.map +1 -1
  45. package/dist/cmd/project/auth/shared.js +1 -2
  46. package/dist/cmd/project/auth/shared.js.map +1 -1
  47. package/dist/cmd/project/template-flow.js.map +1 -1
  48. package/dist/types.d.ts +3 -0
  49. package/dist/types.d.ts.map +1 -1
  50. package/dist/types.js.map +1 -1
  51. package/dist/utils/dependency-checker.d.ts.map +1 -1
  52. package/dist/utils/dependency-checker.js +5 -1
  53. package/dist/utils/dependency-checker.js.map +1 -1
  54. package/package.json +6 -6
  55. package/src/cli.ts +73 -4
  56. package/src/cmd/build/vite/agent-discovery.ts +209 -16
  57. package/src/cmd/build/vite/docs-generator.ts +8 -4
  58. package/src/cmd/build/vite/registry-generator.ts +29 -4
  59. package/src/cmd/build/vite/server-bundler.ts +4 -5
  60. package/src/cmd/build/vite/vite-asset-server-config.ts +5 -2
  61. package/src/cmd/canary/index.ts +214 -0
  62. package/src/cmd/cloud/deploy.ts +1 -1
  63. package/src/cmd/git/account/add.ts +1 -1
  64. package/src/cmd/git/account/list.ts +1 -1
  65. package/src/cmd/git/account/remove.ts +1 -1
  66. package/src/cmd/git/link.ts +1 -1
  67. package/src/cmd/git/list.ts +1 -1
  68. package/src/cmd/git/status.ts +1 -1
  69. package/src/cmd/git/unlink.ts +1 -1
  70. package/src/cmd/index.ts +1 -1
  71. package/src/cmd/project/auth/generate.ts +4 -4
  72. package/src/cmd/project/auth/init.ts +2 -2
  73. package/src/cmd/project/auth/shared.ts +3 -4
  74. package/src/cmd/project/template-flow.ts +3 -3
  75. package/src/types.ts +3 -0
  76. package/src/utils/dependency-checker.ts +6 -2
  77. package/dist/cmd/integration/api.d.ts.map +0 -1
  78. package/dist/cmd/integration/api.js.map +0 -1
  79. package/dist/cmd/integration/github/connect.d.ts +0 -2
  80. package/dist/cmd/integration/github/connect.d.ts.map +0 -1
  81. package/dist/cmd/integration/github/connect.js +0 -197
  82. package/dist/cmd/integration/github/connect.js.map +0 -1
  83. package/dist/cmd/integration/github/disconnect.d.ts +0 -2
  84. package/dist/cmd/integration/github/disconnect.d.ts.map +0 -1
  85. package/dist/cmd/integration/github/disconnect.js +0 -121
  86. package/dist/cmd/integration/github/disconnect.js.map +0 -1
  87. package/dist/cmd/integration/github/index.d.ts +0 -2
  88. package/dist/cmd/integration/github/index.d.ts.map +0 -1
  89. package/dist/cmd/integration/github/index.js +0 -21
  90. package/dist/cmd/integration/github/index.js.map +0 -1
  91. package/dist/cmd/integration/index.d.ts.map +0 -1
  92. package/dist/cmd/integration/index.js +0 -16
  93. package/dist/cmd/integration/index.js.map +0 -1
  94. package/src/cmd/integration/github/connect.ts +0 -242
  95. package/src/cmd/integration/github/disconnect.ts +0 -149
  96. package/src/cmd/integration/github/index.ts +0 -21
  97. package/src/cmd/integration/index.ts +0 -16
  98. /package/dist/cmd/{integration → canary}/index.d.ts +0 -0
  99. /package/dist/cmd/{integration → git}/api.d.ts +0 -0
  100. /package/dist/cmd/{integration → git}/api.js +0 -0
  101. /package/src/cmd/{integration → git}/api.ts +0 -0
@@ -2,7 +2,7 @@ import { createSubcommand } from '../../types';
2
2
  import * as tui from '../../tui';
3
3
  import { getCommand } from '../../command-prefix';
4
4
  import { ErrorCode } from '../../errors';
5
- import { getProjectGithubStatus, getGithubIntegrationStatus } from '../integration/api';
5
+ import { getProjectGithubStatus, getGithubIntegrationStatus } from './api';
6
6
  import { z } from 'zod';
7
7
 
8
8
  const StatusResponseSchema = z.object({
@@ -2,7 +2,7 @@ import { createSubcommand } from '../../types';
2
2
  import * as tui from '../../tui';
3
3
  import { getCommand } from '../../command-prefix';
4
4
  import { ErrorCode } from '../../errors';
5
- import { getProjectGithubStatus, unlinkProjectFromRepo } from '../integration/api';
5
+ import { getProjectGithubStatus, unlinkProjectFromRepo } from './api';
6
6
  import { z } from 'zod';
7
7
 
8
8
  const UnlinkOptionsSchema = z.object({
package/src/cmd/index.ts CHANGED
@@ -7,11 +7,11 @@ export async function discoverCommands(): Promise<CommandDefinition[]> {
7
7
  import('./ai').then((m) => m.command),
8
8
  import('./auth').then((m) => m.command),
9
9
  import('./build').then((m) => m.command),
10
+ import('./canary').then((m) => m.command),
10
11
  import('./cloud').then((m) => m.command),
11
12
  import('./dev').then((m) => m.command),
12
13
  import('./git').then((m) => m.gitCommand),
13
14
  import('./help').then((m) => m.command),
14
- import('./integration').then((m) => m.command),
15
15
  import('./profile').then((m) => m.command),
16
16
  import('./project').then((m) => m.command),
17
17
  import('./repl').then((m) => m.command),
@@ -60,10 +60,10 @@ export const generateSubcommand = createSubcommand({
60
60
  const sql = isJson
61
61
  ? await generateAuthSchemaSql(logger, projectDir)
62
62
  : await tui.spinner({
63
- message: 'Generating auth schema SQL from Drizzle schema',
64
- clearOnSuccess: true,
65
- callback: () => generateAuthSchemaSql(logger, projectDir),
66
- });
63
+ message: 'Generating auth schema SQL from Drizzle schema',
64
+ clearOnSuccess: true,
65
+ callback: () => generateAuthSchemaSql(logger, projectDir),
66
+ });
67
67
 
68
68
  if (toStdout) {
69
69
  console.log(sql);
@@ -155,7 +155,7 @@ export const initSubcommand = createSubcommand({
155
155
  if (fs.existsSync(authFilePath)) {
156
156
  tui.info('src/auth.ts already exists, skipping generation');
157
157
  } else {
158
- const { createFile } = await enquirer.prompt<{ createFile: boolean; }>({
158
+ const { createFile } = await enquirer.prompt<{ createFile: boolean }>({
159
159
  type: 'confirm',
160
160
  name: 'createFile',
161
161
  message: 'Create src/auth.ts with default configuration?',
@@ -219,7 +219,7 @@ export const initSubcommand = createSubcommand({
219
219
  console.log(' Run this SQL against your database to create auth tables.');
220
220
  tui.newline();
221
221
  } else {
222
- const { runMigrations } = await enquirer.prompt<{ runMigrations: boolean; }>({
222
+ const { runMigrations } = await enquirer.prompt<{ runMigrations: boolean }>({
223
223
  type: 'confirm',
224
224
  name: 'runMigrations',
225
225
  message: 'Run database migrations now? (idempotent, safe to re-run)',
@@ -48,7 +48,7 @@ export async function selectOrCreateDatabase(options: {
48
48
  }
49
49
  }
50
50
 
51
- type Choice = { name: string; message: string; };
51
+ type Choice = { name: string; message: string };
52
52
  const choices: Choice[] = [];
53
53
 
54
54
  // Add "use existing" option first if we have an existing URL
@@ -72,7 +72,7 @@ export async function selectOrCreateDatabase(options: {
72
72
  }))
73
73
  );
74
74
 
75
- const response = await enquirer.prompt<{ database: string; }>({
75
+ const response = await enquirer.prompt<{ database: string }>({
76
76
  type: 'select',
77
77
  name: 'database',
78
78
  message: 'Select a database for auth:',
@@ -494,8 +494,7 @@ export default api;
494
494
  console.log(tui.muted('━'.repeat(60)));
495
495
  console.log(`
496
496
  import { AgentuityProvider } from '@agentuity/react';
497
- import { createAuthClient } from '@agentuity/auth/react';
498
- import { AuthProvider } from '@agentuity/auth';
497
+ import { createAuthClient, AuthProvider } from '@agentuity/auth/react';
499
498
 
500
499
  const authClient = createAuthClient();
501
500
 
@@ -304,8 +304,8 @@ export async function runCreateFlow(options: CreateFlowOptions): Promise<void> {
304
304
  val === ''
305
305
  ? true
306
306
  : /^(?=.{1,253}$)(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[A-Za-z]{2,63}$/.test(
307
- val
308
- ),
307
+ val
308
+ ),
309
309
  });
310
310
  if (customDns) {
311
311
  _domains = [customDns];
@@ -469,7 +469,7 @@ export async function runCreateFlow(options: CreateFlowOptions): Promise<void> {
469
469
  const cloudRegion = region ?? process.env.AGENTUITY_REGION ?? 'usc';
470
470
 
471
471
  const pkgJsonPath = resolve(dest, 'package.json');
472
- let pkgJson: { description?: string; keywords?: string[]; } = {};
472
+ let pkgJson: { description?: string; keywords?: string[] } = {};
473
473
  if (existsSync(pkgJsonPath)) {
474
474
  pkgJson = await Bun.file(pkgJsonPath).json();
475
475
  }
package/src/types.ts CHANGED
@@ -497,6 +497,7 @@ export function createCommand<
497
497
  hidden?: boolean;
498
498
  executable?: boolean;
499
499
  skipUpgradeCheck?: boolean;
500
+ passThroughArgs?: boolean;
500
501
  requires?: R;
501
502
  optional?: O;
502
503
  examples?: CommandExample[];
@@ -537,6 +538,7 @@ type CommandDefBase =
537
538
  banner?: boolean;
538
539
  executable?: boolean;
539
540
  skipUpgradeCheck?: boolean;
541
+ passThroughArgs?: boolean;
540
542
  skipSkill?: boolean;
541
543
  examples?: CommandExample[];
542
544
  idempotent?: boolean;
@@ -555,6 +557,7 @@ type CommandDefBase =
555
557
  banner?: boolean;
556
558
  executable?: boolean;
557
559
  skipUpgradeCheck?: boolean;
560
+ passThroughArgs?: boolean;
558
561
  skipSkill?: boolean;
559
562
  examples?: CommandExample[];
560
563
  idempotent?: boolean;
@@ -57,11 +57,15 @@ export async function checkAndUpgradeDependencies(
57
57
  failed: [],
58
58
  };
59
59
 
60
- const packageJsonPath = join(projectDir, 'package.json');
61
60
  const cliVersion = getVersion();
62
-
63
61
  logger.debug('CLI version: %s', cliVersion);
64
62
 
63
+ // check if this is a canary and if so, skip this check
64
+ if (cliVersion.includes('-')) {
65
+ return result;
66
+ }
67
+
68
+ const packageJsonPath = join(projectDir, 'package.json');
65
69
  // Read package.json
66
70
  let packageJson: PackageJson;
67
71
  try {
@@ -1 +0,0 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../src/cmd/integration/api.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/cmd/integration/api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElD,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;CACnB,CAAC,CAAC;AAEH,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE;IAC7B,iBAAiB,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC1C,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;CACvB,CAAC,CAAC;AAEH,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE;IACtB,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC,QAAQ,EAAE;CACzD,CAAC,CAAC;AAmBH,MAAM,2BAA2B,GAAG,eAAe,CAClD,6BAA6B,EAC7B,wCAAwC,CACxC,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC3C,SAAoB,EACpB,KAAa;IAEb,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,GAAG,CAC/B,2BAA2B,kBAAkB,CAAC,KAAK,CAAC,EAAE,EACtD,iBAAiB,CAAC,qBAAqB,CAAC,CACxC,CAAC;IAEF,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QACnB,MAAM,IAAI,2BAA2B,EAAE,CAAC;IACzC,CAAC;IAED,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QAChB,MAAM,IAAI,2BAA2B,EAAE,CAAC;IACzC,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;AACvC,CAAC;AAED,MAAM,4BAA4B,GAAG,eAAe,CACnD,8BAA8B,EAC9B,0CAA0C,CAC1C,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC/C,SAAoB,EACpB,KAAa;IAEb,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,GAAG,CAC/B,4BAA4B,kBAAkB,CAAC,KAAK,CAAC,EAAE,EACvD,iBAAiB,CAAC,sBAAsB,CAAC,CACzC,CAAC;IAEF,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QACnB,MAAM,IAAI,4BAA4B,EAAE,CAAC;IAC1C,CAAC;IAED,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QAChB,MAAM,IAAI,4BAA4B,EAAE,CAAC;IAC1C,CAAC;IAED,OAAO;QACN,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS;QAC9B,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,EAAE;KAC1C,CAAC;AACH,CAAC;AAED,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE;CACzB,CAAC,CAAC;AAMH,MAAM,qBAAqB,GAAG,eAAe,CAC5C,uBAAuB,EACvB,wCAAwC,CACxC,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAChD,SAAoB,EACpB,KAAa,EACb,aAAqB;IAErB,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,MAAM,CAClC,gCAAgC,kBAAkB,CAAC,KAAK,CAAC,kBAAkB,kBAAkB,CAAC,aAAa,CAAC,EAAE,EAC9G,iBAAiB,CAAC,0BAA0B,CAAC,CAC7C,CAAC;IAEF,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QACnB,MAAM,IAAI,qBAAqB,EAAE,CAAC;IACnC,CAAC;IAED,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QAChB,MAAM,IAAI,qBAAqB,EAAE,CAAC;IACnC,CAAC;IAED,OAAO,EAAE,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;AACjD,CAAC;AAED,wBAAwB;AAExB,MAAM,+BAA+B,GAAG,CAAC,CAAC,MAAM,CAAC;IAChD,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACpC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE;CAC7B,CAAC,CAAC;AAEH,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,+BAA+B,CAAC;CACtD,CAAC,CAAC;AAUH,MAAM,mBAAmB,GAAG,eAAe,CAC1C,qBAAqB,EACrB,6CAA6C,CAC7C,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,6BAA6B,CAClD,SAAoB,EACpB,YAAqB;IAErB,MAAM,KAAK,GAAG,YAAY,CAAC,CAAC,CAAC,iBAAiB,kBAAkB,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACtF,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,GAAG,CAC/B,uBAAuB,KAAK,EAAE,EAC9B,iBAAiB,CAAC,wBAAwB,CAAC,CAC3C,CAAC;IAEF,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACjC,MAAM,IAAI,mBAAmB,EAAE,CAAC;IACjC,CAAC;IAED,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC;AAC/B,CAAC;AAED,mBAAmB;AAEnB,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE;CACnB,CAAC,CAAC;AAEH,MAAM,eAAe,GAAG,eAAe,CAAC,iBAAiB,EAAE,kCAAkC,CAAC,CAAC;AAE/F,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAC1C,SAAoB,EACpB,SAAiB,EACjB,OAAe;IAEf,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,IAAI,CAChC,kBAAkB,EAClB,EAAE,SAAS,EAAE,OAAO,EAAE,EACtB,iBAAiB,CAAC,oBAAoB,CAAC,CACvC,CAAC;IAEF,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACjC,MAAM,IAAI,eAAe,EAAE,CAAC;IAC7B,CAAC;IAED,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;AACzB,CAAC;AAED,UAAU;AAEV,MAAM,6BAA6B,GAAG,eAAe,CAAC,+BAA+B,CAAC,CAAC;AACvF,MAAM,+BAA+B,GAAG,eAAe,CACtD,iCAAiC,EACjC,qDAAqD,CACrD,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC7C,SAAoB,EACpB,KAAa,EACb,YAAoB,EACpB,SAAS,GAAG,MAAM,CAAC,aAAa;;IAEhC,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC3B,IAAI,KAAK,GAAG,IAAI,CAAC,CAAC,uBAAuB;IACzC,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,oBAAoB;IAE5C,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,GAAG,SAAS,EAAE,CAAC;QACzC,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,GAAG,CAC/B,4BAA4B,kBAAkB,CAAC,KAAK,CAAC,EAAE,EACvD,iBAAiB,CAAC,sBAAsB,CAAC,CACzC,CAAC;QAEF,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACjC,MAAM,IAAI,6BAA6B,EAAE,CAAC;QAC3C,CAAC;QAED,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,IAAI,CAAC,CAAC;QACzD,IAAI,YAAY,GAAG,YAAY,EAAE,CAAC;YACjC,OAAO;gBACN,SAAS,EAAE,IAAI;gBACf,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,EAAE;aAC1C,CAAC;QACH,CAAC;QAED,MAAM,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACvB,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,GAAG,EAAE,QAAQ,CAAC,CAAC;IACzC,CAAC;IAED,MAAM,IAAI,+BAA+B,EAAE,CAAC;AAC7C,CAAC;AAED,kBAAkB;AAElB,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACjC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE;IACpB,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE;IACzB,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE;CACzB,CAAC,CAAC;AAEH,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC;CAChC,CAAC,CAAC;AAWH,MAAM,gBAAgB,GAAG,eAAe,CAAC,kBAAkB,EAAE,oCAAoC,CAAC,CAAC;AAEnG,MAAM,CAAC,KAAK,UAAU,eAAe,CACpC,SAAoB,EACpB,KAAa,EACb,aAAsB;IAEtB,IAAI,GAAG,GAAG,2BAA2B,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC;IACjE,IAAI,aAAa,EAAE,CAAC;QACnB,GAAG,IAAI,kBAAkB,kBAAkB,CAAC,aAAa,CAAC,EAAE,CAAC;IAC9D,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,iBAAiB,CAAC,qBAAqB,CAAC,CAAC,CAAC;IAEhF,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACjC,MAAM,IAAI,gBAAgB,EAAE,CAAC;IAC9B,CAAC;IAED,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;AACxB,CAAC;AAED,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE;CACnB,CAAC,CAAC;AAYH,MAAM,gBAAgB,GAAG,eAAe,CAAC,kBAAkB,EAAE,qCAAqC,CAAC,CAAC;AAEpG,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACtC,SAAoB,EACpB,OAA2B;IAE3B,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,IAAI,CAChC,kBAAkB,EAClB,OAAO,EACP,iBAAiB,CAAC,qBAAqB,CAAC,CACxC,CAAC;IAEF,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACjC,MAAM,IAAI,gBAAgB,EAAE,CAAC;IAC9B,CAAC;IAED,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;AACzB,CAAC;AAED,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE;CACrB,CAAC,CAAC;AAEH,MAAM,kBAAkB,GAAG,eAAe,CACzC,oBAAoB,EACpB,yCAAyC,CACzC,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAC1C,SAAoB,EACpB,SAAiB;IAEjB,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,MAAM,CAClC,gCAAgC,kBAAkB,CAAC,SAAS,CAAC,EAAE,EAC/D,iBAAiB,CAAC,uBAAuB,CAAC,CAC1C,CAAC;IAEF,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACjC,MAAM,IAAI,kBAAkB,EAAE,CAAC;IAChC,CAAC;IAED,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;AAC3B,CAAC;AAED,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE;IACnB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACnC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAClC,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACrC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAChC,CAAC,CAAC;AAWH,MAAM,wBAAwB,GAAG,eAAe,CAC/C,0BAA0B,EAC1B,sCAAsC,CACtC,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC3C,SAAoB,EACpB,SAAiB;IAEjB,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,GAAG,CAC/B,wCAAwC,kBAAkB,CAAC,SAAS,CAAC,EAAE,EACvE,iBAAiB,CAAC,yBAAyB,CAAC,CAC5C,CAAC;IAEF,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACjC,MAAM,IAAI,wBAAwB,EAAE,CAAC;IACtC,CAAC;IAED,OAAO,IAAI,CAAC,IAAI,CAAC;AAClB,CAAC"}
@@ -1,2 +0,0 @@
1
- export declare const connectSubcommand: import("../../..").SubcommandDefinition;
2
- //# sourceMappingURL=connect.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"connect.d.ts","sourceRoot":"","sources":["../../../../src/cmd/integration/github/connect.ts"],"names":[],"mappings":"AAeA,eAAO,MAAM,iBAAiB,yCAkO5B,CAAC"}
@@ -1,197 +0,0 @@
1
- import { createSubcommand } from '../../../types';
2
- import * as tui from '../../../tui';
3
- import { getCommand } from '../../../command-prefix';
4
- import { getAPIBaseURL } from '../../../api';
5
- import { ErrorCode } from '../../../errors';
6
- import { listOrganizations } from '@agentuity/server';
7
- import enquirer from 'enquirer';
8
- import { startGithubIntegration, pollForGithubIntegration, getGithubIntegrationStatus, getExistingGithubIntegrations, copyGithubIntegration, } from '../api';
9
- export const connectSubcommand = createSubcommand({
10
- name: 'connect',
11
- description: 'Connect your GitHub account to enable automatic deployments',
12
- tags: ['mutating', 'creates-resource', 'slow', 'api-intensive'],
13
- idempotent: false,
14
- requires: { auth: true, apiClient: true },
15
- examples: [
16
- {
17
- command: getCommand('integration github connect'),
18
- description: 'Connect GitHub to your organization',
19
- },
20
- ],
21
- async handler(ctx) {
22
- const { logger, apiClient } = ctx;
23
- try {
24
- // Fetch organizations
25
- const orgs = await tui.spinner({
26
- message: 'Fetching organizations...',
27
- clearOnSuccess: true,
28
- callback: () => listOrganizations(apiClient),
29
- });
30
- if (orgs.length === 0) {
31
- tui.fatal('No organizations found for your account');
32
- }
33
- // Check GitHub status for each org
34
- const orgStatuses = await tui.spinner({
35
- message: 'Checking GitHub integration status...',
36
- clearOnSuccess: true,
37
- callback: async () => {
38
- const statuses = await Promise.all(orgs.map(async (org) => {
39
- const status = await getGithubIntegrationStatus(apiClient, org.id);
40
- return {
41
- ...org,
42
- connected: status.connected,
43
- integrations: status.integrations,
44
- };
45
- }));
46
- return statuses;
47
- },
48
- });
49
- // Sort orgs alphabetically
50
- const sortedOrgs = [...orgStatuses].sort((a, b) => a.name.localeCompare(b.name));
51
- // Build choices showing integration count
52
- const choices = sortedOrgs.map((org) => {
53
- const count = org.integrations.length;
54
- const suffix = count > 0 ? tui.muted(` (${count} GitHub account${count > 1 ? 's' : ''})`) : '';
55
- return {
56
- name: org.name,
57
- message: `${org.name}${suffix}`,
58
- value: org.id,
59
- };
60
- });
61
- // Show picker
62
- const response = await enquirer.prompt({
63
- type: 'select',
64
- name: 'orgName',
65
- message: 'Select an organization to connect',
66
- choices,
67
- result(name) {
68
- // @ts-expect-error - this.map exists at runtime
69
- return this.map(name)[name];
70
- },
71
- });
72
- const orgId = response.orgName;
73
- const selectedOrg = sortedOrgs.find((o) => o.id === orgId);
74
- const orgDisplay = selectedOrg ? selectedOrg.name : orgId;
75
- const initialCount = selectedOrg?.integrations.length ?? 0;
76
- // Check if user has existing GitHub integrations in other orgs
77
- const existingIntegrations = await tui.spinner({
78
- message: 'Checking for existing GitHub connections...',
79
- clearOnSuccess: true,
80
- callback: () => getExistingGithubIntegrations(apiClient, orgId),
81
- });
82
- // Filter out integrations already connected to target org
83
- const alreadyConnectedNames = new Set(selectedOrg?.integrations.map((i) => i.githubAccountName) ?? []);
84
- const availableIntegrations = existingIntegrations.filter((i) => !alreadyConnectedNames.has(i.githubAccountName));
85
- if (availableIntegrations.length > 0) {
86
- tui.newline();
87
- // Build checkbox choices
88
- const integrationChoices = availableIntegrations.map((i) => ({
89
- name: i.id,
90
- message: `${i.githubAccountName} ${tui.muted(`(from ${i.orgName})`)}`,
91
- }));
92
- console.log(tui.muted('Press enter with none selected to connect a new account'));
93
- tui.newline();
94
- const selectResponse = await enquirer.prompt({
95
- type: 'multiselect',
96
- name: 'integrationIds',
97
- message: 'Select GitHub accounts to connect',
98
- choices: integrationChoices,
99
- });
100
- if (selectResponse.integrationIds.length > 0) {
101
- const selectedIntegrations = availableIntegrations.filter((i) => selectResponse.integrationIds.includes(i.id));
102
- const accountNames = selectedIntegrations.map((i) => i.githubAccountName).join(', ');
103
- // Confirm
104
- const confirmResponse = await enquirer.prompt({
105
- type: 'confirm',
106
- name: 'confirm',
107
- message: `Connect ${tui.bold(accountNames)} to ${tui.bold(orgDisplay)}?`,
108
- initial: true,
109
- });
110
- if (confirmResponse.confirm) {
111
- await tui.spinner({
112
- message: `Copying ${selectedIntegrations.length} GitHub connection${selectedIntegrations.length > 1 ? 's' : ''}...`,
113
- clearOnSuccess: true,
114
- callback: async () => {
115
- for (const integration of selectedIntegrations) {
116
- await copyGithubIntegration(apiClient, integration.orgId, orgId);
117
- }
118
- },
119
- });
120
- tui.newline();
121
- tui.success(`GitHub connected to ${tui.bold(orgDisplay)}`);
122
- tui.newline();
123
- console.log('You can now link repositories to your projects for automatic deployments.');
124
- return;
125
- }
126
- }
127
- }
128
- const startResult = await tui.spinner({
129
- message: 'Getting GitHub authorization URL...',
130
- clearOnSuccess: true,
131
- callback: () => startGithubIntegration(apiClient, orgId),
132
- });
133
- if (!startResult) {
134
- tui.error('Failed to get GitHub authorization URL');
135
- return;
136
- }
137
- const { shortId } = startResult;
138
- const apiBaseUrl = getAPIBaseURL(ctx.config);
139
- const url = `${apiBaseUrl}/github/connect/${shortId}`;
140
- const copied = await tui.copyToClipboard(url);
141
- tui.newline();
142
- if (copied) {
143
- console.log('GitHub authorization URL copied to clipboard! Open it in your browser:');
144
- }
145
- else {
146
- console.log('Open this URL in your browser to authorize GitHub access:');
147
- }
148
- tui.newline();
149
- console.log(` ${tui.link(url)}`);
150
- tui.newline();
151
- console.log(tui.muted('Press Enter to open in your browser, or Ctrl+C to cancel'));
152
- tui.newline();
153
- const result = await tui.spinner({
154
- type: 'countdown',
155
- message: 'Waiting for GitHub authorization',
156
- timeoutMs: 600000, // 10 minutes
157
- clearOnSuccess: true,
158
- onEnterPress: () => {
159
- const platform = process.platform;
160
- if (platform === 'win32') {
161
- Bun.spawn(['cmd', '/c', 'start', '', url], {
162
- stdout: 'ignore',
163
- stderr: 'ignore',
164
- });
165
- }
166
- else {
167
- const command = platform === 'darwin' ? 'open' : 'xdg-open';
168
- Bun.spawn([command, url], { stdout: 'ignore', stderr: 'ignore' });
169
- }
170
- },
171
- callback: async () => {
172
- return await pollForGithubIntegration(apiClient, orgId, initialCount);
173
- },
174
- });
175
- tui.newline();
176
- if (result.connected) {
177
- tui.success(`GitHub connected to ${tui.bold(orgDisplay)}`);
178
- tui.newline();
179
- console.log('You can now link repositories to your projects for automatic deployments.');
180
- }
181
- }
182
- catch (error) {
183
- // Handle user cancellation (Ctrl+C) - enquirer throws empty string or Error with empty message
184
- const isCancel = error === '' ||
185
- (error instanceof Error &&
186
- (error.message === '' || error.message === 'User cancelled'));
187
- if (isCancel) {
188
- tui.newline();
189
- tui.info('Cancelled');
190
- return;
191
- }
192
- logger.trace(error);
193
- logger.fatal('GitHub integration failed: %s', error, ErrorCode.INTEGRATION_FAILED);
194
- }
195
- },
196
- });
197
- //# sourceMappingURL=connect.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"connect.js","sourceRoot":"","sources":["../../../../src/cmd/integration/github/connect.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export declare const disconnectSubcommand: import("../../..").SubcommandDefinition;
2
- //# sourceMappingURL=disconnect.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"disconnect.d.ts","sourceRoot":"","sources":["../../../../src/cmd/integration/github/disconnect.ts"],"names":[],"mappings":"AAYA,eAAO,MAAM,oBAAoB,yCAwI/B,CAAC"}
@@ -1,121 +0,0 @@
1
- import { createSubcommand } from '../../../types';
2
- import * as tui from '../../../tui';
3
- import { getCommand } from '../../../command-prefix';
4
- import { ErrorCode } from '../../../errors';
5
- import { listOrganizations } from '@agentuity/server';
6
- import enquirer from 'enquirer';
7
- import { getGithubIntegrationStatus, disconnectGithubIntegration, } from '../api';
8
- export const disconnectSubcommand = createSubcommand({
9
- name: 'disconnect',
10
- description: 'Disconnect a GitHub account from your organization',
11
- tags: ['mutating', 'destructive', 'slow'],
12
- idempotent: false,
13
- requires: { auth: true, apiClient: true },
14
- examples: [
15
- {
16
- command: getCommand('integration github disconnect'),
17
- description: 'Disconnect a GitHub account from your organization',
18
- },
19
- ],
20
- async handler(ctx) {
21
- const { logger, apiClient } = ctx;
22
- try {
23
- // Fetch organizations
24
- const orgs = await tui.spinner({
25
- message: 'Fetching organizations...',
26
- clearOnSuccess: true,
27
- callback: () => listOrganizations(apiClient),
28
- });
29
- if (orgs.length === 0) {
30
- tui.fatal('No organizations found for your account');
31
- }
32
- // Check GitHub status for each org
33
- const orgStatuses = await tui.spinner({
34
- message: 'Checking GitHub integration status...',
35
- clearOnSuccess: true,
36
- callback: async () => {
37
- const statuses = await Promise.all(orgs.map(async (org) => {
38
- const status = await getGithubIntegrationStatus(apiClient, org.id);
39
- return {
40
- ...org,
41
- connected: status.connected,
42
- integrations: status.integrations,
43
- };
44
- }));
45
- return statuses;
46
- },
47
- });
48
- // Flatten all integrations across orgs
49
- const allIntegrations = [];
50
- for (const org of orgStatuses) {
51
- for (const integration of org.integrations) {
52
- allIntegrations.push({
53
- orgId: org.id,
54
- orgName: org.name,
55
- integration,
56
- });
57
- }
58
- }
59
- if (allIntegrations.length === 0) {
60
- tui.newline();
61
- tui.info('No GitHub accounts are connected.');
62
- return;
63
- }
64
- // Build choices showing GitHub account and org
65
- const choices = allIntegrations.map((item) => ({
66
- name: `${tui.bold(item.integration.githubAccountName)} ${tui.muted(`(${item.integration.githubAccountType})`)} → ${tui.bold(item.orgName)}`,
67
- value: `${item.orgId}:${item.integration.id}`,
68
- }));
69
- // Show picker
70
- const response = await enquirer.prompt({
71
- type: 'select',
72
- name: 'selection',
73
- message: 'Select a GitHub account to disconnect',
74
- choices,
75
- result(name) {
76
- // Return the value (IDs) instead of the display name
77
- const choice = choices.find((c) => c.name === name);
78
- return choice?.value ?? name;
79
- },
80
- });
81
- const colonIdx = response.selection.indexOf(':');
82
- if (colonIdx === -1) {
83
- logger.fatal('Invalid selection format');
84
- }
85
- const orgId = response.selection.slice(0, colonIdx);
86
- const integrationId = response.selection.slice(colonIdx + 1);
87
- const selected = allIntegrations.find((i) => i.orgId === orgId && i.integration.id === integrationId);
88
- const displayName = selected
89
- ? `${tui.bold(selected.integration.githubAccountName)} from ${tui.bold(selected.orgName)}`
90
- : response.selection;
91
- // Confirm
92
- const confirmed = await tui.confirm(`Are you sure you want to disconnect ${displayName}?`);
93
- if (!confirmed) {
94
- tui.newline();
95
- tui.info('Cancelled');
96
- return;
97
- }
98
- await tui.spinner({
99
- message: 'Disconnecting GitHub...',
100
- clearOnSuccess: true,
101
- callback: () => disconnectGithubIntegration(apiClient, orgId, integrationId),
102
- });
103
- tui.newline();
104
- tui.success(`Disconnected ${displayName}`);
105
- }
106
- catch (error) {
107
- // Handle user cancellation (Ctrl+C)
108
- const isCancel = error === '' ||
109
- (error instanceof Error &&
110
- (error.message === '' || error.message === 'User cancelled'));
111
- if (isCancel) {
112
- tui.newline();
113
- tui.info('Cancelled');
114
- return;
115
- }
116
- logger.trace(error);
117
- logger.fatal('GitHub disconnect failed: %s', error, ErrorCode.INTEGRATION_FAILED);
118
- }
119
- },
120
- });
121
- //# sourceMappingURL=disconnect.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"disconnect.js","sourceRoot":"","sources":["../../../../src/cmd/integration/github/disconnect.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export declare const githubCommand: import("../../..").CommandDefinition;
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/cmd/integration/github/index.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,aAAa,sCAexB,CAAC"}
@@ -1,21 +0,0 @@
1
- import { createCommand } from '../../../types';
2
- import { getCommand } from '../../../command-prefix';
3
- import { connectSubcommand } from './connect';
4
- import { disconnectSubcommand } from './disconnect';
5
- export const githubCommand = createCommand({
6
- name: 'github',
7
- description: 'GitHub integration commands',
8
- tags: ['requires-auth'],
9
- examples: [
10
- {
11
- command: getCommand('integration github connect'),
12
- description: 'Connect GitHub to your organization',
13
- },
14
- {
15
- command: getCommand('integration github disconnect'),
16
- description: 'Disconnect GitHub from your organization',
17
- },
18
- ],
19
- subcommands: [connectSubcommand, disconnectSubcommand],
20
- });
21
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/cmd/integration/github/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAEpD,MAAM,CAAC,MAAM,aAAa,GAAG,aAAa,CAAC;IAC1C,IAAI,EAAE,QAAQ;IACd,WAAW,EAAE,6BAA6B;IAC1C,IAAI,EAAE,CAAC,eAAe,CAAC;IACvB,QAAQ,EAAE;QACT;YACC,OAAO,EAAE,UAAU,CAAC,4BAA4B,CAAC;YACjD,WAAW,EAAE,qCAAqC;SAClD;QACD;YACC,OAAO,EAAE,UAAU,CAAC,+BAA+B,CAAC;YACpD,WAAW,EAAE,0CAA0C;SACvD;KACD;IACD,WAAW,EAAE,CAAC,iBAAiB,EAAE,oBAAoB,CAAC;CACtD,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cmd/integration/index.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,OAAO,mCAWlB,CAAC"}
@@ -1,16 +0,0 @@
1
- import { createCommand } from '../../types';
2
- import { getCommand } from '../../command-prefix';
3
- import { githubCommand } from './github';
4
- export const command = createCommand({
5
- name: 'integration',
6
- description: 'Manage integrations with external services',
7
- tags: ['requires-auth'],
8
- examples: [
9
- {
10
- command: getCommand('integration github connect'),
11
- description: 'Connect GitHub to your organization',
12
- },
13
- ],
14
- subcommands: [githubCommand],
15
- });
16
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cmd/integration/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,CAAC,MAAM,OAAO,GAAG,aAAa,CAAC;IACpC,IAAI,EAAE,aAAa;IACnB,WAAW,EAAE,4CAA4C;IACzD,IAAI,EAAE,CAAC,eAAe,CAAC;IACvB,QAAQ,EAAE;QACT;YACC,OAAO,EAAE,UAAU,CAAC,4BAA4B,CAAC;YACjD,WAAW,EAAE,qCAAqC;SAClD;KACD;IACD,WAAW,EAAE,CAAC,aAAa,CAAC;CAC5B,CAAC,CAAC"}