@liquidmetal-ai/raindrop 0.4.10 → 0.4.12
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 +203 -51
- package/dist/base-command.d.ts +6 -0
- package/dist/base-command.d.ts.map +1 -1
- package/dist/base-command.js +16 -1
- package/dist/codegen.js +3 -3
- package/dist/codegen.test.js +6 -6
- package/dist/commands/bucket/create-credential.d.ts +25 -0
- package/dist/commands/bucket/create-credential.d.ts.map +1 -0
- package/dist/commands/bucket/create-credential.js +171 -0
- package/dist/commands/bucket/delete-credential.d.ts +24 -0
- package/dist/commands/bucket/delete-credential.d.ts.map +1 -0
- package/dist/commands/bucket/delete-credential.js +140 -0
- package/dist/commands/bucket/get-credential.d.ts +24 -0
- package/dist/commands/bucket/get-credential.d.ts.map +1 -0
- package/dist/commands/bucket/get-credential.js +149 -0
- package/dist/commands/bucket/list-credentials.d.ts +23 -0
- package/dist/commands/bucket/list-credentials.d.ts.map +1 -0
- package/dist/commands/bucket/list-credentials.js +146 -0
- 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 +17 -0
- 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 +17 -0
- package/dist/commands/build/find.d.ts +2 -0
- package/dist/commands/build/find.d.ts.map +1 -1
- package/dist/commands/build/find.js +143 -16
- package/dist/commands/build/list.d.ts +6 -0
- package/dist/commands/build/list.d.ts.map +1 -1
- package/dist/commands/build/list.js +280 -99
- package/dist/commands/build/status.d.ts +0 -4
- package/dist/commands/build/status.d.ts.map +1 -1
- package/dist/commands/build/status.js +30 -80
- package/dist/commands/object/delete.d.ts.map +1 -1
- package/dist/commands/object/delete.js +10 -8
- package/dist/commands/object/get.d.ts.map +1 -1
- package/dist/commands/object/get.js +9 -8
- package/dist/commands/object/list.d.ts.map +1 -1
- package/dist/commands/object/list.js +8 -6
- package/dist/commands/object/put.d.ts.map +1 -1
- package/dist/commands/object/put.js +12 -10
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/status.d.ts +21 -0
- package/dist/status.d.ts.map +1 -0
- package/dist/status.js +137 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/oclif.manifest.json +2219 -1204
- package/package.json +4 -3
- package/templates/db/node_modules/.bin/tsc +17 -0
- package/templates/db/node_modules/.bin/tsserver +17 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { Args, Flags } from '@oclif/core';
|
|
2
|
-
import { BaseCommand } from '../../base-command.js';
|
|
3
1
|
import { toJsonString } from '@bufbuild/protobuf';
|
|
4
2
|
import { DeleteObjectResponseSchema } from '@liquidmetal-ai/drizzle/liquidmetal/v1alpha1/object_pb';
|
|
3
|
+
import { Args, Flags } from '@oclif/core';
|
|
4
|
+
import { BaseCommand } from '../../base-command.js';
|
|
5
5
|
export default class ObjectDelete extends BaseCommand {
|
|
6
6
|
static args = {
|
|
7
7
|
key: Args.string({
|
|
@@ -54,13 +54,16 @@ Delete file with key 'my-key' from my-bucket
|
|
|
54
54
|
if (!this.flags.bucket && !this.flags.moduleId) {
|
|
55
55
|
this.error('Either --bucket or --moduleId flag must be specified.');
|
|
56
56
|
}
|
|
57
|
+
if (this.flags.bucket && !this.flags.bucket.includes('#')) {
|
|
58
|
+
await this.loadConfig();
|
|
59
|
+
}
|
|
57
60
|
const bucketLocation = this.flags.bucket
|
|
58
61
|
? {
|
|
59
62
|
bucketLocation: {
|
|
60
63
|
case: 'bucket',
|
|
61
64
|
value: {
|
|
62
|
-
name: this.flags.bucket,
|
|
63
|
-
version: '',
|
|
65
|
+
name: this.flags.bucket.split('#')[0],
|
|
66
|
+
version: this.flags.bucket.includes('#') ? this.flags.bucket.split('#')[1] : this.raindropConfig?.versionId,
|
|
64
67
|
},
|
|
65
68
|
},
|
|
66
69
|
}
|
|
@@ -70,20 +73,19 @@ Delete file with key 'my-key' from my-bucket
|
|
|
70
73
|
value: this.flags.moduleId,
|
|
71
74
|
},
|
|
72
75
|
};
|
|
73
|
-
const { args, flags } = await this.parse(ObjectDelete);
|
|
74
76
|
const { client: objectService, userId, organizationId } = await this.objectService();
|
|
75
77
|
const response = await objectService.deleteObject({
|
|
76
78
|
userId,
|
|
77
79
|
organizationId,
|
|
78
80
|
bucketLocation,
|
|
79
|
-
key: args.key,
|
|
81
|
+
key: this.args.key,
|
|
80
82
|
});
|
|
81
|
-
if (flags.output === 'json') {
|
|
83
|
+
if (this.flags.output === 'json') {
|
|
82
84
|
console.log(toJsonString(DeleteObjectResponseSchema, response, { prettySpaces: 2 }));
|
|
83
85
|
}
|
|
84
86
|
else {
|
|
85
87
|
console.log('Successfully deleted file:');
|
|
86
|
-
console.log(`Key: ${args.key}`);
|
|
88
|
+
console.log(`Key: ${this.args.key}`);
|
|
87
89
|
}
|
|
88
90
|
}
|
|
89
91
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get.d.ts","sourceRoot":"","sources":["../../../src/commands/object/get.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"get.d.ts","sourceRoot":"","sources":["../../../src/commands/object/get.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEpD,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,WAAW,CAAC,OAAO,SAAS,CAAC;IAClE,MAAM,CAAC,IAAI;;;;;MAST;IAEF,MAAM,CAAC,WAAW,SAA6C;IAE/D,MAAM,CAAC,QAAQ,WAOb;IAEF,MAAM,CAAC,KAAK;;;;;;;;;;;;;MA+BV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAuE3B"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Args, Flags } from '@oclif/core';
|
|
2
|
-
import { BaseCommand } from '../../base-command.js';
|
|
3
2
|
import * as fs from 'node:fs/promises';
|
|
4
3
|
import * as path from 'path';
|
|
4
|
+
import { BaseCommand } from '../../base-command.js';
|
|
5
5
|
export default class ObjectGet extends BaseCommand {
|
|
6
6
|
static args = {
|
|
7
7
|
key: Args.string({
|
|
@@ -61,15 +61,17 @@ Download file with key 'my-key' from my-bucket to output.txt
|
|
|
61
61
|
if (!this.flags.bucket && !this.flags.moduleId) {
|
|
62
62
|
this.error('Either --bucket or --moduleId flag must be specified.');
|
|
63
63
|
}
|
|
64
|
-
|
|
64
|
+
if (this.flags.bucket && !this.flags.bucket.includes('#')) {
|
|
65
|
+
await this.loadConfig();
|
|
66
|
+
}
|
|
65
67
|
// set the bucketLocation based on whether a bucket name or moduleId is provided
|
|
66
68
|
const bucketLocation = this.flags.bucket
|
|
67
69
|
? {
|
|
68
70
|
bucketLocation: {
|
|
69
71
|
case: 'bucket',
|
|
70
72
|
value: {
|
|
71
|
-
name: this.flags.bucket,
|
|
72
|
-
version: '',
|
|
73
|
+
name: this.flags.bucket.split('#')[0],
|
|
74
|
+
version: this.flags.bucket.includes('#') ? this.flags.bucket.split('#')[1] : this.raindropConfig?.versionId,
|
|
73
75
|
},
|
|
74
76
|
},
|
|
75
77
|
}
|
|
@@ -83,14 +85,13 @@ Download file with key 'my-key' from my-bucket to output.txt
|
|
|
83
85
|
const response = await objectService.getObject({
|
|
84
86
|
userId,
|
|
85
87
|
organizationId,
|
|
86
|
-
key: args.key,
|
|
88
|
+
key: this.args.key,
|
|
87
89
|
bucketLocation,
|
|
88
90
|
});
|
|
89
91
|
if (!response.content) {
|
|
90
92
|
this.error('No content received from object storage');
|
|
91
|
-
return;
|
|
92
93
|
}
|
|
93
|
-
switch (flags.format) {
|
|
94
|
+
switch (this.flags.format) {
|
|
94
95
|
case 'json':
|
|
95
96
|
console.log(JSON.stringify({
|
|
96
97
|
content: response.content.toString(),
|
|
@@ -102,7 +103,7 @@ Download file with key 'my-key' from my-bucket to output.txt
|
|
|
102
103
|
break;
|
|
103
104
|
case 'file':
|
|
104
105
|
case 'text': {
|
|
105
|
-
const outputPath = args.output || path.basename(args.key);
|
|
106
|
+
const outputPath = this.args.output || path.basename(this.args.key);
|
|
106
107
|
await fs.writeFile(outputPath, response.content);
|
|
107
108
|
console.log('Successfully downloaded file:');
|
|
108
109
|
console.log(`Saved to: ${outputPath}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../src/commands/object/list.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../src/commands/object/list.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEpD,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,WAAW,CAAC,OAAO,UAAU,CAAC;IACpE,MAAM,CAAC,WAAW,SAA8B;IAEhD,MAAM,CAAC,QAAQ,WAIb;IAEF,MAAM,CAAC,KAAK;;;;;;;;;;;;;MA+BV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAyE3B"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { Flags } from '@oclif/core';
|
|
2
|
-
import { BaseCommand } from '../../base-command.js';
|
|
3
1
|
import { toJsonString } from '@bufbuild/protobuf';
|
|
4
2
|
import { timestampDate } from '@bufbuild/protobuf/wkt';
|
|
5
3
|
import { ListObjectsResponseSchema } from '@liquidmetal-ai/drizzle/liquidmetal/v1alpha1/object_pb';
|
|
4
|
+
import { Flags } from '@oclif/core';
|
|
5
|
+
import { BaseCommand } from '../../base-command.js';
|
|
6
6
|
export default class ObjectList extends BaseCommand {
|
|
7
7
|
static description = 'List objects in a bucket';
|
|
8
8
|
static examples = [
|
|
@@ -49,15 +49,17 @@ List all objects in my-bucket
|
|
|
49
49
|
if (!this.flags.bucket && !this.flags.moduleId) {
|
|
50
50
|
this.error('Either --bucket or --moduleId flag must be specified.');
|
|
51
51
|
}
|
|
52
|
-
|
|
52
|
+
if (this.flags.bucket && !this.flags.bucket.includes('#')) {
|
|
53
|
+
await this.loadConfig();
|
|
54
|
+
}
|
|
53
55
|
const { client: objectService, userId, organizationId } = await this.objectService();
|
|
54
56
|
const bucketLocation = this.flags.bucket
|
|
55
57
|
? {
|
|
56
58
|
bucketLocation: {
|
|
57
59
|
case: 'bucket',
|
|
58
60
|
value: {
|
|
59
|
-
name: this.flags.bucket,
|
|
60
|
-
version: '',
|
|
61
|
+
name: this.flags.bucket.split('#')[0],
|
|
62
|
+
version: this.flags.bucket.includes('#') ? this.flags.bucket.split('#')[1] : this.raindropConfig?.versionId,
|
|
61
63
|
},
|
|
62
64
|
},
|
|
63
65
|
}
|
|
@@ -84,7 +86,7 @@ List all objects in my-bucket
|
|
|
84
86
|
console.log('No objects found in bucket');
|
|
85
87
|
return;
|
|
86
88
|
}
|
|
87
|
-
switch (flags.output) {
|
|
89
|
+
switch (this.flags.output) {
|
|
88
90
|
case 'json':
|
|
89
91
|
console.log(toJsonString(ListObjectsResponseSchema, response, { prettySpaces: 2 }));
|
|
90
92
|
break;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"put.d.ts","sourceRoot":"","sources":["../../../src/commands/object/put.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"put.d.ts","sourceRoot":"","sources":["../../../src/commands/object/put.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEpD,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,WAAW,CAAC,OAAO,SAAS,CAAC;IAClE,MAAM,CAAC,IAAI;;;;;MAUT;IAEF,MAAM,CAAC,WAAW,SAAyC;IAE3D,MAAM,CAAC,QAAQ,WAIb;IAEF,MAAM,CAAC,KAAK;;;;;;;;;;;;;;MAoCV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;IAqD1B,OAAO,CAAC,cAAc;CAavB"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
+
import { toJsonString } from '@bufbuild/protobuf';
|
|
2
|
+
import { PutObjectResponseSchema } from '@liquidmetal-ai/drizzle/liquidmetal/v1alpha1/object_pb';
|
|
1
3
|
import { Args, Flags } from '@oclif/core';
|
|
2
|
-
import { BaseCommand } from '../../base-command.js';
|
|
3
4
|
import * as fs from 'node:fs/promises';
|
|
4
5
|
import * as path from 'path';
|
|
5
|
-
import {
|
|
6
|
-
import { PutObjectResponseSchema } from '@liquidmetal-ai/drizzle/liquidmetal/v1alpha1/object_pb';
|
|
6
|
+
import { BaseCommand } from '../../base-command.js';
|
|
7
7
|
export default class ObjectPut extends BaseCommand {
|
|
8
8
|
static args = {
|
|
9
9
|
file: Args.file({
|
|
@@ -66,13 +66,16 @@ Upload myfile.txt to my-bucket with key 'my-key'
|
|
|
66
66
|
if (!this.flags.bucket && !this.flags.moduleId) {
|
|
67
67
|
this.error('Either --bucket or --moduleId flag must be specified.');
|
|
68
68
|
}
|
|
69
|
+
if (this.flags.bucket && !this.flags.bucket.includes('#')) {
|
|
70
|
+
await this.loadConfig();
|
|
71
|
+
}
|
|
69
72
|
const bucketLocation = this.flags.bucket
|
|
70
73
|
? {
|
|
71
74
|
bucketLocation: {
|
|
72
75
|
case: 'bucket',
|
|
73
76
|
value: {
|
|
74
|
-
name: this.flags.bucket,
|
|
75
|
-
version: '',
|
|
77
|
+
name: this.flags.bucket.split('#')[0],
|
|
78
|
+
version: this.flags.bucket.includes('#') ? this.flags.bucket.split('#')[1] : this.raindropConfig?.versionId,
|
|
76
79
|
},
|
|
77
80
|
},
|
|
78
81
|
}
|
|
@@ -82,21 +85,20 @@ Upload myfile.txt to my-bucket with key 'my-key'
|
|
|
82
85
|
value: this.flags.moduleId,
|
|
83
86
|
},
|
|
84
87
|
};
|
|
85
|
-
const { args, flags } = await this.parse(ObjectPut);
|
|
86
88
|
const { client: objectService, userId, organizationId } = await this.objectService();
|
|
87
89
|
// Read the file
|
|
88
|
-
const fileContent = await fs.readFile(args.file);
|
|
90
|
+
const fileContent = await fs.readFile(this.args.file);
|
|
89
91
|
// Get content type if not specified
|
|
90
|
-
const contentType = flags.contentType || this.getContentType(args.file);
|
|
92
|
+
const contentType = this.flags.contentType || this.getContentType(this.args.file);
|
|
91
93
|
const response = await objectService.putObject({
|
|
92
94
|
userId,
|
|
93
95
|
organizationId,
|
|
94
96
|
bucketLocation,
|
|
95
|
-
key: args.key,
|
|
97
|
+
key: this.args.key,
|
|
96
98
|
content: fileContent,
|
|
97
99
|
contentType,
|
|
98
100
|
});
|
|
99
|
-
if (flags.output === 'json') {
|
|
101
|
+
if (this.flags.output === 'json') {
|
|
100
102
|
console.log(toJsonString(PutObjectResponseSchema, response, { prettySpaces: 2 }));
|
|
101
103
|
}
|
|
102
104
|
else {
|
package/dist/index.d.ts
CHANGED
|
@@ -10,6 +10,7 @@ import { StrictClient } from './strict-client.js';
|
|
|
10
10
|
import { AnnotationService } from '@liquidmetal-ai/drizzle/liquidmetal/v1alpha1/annotation_pb';
|
|
11
11
|
import { EventStreamService } from '@liquidmetal-ai/drizzle/liquidmetal/v1alpha1/events_pb';
|
|
12
12
|
import { RiverjackService } from '@liquidmetal-ai/drizzle/liquidmetal/v1alpha1/riverjack_pb';
|
|
13
|
+
import { S3CredentialService } from '@liquidmetal-ai/drizzle/liquidmetal/v1alpha1/bucket_api_pb';
|
|
13
14
|
export { run } from '@oclif/core';
|
|
14
15
|
export declare const EPOCH_TS: import("@bufbuild/protobuf/wkt").Timestamp;
|
|
15
16
|
export declare function configFromAppFile(appFile: string): Promise<Application[]>;
|
|
@@ -41,6 +42,7 @@ export declare function objectService(opts: ServiceClientOptions): Promise<Servi
|
|
|
41
42
|
export declare function annotationService(opts: ServiceClientOptions): Promise<ServiceClient<typeof AnnotationService>>;
|
|
42
43
|
export declare function eventStreamService(opts: ServiceClientOptions): Promise<ServiceClient<typeof EventStreamService>>;
|
|
43
44
|
export declare function riverjackService(opts: ServiceClientOptions): Promise<ServiceClient<typeof RiverjackService>>;
|
|
45
|
+
export declare function bucketApiService(opts: ServiceClientOptions): Promise<ServiceClient<typeof S3CredentialService>>;
|
|
44
46
|
export type ServiceClientOptions = {
|
|
45
47
|
rainbowAuth: StrictClient<typeof RainbowAuthService>;
|
|
46
48
|
configDir: string;
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -19,6 +19,7 @@ import { traceStore } from './trace.js';
|
|
|
19
19
|
import { AnnotationService } from '@liquidmetal-ai/drizzle/liquidmetal/v1alpha1/annotation_pb';
|
|
20
20
|
import { EventStreamService } from '@liquidmetal-ai/drizzle/liquidmetal/v1alpha1/events_pb';
|
|
21
21
|
import { RiverjackService } from '@liquidmetal-ai/drizzle/liquidmetal/v1alpha1/riverjack_pb';
|
|
22
|
+
import { S3CredentialService } from '@liquidmetal-ai/drizzle/liquidmetal/v1alpha1/bucket_api_pb';
|
|
22
23
|
export { run } from '@oclif/core';
|
|
23
24
|
export const EPOCH_TS = timestampFromDate(new Date(0));
|
|
24
25
|
export async function configFromAppFile(appFile) {
|
|
@@ -202,6 +203,9 @@ export async function eventStreamService(opts) {
|
|
|
202
203
|
export async function riverjackService(opts) {
|
|
203
204
|
return serviceClient(RiverjackService, opts);
|
|
204
205
|
}
|
|
206
|
+
export async function bucketApiService(opts) {
|
|
207
|
+
return serviceClient(S3CredentialService, opts);
|
|
208
|
+
}
|
|
205
209
|
export async function serviceClient(service, { rainbowAuth, configDir, identity, overrideAuthToken, logger, enableSendVersion }) {
|
|
206
210
|
const { baseUrl, organizationId, userId } = identity;
|
|
207
211
|
const { authenticate } = createAuthenticateInterceptor(configDir, rainbowAuth, overrideAuthToken);
|
package/dist/status.d.ts
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { StatusResponse, UnitState } from '@liquidmetal-ai/drizzle/liquidmetal/v1alpha1/catalog_pb';
|
|
2
|
+
import { BaseCommand } from './base-command.js';
|
|
3
|
+
export interface StatusOptions<T extends typeof BaseCommand> {
|
|
4
|
+
command: BaseCommand<T>;
|
|
5
|
+
root?: string;
|
|
6
|
+
manifest?: string;
|
|
7
|
+
applicationName?: string;
|
|
8
|
+
versionId?: string;
|
|
9
|
+
output?: 'watch' | 'table' | 'json' | 'compact';
|
|
10
|
+
impersonate?: string;
|
|
11
|
+
}
|
|
12
|
+
export declare const statusString: Record<UnitState, string>;
|
|
13
|
+
export declare function getStatus<T extends typeof BaseCommand>(options: StatusOptions<T>): Promise<StatusResponse>;
|
|
14
|
+
export declare function watchStatus<T extends typeof BaseCommand>(options: StatusOptions<T>): Promise<void>;
|
|
15
|
+
export declare class StatusRenderer {
|
|
16
|
+
private linesLastRendered;
|
|
17
|
+
private getStatusColor;
|
|
18
|
+
renderLive(status: StatusResponse, applicationName: string, versionId?: string): void;
|
|
19
|
+
renderCompact(status: StatusResponse, applicationName: string, versionId?: string): void;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=status.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../src/status.ts"],"names":[],"mappings":"AACA,OAAO,EACL,cAAc,EACd,SAAS,EACV,MAAM,yDAAyD,CAAC;AAGjE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,MAAM,WAAW,aAAa,CAAC,CAAC,SAAS,OAAO,WAAW;IAEzD,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;IAGxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAGlB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IAGnB,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,CAAC;IAChD,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CASzC,CAAC;AAEX,wBAAsB,SAAS,CAAC,CAAC,SAAS,OAAO,WAAW,EAC1D,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,GACxB,OAAO,CAAC,cAAc,CAAC,CAoCzB;AAED,wBAAsB,WAAW,CAAC,CAAC,SAAS,OAAO,WAAW,EAC5D,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,GACxB,OAAO,CAAC,IAAI,CAAC,CAiCf;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,iBAAiB,CAAK;IAE9B,OAAO,CAAC,cAAc;IAkBtB,UAAU,CAAC,MAAM,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI;IAuCrF,aAAa,CAAC,MAAM,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI;CAqBzF"}
|
package/dist/status.js
ADDED
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
import { valueOf } from '@liquidmetal-ai/drizzle/appify/build';
|
|
2
|
+
import { UnitState, } from '@liquidmetal-ai/drizzle/liquidmetal/v1alpha1/catalog_pb';
|
|
3
|
+
import chalk from 'chalk';
|
|
4
|
+
import * as readline from 'readline';
|
|
5
|
+
export const statusString = {
|
|
6
|
+
[UnitState.UNSPECIFIED]: '<unknown>',
|
|
7
|
+
[UnitState.PENDING]: 'pending...',
|
|
8
|
+
[UnitState.STARTING]: 'starting...',
|
|
9
|
+
[UnitState.RUNNING]: 'running',
|
|
10
|
+
[UnitState.STOPPING]: 'stopping...',
|
|
11
|
+
[UnitState.STOPPED]: 'stopped',
|
|
12
|
+
[UnitState.DELETING]: 'deleting...',
|
|
13
|
+
[UnitState.DELETED]: 'deleted',
|
|
14
|
+
};
|
|
15
|
+
export async function getStatus(options) {
|
|
16
|
+
const { command, impersonate } = options;
|
|
17
|
+
// Get application name and version
|
|
18
|
+
let applicationName = options.applicationName;
|
|
19
|
+
let versionId = options.versionId;
|
|
20
|
+
if (!versionId) {
|
|
21
|
+
const config = await command.loadConfig();
|
|
22
|
+
versionId = config.versionId;
|
|
23
|
+
}
|
|
24
|
+
if (!applicationName) {
|
|
25
|
+
const apps = await command.loadManifest();
|
|
26
|
+
const app = apps[0];
|
|
27
|
+
if (app === undefined) {
|
|
28
|
+
command.error('No application provided or found in manifest');
|
|
29
|
+
}
|
|
30
|
+
applicationName = valueOf(app.name);
|
|
31
|
+
}
|
|
32
|
+
const { client: catalogService, userId, organizationId: defaultOrganizationId } = await command.catalogService();
|
|
33
|
+
const organizationId = impersonate ?? defaultOrganizationId;
|
|
34
|
+
const status = await catalogService.status({
|
|
35
|
+
userId,
|
|
36
|
+
organizationId,
|
|
37
|
+
applicationName,
|
|
38
|
+
currentVersionId: versionId || '',
|
|
39
|
+
});
|
|
40
|
+
if (status === undefined) {
|
|
41
|
+
command.error(`Application ${applicationName} not found`);
|
|
42
|
+
}
|
|
43
|
+
return status;
|
|
44
|
+
}
|
|
45
|
+
export async function watchStatus(options) {
|
|
46
|
+
const { command } = options;
|
|
47
|
+
const renderer = new StatusRenderer();
|
|
48
|
+
// Get initial application name and version for display
|
|
49
|
+
let applicationName = options.applicationName;
|
|
50
|
+
let versionId = options.versionId;
|
|
51
|
+
if (!applicationName) {
|
|
52
|
+
const apps = await command.loadManifest();
|
|
53
|
+
const app = apps[0];
|
|
54
|
+
if (app) {
|
|
55
|
+
applicationName = valueOf(app.name);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
if (!versionId) {
|
|
59
|
+
const config = await command.loadConfig();
|
|
60
|
+
versionId = config.versionId;
|
|
61
|
+
}
|
|
62
|
+
let status = await getStatus(options);
|
|
63
|
+
while (true) {
|
|
64
|
+
renderer.renderLive(status, applicationName, versionId);
|
|
65
|
+
if (status.state === UnitState.RUNNING || status.state === UnitState.STOPPED) {
|
|
66
|
+
break;
|
|
67
|
+
}
|
|
68
|
+
await new Promise((resolve) => setTimeout(resolve, 1000));
|
|
69
|
+
status = await getStatus(options);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
export class StatusRenderer {
|
|
73
|
+
linesLastRendered = 0;
|
|
74
|
+
getStatusColor(state) {
|
|
75
|
+
switch (state) {
|
|
76
|
+
case UnitState.RUNNING:
|
|
77
|
+
return chalk.green;
|
|
78
|
+
case UnitState.PENDING:
|
|
79
|
+
case UnitState.STARTING:
|
|
80
|
+
return chalk.yellow;
|
|
81
|
+
case UnitState.STOPPING:
|
|
82
|
+
case UnitState.DELETING:
|
|
83
|
+
return chalk.yellow;
|
|
84
|
+
case UnitState.STOPPED:
|
|
85
|
+
case UnitState.DELETED:
|
|
86
|
+
return chalk.red;
|
|
87
|
+
default:
|
|
88
|
+
return chalk.gray;
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
renderLive(status, applicationName, versionId) {
|
|
92
|
+
if (this.linesLastRendered > 0) {
|
|
93
|
+
readline.moveCursor(process.stdout, 0, -this.linesLastRendered);
|
|
94
|
+
readline.clearScreenDown(process.stdout);
|
|
95
|
+
}
|
|
96
|
+
const lines = [];
|
|
97
|
+
// Header
|
|
98
|
+
lines.push('');
|
|
99
|
+
lines.push(`${chalk.bold(applicationName)} ${chalk.dim(versionId ? `@${versionId.substring(0, 8)}...` : '')}`);
|
|
100
|
+
lines.push(chalk.dim(`Status: ${this.getStatusColor(status.state)(statusString[status.state])}`));
|
|
101
|
+
lines.push('');
|
|
102
|
+
lines.push(`${chalk.bold('Modules')} ${chalk.dim(`(${status.modules.length})`)}`);
|
|
103
|
+
// Modules
|
|
104
|
+
for (const module of status.modules) {
|
|
105
|
+
const statusColor = this.getStatusColor(module.state);
|
|
106
|
+
const urls = module.urls.length > 0 ? chalk.cyan(module.urls.join(', ')) : chalk.dim('no urls');
|
|
107
|
+
lines.push(` └─ ${chalk.yellow(module.name)} - ${statusColor(statusString[module.state])} - ${urls}`);
|
|
108
|
+
}
|
|
109
|
+
// Summary
|
|
110
|
+
const runningModules = status.modules.filter(m => m.state === UnitState.RUNNING).length;
|
|
111
|
+
const totalModules = status.modules.length;
|
|
112
|
+
lines.push('');
|
|
113
|
+
lines.push(chalk.dim('─'.repeat(50)));
|
|
114
|
+
lines.push(chalk.dim(`Total: ${totalModules} modules (${runningModules} running)`));
|
|
115
|
+
// Print all lines
|
|
116
|
+
for (const line of lines) {
|
|
117
|
+
console.log(line);
|
|
118
|
+
}
|
|
119
|
+
this.linesLastRendered = lines.length;
|
|
120
|
+
}
|
|
121
|
+
renderCompact(status, applicationName, versionId) {
|
|
122
|
+
console.log(`\n${chalk.bold(applicationName)} ${chalk.dim(versionId ? `@${versionId.substring(0, 8)}...` : '')}`);
|
|
123
|
+
console.log(chalk.dim(`Status: ${this.getStatusColor(status.state)(statusString[status.state])}`));
|
|
124
|
+
console.log(`\n${chalk.bold('Modules')} ${chalk.dim(`(${status.modules.length})`)}`);
|
|
125
|
+
for (const module of status.modules) {
|
|
126
|
+
const statusColor = this.getStatusColor(module.state);
|
|
127
|
+
const urls = module.urls.length > 0 ? chalk.cyan(module.urls.join(', ')) : chalk.dim('no urls');
|
|
128
|
+
console.log(` └─ ${chalk.yellow(module.name)} - ${statusColor(statusString[module.state])} - ${urls}`);
|
|
129
|
+
}
|
|
130
|
+
// Add summary
|
|
131
|
+
const runningModules = status.modules.filter(m => m.state === UnitState.RUNNING).length;
|
|
132
|
+
const totalModules = status.modules.length;
|
|
133
|
+
console.log('');
|
|
134
|
+
console.log(chalk.dim('─'.repeat(50)));
|
|
135
|
+
console.log(chalk.dim(`Total: ${totalModules} modules (${runningModules} running)`));
|
|
136
|
+
}
|
|
137
|
+
}
|
|
@@ -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/deploy.ts","../src/index.test.ts","../src/index.ts","../src/strict-client.ts","../src/trace.ts","../src/commands/tail.ts","../src/commands/annotation/get.ts","../src/commands/annotation/list.ts","../src/commands/annotation/put.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/checkout.ts","../src/commands/build/clone.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/status.ts","../src/commands/build/stop.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","../src/commands/object/delete.ts","../src/commands/object/get.ts","../src/commands/object/list.ts","../src/commands/object/put.ts","../src/commands/query/chunk-search.ts","../src/commands/query/document.ts","../src/commands/query/events.ts","../src/commands/query/search.ts"],"version":"5.8.3"}
|
|
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/deploy.ts","../src/index.test.ts","../src/index.ts","../src/status.ts","../src/strict-client.ts","../src/trace.ts","../src/commands/tail.ts","../src/commands/annotation/get.ts","../src/commands/annotation/list.ts","../src/commands/annotation/put.ts","../src/commands/auth/list.ts","../src/commands/auth/login.ts","../src/commands/auth/logout.ts","../src/commands/auth/select.ts","../src/commands/bucket/create-credential.ts","../src/commands/bucket/delete-credential.ts","../src/commands/bucket/get-credential.ts","../src/commands/bucket/list-credentials.ts","../src/commands/build/branch.ts","../src/commands/build/checkout.ts","../src/commands/build/clone.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/status.ts","../src/commands/build/stop.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","../src/commands/object/delete.ts","../src/commands/object/get.ts","../src/commands/object/list.ts","../src/commands/object/put.ts","../src/commands/query/chunk-search.ts","../src/commands/query/document.ts","../src/commands/query/events.ts","../src/commands/query/search.ts"],"version":"5.8.3"}
|