@dbos-inc/dbos-cloud 1.1.2-preview → 1.1.10-preview.g36cbbbe114
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/dist/applications/delete-app.d.ts.map +1 -0
- package/dist/applications/delete-app.js +34 -0
- package/dist/applications/delete-app.js.map +1 -0
- package/dist/applications/deploy-app-code.d.ts.map +1 -0
- package/dist/{packages/dbos-cloud/applications → applications}/deploy-app-code.js +23 -30
- package/dist/applications/deploy-app-code.js.map +1 -0
- package/dist/applications/get-app-info.d.ts.map +1 -0
- package/dist/applications/get-app-info.js +43 -0
- package/dist/applications/get-app-info.js.map +1 -0
- package/dist/applications/get-app-logs.d.ts.map +1 -0
- package/dist/{packages/dbos-cloud/applications → applications}/get-app-logs.js +9 -16
- package/dist/applications/get-app-logs.js.map +1 -0
- package/dist/applications/index.d.ts +7 -0
- package/dist/applications/index.d.ts.map +1 -0
- package/dist/applications/index.js +7 -0
- package/dist/applications/index.js.map +1 -0
- package/dist/applications/list-apps.d.ts.map +1 -0
- package/dist/applications/list-apps.js +41 -0
- package/dist/applications/list-apps.js.map +1 -0
- package/dist/applications/register-app.d.ts.map +1 -0
- package/dist/applications/register-app.js +39 -0
- package/dist/applications/register-app.js.map +1 -0
- package/dist/applications/types.d.ts.map +1 -0
- package/dist/{packages/dbos-cloud/applications → applications}/types.js +1 -5
- package/dist/applications/types.js.map +1 -0
- package/dist/applications/update-app.d.ts.map +1 -0
- package/dist/applications/update-app.js +38 -0
- package/dist/applications/update-app.js.map +1 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/{packages/dbos-cloud/cli.js → cli.js} +53 -35
- package/dist/cli.js.map +1 -0
- package/dist/{packages/dbos-cloud/cloudutils.d.ts → cloudutils.d.ts} +1 -1
- package/dist/cloudutils.d.ts.map +1 -0
- package/dist/{packages/dbos-cloud/cloudutils.js → cloudutils.js} +34 -52
- package/dist/cloudutils.js.map +1 -0
- package/dist/dashboards.d.ts.map +1 -0
- package/{dashboards.ts → dist/dashboards.js} +24 -24
- package/dist/dashboards.js.map +1 -0
- package/dist/login.d.ts.map +1 -0
- package/dist/{packages/dbos-cloud/login.js → login.js} +17 -25
- package/dist/login.js.map +1 -0
- package/dist/register.d.ts.map +1 -0
- package/dist/register.js +86 -0
- package/dist/register.js.map +1 -0
- package/dist/userdb.d.ts.map +1 -0
- package/dist/{packages/dbos-cloud/userdb.js → userdb.js} +34 -47
- package/dist/userdb.js.map +1 -0
- package/package.json +6 -3
- package/Gruntfile.js +0 -9
- package/applications/delete-app.ts +0 -35
- package/applications/deploy-app-code.ts +0 -126
- package/applications/get-app-info.ts +0 -42
- package/applications/get-app-logs.ts +0 -45
- package/applications/index.ts +0 -7
- package/applications/list-apps.ts +0 -42
- package/applications/register-app.ts +0 -43
- package/applications/types.ts +0 -19
- package/applications/update-app.ts +0 -43
- package/cli.ts +0 -225
- package/cloudutils.ts +0 -166
- package/dist/packages/dbos-cloud/applications/delete-app.d.ts.map +0 -1
- package/dist/packages/dbos-cloud/applications/delete-app.js +0 -41
- package/dist/packages/dbos-cloud/applications/delete-app.js.map +0 -1
- package/dist/packages/dbos-cloud/applications/deploy-app-code.d.ts.map +0 -1
- package/dist/packages/dbos-cloud/applications/deploy-app-code.js.map +0 -1
- package/dist/packages/dbos-cloud/applications/get-app-info.d.ts.map +0 -1
- package/dist/packages/dbos-cloud/applications/get-app-info.js +0 -50
- package/dist/packages/dbos-cloud/applications/get-app-info.js.map +0 -1
- package/dist/packages/dbos-cloud/applications/get-app-logs.d.ts.map +0 -1
- package/dist/packages/dbos-cloud/applications/get-app-logs.js.map +0 -1
- package/dist/packages/dbos-cloud/applications/index.d.ts +0 -7
- package/dist/packages/dbos-cloud/applications/index.d.ts.map +0 -1
- package/dist/packages/dbos-cloud/applications/index.js +0 -16
- package/dist/packages/dbos-cloud/applications/index.js.map +0 -1
- package/dist/packages/dbos-cloud/applications/list-apps.d.ts.map +0 -1
- package/dist/packages/dbos-cloud/applications/list-apps.js +0 -48
- package/dist/packages/dbos-cloud/applications/list-apps.js.map +0 -1
- package/dist/packages/dbos-cloud/applications/register-app.d.ts.map +0 -1
- package/dist/packages/dbos-cloud/applications/register-app.js +0 -46
- package/dist/packages/dbos-cloud/applications/register-app.js.map +0 -1
- package/dist/packages/dbos-cloud/applications/types.d.ts.map +0 -1
- package/dist/packages/dbos-cloud/applications/types.js.map +0 -1
- package/dist/packages/dbos-cloud/applications/update-app.d.ts.map +0 -1
- package/dist/packages/dbos-cloud/applications/update-app.js +0 -45
- package/dist/packages/dbos-cloud/applications/update-app.js.map +0 -1
- package/dist/packages/dbos-cloud/cli.d.ts.map +0 -1
- package/dist/packages/dbos-cloud/cli.js.map +0 -1
- package/dist/packages/dbos-cloud/cloudutils.d.ts.map +0 -1
- package/dist/packages/dbos-cloud/cloudutils.js.map +0 -1
- package/dist/packages/dbos-cloud/dashboards.d.ts.map +0 -1
- package/dist/packages/dbos-cloud/dashboards.js +0 -63
- package/dist/packages/dbos-cloud/dashboards.js.map +0 -1
- package/dist/packages/dbos-cloud/login.d.ts.map +0 -1
- package/dist/packages/dbos-cloud/login.js.map +0 -1
- package/dist/packages/dbos-cloud/register.d.ts.map +0 -1
- package/dist/packages/dbos-cloud/register.js +0 -116
- package/dist/packages/dbos-cloud/register.js.map +0 -1
- package/dist/packages/dbos-cloud/userdb.d.ts.map +0 -1
- package/dist/packages/dbos-cloud/userdb.js.map +0 -1
- package/dist/src/utils.d.ts +0 -6
- package/dist/src/utils.d.ts.map +0 -1
- package/dist/src/utils.js +0 -51
- package/dist/src/utils.js.map +0 -1
- package/login.ts +0 -146
- package/register.ts +0 -89
- package/tsconfig.json +0 -22
- package/userdb.ts +0 -191
- /package/dist/{packages/dbos-cloud/applications → applications}/delete-app.d.ts +0 -0
- /package/dist/{packages/dbos-cloud/applications → applications}/deploy-app-code.d.ts +0 -0
- /package/dist/{packages/dbos-cloud/applications → applications}/get-app-info.d.ts +0 -0
- /package/dist/{packages/dbos-cloud/applications → applications}/get-app-logs.d.ts +0 -0
- /package/dist/{packages/dbos-cloud/applications → applications}/list-apps.d.ts +0 -0
- /package/dist/{packages/dbos-cloud/applications → applications}/register-app.d.ts +0 -0
- /package/dist/{packages/dbos-cloud/applications → applications}/types.d.ts +0 -0
- /package/dist/{packages/dbos-cloud/applications → applications}/update-app.d.ts +0 -0
- /package/dist/{packages/dbos-cloud/cli.d.ts → cli.d.ts} +0 -0
- /package/dist/{packages/dbos-cloud/dashboards.d.ts → dashboards.d.ts} +0 -0
- /package/dist/{packages/dbos-cloud/login.d.ts → login.d.ts} +0 -0
- /package/dist/{packages/dbos-cloud/register.d.ts → register.d.ts} +0 -0
- /package/dist/{packages/dbos-cloud/userdb.d.ts → userdb.d.ts} +0 -0
|
@@ -1,21 +1,39 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
};
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
2
|
+
import { registerApp, updateApp, listApps, deleteApp, deployAppCode, getAppLogs, } from "./applications/index.js";
|
|
3
|
+
import { Command } from 'commander';
|
|
4
|
+
import { login } from "./login.js";
|
|
5
|
+
import { registerUser } from "./register.js";
|
|
6
|
+
import { createUserDb, getUserDb, deleteUserDb, listUserDB, resetDBCredentials } from "./userdb.js";
|
|
7
|
+
import { launchDashboard, getDashboardURL } from "./dashboards.js";
|
|
8
|
+
import { DBOSCloudHost, credentialsExist, deleteCredentials } from "./cloudutils.js";
|
|
9
|
+
import { getAppInfo } from "./applications/get-app-info.js";
|
|
10
|
+
import promptSync from 'prompt-sync';
|
|
11
|
+
import chalk from 'chalk';
|
|
12
|
+
import fs from "fs";
|
|
13
|
+
import * as url from 'url';
|
|
14
|
+
import path from "path";
|
|
15
|
+
import updateNotifier from "update-notifier";
|
|
16
|
+
// Read local package.json
|
|
17
|
+
const __dirname = url.fileURLToPath(new URL('.', import.meta.url));
|
|
18
|
+
const packageJson = JSON.parse(fs.readFileSync(path.join(__dirname, "..", "package.json")).toString());
|
|
19
|
+
// Notify the user if the package requires an update.
|
|
20
|
+
const notifier = updateNotifier({
|
|
21
|
+
pkg: packageJson,
|
|
22
|
+
updateCheckInterval: 0
|
|
23
|
+
});
|
|
24
|
+
if (notifier.update) {
|
|
25
|
+
console.log(`
|
|
26
|
+
${chalk.yellow("-----------------------------------------------------------------------------------------")}
|
|
27
|
+
|
|
28
|
+
DBOS Cloud CLI Update available ${chalk.gray(notifier.update.current)} → ${chalk.green(notifier.update.latest)}
|
|
29
|
+
|
|
30
|
+
To upgrade the DBOS Cloud CLI to the latest version, run the following command:
|
|
31
|
+
${chalk.cyan("`npm i --save-dev @dbos-inc/dbos-cloud@latest`")}
|
|
32
|
+
|
|
33
|
+
${chalk.yellow("-----------------------------------------------------------------------------------------")}`);
|
|
34
|
+
}
|
|
35
|
+
const program = new Command();
|
|
17
36
|
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
18
|
-
const packageJson = require('../../../package.json');
|
|
19
37
|
program.version(packageJson.version);
|
|
20
38
|
/////////////////////
|
|
21
39
|
/* AUTHENTICATION */
|
|
@@ -24,7 +42,7 @@ program
|
|
|
24
42
|
.command('login')
|
|
25
43
|
.description('Log in to DBOS cloud')
|
|
26
44
|
.action(async () => {
|
|
27
|
-
const exitCode = await
|
|
45
|
+
const exitCode = await login(DBOSCloudHost);
|
|
28
46
|
process.exit(exitCode);
|
|
29
47
|
});
|
|
30
48
|
program
|
|
@@ -32,15 +50,15 @@ program
|
|
|
32
50
|
.description('Register a user with DBOS cloud')
|
|
33
51
|
.requiredOption('-u, --username <string>', 'Username')
|
|
34
52
|
.action(async (options) => {
|
|
35
|
-
const exitCode = await
|
|
53
|
+
const exitCode = await registerUser(options.username, DBOSCloudHost);
|
|
36
54
|
process.exit(exitCode);
|
|
37
55
|
});
|
|
38
56
|
program
|
|
39
57
|
.command('logout')
|
|
40
58
|
.description('Log out of DBOS cloud')
|
|
41
59
|
.action(() => {
|
|
42
|
-
if (
|
|
43
|
-
|
|
60
|
+
if (credentialsExist()) {
|
|
61
|
+
deleteCredentials();
|
|
44
62
|
}
|
|
45
63
|
process.exit(0);
|
|
46
64
|
});
|
|
@@ -58,21 +76,21 @@ applicationCommands
|
|
|
58
76
|
.description('Register this application')
|
|
59
77
|
.requiredOption('-d, --database <string>', 'Specify a Postgres database instance for this application')
|
|
60
78
|
.action(async (options) => {
|
|
61
|
-
const exitCode = await
|
|
79
|
+
const exitCode = await registerApp(options.database, DBOSCloudHost);
|
|
62
80
|
process.exit(exitCode);
|
|
63
81
|
});
|
|
64
82
|
applicationCommands
|
|
65
83
|
.command('update')
|
|
66
84
|
.description('Update this application')
|
|
67
85
|
.action(async () => {
|
|
68
|
-
const exitCode = await
|
|
86
|
+
const exitCode = await updateApp(DBOSCloudHost);
|
|
69
87
|
process.exit(exitCode);
|
|
70
88
|
});
|
|
71
89
|
applicationCommands
|
|
72
90
|
.command('deploy')
|
|
73
91
|
.description('Deploy this application to the cloud')
|
|
74
92
|
.action(async () => {
|
|
75
|
-
const exitCode = await
|
|
93
|
+
const exitCode = await deployAppCode(DBOSCloudHost);
|
|
76
94
|
process.exit(exitCode);
|
|
77
95
|
});
|
|
78
96
|
applicationCommands
|
|
@@ -80,7 +98,7 @@ applicationCommands
|
|
|
80
98
|
.description('Delete this application')
|
|
81
99
|
.argument('[string]', 'application name')
|
|
82
100
|
.action(async (appName) => {
|
|
83
|
-
const exitCode = await
|
|
101
|
+
const exitCode = await deleteApp(DBOSCloudHost, appName);
|
|
84
102
|
process.exit(exitCode);
|
|
85
103
|
});
|
|
86
104
|
applicationCommands
|
|
@@ -88,7 +106,7 @@ applicationCommands
|
|
|
88
106
|
.description('List all applications')
|
|
89
107
|
.option('--json', 'Emit JSON output')
|
|
90
108
|
.action(async (options) => {
|
|
91
|
-
const exitCode = await
|
|
109
|
+
const exitCode = await listApps(DBOSCloudHost, options.json);
|
|
92
110
|
process.exit(exitCode);
|
|
93
111
|
});
|
|
94
112
|
applicationCommands
|
|
@@ -97,7 +115,7 @@ applicationCommands
|
|
|
97
115
|
.argument('[string]', 'application name')
|
|
98
116
|
.option('--json', 'Emit JSON output')
|
|
99
117
|
.action(async (appName, options) => {
|
|
100
|
-
const exitCode = await
|
|
118
|
+
const exitCode = await getAppInfo(DBOSCloudHost, options.json, appName);
|
|
101
119
|
process.exit(exitCode);
|
|
102
120
|
});
|
|
103
121
|
applicationCommands
|
|
@@ -105,7 +123,7 @@ applicationCommands
|
|
|
105
123
|
.description("Print this application's logs")
|
|
106
124
|
.option('-l, --last <integer>', 'How far back to query, in seconds from current time. By default, we retrieve all data', parseInt)
|
|
107
125
|
.action(async (options) => {
|
|
108
|
-
const exitCode = await
|
|
126
|
+
const exitCode = await getAppLogs(DBOSCloudHost, options.last);
|
|
109
127
|
process.exit(exitCode);
|
|
110
128
|
});
|
|
111
129
|
//////////////////////////////////
|
|
@@ -116,7 +134,7 @@ const databaseCommands = program
|
|
|
116
134
|
.alias('databases')
|
|
117
135
|
.alias('db')
|
|
118
136
|
.description('Manage Postgres database instances');
|
|
119
|
-
const prompt = (
|
|
137
|
+
const prompt = promptSync({ sigint: true });
|
|
120
138
|
databaseCommands
|
|
121
139
|
.command('provision')
|
|
122
140
|
.description("Provision a Postgres database instance")
|
|
@@ -127,7 +145,7 @@ databaseCommands
|
|
|
127
145
|
if (!options.password) {
|
|
128
146
|
options.password = prompt('Database Password: ', { echo: '*' });
|
|
129
147
|
}
|
|
130
|
-
const exitCode = await
|
|
148
|
+
const exitCode = await createUserDb(DBOSCloudHost, dbname, options.username, options.password, true);
|
|
131
149
|
process.exit(exitCode);
|
|
132
150
|
}));
|
|
133
151
|
databaseCommands
|
|
@@ -136,7 +154,7 @@ databaseCommands
|
|
|
136
154
|
.argument('<name>', 'database instance name')
|
|
137
155
|
.option('--json', 'Emit JSON output')
|
|
138
156
|
.action((async (dbname, options) => {
|
|
139
|
-
const exitCode = await
|
|
157
|
+
const exitCode = await getUserDb(DBOSCloudHost, dbname, options.json);
|
|
140
158
|
process.exit(exitCode);
|
|
141
159
|
}));
|
|
142
160
|
databaseCommands
|
|
@@ -144,7 +162,7 @@ databaseCommands
|
|
|
144
162
|
.description("List all your Postgres database instances")
|
|
145
163
|
.option('--json', 'Emit JSON output')
|
|
146
164
|
.action((async (options) => {
|
|
147
|
-
const exitCode = await
|
|
165
|
+
const exitCode = await listUserDB(DBOSCloudHost, options.json);
|
|
148
166
|
process.exit(exitCode);
|
|
149
167
|
}));
|
|
150
168
|
databaseCommands
|
|
@@ -156,7 +174,7 @@ databaseCommands
|
|
|
156
174
|
if (!options.password) {
|
|
157
175
|
options.password = prompt('Database Password: ', { echo: '*' });
|
|
158
176
|
}
|
|
159
|
-
const exitCode = await
|
|
177
|
+
const exitCode = await resetDBCredentials(DBOSCloudHost, dbName, options.password);
|
|
160
178
|
process.exit(exitCode);
|
|
161
179
|
}));
|
|
162
180
|
databaseCommands
|
|
@@ -164,7 +182,7 @@ databaseCommands
|
|
|
164
182
|
.description("Destroy a Postgres database instance")
|
|
165
183
|
.argument('<name>', 'database instance name')
|
|
166
184
|
.action((async (dbname) => {
|
|
167
|
-
const exitCode = await
|
|
185
|
+
const exitCode = await deleteUserDb(DBOSCloudHost, dbname);
|
|
168
186
|
process.exit(exitCode);
|
|
169
187
|
}));
|
|
170
188
|
/////////////////////
|
|
@@ -177,14 +195,14 @@ dashboardCommands
|
|
|
177
195
|
.command('launch')
|
|
178
196
|
.description('Deploy the Monitoring Dashboard')
|
|
179
197
|
.action(async () => {
|
|
180
|
-
const exitCode = await
|
|
198
|
+
const exitCode = await launchDashboard(DBOSCloudHost);
|
|
181
199
|
process.exit(exitCode);
|
|
182
200
|
});
|
|
183
201
|
dashboardCommands
|
|
184
202
|
.command('url')
|
|
185
203
|
.description('Get the URL of your Monitoring Dashboard')
|
|
186
204
|
.action(async () => {
|
|
187
|
-
const exitCode = await
|
|
205
|
+
const exitCode = await getDashboardURL(DBOSCloudHost);
|
|
188
206
|
process.exit(exitCode);
|
|
189
207
|
});
|
|
190
208
|
program.parse(process.argv);
|
package/dist/cli.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cloudutils.d.ts","sourceRoot":"","sources":["../cloudutils.ts"],"names":[],"mappings":";AAEA,OAAO,EAAoC,MAAM,EAAE,MAAM,SAAS,CAAC;AAEnE,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAInC,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,eAAO,MAAM,kBAAkB,qBAAqB,CAAC;AACrD,eAAO,MAAM,aAAa,QAA8C,CAAC;AACzE,eAAO,MAAM,WAAW,UAAU,CAAC;AAEnC,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,GAAE,OAAe,GAAG,MAAM,GAAG,SAAS,CAYnG;AAGD,wBAAgB,SAAS,IAAI,MAAM,CASlC;AA+BD,wBAAgB,mBAAmB,IAAI,oBAAoB,CAgB1D;AAED,wBAAgB,gBAAgB,IAAI,OAAO,CAE1C;AAED,wBAAgB,iBAAiB,SAEhC;AAED,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,oBAAoB,QAGjE;AAGD,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE,MAAM,EAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAkBhF;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,GAAE,cAAuB,GAAG,MAAM,GAAG,MAAM,CAa9F;AAED,eAAO,MAAM,KAAK,OAAQ,MAAM,qBAA0C,CAAC;AAE3E,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AAGrC,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAEhE;AAED,UAAU,qBAAqB;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,qBAAqB,CAKlF;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,UAAU,QAI3D"}
|
|
@@ -1,20 +1,14 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
const
|
|
8
|
-
const
|
|
9
|
-
|
|
10
|
-
const jsonwebtoken_1 = __importDefault(require("jsonwebtoken"));
|
|
11
|
-
const node_path_1 = __importDefault(require("node:path"));
|
|
12
|
-
exports.dbosConfigFilePath = "dbos-config.yaml";
|
|
13
|
-
exports.DBOSCloudHost = process.env.DBOS_DOMAIN || "cloud.dbos.dev";
|
|
14
|
-
exports.dbosEnvPath = ".dbos";
|
|
15
|
-
function retrieveApplicationName(logger, silent = false) {
|
|
1
|
+
import { execSync, spawn } from 'child_process';
|
|
2
|
+
import { transports, createLogger, format } from "winston";
|
|
3
|
+
import fs from "fs";
|
|
4
|
+
import jwt from 'jsonwebtoken';
|
|
5
|
+
import path from "node:path";
|
|
6
|
+
export const dbosConfigFilePath = "dbos-config.yaml";
|
|
7
|
+
export const DBOSCloudHost = process.env.DBOS_DOMAIN || "cloud.dbos.dev";
|
|
8
|
+
export const dbosEnvPath = ".dbos";
|
|
9
|
+
export function retrieveApplicationName(logger, silent = false) {
|
|
16
10
|
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
17
|
-
const packageJson = require(
|
|
11
|
+
const packageJson = require(path.join(process.cwd(), 'package.json'));
|
|
18
12
|
const appName = packageJson.name;
|
|
19
13
|
if (appName === undefined) {
|
|
20
14
|
logger.error("Error: cannot find a valid package.json file. Please run this command in an application root directory.");
|
|
@@ -25,18 +19,16 @@ function retrieveApplicationName(logger, silent = false) {
|
|
|
25
19
|
}
|
|
26
20
|
return appName;
|
|
27
21
|
}
|
|
28
|
-
exports.retrieveApplicationName = retrieveApplicationName;
|
|
29
22
|
// FIXME: we should have a global instance of the logger created in cli.ts
|
|
30
|
-
function getLogger() {
|
|
23
|
+
export function getLogger() {
|
|
31
24
|
const winstonTransports = [];
|
|
32
|
-
winstonTransports.push(new
|
|
25
|
+
winstonTransports.push(new transports.Console({
|
|
33
26
|
format: consoleFormat,
|
|
34
27
|
level: "info",
|
|
35
28
|
}));
|
|
36
|
-
return
|
|
29
|
+
return createLogger({ transports: winstonTransports });
|
|
37
30
|
}
|
|
38
|
-
|
|
39
|
-
const consoleFormat = winston_1.format.combine(winston_1.format.errors({ stack: true }), winston_1.format.timestamp(), winston_1.format.colorize(), winston_1.format.printf((info) => {
|
|
31
|
+
const consoleFormat = format.combine(format.errors({ stack: true }), format.timestamp(), format.colorize(), format.printf((info) => {
|
|
40
32
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
41
33
|
const { timestamp, level, message, stack } = info;
|
|
42
34
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-assignment
|
|
@@ -49,7 +41,7 @@ const consoleFormat = winston_1.format.combine(winston_1.format.errors({ stack:
|
|
|
49
41
|
}));
|
|
50
42
|
function isTokenExpired(token) {
|
|
51
43
|
try {
|
|
52
|
-
const { exp } =
|
|
44
|
+
const { exp } = jwt.decode(token);
|
|
53
45
|
if (!exp)
|
|
54
46
|
return false;
|
|
55
47
|
return Date.now() >= exp * 1000;
|
|
@@ -58,13 +50,13 @@ function isTokenExpired(token) {
|
|
|
58
50
|
return true;
|
|
59
51
|
}
|
|
60
52
|
}
|
|
61
|
-
function getCloudCredentials() {
|
|
53
|
+
export function getCloudCredentials() {
|
|
62
54
|
const logger = getLogger();
|
|
63
55
|
if (!credentialsExist()) {
|
|
64
56
|
logger.error("Error: not logged in");
|
|
65
57
|
process.exit(1);
|
|
66
58
|
}
|
|
67
|
-
const userCredentials = JSON.parse(
|
|
59
|
+
const userCredentials = JSON.parse(fs.readFileSync(`./${dbosEnvPath}/credentials`).toString("utf-8"));
|
|
68
60
|
const credentials = {
|
|
69
61
|
userName: userCredentials.userName,
|
|
70
62
|
token: userCredentials.token.replace(/\r|\n/g, ""), // Trim the trailing /r /n.
|
|
@@ -75,25 +67,21 @@ function getCloudCredentials() {
|
|
|
75
67
|
}
|
|
76
68
|
return credentials;
|
|
77
69
|
}
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
return fs_1.default.existsSync(`./${exports.dbosEnvPath}/credentials`);
|
|
70
|
+
export function credentialsExist() {
|
|
71
|
+
return fs.existsSync(`./${dbosEnvPath}/credentials`);
|
|
81
72
|
}
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
fs_1.default.unlinkSync(`./${exports.dbosEnvPath}/credentials`);
|
|
73
|
+
export function deleteCredentials() {
|
|
74
|
+
fs.unlinkSync(`./${dbosEnvPath}/credentials`);
|
|
85
75
|
}
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
(
|
|
89
|
-
fs_1.default.writeFileSync(`${exports.dbosEnvPath}/credentials`, JSON.stringify(credentials), "utf-8");
|
|
76
|
+
export function writeCredentials(credentials) {
|
|
77
|
+
execSync(`mkdir -p ${dbosEnvPath}`);
|
|
78
|
+
fs.writeFileSync(`${dbosEnvPath}/credentials`, JSON.stringify(credentials), "utf-8");
|
|
90
79
|
}
|
|
91
|
-
exports.writeCredentials = writeCredentials;
|
|
92
80
|
// Run a command, streaming its output to stdout
|
|
93
|
-
function runCommand(command, args = []) {
|
|
81
|
+
export function runCommand(command, args = []) {
|
|
94
82
|
return new Promise((resolve, reject) => {
|
|
95
83
|
const stdio = 'inherit';
|
|
96
|
-
const process =
|
|
84
|
+
const process = spawn(command, args, { stdio });
|
|
97
85
|
process.on('close', (code) => {
|
|
98
86
|
if (code === 0) {
|
|
99
87
|
resolve(code);
|
|
@@ -107,10 +95,9 @@ function runCommand(command, args = []) {
|
|
|
107
95
|
});
|
|
108
96
|
});
|
|
109
97
|
}
|
|
110
|
-
|
|
111
|
-
function checkReadFile(path, encoding = "utf8") {
|
|
98
|
+
export function checkReadFile(path, encoding = "utf8") {
|
|
112
99
|
// First, check the file
|
|
113
|
-
|
|
100
|
+
fs.stat(path, (error, stats) => {
|
|
114
101
|
if (error) {
|
|
115
102
|
throw new Error(`checking on ${path}. ${error.code}: ${error.errno}`);
|
|
116
103
|
}
|
|
@@ -119,27 +106,22 @@ function checkReadFile(path, encoding = "utf8") {
|
|
|
119
106
|
}
|
|
120
107
|
});
|
|
121
108
|
// Then, read its content
|
|
122
|
-
const fileContent =
|
|
109
|
+
const fileContent = fs.readFileSync(path, { encoding });
|
|
123
110
|
return fileContent;
|
|
124
111
|
}
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
function createDirectory(path) {
|
|
129
|
-
return fs_1.default.mkdirSync(path, { recursive: true });
|
|
112
|
+
export const sleep = (ms) => new Promise((r) => setTimeout(r, ms));
|
|
113
|
+
export function createDirectory(path) {
|
|
114
|
+
return fs.mkdirSync(path, { recursive: true });
|
|
130
115
|
}
|
|
131
|
-
|
|
132
|
-
function isCloudAPIErrorResponse(obj) {
|
|
116
|
+
export function isCloudAPIErrorResponse(obj) {
|
|
133
117
|
return typeof obj === 'object' && obj !== null &&
|
|
134
118
|
'message' in obj && typeof obj['message'] === 'string' &&
|
|
135
119
|
'statusCode' in obj && typeof obj['statusCode'] === 'number' &&
|
|
136
120
|
'requestID' in obj && typeof obj['requestID'] === 'string';
|
|
137
121
|
}
|
|
138
|
-
|
|
139
|
-
function handleAPIErrors(label, e) {
|
|
122
|
+
export function handleAPIErrors(label, e) {
|
|
140
123
|
const logger = getLogger();
|
|
141
124
|
const resp = e.response?.data;
|
|
142
125
|
logger.error(`[${resp.requestID}] ${label}: ${resp.message}.`);
|
|
143
126
|
}
|
|
144
|
-
exports.handleAPIErrors = handleAPIErrors;
|
|
145
127
|
//# sourceMappingURL=cloudutils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cloudutils.js","sourceRoot":"","sources":["../cloudutils.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dashboards.d.ts","sourceRoot":"","sources":["../dashboards.ts"],"names":[],"mappings":"AAGA,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAyBnE;AAED,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAwBnE"}
|
|
@@ -1,55 +1,55 @@
|
|
|
1
|
-
import axios
|
|
2
|
-
import { getLogger, getCloudCredentials, isCloudAPIErrorResponse, handleAPIErrors } from "./cloudutils";
|
|
3
|
-
|
|
4
|
-
export async function launchDashboard(host: string): Promise<number> {
|
|
1
|
+
import axios from "axios";
|
|
2
|
+
import { getLogger, getCloudCredentials, isCloudAPIErrorResponse, handleAPIErrors } from "./cloudutils.js";
|
|
3
|
+
export async function launchDashboard(host) {
|
|
5
4
|
const logger = getLogger();
|
|
6
5
|
const userCredentials = getCloudCredentials();
|
|
7
6
|
const bearerToken = "Bearer " + userCredentials.token;
|
|
8
|
-
try{
|
|
9
|
-
const res = await axios.put(`https://${host}/v1alpha1/${userCredentials.userName}/dashboard`,
|
|
10
|
-
{},
|
|
11
|
-
{
|
|
7
|
+
try {
|
|
8
|
+
const res = await axios.put(`https://${host}/v1alpha1/${userCredentials.userName}/dashboard`, {}, {
|
|
12
9
|
headers: {
|
|
13
10
|
"Content-Type": "application/json",
|
|
14
11
|
Authorization: bearerToken,
|
|
15
12
|
}
|
|
16
13
|
});
|
|
17
|
-
logger.info(`Dashboard ready at ${res.data}`)
|
|
18
|
-
return 0
|
|
19
|
-
}
|
|
14
|
+
logger.info(`Dashboard ready at ${res.data}`);
|
|
15
|
+
return 0;
|
|
16
|
+
}
|
|
17
|
+
catch (e) {
|
|
20
18
|
const errorLabel = `Failed to initialize dashboard`;
|
|
21
|
-
const axiosError = e
|
|
19
|
+
const axiosError = e;
|
|
22
20
|
if (isCloudAPIErrorResponse(axiosError.response?.data)) {
|
|
23
21
|
handleAPIErrors(errorLabel, axiosError);
|
|
24
|
-
}
|
|
25
|
-
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
logger.error(`${errorLabel}: ${e.message}`);
|
|
26
25
|
}
|
|
27
26
|
}
|
|
28
27
|
return 1;
|
|
29
28
|
}
|
|
30
|
-
|
|
31
|
-
export async function getDashboardURL(host: string): Promise<number> {
|
|
29
|
+
export async function getDashboardURL(host) {
|
|
32
30
|
const logger = getLogger();
|
|
33
31
|
const userCredentials = getCloudCredentials();
|
|
34
32
|
const bearerToken = "Bearer " + userCredentials.token;
|
|
35
33
|
try {
|
|
36
|
-
const res = await axios.get(`https://${host}/v1alpha1/${userCredentials.userName}/dashboard`,
|
|
37
|
-
{
|
|
34
|
+
const res = await axios.get(`https://${host}/v1alpha1/${userCredentials.userName}/dashboard`, {
|
|
38
35
|
headers: {
|
|
39
36
|
"Content-Type": "application/json",
|
|
40
37
|
Authorization: bearerToken,
|
|
41
38
|
}
|
|
42
39
|
});
|
|
43
|
-
logger.info(`Dashboard URL is ${res.data}`)
|
|
44
|
-
return 0
|
|
45
|
-
}
|
|
40
|
+
logger.info(`Dashboard URL is ${res.data}`);
|
|
41
|
+
return 0;
|
|
42
|
+
}
|
|
43
|
+
catch (e) {
|
|
46
44
|
const errorLabel = `Failed to retrieve URL`;
|
|
47
|
-
const axiosError = e
|
|
45
|
+
const axiosError = e;
|
|
48
46
|
if (isCloudAPIErrorResponse(axiosError.response?.data)) {
|
|
49
47
|
handleAPIErrors(errorLabel, axiosError);
|
|
50
|
-
}
|
|
51
|
-
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
logger.error(`${errorLabel}: ${e.message}`);
|
|
52
51
|
}
|
|
53
52
|
}
|
|
54
53
|
return 1;
|
|
55
54
|
}
|
|
55
|
+
//# sourceMappingURL=dashboards.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dashboards.js","sourceRoot":"","sources":["../dashboards.ts"],"names":[],"mappings":"AAAA,OAAO,KAAqB,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAE3G,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,IAAY;IAC9C,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,eAAe,GAAG,mBAAmB,EAAE,CAAC;IAC9C,MAAM,WAAW,GAAG,SAAS,GAAG,eAAe,CAAC,KAAK,CAAC;IACtD,IAAG,CAAC;QACA,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,WAAW,IAAI,aAAa,eAAe,CAAC,QAAQ,YAAY,EAC5F,EAAE,EACF;YACI,OAAO,EAAE;gBACL,cAAc,EAAE,kBAAkB;gBAClC,aAAa,EAAE,WAAW;aAC7B;SACJ,CAAC,CAAC;QACH,MAAM,CAAC,IAAI,CAAC,sBAAsB,GAAG,CAAC,IAAI,EAAE,CAAC,CAAA;QAC7C,OAAO,CAAC,CAAA;IACZ,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACT,MAAM,UAAU,GAAG,gCAAgC,CAAC;QACpD,MAAM,UAAU,GAAG,CAAe,CAAC;QACnC,IAAI,uBAAuB,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC;YACrD,eAAe,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QAC5C,CAAC;aAAM,CAAC;YACJ,MAAM,CAAC,KAAK,CAAC,GAAG,UAAU,KAAM,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;QAC3D,CAAC;IACL,CAAC;IACD,OAAO,CAAC,CAAC;AACb,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,IAAY;IAC9C,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,eAAe,GAAG,mBAAmB,EAAE,CAAC;IAC9C,MAAM,WAAW,GAAG,SAAS,GAAG,eAAe,CAAC,KAAK,CAAC;IACtD,IAAI,CAAC;QACD,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,WAAW,IAAI,aAAa,eAAe,CAAC,QAAQ,YAAY,EAC5F;YACI,OAAO,EAAE;gBACL,cAAc,EAAE,kBAAkB;gBAClC,aAAa,EAAE,WAAW;aAC7B;SACJ,CAAC,CAAC;QACH,MAAM,CAAC,IAAI,CAAC,oBAAoB,GAAG,CAAC,IAAI,EAAE,CAAC,CAAA;QAC3C,OAAO,CAAC,CAAA;IACZ,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACT,MAAM,UAAU,GAAG,wBAAwB,CAAC;QAC5C,MAAM,UAAU,GAAG,CAAe,CAAC;QACnC,IAAI,uBAAuB,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC;YACrD,eAAe,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QAC5C,CAAC;aAAM,CAAC;YACJ,MAAM,CAAC,KAAK,CAAC,GAAG,UAAU,KAAM,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;QAC3D,CAAC;IACL,CAAC;IACD,OAAO,CAAC,CAAC;AACb,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../login.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAqDjC,wBAAsB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAmDzE;AAED,wBAAsB,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAmCzD"}
|
|
@@ -1,19 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.login = exports.authenticate = void 0;
|
|
7
|
-
const axios_1 = __importDefault(require("axios"));
|
|
8
|
-
const jsonwebtoken_1 = __importDefault(require("jsonwebtoken"));
|
|
9
|
-
const jwks_rsa_1 = __importDefault(require("jwks-rsa"));
|
|
10
|
-
const cloudutils_1 = require("./cloudutils");
|
|
1
|
+
import axios from "axios";
|
|
2
|
+
import jwt from 'jsonwebtoken';
|
|
3
|
+
import jwksClient from 'jwks-rsa';
|
|
4
|
+
import { getLogger, handleAPIErrors, isCloudAPIErrorResponse, sleep, writeCredentials } from "./cloudutils.js";
|
|
11
5
|
const DBOSCloudHost = process.env.DBOS_DOMAIN || "cloud.dbos.dev";
|
|
12
6
|
const productionEnvironment = DBOSCloudHost === "cloud.dbos.dev";
|
|
13
7
|
const Auth0Domain = productionEnvironment ? 'login.dbos.dev' : 'dbos-inc.us.auth0.com';
|
|
14
8
|
const DBOSClientID = productionEnvironment ? '6p7Sjxf13cyLMkdwn14MxlH7JdhILled' : 'G38fLmVErczEo9ioCFjVIHea6yd0qMZu';
|
|
15
9
|
const DBOSCloudIdentifier = 'dbos-cloud-api';
|
|
16
|
-
const client = (
|
|
10
|
+
const client = jwksClient({
|
|
17
11
|
jwksUri: `https://${Auth0Domain}/.well-known/jwks.json`
|
|
18
12
|
});
|
|
19
13
|
async function getSigningKey(kid) {
|
|
@@ -21,13 +15,13 @@ async function getSigningKey(kid) {
|
|
|
21
15
|
return key.getPublicKey();
|
|
22
16
|
}
|
|
23
17
|
async function verifyToken(token) {
|
|
24
|
-
const decoded =
|
|
18
|
+
const decoded = jwt.decode(token, { complete: true });
|
|
25
19
|
if (!decoded || typeof decoded === 'string' || !decoded.header.kid) {
|
|
26
20
|
throw new Error('Invalid token');
|
|
27
21
|
}
|
|
28
22
|
const signingKey = await getSigningKey(decoded.header.kid);
|
|
29
23
|
return new Promise((resolve, reject) => {
|
|
30
|
-
|
|
24
|
+
jwt.verify(token, signingKey, { algorithms: ['RS256'] }, (err, verifiedToken) => {
|
|
31
25
|
if (err) {
|
|
32
26
|
reject(err);
|
|
33
27
|
}
|
|
@@ -38,7 +32,7 @@ async function verifyToken(token) {
|
|
|
38
32
|
});
|
|
39
33
|
}
|
|
40
34
|
// Redirect a user to auth0 to authenticate, retrieving a JWT bearer token
|
|
41
|
-
async function authenticate(logger) {
|
|
35
|
+
export async function authenticate(logger) {
|
|
42
36
|
logger.info(`Please authenticate with DBOS Cloud!`);
|
|
43
37
|
const deviceCodeRequest = {
|
|
44
38
|
method: 'POST',
|
|
@@ -48,7 +42,7 @@ async function authenticate(logger) {
|
|
|
48
42
|
};
|
|
49
43
|
let deviceCodeResponse;
|
|
50
44
|
try {
|
|
51
|
-
const response = await
|
|
45
|
+
const response = await axios.request(deviceCodeRequest);
|
|
52
46
|
deviceCodeResponse = response.data;
|
|
53
47
|
}
|
|
54
48
|
catch (e) {
|
|
@@ -73,9 +67,9 @@ async function authenticate(logger) {
|
|
|
73
67
|
let elapsedTimeSec = 0;
|
|
74
68
|
while (elapsedTimeSec < deviceCodeResponse.expires_in) {
|
|
75
69
|
try {
|
|
76
|
-
await
|
|
70
|
+
await sleep(deviceCodeResponse.interval * 1000);
|
|
77
71
|
elapsedTimeSec += deviceCodeResponse.interval;
|
|
78
|
-
const response = await
|
|
72
|
+
const response = await axios.request(tokenRequest);
|
|
79
73
|
tokenResponse = response.data;
|
|
80
74
|
break;
|
|
81
75
|
}
|
|
@@ -89,16 +83,15 @@ async function authenticate(logger) {
|
|
|
89
83
|
await verifyToken(tokenResponse.access_token);
|
|
90
84
|
return tokenResponse.access_token;
|
|
91
85
|
}
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
const logger = (0, cloudutils_1.getLogger)();
|
|
86
|
+
export async function login(host) {
|
|
87
|
+
const logger = getLogger();
|
|
95
88
|
const token = await authenticate(logger);
|
|
96
89
|
if (token === null) {
|
|
97
90
|
return 1;
|
|
98
91
|
}
|
|
99
92
|
const bearerToken = "Bearer " + token;
|
|
100
93
|
try {
|
|
101
|
-
const response = await
|
|
94
|
+
const response = await axios.get(`https://${host}/v1alpha1/user`, {
|
|
102
95
|
headers: {
|
|
103
96
|
"Content-Type": "application/json",
|
|
104
97
|
Authorization: bearerToken,
|
|
@@ -109,14 +102,14 @@ async function login(host) {
|
|
|
109
102
|
token: token,
|
|
110
103
|
userName: username,
|
|
111
104
|
};
|
|
112
|
-
|
|
105
|
+
writeCredentials(credentials);
|
|
113
106
|
logger.info(`Successfully logged in as ${credentials.userName}!`);
|
|
114
107
|
}
|
|
115
108
|
catch (e) {
|
|
116
109
|
const errorLabel = `Failed to login`;
|
|
117
110
|
const axiosError = e;
|
|
118
|
-
if (
|
|
119
|
-
|
|
111
|
+
if (isCloudAPIErrorResponse(axiosError.response?.data)) {
|
|
112
|
+
handleAPIErrors(errorLabel, axiosError);
|
|
120
113
|
}
|
|
121
114
|
else {
|
|
122
115
|
logger.error(`${errorLabel}: ${e.message}`);
|
|
@@ -125,5 +118,4 @@ async function login(host) {
|
|
|
125
118
|
}
|
|
126
119
|
return 0;
|
|
127
120
|
}
|
|
128
|
-
exports.login = login;
|
|
129
121
|
//# sourceMappingURL=login.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"login.js","sourceRoot":"","sources":["../login.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../register.ts"],"names":[],"mappings":"AAkBA,wBAAsB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAsElF"}
|