@liquidmetal-ai/raindrop 0.7.0 → 0.8.1
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 +4544 -2466
- 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
|
@@ -21,6 +21,7 @@ export default class Find extends BaseCommand<typeof Find> {
|
|
|
21
21
|
rainbowUserId: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
22
22
|
sendVersionMetadata: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
23
23
|
};
|
|
24
|
+
private getWorkOSEnvironment;
|
|
24
25
|
queryModules(flags: {
|
|
25
26
|
output: string;
|
|
26
27
|
rainbowAuthService: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"find.d.ts","sourceRoot":"","sources":["../../../src/commands/build/find.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAGpD,MAAM,CAAC,OAAO,OAAO,IAAK,SAAQ,WAAW,CAAC,OAAO,IAAI,CAAC;IACxD,MAAM,CAAC,IAAI,KAAM;IAEjB,MAAM,CAAC,WAAW,SAAgC;IAElD,MAAM,CAAC,QAAQ,WAmBb;IAEF,MAAM,CAAC,KAAK;;;;;;;;;;;;;;;;;MA6CV;
|
|
1
|
+
{"version":3,"file":"find.d.ts","sourceRoot":"","sources":["../../../src/commands/build/find.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAGpD,MAAM,CAAC,OAAO,OAAO,IAAK,SAAQ,WAAW,CAAC,OAAO,IAAI,CAAC;IACxD,MAAM,CAAC,IAAI,KAAM;IAEjB,MAAM,CAAC,WAAW,SAAgC;IAElD,MAAM,CAAC,QAAQ,WAmBb;IAEF,MAAM,CAAC,KAAK;;;;;;;;;;;;;;;;;MA6CV;YAGY,oBAAoB;IA6B5B,YAAY,CAAC,KAAK,EAAE;QACxB,MAAM,EAAE,MAAM,CAAC;QACf,kBAAkB,EAAE,MAAM,CAAC;QAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,GAAG,CAAC,EAAE,OAAO,CAAC;KACf;IAgLD,OAAO,CAAC,uBAAuB;IAgB/B,OAAO,CAAC,aAAa;IAiCf,cAAc,CAAC,KAAK,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,kBAAkB,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE;IA+C5G,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAO3B"}
|
|
@@ -75,6 +75,29 @@ Find modules for a specific application and version.
|
|
|
75
75
|
description: 'query modules for all applications',
|
|
76
76
|
}),
|
|
77
77
|
};
|
|
78
|
+
// Helper method to fetch WorkOS environment name for an application version
|
|
79
|
+
async getWorkOSEnvironment(catalogService, userId, organizationId, applicationName, versionId) {
|
|
80
|
+
try {
|
|
81
|
+
const envResp = await catalogService.getEnvs({
|
|
82
|
+
userId,
|
|
83
|
+
organizationId,
|
|
84
|
+
envs: [
|
|
85
|
+
{
|
|
86
|
+
applicationName,
|
|
87
|
+
currentVersionId: versionId,
|
|
88
|
+
key: 'env:WORKOS_ENVIRONMENT',
|
|
89
|
+
},
|
|
90
|
+
],
|
|
91
|
+
});
|
|
92
|
+
// Look for the WORKOS_ENVIRONMENT env var
|
|
93
|
+
const workosEnv = envResp.envs.find(e => e.key === 'env:WORKOS_ENVIRONMENT');
|
|
94
|
+
return workosEnv?.value;
|
|
95
|
+
}
|
|
96
|
+
catch {
|
|
97
|
+
// If we can't fetch env vars, just return undefined
|
|
98
|
+
return undefined;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
78
101
|
async queryModules(flags) {
|
|
79
102
|
let applicationName;
|
|
80
103
|
let applicationVersionId;
|
|
@@ -113,7 +136,11 @@ Find modules for a specific application and version.
|
|
|
113
136
|
}, {});
|
|
114
137
|
// Display grouped modules in compact format
|
|
115
138
|
for (const [appKey, modules] of Object.entries(modulesByApp)) {
|
|
116
|
-
|
|
139
|
+
// Fetch WorkOS environment for this app/version
|
|
140
|
+
const firstModule = modules[0];
|
|
141
|
+
const workosEnv = firstModule ? await this.getWorkOSEnvironment(catalogService, userId, organizationId, firstModule.applicationName, firstModule.applicationVersionId) : undefined;
|
|
142
|
+
const workosInfo = workosEnv ? ` ${chalk.magenta(`[WorkOS: ${workosEnv}]`)}` : '';
|
|
143
|
+
console.log(`\n${chalk.bold(appKey)}${workosInfo} ${chalk.dim(`(${modules.length} module${modules.length !== 1 ? 's' : ''})`)}`);
|
|
117
144
|
for (const module of modules) {
|
|
118
145
|
const convergedStatus = module.convergedAt
|
|
119
146
|
? chalk.green('converged')
|
|
@@ -147,7 +174,11 @@ Find modules for a specific application and version.
|
|
|
147
174
|
}, {});
|
|
148
175
|
// Display grouped modules in full format (compact style with all details)
|
|
149
176
|
for (const [appKey, modules] of Object.entries(modulesByApp)) {
|
|
150
|
-
|
|
177
|
+
// Fetch WorkOS environment for this app/version
|
|
178
|
+
const firstModule = modules[0];
|
|
179
|
+
const workosEnv = firstModule ? await this.getWorkOSEnvironment(catalogService, userId, organizationId, firstModule.applicationName, firstModule.applicationVersionId) : undefined;
|
|
180
|
+
const workosInfo = workosEnv ? ` ${chalk.magenta(`[WorkOS: ${workosEnv}]`)}` : '';
|
|
181
|
+
console.log(`\n${chalk.bold(appKey)}${workosInfo} ${chalk.dim(`(${modules.length} module${modules.length !== 1 ? 's' : ''})`)}`);
|
|
151
182
|
for (const module of modules) {
|
|
152
183
|
const convergedStatus = module.convergedAt
|
|
153
184
|
? chalk.green('converged')
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../../src/commands/build/validate.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../../src/commands/build/validate.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAgBpD,MAAM,CAAC,OAAO,OAAO,KAAM,SAAQ,WAAW,CAAC,OAAO,KAAK,CAAC;IAC1D,OAAgB,IAAI,KAAM;IAE1B,OAAgB,WAAW,SAAiD;IAE5E,OAAgB,QAAQ,WAA2C;IAEnE,OAAgB,KAAK;;;;;MAgBnB;IAEW,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAsBlC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { BaseCommand } from '../../../base-command.js';
|
|
2
|
+
export default class Delete extends BaseCommand<typeof Delete> {
|
|
3
|
+
static args: {};
|
|
4
|
+
static description: string;
|
|
5
|
+
static examples: string[];
|
|
6
|
+
static flags: {
|
|
7
|
+
force: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
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=delete.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../../../src/commands/build/workos/delete.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,MAAM,CAAC,OAAO,OAAO,MAAO,SAAQ,WAAW,CAAC,OAAO,MAAM,CAAC;IAC5D,MAAM,CAAC,IAAI,KAAM;IAEjB,MAAM,CAAC,WAAW,SAA+D;IAEjF,MAAM,CAAC,QAAQ,WAOb;IAEF,MAAM,CAAC,KAAK;;;;;;;;;MAOV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAqD3B"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { Flags } from '@oclif/core';
|
|
2
|
+
import { confirm } from '@inquirer/prompts';
|
|
3
|
+
import chalk from 'chalk';
|
|
4
|
+
import { BaseCommand } from '../../../base-command.js';
|
|
5
|
+
export default class Delete extends BaseCommand {
|
|
6
|
+
static args = {};
|
|
7
|
+
static description = 'Delete all WorkOS integration state from the organization';
|
|
8
|
+
static examples = [
|
|
9
|
+
`<%= config.bin %> <%= command.id %>
|
|
10
|
+
Delete all WorkOS state with confirmation prompt
|
|
11
|
+
|
|
12
|
+
<%= config.bin %> <%= command.id %> --force
|
|
13
|
+
Delete all WorkOS state without confirmation prompt
|
|
14
|
+
`,
|
|
15
|
+
];
|
|
16
|
+
static flags = {
|
|
17
|
+
...BaseCommand.HIDDEN_FLAGS,
|
|
18
|
+
force: Flags.boolean({
|
|
19
|
+
char: 'f',
|
|
20
|
+
description: 'Skip confirmation prompt',
|
|
21
|
+
default: false,
|
|
22
|
+
}),
|
|
23
|
+
};
|
|
24
|
+
async run() {
|
|
25
|
+
const { client: workosService, userId, organizationId } = await this.workosIntegrationService();
|
|
26
|
+
// Show a big warning about what will be deleted
|
|
27
|
+
this.log('');
|
|
28
|
+
this.log(chalk.red.bold('⚠️ WARNING: DESTRUCTIVE OPERATION'));
|
|
29
|
+
this.log(chalk.red('━'.repeat(50)));
|
|
30
|
+
this.log('');
|
|
31
|
+
this.log('This command will permanently delete ALL WorkOS integration state:');
|
|
32
|
+
this.log('');
|
|
33
|
+
this.log(chalk.yellow(' • WorkOS team information'));
|
|
34
|
+
this.log(chalk.yellow(' • All environment configurations'));
|
|
35
|
+
this.log(chalk.yellow(' • All API keys stored in state'));
|
|
36
|
+
this.log(chalk.yellow(' • Primary organization name'));
|
|
37
|
+
this.log('');
|
|
38
|
+
this.log(chalk.dim('Note: This only affects local state. Nothing will be deleted from'));
|
|
39
|
+
this.log(chalk.dim('WorkOS itself. You must manage WorkOS resources separately.'));
|
|
40
|
+
this.log('');
|
|
41
|
+
this.log(chalk.red('This action CANNOT be undone!'));
|
|
42
|
+
this.log(chalk.red('━'.repeat(50)));
|
|
43
|
+
this.log('');
|
|
44
|
+
// Unless forced, ask for confirmation
|
|
45
|
+
if (!this.flags.force) {
|
|
46
|
+
const shouldDelete = await confirm({
|
|
47
|
+
message: 'Are you absolutely sure you want to delete all WorkOS state?',
|
|
48
|
+
default: false,
|
|
49
|
+
});
|
|
50
|
+
if (!shouldDelete) {
|
|
51
|
+
this.log(chalk.dim('Deletion cancelled'));
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
try {
|
|
56
|
+
this.log('Deleting all WorkOS state...');
|
|
57
|
+
await workosService.deleteAllWorkOSState({
|
|
58
|
+
userId,
|
|
59
|
+
organizationId,
|
|
60
|
+
});
|
|
61
|
+
this.log('');
|
|
62
|
+
this.log(chalk.green('✓ All WorkOS state has been deleted successfully'));
|
|
63
|
+
this.log('');
|
|
64
|
+
this.log(chalk.dim('To re-activate WorkOS integration, run:'));
|
|
65
|
+
this.log(chalk.dim(' raindrop build workos setup --admin-email <email>'));
|
|
66
|
+
}
|
|
67
|
+
catch (error) {
|
|
68
|
+
const err = error;
|
|
69
|
+
this.error(`Failed to delete WorkOS state: ${err.message}`, { exit: 1 });
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { BaseCommand } from '../../../../base-command.js';
|
|
2
|
+
export default class Attach extends BaseCommand<typeof Attach> {
|
|
3
|
+
static args: {
|
|
4
|
+
envName: import("@oclif/core/interfaces").Arg<string | undefined, Record<string, unknown>>;
|
|
5
|
+
};
|
|
6
|
+
static description: string;
|
|
7
|
+
static examples: string[];
|
|
8
|
+
static flags: {
|
|
9
|
+
root: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
10
|
+
manifest: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
11
|
+
application: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
12
|
+
versionId: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
13
|
+
output: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
14
|
+
config: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
15
|
+
rainbowAuthService: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
16
|
+
raindropCatalogService: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
17
|
+
rainbowAuthToken: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
18
|
+
rainbowOrganizationId: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
19
|
+
rainbowUserId: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
20
|
+
sendVersionMetadata: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
21
|
+
};
|
|
22
|
+
run(): Promise<void>;
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=attach.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"attach.d.ts","sourceRoot":"","sources":["../../../../../src/commands/build/workos/env/attach.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAE1D,MAAM,CAAC,OAAO,OAAO,MAAO,SAAQ,WAAW,CAAC,OAAO,MAAM,CAAC;IAC5D,MAAM,CAAC,IAAI;;MAKT;IAEF,MAAM,CAAC,WAAW,SAA2D;IAE7E,MAAM,CAAC,QAAQ,WAUb;IAEF,MAAM,CAAC,KAAK;;;;;;;;;;;;;MA+BV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAwE3B"}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
import { valueOf } from '@liquidmetal-ai/drizzle/appify/build';
|
|
2
|
+
import { Args, Flags } from '@oclif/core';
|
|
3
|
+
import chalk from 'chalk';
|
|
4
|
+
import { BaseCommand } from '../../../../base-command.js';
|
|
5
|
+
export default class Attach extends BaseCommand {
|
|
6
|
+
static args = {
|
|
7
|
+
envName: Args.string({
|
|
8
|
+
description: 'WorkOS environment name (defaults to application name)',
|
|
9
|
+
required: false,
|
|
10
|
+
}),
|
|
11
|
+
};
|
|
12
|
+
static description = 'Attach a WorkOS environment to an application version';
|
|
13
|
+
static examples = [
|
|
14
|
+
`<%= config.bin %> <%= command.id %>
|
|
15
|
+
Attach environment with same name as application
|
|
16
|
+
|
|
17
|
+
<%= config.bin %> <%= command.id %> my-env
|
|
18
|
+
Attach specific environment
|
|
19
|
+
|
|
20
|
+
<%= config.bin %> <%= command.id %> my-env --application my-app --versionId abc123
|
|
21
|
+
Attach to specific application and version
|
|
22
|
+
`,
|
|
23
|
+
];
|
|
24
|
+
static flags = {
|
|
25
|
+
...BaseCommand.HIDDEN_FLAGS,
|
|
26
|
+
root: Flags.string({
|
|
27
|
+
char: 'r',
|
|
28
|
+
description: 'root directory',
|
|
29
|
+
required: false,
|
|
30
|
+
default: process.cwd(),
|
|
31
|
+
}),
|
|
32
|
+
manifest: Flags.string({
|
|
33
|
+
char: 'M',
|
|
34
|
+
description: 'project manifest',
|
|
35
|
+
required: false,
|
|
36
|
+
default: 'raindrop.manifest',
|
|
37
|
+
}),
|
|
38
|
+
application: Flags.string({
|
|
39
|
+
char: 'a',
|
|
40
|
+
description: 'application name',
|
|
41
|
+
required: false,
|
|
42
|
+
}),
|
|
43
|
+
versionId: Flags.string({
|
|
44
|
+
char: 'v',
|
|
45
|
+
aliases: ['version'],
|
|
46
|
+
description: 'version ID',
|
|
47
|
+
required: false,
|
|
48
|
+
}),
|
|
49
|
+
output: Flags.string({
|
|
50
|
+
char: 'o',
|
|
51
|
+
description: 'output format',
|
|
52
|
+
default: 'text',
|
|
53
|
+
options: ['text', 'json'],
|
|
54
|
+
}),
|
|
55
|
+
};
|
|
56
|
+
async run() {
|
|
57
|
+
// Load manifest to get application name
|
|
58
|
+
const apps = await this.loadManifest();
|
|
59
|
+
const app = apps.find((app) => valueOf(app.name) === this.flags.application) || apps[0];
|
|
60
|
+
if (app === undefined) {
|
|
61
|
+
this.error(`application ${this.flags.application} not found in manifest`, { exit: 1 });
|
|
62
|
+
}
|
|
63
|
+
const applicationName = valueOf(app.name);
|
|
64
|
+
// Use envName from argument, or default to application name
|
|
65
|
+
const environmentName = this.args.envName || applicationName;
|
|
66
|
+
// Load config to get version ID
|
|
67
|
+
const config = await this.loadConfig();
|
|
68
|
+
const versionId = this.flags.versionId || config.versionId;
|
|
69
|
+
if (!versionId) {
|
|
70
|
+
this.error('No version ID found. Deploy your application first with: raindrop build deploy', { exit: 1 });
|
|
71
|
+
}
|
|
72
|
+
const { client: workosService, userId, organizationId } = await this.workosIntegrationService();
|
|
73
|
+
try {
|
|
74
|
+
await workosService.attachEnvironmentToVersion({
|
|
75
|
+
userId,
|
|
76
|
+
organizationId,
|
|
77
|
+
applicationName,
|
|
78
|
+
versionId,
|
|
79
|
+
environmentName,
|
|
80
|
+
});
|
|
81
|
+
switch (this.flags.output) {
|
|
82
|
+
case 'json':
|
|
83
|
+
console.log(JSON.stringify({
|
|
84
|
+
success: true,
|
|
85
|
+
applicationName,
|
|
86
|
+
versionId,
|
|
87
|
+
environmentName,
|
|
88
|
+
}, null, 2));
|
|
89
|
+
break;
|
|
90
|
+
case 'text':
|
|
91
|
+
default:
|
|
92
|
+
this.log(chalk.green('✓') + ` WorkOS environment attached`);
|
|
93
|
+
this.log('');
|
|
94
|
+
this.log(` ${chalk.cyan('Application:')} ${applicationName}`);
|
|
95
|
+
this.log(` ${chalk.cyan('Version ID:')} ${versionId}`);
|
|
96
|
+
this.log(` ${chalk.cyan('Environment:')} ${environmentName}`);
|
|
97
|
+
this.log('');
|
|
98
|
+
this.log(chalk.dim('The WORKOS_ENVIRONMENT variable has been set for this version.'));
|
|
99
|
+
this.log(chalk.dim('Changes will take effect after convergence completes.'));
|
|
100
|
+
break;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
catch (error) {
|
|
104
|
+
const err = error;
|
|
105
|
+
if (err.message.includes('not found')) {
|
|
106
|
+
this.error(`WorkOS environment '${environmentName}' not found. Create it first with: raindrop build workos env create ${environmentName}`, { exit: 1 });
|
|
107
|
+
}
|
|
108
|
+
this.error(`Failed to attach WorkOS environment: ${err.message}`, { exit: 1 });
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { BaseCommand } from '../../../../base-command.js';
|
|
2
|
+
export default class Create extends BaseCommand<typeof Create> {
|
|
3
|
+
static args: {
|
|
4
|
+
envName: import("@oclif/core/interfaces").Arg<string | undefined, Record<string, unknown>>;
|
|
5
|
+
};
|
|
6
|
+
static description: string;
|
|
7
|
+
static examples: string[];
|
|
8
|
+
static flags: {
|
|
9
|
+
root: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
10
|
+
manifest: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
11
|
+
application: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
12
|
+
versionId: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
13
|
+
name: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
14
|
+
noattach: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
15
|
+
output: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
16
|
+
config: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
17
|
+
rainbowAuthService: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
18
|
+
raindropCatalogService: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
19
|
+
rainbowAuthToken: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
20
|
+
rainbowOrganizationId: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
21
|
+
rainbowUserId: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
22
|
+
sendVersionMetadata: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
23
|
+
};
|
|
24
|
+
run(): Promise<void>;
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=create.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../../../src/commands/build/workos/env/create.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAE1D,MAAM,CAAC,OAAO,OAAO,MAAO,SAAQ,WAAW,CAAC,OAAO,MAAM,CAAC;IAC5D,MAAM,CAAC,IAAI;;MAKT;IAEF,MAAM,CAAC,WAAW,SAAoD;IAEtE,MAAM,CAAC,QAAQ,WAgBb;IAEF,MAAM,CAAC,KAAK;;;;;;;;;;;;;;;MAuCV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAsG3B"}
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
import { Args, Flags } from '@oclif/core';
|
|
2
|
+
import { EnvironmentType } from '@liquidmetal-ai/drizzle/liquidmetal/v1alpha1/workos_integration_pb';
|
|
3
|
+
import { valueOf } from '@liquidmetal-ai/drizzle/appify/build';
|
|
4
|
+
import chalk from 'chalk';
|
|
5
|
+
import { BaseCommand } from '../../../../base-command.js';
|
|
6
|
+
export default class Create extends BaseCommand {
|
|
7
|
+
static args = {
|
|
8
|
+
envName: Args.string({
|
|
9
|
+
description: 'environment name (defaults to application name)',
|
|
10
|
+
required: false,
|
|
11
|
+
}),
|
|
12
|
+
};
|
|
13
|
+
static description = 'Create a WorkOS environment for a Raindrop app';
|
|
14
|
+
static examples = [
|
|
15
|
+
`<%= config.bin %> <%= command.id %>
|
|
16
|
+
Create WorkOS environment with application name and auto-attach
|
|
17
|
+
|
|
18
|
+
<%= config.bin %> <%= command.id %> my-env
|
|
19
|
+
Create environment with specific name and auto-attach
|
|
20
|
+
|
|
21
|
+
<%= config.bin %> <%= command.id %> my-env --noattach
|
|
22
|
+
Create environment without attaching to current version
|
|
23
|
+
|
|
24
|
+
<%= config.bin %> <%= command.id %> my-env --name "Acme Inc"
|
|
25
|
+
Create with explicit organization name
|
|
26
|
+
|
|
27
|
+
<%= config.bin %> <%= command.id %> my-env --output json
|
|
28
|
+
Get JSON output
|
|
29
|
+
`,
|
|
30
|
+
];
|
|
31
|
+
static flags = {
|
|
32
|
+
...BaseCommand.HIDDEN_FLAGS,
|
|
33
|
+
root: Flags.string({
|
|
34
|
+
char: 'r',
|
|
35
|
+
description: 'root directory',
|
|
36
|
+
required: false,
|
|
37
|
+
default: process.cwd(),
|
|
38
|
+
}),
|
|
39
|
+
manifest: Flags.string({
|
|
40
|
+
char: 'M',
|
|
41
|
+
description: 'project manifest',
|
|
42
|
+
required: false,
|
|
43
|
+
default: 'raindrop.manifest',
|
|
44
|
+
}),
|
|
45
|
+
application: Flags.string({
|
|
46
|
+
char: 'a',
|
|
47
|
+
description: 'application name',
|
|
48
|
+
required: false,
|
|
49
|
+
}),
|
|
50
|
+
versionId: Flags.string({
|
|
51
|
+
char: 'v',
|
|
52
|
+
aliases: ['version'],
|
|
53
|
+
description: 'version ID',
|
|
54
|
+
required: false,
|
|
55
|
+
}),
|
|
56
|
+
name: Flags.string({
|
|
57
|
+
description: 'primary organization name (optional if cached)',
|
|
58
|
+
required: false,
|
|
59
|
+
}),
|
|
60
|
+
noattach: Flags.boolean({
|
|
61
|
+
description: 'do not attach environment to current version after creation',
|
|
62
|
+
default: false,
|
|
63
|
+
}),
|
|
64
|
+
output: Flags.string({
|
|
65
|
+
char: 'o',
|
|
66
|
+
description: 'output format',
|
|
67
|
+
default: 'text',
|
|
68
|
+
options: ['text', 'json'],
|
|
69
|
+
}),
|
|
70
|
+
};
|
|
71
|
+
async run() {
|
|
72
|
+
// Load manifest to get application name
|
|
73
|
+
const apps = await this.loadManifest();
|
|
74
|
+
const app = apps.find((app) => valueOf(app.name) === this.flags.application) || apps[0];
|
|
75
|
+
if (app === undefined) {
|
|
76
|
+
this.error(`application ${this.flags.application} not found in manifest`, { exit: 1 });
|
|
77
|
+
}
|
|
78
|
+
const applicationName = valueOf(app.name);
|
|
79
|
+
// Use envName from argument, or default to application name
|
|
80
|
+
const environmentName = this.args.envName || applicationName;
|
|
81
|
+
const { client: workosService, userId, organizationId } = await this.workosIntegrationService();
|
|
82
|
+
try {
|
|
83
|
+
// Create the WorkOS environment
|
|
84
|
+
await workosService.createEnvironment({
|
|
85
|
+
userId,
|
|
86
|
+
organizationId,
|
|
87
|
+
environmentName,
|
|
88
|
+
environmentType: EnvironmentType.STAGING,
|
|
89
|
+
primaryOrganizationName: this.flags.name,
|
|
90
|
+
});
|
|
91
|
+
// Auto-attach to current version unless --noattach is set
|
|
92
|
+
let attached = false;
|
|
93
|
+
if (!this.flags.noattach) {
|
|
94
|
+
try {
|
|
95
|
+
const config = await this.loadConfig();
|
|
96
|
+
const versionId = this.flags.versionId || config.versionId;
|
|
97
|
+
if (versionId) {
|
|
98
|
+
await workosService.attachEnvironmentToVersion({
|
|
99
|
+
userId,
|
|
100
|
+
organizationId,
|
|
101
|
+
applicationName,
|
|
102
|
+
versionId,
|
|
103
|
+
environmentName,
|
|
104
|
+
});
|
|
105
|
+
attached = true;
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
catch (attachError) {
|
|
109
|
+
// If attach fails, still report success on creation but warn about attach failure
|
|
110
|
+
const err = attachError;
|
|
111
|
+
if (this.flags.output === 'text') {
|
|
112
|
+
this.log(chalk.yellow('Warning: ') + `Failed to auto-attach environment: ${err.message}`);
|
|
113
|
+
this.log(chalk.dim('You can manually attach with: raindrop build workos env attach ' + environmentName));
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
switch (this.flags.output) {
|
|
118
|
+
case 'json':
|
|
119
|
+
console.log(JSON.stringify({
|
|
120
|
+
success: true,
|
|
121
|
+
environmentName,
|
|
122
|
+
environmentType: 'staging',
|
|
123
|
+
attached,
|
|
124
|
+
applicationName,
|
|
125
|
+
}, null, 2));
|
|
126
|
+
break;
|
|
127
|
+
case 'text':
|
|
128
|
+
default:
|
|
129
|
+
this.log(chalk.green('✓') + ` WorkOS environment created for ${chalk.bold(environmentName)}`);
|
|
130
|
+
this.log('');
|
|
131
|
+
this.log(` ${chalk.cyan('Environment:')} ${environmentName}`);
|
|
132
|
+
this.log(` ${chalk.cyan('Type:')} staging`);
|
|
133
|
+
if (attached) {
|
|
134
|
+
this.log(` ${chalk.cyan('Attached to:')} ${applicationName} (current version)`);
|
|
135
|
+
}
|
|
136
|
+
this.log('');
|
|
137
|
+
this.log(chalk.dim('The environment, organization, and API key have been automatically configured.'));
|
|
138
|
+
if (attached) {
|
|
139
|
+
this.log(chalk.dim('Environment has been attached to the current version.'));
|
|
140
|
+
}
|
|
141
|
+
this.log(chalk.dim('View details with: raindrop build workos env get ' + environmentName));
|
|
142
|
+
break;
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
catch (error) {
|
|
146
|
+
const err = error;
|
|
147
|
+
if (err.message.includes('team not found')) {
|
|
148
|
+
this.error('WorkOS integration not activated. Run: raindrop build workos setup --admin-email <email>', { exit: 1 });
|
|
149
|
+
}
|
|
150
|
+
if (err.message.includes('already exists')) {
|
|
151
|
+
this.error(`WorkOS environment already exists for ${environmentName}. Use 'raindrop build workos env get ${environmentName}' to view it.`, { exit: 1 });
|
|
152
|
+
}
|
|
153
|
+
this.error(`Failed to create WorkOS environment: ${err.message}`, { exit: 1 });
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { BaseCommand } from '../../../../base-command.js';
|
|
2
|
+
export default class Delete extends BaseCommand<typeof Delete> {
|
|
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=delete.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../../../../src/commands/build/workos/env/delete.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAE1D,MAAM,CAAC,OAAO,OAAO,MAAO,SAAQ,WAAW,CAAC,OAAO,MAAM,CAAC;IAC5D,MAAM,CAAC,IAAI;;MAKT;IAEF,MAAM,CAAC,WAAW,SAA2E;IAE7F,MAAM,CAAC,QAAQ,WAOb;IAEF,MAAM,CAAC,KAAK;;;;;;;;;MAQV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CA2C3B"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { Args, Flags } from '@oclif/core';
|
|
2
|
+
import chalk from 'chalk';
|
|
3
|
+
import { BaseCommand } from '../../../../base-command.js';
|
|
4
|
+
export default class Delete extends BaseCommand {
|
|
5
|
+
static args = {
|
|
6
|
+
appName: Args.string({
|
|
7
|
+
description: 'raindrop app name',
|
|
8
|
+
required: true,
|
|
9
|
+
}),
|
|
10
|
+
};
|
|
11
|
+
static description = 'Remove WorkOS environment configuration (does NOT delete from WorkOS)';
|
|
12
|
+
static examples = [
|
|
13
|
+
`<%= config.bin %> <%= command.id %> my-app
|
|
14
|
+
Remove WorkOS environment configuration for app
|
|
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'],
|
|
27
|
+
}),
|
|
28
|
+
};
|
|
29
|
+
async run() {
|
|
30
|
+
const { client: workosService, userId, organizationId } = await this.workosIntegrationService();
|
|
31
|
+
try {
|
|
32
|
+
await workosService.deleteEnvironment({
|
|
33
|
+
userId,
|
|
34
|
+
organizationId,
|
|
35
|
+
environmentName: this.args.appName,
|
|
36
|
+
});
|
|
37
|
+
switch (this.flags.output) {
|
|
38
|
+
case 'json':
|
|
39
|
+
console.log(JSON.stringify({
|
|
40
|
+
success: true,
|
|
41
|
+
appName: this.args.appName,
|
|
42
|
+
}, null, 2));
|
|
43
|
+
break;
|
|
44
|
+
case 'text':
|
|
45
|
+
default:
|
|
46
|
+
this.log(chalk.green('✓') + ` WorkOS environment configuration removed for ${chalk.bold(this.args.appName)}`);
|
|
47
|
+
this.log('');
|
|
48
|
+
this.log(chalk.yellow('⚠') + ' ' + chalk.dim('Note: This only removes the configuration from Raindrop.'));
|
|
49
|
+
this.log(chalk.dim(' To delete the environment from WorkOS, manage it in the WorkOS dashboard.'));
|
|
50
|
+
break;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
catch (error) {
|
|
54
|
+
const err = error;
|
|
55
|
+
if (err.message.includes('not found')) {
|
|
56
|
+
this.error(`WorkOS environment not found for ${this.args.appName}`, { exit: 1 });
|
|
57
|
+
}
|
|
58
|
+
this.error(`Failed to delete WorkOS environment: ${err.message}`, { exit: 1 });
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { BaseCommand } from '../../../../base-command.js';
|
|
2
|
+
export default class Detach extends BaseCommand<typeof Detach> {
|
|
3
|
+
static description: string;
|
|
4
|
+
static examples: string[];
|
|
5
|
+
static flags: {
|
|
6
|
+
root: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
7
|
+
manifest: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
8
|
+
application: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
9
|
+
versionId: import("@oclif/core/interfaces").OptionFlag<string | undefined, 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=detach.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"detach.d.ts","sourceRoot":"","sources":["../../../../../src/commands/build/workos/env/detach.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAE1D,MAAM,CAAC,OAAO,OAAO,MAAO,SAAQ,WAAW,CAAC,OAAO,MAAM,CAAC;IAC5D,MAAM,CAAC,WAAW,SAA2D;IAE7E,MAAM,CAAC,QAAQ,WAOb;IAEF,MAAM,CAAC,KAAK;;;;;;;;;;;;;MA+BV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CA4D3B"}
|