@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.
- package/README.md +150 -0
- package/dist/commands/auth.d.ts +6 -0
- package/dist/commands/auth.d.ts.map +1 -0
- package/dist/commands/auth.js +144 -0
- package/dist/commands/auth.js.map +1 -0
- package/dist/commands/clone.d.ts +19 -0
- package/dist/commands/clone.d.ts.map +1 -0
- package/dist/commands/clone.js +205 -0
- package/dist/commands/clone.js.map +1 -0
- package/dist/commands/dev.d.ts +6 -0
- package/dist/commands/dev.d.ts.map +1 -0
- package/dist/commands/dev.js +218 -0
- package/dist/commands/dev.js.map +1 -0
- package/dist/commands/docs.d.ts +17 -0
- package/dist/commands/docs.d.ts.map +1 -0
- package/dist/commands/docs.js +864 -0
- package/dist/commands/docs.js.map +1 -0
- package/dist/commands/droplet.d.ts +10 -0
- package/dist/commands/droplet.d.ts.map +1 -0
- package/dist/commands/droplet.js +292 -0
- package/dist/commands/droplet.js.map +1 -0
- package/dist/commands/health.d.ts +6 -0
- package/dist/commands/health.d.ts.map +1 -0
- package/dist/commands/health.js +129 -0
- package/dist/commands/health.js.map +1 -0
- package/dist/commands/integrations.d.ts +6 -0
- package/dist/commands/integrations.d.ts.map +1 -0
- package/dist/commands/integrations.js +380 -0
- package/dist/commands/integrations.js.map +1 -0
- package/dist/commands/kb.d.ts +9 -0
- package/dist/commands/kb.d.ts.map +1 -0
- package/dist/commands/kb.js +151 -0
- package/dist/commands/kb.js.map +1 -0
- package/dist/commands/pages.d.ts +8 -0
- package/dist/commands/pages.d.ts.map +1 -0
- package/dist/commands/pages.js +103 -0
- package/dist/commands/pages.js.map +1 -0
- package/dist/commands/pull.d.ts +16 -0
- package/dist/commands/pull.d.ts.map +1 -0
- package/dist/commands/pull.js +336 -0
- package/dist/commands/pull.js.map +1 -0
- package/dist/commands/push.d.ts +14 -0
- package/dist/commands/push.d.ts.map +1 -0
- package/dist/commands/push.js +370 -0
- package/dist/commands/push.js.map +1 -0
- package/dist/commands/services.d.ts +8 -0
- package/dist/commands/services.d.ts.map +1 -0
- package/dist/commands/services.js +66 -0
- package/dist/commands/services.js.map +1 -0
- package/dist/commands/status.d.ts +9 -0
- package/dist/commands/status.d.ts.map +1 -0
- package/dist/commands/status.js +89 -0
- package/dist/commands/status.js.map +1 -0
- package/dist/commands/train.d.ts +16 -0
- package/dist/commands/train.d.ts.map +1 -0
- package/dist/commands/train.js +338 -0
- package/dist/commands/train.js.map +1 -0
- package/dist/commands/vibe.d.ts +6 -0
- package/dist/commands/vibe.d.ts.map +1 -0
- package/dist/commands/vibe.js +176 -0
- package/dist/commands/vibe.js.map +1 -0
- package/dist/index.d.ts +19 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +119 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/api-client.d.ts +235 -0
- package/dist/lib/api-client.d.ts.map +1 -0
- package/dist/lib/api-client.js +287 -0
- package/dist/lib/api-client.js.map +1 -0
- package/dist/lib/config.d.ts +43 -0
- package/dist/lib/config.d.ts.map +1 -0
- package/dist/lib/config.js +189 -0
- package/dist/lib/config.js.map +1 -0
- package/dist/lib/ui.d.ts +49 -0
- package/dist/lib/ui.d.ts.map +1 -0
- package/dist/lib/ui.js +182 -0
- package/dist/lib/ui.js.map +1 -0
- package/package.json +60 -0
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* CMS Page commands for Solid CLI
|
|
4
|
+
*
|
|
5
|
+
* All operations are scoped to the authenticated company_id.
|
|
6
|
+
*/
|
|
7
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
8
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
9
|
+
};
|
|
10
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
|
+
exports.pagesCommand = void 0;
|
|
12
|
+
const commander_1 = require("commander");
|
|
13
|
+
const ora_1 = __importDefault(require("ora"));
|
|
14
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
15
|
+
const config_1 = require("../lib/config");
|
|
16
|
+
const api_client_1 = require("../lib/api-client");
|
|
17
|
+
exports.pagesCommand = new commander_1.Command('pages')
|
|
18
|
+
.description('Website page management');
|
|
19
|
+
// List pages
|
|
20
|
+
exports.pagesCommand
|
|
21
|
+
.command('list')
|
|
22
|
+
.description('List CMS pages')
|
|
23
|
+
.option('--type <type>', 'Filter by page type (website, landing, blog, booking)')
|
|
24
|
+
.option('--json', 'Output as JSON')
|
|
25
|
+
.action(async (options) => {
|
|
26
|
+
if (!config_1.config.isLoggedIn()) {
|
|
27
|
+
console.error(chalk_1.default.red('Not logged in. Run `solid auth login` first.'));
|
|
28
|
+
process.exit(1);
|
|
29
|
+
}
|
|
30
|
+
const spinner = (0, ora_1.default)('Loading pages...').start();
|
|
31
|
+
try {
|
|
32
|
+
const params = {};
|
|
33
|
+
if (options.type)
|
|
34
|
+
params.page_type = options.type;
|
|
35
|
+
const response = await api_client_1.apiClient.pagesList(params);
|
|
36
|
+
if (options.json) {
|
|
37
|
+
spinner.stop();
|
|
38
|
+
console.log(JSON.stringify(response.data, null, 2));
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
const pages = response.data.pages || [];
|
|
42
|
+
spinner.succeed(chalk_1.default.green(`${pages.length} pages`));
|
|
43
|
+
if (pages.length === 0) {
|
|
44
|
+
console.log(chalk_1.default.dim(' No pages yet. Use the website builder to create pages.'));
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
console.log('');
|
|
48
|
+
for (const page of pages) {
|
|
49
|
+
const status = page.is_published
|
|
50
|
+
? chalk_1.default.green('published')
|
|
51
|
+
: chalk_1.default.yellow('draft');
|
|
52
|
+
const type = page.page_type ? chalk_1.default.cyan(`[${page.page_type}]`) : '';
|
|
53
|
+
console.log(` ${chalk_1.default.bold(page.title)} ${type} ${status}`);
|
|
54
|
+
console.log(chalk_1.default.dim(` /${page.slug} ID: ${page.id}`));
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
catch (error) {
|
|
58
|
+
spinner.fail(chalk_1.default.red('Failed to load pages'));
|
|
59
|
+
const apiError = (0, api_client_1.handleApiError)(error);
|
|
60
|
+
console.error(chalk_1.default.red(` ${apiError.message}`));
|
|
61
|
+
}
|
|
62
|
+
});
|
|
63
|
+
// Publish a page
|
|
64
|
+
exports.pagesCommand
|
|
65
|
+
.command('publish <id>')
|
|
66
|
+
.description('Publish a page by ID')
|
|
67
|
+
.action(async (id) => {
|
|
68
|
+
if (!config_1.config.isLoggedIn()) {
|
|
69
|
+
console.error(chalk_1.default.red('Not logged in. Run `solid auth login` first.'));
|
|
70
|
+
process.exit(1);
|
|
71
|
+
}
|
|
72
|
+
const spinner = (0, ora_1.default)(`Publishing page #${id}...`).start();
|
|
73
|
+
try {
|
|
74
|
+
await api_client_1.apiClient.pagesPublish(parseInt(id));
|
|
75
|
+
spinner.succeed(chalk_1.default.green(`Page #${id} published`));
|
|
76
|
+
}
|
|
77
|
+
catch (error) {
|
|
78
|
+
spinner.fail(chalk_1.default.red('Failed to publish page'));
|
|
79
|
+
const apiError = (0, api_client_1.handleApiError)(error);
|
|
80
|
+
console.error(chalk_1.default.red(` ${apiError.message}`));
|
|
81
|
+
}
|
|
82
|
+
});
|
|
83
|
+
// Unpublish a page
|
|
84
|
+
exports.pagesCommand
|
|
85
|
+
.command('unpublish <id>')
|
|
86
|
+
.description('Unpublish a page by ID')
|
|
87
|
+
.action(async (id) => {
|
|
88
|
+
if (!config_1.config.isLoggedIn()) {
|
|
89
|
+
console.error(chalk_1.default.red('Not logged in. Run `solid auth login` first.'));
|
|
90
|
+
process.exit(1);
|
|
91
|
+
}
|
|
92
|
+
const spinner = (0, ora_1.default)(`Unpublishing page #${id}...`).start();
|
|
93
|
+
try {
|
|
94
|
+
await api_client_1.apiClient.pagesUnpublish(parseInt(id));
|
|
95
|
+
spinner.succeed(chalk_1.default.green(`Page #${id} unpublished`));
|
|
96
|
+
}
|
|
97
|
+
catch (error) {
|
|
98
|
+
spinner.fail(chalk_1.default.red('Failed to unpublish page'));
|
|
99
|
+
const apiError = (0, api_client_1.handleApiError)(error);
|
|
100
|
+
console.error(chalk_1.default.red(` ${apiError.message}`));
|
|
101
|
+
}
|
|
102
|
+
});
|
|
103
|
+
//# sourceMappingURL=pages.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pages.js","sourceRoot":"","sources":["../../src/commands/pages.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pull command for Solid CLI
|
|
3
|
+
*
|
|
4
|
+
* Downloads all business data as local files:
|
|
5
|
+
* ./pages/*.json — CMS page layouts
|
|
6
|
+
* ./kb/*.md — Knowledge base entries (frontmatter + content)
|
|
7
|
+
* ./services/*.json — Service catalog
|
|
8
|
+
* ./products/*.json — Product catalog
|
|
9
|
+
* ./solid.config.json — Website settings + company info
|
|
10
|
+
* ./.solid/manifest.json — Sync metadata (do not edit)
|
|
11
|
+
*
|
|
12
|
+
* All data is scoped to the authenticated company_id.
|
|
13
|
+
*/
|
|
14
|
+
import { Command } from 'commander';
|
|
15
|
+
export declare const pullCommand: Command;
|
|
16
|
+
//# sourceMappingURL=pull.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pull.d.ts","sourceRoot":"","sources":["../../src/commands/pull.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAkCpC,eAAO,MAAM,WAAW,SA6SpB,CAAC"}
|
|
@@ -0,0 +1,336 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Pull command for Solid CLI
|
|
4
|
+
*
|
|
5
|
+
* Downloads all business data as local files:
|
|
6
|
+
* ./pages/*.json — CMS page layouts
|
|
7
|
+
* ./kb/*.md — Knowledge base entries (frontmatter + content)
|
|
8
|
+
* ./services/*.json — Service catalog
|
|
9
|
+
* ./products/*.json — Product catalog
|
|
10
|
+
* ./solid.config.json — Website settings + company info
|
|
11
|
+
* ./.solid/manifest.json — Sync metadata (do not edit)
|
|
12
|
+
*
|
|
13
|
+
* All data is scoped to the authenticated company_id.
|
|
14
|
+
*/
|
|
15
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
16
|
+
if (k2 === undefined) k2 = k;
|
|
17
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
18
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
19
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
20
|
+
}
|
|
21
|
+
Object.defineProperty(o, k2, desc);
|
|
22
|
+
}) : (function(o, m, k, k2) {
|
|
23
|
+
if (k2 === undefined) k2 = k;
|
|
24
|
+
o[k2] = m[k];
|
|
25
|
+
}));
|
|
26
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
27
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
28
|
+
}) : function(o, v) {
|
|
29
|
+
o["default"] = v;
|
|
30
|
+
});
|
|
31
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
32
|
+
var ownKeys = function(o) {
|
|
33
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
34
|
+
var ar = [];
|
|
35
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
36
|
+
return ar;
|
|
37
|
+
};
|
|
38
|
+
return ownKeys(o);
|
|
39
|
+
};
|
|
40
|
+
return function (mod) {
|
|
41
|
+
if (mod && mod.__esModule) return mod;
|
|
42
|
+
var result = {};
|
|
43
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
44
|
+
__setModuleDefault(result, mod);
|
|
45
|
+
return result;
|
|
46
|
+
};
|
|
47
|
+
})();
|
|
48
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
49
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
50
|
+
};
|
|
51
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
52
|
+
exports.pullCommand = void 0;
|
|
53
|
+
const commander_1 = require("commander");
|
|
54
|
+
const ora_1 = __importDefault(require("ora"));
|
|
55
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
56
|
+
const fs = __importStar(require("fs"));
|
|
57
|
+
const path = __importStar(require("path"));
|
|
58
|
+
const config_1 = require("../lib/config");
|
|
59
|
+
const api_client_1 = require("../lib/api-client");
|
|
60
|
+
const ui_1 = require("../lib/ui");
|
|
61
|
+
function ensureDir(dir) {
|
|
62
|
+
if (!fs.existsSync(dir)) {
|
|
63
|
+
fs.mkdirSync(dir, { recursive: true });
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
function slugify(text) {
|
|
67
|
+
return text
|
|
68
|
+
.toLowerCase()
|
|
69
|
+
.replace(/[^a-z0-9]+/g, '-')
|
|
70
|
+
.replace(/^-+|-+$/g, '')
|
|
71
|
+
.substring(0, 60);
|
|
72
|
+
}
|
|
73
|
+
exports.pullCommand = new commander_1.Command('pull')
|
|
74
|
+
.description('Download your business data as local files')
|
|
75
|
+
.option('-d, --dir <directory>', 'Output directory', '.')
|
|
76
|
+
.option('--pages-only', 'Only pull pages')
|
|
77
|
+
.option('--kb-only', 'Only pull knowledge base')
|
|
78
|
+
.option('--force', 'Overwrite existing files without prompting')
|
|
79
|
+
.action(async (options) => {
|
|
80
|
+
if (!config_1.config.isLoggedIn()) {
|
|
81
|
+
console.error(chalk_1.default.red('Not logged in. Run `solid auth login` first.'));
|
|
82
|
+
process.exit(1);
|
|
83
|
+
}
|
|
84
|
+
const companyId = config_1.config.companyId;
|
|
85
|
+
if (!companyId) {
|
|
86
|
+
console.error(chalk_1.default.red('No company_id set. Run `solid auth login` first.'));
|
|
87
|
+
process.exit(1);
|
|
88
|
+
}
|
|
89
|
+
const baseDir = path.resolve(options.dir);
|
|
90
|
+
// Check if directory has existing solid project
|
|
91
|
+
const manifestPath = path.join(baseDir, '.solid', 'manifest.json');
|
|
92
|
+
if (fs.existsSync(manifestPath) && !options.force) {
|
|
93
|
+
const existing = JSON.parse(fs.readFileSync(manifestPath, 'utf-8'));
|
|
94
|
+
if (existing.company_id !== companyId) {
|
|
95
|
+
console.error(chalk_1.default.red(`This directory belongs to company ${existing.company_id} (${existing.company_name}).`));
|
|
96
|
+
console.error(chalk_1.default.red(`You are logged in as company ${companyId}.`));
|
|
97
|
+
console.error(chalk_1.default.dim('Use --force to overwrite, or switch to a different directory.'));
|
|
98
|
+
process.exit(1);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
const manifest = {
|
|
102
|
+
company_id: companyId,
|
|
103
|
+
company_name: '',
|
|
104
|
+
pulled_at: new Date().toISOString(),
|
|
105
|
+
api_url: config_1.config.apiUrl,
|
|
106
|
+
pages: {},
|
|
107
|
+
kb: {},
|
|
108
|
+
services: {},
|
|
109
|
+
products: {},
|
|
110
|
+
};
|
|
111
|
+
let totalFiles = 0;
|
|
112
|
+
// ── Company info + settings ──────────────────────────────────────
|
|
113
|
+
const infoSpinner = (0, ora_1.default)('Pulling company info...').start();
|
|
114
|
+
try {
|
|
115
|
+
const infoRes = await api_client_1.apiClient.companyInfo();
|
|
116
|
+
const company = infoRes.data.company;
|
|
117
|
+
manifest.company_name = company?.name || '';
|
|
118
|
+
const configData = {
|
|
119
|
+
name: company.name,
|
|
120
|
+
slug: company.slug,
|
|
121
|
+
industry: company.industry,
|
|
122
|
+
tier: company.tier,
|
|
123
|
+
phone: company.contact_phone,
|
|
124
|
+
email: company.contact_email,
|
|
125
|
+
address: company.location,
|
|
126
|
+
hours: company.business_hours,
|
|
127
|
+
website_settings: company.website_settings || {},
|
|
128
|
+
};
|
|
129
|
+
fs.writeFileSync(path.join(baseDir, 'solid.config.json'), JSON.stringify(configData, null, 2) + '\n');
|
|
130
|
+
totalFiles++;
|
|
131
|
+
infoSpinner.succeed(chalk_1.default.green(`${company.name} — solid.config.json`));
|
|
132
|
+
}
|
|
133
|
+
catch (error) {
|
|
134
|
+
infoSpinner.fail(chalk_1.default.red('Failed to pull company info'));
|
|
135
|
+
const apiError = (0, api_client_1.handleApiError)(error);
|
|
136
|
+
console.error(chalk_1.default.red(` ${apiError.message}`));
|
|
137
|
+
process.exit(1);
|
|
138
|
+
}
|
|
139
|
+
// ── Pages ────────────────────────────────────────────────────────
|
|
140
|
+
if (!options.kbOnly) {
|
|
141
|
+
const pagesSpinner = (0, ora_1.default)('Pulling pages...').start();
|
|
142
|
+
try {
|
|
143
|
+
const pagesRes = await api_client_1.apiClient.pagesList();
|
|
144
|
+
const pages = pagesRes.data.pages || [];
|
|
145
|
+
if (pages.length > 0) {
|
|
146
|
+
const pagesDir = path.join(baseDir, 'pages');
|
|
147
|
+
ensureDir(pagesDir);
|
|
148
|
+
for (const page of pages) {
|
|
149
|
+
// Fetch full page with layout_json
|
|
150
|
+
try {
|
|
151
|
+
const fullPage = await api_client_1.apiClient.pageGet(page.id);
|
|
152
|
+
const pageData = fullPage.data;
|
|
153
|
+
const filename = `${pageData.slug || slugify(pageData.title)}.json`;
|
|
154
|
+
const fileContent = {
|
|
155
|
+
_id: pageData.id,
|
|
156
|
+
title: pageData.title,
|
|
157
|
+
slug: pageData.slug,
|
|
158
|
+
page_type: pageData.page_type || 'website',
|
|
159
|
+
is_published: pageData.is_published,
|
|
160
|
+
is_landing_page: pageData.is_landing_page || false,
|
|
161
|
+
meta_title: pageData.meta_title,
|
|
162
|
+
meta_description: pageData.meta_description,
|
|
163
|
+
layout_json: pageData.layout_json,
|
|
164
|
+
};
|
|
165
|
+
fs.writeFileSync(path.join(pagesDir, filename), JSON.stringify(fileContent, null, 2) + '\n');
|
|
166
|
+
manifest.pages[filename] = {
|
|
167
|
+
id: pageData.id,
|
|
168
|
+
slug: pageData.slug,
|
|
169
|
+
updated_at: pageData.updated_at || new Date().toISOString(),
|
|
170
|
+
};
|
|
171
|
+
totalFiles++;
|
|
172
|
+
}
|
|
173
|
+
catch {
|
|
174
|
+
// Skip pages that fail to load individually
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
pagesSpinner.succeed(chalk_1.default.green(`${pages.length} pages → ./pages/`));
|
|
178
|
+
}
|
|
179
|
+
else {
|
|
180
|
+
pagesSpinner.succeed(chalk_1.default.dim('No pages yet'));
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
catch (error) {
|
|
184
|
+
pagesSpinner.fail(chalk_1.default.red('Failed to pull pages'));
|
|
185
|
+
const apiError = (0, api_client_1.handleApiError)(error);
|
|
186
|
+
console.error(chalk_1.default.red(` ${apiError.message}`));
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
// ── Knowledge Base ───────────────────────────────────────────────
|
|
190
|
+
if (!options.pagesOnly) {
|
|
191
|
+
const kbSpinner = (0, ora_1.default)('Pulling knowledge base...').start();
|
|
192
|
+
try {
|
|
193
|
+
const kbRes = await api_client_1.apiClient.kbSearch('*', 100);
|
|
194
|
+
const entries = kbRes.data.results || [];
|
|
195
|
+
if (entries.length > 0) {
|
|
196
|
+
const kbDir = path.join(baseDir, 'kb');
|
|
197
|
+
ensureDir(kbDir);
|
|
198
|
+
for (const entry of entries) {
|
|
199
|
+
const filename = `${slugify(entry.title || `entry-${entry.id}`)}.md`;
|
|
200
|
+
// Write as markdown with YAML frontmatter
|
|
201
|
+
const lines = [
|
|
202
|
+
'---',
|
|
203
|
+
`id: ${entry.id}`,
|
|
204
|
+
`title: "${(entry.title || '').replace(/"/g, '\\"')}"`,
|
|
205
|
+
`category: ${entry.category || 'general'}`,
|
|
206
|
+
'---',
|
|
207
|
+
'',
|
|
208
|
+
entry.content || '',
|
|
209
|
+
'',
|
|
210
|
+
];
|
|
211
|
+
fs.writeFileSync(path.join(kbDir, filename), lines.join('\n'));
|
|
212
|
+
manifest.kb[filename] = {
|
|
213
|
+
id: entry.id,
|
|
214
|
+
title: entry.title || '',
|
|
215
|
+
};
|
|
216
|
+
totalFiles++;
|
|
217
|
+
}
|
|
218
|
+
kbSpinner.succeed(chalk_1.default.green(`${entries.length} KB entries → ./kb/`));
|
|
219
|
+
}
|
|
220
|
+
else {
|
|
221
|
+
kbSpinner.succeed(chalk_1.default.dim('No KB entries yet'));
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
catch (error) {
|
|
225
|
+
kbSpinner.fail(chalk_1.default.red('Failed to pull KB'));
|
|
226
|
+
const apiError = (0, api_client_1.handleApiError)(error);
|
|
227
|
+
console.error(chalk_1.default.red(` ${apiError.message}`));
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
// ── Services ─────────────────────────────────────────────────────
|
|
231
|
+
if (!options.pagesOnly && !options.kbOnly) {
|
|
232
|
+
const svcSpinner = (0, ora_1.default)('Pulling services...').start();
|
|
233
|
+
try {
|
|
234
|
+
const svcRes = await api_client_1.apiClient.servicesList();
|
|
235
|
+
const items = svcRes.data.items || [];
|
|
236
|
+
if (items.length > 0) {
|
|
237
|
+
const svcDir = path.join(baseDir, 'services');
|
|
238
|
+
ensureDir(svcDir);
|
|
239
|
+
for (const svc of items) {
|
|
240
|
+
const filename = `${svc.slug || slugify(svc.title)}.json`;
|
|
241
|
+
const fileContent = {
|
|
242
|
+
_id: svc.id,
|
|
243
|
+
title: svc.title,
|
|
244
|
+
slug: svc.slug,
|
|
245
|
+
subtitle: svc.subtitle,
|
|
246
|
+
description: svc.description,
|
|
247
|
+
category: svc.category,
|
|
248
|
+
subcategory: svc.subcategory,
|
|
249
|
+
price: svc.price,
|
|
250
|
+
currency: svc.currency || 'USD',
|
|
251
|
+
duration_minutes: svc.duration_minutes,
|
|
252
|
+
requires_on_site: svc.requires_on_site,
|
|
253
|
+
};
|
|
254
|
+
fs.writeFileSync(path.join(svcDir, filename), JSON.stringify(fileContent, null, 2) + '\n');
|
|
255
|
+
manifest.services[filename] = {
|
|
256
|
+
id: svc.id,
|
|
257
|
+
slug: svc.slug,
|
|
258
|
+
};
|
|
259
|
+
totalFiles++;
|
|
260
|
+
}
|
|
261
|
+
svcSpinner.succeed(chalk_1.default.green(`${items.length} services → ./services/`));
|
|
262
|
+
}
|
|
263
|
+
else {
|
|
264
|
+
svcSpinner.succeed(chalk_1.default.dim('No services yet'));
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
catch (error) {
|
|
268
|
+
svcSpinner.fail(chalk_1.default.red('Failed to pull services'));
|
|
269
|
+
const apiError = (0, api_client_1.handleApiError)(error);
|
|
270
|
+
console.error(chalk_1.default.red(` ${apiError.message}`));
|
|
271
|
+
}
|
|
272
|
+
}
|
|
273
|
+
// ── Products ─────────────────────────────────────────────────────
|
|
274
|
+
if (!options.pagesOnly && !options.kbOnly) {
|
|
275
|
+
const prodSpinner = (0, ora_1.default)('Pulling products...').start();
|
|
276
|
+
try {
|
|
277
|
+
const prodRes = await api_client_1.apiClient.productsList();
|
|
278
|
+
const items = prodRes.data.items || [];
|
|
279
|
+
if (items.length > 0) {
|
|
280
|
+
const prodDir = path.join(baseDir, 'products');
|
|
281
|
+
ensureDir(prodDir);
|
|
282
|
+
for (const prod of items) {
|
|
283
|
+
const filename = `${slugify(prod.name)}.json`;
|
|
284
|
+
const fileContent = {
|
|
285
|
+
_id: prod.id,
|
|
286
|
+
name: prod.name,
|
|
287
|
+
description: prod.description,
|
|
288
|
+
category: prod.category,
|
|
289
|
+
product_type: prod.product_type,
|
|
290
|
+
price: prod.price,
|
|
291
|
+
image_url: prod.image_url,
|
|
292
|
+
is_featured: prod.is_featured,
|
|
293
|
+
in_stock: prod.in_stock,
|
|
294
|
+
tags: prod.tags,
|
|
295
|
+
};
|
|
296
|
+
fs.writeFileSync(path.join(prodDir, filename), JSON.stringify(fileContent, null, 2) + '\n');
|
|
297
|
+
manifest.products[filename] = {
|
|
298
|
+
id: prod.id,
|
|
299
|
+
name: prod.name,
|
|
300
|
+
};
|
|
301
|
+
totalFiles++;
|
|
302
|
+
}
|
|
303
|
+
prodSpinner.succeed(chalk_1.default.green(`${items.length} products → ./products/`));
|
|
304
|
+
}
|
|
305
|
+
else {
|
|
306
|
+
prodSpinner.succeed(chalk_1.default.dim('No products yet'));
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
catch (error) {
|
|
310
|
+
prodSpinner.fail(chalk_1.default.red('Failed to pull products'));
|
|
311
|
+
const apiError = (0, api_client_1.handleApiError)(error);
|
|
312
|
+
console.error(chalk_1.default.red(` ${apiError.message}`));
|
|
313
|
+
}
|
|
314
|
+
}
|
|
315
|
+
// ── Write manifest ───────────────────────────────────────────────
|
|
316
|
+
ensureDir(path.join(baseDir, '.solid'));
|
|
317
|
+
fs.writeFileSync(manifestPath, JSON.stringify(manifest, null, 2) + '\n');
|
|
318
|
+
// ── Write .gitignore for .solid ──────────────────────────────────
|
|
319
|
+
const gitignorePath = path.join(baseDir, '.gitignore');
|
|
320
|
+
if (!fs.existsSync(gitignorePath)) {
|
|
321
|
+
fs.writeFileSync(gitignorePath, '.solid/\nnode_modules/\n');
|
|
322
|
+
}
|
|
323
|
+
console.log('');
|
|
324
|
+
console.log(ui_1.ui.successBox(`Pulled ${totalFiles} files`, [
|
|
325
|
+
`${chalk_1.default.dim('Company:')} ${manifest.company_name}`,
|
|
326
|
+
`${chalk_1.default.dim('ID:')} ${companyId}`,
|
|
327
|
+
`${chalk_1.default.dim('Directory:')} ${baseDir}`,
|
|
328
|
+
'',
|
|
329
|
+
`${chalk_1.default.dim('Next steps:')}`,
|
|
330
|
+
` ${chalk_1.default.cyan('1.')} Edit files with your editor`,
|
|
331
|
+
` ${chalk_1.default.cyan('2.')} ${chalk_1.default.cyan('solid push')} to deploy changes`,
|
|
332
|
+
` ${chalk_1.default.cyan('3.')} ${chalk_1.default.cyan('solid train chat')} to test your AI`,
|
|
333
|
+
]));
|
|
334
|
+
console.log('');
|
|
335
|
+
});
|
|
336
|
+
//# sourceMappingURL=pull.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pull.js","sourceRoot":"","sources":["../../src/commands/pull.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Push command for Solid CLI
|
|
3
|
+
*
|
|
4
|
+
* Detects local file changes and pushes them to the Solid# API:
|
|
5
|
+
* ./pages/*.json — Create/update CMS pages
|
|
6
|
+
* ./kb/*.md — Create/update knowledge base entries
|
|
7
|
+
* ./solid.config.json — Update website settings
|
|
8
|
+
*
|
|
9
|
+
* Compares against .solid/manifest.json to detect what changed.
|
|
10
|
+
* All changes are scoped to the authenticated company_id.
|
|
11
|
+
*/
|
|
12
|
+
import { Command } from 'commander';
|
|
13
|
+
export declare const pushCommand: Command;
|
|
14
|
+
//# sourceMappingURL=push.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"push.d.ts","sourceRoot":"","sources":["../../src/commands/push.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAoIpC,eAAO,MAAM,WAAW,SAwOpB,CAAC"}
|