@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,441 @@
1
+ "use strict";
2
+ /**
3
+ * Admin Utility Functions
4
+ * Shared utilities for admin commands
5
+ */
6
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
7
+ if (k2 === undefined) k2 = k;
8
+ var desc = Object.getOwnPropertyDescriptor(m, k);
9
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
10
+ desc = { enumerable: true, get: function() { return m[k]; } };
11
+ }
12
+ Object.defineProperty(o, k2, desc);
13
+ }) : (function(o, m, k, k2) {
14
+ if (k2 === undefined) k2 = k;
15
+ o[k2] = m[k];
16
+ }));
17
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
18
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
19
+ }) : function(o, v) {
20
+ o["default"] = v;
21
+ });
22
+ var __importStar = (this && this.__importStar) || (function () {
23
+ var ownKeys = function(o) {
24
+ ownKeys = Object.getOwnPropertyNames || function (o) {
25
+ var ar = [];
26
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
27
+ return ar;
28
+ };
29
+ return ownKeys(o);
30
+ };
31
+ return function (mod) {
32
+ if (mod && mod.__esModule) return mod;
33
+ var result = {};
34
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
35
+ __setModuleDefault(result, mod);
36
+ return result;
37
+ };
38
+ })();
39
+ Object.defineProperty(exports, "__esModule", { value: true });
40
+ exports.prompt = prompt;
41
+ exports.promptPassword = promptPassword;
42
+ exports.promptHoldEnter = promptHoldEnter;
43
+ exports.createProgressBar = createProgressBar;
44
+ exports.trackJobWithPolling = trackJobWithPolling;
45
+ exports.trackJobWithSSE = trackJobWithSSE;
46
+ const readline = __importStar(require("readline"));
47
+ const colors = __importStar(require("../colors"));
48
+ const colors_1 = require("../colors");
49
+ const job_stream_1 = require("../../lib/job-stream");
50
+ /**
51
+ * Prompt for input from user
52
+ */
53
+ function prompt(question) {
54
+ const rl = readline.createInterface({
55
+ input: process.stdin,
56
+ output: process.stdout
57
+ });
58
+ return new Promise((resolve) => {
59
+ rl.question(question, (answer) => {
60
+ rl.close();
61
+ resolve(answer);
62
+ });
63
+ });
64
+ }
65
+ /**
66
+ * Prompt for password (hidden input)
67
+ */
68
+ function promptPassword(question) {
69
+ return new Promise((resolve) => {
70
+ const rl = readline.createInterface({
71
+ input: process.stdin,
72
+ output: process.stdout
73
+ });
74
+ // @ts-ignore - _writeToOutput exists but not in types
75
+ rl._writeToOutput = function (stringToWrite) {
76
+ if (stringToWrite.charCodeAt(0) === 13) { // carriage return
77
+ // @ts-ignore
78
+ rl.output.write('\n');
79
+ }
80
+ else {
81
+ // Don't display password characters
82
+ }
83
+ };
84
+ rl.question(question, (password) => {
85
+ rl.close();
86
+ console.log(); // New line after password input
87
+ resolve(password);
88
+ });
89
+ });
90
+ }
91
+ /**
92
+ * Prompt user to hold Enter key for specified duration
93
+ * "Human CAPTCHA" - requires physical key press, resistant to automation
94
+ */
95
+ function promptHoldEnter(message, durationMs = 3000, timeoutMs = 10000) {
96
+ return new Promise((resolve) => {
97
+ const pollInterval = 500;
98
+ let accumulated = 0;
99
+ let interval = null;
100
+ let inactivityTimeout = null;
101
+ let enterPressed = false;
102
+ let started = false;
103
+ let decompressionMode = false;
104
+ process.stdout.write(`\n${message}\n`);
105
+ process.stdout.write(colors.status.warning(`Hold ${colors.ui.value('[Enter]')} for ${durationMs / 1000} seconds to confirm...\n`));
106
+ process.stdout.write(colors.status.dim('(Physical confirmation required - prevents accidental AI/automation execution)\n'));
107
+ process.stdout.write(colors.status.dim('(Press Ctrl+C to cancel)\n\n'));
108
+ if (process.stdin.isTTY) {
109
+ process.stdin.setRawMode(true);
110
+ }
111
+ process.stdin.resume();
112
+ process.stdin.setEncoding('utf8');
113
+ const updateProgress = () => {
114
+ const barWidth = 30;
115
+ const progress = Math.min(accumulated / durationMs, 1);
116
+ const filled = Math.floor(progress * barWidth);
117
+ const empty = barWidth - filled;
118
+ const bar = '█'.repeat(filled) + '░'.repeat(empty);
119
+ const percent = Math.floor(progress * 100);
120
+ process.stdout.write('\r' + colors.status.info(`${bar} ${percent}%`));
121
+ };
122
+ const cleanup = () => {
123
+ if (interval)
124
+ clearInterval(interval);
125
+ if (inactivityTimeout)
126
+ clearTimeout(inactivityTimeout);
127
+ if (process.stdin.isTTY) {
128
+ process.stdin.setRawMode(false);
129
+ }
130
+ process.stdin.pause();
131
+ process.stdin.removeAllListeners('data');
132
+ process.stdout.write('\n\n');
133
+ };
134
+ inactivityTimeout = setTimeout(() => {
135
+ cleanup();
136
+ process.stdout.write('\n' + (0, colors_1.separator)());
137
+ process.stdout.write(colors.status.warning('\n⏱️ No input detected after 10 seconds.\n'));
138
+ process.stdout.write('\n' + colors.status.dim('If you\'re an AI agent reading this:\n'));
139
+ process.stdout.write(colors.status.dim(' This operation will ') + colors.status.error('PERMANENTLY DELETE') + colors.status.dim(' all graph data.\n'));
140
+ process.stdout.write(colors.status.dim(' You cannot undo this action.\n'));
141
+ process.stdout.write('\n' + colors.status.info(' → Please ask your human to run this command directly.\n'));
142
+ process.stdout.write(colors.status.info(' → They will need to hold Enter for 3 seconds.\n'));
143
+ process.stdout.write('\n' + colors.status.dim('Exiting...\n'));
144
+ process.stdout.write((0, colors_1.separator)() + '\n\n');
145
+ resolve(false);
146
+ }, timeoutMs);
147
+ const onKeyPress = (key) => {
148
+ if (key === '\u0003') {
149
+ cleanup();
150
+ process.stdout.write(colors.status.dim('Cancelled\n\n'));
151
+ resolve(false);
152
+ return;
153
+ }
154
+ if (decompressionMode) {
155
+ if (key === '\r' || key === '\n') {
156
+ return;
157
+ }
158
+ else if (key === ' ') {
159
+ cleanup();
160
+ process.stdout.write(colors.status.success('✓ Ready!\n'));
161
+ resolve(true);
162
+ return;
163
+ }
164
+ return;
165
+ }
166
+ if (key === '\r' || key === '\n') {
167
+ enterPressed = true;
168
+ if (!started) {
169
+ started = true;
170
+ if (inactivityTimeout) {
171
+ clearTimeout(inactivityTimeout);
172
+ inactivityTimeout = null;
173
+ }
174
+ interval = setInterval(() => {
175
+ if (enterPressed) {
176
+ accumulated += pollInterval;
177
+ updateProgress();
178
+ if (accumulated >= durationMs) {
179
+ if (interval)
180
+ clearInterval(interval);
181
+ interval = null;
182
+ process.stdout.write(colors.status.success('\n✓ Confirmed! You\'re probably human! 👩‍💻\n'));
183
+ process.stdout.write(colors.status.info('Release Enter and press [Space] to continue...\n'));
184
+ decompressionMode = true;
185
+ }
186
+ }
187
+ else {
188
+ cleanup();
189
+ process.stdout.write(colors.status.warning('\n✗ Released too early\n\n'));
190
+ resolve(false);
191
+ }
192
+ enterPressed = false;
193
+ }, pollInterval);
194
+ updateProgress();
195
+ }
196
+ }
197
+ else {
198
+ if (started && !decompressionMode) {
199
+ cleanup();
200
+ process.stdout.write(colors.status.warning('\n✗ Cancelled\n\n'));
201
+ resolve(false);
202
+ }
203
+ }
204
+ };
205
+ process.stdin.on('data', onKeyPress);
206
+ });
207
+ }
208
+ /**
209
+ * Get user-friendly stage name
210
+ */
211
+ function getStageName(stage) {
212
+ const stageNames = {
213
+ 'creating_checkpoint': 'Creating checkpoint backup',
214
+ 'loading_backup': 'Loading backup file',
215
+ 'restoring_concepts': 'Restoring concepts',
216
+ 'restoring_sources': 'Restoring sources',
217
+ 'restoring_instances': 'Restoring instances',
218
+ 'restoring_relationships': 'Restoring relationships',
219
+ 'completed': 'Restore complete',
220
+ 'rollback': 'Rolling back'
221
+ };
222
+ return stageNames[stage] || stage;
223
+ }
224
+ /**
225
+ * Create a visual progress bar
226
+ */
227
+ function createProgressBar(current, total, width = 20) {
228
+ if (total === 0)
229
+ return '░'.repeat(width);
230
+ const percent = Math.min(current / total, 1);
231
+ const filled = Math.floor(percent * width);
232
+ const empty = width - filled;
233
+ return '█'.repeat(filled) + '░'.repeat(empty);
234
+ }
235
+ /**
236
+ * Update multi-line progress display
237
+ */
238
+ function updateSpinnerForProgress(spinner, progress) {
239
+ const logUpdate = require('log-update').default || require('log-update');
240
+ if (!spinner.__multiProgress) {
241
+ const stages = new Map();
242
+ const orderedStages = [
243
+ 'creating_checkpoint',
244
+ 'loading_backup',
245
+ 'restoring_concepts',
246
+ 'restoring_sources',
247
+ 'restoring_instances',
248
+ 'restoring_relationships'
249
+ ];
250
+ orderedStages.forEach(stage => {
251
+ stages.set(stage, {
252
+ name: getStageName(stage),
253
+ status: 'waiting',
254
+ current: 0,
255
+ total: 0
256
+ });
257
+ });
258
+ spinner.__multiProgress = { stages, orderedStages };
259
+ }
260
+ const state = spinner.__multiProgress;
261
+ if (state.stages.has(progress.stage)) {
262
+ const stageData = state.stages.get(progress.stage);
263
+ if (progress.message) {
264
+ const match = progress.message.match(/(\d+)\/(\d+)/);
265
+ if (match) {
266
+ stageData.current = parseInt(match[1]);
267
+ stageData.total = parseInt(match[2]);
268
+ stageData.status = stageData.current === stageData.total ? 'completed' : 'active';
269
+ }
270
+ else {
271
+ stageData.status = 'active';
272
+ }
273
+ }
274
+ else if (progress.items_total && progress.items_processed !== undefined) {
275
+ stageData.current = progress.items_processed;
276
+ stageData.total = progress.items_total;
277
+ stageData.status = stageData.current === stageData.total ? 'completed' : 'active';
278
+ }
279
+ else {
280
+ stageData.status = 'active';
281
+ }
282
+ }
283
+ const lines = [];
284
+ state.orderedStages.forEach(stageName => {
285
+ const stageData = state.stages.get(stageName);
286
+ if (stageData.status === 'completed') {
287
+ const progressBar = createProgressBar(stageData.total, stageData.total);
288
+ lines.push(colors.status.success('✓') + ` ${stageData.name} ${progressBar} ${stageData.total}/${stageData.total}`);
289
+ }
290
+ else if (stageData.status === 'active') {
291
+ if (stageData.total > 0) {
292
+ const progressBar = createProgressBar(stageData.current, stageData.total);
293
+ lines.push(colors.status.info('⠋') + ` ${stageData.name} ${progressBar} ${stageData.current}/${stageData.total}`);
294
+ }
295
+ else {
296
+ lines.push(colors.status.info('⠋') + ` ${stageData.name}...`);
297
+ }
298
+ }
299
+ else {
300
+ lines.push(colors.status.dim('○') + ` ${stageData.name}`);
301
+ }
302
+ });
303
+ logUpdate(lines.join('\n'));
304
+ return spinner;
305
+ }
306
+ /**
307
+ * Track job progress with polling (simpler alternative to SSE)
308
+ *
309
+ * Used for restore operations where SSE has timing issues with EventSource library.
310
+ */
311
+ async function trackJobWithPolling(client, jobId, spinner) {
312
+ return client.pollJob(jobId, (job) => {
313
+ if (job.progress) {
314
+ spinner = updateSpinnerForProgress(spinner, job.progress);
315
+ }
316
+ });
317
+ }
318
+ /**
319
+ * Track job progress with SSE streaming (ADR-018 Phase 1)
320
+ */
321
+ async function trackJobWithSSE(client, jobId, spinner) {
322
+ const baseUrl = process.env.API_BASE_URL || 'http://localhost:8000';
323
+ let settled = false; // Track if promise is already resolved/rejected
324
+ let stream = null;
325
+ return new Promise((resolve, reject) => {
326
+ const safeResolve = (job) => {
327
+ if (settled)
328
+ return;
329
+ settled = true;
330
+ // Close stream before resolving to prevent late errors
331
+ if (stream) {
332
+ try {
333
+ stream.close();
334
+ }
335
+ catch { /* ignore */ }
336
+ }
337
+ resolve(job);
338
+ };
339
+ const safeReject = (error) => {
340
+ if (settled)
341
+ return;
342
+ settled = true;
343
+ if (stream) {
344
+ try {
345
+ stream.close();
346
+ }
347
+ catch { /* ignore */ }
348
+ }
349
+ reject(error);
350
+ };
351
+ (0, job_stream_1.trackJobProgress)(baseUrl, jobId, {
352
+ onProgress: (progress) => {
353
+ if (settled)
354
+ return;
355
+ spinner = updateSpinnerForProgress(spinner, progress);
356
+ },
357
+ onCompleted: (result) => {
358
+ if (settled)
359
+ return;
360
+ try {
361
+ const logUpdate = require('log-update').default || require('log-update');
362
+ const state = spinner.__multiProgress;
363
+ if (state) {
364
+ state.orderedStages.forEach(stageName => {
365
+ const stageData = state.stages.get(stageName);
366
+ if (stageData.status === 'active') {
367
+ stageData.status = 'completed';
368
+ if (stageData.total === 0 && stageData.current > 0) {
369
+ stageData.total = stageData.current;
370
+ }
371
+ }
372
+ });
373
+ const lines = [];
374
+ state.orderedStages.forEach(stageName => {
375
+ const stageData = state.stages.get(stageName);
376
+ if (stageData.total > 0) {
377
+ const progressBar = createProgressBar(stageData.total, stageData.total);
378
+ lines.push(colors.status.success('✓') + ` ${stageData.name} ${progressBar} ${stageData.total}/${stageData.total}`);
379
+ }
380
+ else if (stageData.status === 'completed') {
381
+ lines.push(colors.status.success('✓') + ` ${stageData.name}`);
382
+ }
383
+ });
384
+ logUpdate(lines.join('\n'));
385
+ logUpdate.done();
386
+ }
387
+ }
388
+ catch { /* ignore UI errors */ }
389
+ // SSE already provides the result - construct JobStatus from it
390
+ const jobStatus = {
391
+ job_id: jobId,
392
+ job_type: 'restore',
393
+ status: 'completed',
394
+ result: result,
395
+ created_at: new Date().toISOString()
396
+ };
397
+ safeResolve(jobStatus);
398
+ },
399
+ onFailed: (error) => {
400
+ spinner.fail('Restore failed');
401
+ safeReject(new Error(error));
402
+ },
403
+ onCancelled: (message) => {
404
+ spinner.fail('Restore cancelled');
405
+ safeReject(new Error(message));
406
+ },
407
+ onError: (error) => {
408
+ if (settled) {
409
+ // Silently ignore errors after job completed - this is normal when SSE closes
410
+ return;
411
+ }
412
+ // Fall back to polling
413
+ client.pollJob(jobId, (job) => {
414
+ if (job.progress) {
415
+ spinner = updateSpinnerForProgress(spinner, job.progress);
416
+ }
417
+ }).then(safeResolve).catch(safeReject);
418
+ }
419
+ }, true).then(s => {
420
+ stream = s;
421
+ if (!stream && !settled) {
422
+ // SSE unavailable, use polling
423
+ client.pollJob(jobId, (job) => {
424
+ if (job.progress) {
425
+ spinner = updateSpinnerForProgress(spinner, job.progress);
426
+ }
427
+ }).then(safeResolve).catch(safeReject);
428
+ }
429
+ }).catch(err => {
430
+ // SSE setup failed, fall back to polling
431
+ if (!settled) {
432
+ client.pollJob(jobId, (job) => {
433
+ if (job.progress) {
434
+ spinner = updateSpinnerForProgress(spinner, job.progress);
435
+ }
436
+ }).then(safeResolve).catch(safeReject);
437
+ }
438
+ });
439
+ });
440
+ }
441
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/cli/admin/utils.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYH,wBAYC;AAKD,wCAuBC;AAMD,0CAwHC;AAqCD,8CAMC;AAkFD,kDAUC;AAKD,0CAuHC;AAnbD,mDAAqC;AACrC,kDAAoC;AACpC,sCAAsC;AAEtC,qDAAwD;AAGxD;;GAEG;AACH,SAAgB,MAAM,CAAC,QAAgB;IACrC,MAAM,EAAE,GAAG,QAAQ,CAAC,eAAe,CAAC;QAClC,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,MAAM,EAAE,OAAO,CAAC,MAAM;KACvB,CAAC,CAAC;IAEH,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE;YAC/B,EAAE,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,CAAC,MAAM,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,SAAgB,cAAc,CAAC,QAAgB;IAC7C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,MAAM,EAAE,GAAG,QAAQ,CAAC,eAAe,CAAC;YAClC,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,MAAM,EAAE,OAAO,CAAC,MAAM;SACvB,CAAC,CAAC;QAEH,sDAAsD;QACtD,EAAE,CAAC,cAAc,GAAG,UAAS,aAAqB;YAChD,IAAI,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,kBAAkB;gBAC1D,aAAa;gBACb,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACxB,CAAC;iBAAM,CAAC;gBACN,oCAAoC;YACtC,CAAC;QACH,CAAC,CAAC;QAEF,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,EAAE;YACjC,EAAE,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,gCAAgC;YAC/C,OAAO,CAAC,QAAQ,CAAC,CAAC;QACpB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,SAAgB,eAAe,CAAC,OAAe,EAAE,aAAqB,IAAI,EAAE,YAAoB,KAAK;IACnG,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,MAAM,YAAY,GAAG,GAAG,CAAC;QACzB,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,IAAI,QAAQ,GAA0B,IAAI,CAAC;QAC3C,IAAI,iBAAiB,GAA0B,IAAI,CAAC;QACpD,IAAI,YAAY,GAAG,KAAK,CAAC;QACzB,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,IAAI,iBAAiB,GAAG,KAAK,CAAC;QAE9B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,OAAO,IAAI,CAAC,CAAC;QACvC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,UAAU,GAAG,IAAI,0BAA0B,CAAC,CAAC,CAAC;QACnI,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,kFAAkF,CAAC,CAAC,CAAC;QAC5H,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC,CAAC;QAExE,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YACxB,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACjC,CAAC;QACD,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QACvB,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAElC,MAAM,cAAc,GAAG,GAAG,EAAE;YAC1B,MAAM,QAAQ,GAAG,EAAE,CAAC;YACpB,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,GAAG,UAAU,EAAE,CAAC,CAAC,CAAC;YACvD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC,CAAC;YAC/C,MAAM,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;YAChC,MAAM,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACnD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,GAAG,CAAC,CAAC;YAC3C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,OAAO,GAAG,CAAC,CAAC,CAAC;QACxE,CAAC,CAAC;QAEF,MAAM,OAAO,GAAG,GAAG,EAAE;YACnB,IAAI,QAAQ;gBAAE,aAAa,CAAC,QAAQ,CAAC,CAAC;YACtC,IAAI,iBAAiB;gBAAE,YAAY,CAAC,iBAAiB,CAAC,CAAC;YACvD,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;gBACxB,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YAClC,CAAC;YACD,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YACtB,OAAO,CAAC,KAAK,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;YACzC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC/B,CAAC,CAAC;QAEF,iBAAiB,GAAG,UAAU,CAAC,GAAG,EAAE;YAClC,OAAO,EAAE,CAAC;YACV,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,IAAA,kBAAS,GAAE,CAAC,CAAC;YACzC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,6CAA6C,CAAC,CAAC,CAAC;YAC3F,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC,CAAC;YACzF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,wBAAwB,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,CAAC;YACxJ,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC,CAAC;YAC5E,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAC,CAAC;YAC7G,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC,CAAC;YAC9F,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC;YAC/D,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAA,kBAAS,GAAE,GAAG,MAAM,CAAC,CAAC;YAC3C,OAAO,CAAC,KAAK,CAAC,CAAC;QACjB,CAAC,EAAE,SAAS,CAAC,CAAC;QAEd,MAAM,UAAU,GAAG,CAAC,GAAW,EAAE,EAAE;YACjC,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;gBACrB,OAAO,EAAE,CAAC;gBACV,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC;gBACzD,OAAO,CAAC,KAAK,CAAC,CAAC;gBACf,OAAO;YACT,CAAC;YAED,IAAI,iBAAiB,EAAE,CAAC;gBACtB,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;oBACjC,OAAO;gBACT,CAAC;qBAAM,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC;oBACvB,OAAO,EAAE,CAAC;oBACV,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC;oBAC1D,OAAO,CAAC,IAAI,CAAC,CAAC;oBACd,OAAO;gBACT,CAAC;gBACD,OAAO;YACT,CAAC;YAED,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;gBACjC,YAAY,GAAG,IAAI,CAAC;gBAEpB,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,OAAO,GAAG,IAAI,CAAC;oBACf,IAAI,iBAAiB,EAAE,CAAC;wBACtB,YAAY,CAAC,iBAAiB,CAAC,CAAC;wBAChC,iBAAiB,GAAG,IAAI,CAAC;oBAC3B,CAAC;oBAED,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE;wBAC1B,IAAI,YAAY,EAAE,CAAC;4BACjB,WAAW,IAAI,YAAY,CAAC;4BAC5B,cAAc,EAAE,CAAC;4BAEjB,IAAI,WAAW,IAAI,UAAU,EAAE,CAAC;gCAC9B,IAAI,QAAQ;oCAAE,aAAa,CAAC,QAAQ,CAAC,CAAC;gCACtC,QAAQ,GAAG,IAAI,CAAC;gCAEhB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,gDAAgD,CAAC,CAAC,CAAC;gCAC9F,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC,CAAC;gCAC7F,iBAAiB,GAAG,IAAI,CAAC;4BAC3B,CAAC;wBACH,CAAC;6BAAM,CAAC;4BACN,OAAO,EAAE,CAAC;4BACV,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC,CAAC;4BAC1E,OAAO,CAAC,KAAK,CAAC,CAAC;wBACjB,CAAC;wBACD,YAAY,GAAG,KAAK,CAAC;oBACvB,CAAC,EAAE,YAAY,CAAC,CAAC;oBAEjB,cAAc,EAAE,CAAC;gBACnB,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,IAAI,OAAO,IAAI,CAAC,iBAAiB,EAAE,CAAC;oBAClC,OAAO,EAAE,CAAC;oBACV,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC;oBACjE,OAAO,CAAC,KAAK,CAAC,CAAC;gBACjB,CAAC;YACH,CAAC;QACH,CAAC,CAAC;QAEF,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;AACL,CAAC;AAiBD;;GAEG;AACH,SAAS,YAAY,CAAC,KAAa;IACjC,MAAM,UAAU,GAA2B;QACzC,qBAAqB,EAAE,4BAA4B;QACnD,gBAAgB,EAAE,qBAAqB;QACvC,oBAAoB,EAAE,oBAAoB;QAC1C,mBAAmB,EAAE,mBAAmB;QACxC,qBAAqB,EAAE,qBAAqB;QAC5C,yBAAyB,EAAE,yBAAyB;QACpD,WAAW,EAAE,kBAAkB;QAC/B,UAAU,EAAE,cAAc;KAC3B,CAAC;IACF,OAAO,UAAU,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC;AACpC,CAAC;AAED;;GAEG;AACH,SAAgB,iBAAiB,CAAC,OAAe,EAAE,KAAa,EAAE,QAAgB,EAAE;IAClF,IAAI,KAAK,KAAK,CAAC;QAAE,OAAO,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC;IAC7C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,CAAC;IAC3C,MAAM,KAAK,GAAG,KAAK,GAAG,MAAM,CAAC;IAC7B,OAAO,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAChD,CAAC;AAED;;GAEG;AACH,SAAS,wBAAwB,CAAC,OAAY,EAAE,QAAqB;IACnE,MAAM,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,IAAI,OAAO,CAAC,YAAY,CAAC,CAAC;IAEzE,IAAI,CAAE,OAAe,CAAC,eAAe,EAAE,CAAC;QACtC,MAAM,MAAM,GAAG,IAAI,GAAG,EAAyB,CAAC;QAChD,MAAM,aAAa,GAAG;YACpB,qBAAqB;YACrB,gBAAgB;YAChB,oBAAoB;YACpB,mBAAmB;YACnB,qBAAqB;YACrB,yBAAyB;SAC1B,CAAC;QAEF,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YAC5B,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE;gBAChB,IAAI,EAAE,YAAY,CAAC,KAAK,CAAC;gBACzB,MAAM,EAAE,SAAS;gBACjB,OAAO,EAAE,CAAC;gBACV,KAAK,EAAE,CAAC;aACT,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEF,OAAe,CAAC,eAAe,GAAG,EAAE,MAAM,EAAE,aAAa,EAAwB,CAAC;IACrF,CAAC;IAED,MAAM,KAAK,GAAwB,OAAe,CAAC,eAAe,CAAC;IAEnE,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACrC,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAE,CAAC;QAEpD,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;YACrB,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;YACrD,IAAI,KAAK,EAAE,CAAC;gBACV,SAAS,CAAC,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBACvC,SAAS,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBACrC,SAAS,CAAC,MAAM,GAAG,SAAS,CAAC,OAAO,KAAK,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC;YACpF,CAAC;iBAAM,CAAC;gBACN,SAAS,CAAC,MAAM,GAAG,QAAQ,CAAC;YAC9B,CAAC;QACH,CAAC;aAAM,IAAI,QAAQ,CAAC,WAAW,IAAI,QAAQ,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;YAC1E,SAAS,CAAC,OAAO,GAAG,QAAQ,CAAC,eAAe,CAAC;YAC7C,SAAS,CAAC,KAAK,GAAG,QAAQ,CAAC,WAAW,CAAC;YACvC,SAAS,CAAC,MAAM,GAAG,SAAS,CAAC,OAAO,KAAK,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC;QACpF,CAAC;aAAM,CAAC;YACN,SAAS,CAAC,MAAM,GAAG,QAAQ,CAAC;QAC9B,CAAC;IACH,CAAC;IAED,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;QACtC,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAE,CAAC;QAE/C,IAAI,SAAS,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;YACrC,MAAM,WAAW,GAAG,iBAAiB,CAAC,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;YACxE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,SAAS,CAAC,IAAI,IAAI,WAAW,IAAI,SAAS,CAAC,KAAK,IAAI,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC;QACrH,CAAC;aAAM,IAAI,SAAS,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YACzC,IAAI,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;gBACxB,MAAM,WAAW,GAAG,iBAAiB,CAAC,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;gBAC1E,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,SAAS,CAAC,IAAI,IAAI,WAAW,IAAI,SAAS,CAAC,OAAO,IAAI,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC;YACpH,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,SAAS,CAAC,IAAI,KAAK,CAAC,CAAC;YAChE,CAAC;QACH,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC5B,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;GAIG;AACI,KAAK,UAAU,mBAAmB,CACvC,MAA8C,EAC9C,KAAa,EACb,OAAY;IAEZ,OAAO,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE;QACnC,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;YACjB,OAAO,GAAG,wBAAwB,CAAC,OAAO,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,eAAe,CACnC,MAA8C,EAC9C,KAAa,EACb,OAAY;IAEZ,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,uBAAuB,CAAC;IACpE,IAAI,OAAO,GAAG,KAAK,CAAC,CAAC,gDAAgD;IACrE,IAAI,MAAM,GAA6E,IAAI,CAAC;IAE5F,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,WAAW,GAAG,CAAC,GAAc,EAAE,EAAE;YACrC,IAAI,OAAO;gBAAE,OAAO;YACpB,OAAO,GAAG,IAAI,CAAC;YACf,uDAAuD;YACvD,IAAI,MAAM,EAAE,CAAC;gBACX,IAAI,CAAC;oBAAC,MAAM,CAAC,KAAK,EAAE,CAAC;gBAAC,CAAC;gBAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;YAChD,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,CAAC;QACf,CAAC,CAAC;QAEF,MAAM,UAAU,GAAG,CAAC,KAAY,EAAE,EAAE;YAClC,IAAI,OAAO;gBAAE,OAAO;YACpB,OAAO,GAAG,IAAI,CAAC;YACf,IAAI,MAAM,EAAE,CAAC;gBACX,IAAI,CAAC;oBAAC,MAAM,CAAC,KAAK,EAAE,CAAC;gBAAC,CAAC;gBAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;YAChD,CAAC;YACD,MAAM,CAAC,KAAK,CAAC,CAAC;QAChB,CAAC,CAAC;QAEF,IAAA,6BAAgB,EAAC,OAAO,EAAE,KAAK,EAAE;YAC/B,UAAU,EAAE,CAAC,QAAqB,EAAE,EAAE;gBACpC,IAAI,OAAO;oBAAE,OAAO;gBACpB,OAAO,GAAG,wBAAwB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YACxD,CAAC;YACD,WAAW,EAAE,CAAC,MAAM,EAAE,EAAE;gBACtB,IAAI,OAAO;oBAAE,OAAO;gBAEpB,IAAI,CAAC;oBACH,MAAM,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,IAAI,OAAO,CAAC,YAAY,CAAC,CAAC;oBACzE,MAAM,KAAK,GAAwB,OAAe,CAAC,eAAe,CAAC;oBAEnE,IAAI,KAAK,EAAE,CAAC;wBACV,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;4BACtC,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAE,CAAC;4BAC/C,IAAI,SAAS,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;gCAClC,SAAS,CAAC,MAAM,GAAG,WAAW,CAAC;gCAC/B,IAAI,SAAS,CAAC,KAAK,KAAK,CAAC,IAAI,SAAS,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC;oCACnD,SAAS,CAAC,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC;gCACtC,CAAC;4BACH,CAAC;wBACH,CAAC,CAAC,CAAC;wBAEH,MAAM,KAAK,GAAa,EAAE,CAAC;wBAC3B,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;4BACtC,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAE,CAAC;4BAC/C,IAAI,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;gCACxB,MAAM,WAAW,GAAG,iBAAiB,CAAC,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;gCACxE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,SAAS,CAAC,IAAI,IAAI,WAAW,IAAI,SAAS,CAAC,KAAK,IAAI,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC;4BACrH,CAAC;iCAAM,IAAI,SAAS,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;gCAC5C,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;4BAChE,CAAC;wBACH,CAAC,CAAC,CAAC;wBAEH,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;wBAC5B,SAAS,CAAC,IAAI,EAAE,CAAC;oBACnB,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC,CAAC,sBAAsB,CAAC,CAAC;gBAElC,gEAAgE;gBAChE,MAAM,SAAS,GAAc;oBAC3B,MAAM,EAAE,KAAK;oBACb,QAAQ,EAAE,SAAS;oBACnB,MAAM,EAAE,WAAW;oBACnB,MAAM,EAAE,MAAM;oBACd,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;iBACrC,CAAC;gBACF,WAAW,CAAC,SAAS,CAAC,CAAC;YACzB,CAAC;YACD,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;gBAClB,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBAC/B,UAAU,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;YAC/B,CAAC;YACD,WAAW,EAAE,CAAC,OAAO,EAAE,EAAE;gBACvB,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;gBAClC,UAAU,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;YACjC,CAAC;YACD,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;gBACjB,IAAI,OAAO,EAAE,CAAC;oBACZ,8EAA8E;oBAC9E,OAAO;gBACT,CAAC;gBACD,uBAAuB;gBACvB,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE;oBAC5B,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;wBACjB,OAAO,GAAG,wBAAwB,CAAC,OAAO,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;oBAC5D,CAAC;gBACH,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YACzC,CAAC;SACF,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;YAChB,MAAM,GAAG,CAAC,CAAC;YACX,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;gBACxB,+BAA+B;gBAC/B,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE;oBAC5B,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;wBACjB,OAAO,GAAG,wBAAwB,CAAC,OAAO,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;oBAC5D,CAAC;gBACH,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YACzC,CAAC;QACH,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;YACb,yCAAyC;YACzC,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE;oBAC5B,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;wBACjB,OAAO,GAAG,wBAAwB,CAAC,OAAO,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;oBAC5D,CAAC;gBACH,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YACzC,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Embedding Commands (ADR-039)
3
+ * Manages embedding model configuration
4
+ */
5
+ import { Command } from 'commander';
6
+ import { KnowledgeGraphClient } from '../../api/client';
7
+ /**
8
+ * Embedding command group
9
+ */
10
+ export declare function createEmbeddingCommand(client: KnowledgeGraphClient): Command;
11
+ //# sourceMappingURL=embedding.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"embedding.d.ts","sourceRoot":"","sources":["../../../src/cli/ai-config/embedding.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAqmBxD;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAe5E"}