snow-flow 8.30.11 → 8.30.13
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/dist/cli/partners.d.ts +47 -0
- package/dist/cli/partners.d.ts.map +1 -0
- package/dist/cli/partners.js +283 -0
- package/dist/cli/partners.js.map +1 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +6 -0
- package/dist/cli.js.map +1 -1
- package/dist/partners/license-parser.d.ts +52 -0
- package/dist/partners/license-parser.d.ts.map +1 -0
- package/dist/partners/license-parser.js +240 -0
- package/dist/partners/license-parser.js.map +1 -0
- package/dist/partners/types.d.ts +253 -0
- package/dist/partners/types.d.ts.map +1 -0
- package/dist/partners/types.js +111 -0
- package/dist/partners/types.js.map +1 -0
- package/dist/portal/partner-backend.d.ts +106 -0
- package/dist/portal/partner-backend.d.ts.map +1 -0
- package/dist/portal/partner-backend.js +254 -0
- package/dist/portal/partner-backend.js.map +1 -0
- package/package.json +3 -3
- package/scripts/postinstall.js +20 -20
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Partner CLI Commands for Snow-Flow
|
|
3
|
+
*
|
|
4
|
+
* Handles partner authentication, license validation, and partner-specific operations
|
|
5
|
+
*
|
|
6
|
+
* Two partner tracks:
|
|
7
|
+
* - RESELLER: Wholesale pricing, buy seats and resell
|
|
8
|
+
* - SOLUTION: Referral model, earn commission on referrals
|
|
9
|
+
*/
|
|
10
|
+
import { type ParsedPartnerLicense } from '../partners/license-parser.js';
|
|
11
|
+
interface PartnerAuthData {
|
|
12
|
+
licenseKey: string;
|
|
13
|
+
parsedLicense: ParsedPartnerLicense;
|
|
14
|
+
authenticatedAt: string;
|
|
15
|
+
partnerId: string;
|
|
16
|
+
partnerName: string;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Partner login command
|
|
20
|
+
* Validates partner license key and stores authentication
|
|
21
|
+
*/
|
|
22
|
+
export declare function partnerLogin(): Promise<void>;
|
|
23
|
+
/**
|
|
24
|
+
* Partner logout command
|
|
25
|
+
* Removes partner authentication
|
|
26
|
+
*/
|
|
27
|
+
export declare function partnerLogout(): Promise<void>;
|
|
28
|
+
/**
|
|
29
|
+
* Partner status command
|
|
30
|
+
* Shows current partner authentication status
|
|
31
|
+
*/
|
|
32
|
+
export declare function partnerStatus(): Promise<void>;
|
|
33
|
+
/**
|
|
34
|
+
* Get current partner authentication data
|
|
35
|
+
* Used by other commands to access partner context
|
|
36
|
+
*/
|
|
37
|
+
export declare function getPartnerAuth(): PartnerAuthData | null;
|
|
38
|
+
/**
|
|
39
|
+
* Check if user is authenticated as a partner
|
|
40
|
+
*/
|
|
41
|
+
export declare function isPartnerAuthenticated(): boolean;
|
|
42
|
+
/**
|
|
43
|
+
* Register partner commands with Commander
|
|
44
|
+
*/
|
|
45
|
+
export declare function registerPartnerCommands(program: any): void;
|
|
46
|
+
export {};
|
|
47
|
+
//# sourceMappingURL=partners.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"partners.d.ts","sourceRoot":"","sources":["../../src/cli/partners.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAOH,OAAO,EAA4E,KAAK,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAKpJ,UAAU,eAAe;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,oBAAoB,CAAC;IACpC,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;GAGG;AACH,wBAAsB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CA8GlD;AAED;;;GAGG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAiCnD;AAED;;;GAGG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CA0EnD;AAED;;;GAGG;AACH,wBAAgB,cAAc,IAAI,eAAe,GAAG,IAAI,CASvD;AAED;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,OAAO,CAEhD;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,GAAG,GAAG,IAAI,CA4B1D"}
|
|
@@ -0,0 +1,283 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Partner CLI Commands for Snow-Flow
|
|
4
|
+
*
|
|
5
|
+
* Handles partner authentication, license validation, and partner-specific operations
|
|
6
|
+
*
|
|
7
|
+
* Two partner tracks:
|
|
8
|
+
* - RESELLER: Wholesale pricing, buy seats and resell
|
|
9
|
+
* - SOLUTION: Referral model, earn commission on referrals
|
|
10
|
+
*/
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.partnerLogin = partnerLogin;
|
|
16
|
+
exports.partnerLogout = partnerLogout;
|
|
17
|
+
exports.partnerStatus = partnerStatus;
|
|
18
|
+
exports.getPartnerAuth = getPartnerAuth;
|
|
19
|
+
exports.isPartnerAuthenticated = isPartnerAuthenticated;
|
|
20
|
+
exports.registerPartnerCommands = registerPartnerCommands;
|
|
21
|
+
const prompts_1 = require("@clack/prompts");
|
|
22
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
23
|
+
const fs_1 = __importDefault(require("fs"));
|
|
24
|
+
const path_1 = __importDefault(require("path"));
|
|
25
|
+
const os_1 = __importDefault(require("os"));
|
|
26
|
+
const license_parser_js_1 = require("../partners/license-parser.js");
|
|
27
|
+
const types_js_1 = require("../partners/types.js");
|
|
28
|
+
const AUTH_FILE = path_1.default.join(os_1.default.homedir(), '.snow-flow', 'partner-auth.json');
|
|
29
|
+
/**
|
|
30
|
+
* Partner login command
|
|
31
|
+
* Validates partner license key and stores authentication
|
|
32
|
+
*/
|
|
33
|
+
async function partnerLogin() {
|
|
34
|
+
(0, prompts_1.intro)(chalk_1.default.cyan('Snow-Flow Partner Login'));
|
|
35
|
+
const s = (0, prompts_1.spinner)();
|
|
36
|
+
try {
|
|
37
|
+
// Prompt for license key
|
|
38
|
+
const licenseKey = await (0, prompts_1.text)({
|
|
39
|
+
message: 'Enter your partner license key',
|
|
40
|
+
placeholder: 'SNOW-RESELLER-ACME-100-20261231-ABC123 or SNOW-SOLUTION-ACME-20261231-ABC123',
|
|
41
|
+
validate: (value) => {
|
|
42
|
+
if (!value || value.length === 0) {
|
|
43
|
+
return 'License key is required';
|
|
44
|
+
}
|
|
45
|
+
if (!value.startsWith('SNOW-RESELLER-') && !value.startsWith('SNOW-SOLUTION-')) {
|
|
46
|
+
return 'Invalid partner license key format (must start with SNOW-RESELLER- or SNOW-SOLUTION-)';
|
|
47
|
+
}
|
|
48
|
+
return undefined;
|
|
49
|
+
}
|
|
50
|
+
});
|
|
51
|
+
if ((0, prompts_1.isCancel)(licenseKey)) {
|
|
52
|
+
(0, prompts_1.cancel)('Partner login cancelled');
|
|
53
|
+
process.exit(0);
|
|
54
|
+
}
|
|
55
|
+
// Parse and validate license
|
|
56
|
+
s.start('Validating partner license');
|
|
57
|
+
let parsedLicense;
|
|
58
|
+
try {
|
|
59
|
+
parsedLicense = (0, license_parser_js_1.parsePartnerLicenseKey)(licenseKey);
|
|
60
|
+
}
|
|
61
|
+
catch (error) {
|
|
62
|
+
s.stop('License validation failed');
|
|
63
|
+
prompts_1.log.error(`Invalid license key: ${error instanceof Error ? error.message : 'Unknown error'}`);
|
|
64
|
+
process.exit(1);
|
|
65
|
+
}
|
|
66
|
+
// Validate license
|
|
67
|
+
const validation = (0, license_parser_js_1.validatePartnerLicense)(parsedLicense);
|
|
68
|
+
if (!validation.isValid) {
|
|
69
|
+
s.stop('License validation failed');
|
|
70
|
+
prompts_1.log.error('License validation errors:');
|
|
71
|
+
validation.errors.forEach(err => prompts_1.log.error(` - ${err}`));
|
|
72
|
+
process.exit(1);
|
|
73
|
+
}
|
|
74
|
+
s.stop('License validated successfully');
|
|
75
|
+
// Show license info
|
|
76
|
+
prompts_1.log.info('\n' + chalk_1.default.cyan('Partner License Information:'));
|
|
77
|
+
const info = (0, license_parser_js_1.formatPartnerLicenseInfo)(parsedLicense);
|
|
78
|
+
info.split('\n').forEach(line => prompts_1.log.info(` ${line}`));
|
|
79
|
+
// Confirm login
|
|
80
|
+
const shouldLogin = await (0, prompts_1.confirm)({
|
|
81
|
+
message: 'Authenticate with this partner license?',
|
|
82
|
+
initialValue: true
|
|
83
|
+
});
|
|
84
|
+
if ((0, prompts_1.isCancel)(shouldLogin) || !shouldLogin) {
|
|
85
|
+
(0, prompts_1.cancel)('Partner login cancelled');
|
|
86
|
+
process.exit(0);
|
|
87
|
+
}
|
|
88
|
+
// Generate partner ID from organization name
|
|
89
|
+
const partnerId = `${parsedLicense.partnerType}_${parsedLicense.organization.toLowerCase().replace(/[^a-z0-9]/g, '_')}`;
|
|
90
|
+
// Store authentication
|
|
91
|
+
const authData = {
|
|
92
|
+
licenseKey: licenseKey,
|
|
93
|
+
parsedLicense,
|
|
94
|
+
authenticatedAt: new Date().toISOString(),
|
|
95
|
+
partnerId,
|
|
96
|
+
partnerName: parsedLicense.organization
|
|
97
|
+
};
|
|
98
|
+
// Ensure directory exists
|
|
99
|
+
const authDir = path_1.default.dirname(AUTH_FILE);
|
|
100
|
+
if (!fs_1.default.existsSync(authDir)) {
|
|
101
|
+
fs_1.default.mkdirSync(authDir, { recursive: true });
|
|
102
|
+
}
|
|
103
|
+
// Write auth file
|
|
104
|
+
fs_1.default.writeFileSync(AUTH_FILE, JSON.stringify(authData, null, 2));
|
|
105
|
+
prompts_1.log.success(`\nAuthenticated as partner: ${chalk_1.default.cyan(parsedLicense.organization)}`);
|
|
106
|
+
prompts_1.log.info(`Partner type: ${chalk_1.default.cyan(parsedLicense.partnerType.toUpperCase())}`);
|
|
107
|
+
// Type-specific info
|
|
108
|
+
if (parsedLicense.partnerType === types_js_1.PartnerType.RESELLER) {
|
|
109
|
+
prompts_1.log.info(`Purchased seats: ${chalk_1.default.cyan(parsedLicense.purchasedSeats?.toString() || '0')}`);
|
|
110
|
+
// Calculate wholesale cost with volume discount
|
|
111
|
+
const seats = parsedLicense.purchasedSeats || 0;
|
|
112
|
+
let pricePerSeat = 69;
|
|
113
|
+
if (seats >= 500)
|
|
114
|
+
pricePerSeat = 49;
|
|
115
|
+
else if (seats >= 100)
|
|
116
|
+
pricePerSeat = 59;
|
|
117
|
+
prompts_1.log.info(`Wholesale cost: ${chalk_1.default.cyan('$' + (pricePerSeat * seats) + '/year')}`);
|
|
118
|
+
}
|
|
119
|
+
else if (parsedLicense.partnerType === types_js_1.PartnerType.SOLUTION) {
|
|
120
|
+
prompts_1.log.info(`Referral code: ${chalk_1.default.cyan(parsedLicense.referralCode || 'N/A')}`);
|
|
121
|
+
prompts_1.log.info(`Commission: ${chalk_1.default.cyan('15% Year 1, 10% Year 2+')}`);
|
|
122
|
+
}
|
|
123
|
+
(0, prompts_1.outro)(chalk_1.default.green('Partner authentication successful!'));
|
|
124
|
+
}
|
|
125
|
+
catch (error) {
|
|
126
|
+
prompts_1.log.error(`Login error: ${error instanceof Error ? error.message : 'Unknown error'}`);
|
|
127
|
+
process.exit(1);
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Partner logout command
|
|
132
|
+
* Removes partner authentication
|
|
133
|
+
*/
|
|
134
|
+
async function partnerLogout() {
|
|
135
|
+
(0, prompts_1.intro)(chalk_1.default.cyan('Snow-Flow Partner Logout'));
|
|
136
|
+
try {
|
|
137
|
+
if (!fs_1.default.existsSync(AUTH_FILE)) {
|
|
138
|
+
prompts_1.log.warning('Not authenticated as a partner');
|
|
139
|
+
(0, prompts_1.outro)(chalk_1.default.yellow('No partner session to logout'));
|
|
140
|
+
return;
|
|
141
|
+
}
|
|
142
|
+
// Read current auth
|
|
143
|
+
const authData = JSON.parse(fs_1.default.readFileSync(AUTH_FILE, 'utf-8'));
|
|
144
|
+
// Confirm logout
|
|
145
|
+
const shouldLogout = await (0, prompts_1.confirm)({
|
|
146
|
+
message: `Logout from partner account: ${authData.partnerName}?`,
|
|
147
|
+
initialValue: true
|
|
148
|
+
});
|
|
149
|
+
if ((0, prompts_1.isCancel)(shouldLogout) || !shouldLogout) {
|
|
150
|
+
(0, prompts_1.cancel)('Logout cancelled');
|
|
151
|
+
return;
|
|
152
|
+
}
|
|
153
|
+
// Remove auth file
|
|
154
|
+
fs_1.default.unlinkSync(AUTH_FILE);
|
|
155
|
+
prompts_1.log.success(`Logged out from partner: ${chalk_1.default.cyan(authData.partnerName)}`);
|
|
156
|
+
(0, prompts_1.outro)(chalk_1.default.green('Partner logout successful'));
|
|
157
|
+
}
|
|
158
|
+
catch (error) {
|
|
159
|
+
prompts_1.log.error(`Logout error: ${error instanceof Error ? error.message : 'Unknown error'}`);
|
|
160
|
+
process.exit(1);
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
/**
|
|
164
|
+
* Partner status command
|
|
165
|
+
* Shows current partner authentication status
|
|
166
|
+
*/
|
|
167
|
+
async function partnerStatus() {
|
|
168
|
+
(0, prompts_1.intro)(chalk_1.default.cyan('Snow-Flow Partner Status'));
|
|
169
|
+
try {
|
|
170
|
+
if (!fs_1.default.existsSync(AUTH_FILE)) {
|
|
171
|
+
prompts_1.log.warning('Not authenticated as a partner');
|
|
172
|
+
prompts_1.log.info('\nTo authenticate:');
|
|
173
|
+
prompts_1.log.info(` ${chalk_1.default.cyan('snow-flow partner login')}`);
|
|
174
|
+
(0, prompts_1.outro)(chalk_1.default.yellow('No active partner session'));
|
|
175
|
+
return;
|
|
176
|
+
}
|
|
177
|
+
// Read auth data
|
|
178
|
+
const authData = JSON.parse(fs_1.default.readFileSync(AUTH_FILE, 'utf-8'));
|
|
179
|
+
// Re-validate license (check expiry)
|
|
180
|
+
const validation = (0, license_parser_js_1.validatePartnerLicense)(authData.parsedLicense);
|
|
181
|
+
prompts_1.log.info('\n' + chalk_1.default.cyan('Partner Authentication Status:'));
|
|
182
|
+
prompts_1.log.info(` Partner: ${chalk_1.default.green(authData.partnerName)}`);
|
|
183
|
+
prompts_1.log.info(` Partner ID: ${chalk_1.default.gray(authData.partnerId)}`);
|
|
184
|
+
prompts_1.log.info(` Type: ${chalk_1.default.cyan(authData.parsedLicense.partnerType.toUpperCase())}`);
|
|
185
|
+
prompts_1.log.info(` Authenticated: ${chalk_1.default.gray(new Date(authData.authenticatedAt).toLocaleString())}`);
|
|
186
|
+
// Type-specific info
|
|
187
|
+
if (authData.parsedLicense.partnerType === types_js_1.PartnerType.RESELLER) {
|
|
188
|
+
prompts_1.log.info(` Purchased Seats: ${chalk_1.default.cyan(authData.parsedLicense.purchasedSeats?.toString() || '0')}`);
|
|
189
|
+
// Calculate wholesale cost with volume discount
|
|
190
|
+
const seats = authData.parsedLicense.purchasedSeats || 0;
|
|
191
|
+
let pricePerSeat = 69;
|
|
192
|
+
if (seats >= 500)
|
|
193
|
+
pricePerSeat = 49;
|
|
194
|
+
else if (seats >= 100)
|
|
195
|
+
pricePerSeat = 59;
|
|
196
|
+
prompts_1.log.info(` Wholesale Price: ${chalk_1.default.cyan('$' + pricePerSeat + '/seat')}`);
|
|
197
|
+
prompts_1.log.info(` Total Cost: ${chalk_1.default.cyan('$' + (pricePerSeat * seats) + '/year')}`);
|
|
198
|
+
prompts_1.log.info(` Suggested Retail: ${chalk_1.default.cyan('$99/seat')}`);
|
|
199
|
+
const margin = 99 - pricePerSeat;
|
|
200
|
+
const marginPercent = Math.round((margin / 99) * 100);
|
|
201
|
+
prompts_1.log.info(` Potential Margin: ${chalk_1.default.green('$' + (margin * seats) + '/year (' + marginPercent + '%)')}`);
|
|
202
|
+
}
|
|
203
|
+
else if (authData.parsedLicense.partnerType === types_js_1.PartnerType.SOLUTION) {
|
|
204
|
+
prompts_1.log.info(` Referral Code: ${chalk_1.default.cyan(authData.parsedLicense.referralCode || 'N/A')}`);
|
|
205
|
+
prompts_1.log.info(` Commission Rates:`);
|
|
206
|
+
prompts_1.log.info(` Year 1: ${chalk_1.default.green('15%')}`);
|
|
207
|
+
prompts_1.log.info(` Year 2+: ${chalk_1.default.green('10%')}`);
|
|
208
|
+
}
|
|
209
|
+
// Expiry status
|
|
210
|
+
const daysUntilExpiry = Math.floor((authData.parsedLicense.expiresAt.getTime() - Date.now()) / (1000 * 60 * 60 * 24));
|
|
211
|
+
if (daysUntilExpiry < 0) {
|
|
212
|
+
prompts_1.log.error(` Status: ${chalk_1.default.red('EXPIRED')} (${Math.abs(daysUntilExpiry)} days ago)`);
|
|
213
|
+
}
|
|
214
|
+
else if (daysUntilExpiry < 30) {
|
|
215
|
+
prompts_1.log.warning(` Status: ${chalk_1.default.yellow('ACTIVE')} (expires in ${daysUntilExpiry} days)`);
|
|
216
|
+
}
|
|
217
|
+
else {
|
|
218
|
+
prompts_1.log.success(` Status: ${chalk_1.default.green('ACTIVE')} (${daysUntilExpiry} days remaining)`);
|
|
219
|
+
}
|
|
220
|
+
prompts_1.log.info(` Expires: ${chalk_1.default.gray(authData.parsedLicense.expiresAt.toLocaleDateString())}`);
|
|
221
|
+
// Validation errors
|
|
222
|
+
if (!validation.isValid) {
|
|
223
|
+
prompts_1.log.warning('\n' + chalk_1.default.yellow('License Validation Issues:'));
|
|
224
|
+
validation.errors.forEach(err => prompts_1.log.warning(` - ${err}`));
|
|
225
|
+
}
|
|
226
|
+
(0, prompts_1.outro)(validation.isValid ? chalk_1.default.green('Partner license is valid') : chalk_1.default.yellow('Please renew your partner license'));
|
|
227
|
+
}
|
|
228
|
+
catch (error) {
|
|
229
|
+
prompts_1.log.error(`Status error: ${error instanceof Error ? error.message : 'Unknown error'}`);
|
|
230
|
+
process.exit(1);
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
/**
|
|
234
|
+
* Get current partner authentication data
|
|
235
|
+
* Used by other commands to access partner context
|
|
236
|
+
*/
|
|
237
|
+
function getPartnerAuth() {
|
|
238
|
+
try {
|
|
239
|
+
if (!fs_1.default.existsSync(AUTH_FILE)) {
|
|
240
|
+
return null;
|
|
241
|
+
}
|
|
242
|
+
return JSON.parse(fs_1.default.readFileSync(AUTH_FILE, 'utf-8'));
|
|
243
|
+
}
|
|
244
|
+
catch (error) {
|
|
245
|
+
return null;
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
/**
|
|
249
|
+
* Check if user is authenticated as a partner
|
|
250
|
+
*/
|
|
251
|
+
function isPartnerAuthenticated() {
|
|
252
|
+
return getPartnerAuth() !== null;
|
|
253
|
+
}
|
|
254
|
+
/**
|
|
255
|
+
* Register partner commands with Commander
|
|
256
|
+
*/
|
|
257
|
+
function registerPartnerCommands(program) {
|
|
258
|
+
const partnerCommand = program
|
|
259
|
+
.command('partner')
|
|
260
|
+
.description('Snow-Flow Partner Program commands');
|
|
261
|
+
// Partner login
|
|
262
|
+
partnerCommand
|
|
263
|
+
.command('login')
|
|
264
|
+
.description('Authenticate with a Snow-Flow Partner license key (RESELLER or SOLUTION)')
|
|
265
|
+
.action(async () => {
|
|
266
|
+
await partnerLogin();
|
|
267
|
+
});
|
|
268
|
+
// Partner status
|
|
269
|
+
partnerCommand
|
|
270
|
+
.command('status')
|
|
271
|
+
.description('Show current partner authentication status')
|
|
272
|
+
.action(async () => {
|
|
273
|
+
await partnerStatus();
|
|
274
|
+
});
|
|
275
|
+
// Partner logout
|
|
276
|
+
partnerCommand
|
|
277
|
+
.command('logout')
|
|
278
|
+
.description('Logout from partner account')
|
|
279
|
+
.action(async () => {
|
|
280
|
+
await partnerLogout();
|
|
281
|
+
});
|
|
282
|
+
}
|
|
283
|
+
//# sourceMappingURL=partners.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"partners.js","sourceRoot":"","sources":["../../src/cli/partners.ts"],"names":[],"mappings":"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"}
|
package/dist/cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA;;GAEG;
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA;;GAEG;AAqkHH,wBAAsB,cAAc,CAClC,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,EACpB,KAAK,GAAE,OAAe,GACrB,OAAO,CAAC,IAAI,CAAC,CAgTf"}
|
package/dist/cli.js
CHANGED
|
@@ -70,6 +70,7 @@ if (currentCommand && commandsNeedingMCP.includes(currentCommand) && !commandsNo
|
|
|
70
70
|
const auth_js_1 = require("./cli/auth.js");
|
|
71
71
|
const session_js_1 = require("./cli/session.js");
|
|
72
72
|
const enterprise_js_1 = require("./cli/enterprise.js");
|
|
73
|
+
const partners_js_1 = require("./cli/partners.js");
|
|
73
74
|
// Load environment variables
|
|
74
75
|
dotenv_1.default.config();
|
|
75
76
|
// Create CLI logger instance
|
|
@@ -120,6 +121,8 @@ program
|
|
|
120
121
|
(0, session_js_1.registerSessionCommands)(program);
|
|
121
122
|
// Register enterprise commands (login, status, portal, logout)
|
|
122
123
|
(0, enterprise_js_1.registerEnterpriseCommands)(program);
|
|
124
|
+
// Register partner commands (partner login, status, logout)
|
|
125
|
+
(0, partners_js_1.registerPartnerCommands)(program);
|
|
123
126
|
// Flow deprecation handler - check for flow-related commands
|
|
124
127
|
function checkFlowDeprecation(command, objective) {
|
|
125
128
|
const flowKeywords = ['flow', 'create-flow', 'xml-flow', 'flow-designer'];
|
|
@@ -1954,6 +1957,7 @@ program
|
|
|
1954
1957
|
monitor Real-time monitoring dashboard
|
|
1955
1958
|
memory <action> Memory operations
|
|
1956
1959
|
auth <action> Authentication management
|
|
1960
|
+
partner <action> Partner Program commands (login, status, logout)
|
|
1957
1961
|
mcp <action> Manage ServiceNow MCP servers
|
|
1958
1962
|
help Show this help
|
|
1959
1963
|
|
|
@@ -1961,6 +1965,8 @@ program
|
|
|
1961
1965
|
snow-flow init # Initialize project (auto-configures SnowCode)
|
|
1962
1966
|
snow-flow auth login # Authenticate (handles LLM + ServiceNow)
|
|
1963
1967
|
snow-flow auth status # Check authentication status
|
|
1968
|
+
snow-flow partner login # Authenticate as Snow-Flow Partner
|
|
1969
|
+
snow-flow partner status # Check partner license status
|
|
1964
1970
|
snow-flow swarm "create a widget for incident management"
|
|
1965
1971
|
snow-flow swarm "create business rule for auto-assignment"
|
|
1966
1972
|
snow-flow swarm "generate 5000 incidents" --auto-confirm # 📝 Auto-confirm background scripts
|