@explorer02/cfm-survey-sdk 0.0.4 → 0.0.5
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/index.js +87 -18
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/init.d.ts.map +1 -1
- package/dist/cli/init.js +7 -2
- package/dist/cli/init.js.map +1 -1
- package/dist/cli/questionnaire/questions.d.ts.map +1 -1
- package/dist/cli/questionnaire/questions.js +10 -0
- package/dist/cli/questionnaire/questions.js.map +1 -1
- package/dist/cli/questionnaire/runner.d.ts.map +1 -1
- package/dist/cli/questionnaire/runner.js +123 -64
- package/dist/cli/questionnaire/runner.js.map +1 -1
- package/dist/cli/questionnaire/server.d.ts +11 -0
- package/dist/cli/questionnaire/server.d.ts.map +1 -0
- package/dist/cli/questionnaire/server.js +80 -0
- package/dist/cli/questionnaire/server.js.map +1 -0
- package/dist/cli/questionnaire/types.d.ts +1 -0
- package/dist/cli/questionnaire/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/templates/AGENT.md +22 -19
package/dist/cli/index.js
CHANGED
|
@@ -1,5 +1,38 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
"use strict";
|
|
3
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
4
|
+
if (k2 === undefined) k2 = k;
|
|
5
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
6
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
7
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
8
|
+
}
|
|
9
|
+
Object.defineProperty(o, k2, desc);
|
|
10
|
+
}) : (function(o, m, k, k2) {
|
|
11
|
+
if (k2 === undefined) k2 = k;
|
|
12
|
+
o[k2] = m[k];
|
|
13
|
+
}));
|
|
14
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
15
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
16
|
+
}) : function(o, v) {
|
|
17
|
+
o["default"] = v;
|
|
18
|
+
});
|
|
19
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
20
|
+
var ownKeys = function(o) {
|
|
21
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
22
|
+
var ar = [];
|
|
23
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
24
|
+
return ar;
|
|
25
|
+
};
|
|
26
|
+
return ownKeys(o);
|
|
27
|
+
};
|
|
28
|
+
return function (mod) {
|
|
29
|
+
if (mod && mod.__esModule) return mod;
|
|
30
|
+
var result = {};
|
|
31
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
32
|
+
__setModuleDefault(result, mod);
|
|
33
|
+
return result;
|
|
34
|
+
};
|
|
35
|
+
})();
|
|
3
36
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
37
|
const deploy_1 = require("./deploy");
|
|
5
38
|
const init_1 = require("./init");
|
|
@@ -24,28 +57,64 @@ async function main() {
|
|
|
24
57
|
// back to the parent (init) via the built-in IPC channel.
|
|
25
58
|
}
|
|
26
59
|
else if (command === 'questionnaire-run') {
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
60
|
+
const portIndex = args.indexOf('--port');
|
|
61
|
+
const port = portIndex !== -1 ? parseInt(args[portIndex + 1], 10) : null;
|
|
62
|
+
if (port) {
|
|
63
|
+
// Connect to the parent's TCP server and stream answers
|
|
64
|
+
try {
|
|
65
|
+
const net = await Promise.resolve().then(() => __importStar(require('net')));
|
|
66
|
+
const socket = net.connect(port, '127.0.0.1', async () => {
|
|
67
|
+
try {
|
|
68
|
+
const answers = await (0, engine_1.runEngine)(questions_1.CFM_QUESTIONS);
|
|
69
|
+
const msg = { type: 'complete', answers };
|
|
70
|
+
socket.write(JSON.stringify(msg) + '\n', () => {
|
|
71
|
+
socket.end(() => {
|
|
72
|
+
// Keep the terminal open for 1.5 seconds so the user sees completion
|
|
73
|
+
setTimeout(() => process.exit(0), 1500);
|
|
74
|
+
});
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
catch (err) {
|
|
78
|
+
const msg = { type: 'error', message: err.message || String(err) };
|
|
79
|
+
socket.write(JSON.stringify(msg) + '\n', () => {
|
|
80
|
+
socket.end(() => process.exit(1));
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
});
|
|
84
|
+
socket.on('error', (err) => {
|
|
85
|
+
console.error(`\n❌ Failed to connect to setup IPC server: ${err.message}\n`);
|
|
86
|
+
process.exit(1);
|
|
87
|
+
});
|
|
32
88
|
}
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
process.exit(0);
|
|
89
|
+
catch (err) {
|
|
90
|
+
console.error(`\n❌ IPC connection setup error: ${err.message}\n`);
|
|
91
|
+
process.exit(1);
|
|
37
92
|
}
|
|
38
93
|
}
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
94
|
+
else {
|
|
95
|
+
// Standard forked process with node IPC or standalone stdout fallback
|
|
96
|
+
try {
|
|
97
|
+
const answers = await (0, engine_1.runEngine)(questions_1.CFM_QUESTIONS);
|
|
98
|
+
const msg = { type: 'questionnaireComplete', payload: answers };
|
|
99
|
+
if (process.send) {
|
|
100
|
+
process.send(msg, undefined, undefined, () => process.exit(0));
|
|
101
|
+
}
|
|
102
|
+
else {
|
|
103
|
+
console.log(JSON.stringify(msg, null, 2));
|
|
104
|
+
process.exit(0);
|
|
105
|
+
}
|
|
46
106
|
}
|
|
47
|
-
|
|
48
|
-
|
|
107
|
+
catch (err) {
|
|
108
|
+
const errMsg = {
|
|
109
|
+
type: 'questionnaireError',
|
|
110
|
+
payload: { message: err.message || String(err) },
|
|
111
|
+
};
|
|
112
|
+
if (process.send) {
|
|
113
|
+
process.send(errMsg, undefined, undefined, () => process.exit(1));
|
|
114
|
+
}
|
|
115
|
+
else {
|
|
116
|
+
process.exit(1);
|
|
117
|
+
}
|
|
49
118
|
}
|
|
50
119
|
}
|
|
51
120
|
// ── deploy: Vercel deployment helper ─────────────────────────────────────
|
package/dist/cli/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/init.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/cli/init.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/cli/init.ts"],"names":[],"mappings":"AAyJA,wBAAsB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAwC7C"}
|
package/dist/cli/init.js
CHANGED
|
@@ -96,11 +96,15 @@ function buildSurveyConfig(answers) {
|
|
|
96
96
|
colorSource = 'auto';
|
|
97
97
|
}
|
|
98
98
|
}
|
|
99
|
-
// Back button text: only meaningful if
|
|
99
|
+
// Next/Back button text: only meaningful if enabled
|
|
100
100
|
const showBackButton = bool('showBackButton', true);
|
|
101
101
|
const backText = showBackButton
|
|
102
102
|
? str('backButtonText', 'Back')
|
|
103
103
|
: 'Back'; // stored but won't be rendered
|
|
104
|
+
const showNextButton = bool('showNextButton', true);
|
|
105
|
+
const nextText = showNextButton
|
|
106
|
+
? str('nextButtonText', 'Next')
|
|
107
|
+
: 'Next'; // stored but won't be rendered
|
|
104
108
|
return {
|
|
105
109
|
hasMockup: bool('hasMockup', false),
|
|
106
110
|
surveyTitle: str('surveyTitle', DEFAULTS.surveyTitle),
|
|
@@ -116,6 +120,7 @@ function buildSurveyConfig(answers) {
|
|
|
116
120
|
showFooter: bool('showFooter', true),
|
|
117
121
|
showProgressBar: bool('showProgressBar', true),
|
|
118
122
|
showLanguageSwitcher: bool('showLanguageSwitcher', false),
|
|
123
|
+
showNextButton,
|
|
119
124
|
showBackButton,
|
|
120
125
|
width: WIDTH_MAP[str('layoutWidth', '')] ?? 'standard',
|
|
121
126
|
borderStyle: BORDER_MAP[str('borderStyle', '')] ?? 'rounded',
|
|
@@ -126,7 +131,7 @@ function buildSurveyConfig(answers) {
|
|
|
126
131
|
},
|
|
127
132
|
buttons: {
|
|
128
133
|
submit: str('submitButtonText', 'Submit'),
|
|
129
|
-
next:
|
|
134
|
+
next: nextText,
|
|
130
135
|
back: backText,
|
|
131
136
|
},
|
|
132
137
|
colorSource,
|
package/dist/cli/init.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/cli/init.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/cli/init.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"questions.d.ts","sourceRoot":"","sources":["../../../src/cli/questionnaire/questions.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,QAAQ,EAAW,MAAM,SAAS,CAAC;AAE5C,eAAO,MAAM,aAAa,EAAE,QAAQ,
|
|
1
|
+
{"version":3,"file":"questions.d.ts","sourceRoot":"","sources":["../../../src/cli/questionnaire/questions.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,QAAQ,EAAW,MAAM,SAAS,CAAC;AAE5C,eAAO,MAAM,aAAa,EAAE,QAAQ,EAmVnC,CAAC"}
|
|
@@ -125,6 +125,15 @@ exports.CFM_QUESTIONS = [
|
|
|
125
125
|
defaultValue: true,
|
|
126
126
|
defaultLabel: 'y',
|
|
127
127
|
},
|
|
128
|
+
{
|
|
129
|
+
id: 'showNextButton',
|
|
130
|
+
type: 'yesno',
|
|
131
|
+
num: '10b',
|
|
132
|
+
label: 'Show a "Next" button between pages?',
|
|
133
|
+
hint: 'Required if your survey has multiple pages.',
|
|
134
|
+
defaultValue: true,
|
|
135
|
+
defaultLabel: 'y',
|
|
136
|
+
},
|
|
128
137
|
{
|
|
129
138
|
id: 'layoutWidth',
|
|
130
139
|
type: 'menu',
|
|
@@ -193,6 +202,7 @@ exports.CFM_QUESTIONS = [
|
|
|
193
202
|
hint: 'Text on the "next page" button.',
|
|
194
203
|
defaultValue: 'Next',
|
|
195
204
|
defaultLabel: 'Next',
|
|
205
|
+
condition: (answers) => answers['showNextButton'] !== false,
|
|
196
206
|
},
|
|
197
207
|
{
|
|
198
208
|
id: 'backButtonText',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"questions.js","sourceRoot":"","sources":["../../../src/cli/questionnaire/questions.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"questions.js","sourceRoot":"","sources":["../../../src/cli/questionnaire/questions.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../../src/cli/questionnaire/runner.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAc,OAAO,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../../src/cli/questionnaire/runner.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAc,OAAO,EAAE,MAAM,SAAS,CAAC;AAQ9C,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,OAAO,CAAC,CA2IzD"}
|
|
@@ -22,81 +22,140 @@ exports.runQuestionnaire = runQuestionnaire;
|
|
|
22
22
|
const child_process_1 = require("child_process");
|
|
23
23
|
const path_1 = __importDefault(require("path"));
|
|
24
24
|
const const_1 = require("../const");
|
|
25
|
+
const server_1 = require("./server");
|
|
25
26
|
const c = const_1.colors;
|
|
26
27
|
const TIMEOUT_MS = 15 * 60 * 1000; // 15-minute timeout
|
|
27
|
-
function runQuestionnaire() {
|
|
28
|
-
// Fork the compiled CLI entry point (dist/cli/index.js) with the
|
|
29
|
-
// 'questionnaire-run' command. The child inherits stdin/stdout/stderr so
|
|
30
|
-
// questions appear in the same visible terminal the agent opened, while
|
|
31
|
-
// structured answers flow back through the built-in IPC channel.
|
|
28
|
+
async function runQuestionnaire() {
|
|
32
29
|
const cliEntry = path_1.default.join(__dirname, '..', 'index.js');
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
30
|
+
const isInteractive = !!process.stdin.isTTY;
|
|
31
|
+
if (isInteractive) {
|
|
32
|
+
// Standard inline TTY execution
|
|
33
|
+
return new Promise((resolve, reject) => {
|
|
34
|
+
let child;
|
|
35
|
+
try {
|
|
36
|
+
child = (0, child_process_1.fork)(cliEntry, ['questionnaire-run'], {
|
|
37
|
+
stdio: [0, 1, 2, 'ipc'],
|
|
38
|
+
env: { ...process.env },
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
catch (err) {
|
|
42
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
43
|
+
return reject(new Error(`Failed to start questionnaire process: ${msg}`));
|
|
44
|
+
}
|
|
45
|
+
let settled = false;
|
|
46
|
+
function settle(fn) {
|
|
47
|
+
if (!settled) {
|
|
48
|
+
settled = true;
|
|
49
|
+
clearTimeout(timer);
|
|
50
|
+
fn();
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
child.on('message', (raw) => {
|
|
54
|
+
const msg = raw;
|
|
55
|
+
switch (msg.type) {
|
|
56
|
+
case 'questionnaireComplete':
|
|
57
|
+
settle(() => resolve(msg.payload));
|
|
58
|
+
break;
|
|
59
|
+
case 'questionnaireCancelled':
|
|
60
|
+
settle(() => resolve({}));
|
|
61
|
+
break;
|
|
62
|
+
case 'questionnaireError':
|
|
63
|
+
settle(() => reject(new Error(msg.payload.message)));
|
|
64
|
+
break;
|
|
65
|
+
}
|
|
41
66
|
});
|
|
67
|
+
child.on('exit', (code) => {
|
|
68
|
+
settle(() => {
|
|
69
|
+
if (code !== 0) {
|
|
70
|
+
reject(new Error(`Questionnaire process terminated before completion (exit code ${code})`));
|
|
71
|
+
}
|
|
72
|
+
else {
|
|
73
|
+
resolve({});
|
|
74
|
+
}
|
|
75
|
+
});
|
|
76
|
+
});
|
|
77
|
+
child.on('error', (err) => {
|
|
78
|
+
settle(() => reject(new Error(`Questionnaire process error: ${err.message}`)));
|
|
79
|
+
});
|
|
80
|
+
const timer = setTimeout(() => {
|
|
81
|
+
settle(() => {
|
|
82
|
+
console.error(`\n${c.red}⏱ Questionnaire timed out after 15 minutes — using default values.${c.reset}\n`);
|
|
83
|
+
try {
|
|
84
|
+
child.kill();
|
|
85
|
+
}
|
|
86
|
+
catch { /* ignore */ }
|
|
87
|
+
resolve({});
|
|
88
|
+
});
|
|
89
|
+
}, TIMEOUT_MS);
|
|
90
|
+
if (timer.unref)
|
|
91
|
+
timer.unref();
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
else {
|
|
95
|
+
// Non-interactive execution (e.g. executed inside Cursor/VS Code agent chat)
|
|
96
|
+
console.log(`\n${c.yellow}⚠️ Non-interactive terminal detected. Opening a new interactive terminal window to run the questionnaire...${c.reset}\n`);
|
|
97
|
+
let serverHandle;
|
|
98
|
+
try {
|
|
99
|
+
serverHandle = await (0, server_1.createIPCServer)();
|
|
42
100
|
}
|
|
43
101
|
catch (err) {
|
|
44
|
-
|
|
45
|
-
return
|
|
102
|
+
console.error(`\n${c.red}❌ Failed to start IPC server: ${err.message || err}${c.reset}`);
|
|
103
|
+
return {};
|
|
46
104
|
}
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
105
|
+
const port = serverHandle.port;
|
|
106
|
+
const cwd = process.cwd();
|
|
107
|
+
const runCmd = `node "${cliEntry}" questionnaire-run --port ${port}`;
|
|
108
|
+
let launchCmd = '';
|
|
109
|
+
if (process.platform === 'darwin') {
|
|
110
|
+
const escCwd = cwd.replace(/"/g, '\\"');
|
|
111
|
+
const escRunCmd = runCmd.replace(/"/g, '\\"');
|
|
112
|
+
const appleScript = `tell application "Terminal"
|
|
113
|
+
activate
|
|
114
|
+
do script "cd \\"${escCwd}\\" && ${escRunCmd}"
|
|
115
|
+
end tell`;
|
|
116
|
+
launchCmd = `osascript -e '${appleScript.replace(/'/g, "'\\''")}'`;
|
|
54
117
|
}
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
});
|
|
70
|
-
// ── Child process exits ──────────────────────────────────────────────────
|
|
71
|
-
child.on('exit', (code) => {
|
|
72
|
-
settle(() => {
|
|
73
|
-
if (code !== 0) {
|
|
74
|
-
reject(new Error(`Questionnaire process terminated before completion (exit code ${code})`));
|
|
118
|
+
else if (process.platform === 'win32') {
|
|
119
|
+
launchCmd = `start "CFM Survey SDK Setup" cmd.exe /k "cd /d \\"${cwd}\\" && ${runCmd}"`;
|
|
120
|
+
}
|
|
121
|
+
else {
|
|
122
|
+
launchCmd = `xterm -title "CFM Survey SDK Setup" -e "cd \\"${cwd}\\" && ${runCmd}"`;
|
|
123
|
+
}
|
|
124
|
+
return new Promise((resolve, reject) => {
|
|
125
|
+
let settled = false;
|
|
126
|
+
function settle(fn) {
|
|
127
|
+
if (!settled) {
|
|
128
|
+
settled = true;
|
|
129
|
+
clearTimeout(timer);
|
|
130
|
+
serverHandle.close();
|
|
131
|
+
fn();
|
|
75
132
|
}
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
133
|
+
}
|
|
134
|
+
// Launch the terminal window asynchronously
|
|
135
|
+
(0, child_process_1.exec)(launchCmd, (err) => {
|
|
136
|
+
if (err) {
|
|
137
|
+
console.error(`\n${c.red}❌ Failed to automatically launch a new terminal window: ${err.message}${c.reset}`);
|
|
138
|
+
console.log(`${c.yellow}👉 Please open a new terminal window manually and run:${c.reset}`);
|
|
139
|
+
console.log(` ${c.bold}cd "${cwd}" && ${runCmd}${c.reset}\n`);
|
|
79
140
|
}
|
|
80
141
|
});
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
settle(() => {
|
|
89
|
-
console.error(`\n${c.red}⏱ Questionnaire timed out after 15 minutes — using default values.${c.reset}\n`);
|
|
90
|
-
try {
|
|
91
|
-
child.kill();
|
|
92
|
-
}
|
|
93
|
-
catch { /* ignore */ }
|
|
94
|
-
resolve({}); // fall back to all defaults
|
|
142
|
+
// Await answers or error via TCP server
|
|
143
|
+
serverHandle.waitForAnswers()
|
|
144
|
+
.then((answers) => {
|
|
145
|
+
settle(() => resolve(answers));
|
|
146
|
+
})
|
|
147
|
+
.catch((err) => {
|
|
148
|
+
settle(() => reject(err));
|
|
95
149
|
});
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
150
|
+
const timer = setTimeout(() => {
|
|
151
|
+
settle(() => {
|
|
152
|
+
console.error(`\n${c.red}⏱ Questionnaire timed out after 15 minutes — using default values.${c.reset}\n`);
|
|
153
|
+
resolve({});
|
|
154
|
+
});
|
|
155
|
+
}, TIMEOUT_MS);
|
|
156
|
+
if (timer.unref)
|
|
157
|
+
timer.unref();
|
|
158
|
+
});
|
|
159
|
+
}
|
|
101
160
|
}
|
|
102
161
|
//# sourceMappingURL=runner.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../../src/cli/questionnaire/runner.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../../src/cli/questionnaire/runner.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Answers } from './types';
|
|
2
|
+
export interface IPCServerHandle {
|
|
3
|
+
/** The port the server is listening on */
|
|
4
|
+
port: number;
|
|
5
|
+
/** Resolves when the client sends answers; rejects on error/disconnect */
|
|
6
|
+
waitForAnswers(): Promise<Answers>;
|
|
7
|
+
/** Shut down the server early */
|
|
8
|
+
close(): void;
|
|
9
|
+
}
|
|
10
|
+
export declare function createIPCServer(): Promise<IPCServerHandle>;
|
|
11
|
+
//# sourceMappingURL=server.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../src/cli/questionnaire/server.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,MAAM,WAAW,eAAe;IAC9B,0CAA0C;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,0EAA0E;IAC1E,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IACnC,iCAAiC;IACjC,KAAK,IAAI,IAAI,CAAC;CACf;AAED,wBAAgB,eAAe,IAAI,OAAO,CAAC,eAAe,CAAC,CA8E1D"}
|
|
@@ -0,0 +1,80 @@
|
|
|
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.createIPCServer = createIPCServer;
|
|
7
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
8
|
+
// TCP IPC Server
|
|
9
|
+
// Lightweight newline-delimited JSON server using Node's built-in `net` module.
|
|
10
|
+
// No external dependencies. Receives questionnaire answers from the client
|
|
11
|
+
// process running in the new interactive terminal.
|
|
12
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
13
|
+
const net_1 = __importDefault(require("net"));
|
|
14
|
+
function createIPCServer() {
|
|
15
|
+
return new Promise((resolve, reject) => {
|
|
16
|
+
const server = net_1.default.createServer();
|
|
17
|
+
server.once('error', reject);
|
|
18
|
+
server.listen(0, '127.0.0.1', () => {
|
|
19
|
+
const { port } = server.address();
|
|
20
|
+
let resolveAnswers;
|
|
21
|
+
let rejectAnswers;
|
|
22
|
+
let settled = false;
|
|
23
|
+
const answersPromise = new Promise((res, rej) => {
|
|
24
|
+
resolveAnswers = res;
|
|
25
|
+
rejectAnswers = rej;
|
|
26
|
+
});
|
|
27
|
+
function settle(fn) {
|
|
28
|
+
if (!settled) {
|
|
29
|
+
settled = true;
|
|
30
|
+
fn();
|
|
31
|
+
server.close();
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
server.on('connection', (socket) => {
|
|
35
|
+
let buf = '';
|
|
36
|
+
socket.on('data', (chunk) => {
|
|
37
|
+
buf += chunk.toString();
|
|
38
|
+
const lines = buf.split('\n');
|
|
39
|
+
buf = lines.pop() ?? '';
|
|
40
|
+
for (const line of lines) {
|
|
41
|
+
const trimmed = line.trim();
|
|
42
|
+
if (!trimmed)
|
|
43
|
+
continue;
|
|
44
|
+
try {
|
|
45
|
+
const msg = JSON.parse(trimmed);
|
|
46
|
+
if (msg.type === 'complete') {
|
|
47
|
+
settle(() => resolveAnswers(msg.answers ?? {}));
|
|
48
|
+
}
|
|
49
|
+
else if (msg.type === 'cancelled') {
|
|
50
|
+
settle(() => resolveAnswers({}));
|
|
51
|
+
}
|
|
52
|
+
else if (msg.type === 'error') {
|
|
53
|
+
settle(() => rejectAnswers(new Error(msg.message ?? 'Unknown error')));
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
catch { /* ignore malformed JSON */ }
|
|
57
|
+
}
|
|
58
|
+
});
|
|
59
|
+
socket.on('close', () => {
|
|
60
|
+
// Connection closed without a result → treat as unexpected termination
|
|
61
|
+
settle(() => rejectAnswers(new Error('Questionnaire terminal was closed before answers were submitted')));
|
|
62
|
+
});
|
|
63
|
+
socket.on('error', (err) => {
|
|
64
|
+
settle(() => rejectAnswers(err));
|
|
65
|
+
});
|
|
66
|
+
});
|
|
67
|
+
resolve({
|
|
68
|
+
port,
|
|
69
|
+
waitForAnswers: () => answersPromise,
|
|
70
|
+
close: () => {
|
|
71
|
+
if (!settled) {
|
|
72
|
+
settled = true;
|
|
73
|
+
server.close();
|
|
74
|
+
}
|
|
75
|
+
},
|
|
76
|
+
});
|
|
77
|
+
});
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
//# sourceMappingURL=server.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/cli/questionnaire/server.ts"],"names":[],"mappings":";;;;;AAkBA,0CA8EC;AAhGD,gFAAgF;AAChF,iBAAiB;AACjB,gFAAgF;AAChF,2EAA2E;AAC3E,mDAAmD;AACnD,gFAAgF;AAChF,8CAAsB;AAYtB,SAAgB,eAAe;IAC7B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,MAAM,GAAG,aAAG,CAAC,YAAY,EAAE,CAAC;QAElC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAE7B,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,WAAW,EAAE,GAAG,EAAE;YACjC,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC,OAAO,EAAqB,CAAC;YAErD,IAAI,cAAqC,CAAC;YAC1C,IAAI,aAAqC,CAAC;YAC1C,IAAI,OAAO,GAAG,KAAK,CAAC;YAEpB,MAAM,cAAc,GAAG,IAAI,OAAO,CAAU,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;gBACvD,cAAc,GAAG,GAAG,CAAC;gBACrB,aAAa,GAAI,GAAG,CAAC;YACvB,CAAC,CAAC,CAAC;YAEH,SAAS,MAAM,CAAC,EAAc;gBAC5B,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,OAAO,GAAG,IAAI,CAAC;oBACf,EAAE,EAAE,CAAC;oBACL,MAAM,CAAC,KAAK,EAAE,CAAC;gBACjB,CAAC;YACH,CAAC;YAED,MAAM,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,MAAM,EAAE,EAAE;gBACjC,IAAI,GAAG,GAAG,EAAE,CAAC;gBAEb,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;oBAC1B,GAAG,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;oBACxB,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBAC9B,GAAG,GAAG,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;oBAExB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;wBACzB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;wBAC5B,IAAI,CAAC,OAAO;4BAAE,SAAS;wBACvB,IAAI,CAAC;4BACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAI7B,CAAC;4BACF,IAAI,GAAG,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;gCAC5B,MAAM,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC;4BAClD,CAAC;iCAAM,IAAI,GAAG,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;gCACpC,MAAM,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC;4BACnC,CAAC;iCAAM,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gCAChC,MAAM,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,OAAO,IAAI,eAAe,CAAC,CAAC,CAAC,CAAC;4BACzE,CAAC;wBACH,CAAC;wBAAC,MAAM,CAAC,CAAC,2BAA2B,CAAC,CAAC;oBACzC,CAAC;gBACH,CAAC,CAAC,CAAC;gBAEH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;oBACtB,uEAAuE;oBACvE,MAAM,CAAC,GAAG,EAAE,CACV,aAAa,CAAC,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAC,CAC5F,CAAC;gBACJ,CAAC,CAAC,CAAC;gBAEH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;oBACzB,MAAM,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC;gBACnC,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,OAAO,CAAC;gBACN,IAAI;gBACJ,cAAc,EAAE,GAAG,EAAE,CAAC,cAAc;gBACpC,KAAK,EAAE,GAAG,EAAE;oBACV,IAAI,CAAC,OAAO,EAAE,CAAC;wBACb,OAAO,GAAG,IAAI,CAAC;wBACf,MAAM,CAAC,KAAK,EAAE,CAAC;oBACjB,CAAC;gBACH,CAAC;aACF,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -67,6 +67,7 @@ export interface SurveyConfig {
|
|
|
67
67
|
showFooter: boolean;
|
|
68
68
|
showProgressBar: boolean;
|
|
69
69
|
showLanguageSwitcher: boolean;
|
|
70
|
+
showNextButton: boolean;
|
|
70
71
|
showBackButton: boolean;
|
|
71
72
|
width: 'narrow' | 'standard' | 'wide';
|
|
72
73
|
borderStyle: 'sharp' | 'rounded' | 'pill';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/cli/questionnaire/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/cli/questionnaire/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/templates/AGENT.md
CHANGED
|
@@ -101,6 +101,7 @@ Immediately open and read `./survey-config.json`. This is the single source of t
|
|
|
101
101
|
| `layout.showFooter` | boolean | Build a `<Footer>` component if `true`, omit entirely if `false`. |
|
|
102
102
|
| `layout.showProgressBar` | boolean | Render `<ProgressBar>` if `true`. |
|
|
103
103
|
| `layout.showLanguageSwitcher` | boolean | Render `<LanguageSelector>` if `true`. |
|
|
104
|
+
| `layout.showNextButton` | boolean | Show a Next button navigating to the next page if `true`. |
|
|
104
105
|
| `layout.showBackButton` | boolean | Show a Back button navigating to the previous page if `true`. |
|
|
105
106
|
| `layout.width` | `narrow`/`standard`/`wide` | Map to Tailwind: `max-w-xl` / `max-w-3xl` / `max-w-5xl` on the survey container. |
|
|
106
107
|
| `layout.borderStyle` | `sharp`/`rounded`/`pill` | Map to Tailwind: `rounded-none` / `rounded-lg` / `rounded-full` on cards and inputs. |
|
|
@@ -546,8 +547,8 @@ export default function SurveyPage() {
|
|
|
546
547
|
|
|
547
548
|
{/* Navigation Buttons */}
|
|
548
549
|
<nav>
|
|
549
|
-
{/* Back Button — only show if not on the first page */}
|
|
550
|
-
{state.currentPageIndex > 0 && (
|
|
550
|
+
{/* Back Button — only show if enabled and not on the first page */}
|
|
551
|
+
{state.currentPageIndex > 0 && surveyConfig.layout.showBackButton && (
|
|
551
552
|
<button
|
|
552
553
|
type="button"
|
|
553
554
|
onClick={() => onAction({ type: 'PREVIOUS' })}
|
|
@@ -559,19 +560,21 @@ export default function SurveyPage() {
|
|
|
559
560
|
)}
|
|
560
561
|
|
|
561
562
|
{/* Next / Submit Button */}
|
|
562
|
-
<
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
563
|
+
{(state.currentPageIndex < survey.pages.length - 1 ? surveyConfig.layout.showNextButton : true) && (
|
|
564
|
+
<button
|
|
565
|
+
type="button"
|
|
566
|
+
onClick={() => onAction({ type: 'NEXT' })}
|
|
567
|
+
disabled={submitSurveyResults.isLoading}
|
|
568
|
+
/* STYLE: Design a primary action button matching the mockup.
|
|
569
|
+
Must have disabled state styling for when submission is in progress. */
|
|
570
|
+
>
|
|
571
|
+
{submitSurveyResults.isLoading
|
|
572
|
+
? 'Submitting...'
|
|
573
|
+
: state.currentPageIndex < survey.pages.length - 1
|
|
574
|
+
? 'Next'
|
|
575
|
+
: 'Submit'}
|
|
576
|
+
</button>
|
|
577
|
+
)}
|
|
575
578
|
</nav>
|
|
576
579
|
|
|
577
580
|
{/* Footer — pass links/data as needed */}
|
|
@@ -1034,10 +1037,10 @@ This creates a neutral, professional design that works for any brand. The agent
|
|
|
1034
1037
|
|
|
1035
1038
|
### 6e. Logo Handling
|
|
1036
1039
|
|
|
1037
|
-
|
|
1038
|
-
1.
|
|
1039
|
-
2.
|
|
1040
|
-
3.
|
|
1040
|
+
When a logo is provided (either `logo.fileName` or `logo.defaultUrl`):
|
|
1041
|
+
1. Render it in the header as an industry-standard practice.
|
|
1042
|
+
2. Apply styling to ensure it is displayed in a standard size. Regardless of its original pixel size or resolution, it MUST NOT exceed standard dimensions. Specifically, set its maximum height to 40px, preserve aspect ratio, and handle overflow. Do NOT hardcode large width/height dimensions that might break the layout. For example, use `style={{ maxHeight: '40px', width: 'auto', objectFit: 'contain', display: 'block' }}` or equivalent Tailwind classes.
|
|
1043
|
+
3. If using Next.js `<Image>`, do NOT let the width/height attributes override standard constraints. Always constrain the containing element or the image itself to `max-height: 40px` and `width: auto`.
|
|
1041
1044
|
|
|
1042
1045
|
---
|
|
1043
1046
|
|