@solidnumber/cli 1.4.0 → 1.4.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +37 -3
- package/dist/commands/accounting.d.ts +6 -0
- package/dist/commands/accounting.d.ts.map +1 -0
- package/dist/commands/accounting.js +147 -0
- package/dist/commands/accounting.js.map +1 -0
- package/dist/commands/analytics.d.ts +8 -0
- package/dist/commands/analytics.d.ts.map +1 -0
- package/dist/commands/analytics.js +136 -0
- package/dist/commands/analytics.js.map +1 -0
- package/dist/commands/docs.d.ts.map +1 -1
- package/dist/commands/docs.js +53 -0
- package/dist/commands/docs.js.map +1 -1
- package/dist/commands/export.d.ts +6 -0
- package/dist/commands/export.d.ts.map +1 -0
- package/dist/commands/export.js +145 -0
- package/dist/commands/export.js.map +1 -0
- package/dist/commands/insights.d.ts +9 -0
- package/dist/commands/insights.d.ts.map +1 -0
- package/dist/commands/insights.js +175 -0
- package/dist/commands/insights.js.map +1 -0
- package/dist/commands/llms.d.ts +12 -0
- package/dist/commands/llms.d.ts.map +1 -0
- package/dist/commands/llms.js +227 -0
- package/dist/commands/llms.js.map +1 -0
- package/dist/commands/seo.d.ts +8 -0
- package/dist/commands/seo.d.ts.map +1 -0
- package/dist/commands/seo.js +220 -0
- package/dist/commands/seo.js.map +1 -0
- package/dist/commands/support.d.ts +6 -0
- package/dist/commands/support.d.ts.map +1 -0
- package/dist/commands/support.js +127 -0
- package/dist/commands/support.js.map +1 -0
- package/dist/commands/webhooks.d.ts +6 -0
- package/dist/commands/webhooks.d.ts.map +1 -0
- package/dist/commands/webhooks.js +129 -0
- package/dist/commands/webhooks.js.map +1 -0
- package/dist/index.js +33 -5
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/platform-docs/ai.txt +3 -0
- package/platform-docs/llms.txt +1 -1
package/README.md
CHANGED
|
@@ -33,6 +33,11 @@ solid pull
|
|
|
33
33
|
# Push changes to production
|
|
34
34
|
solid push
|
|
35
35
|
|
|
36
|
+
# Give your AI full context about this company
|
|
37
|
+
solid context --claude # Claude Code
|
|
38
|
+
solid context --cursor # Cursor
|
|
39
|
+
solid context --save # Any AI (paste into project)
|
|
40
|
+
|
|
36
41
|
# Talk to your AI agent
|
|
37
42
|
solid train chat sarah
|
|
38
43
|
|
|
@@ -76,6 +81,34 @@ solid agent mission "Create a Valentine's campaign for VIP customers"
|
|
|
76
81
|
| `solid pages list` | List CMS pages |
|
|
77
82
|
| `solid services list` | List services |
|
|
78
83
|
|
|
84
|
+
### AI Context
|
|
85
|
+
| Command | Description |
|
|
86
|
+
|---------|-------------|
|
|
87
|
+
| `solid context` | Generate AI context package (stdout) |
|
|
88
|
+
| `solid context --claude` | Save to `.claude/CLAUDE.md` (auto-read by Claude Code) |
|
|
89
|
+
| `solid context --cursor` | Save to `.cursorrules` (auto-read by Cursor) |
|
|
90
|
+
| `solid context --save` | Save to `SOLID-CONTEXT.md` |
|
|
91
|
+
| `solid context --watch` | Auto-refresh when data changes |
|
|
92
|
+
| `solid context --json` | JSON output |
|
|
93
|
+
|
|
94
|
+
### AI Discovery (llms.txt)
|
|
95
|
+
| Command | Description |
|
|
96
|
+
|---------|-------------|
|
|
97
|
+
| `solid llms preview` | Preview what AI shopping agents see |
|
|
98
|
+
| `solid llms check` | AI commerce readiness score |
|
|
99
|
+
|
|
100
|
+
### Analytics & SEO
|
|
101
|
+
| Command | Description |
|
|
102
|
+
|---------|-------------|
|
|
103
|
+
| `solid analytics dashboard` | Revenue, customers, transactions |
|
|
104
|
+
| `solid analytics mcp-traffic` | AI crawler traffic (ChatGPT, Claude, etc.) |
|
|
105
|
+
| `solid seo audit` | Full local SEO audit |
|
|
106
|
+
| `solid seo rank` | Search rankings |
|
|
107
|
+
| `solid seo citations` | Citation report |
|
|
108
|
+
| `solid seo gaps` | Open SEO gaps |
|
|
109
|
+
| `solid insights list` | AI-generated conversation insights |
|
|
110
|
+
| `solid insights approve <id>` | Approve and apply to KB |
|
|
111
|
+
|
|
79
112
|
### Platform
|
|
80
113
|
| Command | Description |
|
|
81
114
|
|---------|-------------|
|
|
@@ -110,9 +143,10 @@ solid agent mission "Create a Valentine's campaign for VIP customers"
|
|
|
110
143
|
|
|
111
144
|
```
|
|
112
145
|
1. solid pull → Download pages, KB, services
|
|
113
|
-
2.
|
|
114
|
-
3.
|
|
115
|
-
4. solid
|
|
146
|
+
2. solid context → Give your AI full company knowledge
|
|
147
|
+
3. Edit files → VS Code, Cursor, any editor (AI-assisted)
|
|
148
|
+
4. solid push → Deploy changes instantly
|
|
149
|
+
5. solid vibe → "Add a hero section" (natural language)
|
|
116
150
|
```
|
|
117
151
|
|
|
118
152
|
## File Formats
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"accounting.d.ts","sourceRoot":"","sources":["../../src/commands/accounting.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMpC,eAAO,MAAM,iBAAiB,SAE4B,CAAC"}
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.accountingCommand = void 0;
|
|
40
|
+
/**
|
|
41
|
+
* Accounting command for Solid CLI — QuickBooks / Xero sync.
|
|
42
|
+
*/
|
|
43
|
+
const commander_1 = require("commander");
|
|
44
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
45
|
+
const config_1 = require("../lib/config");
|
|
46
|
+
const api_client_1 = require("../lib/api-client");
|
|
47
|
+
const ui_1 = require("../lib/ui");
|
|
48
|
+
exports.accountingCommand = new commander_1.Command('accounting')
|
|
49
|
+
.description('Accounting sync — QuickBooks, Xero')
|
|
50
|
+
.action(async () => { exports.accountingCommand.outputHelp(); });
|
|
51
|
+
exports.accountingCommand.command('sync').description('Trigger a full accounting sync')
|
|
52
|
+
.option('--json', 'JSON output')
|
|
53
|
+
.action(async (options) => {
|
|
54
|
+
if (!config_1.config.isLoggedIn()) {
|
|
55
|
+
console.error(chalk_1.default.red('Not logged in.'));
|
|
56
|
+
process.exit(1);
|
|
57
|
+
}
|
|
58
|
+
const ora = (await Promise.resolve().then(() => __importStar(require('ora')))).default;
|
|
59
|
+
const spinner = ora('Starting accounting sync...').start();
|
|
60
|
+
try {
|
|
61
|
+
const res = await api_client_1.apiClient.post('/api/v1/accounting/sync');
|
|
62
|
+
spinner.stop();
|
|
63
|
+
if (options.json) {
|
|
64
|
+
console.log(JSON.stringify(res.data, null, 2));
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
const d = res.data;
|
|
68
|
+
console.log('');
|
|
69
|
+
console.log(ui_1.ui.successBox('Sync Started', [`${chalk_1.default.dim('Status:')} ${d.status || 'running'}`, `${chalk_1.default.dim('Sync ID:')} ${d.sync_id || d.id || 'n/a'}`]));
|
|
70
|
+
console.log('');
|
|
71
|
+
}
|
|
72
|
+
catch (e) {
|
|
73
|
+
spinner.fail(chalk_1.default.red('Failed'));
|
|
74
|
+
console.error((0, api_client_1.handleApiError)(e).message);
|
|
75
|
+
}
|
|
76
|
+
});
|
|
77
|
+
exports.accountingCommand.command('status').description('Check sync status')
|
|
78
|
+
.option('--json', 'JSON output')
|
|
79
|
+
.action(async (options) => {
|
|
80
|
+
if (!config_1.config.isLoggedIn()) {
|
|
81
|
+
console.error(chalk_1.default.red('Not logged in.'));
|
|
82
|
+
process.exit(1);
|
|
83
|
+
}
|
|
84
|
+
const ora = (await Promise.resolve().then(() => __importStar(require('ora')))).default;
|
|
85
|
+
const spinner = ora('Loading...').start();
|
|
86
|
+
try {
|
|
87
|
+
const res = await api_client_1.apiClient.get('/api/v1/accounting/sync/status');
|
|
88
|
+
spinner.stop();
|
|
89
|
+
if (options.json) {
|
|
90
|
+
console.log(JSON.stringify(res.data, null, 2));
|
|
91
|
+
return;
|
|
92
|
+
}
|
|
93
|
+
const d = res.data;
|
|
94
|
+
console.log('');
|
|
95
|
+
console.log(ui_1.ui.header('Accounting Sync'));
|
|
96
|
+
if (d.provider)
|
|
97
|
+
console.log(ui_1.ui.label('Provider', d.provider));
|
|
98
|
+
if (d.status)
|
|
99
|
+
console.log(ui_1.ui.label('Status', d.status === 'connected' ? chalk_1.default.green(d.status) : chalk_1.default.yellow(d.status)));
|
|
100
|
+
if (d.last_sync)
|
|
101
|
+
console.log(ui_1.ui.label('Last Sync', d.last_sync));
|
|
102
|
+
if (d.records_synced !== undefined)
|
|
103
|
+
console.log(ui_1.ui.label('Records', String(d.records_synced)));
|
|
104
|
+
console.log('');
|
|
105
|
+
}
|
|
106
|
+
catch (e) {
|
|
107
|
+
spinner.fail(chalk_1.default.red('Failed'));
|
|
108
|
+
console.error((0, api_client_1.handleApiError)(e).message);
|
|
109
|
+
}
|
|
110
|
+
});
|
|
111
|
+
exports.accountingCommand.command('history').description('View sync history')
|
|
112
|
+
.option('--limit <n>', 'Entries', '10').option('--json', 'JSON output')
|
|
113
|
+
.action(async (options) => {
|
|
114
|
+
if (!config_1.config.isLoggedIn()) {
|
|
115
|
+
console.error(chalk_1.default.red('Not logged in.'));
|
|
116
|
+
process.exit(1);
|
|
117
|
+
}
|
|
118
|
+
const ora = (await Promise.resolve().then(() => __importStar(require('ora')))).default;
|
|
119
|
+
const spinner = ora('Loading...').start();
|
|
120
|
+
try {
|
|
121
|
+
const res = await api_client_1.apiClient.get('/api/v1/accounting/sync/history', { params: { limit: options.limit } });
|
|
122
|
+
spinner.stop();
|
|
123
|
+
if (options.json) {
|
|
124
|
+
console.log(JSON.stringify(res.data, null, 2));
|
|
125
|
+
return;
|
|
126
|
+
}
|
|
127
|
+
const d = res.data;
|
|
128
|
+
const entries = d.history || d.syncs || [];
|
|
129
|
+
console.log('');
|
|
130
|
+
console.log(ui_1.ui.header(`Sync History (${entries.length})`));
|
|
131
|
+
if (entries.length === 0) {
|
|
132
|
+
console.log(chalk_1.default.dim(' No sync history yet.'));
|
|
133
|
+
}
|
|
134
|
+
else {
|
|
135
|
+
for (const e of entries) {
|
|
136
|
+
const s = e.status === 'success' ? chalk_1.default.green('✓') : chalk_1.default.red('✗');
|
|
137
|
+
console.log(` ${s} ${e.created_at || e.date} — ${e.records || 0} records`);
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
console.log('');
|
|
141
|
+
}
|
|
142
|
+
catch (e) {
|
|
143
|
+
spinner.fail(chalk_1.default.red('Failed'));
|
|
144
|
+
console.error((0, api_client_1.handleApiError)(e).message);
|
|
145
|
+
}
|
|
146
|
+
});
|
|
147
|
+
//# sourceMappingURL=accounting.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"accounting.js","sourceRoot":"","sources":["../../src/commands/accounting.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"analytics.d.ts","sourceRoot":"","sources":["../../src/commands/analytics.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMpC,eAAO,MAAM,gBAAgB,SAIzB,CAAC"}
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Analytics command for Solid CLI
|
|
4
|
+
*
|
|
5
|
+
* Surface business analytics from the terminal.
|
|
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
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
41
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
42
|
+
};
|
|
43
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
44
|
+
exports.analyticsCommand = void 0;
|
|
45
|
+
const commander_1 = require("commander");
|
|
46
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
47
|
+
const config_1 = require("../lib/config");
|
|
48
|
+
const api_client_1 = require("../lib/api-client");
|
|
49
|
+
const ui_1 = require("../lib/ui");
|
|
50
|
+
exports.analyticsCommand = new commander_1.Command('analytics')
|
|
51
|
+
.description('Business analytics and insights')
|
|
52
|
+
.action(async () => {
|
|
53
|
+
exports.analyticsCommand.outputHelp();
|
|
54
|
+
});
|
|
55
|
+
exports.analyticsCommand
|
|
56
|
+
.command('dashboard')
|
|
57
|
+
.description('Revenue, customers, transactions overview')
|
|
58
|
+
.option('--period <days>', 'Period in days', '30')
|
|
59
|
+
.option('--json', 'JSON output')
|
|
60
|
+
.action(async (options) => {
|
|
61
|
+
if (!config_1.config.isLoggedIn()) {
|
|
62
|
+
console.error(chalk_1.default.red('Not logged in. Run `solid auth login` first.'));
|
|
63
|
+
process.exit(1);
|
|
64
|
+
}
|
|
65
|
+
const ora = (await Promise.resolve().then(() => __importStar(require('ora')))).default;
|
|
66
|
+
const spinner = ora('Loading analytics...').start();
|
|
67
|
+
try {
|
|
68
|
+
const response = await api_client_1.apiClient.get('/api/v1/dashboard/summary', {
|
|
69
|
+
params: { period: options.period },
|
|
70
|
+
});
|
|
71
|
+
spinner.stop();
|
|
72
|
+
if (options.json) {
|
|
73
|
+
console.log(JSON.stringify(response.data, null, 2));
|
|
74
|
+
return;
|
|
75
|
+
}
|
|
76
|
+
const d = response.data;
|
|
77
|
+
console.log('');
|
|
78
|
+
console.log(ui_1.ui.header('Business Analytics'));
|
|
79
|
+
if (d.revenue !== undefined)
|
|
80
|
+
console.log(ui_1.ui.label('Revenue', chalk_1.default.green(`$${(d.revenue || 0).toLocaleString()}`)));
|
|
81
|
+
if (d.transactions !== undefined)
|
|
82
|
+
console.log(ui_1.ui.label('Transactions', String(d.transactions || 0)));
|
|
83
|
+
if (d.customers !== undefined)
|
|
84
|
+
console.log(ui_1.ui.label('Customers', String(d.customers || 0)));
|
|
85
|
+
if (d.new_customers !== undefined)
|
|
86
|
+
console.log(ui_1.ui.label('New Customers', String(d.new_customers || 0)));
|
|
87
|
+
if (d.avg_transaction !== undefined)
|
|
88
|
+
console.log(ui_1.ui.label('Avg Transaction', chalk_1.default.green(`$${(d.avg_transaction || 0).toFixed(2)}`)));
|
|
89
|
+
console.log('');
|
|
90
|
+
}
|
|
91
|
+
catch (error) {
|
|
92
|
+
spinner.fail(chalk_1.default.red('Failed to load analytics'));
|
|
93
|
+
console.error((0, api_client_1.handleApiError)(error).message);
|
|
94
|
+
}
|
|
95
|
+
});
|
|
96
|
+
exports.analyticsCommand
|
|
97
|
+
.command('mcp-traffic')
|
|
98
|
+
.description('AI crawler traffic — who is reading your site')
|
|
99
|
+
.option('--json', 'JSON output')
|
|
100
|
+
.action(async (options) => {
|
|
101
|
+
if (!config_1.config.isLoggedIn()) {
|
|
102
|
+
console.error(chalk_1.default.red('Not logged in. Run `solid auth login` first.'));
|
|
103
|
+
process.exit(1);
|
|
104
|
+
}
|
|
105
|
+
const ora = (await Promise.resolve().then(() => __importStar(require('ora')))).default;
|
|
106
|
+
const spinner = ora('Loading MCP traffic...').start();
|
|
107
|
+
try {
|
|
108
|
+
const response = await api_client_1.apiClient.get('/api/v1/analytics/mcp/traffic');
|
|
109
|
+
spinner.stop();
|
|
110
|
+
if (options.json) {
|
|
111
|
+
console.log(JSON.stringify(response.data, null, 2));
|
|
112
|
+
return;
|
|
113
|
+
}
|
|
114
|
+
const d = response.data;
|
|
115
|
+
console.log('');
|
|
116
|
+
console.log(ui_1.ui.header('AI Crawler Traffic'));
|
|
117
|
+
if (d.total_hits !== undefined)
|
|
118
|
+
console.log(ui_1.ui.label('Total Hits', String(d.total_hits)));
|
|
119
|
+
if (d.google_hits !== undefined)
|
|
120
|
+
console.log(ui_1.ui.label('Google AI', String(d.google_hits)));
|
|
121
|
+
if (d.bing_hits !== undefined)
|
|
122
|
+
console.log(ui_1.ui.label('Bing AI', String(d.bing_hits)));
|
|
123
|
+
if (d.chatgpt_hits !== undefined)
|
|
124
|
+
console.log(ui_1.ui.label('ChatGPT', String(d.chatgpt_hits)));
|
|
125
|
+
if (d.claude_hits !== undefined)
|
|
126
|
+
console.log(ui_1.ui.label('Claude', String(d.claude_hits)));
|
|
127
|
+
if (d.perplexity_hits !== undefined)
|
|
128
|
+
console.log(ui_1.ui.label('Perplexity', String(d.perplexity_hits)));
|
|
129
|
+
console.log('');
|
|
130
|
+
}
|
|
131
|
+
catch (error) {
|
|
132
|
+
spinner.fail(chalk_1.default.red('Failed to load MCP traffic'));
|
|
133
|
+
console.error((0, api_client_1.handleApiError)(error).message);
|
|
134
|
+
}
|
|
135
|
+
});
|
|
136
|
+
//# sourceMappingURL=analytics.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"analytics.js","sourceRoot":"","sources":["../../src/commands/analytics.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"docs.d.ts","sourceRoot":"","sources":["../../src/commands/docs.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"docs.d.ts","sourceRoot":"","sources":["../../src/commands/docs.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA02BpC,eAAO,MAAM,WAAW,SAuCpB,CAAC"}
|
package/dist/commands/docs.js
CHANGED
|
@@ -825,6 +825,59 @@ solid integrations deploy <id> # Deploy integration
|
|
|
825
825
|
solid integrations logs <id> # View integration logs
|
|
826
826
|
\`\`\`
|
|
827
827
|
|
|
828
|
+
## AI Context
|
|
829
|
+
|
|
830
|
+
\`\`\`bash
|
|
831
|
+
solid context # Generate AI context package (stdout)
|
|
832
|
+
solid context --claude # Save to .claude/CLAUDE.md (Claude Code auto-reads)
|
|
833
|
+
solid context --cursor # Save to .cursorrules (Cursor auto-reads)
|
|
834
|
+
solid context --save # Save to SOLID-CONTEXT.md (paste into any AI)
|
|
835
|
+
solid context --json # JSON output
|
|
836
|
+
solid context --minimal # Compact version (no command reference)
|
|
837
|
+
solid context --watch # Auto-refresh when data changes (30s default)
|
|
838
|
+
solid context --watch --interval 60 # Custom interval
|
|
839
|
+
\`\`\`
|
|
840
|
+
|
|
841
|
+
Includes: company details, full KB, pages, services, products, agents, CLI commands, file structure.
|
|
842
|
+
Any AI that ingests this file has complete knowledge of the business and the Solid# platform.
|
|
843
|
+
|
|
844
|
+
## AI Discovery (llms.txt)
|
|
845
|
+
|
|
846
|
+
\`\`\`bash
|
|
847
|
+
solid llms preview # Preview your llms.txt (what AI agents see)
|
|
848
|
+
solid llms check # AI commerce readiness score
|
|
849
|
+
\`\`\`
|
|
850
|
+
|
|
851
|
+
Every company gets \`{slug}.solidnumber.com/llms.txt\` — a machine-readable storefront
|
|
852
|
+
that AI shopping agents (ChatGPT, Alexa, Perplexity) crawl to find products, services,
|
|
853
|
+
prices, and booking actions. Includes L3 payment capabilities.
|
|
854
|
+
|
|
855
|
+
## Analytics
|
|
856
|
+
|
|
857
|
+
\`\`\`bash
|
|
858
|
+
solid analytics dashboard # Revenue, customers, transactions
|
|
859
|
+
solid analytics dashboard --period 7 # Last 7 days
|
|
860
|
+
solid analytics mcp-traffic # AI crawler traffic (ChatGPT, Claude, Perplexity)
|
|
861
|
+
\`\`\`
|
|
862
|
+
|
|
863
|
+
## Local SEO
|
|
864
|
+
|
|
865
|
+
\`\`\`bash
|
|
866
|
+
solid seo audit # Full local SEO audit with score
|
|
867
|
+
solid seo rank # Current search rankings
|
|
868
|
+
solid seo citations # Citation report across directories
|
|
869
|
+
solid seo gaps # Open SEO gaps to fix
|
|
870
|
+
\`\`\`
|
|
871
|
+
|
|
872
|
+
## Conversation Insights
|
|
873
|
+
|
|
874
|
+
\`\`\`bash
|
|
875
|
+
solid insights list # Pending AI-generated insights
|
|
876
|
+
solid insights stats # Insight statistics
|
|
877
|
+
solid insights approve <id> # Approve (add --apply to push to KB)
|
|
878
|
+
solid insights reject <id> # Reject
|
|
879
|
+
\`\`\`
|
|
880
|
+
|
|
828
881
|
## Health & Diagnostics
|
|
829
882
|
|
|
830
883
|
\`\`\`bash
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"docs.js","sourceRoot":"","sources":["../../src/commands/docs.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;GAaG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,yCAAoC;AACpC,8CAAsB;AACtB,kDAA0B;AAC1B,uCAAyB;AACzB,2CAA6B;AAG7B,SAAS,SAAS,CAAC,GAAW;IAC5B,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACxB,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACzC,CAAC;AACH,CAAC;AAED,MAAM,IAAI,GAAyE;IACjF,iBAAiB,EAAE;QACjB,QAAQ,EAAE,oBAAoB;QAC9B,KAAK,EAAE,6BAA6B;QACpC,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4HZ;KACE;IAED,eAAe,EAAE;QACf,QAAQ,EAAE,kBAAkB;QAC5B,KAAK,EAAE,eAAe;QACtB,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuHZ;KACE;IAED,kBAAkB,EAAE;QAClB,QAAQ,EAAE,qBAAqB;QAC/B,KAAK,EAAE,sBAAsB;QAC7B,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4JZ;KACE;IAED,UAAU,EAAE;QACV,QAAQ,EAAE,aAAa;QACvB,KAAK,EAAE,oCAAoC;QAC3C,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiIZ;KACE;IAED,YAAY,EAAE;QACZ,QAAQ,EAAE,eAAe;QACzB,KAAK,EAAE,kCAAkC;QACzC,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6EZ;KACE;IAED,eAAe,EAAE;QACf,QAAQ,EAAE,kBAAkB;QAC5B,KAAK,EAAE,uBAAuB;QAC9B,OAAO,EAAE
|
|
1
|
+
{"version":3,"file":"docs.js","sourceRoot":"","sources":["../../src/commands/docs.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"export.d.ts","sourceRoot":"","sources":["../../src/commands/export.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQpC,eAAO,MAAM,aAAa,SA8DtB,CAAC"}
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.exportCommand = void 0;
|
|
40
|
+
/**
|
|
41
|
+
* Export command for Solid CLI — full company data export (backup, GDPR).
|
|
42
|
+
*/
|
|
43
|
+
const commander_1 = require("commander");
|
|
44
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
45
|
+
const fs = __importStar(require("fs"));
|
|
46
|
+
const path = __importStar(require("path"));
|
|
47
|
+
const config_1 = require("../lib/config");
|
|
48
|
+
const api_client_1 = require("../lib/api-client");
|
|
49
|
+
const ui_1 = require("../lib/ui");
|
|
50
|
+
exports.exportCommand = new commander_1.Command('export')
|
|
51
|
+
.description('Export all company data (backup, GDPR)')
|
|
52
|
+
.option('-d, --dir <directory>', 'Output directory', '.')
|
|
53
|
+
.option('--contacts-only', 'Only export CRM contacts')
|
|
54
|
+
.action(async (options) => {
|
|
55
|
+
if (!config_1.config.isLoggedIn()) {
|
|
56
|
+
console.error(chalk_1.default.red('Not logged in.'));
|
|
57
|
+
process.exit(1);
|
|
58
|
+
}
|
|
59
|
+
const companyId = config_1.config.companyId;
|
|
60
|
+
if (!companyId) {
|
|
61
|
+
console.error(chalk_1.default.red('No company selected.'));
|
|
62
|
+
process.exit(1);
|
|
63
|
+
}
|
|
64
|
+
const ora = (await Promise.resolve().then(() => __importStar(require('ora')))).default;
|
|
65
|
+
const baseDir = path.resolve(options.dir);
|
|
66
|
+
const ts = new Date().toISOString().split('T')[0];
|
|
67
|
+
const exportDir = path.join(baseDir, `solid-export-${companyId}-${ts}`);
|
|
68
|
+
if (!fs.existsSync(exportDir))
|
|
69
|
+
fs.mkdirSync(exportDir, { recursive: true });
|
|
70
|
+
const spinner = ora('Exporting company data...').start();
|
|
71
|
+
let fileCount = 0;
|
|
72
|
+
try {
|
|
73
|
+
// Company info
|
|
74
|
+
spinner.text = 'Exporting company info...';
|
|
75
|
+
try {
|
|
76
|
+
const r = await api_client_1.apiClient.companyInfo();
|
|
77
|
+
fs.writeFileSync(path.join(exportDir, 'company.json'), JSON.stringify(r.data.company, null, 2));
|
|
78
|
+
fileCount++;
|
|
79
|
+
}
|
|
80
|
+
catch { /* skip */ }
|
|
81
|
+
if (!options.contactsOnly) {
|
|
82
|
+
// KB
|
|
83
|
+
spinner.text = 'Exporting knowledge base...';
|
|
84
|
+
try {
|
|
85
|
+
const r = await api_client_1.apiClient.kbSearch('', 100);
|
|
86
|
+
fs.writeFileSync(path.join(exportDir, 'knowledge-base.json'), JSON.stringify(r.data.results || [], null, 2));
|
|
87
|
+
fileCount++;
|
|
88
|
+
}
|
|
89
|
+
catch { /* skip */ }
|
|
90
|
+
// Pages
|
|
91
|
+
spinner.text = 'Exporting pages...';
|
|
92
|
+
try {
|
|
93
|
+
const r = await api_client_1.apiClient.pagesList();
|
|
94
|
+
fs.writeFileSync(path.join(exportDir, 'pages.json'), JSON.stringify(r.data.pages || [], null, 2));
|
|
95
|
+
fileCount++;
|
|
96
|
+
}
|
|
97
|
+
catch { /* skip */ }
|
|
98
|
+
// Services
|
|
99
|
+
spinner.text = 'Exporting services...';
|
|
100
|
+
try {
|
|
101
|
+
const r = await api_client_1.apiClient.servicesList();
|
|
102
|
+
fs.writeFileSync(path.join(exportDir, 'services.json'), JSON.stringify(r.data.items || [], null, 2));
|
|
103
|
+
fileCount++;
|
|
104
|
+
}
|
|
105
|
+
catch { /* skip */ }
|
|
106
|
+
// Products
|
|
107
|
+
spinner.text = 'Exporting products...';
|
|
108
|
+
try {
|
|
109
|
+
const r = await api_client_1.apiClient.productsList();
|
|
110
|
+
fs.writeFileSync(path.join(exportDir, 'products.json'), JSON.stringify(r.data.items || [], null, 2));
|
|
111
|
+
fileCount++;
|
|
112
|
+
}
|
|
113
|
+
catch { /* skip */ }
|
|
114
|
+
// Agents
|
|
115
|
+
spinner.text = 'Exporting agents...';
|
|
116
|
+
try {
|
|
117
|
+
const r = await api_client_1.apiClient.agentsList();
|
|
118
|
+
fs.writeFileSync(path.join(exportDir, 'agents.json'), JSON.stringify(r.data.agents || [], null, 2));
|
|
119
|
+
fileCount++;
|
|
120
|
+
}
|
|
121
|
+
catch { /* skip */ }
|
|
122
|
+
}
|
|
123
|
+
// Contacts
|
|
124
|
+
spinner.text = 'Exporting contacts...';
|
|
125
|
+
try {
|
|
126
|
+
const r = await api_client_1.apiClient.get('/api/v1/crm/contacts/export', { params: { format: 'json' } });
|
|
127
|
+
fs.writeFileSync(path.join(exportDir, 'contacts.json'), JSON.stringify(r.data, null, 2));
|
|
128
|
+
fileCount++;
|
|
129
|
+
}
|
|
130
|
+
catch { /* skip */ }
|
|
131
|
+
spinner.succeed(chalk_1.default.green(`Exported ${fileCount} files`));
|
|
132
|
+
console.log('');
|
|
133
|
+
console.log(ui_1.ui.successBox('Export Complete', [
|
|
134
|
+
`${chalk_1.default.dim('Company:')} ${companyId}`,
|
|
135
|
+
`${chalk_1.default.dim('Dir:')} ${exportDir}`,
|
|
136
|
+
`${chalk_1.default.dim('Files:')} ${fileCount}`,
|
|
137
|
+
]));
|
|
138
|
+
console.log('');
|
|
139
|
+
}
|
|
140
|
+
catch (e) {
|
|
141
|
+
spinner.fail(chalk_1.default.red('Export failed'));
|
|
142
|
+
console.error((0, api_client_1.handleApiError)(e).message);
|
|
143
|
+
}
|
|
144
|
+
});
|
|
145
|
+
//# sourceMappingURL=export.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"export.js","sourceRoot":"","sources":["../../src/commands/export.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Insights command for Solid CLI
|
|
3
|
+
*
|
|
4
|
+
* AI-generated conversation insights — patterns, suggestions,
|
|
5
|
+
* and KB recommendations from customer interactions.
|
|
6
|
+
*/
|
|
7
|
+
import { Command } from 'commander';
|
|
8
|
+
export declare const insightsCommand: Command;
|
|
9
|
+
//# sourceMappingURL=insights.d.ts.map
|