vigthoria-cli 1.6.8 → 1.6.9

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 (74) hide show
  1. package/README.md +1 -1
  2. package/dist/commands/auth.d.ts +0 -1
  3. package/dist/commands/auth.js +34 -2
  4. package/dist/commands/bridge.d.ts +7 -0
  5. package/dist/commands/bridge.js +31 -0
  6. package/dist/commands/chat.d.ts +18 -1
  7. package/dist/commands/chat.js +375 -29
  8. package/dist/commands/config.d.ts +0 -1
  9. package/dist/commands/config.js +0 -1
  10. package/dist/commands/deploy.d.ts +0 -1
  11. package/dist/commands/deploy.js +0 -1
  12. package/dist/commands/edit.d.ts +0 -1
  13. package/dist/commands/edit.js +0 -1
  14. package/dist/commands/explain.d.ts +0 -1
  15. package/dist/commands/explain.js +0 -1
  16. package/dist/commands/generate.d.ts +0 -1
  17. package/dist/commands/generate.js +0 -1
  18. package/dist/commands/hub.d.ts +0 -1
  19. package/dist/commands/hub.js +0 -1
  20. package/dist/commands/repo.d.ts +0 -1
  21. package/dist/commands/repo.js +0 -1
  22. package/dist/commands/review.d.ts +0 -1
  23. package/dist/commands/review.js +0 -1
  24. package/dist/commands/workflow.d.ts +31 -0
  25. package/dist/commands/workflow.js +140 -0
  26. package/dist/index.d.ts +2 -1
  27. package/dist/index.js +119 -11
  28. package/dist/utils/api.d.ts +160 -1
  29. package/dist/utils/api.js +1125 -52
  30. package/dist/utils/config.d.ts +13 -7
  31. package/dist/utils/config.js +20 -11
  32. package/dist/utils/files.d.ts +0 -1
  33. package/dist/utils/files.js +0 -1
  34. package/dist/utils/logger.d.ts +0 -1
  35. package/dist/utils/logger.js +0 -1
  36. package/dist/utils/session.d.ts +2 -2
  37. package/dist/utils/session.js +2 -2
  38. package/dist/utils/tools.d.ts +0 -1
  39. package/dist/utils/tools.js +0 -1
  40. package/package.json +20 -3
  41. package/dist/commands/auth.d.ts.map +0 -1
  42. package/dist/commands/auth.js.map +0 -1
  43. package/dist/commands/chat.d.ts.map +0 -1
  44. package/dist/commands/chat.js.map +0 -1
  45. package/dist/commands/config.d.ts.map +0 -1
  46. package/dist/commands/config.js.map +0 -1
  47. package/dist/commands/deploy.d.ts.map +0 -1
  48. package/dist/commands/deploy.js.map +0 -1
  49. package/dist/commands/edit.d.ts.map +0 -1
  50. package/dist/commands/edit.js.map +0 -1
  51. package/dist/commands/explain.d.ts.map +0 -1
  52. package/dist/commands/explain.js.map +0 -1
  53. package/dist/commands/generate.d.ts.map +0 -1
  54. package/dist/commands/generate.js.map +0 -1
  55. package/dist/commands/hub.d.ts.map +0 -1
  56. package/dist/commands/hub.js.map +0 -1
  57. package/dist/commands/repo.d.ts.map +0 -1
  58. package/dist/commands/repo.js.map +0 -1
  59. package/dist/commands/review.d.ts.map +0 -1
  60. package/dist/commands/review.js.map +0 -1
  61. package/dist/index.d.ts.map +0 -1
  62. package/dist/index.js.map +0 -1
  63. package/dist/utils/api.d.ts.map +0 -1
  64. package/dist/utils/api.js.map +0 -1
  65. package/dist/utils/config.d.ts.map +0 -1
  66. package/dist/utils/config.js.map +0 -1
  67. package/dist/utils/files.d.ts.map +0 -1
  68. package/dist/utils/files.js.map +0 -1
  69. package/dist/utils/logger.d.ts.map +0 -1
  70. package/dist/utils/logger.js.map +0 -1
  71. package/dist/utils/session.d.ts.map +0 -1
  72. package/dist/utils/session.js.map +0 -1
  73. package/dist/utils/tools.d.ts.map +0 -1
  74. package/dist/utils/tools.js.map +0 -1
package/README.md CHANGED
@@ -96,7 +96,7 @@ If you see `ENOTFOUND registry.npmjs.org`, try these solutions:
96
96
  4. **Direct tarball download:**
97
97
  ```bash
98
98
  # Download directly
99
- npm install -g https://cli.vigthoria.io/downloads/vigthoria-cli-1.6.8.tgz
99
+ npm install -g https://cli.vigthoria.io/downloads/vigthoria-cli-1.6.9.tgz
100
100
  ```
101
101
 
102
102
  5. **Use Git clone method (no npm registry needed):**
@@ -21,4 +21,3 @@ export declare class AuthCommand {
21
21
  private printLoginSuccess;
22
22
  }
23
23
  export {};
24
- //# sourceMappingURL=auth.d.ts.map
@@ -153,6 +153,8 @@ class AuthCommand {
153
153
  const statusDisplay = sub.status === 'active' ? chalk_1.default.green('Active') : chalk_1.default.red(sub.status || 'N/A');
154
154
  console.log(chalk_1.default.gray(' Plan: ') + planDisplay);
155
155
  console.log(chalk_1.default.gray(' Status: ') + statusDisplay);
156
+ console.log(chalk_1.default.gray(' Cloud Models: ') + (this.config.hasCloudAccess() ? chalk_1.default.green('Enabled') : chalk_1.default.yellow('Local only')));
157
+ console.log(chalk_1.default.gray(' Operator Mode: ') + (this.config.hasOperatorAccess() ? chalk_1.default.green('Enabled') : chalk_1.default.yellow('Enterprise/Admin only')));
156
158
  if (sub.expiresAt) {
157
159
  const expiresDate = new Date(sub.expiresAt);
158
160
  const daysLeft = Math.ceil((expiresDate.getTime() - Date.now()) / (1000 * 60 * 60 * 24));
@@ -165,7 +167,9 @@ class AuthCommand {
165
167
  const models = this.config.getAvailableModels();
166
168
  models.forEach(m => {
167
169
  console.log(chalk_1.default.gray(' • ') + chalk_1.default.cyan(m.id) + chalk_1.default.gray(' → ') + chalk_1.default.white(m.name));
168
- console.log(chalk_1.default.gray(' ' + m.description));
170
+ const runtimeLabel = m.tier === 'cloud' ? 'cloud' : 'blackwell';
171
+ console.log(chalk_1.default.gray(` ${m.tier === 'cloud' ? '☁️ ' : '🏠 '} ${m.description}`));
172
+ console.log(chalk_1.default.gray(` Backend: ${m.backendModel} (${runtimeLabel})`));
169
173
  });
170
174
  console.log();
171
175
  // API status
@@ -194,6 +198,35 @@ class AuthCommand {
194
198
  else {
195
199
  console.log(chalk_1.default.gray(' Self-hosted Models: ') + chalk_1.default.gray('disabled'));
196
200
  }
201
+ const capabilitySpinner = (0, ora_1.default)('Checking live capability truth...').start();
202
+ const capabilityStatus = await this.api.getCapabilityTruthStatus({
203
+ workspacePath: process.cwd(),
204
+ projectPath: process.cwd(),
205
+ targetPath: process.cwd(),
206
+ });
207
+ capabilitySpinner.stop();
208
+ console.log();
209
+ console.log(chalk_1.default.white('Capability Truth:'));
210
+ console.log(chalk_1.default.gray(' Overall: ') + (capabilityStatus.overallOk ? chalk_1.default.green('Verified') : chalk_1.default.yellow('Partial')));
211
+ console.log(chalk_1.default.gray(' V3 Agent: ') + (capabilityStatus.v3Agent.ok ? chalk_1.default.green('Reachable') : chalk_1.default.red('Unavailable')));
212
+ if (capabilityStatus.v3Agent.error) {
213
+ console.log(chalk_1.default.gray(' Error: ') + chalk_1.default.red(capabilityStatus.v3Agent.error));
214
+ }
215
+ console.log(chalk_1.default.gray(' Hyper Loop: ') + (capabilityStatus.hyperLoop.ok ? chalk_1.default.green('Reachable') : chalk_1.default.red('Unavailable')));
216
+ if (capabilityStatus.hyperLoop.error) {
217
+ console.log(chalk_1.default.gray(' Error: ') + chalk_1.default.red(capabilityStatus.hyperLoop.error));
218
+ }
219
+ console.log(chalk_1.default.gray(' Repo Memory: ') + (capabilityStatus.repoMemory.ok ? chalk_1.default.green('Active') : chalk_1.default.yellow('Unavailable')));
220
+ if (capabilityStatus.repoMemory.details?.compactContextLength !== undefined) {
221
+ console.log(chalk_1.default.gray(' Compact Context: ') + chalk_1.default.cyan(`${capabilityStatus.repoMemory.details.compactContextLength} chars`));
222
+ }
223
+ if (capabilityStatus.repoMemory.error) {
224
+ console.log(chalk_1.default.gray(' Error: ') + chalk_1.default.yellow(capabilityStatus.repoMemory.error));
225
+ }
226
+ console.log(chalk_1.default.gray(' DevTools Bridge: ') + (capabilityStatus.devtoolsBridge.ok ? chalk_1.default.green('Reachable') : chalk_1.default.gray('Not running')));
227
+ if (capabilityStatus.devtoolsBridge.error) {
228
+ console.log(chalk_1.default.gray(' Error: ') + chalk_1.default.gray(capabilityStatus.devtoolsBridge.error));
229
+ }
197
230
  console.log();
198
231
  }
199
232
  printLoginSuccess() {
@@ -211,4 +244,3 @@ class AuthCommand {
211
244
  }
212
245
  }
213
246
  exports.AuthCommand = AuthCommand;
214
- //# sourceMappingURL=auth.js.map
@@ -0,0 +1,7 @@
1
+ import { Config } from '../utils/config.js';
2
+ import { Logger } from '../utils/logger.js';
3
+ export declare class BridgeCommand {
4
+ private api;
5
+ constructor(config: Config, logger: Logger);
6
+ status(): Promise<void>;
7
+ }
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.BridgeCommand = void 0;
7
+ const chalk_1 = __importDefault(require("chalk"));
8
+ const ora_1 = __importDefault(require("ora"));
9
+ const api_js_1 = require("../utils/api.js");
10
+ class BridgeCommand {
11
+ api;
12
+ constructor(config, logger) {
13
+ this.api = new api_js_1.APIClient(config, logger);
14
+ }
15
+ async status() {
16
+ const spinner = (0, ora_1.default)('Checking DevTools Bridge...').start();
17
+ const bridge = await this.api.getDevtoolsBridgeStatus();
18
+ spinner.stop();
19
+ console.log();
20
+ console.log(chalk_1.default.white('DevTools Bridge:'));
21
+ console.log(chalk_1.default.gray(' Status: ') + (bridge.ok ? chalk_1.default.green('Reachable') : chalk_1.default.yellow('Not running')));
22
+ if (bridge.error) {
23
+ console.log(chalk_1.default.gray(' Error: ') + chalk_1.default.yellow(bridge.error));
24
+ }
25
+ console.log(chalk_1.default.gray(' Browser tasks: ') + (bridge.ok
26
+ ? chalk_1.default.green('Local browser observability is available for debugging flows.')
27
+ : chalk_1.default.gray('CLI will continue without local browser observability until the bridge is running.')));
28
+ console.log();
29
+ }
30
+ }
31
+ exports.BridgeCommand = BridgeCommand;
@@ -5,10 +5,14 @@ interface ChatOptions {
5
5
  model: string;
6
6
  project: string;
7
7
  agent?: boolean;
8
+ operator?: boolean;
9
+ workflow?: string;
10
+ savePlan?: boolean;
8
11
  autoApprove?: boolean;
9
12
  resume?: boolean;
10
13
  stream?: boolean;
11
14
  prompt?: string;
15
+ json?: boolean;
12
16
  }
13
17
  export declare class ChatCommand {
14
18
  private config;
@@ -25,16 +29,30 @@ export declare class ChatCommand {
25
29
  private directToolContinuationCount;
26
30
  private currentModel;
27
31
  private autoApprove;
32
+ private operatorMode;
33
+ private workflowTarget;
34
+ private savePlanToVigFlow;
35
+ private jsonOutput;
36
+ private hasOperatorAccess;
37
+ private operatorAccessMessage;
28
38
  private getMessagesForModel;
29
39
  private isDiagnosticPrompt;
40
+ private isBrowserTaskPrompt;
30
41
  private inferAgentTaskType;
31
42
  private buildTaskShapingInstructions;
32
43
  private buildExecutionPrompt;
44
+ private getPromptRuntimeContext;
45
+ private describeV3AgentTool;
46
+ private updateV3AgentSpinner;
47
+ private updateOperatorSpinner;
33
48
  constructor(config: Config, logger: Logger);
34
49
  run(options: ChatOptions): Promise<void>;
35
50
  private ensureProjectWorkspace;
36
51
  private initializeSession;
37
52
  private handleDirectPrompt;
53
+ private formatWorkflowTargetResult;
54
+ private runWorkflowTargetPrompt;
55
+ private runOperatorTurn;
38
56
  private runSimplePrompt;
39
57
  private runAgentTurn;
40
58
  private tryDirectSingleFileFlow;
@@ -61,4 +79,3 @@ export declare class ChatCommand {
61
79
  getChatHistory(): ChatMessage[];
62
80
  }
63
81
  export {};
64
- //# sourceMappingURL=chat.d.ts.map