@liquidmetal-ai/raindrop 0.0.3 → 0.0.5
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 +116 -22
- package/dist/base-command.d.ts.map +1 -1
- package/dist/base-command.js +5 -7
- package/dist/commands/build/branch.d.ts +1 -0
- package/dist/commands/build/branch.d.ts.map +1 -1
- package/dist/commands/build/branch.js +12 -3
- package/dist/commands/build/deploy.d.ts +1 -0
- package/dist/commands/build/deploy.d.ts.map +1 -1
- package/dist/commands/build/deploy.js +43 -25
- package/dist/commands/build/env/get.d.ts.map +1 -1
- package/dist/commands/build/env/get.js +5 -2
- package/dist/commands/build/env/set.d.ts.map +1 -1
- package/dist/commands/build/env/set.js +5 -2
- package/dist/commands/build/list.d.ts.map +1 -1
- package/dist/commands/build/list.js +3 -1
- package/dist/commands/build/sandbox.d.ts +16 -0
- package/dist/commands/build/sandbox.d.ts.map +1 -0
- package/dist/commands/build/sandbox.js +54 -0
- package/dist/commands/build/start.js +2 -2
- package/dist/commands/build/stop.js +2 -2
- package/dist/commands/build/tools/check.d.ts +12 -0
- package/dist/commands/build/tools/check.d.ts.map +1 -0
- package/dist/commands/build/tools/check.js +19 -0
- package/dist/commands/build/tools/fmt.d.ts +12 -0
- package/dist/commands/build/tools/fmt.d.ts.map +1 -0
- package/dist/commands/build/tools/fmt.js +36 -0
- package/dist/commands/build/unsandbox.d.ts +16 -0
- package/dist/commands/build/unsandbox.d.ts.map +1 -0
- package/dist/commands/build/unsandbox.js +54 -0
- package/dist/commands/build/upload.d.ts.map +1 -1
- package/dist/commands/build/upload.js +1 -2
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/oclif.manifest.json +241 -2
- package/package.json +3 -2
- package/templates/handlers/actor/index.test.ts +5 -0
- package/templates/handlers/actor/index.ts.hbs +8 -0
- package/templates/handlers/http-service/index.test.ts +5 -0
- package/templates/handlers/http-service/index.ts.hbs +8 -0
- package/templates/handlers/queue-consumer/index.test.ts +5 -0
- package/templates/handlers/queue-consumer/index.ts.hbs +11 -0
- package/templates/handlers/r2-event-notification/index.test.ts +5 -0
- package/templates/handlers/r2-event-notification/index.ts.hbs +8 -0
- package/templates/init/package.json.hbs +23 -0
- package/templates/init/raindrop.manifest.hbs +3 -0
- package/templates/init/tsconfig.json +29 -0
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { Args, Flags } from '@oclif/core';
|
|
2
|
+
import { BaseCommand } from '../../base-command.js';
|
|
3
|
+
export default class Sandbox extends BaseCommand {
|
|
4
|
+
static args = {
|
|
5
|
+
versionId: Args.string({ char: 'v', description: 'version to sandbox', required: false }),
|
|
6
|
+
};
|
|
7
|
+
static description = 'mark a version as sandboxed in the Raindrop catalog';
|
|
8
|
+
static examples = [
|
|
9
|
+
`<%= config.bin %> <%= command.id %>
|
|
10
|
+
`,
|
|
11
|
+
];
|
|
12
|
+
static flags = {
|
|
13
|
+
impersonate: Flags.string({
|
|
14
|
+
char: 'i',
|
|
15
|
+
description: 'impersonate organization',
|
|
16
|
+
required: false,
|
|
17
|
+
hidden: true,
|
|
18
|
+
}),
|
|
19
|
+
rainbowAuthService: Flags.string({
|
|
20
|
+
default: 'https://liquidmetal.run/api/connect',
|
|
21
|
+
hidden: true,
|
|
22
|
+
env: 'LIQUIDMETAL_RAINBOW_AUTH_SERVICE',
|
|
23
|
+
}),
|
|
24
|
+
config: Flags.string({
|
|
25
|
+
default: '.raindrop/config.json',
|
|
26
|
+
hidden: true,
|
|
27
|
+
}),
|
|
28
|
+
manifest: Flags.string({ default: 'raindrop.manifest', description: 'project manifest' }),
|
|
29
|
+
};
|
|
30
|
+
async run() {
|
|
31
|
+
const { client: catalogService, userId, organizationId: defaultOrganizationId } = await this.catalogService();
|
|
32
|
+
const organizationId = this.flags.impersonate ?? defaultOrganizationId;
|
|
33
|
+
const config = await this.loadConfig();
|
|
34
|
+
const resp = await catalogService.setVersionSandboxStates({
|
|
35
|
+
userId,
|
|
36
|
+
organizationId,
|
|
37
|
+
versions: [
|
|
38
|
+
{
|
|
39
|
+
versionId: this.args.versionId || config.versionId,
|
|
40
|
+
isSandboxed: true,
|
|
41
|
+
},
|
|
42
|
+
],
|
|
43
|
+
});
|
|
44
|
+
for (const version of resp.success) {
|
|
45
|
+
this.log(`Set version ${version.versionId} as sandboxed.`);
|
|
46
|
+
}
|
|
47
|
+
for (const version of resp.failure) {
|
|
48
|
+
this.error(`Failed to set version ${version.versionId} as sandboxed.`);
|
|
49
|
+
}
|
|
50
|
+
if (resp.failure.length > 0) {
|
|
51
|
+
this.exit(1);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
@@ -54,8 +54,8 @@ Start a Raindrop application.
|
|
|
54
54
|
const resp = await catalogService.setApplicationActiveStates({
|
|
55
55
|
states: [
|
|
56
56
|
{
|
|
57
|
-
|
|
58
|
-
|
|
57
|
+
name: this.flags.application || appName,
|
|
58
|
+
versionId: this.flags.version || config.versionId,
|
|
59
59
|
isActive: true,
|
|
60
60
|
},
|
|
61
61
|
],
|
|
@@ -50,8 +50,8 @@ Stop a Raindrop application.
|
|
|
50
50
|
const resp = await catalogService.setApplicationActiveStates({
|
|
51
51
|
states: [
|
|
52
52
|
{
|
|
53
|
-
|
|
54
|
-
|
|
53
|
+
name: this.flags.application,
|
|
54
|
+
versionId: this.flags.version,
|
|
55
55
|
isActive: false,
|
|
56
56
|
},
|
|
57
57
|
],
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { BaseCommand } from '../../../base-command.js';
|
|
2
|
+
export default class Check extends BaseCommand<typeof Check> {
|
|
3
|
+
static args: {};
|
|
4
|
+
static description: string;
|
|
5
|
+
static examples: string[];
|
|
6
|
+
static flags: {
|
|
7
|
+
root: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
8
|
+
manifest: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
9
|
+
};
|
|
10
|
+
run(): Promise<void>;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=check.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../../../../src/commands/build/tools/check.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,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;;;MAQnB;IAEW,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAGlC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Flags } from '@oclif/core';
|
|
2
|
+
import { BaseCommand } from '../../../base-command.js';
|
|
3
|
+
export default class Check extends BaseCommand {
|
|
4
|
+
static args = {};
|
|
5
|
+
static description = 'validate a LiquidMetal.AI raindrop.manifest';
|
|
6
|
+
static examples = ['<%= config.bin %> <%= command.id %>'];
|
|
7
|
+
static flags = {
|
|
8
|
+
root: Flags.string({ char: 'r', description: 'root directory', required: false, default: process.cwd() }),
|
|
9
|
+
manifest: Flags.string({
|
|
10
|
+
char: 'm',
|
|
11
|
+
description: 'project manifest',
|
|
12
|
+
required: false,
|
|
13
|
+
default: 'raindrop.manifest',
|
|
14
|
+
}),
|
|
15
|
+
};
|
|
16
|
+
async run() {
|
|
17
|
+
await this.loadManifest();
|
|
18
|
+
}
|
|
19
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { BaseCommand } from '../../../base-command.js';
|
|
2
|
+
export default class Fmt extends BaseCommand<typeof Fmt> {
|
|
3
|
+
static args: {};
|
|
4
|
+
static description: string;
|
|
5
|
+
static examples: string[];
|
|
6
|
+
static flags: {
|
|
7
|
+
root: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
8
|
+
manifest: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
9
|
+
};
|
|
10
|
+
run(): Promise<void>;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=fmt.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fmt.d.ts","sourceRoot":"","sources":["../../../../src/commands/build/tools/fmt.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,MAAM,CAAC,OAAO,OAAO,GAAI,SAAQ,WAAW,CAAC,OAAO,GAAG,CAAC;IACtD,OAAgB,IAAI,KAAM;IAE1B,OAAgB,WAAW,SAA+C;IAE1E,OAAgB,QAAQ,WAA2C;IAEnE,OAAgB,KAAK;;;MAQnB;IAEW,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAiBlC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { Parser, Tokenizer, fmt } from '@liquidmetal-ai/drizzle/appify/parse';
|
|
2
|
+
import { Flags } from '@oclif/core';
|
|
3
|
+
import * as fs from 'node:fs/promises';
|
|
4
|
+
import * as path from 'node:path';
|
|
5
|
+
import { BaseCommand } from '../../../base-command.js';
|
|
6
|
+
export default class Fmt extends BaseCommand {
|
|
7
|
+
static args = {};
|
|
8
|
+
static description = 'format a LiquidMetal.AI raindrop.manifest';
|
|
9
|
+
static examples = ['<%= config.bin %> <%= command.id %>'];
|
|
10
|
+
static flags = {
|
|
11
|
+
root: Flags.string({ char: 'r', description: 'root directory', required: false, default: process.cwd() }),
|
|
12
|
+
manifest: Flags.string({
|
|
13
|
+
char: 'm',
|
|
14
|
+
description: 'project manifest',
|
|
15
|
+
required: false,
|
|
16
|
+
default: 'raindrop.manifest',
|
|
17
|
+
}),
|
|
18
|
+
};
|
|
19
|
+
async run() {
|
|
20
|
+
let manifestPath = this.flags.manifest;
|
|
21
|
+
if (this.flags.root) {
|
|
22
|
+
manifestPath = path.isAbsolute(this.flags.manifest)
|
|
23
|
+
? this.flags.manifest
|
|
24
|
+
: path.join(this.flags.root, this.flags.manifest);
|
|
25
|
+
}
|
|
26
|
+
const contents = await fs.readFile(manifestPath, 'utf-8');
|
|
27
|
+
const tokenizer = new Tokenizer(contents);
|
|
28
|
+
const parser = new Parser(tokenizer);
|
|
29
|
+
const ast = parser.parse();
|
|
30
|
+
if (parser.errors.length > 0) {
|
|
31
|
+
this.error('errors parsing manifest', { exit: 1 });
|
|
32
|
+
}
|
|
33
|
+
const formatted = fmt(ast);
|
|
34
|
+
await fs.writeFile(manifestPath, formatted);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { BaseCommand } from '../../base-command.js';
|
|
2
|
+
export default class Unsandbox extends BaseCommand<typeof Unsandbox> {
|
|
3
|
+
static args: {
|
|
4
|
+
versionId: import("@oclif/core/interfaces").Arg<string | undefined, Record<string, unknown>>;
|
|
5
|
+
};
|
|
6
|
+
static description: string;
|
|
7
|
+
static examples: string[];
|
|
8
|
+
static flags: {
|
|
9
|
+
impersonate: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
10
|
+
rainbowAuthService: 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
|
+
manifest: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
13
|
+
};
|
|
14
|
+
run(): Promise<void>;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=unsandbox.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unsandbox.d.ts","sourceRoot":"","sources":["../../../src/commands/build/unsandbox.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,WAAW,CAAC,OAAO,SAAS,CAAC;IAClE,MAAM,CAAC,IAAI;;MAET;IAEF,MAAM,CAAC,WAAW,SAA2D;IAE7E,MAAM,CAAC,QAAQ,WAGb;IAEF,MAAM,CAAC,KAAK;;;;;MAiBV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAyB3B"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { Args, Flags } from '@oclif/core';
|
|
2
|
+
import { BaseCommand } from '../../base-command.js';
|
|
3
|
+
export default class Unsandbox extends BaseCommand {
|
|
4
|
+
static args = {
|
|
5
|
+
versionId: Args.string({ char: 'v', description: 'version to sandbox', required: false }),
|
|
6
|
+
};
|
|
7
|
+
static description = 'mark a version as unsandboxed in the Raindrop catalog';
|
|
8
|
+
static examples = [
|
|
9
|
+
`<%= config.bin %> <%= command.id %>
|
|
10
|
+
`,
|
|
11
|
+
];
|
|
12
|
+
static flags = {
|
|
13
|
+
impersonate: Flags.string({
|
|
14
|
+
char: 'i',
|
|
15
|
+
description: 'impersonate organization',
|
|
16
|
+
required: false,
|
|
17
|
+
hidden: true,
|
|
18
|
+
}),
|
|
19
|
+
rainbowAuthService: Flags.string({
|
|
20
|
+
default: 'https://liquidmetal.run/api/connect',
|
|
21
|
+
hidden: true,
|
|
22
|
+
env: 'LIQUIDMETAL_RAINBOW_AUTH_SERVICE',
|
|
23
|
+
}),
|
|
24
|
+
config: Flags.string({
|
|
25
|
+
default: '.raindrop/config.json',
|
|
26
|
+
hidden: true,
|
|
27
|
+
}),
|
|
28
|
+
manifest: Flags.string({ default: 'raindrop.manifest', description: 'project manifest' }),
|
|
29
|
+
};
|
|
30
|
+
async run() {
|
|
31
|
+
const { client: catalogService, userId, organizationId: defaultOrganizationId } = await this.catalogService();
|
|
32
|
+
const organizationId = this.flags.impersonate ?? defaultOrganizationId;
|
|
33
|
+
const config = await this.loadConfig();
|
|
34
|
+
const resp = await catalogService.setVersionSandboxStates({
|
|
35
|
+
userId,
|
|
36
|
+
organizationId,
|
|
37
|
+
versions: [
|
|
38
|
+
{
|
|
39
|
+
versionId: this.args.versionId || config.versionId,
|
|
40
|
+
isSandboxed: false,
|
|
41
|
+
},
|
|
42
|
+
],
|
|
43
|
+
});
|
|
44
|
+
for (const version of resp.success) {
|
|
45
|
+
this.log(`Set version ${version.versionId} as unsandboxed.`);
|
|
46
|
+
}
|
|
47
|
+
for (const version of resp.failure) {
|
|
48
|
+
this.error(`Failed to set version ${version.versionId} as unsandboxed.`);
|
|
49
|
+
}
|
|
50
|
+
if (resp.failure.length > 0) {
|
|
51
|
+
this.exit(1);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upload.d.ts","sourceRoot":"","sources":["../../../src/commands/build/upload.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAGpD,MAAM,CAAC,OAAO,OAAO,MAAO,SAAQ,WAAW,CAAC,OAAO,MAAM,CAAC;IAC5D,OAAgB,IAAI,KAAM;IAE1B,OAAgB,WAAW,SAAiD;IAE5E,OAAgB,QAAQ,WAA2C;IAEnE,OAAgB,KAAK;;;;;;;;MAsBnB;IAEW,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"upload.d.ts","sourceRoot":"","sources":["../../../src/commands/build/upload.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAGpD,MAAM,CAAC,OAAO,OAAO,MAAO,SAAQ,WAAW,CAAC,OAAO,MAAM,CAAC;IAC5D,OAAgB,IAAI,KAAM;IAE1B,OAAgB,WAAW,SAAiD;IAE5E,OAAgB,QAAQ,WAA2C;IAEnE,OAAgB,KAAK;;;;;;;;MAsBnB;IAEW,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAwClC"}
|
|
@@ -35,7 +35,6 @@ export default class Upload extends BaseCommand {
|
|
|
35
35
|
};
|
|
36
36
|
async run() {
|
|
37
37
|
const apps = await this.loadManifest();
|
|
38
|
-
const srcDir = path.join(this.flags.root, 'src');
|
|
39
38
|
const buildDir = path.isAbsolute(this.flags.output)
|
|
40
39
|
? this.flags.output
|
|
41
40
|
: path.join(this.flags.root, this.flags.output);
|
|
@@ -61,7 +60,7 @@ export default class Upload extends BaseCommand {
|
|
|
61
60
|
}
|
|
62
61
|
// Per above, each application gets the same db bundle, which is
|
|
63
62
|
// boneheaded. src/db is also pretty arbitrary.
|
|
64
|
-
const dbBundle = new FileSystemBundle(path.join(
|
|
63
|
+
const dbBundle = new FileSystemBundle(path.join(this.flags.root, 'db'));
|
|
65
64
|
await catalogService.uploadBundle({
|
|
66
65
|
userId,
|
|
67
66
|
organizationId,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"root":["../src/base-command.ts","../src/build.test.ts","../src/build.ts","../src/codegen.test.ts","../src/codegen.ts","../src/config.test.ts","../src/config.ts","../src/index.test.ts","../src/index.ts","../src/commands/auth/list.ts","../src/commands/auth/login.ts","../src/commands/auth/logout.ts","../src/commands/auth/select.ts","../src/commands/build/branch.ts","../src/commands/build/delete.ts","../src/commands/build/deploy.ts","../src/commands/build/find.ts","../src/commands/build/generate.ts","../src/commands/build/init.ts","../src/commands/build/list.ts","../src/commands/build/start.ts","../src/commands/build/stop.ts","../src/commands/build/token.ts","../src/commands/build/upload.ts","../src/commands/build/validate.ts","../src/commands/build/env/get.ts","../src/commands/build/env/set.ts"],"version":"5.6.2"}
|
|
1
|
+
{"root":["../src/base-command.ts","../src/build.test.ts","../src/build.ts","../src/codegen.test.ts","../src/codegen.ts","../src/config.test.ts","../src/config.ts","../src/index.test.ts","../src/index.ts","../src/commands/auth/list.ts","../src/commands/auth/login.ts","../src/commands/auth/logout.ts","../src/commands/auth/select.ts","../src/commands/build/branch.ts","../src/commands/build/delete.ts","../src/commands/build/deploy.ts","../src/commands/build/find.ts","../src/commands/build/generate.ts","../src/commands/build/init.ts","../src/commands/build/list.ts","../src/commands/build/sandbox.ts","../src/commands/build/start.ts","../src/commands/build/stop.ts","../src/commands/build/token.ts","../src/commands/build/unsandbox.ts","../src/commands/build/upload.ts","../src/commands/build/validate.ts","../src/commands/build/env/get.ts","../src/commands/build/env/set.ts","../src/commands/build/tools/check.ts","../src/commands/build/tools/fmt.ts"],"version":"5.6.2"}
|
package/oclif.manifest.json
CHANGED
|
@@ -122,7 +122,7 @@
|
|
|
122
122
|
"args": {},
|
|
123
123
|
"description": "create a new branch in the Raindrop catalog",
|
|
124
124
|
"examples": [
|
|
125
|
-
"<%= config.bin %> <%= command.id %> .\
|
|
125
|
+
"<%= config.bin %> <%= command.id %> .\nCreated new branch 1234\n"
|
|
126
126
|
],
|
|
127
127
|
"flags": {
|
|
128
128
|
"previousVersionId": {
|
|
@@ -186,6 +186,13 @@
|
|
|
186
186
|
"hasDynamicHelp": false,
|
|
187
187
|
"multiple": false,
|
|
188
188
|
"type": "option"
|
|
189
|
+
},
|
|
190
|
+
"show": {
|
|
191
|
+
"description": "show the current branch",
|
|
192
|
+
"name": "show",
|
|
193
|
+
"required": false,
|
|
194
|
+
"allowNo": false,
|
|
195
|
+
"type": "boolean"
|
|
189
196
|
}
|
|
190
197
|
},
|
|
191
198
|
"hasDynamicHelp": false,
|
|
@@ -391,6 +398,14 @@
|
|
|
391
398
|
"hasDynamicHelp": false,
|
|
392
399
|
"multiple": false,
|
|
393
400
|
"type": "option"
|
|
401
|
+
},
|
|
402
|
+
"amend": {
|
|
403
|
+
"char": "a",
|
|
404
|
+
"description": "amend an existing application",
|
|
405
|
+
"name": "amend",
|
|
406
|
+
"required": false,
|
|
407
|
+
"allowNo": false,
|
|
408
|
+
"type": "boolean"
|
|
394
409
|
}
|
|
395
410
|
},
|
|
396
411
|
"hasDynamicHelp": false,
|
|
@@ -674,6 +689,72 @@
|
|
|
674
689
|
"list.js"
|
|
675
690
|
]
|
|
676
691
|
},
|
|
692
|
+
"build:sandbox": {
|
|
693
|
+
"aliases": [],
|
|
694
|
+
"args": {
|
|
695
|
+
"versionId": {
|
|
696
|
+
"description": "version to sandbox",
|
|
697
|
+
"name": "versionId",
|
|
698
|
+
"required": false
|
|
699
|
+
}
|
|
700
|
+
},
|
|
701
|
+
"description": "mark a version as sandboxed in the Raindrop catalog",
|
|
702
|
+
"examples": [
|
|
703
|
+
"<%= config.bin %> <%= command.id %>\n"
|
|
704
|
+
],
|
|
705
|
+
"flags": {
|
|
706
|
+
"impersonate": {
|
|
707
|
+
"char": "i",
|
|
708
|
+
"description": "impersonate organization",
|
|
709
|
+
"hidden": true,
|
|
710
|
+
"name": "impersonate",
|
|
711
|
+
"required": false,
|
|
712
|
+
"hasDynamicHelp": false,
|
|
713
|
+
"multiple": false,
|
|
714
|
+
"type": "option"
|
|
715
|
+
},
|
|
716
|
+
"rainbowAuthService": {
|
|
717
|
+
"env": "LIQUIDMETAL_RAINBOW_AUTH_SERVICE",
|
|
718
|
+
"hidden": true,
|
|
719
|
+
"name": "rainbowAuthService",
|
|
720
|
+
"default": "https://liquidmetal.run/api/connect",
|
|
721
|
+
"hasDynamicHelp": false,
|
|
722
|
+
"multiple": false,
|
|
723
|
+
"type": "option"
|
|
724
|
+
},
|
|
725
|
+
"config": {
|
|
726
|
+
"hidden": true,
|
|
727
|
+
"name": "config",
|
|
728
|
+
"default": ".raindrop/config.json",
|
|
729
|
+
"hasDynamicHelp": false,
|
|
730
|
+
"multiple": false,
|
|
731
|
+
"type": "option"
|
|
732
|
+
},
|
|
733
|
+
"manifest": {
|
|
734
|
+
"description": "project manifest",
|
|
735
|
+
"name": "manifest",
|
|
736
|
+
"default": "raindrop.manifest",
|
|
737
|
+
"hasDynamicHelp": false,
|
|
738
|
+
"multiple": false,
|
|
739
|
+
"type": "option"
|
|
740
|
+
}
|
|
741
|
+
},
|
|
742
|
+
"hasDynamicHelp": false,
|
|
743
|
+
"hiddenAliases": [],
|
|
744
|
+
"id": "build:sandbox",
|
|
745
|
+
"pluginAlias": "@liquidmetal-ai/raindrop",
|
|
746
|
+
"pluginName": "@liquidmetal-ai/raindrop",
|
|
747
|
+
"pluginType": "core",
|
|
748
|
+
"strict": true,
|
|
749
|
+
"enableJsonFlag": false,
|
|
750
|
+
"isESM": true,
|
|
751
|
+
"relativePath": [
|
|
752
|
+
"dist",
|
|
753
|
+
"commands",
|
|
754
|
+
"build",
|
|
755
|
+
"sandbox.js"
|
|
756
|
+
]
|
|
757
|
+
},
|
|
677
758
|
"build:start": {
|
|
678
759
|
"aliases": [],
|
|
679
760
|
"args": {},
|
|
@@ -848,6 +929,72 @@
|
|
|
848
929
|
"token.js"
|
|
849
930
|
]
|
|
850
931
|
},
|
|
932
|
+
"build:unsandbox": {
|
|
933
|
+
"aliases": [],
|
|
934
|
+
"args": {
|
|
935
|
+
"versionId": {
|
|
936
|
+
"description": "version to sandbox",
|
|
937
|
+
"name": "versionId",
|
|
938
|
+
"required": false
|
|
939
|
+
}
|
|
940
|
+
},
|
|
941
|
+
"description": "mark a version as unsandboxed in the Raindrop catalog",
|
|
942
|
+
"examples": [
|
|
943
|
+
"<%= config.bin %> <%= command.id %>\n"
|
|
944
|
+
],
|
|
945
|
+
"flags": {
|
|
946
|
+
"impersonate": {
|
|
947
|
+
"char": "i",
|
|
948
|
+
"description": "impersonate organization",
|
|
949
|
+
"hidden": true,
|
|
950
|
+
"name": "impersonate",
|
|
951
|
+
"required": false,
|
|
952
|
+
"hasDynamicHelp": false,
|
|
953
|
+
"multiple": false,
|
|
954
|
+
"type": "option"
|
|
955
|
+
},
|
|
956
|
+
"rainbowAuthService": {
|
|
957
|
+
"env": "LIQUIDMETAL_RAINBOW_AUTH_SERVICE",
|
|
958
|
+
"hidden": true,
|
|
959
|
+
"name": "rainbowAuthService",
|
|
960
|
+
"default": "https://liquidmetal.run/api/connect",
|
|
961
|
+
"hasDynamicHelp": false,
|
|
962
|
+
"multiple": false,
|
|
963
|
+
"type": "option"
|
|
964
|
+
},
|
|
965
|
+
"config": {
|
|
966
|
+
"hidden": true,
|
|
967
|
+
"name": "config",
|
|
968
|
+
"default": ".raindrop/config.json",
|
|
969
|
+
"hasDynamicHelp": false,
|
|
970
|
+
"multiple": false,
|
|
971
|
+
"type": "option"
|
|
972
|
+
},
|
|
973
|
+
"manifest": {
|
|
974
|
+
"description": "project manifest",
|
|
975
|
+
"name": "manifest",
|
|
976
|
+
"default": "raindrop.manifest",
|
|
977
|
+
"hasDynamicHelp": false,
|
|
978
|
+
"multiple": false,
|
|
979
|
+
"type": "option"
|
|
980
|
+
}
|
|
981
|
+
},
|
|
982
|
+
"hasDynamicHelp": false,
|
|
983
|
+
"hiddenAliases": [],
|
|
984
|
+
"id": "build:unsandbox",
|
|
985
|
+
"pluginAlias": "@liquidmetal-ai/raindrop",
|
|
986
|
+
"pluginName": "@liquidmetal-ai/raindrop",
|
|
987
|
+
"pluginType": "core",
|
|
988
|
+
"strict": true,
|
|
989
|
+
"enableJsonFlag": false,
|
|
990
|
+
"isESM": true,
|
|
991
|
+
"relativePath": [
|
|
992
|
+
"dist",
|
|
993
|
+
"commands",
|
|
994
|
+
"build",
|
|
995
|
+
"unsandbox.js"
|
|
996
|
+
]
|
|
997
|
+
},
|
|
851
998
|
"build:upload": {
|
|
852
999
|
"aliases": [],
|
|
853
1000
|
"args": {},
|
|
@@ -1202,7 +1349,99 @@
|
|
|
1202
1349
|
"env",
|
|
1203
1350
|
"set.js"
|
|
1204
1351
|
]
|
|
1352
|
+
},
|
|
1353
|
+
"build:tools:check": {
|
|
1354
|
+
"aliases": [],
|
|
1355
|
+
"args": {},
|
|
1356
|
+
"description": "validate a LiquidMetal.AI raindrop.manifest",
|
|
1357
|
+
"examples": [
|
|
1358
|
+
"<%= config.bin %> <%= command.id %>"
|
|
1359
|
+
],
|
|
1360
|
+
"flags": {
|
|
1361
|
+
"root": {
|
|
1362
|
+
"char": "r",
|
|
1363
|
+
"description": "root directory",
|
|
1364
|
+
"name": "root",
|
|
1365
|
+
"required": false,
|
|
1366
|
+
"default": "/Users/ian/liquidmetal/packages/raindrop",
|
|
1367
|
+
"hasDynamicHelp": false,
|
|
1368
|
+
"multiple": false,
|
|
1369
|
+
"type": "option"
|
|
1370
|
+
},
|
|
1371
|
+
"manifest": {
|
|
1372
|
+
"char": "m",
|
|
1373
|
+
"description": "project manifest",
|
|
1374
|
+
"name": "manifest",
|
|
1375
|
+
"required": false,
|
|
1376
|
+
"default": "raindrop.manifest",
|
|
1377
|
+
"hasDynamicHelp": false,
|
|
1378
|
+
"multiple": false,
|
|
1379
|
+
"type": "option"
|
|
1380
|
+
}
|
|
1381
|
+
},
|
|
1382
|
+
"hasDynamicHelp": false,
|
|
1383
|
+
"hiddenAliases": [],
|
|
1384
|
+
"id": "build:tools:check",
|
|
1385
|
+
"pluginAlias": "@liquidmetal-ai/raindrop",
|
|
1386
|
+
"pluginName": "@liquidmetal-ai/raindrop",
|
|
1387
|
+
"pluginType": "core",
|
|
1388
|
+
"strict": true,
|
|
1389
|
+
"enableJsonFlag": false,
|
|
1390
|
+
"isESM": true,
|
|
1391
|
+
"relativePath": [
|
|
1392
|
+
"dist",
|
|
1393
|
+
"commands",
|
|
1394
|
+
"build",
|
|
1395
|
+
"tools",
|
|
1396
|
+
"check.js"
|
|
1397
|
+
]
|
|
1398
|
+
},
|
|
1399
|
+
"build:tools:fmt": {
|
|
1400
|
+
"aliases": [],
|
|
1401
|
+
"args": {},
|
|
1402
|
+
"description": "format a LiquidMetal.AI raindrop.manifest",
|
|
1403
|
+
"examples": [
|
|
1404
|
+
"<%= config.bin %> <%= command.id %>"
|
|
1405
|
+
],
|
|
1406
|
+
"flags": {
|
|
1407
|
+
"root": {
|
|
1408
|
+
"char": "r",
|
|
1409
|
+
"description": "root directory",
|
|
1410
|
+
"name": "root",
|
|
1411
|
+
"required": false,
|
|
1412
|
+
"default": "/Users/ian/liquidmetal/packages/raindrop",
|
|
1413
|
+
"hasDynamicHelp": false,
|
|
1414
|
+
"multiple": false,
|
|
1415
|
+
"type": "option"
|
|
1416
|
+
},
|
|
1417
|
+
"manifest": {
|
|
1418
|
+
"char": "m",
|
|
1419
|
+
"description": "project manifest",
|
|
1420
|
+
"name": "manifest",
|
|
1421
|
+
"required": false,
|
|
1422
|
+
"default": "raindrop.manifest",
|
|
1423
|
+
"hasDynamicHelp": false,
|
|
1424
|
+
"multiple": false,
|
|
1425
|
+
"type": "option"
|
|
1426
|
+
}
|
|
1427
|
+
},
|
|
1428
|
+
"hasDynamicHelp": false,
|
|
1429
|
+
"hiddenAliases": [],
|
|
1430
|
+
"id": "build:tools:fmt",
|
|
1431
|
+
"pluginAlias": "@liquidmetal-ai/raindrop",
|
|
1432
|
+
"pluginName": "@liquidmetal-ai/raindrop",
|
|
1433
|
+
"pluginType": "core",
|
|
1434
|
+
"strict": true,
|
|
1435
|
+
"enableJsonFlag": false,
|
|
1436
|
+
"isESM": true,
|
|
1437
|
+
"relativePath": [
|
|
1438
|
+
"dist",
|
|
1439
|
+
"commands",
|
|
1440
|
+
"build",
|
|
1441
|
+
"tools",
|
|
1442
|
+
"fmt.js"
|
|
1443
|
+
]
|
|
1205
1444
|
}
|
|
1206
1445
|
},
|
|
1207
|
-
"version": "0.0.
|
|
1446
|
+
"version": "0.0.5"
|
|
1208
1447
|
}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@liquidmetal-ai/raindrop",
|
|
3
3
|
"description": "CLI for the Raindrop platform",
|
|
4
|
-
"version": "0.0.
|
|
4
|
+
"version": "0.0.5",
|
|
5
5
|
"author": "bosgood",
|
|
6
6
|
"bin": {
|
|
7
7
|
"raindrop": "./bin/run.js"
|
|
@@ -56,7 +56,8 @@
|
|
|
56
56
|
"files": [
|
|
57
57
|
"/bin",
|
|
58
58
|
"/dist",
|
|
59
|
-
"/oclif.manifest.json"
|
|
59
|
+
"/oclif.manifest.json",
|
|
60
|
+
"/templates"
|
|
60
61
|
],
|
|
61
62
|
"homepage": "https://github.com/LiquidMetal-AI/liquidmetal/tree/main/packages/raindrop",
|
|
62
63
|
"keywords": [
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { observers } from '@liquidmetal-ai/raindrop-framework';
|
|
2
|
+
import { Env } from './raindrop.gen';
|
|
3
|
+
|
|
4
|
+
export default class extends observers.Each<Body, Env> {
|
|
5
|
+
async process(message: Body): Promise<void> {
|
|
6
|
+
console.log(JSON.stringify(message));
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export interface Body {
|
|
11
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { observers } from '@liquidmetal-ai/raindrop-framework';
|
|
2
|
+
import { Env } from './raindrop.gen';
|
|
3
|
+
|
|
4
|
+
export default class extends observers.Each<Body, Env> {
|
|
5
|
+
async process(message: observers.BucketEventNotification): Promise<void> {
|
|
6
|
+
console.log(JSON.stringify(message));
|
|
7
|
+
}
|
|
8
|
+
}
|