@agentuity/cli 0.0.69 → 0.0.70
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/AGENTS.md +1 -1
- package/README.md +1 -1
- package/dist/cmd/ai/capabilities/show.d.ts.map +1 -1
- package/dist/cmd/ai/capabilities/show.js +0 -13
- package/dist/cmd/ai/capabilities/show.js.map +1 -1
- package/dist/cmd/ai/prompt/agent.js +1 -1
- package/dist/cmd/ai/prompt/api.js +1 -1
- package/dist/cmd/build/ast.d.ts +1 -2
- package/dist/cmd/build/ast.d.ts.map +1 -1
- package/dist/cmd/build/ast.js +261 -260
- package/dist/cmd/build/ast.js.map +1 -1
- package/dist/cmd/build/bundler.d.ts +2 -1
- package/dist/cmd/build/bundler.d.ts.map +1 -1
- package/dist/cmd/build/bundler.js +11 -2
- package/dist/cmd/build/bundler.js.map +1 -1
- package/dist/cmd/build/index.js +1 -1
- package/dist/cmd/build/index.js.map +1 -1
- package/dist/cmd/build/plugin.d.ts.map +1 -1
- package/dist/cmd/build/plugin.js +152 -414
- package/dist/cmd/build/plugin.js.map +1 -1
- package/dist/cmd/build/route-registry.d.ts +36 -0
- package/dist/cmd/build/route-registry.d.ts.map +1 -0
- package/dist/cmd/build/route-registry.js +151 -0
- package/dist/cmd/build/route-registry.js.map +1 -0
- package/dist/cmd/cloud/deploy.d.ts.map +1 -1
- package/dist/cmd/cloud/deploy.js +1 -0
- package/dist/cmd/cloud/deploy.js.map +1 -1
- package/dist/cmd/cloud/index.d.ts.map +1 -1
- package/dist/cmd/cloud/index.js +0 -2
- package/dist/cmd/cloud/index.js.map +1 -1
- package/dist/cmd/dev/index.js +3 -3
- package/dist/cmd/dev/index.js.map +1 -1
- package/dist/cmd/dev/sync.d.ts.map +1 -1
- package/dist/cmd/dev/sync.js +0 -15
- package/dist/cmd/dev/sync.js.map +1 -1
- package/dist/cmd/dev/templates.d.ts.map +1 -1
- package/dist/cmd/dev/templates.js +11 -35
- package/dist/cmd/dev/templates.js.map +1 -1
- package/dist/cmd/profile/create.d.ts.map +1 -1
- package/dist/cmd/profile/create.js +0 -1
- package/dist/cmd/profile/create.js.map +1 -1
- package/dist/cmd/project/template-flow.d.ts.map +1 -1
- package/dist/cmd/project/template-flow.js +64 -53
- package/dist/cmd/project/template-flow.js.map +1 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +0 -3
- package/dist/config.js.map +1 -1
- package/dist/tui/box.d.ts +19 -0
- package/dist/tui/box.d.ts.map +1 -0
- package/dist/tui/box.js +160 -0
- package/dist/tui/box.js.map +1 -0
- package/dist/tui/colors.d.ts +20 -0
- package/dist/tui/colors.d.ts.map +1 -0
- package/dist/tui/colors.js +52 -0
- package/dist/tui/colors.js.map +1 -0
- package/dist/tui/group.d.ts +25 -0
- package/dist/tui/group.d.ts.map +1 -0
- package/dist/tui/group.js +32 -0
- package/dist/tui/group.js.map +1 -0
- package/dist/tui/prompt.d.ts +65 -0
- package/dist/tui/prompt.d.ts.map +1 -0
- package/dist/tui/prompt.js +377 -0
- package/dist/tui/prompt.js.map +1 -0
- package/dist/tui/symbols.d.ts +32 -0
- package/dist/tui/symbols.d.ts.map +1 -0
- package/dist/tui/symbols.js +52 -0
- package/dist/tui/symbols.js.map +1 -0
- package/dist/tui.d.ts +6 -0
- package/dist/tui.d.ts.map +1 -1
- package/dist/tui.js +6 -0
- package/dist/tui.js.map +1 -1
- package/dist/types.d.ts +0 -24
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +0 -1
- package/dist/types.js.map +1 -1
- package/package.json +3 -3
- package/src/cmd/ai/capabilities/show.ts +0 -13
- package/src/cmd/ai/prompt/agent.ts +1 -1
- package/src/cmd/ai/prompt/api.ts +1 -1
- package/src/cmd/build/ast.ts +364 -334
- package/src/cmd/build/bundler.ts +16 -1
- package/src/cmd/build/index.ts +1 -1
- package/src/cmd/build/plugin.ts +171 -493
- package/src/cmd/build/route-registry.ts +198 -0
- package/src/cmd/cloud/deploy.ts +1 -0
- package/src/cmd/cloud/index.ts +0 -2
- package/src/cmd/dev/index.ts +3 -3
- package/src/cmd/dev/sync.ts +0 -28
- package/src/cmd/dev/templates.ts +11 -35
- package/src/cmd/profile/create.ts +0 -1
- package/src/cmd/project/template-flow.ts +77 -57
- package/src/config.ts +0 -3
- package/src/tui/box.ts +202 -0
- package/src/tui/colors.ts +55 -0
- package/src/tui/group.ts +56 -0
- package/src/tui/prompt.ts +506 -0
- package/src/tui/symbols.ts +64 -0
- package/src/tui.ts +14 -0
- package/src/types.ts +0 -1
- package/dist/cmd/cloud/objectstore/delete-bucket.d.ts +0 -3
- package/dist/cmd/cloud/objectstore/delete-bucket.d.ts.map +0 -1
- package/dist/cmd/cloud/objectstore/delete-bucket.js +0 -72
- package/dist/cmd/cloud/objectstore/delete-bucket.js.map +0 -1
- package/dist/cmd/cloud/objectstore/delete.d.ts +0 -3
- package/dist/cmd/cloud/objectstore/delete.d.ts.map +0 -1
- package/dist/cmd/cloud/objectstore/delete.js +0 -65
- package/dist/cmd/cloud/objectstore/delete.js.map +0 -1
- package/dist/cmd/cloud/objectstore/get.d.ts +0 -3
- package/dist/cmd/cloud/objectstore/get.d.ts.map +0 -1
- package/dist/cmd/cloud/objectstore/get.js +0 -75
- package/dist/cmd/cloud/objectstore/get.js.map +0 -1
- package/dist/cmd/cloud/objectstore/index.d.ts +0 -3
- package/dist/cmd/cloud/objectstore/index.d.ts.map +0 -1
- package/dist/cmd/cloud/objectstore/index.js +0 -36
- package/dist/cmd/cloud/objectstore/index.js.map +0 -1
- package/dist/cmd/cloud/objectstore/list-buckets.d.ts +0 -3
- package/dist/cmd/cloud/objectstore/list-buckets.d.ts.map +0 -1
- package/dist/cmd/cloud/objectstore/list-buckets.js +0 -46
- package/dist/cmd/cloud/objectstore/list-buckets.js.map +0 -1
- package/dist/cmd/cloud/objectstore/list-keys.d.ts +0 -3
- package/dist/cmd/cloud/objectstore/list-keys.d.ts.map +0 -1
- package/dist/cmd/cloud/objectstore/list-keys.js +0 -58
- package/dist/cmd/cloud/objectstore/list-keys.js.map +0 -1
- package/dist/cmd/cloud/objectstore/put.d.ts +0 -3
- package/dist/cmd/cloud/objectstore/put.d.ts.map +0 -1
- package/dist/cmd/cloud/objectstore/put.js +0 -66
- package/dist/cmd/cloud/objectstore/put.js.map +0 -1
- package/dist/cmd/cloud/objectstore/repl.d.ts +0 -3
- package/dist/cmd/cloud/objectstore/repl.d.ts.map +0 -1
- package/dist/cmd/cloud/objectstore/repl.js +0 -224
- package/dist/cmd/cloud/objectstore/repl.js.map +0 -1
- package/dist/cmd/cloud/objectstore/url.d.ts +0 -3
- package/dist/cmd/cloud/objectstore/url.d.ts.map +0 -1
- package/dist/cmd/cloud/objectstore/url.js +0 -64
- package/dist/cmd/cloud/objectstore/url.js.map +0 -1
- package/dist/cmd/cloud/objectstore/util.d.ts +0 -11
- package/dist/cmd/cloud/objectstore/util.d.ts.map +0 -1
- package/dist/cmd/cloud/objectstore/util.js +0 -18
- package/dist/cmd/cloud/objectstore/util.js.map +0 -1
- package/src/cmd/build/ast.test.ts +0 -418
- package/src/cmd/build/fix-duplicate-exports.test.ts +0 -387
- package/src/cmd/cloud/objectstore/delete-bucket.ts +0 -77
- package/src/cmd/cloud/objectstore/delete.ts +0 -67
- package/src/cmd/cloud/objectstore/get.ts +0 -77
- package/src/cmd/cloud/objectstore/index.ts +0 -36
- package/src/cmd/cloud/objectstore/list-buckets.ts +0 -51
- package/src/cmd/cloud/objectstore/list-keys.ts +0 -63
- package/src/cmd/cloud/objectstore/put.ts +0 -74
- package/src/cmd/cloud/objectstore/repl.ts +0 -239
- package/src/cmd/cloud/objectstore/url.ts +0 -67
- package/src/cmd/cloud/objectstore/util.ts +0 -29
- package/src/crypto/box.test.ts +0 -431
- package/src/env-util.test.ts +0 -194
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
import { createCommand } from '../../../types';
|
|
3
|
-
import * as tui from '../../../tui';
|
|
4
|
-
import { createStorageAdapter } from './util';
|
|
5
|
-
import { getCommand } from '../../../command-prefix';
|
|
6
|
-
const ObjectStoreDeleteResponseSchema = z.object({
|
|
7
|
-
success: z.boolean().describe('Whether the operation succeeded'),
|
|
8
|
-
bucket: z.string().describe('Bucket name'),
|
|
9
|
-
key: z.string().describe('Object key'),
|
|
10
|
-
deleted: z
|
|
11
|
-
.boolean()
|
|
12
|
-
.describe('Whether the object was actually deleted (false if it did not exist)'),
|
|
13
|
-
durationMs: z.number().describe('Operation duration in milliseconds'),
|
|
14
|
-
});
|
|
15
|
-
export const deleteSubcommand = createCommand({
|
|
16
|
-
name: 'delete',
|
|
17
|
-
aliases: ['del', 'rm', 'remove'],
|
|
18
|
-
description: 'Delete an object from the object storage',
|
|
19
|
-
tags: ['destructive', 'deletes-resource', 'slow', 'requires-auth'],
|
|
20
|
-
idempotent: true,
|
|
21
|
-
requires: { auth: true, project: true },
|
|
22
|
-
examples: [
|
|
23
|
-
{
|
|
24
|
-
command: getCommand('objectstore delete uploads images/old-logo.png'),
|
|
25
|
-
description: 'Delete old logo',
|
|
26
|
-
},
|
|
27
|
-
{
|
|
28
|
-
command: getCommand('objectstore rm assets data/temp.json'),
|
|
29
|
-
description: 'Remove temp file (using alias)',
|
|
30
|
-
},
|
|
31
|
-
{
|
|
32
|
-
command: getCommand('objectstore delete backups db-2023.sql'),
|
|
33
|
-
description: 'Delete old backup',
|
|
34
|
-
},
|
|
35
|
-
],
|
|
36
|
-
schema: {
|
|
37
|
-
args: z.object({
|
|
38
|
-
bucket: z.string().min(1).describe('the bucket name'),
|
|
39
|
-
key: z.string().min(1).describe('the key name'),
|
|
40
|
-
}),
|
|
41
|
-
response: ObjectStoreDeleteResponseSchema,
|
|
42
|
-
},
|
|
43
|
-
async handler(ctx) {
|
|
44
|
-
const { args } = ctx;
|
|
45
|
-
const started = Date.now();
|
|
46
|
-
const storage = await createStorageAdapter(ctx);
|
|
47
|
-
const deleted = await storage.delete(args.bucket, args.key);
|
|
48
|
-
const durationMs = Date.now() - started;
|
|
49
|
-
if (deleted) {
|
|
50
|
-
tui.success(`deleted in ${durationMs.toFixed(1)}ms`);
|
|
51
|
-
}
|
|
52
|
-
else {
|
|
53
|
-
tui.warning(`${args.key} did not exist in bucket ${args.bucket}`);
|
|
54
|
-
}
|
|
55
|
-
return {
|
|
56
|
-
success: true,
|
|
57
|
-
bucket: args.bucket,
|
|
58
|
-
key: args.key,
|
|
59
|
-
deleted,
|
|
60
|
-
durationMs,
|
|
61
|
-
};
|
|
62
|
-
},
|
|
63
|
-
});
|
|
64
|
-
export default deleteSubcommand;
|
|
65
|
-
//# sourceMappingURL=delete.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../../src/cmd/cloud/objectstore/delete.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"get.d.ts","sourceRoot":"","sources":["../../../../src/cmd/cloud/objectstore/get.ts"],"names":[],"mappings":"AAYA,eAAO,MAAM,aAAa,sCA8DxB,CAAC;AAEH,eAAe,aAAa,CAAC"}
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
import { createCommand } from '../../../types';
|
|
3
|
-
import * as tui from '../../../tui';
|
|
4
|
-
import { tryParseJSON } from '../../../json';
|
|
5
|
-
import { createStorageAdapter } from './util';
|
|
6
|
-
import { getCommand } from '../../../command-prefix';
|
|
7
|
-
const ObjectGetResponseSchema = z.object({
|
|
8
|
-
exists: z.boolean().describe('Whether the object exists'),
|
|
9
|
-
data: z.any().optional().describe('Object data (binary)'),
|
|
10
|
-
contentType: z.string().optional().describe('Content type'),
|
|
11
|
-
});
|
|
12
|
-
export const getSubcommand = createCommand({
|
|
13
|
-
name: 'get',
|
|
14
|
-
description: 'Get an object from the object storage',
|
|
15
|
-
tags: ['read-only', 'slow', 'requires-auth'],
|
|
16
|
-
requires: { auth: true, project: true },
|
|
17
|
-
examples: [
|
|
18
|
-
{
|
|
19
|
-
command: getCommand('objectstore get uploads images/logo.png'),
|
|
20
|
-
description: 'Download logo image',
|
|
21
|
-
},
|
|
22
|
-
{
|
|
23
|
-
command: getCommand('objectstore get assets data/export.json'),
|
|
24
|
-
description: 'Get JSON export',
|
|
25
|
-
},
|
|
26
|
-
{
|
|
27
|
-
command: getCommand('objectstore get backups db-2024.sql'),
|
|
28
|
-
description: 'Get database backup',
|
|
29
|
-
},
|
|
30
|
-
],
|
|
31
|
-
schema: {
|
|
32
|
-
args: z.object({
|
|
33
|
-
bucket: z.string().min(1).describe('the bucket name'),
|
|
34
|
-
key: z.string().min(1).describe('the key name'),
|
|
35
|
-
}),
|
|
36
|
-
response: ObjectGetResponseSchema,
|
|
37
|
-
},
|
|
38
|
-
idempotent: true,
|
|
39
|
-
async handler(ctx) {
|
|
40
|
-
const { args, options } = ctx;
|
|
41
|
-
const storage = await createStorageAdapter(ctx);
|
|
42
|
-
const started = Date.now();
|
|
43
|
-
const res = await storage.get(args.bucket, args.key);
|
|
44
|
-
if (!options.json) {
|
|
45
|
-
if (res.exists) {
|
|
46
|
-
if (res.data) {
|
|
47
|
-
if (res.contentType?.includes('json')) {
|
|
48
|
-
const val = tryParseJSON(new TextDecoder().decode(res.data));
|
|
49
|
-
tui.json(val);
|
|
50
|
-
}
|
|
51
|
-
else if (res.contentType?.includes('text')) {
|
|
52
|
-
console.log(new TextDecoder().decode(res.data));
|
|
53
|
-
}
|
|
54
|
-
else {
|
|
55
|
-
tui.info(`Read ${res.data.byteLength} bytes (${res.contentType})`);
|
|
56
|
-
}
|
|
57
|
-
tui.success(`retrieved in ${(Date.now() - started).toFixed(1)}ms (${res.contentType})`);
|
|
58
|
-
}
|
|
59
|
-
else {
|
|
60
|
-
tui.warning(`${args.key} returned empty data for bucket ${args.bucket}`);
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
else {
|
|
64
|
-
tui.warning(`${args.key} does not exist in bucket ${args.bucket}`);
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
return {
|
|
68
|
-
exists: res.exists,
|
|
69
|
-
data: res.data,
|
|
70
|
-
contentType: res.exists ? res.contentType : undefined,
|
|
71
|
-
};
|
|
72
|
-
},
|
|
73
|
-
});
|
|
74
|
-
export default getSubcommand;
|
|
75
|
-
//# sourceMappingURL=get.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"get.js","sourceRoot":"","sources":["../../../../src/cmd/cloud/objectstore/get.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/cmd/cloud/objectstore/index.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,OAAO,sCAuBlB,CAAC;AACH,eAAe,OAAO,CAAC"}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import { createCommand } from '../../../types';
|
|
2
|
-
import { deleteSubcommand } from './delete';
|
|
3
|
-
import { deleteBucketSubcommand } from './delete-bucket';
|
|
4
|
-
import { getSubcommand } from './get';
|
|
5
|
-
import { listBucketsSubcommand } from './list-buckets';
|
|
6
|
-
import { listKeysSubcommand } from './list-keys';
|
|
7
|
-
import { putSubcommand } from './put';
|
|
8
|
-
import { replSubcommand } from './repl';
|
|
9
|
-
import { urlSubcommand } from './url';
|
|
10
|
-
import { getCommand } from '../../../command-prefix';
|
|
11
|
-
export const command = createCommand({
|
|
12
|
-
name: 'objectstore',
|
|
13
|
-
aliases: ['object', 'obj'],
|
|
14
|
-
description: 'Manage object storage for your projects',
|
|
15
|
-
tags: ['read-only', 'fast', 'requires-auth'],
|
|
16
|
-
examples: [
|
|
17
|
-
{
|
|
18
|
-
command: getCommand('cloud objectstore repl'),
|
|
19
|
-
description: 'Start interactive object store REPL',
|
|
20
|
-
},
|
|
21
|
-
{ command: getCommand('cloud objectstore list-buckets'), description: 'List all buckets' },
|
|
22
|
-
],
|
|
23
|
-
subcommands: [
|
|
24
|
-
replSubcommand,
|
|
25
|
-
getSubcommand,
|
|
26
|
-
putSubcommand,
|
|
27
|
-
deleteSubcommand,
|
|
28
|
-
urlSubcommand,
|
|
29
|
-
listBucketsSubcommand,
|
|
30
|
-
listKeysSubcommand,
|
|
31
|
-
deleteBucketSubcommand,
|
|
32
|
-
],
|
|
33
|
-
requires: { auth: true, project: true },
|
|
34
|
-
});
|
|
35
|
-
export default command;
|
|
36
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/cmd/cloud/objectstore/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAErD,MAAM,CAAC,MAAM,OAAO,GAAG,aAAa,CAAC;IACpC,IAAI,EAAE,aAAa;IACnB,OAAO,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC;IAC1B,WAAW,EAAE,yCAAyC;IACtD,IAAI,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,eAAe,CAAC;IAC5C,QAAQ,EAAE;QACT;YACC,OAAO,EAAE,UAAU,CAAC,wBAAwB,CAAC;YAC7C,WAAW,EAAE,qCAAqC;SAClD;QACD,EAAE,OAAO,EAAE,UAAU,CAAC,gCAAgC,CAAC,EAAE,WAAW,EAAE,kBAAkB,EAAE;KAC1F;IACD,WAAW,EAAE;QACZ,cAAc;QACd,aAAa;QACb,aAAa;QACb,gBAAgB;QAChB,aAAa;QACb,qBAAqB;QACrB,kBAAkB;QAClB,sBAAsB;KACtB;IACD,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE;CACvC,CAAC,CAAC;AACH,eAAe,OAAO,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"list-buckets.d.ts","sourceRoot":"","sources":["../../../../src/cmd/cloud/objectstore/list-buckets.ts"],"names":[],"mappings":"AAaA,eAAO,MAAM,qBAAqB,sCAmChC,CAAC;AAEH,eAAe,qBAAqB,CAAC"}
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
import { createCommand } from '../../../types';
|
|
3
|
-
import * as tui from '../../../tui';
|
|
4
|
-
import { createStorageAdapter } from './util';
|
|
5
|
-
import { getCommand } from '../../../command-prefix';
|
|
6
|
-
const BucketListResponseSchema = z.array(z.object({
|
|
7
|
-
name: z.string().describe('Bucket name'),
|
|
8
|
-
object_count: z.number().describe('Number of objects in bucket'),
|
|
9
|
-
total_bytes: z.number().describe('Total size in bytes'),
|
|
10
|
-
}));
|
|
11
|
-
export const listBucketsSubcommand = createCommand({
|
|
12
|
-
name: 'list-buckets',
|
|
13
|
-
description: 'List all object storage buckets',
|
|
14
|
-
tags: ['read-only', 'fast', 'requires-auth'],
|
|
15
|
-
requires: { auth: true, project: true },
|
|
16
|
-
schema: {
|
|
17
|
-
response: BucketListResponseSchema,
|
|
18
|
-
},
|
|
19
|
-
idempotent: true,
|
|
20
|
-
examples: [
|
|
21
|
-
{
|
|
22
|
-
command: getCommand('objectstore list-buckets'),
|
|
23
|
-
description: 'List all buckets with stats',
|
|
24
|
-
},
|
|
25
|
-
],
|
|
26
|
-
async handler(ctx) {
|
|
27
|
-
const { options } = ctx;
|
|
28
|
-
const storage = await createStorageAdapter(ctx);
|
|
29
|
-
const buckets = await storage.listBuckets();
|
|
30
|
-
if (!options.json) {
|
|
31
|
-
if (buckets.length === 0) {
|
|
32
|
-
tui.info('No buckets found');
|
|
33
|
-
}
|
|
34
|
-
else {
|
|
35
|
-
tui.info(`Found ${buckets.length} bucket(s):`);
|
|
36
|
-
for (const bucket of buckets) {
|
|
37
|
-
const sizeMB = (bucket.total_bytes / (1024 * 1024)).toFixed(2);
|
|
38
|
-
tui.info(` ${tui.bold(bucket.name)}: ${bucket.object_count} objects, ${sizeMB} MB`);
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
return buckets;
|
|
43
|
-
},
|
|
44
|
-
});
|
|
45
|
-
export default listBucketsSubcommand;
|
|
46
|
-
//# sourceMappingURL=list-buckets.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"list-buckets.js","sourceRoot":"","sources":["../../../../src/cmd/cloud/objectstore/list-buckets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,GAAG,MAAM,cAAc,CAAC;AACpC,OAAO,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CACvC,CAAC,CAAC,MAAM,CAAC;IACR,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC;IACxC,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;IAChE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;CACvD,CAAC,CACF,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG,aAAa,CAAC;IAClD,IAAI,EAAE,cAAc;IACpB,WAAW,EAAE,iCAAiC;IAC9C,IAAI,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,eAAe,CAAC;IAC5C,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE;IACvC,MAAM,EAAE;QACP,QAAQ,EAAE,wBAAwB;KAClC;IACD,UAAU,EAAE,IAAI;IAChB,QAAQ,EAAE;QACT;YACC,OAAO,EAAE,UAAU,CAAC,0BAA0B,CAAC;YAC/C,WAAW,EAAE,6BAA6B;SAC1C;KACD;IAED,KAAK,CAAC,OAAO,CAAC,GAAG;QAChB,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC;QACxB,MAAM,OAAO,GAAG,MAAM,oBAAoB,CAAC,GAAG,CAAC,CAAC;QAChD,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,WAAW,EAAE,CAAC;QAE5C,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YACnB,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC1B,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;YAC9B,CAAC;iBAAM,CAAC;gBACP,GAAG,CAAC,IAAI,CAAC,SAAS,OAAO,CAAC,MAAM,aAAa,CAAC,CAAC;gBAC/C,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;oBAC9B,MAAM,MAAM,GAAG,CAAC,MAAM,CAAC,WAAW,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;oBAC/D,GAAG,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC,YAAY,aAAa,MAAM,KAAK,CAAC,CAAC;gBACtF,CAAC;YACF,CAAC;QACF,CAAC;QAED,OAAO,OAAO,CAAC;IAChB,CAAC;CACD,CAAC,CAAC;AAEH,eAAe,qBAAqB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"list-keys.d.ts","sourceRoot":"","sources":["../../../../src/cmd/cloud/objectstore/list-keys.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,kBAAkB,sCAuD7B,CAAC;AAEH,eAAe,kBAAkB,CAAC"}
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
import { createCommand } from '../../../types';
|
|
3
|
-
import * as tui from '../../../tui';
|
|
4
|
-
import { createStorageAdapter } from './util';
|
|
5
|
-
import { getCommand } from '../../../command-prefix';
|
|
6
|
-
export const listKeysSubcommand = createCommand({
|
|
7
|
-
name: 'list-keys',
|
|
8
|
-
aliases: ['ls', 'list'],
|
|
9
|
-
description: 'List all keys in an object storage bucket',
|
|
10
|
-
tags: ['read-only', 'slow', 'requires-auth'],
|
|
11
|
-
requires: { auth: true, project: true },
|
|
12
|
-
idempotent: true,
|
|
13
|
-
examples: [
|
|
14
|
-
{
|
|
15
|
-
command: getCommand('objectstore list-keys uploads'),
|
|
16
|
-
description: 'List all uploaded files',
|
|
17
|
-
},
|
|
18
|
-
{ command: getCommand('objectstore ls assets'), description: 'List assets (using alias)' },
|
|
19
|
-
{ command: getCommand('objectstore list backups'), description: 'List all backups' },
|
|
20
|
-
],
|
|
21
|
-
schema: {
|
|
22
|
-
args: z.object({
|
|
23
|
-
bucket: z.string().min(1),
|
|
24
|
-
}),
|
|
25
|
-
response: z.object({
|
|
26
|
-
bucket: z.string().describe('Bucket name'),
|
|
27
|
-
objects: z
|
|
28
|
-
.array(z.object({
|
|
29
|
-
key: z.string().describe('Object key'),
|
|
30
|
-
size: z.number().describe('Object size in bytes'),
|
|
31
|
-
updated_at: z.string().describe('Last update timestamp'),
|
|
32
|
-
}))
|
|
33
|
-
.describe('List of objects in the bucket'),
|
|
34
|
-
count: z.number().describe('Number of objects found'),
|
|
35
|
-
}),
|
|
36
|
-
},
|
|
37
|
-
async handler(ctx) {
|
|
38
|
-
const { args, options } = ctx;
|
|
39
|
-
const objectStore = await createStorageAdapter(ctx);
|
|
40
|
-
const objects = await objectStore.listKeys(args.bucket);
|
|
41
|
-
if (!options.json) {
|
|
42
|
-
if (objects.length === 0) {
|
|
43
|
-
tui.info(`No objects found in bucket ${tui.bold(args.bucket)}`);
|
|
44
|
-
}
|
|
45
|
-
else {
|
|
46
|
-
tui.info(`Found ${objects.length} object(s) in ${tui.bold(args.bucket)}:`);
|
|
47
|
-
for (const obj of objects) {
|
|
48
|
-
const sizeMB = (obj.size / (1024 * 1024)).toFixed(2);
|
|
49
|
-
const date = new Date(obj.updated_at).toLocaleString();
|
|
50
|
-
tui.info(` ${tui.bold(obj.key)}: ${sizeMB} MB, updated ${date}`);
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
return { bucket: args.bucket, objects, count: objects.length };
|
|
55
|
-
},
|
|
56
|
-
});
|
|
57
|
-
export default listKeysSubcommand;
|
|
58
|
-
//# sourceMappingURL=list-keys.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"list-keys.js","sourceRoot":"","sources":["../../../../src/cmd/cloud/objectstore/list-keys.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,GAAG,MAAM,cAAc,CAAC;AACpC,OAAO,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,MAAM,CAAC,MAAM,kBAAkB,GAAG,aAAa,CAAC;IAC/C,IAAI,EAAE,WAAW;IACjB,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,2CAA2C;IACxD,IAAI,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,eAAe,CAAC;IAC5C,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE;IACvC,UAAU,EAAE,IAAI;IAChB,QAAQ,EAAE;QACT;YACC,OAAO,EAAE,UAAU,CAAC,+BAA+B,CAAC;YACpD,WAAW,EAAE,yBAAyB;SACtC;QACD,EAAE,OAAO,EAAE,UAAU,CAAC,uBAAuB,CAAC,EAAE,WAAW,EAAE,2BAA2B,EAAE;QAC1F,EAAE,OAAO,EAAE,UAAU,CAAC,0BAA0B,CAAC,EAAE,WAAW,EAAE,kBAAkB,EAAE;KACpF;IACD,MAAM,EAAE;QACP,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;YACd,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;SACzB,CAAC;QACF,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC;YAClB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC;YAC1C,OAAO,EAAE,CAAC;iBACR,KAAK,CACL,CAAC,CAAC,MAAM,CAAC;gBACR,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;gBACtC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;gBACjD,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;aACxD,CAAC,CACF;iBACA,QAAQ,CAAC,+BAA+B,CAAC;YAC3C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;SACrD,CAAC;KACF;IAED,KAAK,CAAC,OAAO,CAAC,GAAG;QAChB,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC;QAC9B,MAAM,WAAW,GAAG,MAAM,oBAAoB,CAAC,GAAG,CAAC,CAAC;QAEpD,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAExD,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YACnB,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC1B,GAAG,CAAC,IAAI,CAAC,8BAA8B,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACjE,CAAC;iBAAM,CAAC;gBACP,GAAG,CAAC,IAAI,CAAC,SAAS,OAAO,CAAC,MAAM,iBAAiB,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAC3E,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;oBAC3B,MAAM,MAAM,GAAG,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;oBACrD,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,cAAc,EAAE,CAAC;oBACvD,GAAG,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,MAAM,gBAAgB,IAAI,EAAE,CAAC,CAAC;gBACnE,CAAC;YACF,CAAC;QACF,CAAC;QAED,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;IAChE,CAAC;CACD,CAAC,CAAC;AAEH,eAAe,kBAAkB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"put.d.ts","sourceRoot":"","sources":["../../../../src/cmd/cloud/objectstore/put.ts"],"names":[],"mappings":"AAeA,eAAO,MAAM,aAAa,sCAwDxB,CAAC;AAEH,eAAe,aAAa,CAAC"}
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
import { createCommand } from '../../../types';
|
|
3
|
-
import * as tui from '../../../tui';
|
|
4
|
-
import { isPossiblyJSON } from '../../../json';
|
|
5
|
-
import { createStorageAdapter } from './util';
|
|
6
|
-
import { getCommand } from '../../../command-prefix';
|
|
7
|
-
const ObjectStorePutResponseSchema = z.object({
|
|
8
|
-
success: z.boolean().describe('Whether the operation succeeded'),
|
|
9
|
-
bucket: z.string().describe('Bucket name'),
|
|
10
|
-
key: z.string().describe('Object key'),
|
|
11
|
-
size: z.number().describe('Size in bytes'),
|
|
12
|
-
contentType: z.string().describe('Content type'),
|
|
13
|
-
durationMs: z.number().describe('Operation duration in milliseconds'),
|
|
14
|
-
});
|
|
15
|
-
export const putSubcommand = createCommand({
|
|
16
|
-
name: 'put',
|
|
17
|
-
description: 'Put an object into the object storage',
|
|
18
|
-
tags: ['mutating', 'creates-resource', 'slow', 'requires-auth'],
|
|
19
|
-
idempotent: true,
|
|
20
|
-
requires: { auth: true, project: true },
|
|
21
|
-
examples: [
|
|
22
|
-
{
|
|
23
|
-
command: getCommand('objectstore put uploads images/logo.png @./logo.png'),
|
|
24
|
-
description: 'Upload logo from file',
|
|
25
|
-
},
|
|
26
|
-
{
|
|
27
|
-
command: getCommand('objectstore put assets data/config.json \'{"api":"https://api.example.com"}\''),
|
|
28
|
-
description: 'Store JSON config',
|
|
29
|
-
},
|
|
30
|
-
{
|
|
31
|
-
command: getCommand('objectstore put backups db-2024.sql @~/Downloads/backup.sql --content-type application/sql'),
|
|
32
|
-
description: 'Upload SQL backup',
|
|
33
|
-
},
|
|
34
|
-
],
|
|
35
|
-
schema: {
|
|
36
|
-
args: z.object({
|
|
37
|
-
bucket: z.string().min(1).max(64).describe('the bucket name'),
|
|
38
|
-
key: z.string().min(1).max(64).describe('the key name'),
|
|
39
|
-
value: z.string().min(1).describe('the value'),
|
|
40
|
-
contentType: z.string().optional().describe('an optional content type'),
|
|
41
|
-
}),
|
|
42
|
-
response: ObjectStorePutResponseSchema,
|
|
43
|
-
},
|
|
44
|
-
async handler(ctx) {
|
|
45
|
-
const { args } = ctx;
|
|
46
|
-
const started = Date.now();
|
|
47
|
-
const storage = await createStorageAdapter(ctx);
|
|
48
|
-
const contentType = args.contentType ?? (isPossiblyJSON(args.value) ? 'application/json' : 'text/plain');
|
|
49
|
-
const data = new TextEncoder().encode(args.value);
|
|
50
|
-
await storage.put(args.bucket, args.key, data, {
|
|
51
|
-
contentType,
|
|
52
|
-
});
|
|
53
|
-
const durationMs = Date.now() - started;
|
|
54
|
-
tui.success(`saved in ${durationMs.toFixed(1)}ms (${contentType})`);
|
|
55
|
-
return {
|
|
56
|
-
success: true,
|
|
57
|
-
bucket: args.bucket,
|
|
58
|
-
key: args.key,
|
|
59
|
-
size: data.length,
|
|
60
|
-
contentType,
|
|
61
|
-
durationMs,
|
|
62
|
-
};
|
|
63
|
-
},
|
|
64
|
-
});
|
|
65
|
-
export default putSubcommand;
|
|
66
|
-
//# sourceMappingURL=put.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"put.js","sourceRoot":"","sources":["../../../../src/cmd/cloud/objectstore/put.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"repl.d.ts","sourceRoot":"","sources":["../../../../src/cmd/cloud/objectstore/repl.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,cAAc,sCAoOzB,CAAC;AAEH,eAAe,cAAc,CAAC"}
|