@erosolaraijs/cure 2.3.0 → 2.4.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.
Files changed (68) hide show
  1. package/README.md +321 -26
  2. package/dist/bin/cure.js +114 -1
  3. package/dist/bin/cure.js.map +1 -1
  4. package/dist/capabilities/clinicalTrialMatchingModule.d.ts +150 -0
  5. package/dist/capabilities/clinicalTrialMatchingModule.d.ts.map +1 -0
  6. package/dist/capabilities/clinicalTrialMatchingModule.js +436 -0
  7. package/dist/capabilities/clinicalTrialMatchingModule.js.map +1 -0
  8. package/dist/capabilities/cureValidationFramework.d.ts +195 -0
  9. package/dist/capabilities/cureValidationFramework.d.ts.map +1 -0
  10. package/dist/capabilities/cureValidationFramework.js +577 -0
  11. package/dist/capabilities/cureValidationFramework.js.map +1 -0
  12. package/dist/capabilities/emergencyOncology.d.ts +97 -0
  13. package/dist/capabilities/emergencyOncology.d.ts.map +1 -0
  14. package/dist/capabilities/emergencyOncology.js +1824 -0
  15. package/dist/capabilities/emergencyOncology.js.map +1 -0
  16. package/dist/capabilities/index.d.ts +11 -0
  17. package/dist/capabilities/index.d.ts.map +1 -1
  18. package/dist/capabilities/index.js +22 -0
  19. package/dist/capabilities/index.js.map +1 -1
  20. package/dist/capabilities/multimodalOncologyModule.d.ts +149 -0
  21. package/dist/capabilities/multimodalOncologyModule.d.ts.map +1 -0
  22. package/dist/capabilities/multimodalOncologyModule.js +701 -0
  23. package/dist/capabilities/multimodalOncologyModule.js.map +1 -0
  24. package/dist/capabilities/palliativeCareModule.d.ts +216 -0
  25. package/dist/capabilities/palliativeCareModule.d.ts.map +1 -0
  26. package/dist/capabilities/palliativeCareModule.js +1160 -0
  27. package/dist/capabilities/palliativeCareModule.js.map +1 -0
  28. package/dist/capabilities/precisionMedicineModule.d.ts +151 -0
  29. package/dist/capabilities/precisionMedicineModule.d.ts.map +1 -0
  30. package/dist/capabilities/precisionMedicineModule.js +758 -0
  31. package/dist/capabilities/precisionMedicineModule.js.map +1 -0
  32. package/dist/capabilities/specialPopulationsModule.d.ts +126 -0
  33. package/dist/capabilities/specialPopulationsModule.d.ts.map +1 -0
  34. package/dist/capabilities/specialPopulationsModule.js +574 -0
  35. package/dist/capabilities/specialPopulationsModule.js.map +1 -0
  36. package/dist/capabilities/survivorshipManagement.d.ts +178 -0
  37. package/dist/capabilities/survivorshipManagement.d.ts.map +1 -0
  38. package/dist/capabilities/survivorshipManagement.js +983 -0
  39. package/dist/capabilities/survivorshipManagement.js.map +1 -0
  40. package/dist/capabilities/treatmentSequencing.d.ts +140 -0
  41. package/dist/capabilities/treatmentSequencing.d.ts.map +1 -0
  42. package/dist/capabilities/treatmentSequencing.js +1689 -0
  43. package/dist/capabilities/treatmentSequencing.js.map +1 -0
  44. package/dist/capabilities/universalHealthFramework.d.ts +108 -0
  45. package/dist/capabilities/universalHealthFramework.d.ts.map +1 -0
  46. package/dist/capabilities/universalHealthFramework.js +615 -0
  47. package/dist/capabilities/universalHealthFramework.js.map +1 -0
  48. package/dist/compliance/hipaa.d.ts.map +1 -1
  49. package/dist/compliance/hipaa.js +7 -16
  50. package/dist/compliance/hipaa.js.map +1 -1
  51. package/dist/tools/index.d.ts +31 -0
  52. package/dist/tools/index.d.ts.map +1 -0
  53. package/dist/tools/index.js +1373 -0
  54. package/dist/tools/index.js.map +1 -0
  55. package/package.json +3 -2
  56. package/src/bin/cure.ts +130 -1
  57. package/src/capabilities/clinicalTrialMatchingModule.ts +600 -0
  58. package/src/capabilities/emergencyOncology.ts +1945 -0
  59. package/src/capabilities/index.ts +181 -0
  60. package/src/capabilities/multimodalOncologyModule.ts +873 -0
  61. package/src/capabilities/palliativeCareModule.ts +1438 -0
  62. package/src/capabilities/precisionMedicineModule.ts +952 -0
  63. package/src/capabilities/specialPopulationsModule.ts +711 -0
  64. package/src/capabilities/survivorshipManagement.ts +1213 -0
  65. package/src/capabilities/treatmentSequencing.ts +1878 -0
  66. package/src/capabilities/universalHealthFramework.ts +739 -0
  67. package/src/compliance/hipaa.ts +7 -15
  68. package/src/tools/index.ts +1628 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@erosolaraijs/cure",
3
- "version": "2.3.0",
3
+ "version": "2.4.0",
4
4
  "description": "AI-powered unified cancer treatment framework with multi-provider support for medical research and patient care",
5
5
  "main": "dist/bin/cure.js",
6
6
  "type": "module",
@@ -23,7 +23,8 @@
23
23
  "dev": "node --loader ts-node/esm src/bin/cure.ts",
24
24
  "start": "node dist/bin/cure.js",
25
25
  "demo": "npx tsx src/examples/cancerTreatmentDemo.ts",
26
- "type-check": "tsc --noEmit"
26
+ "type-check": "tsc --noEmit",
27
+ "test": "npm run type-check && node --loader ts-node/esm --test test/*.test.ts"
27
28
  },
28
29
  "keywords": [
29
30
  "cancer-treatment",
package/src/bin/cure.ts CHANGED
@@ -25,8 +25,14 @@ import {
25
25
  type RealWorldConfig,
26
26
  type RealWorldPatient
27
27
  } from '../orchestrator/realWorldOncology.js';
28
+ import {
29
+ getCliTool,
30
+ listCliTools,
31
+ type ToolContext,
32
+ type ToolReport
33
+ } from '../tools/index.js';
28
34
 
29
- const VERSION = '2.3.0';
35
+ const VERSION = '2.4.0';
30
36
  const PACKAGE_NAME = '@erosolaraijs/cure';
31
37
  const UPDATE_CHECK_INTERVAL = 24 * 60 * 60 * 1000; // 24 hours
32
38
 
@@ -572,6 +578,23 @@ async function processInput(input: string): Promise<void> {
572
578
  case 'predict':
573
579
  await predictOutcomes(args[0] || 'P001');
574
580
  return;
581
+ case 'tools':
582
+ printToolList();
583
+ return;
584
+ case 'tool':
585
+ if (!args[0]) {
586
+ console.log(`\n${colors.yellow}Usage: /tool <selftest|validate>${colors.reset}`);
587
+ printToolList();
588
+ return;
589
+ }
590
+ await runTool(args[0], args.slice(1));
591
+ return;
592
+ case 'selftest':
593
+ await runTool('selftest', args);
594
+ return;
595
+ case 'validate':
596
+ await runTool('validate', args);
597
+ return;
575
598
  case 'status':
576
599
  await showSystemStatus();
577
600
  return;
@@ -1094,6 +1117,80 @@ async function manageGenomics(args: string[]): Promise<void> {
1094
1117
  }
1095
1118
  }
1096
1119
 
1120
+ function printToolList(): void {
1121
+ const tools = listCliTools();
1122
+ console.log(`\n${colors.bold}Tools${colors.reset}`);
1123
+ console.log(`${colors.dim}─────────────────────────────${colors.reset}`);
1124
+ tools.forEach(tool => {
1125
+ console.log(` ${colors.cyan}${tool.id}${colors.reset} ${tool.description}`);
1126
+ });
1127
+ console.log(` ${colors.cyan}all${colors.reset} Run all tools`);
1128
+ console.log(`${colors.dim}Use /tool <id> to run a tool.${colors.reset}`);
1129
+ }
1130
+
1131
+ async function runTool(toolId: string, args: string[]): Promise<void> {
1132
+ if (toolId === 'all') {
1133
+ await runAllTools(args);
1134
+ return;
1135
+ }
1136
+
1137
+ const tool = getCliTool(toolId);
1138
+ if (!tool) {
1139
+ console.log(`\n${colors.red}Unknown tool: ${toolId}${colors.reset}`);
1140
+ printToolList();
1141
+ return;
1142
+ }
1143
+
1144
+ console.log(`\n${colors.cyan}Running tool: ${tool.id}${colors.reset}`);
1145
+ const context: ToolContext = { cancerTreatment, oncologyService, serviceConfig };
1146
+ const report = await tool.run(context, args);
1147
+ printToolReport(report);
1148
+ }
1149
+
1150
+ async function runAllTools(args: string[]): Promise<void> {
1151
+ const tools = listCliTools();
1152
+ const context: ToolContext = { cancerTreatment, oncologyService, serviceConfig };
1153
+ const results: ToolReport[] = [];
1154
+
1155
+ for (const tool of tools) {
1156
+ console.log(`\n${colors.cyan}Running tool: ${tool.id}${colors.reset}`);
1157
+ const report = await tool.run(context, args);
1158
+ results.push(report);
1159
+ printToolReport(report);
1160
+ }
1161
+
1162
+ const failures = results.filter(result => !result.ok).length;
1163
+ const statusColor = failures === 0 ? colors.green : colors.yellow;
1164
+ console.log(`\n${statusColor}All tools complete: ${results.length} run, ${failures} failed.${colors.reset}`);
1165
+ }
1166
+
1167
+ function printToolReport(report: ToolReport): void {
1168
+ const statusLabel = report.ok ? `${colors.green}OK${colors.reset}` : `${colors.red}FAIL${colors.reset}`;
1169
+
1170
+ console.log(`\n${colors.bold}Tool Report${colors.reset}`);
1171
+ console.log(`${colors.dim}─────────────────────────────${colors.reset}`);
1172
+ console.log(` Tool: ${report.toolId}`);
1173
+ console.log(` Status: ${statusLabel}`);
1174
+ console.log(` Summary: ${report.summary}`);
1175
+ console.log(` Duration: ${report.durationMs}ms`);
1176
+
1177
+ if (report.checks && report.checks.length > 0) {
1178
+ console.log(`\n${colors.bold}Checks${colors.reset}`);
1179
+ report.checks.forEach(check => {
1180
+ const icon = check.ok ? `${colors.green}✓${colors.reset}` : `${colors.red}✗${colors.reset}`;
1181
+ const detail = check.detail ? ` ${colors.dim}${check.detail}${colors.reset}` : '';
1182
+ console.log(` ${icon} ${check.name}${detail}`);
1183
+ });
1184
+ }
1185
+
1186
+ if (report.metrics && Object.keys(report.metrics).length > 0) {
1187
+ console.log(`\n${colors.bold}Metrics${colors.reset}`);
1188
+ Object.entries(report.metrics).forEach(([key, value]) => {
1189
+ console.log(` ${colors.cyan}${key}${colors.reset}: ${value}`);
1190
+ });
1191
+ }
1192
+ }
1193
+
1097
1194
  async function runDemo(): Promise<void> {
1098
1195
  console.log(`\n${colors.cyan}Running framework demo...${colors.reset}\n`);
1099
1196
 
@@ -1142,6 +1239,23 @@ async function handleCommand(args: string[]): Promise<void> {
1142
1239
  else if (args.includes('--status')) {
1143
1240
  await showSystemStatus();
1144
1241
  }
1242
+ else if (args.includes('--tools')) {
1243
+ printToolList();
1244
+ }
1245
+ else if (args.some(arg => arg.startsWith('--tool='))) {
1246
+ const toolId = args.find(arg => arg.startsWith('--tool='))?.split('=')[1];
1247
+ if (!toolId) {
1248
+ console.log(`${colors.red}Missing tool id.${colors.reset} Use --tool=<id>.`);
1249
+ process.exit(1);
1250
+ }
1251
+ await runTool(toolId, []);
1252
+ }
1253
+ else if (args.includes('--selftest')) {
1254
+ await runTool('selftest', []);
1255
+ }
1256
+ else if (args.includes('--validate')) {
1257
+ await runTool('validate', []);
1258
+ }
1145
1259
  else if (args.includes('--demo')) {
1146
1260
  await runDemo();
1147
1261
  }
@@ -1185,6 +1299,14 @@ ${colors.dim}──────────────────────
1185
1299
  ${colors.cyan}/predict${colors.reset} [patient] ML outcome predictions
1186
1300
  ${colors.cyan}/status${colors.reset} System health check
1187
1301
 
1302
+ ${colors.bold}Tools${colors.reset}
1303
+ ${colors.dim}─────────────────────────────────────${colors.reset}
1304
+ ${colors.cyan}/tools${colors.reset} List diagnostic tools
1305
+ ${colors.cyan}/tool${colors.reset} <id> Run a tool (see /tools)
1306
+ ${colors.cyan}/tool${colors.reset} all Run all tools
1307
+ ${colors.cyan}/selftest${colors.reset} Run core capability checks
1308
+ ${colors.cyan}/validate${colors.reset} Run retrospective validation
1309
+
1188
1310
  ${colors.bold}Integrations${colors.reset}
1189
1311
  ${colors.dim}─────────────────────────────────────${colors.reset}
1190
1312
  ${colors.cyan}/ehr${colors.reset} [connect|status] EHR integration (Epic/Cerner)
@@ -1245,6 +1367,10 @@ ${colors.bold}Commands:${colors.reset}
1245
1367
  --safety Check drug interactions
1246
1368
  --predict ML outcome predictions
1247
1369
  --status System health check
1370
+ --tools List diagnostic tools
1371
+ --tool=<id> Run a tool (use --tools to list, or --tool=all)
1372
+ --selftest Run core capability checks
1373
+ --validate Run retrospective validation
1248
1374
  --demo Run framework demo
1249
1375
  --help, -h Show this help
1250
1376
  --version, -v Show version
@@ -1259,6 +1385,7 @@ ${colors.bold}Options:${colors.reset}
1259
1385
  --mutations=<list> Comma-separated mutations
1260
1386
  --biomarkers=<list> Comma-separated biomarkers
1261
1387
  --drugs=<list> Comma-separated drug names
1388
+ --tool=<id> Tool ID (use --tool=all to run all tools)
1262
1389
 
1263
1390
  ${colors.bold}Environment:${colors.reset}
1264
1391
  AI_PROVIDER AI provider: 'xai' or 'openai' (default: xai)
@@ -1275,6 +1402,8 @@ ${colors.bold}Examples:${colors.reset}
1275
1402
  cure --safety --drugs=pembrolizumab,ipilimumab
1276
1403
  cure --analyze-patient --patient=P001 --genomics
1277
1404
  cure --drug-discovery --target=BRAF --cancer=Melanoma
1405
+ cure --selftest
1406
+ cure --tool=all
1278
1407
 
1279
1408
  ${colors.bold}Integrated Systems:${colors.reset}
1280
1409
  • EHR: Epic, Cerner (HL7 FHIR R4)