@aaronsb/kg-cli 0.6.1
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 +112 -0
- package/dist/api/client.d.ts +867 -0
- package/dist/api/client.d.ts.map +1 -0
- package/dist/api/client.js +1362 -0
- package/dist/api/client.js.map +1 -0
- package/dist/cli/admin/backup.d.ts +9 -0
- package/dist/cli/admin/backup.d.ts.map +1 -0
- package/dist/cli/admin/backup.js +363 -0
- package/dist/cli/admin/backup.js.map +1 -0
- package/dist/cli/admin/index.d.ts +7 -0
- package/dist/cli/admin/index.d.ts.map +1 -0
- package/dist/cli/admin/index.js +52 -0
- package/dist/cli/admin/index.js.map +1 -0
- package/dist/cli/admin/scheduler.d.ts +7 -0
- package/dist/cli/admin/scheduler.d.ts.map +1 -0
- package/dist/cli/admin/scheduler.js +125 -0
- package/dist/cli/admin/scheduler.js.map +1 -0
- package/dist/cli/admin/status.d.ts +7 -0
- package/dist/cli/admin/status.d.ts.map +1 -0
- package/dist/cli/admin/status.js +134 -0
- package/dist/cli/admin/status.js.map +1 -0
- package/dist/cli/admin/utils.d.ts +34 -0
- package/dist/cli/admin/utils.d.ts.map +1 -0
- package/dist/cli/admin/utils.js +441 -0
- package/dist/cli/admin/utils.js.map +1 -0
- package/dist/cli/ai-config/embedding.d.ts +11 -0
- package/dist/cli/ai-config/embedding.d.ts.map +1 -0
- package/dist/cli/ai-config/embedding.js +598 -0
- package/dist/cli/ai-config/embedding.js.map +1 -0
- package/dist/cli/ai-config/extraction.d.ts +11 -0
- package/dist/cli/ai-config/extraction.d.ts.map +1 -0
- package/dist/cli/ai-config/extraction.js +206 -0
- package/dist/cli/ai-config/extraction.js.map +1 -0
- package/dist/cli/ai-config/index.d.ts +21 -0
- package/dist/cli/ai-config/index.d.ts.map +1 -0
- package/dist/cli/ai-config/index.js +27 -0
- package/dist/cli/ai-config/index.js.map +1 -0
- package/dist/cli/ai-config/keys.d.ts +11 -0
- package/dist/cli/ai-config/keys.d.ts.map +1 -0
- package/dist/cli/ai-config/keys.js +182 -0
- package/dist/cli/ai-config/keys.js.map +1 -0
- package/dist/cli/ai-config/utils.d.ts +13 -0
- package/dist/cli/ai-config/utils.d.ts.map +1 -0
- package/dist/cli/ai-config/utils.js +84 -0
- package/dist/cli/ai-config/utils.js.map +1 -0
- package/dist/cli/artifact.d.ts +8 -0
- package/dist/cli/artifact.d.ts.map +1 -0
- package/dist/cli/artifact.js +296 -0
- package/dist/cli/artifact.js.map +1 -0
- package/dist/cli/auth-admin.d.ts +11 -0
- package/dist/cli/auth-admin.d.ts.map +1 -0
- package/dist/cli/auth-admin.js +415 -0
- package/dist/cli/auth-admin.js.map +1 -0
- package/dist/cli/colors.d.ts +105 -0
- package/dist/cli/colors.d.ts.map +1 -0
- package/dist/cli/colors.js +164 -0
- package/dist/cli/colors.js.map +1 -0
- package/dist/cli/commands.d.ts +6 -0
- package/dist/cli/commands.d.ts.map +1 -0
- package/dist/cli/commands.js +164 -0
- package/dist/cli/commands.js.map +1 -0
- package/dist/cli/config.d.ts +6 -0
- package/dist/cli/config.d.ts.map +1 -0
- package/dist/cli/config.js +694 -0
- package/dist/cli/config.js.map +1 -0
- package/dist/cli/curve-viz.d.ts +89 -0
- package/dist/cli/curve-viz.d.ts.map +1 -0
- package/dist/cli/curve-viz.js +228 -0
- package/dist/cli/curve-viz.js.map +1 -0
- package/dist/cli/database.d.ts +6 -0
- package/dist/cli/database.d.ts.map +1 -0
- package/dist/cli/database.js +324 -0
- package/dist/cli/database.js.map +1 -0
- package/dist/cli/document.d.ts +6 -0
- package/dist/cli/document.d.ts.map +1 -0
- package/dist/cli/document.js +458 -0
- package/dist/cli/document.js.map +1 -0
- package/dist/cli/group.d.ts +8 -0
- package/dist/cli/group.d.ts.map +1 -0
- package/dist/cli/group.js +174 -0
- package/dist/cli/group.js.map +1 -0
- package/dist/cli/health.d.ts +6 -0
- package/dist/cli/health.d.ts.map +1 -0
- package/dist/cli/health.js +34 -0
- package/dist/cli/health.js.map +1 -0
- package/dist/cli/help-formatter.d.ts +16 -0
- package/dist/cli/help-formatter.d.ts.map +1 -0
- package/dist/cli/help-formatter.js +248 -0
- package/dist/cli/help-formatter.js.map +1 -0
- package/dist/cli/help.d.ts +9 -0
- package/dist/cli/help.d.ts.map +1 -0
- package/dist/cli/help.js +227 -0
- package/dist/cli/help.js.map +1 -0
- package/dist/cli/ingest.d.ts +6 -0
- package/dist/cli/ingest.d.ts.map +1 -0
- package/dist/cli/ingest.js +722 -0
- package/dist/cli/ingest.js.map +1 -0
- package/dist/cli/jobs.d.ts +6 -0
- package/dist/cli/jobs.d.ts.map +1 -0
- package/dist/cli/jobs.js +663 -0
- package/dist/cli/jobs.js.map +1 -0
- package/dist/cli/login.d.ts +21 -0
- package/dist/cli/login.d.ts.map +1 -0
- package/dist/cli/login.js +221 -0
- package/dist/cli/login.js.map +1 -0
- package/dist/cli/logout.d.ts +16 -0
- package/dist/cli/logout.d.ts.map +1 -0
- package/dist/cli/logout.js +141 -0
- package/dist/cli/logout.js.map +1 -0
- package/dist/cli/mcp-config.d.ts +10 -0
- package/dist/cli/mcp-config.d.ts.map +1 -0
- package/dist/cli/mcp-config.js +358 -0
- package/dist/cli/mcp-config.js.map +1 -0
- package/dist/cli/oauth.d.ts +15 -0
- package/dist/cli/oauth.d.ts.map +1 -0
- package/dist/cli/oauth.js +296 -0
- package/dist/cli/oauth.js.map +1 -0
- package/dist/cli/ontology.d.ts +6 -0
- package/dist/cli/ontology.d.ts.map +1 -0
- package/dist/cli/ontology.js +231 -0
- package/dist/cli/ontology.js.map +1 -0
- package/dist/cli/polarity.d.ts +6 -0
- package/dist/cli/polarity.d.ts.map +1 -0
- package/dist/cli/polarity.js +295 -0
- package/dist/cli/polarity.js.map +1 -0
- package/dist/cli/projection.d.ts +8 -0
- package/dist/cli/projection.d.ts.map +1 -0
- package/dist/cli/projection.js +297 -0
- package/dist/cli/projection.js.map +1 -0
- package/dist/cli/query-def.d.ts +8 -0
- package/dist/cli/query-def.d.ts.map +1 -0
- package/dist/cli/query-def.js +163 -0
- package/dist/cli/query-def.js.map +1 -0
- package/dist/cli/rbac.d.ts +12 -0
- package/dist/cli/rbac.d.ts.map +1 -0
- package/dist/cli/rbac.js +615 -0
- package/dist/cli/rbac.js.map +1 -0
- package/dist/cli/search.d.ts +6 -0
- package/dist/cli/search.d.ts.map +1 -0
- package/dist/cli/search.js +829 -0
- package/dist/cli/search.js.map +1 -0
- package/dist/cli/source.d.ts +6 -0
- package/dist/cli/source.d.ts.map +1 -0
- package/dist/cli/source.js +202 -0
- package/dist/cli/source.js.map +1 -0
- package/dist/cli/verb-router.d.ts +25 -0
- package/dist/cli/verb-router.d.ts.map +1 -0
- package/dist/cli/verb-router.js +415 -0
- package/dist/cli/verb-router.js.map +1 -0
- package/dist/cli/vocabulary/config.d.ts +7 -0
- package/dist/cli/vocabulary/config.d.ts.map +1 -0
- package/dist/cli/vocabulary/config.js +201 -0
- package/dist/cli/vocabulary/config.js.map +1 -0
- package/dist/cli/vocabulary/consolidate.d.ts +8 -0
- package/dist/cli/vocabulary/consolidate.d.ts.map +1 -0
- package/dist/cli/vocabulary/consolidate.js +192 -0
- package/dist/cli/vocabulary/consolidate.js.map +1 -0
- package/dist/cli/vocabulary/embeddings.d.ts +9 -0
- package/dist/cli/vocabulary/embeddings.d.ts.map +1 -0
- package/dist/cli/vocabulary/embeddings.js +205 -0
- package/dist/cli/vocabulary/embeddings.js.map +1 -0
- package/dist/cli/vocabulary/epistemic.d.ts +7 -0
- package/dist/cli/vocabulary/epistemic.d.ts.map +1 -0
- package/dist/cli/vocabulary/epistemic.js +315 -0
- package/dist/cli/vocabulary/epistemic.js.map +1 -0
- package/dist/cli/vocabulary/index.d.ts +7 -0
- package/dist/cli/vocabulary/index.d.ts.map +1 -0
- package/dist/cli/vocabulary/index.js +45 -0
- package/dist/cli/vocabulary/index.js.map +1 -0
- package/dist/cli/vocabulary/profiles.d.ts +7 -0
- package/dist/cli/vocabulary/profiles.d.ts.map +1 -0
- package/dist/cli/vocabulary/profiles.js +171 -0
- package/dist/cli/vocabulary/profiles.js.map +1 -0
- package/dist/cli/vocabulary/similarity.d.ts +9 -0
- package/dist/cli/vocabulary/similarity.d.ts.map +1 -0
- package/dist/cli/vocabulary/similarity.js +199 -0
- package/dist/cli/vocabulary/similarity.js.map +1 -0
- package/dist/cli/vocabulary/status.d.ts +8 -0
- package/dist/cli/vocabulary/status.d.ts.map +1 -0
- package/dist/cli/vocabulary/status.js +280 -0
- package/dist/cli/vocabulary/status.js.map +1 -0
- package/dist/cli/vocabulary/sync.d.ts +7 -0
- package/dist/cli/vocabulary/sync.d.ts.map +1 -0
- package/dist/cli/vocabulary/sync.js +111 -0
- package/dist/cli/vocabulary/sync.js.map +1 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +16 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/auth/auth-client.d.ts +247 -0
- package/dist/lib/auth/auth-client.d.ts.map +1 -0
- package/dist/lib/auth/auth-client.js +305 -0
- package/dist/lib/auth/auth-client.js.map +1 -0
- package/dist/lib/auth/challenge.d.ts +39 -0
- package/dist/lib/auth/challenge.d.ts.map +1 -0
- package/dist/lib/auth/challenge.js +125 -0
- package/dist/lib/auth/challenge.js.map +1 -0
- package/dist/lib/auth/client-credentials-flow.d.ts +58 -0
- package/dist/lib/auth/client-credentials-flow.d.ts.map +1 -0
- package/dist/lib/auth/client-credentials-flow.js +118 -0
- package/dist/lib/auth/client-credentials-flow.js.map +1 -0
- package/dist/lib/auth/device-flow.d.ts +75 -0
- package/dist/lib/auth/device-flow.d.ts.map +1 -0
- package/dist/lib/auth/device-flow.js +177 -0
- package/dist/lib/auth/device-flow.js.map +1 -0
- package/dist/lib/auth/index.d.ts +14 -0
- package/dist/lib/auth/index.d.ts.map +1 -0
- package/dist/lib/auth/index.js +34 -0
- package/dist/lib/auth/index.js.map +1 -0
- package/dist/lib/auth/oauth-types.d.ts +69 -0
- package/dist/lib/auth/oauth-types.d.ts.map +1 -0
- package/dist/lib/auth/oauth-types.js +10 -0
- package/dist/lib/auth/oauth-types.js.map +1 -0
- package/dist/lib/auth/oauth-utils.d.ts +51 -0
- package/dist/lib/auth/oauth-utils.d.ts.map +1 -0
- package/dist/lib/auth/oauth-utils.js +110 -0
- package/dist/lib/auth/oauth-utils.js.map +1 -0
- package/dist/lib/auth/token-manager.d.ts +87 -0
- package/dist/lib/auth/token-manager.d.ts.map +1 -0
- package/dist/lib/auth/token-manager.js +139 -0
- package/dist/lib/auth/token-manager.js.map +1 -0
- package/dist/lib/auth/token-refresh.d.ts +63 -0
- package/dist/lib/auth/token-refresh.d.ts.map +1 -0
- package/dist/lib/auth/token-refresh.js +141 -0
- package/dist/lib/auth/token-refresh.js.map +1 -0
- package/dist/lib/config.d.ts +286 -0
- package/dist/lib/config.d.ts.map +1 -0
- package/dist/lib/config.js +537 -0
- package/dist/lib/config.js.map +1 -0
- package/dist/lib/job-stream.d.ts +53 -0
- package/dist/lib/job-stream.d.ts.map +1 -0
- package/dist/lib/job-stream.js +153 -0
- package/dist/lib/job-stream.js.map +1 -0
- package/dist/lib/mcp-allowlist.d.ts +101 -0
- package/dist/lib/mcp-allowlist.d.ts.map +1 -0
- package/dist/lib/mcp-allowlist.js +340 -0
- package/dist/lib/mcp-allowlist.js.map +1 -0
- package/dist/lib/table-example.d.ts +7 -0
- package/dist/lib/table-example.d.ts.map +1 -0
- package/dist/lib/table-example.js +105 -0
- package/dist/lib/table-example.js.map +1 -0
- package/dist/lib/table.d.ts +95 -0
- package/dist/lib/table.d.ts.map +1 -0
- package/dist/lib/table.js +263 -0
- package/dist/lib/table.js.map +1 -0
- package/dist/lib/terminal-images.d.ts +66 -0
- package/dist/lib/terminal-images.d.ts.map +1 -0
- package/dist/lib/terminal-images.js +268 -0
- package/dist/lib/terminal-images.js.map +1 -0
- package/dist/mcp/formatters.d.ts +100 -0
- package/dist/mcp/formatters.d.ts.map +1 -0
- package/dist/mcp/formatters.js +1411 -0
- package/dist/mcp/formatters.js.map +1 -0
- package/dist/mcp-server.d.ts +9 -0
- package/dist/mcp-server.d.ts.map +1 -0
- package/dist/mcp-server.js +1810 -0
- package/dist/mcp-server.js.map +1 -0
- package/dist/types/index.d.ts +742 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +6 -0
- package/dist/types/index.js.map +1 -0
- package/dist/version.d.ts +10 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +13 -0
- package/dist/version.js.map +1 -0
- package/package.json +84 -0
|
@@ -0,0 +1,415 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* kg admin user - User management commands (admin only)
|
|
4
|
+
*
|
|
5
|
+
* Subcommands: list, get, create, update, delete, apikey
|
|
6
|
+
*/
|
|
7
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
8
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
9
|
+
};
|
|
10
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
|
+
exports.registerAuthAdminCommand = registerAuthAdminCommand;
|
|
12
|
+
const prompts_1 = __importDefault(require("prompts"));
|
|
13
|
+
const config_js_1 = require("../lib/config.js");
|
|
14
|
+
const auth_client_js_1 = require("../lib/auth/auth-client.js");
|
|
15
|
+
const table_js_1 = require("../lib/table.js");
|
|
16
|
+
/**
|
|
17
|
+
* Ensure user is logged in (has OAuth credentials or valid token)
|
|
18
|
+
*
|
|
19
|
+
* ADR-054: Updated to support OAuth client credentials
|
|
20
|
+
* - Checks for OAuth credentials first (preferred)
|
|
21
|
+
* - Falls back to legacy JWT tokens
|
|
22
|
+
* - Gets fresh OAuth access token if using client credentials
|
|
23
|
+
*/
|
|
24
|
+
async function requireAuth() {
|
|
25
|
+
const config = (0, config_js_1.getConfig)();
|
|
26
|
+
// Check if user is authenticated (OAuth credentials or JWT token)
|
|
27
|
+
if (!config.isAuthenticated()) {
|
|
28
|
+
console.error('');
|
|
29
|
+
console.error('\x1b[31m❌ Authentication required\x1b[0m');
|
|
30
|
+
console.error(' This command requires authentication.');
|
|
31
|
+
console.error('');
|
|
32
|
+
console.error(' Please login first:');
|
|
33
|
+
console.error(' \x1b[36mkg login\x1b[0m');
|
|
34
|
+
console.error('');
|
|
35
|
+
process.exit(1);
|
|
36
|
+
}
|
|
37
|
+
const apiUrl = config.getApiUrl();
|
|
38
|
+
const authClient = new auth_client_js_1.AuthClient(apiUrl);
|
|
39
|
+
// Get OAuth client credentials (ADR-054)
|
|
40
|
+
const oauthCreds = config.getOAuthCredentials();
|
|
41
|
+
if (!oauthCreds) {
|
|
42
|
+
console.error('\x1b[31m❌ No OAuth credentials found. Please login: kg login\x1b[0m\n');
|
|
43
|
+
process.exit(1);
|
|
44
|
+
}
|
|
45
|
+
// Get fresh access token using client credentials grant
|
|
46
|
+
const tokenResponse = await authClient.getOAuthToken({
|
|
47
|
+
grant_type: 'client_credentials',
|
|
48
|
+
client_id: oauthCreds.client_id,
|
|
49
|
+
client_secret: oauthCreds.client_secret,
|
|
50
|
+
scope: oauthCreds.scopes.join(' ')
|
|
51
|
+
});
|
|
52
|
+
return {
|
|
53
|
+
token: tokenResponse.access_token,
|
|
54
|
+
authClient,
|
|
55
|
+
username: oauthCreds.username || 'unknown'
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Prompt for password (hidden input)
|
|
60
|
+
*/
|
|
61
|
+
async function promptPassword(confirmRequired = false) {
|
|
62
|
+
const response = await (0, prompts_1.default)({
|
|
63
|
+
type: 'password',
|
|
64
|
+
name: 'password',
|
|
65
|
+
message: 'Password',
|
|
66
|
+
});
|
|
67
|
+
// Handle Ctrl+C
|
|
68
|
+
if (response.password === undefined) {
|
|
69
|
+
throw new Error('Cancelled');
|
|
70
|
+
}
|
|
71
|
+
const password = response.password;
|
|
72
|
+
if (!confirmRequired) {
|
|
73
|
+
return password;
|
|
74
|
+
}
|
|
75
|
+
// Confirm password
|
|
76
|
+
const confirmResponse = await (0, prompts_1.default)({
|
|
77
|
+
type: 'password',
|
|
78
|
+
name: 'password',
|
|
79
|
+
message: 'Confirm password',
|
|
80
|
+
});
|
|
81
|
+
// Handle Ctrl+C
|
|
82
|
+
if (confirmResponse.password === undefined) {
|
|
83
|
+
throw new Error('Cancelled');
|
|
84
|
+
}
|
|
85
|
+
if (password !== confirmResponse.password) {
|
|
86
|
+
console.error('\x1b[31m❌ Passwords do not match\x1b[0m');
|
|
87
|
+
throw new Error('Passwords do not match');
|
|
88
|
+
}
|
|
89
|
+
return password;
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* List users command
|
|
93
|
+
*/
|
|
94
|
+
async function listUsersCommand(options) {
|
|
95
|
+
const { token, authClient } = await requireAuth();
|
|
96
|
+
try {
|
|
97
|
+
const skip = options.skip || 0;
|
|
98
|
+
const limit = options.limit || 50;
|
|
99
|
+
const response = await authClient.listUsers(token, skip, limit, options.role);
|
|
100
|
+
if (response.users.length === 0) {
|
|
101
|
+
console.log('');
|
|
102
|
+
console.log('No users found.');
|
|
103
|
+
console.log('');
|
|
104
|
+
return;
|
|
105
|
+
}
|
|
106
|
+
// Format as table using Table utility
|
|
107
|
+
const table = new table_js_1.Table({
|
|
108
|
+
columns: [
|
|
109
|
+
{ header: 'ID', field: 'id', width: 'auto', type: 'value' },
|
|
110
|
+
{ header: 'Username', field: 'username', width: 'auto', type: 'text' },
|
|
111
|
+
{ header: 'Role', field: 'role', width: 'auto', type: 'value' },
|
|
112
|
+
{ header: 'Created', field: 'created_at', width: 'auto', type: 'timestamp' },
|
|
113
|
+
{
|
|
114
|
+
header: 'Last Login',
|
|
115
|
+
field: 'last_login',
|
|
116
|
+
width: 'auto',
|
|
117
|
+
type: 'timestamp',
|
|
118
|
+
customFormat: (val) => val || 'Never'
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
header: 'Status',
|
|
122
|
+
field: 'disabled',
|
|
123
|
+
width: 'auto',
|
|
124
|
+
type: 'text',
|
|
125
|
+
customFormat: (val) => val ? '\x1b[31mDisabled\x1b[0m' : '\x1b[32mActive\x1b[0m'
|
|
126
|
+
}
|
|
127
|
+
]
|
|
128
|
+
});
|
|
129
|
+
table.print(response.users);
|
|
130
|
+
if (response.total > skip + limit) {
|
|
131
|
+
console.log(`Showing ${skip + 1}-${skip + response.users.length} of ${response.total}`);
|
|
132
|
+
console.log(`Use --skip and --limit for pagination\n`);
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
catch (error) {
|
|
136
|
+
if (error.response?.status === 403) {
|
|
137
|
+
console.error('\n\x1b[31m❌ Permission denied\x1b[0m');
|
|
138
|
+
console.error(' This command requires admin role.\n');
|
|
139
|
+
}
|
|
140
|
+
else {
|
|
141
|
+
console.error(`\n\x1b[31m❌ Error: ${error.message}\x1b[0m\n`);
|
|
142
|
+
}
|
|
143
|
+
process.exit(1);
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* Get user command
|
|
148
|
+
*/
|
|
149
|
+
async function getUserCommand(userId) {
|
|
150
|
+
const { token, authClient } = await requireAuth();
|
|
151
|
+
try {
|
|
152
|
+
const user = await authClient.getUser(token, parseInt(userId));
|
|
153
|
+
console.log('');
|
|
154
|
+
console.log('\x1b[1mUser Details\x1b[0m');
|
|
155
|
+
console.log('');
|
|
156
|
+
console.log(`ID: ${user.id}`);
|
|
157
|
+
console.log(`Username: ${user.username}`);
|
|
158
|
+
console.log(`Role: ${user.role}`);
|
|
159
|
+
console.log(`Created: ${new Date(user.created_at).toLocaleString()}`);
|
|
160
|
+
console.log(`Last Login: ${user.last_login ? new Date(user.last_login).toLocaleString() : 'Never'}`);
|
|
161
|
+
console.log(`Status: ${user.disabled ? '\x1b[31mDisabled\x1b[0m' : '\x1b[32mActive\x1b[0m'}`);
|
|
162
|
+
console.log('');
|
|
163
|
+
}
|
|
164
|
+
catch (error) {
|
|
165
|
+
if (error.response?.status === 404) {
|
|
166
|
+
console.error(`\n\x1b[31m❌ User not found: ${userId}\x1b[0m\n`);
|
|
167
|
+
}
|
|
168
|
+
else if (error.response?.status === 403) {
|
|
169
|
+
console.error('\n\x1b[31m❌ Permission denied\x1b[0m');
|
|
170
|
+
console.error(' This command requires admin role.\n');
|
|
171
|
+
}
|
|
172
|
+
else {
|
|
173
|
+
console.error(`\n\x1b[31m❌ Error: ${error.message}\x1b[0m\n`);
|
|
174
|
+
}
|
|
175
|
+
process.exit(1);
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
179
|
+
* Create user command
|
|
180
|
+
*/
|
|
181
|
+
async function createUserCommand(username, options) {
|
|
182
|
+
const { token, authClient } = await requireAuth();
|
|
183
|
+
// Validate role
|
|
184
|
+
const validRoles = ['read_only', 'contributor', 'curator', 'admin'];
|
|
185
|
+
if (!validRoles.includes(options.role)) {
|
|
186
|
+
console.error(`\n\x1b[31m❌ Invalid role: ${options.role}\x1b[0m`);
|
|
187
|
+
console.error(` Valid roles: ${validRoles.join(', ')}\n`);
|
|
188
|
+
process.exit(1);
|
|
189
|
+
}
|
|
190
|
+
console.log('');
|
|
191
|
+
console.log(`Creating user: ${username}`);
|
|
192
|
+
console.log(`Role: ${options.role}`);
|
|
193
|
+
console.log('');
|
|
194
|
+
// Get password (from option or prompt)
|
|
195
|
+
try {
|
|
196
|
+
const password = options.password || await promptPassword(true);
|
|
197
|
+
const request = {
|
|
198
|
+
username,
|
|
199
|
+
password,
|
|
200
|
+
role: options.role
|
|
201
|
+
};
|
|
202
|
+
const user = await authClient.createUser(token, request);
|
|
203
|
+
console.log('');
|
|
204
|
+
console.log('\x1b[32m✅ User created successfully!\x1b[0m');
|
|
205
|
+
console.log(` ID: ${user.id}`);
|
|
206
|
+
console.log(` Username: ${user.username}`);
|
|
207
|
+
console.log(` Role: ${user.role}`);
|
|
208
|
+
console.log(` Created: ${new Date(user.created_at).toLocaleString()}`);
|
|
209
|
+
console.log('');
|
|
210
|
+
}
|
|
211
|
+
catch (error) {
|
|
212
|
+
if (error.message === 'Passwords do not match' || error.message === 'Cancelled') {
|
|
213
|
+
process.exit(1);
|
|
214
|
+
}
|
|
215
|
+
if (error.response?.status === 400) {
|
|
216
|
+
console.error('\n\x1b[31m❌ Validation error\x1b[0m');
|
|
217
|
+
console.error(` ${error.response.data.detail || 'Invalid user data'}\n`);
|
|
218
|
+
}
|
|
219
|
+
else if (error.response?.status === 409) {
|
|
220
|
+
console.error('\n\x1b[31m❌ Username already exists\x1b[0m');
|
|
221
|
+
console.error(` Username "${username}" is already taken.\n`);
|
|
222
|
+
}
|
|
223
|
+
else if (error.response?.status === 403) {
|
|
224
|
+
console.error('\n\x1b[31m❌ Permission denied\x1b[0m');
|
|
225
|
+
console.error(' This command requires admin role.\n');
|
|
226
|
+
}
|
|
227
|
+
else {
|
|
228
|
+
console.error(`\n\x1b[31m❌ Error: ${error.message}\x1b[0m\n`);
|
|
229
|
+
}
|
|
230
|
+
process.exit(1);
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
/**
|
|
234
|
+
* Update user command
|
|
235
|
+
*/
|
|
236
|
+
async function updateUserCommand(userId, options) {
|
|
237
|
+
const { token, authClient, username: currentUsername } = await requireAuth();
|
|
238
|
+
// Validate role if provided
|
|
239
|
+
if (options.role) {
|
|
240
|
+
const validRoles = ['read_only', 'contributor', 'curator', 'admin'];
|
|
241
|
+
if (!validRoles.includes(options.role)) {
|
|
242
|
+
console.error(`\n\x1b[31m❌ Invalid role: ${options.role}\x1b[0m`);
|
|
243
|
+
console.error(` Valid roles: ${validRoles.join(', ')}\n`);
|
|
244
|
+
process.exit(1);
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
try {
|
|
248
|
+
// Get user details first
|
|
249
|
+
const user = await authClient.getUser(token, parseInt(userId));
|
|
250
|
+
console.log('');
|
|
251
|
+
console.log(`Updating user: ${user.username} (ID: ${user.id})`);
|
|
252
|
+
console.log('');
|
|
253
|
+
const request = {};
|
|
254
|
+
// Handle password change
|
|
255
|
+
if (options.password) {
|
|
256
|
+
try {
|
|
257
|
+
// If password is a string, use it directly; if true, prompt for it
|
|
258
|
+
const newPassword = typeof options.password === 'string'
|
|
259
|
+
? options.password
|
|
260
|
+
: await promptPassword(true);
|
|
261
|
+
request.password = newPassword;
|
|
262
|
+
}
|
|
263
|
+
catch (error) {
|
|
264
|
+
if (error.message === 'Passwords do not match' || error.message === 'Cancelled') {
|
|
265
|
+
process.exit(1);
|
|
266
|
+
}
|
|
267
|
+
throw error;
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
// Handle role change (requires challenge if promoting to admin)
|
|
271
|
+
if (options.role) {
|
|
272
|
+
if (options.role === 'admin' && user.role !== 'admin') {
|
|
273
|
+
// TODO(ADR-054): Re-implement AuthChallenge with OAuth support for sensitive operations
|
|
274
|
+
console.log('');
|
|
275
|
+
console.log(`\x1b[33m⚠️ Warning: Promoting user "${user.username}" to admin role\x1b[0m`);
|
|
276
|
+
console.log('');
|
|
277
|
+
}
|
|
278
|
+
request.role = options.role;
|
|
279
|
+
}
|
|
280
|
+
// Handle disable/enable
|
|
281
|
+
if (options.disable) {
|
|
282
|
+
request.disabled = true;
|
|
283
|
+
}
|
|
284
|
+
else if (options.enable) {
|
|
285
|
+
request.disabled = false;
|
|
286
|
+
}
|
|
287
|
+
// Update user
|
|
288
|
+
const updatedUser = await authClient.updateUser(token, parseInt(userId), request);
|
|
289
|
+
console.log('');
|
|
290
|
+
console.log('\x1b[32m✅ User updated successfully!\x1b[0m');
|
|
291
|
+
console.log(` ID: ${updatedUser.id}`);
|
|
292
|
+
console.log(` Username: ${updatedUser.username}`);
|
|
293
|
+
console.log(` Role: ${updatedUser.role}`);
|
|
294
|
+
console.log(` Status: ${updatedUser.disabled ? '\x1b[31mDisabled\x1b[0m' : '\x1b[32mActive\x1b[0m'}`);
|
|
295
|
+
console.log('');
|
|
296
|
+
}
|
|
297
|
+
catch (error) {
|
|
298
|
+
if (error.response?.status === 404) {
|
|
299
|
+
console.error(`\n\x1b[31m❌ User not found: ${userId}\x1b[0m\n`);
|
|
300
|
+
}
|
|
301
|
+
else if (error.response?.status === 403) {
|
|
302
|
+
console.error('\n\x1b[31m❌ Permission denied\x1b[0m');
|
|
303
|
+
console.error(' This command requires admin role.\n');
|
|
304
|
+
}
|
|
305
|
+
else if (error.response?.status === 400) {
|
|
306
|
+
console.error('\n\x1b[31m❌ Validation error\x1b[0m');
|
|
307
|
+
console.error(` ${error.response.data.detail || 'Invalid user data'}\n`);
|
|
308
|
+
}
|
|
309
|
+
else {
|
|
310
|
+
console.error(`\n\x1b[31m❌ Error: ${error.message}\x1b[0m\n`);
|
|
311
|
+
}
|
|
312
|
+
process.exit(1);
|
|
313
|
+
}
|
|
314
|
+
}
|
|
315
|
+
/**
|
|
316
|
+
* Delete user command
|
|
317
|
+
*/
|
|
318
|
+
async function deleteUserCommand(userId, options) {
|
|
319
|
+
const { token, authClient } = await requireAuth();
|
|
320
|
+
try {
|
|
321
|
+
// Get user details first
|
|
322
|
+
const user = await authClient.getUser(token, parseInt(userId));
|
|
323
|
+
console.log('');
|
|
324
|
+
console.log('\x1b[33m⚠️ WARNING: Delete user\x1b[0m');
|
|
325
|
+
console.log(` This will permanently delete user: ${user.username} (ID: ${user.id})`);
|
|
326
|
+
console.log(' This action cannot be undone!');
|
|
327
|
+
console.log('');
|
|
328
|
+
// TODO(ADR-054): Re-implement AuthChallenge with OAuth support
|
|
329
|
+
// For now, require manual confirmation
|
|
330
|
+
if (!options.yes) {
|
|
331
|
+
const confirmation = await (0, prompts_1.default)({
|
|
332
|
+
type: 'confirm',
|
|
333
|
+
name: 'confirm',
|
|
334
|
+
message: `Are you sure you want to delete user "${user.username}"?`,
|
|
335
|
+
initial: false
|
|
336
|
+
});
|
|
337
|
+
if (!confirmation.confirm) {
|
|
338
|
+
console.log('Operation cancelled.');
|
|
339
|
+
process.exit(0);
|
|
340
|
+
}
|
|
341
|
+
}
|
|
342
|
+
// Delete user
|
|
343
|
+
await authClient.deleteUser(token, parseInt(userId));
|
|
344
|
+
console.log('');
|
|
345
|
+
console.log('\x1b[32m✅ User deleted successfully!\x1b[0m');
|
|
346
|
+
console.log(` Username: ${user.username}`);
|
|
347
|
+
console.log(` ID: ${user.id}`);
|
|
348
|
+
console.log('');
|
|
349
|
+
}
|
|
350
|
+
catch (error) {
|
|
351
|
+
if (error.response?.status === 404) {
|
|
352
|
+
console.error(`\n\x1b[31m❌ User not found: ${userId}\x1b[0m\n`);
|
|
353
|
+
}
|
|
354
|
+
else if (error.response?.status === 403) {
|
|
355
|
+
console.error('\n\x1b[31m❌ Permission denied\x1b[0m');
|
|
356
|
+
console.error(' This command requires admin role.\n');
|
|
357
|
+
}
|
|
358
|
+
else if (error.response?.status === 400 && error.response.data.detail?.includes('delete yourself')) {
|
|
359
|
+
console.error('\n\x1b[31m❌ Cannot delete yourself\x1b[0m');
|
|
360
|
+
console.error(' You cannot delete your own user account.\n');
|
|
361
|
+
}
|
|
362
|
+
else {
|
|
363
|
+
console.error(`\n\x1b[31m❌ Error: ${error.message}\x1b[0m\n`);
|
|
364
|
+
}
|
|
365
|
+
process.exit(1);
|
|
366
|
+
}
|
|
367
|
+
}
|
|
368
|
+
/**
|
|
369
|
+
* Register admin user commands
|
|
370
|
+
*/
|
|
371
|
+
function registerAuthAdminCommand(program) {
|
|
372
|
+
const userCommand = program
|
|
373
|
+
.command('user')
|
|
374
|
+
.description('User management commands (admin only)');
|
|
375
|
+
// kg admin user list
|
|
376
|
+
userCommand
|
|
377
|
+
.command('list')
|
|
378
|
+
.description('List all users')
|
|
379
|
+
.option('--role <role>', 'Filter by role (read_only, contributor, curator, admin)')
|
|
380
|
+
.option('--skip <n>', 'Skip first N users (pagination)', '0')
|
|
381
|
+
.option('--limit <n>', 'Limit results (default: 50)', '50')
|
|
382
|
+
.action((options) => listUsersCommand({
|
|
383
|
+
role: options.role,
|
|
384
|
+
skip: parseInt(options.skip),
|
|
385
|
+
limit: parseInt(options.limit)
|
|
386
|
+
}));
|
|
387
|
+
// kg admin user get
|
|
388
|
+
userCommand
|
|
389
|
+
.command('get <user_id>')
|
|
390
|
+
.description('Get user details by ID')
|
|
391
|
+
.action(getUserCommand);
|
|
392
|
+
// kg admin user create
|
|
393
|
+
userCommand
|
|
394
|
+
.command('create <username>')
|
|
395
|
+
.description('Create new user')
|
|
396
|
+
.requiredOption('--role <role>', 'User role (read_only, contributor, curator, admin)')
|
|
397
|
+
.option('-p, --password <password>', 'Password (prompts if not provided)')
|
|
398
|
+
.action(createUserCommand);
|
|
399
|
+
// kg admin user update
|
|
400
|
+
userCommand
|
|
401
|
+
.command('update <user_id>')
|
|
402
|
+
.description('Update user details')
|
|
403
|
+
.option('--role <role>', 'Change user role')
|
|
404
|
+
.option('-p, --password [password]', 'Change password (prompts if no value provided)')
|
|
405
|
+
.option('--disable', 'Disable user account')
|
|
406
|
+
.option('--enable', 'Enable user account')
|
|
407
|
+
.action(updateUserCommand);
|
|
408
|
+
// kg admin user delete
|
|
409
|
+
userCommand
|
|
410
|
+
.command('delete <user_id>')
|
|
411
|
+
.description('Delete user (requires re-authentication)')
|
|
412
|
+
.option('--yes', 'Skip confirmation prompt')
|
|
413
|
+
.action(deleteUserCommand);
|
|
414
|
+
}
|
|
415
|
+
//# sourceMappingURL=auth-admin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth-admin.js","sourceRoot":"","sources":["../../src/cli/auth-admin.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Rich Color Scheme for Graph Visualization
|
|
3
|
+
* Using ansis for enhanced terminal styling
|
|
4
|
+
*/
|
|
5
|
+
import ansis from 'ansis';
|
|
6
|
+
/**
|
|
7
|
+
* Concept colors - vibrant colors for different similarity levels
|
|
8
|
+
*/
|
|
9
|
+
export declare const concept: {
|
|
10
|
+
high: import("ansis").Ansis;
|
|
11
|
+
good: import("ansis").Ansis;
|
|
12
|
+
medium: import("ansis").Ansis;
|
|
13
|
+
low: import("ansis").Ansis;
|
|
14
|
+
label: import("ansis").Ansis;
|
|
15
|
+
id: import("ansis").Ansis;
|
|
16
|
+
searchTerms: import("ansis").Ansis;
|
|
17
|
+
};
|
|
18
|
+
/**
|
|
19
|
+
* Relationship type colors - color-coded by semantic meaning
|
|
20
|
+
*/
|
|
21
|
+
export declare const relationship: {
|
|
22
|
+
IMPLIES: import("ansis").Ansis;
|
|
23
|
+
SUPPORTS: import("ansis").Ansis;
|
|
24
|
+
CONTRADICTS: import("ansis").Ansis;
|
|
25
|
+
RELATES_TO: import("ansis").Ansis;
|
|
26
|
+
CAUSES: import("ansis").Ansis;
|
|
27
|
+
REQUIRES: import("ansis").Ansis;
|
|
28
|
+
INCLUDES: import("ansis").Ansis;
|
|
29
|
+
default: import("ansis").Ansis;
|
|
30
|
+
};
|
|
31
|
+
/**
|
|
32
|
+
* Path visualization colors
|
|
33
|
+
*/
|
|
34
|
+
export declare const path: {
|
|
35
|
+
node: import("ansis").Ansis;
|
|
36
|
+
arrow: import("ansis").Ansis;
|
|
37
|
+
hop: import("ansis").Ansis;
|
|
38
|
+
distance: import("ansis").Ansis;
|
|
39
|
+
};
|
|
40
|
+
/**
|
|
41
|
+
* Evidence/Instance colors
|
|
42
|
+
*/
|
|
43
|
+
export declare const evidence: {
|
|
44
|
+
quote: import("ansis").Ansis;
|
|
45
|
+
document: import("ansis").Ansis;
|
|
46
|
+
paragraph: import("ansis").Ansis;
|
|
47
|
+
count: import("ansis").Ansis;
|
|
48
|
+
};
|
|
49
|
+
/**
|
|
50
|
+
* Status colors
|
|
51
|
+
*/
|
|
52
|
+
export declare const status: {
|
|
53
|
+
success: import("ansis").Ansis;
|
|
54
|
+
warning: import("ansis").Ansis;
|
|
55
|
+
error: import("ansis").Ansis;
|
|
56
|
+
info: import("ansis").Ansis;
|
|
57
|
+
dim: import("ansis").Ansis;
|
|
58
|
+
};
|
|
59
|
+
/**
|
|
60
|
+
* Database stats colors
|
|
61
|
+
*/
|
|
62
|
+
export declare const stats: {
|
|
63
|
+
label: import("ansis").Ansis;
|
|
64
|
+
value: import("ansis").Ansis;
|
|
65
|
+
section: import("ansis").Ansis;
|
|
66
|
+
count: import("ansis").Ansis;
|
|
67
|
+
};
|
|
68
|
+
/**
|
|
69
|
+
* UI elements
|
|
70
|
+
*/
|
|
71
|
+
export declare const ui: {
|
|
72
|
+
title: import("ansis").Ansis;
|
|
73
|
+
subtitle: import("ansis").Ansis;
|
|
74
|
+
bullet: import("ansis").Ansis;
|
|
75
|
+
separator: import("ansis").Ansis;
|
|
76
|
+
header: import("ansis").Ansis;
|
|
77
|
+
key: import("ansis").Ansis;
|
|
78
|
+
value: import("ansis").Ansis;
|
|
79
|
+
command: import("ansis").Ansis;
|
|
80
|
+
};
|
|
81
|
+
/**
|
|
82
|
+
* Get relationship color by type
|
|
83
|
+
*/
|
|
84
|
+
export declare function getRelationshipColor(relType: string): typeof ansis;
|
|
85
|
+
/**
|
|
86
|
+
* Get concept color by similarity score (0-1)
|
|
87
|
+
*/
|
|
88
|
+
export declare function getConceptColor(score: number): typeof ansis;
|
|
89
|
+
/**
|
|
90
|
+
* Format a percentage with color
|
|
91
|
+
*/
|
|
92
|
+
export declare function coloredPercentage(value: number): string;
|
|
93
|
+
/**
|
|
94
|
+
* Format a count with color
|
|
95
|
+
*/
|
|
96
|
+
export declare function coloredCount(count: number): string;
|
|
97
|
+
/**
|
|
98
|
+
* Create a visual separator
|
|
99
|
+
*/
|
|
100
|
+
export declare function separator(length?: number, char?: string): string;
|
|
101
|
+
/**
|
|
102
|
+
* Format a box around text
|
|
103
|
+
*/
|
|
104
|
+
export declare function box(title: string, content: string[]): string;
|
|
105
|
+
//# sourceMappingURL=colors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"colors.d.ts","sourceRoot":"","sources":["../../src/cli/colors.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B;;GAEG;AACH,eAAO,MAAM,OAAO;;;;;;;;CAcnB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,YAAY;;;;;;;;;CAWxB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,IAAI;;;;;CAKhB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,QAAQ;;;;;CAKpB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,MAAM;;;;;;CAMlB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,KAAK;;;;;CAKjB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,EAAE;;;;;;;;;CASd,CAAC;AAEF;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,KAAK,CAMlE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,KAAK,CAK3D;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAIvD;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAKlD;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,MAAM,GAAE,MAAW,EAAE,IAAI,GAAE,MAAY,GAAG,MAAM,CAEzE;AAED;;GAEG;AACH,wBAAgB,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,CAiB5D"}
|