@solidnumber/cli 1.0.0

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 (78) hide show
  1. package/README.md +150 -0
  2. package/dist/commands/auth.d.ts +6 -0
  3. package/dist/commands/auth.d.ts.map +1 -0
  4. package/dist/commands/auth.js +144 -0
  5. package/dist/commands/auth.js.map +1 -0
  6. package/dist/commands/clone.d.ts +19 -0
  7. package/dist/commands/clone.d.ts.map +1 -0
  8. package/dist/commands/clone.js +205 -0
  9. package/dist/commands/clone.js.map +1 -0
  10. package/dist/commands/dev.d.ts +6 -0
  11. package/dist/commands/dev.d.ts.map +1 -0
  12. package/dist/commands/dev.js +218 -0
  13. package/dist/commands/dev.js.map +1 -0
  14. package/dist/commands/docs.d.ts +17 -0
  15. package/dist/commands/docs.d.ts.map +1 -0
  16. package/dist/commands/docs.js +864 -0
  17. package/dist/commands/docs.js.map +1 -0
  18. package/dist/commands/droplet.d.ts +10 -0
  19. package/dist/commands/droplet.d.ts.map +1 -0
  20. package/dist/commands/droplet.js +292 -0
  21. package/dist/commands/droplet.js.map +1 -0
  22. package/dist/commands/health.d.ts +6 -0
  23. package/dist/commands/health.d.ts.map +1 -0
  24. package/dist/commands/health.js +129 -0
  25. package/dist/commands/health.js.map +1 -0
  26. package/dist/commands/integrations.d.ts +6 -0
  27. package/dist/commands/integrations.d.ts.map +1 -0
  28. package/dist/commands/integrations.js +380 -0
  29. package/dist/commands/integrations.js.map +1 -0
  30. package/dist/commands/kb.d.ts +9 -0
  31. package/dist/commands/kb.d.ts.map +1 -0
  32. package/dist/commands/kb.js +151 -0
  33. package/dist/commands/kb.js.map +1 -0
  34. package/dist/commands/pages.d.ts +8 -0
  35. package/dist/commands/pages.d.ts.map +1 -0
  36. package/dist/commands/pages.js +103 -0
  37. package/dist/commands/pages.js.map +1 -0
  38. package/dist/commands/pull.d.ts +16 -0
  39. package/dist/commands/pull.d.ts.map +1 -0
  40. package/dist/commands/pull.js +336 -0
  41. package/dist/commands/pull.js.map +1 -0
  42. package/dist/commands/push.d.ts +14 -0
  43. package/dist/commands/push.d.ts.map +1 -0
  44. package/dist/commands/push.js +370 -0
  45. package/dist/commands/push.js.map +1 -0
  46. package/dist/commands/services.d.ts +8 -0
  47. package/dist/commands/services.d.ts.map +1 -0
  48. package/dist/commands/services.js +66 -0
  49. package/dist/commands/services.js.map +1 -0
  50. package/dist/commands/status.d.ts +9 -0
  51. package/dist/commands/status.d.ts.map +1 -0
  52. package/dist/commands/status.js +89 -0
  53. package/dist/commands/status.js.map +1 -0
  54. package/dist/commands/train.d.ts +16 -0
  55. package/dist/commands/train.d.ts.map +1 -0
  56. package/dist/commands/train.js +338 -0
  57. package/dist/commands/train.js.map +1 -0
  58. package/dist/commands/vibe.d.ts +6 -0
  59. package/dist/commands/vibe.d.ts.map +1 -0
  60. package/dist/commands/vibe.js +176 -0
  61. package/dist/commands/vibe.js.map +1 -0
  62. package/dist/index.d.ts +19 -0
  63. package/dist/index.d.ts.map +1 -0
  64. package/dist/index.js +119 -0
  65. package/dist/index.js.map +1 -0
  66. package/dist/lib/api-client.d.ts +235 -0
  67. package/dist/lib/api-client.d.ts.map +1 -0
  68. package/dist/lib/api-client.js +287 -0
  69. package/dist/lib/api-client.js.map +1 -0
  70. package/dist/lib/config.d.ts +43 -0
  71. package/dist/lib/config.d.ts.map +1 -0
  72. package/dist/lib/config.js +189 -0
  73. package/dist/lib/config.js.map +1 -0
  74. package/dist/lib/ui.d.ts +49 -0
  75. package/dist/lib/ui.d.ts.map +1 -0
  76. package/dist/lib/ui.js +182 -0
  77. package/dist/lib/ui.js.map +1 -0
  78. package/package.json +60 -0
@@ -0,0 +1,380 @@
1
+ "use strict";
2
+ /**
3
+ * Integration management commands for Solid CLI
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.integrationsCommand = void 0;
10
+ const commander_1 = require("commander");
11
+ const inquirer_1 = __importDefault(require("inquirer"));
12
+ const ora_1 = __importDefault(require("ora"));
13
+ const chalk_1 = __importDefault(require("chalk"));
14
+ const config_1 = require("../lib/config");
15
+ const api_client_1 = require("../lib/api-client");
16
+ exports.integrationsCommand = new commander_1.Command('integrations')
17
+ .alias('int')
18
+ .description('Integration management');
19
+ // Ensure logged in
20
+ function requireAuth() {
21
+ if (!config_1.config.isLoggedIn()) {
22
+ console.error(chalk_1.default.red('Not logged in. Run `solid auth login` first.'));
23
+ process.exit(1);
24
+ }
25
+ }
26
+ // List integrations
27
+ exports.integrationsCommand
28
+ .command('list')
29
+ .alias('ls')
30
+ .description('List integrations')
31
+ .option('-s, --status <status>', 'Filter by status (draft, deployed, disabled, etc.)')
32
+ .action(async (options) => {
33
+ requireAuth();
34
+ const spinner = (0, ora_1.default)('Fetching integrations...').start();
35
+ try {
36
+ const response = await api_client_1.apiClient.integrationsList(options.status);
37
+ spinner.succeed(`Found ${response.data.total} integrations`);
38
+ console.log('');
39
+ if (response.data.integrations.length === 0) {
40
+ console.log(chalk_1.default.dim(' No integrations found. Create one with `solid integrations create`'));
41
+ return;
42
+ }
43
+ // Table header
44
+ console.log(chalk_1.default.bold(' ID'.padEnd(12)) +
45
+ chalk_1.default.bold('NAME'.padEnd(30)) +
46
+ chalk_1.default.bold('TYPE'.padEnd(18)) +
47
+ chalk_1.default.bold('STATUS'.padEnd(12)));
48
+ console.log(chalk_1.default.dim(' ' + '-'.repeat(70)));
49
+ // Table rows
50
+ for (const int of response.data.integrations) {
51
+ const statusColor = int.status === 'deployed' ? chalk_1.default.green :
52
+ int.status === 'validated' ? chalk_1.default.blue :
53
+ int.status === 'failed' ? chalk_1.default.red :
54
+ chalk_1.default.dim;
55
+ console.log(` ${int.id.slice(0, 10).padEnd(12)}` +
56
+ `${int.name.slice(0, 28).padEnd(30)}` +
57
+ `${int.integration_type.padEnd(18)}` +
58
+ statusColor(int.status));
59
+ }
60
+ }
61
+ catch (error) {
62
+ spinner.fail(chalk_1.default.red('Failed to list integrations'));
63
+ const apiError = (0, api_client_1.handleApiError)(error);
64
+ console.error(chalk_1.default.red(` ${apiError.message}`));
65
+ }
66
+ });
67
+ // Get catalog
68
+ exports.integrationsCommand
69
+ .command('catalog')
70
+ .description('Show integration capabilities catalog')
71
+ .option('--json', 'Output as JSON')
72
+ .action(async (options) => {
73
+ requireAuth();
74
+ const spinner = (0, ora_1.default)('Fetching catalog...').start();
75
+ try {
76
+ const response = await api_client_1.apiClient.integrationsCatalog();
77
+ spinner.succeed('Catalog retrieved');
78
+ if (options.json) {
79
+ console.log(JSON.stringify(response.data, null, 2));
80
+ return;
81
+ }
82
+ console.log('');
83
+ console.log(chalk_1.default.bold('Internal APIs:'));
84
+ const apis = response.data.internal_apis;
85
+ for (const [category, data] of Object.entries(apis)) {
86
+ console.log(chalk_1.default.cyan(` ${category}:`));
87
+ if (data.endpoints) {
88
+ for (const ep of data.endpoints.slice(0, 3)) {
89
+ console.log(chalk_1.default.dim(` ${ep.method} ${ep.path}`));
90
+ }
91
+ if (data.endpoints.length > 3) {
92
+ console.log(chalk_1.default.dim(` ... and ${data.endpoints.length - 3} more`));
93
+ }
94
+ }
95
+ }
96
+ console.log('');
97
+ console.log(chalk_1.default.bold('External Integrations:'));
98
+ const external = response.data.external_integrations;
99
+ for (const [name, data] of Object.entries(external)) {
100
+ const statusIcon = data.status === 'connected' ? chalk_1.default.green('✓') : chalk_1.default.dim('○');
101
+ console.log(` ${statusIcon} ${name}: ${data.capabilities?.join(', ') || 'N/A'}`);
102
+ }
103
+ }
104
+ catch (error) {
105
+ spinner.fail(chalk_1.default.red('Failed to fetch catalog'));
106
+ const apiError = (0, api_client_1.handleApiError)(error);
107
+ console.error(chalk_1.default.red(` ${apiError.message}`));
108
+ }
109
+ });
110
+ // Check health
111
+ exports.integrationsCommand
112
+ .command('health')
113
+ .description('Check integration system health')
114
+ .action(async () => {
115
+ requireAuth();
116
+ const spinner = (0, ora_1.default)('Checking health...').start();
117
+ try {
118
+ const response = await api_client_1.apiClient.integrationsHealth();
119
+ if (response.data.healthy) {
120
+ spinner.succeed(chalk_1.default.green('System healthy'));
121
+ }
122
+ else if (response.data.can_proceed) {
123
+ spinner.warn(chalk_1.default.yellow('System degraded but operational'));
124
+ }
125
+ else {
126
+ spinner.fail(chalk_1.default.red('System unhealthy'));
127
+ }
128
+ console.log('');
129
+ for (const [name, check] of Object.entries(response.data.checks)) {
130
+ const icon = check.status === 'healthy' ? chalk_1.default.green('✓') :
131
+ check.status === 'degraded' ? chalk_1.default.yellow('!') :
132
+ chalk_1.default.red('✗');
133
+ console.log(` ${icon} ${name}: ${check.message}`);
134
+ }
135
+ if (response.data.warnings.length > 0) {
136
+ console.log('');
137
+ console.log(chalk_1.default.yellow('Warnings:'));
138
+ for (const warning of response.data.warnings) {
139
+ console.log(chalk_1.default.dim(` • ${warning}`));
140
+ }
141
+ }
142
+ }
143
+ catch (error) {
144
+ spinner.fail(chalk_1.default.red('Health check failed'));
145
+ const apiError = (0, api_client_1.handleApiError)(error);
146
+ console.error(chalk_1.default.red(` ${apiError.message}`));
147
+ }
148
+ });
149
+ // Create integration
150
+ exports.integrationsCommand
151
+ .command('create <name>')
152
+ .description('Create a new integration')
153
+ .option('-t, --type <type>', 'Integration type (api_call, mcp_tool_call, external_sync, data_fetch)')
154
+ .option('-d, --description <desc>', 'Description')
155
+ .option('--endpoint <endpoint>', 'API endpoint (for api_call/data_fetch)')
156
+ .option('--method <method>', 'HTTP method (GET, POST, PUT)')
157
+ .option('--provider <provider>', 'External provider (for external_sync)')
158
+ .option('--tool <tool>', 'MCP tool name (for mcp_tool_call)')
159
+ .action(async (name, options) => {
160
+ requireAuth();
161
+ let integrationType = options.type;
162
+ let description = options.description;
163
+ // Interactive prompts if not provided
164
+ if (!integrationType || !description) {
165
+ const answers = await inquirer_1.default.prompt([
166
+ {
167
+ type: 'list',
168
+ name: 'type',
169
+ message: 'Integration type:',
170
+ choices: [
171
+ { name: 'API Call - Call internal Solid# APIs', value: 'api_call' },
172
+ { name: 'MCP Tool - Use MCP tools', value: 'mcp_tool_call' },
173
+ { name: 'External Sync - Sync with external services', value: 'external_sync' },
174
+ { name: 'Data Fetch - Read-only data retrieval', value: 'data_fetch' },
175
+ ],
176
+ when: !integrationType,
177
+ },
178
+ {
179
+ type: 'input',
180
+ name: 'description',
181
+ message: 'Description:',
182
+ when: !description,
183
+ validate: (input) => input.length >= 10 || 'Description must be at least 10 characters',
184
+ },
185
+ ]);
186
+ integrationType = integrationType || answers.type;
187
+ description = description || answers.description;
188
+ }
189
+ const spinner = (0, ora_1.default)('Creating integration...').start();
190
+ try {
191
+ const response = await api_client_1.apiClient.integrationsGenerate({
192
+ name,
193
+ description,
194
+ integration_type: integrationType,
195
+ method: options.method,
196
+ endpoint: options.endpoint,
197
+ provider: options.provider,
198
+ tool_name: options.tool,
199
+ });
200
+ spinner.succeed(chalk_1.default.green('Integration created'));
201
+ console.log('');
202
+ console.log(chalk_1.default.dim(' ID:'), response.data.integration.id);
203
+ console.log(chalk_1.default.dim(' Status:'), response.data.integration.status);
204
+ console.log('');
205
+ console.log(chalk_1.default.bold('Code Preview:'));
206
+ console.log(chalk_1.default.dim(response.data.code_preview));
207
+ console.log('');
208
+ console.log(chalk_1.default.dim(`Next: Run \`solid integrations validate ${response.data.integration.id.slice(0, 8)}\``));
209
+ }
210
+ catch (error) {
211
+ spinner.fail(chalk_1.default.red('Failed to create integration'));
212
+ const apiError = (0, api_client_1.handleApiError)(error);
213
+ console.error(chalk_1.default.red(` ${apiError.message}`));
214
+ }
215
+ });
216
+ // Validate integration
217
+ exports.integrationsCommand
218
+ .command('validate <id>')
219
+ .description('Validate an integration for security')
220
+ .action(async (id) => {
221
+ requireAuth();
222
+ const spinner = (0, ora_1.default)('Validating...').start();
223
+ try {
224
+ const response = await api_client_1.apiClient.integrationsValidate(id);
225
+ if (response.data.valid) {
226
+ spinner.succeed(chalk_1.default.green('Validation passed'));
227
+ console.log(chalk_1.default.dim(` Next: Run \`solid integrations test ${id.slice(0, 8)}\``));
228
+ }
229
+ else {
230
+ spinner.fail(chalk_1.default.red(`Validation failed (${response.data.blocking_issues_count} blocking issues)`));
231
+ console.log('');
232
+ for (const issue of response.data.issues) {
233
+ const icon = issue.severity === 'critical' ? chalk_1.default.red('✗') :
234
+ issue.severity === 'high' ? chalk_1.default.red('!') :
235
+ issue.severity === 'medium' ? chalk_1.default.yellow('!') :
236
+ chalk_1.default.dim('•');
237
+ console.log(` ${icon} [${issue.severity}] ${issue.message}`);
238
+ }
239
+ }
240
+ }
241
+ catch (error) {
242
+ spinner.fail(chalk_1.default.red('Validation failed'));
243
+ const apiError = (0, api_client_1.handleApiError)(error);
244
+ console.error(chalk_1.default.red(` ${apiError.message}`));
245
+ }
246
+ });
247
+ // Test integration
248
+ exports.integrationsCommand
249
+ .command('test <id>')
250
+ .description('Test an integration in sandbox')
251
+ .action(async (id) => {
252
+ requireAuth();
253
+ const spinner = (0, ora_1.default)('Testing in sandbox...').start();
254
+ try {
255
+ const response = await api_client_1.apiClient.integrationsTest(id);
256
+ if (response.data.success) {
257
+ spinner.succeed(chalk_1.default.green('Test passed'));
258
+ console.log(chalk_1.default.dim(` ${response.data.message}`));
259
+ console.log(chalk_1.default.dim(` Next: Run \`solid integrations deploy ${id.slice(0, 8)}\``));
260
+ }
261
+ else {
262
+ spinner.fail(chalk_1.default.red('Test failed'));
263
+ console.log(chalk_1.default.red(` ${response.data.message}`));
264
+ }
265
+ }
266
+ catch (error) {
267
+ spinner.fail(chalk_1.default.red('Test failed'));
268
+ const apiError = (0, api_client_1.handleApiError)(error);
269
+ console.error(chalk_1.default.red(` ${apiError.message}`));
270
+ }
271
+ });
272
+ // Deploy integration
273
+ exports.integrationsCommand
274
+ .command('deploy <id>')
275
+ .description('Deploy an integration to production')
276
+ .option('-y, --yes', 'Skip confirmation')
277
+ .action(async (id, options) => {
278
+ requireAuth();
279
+ if (!options.yes) {
280
+ const { confirm } = await inquirer_1.default.prompt([{
281
+ type: 'confirm',
282
+ name: 'confirm',
283
+ message: `Deploy integration ${id.slice(0, 8)} to production?`,
284
+ default: false,
285
+ }]);
286
+ if (!confirm) {
287
+ console.log(chalk_1.default.dim('Deployment cancelled'));
288
+ return;
289
+ }
290
+ }
291
+ const spinner = (0, ora_1.default)('Deploying...').start();
292
+ try {
293
+ const response = await api_client_1.apiClient.integrationsDeploy(id);
294
+ spinner.succeed(chalk_1.default.green('Deployed successfully'));
295
+ console.log(chalk_1.default.dim(` Deployed at: ${response.data.deployed_at}`));
296
+ }
297
+ catch (error) {
298
+ spinner.fail(chalk_1.default.red('Deployment failed'));
299
+ const apiError = (0, api_client_1.handleApiError)(error);
300
+ console.error(chalk_1.default.red(` ${apiError.message}`));
301
+ }
302
+ });
303
+ // Disable integration
304
+ exports.integrationsCommand
305
+ .command('disable <id>')
306
+ .description('Disable an integration')
307
+ .option('-r, --reason <reason>', 'Reason for disabling')
308
+ .action(async (id, options) => {
309
+ requireAuth();
310
+ const spinner = (0, ora_1.default)('Disabling...').start();
311
+ try {
312
+ const response = await api_client_1.apiClient.integrationsDisable(id, options.reason);
313
+ spinner.succeed(chalk_1.default.green('Integration disabled'));
314
+ }
315
+ catch (error) {
316
+ spinner.fail(chalk_1.default.red('Failed to disable'));
317
+ const apiError = (0, api_client_1.handleApiError)(error);
318
+ console.error(chalk_1.default.red(` ${apiError.message}`));
319
+ }
320
+ });
321
+ // Rollback integration
322
+ exports.integrationsCommand
323
+ .command('rollback <id>')
324
+ .description('Rollback a deployed integration')
325
+ .option('-r, --reason <reason>', 'Reason for rollback')
326
+ .option('-y, --yes', 'Skip confirmation')
327
+ .action(async (id, options) => {
328
+ requireAuth();
329
+ if (!options.yes) {
330
+ const { confirm } = await inquirer_1.default.prompt([{
331
+ type: 'confirm',
332
+ name: 'confirm',
333
+ message: `Rollback integration ${id.slice(0, 8)} from production?`,
334
+ default: false,
335
+ }]);
336
+ if (!confirm) {
337
+ console.log(chalk_1.default.dim('Rollback cancelled'));
338
+ return;
339
+ }
340
+ }
341
+ const spinner = (0, ora_1.default)('Rolling back...').start();
342
+ try {
343
+ const response = await api_client_1.apiClient.integrationsRollback(id, options.reason);
344
+ spinner.succeed(chalk_1.default.green('Rollback complete'));
345
+ }
346
+ catch (error) {
347
+ spinner.fail(chalk_1.default.red('Rollback failed'));
348
+ const apiError = (0, api_client_1.handleApiError)(error);
349
+ console.error(chalk_1.default.red(` ${apiError.message}`));
350
+ }
351
+ });
352
+ // View logs
353
+ exports.integrationsCommand
354
+ .command('logs <id>')
355
+ .description('View integration logs')
356
+ .option('-n, --lines <number>', 'Number of log entries', '20')
357
+ .action(async (id, options) => {
358
+ requireAuth();
359
+ const spinner = (0, ora_1.default)('Fetching logs...').start();
360
+ try {
361
+ const response = await api_client_1.apiClient.integrationsLogs(id, parseInt(options.lines));
362
+ spinner.succeed(`${response.data.total} log entries`);
363
+ console.log('');
364
+ if (response.data.logs.length === 0) {
365
+ console.log(chalk_1.default.dim(' No logs found'));
366
+ return;
367
+ }
368
+ for (const log of response.data.logs) {
369
+ const icon = log.success ? chalk_1.default.green('✓') : chalk_1.default.red('✗');
370
+ const time = new Date(log.created_at).toLocaleString();
371
+ console.log(` ${icon} [${time}] ${log.action}`);
372
+ }
373
+ }
374
+ catch (error) {
375
+ spinner.fail(chalk_1.default.red('Failed to fetch logs'));
376
+ const apiError = (0, api_client_1.handleApiError)(error);
377
+ console.error(chalk_1.default.red(` ${apiError.message}`));
378
+ }
379
+ });
380
+ //# sourceMappingURL=integrations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"integrations.js","sourceRoot":"","sources":["../../src/commands/integrations.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Knowledge Base commands for Solid CLI
3
+ *
4
+ * All operations are scoped to the authenticated company_id.
5
+ * Users can only see/modify their own company's KB entries.
6
+ */
7
+ import { Command } from 'commander';
8
+ export declare const kbCommand: Command;
9
+ //# sourceMappingURL=kb.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kb.d.ts","sourceRoot":"","sources":["../../src/commands/kb.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOpC,eAAO,MAAM,SAAS,SACqB,CAAC"}
@@ -0,0 +1,151 @@
1
+ "use strict";
2
+ /**
3
+ * Knowledge Base commands for Solid CLI
4
+ *
5
+ * All operations are scoped to the authenticated company_id.
6
+ * Users can only see/modify their own company's KB entries.
7
+ */
8
+ var __importDefault = (this && this.__importDefault) || function (mod) {
9
+ return (mod && mod.__esModule) ? mod : { "default": mod };
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.kbCommand = void 0;
13
+ const commander_1 = require("commander");
14
+ const ora_1 = __importDefault(require("ora"));
15
+ const chalk_1 = __importDefault(require("chalk"));
16
+ const inquirer_1 = __importDefault(require("inquirer"));
17
+ const config_1 = require("../lib/config");
18
+ const api_client_1 = require("../lib/api-client");
19
+ exports.kbCommand = new commander_1.Command('kb')
20
+ .description('Knowledge base management');
21
+ // List KB entries
22
+ exports.kbCommand
23
+ .command('list')
24
+ .description('List knowledge base entries')
25
+ .option('-q, --query <query>', 'Search query', '*')
26
+ .option('-l, --limit <limit>', 'Max results', '20')
27
+ .option('--json', 'Output as JSON')
28
+ .action(async (options) => {
29
+ if (!config_1.config.isLoggedIn()) {
30
+ console.error(chalk_1.default.red('Not logged in. Run `solid auth login` first.'));
31
+ process.exit(1);
32
+ }
33
+ const spinner = (0, ora_1.default)('Loading KB entries...').start();
34
+ try {
35
+ const response = await api_client_1.apiClient.kbSearch(options.query, parseInt(options.limit));
36
+ if (options.json) {
37
+ spinner.stop();
38
+ console.log(JSON.stringify(response.data, null, 2));
39
+ return;
40
+ }
41
+ const results = response.data.results || [];
42
+ spinner.succeed(chalk_1.default.green(`${results.length} entries found`));
43
+ if (results.length === 0) {
44
+ console.log(chalk_1.default.dim(' No KB entries yet. Run `solid kb add` to create one.'));
45
+ return;
46
+ }
47
+ console.log('');
48
+ for (const entry of results) {
49
+ const category = entry.category ? chalk_1.default.cyan(`[${entry.category}]`) : '';
50
+ console.log(` ${chalk_1.default.bold(entry.title || 'Untitled')} ${category}`);
51
+ if (entry.content) {
52
+ const preview = entry.content.substring(0, 80).replace(/\n/g, ' ');
53
+ console.log(chalk_1.default.dim(` ${preview}${entry.content.length > 80 ? '...' : ''}`));
54
+ }
55
+ if (entry.id) {
56
+ console.log(chalk_1.default.dim(` ID: ${entry.id}`));
57
+ }
58
+ console.log('');
59
+ }
60
+ }
61
+ catch (error) {
62
+ spinner.fail(chalk_1.default.red('Failed to load KB entries'));
63
+ const apiError = (0, api_client_1.handleApiError)(error);
64
+ console.error(chalk_1.default.red(` ${apiError.message}`));
65
+ }
66
+ });
67
+ // Add KB entry
68
+ exports.kbCommand
69
+ .command('add')
70
+ .description('Add a knowledge base entry')
71
+ .option('-t, --title <title>', 'Entry title')
72
+ .option('-c, --content <content>', 'Entry content')
73
+ .option('--category <category>', 'Category (general, services, faq, about, products)')
74
+ .action(async (options) => {
75
+ if (!config_1.config.isLoggedIn()) {
76
+ console.error(chalk_1.default.red('Not logged in. Run `solid auth login` first.'));
77
+ process.exit(1);
78
+ }
79
+ let { title, content, category } = options;
80
+ if (!title || !content) {
81
+ const answers = await inquirer_1.default.prompt([
82
+ {
83
+ type: 'input',
84
+ name: 'title',
85
+ message: 'Title:',
86
+ when: !title,
87
+ validate: (input) => input.length > 0 || 'Title is required',
88
+ },
89
+ {
90
+ type: 'editor',
91
+ name: 'content',
92
+ message: 'Content (opens editor):',
93
+ when: !content,
94
+ },
95
+ {
96
+ type: 'list',
97
+ name: 'category',
98
+ message: 'Category:',
99
+ choices: ['general', 'services', 'faq', 'about', 'products', 'billing', 'support'],
100
+ when: !category,
101
+ },
102
+ ]);
103
+ title = title || answers.title;
104
+ content = content || answers.content;
105
+ category = category || answers.category;
106
+ }
107
+ const spinner = (0, ora_1.default)('Creating KB entry...').start();
108
+ try {
109
+ const response = await api_client_1.apiClient.kbCreate({ title, content, category });
110
+ spinner.succeed(chalk_1.default.green(`KB entry created: "${title}"`));
111
+ if (response.data.id) {
112
+ console.log(chalk_1.default.dim(` ID: ${response.data.id}`));
113
+ }
114
+ }
115
+ catch (error) {
116
+ spinner.fail(chalk_1.default.red('Failed to create KB entry'));
117
+ const apiError = (0, api_client_1.handleApiError)(error);
118
+ console.error(chalk_1.default.red(` ${apiError.message}`));
119
+ }
120
+ });
121
+ // Delete KB entry
122
+ exports.kbCommand
123
+ .command('delete <id>')
124
+ .description('Delete a knowledge base entry by ID')
125
+ .action(async (id) => {
126
+ if (!config_1.config.isLoggedIn()) {
127
+ console.error(chalk_1.default.red('Not logged in. Run `solid auth login` first.'));
128
+ process.exit(1);
129
+ }
130
+ const { confirm } = await inquirer_1.default.prompt([{
131
+ type: 'confirm',
132
+ name: 'confirm',
133
+ message: `Delete KB entry #${id}? This cannot be undone.`,
134
+ default: false,
135
+ }]);
136
+ if (!confirm) {
137
+ console.log(chalk_1.default.dim('Cancelled.'));
138
+ return;
139
+ }
140
+ const spinner = (0, ora_1.default)('Deleting KB entry...').start();
141
+ try {
142
+ await api_client_1.apiClient.kbDelete(parseInt(id));
143
+ spinner.succeed(chalk_1.default.green(`KB entry #${id} deleted`));
144
+ }
145
+ catch (error) {
146
+ spinner.fail(chalk_1.default.red('Failed to delete KB entry'));
147
+ const apiError = (0, api_client_1.handleApiError)(error);
148
+ console.error(chalk_1.default.red(` ${apiError.message}`));
149
+ }
150
+ });
151
+ //# sourceMappingURL=kb.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kb.js","sourceRoot":"","sources":["../../src/commands/kb.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * CMS Page commands for Solid CLI
3
+ *
4
+ * All operations are scoped to the authenticated company_id.
5
+ */
6
+ import { Command } from 'commander';
7
+ export declare const pagesCommand: Command;
8
+ //# sourceMappingURL=pages.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pages.d.ts","sourceRoot":"","sources":["../../src/commands/pages.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMpC,eAAO,MAAM,YAAY,SACgB,CAAC"}