@liquidmetal-ai/raindrop 0.7.0 → 0.8.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.
- package/README.md +408 -73
- package/bin/cjs-shims.js +7 -0
- package/bin/run.js +20 -2
- package/bundle/chunk-5GH4FS6C.js +12148 -0
- package/bundle/chunk-6B4I2CKP.js +231 -0
- package/bundle/chunk-6UE75KX2.js +4481 -0
- package/bundle/chunk-AU3EGGJP.js +44 -0
- package/bundle/chunk-CDQRD3JA.js +75 -0
- package/bundle/chunk-CMCEP64V.js +380 -0
- package/bundle/chunk-CW5ZHVPX.js +292 -0
- package/bundle/chunk-G6NE675D.js +238720 -0
- package/bundle/chunk-GLIYVKQA.js +48 -0
- package/bundle/chunk-KXEV6E63.js +133 -0
- package/bundle/chunk-MCRKUPJY.js +4515 -0
- package/bundle/chunk-MGM2L2T3.js +805 -0
- package/bundle/chunk-MVQYQJHI.js +502 -0
- package/bundle/chunk-NG7CZTTE.js +147 -0
- package/bundle/chunk-PU4RCSXF.js +22452 -0
- package/bundle/chunk-VXAZKB3J.js +292 -0
- package/bundle/chunk-W2L3MYN6.js +4480 -0
- package/bundle/chunk-XYJACVNA.js +231 -0
- package/bundle/commands/annotation/get.js +153 -0
- package/bundle/commands/annotation/list.js +226 -0
- package/bundle/commands/annotation/put.js +177 -0
- package/bundle/commands/auth/list.js +75 -0
- package/bundle/commands/auth/login.js +1654 -0
- package/bundle/commands/auth/logout.js +27 -0
- package/bundle/commands/auth/select.js +53 -0
- package/bundle/commands/bucket/create-credential.js +173 -0
- package/bundle/commands/bucket/delete-credential.js +140 -0
- package/bundle/commands/bucket/get-credential.js +151 -0
- package/bundle/commands/bucket/list-credentials.js +148 -0
- package/bundle/commands/build/branch.js +126 -0
- package/bundle/commands/build/checkout.js +198 -0
- package/bundle/commands/build/clone.js +153 -0
- package/bundle/commands/build/delete.js +227 -0
- package/bundle/commands/build/deploy.js +160 -0
- package/bundle/commands/build/env/get.js +105 -0
- package/bundle/commands/build/env/set.js +115 -0
- package/bundle/commands/build/find.js +333 -0
- package/bundle/commands/build/generate.js +75 -0
- package/bundle/commands/build/init.js +76 -0
- package/bundle/commands/build/list.js +11 -0
- package/bundle/commands/build/sandbox.js +65 -0
- package/bundle/commands/build/start.js +84 -0
- package/bundle/commands/build/status.js +1839 -0
- package/bundle/commands/build/stop.js +84 -0
- package/bundle/commands/build/tools/check.js +32 -0
- package/bundle/commands/build/tools/fmt.js +49 -0
- package/bundle/commands/build/unsandbox.js +65 -0
- package/bundle/commands/build/upload.js +83 -0
- package/bundle/commands/build/validate.js +71 -0
- package/bundle/commands/build/workos/delete.js +86 -0
- package/bundle/commands/build/workos/env/attach.js +134 -0
- package/bundle/commands/build/workos/env/create.js +176 -0
- package/bundle/commands/build/workos/env/delete.js +84 -0
- package/bundle/commands/build/workos/env/detach.js +115 -0
- package/bundle/commands/build/workos/env/get.js +117 -0
- package/bundle/commands/build/workos/env/list.js +139 -0
- package/bundle/commands/build/workos/env/set.js +138 -0
- package/bundle/commands/build/workos/invite.js +91 -0
- package/bundle/commands/build/workos/setup.js +124 -0
- package/bundle/commands/build/workos/status.js +93 -0
- package/bundle/commands/dns/create.js +128 -0
- package/bundle/commands/dns/delete.js +80 -0
- package/bundle/commands/dns/get.js +167 -0
- package/bundle/commands/dns/list.js +193 -0
- package/bundle/commands/dns/records/create.js +150 -0
- package/bundle/commands/dns/records/delete.js +76 -0
- package/bundle/commands/dns/records/get.js +118 -0
- package/bundle/commands/dns/records/list.js +153 -0
- package/bundle/commands/dns/records/update.js +146 -0
- package/bundle/commands/logs/query.js +237 -0
- package/bundle/commands/logs/tail.js +155 -0
- package/bundle/commands/mcp/install-claude.js +220 -0
- package/bundle/commands/mcp/install-gemini.js +220 -0
- package/bundle/commands/mcp/install-goose.js +232 -0
- package/bundle/commands/mcp/status.js +153 -0
- package/bundle/commands/object/delete.js +180 -0
- package/bundle/commands/object/get.js +209 -0
- package/bundle/commands/object/list.js +206 -0
- package/bundle/commands/object/put.js +211 -0
- package/bundle/commands/query/chunk-search.js +123 -0
- package/bundle/commands/query/document.js +126 -0
- package/bundle/commands/query/events.js +98 -0
- package/bundle/commands/query/reindex.js +147 -0
- package/bundle/commands/query/search.js +169 -0
- package/bundle/commands/tail.js +31 -0
- package/bundle/index.js +51 -0
- package/dist/base-command.d.ts +6 -0
- package/dist/base-command.d.ts.map +1 -1
- package/dist/base-command.js +14 -1
- package/dist/build.d.ts +2 -1
- package/dist/build.d.ts.map +1 -1
- package/dist/build.js +169 -51
- package/dist/codegen.d.ts +1 -1
- package/dist/codegen.d.ts.map +1 -1
- package/dist/codegen.js +17 -3
- package/dist/codegen.test.js +44 -0
- package/dist/commands/build/checkout.d.ts.map +1 -1
- package/dist/commands/build/checkout.js +4 -0
- package/dist/commands/build/delete.d.ts.map +1 -1
- package/dist/commands/build/delete.js +6 -3
- package/dist/commands/build/deploy.d.ts.map +1 -1
- package/dist/commands/build/deploy.js +10 -2
- package/dist/commands/build/find.d.ts +1 -0
- package/dist/commands/build/find.d.ts.map +1 -1
- package/dist/commands/build/find.js +33 -2
- package/dist/commands/build/validate.d.ts.map +1 -1
- package/dist/commands/build/validate.js +0 -1
- package/dist/commands/build/workos/delete.d.ts +18 -0
- package/dist/commands/build/workos/delete.d.ts.map +1 -0
- package/dist/commands/build/workos/delete.js +72 -0
- package/dist/commands/build/workos/env/attach.d.ts +24 -0
- package/dist/commands/build/workos/env/attach.d.ts.map +1 -0
- package/dist/commands/build/workos/env/attach.js +111 -0
- package/dist/commands/build/workos/env/create.d.ts +26 -0
- package/dist/commands/build/workos/env/create.d.ts.map +1 -0
- package/dist/commands/build/workos/env/create.js +156 -0
- package/dist/commands/build/workos/env/delete.d.ts +20 -0
- package/dist/commands/build/workos/env/delete.d.ts.map +1 -0
- package/dist/commands/build/workos/env/delete.js +61 -0
- package/dist/commands/build/workos/env/detach.d.ts +21 -0
- package/dist/commands/build/workos/env/detach.d.ts.map +1 -0
- package/dist/commands/build/workos/env/detach.js +94 -0
- package/dist/commands/build/workos/env/get.d.ts +20 -0
- package/dist/commands/build/workos/env/get.d.ts.map +1 -0
- package/dist/commands/build/workos/env/get.js +94 -0
- package/dist/commands/build/workos/env/list.d.ts +18 -0
- package/dist/commands/build/workos/env/list.d.ts.map +1 -0
- package/dist/commands/build/workos/env/list.js +114 -0
- package/dist/commands/build/workos/env/set.d.ts +27 -0
- package/dist/commands/build/workos/env/set.d.ts.map +1 -0
- package/dist/commands/build/workos/env/set.js +115 -0
- package/dist/commands/build/workos/invite.d.ts +21 -0
- package/dist/commands/build/workos/invite.d.ts.map +1 -0
- package/dist/commands/build/workos/invite.js +68 -0
- package/dist/commands/build/workos/setup.d.ts +20 -0
- package/dist/commands/build/workos/setup.d.ts.map +1 -0
- package/dist/commands/build/workos/setup.js +106 -0
- package/dist/commands/build/workos/status.d.ts +18 -0
- package/dist/commands/build/workos/status.d.ts.map +1 -0
- package/dist/commands/build/workos/status.js +70 -0
- package/dist/commands/mcp/install-claude.d.ts.map +1 -1
- package/dist/commands/mcp/install-claude.js +0 -2
- package/dist/commands/mcp/install-gemini.d.ts.map +1 -1
- package/dist/commands/mcp/install-gemini.js +0 -2
- package/dist/commands/mcp/install-goose.d.ts.map +1 -1
- package/dist/commands/mcp/install-goose.js +0 -2
- package/dist/deploy.d.ts.map +1 -1
- package/dist/deploy.js +2 -2
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/oclif.manifest.json +4286 -2208
- package/package.json +8 -5
- package/templates/claude-code/debug-raindrop-app.md +89 -0
- package/templates/claude-code/new-raindrop-app.md +10 -6
- package/templates/claude-code/reattach-raindrop-session.md +50 -12
- package/templates/claude-code/update-raindrop-app.md +61 -9
- package/templates/db/node_modules/.bin/prisma +2 -2
- package/templates/db/node_modules/.bin/prisma-kysely +2 -2
- package/templates/db/node_modules/.bin/tsc +2 -2
- package/templates/db/node_modules/.bin/tsserver +2 -2
- package/templates/db/node_modules/.bin/zx +2 -2
- package/templates/gemini-code/debug-raindrop-app.toml +86 -0
- package/templates/gemini-code/new-raindrop-app.toml +9 -5
- package/templates/gemini-code/reattach-raindrop-session.toml +9 -11
- package/templates/gemini-code/update-raindrop-app.toml +55 -10
- package/templates/goose/debug-raindrop-app.yaml +91 -0
- package/templates/goose/new-raindrop-app.yaml +12 -7
- package/templates/goose/reattach-raindrop-session.yaml +11 -4
- package/templates/goose/update-raindrop-app.yaml +57 -5
- package/templates/init/src/_app/auth.ts +18 -0
- package/templates/init/src/_app/cors.ts +64 -0
- package/dist/tsconfig.tsbuildinfo +0 -1
- package/templates/claude-code/raindrop-guidelines.md +0 -322
- package/templates/gemini-code/raindrop-guidelines.md +0 -322
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import { valueOf } from '@liquidmetal-ai/drizzle/appify/build';
|
|
2
|
+
import { Flags } from '@oclif/core';
|
|
3
|
+
import chalk from 'chalk';
|
|
4
|
+
import { BaseCommand } from '../../../../base-command.js';
|
|
5
|
+
export default class Detach extends BaseCommand {
|
|
6
|
+
static description = 'Detach WorkOS environment from an application version';
|
|
7
|
+
static examples = [
|
|
8
|
+
`<%= config.bin %> <%= command.id %>
|
|
9
|
+
Detach WorkOS environment from current version
|
|
10
|
+
|
|
11
|
+
<%= config.bin %> <%= command.id %> --application my-app --versionId abc123
|
|
12
|
+
Detach from specific application and version
|
|
13
|
+
`,
|
|
14
|
+
];
|
|
15
|
+
static flags = {
|
|
16
|
+
...BaseCommand.HIDDEN_FLAGS,
|
|
17
|
+
root: Flags.string({
|
|
18
|
+
char: 'r',
|
|
19
|
+
description: 'root directory',
|
|
20
|
+
required: false,
|
|
21
|
+
default: process.cwd(),
|
|
22
|
+
}),
|
|
23
|
+
manifest: Flags.string({
|
|
24
|
+
char: 'M',
|
|
25
|
+
description: 'project manifest',
|
|
26
|
+
required: false,
|
|
27
|
+
default: 'raindrop.manifest',
|
|
28
|
+
}),
|
|
29
|
+
application: Flags.string({
|
|
30
|
+
char: 'a',
|
|
31
|
+
description: 'application name',
|
|
32
|
+
required: false,
|
|
33
|
+
}),
|
|
34
|
+
versionId: Flags.string({
|
|
35
|
+
char: 'v',
|
|
36
|
+
aliases: ['version'],
|
|
37
|
+
description: 'version ID',
|
|
38
|
+
required: false,
|
|
39
|
+
}),
|
|
40
|
+
output: Flags.string({
|
|
41
|
+
char: 'o',
|
|
42
|
+
description: 'output format',
|
|
43
|
+
default: 'text',
|
|
44
|
+
options: ['text', 'json'],
|
|
45
|
+
}),
|
|
46
|
+
};
|
|
47
|
+
async run() {
|
|
48
|
+
// Load manifest to get application name
|
|
49
|
+
const apps = await this.loadManifest();
|
|
50
|
+
const app = apps.find((app) => valueOf(app.name) === this.flags.application) || apps[0];
|
|
51
|
+
if (app === undefined) {
|
|
52
|
+
this.error(`application ${this.flags.application} not found in manifest`, { exit: 1 });
|
|
53
|
+
}
|
|
54
|
+
const applicationName = valueOf(app.name);
|
|
55
|
+
// Load config to get version ID
|
|
56
|
+
const config = await this.loadConfig();
|
|
57
|
+
const versionId = this.flags.versionId || config.versionId;
|
|
58
|
+
if (!versionId) {
|
|
59
|
+
this.error('No version ID found. Deploy your application first with: raindrop build deploy', { exit: 1 });
|
|
60
|
+
}
|
|
61
|
+
const { client: workosService, userId, organizationId } = await this.workosIntegrationService();
|
|
62
|
+
try {
|
|
63
|
+
await workosService.detachEnvironmentFromVersion({
|
|
64
|
+
userId,
|
|
65
|
+
organizationId,
|
|
66
|
+
applicationName,
|
|
67
|
+
versionId,
|
|
68
|
+
});
|
|
69
|
+
switch (this.flags.output) {
|
|
70
|
+
case 'json':
|
|
71
|
+
console.log(JSON.stringify({
|
|
72
|
+
success: true,
|
|
73
|
+
applicationName,
|
|
74
|
+
versionId,
|
|
75
|
+
}, null, 2));
|
|
76
|
+
break;
|
|
77
|
+
case 'text':
|
|
78
|
+
default:
|
|
79
|
+
this.log(chalk.green('✓') + ` WorkOS environment detached`);
|
|
80
|
+
this.log('');
|
|
81
|
+
this.log(` ${chalk.cyan('Application:')} ${applicationName}`);
|
|
82
|
+
this.log(` ${chalk.cyan('Version ID:')} ${versionId}`);
|
|
83
|
+
this.log('');
|
|
84
|
+
this.log(chalk.dim('The WORKOS_ENVIRONMENT variable has been removed from this version.'));
|
|
85
|
+
this.log(chalk.dim('Changes will take effect after convergence completes.'));
|
|
86
|
+
break;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
catch (error) {
|
|
90
|
+
const err = error;
|
|
91
|
+
this.error(`Failed to detach WorkOS environment: ${err.message}`, { exit: 1 });
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { BaseCommand } from '../../../../base-command.js';
|
|
2
|
+
export default class Get extends BaseCommand<typeof Get> {
|
|
3
|
+
static args: {
|
|
4
|
+
appName: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
|
|
5
|
+
};
|
|
6
|
+
static description: string;
|
|
7
|
+
static examples: string[];
|
|
8
|
+
static flags: {
|
|
9
|
+
output: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
10
|
+
config: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
11
|
+
rainbowAuthService: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
12
|
+
raindropCatalogService: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
13
|
+
rainbowAuthToken: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
14
|
+
rainbowOrganizationId: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
15
|
+
rainbowUserId: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
16
|
+
sendVersionMetadata: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
17
|
+
};
|
|
18
|
+
run(): Promise<void>;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=get.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get.d.ts","sourceRoot":"","sources":["../../../../../src/commands/build/workos/env/get.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAE1D,MAAM,CAAC,OAAO,OAAO,GAAI,SAAQ,WAAW,CAAC,OAAO,GAAG,CAAC;IACtD,MAAM,CAAC,IAAI;;MAKT;IAEF,MAAM,CAAC,WAAW,SAAuD;IAEzE,MAAM,CAAC,QAAQ,WAOb;IAEF,MAAM,CAAC,KAAK;;;;;;;;;MAQV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CA+E3B"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import { Args, Flags } from '@oclif/core';
|
|
2
|
+
import chalk from 'chalk';
|
|
3
|
+
import { BaseCommand } from '../../../../base-command.js';
|
|
4
|
+
export default class Get extends BaseCommand {
|
|
5
|
+
static args = {
|
|
6
|
+
appName: Args.string({
|
|
7
|
+
description: 'raindrop app name',
|
|
8
|
+
required: true,
|
|
9
|
+
}),
|
|
10
|
+
};
|
|
11
|
+
static description = 'Get WorkOS environment details for a Raindrop app';
|
|
12
|
+
static examples = [
|
|
13
|
+
`<%= config.bin %> <%= command.id %> my-app
|
|
14
|
+
View WorkOS environment details
|
|
15
|
+
|
|
16
|
+
<%= config.bin %> <%= command.id %> my-app --output json
|
|
17
|
+
Get JSON output
|
|
18
|
+
`,
|
|
19
|
+
];
|
|
20
|
+
static flags = {
|
|
21
|
+
...BaseCommand.HIDDEN_FLAGS,
|
|
22
|
+
output: Flags.string({
|
|
23
|
+
char: 'o',
|
|
24
|
+
description: 'output format',
|
|
25
|
+
default: 'text',
|
|
26
|
+
options: ['text', 'json', 'table'],
|
|
27
|
+
}),
|
|
28
|
+
};
|
|
29
|
+
async run() {
|
|
30
|
+
const { client: workosService, userId, organizationId } = await this.workosIntegrationService();
|
|
31
|
+
try {
|
|
32
|
+
const response = await workosService.getEnvironment({
|
|
33
|
+
userId,
|
|
34
|
+
organizationId,
|
|
35
|
+
environmentName: this.args.appName,
|
|
36
|
+
});
|
|
37
|
+
if (!response.environment) {
|
|
38
|
+
this.error(`WorkOS environment not found for ${this.args.appName}`, { exit: 1 });
|
|
39
|
+
}
|
|
40
|
+
const env = response.environment;
|
|
41
|
+
switch (this.flags.output) {
|
|
42
|
+
case 'json':
|
|
43
|
+
console.log(JSON.stringify({
|
|
44
|
+
name: env.name,
|
|
45
|
+
environmentId: env.environmentId,
|
|
46
|
+
clientId: env.clientId,
|
|
47
|
+
environmentType: env.environmentType,
|
|
48
|
+
connect: env.workosConnectHostname,
|
|
49
|
+
apiHostname: env.workosApiHostname,
|
|
50
|
+
organizationId: env.workosOrganizationId,
|
|
51
|
+
}, null, 2));
|
|
52
|
+
break;
|
|
53
|
+
case 'table':
|
|
54
|
+
console.table({
|
|
55
|
+
'App Name': env.name,
|
|
56
|
+
'Environment ID': env.environmentId,
|
|
57
|
+
'Client ID': env.clientId,
|
|
58
|
+
'Type': env.environmentType || 'staging',
|
|
59
|
+
'Connect': env.workosConnectHostname || '',
|
|
60
|
+
'API': env.workosApiHostname || '',
|
|
61
|
+
'Org ID': env.workosOrganizationId || '',
|
|
62
|
+
});
|
|
63
|
+
break;
|
|
64
|
+
case 'text':
|
|
65
|
+
default:
|
|
66
|
+
this.log(chalk.bold(`WorkOS Environment: ${env.name}`));
|
|
67
|
+
this.log('');
|
|
68
|
+
this.log(` ${chalk.cyan('App Name:')} ${env.name}`);
|
|
69
|
+
this.log(` ${chalk.cyan('Environment ID:')} ${env.environmentId}`);
|
|
70
|
+
this.log(` ${chalk.cyan('Client ID:')} ${env.clientId}`);
|
|
71
|
+
this.log(` ${chalk.cyan('Type:')} ${env.environmentType || 'staging'}`);
|
|
72
|
+
if (env.workosConnectHostname) {
|
|
73
|
+
this.log(` ${chalk.cyan('Connect:')} ${env.workosConnectHostname}`);
|
|
74
|
+
}
|
|
75
|
+
if (env.workosApiHostname) {
|
|
76
|
+
this.log(` ${chalk.cyan('API:')} ${env.workosApiHostname}`);
|
|
77
|
+
}
|
|
78
|
+
if (env.workosOrganizationId) {
|
|
79
|
+
this.log(` ${chalk.cyan('Org ID:')} ${env.workosOrganizationId}`);
|
|
80
|
+
}
|
|
81
|
+
this.log('');
|
|
82
|
+
this.log(chalk.dim('Note: API key value is stored securely and not displayed.'));
|
|
83
|
+
break;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
catch (error) {
|
|
87
|
+
const err = error;
|
|
88
|
+
if (err.message.includes('not found')) {
|
|
89
|
+
this.error(`WorkOS environment not found for ${this.args.appName}. Create one with: raindrop build workos env create ${this.args.appName}`, { exit: 1 });
|
|
90
|
+
}
|
|
91
|
+
this.error(`Failed to get WorkOS environment: ${err.message}`, { exit: 1 });
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { BaseCommand } from '../../../../base-command.js';
|
|
2
|
+
export default class List extends BaseCommand<typeof List> {
|
|
3
|
+
static args: {};
|
|
4
|
+
static description: string;
|
|
5
|
+
static examples: string[];
|
|
6
|
+
static flags: {
|
|
7
|
+
output: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
8
|
+
config: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
9
|
+
rainbowAuthService: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
10
|
+
raindropCatalogService: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
11
|
+
rainbowAuthToken: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
12
|
+
rainbowOrganizationId: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
13
|
+
rainbowUserId: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
14
|
+
sendVersionMetadata: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
15
|
+
};
|
|
16
|
+
run(): Promise<void>;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=list.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../../../src/commands/build/workos/env/list.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAE1D,MAAM,CAAC,OAAO,OAAO,IAAK,SAAQ,WAAW,CAAC,OAAO,IAAI,CAAC;IACxD,MAAM,CAAC,IAAI,KAAM;IAEjB,MAAM,CAAC,WAAW,SAAuD;IAEzE,MAAM,CAAC,QAAQ,WAUb;IAEF,MAAM,CAAC,KAAK;;;;;;;;;MAQV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAmG3B"}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import { Flags } from '@oclif/core';
|
|
2
|
+
import { EnvironmentType } from '@liquidmetal-ai/drizzle/liquidmetal/v1alpha1/workos_integration_pb';
|
|
3
|
+
import chalk from 'chalk';
|
|
4
|
+
import { BaseCommand } from '../../../../base-command.js';
|
|
5
|
+
export default class List extends BaseCommand {
|
|
6
|
+
static args = {};
|
|
7
|
+
static description = 'List all WorkOS environments for the organization';
|
|
8
|
+
static examples = [
|
|
9
|
+
`<%= config.bin %> <%= command.id %>
|
|
10
|
+
List all WorkOS environments in compact format (default)
|
|
11
|
+
|
|
12
|
+
<%= config.bin %> <%= command.id %> --output table
|
|
13
|
+
List all environments in table format
|
|
14
|
+
|
|
15
|
+
<%= config.bin %> <%= command.id %> --output json
|
|
16
|
+
List all environments in JSON format
|
|
17
|
+
`,
|
|
18
|
+
];
|
|
19
|
+
static flags = {
|
|
20
|
+
...BaseCommand.HIDDEN_FLAGS,
|
|
21
|
+
output: Flags.string({
|
|
22
|
+
char: 'o',
|
|
23
|
+
description: 'output format',
|
|
24
|
+
default: 'compact',
|
|
25
|
+
options: ['text', 'table', 'json', 'compact'],
|
|
26
|
+
}),
|
|
27
|
+
};
|
|
28
|
+
async run() {
|
|
29
|
+
const { client: workosService, userId, organizationId } = await this.workosIntegrationService();
|
|
30
|
+
try {
|
|
31
|
+
const response = await workosService.listEnvironments({
|
|
32
|
+
userId,
|
|
33
|
+
organizationId,
|
|
34
|
+
});
|
|
35
|
+
if (!response.environments || response.environments.length === 0) {
|
|
36
|
+
this.log(chalk.dim('No WorkOS environments found in this organization'));
|
|
37
|
+
this.log(chalk.dim('Create a new environment with: raindrop build workos env create <app-name>'));
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
switch (this.flags.output) {
|
|
41
|
+
case 'compact':
|
|
42
|
+
for (const env of response.environments) {
|
|
43
|
+
const envTypeStr = env.environmentType === EnvironmentType.STAGING ? 'staging' : 'production';
|
|
44
|
+
const typeColor = env.environmentType === EnvironmentType.STAGING ? chalk.yellow : chalk.green;
|
|
45
|
+
console.log(`\n${chalk.bold(env.name)}`);
|
|
46
|
+
console.log(` └─ ${typeColor(envTypeStr)} - ${chalk.dim(env.environmentId)}`);
|
|
47
|
+
console.log(` ${chalk.dim(`Client ID: ${env.clientId}`)}`);
|
|
48
|
+
if (env.workosConnectHostname) {
|
|
49
|
+
console.log(` ${chalk.dim(`Connect: ${env.workosConnectHostname}`)}`);
|
|
50
|
+
}
|
|
51
|
+
if (env.workosApiHostname) {
|
|
52
|
+
console.log(` ${chalk.dim(`API: ${env.workosApiHostname}`)}`);
|
|
53
|
+
}
|
|
54
|
+
if (env.workosOrganizationId) {
|
|
55
|
+
console.log(` ${chalk.dim(`Org ID: ${env.workosOrganizationId}`)}`);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
console.log('');
|
|
59
|
+
console.log(chalk.dim('─'.repeat(50)));
|
|
60
|
+
console.log(chalk.dim(`Total: ${response.environments.length} environments`));
|
|
61
|
+
break;
|
|
62
|
+
case 'text':
|
|
63
|
+
for (const env of response.environments) {
|
|
64
|
+
console.log(`App: ${chalk.bold(env.name)}`);
|
|
65
|
+
console.log(` Environment ID: ${chalk.dim(env.environmentId)}`);
|
|
66
|
+
console.log(` Client ID: ${chalk.dim(env.clientId)}`);
|
|
67
|
+
console.log(` Type: ${chalk.cyan(env.environmentType || 'staging')}`);
|
|
68
|
+
if (env.workosConnectHostname) {
|
|
69
|
+
console.log(` Connect: ${chalk.dim(env.workosConnectHostname)}`);
|
|
70
|
+
}
|
|
71
|
+
if (env.workosApiHostname) {
|
|
72
|
+
console.log(` API: ${chalk.dim(env.workosApiHostname)}`);
|
|
73
|
+
}
|
|
74
|
+
if (env.workosOrganizationId) {
|
|
75
|
+
console.log(` Org ID: ${chalk.dim(env.workosOrganizationId)}`);
|
|
76
|
+
}
|
|
77
|
+
console.log(chalk.dim('─'.repeat(50)));
|
|
78
|
+
}
|
|
79
|
+
this.log(chalk.bold(`\nTotal environments: ${response.environments.length}`));
|
|
80
|
+
break;
|
|
81
|
+
case 'json':
|
|
82
|
+
console.log(JSON.stringify({
|
|
83
|
+
environments: response.environments.map((env) => ({
|
|
84
|
+
name: env.name,
|
|
85
|
+
environmentId: env.environmentId,
|
|
86
|
+
clientId: env.clientId,
|
|
87
|
+
environmentType: env.environmentType,
|
|
88
|
+
connect: env.workosConnectHostname,
|
|
89
|
+
apiHostname: env.workosApiHostname,
|
|
90
|
+
organizationId: env.workosOrganizationId,
|
|
91
|
+
})),
|
|
92
|
+
totalCount: response.environments.length,
|
|
93
|
+
}, null, 2));
|
|
94
|
+
break;
|
|
95
|
+
case 'table':
|
|
96
|
+
console.table(response.environments.map((env) => ({
|
|
97
|
+
'App Name': env.name,
|
|
98
|
+
'Environment ID': env.environmentId,
|
|
99
|
+
'Client ID': env.clientId,
|
|
100
|
+
'Type': env.environmentType || 'staging',
|
|
101
|
+
'Connect': env.workosConnectHostname || '',
|
|
102
|
+
'API': env.workosApiHostname || '',
|
|
103
|
+
'Org ID': env.workosOrganizationId || '',
|
|
104
|
+
})));
|
|
105
|
+
this.log(chalk.bold(`\nTotal environments: ${response.environments.length}`));
|
|
106
|
+
break;
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
catch (error) {
|
|
110
|
+
const err = error;
|
|
111
|
+
this.error(`Failed to list WorkOS environments: ${err.message}`, { exit: 1 });
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { BaseCommand } from '../../../../base-command.js';
|
|
2
|
+
export default class Set extends BaseCommand<typeof Set> {
|
|
3
|
+
static args: {
|
|
4
|
+
appName: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
|
|
5
|
+
};
|
|
6
|
+
static description: string;
|
|
7
|
+
static examples: string[];
|
|
8
|
+
static flags: {
|
|
9
|
+
environmentId: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
10
|
+
clientId: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
11
|
+
apiKey: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
12
|
+
workosOrganizationId: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
13
|
+
workosConnectHostname: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
14
|
+
workosApiHostname: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
15
|
+
type: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
16
|
+
output: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
17
|
+
config: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
18
|
+
rainbowAuthService: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
19
|
+
raindropCatalogService: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
20
|
+
rainbowAuthToken: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
21
|
+
rainbowOrganizationId: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
22
|
+
rainbowUserId: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
23
|
+
sendVersionMetadata: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
24
|
+
};
|
|
25
|
+
run(): Promise<void>;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=set.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"set.d.ts","sourceRoot":"","sources":["../../../../../src/commands/build/workos/env/set.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAE1D,MAAM,CAAC,OAAO,OAAO,GAAI,SAAQ,WAAW,CAAC,OAAO,GAAG,CAAC;IACtD,MAAM,CAAC,IAAI;;MAKT;IAEF,MAAM,CAAC,WAAW,SAAkG;IAEpH,MAAM,CAAC,QAAQ,WAWb;IAEF,MAAM,CAAC,KAAK;;;;;;;;;;;;;;;;MAqCV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CA+D3B"}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
import { Args, Flags } from '@oclif/core';
|
|
2
|
+
import { EnvironmentType } from '@liquidmetal-ai/drizzle/liquidmetal/v1alpha1/workos_integration_pb';
|
|
3
|
+
import chalk from 'chalk';
|
|
4
|
+
import { BaseCommand } from '../../../../base-command.js';
|
|
5
|
+
export default class Set extends BaseCommand {
|
|
6
|
+
static args = {
|
|
7
|
+
appName: Args.string({
|
|
8
|
+
description: 'raindrop app name',
|
|
9
|
+
required: true,
|
|
10
|
+
}),
|
|
11
|
+
};
|
|
12
|
+
static description = 'Configure complete WorkOS environment for a Raindrop app (including production environments)';
|
|
13
|
+
static examples = [
|
|
14
|
+
`<%= config.bin %> <%= command.id %> my-app \\
|
|
15
|
+
--environment-id env_123 \\
|
|
16
|
+
--client-id client_123 \\
|
|
17
|
+
--api-key sk_test_123 \\
|
|
18
|
+
--workos-organization-id org_456 \\
|
|
19
|
+
--workos-connect-hostname auth.myapp.com \\
|
|
20
|
+
--type production
|
|
21
|
+
|
|
22
|
+
Configure a production WorkOS environment
|
|
23
|
+
`,
|
|
24
|
+
];
|
|
25
|
+
static flags = {
|
|
26
|
+
...BaseCommand.HIDDEN_FLAGS,
|
|
27
|
+
environmentId: Flags.string({
|
|
28
|
+
description: 'WorkOS environment ID',
|
|
29
|
+
required: true,
|
|
30
|
+
}),
|
|
31
|
+
clientId: Flags.string({
|
|
32
|
+
description: 'WorkOS client ID',
|
|
33
|
+
required: true,
|
|
34
|
+
}),
|
|
35
|
+
apiKey: Flags.string({
|
|
36
|
+
description: 'WorkOS API key value',
|
|
37
|
+
required: true,
|
|
38
|
+
}),
|
|
39
|
+
workosOrganizationId: Flags.string({
|
|
40
|
+
description: 'WorkOS organization ID',
|
|
41
|
+
required: true,
|
|
42
|
+
}),
|
|
43
|
+
workosConnectHostname: Flags.string({
|
|
44
|
+
description: 'WorkOS Connect hostname (e.g., auth.myapp.com)',
|
|
45
|
+
required: true,
|
|
46
|
+
}),
|
|
47
|
+
workosApiHostname: Flags.string({
|
|
48
|
+
description: 'WorkOS API hostname',
|
|
49
|
+
default: 'api.workos.com',
|
|
50
|
+
}),
|
|
51
|
+
type: Flags.string({
|
|
52
|
+
description: 'environment type',
|
|
53
|
+
default: 'staging',
|
|
54
|
+
options: ['staging', 'production'],
|
|
55
|
+
}),
|
|
56
|
+
output: Flags.string({
|
|
57
|
+
char: 'o',
|
|
58
|
+
description: 'output format',
|
|
59
|
+
default: 'text',
|
|
60
|
+
options: ['text', 'json'],
|
|
61
|
+
}),
|
|
62
|
+
};
|
|
63
|
+
async run() {
|
|
64
|
+
const { client: workosService, userId, organizationId } = await this.workosIntegrationService();
|
|
65
|
+
try {
|
|
66
|
+
await workosService.setEnvironment({
|
|
67
|
+
userId,
|
|
68
|
+
organizationId,
|
|
69
|
+
environmentName: this.args.appName,
|
|
70
|
+
environmentId: this.flags.environmentId,
|
|
71
|
+
clientId: this.flags.clientId,
|
|
72
|
+
apiKeyValue: this.flags.apiKey,
|
|
73
|
+
environmentType: this.flags.type === 'staging' ? EnvironmentType.STAGING : EnvironmentType.PRODUCTION,
|
|
74
|
+
workosOrganizationId: this.flags.workosOrganizationId,
|
|
75
|
+
workosConnectHostname: this.flags.workosConnectHostname,
|
|
76
|
+
workosApiHostname: this.flags.workosApiHostname,
|
|
77
|
+
});
|
|
78
|
+
switch (this.flags.output) {
|
|
79
|
+
case 'json':
|
|
80
|
+
console.log(JSON.stringify({
|
|
81
|
+
success: true,
|
|
82
|
+
appName: this.args.appName,
|
|
83
|
+
environmentId: this.flags.environmentId,
|
|
84
|
+
clientId: this.flags.clientId,
|
|
85
|
+
environmentType: this.flags.type,
|
|
86
|
+
workosOrganizationId: this.flags.workosOrganizationId,
|
|
87
|
+
workosConnectHostname: this.flags.workosConnectHostname,
|
|
88
|
+
workosApiHostname: this.flags.workosApiHostname,
|
|
89
|
+
}, null, 2));
|
|
90
|
+
break;
|
|
91
|
+
case 'text':
|
|
92
|
+
default:
|
|
93
|
+
this.log(chalk.green('✓') + ` WorkOS environment configured for ${chalk.bold(this.args.appName)}`);
|
|
94
|
+
this.log('');
|
|
95
|
+
this.log(` ${chalk.cyan('App Name:')} ${this.args.appName}`);
|
|
96
|
+
this.log(` ${chalk.cyan('Environment ID:')} ${this.flags.environmentId}`);
|
|
97
|
+
this.log(` ${chalk.cyan('Client ID:')} ${this.flags.clientId}`);
|
|
98
|
+
this.log(` ${chalk.cyan('Environment:')} ${this.flags.type}`);
|
|
99
|
+
this.log(` ${chalk.cyan('WorkOS Organization:')} ${this.flags.workosOrganizationId}`);
|
|
100
|
+
this.log(` ${chalk.cyan('Connect Hostname:')} ${this.flags.workosConnectHostname}`);
|
|
101
|
+
this.log(` ${chalk.cyan('API Hostname:')} ${this.flags.workosApiHostname}`);
|
|
102
|
+
this.log('');
|
|
103
|
+
this.log(chalk.dim('API key has been stored securely.'));
|
|
104
|
+
break;
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
catch (error) {
|
|
108
|
+
const err = error;
|
|
109
|
+
if (err.message.includes('team not found')) {
|
|
110
|
+
this.error('WorkOS integration not activated. Run: raindrop build workos setup --admin-email <email>', { exit: 1 });
|
|
111
|
+
}
|
|
112
|
+
this.error(`Failed to configure WorkOS environment: ${err.message}`, { exit: 1 });
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { BaseCommand } from '../../../base-command.js';
|
|
2
|
+
export default class Invite extends BaseCommand<typeof Invite> {
|
|
3
|
+
static args: {
|
|
4
|
+
email: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
|
|
5
|
+
};
|
|
6
|
+
static description: string;
|
|
7
|
+
static examples: string[];
|
|
8
|
+
static flags: {
|
|
9
|
+
role: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
10
|
+
output: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
11
|
+
config: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
12
|
+
rainbowAuthService: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
13
|
+
raindropCatalogService: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
14
|
+
rainbowAuthToken: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
15
|
+
rainbowOrganizationId: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
16
|
+
rainbowUserId: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
17
|
+
sendVersionMetadata: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
18
|
+
};
|
|
19
|
+
run(): Promise<void>;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=invite.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"invite.d.ts","sourceRoot":"","sources":["../../../../src/commands/build/workos/invite.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,MAAM,CAAC,OAAO,OAAO,MAAO,SAAQ,WAAW,CAAC,OAAO,MAAM,CAAC;IAC5D,MAAM,CAAC,IAAI;;MAKT;IAEF,MAAM,CAAC,WAAW,SAA2C;IAE7D,MAAM,CAAC,QAAQ,WAOb;IAEF,MAAM,CAAC,KAAK;;;;;;;;;;MAYV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CA8C3B"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { Args, Flags } from '@oclif/core';
|
|
2
|
+
import chalk from 'chalk';
|
|
3
|
+
import { BaseCommand } from '../../../base-command.js';
|
|
4
|
+
export default class Invite extends BaseCommand {
|
|
5
|
+
static args = {
|
|
6
|
+
email: Args.string({
|
|
7
|
+
description: 'email address to invite',
|
|
8
|
+
required: true,
|
|
9
|
+
}),
|
|
10
|
+
};
|
|
11
|
+
static description = 'Invite a user to join the WorkOS team';
|
|
12
|
+
static examples = [
|
|
13
|
+
`<%= config.bin %> <%= command.id %> user@example.com --role admin
|
|
14
|
+
Invite a user as admin
|
|
15
|
+
|
|
16
|
+
<%= config.bin %> <%= command.id %> user@example.com --role member
|
|
17
|
+
Invite a user as member
|
|
18
|
+
`,
|
|
19
|
+
];
|
|
20
|
+
static flags = {
|
|
21
|
+
...BaseCommand.HIDDEN_FLAGS,
|
|
22
|
+
role: Flags.string({
|
|
23
|
+
description: 'role slug for the invited user (e.g., admin, member)',
|
|
24
|
+
required: true,
|
|
25
|
+
}),
|
|
26
|
+
output: Flags.string({
|
|
27
|
+
char: 'o',
|
|
28
|
+
description: 'output format',
|
|
29
|
+
default: 'text',
|
|
30
|
+
options: ['text', 'json'],
|
|
31
|
+
}),
|
|
32
|
+
};
|
|
33
|
+
async run() {
|
|
34
|
+
const { client: workosService, userId, organizationId } = await this.workosIntegrationService();
|
|
35
|
+
try {
|
|
36
|
+
await workosService.inviteTeamMember({
|
|
37
|
+
userId,
|
|
38
|
+
organizationId,
|
|
39
|
+
email: this.args.email,
|
|
40
|
+
roleSlug: this.flags.role,
|
|
41
|
+
});
|
|
42
|
+
switch (this.flags.output) {
|
|
43
|
+
case 'json':
|
|
44
|
+
console.log(JSON.stringify({
|
|
45
|
+
success: true,
|
|
46
|
+
email: this.args.email,
|
|
47
|
+
role: this.flags.role,
|
|
48
|
+
}, null, 2));
|
|
49
|
+
break;
|
|
50
|
+
case 'text':
|
|
51
|
+
default:
|
|
52
|
+
this.log(chalk.green('✓') + ` Invitation sent to ${chalk.bold(this.args.email)}`);
|
|
53
|
+
this.log('');
|
|
54
|
+
this.log(` ${chalk.cyan('Role:')} ${this.flags.role}`);
|
|
55
|
+
this.log('');
|
|
56
|
+
this.log(chalk.dim('The user will receive an email invitation to join the team.'));
|
|
57
|
+
break;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
catch (error) {
|
|
61
|
+
const err = error;
|
|
62
|
+
if (err.message.includes('not found')) {
|
|
63
|
+
this.error('WorkOS integration not activated. Run: raindrop build workos setup --admin-email <email>', { exit: 1 });
|
|
64
|
+
}
|
|
65
|
+
this.error(`Failed to invite team member: ${err.message}`, { exit: 1 });
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { BaseCommand } from '../../../base-command.js';
|
|
2
|
+
export default class Setup extends BaseCommand<typeof Setup> {
|
|
3
|
+
static args: {};
|
|
4
|
+
static description: string;
|
|
5
|
+
static examples: string[];
|
|
6
|
+
static flags: {
|
|
7
|
+
adminEmail: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
8
|
+
name: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
9
|
+
output: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
10
|
+
config: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
11
|
+
rainbowAuthService: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
12
|
+
raindropCatalogService: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
13
|
+
rainbowAuthToken: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
14
|
+
rainbowOrganizationId: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
15
|
+
rainbowUserId: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
16
|
+
sendVersionMetadata: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
17
|
+
};
|
|
18
|
+
run(): Promise<void>;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=setup.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../../../src/commands/build/workos/setup.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAGvD,MAAM,CAAC,OAAO,OAAO,KAAM,SAAQ,WAAW,CAAC,OAAO,KAAK,CAAC;IAC1D,MAAM,CAAC,IAAI,KAAM;IAEjB,MAAM,CAAC,WAAW,SAAoD;IAEtE,MAAM,CAAC,QAAQ,WAab;IAEF,MAAM,CAAC,KAAK;;;;;;;;;;;MAgBV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAiF3B"}
|