erosolar-cli 2.1.295 → 2.1.297

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.
@@ -0,0 +1,59 @@
1
+ /**
2
+ * Cancer Research Module
3
+ *
4
+ * This module demonstrates how TypeScript/JavaScript can be used for
5
+ * cancer research data analysis and machine learning pipelines.
6
+ *
7
+ * While real cancer research requires domain expertise and clinical validation,
8
+ * software engineering enables scalable analysis and reproducible research.
9
+ */
10
+ export interface CancerDataset {
11
+ samples: number;
12
+ features: number;
13
+ data: number[][];
14
+ labels: number[];
15
+ featureNames: string[];
16
+ }
17
+ export interface CancerStatistics {
18
+ nSamples: number;
19
+ nFeatures: number;
20
+ classDistribution: {
21
+ benign: number;
22
+ malignant: number;
23
+ };
24
+ featureMeans: Record<string, number>;
25
+ featureStds: Record<string, number>;
26
+ }
27
+ export interface ModelMetrics {
28
+ accuracy: number;
29
+ precision: number;
30
+ recall: number;
31
+ f1Score: number;
32
+ }
33
+ export declare class CancerResearchPipeline {
34
+ private seed;
35
+ private dataset;
36
+ private results;
37
+ constructor(seed?: number);
38
+ /**
39
+ * Generate synthetic cancer dataset
40
+ */
41
+ generateSyntheticData(nSamples?: number, nFeatures?: number): CancerDataset;
42
+ /**
43
+ * Compute basic statistics on the dataset
44
+ */
45
+ computeStatistics(): CancerStatistics;
46
+ /**
47
+ * Simple logistic regression implementation (educational purposes only)
48
+ */
49
+ trainLogisticRegression(testSize?: number): ModelMetrics;
50
+ /**
51
+ * Run complete pipeline
52
+ */
53
+ runPipeline(): Record<string, any>;
54
+ /**
55
+ * Export results to JSON file (node.js environment)
56
+ */
57
+ exportResults(filePath?: string): Promise<void>;
58
+ }
59
+ //# sourceMappingURL=cancerResearch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cancerResearch.d.ts","sourceRoot":"","sources":["../../src/science/cancerResearch.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC;IACjB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE;QACjB,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACrC;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,sBAAsB;IAIrB,OAAO,CAAC,IAAI;IAHxB,OAAO,CAAC,OAAO,CAA8B;IAC7C,OAAO,CAAC,OAAO,CAA2B;gBAEtB,IAAI,GAAE,MAAW;IAKrC;;OAEG;IACH,qBAAqB,CAAC,QAAQ,GAAE,MAAa,EAAE,SAAS,GAAE,MAAW,GAAG,aAAa;IAyCrF;;OAEG;IACH,iBAAiB,IAAI,gBAAgB;IAoCrC;;OAEG;IACH,uBAAuB,CAAC,QAAQ,GAAE,MAAY,GAAG,YAAY;IAuF7D;;OAEG;IACH,WAAW,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IA+BlC;;OAEG;IACG,aAAa,CAAC,QAAQ,GAAE,MAA0C,GAAG,OAAO,CAAC,IAAI,CAAC;CAUzF"}
@@ -0,0 +1,219 @@
1
+ /**
2
+ * Cancer Research Module
3
+ *
4
+ * This module demonstrates how TypeScript/JavaScript can be used for
5
+ * cancer research data analysis and machine learning pipelines.
6
+ *
7
+ * While real cancer research requires domain expertise and clinical validation,
8
+ * software engineering enables scalable analysis and reproducible research.
9
+ */
10
+ export class CancerResearchPipeline {
11
+ seed;
12
+ dataset = null;
13
+ results = {};
14
+ constructor(seed = 42) {
15
+ this.seed = seed;
16
+ // Simple seed for reproducibility
17
+ // Note: In production, use proper seeding libraries
18
+ }
19
+ /**
20
+ * Generate synthetic cancer dataset
21
+ */
22
+ generateSyntheticData(nSamples = 1000, nFeatures = 30) {
23
+ const data = [];
24
+ const labels = [];
25
+ const featureNames = Array.from({ length: nFeatures }, (_, i) => `gene_${i + 1}`);
26
+ // Simple synthetic data generation
27
+ for (let i = 0; i < nSamples; i++) {
28
+ const sample = [];
29
+ let weightedSum = 0;
30
+ for (let j = 0; j < nFeatures; j++) {
31
+ // Generate feature with normal distribution-like values
32
+ const value = (Math.random() * 2 - 1) + (Math.random() * 2 - 1); // Rough normal approximation
33
+ sample.push(value);
34
+ // Simple weight for correlation with label
35
+ weightedSum += value * (j % 3 - 1); // Arbitrary weights
36
+ }
37
+ // Convert to probability using sigmoid
38
+ const probability = 1 / (1 + Math.exp(-weightedSum / nFeatures));
39
+ const label = probability > 0.5 ? 1 : 0;
40
+ // Add some noise
41
+ const finalLabel = Math.random() > 0.8 ? 1 - label : label;
42
+ labels.push(finalLabel);
43
+ data.push(sample);
44
+ }
45
+ this.dataset = {
46
+ samples: nSamples,
47
+ features: nFeatures,
48
+ data,
49
+ labels,
50
+ featureNames
51
+ };
52
+ console.log(`Generated synthetic cancer dataset with ${nSamples} samples, ${nFeatures} features`);
53
+ return this.dataset;
54
+ }
55
+ /**
56
+ * Compute basic statistics on the dataset
57
+ */
58
+ computeStatistics() {
59
+ if (!this.dataset) {
60
+ throw new Error('No dataset loaded. Call generateSyntheticData() first.');
61
+ }
62
+ const { data, labels, featureNames } = this.dataset;
63
+ // Class distribution
64
+ const benign = labels.filter(l => l === 0).length;
65
+ const malignant = labels.filter(l => l === 1).length;
66
+ // Feature means and stds
67
+ const featureMeans = {};
68
+ const featureStds = {};
69
+ for (let j = 0; j < this.dataset.features; j++) {
70
+ const values = data.map(row => row[j]);
71
+ const mean = values.reduce((a, b) => a + b, 0) / values.length;
72
+ const variance = values.reduce((sq, n) => sq + Math.pow(n - mean, 2), 0) / values.length;
73
+ featureMeans[featureNames[j]] = mean;
74
+ featureStds[featureNames[j]] = Math.sqrt(variance);
75
+ }
76
+ const stats = {
77
+ nSamples: this.dataset.samples,
78
+ nFeatures: this.dataset.features,
79
+ classDistribution: { benign, malignant },
80
+ featureMeans,
81
+ featureStds
82
+ };
83
+ this.results.statistics = stats;
84
+ return stats;
85
+ }
86
+ /**
87
+ * Simple logistic regression implementation (educational purposes only)
88
+ */
89
+ trainLogisticRegression(testSize = 0.2) {
90
+ if (!this.dataset) {
91
+ throw new Error('No dataset loaded.');
92
+ }
93
+ const { data, labels } = this.dataset;
94
+ const n = data.length;
95
+ const splitIdx = Math.floor(n * (1 - testSize));
96
+ // Simple shuffle (Fisher-Yates)
97
+ const indices = Array.from({ length: n }, (_, i) => i);
98
+ for (let i = n - 1; i > 0; i--) {
99
+ const j = Math.floor(Math.random() * (i + 1));
100
+ [indices[i], indices[j]] = [indices[j], indices[i]];
101
+ }
102
+ // Split data
103
+ const trainData = indices.slice(0, splitIdx).map(i => data[i]);
104
+ const trainLabels = indices.slice(0, splitIdx).map(i => labels[i]);
105
+ const testData = indices.slice(splitIdx).map(i => data[i]);
106
+ const testLabels = indices.slice(splitIdx).map(i => labels[i]);
107
+ // Simple logistic regression weights (gradient descent)
108
+ const nFeatures = data[0].length;
109
+ const weights = Array(nFeatures + 1).fill(0); // +1 for bias
110
+ const learningRate = 0.01;
111
+ const epochs = 100;
112
+ for (let epoch = 0; epoch < epochs; epoch++) {
113
+ for (let i = 0; i < trainData.length; i++) {
114
+ const features = [1, ...trainData[i]]; // Add bias term
115
+ let weightedSum = 0;
116
+ for (let j = 0; j < weights.length; j++) {
117
+ weightedSum += weights[j] * features[j];
118
+ }
119
+ const prediction = 1 / (1 + Math.exp(-weightedSum));
120
+ const error = prediction - trainLabels[i];
121
+ // Update weights
122
+ for (let j = 0; j < weights.length; j++) {
123
+ weights[j] -= learningRate * error * features[j];
124
+ }
125
+ }
126
+ }
127
+ // Evaluate on test set
128
+ let truePositives = 0;
129
+ let falsePositives = 0;
130
+ let falseNegatives = 0;
131
+ let correct = 0;
132
+ for (let i = 0; i < testData.length; i++) {
133
+ const features = [1, ...testData[i]];
134
+ let weightedSum = 0;
135
+ for (let j = 0; j < weights.length; j++) {
136
+ weightedSum += weights[j] * features[j];
137
+ }
138
+ const prediction = weightedSum > 0 ? 1 : 0;
139
+ const actual = testLabels[i];
140
+ if (prediction === actual) {
141
+ correct++;
142
+ if (prediction === 1)
143
+ truePositives++;
144
+ }
145
+ else {
146
+ if (prediction === 1)
147
+ falsePositives++;
148
+ else
149
+ falseNegatives++;
150
+ }
151
+ }
152
+ const accuracy = correct / testData.length;
153
+ const precision = truePositives / (truePositives + falsePositives) || 0;
154
+ const recall = truePositives / (truePositives + falseNegatives) || 0;
155
+ const f1Score = 2 * (precision * recall) / (precision + recall) || 0;
156
+ const metrics = {
157
+ accuracy,
158
+ precision,
159
+ recall,
160
+ f1Score
161
+ };
162
+ this.results.modelMetrics = metrics;
163
+ return metrics;
164
+ }
165
+ /**
166
+ * Run complete pipeline
167
+ */
168
+ runPipeline() {
169
+ console.log('Starting TypeScript cancer research pipeline...');
170
+ // Generate data
171
+ this.generateSyntheticData(800, 25);
172
+ // Compute statistics
173
+ const stats = this.computeStatistics();
174
+ console.log('Statistics:', JSON.stringify(stats, null, 2));
175
+ // Train model
176
+ const metrics = this.trainLogisticRegression();
177
+ console.log('Model metrics:', JSON.stringify(metrics, null, 2));
178
+ // Generate report
179
+ const report = {
180
+ pipelineVersion: '1.0.0',
181
+ timestamp: new Date().toISOString(),
182
+ dataset: {
183
+ samples: this.dataset.samples,
184
+ features: this.dataset.features
185
+ },
186
+ statistics: stats,
187
+ modelMetrics: metrics,
188
+ interpretation: 'This TypeScript implementation demonstrates basic ML for cancer research. Real applications require domain expertise, validated datasets, and clinical trials.'
189
+ };
190
+ this.results.report = report;
191
+ return report;
192
+ }
193
+ /**
194
+ * Export results to JSON file (node.js environment)
195
+ */
196
+ async exportResults(filePath = 'cancer_research_typescript.json') {
197
+ if (typeof window !== 'undefined') {
198
+ console.warn('Browser environment: cannot write to file system');
199
+ return;
200
+ }
201
+ const fs = await import('fs/promises');
202
+ await fs.writeFile(filePath, JSON.stringify(this.results, null, 2));
203
+ console.log(`Results exported to ${filePath}`);
204
+ }
205
+ }
206
+ // Example usage (if run directly)
207
+ if (require.main === module) {
208
+ const pipeline = new CancerResearchPipeline();
209
+ const report = pipeline.runPipeline();
210
+ console.log('\n=== TypeScript Cancer Research Pipeline Complete ===');
211
+ console.log('This demonstrates how Node.js/TypeScript can be used for biomedical research.');
212
+ console.log('Key advantages:');
213
+ console.log('- Strong typing for data integrity');
214
+ console.log('- Async/await for large-scale data processing');
215
+ console.log('- Integration with web technologies for visualization');
216
+ console.log('- Cross-platform deployment (server, browser, mobile)');
217
+ pipeline.exportResults().catch(console.error);
218
+ }
219
+ //# sourceMappingURL=cancerResearch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cancerResearch.js","sourceRoot":"","sources":["../../src/science/cancerResearch.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "erosolar-cli",
3
- "version": "2.1.295",
3
+ "version": "2.1.297",
4
4
  "description": "Unified AI agent framework for the command line - Multi-provider support with schema-driven tools, code intelligence, and transparent reasoning",
5
5
  "main": "dist/bin/erosolar.js",
6
6
  "type": "module",
@@ -53,8 +53,6 @@
53
53
  "quality-gate": "npm run complexity-check && npm run health-check && npm run type-check",
54
54
  "quality-dashboard": "node scripts/code-quality-dashboard.js",
55
55
  "full-flow": "node scripts/full-flow-human.mjs",
56
- "agi:verify": "node scripts/verify-agi.mjs",
57
- "agi:real-flow": "node scripts/real-agi-flow-test.mjs",
58
56
  "ai-code-review": "node scripts/ai-code-reviewer.mjs",
59
57
  "code-intelligence": "node scripts/code-intelligence-enhancer.mjs",
60
58
  "dev-productivity": "node scripts/dev-productivity-booster.mjs",
@@ -129,7 +127,6 @@
129
127
  "boxen": "^5.1.2",
130
128
  "chalk": "^4.1.2",
131
129
  "cli-spinners": "^2.9.2",
132
- "erosolar-cli": "^2.1.248",
133
130
  "gradient-string": "^2.0.2",
134
131
  "nanospinner": "^1.1.0",
135
132
  "nodemailer": "^7.0.10",
@@ -1,121 +0,0 @@
1
- /**
2
- * Real AGI Core - Pure Tool-Based Autonomous Intelligence
3
- *
4
- * NO INTENTS - Only tools
5
- * NO SIMULATIONS - Everything executes for real
6
- * NO CATEGORIES - Just understanding and execution
7
- *
8
- * This mirrors how Claude Code works:
9
- * 1. Understand the prompt
10
- * 2. Think about what tools to use
11
- * 3. Execute tools in sequence
12
- * 4. Display results in Claude Code style
13
- *
14
- * Handles ANY prompt: software, research, legal, finance, defense, or anything else
15
- */
16
- import { type ToolMatch } from './toolEmbeddings.js';
17
- /** A real tool that can be executed */
18
- export interface RealTool {
19
- name: string;
20
- execute: (args: Record<string, unknown>) => Promise<ToolResult>;
21
- }
22
- /** Result from executing a tool */
23
- export interface ToolResult {
24
- success: boolean;
25
- output: string;
26
- error?: string;
27
- duration: number;
28
- artifacts?: string[];
29
- }
30
- /** A step in execution - just tool + args */
31
- export interface ExecutionStep {
32
- id: string;
33
- tool: string;
34
- args: Record<string, unknown>;
35
- description: string;
36
- dependsOn: string[];
37
- status: 'pending' | 'running' | 'completed' | 'failed';
38
- result?: ToolResult;
39
- }
40
- /** Full execution plan */
41
- export interface ExecutionPlan {
42
- prompt: string;
43
- thinking: string[];
44
- steps: ExecutionStep[];
45
- startTime: number;
46
- endTime?: number;
47
- }
48
- /** Memory for learning */
49
- export interface AGIMemory {
50
- successfulApproaches: Array<{
51
- prompt: string;
52
- tools: string[];
53
- success: boolean;
54
- timestamp: number;
55
- }>;
56
- projectInfo: {
57
- type: string;
58
- buildCmd: string | null;
59
- testCmd: string | null;
60
- lintCmd: string | null;
61
- };
62
- }
63
- /** Callback for streaming output through the UI */
64
- export type DisplayCallback = (message: string, type?: 'thinking' | 'step' | 'result' | 'complete' | 'error') => void;
65
- export declare class RealAGI {
66
- private workingDir;
67
- private memory;
68
- private memoryPath;
69
- private tools;
70
- private embeddings;
71
- private displayCallback;
72
- constructor(workingDir?: string);
73
- /** Set callback for streaming output through the shell UI */
74
- setDisplayCallback(callback: DisplayCallback | null): void;
75
- /** Stream a message through the UI if callback is set */
76
- private streamToUI;
77
- private loadMemory;
78
- private saveMemory;
79
- private detectProject;
80
- private createRealTools;
81
- /**
82
- * Search for relevant tools using embeddings (dot product similarity)
83
- */
84
- searchTools(prompt: string, topK?: number): Promise<ToolMatch[]>;
85
- /**
86
- * Get recommended tools for a prompt using embeddings
87
- */
88
- getRecommendedTools(prompt: string): Promise<string[]>;
89
- /**
90
- * Format tool search results
91
- */
92
- formatToolSearch(prompt: string): Promise<string>;
93
- /**
94
- * Understand any prompt and figure out what tools to run
95
- * This is the core AGI function - no intents, just tool planning
96
- */
97
- understand(prompt: string): ExecutionPlan;
98
- /**
99
- * Execute a plan - runs each tool for real
100
- */
101
- execute(plan: ExecutionPlan): Promise<ExecutionPlan>;
102
- private executeStep;
103
- /**
104
- * Format execution plan in Claude Code style
105
- */
106
- formatPlan(plan: ExecutionPlan): string;
107
- /**
108
- * Format execution results in Claude Code style
109
- */
110
- formatResults(plan: ExecutionPlan): string;
111
- private formatArgs;
112
- /**
113
- * Process any prompt - understand, plan, execute, display
114
- * Streams output through the UI callback if set
115
- */
116
- process(prompt: string, dryRun?: boolean): Promise<string>;
117
- getMemory(): AGIMemory;
118
- }
119
- export declare function getRealAGI(workingDir?: string): RealAGI;
120
- export declare function resetRealAGI(): void;
121
- //# sourceMappingURL=realAGI.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"realAGI.d.ts","sourceRoot":"","sources":["../../src/core/realAGI.ts"],"names":[],"mappings":"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"}