Repository navigation
Expand file tree
/
Copy pathtest-setup.js
More file actions
145 lines (122 loc) Β· 3.98 KB
/
Copy pathtest-setup.js
File metadata and controls
145 lines (122 loc) Β· 3.98 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
/**
* FlowASM Setup Test
* Verifies all components are properly configured
*/
import { existsSync } from 'fs';
import { readFile } from 'fs/promises';
console.log('π FlowASM Setup Verification\n');
const checks = [];
// Check core files
const coreFiles = [
'core/runner.js',
'core/flow-engine.js',
'core/api.js'
];
console.log('Checking core files...');
for (const file of coreFiles) {
const exists = existsSync(file);
checks.push({ name: `Core: ${file}`, status: exists });
console.log(` ${exists ? 'β' : 'β'} ${file}`);
}
// Check engines
const engineFiles = [
'engines/asm-sandbox/adapter.js',
'engines/asm-sandbox/engine.js'
];
console.log('\nChecking engines...');
for (const file of engineFiles) {
const exists = existsSync(file);
checks.push({ name: `Engine: ${file}`, status: exists });
console.log(` ${exists ? 'β' : 'β'} ${file}`);
}
// Check connectors
const connectorFiles = [
'connectors/tk5/connector.js',
'connectors/zos/connector.js',
'connectors/zeroframe/connector.js'
];
console.log('\nChecking connectors...');
for (const file of connectorFiles) {
const exists = existsSync(file);
checks.push({ name: `Connector: ${file}`, status: exists });
console.log(` ${exists ? 'β' : 'β'} ${file}`);
}
// Check UI
const uiFiles = [
'ui/index.html',
'ui/app.js',
'ui/styles.css'
];
console.log('\nChecking UI...');
for (const file of uiFiles) {
const exists = existsSync(file);
checks.push({ name: `UI: ${file}`, status: exists });
console.log(` ${exists ? 'β' : 'β'} ${file}`);
}
// Check workflows
const workflowFiles = [
'workflows/payroll-demo.json',
'workflows/tk5-demo.json',
'workflows/zos-integration.json'
];
console.log('\nChecking workflows...');
for (const file of workflowFiles) {
const exists = existsSync(file);
checks.push({ name: `Workflow: ${file}`, status: exists });
console.log(` ${exists ? 'β' : 'β'} ${file}`);
}
// Check documentation
const docFiles = [
'README.md',
'docs/README_DEMO.md',
'docs/CREDENTIALS_TEMPLATE.md',
'docs/SUBMISSION_REPORT.md'
];
console.log('\nChecking documentation...');
for (const file of docFiles) {
const exists = existsSync(file);
checks.push({ name: `Doc: ${file}`, status: exists });
console.log(` ${exists ? 'β' : 'β'} ${file}`);
}
// Check main files
const mainFiles = [
'server.js',
'cli-demo.js',
'package.json',
'.gitignore'
];
console.log('\nChecking main files...');
for (const file of mainFiles) {
const exists = existsSync(file);
checks.push({ name: `Main: ${file}`, status: exists });
console.log(` ${exists ? 'β' : 'β'} ${file}`);
}
// Verify package.json
console.log('\nVerifying package.json...');
try {
const pkg = JSON.parse(await readFile('package.json', 'utf-8'));
const hasExpress = pkg.dependencies && pkg.dependencies.express;
const noPython = !JSON.stringify(pkg).includes('python');
checks.push({ name: 'Express dependency', status: hasExpress });
checks.push({ name: 'No Python dependencies', status: noPython });
console.log(` ${hasExpress ? 'β' : 'β'} Express dependency`);
console.log(` ${noPython ? 'β' : 'β'} No Python dependencies`);
} catch (error) {
console.log(` β Error reading package.json: ${error.message}`);
}
// Summary
console.log('\n' + '='.repeat(50));
const passed = checks.filter(c => c.status).length;
const total = checks.length;
const percentage = Math.round((passed / total) * 100);
console.log(`Summary: ${passed}/${total} checks passed (${percentage}%)`);
if (passed === total) {
console.log('\nβ
All checks passed! FlowASM is ready to run.');
console.log('\nNext steps:');
console.log(' β’ Run demo: npm run demo');
console.log(' β’ Start server: npm start');
console.log(' β’ Open UI: http://localhost:3000');
} else {
console.log('\nβ οΈ Some checks failed. Please review the output above.');
process.exit(1);
}