@solidnumber/cli 1.7.1 → 1.7.3

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 (160) hide show
  1. package/LICENSE +37 -0
  2. package/dist/commands/analytics.js +17 -10
  3. package/dist/commands/analytics.js.map +1 -1
  4. package/dist/commands/api.d.ts +10 -0
  5. package/dist/commands/api.d.ts.map +1 -0
  6. package/dist/commands/api.js +305 -0
  7. package/dist/commands/api.js.map +1 -0
  8. package/dist/commands/audit.js +1 -1
  9. package/dist/commands/audit.js.map +1 -1
  10. package/dist/commands/auth.js +16 -4
  11. package/dist/commands/auth.js.map +1 -1
  12. package/dist/commands/brand.js +122 -0
  13. package/dist/commands/brand.js.map +1 -1
  14. package/dist/commands/clone.d.ts.map +1 -1
  15. package/dist/commands/clone.js +67 -0
  16. package/dist/commands/clone.js.map +1 -1
  17. package/dist/commands/completion.d.ts.map +1 -1
  18. package/dist/commands/completion.js +22 -9
  19. package/dist/commands/completion.js.map +1 -1
  20. package/dist/commands/context.js +1 -1
  21. package/dist/commands/context.js.map +1 -1
  22. package/dist/commands/dashboard.d.ts +11 -0
  23. package/dist/commands/dashboard.d.ts.map +1 -0
  24. package/dist/commands/dashboard.js +158 -0
  25. package/dist/commands/dashboard.js.map +1 -0
  26. package/dist/commands/demo.d.ts +12 -0
  27. package/dist/commands/demo.d.ts.map +1 -0
  28. package/dist/commands/demo.js +257 -0
  29. package/dist/commands/demo.js.map +1 -0
  30. package/dist/commands/flows.d.ts.map +1 -1
  31. package/dist/commands/flows.js +11 -0
  32. package/dist/commands/flows.js.map +1 -1
  33. package/dist/commands/health.d.ts.map +1 -1
  34. package/dist/commands/health.js +45 -37
  35. package/dist/commands/health.js.map +1 -1
  36. package/dist/commands/import.d.ts.map +1 -1
  37. package/dist/commands/import.js +8 -1
  38. package/dist/commands/import.js.map +1 -1
  39. package/dist/commands/inbox.js +1 -1
  40. package/dist/commands/inbox.js.map +1 -1
  41. package/dist/commands/init.d.ts +11 -0
  42. package/dist/commands/init.d.ts.map +1 -0
  43. package/dist/commands/init.js +377 -0
  44. package/dist/commands/init.js.map +1 -0
  45. package/dist/commands/inventory.js +5 -5
  46. package/dist/commands/inventory.js.map +1 -1
  47. package/dist/commands/open.d.ts.map +1 -1
  48. package/dist/commands/open.js +29 -0
  49. package/dist/commands/open.js.map +1 -1
  50. package/dist/commands/payment.js +101 -0
  51. package/dist/commands/payment.js.map +1 -1
  52. package/dist/commands/proposal.d.ts +9 -0
  53. package/dist/commands/proposal.d.ts.map +1 -0
  54. package/dist/commands/proposal.js +160 -0
  55. package/dist/commands/proposal.js.map +1 -0
  56. package/dist/commands/push.d.ts.map +1 -1
  57. package/dist/commands/push.js +42 -0
  58. package/dist/commands/push.js.map +1 -1
  59. package/dist/commands/sandbox.d.ts.map +1 -1
  60. package/dist/commands/sandbox.js +113 -0
  61. package/dist/commands/sandbox.js.map +1 -1
  62. package/dist/commands/seo.js +6 -3
  63. package/dist/commands/seo.js.map +1 -1
  64. package/dist/commands/status.d.ts.map +1 -1
  65. package/dist/commands/status.js +32 -0
  66. package/dist/commands/status.js.map +1 -1
  67. package/dist/commands/webhooks-listen.d.ts +12 -0
  68. package/dist/commands/webhooks-listen.d.ts.map +1 -0
  69. package/dist/commands/webhooks-listen.js +217 -0
  70. package/dist/commands/webhooks-listen.js.map +1 -0
  71. package/dist/index.js +20 -4
  72. package/dist/index.js.map +1 -1
  73. package/dist/lib/api-client.d.ts +2 -9
  74. package/dist/lib/api-client.d.ts.map +1 -1
  75. package/dist/lib/api-client.js +17 -13
  76. package/dist/lib/api-client.js.map +1 -1
  77. package/dist/lib/config.d.ts.map +1 -1
  78. package/dist/lib/config.js +4 -4
  79. package/dist/lib/config.js.map +1 -1
  80. package/dist/lib/ui.d.ts.map +1 -1
  81. package/dist/lib/ui.js +38 -2
  82. package/dist/lib/ui.js.map +1 -1
  83. package/package.json +7 -5
  84. package/platform-docs/llms.txt +4 -4
  85. package/dist/__tests__/commands/auth.test.d.ts +0 -6
  86. package/dist/__tests__/commands/auth.test.d.ts.map +0 -1
  87. package/dist/__tests__/commands/auth.test.js +0 -91
  88. package/dist/__tests__/commands/auth.test.js.map +0 -1
  89. package/dist/__tests__/commands/billing.test.d.ts +0 -6
  90. package/dist/__tests__/commands/billing.test.d.ts.map +0 -1
  91. package/dist/__tests__/commands/billing.test.js +0 -141
  92. package/dist/__tests__/commands/billing.test.js.map +0 -1
  93. package/dist/__tests__/commands/company.test.d.ts +0 -6
  94. package/dist/__tests__/commands/company.test.d.ts.map +0 -1
  95. package/dist/__tests__/commands/company.test.js +0 -129
  96. package/dist/__tests__/commands/company.test.js.map +0 -1
  97. package/dist/__tests__/commands/deploy.test.d.ts +0 -8
  98. package/dist/__tests__/commands/deploy.test.d.ts.map +0 -1
  99. package/dist/__tests__/commands/deploy.test.js +0 -190
  100. package/dist/__tests__/commands/deploy.test.js.map +0 -1
  101. package/dist/__tests__/commands/history.test.d.ts +0 -8
  102. package/dist/__tests__/commands/history.test.d.ts.map +0 -1
  103. package/dist/__tests__/commands/history.test.js +0 -213
  104. package/dist/__tests__/commands/history.test.js.map +0 -1
  105. package/dist/__tests__/commands/import.test.d.ts +0 -4
  106. package/dist/__tests__/commands/import.test.d.ts.map +0 -1
  107. package/dist/__tests__/commands/import.test.js +0 -71
  108. package/dist/__tests__/commands/import.test.js.map +0 -1
  109. package/dist/__tests__/commands/logs.test.d.ts +0 -5
  110. package/dist/__tests__/commands/logs.test.d.ts.map +0 -1
  111. package/dist/__tests__/commands/logs.test.js +0 -124
  112. package/dist/__tests__/commands/logs.test.js.map +0 -1
  113. package/dist/__tests__/commands/migrate.test.d.ts +0 -9
  114. package/dist/__tests__/commands/migrate.test.d.ts.map +0 -1
  115. package/dist/__tests__/commands/migrate.test.js +0 -277
  116. package/dist/__tests__/commands/migrate.test.js.map +0 -1
  117. package/dist/__tests__/commands/pages.test.d.ts +0 -5
  118. package/dist/__tests__/commands/pages.test.d.ts.map +0 -1
  119. package/dist/__tests__/commands/pages.test.js +0 -103
  120. package/dist/__tests__/commands/pages.test.js.map +0 -1
  121. package/dist/__tests__/commands/push.test.d.ts +0 -6
  122. package/dist/__tests__/commands/push.test.d.ts.map +0 -1
  123. package/dist/__tests__/commands/push.test.js +0 -113
  124. package/dist/__tests__/commands/push.test.js.map +0 -1
  125. package/dist/__tests__/commands/sandbox.test.d.ts +0 -5
  126. package/dist/__tests__/commands/sandbox.test.d.ts.map +0 -1
  127. package/dist/__tests__/commands/sandbox.test.js +0 -132
  128. package/dist/__tests__/commands/sandbox.test.js.map +0 -1
  129. package/dist/__tests__/commands/serve.test.d.ts +0 -5
  130. package/dist/__tests__/commands/serve.test.d.ts.map +0 -1
  131. package/dist/__tests__/commands/serve.test.js +0 -115
  132. package/dist/__tests__/commands/serve.test.js.map +0 -1
  133. package/dist/__tests__/commands/site.test.d.ts +0 -5
  134. package/dist/__tests__/commands/site.test.d.ts.map +0 -1
  135. package/dist/__tests__/commands/site.test.js +0 -92
  136. package/dist/__tests__/commands/site.test.js.map +0 -1
  137. package/dist/__tests__/commands/test.test.d.ts +0 -5
  138. package/dist/__tests__/commands/test.test.d.ts.map +0 -1
  139. package/dist/__tests__/commands/test.test.js +0 -220
  140. package/dist/__tests__/commands/test.test.js.map +0 -1
  141. package/dist/__tests__/integration/smoke.test.d.ts +0 -7
  142. package/dist/__tests__/integration/smoke.test.d.ts.map +0 -1
  143. package/dist/__tests__/integration/smoke.test.js +0 -135
  144. package/dist/__tests__/integration/smoke.test.js.map +0 -1
  145. package/dist/__tests__/lib/api-client.test.d.ts +0 -6
  146. package/dist/__tests__/lib/api-client.test.d.ts.map +0 -1
  147. package/dist/__tests__/lib/api-client.test.js +0 -74
  148. package/dist/__tests__/lib/api-client.test.js.map +0 -1
  149. package/dist/__tests__/lib/company-isolation.test.d.ts +0 -19
  150. package/dist/__tests__/lib/company-isolation.test.d.ts.map +0 -1
  151. package/dist/__tests__/lib/company-isolation.test.js +0 -96
  152. package/dist/__tests__/lib/company-isolation.test.js.map +0 -1
  153. package/dist/__tests__/lib/config.test.d.ts +0 -6
  154. package/dist/__tests__/lib/config.test.d.ts.map +0 -1
  155. package/dist/__tests__/lib/config.test.js +0 -131
  156. package/dist/__tests__/lib/config.test.js.map +0 -1
  157. package/dist/__tests__/setup.d.ts +0 -4
  158. package/dist/__tests__/setup.d.ts.map +0 -1
  159. package/dist/__tests__/setup.js +0 -25
  160. package/dist/__tests__/setup.js.map +0 -1
@@ -0,0 +1,377 @@
1
+ "use strict";
2
+ /**
3
+ * Project scaffolding — build apps on Solid# infrastructure
4
+ *
5
+ * solid init my-app → Interactive setup
6
+ * solid init my-app --type marketplace → Marketplace template
7
+ * solid init my-app --type saas → SaaS starter
8
+ * solid init my-app --type agency-dashboard → Agency management tool
9
+ */
10
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
11
+ if (k2 === undefined) k2 = k;
12
+ var desc = Object.getOwnPropertyDescriptor(m, k);
13
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
14
+ desc = { enumerable: true, get: function() { return m[k]; } };
15
+ }
16
+ Object.defineProperty(o, k2, desc);
17
+ }) : (function(o, m, k, k2) {
18
+ if (k2 === undefined) k2 = k;
19
+ o[k2] = m[k];
20
+ }));
21
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
22
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
23
+ }) : function(o, v) {
24
+ o["default"] = v;
25
+ });
26
+ var __importStar = (this && this.__importStar) || (function () {
27
+ var ownKeys = function(o) {
28
+ ownKeys = Object.getOwnPropertyNames || function (o) {
29
+ var ar = [];
30
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
31
+ return ar;
32
+ };
33
+ return ownKeys(o);
34
+ };
35
+ return function (mod) {
36
+ if (mod && mod.__esModule) return mod;
37
+ var result = {};
38
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
39
+ __setModuleDefault(result, mod);
40
+ return result;
41
+ };
42
+ })();
43
+ var __importDefault = (this && this.__importDefault) || function (mod) {
44
+ return (mod && mod.__esModule) ? mod : { "default": mod };
45
+ };
46
+ Object.defineProperty(exports, "__esModule", { value: true });
47
+ exports.initCommand = void 0;
48
+ const commander_1 = require("commander");
49
+ const chalk_1 = __importDefault(require("chalk"));
50
+ const fs = __importStar(require("fs"));
51
+ const path = __importStar(require("path"));
52
+ const config_1 = require("../lib/config");
53
+ const ui_1 = require("../lib/ui");
54
+ const APP_TYPES = {
55
+ basic: {
56
+ name: 'Basic App',
57
+ description: 'Simple app connected to Solid# API',
58
+ files: {
59
+ 'package.json': JSON.stringify({
60
+ name: '{{name}}',
61
+ version: '0.1.0',
62
+ scripts: { start: 'node index.js', dev: 'node --watch index.js' },
63
+ dependencies: { '@solidnumber/sdk': '^1.0.0' },
64
+ }, null, 2),
65
+ 'index.js': `const { SolidClient } = require('@solidnumber/sdk');
66
+
67
+ const solid = new SolidClient({
68
+ apiKey: process.env.SOLID_API_KEY,
69
+ companyId: process.env.SOLID_COMPANY_ID ? parseInt(process.env.SOLID_COMPANY_ID) : undefined,
70
+ });
71
+
72
+ async function main() {
73
+ // Your app starts here
74
+ const health = await solid.health.check();
75
+ console.log('Connected to Solid#:', health.data.status);
76
+
77
+ const contacts = await solid.crm.contacts();
78
+ console.log('Contacts:', contacts.data);
79
+ }
80
+
81
+ main().catch(console.error);
82
+ `,
83
+ '.env.example': `SOLID_API_KEY=sk_solid_your_key_here
84
+ SOLID_COMPANY_ID=
85
+ `,
86
+ 'README.md': `# {{name}}
87
+
88
+ Built on [Solid#](https://solidnumber.com) infrastructure.
89
+
90
+ ## Setup
91
+
92
+ 1. \`npm install\`
93
+ 2. Copy \`.env.example\` to \`.env\` and add your API key
94
+ 3. \`npm start\`
95
+
96
+ ## Get your API key
97
+
98
+ \`\`\`bash
99
+ solid auth login
100
+ solid auth token create -n "{{name}}" -s "crm:read,pages:read,kb:read"
101
+ \`\`\`
102
+ `,
103
+ },
104
+ },
105
+ marketplace: {
106
+ name: 'Multi-Vendor Marketplace',
107
+ description: 'Each vendor is a Solid# company with AI agents',
108
+ files: {
109
+ 'package.json': JSON.stringify({
110
+ name: '{{name}}',
111
+ version: '0.1.0',
112
+ scripts: { start: 'node server.js', dev: 'node --watch server.js' },
113
+ dependencies: { '@solidnumber/sdk': '^1.0.0', express: '^4.18.0' },
114
+ }, null, 2),
115
+ 'server.js': `const express = require('express');
116
+ const { SolidClient } = require('@solidnumber/sdk');
117
+
118
+ const app = express();
119
+ const solid = new SolidClient({ apiKey: process.env.SOLID_API_KEY });
120
+
121
+ // List all vendor companies
122
+ app.get('/vendors', async (req, res) => {
123
+ const companies = await solid.companies.list();
124
+ res.json(companies.data);
125
+ });
126
+
127
+ // Vendor storefront — switch company context per request
128
+ app.get('/vendor/:companyId/products', async (req, res) => {
129
+ solid.switchCompany(parseInt(req.params.companyId));
130
+ const services = await solid.services.list();
131
+ res.json(services.data);
132
+ });
133
+
134
+ // Vendor AI chat
135
+ app.post('/vendor/:companyId/chat', express.json(), async (req, res) => {
136
+ solid.switchCompany(parseInt(req.params.companyId));
137
+ const reply = await solid.agents.chat('sarah', req.body.message);
138
+ res.json(reply.data);
139
+ });
140
+
141
+ app.listen(3000, () => console.log('Marketplace running on :3000'));
142
+ `,
143
+ '.env.example': `SOLID_API_KEY=sk_solid_your_key_here
144
+ `,
145
+ 'README.md': `# {{name}} — Multi-Vendor Marketplace
146
+
147
+ Each vendor is a Solid# company with their own AI agents, CRM, and services.
148
+
149
+ ## Architecture
150
+ - Each vendor = one Solid# company (created via \`solid company create\`)
151
+ - Vendor onboarding = \`solid clone <template> --company "Vendor Name"\`
152
+ - Each vendor gets AI agents, CRM, booking, payments
153
+ - Your app is the frontend connecting them all
154
+
155
+ ## Setup
156
+ 1. \`npm install\`
157
+ 2. Set \`SOLID_API_KEY\` in \`.env\`
158
+ 3. \`npm start\`
159
+ `,
160
+ },
161
+ },
162
+ saas: {
163
+ name: 'SaaS Starter',
164
+ description: 'Multi-tenant SaaS with Solid# backend',
165
+ files: {
166
+ 'package.json': JSON.stringify({
167
+ name: '{{name}}',
168
+ version: '0.1.0',
169
+ scripts: { start: 'node server.js', dev: 'node --watch server.js' },
170
+ dependencies: { '@solidnumber/sdk': '^1.0.0', express: '^4.18.0' },
171
+ }, null, 2),
172
+ 'server.js': `const express = require('express');
173
+ const { SolidClient } = require('@solidnumber/sdk');
174
+
175
+ const app = express();
176
+ app.use(express.json());
177
+
178
+ // Each customer = a Solid# company
179
+ // Your SaaS manages the companies, Solid# handles everything else
180
+
181
+ const admin = new SolidClient({ apiKey: process.env.SOLID_API_KEY });
182
+
183
+ // Onboard new customer
184
+ app.post('/signup', async (req, res) => {
185
+ const { businessName, industry } = req.body;
186
+
187
+ // Create company on Solid#
188
+ const company = await admin.companies.create(businessName, industry);
189
+ const companyId = company.data.company.id;
190
+
191
+ // Apply industry template
192
+ admin.switchCompany(companyId);
193
+ await admin.templates.clone(industry);
194
+
195
+ res.json({
196
+ companyId,
197
+ message: 'Business created with AI agents, website, CRM, and more',
198
+ dashboard: \`https://app.solidnumber.com/dashboard\`,
199
+ });
200
+ });
201
+
202
+ // Customer dashboard data
203
+ app.get('/customer/:id/dashboard', async (req, res) => {
204
+ admin.switchCompany(parseInt(req.params.id));
205
+ const [contacts, pages, agents] = await Promise.all([
206
+ admin.crm.contacts(),
207
+ admin.pages.list(),
208
+ admin.agents.list(),
209
+ ]);
210
+ res.json({ contacts: contacts.data, pages: pages.data, agents: agents.data });
211
+ });
212
+
213
+ app.listen(3000, () => console.log('SaaS running on :3000'));
214
+ `,
215
+ '.env.example': `SOLID_API_KEY=sk_solid_your_key_here
216
+ `,
217
+ 'README.md': `# {{name}} — SaaS on Solid#
218
+
219
+ Multi-tenant SaaS where each customer gets a full AI-powered business.
220
+
221
+ ## How it works
222
+ - \`POST /signup\` creates a Solid# company + applies industry template
223
+ - Each customer gets: AI agents, CRM, website, booking, payments
224
+ - You build the custom UI, Solid# handles the infrastructure
225
+
226
+ ## What you DON'T have to build
227
+ - Auth & multi-tenancy (530 tables with RLS)
228
+ - Payment processing (Stripe wired)
229
+ - AI agents (116 agents, SmartRouter, CognitiveLimiter)
230
+ - CRM, voice AI, website builder, SEO
231
+ `,
232
+ },
233
+ },
234
+ 'agency-dashboard': {
235
+ name: 'Agency Dashboard',
236
+ description: 'Manage all client companies from one interface',
237
+ files: {
238
+ 'package.json': JSON.stringify({
239
+ name: '{{name}}',
240
+ version: '0.1.0',
241
+ scripts: { start: 'node server.js', dev: 'node --watch server.js' },
242
+ dependencies: { '@solidnumber/sdk': '^1.0.0', express: '^4.18.0' },
243
+ }, null, 2),
244
+ 'server.js': `const express = require('express');
245
+ const { SolidClient } = require('@solidnumber/sdk');
246
+
247
+ const app = express();
248
+ const solid = new SolidClient({ apiKey: process.env.SOLID_API_KEY });
249
+
250
+ // All clients overview
251
+ app.get('/clients', async (req, res) => {
252
+ const companies = await solid.companies.list();
253
+ res.json(companies.data);
254
+ });
255
+
256
+ // Client health check
257
+ app.get('/clients/:id/health', async (req, res) => {
258
+ solid.switchCompany(parseInt(req.params.id));
259
+ const [health, agents] = await Promise.all([
260
+ solid.health.check(),
261
+ solid.agents.list(),
262
+ ]);
263
+ res.json({ health: health.data, agents: agents.data });
264
+ });
265
+
266
+ // Bulk KB update across all clients
267
+ app.post('/bulk/kb', express.json(), async (req, res) => {
268
+ const companies = await solid.companies.list();
269
+ const results = [];
270
+ for (const c of companies.data.companies) {
271
+ solid.switchCompany(c.id);
272
+ const result = await solid.kb.create(req.body).catch(e => ({ error: e.message }));
273
+ results.push({ company: c.name, result });
274
+ }
275
+ res.json(results);
276
+ });
277
+
278
+ app.listen(3000, () => console.log('Agency dashboard on :3000'));
279
+ `,
280
+ '.env.example': `SOLID_API_KEY=sk_solid_your_key_here
281
+ `,
282
+ 'README.md': `# {{name}} — Agency Dashboard
283
+
284
+ Manage all your Solid# client companies from one place.
285
+
286
+ ## Features
287
+ - View all clients at a glance
288
+ - Per-client health monitoring
289
+ - Bulk KB updates across all clients
290
+ - Revenue tracking per client
291
+ `,
292
+ },
293
+ },
294
+ };
295
+ exports.initCommand = new commander_1.Command('init')
296
+ .description('Scaffold a new app on Solid# infrastructure')
297
+ .argument('<name>', 'Project name')
298
+ .option('-t, --type <type>', 'App type (basic, marketplace, saas, agency-dashboard)', 'basic')
299
+ .option('--list', 'List available app types')
300
+ .action(async (name, options) => {
301
+ if (options.list) {
302
+ console.log('');
303
+ console.log(ui_1.ui.header('App Templates'));
304
+ console.log('');
305
+ for (const [key, tmpl] of Object.entries(APP_TYPES)) {
306
+ console.log(` ${chalk_1.default.bold.cyan(key.padEnd(20))} ${tmpl.name}`);
307
+ console.log(` ${' '.repeat(20)} ${chalk_1.default.dim(tmpl.description)}`);
308
+ }
309
+ console.log('');
310
+ console.log(chalk_1.default.dim(' Usage: solid init my-app --type marketplace'));
311
+ console.log('');
312
+ return;
313
+ }
314
+ const appType = APP_TYPES[options.type];
315
+ if (!appType) {
316
+ console.error(chalk_1.default.red(`Unknown type: ${options.type}`));
317
+ console.log(chalk_1.default.dim(` Available: ${Object.keys(APP_TYPES).join(', ')}`));
318
+ process.exit(1);
319
+ }
320
+ const projectDir = path.resolve(name);
321
+ if (fs.existsSync(projectDir)) {
322
+ console.error(chalk_1.default.red(`Directory already exists: ${projectDir}`));
323
+ process.exit(1);
324
+ }
325
+ const ora = (await Promise.resolve().then(() => __importStar(require('ora')))).default;
326
+ const spinner = ora(`Scaffolding ${appType.name}...`).start();
327
+ fs.mkdirSync(projectDir, { recursive: true });
328
+ for (const [filename, content] of Object.entries(appType.files)) {
329
+ const filePath = path.join(projectDir, filename);
330
+ const rendered = content.replace(/\{\{name\}\}/g, name);
331
+ fs.writeFileSync(filePath, rendered);
332
+ }
333
+ // Copy .gitignore
334
+ fs.writeFileSync(path.join(projectDir, '.gitignore'), 'node_modules/\n.env\ndist/\n');
335
+ // Generate CLAUDE.md for AI context
336
+ const claudeMd = `# ${name}
337
+
338
+ Built on [Solid#](https://solidnumber.com) infrastructure.
339
+
340
+ ## Architecture
341
+ - Backend: Solid# API (${config_1.config.apiUrl || 'https://api.solidnumber.com'})
342
+ - SDK: @solidnumber/sdk
343
+ - Type: ${appType.name}
344
+
345
+ ## API Key
346
+ Set \`SOLID_API_KEY\` in \`.env\`. Create one with:
347
+ \`\`\`bash
348
+ solid auth token create -n "${name}" -s "crm:read,pages:read,kb:read,agents:read"
349
+ \`\`\`
350
+
351
+ ## Solid# Resources
352
+ - API Docs: https://solidnumber.com/docs/api
353
+ - SDK Docs: https://solidnumber.com/docs/sdks
354
+ - CLI: npm i -g @solidnumber/cli
355
+ `;
356
+ fs.writeFileSync(path.join(projectDir, 'CLAUDE.md'), claudeMd);
357
+ spinner.succeed(chalk_1.default.green(`${appType.name} scaffolded`));
358
+ console.log('');
359
+ console.log(` ${chalk_1.default.bold('Project:')} ${name}`);
360
+ console.log(` ${chalk_1.default.bold('Type:')} ${appType.name}`);
361
+ console.log(` ${chalk_1.default.bold('Path:')} ${projectDir}`);
362
+ console.log('');
363
+ const files = Object.keys(appType.files);
364
+ for (const f of files) {
365
+ console.log(chalk_1.default.dim(` ${f}`));
366
+ }
367
+ console.log(chalk_1.default.dim(' .gitignore'));
368
+ console.log(chalk_1.default.dim(' CLAUDE.md'));
369
+ console.log('');
370
+ console.log(chalk_1.default.bold(' Next steps:'));
371
+ console.log(` ${chalk_1.default.cyan(`cd ${name}`)}`);
372
+ console.log(` ${chalk_1.default.cyan('npm install')}`);
373
+ console.log(` ${chalk_1.default.cyan('cp .env.example .env')} ${chalk_1.default.dim('← add your API key')}`);
374
+ console.log(` ${chalk_1.default.cyan('npm start')}`);
375
+ console.log('');
376
+ });
377
+ //# sourceMappingURL=init.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
@@ -66,7 +66,7 @@ exports.inventoryCommand
66
66
  const spinner = (0, ora_1.default)('Loading inventory...').start();
67
67
  try {
68
68
  const params = { limit: parseInt(options.limit), offset: 0 };
69
- const response = await api_client_1.apiClient.get('/Inventory/', { params });
69
+ const response = await api_client_1.apiClient.get('/api/v1/Inventory/list', { params });
70
70
  const data = response.data;
71
71
  const items = data.items || data.inventory || [];
72
72
  if (options.json) {
@@ -101,7 +101,7 @@ exports.inventoryCommand
101
101
  requireAuth();
102
102
  const spinner = (0, ora_1.default)(`Loading item ${sku}...`).start();
103
103
  try {
104
- const response = await api_client_1.apiClient.get(`/Inventory/${encodeURIComponent(sku)}`);
104
+ const response = await api_client_1.apiClient.get(`/api/v1/Inventory/get`, { params: { sku } });
105
105
  const item = response.data;
106
106
  if (options.json) {
107
107
  spinner.stop();
@@ -146,7 +146,7 @@ exports.inventoryCommand
146
146
  };
147
147
  if (options.price)
148
148
  body.price = parseFloat(options.price);
149
- const response = await api_client_1.apiClient.post('/Inventory/', body);
149
+ const response = await api_client_1.apiClient.post('/api/v1/Inventory/create', body);
150
150
  const item = response.data;
151
151
  spinner.succeed(chalk_1.default.green(`Item created: ${options.sku}`));
152
152
  console.log(chalk_1.default.dim(` ${options.name} — qty: ${options.quantity}`));
@@ -175,7 +175,7 @@ exports.inventoryCommand
175
175
  }
176
176
  const spinner = (0, ora_1.default)(`Updating item ${sku}...`).start();
177
177
  try {
178
- await api_client_1.apiClient.patch(`/Inventory/${encodeURIComponent(sku)}`, body);
178
+ await api_client_1.apiClient.post('/api/v1/Inventory/update', { ...body, sku });
179
179
  spinner.succeed(chalk_1.default.green(`Item ${sku} updated`));
180
180
  }
181
181
  catch (error) {
@@ -198,7 +198,7 @@ exports.inventoryCommand
198
198
  quantity: parseInt(options.quantity),
199
199
  reason: options.reason || '',
200
200
  };
201
- await api_client_1.apiClient.post('/Inventory/adjust', body);
201
+ await api_client_1.apiClient.post('/api/v1/Inventory/adjust', body);
202
202
  const direction = parseInt(options.quantity) >= 0 ? '+' : '';
203
203
  spinner.succeed(chalk_1.default.green(`Stock adjusted: ${sku} (${direction}${options.quantity})`));
204
204
  }
@@ -1 +1 @@
1
- {"version":3,"file":"inventory.js","sourceRoot":"","sources":["../../src/commands/inventory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"inventory.js","sourceRoot":"","sources":["../../src/commands/inventory.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,yCAAoC;AACpC,8CAAsB;AACtB,kDAA0B;AAC1B,0CAAuC;AACvC,kDAA8D;AAG9D,SAAS,WAAW;IAClB,IAAI,CAAC,eAAM,CAAC,UAAU,EAAE,EAAE,CAAC;QACzB,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC,CAAC;QACzE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAEY,QAAA,gBAAgB,GAAG,IAAI,mBAAO,CAAC,WAAW,CAAC;KACrD,WAAW,CAAC,8BAA8B,CAAC,CAAC;AAE/C,uBAAuB;AACvB,wBAAgB;KACb,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,sBAAsB,CAAC;KACnC,MAAM,CAAC,aAAa,EAAE,aAAa,EAAE,IAAI,CAAC;KAC1C,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;KAClC,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,WAAW,EAAE,CAAC;IACd,MAAM,OAAO,GAAG,IAAA,aAAG,EAAC,sBAAsB,CAAC,CAAC,KAAK,EAAE,CAAC;IAEpD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,EAAE,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;QAC7D,MAAM,QAAQ,GAAG,MAAM,sBAAS,CAAC,GAAG,CAAC,wBAAwB,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;QAC3E,MAAM,IAAI,GAAG,QAAQ,CAAC,IAA2B,CAAC;QAClD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC;QAEjD,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,OAAO,CAAC,IAAI,EAAE,CAAC;YACf,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAC3C,OAAO;QACT,CAAC;QAED,OAAO,CAAC,OAAO,CAAC,eAAK,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,MAAM,UAAU,CAAC,CAAC,CAAC;QAExD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC,CAAC;YACtD,OAAO;QACT,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,KAAK,MAAM,IAAI,IAAI,KAA8B,EAAE,CAAC;YAClD,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC;YAC/C,MAAM,QAAQ,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,eAAK,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,eAAK,CAAC,MAAM,CAAC,CAAC,CAAC,eAAK,CAAC,KAAK,CAAC;YAC9E,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,eAAK,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/F,OAAO,CAAC,GAAG,CAAC,KAAK,eAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,EAAE,CAAC,KAAK,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,QAAQ,GAAG,EAAE,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC;QACxH,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CAAC,eAAK,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC,CAAC;QACpD,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,KAAK,IAAA,2BAAc,EAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IACjE,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,kBAAkB;AAClB,wBAAgB;KACb,OAAO,CAAC,WAAW,CAAC;KACpB,WAAW,CAAC,2BAA2B,CAAC;KACxC,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;KAClC,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE;IAC7B,WAAW,EAAE,CAAC;IACd,MAAM,OAAO,GAAG,IAAA,aAAG,EAAC,gBAAgB,GAAG,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC;IAEtD,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,sBAAS,CAAC,GAAG,CAAC,uBAAuB,EAAE,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;QACnF,MAAM,IAAI,GAAG,QAAQ,CAAC,IAA2B,CAAC;QAElD,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,OAAO,CAAC,IAAI,EAAE,CAAC;YACf,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAC3C,OAAO;QACT,CAAC;QAED,OAAO,CAAC,OAAO,CAAC,eAAK,CAAC,KAAK,CAAC,SAAS,GAAG,EAAE,CAAC,CAAC,CAAC;QAC7C,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,KAAK,eAAK,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,CAAC,GAAG,IAAI,GAAG,EAAE,CAAC,CAAC;QAChE,OAAO,CAAC,GAAG,CAAC,KAAK,eAAK,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC,CAAC;QAC9E,OAAO,CAAC,GAAG,CAAC,KAAK,eAAK,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,QAAQ,IAAI,KAAK,EAAE,CAAC,CAAC;QACvF,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS;YAAE,OAAO,CAAC,GAAG,CAAC,KAAK,eAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC7G,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS;YAAE,OAAO,CAAC,GAAG,CAAC,KAAK,eAAK,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC3G,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO,CAAC,GAAG,CAAC,KAAK,eAAK,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QACjF,IAAI,IAAI,CAAC,UAAU;YAAE,OAAO,CAAC,GAAG,CAAC,KAAK,eAAK,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;IACvF,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CAAC,eAAK,CAAC,GAAG,CAAC,uBAAuB,GAAG,EAAE,CAAC,CAAC,CAAC;QACtD,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,KAAK,IAAA,2BAAc,EAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IACjE,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,wBAAwB;AACxB,wBAAgB;KACb,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,6BAA6B,CAAC;KAC1C,cAAc,CAAC,aAAa,EAAE,UAAU,CAAC;KACzC,cAAc,CAAC,eAAe,EAAE,WAAW,CAAC;KAC5C,MAAM,CAAC,gBAAgB,EAAE,kBAAkB,EAAE,GAAG,CAAC;KACjD,MAAM,CAAC,kBAAkB,EAAE,OAAO,CAAC;KACnC,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,WAAW,EAAE,CAAC;IACd,MAAM,OAAO,GAAG,IAAA,aAAG,EAAC,4BAA4B,CAAC,CAAC,KAAK,EAAE,CAAC;IAE1D,IAAI,CAAC;QACH,MAAM,IAAI,GAA4B;YACpC,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC;SACpC,CAAC;QACF,IAAI,OAAO,CAAC,KAAK;YAAE,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAE1D,MAAM,QAAQ,GAAG,MAAM,sBAAS,CAAC,IAAI,CAAC,0BAA0B,EAAE,IAAI,CAAC,CAAC;QACxE,MAAM,IAAI,GAAG,QAAQ,CAAC,IAA2B,CAAC;QAElD,OAAO,CAAC,OAAO,CAAC,eAAK,CAAC,KAAK,CAAC,iBAAiB,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QAC7D,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,KAAK,OAAO,CAAC,IAAI,WAAW,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;IACzE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CAAC,eAAK,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC,CAAC;QACjD,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,KAAK,IAAA,2BAAc,EAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IACjE,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,wBAAwB;AACxB,wBAAgB;KACb,OAAO,CAAC,cAAc,CAAC;KACvB,WAAW,CAAC,0BAA0B,CAAC;KACvC,MAAM,CAAC,eAAe,EAAE,UAAU,CAAC;KACnC,MAAM,CAAC,kBAAkB,EAAE,WAAW,CAAC;KACvC,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE;IAC7B,WAAW,EAAE,CAAC;IACd,MAAM,IAAI,GAA4B,EAAE,CAAC;IACzC,IAAI,OAAO,CAAC,IAAI;QAAE,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAC3C,IAAI,OAAO,CAAC,KAAK;QAAE,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAE1D,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnC,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,yDAAyD,CAAC,CAAC,CAAC;QACpF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,OAAO,GAAG,IAAA,aAAG,EAAC,iBAAiB,GAAG,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC;IAEvD,IAAI,CAAC;QACH,MAAM,sBAAS,CAAC,IAAI,CAAC,0BAA0B,EAAE,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;QACnE,OAAO,CAAC,OAAO,CAAC,eAAK,CAAC,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC,CAAC,CAAC;IACtD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CAAC,eAAK,CAAC,GAAG,CAAC,yBAAyB,GAAG,EAAE,CAAC,CAAC,CAAC;QACxD,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,KAAK,IAAA,2BAAc,EAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IACjE,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,eAAe;AACf,wBAAgB;KACb,OAAO,CAAC,cAAc,CAAC;KACvB,WAAW,CAAC,uBAAuB,CAAC;KACpC,cAAc,CAAC,gBAAgB,EAAE,0CAA0C,CAAC;KAC5E,MAAM,CAAC,iBAAiB,EAAE,uBAAuB,CAAC;KAClD,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE;IAC7B,WAAW,EAAE,CAAC;IACd,MAAM,OAAO,GAAG,IAAA,aAAG,EAAC,uBAAuB,GAAG,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC;IAE7D,IAAI,CAAC;QACH,MAAM,IAAI,GAAG;YACX,GAAG;YACH,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC;YACpC,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,EAAE;SAC7B,CAAC;QAEF,MAAM,sBAAS,CAAC,IAAI,CAAC,0BAA0B,EAAE,IAAI,CAAC,CAAC;QACvD,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7D,OAAO,CAAC,OAAO,CAAC,eAAK,CAAC,KAAK,CAAC,mBAAmB,GAAG,KAAK,SAAS,GAAG,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;IAC3F,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CAAC,eAAK,CAAC,GAAG,CAAC,8BAA8B,GAAG,EAAE,CAAC,CAAC,CAAC;QAC7D,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,KAAK,IAAA,2BAAc,EAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IACjE,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,aAAa;AACb,wBAAgB;KACb,OAAO,CAAC,eAAe,CAAC;KACxB,WAAW,CAAC,2BAA2B,CAAC;KACxC,MAAM,CAAC,WAAW,EAAE,kCAAkC,CAAC;KACvD,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE;IAC9B,WAAW,EAAE,CAAC;IAEd,MAAM,EAAE,GAAG,wDAAa,IAAI,GAAC,CAAC;IAC9B,MAAM,IAAI,GAAG,wDAAa,MAAM,GAAC,CAAC;IAElC,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACpC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7B,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,mBAAmB,QAAQ,EAAE,CAAC,CAAC,CAAC;QACxD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,OAAO,GAAG,IAAA,aAAG,EAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,KAAK,EAAE,CAAC;IAEvF,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,CAAC,wDAAa,WAAW,GAAC,CAAC,CAAC,OAAO,CAAC;QACrD,MAAM,IAAI,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC5B,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC;QACnD,IAAI,OAAO,CAAC,MAAM;YAAE,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAEnD,MAAM,QAAQ,GAAG,MAAM,sBAAS,CAAC,IAAI,CAAC,6BAA6B,EAAE,IAAI,CAAC,CAAC;QAC3E,MAAM,IAAI,GAAG,QAAQ,CAAC,IAA2B,CAAC;QAElD,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,OAAO,CAAC,OAAO,CAAC,eAAK,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC;YACjD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAChB,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS;gBAAE,OAAO,CAAC,GAAG,CAAC,KAAK,eAAK,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;YACzF,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS;gBAAE,OAAO,CAAC,GAAG,CAAC,KAAK,eAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,eAAK,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACtG,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS;gBAAE,OAAO,CAAC,GAAG,CAAC,KAAK,eAAK,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,eAAK,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,eAAK,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC3I,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACjB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAChB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC;gBACrC,KAAK,MAAM,GAAG,IAAK,IAAI,CAAC,OAAoC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;oBACzE,OAAO,CAAC,GAAG,CAAC,OAAO,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,MAAM,GAAG,CAAC,IAAI,IAAI,EAAE,SAAS,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,QAAQ,IAAI,GAAG,EAAE,CAAC,CAAC;gBACzG,CAAC;YACH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC;YAClE,OAAO,CAAC,OAAO,CAAC,eAAK,CAAC,KAAK,CAAC,YAAY,QAAQ,UAAU,CAAC,CAAC,CAAC;YAC7D,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACnC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,MAAM,oBAAoB,CAAC,CAAC,CAAC;YAClE,CAAC;QACH,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CAAC,eAAK,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,CAAC;QAChD,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,KAAK,IAAA,2BAAc,EAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IACjE,CAAC;AACH,CAAC,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"open.d.ts","sourceRoot":"","sources":["../../src/commands/open.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAepC,eAAO,MAAM,WAAW,SAsHpB,CAAC"}
1
+ {"version":3,"file":"open.d.ts","sourceRoot":"","sources":["../../src/commands/open.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAepC,eAAO,MAAM,WAAW,SAoJpB,CAAC"}
@@ -71,7 +71,36 @@ exports.openCommand = new commander_1.Command('open')
71
71
  .option('--sites', 'Open sites manager')
72
72
  .option('--settings', 'Open CMS settings')
73
73
  .option('--analytics', 'Open CMS analytics')
74
+ .option('--portal', 'Open developer portal')
75
+ .option('--api-docs', 'Open API documentation')
76
+ .option('--sdk', 'Open SDK documentation')
77
+ .option('--webhooks', 'Open webhooks documentation')
74
78
  .action(async (slug, options) => {
79
+ // Developer docs — no auth needed
80
+ if (options.portal) {
81
+ const url = 'https://developers.solidnumber.com';
82
+ console.log(chalk_1.default.dim(`Opening: ${url}`));
83
+ await openBrowser(url);
84
+ return;
85
+ }
86
+ if (options.apiDocs) {
87
+ const url = 'https://solidnumber.com/docs/api';
88
+ console.log(chalk_1.default.dim(`Opening: ${url}`));
89
+ await openBrowser(url);
90
+ return;
91
+ }
92
+ if (options.sdk) {
93
+ const url = 'https://solidnumber.com/docs/sdks';
94
+ console.log(chalk_1.default.dim(`Opening: ${url}`));
95
+ await openBrowser(url);
96
+ return;
97
+ }
98
+ if (options.webhooks) {
99
+ const url = 'https://solidnumber.com/docs/webhooks';
100
+ console.log(chalk_1.default.dim(`Opening: ${url}`));
101
+ await openBrowser(url);
102
+ return;
103
+ }
75
104
  if (!config_1.config.isLoggedIn()) {
76
105
  console.error(chalk_1.default.red('Not logged in. Run `solid auth login` first.'));
77
106
  process.exit(1);
@@ -1 +1 @@
1
- {"version":3,"file":"open.js","sourceRoot":"","sources":["../../src/commands/open.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"open.js","sourceRoot":"","sources":["../../src/commands/open.ts"],"names":[],"mappings":"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"}
@@ -302,4 +302,105 @@ exports.paymentCommand
302
302
  console.error((0, api_client_1.handleApiError)(error).message);
303
303
  }
304
304
  });
305
+ // ── solid payment analytics ─────────────────────────────────────────
306
+ exports.paymentCommand
307
+ .command('analytics')
308
+ .description('Payment volume, transactions, and interchange savings')
309
+ .option('--period <days>', 'Period in days', '30')
310
+ .option('--json', 'JSON output')
311
+ .action(async (options) => {
312
+ requireAuth();
313
+ const ora = (await Promise.resolve().then(() => __importStar(require('ora')))).default;
314
+ const spinner = ora('Loading payment analytics...').start();
315
+ try {
316
+ const response = await api_client_1.apiClient.get('/api/v1/dashboard/summary', {
317
+ params: { period: options.period },
318
+ });
319
+ const d = response.data;
320
+ if (options.json) {
321
+ spinner.stop();
322
+ console.log(JSON.stringify(d, null, 2));
323
+ return;
324
+ }
325
+ spinner.stop();
326
+ const revenue = d.revenue || 0;
327
+ const transactions = d.transactions || 0;
328
+ const avgTicket = transactions > 0 ? revenue / transactions : 0;
329
+ const b2bEstimate = Math.round(transactions * 0.3);
330
+ const l3Savings = revenue * 0.3 * 0.008;
331
+ console.log('');
332
+ console.log(chalk_1.default.bold(` Payment Volume (${options.period} days)`));
333
+ console.log(chalk_1.default.hex(BRAND.dim)(' ─────────────────────────────────────'));
334
+ console.log(` Total processed ${chalk_1.default.hex(BRAND.success)('$' + revenue.toLocaleString())}`);
335
+ console.log(` Transactions ${transactions}`);
336
+ console.log(` Avg ticket ${chalk_1.default.hex(BRAND.success)('$' + avgTicket.toFixed(2))}`);
337
+ if (l3Savings > 0) {
338
+ console.log(` L3 savings ${chalk_1.default.hex(BRAND.success)('$' + l3Savings.toFixed(2))} ${chalk_1.default.dim(`(0.80% on ~${b2bEstimate} B2B txns)`)}`);
339
+ }
340
+ console.log(` Chargebacks ${(d.chargebacks || 0) === 0 ? chalk_1.default.hex(BRAND.success)('0') : chalk_1.default.red(String(d.chargebacks))}`);
341
+ console.log('');
342
+ }
343
+ catch (error) {
344
+ spinner.fail(chalk_1.default.red('Failed'));
345
+ console.error((0, api_client_1.handleApiError)(error).message);
346
+ }
347
+ });
348
+ // ── solid payment connect ───────────────────────────────────────────
349
+ exports.paymentCommand
350
+ .command('connect <processor>')
351
+ .description('Connect a payment processor (stripe, square)')
352
+ .option('--account <id>', 'Stripe Connect account ID')
353
+ .action(async (processor, options) => {
354
+ requireAuth();
355
+ const ora = (await Promise.resolve().then(() => __importStar(require('ora')))).default;
356
+ const spinner = ora(`Connecting ${processor}...`).start();
357
+ try {
358
+ await api_client_1.apiClient.post('/api/v1/billing/connect-processor', {
359
+ processor,
360
+ ...(options.account ? { account_id: options.account } : {}),
361
+ });
362
+ spinner.succeed(chalk_1.default.green(`${processor} connected`));
363
+ if (options.account) {
364
+ console.log(chalk_1.default.dim(` Account: ${options.account} — L3 enabled.`));
365
+ }
366
+ console.log('');
367
+ }
368
+ catch (error) {
369
+ spinner.fail(chalk_1.default.red(`Failed to connect ${processor}`));
370
+ console.error((0, api_client_1.handleApiError)(error).message);
371
+ }
372
+ });
373
+ // ── solid payment terminal ──────────────────────────────────────────
374
+ exports.paymentCommand
375
+ .command('terminal')
376
+ .description('Start a point-of-sale terminal charge')
377
+ .requiredOption('--amount <amount>', 'Charge amount in dollars')
378
+ .option('--reader <name>', 'Terminal reader name', 'Default Reader')
379
+ .action(async (options) => {
380
+ requireAuth();
381
+ const ora = (await Promise.resolve().then(() => __importStar(require('ora')))).default;
382
+ const amount = parseFloat(options.amount);
383
+ console.log('');
384
+ console.log(chalk_1.default.bold(' POS Terminal'));
385
+ console.log(chalk_1.default.hex(BRAND.dim)(' ─────────────────────────────────────'));
386
+ console.log(` Amount: ${chalk_1.default.hex(BRAND.success)('$' + amount.toFixed(2))}`);
387
+ console.log(` Reader: ${options.reader}`);
388
+ console.log('');
389
+ const spinner = ora(`Waiting for tap/swipe on "${options.reader}"...`).start();
390
+ try {
391
+ const response = await api_client_1.apiClient.post('/api/v1/payments/terminal/charge', {
392
+ amount: Math.round(amount * 100),
393
+ reader_name: options.reader,
394
+ });
395
+ const data = response.data;
396
+ spinner.succeed(chalk_1.default.hex(BRAND.success)(`Payment approved: $${amount.toFixed(2)}`));
397
+ if (data.card_brand)
398
+ console.log(chalk_1.default.dim(` ${data.card_brand} ••••${data.last4 || '****'}`));
399
+ console.log('');
400
+ }
401
+ catch (error) {
402
+ spinner.fail(chalk_1.default.red('Payment failed'));
403
+ console.error((0, api_client_1.handleApiError)(error).message);
404
+ }
405
+ });
305
406
  //# sourceMappingURL=payment.js.map