@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.
Files changed (266) hide show
  1. package/README.md +112 -0
  2. package/dist/api/client.d.ts +867 -0
  3. package/dist/api/client.d.ts.map +1 -0
  4. package/dist/api/client.js +1362 -0
  5. package/dist/api/client.js.map +1 -0
  6. package/dist/cli/admin/backup.d.ts +9 -0
  7. package/dist/cli/admin/backup.d.ts.map +1 -0
  8. package/dist/cli/admin/backup.js +363 -0
  9. package/dist/cli/admin/backup.js.map +1 -0
  10. package/dist/cli/admin/index.d.ts +7 -0
  11. package/dist/cli/admin/index.d.ts.map +1 -0
  12. package/dist/cli/admin/index.js +52 -0
  13. package/dist/cli/admin/index.js.map +1 -0
  14. package/dist/cli/admin/scheduler.d.ts +7 -0
  15. package/dist/cli/admin/scheduler.d.ts.map +1 -0
  16. package/dist/cli/admin/scheduler.js +125 -0
  17. package/dist/cli/admin/scheduler.js.map +1 -0
  18. package/dist/cli/admin/status.d.ts +7 -0
  19. package/dist/cli/admin/status.d.ts.map +1 -0
  20. package/dist/cli/admin/status.js +134 -0
  21. package/dist/cli/admin/status.js.map +1 -0
  22. package/dist/cli/admin/utils.d.ts +34 -0
  23. package/dist/cli/admin/utils.d.ts.map +1 -0
  24. package/dist/cli/admin/utils.js +441 -0
  25. package/dist/cli/admin/utils.js.map +1 -0
  26. package/dist/cli/ai-config/embedding.d.ts +11 -0
  27. package/dist/cli/ai-config/embedding.d.ts.map +1 -0
  28. package/dist/cli/ai-config/embedding.js +598 -0
  29. package/dist/cli/ai-config/embedding.js.map +1 -0
  30. package/dist/cli/ai-config/extraction.d.ts +11 -0
  31. package/dist/cli/ai-config/extraction.d.ts.map +1 -0
  32. package/dist/cli/ai-config/extraction.js +206 -0
  33. package/dist/cli/ai-config/extraction.js.map +1 -0
  34. package/dist/cli/ai-config/index.d.ts +21 -0
  35. package/dist/cli/ai-config/index.d.ts.map +1 -0
  36. package/dist/cli/ai-config/index.js +27 -0
  37. package/dist/cli/ai-config/index.js.map +1 -0
  38. package/dist/cli/ai-config/keys.d.ts +11 -0
  39. package/dist/cli/ai-config/keys.d.ts.map +1 -0
  40. package/dist/cli/ai-config/keys.js +182 -0
  41. package/dist/cli/ai-config/keys.js.map +1 -0
  42. package/dist/cli/ai-config/utils.d.ts +13 -0
  43. package/dist/cli/ai-config/utils.d.ts.map +1 -0
  44. package/dist/cli/ai-config/utils.js +84 -0
  45. package/dist/cli/ai-config/utils.js.map +1 -0
  46. package/dist/cli/artifact.d.ts +8 -0
  47. package/dist/cli/artifact.d.ts.map +1 -0
  48. package/dist/cli/artifact.js +296 -0
  49. package/dist/cli/artifact.js.map +1 -0
  50. package/dist/cli/auth-admin.d.ts +11 -0
  51. package/dist/cli/auth-admin.d.ts.map +1 -0
  52. package/dist/cli/auth-admin.js +415 -0
  53. package/dist/cli/auth-admin.js.map +1 -0
  54. package/dist/cli/colors.d.ts +105 -0
  55. package/dist/cli/colors.d.ts.map +1 -0
  56. package/dist/cli/colors.js +164 -0
  57. package/dist/cli/colors.js.map +1 -0
  58. package/dist/cli/commands.d.ts +6 -0
  59. package/dist/cli/commands.d.ts.map +1 -0
  60. package/dist/cli/commands.js +164 -0
  61. package/dist/cli/commands.js.map +1 -0
  62. package/dist/cli/config.d.ts +6 -0
  63. package/dist/cli/config.d.ts.map +1 -0
  64. package/dist/cli/config.js +694 -0
  65. package/dist/cli/config.js.map +1 -0
  66. package/dist/cli/curve-viz.d.ts +89 -0
  67. package/dist/cli/curve-viz.d.ts.map +1 -0
  68. package/dist/cli/curve-viz.js +228 -0
  69. package/dist/cli/curve-viz.js.map +1 -0
  70. package/dist/cli/database.d.ts +6 -0
  71. package/dist/cli/database.d.ts.map +1 -0
  72. package/dist/cli/database.js +324 -0
  73. package/dist/cli/database.js.map +1 -0
  74. package/dist/cli/document.d.ts +6 -0
  75. package/dist/cli/document.d.ts.map +1 -0
  76. package/dist/cli/document.js +458 -0
  77. package/dist/cli/document.js.map +1 -0
  78. package/dist/cli/group.d.ts +8 -0
  79. package/dist/cli/group.d.ts.map +1 -0
  80. package/dist/cli/group.js +174 -0
  81. package/dist/cli/group.js.map +1 -0
  82. package/dist/cli/health.d.ts +6 -0
  83. package/dist/cli/health.d.ts.map +1 -0
  84. package/dist/cli/health.js +34 -0
  85. package/dist/cli/health.js.map +1 -0
  86. package/dist/cli/help-formatter.d.ts +16 -0
  87. package/dist/cli/help-formatter.d.ts.map +1 -0
  88. package/dist/cli/help-formatter.js +248 -0
  89. package/dist/cli/help-formatter.js.map +1 -0
  90. package/dist/cli/help.d.ts +9 -0
  91. package/dist/cli/help.d.ts.map +1 -0
  92. package/dist/cli/help.js +227 -0
  93. package/dist/cli/help.js.map +1 -0
  94. package/dist/cli/ingest.d.ts +6 -0
  95. package/dist/cli/ingest.d.ts.map +1 -0
  96. package/dist/cli/ingest.js +722 -0
  97. package/dist/cli/ingest.js.map +1 -0
  98. package/dist/cli/jobs.d.ts +6 -0
  99. package/dist/cli/jobs.d.ts.map +1 -0
  100. package/dist/cli/jobs.js +663 -0
  101. package/dist/cli/jobs.js.map +1 -0
  102. package/dist/cli/login.d.ts +21 -0
  103. package/dist/cli/login.d.ts.map +1 -0
  104. package/dist/cli/login.js +221 -0
  105. package/dist/cli/login.js.map +1 -0
  106. package/dist/cli/logout.d.ts +16 -0
  107. package/dist/cli/logout.d.ts.map +1 -0
  108. package/dist/cli/logout.js +141 -0
  109. package/dist/cli/logout.js.map +1 -0
  110. package/dist/cli/mcp-config.d.ts +10 -0
  111. package/dist/cli/mcp-config.d.ts.map +1 -0
  112. package/dist/cli/mcp-config.js +358 -0
  113. package/dist/cli/mcp-config.js.map +1 -0
  114. package/dist/cli/oauth.d.ts +15 -0
  115. package/dist/cli/oauth.d.ts.map +1 -0
  116. package/dist/cli/oauth.js +296 -0
  117. package/dist/cli/oauth.js.map +1 -0
  118. package/dist/cli/ontology.d.ts +6 -0
  119. package/dist/cli/ontology.d.ts.map +1 -0
  120. package/dist/cli/ontology.js +231 -0
  121. package/dist/cli/ontology.js.map +1 -0
  122. package/dist/cli/polarity.d.ts +6 -0
  123. package/dist/cli/polarity.d.ts.map +1 -0
  124. package/dist/cli/polarity.js +295 -0
  125. package/dist/cli/polarity.js.map +1 -0
  126. package/dist/cli/projection.d.ts +8 -0
  127. package/dist/cli/projection.d.ts.map +1 -0
  128. package/dist/cli/projection.js +297 -0
  129. package/dist/cli/projection.js.map +1 -0
  130. package/dist/cli/query-def.d.ts +8 -0
  131. package/dist/cli/query-def.d.ts.map +1 -0
  132. package/dist/cli/query-def.js +163 -0
  133. package/dist/cli/query-def.js.map +1 -0
  134. package/dist/cli/rbac.d.ts +12 -0
  135. package/dist/cli/rbac.d.ts.map +1 -0
  136. package/dist/cli/rbac.js +615 -0
  137. package/dist/cli/rbac.js.map +1 -0
  138. package/dist/cli/search.d.ts +6 -0
  139. package/dist/cli/search.d.ts.map +1 -0
  140. package/dist/cli/search.js +829 -0
  141. package/dist/cli/search.js.map +1 -0
  142. package/dist/cli/source.d.ts +6 -0
  143. package/dist/cli/source.d.ts.map +1 -0
  144. package/dist/cli/source.js +202 -0
  145. package/dist/cli/source.js.map +1 -0
  146. package/dist/cli/verb-router.d.ts +25 -0
  147. package/dist/cli/verb-router.d.ts.map +1 -0
  148. package/dist/cli/verb-router.js +415 -0
  149. package/dist/cli/verb-router.js.map +1 -0
  150. package/dist/cli/vocabulary/config.d.ts +7 -0
  151. package/dist/cli/vocabulary/config.d.ts.map +1 -0
  152. package/dist/cli/vocabulary/config.js +201 -0
  153. package/dist/cli/vocabulary/config.js.map +1 -0
  154. package/dist/cli/vocabulary/consolidate.d.ts +8 -0
  155. package/dist/cli/vocabulary/consolidate.d.ts.map +1 -0
  156. package/dist/cli/vocabulary/consolidate.js +192 -0
  157. package/dist/cli/vocabulary/consolidate.js.map +1 -0
  158. package/dist/cli/vocabulary/embeddings.d.ts +9 -0
  159. package/dist/cli/vocabulary/embeddings.d.ts.map +1 -0
  160. package/dist/cli/vocabulary/embeddings.js +205 -0
  161. package/dist/cli/vocabulary/embeddings.js.map +1 -0
  162. package/dist/cli/vocabulary/epistemic.d.ts +7 -0
  163. package/dist/cli/vocabulary/epistemic.d.ts.map +1 -0
  164. package/dist/cli/vocabulary/epistemic.js +315 -0
  165. package/dist/cli/vocabulary/epistemic.js.map +1 -0
  166. package/dist/cli/vocabulary/index.d.ts +7 -0
  167. package/dist/cli/vocabulary/index.d.ts.map +1 -0
  168. package/dist/cli/vocabulary/index.js +45 -0
  169. package/dist/cli/vocabulary/index.js.map +1 -0
  170. package/dist/cli/vocabulary/profiles.d.ts +7 -0
  171. package/dist/cli/vocabulary/profiles.d.ts.map +1 -0
  172. package/dist/cli/vocabulary/profiles.js +171 -0
  173. package/dist/cli/vocabulary/profiles.js.map +1 -0
  174. package/dist/cli/vocabulary/similarity.d.ts +9 -0
  175. package/dist/cli/vocabulary/similarity.d.ts.map +1 -0
  176. package/dist/cli/vocabulary/similarity.js +199 -0
  177. package/dist/cli/vocabulary/similarity.js.map +1 -0
  178. package/dist/cli/vocabulary/status.d.ts +8 -0
  179. package/dist/cli/vocabulary/status.d.ts.map +1 -0
  180. package/dist/cli/vocabulary/status.js +280 -0
  181. package/dist/cli/vocabulary/status.js.map +1 -0
  182. package/dist/cli/vocabulary/sync.d.ts +7 -0
  183. package/dist/cli/vocabulary/sync.d.ts.map +1 -0
  184. package/dist/cli/vocabulary/sync.js +111 -0
  185. package/dist/cli/vocabulary/sync.js.map +1 -0
  186. package/dist/index.d.ts +9 -0
  187. package/dist/index.d.ts.map +1 -0
  188. package/dist/index.js +16 -0
  189. package/dist/index.js.map +1 -0
  190. package/dist/lib/auth/auth-client.d.ts +247 -0
  191. package/dist/lib/auth/auth-client.d.ts.map +1 -0
  192. package/dist/lib/auth/auth-client.js +305 -0
  193. package/dist/lib/auth/auth-client.js.map +1 -0
  194. package/dist/lib/auth/challenge.d.ts +39 -0
  195. package/dist/lib/auth/challenge.d.ts.map +1 -0
  196. package/dist/lib/auth/challenge.js +125 -0
  197. package/dist/lib/auth/challenge.js.map +1 -0
  198. package/dist/lib/auth/client-credentials-flow.d.ts +58 -0
  199. package/dist/lib/auth/client-credentials-flow.d.ts.map +1 -0
  200. package/dist/lib/auth/client-credentials-flow.js +118 -0
  201. package/dist/lib/auth/client-credentials-flow.js.map +1 -0
  202. package/dist/lib/auth/device-flow.d.ts +75 -0
  203. package/dist/lib/auth/device-flow.d.ts.map +1 -0
  204. package/dist/lib/auth/device-flow.js +177 -0
  205. package/dist/lib/auth/device-flow.js.map +1 -0
  206. package/dist/lib/auth/index.d.ts +14 -0
  207. package/dist/lib/auth/index.d.ts.map +1 -0
  208. package/dist/lib/auth/index.js +34 -0
  209. package/dist/lib/auth/index.js.map +1 -0
  210. package/dist/lib/auth/oauth-types.d.ts +69 -0
  211. package/dist/lib/auth/oauth-types.d.ts.map +1 -0
  212. package/dist/lib/auth/oauth-types.js +10 -0
  213. package/dist/lib/auth/oauth-types.js.map +1 -0
  214. package/dist/lib/auth/oauth-utils.d.ts +51 -0
  215. package/dist/lib/auth/oauth-utils.d.ts.map +1 -0
  216. package/dist/lib/auth/oauth-utils.js +110 -0
  217. package/dist/lib/auth/oauth-utils.js.map +1 -0
  218. package/dist/lib/auth/token-manager.d.ts +87 -0
  219. package/dist/lib/auth/token-manager.d.ts.map +1 -0
  220. package/dist/lib/auth/token-manager.js +139 -0
  221. package/dist/lib/auth/token-manager.js.map +1 -0
  222. package/dist/lib/auth/token-refresh.d.ts +63 -0
  223. package/dist/lib/auth/token-refresh.d.ts.map +1 -0
  224. package/dist/lib/auth/token-refresh.js +141 -0
  225. package/dist/lib/auth/token-refresh.js.map +1 -0
  226. package/dist/lib/config.d.ts +286 -0
  227. package/dist/lib/config.d.ts.map +1 -0
  228. package/dist/lib/config.js +537 -0
  229. package/dist/lib/config.js.map +1 -0
  230. package/dist/lib/job-stream.d.ts +53 -0
  231. package/dist/lib/job-stream.d.ts.map +1 -0
  232. package/dist/lib/job-stream.js +153 -0
  233. package/dist/lib/job-stream.js.map +1 -0
  234. package/dist/lib/mcp-allowlist.d.ts +101 -0
  235. package/dist/lib/mcp-allowlist.d.ts.map +1 -0
  236. package/dist/lib/mcp-allowlist.js +340 -0
  237. package/dist/lib/mcp-allowlist.js.map +1 -0
  238. package/dist/lib/table-example.d.ts +7 -0
  239. package/dist/lib/table-example.d.ts.map +1 -0
  240. package/dist/lib/table-example.js +105 -0
  241. package/dist/lib/table-example.js.map +1 -0
  242. package/dist/lib/table.d.ts +95 -0
  243. package/dist/lib/table.d.ts.map +1 -0
  244. package/dist/lib/table.js +263 -0
  245. package/dist/lib/table.js.map +1 -0
  246. package/dist/lib/terminal-images.d.ts +66 -0
  247. package/dist/lib/terminal-images.d.ts.map +1 -0
  248. package/dist/lib/terminal-images.js +268 -0
  249. package/dist/lib/terminal-images.js.map +1 -0
  250. package/dist/mcp/formatters.d.ts +100 -0
  251. package/dist/mcp/formatters.d.ts.map +1 -0
  252. package/dist/mcp/formatters.js +1411 -0
  253. package/dist/mcp/formatters.js.map +1 -0
  254. package/dist/mcp-server.d.ts +9 -0
  255. package/dist/mcp-server.d.ts.map +1 -0
  256. package/dist/mcp-server.js +1810 -0
  257. package/dist/mcp-server.js.map +1 -0
  258. package/dist/types/index.d.ts +742 -0
  259. package/dist/types/index.d.ts.map +1 -0
  260. package/dist/types/index.js +6 -0
  261. package/dist/types/index.js.map +1 -0
  262. package/dist/version.d.ts +10 -0
  263. package/dist/version.d.ts.map +1 -0
  264. package/dist/version.js +13 -0
  265. package/dist/version.js.map +1 -0
  266. 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":"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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Health check command
3
+ */
4
+ import { Command } from 'commander';
5
+ export declare const healthCommand: Command;
6
+ //# sourceMappingURL=health.d.ts.map
@@ -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"}