@explorer02/cfm-survey-sdk 0.0.2 → 0.0.4
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/const.d.ts +17 -3
- package/dist/cli/const.d.ts.map +1 -1
- package/dist/cli/const.js +21 -3
- package/dist/cli/const.js.map +1 -1
- package/dist/cli/index.js +52 -10
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/init.d.ts +2 -0
- package/dist/cli/init.d.ts.map +1 -0
- package/dist/cli/init.js +182 -0
- package/dist/cli/init.js.map +1 -0
- package/dist/cli/questionnaire/engine.d.ts +22 -0
- package/dist/cli/questionnaire/engine.d.ts.map +1 -0
- package/dist/cli/questionnaire/engine.js +218 -0
- package/dist/cli/questionnaire/engine.js.map +1 -0
- package/dist/cli/questionnaire/questionnaire-cli.d.ts +2 -0
- package/dist/cli/questionnaire/questionnaire-cli.d.ts.map +1 -0
- package/dist/cli/questionnaire/questionnaire-cli.js +3 -0
- package/dist/cli/questionnaire/questionnaire-cli.js.map +1 -0
- package/dist/cli/questionnaire/questions.d.ts +3 -0
- package/dist/cli/questionnaire/questions.d.ts.map +1 -0
- package/dist/cli/questionnaire/questions.js +327 -0
- package/dist/cli/questionnaire/questions.js.map +1 -0
- package/dist/cli/questionnaire/runner.d.ts +3 -0
- package/dist/cli/questionnaire/runner.d.ts.map +1 -0
- package/dist/cli/questionnaire/runner.js +102 -0
- package/dist/cli/questionnaire/runner.js.map +1 -0
- package/dist/cli/questionnaire/types.d.ts +94 -0
- package/dist/cli/questionnaire/types.d.ts.map +1 -0
- package/dist/cli/questionnaire/types.js +7 -0
- package/dist/cli/questionnaire/types.js.map +1 -0
- package/package.json +1 -1
- package/postinstall.js +57 -17
- package/templates/AGENT.md +92 -28
package/dist/cli/const.d.ts
CHANGED
|
@@ -1,10 +1,24 @@
|
|
|
1
1
|
export declare const colors: {
|
|
2
2
|
reset: string;
|
|
3
3
|
bold: string;
|
|
4
|
-
|
|
4
|
+
dim: string;
|
|
5
|
+
italic: string;
|
|
6
|
+
underline: string;
|
|
7
|
+
black: string;
|
|
5
8
|
red: string;
|
|
6
|
-
|
|
9
|
+
green: string;
|
|
7
10
|
yellow: string;
|
|
8
|
-
|
|
11
|
+
blue: string;
|
|
12
|
+
magenta: string;
|
|
13
|
+
cyan: string;
|
|
14
|
+
white: string;
|
|
15
|
+
bgBlack: string;
|
|
16
|
+
bgRed: string;
|
|
17
|
+
bgGreen: string;
|
|
18
|
+
bgYellow: string;
|
|
19
|
+
bgBlue: string;
|
|
20
|
+
bgMagenta: string;
|
|
21
|
+
bgCyan: string;
|
|
22
|
+
bgWhite: string;
|
|
9
23
|
};
|
|
10
24
|
//# sourceMappingURL=const.d.ts.map
|
package/dist/cli/const.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"const.d.ts","sourceRoot":"","sources":["../../src/cli/const.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,MAAM
|
|
1
|
+
{"version":3,"file":"const.d.ts","sourceRoot":"","sources":["../../src/cli/const.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;CA0BlB,CAAC"}
|
package/dist/cli/const.js
CHANGED
|
@@ -2,12 +2,30 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.colors = void 0;
|
|
4
4
|
exports.colors = {
|
|
5
|
+
// Reset
|
|
5
6
|
reset: '\x1b[0m',
|
|
7
|
+
// Styles
|
|
6
8
|
bold: '\x1b[1m',
|
|
7
|
-
|
|
9
|
+
dim: '\x1b[2m',
|
|
10
|
+
italic: '\x1b[3m',
|
|
11
|
+
underline: '\x1b[4m',
|
|
12
|
+
// Foreground colors
|
|
13
|
+
black: '\x1b[30m',
|
|
8
14
|
red: '\x1b[31m',
|
|
9
|
-
|
|
15
|
+
green: '\x1b[32m',
|
|
10
16
|
yellow: '\x1b[33m',
|
|
11
|
-
|
|
17
|
+
blue: '\x1b[34m',
|
|
18
|
+
magenta: '\x1b[35m',
|
|
19
|
+
cyan: '\x1b[36m',
|
|
20
|
+
white: '\x1b[37m',
|
|
21
|
+
// Background colors
|
|
22
|
+
bgBlack: '\x1b[40m',
|
|
23
|
+
bgRed: '\x1b[41m',
|
|
24
|
+
bgGreen: '\x1b[42m',
|
|
25
|
+
bgYellow: '\x1b[43m',
|
|
26
|
+
bgBlue: '\x1b[44m',
|
|
27
|
+
bgMagenta: '\x1b[45m',
|
|
28
|
+
bgCyan: '\x1b[46m',
|
|
29
|
+
bgWhite: '\x1b[47m',
|
|
12
30
|
};
|
|
13
31
|
//# sourceMappingURL=const.js.map
|
package/dist/cli/const.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"const.js","sourceRoot":"","sources":["../../src/cli/const.ts"],"names":[],"mappings":";;;AAAa,QAAA,MAAM,GAAG;IACpB,KAAK,EAAE,SAAS;IAChB,IAAI,EAAE,SAAS;IACf,KAAK,EAAE,UAAU;IACjB,GAAG,EAAE,UAAU;IACf,IAAI,EAAE,UAAU;IAChB,MAAM,EAAE,UAAU;IAClB,
|
|
1
|
+
{"version":3,"file":"const.js","sourceRoot":"","sources":["../../src/cli/const.ts"],"names":[],"mappings":";;;AAAa,QAAA,MAAM,GAAG;IACpB,QAAQ;IACR,KAAK,EAAE,SAAS;IAChB,SAAS;IACT,IAAI,EAAE,SAAS;IACf,GAAG,EAAE,SAAS;IACd,MAAM,EAAE,SAAS;IACjB,SAAS,EAAE,SAAS;IACpB,oBAAoB;IACpB,KAAK,EAAE,UAAU;IACjB,GAAG,EAAE,UAAU;IACf,KAAK,EAAE,UAAU;IACjB,MAAM,EAAE,UAAU;IAClB,IAAI,EAAE,UAAU;IAChB,OAAO,EAAE,UAAU;IACnB,IAAI,EAAE,UAAU;IAChB,KAAK,EAAE,UAAU;IACjB,oBAAoB;IACpB,OAAO,EAAE,UAAU;IACnB,KAAK,EAAE,UAAU;IACjB,OAAO,EAAE,UAAU;IACnB,QAAQ,EAAE,UAAU;IACpB,MAAM,EAAE,UAAU;IAClB,SAAS,EAAE,UAAU;IACrB,MAAM,EAAE,UAAU;IAClB,OAAO,EAAE,UAAU;CACpB,CAAC"}
|
package/dist/cli/index.js
CHANGED
|
@@ -2,28 +2,70 @@
|
|
|
2
2
|
"use strict";
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
4
|
const deploy_1 = require("./deploy");
|
|
5
|
+
const init_1 = require("./init");
|
|
5
6
|
const const_1 = require("./const");
|
|
7
|
+
const engine_1 = require("./questionnaire/engine");
|
|
8
|
+
const questions_1 = require("./questionnaire/questions");
|
|
9
|
+
const c = const_1.colors;
|
|
6
10
|
const args = process.argv.slice(2);
|
|
7
11
|
const command = args[0];
|
|
8
|
-
// When a user types a command like npx cfm-sdk deploy,
|
|
9
|
-
// Node receives the arguments as an array inside process.argv:
|
|
10
|
-
// ['/usr/bin/node', 'dist/cli/index.js', 'deploy']
|
|
11
|
-
// .slice(2) chops off the first two system paths, leaving only the user's custom commands: ['deploy'].
|
|
12
|
-
// args[0] picks the first command, which in this case is "deploy".
|
|
13
12
|
async function main() {
|
|
14
|
-
|
|
13
|
+
// ── init: run the full survey configuration wizard ────────────────────────
|
|
14
|
+
if (command === 'init') {
|
|
15
|
+
try {
|
|
16
|
+
await (0, init_1.runInit)();
|
|
17
|
+
}
|
|
18
|
+
catch (err) {
|
|
19
|
+
console.error(`\n${c.red}❌ Error: ${err.message || err}${c.reset}`);
|
|
20
|
+
process.exit(1);
|
|
21
|
+
}
|
|
22
|
+
// ── questionnaire-run: child process entry point (forked by runner.ts) ────
|
|
23
|
+
// Runs the questionnaire engine in the visible terminal and sends answers
|
|
24
|
+
// back to the parent (init) via the built-in IPC channel.
|
|
25
|
+
}
|
|
26
|
+
else if (command === 'questionnaire-run') {
|
|
27
|
+
try {
|
|
28
|
+
const answers = await (0, engine_1.runEngine)(questions_1.CFM_QUESTIONS);
|
|
29
|
+
const msg = { type: 'questionnaireComplete', payload: answers };
|
|
30
|
+
if (process.send) {
|
|
31
|
+
process.send(msg, undefined, undefined, () => process.exit(0));
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
// Standalone invocation — just print the result
|
|
35
|
+
console.log(JSON.stringify(msg, null, 2));
|
|
36
|
+
process.exit(0);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
catch (err) {
|
|
40
|
+
const errMsg = {
|
|
41
|
+
type: 'questionnaireError',
|
|
42
|
+
payload: { message: err.message || String(err) },
|
|
43
|
+
};
|
|
44
|
+
if (process.send) {
|
|
45
|
+
process.send(errMsg, undefined, undefined, () => process.exit(1));
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
process.exit(1);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
// ── deploy: Vercel deployment helper ─────────────────────────────────────
|
|
52
|
+
}
|
|
53
|
+
else if (command === 'deploy') {
|
|
15
54
|
try {
|
|
16
55
|
await (0, deploy_1.runDeployment)();
|
|
17
56
|
}
|
|
18
|
-
catch (
|
|
19
|
-
console.error(`\n${
|
|
57
|
+
catch (err) {
|
|
58
|
+
console.error(`\n${c.red}❌ Error: ${err.message || err}${c.reset}`);
|
|
20
59
|
process.exit(1);
|
|
21
60
|
}
|
|
61
|
+
// ── help / unknown command ────────────────────────────────────────────────
|
|
22
62
|
}
|
|
23
63
|
else {
|
|
24
|
-
console.log(`\n${
|
|
64
|
+
console.log(`\n${c.bold}${c.cyan}CFM SDK CLI Tool${c.reset}`);
|
|
25
65
|
console.log(`\nUsage:`);
|
|
26
|
-
console.log(` npx cfm-sdk
|
|
66
|
+
console.log(` npx cfm-sdk init – Interactively configure survey theme/settings`);
|
|
67
|
+
console.log(` npx cfm-sdk deploy – Deploy the current project to Vercel`);
|
|
68
|
+
console.log(` npx cfm-sdk questionnaire-run – Run the questionnaire standalone (dev/debug)`);
|
|
27
69
|
process.exit(0);
|
|
28
70
|
}
|
|
29
71
|
}
|
package/dist/cli/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";;;AAEA,qCAAyC;AACzC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/cli/init.ts"],"names":[],"mappings":"AAmJA,wBAAsB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAwC7C"}
|
package/dist/cli/init.js
ADDED
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.runInit = runInit;
|
|
7
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
8
|
+
// CFM Survey SDK — Init Command
|
|
9
|
+
//
|
|
10
|
+
// Flow:
|
|
11
|
+
// 1. runQuestionnaire() forks the questionnaire-cli child process
|
|
12
|
+
// 2. Child runs all questions in the VISIBLE terminal (inherited stdio)
|
|
13
|
+
// 3. Child sends answers back via built-in Node IPC channel
|
|
14
|
+
// 4. buildSurveyConfig() transforms raw answers into survey-config.json format
|
|
15
|
+
// 5. Config is written to the project root
|
|
16
|
+
// 6. Clean completion message (no "re-invoke agent" language)
|
|
17
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
18
|
+
const fs_1 = __importDefault(require("fs"));
|
|
19
|
+
const path_1 = __importDefault(require("path"));
|
|
20
|
+
const const_1 = require("./const");
|
|
21
|
+
const runner_1 = require("./questionnaire/runner");
|
|
22
|
+
const engine_1 = require("./questionnaire/engine");
|
|
23
|
+
const c = const_1.colors;
|
|
24
|
+
// ── Defaults (Sprinklr branding) ─────────────────────────────────────────────
|
|
25
|
+
const DEFAULTS = {
|
|
26
|
+
companyName: 'Sprinklr',
|
|
27
|
+
surveyTitle: 'Customer Feedback Survey',
|
|
28
|
+
browserTabTitle: 'Customer Feedback Survey',
|
|
29
|
+
thankYouMessage: 'Thank you for your valuable feedback!',
|
|
30
|
+
logoUrl: 'https://www.aprimo.com/wp-content/uploads/2024/03/Sprinklr_Logo-1.png',
|
|
31
|
+
colorScheme: {
|
|
32
|
+
primary: '#1A1F36',
|
|
33
|
+
secondary: '#E8F5FD',
|
|
34
|
+
accent: '#00B5AD',
|
|
35
|
+
background: '#FFFFFF',
|
|
36
|
+
text: '#1A1F36',
|
|
37
|
+
buttonText: '#FFFFFF',
|
|
38
|
+
},
|
|
39
|
+
placeholders: {
|
|
40
|
+
firstName: 'Unnat',
|
|
41
|
+
lastName: 'Agrawal',
|
|
42
|
+
email: 'unnat.agrawal@sprinklr.com',
|
|
43
|
+
},
|
|
44
|
+
};
|
|
45
|
+
// ── Width / border / font lookup maps ────────────────────────────────────────
|
|
46
|
+
const WIDTH_MAP = { '1': 'narrow', '2': 'standard', '3': 'wide' };
|
|
47
|
+
const BORDER_MAP = { '1': 'sharp', '2': 'rounded', '3': 'pill' };
|
|
48
|
+
const FONT_MAP = { '1': 'system', '2': 'modern', '3': 'serif' };
|
|
49
|
+
// ── Answer → SurveyConfig transformer ────────────────────────────────────────
|
|
50
|
+
function buildSurveyConfig(answers) {
|
|
51
|
+
const str = (id, def) => answers[id] || def;
|
|
52
|
+
const bool = (id, def) => typeof answers[id] === 'boolean' ? answers[id] : def;
|
|
53
|
+
// Resolve colorScheme from colorSource + sub-answers
|
|
54
|
+
const colorSourceRaw = str('colorSource', '4');
|
|
55
|
+
let colorSource = 'auto';
|
|
56
|
+
let colorScheme = { ...DEFAULTS.colorScheme };
|
|
57
|
+
if (colorSourceRaw === '1' && bool('hasMockup', false)) {
|
|
58
|
+
colorSource = 'mockup';
|
|
59
|
+
}
|
|
60
|
+
else if (colorSourceRaw === '2') {
|
|
61
|
+
colorSource = 'logo';
|
|
62
|
+
}
|
|
63
|
+
else if (colorSourceRaw === '3') {
|
|
64
|
+
colorSource = 'custom';
|
|
65
|
+
const customMode = str('colorCustomMode', '');
|
|
66
|
+
if (customMode === '1') {
|
|
67
|
+
// User picked from pre-defined schemes
|
|
68
|
+
const pick = parseInt(str('colorSchemePick', ''), 10) - 1;
|
|
69
|
+
if (pick >= 0 && pick < engine_1.COLOR_SCHEMES.length) {
|
|
70
|
+
const s = engine_1.COLOR_SCHEMES[pick];
|
|
71
|
+
colorScheme = {
|
|
72
|
+
primary: s.primary,
|
|
73
|
+
secondary: s.secondary,
|
|
74
|
+
accent: s.accent,
|
|
75
|
+
background: s.bg,
|
|
76
|
+
text: s.text,
|
|
77
|
+
buttonText: '#FFFFFF',
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
else {
|
|
81
|
+
// No valid pick → auto
|
|
82
|
+
colorSource = 'auto';
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
else if (customMode === '2') {
|
|
86
|
+
// User typed their own hex values (stored under __hexColors__ key)
|
|
87
|
+
const hex = answers[engine_1.HEX_INPUTS_KEY];
|
|
88
|
+
if (hex) {
|
|
89
|
+
colorScheme = hex;
|
|
90
|
+
}
|
|
91
|
+
else {
|
|
92
|
+
colorSource = 'auto';
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
else {
|
|
96
|
+
colorSource = 'auto';
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
// Back button text: only meaningful if showBackButton is true
|
|
100
|
+
const showBackButton = bool('showBackButton', true);
|
|
101
|
+
const backText = showBackButton
|
|
102
|
+
? str('backButtonText', 'Back')
|
|
103
|
+
: 'Back'; // stored but won't be rendered
|
|
104
|
+
return {
|
|
105
|
+
hasMockup: bool('hasMockup', false),
|
|
106
|
+
surveyTitle: str('surveyTitle', DEFAULTS.surveyTitle),
|
|
107
|
+
companyName: str('companyName', DEFAULTS.companyName),
|
|
108
|
+
browserTabTitle: str('browserTabTitle', DEFAULTS.browserTabTitle),
|
|
109
|
+
thankYouMessage: str('thankYouMessage', DEFAULTS.thankYouMessage),
|
|
110
|
+
logo: {
|
|
111
|
+
fileName: str('logoFileName', '') || null,
|
|
112
|
+
defaultUrl: str('logoFileName', '') ? null : DEFAULTS.logoUrl,
|
|
113
|
+
},
|
|
114
|
+
layout: {
|
|
115
|
+
showHeader: bool('showHeader', true),
|
|
116
|
+
showFooter: bool('showFooter', true),
|
|
117
|
+
showProgressBar: bool('showProgressBar', true),
|
|
118
|
+
showLanguageSwitcher: bool('showLanguageSwitcher', false),
|
|
119
|
+
showBackButton,
|
|
120
|
+
width: WIDTH_MAP[str('layoutWidth', '')] ?? 'standard',
|
|
121
|
+
borderStyle: BORDER_MAP[str('borderStyle', '')] ?? 'rounded',
|
|
122
|
+
fontStyle: FONT_MAP[str('fontStyle', '')] ?? 'modern',
|
|
123
|
+
showQuestionNumbers: bool('showQuestionNumbers', true),
|
|
124
|
+
showRequiredAsterisk: bool('showRequiredAsterisk', true),
|
|
125
|
+
animationsEnabled: bool('animationsEnabled', true),
|
|
126
|
+
},
|
|
127
|
+
buttons: {
|
|
128
|
+
submit: str('submitButtonText', 'Submit'),
|
|
129
|
+
next: str('nextButtonText', 'Next'),
|
|
130
|
+
back: backText,
|
|
131
|
+
},
|
|
132
|
+
colorSource,
|
|
133
|
+
colorScheme: colorSource === 'auto' ? DEFAULTS.colorScheme : colorScheme,
|
|
134
|
+
placeholders: {
|
|
135
|
+
firstName: str('firstName', DEFAULTS.placeholders.firstName),
|
|
136
|
+
lastName: str('lastName', DEFAULTS.placeholders.lastName),
|
|
137
|
+
email: str('email', DEFAULTS.placeholders.email),
|
|
138
|
+
},
|
|
139
|
+
debug: bool('debug', true),
|
|
140
|
+
deployToVercel: bool('deployToVercel', true),
|
|
141
|
+
configuredAt: new Date().toISOString(),
|
|
142
|
+
};
|
|
143
|
+
}
|
|
144
|
+
// ── Main export ───────────────────────────────────────────────────────────────
|
|
145
|
+
async function runInit() {
|
|
146
|
+
// Ensure public/ directory exists for logo uploads
|
|
147
|
+
const publicDir = path_1.default.join(process.cwd(), 'public');
|
|
148
|
+
if (!fs_1.default.existsSync(publicDir)) {
|
|
149
|
+
fs_1.default.mkdirSync(publicDir, { recursive: true });
|
|
150
|
+
console.log(`\n${c.green}✅ Created ${c.bold}public/${c.reset}${c.green} folder for logo and static files.${c.reset}`);
|
|
151
|
+
}
|
|
152
|
+
// ── Launch the interactive terminal questionnaire ─────────────────────────
|
|
153
|
+
// runQuestionnaire() forks questionnaire-cli.js as a child process.
|
|
154
|
+
// The child inherits stdin/stdout/stderr (visible terminal), runs all
|
|
155
|
+
// questions interactively, then returns answers via Node.js IPC.
|
|
156
|
+
// The agent process blocks here until all questions are answered.
|
|
157
|
+
let answers;
|
|
158
|
+
try {
|
|
159
|
+
answers = await (0, runner_1.runQuestionnaire)();
|
|
160
|
+
}
|
|
161
|
+
catch (err) {
|
|
162
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
163
|
+
console.error(`\n${c.red}❌ Questionnaire failed: ${msg}${c.reset}\n`);
|
|
164
|
+
console.log(`${c.yellow}⚠️ Using all Sprinklr defaults. Re-run ${c.bold}npx cfm-sdk init${c.reset}${c.yellow} to reconfigure.${c.reset}\n`);
|
|
165
|
+
answers = {};
|
|
166
|
+
}
|
|
167
|
+
// ── Build configuration object ────────────────────────────────────────────
|
|
168
|
+
const config = buildSurveyConfig(answers);
|
|
169
|
+
// ── Print summary ─────────────────────────────────────────────────────────
|
|
170
|
+
(0, engine_1.printSummary)(config);
|
|
171
|
+
// ── Write survey-config.json ──────────────────────────────────────────────
|
|
172
|
+
const configPath = path_1.default.join(process.cwd(), 'survey-config.json');
|
|
173
|
+
fs_1.default.writeFileSync(configPath, JSON.stringify(config, null, 2), 'utf8');
|
|
174
|
+
// ── Completion message — no "invoke agent again" language ─────────────────
|
|
175
|
+
// The agent is still running and will automatically read this output and
|
|
176
|
+
// continue to the next phase (Phase 3: read survey-config.json, build UI).
|
|
177
|
+
console.log(`\n${c.bold}${c.green}✅ Configuration saved to:${c.reset} ${c.underline}${configPath}${c.reset}`);
|
|
178
|
+
console.log(`\n${c.bold}${c.cyan}╔════════════════════════════════════════════════════════╗${c.reset}`);
|
|
179
|
+
console.log(`${c.bold}${c.cyan}║ 🎉 Setup complete. Proceeding with survey build... ║${c.reset}`);
|
|
180
|
+
console.log(`${c.bold}${c.cyan}╚════════════════════════════════════════════════════════╝${c.reset}\n`);
|
|
181
|
+
}
|
|
182
|
+
//# sourceMappingURL=init.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/cli/init.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Question, Answers } from './types';
|
|
2
|
+
export declare function printBanner(): void;
|
|
3
|
+
export declare function printSection(label: string): void;
|
|
4
|
+
export declare const COLOR_SCHEMES: Array<{
|
|
5
|
+
name: string;
|
|
6
|
+
primary: string;
|
|
7
|
+
secondary: string;
|
|
8
|
+
accent: string;
|
|
9
|
+
bg: string;
|
|
10
|
+
text: string;
|
|
11
|
+
}>;
|
|
12
|
+
export declare function printSummary(cfg: Record<string, unknown>): void;
|
|
13
|
+
export declare const HEX_INPUTS_KEY = "__hexColors__";
|
|
14
|
+
/**
|
|
15
|
+
* Iterates over the question definitions, evaluates conditions, renders each
|
|
16
|
+
* question in the terminal, and returns the collected Answers map.
|
|
17
|
+
*
|
|
18
|
+
* Special answers:
|
|
19
|
+
* - 'hex-inputs' type stores a ColorScheme under answers[HEX_INPUTS_KEY]
|
|
20
|
+
*/
|
|
21
|
+
export declare function runEngine(questions: Question[]): Promise<Answers>;
|
|
22
|
+
//# sourceMappingURL=engine.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../../src/cli/questionnaire/engine.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,QAAQ,EAAE,OAAO,EAA4B,MAAM,SAAS,CAAC;AAgCtE,wBAAgB,WAAW,IAAI,IAAI,CAQlC;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAIhD;AA0CD,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC;IAChC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IACjD,MAAM,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;CAC1C,CAMA,CAAC;AAgEF,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAU/D;AAID,eAAO,MAAM,cAAc,kBAAkB,CAAC;AAI9C;;;;;;GAMG;AACH,wBAAsB,SAAS,CAAC,SAAS,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CA8CvE"}
|
|
@@ -0,0 +1,218 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.HEX_INPUTS_KEY = exports.COLOR_SCHEMES = void 0;
|
|
7
|
+
exports.printBanner = printBanner;
|
|
8
|
+
exports.printSection = printSection;
|
|
9
|
+
exports.printSummary = printSummary;
|
|
10
|
+
exports.runEngine = runEngine;
|
|
11
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
12
|
+
// Terminal Question Engine
|
|
13
|
+
// Renders questions, handles conditional skipping, returns collected Answers.
|
|
14
|
+
// Runs inside the VISIBLE IDE terminal (inherited stdio from the parent process).
|
|
15
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
16
|
+
const readline_1 = __importDefault(require("readline"));
|
|
17
|
+
const const_1 = require("../const");
|
|
18
|
+
const c = const_1.colors;
|
|
19
|
+
// ── readline singleton ───────────────────────────────────────────────────────
|
|
20
|
+
let _rl = null;
|
|
21
|
+
function initRL() {
|
|
22
|
+
_rl = readline_1.default.createInterface({
|
|
23
|
+
input: process.stdin,
|
|
24
|
+
output: process.stdout,
|
|
25
|
+
terminal: true,
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
function closeRL() {
|
|
29
|
+
_rl?.close();
|
|
30
|
+
_rl = null;
|
|
31
|
+
}
|
|
32
|
+
function ask(prompt) {
|
|
33
|
+
return new Promise((resolve) => {
|
|
34
|
+
_rl.question(prompt, (ans) => resolve(ans.trim()));
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
// ── formatting helpers ───────────────────────────────────────────────────────
|
|
38
|
+
const br = () => console.log('');
|
|
39
|
+
function printBanner() {
|
|
40
|
+
br();
|
|
41
|
+
console.log(`${c.bold}${c.cyan}╔═══════════════════════════════════════════════════════╗${c.reset}`);
|
|
42
|
+
console.log(`${c.bold}${c.cyan}║ CFM Survey SDK — Setup Wizard 🚀 ║${c.reset}`);
|
|
43
|
+
console.log(`${c.bold}${c.cyan}╚═══════════════════════════════════════════════════════╝${c.reset}`);
|
|
44
|
+
br();
|
|
45
|
+
console.log(`${c.dim}Every question is ${c.bold}optional${c.reset}${c.dim} — press ${c.bold}Enter${c.reset}${c.dim} to use the smart default.${c.reset}`);
|
|
46
|
+
br();
|
|
47
|
+
}
|
|
48
|
+
function printSection(label) {
|
|
49
|
+
br();
|
|
50
|
+
console.log(`${c.bold}${c.bgBlue}${c.white} ${label} ${c.reset}`);
|
|
51
|
+
br();
|
|
52
|
+
}
|
|
53
|
+
// ── per-type renderers ───────────────────────────────────────────────────────
|
|
54
|
+
async function askText(q) {
|
|
55
|
+
const defStr = q.defaultLabel
|
|
56
|
+
? ` ${c.dim}(default: ${q.defaultLabel})${c.reset}`
|
|
57
|
+
: '';
|
|
58
|
+
const tag = q.isRequired
|
|
59
|
+
? `${c.red}[recommended]${c.reset}`
|
|
60
|
+
: `${c.dim}[optional]${c.reset}`;
|
|
61
|
+
console.log(`${c.bold}${c.yellow}${q.num ?? '?'}.${c.reset} ${c.bold}${q.label}${c.reset} ${tag}`);
|
|
62
|
+
if (q.hint)
|
|
63
|
+
console.log(` ${c.dim}${q.hint}${c.reset}${defStr}`);
|
|
64
|
+
const ans = await ask(` ${c.cyan}›${c.reset} `);
|
|
65
|
+
br();
|
|
66
|
+
return ans || (typeof q.defaultValue === 'string' ? q.defaultValue : '');
|
|
67
|
+
}
|
|
68
|
+
async function askYesNo(q) {
|
|
69
|
+
const def = q.defaultValue !== false;
|
|
70
|
+
const defStr = def ? 'y' : 'n';
|
|
71
|
+
console.log(`${c.bold}${c.yellow}${q.num ?? '?'}.${c.reset} ${c.bold}${q.label}${c.reset} ${c.dim}[optional]${c.reset}`);
|
|
72
|
+
if (q.hint)
|
|
73
|
+
console.log(` ${c.dim}${q.hint}${c.reset}`);
|
|
74
|
+
const ans = await ask(` ${c.cyan}›${c.reset} ${c.dim}(y/n, default: ${defStr})${c.reset} `);
|
|
75
|
+
br();
|
|
76
|
+
if (!ans)
|
|
77
|
+
return def;
|
|
78
|
+
return ans.toLowerCase() === 'y';
|
|
79
|
+
}
|
|
80
|
+
async function askMenu(q) {
|
|
81
|
+
console.log(`${c.bold}${c.yellow}${q.num ?? '?'}.${c.reset} ${c.bold}${q.label}${c.reset}`);
|
|
82
|
+
(q.options ?? []).forEach((opt, i) => {
|
|
83
|
+
console.log(` ${c.cyan}${i + 1})${c.reset} ${opt}`);
|
|
84
|
+
});
|
|
85
|
+
console.log(` ${c.dim}↵ Press Enter to skip / use smart default${c.reset}`);
|
|
86
|
+
const ans = await ask(` ${c.cyan}›${c.reset} `);
|
|
87
|
+
br();
|
|
88
|
+
return ans;
|
|
89
|
+
}
|
|
90
|
+
// ── colour scheme picker (special type) ─────────────────────────────────────
|
|
91
|
+
exports.COLOR_SCHEMES = [
|
|
92
|
+
{ name: 'Industry Standard (Indigo + Amber)', primary: '#4F46E5', secondary: '#E0E7FF', accent: '#F59E0B', bg: '#FFFFFF', text: '#111827' },
|
|
93
|
+
{ name: 'Minimalist (Slate + Teal)', primary: '#334155', secondary: '#F1F5F9', accent: '#0D9488', bg: '#FFFFFF', text: '#0F172A' },
|
|
94
|
+
{ name: 'Warm Corporate (Amber + Brown)', primary: '#B45309', secondary: '#FEF3C7', accent: '#D97706', bg: '#FFFBEB', text: '#1C1917' },
|
|
95
|
+
{ name: 'Modern Dark (Violet + Green)', primary: '#7C3AED', secondary: '#EDE9FE', accent: '#10B981', bg: '#FFFFFF', text: '#111827' },
|
|
96
|
+
{ name: 'Professional Blue (Navy + Sky)', primary: '#1E3A5F', secondary: '#DBEAFE', accent: '#0284C7', bg: '#FFFFFF', text: '#1E293B' },
|
|
97
|
+
];
|
|
98
|
+
async function askColorSchemes(q) {
|
|
99
|
+
console.log(`${c.bold}${c.yellow}${q.num ?? '?'}.${c.reset} ${c.bold}${q.label}${c.reset}`);
|
|
100
|
+
br();
|
|
101
|
+
console.log(`${c.bold}${c.underline} 5 curated professional colour schemes:${c.reset}`);
|
|
102
|
+
br();
|
|
103
|
+
exports.COLOR_SCHEMES.forEach((s, i) => {
|
|
104
|
+
console.log(` ${c.bold}${c.cyan}${i + 1}) ${s.name}${c.reset}`);
|
|
105
|
+
console.log(` ${c.dim}Primary:${c.reset} ${c.bold}${s.primary}${c.reset}`);
|
|
106
|
+
console.log(` ${c.dim}Secondary:${c.reset} ${s.secondary}`);
|
|
107
|
+
console.log(` ${c.dim}Accent:${c.reset} ${c.bold}${s.accent}${c.reset}`);
|
|
108
|
+
console.log(` ${c.dim}Background:${c.reset} ${s.bg} ${c.dim}Text:${c.reset} ${s.text}`);
|
|
109
|
+
br();
|
|
110
|
+
});
|
|
111
|
+
console.log(` ${c.dim}↵ Press Enter to let the agent decide automatically${c.reset}`);
|
|
112
|
+
const ans = await ask(` ${c.cyan}›${c.reset} Type a number (1–5): `);
|
|
113
|
+
br();
|
|
114
|
+
return ans;
|
|
115
|
+
}
|
|
116
|
+
// ── hex colour inputs (special type) ─────────────────────────────────────────
|
|
117
|
+
function normaliseHex(input, fallback) {
|
|
118
|
+
if (!input)
|
|
119
|
+
return fallback;
|
|
120
|
+
let hex = input.trim();
|
|
121
|
+
if (!hex.startsWith('#'))
|
|
122
|
+
hex = '#' + hex;
|
|
123
|
+
if (/^#[0-9A-Fa-f]{3,8}$/.test(hex))
|
|
124
|
+
return hex.toUpperCase();
|
|
125
|
+
console.log(` ${c.yellow}⚠️ Invalid hex — using default ${fallback}${c.reset}`);
|
|
126
|
+
return fallback;
|
|
127
|
+
}
|
|
128
|
+
const SPRINKLR_COLORS = {
|
|
129
|
+
primary: '#1A1F36',
|
|
130
|
+
secondary: '#E8F5FD',
|
|
131
|
+
accent: '#00B5AD',
|
|
132
|
+
background: '#FFFFFF',
|
|
133
|
+
text: '#1A1F36',
|
|
134
|
+
buttonText: '#FFFFFF',
|
|
135
|
+
};
|
|
136
|
+
async function askHexInputs(q) {
|
|
137
|
+
console.log(`${c.bold}${c.yellow}${q.num ?? '?'}.${c.reset} ${c.bold}${q.label}${c.reset}`);
|
|
138
|
+
br();
|
|
139
|
+
console.log(` ${c.dim}Enter hex codes (e.g. #4F46E5). Press Enter on any to keep the default.${c.reset}`);
|
|
140
|
+
br();
|
|
141
|
+
const p = await ask(` ${c.cyan}→${c.reset} Primary color ${c.dim}(main buttons, headers)${c.reset} › `);
|
|
142
|
+
const s = await ask(` ${c.cyan}→${c.reset} Secondary color ${c.dim}(light backgrounds)${c.reset} › `);
|
|
143
|
+
const a = await ask(` ${c.cyan}→${c.reset} Accent color ${c.dim}(highlights, links)${c.reset} › `);
|
|
144
|
+
const bg = await ask(` ${c.cyan}→${c.reset} Background color › `);
|
|
145
|
+
const tx = await ask(` ${c.cyan}→${c.reset} Text color › `);
|
|
146
|
+
br();
|
|
147
|
+
return {
|
|
148
|
+
primary: normaliseHex(p, SPRINKLR_COLORS.primary),
|
|
149
|
+
secondary: normaliseHex(s, SPRINKLR_COLORS.secondary),
|
|
150
|
+
accent: normaliseHex(a, SPRINKLR_COLORS.accent),
|
|
151
|
+
background: normaliseHex(bg, SPRINKLR_COLORS.background),
|
|
152
|
+
text: normaliseHex(tx, SPRINKLR_COLORS.text),
|
|
153
|
+
buttonText: '#FFFFFF',
|
|
154
|
+
};
|
|
155
|
+
}
|
|
156
|
+
// ── Summary printer ──────────────────────────────────────────────────────────
|
|
157
|
+
function printSummary(cfg) {
|
|
158
|
+
br();
|
|
159
|
+
console.log(`${c.bold}${c.bgGreen}${c.black} ✅ Configuration Summary ${c.reset}`);
|
|
160
|
+
br();
|
|
161
|
+
const print = (key, val) => console.log(` ${c.bold}${key.padEnd(22)}${c.reset} ${c.green}${JSON.stringify(val)}${c.reset}`);
|
|
162
|
+
Object.entries(cfg)
|
|
163
|
+
.filter(([k]) => k !== 'configuredAt')
|
|
164
|
+
.forEach(([k, v]) => print(k, v));
|
|
165
|
+
br();
|
|
166
|
+
}
|
|
167
|
+
// ── Special answer type for hex-inputs ──────────────────────────────────────
|
|
168
|
+
exports.HEX_INPUTS_KEY = '__hexColors__';
|
|
169
|
+
// ── Main runner ──────────────────────────────────────────────────────────────
|
|
170
|
+
/**
|
|
171
|
+
* Iterates over the question definitions, evaluates conditions, renders each
|
|
172
|
+
* question in the terminal, and returns the collected Answers map.
|
|
173
|
+
*
|
|
174
|
+
* Special answers:
|
|
175
|
+
* - 'hex-inputs' type stores a ColorScheme under answers[HEX_INPUTS_KEY]
|
|
176
|
+
*/
|
|
177
|
+
async function runEngine(questions) {
|
|
178
|
+
initRL();
|
|
179
|
+
printBanner();
|
|
180
|
+
const answers = {};
|
|
181
|
+
for (const q of questions) {
|
|
182
|
+
// Evaluate skip condition
|
|
183
|
+
if (q.condition && !q.condition(answers))
|
|
184
|
+
continue;
|
|
185
|
+
if (q.type === 'section') {
|
|
186
|
+
printSection(q.label);
|
|
187
|
+
continue;
|
|
188
|
+
}
|
|
189
|
+
let value;
|
|
190
|
+
switch (q.type) {
|
|
191
|
+
case 'text':
|
|
192
|
+
value = await askText(q);
|
|
193
|
+
break;
|
|
194
|
+
case 'yesno':
|
|
195
|
+
value = await askYesNo(q);
|
|
196
|
+
break;
|
|
197
|
+
case 'menu':
|
|
198
|
+
value = await askMenu(q);
|
|
199
|
+
break;
|
|
200
|
+
case 'color-schemes':
|
|
201
|
+
value = await askColorSchemes(q);
|
|
202
|
+
break;
|
|
203
|
+
case 'hex-inputs': {
|
|
204
|
+
// Hex-inputs returns a ColorScheme object — stored under special key
|
|
205
|
+
const scheme = await askHexInputs(q);
|
|
206
|
+
answers[exports.HEX_INPUTS_KEY] = scheme;
|
|
207
|
+
value = null; // placeholder
|
|
208
|
+
break;
|
|
209
|
+
}
|
|
210
|
+
default:
|
|
211
|
+
value = await askText(q);
|
|
212
|
+
}
|
|
213
|
+
answers[q.id] = value;
|
|
214
|
+
}
|
|
215
|
+
closeRL();
|
|
216
|
+
return answers;
|
|
217
|
+
}
|
|
218
|
+
//# sourceMappingURL=engine.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../../../src/cli/questionnaire/engine.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"questionnaire-cli.d.ts","sourceRoot":"","sources":["../../../src/cli/questionnaire/questionnaire-cli.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC"}
|