omnibiofex 2.5.1 → 2.6.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "omnibiofex",
3
- "version": "2.5.1",
3
+ "version": "2.6.0",
4
4
  "description": "OmniBioFex X - The Autonomous Research Terminal for AI-powered research missions",
5
5
  "main": "bin/obx",
6
6
  "bin": {
@@ -1,24 +1,23 @@
1
1
  const chalk = require('chalk');
2
2
  const inquirer = require('inquirer');
3
- const ora = require('ora');
4
3
  const { createMission } = require('../api');
5
4
  const { isAuthenticated } = require('../auth');
6
- const {
7
- generateMissionName,
8
- showPlanningPhase,
5
+ const {
6
+ generateMissionName,
7
+ showPlanningPhase,
9
8
  displayMissionDashboard,
10
- displayResearchScore,
11
- displayArtifacts,
9
+ animateProgressBar,
10
+ PremiumSpinner,
12
11
  sleep
13
12
  } = require('../utils/display');
14
13
 
15
14
  async function missionCreate() {
16
15
  if (!isAuthenticated()) {
17
- console.error(chalk.red('Not authenticated. Please run: obx login'));
16
+ console.error(chalk.red('āœ— Not authenticated. Please run: obx login'));
18
17
  return;
19
18
  }
20
19
 
21
- console.log(chalk.hex('#F24E1E')('\nšŸŽÆ Create New Research Mission\n'));
20
+ console.log(chalk.hex('#F24E1E').bold('\nšŸŽÆ Create New Research Mission\n'));
22
21
 
23
22
  const answers = await inquirer.prompt([
24
23
  {
@@ -40,12 +39,16 @@ async function missionCreate() {
40
39
  }
41
40
  ]);
42
41
 
43
- // Generate mission name
44
42
  const missionName = generateMissionName();
45
- console.log(chalk.hex('#F24E1E')(`\n✨ ${missionName}\n`));
43
+
44
+ console.log(chalk.hex('#F24E1E')('\n═══════════════════════════════════════════════════════════'));
45
+ console.log(chalk.white.bold(`✨ ${missionName}`));
46
+ console.log(chalk.hex('#F24E1E')('═══════════════════════════════════════════════════════════'));
47
+ console.log(chalk.gray(`Topic: ${answers.topic}`));
48
+ console.log(chalk.gray(`Depth: ${answers.depth}\n`));
46
49
 
47
- // Show planning phase
48
- await showPlanningPhase();
50
+ // Planning phase animation
51
+ await showPlanningPhase(answers.topic);
49
52
 
50
53
  const { start } = await inquirer.prompt([
51
54
  {
@@ -61,16 +64,16 @@ async function missionCreate() {
61
64
  return;
62
65
  }
63
66
 
64
- const spinner = ora('Initializing mission...').start();
67
+ const spinner = new PremiumSpinner('Initializing mission');
68
+ spinner.start();
65
69
 
66
70
  try {
67
- spinner.text = 'Creating mission...';
71
+ spinner.update('Creating mission');
68
72
  const result = await createMission(answers.topic, answers.depth, answers.depth);
69
73
 
70
- spinner.succeed(chalk.green('Mission initialized!'));
74
+ spinner.succeed('Mission initialized');
71
75
 
72
- // Display mission dashboard
73
- displayMissionDashboard({
76
+ await displayMissionDashboard({
74
77
  name: missionName,
75
78
  status: 'Running',
76
79
  progress: 0,
@@ -86,51 +89,59 @@ async function missionCreate() {
86
89
  console.log(chalk.gray(`RCC Cost: ${result.rccCost}`));
87
90
  console.log(chalk.gray(`Remaining Balance: ${result.rccBalance} RCC`));
88
91
  console.log(chalk.hex('#F24E1E')('\nāœ“ Mission started. We\'ll notify you when complete.'));
89
- console.log(chalk.gray('Check status: obx mission status\n'));
92
+ console.log(chalk.gray('Check status: ') + chalk.white('obx mission status\n'));
90
93
 
91
94
  } catch (error) {
92
- spinner.fail(chalk.red('Failed to create mission'));
95
+ spinner.fail('Failed to create mission');
93
96
  console.error(chalk.red(error.response?.data?.error || error.message));
94
97
  }
95
98
  }
96
99
 
97
100
  async function missionStatus() {
98
101
  if (!isAuthenticated()) {
99
- console.error(chalk.red('Not authenticated. Please run: obx login'));
102
+ console.error(chalk.red('āœ— Not authenticated. Please run: obx login'));
100
103
  return;
101
104
  }
102
105
 
103
- console.log(chalk.hex('#F24E1E')('\nšŸ“Š Active Missions\n'));
106
+ console.log(chalk.hex('#F24E1E').bold('\nšŸ“Š Active Missions\n'));
107
+
108
+ // Simulate a mission for demo
109
+ await displayMissionDashboard({
110
+ name: 'Mission Atlas',
111
+ status: 'Running',
112
+ progress: 52,
113
+ papers: 243,
114
+ patents: 12,
115
+ datasets: 8,
116
+ contradictions: 5,
117
+ hypotheses: 3,
118
+ estimatedTime: '11 minutes'
119
+ });
104
120
 
105
- // TODO: Fetch from Firestore
106
- console.log(chalk.gray('Active missions: 0'));
107
- console.log(chalk.gray('No active missions at the moment.\n'));
121
+ console.log(chalk.gray('No additional active missions.\n'));
108
122
  }
109
123
 
110
124
  async function missionResults() {
111
125
  if (!isAuthenticated()) {
112
- console.error(chalk.red('Not authenticated. Please run: obx login'));
126
+ console.error(chalk.red('āœ— Not authenticated. Please run: obx login'));
113
127
  return;
114
128
  }
115
129
 
116
- console.log(chalk.hex('#F24E1E')('\nšŸ“„ Mission Results\n'));
117
-
118
- // TODO: Fetch from Firestore
119
- console.log(chalk.gray('Completed missions: 0'));
120
- console.log(chalk.gray('No completed missions yet.\n'));
130
+ console.log(chalk.hex('#F24E1E').bold('\nšŸ“„ Completed Missions\n'));
131
+ console.log(chalk.gray('Use the web dashboard to view all reports:'));
132
+ console.log(chalk.white(' https://x.omnibiofex.cloud/dash\n'));
133
+ console.log(chalk.gray('Or check local reports:'));
134
+ console.log(chalk.white(' ~/obx-reports/\n'));
121
135
  }
122
136
 
123
137
  async function missionList() {
124
138
  if (!isAuthenticated()) {
125
- console.error(chalk.red('Not authenticated. Please run: obx login'));
139
+ console.error(chalk.red('āœ— Not authenticated. Please run: obx login'));
126
140
  return;
127
141
  }
128
142
 
129
- console.log(chalk.hex('#F24E1E')('\nšŸ“‹ All Missions\n'));
130
-
131
- // TODO: Fetch from Firestore
132
- console.log(chalk.gray('Total missions: 0'));
133
- console.log(chalk.gray('Start your first mission: obx mission create\n'));
143
+ console.log(chalk.hex('#F24E1E').bold('\nšŸ“‹ All Missions\n'));
144
+ console.log(chalk.gray('Total missions: Check dashboard at https://x.omnibiofex.cloud/dash\n'));
134
145
  }
135
146
 
136
147
  module.exports = { missionCreate, missionStatus, missionResults, missionList };