@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,174 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Group Management Commands (ADR-082)
|
|
4
|
+
*
|
|
5
|
+
* CLI commands for managing groups and group membership.
|
|
6
|
+
*/
|
|
7
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
8
|
+
if (k2 === undefined) k2 = k;
|
|
9
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
10
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
11
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
12
|
+
}
|
|
13
|
+
Object.defineProperty(o, k2, desc);
|
|
14
|
+
}) : (function(o, m, k, k2) {
|
|
15
|
+
if (k2 === undefined) k2 = k;
|
|
16
|
+
o[k2] = m[k];
|
|
17
|
+
}));
|
|
18
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
19
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
20
|
+
}) : function(o, v) {
|
|
21
|
+
o["default"] = v;
|
|
22
|
+
});
|
|
23
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
24
|
+
var ownKeys = function(o) {
|
|
25
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
26
|
+
var ar = [];
|
|
27
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
28
|
+
return ar;
|
|
29
|
+
};
|
|
30
|
+
return ownKeys(o);
|
|
31
|
+
};
|
|
32
|
+
return function (mod) {
|
|
33
|
+
if (mod && mod.__esModule) return mod;
|
|
34
|
+
var result = {};
|
|
35
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
36
|
+
__setModuleDefault(result, mod);
|
|
37
|
+
return result;
|
|
38
|
+
};
|
|
39
|
+
})();
|
|
40
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
41
|
+
exports.groupCommand = void 0;
|
|
42
|
+
const commander_1 = require("commander");
|
|
43
|
+
const client_1 = require("../api/client");
|
|
44
|
+
const colors = __importStar(require("./colors"));
|
|
45
|
+
const colors_1 = require("./colors");
|
|
46
|
+
const table_1 = require("../lib/table");
|
|
47
|
+
const help_formatter_1 = require("./help-formatter");
|
|
48
|
+
exports.groupCommand = (0, help_formatter_1.setCommandHelp)(new commander_1.Command('group'), 'Manage groups and membership', 'Manage groups for collaborative access control. Groups allow sharing resources with multiple users. System groups (public, admins) are managed by the platform.')
|
|
49
|
+
.alias('grp')
|
|
50
|
+
.showHelpAfterError('(add --help for additional information)')
|
|
51
|
+
.showSuggestionAfterError()
|
|
52
|
+
.addCommand(new commander_1.Command('list')
|
|
53
|
+
.description('List all groups')
|
|
54
|
+
.option('--no-system', 'Exclude system groups (public, admins)')
|
|
55
|
+
.action(async (options) => {
|
|
56
|
+
try {
|
|
57
|
+
const client = (0, client_1.createClientFromEnv)();
|
|
58
|
+
const result = await client.listGroups({
|
|
59
|
+
include_system: options.system !== false,
|
|
60
|
+
include_member_count: true
|
|
61
|
+
});
|
|
62
|
+
if (result.groups.length === 0) {
|
|
63
|
+
console.log(colors.status.warning('\nNo groups found'));
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
66
|
+
console.log('\n' + colors.ui.title('Groups'));
|
|
67
|
+
const table = new table_1.Table({
|
|
68
|
+
columns: [
|
|
69
|
+
{ header: 'ID', field: 'id', type: 'count', width: 8, align: 'right' },
|
|
70
|
+
{ header: 'Name', field: 'group_name', type: 'heading', width: 20 },
|
|
71
|
+
{ header: 'Display Name', field: 'display_name', type: 'text', width: 'flex' },
|
|
72
|
+
{ header: 'Members', field: 'member_count', type: 'count', width: 10, align: 'right' },
|
|
73
|
+
{ header: 'System', field: 'is_system', type: 'text', width: 8,
|
|
74
|
+
customFormat: (v) => v ? colors.status.dim('yes') : '' }
|
|
75
|
+
]
|
|
76
|
+
});
|
|
77
|
+
table.print(result.groups.map(g => ({
|
|
78
|
+
...g,
|
|
79
|
+
display_name: g.display_name || colors.status.dim('(none)')
|
|
80
|
+
})));
|
|
81
|
+
}
|
|
82
|
+
catch (error) {
|
|
83
|
+
console.error(colors.status.error('Failed to list groups'));
|
|
84
|
+
console.error(colors.status.error(error.response?.data?.detail || error.message));
|
|
85
|
+
process.exit(1);
|
|
86
|
+
}
|
|
87
|
+
}))
|
|
88
|
+
.addCommand(new commander_1.Command('members')
|
|
89
|
+
.description('List members of a group')
|
|
90
|
+
.argument('<group-id>', 'Group ID')
|
|
91
|
+
.action(async (groupId) => {
|
|
92
|
+
try {
|
|
93
|
+
const client = (0, client_1.createClientFromEnv)();
|
|
94
|
+
const result = await client.listGroupMembers(parseInt(groupId));
|
|
95
|
+
console.log('\n' + (0, colors_1.separator)());
|
|
96
|
+
console.log(colors.ui.title(`Group: ${result.group_name} (ID ${result.group_id})`));
|
|
97
|
+
console.log((0, colors_1.separator)());
|
|
98
|
+
if (result.members.length === 0) {
|
|
99
|
+
console.log(colors.status.warning('\nNo members'));
|
|
100
|
+
if (result.group_id === 1) {
|
|
101
|
+
console.log(colors.status.dim(' Note: All authenticated users are implicit members of "public"'));
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
else {
|
|
105
|
+
console.log(`\n${colors.status.success(`${result.total} member(s):`)}\n`);
|
|
106
|
+
result.members.forEach(m => {
|
|
107
|
+
console.log(` ${colors.ui.bullet('●')} ${colors.concept.label(m.username)} (ID ${m.user_id})`);
|
|
108
|
+
console.log(` ${colors.status.dim(`Added: ${new Date(m.added_at).toLocaleString()}`)}`);
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
console.log('\n' + (0, colors_1.separator)());
|
|
112
|
+
}
|
|
113
|
+
catch (error) {
|
|
114
|
+
console.error(colors.status.error('Failed to list group members'));
|
|
115
|
+
console.error(colors.status.error(error.response?.data?.detail || error.message));
|
|
116
|
+
process.exit(1);
|
|
117
|
+
}
|
|
118
|
+
}))
|
|
119
|
+
.addCommand(new commander_1.Command('create')
|
|
120
|
+
.description('Create a new group (admin only)')
|
|
121
|
+
.requiredOption('-n, --name <name>', 'Group name (unique identifier)')
|
|
122
|
+
.option('-d, --display <name>', 'Display name')
|
|
123
|
+
.option('--description <text>', 'Group description')
|
|
124
|
+
.action(async (options) => {
|
|
125
|
+
try {
|
|
126
|
+
const client = (0, client_1.createClientFromEnv)();
|
|
127
|
+
const result = await client.createGroup({
|
|
128
|
+
group_name: options.name,
|
|
129
|
+
display_name: options.display,
|
|
130
|
+
description: options.description
|
|
131
|
+
});
|
|
132
|
+
console.log('\n' + (0, colors_1.separator)());
|
|
133
|
+
console.log(colors.status.success(`Created group "${result.group_name}" (ID ${result.id})`));
|
|
134
|
+
console.log((0, colors_1.separator)());
|
|
135
|
+
}
|
|
136
|
+
catch (error) {
|
|
137
|
+
console.error(colors.status.error('Failed to create group'));
|
|
138
|
+
console.error(colors.status.error(error.response?.data?.detail || error.message));
|
|
139
|
+
process.exit(1);
|
|
140
|
+
}
|
|
141
|
+
}))
|
|
142
|
+
.addCommand(new commander_1.Command('add-member')
|
|
143
|
+
.description('Add a user to a group (admin only)')
|
|
144
|
+
.argument('<group-id>', 'Group ID')
|
|
145
|
+
.argument('<user-id>', 'User ID to add')
|
|
146
|
+
.action(async (groupId, userId) => {
|
|
147
|
+
try {
|
|
148
|
+
const client = (0, client_1.createClientFromEnv)();
|
|
149
|
+
const result = await client.addGroupMember(parseInt(groupId), parseInt(userId));
|
|
150
|
+
console.log(colors.status.success(`Added user ${result.username} (ID ${result.user_id}) to group`));
|
|
151
|
+
}
|
|
152
|
+
catch (error) {
|
|
153
|
+
console.error(colors.status.error('Failed to add member'));
|
|
154
|
+
console.error(colors.status.error(error.response?.data?.detail || error.message));
|
|
155
|
+
process.exit(1);
|
|
156
|
+
}
|
|
157
|
+
}))
|
|
158
|
+
.addCommand(new commander_1.Command('remove-member')
|
|
159
|
+
.description('Remove a user from a group (admin only)')
|
|
160
|
+
.argument('<group-id>', 'Group ID')
|
|
161
|
+
.argument('<user-id>', 'User ID to remove')
|
|
162
|
+
.action(async (groupId, userId) => {
|
|
163
|
+
try {
|
|
164
|
+
const client = (0, client_1.createClientFromEnv)();
|
|
165
|
+
await client.removeGroupMember(parseInt(groupId), parseInt(userId));
|
|
166
|
+
console.log(colors.status.success(`Removed user ${userId} from group ${groupId}`));
|
|
167
|
+
}
|
|
168
|
+
catch (error) {
|
|
169
|
+
console.error(colors.status.error('Failed to remove member'));
|
|
170
|
+
console.error(colors.status.error(error.response?.data?.detail || error.message));
|
|
171
|
+
process.exit(1);
|
|
172
|
+
}
|
|
173
|
+
}));
|
|
174
|
+
//# sourceMappingURL=group.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"group.js","sourceRoot":"","sources":["../../src/cli/group.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,yCAAoC;AACpC,0CAAoD;AACpD,iDAAmC;AACnC,qCAAqC;AACrC,wCAAqC;AACrC,qDAAkD;AAErC,QAAA,YAAY,GAAG,IAAA,+BAAc,EACxC,IAAI,mBAAO,CAAC,OAAO,CAAC,EACpB,8BAA8B,EAC9B,iKAAiK,CAClK;KACE,KAAK,CAAC,KAAK,CAAC;KACZ,kBAAkB,CAAC,yCAAyC,CAAC;KAC7D,wBAAwB,EAAE;KAC1B,UAAU,CACT,IAAI,mBAAO,CAAC,MAAM,CAAC;KAChB,WAAW,CAAC,iBAAiB,CAAC;KAC9B,MAAM,CAAC,aAAa,EAAE,wCAAwC,CAAC;KAC/D,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAA,4BAAmB,GAAE,CAAC;QACrC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC;YACrC,cAAc,EAAE,OAAO,CAAC,MAAM,KAAK,KAAK;YACxC,oBAAoB,EAAE,IAAI;SAC3B,CAAC,CAAC;QAEH,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/B,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC;YACxD,OAAO;QACT,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;QAE9C,MAAM,KAAK,GAAG,IAAI,aAAK,CAAC;YACtB,OAAO,EAAE;gBACP,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE;gBACtE,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE;gBACnE,EAAE,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;gBAC9E,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE;gBACtF,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;oBAC5D,YAAY,EAAE,CAAC,CAAU,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE;aACpE;SACF,CAAC,CAAC;QAEH,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAClC,GAAG,CAAC;YACJ,YAAY,EAAE,CAAC,CAAC,YAAY,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;SAC5D,CAAC,CAAC,CAAC,CAAC;IAEP,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC,CAAC;QAC5D,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAClF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CACL;KACA,UAAU,CACT,IAAI,mBAAO,CAAC,SAAS,CAAC;KACnB,WAAW,CAAC,yBAAyB,CAAC;KACtC,QAAQ,CAAC,YAAY,EAAE,UAAU,CAAC;KAClC,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAA,4BAAmB,GAAE,CAAC;QACrC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;QAEhE,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,IAAA,kBAAS,GAAE,CAAC,CAAC;QAChC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,UAAU,MAAM,CAAC,UAAU,QAAQ,MAAM,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;QACpF,OAAO,CAAC,GAAG,CAAC,IAAA,kBAAS,GAAE,CAAC,CAAC;QAEzB,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC;YACnD,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;gBAC1B,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,kEAAkE,CAAC,CAAC,CAAC;YACrG,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC,KAAK,aAAa,CAAC,IAAI,CAAC,CAAC;YAC1E,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;gBACzB,OAAO,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC;gBAChG,OAAO,CAAC,GAAG,CAAC,OAAO,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,cAAc,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;YAC7F,CAAC,CAAC,CAAC;QACL,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,IAAA,kBAAS,GAAE,CAAC,CAAC;IAElC,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC,CAAC;QACnE,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAClF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CACL;KACA,UAAU,CACT,IAAI,mBAAO,CAAC,QAAQ,CAAC;KAClB,WAAW,CAAC,iCAAiC,CAAC;KAC9C,cAAc,CAAC,mBAAmB,EAAE,gCAAgC,CAAC;KACrE,MAAM,CAAC,sBAAsB,EAAE,cAAc,CAAC;KAC9C,MAAM,CAAC,sBAAsB,EAAE,mBAAmB,CAAC;KACnD,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAA,4BAAmB,GAAE,CAAC;QACrC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC;YACtC,UAAU,EAAE,OAAO,CAAC,IAAI;YACxB,YAAY,EAAE,OAAO,CAAC,OAAO;YAC7B,WAAW,EAAE,OAAO,CAAC,WAAW;SACjC,CAAC,CAAC;QAEH,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,IAAA,kBAAS,GAAE,CAAC,CAAC;QAChC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,kBAAkB,MAAM,CAAC,UAAU,SAAS,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QAC7F,OAAO,CAAC,GAAG,CAAC,IAAA,kBAAS,GAAE,CAAC,CAAC;IAE3B,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC,CAAC;QAC7D,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAClF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CACL;KACA,UAAU,CACT,IAAI,mBAAO,CAAC,YAAY,CAAC;KACtB,WAAW,CAAC,oCAAoC,CAAC;KACjD,QAAQ,CAAC,YAAY,EAAE,UAAU,CAAC;KAClC,QAAQ,CAAC,WAAW,EAAE,gBAAgB,CAAC;KACvC,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;IAChC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAA,4BAAmB,GAAE,CAAC;QACrC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;QAEhF,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,cAAc,MAAM,CAAC,QAAQ,QAAQ,MAAM,CAAC,OAAO,YAAY,CAAC,CAAC,CAAC;IAEtG,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC,CAAC;QAC3D,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAClF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CACL;KACA,UAAU,CACT,IAAI,mBAAO,CAAC,eAAe,CAAC;KACzB,WAAW,CAAC,yCAAyC,CAAC;KACtD,QAAQ,CAAC,YAAY,EAAE,UAAU,CAAC;KAClC,QAAQ,CAAC,WAAW,EAAE,mBAAmB,CAAC;KAC1C,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;IAChC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAA,4BAAmB,GAAE,CAAC;QACrC,MAAM,MAAM,CAAC,iBAAiB,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;QAEpE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,gBAAgB,MAAM,eAAe,OAAO,EAAE,CAAC,CAAC,CAAC;IAErF,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC,CAAC;QAC9D,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAClF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CACL,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"health.d.ts","sourceRoot":"","sources":["../../src/cli/health.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,eAAO,MAAM,aAAa,SAyBtB,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Health check command
|
|
4
|
+
*/
|
|
5
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
6
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
7
|
+
};
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.healthCommand = void 0;
|
|
10
|
+
const commander_1 = require("commander");
|
|
11
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
12
|
+
const client_1 = require("../api/client");
|
|
13
|
+
const help_formatter_1 = require("./help-formatter");
|
|
14
|
+
exports.healthCommand = (0, help_formatter_1.setCommandHelp)(new commander_1.Command('health'), 'Check API server health', 'Check API server health and retrieve service information. Verifies the server is running and responsive. Use this as a first diagnostic step before running other commands.')
|
|
15
|
+
.showHelpAfterError()
|
|
16
|
+
.action(async () => {
|
|
17
|
+
try {
|
|
18
|
+
const client = (0, client_1.createClientFromEnv)();
|
|
19
|
+
console.log(chalk_1.default.blue('Checking API health...'));
|
|
20
|
+
const health = await client.health();
|
|
21
|
+
console.log(chalk_1.default.green('✓ API is healthy'));
|
|
22
|
+
console.log(JSON.stringify(health, null, 2));
|
|
23
|
+
// Get info
|
|
24
|
+
const info = await client.info();
|
|
25
|
+
console.log(chalk_1.default.blue('\nAPI Info:'));
|
|
26
|
+
console.log(JSON.stringify(info, null, 2));
|
|
27
|
+
}
|
|
28
|
+
catch (error) {
|
|
29
|
+
console.error(chalk_1.default.red('✗ API health check failed'));
|
|
30
|
+
console.error(chalk_1.default.red(error.message));
|
|
31
|
+
process.exit(1);
|
|
32
|
+
}
|
|
33
|
+
});
|
|
34
|
+
//# sourceMappingURL=health.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"health.js","sourceRoot":"","sources":["../../src/cli/health.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;;AAEH,yCAAoC;AACpC,kDAA0B;AAC1B,0CAAoD;AACpD,qDAAkD;AAErC,QAAA,aAAa,GAAG,IAAA,+BAAc,EACzC,IAAI,mBAAO,CAAC,QAAQ,CAAC,EACrB,yBAAyB,EACzB,6KAA6K,CAC9K;KACE,kBAAkB,EAAE;KACpB,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAA,4BAAmB,GAAE,CAAC;QAErC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC;QAClD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC;QAErC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC;QAC7C,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAE7C,WAAW;QACX,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;QACjC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;QACvC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC7C,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC,CAAC;QACtD,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QACxC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared Help Formatter for Consistent Colored Output
|
|
3
|
+
*/
|
|
4
|
+
import { Command } from 'commander';
|
|
5
|
+
/**
|
|
6
|
+
* Set both a terse summary (for command listings) and detailed description (for --help)
|
|
7
|
+
* @param cmd - Commander.js command
|
|
8
|
+
* @param summary - Terse one-line description for command listings
|
|
9
|
+
* @param description - Detailed multi-line description for --help output
|
|
10
|
+
*/
|
|
11
|
+
export declare function setCommandHelp(cmd: Command, summary: string, description: string): Command;
|
|
12
|
+
/**
|
|
13
|
+
* Configure colored help for a command
|
|
14
|
+
*/
|
|
15
|
+
export declare function configureColoredHelp(cmd: Command): void;
|
|
16
|
+
//# sourceMappingURL=help-formatter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"help-formatter.d.ts","sourceRoot":"","sources":["../../src/cli/help-formatter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAQ,MAAM,WAAW,CAAC;AA0G1C;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAG1F;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CAwHvD"}
|
|
@@ -0,0 +1,248 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Shared Help Formatter for Consistent Colored Output
|
|
4
|
+
*/
|
|
5
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
8
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
9
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
10
|
+
}
|
|
11
|
+
Object.defineProperty(o, k2, desc);
|
|
12
|
+
}) : (function(o, m, k, k2) {
|
|
13
|
+
if (k2 === undefined) k2 = k;
|
|
14
|
+
o[k2] = m[k];
|
|
15
|
+
}));
|
|
16
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
17
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
18
|
+
}) : function(o, v) {
|
|
19
|
+
o["default"] = v;
|
|
20
|
+
});
|
|
21
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
22
|
+
var ownKeys = function(o) {
|
|
23
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
24
|
+
var ar = [];
|
|
25
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
26
|
+
return ar;
|
|
27
|
+
};
|
|
28
|
+
return ownKeys(o);
|
|
29
|
+
};
|
|
30
|
+
return function (mod) {
|
|
31
|
+
if (mod && mod.__esModule) return mod;
|
|
32
|
+
var result = {};
|
|
33
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
34
|
+
__setModuleDefault(result, mod);
|
|
35
|
+
return result;
|
|
36
|
+
};
|
|
37
|
+
})();
|
|
38
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
39
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
40
|
+
};
|
|
41
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
42
|
+
exports.setCommandHelp = setCommandHelp;
|
|
43
|
+
exports.configureColoredHelp = configureColoredHelp;
|
|
44
|
+
const colors = __importStar(require("./colors"));
|
|
45
|
+
const ansis_1 = __importDefault(require("ansis"));
|
|
46
|
+
/**
|
|
47
|
+
* Format description text with markdown-like syntax and colors using ansis
|
|
48
|
+
* Supports:
|
|
49
|
+
* - Sentences ending with periods: regular white text
|
|
50
|
+
* - Sentences ending with colons: bold cyan (section headers)
|
|
51
|
+
* - Text in parentheses like (ADR-xxx): dim gray
|
|
52
|
+
* - Terms with special chars (/, →, -): highlighted in green
|
|
53
|
+
* - Breaks long text into readable chunks
|
|
54
|
+
*/
|
|
55
|
+
function formatDescription(text) {
|
|
56
|
+
if (!text)
|
|
57
|
+
return '';
|
|
58
|
+
// Split into sentences by periods followed by space or end
|
|
59
|
+
const sentences = text.match(/[^.!?]+[.!?]+/g) || [text];
|
|
60
|
+
let output = '';
|
|
61
|
+
let lineLength = 0;
|
|
62
|
+
const maxLineLength = 100;
|
|
63
|
+
sentences.forEach((sentence, idx) => {
|
|
64
|
+
sentence = sentence.trim();
|
|
65
|
+
if (!sentence)
|
|
66
|
+
return;
|
|
67
|
+
// Section headers (end with colon) - new line and bold cyan
|
|
68
|
+
if (sentence.endsWith(':')) {
|
|
69
|
+
if (output && !output.endsWith('\n'))
|
|
70
|
+
output += '\n';
|
|
71
|
+
output += ansis_1.default.bold.cyan(sentence) + '\n';
|
|
72
|
+
lineLength = 0;
|
|
73
|
+
return;
|
|
74
|
+
}
|
|
75
|
+
// Apply inline formatting
|
|
76
|
+
let formatted = sentence;
|
|
77
|
+
// Highlight parenthetical references (ADR-xxx, etc.) in dim
|
|
78
|
+
formatted = formatted.replace(/(\([A-Z]+[-\d]+[^)]*\))/g, (match) => ansis_1.default.dim(match));
|
|
79
|
+
// Highlight technical terms with arrows
|
|
80
|
+
formatted = formatted.replace(/([a-z]+→[a-z]+)/gi, (match) => ansis_1.default.green(match));
|
|
81
|
+
// Highlight file extensions and paths
|
|
82
|
+
formatted = formatted.replace(/(\w+\/\w+)/g, (match) => ansis_1.default.green(match));
|
|
83
|
+
formatted = formatted.replace(/(\.\w{2,4})/g, (match) => ansis_1.default.green(match));
|
|
84
|
+
// Highlight workflow/status terms
|
|
85
|
+
formatted = formatted.replace(/\b(pending|approval|processing|completed|failed|awaiting_approval|running)\b/g, (match) => ansis_1.default.yellow(match));
|
|
86
|
+
// Highlight technical terms
|
|
87
|
+
formatted = formatted.replace(/\b(LLM|API|REST|OAuth|PostgreSQL|Apache AGE|vector|embedding|graph|concept|chunk|ontology)\b/g, (match) => ansis_1.default.cyan(match));
|
|
88
|
+
// Normal text in white (not dim)
|
|
89
|
+
output += ansis_1.default.white(formatted);
|
|
90
|
+
lineLength += sentence.length;
|
|
91
|
+
// Add line break after ~100 chars or every 2-3 sentences for readability
|
|
92
|
+
if (lineLength > maxLineLength || (idx > 0 && idx % 2 === 0)) {
|
|
93
|
+
output += '\n';
|
|
94
|
+
lineLength = 0;
|
|
95
|
+
}
|
|
96
|
+
else {
|
|
97
|
+
output += ' ';
|
|
98
|
+
}
|
|
99
|
+
});
|
|
100
|
+
return output.trim();
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Wrap text to fit within a specific width, indenting continuation lines
|
|
104
|
+
* Uses ansis.strip() to measure actual text length without color codes
|
|
105
|
+
* @param text - Text to wrap (may include ANSI color codes)
|
|
106
|
+
* @param maxWidth - Maximum width for each line
|
|
107
|
+
* @param indent - Indentation for continuation lines
|
|
108
|
+
*/
|
|
109
|
+
function wrapText(text, maxWidth, indent = '') {
|
|
110
|
+
const words = text.split(' ');
|
|
111
|
+
const lines = [];
|
|
112
|
+
let currentLine = '';
|
|
113
|
+
for (const word of words) {
|
|
114
|
+
const testLine = currentLine ? currentLine + ' ' + word : word;
|
|
115
|
+
const testLineStripped = ansis_1.default.strip(testLine);
|
|
116
|
+
if (testLineStripped.length <= maxWidth) {
|
|
117
|
+
currentLine = testLine;
|
|
118
|
+
}
|
|
119
|
+
else {
|
|
120
|
+
if (currentLine) {
|
|
121
|
+
lines.push(currentLine);
|
|
122
|
+
}
|
|
123
|
+
currentLine = word;
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
if (currentLine) {
|
|
127
|
+
lines.push(currentLine);
|
|
128
|
+
}
|
|
129
|
+
// Join with newline + indent for continuation lines
|
|
130
|
+
return lines.map((line, idx) => idx === 0 ? line : indent + line).join('\n');
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Set both a terse summary (for command listings) and detailed description (for --help)
|
|
134
|
+
* @param cmd - Commander.js command
|
|
135
|
+
* @param summary - Terse one-line description for command listings
|
|
136
|
+
* @param description - Detailed multi-line description for --help output
|
|
137
|
+
*/
|
|
138
|
+
function setCommandHelp(cmd, summary, description) {
|
|
139
|
+
cmd._shortDesc = summary;
|
|
140
|
+
return cmd.description(description);
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Configure colored help for a command
|
|
144
|
+
*/
|
|
145
|
+
function configureColoredHelp(cmd) {
|
|
146
|
+
cmd.configureHelp({
|
|
147
|
+
formatHelp: (command, helper) => {
|
|
148
|
+
const termWidth = helper.padWidth(command, helper);
|
|
149
|
+
const availableWidth = process.stdout.columns || 100;
|
|
150
|
+
let output = '';
|
|
151
|
+
// Usage
|
|
152
|
+
output += colors.ui.key('Usage: ') +
|
|
153
|
+
colors.ui.value(helper.commandUsage(command).replace('Usage: ', '')) + '\n\n';
|
|
154
|
+
// Description (formatted with colors and structure)
|
|
155
|
+
const desc = helper.commandDescription(command);
|
|
156
|
+
if (desc) {
|
|
157
|
+
output += formatDescription(desc) + '\n\n';
|
|
158
|
+
}
|
|
159
|
+
// Arguments
|
|
160
|
+
const args = helper.visibleArguments(command);
|
|
161
|
+
if (args.length > 0) {
|
|
162
|
+
output += colors.ui.header('Arguments') + '\n';
|
|
163
|
+
args.forEach(arg => {
|
|
164
|
+
const name = helper.argumentTerm(arg);
|
|
165
|
+
const description = helper.argumentDescription(arg);
|
|
166
|
+
// Color argument placeholders
|
|
167
|
+
const coloredName = name.startsWith('<') || name.startsWith('[')
|
|
168
|
+
? colors.status.dim(name)
|
|
169
|
+
: colors.ui.command(name);
|
|
170
|
+
const padding = ' '.repeat(Math.max(2, termWidth - name.length + 2));
|
|
171
|
+
const leftColumnWidth = 2 + name.length + padding.length; // 2 for indent
|
|
172
|
+
const descWidth = availableWidth - leftColumnWidth;
|
|
173
|
+
const wrappedDesc = wrapText(colors.status.dim(description), descWidth, ' '.repeat(leftColumnWidth));
|
|
174
|
+
output += ' ' + coloredName + padding + wrappedDesc + '\n';
|
|
175
|
+
});
|
|
176
|
+
output += '\n';
|
|
177
|
+
}
|
|
178
|
+
// Options
|
|
179
|
+
const opts = helper.visibleOptions(command);
|
|
180
|
+
if (opts.length > 0) {
|
|
181
|
+
output += colors.ui.header('Options') + '\n';
|
|
182
|
+
opts.forEach(option => {
|
|
183
|
+
const flags = helper.optionTerm(option);
|
|
184
|
+
const description = helper.optionDescription(option);
|
|
185
|
+
// Parse and color each component
|
|
186
|
+
const parts = flags.split(/\s+/);
|
|
187
|
+
const coloredParts = parts.map(part => {
|
|
188
|
+
if (part.startsWith('<') && part.endsWith('>')) {
|
|
189
|
+
return colors.status.dim(part); // placeholders like <url>
|
|
190
|
+
}
|
|
191
|
+
else if (part.startsWith('[') && part.endsWith(']')) {
|
|
192
|
+
return colors.status.dim(part); // optional like [value]
|
|
193
|
+
}
|
|
194
|
+
else if (part.startsWith('-')) {
|
|
195
|
+
return colors.ui.command(part); // flags like -V or --version (forest green)
|
|
196
|
+
}
|
|
197
|
+
else {
|
|
198
|
+
return part; // commas, etc
|
|
199
|
+
}
|
|
200
|
+
});
|
|
201
|
+
const coloredFlags = coloredParts.join(' ');
|
|
202
|
+
const padding = ' '.repeat(Math.max(2, termWidth - flags.length + 2));
|
|
203
|
+
const leftColumnWidth = 2 + flags.length + padding.length;
|
|
204
|
+
const descWidth = availableWidth - leftColumnWidth;
|
|
205
|
+
const wrappedDesc = wrapText(colors.status.dim(description), descWidth, ' '.repeat(leftColumnWidth));
|
|
206
|
+
output += ' ' + coloredFlags + padding + wrappedDesc + '\n';
|
|
207
|
+
});
|
|
208
|
+
output += '\n';
|
|
209
|
+
}
|
|
210
|
+
// Commands
|
|
211
|
+
const commands = helper.visibleCommands(command);
|
|
212
|
+
if (commands.length > 0) {
|
|
213
|
+
output += colors.ui.header('Commands') + '\n';
|
|
214
|
+
commands.forEach(subcommand => {
|
|
215
|
+
const name = helper.subcommandTerm(subcommand);
|
|
216
|
+
// Use ._shortDesc if available (terse), otherwise fall back to full description
|
|
217
|
+
const description = subcommand._shortDesc || helper.subcommandDescription(subcommand);
|
|
218
|
+
// Parse and color command name parts
|
|
219
|
+
const parts = name.split(/\s+/);
|
|
220
|
+
const coloredParts = parts.map(part => {
|
|
221
|
+
if (part.startsWith('[') && part.endsWith(']')) {
|
|
222
|
+
return colors.status.dim(part); // [arguments]
|
|
223
|
+
}
|
|
224
|
+
else if (part.startsWith('<') && part.endsWith('>')) {
|
|
225
|
+
return colors.status.dim(part); // <required>
|
|
226
|
+
}
|
|
227
|
+
else if (part.includes('|')) {
|
|
228
|
+
// Handle aliases like "database|db"
|
|
229
|
+
const aliases = part.split('|');
|
|
230
|
+
return aliases.map(a => colors.ui.command(a)).join('|');
|
|
231
|
+
}
|
|
232
|
+
else {
|
|
233
|
+
return colors.ui.command(part); // command name (forest green)
|
|
234
|
+
}
|
|
235
|
+
});
|
|
236
|
+
const coloredName = coloredParts.join(' ');
|
|
237
|
+
const padding = ' '.repeat(Math.max(2, termWidth - name.length + 2));
|
|
238
|
+
const leftColumnWidth = 2 + name.length + padding.length;
|
|
239
|
+
const descWidth = availableWidth - leftColumnWidth;
|
|
240
|
+
const wrappedDesc = wrapText(colors.status.dim(description), descWidth, ' '.repeat(leftColumnWidth));
|
|
241
|
+
output += ' ' + coloredName + padding + wrappedDesc + '\n';
|
|
242
|
+
});
|
|
243
|
+
}
|
|
244
|
+
return output;
|
|
245
|
+
}
|
|
246
|
+
});
|
|
247
|
+
}
|
|
248
|
+
//# sourceMappingURL=help-formatter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"help-formatter.js","sourceRoot":"","sources":["../../src/cli/help-formatter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Help Commands - Including dynamic command map introspection
|
|
3
|
+
*/
|
|
4
|
+
import { Command } from 'commander';
|
|
5
|
+
/**
|
|
6
|
+
* Create the help command with commandmap subcommand
|
|
7
|
+
*/
|
|
8
|
+
export declare function createHelpCommand(program: Command): Command;
|
|
9
|
+
//# sourceMappingURL=help.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"help.d.ts","sourceRoot":"","sources":["../../src/cli/help.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAmIpC;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAyG3D"}
|