icaruspcb-cli 1.0.1 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/api/client.d.ts +2 -10
- package/dist/api/client.d.ts.map +1 -1
- package/dist/api/client.js +0 -4
- package/dist/api/client.js.map +1 -1
- package/dist/commands/generate.d.ts.map +1 -1
- package/dist/commands/generate.js +16 -37
- package/dist/commands/generate.js.map +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +2 -38
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/list.d.ts.map +1 -1
- package/dist/commands/list.js +1 -29
- package/dist/commands/list.js.map +1 -1
- package/dist/commands/simulate.d.ts.map +1 -1
- package/dist/commands/simulate.js +8 -14
- package/dist/commands/simulate.js.map +1 -1
- package/dist/config/store.d.ts +0 -1
- package/dist/config/store.d.ts.map +1 -1
- package/dist/config/store.js.map +1 -1
- package/package.json +1 -1
package/dist/api/client.d.ts
CHANGED
|
@@ -19,12 +19,6 @@ export declare class ApiClient {
|
|
|
19
19
|
limit: number;
|
|
20
20
|
billingPeriod: string;
|
|
21
21
|
}>;
|
|
22
|
-
listMcus(): Promise<Array<{
|
|
23
|
-
id: string;
|
|
24
|
-
name: string;
|
|
25
|
-
family: string;
|
|
26
|
-
cores: number;
|
|
27
|
-
}>>;
|
|
28
22
|
listSensors(): Promise<Array<{
|
|
29
23
|
id: string;
|
|
30
24
|
name: string;
|
|
@@ -32,8 +26,7 @@ export declare class ApiClient {
|
|
|
32
26
|
interface: string;
|
|
33
27
|
}>>;
|
|
34
28
|
submitSimulation(params: {
|
|
35
|
-
|
|
36
|
-
firmware?: string;
|
|
29
|
+
firmware: string;
|
|
37
30
|
sensors?: string[];
|
|
38
31
|
replScript?: string;
|
|
39
32
|
rescScript?: string;
|
|
@@ -49,8 +42,7 @@ export declare class ApiClient {
|
|
|
49
42
|
}>;
|
|
50
43
|
generateScripts(params: {
|
|
51
44
|
prompt: string;
|
|
52
|
-
|
|
53
|
-
mcu: string;
|
|
45
|
+
firmware: string;
|
|
54
46
|
sensors: string[];
|
|
55
47
|
topologyId?: string;
|
|
56
48
|
}): Promise<{
|
package/dist/api/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/api/client.ts"],"names":[],"mappings":"AAGA,qBAAa,QAAS,SAAQ,KAAK;IACd,UAAU,EAAE,MAAM;gBAAlB,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAIvD;AAED,qBAAa,SAAS;IACpB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,MAAM,CAAS;;IAWvB,OAAO,CAAC,OAAO;YAQD,OAAO;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/api/client.ts"],"names":[],"mappings":"AAGA,qBAAa,QAAS,SAAQ,KAAK;IACd,UAAU,EAAE,MAAM;gBAAlB,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAIvD;AAED,qBAAa,SAAS;IACpB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,MAAM,CAAS;;IAWvB,OAAO,CAAC,OAAO;YAQD,OAAO;IAyBf,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IAIhC,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC;IAIhD,WAAW,IAAI,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAI5D,QAAQ,IAAI,OAAO,CAAC;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE,CAAC;IAIlF,WAAW,IAAI,OAAO,CAAC,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAI5F,gBAAgB,CAAC,MAAM,EAAE;QAC7B,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;QACnB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAIxC,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;QAChD,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,QAAQ,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAC;QACtD,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;IAII,eAAe,CAAC,MAAM,EAAE;QAC5B,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,MAAM,EAAE,CAAC;QAClB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAIrC,WAAW,IAAI,OAAO,CAAC;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAGjE;AAED,wBAAgB,YAAY,IAAI,SAAS,CAExC"}
|
package/dist/api/client.js
CHANGED
|
@@ -40,7 +40,6 @@ class ApiClient {
|
|
|
40
40
|
});
|
|
41
41
|
if (!res.ok) {
|
|
42
42
|
const text = await res.text();
|
|
43
|
-
// Clean up raw HTML responses
|
|
44
43
|
const isHtml = text.trimStart().startsWith('<') || (res.headers.get('content-type') || '').includes('text/html');
|
|
45
44
|
const message = isHtml
|
|
46
45
|
? `API unavailable (HTTP ${res.status})`
|
|
@@ -68,9 +67,6 @@ class ApiClient {
|
|
|
68
67
|
async getUsage() {
|
|
69
68
|
return this.get('/usage');
|
|
70
69
|
}
|
|
71
|
-
async listMcus() {
|
|
72
|
-
return this.get('/mcus');
|
|
73
|
-
}
|
|
74
70
|
async listSensors() {
|
|
75
71
|
return this.get('/sensors');
|
|
76
72
|
}
|
package/dist/api/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/api/client.ts"],"names":[],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/api/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../src/commands/generate.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOpC,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../src/commands/generate.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOpC,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA2F9D"}
|
|
@@ -48,32 +48,27 @@ function registerGenerateCommand(program) {
|
|
|
48
48
|
program
|
|
49
49
|
.command('generate')
|
|
50
50
|
.description('Generate Renode .repl and .resc scripts')
|
|
51
|
+
.argument('[firmware]', 'Path to firmware .elf file')
|
|
51
52
|
.option('--prompt <prompt>', 'Generation prompt describing your requirements')
|
|
52
|
-
.option('--mcu-family <family>', 'MCU family (e.g., STM32F4, ESP32, nRF52)')
|
|
53
|
-
.option('--mcu <mcu>', 'MCU identifier')
|
|
54
53
|
.option('--sensors <list>', 'Comma-separated sensor list')
|
|
55
54
|
.option('--topology-id <id>', 'Topology ID for advanced routing')
|
|
56
55
|
.option('-o, --output <dir>', 'Output directory', './renode')
|
|
57
56
|
.option('--json', 'Output as JSON')
|
|
58
|
-
.action(async (opts) => {
|
|
57
|
+
.action(async (firmwareArg, opts) => {
|
|
59
58
|
try {
|
|
60
59
|
const project = (0, store_1.readProjectConfig)();
|
|
61
|
-
// Collect required parameters
|
|
62
60
|
let prompt = opts.prompt;
|
|
63
|
-
let
|
|
64
|
-
let mcu = opts.mcu || project?.mcu;
|
|
61
|
+
let firmware = firmwareArg || project?.firmware;
|
|
65
62
|
let sensors = opts.sensors?.split(',') || project?.sensors || [];
|
|
66
63
|
const topologyId = opts.topologyId;
|
|
67
64
|
// Interactive prompts if missing required fields
|
|
68
|
-
if (!prompt || !
|
|
65
|
+
if (!prompt || !firmware) {
|
|
69
66
|
if (opts.json) {
|
|
70
67
|
const missing = [];
|
|
71
68
|
if (!prompt)
|
|
72
69
|
missing.push('prompt');
|
|
73
|
-
if (!
|
|
74
|
-
missing.push('
|
|
75
|
-
if (!mcu)
|
|
76
|
-
missing.push('mcu');
|
|
70
|
+
if (!firmware)
|
|
71
|
+
missing.push('firmware');
|
|
77
72
|
(0, output_1.printJsonError)(`Missing required parameters: ${missing.join(', ')}`);
|
|
78
73
|
process.exit(1);
|
|
79
74
|
}
|
|
@@ -85,38 +80,22 @@ function registerGenerateCommand(program) {
|
|
|
85
80
|
when: !prompt,
|
|
86
81
|
validate: (v) => v.trim().length > 0 || 'Prompt is required',
|
|
87
82
|
},
|
|
88
|
-
{
|
|
89
|
-
type: 'list',
|
|
90
|
-
name: 'mcuFamily',
|
|
91
|
-
message: 'Select MCU family:',
|
|
92
|
-
when: !mcuFamily,
|
|
93
|
-
choices: ['STM32F4', 'STM32F1', 'STM32F7', 'STM32H7', 'STM32L4', 'ESP32', 'nRF52', 'ATSAMD', 'RP2040', 'Other'],
|
|
94
|
-
},
|
|
95
|
-
{
|
|
96
|
-
type: 'input',
|
|
97
|
-
name: 'mcuFamilyCustom',
|
|
98
|
-
message: 'Enter MCU family:',
|
|
99
|
-
when: (a) => !mcuFamily && a.mcuFamily === 'Other',
|
|
100
|
-
validate: (v) => v.trim().length > 0 || 'MCU family is required',
|
|
101
|
-
},
|
|
102
83
|
{
|
|
103
84
|
type: 'input',
|
|
104
|
-
name: '
|
|
105
|
-
message: '
|
|
106
|
-
when: !
|
|
107
|
-
validate: (v) => v.trim().length > 0 || '
|
|
85
|
+
name: 'firmware',
|
|
86
|
+
message: 'Path to firmware .elf file:',
|
|
87
|
+
when: !firmware,
|
|
88
|
+
validate: (v) => v.trim().length > 0 || 'Firmware path is required',
|
|
108
89
|
},
|
|
109
90
|
]);
|
|
110
91
|
prompt = prompt || answers.prompt;
|
|
111
|
-
|
|
112
|
-
mcu = mcu || answers.mcu;
|
|
92
|
+
firmware = firmware || answers.firmware;
|
|
113
93
|
}
|
|
114
94
|
const outputDir = opts.output || project?.outputDir || './renode';
|
|
115
95
|
const client = (0, client_1.createClient)();
|
|
116
96
|
const result = await (0, spinner_1.withSpinner)('Generating Renode scripts...', () => client.generateScripts({
|
|
117
97
|
prompt: prompt,
|
|
118
|
-
|
|
119
|
-
mcu: mcu,
|
|
98
|
+
firmware: firmware,
|
|
120
99
|
sensors,
|
|
121
100
|
topologyId
|
|
122
101
|
}));
|
|
@@ -126,16 +105,16 @@ function registerGenerateCommand(program) {
|
|
|
126
105
|
}
|
|
127
106
|
// Write files
|
|
128
107
|
fs.mkdirSync(outputDir, { recursive: true });
|
|
129
|
-
const
|
|
130
|
-
const
|
|
108
|
+
const baseName = path.basename(firmware, '.elf');
|
|
109
|
+
const replPath = path.join(outputDir, `${baseName}.repl`);
|
|
110
|
+
const rescPath = path.join(outputDir, `${baseName}.resc`);
|
|
131
111
|
fs.writeFileSync(replPath, result.repl);
|
|
132
112
|
fs.writeFileSync(rescPath, result.resc);
|
|
133
113
|
(0, output_1.printSuccess)(`Generated ${replPath}`);
|
|
134
114
|
(0, output_1.printSuccess)(`Generated ${rescPath}`);
|
|
135
115
|
(0, output_1.printInfo)(`Output directory: ${path.resolve(outputDir)}`);
|
|
136
116
|
(0, output_1.printInfo)(`Prompt: "${prompt}"`);
|
|
137
|
-
(0, output_1.printInfo)(`
|
|
138
|
-
(0, output_1.printInfo)(`MCU: ${mcu}`);
|
|
117
|
+
(0, output_1.printInfo)(`Firmware: ${firmware}`);
|
|
139
118
|
if (sensors.length > 0) {
|
|
140
119
|
(0, output_1.printInfo)(`Sensors: ${sensors.join(', ')}`);
|
|
141
120
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate.js","sourceRoot":"","sources":["../../src/commands/generate.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASA,
|
|
1
|
+
{"version":3,"file":"generate.js","sourceRoot":"","sources":["../../src/commands/generate.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAiBpC,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAkD1D"}
|
package/dist/commands/init.js
CHANGED
|
@@ -6,13 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.registerInitCommand = registerInitCommand;
|
|
7
7
|
const inquirer_1 = __importDefault(require("inquirer"));
|
|
8
8
|
const store_1 = require("../config/store");
|
|
9
|
-
const detect_1 = require("../utils/detect");
|
|
10
9
|
const output_1 = require("../utils/output");
|
|
11
|
-
const POPULAR_MCUS = [
|
|
12
|
-
'STM32F407VG', 'STM32F103C8', 'STM32F746ZG', 'STM32H743ZI', 'STM32L476RG',
|
|
13
|
-
'nRF52840', 'nRF52832', 'ESP32', 'ESP32-S3', 'RP2040',
|
|
14
|
-
'ATSAMD21G18', 'ATSAMD51J19', 'ATmega328P', 'LPC1768', 'EFR32MG12',
|
|
15
|
-
];
|
|
16
10
|
const POPULAR_SENSORS = [
|
|
17
11
|
'BME280', 'BMP280', 'BME680', 'SHT31', 'HDC1080',
|
|
18
12
|
'MPU6050', 'LSM6DSO', 'ADXL345', 'LIS3DH', 'BNO055',
|
|
@@ -31,32 +25,11 @@ function registerInitCommand(program) {
|
|
|
31
25
|
.option('--json', 'Output as JSON')
|
|
32
26
|
.action(async (opts) => {
|
|
33
27
|
try {
|
|
34
|
-
const detected = (0, detect_1.detectMcu)();
|
|
35
|
-
if (detected.mcu) {
|
|
36
|
-
(0, output_1.printInfo)(`Auto-detected MCU: ${detected.mcu} (from ${detected.source})`);
|
|
37
|
-
}
|
|
38
|
-
if (detected.ide) {
|
|
39
|
-
(0, output_1.printInfo)(`Detected IDE: ${detected.ide === 'vscode' ? 'VS Code' : 'STM32CubeIDE'} (${detected.ideWorkspace})`);
|
|
40
|
-
}
|
|
41
28
|
const answers = await inquirer_1.default.prompt([
|
|
42
|
-
{
|
|
43
|
-
type: 'list',
|
|
44
|
-
name: 'mcu',
|
|
45
|
-
message: 'Select your MCU:',
|
|
46
|
-
choices: [...POPULAR_MCUS, new inquirer_1.default.Separator(), 'Other (enter manually)'],
|
|
47
|
-
default: detected.mcu || 'STM32F407VG',
|
|
48
|
-
},
|
|
49
|
-
{
|
|
50
|
-
type: 'input',
|
|
51
|
-
name: 'mcuCustom',
|
|
52
|
-
message: 'Enter MCU identifier:',
|
|
53
|
-
when: (a) => a.mcu === 'Other (enter manually)',
|
|
54
|
-
validate: (v) => v.length > 0 || 'MCU identifier required',
|
|
55
|
-
},
|
|
56
29
|
{
|
|
57
30
|
type: 'checkbox',
|
|
58
31
|
name: 'sensors',
|
|
59
|
-
message: 'Select sensors to include:',
|
|
32
|
+
message: 'Select sensors to include (optional):',
|
|
60
33
|
choices: POPULAR_SENSORS,
|
|
61
34
|
},
|
|
62
35
|
{
|
|
@@ -73,7 +46,6 @@ function registerInitCommand(program) {
|
|
|
73
46
|
},
|
|
74
47
|
]);
|
|
75
48
|
const config = {
|
|
76
|
-
mcu: answers.mcuCustom || answers.mcu,
|
|
77
49
|
sensors: answers.sensors,
|
|
78
50
|
firmware: answers.firmware || undefined,
|
|
79
51
|
outputDir: answers.outputDir,
|
|
@@ -84,18 +56,10 @@ function registerInitCommand(program) {
|
|
|
84
56
|
}
|
|
85
57
|
else {
|
|
86
58
|
(0, output_1.printSuccess)('Created .icaruspcb.json');
|
|
87
|
-
// Provide IDE-specific suggestions
|
|
88
|
-
if (detected.ide === 'vscode') {
|
|
89
|
-
(0, output_1.printInfo)('VS Code detected! Install the IcarusPCB extension for integrated features.');
|
|
90
|
-
(0, output_1.printInfo)('Run: code --install-extension icaruspcb.icaruspcb-vscode');
|
|
91
|
-
}
|
|
92
|
-
else if (detected.ide === 'stm32cubeide') {
|
|
93
|
-
(0, output_1.printInfo)('STM32CubeIDE detected! Consider using VS Code with IcarusPCB extension for enhanced features.');
|
|
94
|
-
}
|
|
95
59
|
(0, output_1.printInfo)('Next steps:');
|
|
96
60
|
(0, output_1.printInfo)(' 1. Run `icaruspcb login` to authenticate');
|
|
97
61
|
(0, output_1.printInfo)(' 2. Run `icaruspcb generate` to create Renode scripts');
|
|
98
|
-
(0, output_1.printInfo)(' 3. Run `icaruspcb simulate
|
|
62
|
+
(0, output_1.printInfo)(' 3. Run `icaruspcb simulate <firmware.elf>` to run a simulation');
|
|
99
63
|
}
|
|
100
64
|
}
|
|
101
65
|
catch (err) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":";;;;;AAiBA,kDAkDC;AAlED,wDAAgC;AAChC,2CAAqD;AACrD,4CAAsE;AAEtE,MAAM,eAAe,GAAG;IACtB,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS;IAChD,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ;IACnD,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU;IAC7C,QAAQ,EAAE,SAAS,EAAE,SAAS;IAC9B,QAAQ,EAAE,OAAO,EAAE,SAAS;IAC5B,SAAS,EAAE,SAAS;IACpB,QAAQ,EAAE,OAAO,EAAE,OAAO;IAC1B,QAAQ,EAAE,UAAU,EAAE,UAAU;IAChC,eAAe,EAAE,iBAAiB;CACnC,CAAC;AAEF,SAAgB,mBAAmB,CAAC,OAAgB;IAClD,OAAO;SACJ,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,+CAA+C,CAAC;SAC5D,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QACrB,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,kBAAQ,CAAC,MAAM,CAAC;gBACpC;oBACE,IAAI,EAAE,UAAU;oBAChB,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,uCAAuC;oBAChD,OAAO,EAAE,eAAe;iBACzB;gBACD;oBACE,IAAI,EAAE,OAAO;oBACb,IAAI,EAAE,UAAU;oBAChB,OAAO,EAAE,gCAAgC;oBACzC,OAAO,EAAE,EAAE;iBACZ;gBACD;oBACE,IAAI,EAAE,OAAO;oBACb,IAAI,EAAE,WAAW;oBACjB,OAAO,EAAE,yCAAyC;oBAClD,OAAO,EAAE,UAAU;iBACpB;aACF,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG;gBACb,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,SAAS;gBACvC,SAAS,EAAE,OAAO,CAAC,SAAS;aAC7B,CAAC;YAEF,IAAA,0BAAkB,EAAC,MAAM,CAAC,CAAC;YAE3B,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBACd,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAC/C,CAAC;iBAAM,CAAC;gBACN,IAAA,qBAAY,EAAC,yBAAyB,CAAC,CAAC;gBACxC,IAAA,kBAAS,EAAC,aAAa,CAAC,CAAC;gBACzB,IAAA,kBAAS,EAAC,4CAA4C,CAAC,CAAC;gBACxD,IAAA,kBAAS,EAAC,wDAAwD,CAAC,CAAC;gBACpE,IAAA,kBAAS,EAAC,kEAAkE,CAAC,CAAC;YAChF,CAAC;QACH,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,IAAA,mBAAU,EAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACxB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../src/commands/list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../src/commands/list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA4B1D"}
|
package/dist/commands/list.js
CHANGED
|
@@ -7,35 +7,7 @@ const spinner_1 = require("../utils/spinner");
|
|
|
7
7
|
function registerListCommand(program) {
|
|
8
8
|
const list = program
|
|
9
9
|
.command('list')
|
|
10
|
-
.description('List supported hardware')
|
|
11
|
-
.action(() => {
|
|
12
|
-
list.outputHelp();
|
|
13
|
-
process.exit(0);
|
|
14
|
-
});
|
|
15
|
-
list
|
|
16
|
-
.command('mcus')
|
|
17
|
-
.description('List supported MCU families')
|
|
18
|
-
.option('--json', 'Output as JSON')
|
|
19
|
-
.action(async (opts) => {
|
|
20
|
-
try {
|
|
21
|
-
const client = (0, client_1.createClient)();
|
|
22
|
-
const mcus = await (0, spinner_1.withSpinner)('Fetching MCU list...', () => client.listMcus());
|
|
23
|
-
if (opts.json) {
|
|
24
|
-
(0, output_1.printJson)(mcus);
|
|
25
|
-
return;
|
|
26
|
-
}
|
|
27
|
-
(0, output_1.printTable)(['ID', 'Name', 'Family', 'Cores'], mcus.map(m => [m.id, m.name, m.family, String(m.cores)]));
|
|
28
|
-
}
|
|
29
|
-
catch (err) {
|
|
30
|
-
if (opts.json) {
|
|
31
|
-
(0, output_1.printJsonError)(err.message);
|
|
32
|
-
}
|
|
33
|
-
else {
|
|
34
|
-
(0, output_1.printError)(err.message);
|
|
35
|
-
}
|
|
36
|
-
process.exit(1);
|
|
37
|
-
}
|
|
38
|
-
});
|
|
10
|
+
.description('List supported hardware');
|
|
39
11
|
list
|
|
40
12
|
.command('sensors')
|
|
41
13
|
.description('List supported sensors')
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../src/commands/list.ts"],"names":[],"mappings":";;AAKA,
|
|
1
|
+
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../src/commands/list.ts"],"names":[],"mappings":";;AAKA,kDA4BC;AAhCD,0CAA6C;AAC7C,4CAAoF;AACpF,8CAA+C;AAE/C,SAAgB,mBAAmB,CAAC,OAAgB;IAClD,MAAM,IAAI,GAAG,OAAO;SACjB,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,yBAAyB,CAAC,CAAC;IAE1C,IAAI;SACD,OAAO,CAAC,SAAS,CAAC;SAClB,WAAW,CAAC,wBAAwB,CAAC;SACrC,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QACrB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAA,qBAAY,GAAE,CAAC;YAC9B,MAAM,OAAO,GAAG,MAAM,IAAA,qBAAW,EAAC,yBAAyB,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;YAEzF,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBACd,IAAA,kBAAS,EAAC,OAAO,CAAC,CAAC;gBACnB,OAAO;YACT,CAAC;YAED,IAAA,mBAAU,EACR,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,EACnC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CACtD,CAAC;QACJ,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBAAC,IAAA,uBAAc,EAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAAC,CAAC;iBAAM,CAAC;gBAAC,IAAA,mBAAU,EAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAAC,CAAC;YACjF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"simulate.d.ts","sourceRoot":"","sources":["../../src/commands/simulate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"simulate.d.ts","sourceRoot":"","sources":["../../src/commands/simulate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAWpC,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA2E9D"}
|
|
@@ -36,7 +36,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
36
36
|
exports.registerSimulateCommand = registerSimulateCommand;
|
|
37
37
|
const client_1 = require("../api/client");
|
|
38
38
|
const store_1 = require("../config/store");
|
|
39
|
-
const detect_1 = require("../utils/detect");
|
|
40
39
|
const fs = __importStar(require("fs"));
|
|
41
40
|
const output_1 = require("../utils/output");
|
|
42
41
|
const spinner_1 = require("../utils/spinner");
|
|
@@ -47,18 +46,16 @@ function registerSimulateCommand(program) {
|
|
|
47
46
|
program
|
|
48
47
|
.command('simulate')
|
|
49
48
|
.description('Submit a simulation to the IcarusPCB API')
|
|
50
|
-
.
|
|
51
|
-
.option('--firmware <path>', 'Path to firmware .elf file')
|
|
49
|
+
.argument('[firmware]', 'Path to firmware .elf file')
|
|
52
50
|
.option('--sensors <list>', 'Comma-separated sensor list')
|
|
53
51
|
.option('--timeout <seconds>', 'Max wait time in seconds', '300')
|
|
54
52
|
.option('--json', 'Output as JSON')
|
|
55
|
-
.action(async (opts) => {
|
|
53
|
+
.action(async (firmwareArg, opts) => {
|
|
56
54
|
try {
|
|
57
55
|
const project = (0, store_1.readProjectConfig)();
|
|
58
|
-
const
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
const msg = 'No MCU specified. Use --mcu, create .icaruspcb.json, or run in a project directory.';
|
|
56
|
+
const firmware = firmwareArg || opts.firmware || project?.firmware;
|
|
57
|
+
if (!firmware) {
|
|
58
|
+
const msg = 'No firmware file specified. Usage: icaruspcb simulate <firmware.elf>';
|
|
62
59
|
if (opts.json) {
|
|
63
60
|
(0, output_1.printJsonError)(msg);
|
|
64
61
|
}
|
|
@@ -67,8 +64,7 @@ function registerSimulateCommand(program) {
|
|
|
67
64
|
}
|
|
68
65
|
process.exit(1);
|
|
69
66
|
}
|
|
70
|
-
|
|
71
|
-
if (firmware && !fs.existsSync(firmware)) {
|
|
67
|
+
if (!fs.existsSync(firmware)) {
|
|
72
68
|
const msg = `Firmware file not found: ${firmware}`;
|
|
73
69
|
if (opts.json) {
|
|
74
70
|
(0, output_1.printJsonError)(msg);
|
|
@@ -80,13 +76,11 @@ function registerSimulateCommand(program) {
|
|
|
80
76
|
}
|
|
81
77
|
const sensors = opts.sensors?.split(',') || project?.sensors || [];
|
|
82
78
|
const client = (0, client_1.createClient)();
|
|
83
|
-
(0, output_1.printInfo)(`
|
|
84
|
-
if (firmware)
|
|
85
|
-
(0, output_1.printInfo)(`Firmware: ${firmware}`);
|
|
79
|
+
(0, output_1.printInfo)(`Firmware: ${firmware}`);
|
|
86
80
|
if (sensors.length)
|
|
87
81
|
(0, output_1.printInfo)(`Sensors: ${sensors.join(', ')}`);
|
|
88
82
|
const spinner = (0, spinner_1.createSpinner)('Submitting simulation...').start();
|
|
89
|
-
const job = await client.submitSimulation({
|
|
83
|
+
const job = await client.submitSimulation({ firmware, sensors });
|
|
90
84
|
spinner.succeed(`Job submitted: ${job.jobId}`);
|
|
91
85
|
const pollSpinner = (0, spinner_1.createSpinner)('Waiting for results...').start();
|
|
92
86
|
const timeout = parseInt(opts.timeout, 10) * 1000;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"simulate.js","sourceRoot":"","sources":["../../src/commands/simulate.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"simulate.js","sourceRoot":"","sources":["../../src/commands/simulate.ts"],"names":[],"mappings":"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"}
|
package/dist/config/store.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/config/store.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/config/store.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAYD,wBAAgB,UAAU,IAAI,YAAY,CAOzC;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAGtD;AAED,wBAAgB,WAAW,IAAI,IAAI,CAIlC;AAED,wBAAgB,SAAS,IAAI,MAAM,GAAG,SAAS,CAE9C;AAED,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAED,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAED,wBAAgB,iBAAiB,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAQpE;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAG5E"}
|
package/dist/config/store.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/config/store.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/config/store.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6BA,gCAOC;AAED,kCAGC;AAED,kCAIC;AAED,8BAEC;AAED,oCAEC;AAED,sCAEC;AAED,8CAQC;AAED,gDAGC;AA1ED,uCAAyB;AACzB,2CAA6B;AAC7B,uCAAyB;AAiBzB,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,YAAY,CAAC,CAAC;AACzD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;AACzD,MAAM,YAAY,GAAG,iBAAiB,CAAC;AAEvC,SAAS,eAAe;IACtB,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/B,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAChD,CAAC;AACH,CAAC;AAED,SAAgB,UAAU;IACxB,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC;QAAE,OAAO,EAAE,CAAC;IAC3C,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC;IAC3D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,SAAgB,WAAW,CAAC,MAAoB;IAC9C,eAAe,EAAE,CAAC;IAClB,EAAE,CAAC,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;AACxE,CAAC;AAED,SAAgB,WAAW;IACzB,IAAI,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAC/B,WAAW,CAAC,EAAE,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,SAAgB,SAAS;IACvB,OAAO,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,UAAU,EAAE,CAAC,MAAM,CAAC;AAC9D,CAAC;AAED,SAAgB,YAAY;IAC1B,OAAO,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,UAAU,EAAE,CAAC,SAAS,IAAI,uBAAuB,CAAC;AAC/F,CAAC;AAED,SAAgB,aAAa;IAC3B,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,SAAgB,iBAAiB,CAAC,GAAY;IAC5C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,EAAE,YAAY,CAAC,CAAC;IAC/D,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO,IAAI,CAAC;IAC1C,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;IACxD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAgB,kBAAkB,CAAC,MAAqB,EAAE,GAAY;IACpE,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,EAAE,YAAY,CAAC,CAAC;IAC/D,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;AACrE,CAAC"}
|