berget 2.2.7 → 2.2.9
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/.github/workflows/publish.yml +6 -6
- package/.github/workflows/test.yml +1 -1
- package/.prettierrc +5 -3
- package/dist/index.js +24 -25
- package/dist/package.json +7 -3
- package/dist/src/agents/app.js +8 -8
- package/dist/src/agents/backend.js +3 -3
- package/dist/src/agents/devops.js +8 -8
- package/dist/src/agents/frontend.js +3 -3
- package/dist/src/agents/fullstack.js +3 -3
- package/dist/src/agents/index.js +18 -18
- package/dist/src/agents/quality.js +8 -8
- package/dist/src/agents/security.js +8 -8
- package/dist/src/client.js +115 -127
- package/dist/src/commands/api-keys.js +181 -202
- package/dist/src/commands/auth.js +16 -25
- package/dist/src/commands/autocomplete.js +8 -8
- package/dist/src/commands/billing.js +10 -19
- package/dist/src/commands/chat.js +139 -170
- package/dist/src/commands/clusters.js +21 -30
- package/dist/src/commands/code/__tests__/auth-sync.test.js +189 -186
- package/dist/src/commands/code/__tests__/fake-api-key-service.js +3 -13
- package/dist/src/commands/code/__tests__/fake-auth-service.js +21 -29
- package/dist/src/commands/code/__tests__/fake-command-runner.js +22 -33
- package/dist/src/commands/code/__tests__/fake-file-store.js +19 -41
- package/dist/src/commands/code/__tests__/fake-prompter.js +81 -97
- package/dist/src/commands/code/__tests__/setup-flow.test.js +295 -295
- package/dist/src/commands/code/adapters/clack-prompter.js +15 -32
- package/dist/src/commands/code/adapters/fs-file-store.js +25 -44
- package/dist/src/commands/code/adapters/spawn-command-runner.js +27 -41
- package/dist/src/commands/code/auth-sync.js +215 -228
- package/dist/src/commands/code/errors.js +15 -12
- package/dist/src/commands/code/setup.js +390 -425
- package/dist/src/commands/code.js +279 -294
- package/dist/src/commands/index.js +5 -5
- package/dist/src/commands/models.js +16 -25
- package/dist/src/commands/users.js +9 -18
- package/dist/src/constants/command-structure.js +138 -138
- package/dist/src/services/api-key-service.js +132 -152
- package/dist/src/services/auth-service.js +81 -95
- package/dist/src/services/browser-auth.js +121 -131
- package/dist/src/services/chat-service.js +369 -386
- package/dist/src/services/cluster-service.js +47 -62
- package/dist/src/services/collaborator-service.js +9 -21
- package/dist/src/services/flux-service.js +13 -25
- package/dist/src/services/helm-service.js +9 -21
- package/dist/src/services/kubectl-service.js +15 -29
- package/dist/src/utils/config-checker.js +8 -8
- package/dist/src/utils/config-loader.js +109 -109
- package/dist/src/utils/default-api-key.js +129 -139
- package/dist/src/utils/env-manager.js +55 -66
- package/dist/src/utils/error-handler.js +62 -62
- package/dist/src/utils/logger.js +74 -67
- package/dist/src/utils/markdown-renderer.js +28 -28
- package/dist/src/utils/opencode-validator.js +67 -69
- package/dist/src/utils/token-manager.js +67 -65
- package/dist/tests/commands/chat.test.js +30 -39
- package/dist/tests/commands/code.test.js +186 -195
- package/dist/tests/utils/config-loader.test.js +107 -107
- package/dist/tests/utils/env-manager.test.js +81 -90
- package/dist/tests/utils/opencode-validator.test.js +42 -41
- package/dist/vitest.config.js +1 -1
- package/eslint.config.mjs +65 -30
- package/index.ts +30 -31
- package/package.json +7 -3
- package/src/agents/app.ts +9 -9
- package/src/agents/backend.ts +4 -4
- package/src/agents/devops.ts +9 -9
- package/src/agents/frontend.ts +4 -4
- package/src/agents/fullstack.ts +4 -4
- package/src/agents/index.ts +27 -25
- package/src/agents/quality.ts +9 -9
- package/src/agents/security.ts +9 -9
- package/src/agents/types.ts +10 -10
- package/src/client.ts +85 -77
- package/src/commands/api-keys.ts +180 -185
- package/src/commands/auth.ts +15 -14
- package/src/commands/autocomplete.ts +10 -10
- package/src/commands/billing.ts +13 -12
- package/src/commands/chat.ts +145 -142
- package/src/commands/clusters.ts +20 -19
- package/src/commands/code/__tests__/auth-sync.test.ts +176 -175
- package/src/commands/code/__tests__/fake-api-key-service.ts +2 -2
- package/src/commands/code/__tests__/fake-auth-service.ts +18 -18
- package/src/commands/code/__tests__/fake-command-runner.ts +28 -22
- package/src/commands/code/__tests__/fake-file-store.ts +15 -15
- package/src/commands/code/__tests__/fake-prompter.ts +86 -85
- package/src/commands/code/__tests__/setup-flow.test.ts +253 -251
- package/src/commands/code/adapters/clack-prompter.ts +32 -30
- package/src/commands/code/adapters/fs-file-store.ts +18 -17
- package/src/commands/code/adapters/spawn-command-runner.ts +20 -15
- package/src/commands/code/auth-sync.ts +210 -210
- package/src/commands/code/errors.ts +11 -11
- package/src/commands/code/ports/auth-services.ts +7 -7
- package/src/commands/code/ports/command-runner.ts +2 -2
- package/src/commands/code/ports/file-store.ts +3 -3
- package/src/commands/code/ports/prompter.ts +13 -13
- package/src/commands/code/setup.ts +408 -406
- package/src/commands/code.ts +288 -287
- package/src/commands/index.ts +11 -10
- package/src/commands/models.ts +19 -18
- package/src/commands/users.ts +11 -10
- package/src/constants/command-structure.ts +159 -159
- package/src/services/api-key-service.ts +85 -85
- package/src/services/auth-service.ts +55 -54
- package/src/services/browser-auth.ts +62 -62
- package/src/services/chat-service.ts +170 -171
- package/src/services/cluster-service.ts +28 -28
- package/src/services/collaborator-service.ts +6 -6
- package/src/services/flux-service.ts +17 -17
- package/src/services/helm-service.ts +11 -11
- package/src/services/kubectl-service.ts +12 -12
- package/src/types/api.d.ts +1933 -1933
- package/src/types/json.d.ts +1 -1
- package/src/utils/config-checker.ts +7 -7
- package/src/utils/config-loader.ts +130 -129
- package/src/utils/default-api-key.ts +81 -80
- package/src/utils/env-manager.ts +37 -37
- package/src/utils/error-handler.ts +64 -64
- package/src/utils/logger.ts +72 -66
- package/src/utils/markdown-renderer.ts +28 -28
- package/src/utils/opencode-validator.ts +72 -71
- package/src/utils/token-manager.ts +69 -68
- package/tests/commands/chat.test.ts +32 -31
- package/tests/commands/code.test.ts +182 -181
- package/tests/utils/config-loader.test.ts +111 -110
- package/tests/utils/env-manager.test.ts +83 -79
- package/tests/utils/opencode-validator.test.ts +43 -42
- package/tsconfig.json +2 -1
- package/vitest.config.ts +2 -2
package/src/commands/index.ts
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
|
-
import { Command } from
|
|
2
|
-
|
|
3
|
-
import { registerApiKeyCommands } from
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
|
|
3
|
+
import { registerApiKeyCommands } from './api-keys';
|
|
4
|
+
import { registerAuthCommands } from './auth';
|
|
5
|
+
import { registerAutocompleteCommands } from './autocomplete';
|
|
6
|
+
import { registerBillingCommands } from './billing';
|
|
7
|
+
import { registerChatCommands } from './chat';
|
|
8
|
+
import { registerClusterCommands } from './clusters';
|
|
9
|
+
import { registerCodeCommands } from './code';
|
|
10
|
+
import { registerModelCommands } from './models';
|
|
11
|
+
import { registerUserCommands } from './users';
|
|
11
12
|
|
|
12
13
|
/**
|
|
13
14
|
* Register all command groups with the program
|
package/src/commands/models.ts
CHANGED
|
@@ -1,58 +1,59 @@
|
|
|
1
|
-
import { Command } from
|
|
2
|
-
|
|
3
|
-
import { createAuthenticatedClient } from
|
|
4
|
-
import {
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
|
|
3
|
+
import { createAuthenticatedClient } from '../client';
|
|
4
|
+
import { COMMAND_GROUPS, SUBCOMMANDS } from '../constants/command-structure';
|
|
5
|
+
import { handleError } from '../utils/error-handler';
|
|
5
6
|
|
|
6
7
|
/**
|
|
7
8
|
* Register models commands
|
|
8
9
|
*/
|
|
9
10
|
export function registerModelCommands(program: Command): void {
|
|
10
|
-
const models = program.command(COMMAND_GROUPS.MODELS).description(
|
|
11
|
+
const models = program.command(COMMAND_GROUPS.MODELS).description('Manage AI models');
|
|
11
12
|
|
|
12
13
|
models
|
|
13
14
|
.command(SUBCOMMANDS.MODELS.LIST)
|
|
14
|
-
.description(
|
|
15
|
-
.option(
|
|
16
|
-
.action(async options => {
|
|
15
|
+
.description('List available AI models')
|
|
16
|
+
.option('--id <modelId>', 'Get details for a specific model')
|
|
17
|
+
.action(async (options) => {
|
|
17
18
|
try {
|
|
18
19
|
const client = createAuthenticatedClient();
|
|
19
20
|
let response;
|
|
20
21
|
|
|
21
22
|
if (options.id) {
|
|
22
|
-
const { data, error } = await client.GET(
|
|
23
|
+
const { data, error } = await client.GET('/v1/models/{modelId}', {
|
|
23
24
|
params: { path: { modelId: options.id } },
|
|
24
25
|
});
|
|
25
26
|
if (error) throw new Error(JSON.stringify(error));
|
|
26
27
|
response = data;
|
|
27
28
|
|
|
28
|
-
console.log(
|
|
29
|
+
console.log('Model Details:');
|
|
29
30
|
console.log(JSON.stringify(response, null, 2));
|
|
30
31
|
} else {
|
|
31
|
-
const { data, error } = await client.GET(
|
|
32
|
+
const { data, error } = await client.GET('/v1/models');
|
|
32
33
|
if (error) throw new Error(JSON.stringify(error));
|
|
33
34
|
response = data;
|
|
34
35
|
|
|
35
|
-
console.log(
|
|
36
|
+
console.log('Available Models:');
|
|
36
37
|
console.log(
|
|
37
|
-
|
|
38
|
+
'ID OWNED BY CAPABILITIES',
|
|
38
39
|
);
|
|
39
40
|
// Ensure response has the expected structure
|
|
40
41
|
const modelData = response as { data?: any[] };
|
|
41
42
|
if (modelData.data) {
|
|
42
43
|
modelData.data.forEach((model: any) => {
|
|
43
44
|
const capabilities = [];
|
|
44
|
-
if (model.capabilities.vision) capabilities.push(
|
|
45
|
-
if (model.capabilities.function_calling) capabilities.push(
|
|
46
|
-
if (model.capabilities.json_mode) capabilities.push(
|
|
45
|
+
if (model.capabilities.vision) capabilities.push('vision');
|
|
46
|
+
if (model.capabilities.function_calling) capabilities.push('function_calling');
|
|
47
|
+
if (model.capabilities.json_mode) capabilities.push('json_mode');
|
|
47
48
|
|
|
48
49
|
console.log(
|
|
49
|
-
`${model.root.padEnd(50)} ${model.owned_by.padEnd(24)} ${capabilities.join(
|
|
50
|
+
`${model.root.padEnd(50)} ${model.owned_by.padEnd(24)} ${capabilities.join(', ')}`,
|
|
50
51
|
);
|
|
51
52
|
});
|
|
52
53
|
}
|
|
53
54
|
}
|
|
54
55
|
} catch (error) {
|
|
55
|
-
handleError(
|
|
56
|
+
handleError('Failed to get models', error);
|
|
56
57
|
}
|
|
57
58
|
});
|
|
58
59
|
}
|
package/src/commands/users.ts
CHANGED
|
@@ -1,30 +1,31 @@
|
|
|
1
|
-
import { Command } from
|
|
2
|
-
|
|
3
|
-
import { createAuthenticatedClient } from
|
|
4
|
-
import {
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
|
|
3
|
+
import { createAuthenticatedClient } from '../client';
|
|
4
|
+
import { COMMAND_GROUPS, SUBCOMMANDS } from '../constants/command-structure';
|
|
5
|
+
import { handleError } from '../utils/error-handler';
|
|
5
6
|
|
|
6
7
|
/**
|
|
7
8
|
* Register user commands
|
|
8
9
|
*/
|
|
9
10
|
export function registerUserCommands(program: Command): void {
|
|
10
|
-
const users = program.command(COMMAND_GROUPS.USERS).description(
|
|
11
|
+
const users = program.command(COMMAND_GROUPS.USERS).description('Manage users');
|
|
11
12
|
|
|
12
13
|
users
|
|
13
14
|
.command(SUBCOMMANDS.USERS.LIST)
|
|
14
|
-
.description(
|
|
15
|
+
.description('List team members')
|
|
15
16
|
.action(async () => {
|
|
16
17
|
try {
|
|
17
18
|
const client = createAuthenticatedClient();
|
|
18
|
-
const { data, error } = await client.GET(
|
|
19
|
+
const { data, error } = await client.GET('/v1/users');
|
|
19
20
|
if (error) throw new Error(JSON.stringify(error));
|
|
20
21
|
|
|
21
|
-
console.log(
|
|
22
|
-
console.log(
|
|
22
|
+
console.log('Team Members:');
|
|
23
|
+
console.log('NAME EMAIL ROLE');
|
|
23
24
|
data.forEach((user: any) => {
|
|
24
25
|
console.log(`${user.name.padEnd(24)} ${user.email.padEnd(30)} ${user.role}`);
|
|
25
26
|
});
|
|
26
27
|
} catch (error) {
|
|
27
|
-
handleError(
|
|
28
|
+
handleError('Failed to list team members', error);
|
|
28
29
|
}
|
|
29
30
|
});
|
|
30
31
|
}
|
|
@@ -5,216 +5,216 @@
|
|
|
5
5
|
|
|
6
6
|
// Main command groups
|
|
7
7
|
export const COMMAND_GROUPS = {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
FLUX:
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
8
|
+
API_KEYS: 'api-keys',
|
|
9
|
+
APPS: 'apps',
|
|
10
|
+
AUTH: 'auth',
|
|
11
|
+
BILLING: 'billing',
|
|
12
|
+
CHAT: 'chat',
|
|
13
|
+
CLUSTERS: 'clusters',
|
|
14
|
+
CODE: 'code',
|
|
15
|
+
FLUX: 'flux',
|
|
16
|
+
HELM: 'helm',
|
|
17
|
+
KUBECTL: 'kubectl',
|
|
18
|
+
MODELS: 'models',
|
|
19
|
+
USERS: 'users',
|
|
20
20
|
};
|
|
21
21
|
|
|
22
22
|
// Subcommands for each group
|
|
23
23
|
export const SUBCOMMANDS = {
|
|
24
|
-
//
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
24
|
+
// API Keys commands
|
|
25
|
+
API_KEYS: {
|
|
26
|
+
CREATE: 'create',
|
|
27
|
+
DELETE: 'delete',
|
|
28
|
+
DESCRIBE: 'describe',
|
|
29
|
+
GET_DEFAULT: 'get-default',
|
|
30
|
+
LIST: 'list',
|
|
31
|
+
ROTATE: 'rotate',
|
|
32
|
+
SET_DEFAULT: 'set-default',
|
|
29
33
|
},
|
|
30
34
|
|
|
31
|
-
//
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
+
// Apps commands
|
|
36
|
+
APPS: {
|
|
37
|
+
DESCRIBE_INSTALLATION: 'describe-installation',
|
|
38
|
+
DESCRIBE_TEMPLATE: 'describe-template',
|
|
39
|
+
INSTALL: 'install',
|
|
40
|
+
LIST_INSTALLATIONS: 'list-installations',
|
|
41
|
+
LIST_TEMPLATES: 'list-templates',
|
|
42
|
+
UNINSTALL: 'uninstall',
|
|
35
43
|
},
|
|
36
44
|
|
|
37
|
-
//
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
SERVE: "serve",
|
|
43
|
-
SETUP: "setup",
|
|
45
|
+
// Auth commands
|
|
46
|
+
AUTH: {
|
|
47
|
+
LOGIN: 'login',
|
|
48
|
+
LOGOUT: 'logout',
|
|
49
|
+
WHOAMI: 'whoami',
|
|
44
50
|
},
|
|
45
51
|
|
|
46
|
-
//
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
52
|
+
// Billing commands
|
|
53
|
+
BILLING: {
|
|
54
|
+
ADD_PAYMENT_METHOD: 'add-payment-method',
|
|
55
|
+
DESCRIBE_INVOICE: 'describe-invoice',
|
|
56
|
+
GET_USAGE: 'get-usage',
|
|
57
|
+
LIST_INVOICES: 'list-invoices',
|
|
58
|
+
LIST_PAYMENT_METHODS: 'list-payment-methods',
|
|
59
|
+
REMOVE_PAYMENT_METHOD: 'remove-payment-method',
|
|
60
|
+
UPDATE_SUBSCRIPTION: 'update-subscription',
|
|
61
|
+
},
|
|
62
|
+
|
|
63
|
+
// Chat commands
|
|
64
|
+
CHAT: {
|
|
65
|
+
LIST: 'list',
|
|
66
|
+
RUN: 'run',
|
|
55
67
|
},
|
|
56
68
|
|
|
57
69
|
// Clusters commands
|
|
58
70
|
CLUSTERS: {
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
71
|
+
DESCRIBE: 'describe',
|
|
72
|
+
GET_USAGE: 'get-usage',
|
|
73
|
+
LIST: 'list',
|
|
62
74
|
},
|
|
63
75
|
|
|
64
|
-
//
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
DESCRIBE_INSTALLATION: "describe-installation",
|
|
76
|
+
// Code commands
|
|
77
|
+
CODE: {
|
|
78
|
+
INIT: 'init',
|
|
79
|
+
RUN: 'run',
|
|
80
|
+
SERVE: 'serve',
|
|
81
|
+
SETUP: 'setup',
|
|
82
|
+
UPDATE: 'update',
|
|
72
83
|
},
|
|
73
84
|
|
|
74
|
-
//
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
85
|
+
// Flux commands
|
|
86
|
+
FLUX: {
|
|
87
|
+
BOOTSTRAP: 'bootstrap',
|
|
88
|
+
INSTALL: 'install',
|
|
78
89
|
},
|
|
79
90
|
|
|
80
91
|
// Helm commands
|
|
81
92
|
HELM: {
|
|
82
|
-
ADD_REPO:
|
|
83
|
-
INSTALL:
|
|
93
|
+
ADD_REPO: 'add-repo',
|
|
94
|
+
INSTALL: 'install',
|
|
84
95
|
},
|
|
85
96
|
|
|
86
97
|
// Kubectl commands
|
|
87
98
|
KUBECTL: {
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
GET:
|
|
99
|
+
APPLY: 'apply',
|
|
100
|
+
CREATE_NAMESPACE: 'create-namespace',
|
|
101
|
+
GET: 'get',
|
|
91
102
|
},
|
|
92
103
|
|
|
93
|
-
//
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
104
|
+
// Models commands
|
|
105
|
+
MODELS: {
|
|
106
|
+
DESCRIBE: 'describe',
|
|
107
|
+
LIST: 'list',
|
|
97
108
|
},
|
|
98
109
|
|
|
99
110
|
// Users commands
|
|
100
111
|
USERS: {
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
},
|
|
106
|
-
|
|
107
|
-
// Billing commands
|
|
108
|
-
BILLING: {
|
|
109
|
-
GET_USAGE: "get-usage",
|
|
110
|
-
LIST_INVOICES: "list-invoices",
|
|
111
|
-
DESCRIBE_INVOICE: "describe-invoice",
|
|
112
|
-
LIST_PAYMENT_METHODS: "list-payment-methods",
|
|
113
|
-
ADD_PAYMENT_METHOD: "add-payment-method",
|
|
114
|
-
REMOVE_PAYMENT_METHOD: "remove-payment-method",
|
|
115
|
-
UPDATE_SUBSCRIPTION: "update-subscription",
|
|
112
|
+
DESCRIBE: 'describe',
|
|
113
|
+
INVITE: 'invite',
|
|
114
|
+
LIST: 'list',
|
|
115
|
+
UPDATE: 'update',
|
|
116
116
|
},
|
|
117
117
|
};
|
|
118
118
|
|
|
119
119
|
// Command descriptions
|
|
120
120
|
export const COMMAND_DESCRIPTIONS = {
|
|
121
|
-
|
|
122
|
-
[COMMAND_GROUPS.
|
|
123
|
-
[`${COMMAND_GROUPS.AUTH} ${SUBCOMMANDS.AUTH.LOGIN}`]: "Log in to Berget AI",
|
|
124
|
-
[`${COMMAND_GROUPS.AUTH} ${SUBCOMMANDS.AUTH.LOGOUT}`]: "Log out from Berget AI",
|
|
125
|
-
[`${COMMAND_GROUPS.AUTH} ${SUBCOMMANDS.AUTH.WHOAMI}`]: "Display current user information",
|
|
126
|
-
|
|
127
|
-
// API Keys group
|
|
128
|
-
[COMMAND_GROUPS.API_KEYS]: "Manage API keys",
|
|
129
|
-
[`${COMMAND_GROUPS.API_KEYS} ${SUBCOMMANDS.API_KEYS.LIST}`]: "List all API keys",
|
|
130
|
-
[`${COMMAND_GROUPS.API_KEYS} ${SUBCOMMANDS.API_KEYS.CREATE}`]: "Create a new API key",
|
|
131
|
-
[`${COMMAND_GROUPS.API_KEYS} ${SUBCOMMANDS.API_KEYS.DELETE}`]: "Delete an API key",
|
|
132
|
-
[`${COMMAND_GROUPS.API_KEYS} ${SUBCOMMANDS.API_KEYS.ROTATE}`]: "Rotate an API key",
|
|
121
|
+
[`${COMMAND_GROUPS.API_KEYS} ${SUBCOMMANDS.API_KEYS.CREATE}`]: 'Create a new API key',
|
|
122
|
+
[`${COMMAND_GROUPS.API_KEYS} ${SUBCOMMANDS.API_KEYS.DELETE}`]: 'Delete an API key',
|
|
133
123
|
[`${COMMAND_GROUPS.API_KEYS} ${SUBCOMMANDS.API_KEYS.DESCRIBE}`]:
|
|
134
|
-
|
|
135
|
-
[`${COMMAND_GROUPS.API_KEYS} ${SUBCOMMANDS.API_KEYS.SET_DEFAULT}`]:
|
|
136
|
-
"Set an API key as the default for chat commands",
|
|
124
|
+
'Get usage statistics for an API key',
|
|
137
125
|
[`${COMMAND_GROUPS.API_KEYS} ${SUBCOMMANDS.API_KEYS.GET_DEFAULT}`]:
|
|
138
|
-
|
|
126
|
+
'Show the current default API key',
|
|
139
127
|
|
|
140
|
-
|
|
141
|
-
[COMMAND_GROUPS.
|
|
142
|
-
[`${COMMAND_GROUPS.
|
|
128
|
+
[`${COMMAND_GROUPS.API_KEYS} ${SUBCOMMANDS.API_KEYS.LIST}`]: 'List all API keys',
|
|
129
|
+
[`${COMMAND_GROUPS.API_KEYS} ${SUBCOMMANDS.API_KEYS.ROTATE}`]: 'Rotate an API key',
|
|
130
|
+
[`${COMMAND_GROUPS.API_KEYS} ${SUBCOMMANDS.API_KEYS.SET_DEFAULT}`]:
|
|
131
|
+
'Set an API key as the default for chat commands',
|
|
132
|
+
[`${COMMAND_GROUPS.APPS} ${SUBCOMMANDS.APPS.DESCRIBE_INSTALLATION}`]:
|
|
133
|
+
'Get detailed information about an installed application',
|
|
134
|
+
[`${COMMAND_GROUPS.APPS} ${SUBCOMMANDS.APPS.DESCRIBE_TEMPLATE}`]:
|
|
135
|
+
'Get detailed information about an application template',
|
|
136
|
+
[`${COMMAND_GROUPS.APPS} ${SUBCOMMANDS.APPS.INSTALL}`]: 'Install an application',
|
|
137
|
+
[`${COMMAND_GROUPS.APPS} ${SUBCOMMANDS.APPS.LIST_INSTALLATIONS}`]: 'List installed applications',
|
|
138
|
+
[`${COMMAND_GROUPS.APPS} ${SUBCOMMANDS.APPS.LIST_TEMPLATES}`]:
|
|
139
|
+
'List available application templates',
|
|
140
|
+
|
|
141
|
+
[`${COMMAND_GROUPS.APPS} ${SUBCOMMANDS.APPS.UNINSTALL}`]: 'Uninstall an application',
|
|
142
|
+
[`${COMMAND_GROUPS.AUTH} ${SUBCOMMANDS.AUTH.LOGIN}`]: 'Log in to Berget AI',
|
|
143
|
+
[`${COMMAND_GROUPS.AUTH} ${SUBCOMMANDS.AUTH.LOGOUT}`]: 'Log out from Berget AI',
|
|
144
|
+
[`${COMMAND_GROUPS.AUTH} ${SUBCOMMANDS.AUTH.WHOAMI}`]: 'Display current user information',
|
|
145
|
+
|
|
146
|
+
[`${COMMAND_GROUPS.BILLING} ${SUBCOMMANDS.BILLING.ADD_PAYMENT_METHOD}`]:
|
|
147
|
+
'Add a new payment method',
|
|
148
|
+
[`${COMMAND_GROUPS.BILLING} ${SUBCOMMANDS.BILLING.DESCRIBE_INVOICE}`]:
|
|
149
|
+
'Get detailed information about an invoice',
|
|
150
|
+
[`${COMMAND_GROUPS.BILLING} ${SUBCOMMANDS.BILLING.GET_USAGE}`]: 'Get current usage metrics',
|
|
151
|
+
[`${COMMAND_GROUPS.BILLING} ${SUBCOMMANDS.BILLING.LIST_INVOICES}`]: 'List all invoices',
|
|
152
|
+
[`${COMMAND_GROUPS.BILLING} ${SUBCOMMANDS.BILLING.LIST_PAYMENT_METHODS}`]:
|
|
153
|
+
'List all payment methods',
|
|
154
|
+
[`${COMMAND_GROUPS.BILLING} ${SUBCOMMANDS.BILLING.REMOVE_PAYMENT_METHOD}`]:
|
|
155
|
+
'Remove a payment method',
|
|
156
|
+
[`${COMMAND_GROUPS.BILLING} ${SUBCOMMANDS.BILLING.UPDATE_SUBSCRIPTION}`]:
|
|
157
|
+
'Update subscription plan',
|
|
158
|
+
|
|
159
|
+
[`${COMMAND_GROUPS.CHAT} ${SUBCOMMANDS.CHAT.LIST}`]: 'List available chat models',
|
|
160
|
+
[`${COMMAND_GROUPS.CHAT} ${SUBCOMMANDS.CHAT.RUN}`]: 'Run a chat session with a specified model',
|
|
143
161
|
[`${COMMAND_GROUPS.CLUSTERS} ${SUBCOMMANDS.CLUSTERS.DESCRIBE}`]:
|
|
144
|
-
|
|
145
|
-
[`${COMMAND_GROUPS.CLUSTERS} ${SUBCOMMANDS.CLUSTERS.GET_USAGE}`]:
|
|
146
|
-
"Get resource usage for a cluster",
|
|
162
|
+
'Get detailed information about a cluster',
|
|
147
163
|
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
[`${COMMAND_GROUPS.
|
|
151
|
-
|
|
152
|
-
[`${COMMAND_GROUPS.APPS} ${SUBCOMMANDS.APPS.DESCRIBE_TEMPLATE}`]:
|
|
153
|
-
"Get detailed information about an application template",
|
|
154
|
-
[`${COMMAND_GROUPS.APPS} ${SUBCOMMANDS.APPS.LIST_INSTALLATIONS}`]: "List installed applications",
|
|
155
|
-
[`${COMMAND_GROUPS.APPS} ${SUBCOMMANDS.APPS.INSTALL}`]: "Install an application",
|
|
156
|
-
[`${COMMAND_GROUPS.APPS} ${SUBCOMMANDS.APPS.UNINSTALL}`]: "Uninstall an application",
|
|
157
|
-
[`${COMMAND_GROUPS.APPS} ${SUBCOMMANDS.APPS.DESCRIBE_INSTALLATION}`]:
|
|
158
|
-
"Get detailed information about an installed application",
|
|
164
|
+
[`${COMMAND_GROUPS.CLUSTERS} ${SUBCOMMANDS.CLUSTERS.GET_USAGE}`]:
|
|
165
|
+
'Get resource usage for a cluster',
|
|
166
|
+
[`${COMMAND_GROUPS.CLUSTERS} ${SUBCOMMANDS.CLUSTERS.LIST}`]: 'List all clusters',
|
|
167
|
+
[`${COMMAND_GROUPS.CODE} ${SUBCOMMANDS.CODE.INIT}`]: 'Initialize project for AI coding assistant',
|
|
159
168
|
|
|
160
|
-
|
|
161
|
-
[COMMAND_GROUPS.
|
|
162
|
-
[`${COMMAND_GROUPS.
|
|
163
|
-
|
|
164
|
-
|
|
169
|
+
[`${COMMAND_GROUPS.CODE} ${SUBCOMMANDS.CODE.RUN}`]: 'Run AI coding assistant',
|
|
170
|
+
[`${COMMAND_GROUPS.CODE} ${SUBCOMMANDS.CODE.SERVE}`]: 'Start OpenCode web server',
|
|
171
|
+
[`${COMMAND_GROUPS.CODE} ${SUBCOMMANDS.CODE.SETUP}`]:
|
|
172
|
+
'Interactive setup for Berget AI coding tools',
|
|
173
|
+
[`${COMMAND_GROUPS.CODE} ${SUBCOMMANDS.CODE.UPDATE}`]:
|
|
174
|
+
'Update OpenCode and agents to latest versions',
|
|
165
175
|
|
|
166
|
-
|
|
167
|
-
[COMMAND_GROUPS.
|
|
168
|
-
[`${COMMAND_GROUPS.HELM} ${SUBCOMMANDS.HELM.ADD_REPO}`]:
|
|
169
|
-
[`${COMMAND_GROUPS.HELM} ${SUBCOMMANDS.HELM.INSTALL}`]: "Install a Helm chart",
|
|
176
|
+
[`${COMMAND_GROUPS.FLUX} ${SUBCOMMANDS.FLUX.BOOTSTRAP}`]: 'Bootstrap Flux CD',
|
|
177
|
+
[`${COMMAND_GROUPS.FLUX} ${SUBCOMMANDS.FLUX.INSTALL}`]: 'Install Flux CD',
|
|
178
|
+
[`${COMMAND_GROUPS.HELM} ${SUBCOMMANDS.HELM.ADD_REPO}`]: 'Add a Helm repository',
|
|
170
179
|
|
|
171
|
-
|
|
172
|
-
[COMMAND_GROUPS.KUBECTL]:
|
|
180
|
+
[`${COMMAND_GROUPS.HELM} ${SUBCOMMANDS.HELM.INSTALL}`]: 'Install a Helm chart',
|
|
181
|
+
[`${COMMAND_GROUPS.KUBECTL} ${SUBCOMMANDS.KUBECTL.APPLY}`]: 'Apply a Kubernetes configuration',
|
|
173
182
|
[`${COMMAND_GROUPS.KUBECTL} ${SUBCOMMANDS.KUBECTL.CREATE_NAMESPACE}`]:
|
|
174
|
-
|
|
175
|
-
[`${COMMAND_GROUPS.KUBECTL} ${SUBCOMMANDS.KUBECTL.
|
|
176
|
-
[`${COMMAND_GROUPS.
|
|
177
|
-
|
|
178
|
-
// Flux group
|
|
179
|
-
[COMMAND_GROUPS.FLUX]: "Manage Flux CD",
|
|
180
|
-
[`${COMMAND_GROUPS.FLUX} ${SUBCOMMANDS.FLUX.INSTALL}`]: "Install Flux CD",
|
|
181
|
-
[`${COMMAND_GROUPS.FLUX} ${SUBCOMMANDS.FLUX.BOOTSTRAP}`]: "Bootstrap Flux CD",
|
|
183
|
+
'Create a Kubernetes namespace',
|
|
184
|
+
[`${COMMAND_GROUPS.KUBECTL} ${SUBCOMMANDS.KUBECTL.GET}`]: 'Get Kubernetes resources',
|
|
185
|
+
[`${COMMAND_GROUPS.MODELS} ${SUBCOMMANDS.MODELS.DESCRIBE}`]:
|
|
186
|
+
'Get detailed information about an AI model',
|
|
182
187
|
|
|
183
|
-
|
|
184
|
-
[COMMAND_GROUPS.USERS]: "Manage users",
|
|
185
|
-
[`${COMMAND_GROUPS.USERS} ${SUBCOMMANDS.USERS.LIST}`]: "List all users in your organization",
|
|
188
|
+
[`${COMMAND_GROUPS.MODELS} ${SUBCOMMANDS.MODELS.LIST}`]: 'List available AI models',
|
|
186
189
|
[`${COMMAND_GROUPS.USERS} ${SUBCOMMANDS.USERS.DESCRIBE}`]:
|
|
187
|
-
|
|
188
|
-
[`${COMMAND_GROUPS.USERS} ${SUBCOMMANDS.USERS.
|
|
189
|
-
[`${COMMAND_GROUPS.USERS} ${SUBCOMMANDS.USERS.
|
|
190
|
+
'Get detailed information about a user',
|
|
191
|
+
[`${COMMAND_GROUPS.USERS} ${SUBCOMMANDS.USERS.INVITE}`]: 'Invite a new user to your organization',
|
|
192
|
+
[`${COMMAND_GROUPS.USERS} ${SUBCOMMANDS.USERS.LIST}`]: 'List all users in your organization',
|
|
193
|
+
[`${COMMAND_GROUPS.USERS} ${SUBCOMMANDS.USERS.UPDATE}`]: 'Update user information',
|
|
194
|
+
// API Keys group
|
|
195
|
+
[COMMAND_GROUPS.API_KEYS]: 'Manage API keys',
|
|
196
|
+
// Apps group
|
|
197
|
+
[COMMAND_GROUPS.APPS]: 'Manage applications',
|
|
198
|
+
// Auth group
|
|
199
|
+
[COMMAND_GROUPS.AUTH]: 'Manage authentication and authorization',
|
|
190
200
|
|
|
191
201
|
// Billing group
|
|
192
|
-
[COMMAND_GROUPS.BILLING]:
|
|
193
|
-
[`${COMMAND_GROUPS.BILLING} ${SUBCOMMANDS.BILLING.GET_USAGE}`]: "Get current usage metrics",
|
|
194
|
-
[`${COMMAND_GROUPS.BILLING} ${SUBCOMMANDS.BILLING.LIST_INVOICES}`]: "List all invoices",
|
|
195
|
-
[`${COMMAND_GROUPS.BILLING} ${SUBCOMMANDS.BILLING.DESCRIBE_INVOICE}`]:
|
|
196
|
-
"Get detailed information about an invoice",
|
|
197
|
-
[`${COMMAND_GROUPS.BILLING} ${SUBCOMMANDS.BILLING.LIST_PAYMENT_METHODS}`]:
|
|
198
|
-
"List all payment methods",
|
|
199
|
-
[`${COMMAND_GROUPS.BILLING} ${SUBCOMMANDS.BILLING.ADD_PAYMENT_METHOD}`]:
|
|
200
|
-
"Add a new payment method",
|
|
201
|
-
[`${COMMAND_GROUPS.BILLING} ${SUBCOMMANDS.BILLING.REMOVE_PAYMENT_METHOD}`]:
|
|
202
|
-
"Remove a payment method",
|
|
203
|
-
[`${COMMAND_GROUPS.BILLING} ${SUBCOMMANDS.BILLING.UPDATE_SUBSCRIPTION}`]:
|
|
204
|
-
"Update subscription plan",
|
|
205
|
-
|
|
202
|
+
[COMMAND_GROUPS.BILLING]: 'Manage billing and usage',
|
|
206
203
|
// Chat group
|
|
207
|
-
[COMMAND_GROUPS.CHAT]:
|
|
208
|
-
|
|
209
|
-
[
|
|
204
|
+
[COMMAND_GROUPS.CHAT]: 'Interact with AI chat models',
|
|
205
|
+
// Clusters group
|
|
206
|
+
[COMMAND_GROUPS.CLUSTERS]: 'Manage Kubernetes clusters',
|
|
210
207
|
|
|
211
208
|
// Code group
|
|
212
|
-
[COMMAND_GROUPS.CODE]:
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
[
|
|
217
|
-
|
|
218
|
-
[
|
|
219
|
-
|
|
209
|
+
[COMMAND_GROUPS.CODE]: 'AI-powered coding assistant with OpenCode',
|
|
210
|
+
// Flux group
|
|
211
|
+
[COMMAND_GROUPS.FLUX]: 'Manage Flux CD',
|
|
212
|
+
// Helm group
|
|
213
|
+
[COMMAND_GROUPS.HELM]: 'Manage Helm charts',
|
|
214
|
+
// Kubectl group
|
|
215
|
+
[COMMAND_GROUPS.KUBECTL]: 'Manage Kubernetes resources',
|
|
216
|
+
// Models group
|
|
217
|
+
[COMMAND_GROUPS.MODELS]: 'Manage AI models',
|
|
218
|
+
// Users group
|
|
219
|
+
[COMMAND_GROUPS.USERS]: 'Manage users',
|
|
220
220
|
};
|