vigthoria-cli 1.4.9 → 1.5.1

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/dist/index.js CHANGED
@@ -90,7 +90,7 @@ function getVersion() {
90
90
  catch (e) {
91
91
  // Fallback to hardcoded version
92
92
  }
93
- return '1.4.9';
93
+ return '1.5.0';
94
94
  }
95
95
  const VERSION = getVersion();
96
96
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/utils/api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/utils/api.ts"],"names":[],"mappings":"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"}
package/dist/utils/api.js CHANGED
@@ -179,6 +179,7 @@ class APIClient {
179
179
  // If authenticated and not forcing local, use Vigthoria Cloud API
180
180
  if (!useLocal && this.config.isAuthenticated()) {
181
181
  try {
182
+ this.logger.debug(`Attempting Vigthoria Cloud API call to /api/ai/chat with model: ${resolvedModel}`);
182
183
  const response = await this.client.post('/api/ai/chat', {
183
184
  messages,
184
185
  model: resolvedModel,
@@ -193,11 +194,17 @@ class APIClient {
193
194
  usage: response.data.usage,
194
195
  };
195
196
  }
197
+ this.logger.debug(`Cloud API returned success=false: ${JSON.stringify(response.data)}`);
196
198
  }
197
199
  catch (error) {
198
- this.logger.debug('Vigthoria Cloud API failed, trying fallbacks...');
200
+ const errMsg = error.response?.data?.error || error.message || 'Unknown error';
201
+ const status = error.response?.status || 'no status';
202
+ this.logger.debug(`Vigthoria Cloud API failed (${status}): ${errMsg}`);
199
203
  }
200
204
  }
205
+ else {
206
+ this.logger.debug(`Skipping cloud API - useLocal: ${useLocal}, isAuthenticated: ${this.config.isAuthenticated()}`);
207
+ }
201
208
  // Strategy 1: Try Vigthoria Inference Server directly (NATIVE models on port 8010)
202
209
  try {
203
210
  const response = await axios_1.default.post('http://localhost:8010/v1/chat/completions', {
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/utils/api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/utils/api.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/utils/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,YAAY,EAAE;QACZ,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QACpB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;QACtB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;KAC1B,CAAC;IACF,WAAW,EAAE;QACX,YAAY,EAAE,MAAM,CAAC;QACrB,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;QACxB,cAAc,EAAE,OAAO,CAAC;QACxB,SAAS,EAAE,OAAO,CAAC;QACnB,YAAY,EAAE,MAAM,CAAC;QACrB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,OAAO,EAAE;QACP,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;QACxB,cAAc,EAAE,MAAM,EAAE,CAAC;KAC1B,CAAC;CACH;AAsCD,qBAAa,MAAM;IACjB,OAAO,CAAC,KAAK,CAA2B;;IA2CxC,GAAG,CAAC,CAAC,SAAS,MAAM,kBAAkB,EAAE,GAAG,EAAE,CAAC,GAAG,kBAAkB,CAAC,CAAC,CAAC;IAItE,GAAG,CAAC,CAAC,SAAS,MAAM,kBAAkB,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,kBAAkB,CAAC,CAAC,CAAC,GAAG,IAAI;IAInF,MAAM,IAAI,kBAAkB;IAI5B,KAAK,IAAI,IAAI;IAIb,eAAe,IAAI,OAAO;IAI1B,oBAAoB,IAAI,OAAO;IAU/B,aAAa,IAAI,MAAM;IAKvB,OAAO,CAAC,IAAI,EAAE;QACZ,KAAK,EAAE,MAAM,CAAC;QACd,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;KACf,GAAG,IAAI;IASR,SAAS,IAAI,IAAI;IAYjB,eAAe,CAAC,IAAI,EAAE;QACpB,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,GAAG,IAAI;IASR,kBAAkB,IAAI;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,EAAE;CAkC1E"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/utils/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,YAAY,EAAE;QACZ,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QACpB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;QACtB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;KAC1B,CAAC;IACF,WAAW,EAAE;QACX,YAAY,EAAE,MAAM,CAAC;QACrB,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;QACxB,cAAc,EAAE,OAAO,CAAC;QACxB,SAAS,EAAE,OAAO,CAAC;QACnB,YAAY,EAAE,MAAM,CAAC;QACrB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,OAAO,EAAE;QACP,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;QACxB,cAAc,EAAE,MAAM,EAAE,CAAC;KAC1B,CAAC;CACH;AAsCD,qBAAa,MAAM;IACjB,OAAO,CAAC,KAAK,CAA2B;;IA2CxC,GAAG,CAAC,CAAC,SAAS,MAAM,kBAAkB,EAAE,GAAG,EAAE,CAAC,GAAG,kBAAkB,CAAC,CAAC,CAAC;IAItE,GAAG,CAAC,CAAC,SAAS,MAAM,kBAAkB,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,kBAAkB,CAAC,CAAC,CAAC,GAAG,IAAI;IAInF,MAAM,IAAI,kBAAkB;IAI5B,KAAK,IAAI,IAAI;IAIb,eAAe,IAAI,OAAO;IAI1B,oBAAoB,IAAI,OAAO;IAU/B,aAAa,IAAI,MAAM;IAKvB,OAAO,CAAC,IAAI,EAAE;QACZ,KAAK,EAAE,MAAM,CAAC;QACd,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;KACf,GAAG,IAAI;IASR,SAAS,IAAI,IAAI;IAYjB,eAAe,CAAC,IAAI,EAAE;QACpB,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,GAAG,IAAI;IASR,kBAAkB,IAAI;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,EAAE;CAqC1E"}
@@ -143,21 +143,24 @@ class Config {
143
143
  // Model selection - Native Vigthoria Models
144
144
  getAvailableModels() {
145
145
  const sub = this.store.get('subscription');
146
+ const plan = (sub.plan || '').toLowerCase();
146
147
  // All users get access to fast models
147
148
  const models = [
148
149
  { id: 'mini', name: 'Vigthoria_v2_Mini_0.6B', description: 'Ultra-fast, simple tasks' },
149
150
  { id: 'fast', name: 'Vigthoria_v2_Fast_1.7B', description: 'Quick responses, streaming' },
150
151
  ];
151
- // Developer+ plans get balanced model
152
- if (sub.plan && sub.plan !== 'free') {
152
+ // Developer+ plans get balanced model (any paid plan)
153
+ if (plan && plan !== 'free') {
153
154
  models.push({ id: 'balanced', name: 'Vigthoria_v2_Balanced_4B', description: 'General purpose' }, { id: 'music', name: 'Vigthoria_v2_Music_4B', description: 'Music production & theory' });
154
155
  }
155
- // Pro plans get code and creative models
156
- if (sub.plan === 'developer' || sub.plan === 'pro' || sub.plan === 'ultra' || sub.plan === 'enterprise') {
156
+ // Pro plans get code and creative models (including master_admin and admin)
157
+ const proPlansList = ['developer', 'pro', 'ultra', 'enterprise', 'master_admin', 'admin'];
158
+ if (proPlansList.includes(plan)) {
157
159
  models.push({ id: 'code', name: 'Vigthoria_v3_Code_30B', description: 'Advanced code specialist with agent mode' }, { id: 'creative', name: 'Vigthoria_v4_Creative_9B', description: 'Creative writing, lyrics' });
158
160
  }
159
- // Ultra/Enterprise get premium reasoning model
160
- if (sub.plan === 'ultra' || sub.plan === 'enterprise') {
161
+ // Ultra/Enterprise/Admin get premium reasoning model
162
+ const premiumPlansList = ['ultra', 'enterprise', 'master_admin', 'admin'];
163
+ if (premiumPlansList.includes(plan)) {
161
164
  models.push({ id: 'reasoning', name: 'Vigthoria_v1_Reasoning_32B', description: 'Deep reasoning & complex problem solving' });
162
165
  }
163
166
  return models;
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/utils/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/utils/config.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;;AAEH,gDAAwB;AA8BxB,MAAM,aAAa,GAAuB;IACxC,MAAM,EAAE,4BAA4B;IACpC,KAAK,EAAE,6BAA6B;IACpC,SAAS,EAAE,IAAI;IACf,YAAY,EAAE,IAAI;IAClB,MAAM,EAAE,IAAI;IACZ,KAAK,EAAE,IAAI;IACX,YAAY,EAAE;QACZ,IAAI,EAAE,IAAI;QACV,MAAM,EAAE,IAAI;QACZ,SAAS,EAAE,IAAI;KAChB;IACD,WAAW,EAAE;QACX,YAAY,EAAE,gBAAgB;QAC9B,KAAK,EAAE,MAAM;QACb,cAAc,EAAE,KAAK;QACrB,SAAS,EAAE,IAAI;QACf,YAAY,EAAE,CAAC;QACf,SAAS,EAAE,IAAI;KAChB;IACD,OAAO,EAAE;QACP,QAAQ,EAAE,IAAI;QACd,cAAc,EAAE;YACd,cAAc;YACd,MAAM;YACN,MAAM;YACN,OAAO;YACP,aAAa;YACb,OAAO;YACP,MAAM;YACN,MAAM;YACN,OAAO;SACR;KACF;CACF,CAAC;AAEF,MAAa,MAAM;IACT,KAAK,CAA2B;IAExC;QACE,IAAI,CAAC,KAAK,GAAG,IAAI,cAAI,CAAqB;YACxC,WAAW,EAAE,eAAe;YAC5B,QAAQ,EAAE,aAAa;YACvB,MAAM,EAAE;gBACN,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1B,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE;gBACvC,YAAY,EAAE,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE;gBAC1C,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE;gBACpC,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE;gBACnC,YAAY,EAAE;oBACZ,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE;wBACV,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE;wBAClC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE;wBACpC,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE;qBACxC;iBACF;gBACD,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE;wBACV,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;wBAChC,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE;wBAClD,cAAc,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;wBACnC,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;wBAC9B,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;wBAChC,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;qBAC9B;iBACF;gBACD,OAAO,EAAE;oBACP,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE;wBACV,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE;wBACtC,cAAc,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;qBAC7D;iBACF;aACF;SACF,CAAC,CAAC;IACL,CAAC;IAED,GAAG,CAAqC,GAAM;QAC5C,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC7B,CAAC;IAED,GAAG,CAAqC,GAAM,EAAE,KAA4B;QAC1E,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC7B,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;IAC1B,CAAC;IAED,KAAK;QACH,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;IAED,eAAe;QACb,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;IAC9C,CAAC;IAED,oBAAoB;QAClB,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAC3C,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,KAAK,QAAQ;YAAE,OAAO,KAAK,CAAC;QACzD,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;YAClB,MAAM,OAAO,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACxC,OAAO,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC;QAC9B,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,aAAa;QACX,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;IACzB,CAAC;IAED,eAAe;IACf,OAAO,CAAC,IAKP;QACC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QACxC,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QACpD,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACtC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IACtC,CAAC;IAED,SAAS;QACP,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QAClC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;QACrC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAC/B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC9B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,EAAE;YAC7B,IAAI,EAAE,IAAI;YACV,MAAM,EAAE,IAAI;YACZ,SAAS,EAAE,IAAI;SAChB,CAAC,CAAC;IACL,CAAC;IAED,eAAe,CAAC,IAIf;QACC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,EAAE;YAC7B,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,IAAI;SAClC,CAAC,CAAC;IACL,CAAC;IAED,4CAA4C;IAC5C,kBAAkB;QAChB,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAC3C,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;QAE5C,sCAAsC;QACtC,MAAM,MAAM,GAAG;YACb,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,wBAAwB,EAAE,WAAW,EAAE,0BAA0B,EAAE;YACvF,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,wBAAwB,EAAE,WAAW,EAAE,4BAA4B,EAAE;SAC1F,CAAC;QAEF,sDAAsD;QACtD,IAAI,IAAI,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;YAC5B,MAAM,CAAC,IAAI,CACT,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,0BAA0B,EAAE,WAAW,EAAE,iBAAiB,EAAE,EACpF,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,uBAAuB,EAAE,WAAW,EAAE,2BAA2B,EAAE,CACzF,CAAC;QACJ,CAAC;QAED,4EAA4E;QAC5E,MAAM,YAAY,GAAG,CAAC,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;QAC1F,IAAI,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAChC,MAAM,CAAC,IAAI,CACT,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,uBAAuB,EAAE,WAAW,EAAE,0CAA0C,EAAE,EACtG,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,0BAA0B,EAAE,WAAW,EAAE,0BAA0B,EAAE,CAC9F,CAAC;QACJ,CAAC;QAED,qDAAqD;QACrD,MAAM,gBAAgB,GAAG,CAAC,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;QAC1E,IAAI,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACpC,MAAM,CAAC,IAAI,CACT,EAAE,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,4BAA4B,EAAE,WAAW,EAAE,0CAA0C,EAAE,CACjH,CAAC;QACJ,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AA3JD,wBA2JC"}
@@ -126,6 +126,7 @@ export declare class AgenticTools {
126
126
  /**
127
127
  * Execute bash command with enhanced error handling
128
128
  * SECURITY: Commands are sandboxed to workspace directory
129
+ * WINDOWS: Detects Unix-specific commands and suggests alternatives
129
130
  */
130
131
  private bash;
131
132
  private grep;
@@ -137,6 +138,16 @@ export declare class AgenticTools {
137
138
  * Allows AI to push, pull, list, share, and manage projects in the Vigthoria Repository
138
139
  */
139
140
  private repo;
141
+ /**
142
+ * Fetch URL content - Cross-platform web fetching
143
+ * Uses Node.js native fetch (available in Node 18+)
144
+ */
145
+ private fetchUrl;
146
+ /**
147
+ * Execute command via SSH on remote server
148
+ * Useful for running Unix commands from Windows
149
+ */
150
+ private sshExec;
140
151
  /**
141
152
  * Resolve and SANITIZE path - prevent path traversal outside workspace
142
153
  * SECURITY: All paths MUST stay within the workspace (cwd)
@@ -1 +1 @@
1
- {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/utils/tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/utils/tools.ts"],"names":[],"mappings":"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"}
@@ -260,6 +260,34 @@ class AgenticTools {
260
260
  riskLevel: 'medium',
261
261
  category: 'execute',
262
262
  },
263
+ {
264
+ name: 'fetch_url',
265
+ description: 'Fetch content from a URL (web page, API endpoint). Works cross-platform on Windows, Mac, and Linux.',
266
+ parameters: [
267
+ { name: 'url', description: 'URL to fetch (must be http or https)', required: true },
268
+ { name: 'method', description: 'HTTP method (GET, POST, etc.)', required: false },
269
+ { name: 'headers', description: 'JSON string of headers to send', required: false },
270
+ { name: 'body', description: 'Request body for POST/PUT requests', required: false },
271
+ { name: 'selector', description: 'CSS selector to extract specific content (for HTML)', required: false },
272
+ ],
273
+ requiresPermission: true,
274
+ dangerous: false,
275
+ riskLevel: 'low',
276
+ category: 'read',
277
+ },
278
+ {
279
+ name: 'ssh_exec',
280
+ description: 'Execute a command on a remote server via SSH (useful for Unix commands from Windows)',
281
+ parameters: [
282
+ { name: 'command', description: 'Command to execute on remote server', required: true },
283
+ { name: 'host', description: 'SSH host (default: vigthoria-server)', required: false },
284
+ { name: 'timeout', description: 'Timeout in seconds', required: false },
285
+ ],
286
+ requiresPermission: true,
287
+ dangerous: true,
288
+ riskLevel: 'high',
289
+ category: 'execute',
290
+ },
263
291
  ];
264
292
  }
265
293
  /**
@@ -344,6 +372,10 @@ class AgenticTools {
344
372
  return this.git(call.args);
345
373
  case 'repo':
346
374
  return this.repo(call.args);
375
+ case 'fetch_url':
376
+ return this.fetchUrl(call.args);
377
+ case 'ssh_exec':
378
+ return this.sshExec(call.args);
347
379
  default:
348
380
  return this.createErrorResult(ToolErrorType.INVALID_ARGS, `Tool not implemented: ${call.tool}`);
349
381
  }
@@ -613,10 +645,40 @@ class AgenticTools {
613
645
  /**
614
646
  * Execute bash command with enhanced error handling
615
647
  * SECURITY: Commands are sandboxed to workspace directory
648
+ * WINDOWS: Detects Unix-specific commands and suggests alternatives
616
649
  */
617
650
  bash(args) {
618
651
  const cwd = args.cwd ? this.resolvePath(args.cwd) : this.cwd;
619
652
  const timeout = args.timeout ? parseInt(args.timeout) * 1000 : 30000;
653
+ const os = require('os');
654
+ const platform = os.platform();
655
+ // Unix-specific commands that don't exist on Windows
656
+ const unixOnlyCommands = [
657
+ 'head', 'tail', 'grep', 'awk', 'sed', 'wc', 'cut', 'sort', 'uniq',
658
+ 'xargs', 'find', 'chmod', 'chown', 'ln', 'df', 'du', 'ps', 'kill',
659
+ 'top', 'htop', 'which', 'whereis', 'man', 'less', 'more', 'cat',
660
+ ];
661
+ // Check if command uses Unix-only tools on Windows
662
+ if (platform === 'win32') {
663
+ const cmdParts = args.command.split(/[|&;]/);
664
+ for (const part of cmdParts) {
665
+ const firstWord = part.trim().split(/\s+/)[0].toLowerCase();
666
+ if (unixOnlyCommands.includes(firstWord)) {
667
+ return this.createErrorResult(ToolErrorType.EXECUTION_FAILED, `Command '${firstWord}' is not available on Windows`, `Use the 'ssh_exec' tool to run Unix commands on the server, ` +
668
+ `or use 'fetch_url' for web requests. ` +
669
+ `PowerShell alternatives: dir (ls), type (cat), findstr (grep), select-string (grep)`);
670
+ }
671
+ }
672
+ // Check for pipe to Unix command
673
+ if (args.command.includes('|')) {
674
+ const pipedCommands = args.command.split('|').map(c => c.trim().split(/\s+/)[0].toLowerCase());
675
+ for (const cmd of pipedCommands) {
676
+ if (unixOnlyCommands.includes(cmd)) {
677
+ return this.createErrorResult(ToolErrorType.EXECUTION_FAILED, `Piped command '${cmd}' is not available on Windows`, `Windows doesn't have '${cmd}'. Use 'ssh_exec' tool to run this command on the Vigthoria server instead.`);
678
+ }
679
+ }
680
+ }
681
+ }
620
682
  // SECURITY: Block dangerous commands that could access outside workspace
621
683
  const blockedPatterns = [
622
684
  /\bcat\s+\/etc\//i, // Reading system files
@@ -645,8 +707,6 @@ class AgenticTools {
645
707
  }
646
708
  try {
647
709
  const startTime = Date.now();
648
- const os = require('os');
649
- const platform = os.platform();
650
710
  // Build exec options based on platform
651
711
  const execOptions = {
652
712
  cwd,
@@ -888,6 +948,166 @@ class AgenticTools {
888
948
  };
889
949
  }
890
950
  }
951
+ /**
952
+ * Fetch URL content - Cross-platform web fetching
953
+ * Uses Node.js native fetch (available in Node 18+)
954
+ */
955
+ async fetchUrl(args) {
956
+ const url = args.url;
957
+ const method = (args.method || 'GET').toUpperCase();
958
+ // Validate URL
959
+ if (!url.startsWith('http://') && !url.startsWith('https://')) {
960
+ return this.createErrorResult(ToolErrorType.INVALID_ARGS, 'URL must start with http:// or https://', 'Provide a valid URL, e.g., https://example.com');
961
+ }
962
+ try {
963
+ const fetchOptions = {
964
+ method,
965
+ headers: {
966
+ 'User-Agent': 'Vigthoria-CLI/1.5.1',
967
+ 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
968
+ },
969
+ };
970
+ // Parse custom headers if provided
971
+ if (args.headers) {
972
+ try {
973
+ const customHeaders = JSON.parse(args.headers);
974
+ fetchOptions.headers = { ...fetchOptions.headers, ...customHeaders };
975
+ }
976
+ catch {
977
+ this.logger.warn('Invalid headers JSON, using defaults');
978
+ }
979
+ }
980
+ // Add body for POST/PUT requests
981
+ if (args.body && ['POST', 'PUT', 'PATCH'].includes(method)) {
982
+ fetchOptions.body = args.body;
983
+ fetchOptions.headers['Content-Type'] = 'application/json';
984
+ }
985
+ // Use AbortController for timeout
986
+ const controller = new AbortController();
987
+ const timeout = setTimeout(() => controller.abort(), 30000);
988
+ fetchOptions.signal = controller.signal;
989
+ const response = await fetch(url, fetchOptions);
990
+ clearTimeout(timeout);
991
+ if (!response.ok) {
992
+ return this.createErrorResult(ToolErrorType.NETWORK_ERROR, `HTTP ${response.status}: ${response.statusText}`, `The server returned an error. Status: ${response.status}`);
993
+ }
994
+ let content = await response.text();
995
+ // Extract content based on selector if provided (basic HTML extraction)
996
+ if (args.selector && content.includes('<')) {
997
+ // Basic extraction - for title, meta, etc.
998
+ const selector = args.selector.toLowerCase();
999
+ if (selector === 'title') {
1000
+ const match = content.match(/<title[^>]*>([^<]*)<\/title>/i);
1001
+ content = match ? match[1].trim() : 'No title found';
1002
+ }
1003
+ else if (selector === 'meta') {
1004
+ const matches = content.match(/<meta[^>]+>/gi) || [];
1005
+ content = matches.join('\n');
1006
+ }
1007
+ else if (selector === 'body') {
1008
+ const match = content.match(/<body[^>]*>([\s\S]*)<\/body>/i);
1009
+ content = match ? match[1].replace(/<script[\s\S]*?<\/script>/gi, '').replace(/<style[\s\S]*?<\/style>/gi, '').replace(/<[^>]+>/g, ' ').replace(/\s+/g, ' ').trim() : content;
1010
+ }
1011
+ else if (selector.startsWith('h')) {
1012
+ const regex = new RegExp(`<${selector}[^>]*>([^<]*)</${selector}>`, 'gi');
1013
+ const matches = [];
1014
+ let match;
1015
+ while ((match = regex.exec(content)) !== null) {
1016
+ matches.push(match[1].trim());
1017
+ }
1018
+ content = matches.length > 0 ? matches.join('\n') : `No ${selector} tags found`;
1019
+ }
1020
+ }
1021
+ // Truncate if too long
1022
+ if (content.length > 50000) {
1023
+ content = content.substring(0, 50000) + '\n... (truncated, content too long)';
1024
+ }
1025
+ return {
1026
+ success: true,
1027
+ output: content,
1028
+ metadata: {
1029
+ url,
1030
+ status: response.status,
1031
+ contentType: response.headers.get('content-type') || 'unknown',
1032
+ contentLength: content.length,
1033
+ },
1034
+ };
1035
+ }
1036
+ catch (error) {
1037
+ if (error.name === 'AbortError') {
1038
+ return this.createErrorResult(ToolErrorType.TIMEOUT, 'Request timed out after 30 seconds', 'The server took too long to respond. Try again or use a different URL.');
1039
+ }
1040
+ return this.createErrorResult(ToolErrorType.NETWORK_ERROR, error.message, 'Check your internet connection and ensure the URL is correct.');
1041
+ }
1042
+ }
1043
+ /**
1044
+ * Execute command via SSH on remote server
1045
+ * Useful for running Unix commands from Windows
1046
+ */
1047
+ async sshExec(args) {
1048
+ const command = args.command;
1049
+ const host = args.host || 'vigthoria-server';
1050
+ const timeout = args.timeout ? parseInt(args.timeout) * 1000 : 60000;
1051
+ // Security checks for SSH commands
1052
+ const blockedPatterns = [
1053
+ /\brm\s+-rf?\s+\//i, // Dangerous rm commands
1054
+ /\bsudo\s+rm/i, // Sudo rm
1055
+ />\s*\/dev\/sd/i, // Writing to disk devices
1056
+ /\bdd\s+.*of=\/dev/i, // dd to devices
1057
+ /\bmkfs/i, // Format filesystems
1058
+ /shutdown|reboot|halt|poweroff/i, // System control
1059
+ ];
1060
+ for (const pattern of blockedPatterns) {
1061
+ if (pattern.test(command)) {
1062
+ return this.createErrorResult(ToolErrorType.PERMISSION_DENIED, 'This command is blocked for security reasons', 'Dangerous system commands cannot be executed via SSH.');
1063
+ }
1064
+ }
1065
+ try {
1066
+ const os = require('os');
1067
+ const platform = os.platform();
1068
+ let sshCommand;
1069
+ let execOptions = {
1070
+ encoding: 'utf-8',
1071
+ timeout,
1072
+ maxBuffer: 10 * 1024 * 1024,
1073
+ };
1074
+ if (platform === 'win32') {
1075
+ // On Windows, use the ssh command from OpenSSH
1076
+ sshCommand = `ssh -o BatchMode=yes -o StrictHostKeyChecking=no -o ConnectTimeout=10 ${host} "${command.replace(/"/g, '\\"')}"`;
1077
+ execOptions.shell = true;
1078
+ }
1079
+ else {
1080
+ // On Unix-like systems
1081
+ sshCommand = `ssh -o BatchMode=yes -o StrictHostKeyChecking=no -o ConnectTimeout=10 ${host} '${command.replace(/'/g, "'\\''")}'`;
1082
+ execOptions.shell = '/bin/sh';
1083
+ }
1084
+ const output = (0, child_process_1.execSync)(sshCommand, execOptions);
1085
+ return {
1086
+ success: true,
1087
+ output: output.trim(),
1088
+ metadata: { host, command },
1089
+ };
1090
+ }
1091
+ catch (error) {
1092
+ // Check for common SSH errors
1093
+ const errorMsg = error.stderr || error.message || '';
1094
+ if (errorMsg.includes('Connection refused') || errorMsg.includes('No route to host')) {
1095
+ return this.createErrorResult(ToolErrorType.NETWORK_ERROR, `Cannot connect to SSH host: ${host}`, 'Check that the SSH host is correct and the server is running.');
1096
+ }
1097
+ if (errorMsg.includes('Permission denied') || errorMsg.includes('authentication')) {
1098
+ return this.createErrorResult(ToolErrorType.PERMISSION_DENIED, 'SSH authentication failed', 'Make sure you have SSH key authentication set up for this host.');
1099
+ }
1100
+ if (error.killed) {
1101
+ return this.createErrorResult(ToolErrorType.TIMEOUT, `SSH command timed out after ${timeout / 1000}s`, 'Try a simpler command or increase the timeout.');
1102
+ }
1103
+ return {
1104
+ success: false,
1105
+ output: error.stdout || '',
1106
+ error: errorMsg,
1107
+ suggestion: 'Check the command syntax and ensure SSH access is configured.',
1108
+ };
1109
+ }
1110
+ }
891
1111
  /**
892
1112
  * Resolve and SANITIZE path - prevent path traversal outside workspace
893
1113
  * SECURITY: All paths MUST stay within the workspace (cwd)
@@ -1100,21 +1320,44 @@ To use a tool, output a JSON block in a code fence with "tool" language:
1100
1320
  {"tool": "read_file", "args": {"path": "src/index.js"}}
1101
1321
  \`\`\`
1102
1322
 
1103
- 3. Run a shell command:
1323
+ 3. Fetch a web page:
1324
+ \`\`\`tool
1325
+ {"tool": "fetch_url", "args": {"url": "https://example.com", "selector": "title"}}
1326
+ \`\`\`
1327
+
1328
+ 4. Run command on remote server (for Unix commands from Windows):
1104
1329
  \`\`\`tool
1105
- {"tool": "bash", "args": {"command": "ls -la"}}
1330
+ {"tool": "ssh_exec", "args": {"command": "curl -s https://example.com | head -20"}}
1106
1331
  \`\`\`
1107
1332
 
1108
- 4. Write a file:
1333
+ 5. Write a file:
1109
1334
  \`\`\`tool
1110
1335
  {"tool": "write_file", "args": {"path": "hello.py", "content": "print('Hello World')"}}
1111
1336
  \`\`\`
1112
1337
 
1113
- IMPORTANT:
1338
+ ## CRITICAL RULES:
1339
+
1340
+ ### Cross-Platform Compatibility:
1341
+ - On Windows, Unix commands (head, tail, grep, awk, sed, wc) are NOT available
1342
+ - Use \`fetch_url\` for web requests instead of curl|grep
1343
+ - Use \`ssh_exec\` to run Unix commands on the Vigthoria server if needed
1344
+ - Use \`read_file\` instead of cat
1345
+ - Use \`list_dir\` instead of ls
1346
+
1347
+ ### Handling Tool Failures:
1348
+ - If a tool fails, REPORT the failure honestly to the user
1349
+ - NEVER make up or hallucinate content when a tool fails
1350
+ - If you cannot access a URL, say "I was unable to fetch the URL because..."
1351
+ - If a command fails, explain what happened and suggest alternatives
1352
+ - Do NOT write analysis or comparison reports if you couldn't gather the actual data
1353
+
1354
+ ### File Access:
1114
1355
  - You can ONLY access files within the current project workspace
1115
1356
  - Use relative paths (e.g., "src/file.js", "app.py", "./config.json")
1116
1357
  - Never try to access system files or directories outside the workspace
1117
- - Use ONLY the exact tool names: list_dir, read_file, write_file, edit_file, bash, grep, glob, git
1358
+
1359
+ ### Tool Names:
1360
+ - Use ONLY these exact tool names: list_dir, read_file, write_file, edit_file, bash, grep, glob, git, repo, fetch_url, ssh_exec
1118
1361
  - The JSON must be valid with double quotes for all keys and string values
1119
1362
  - After tool execution, you will receive results and can continue with the next step
1120
1363
  - Explain what you're doing before using tools
@@ -1 +1 @@
1
- {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/utils/tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/utils/tools.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vigthoria-cli",
3
- "version": "1.4.9",
3
+ "version": "1.5.1",
4
4
  "description": "Vigthoria Coder CLI - AI-powered terminal coding assistant",
5
5
  "main": "dist/index.js",
6
6
  "bin": {
package/src/index.ts CHANGED
@@ -53,7 +53,7 @@ function getVersion(): string {
53
53
  } catch (e) {
54
54
  // Fallback to hardcoded version
55
55
  }
56
- return '1.4.9';
56
+ return '1.5.0';
57
57
  }
58
58
  const VERSION = getVersion();
59
59
 
package/src/utils/api.ts CHANGED
@@ -242,6 +242,7 @@ export class APIClient {
242
242
  // If authenticated and not forcing local, use Vigthoria Cloud API
243
243
  if (!useLocal && this.config.isAuthenticated()) {
244
244
  try {
245
+ this.logger.debug(`Attempting Vigthoria Cloud API call to /api/ai/chat with model: ${resolvedModel}`);
245
246
  const response = await this.client.post('/api/ai/chat', {
246
247
  messages,
247
248
  model: resolvedModel,
@@ -257,9 +258,14 @@ export class APIClient {
257
258
  usage: response.data.usage,
258
259
  };
259
260
  }
260
- } catch (error) {
261
- this.logger.debug('Vigthoria Cloud API failed, trying fallbacks...');
261
+ this.logger.debug(`Cloud API returned success=false: ${JSON.stringify(response.data)}`);
262
+ } catch (error: any) {
263
+ const errMsg = error.response?.data?.error || error.message || 'Unknown error';
264
+ const status = error.response?.status || 'no status';
265
+ this.logger.debug(`Vigthoria Cloud API failed (${status}): ${errMsg}`);
262
266
  }
267
+ } else {
268
+ this.logger.debug(`Skipping cloud API - useLocal: ${useLocal}, isAuthenticated: ${this.config.isAuthenticated()}`);
263
269
  }
264
270
 
265
271
  // Strategy 1: Try Vigthoria Inference Server directly (NATIVE models on port 8010)
@@ -188,6 +188,7 @@ export class Config {
188
188
  // Model selection - Native Vigthoria Models
189
189
  getAvailableModels(): { id: string; name: string; description: string }[] {
190
190
  const sub = this.store.get('subscription');
191
+ const plan = (sub.plan || '').toLowerCase();
191
192
 
192
193
  // All users get access to fast models
193
194
  const models = [
@@ -195,24 +196,26 @@ export class Config {
195
196
  { id: 'fast', name: 'Vigthoria_v2_Fast_1.7B', description: 'Quick responses, streaming' },
196
197
  ];
197
198
 
198
- // Developer+ plans get balanced model
199
- if (sub.plan && sub.plan !== 'free') {
199
+ // Developer+ plans get balanced model (any paid plan)
200
+ if (plan && plan !== 'free') {
200
201
  models.push(
201
202
  { id: 'balanced', name: 'Vigthoria_v2_Balanced_4B', description: 'General purpose' },
202
203
  { id: 'music', name: 'Vigthoria_v2_Music_4B', description: 'Music production & theory' },
203
204
  );
204
205
  }
205
206
 
206
- // Pro plans get code and creative models
207
- if (sub.plan === 'developer' || sub.plan === 'pro' || sub.plan === 'ultra' || sub.plan === 'enterprise') {
207
+ // Pro plans get code and creative models (including master_admin and admin)
208
+ const proPlansList = ['developer', 'pro', 'ultra', 'enterprise', 'master_admin', 'admin'];
209
+ if (proPlansList.includes(plan)) {
208
210
  models.push(
209
211
  { id: 'code', name: 'Vigthoria_v3_Code_30B', description: 'Advanced code specialist with agent mode' },
210
212
  { id: 'creative', name: 'Vigthoria_v4_Creative_9B', description: 'Creative writing, lyrics' },
211
213
  );
212
214
  }
213
215
 
214
- // Ultra/Enterprise get premium reasoning model
215
- if (sub.plan === 'ultra' || sub.plan === 'enterprise') {
216
+ // Ultra/Enterprise/Admin get premium reasoning model
217
+ const premiumPlansList = ['ultra', 'enterprise', 'master_admin', 'admin'];
218
+ if (premiumPlansList.includes(plan)) {
216
219
  models.push(
217
220
  { id: 'reasoning', name: 'Vigthoria_v1_Reasoning_32B', description: 'Deep reasoning & complex problem solving' },
218
221
  );
@@ -278,6 +278,34 @@ export class AgenticTools {
278
278
  riskLevel: 'medium',
279
279
  category: 'execute',
280
280
  },
281
+ {
282
+ name: 'fetch_url',
283
+ description: 'Fetch content from a URL (web page, API endpoint). Works cross-platform on Windows, Mac, and Linux.',
284
+ parameters: [
285
+ { name: 'url', description: 'URL to fetch (must be http or https)', required: true },
286
+ { name: 'method', description: 'HTTP method (GET, POST, etc.)', required: false },
287
+ { name: 'headers', description: 'JSON string of headers to send', required: false },
288
+ { name: 'body', description: 'Request body for POST/PUT requests', required: false },
289
+ { name: 'selector', description: 'CSS selector to extract specific content (for HTML)', required: false },
290
+ ],
291
+ requiresPermission: true,
292
+ dangerous: false,
293
+ riskLevel: 'low',
294
+ category: 'read',
295
+ },
296
+ {
297
+ name: 'ssh_exec',
298
+ description: 'Execute a command on a remote server via SSH (useful for Unix commands from Windows)',
299
+ parameters: [
300
+ { name: 'command', description: 'Command to execute on remote server', required: true },
301
+ { name: 'host', description: 'SSH host (default: vigthoria-server)', required: false },
302
+ { name: 'timeout', description: 'Timeout in seconds', required: false },
303
+ ],
304
+ requiresPermission: true,
305
+ dangerous: true,
306
+ riskLevel: 'high',
307
+ category: 'execute',
308
+ },
281
309
  ];
282
310
  }
283
311
 
@@ -394,6 +422,10 @@ export class AgenticTools {
394
422
  return this.git(call.args);
395
423
  case 'repo':
396
424
  return this.repo(call.args);
425
+ case 'fetch_url':
426
+ return this.fetchUrl(call.args);
427
+ case 'ssh_exec':
428
+ return this.sshExec(call.args);
397
429
  default:
398
430
  return this.createErrorResult(
399
431
  ToolErrorType.INVALID_ARGS,
@@ -727,10 +759,51 @@ export class AgenticTools {
727
759
  /**
728
760
  * Execute bash command with enhanced error handling
729
761
  * SECURITY: Commands are sandboxed to workspace directory
762
+ * WINDOWS: Detects Unix-specific commands and suggests alternatives
730
763
  */
731
764
  private bash(args: Record<string, string>): ToolResult {
732
765
  const cwd = args.cwd ? this.resolvePath(args.cwd) : this.cwd;
733
766
  const timeout = args.timeout ? parseInt(args.timeout) * 1000 : 30000;
767
+ const os = require('os');
768
+ const platform = os.platform();
769
+
770
+ // Unix-specific commands that don't exist on Windows
771
+ const unixOnlyCommands = [
772
+ 'head', 'tail', 'grep', 'awk', 'sed', 'wc', 'cut', 'sort', 'uniq',
773
+ 'xargs', 'find', 'chmod', 'chown', 'ln', 'df', 'du', 'ps', 'kill',
774
+ 'top', 'htop', 'which', 'whereis', 'man', 'less', 'more', 'cat',
775
+ ];
776
+
777
+ // Check if command uses Unix-only tools on Windows
778
+ if (platform === 'win32') {
779
+ const cmdParts = args.command.split(/[|&;]/);
780
+ for (const part of cmdParts) {
781
+ const firstWord = part.trim().split(/\s+/)[0].toLowerCase();
782
+ if (unixOnlyCommands.includes(firstWord)) {
783
+ return this.createErrorResult(
784
+ ToolErrorType.EXECUTION_FAILED,
785
+ `Command '${firstWord}' is not available on Windows`,
786
+ `Use the 'ssh_exec' tool to run Unix commands on the server, ` +
787
+ `or use 'fetch_url' for web requests. ` +
788
+ `PowerShell alternatives: dir (ls), type (cat), findstr (grep), select-string (grep)`
789
+ );
790
+ }
791
+ }
792
+
793
+ // Check for pipe to Unix command
794
+ if (args.command.includes('|')) {
795
+ const pipedCommands = args.command.split('|').map(c => c.trim().split(/\s+/)[0].toLowerCase());
796
+ for (const cmd of pipedCommands) {
797
+ if (unixOnlyCommands.includes(cmd)) {
798
+ return this.createErrorResult(
799
+ ToolErrorType.EXECUTION_FAILED,
800
+ `Piped command '${cmd}' is not available on Windows`,
801
+ `Windows doesn't have '${cmd}'. Use 'ssh_exec' tool to run this command on the Vigthoria server instead.`
802
+ );
803
+ }
804
+ }
805
+ }
806
+ }
734
807
 
735
808
  // SECURITY: Block dangerous commands that could access outside workspace
736
809
  const blockedPatterns = [
@@ -771,8 +844,6 @@ export class AgenticTools {
771
844
 
772
845
  try {
773
846
  const startTime = Date.now();
774
- const os = require('os');
775
- const platform = os.platform();
776
847
 
777
848
  // Build exec options based on platform
778
849
  const execOptions: any = {
@@ -1051,6 +1122,217 @@ export class AgenticTools {
1051
1122
  }
1052
1123
  }
1053
1124
 
1125
+ /**
1126
+ * Fetch URL content - Cross-platform web fetching
1127
+ * Uses Node.js native fetch (available in Node 18+)
1128
+ */
1129
+ private async fetchUrl(args: Record<string, string>): Promise<ToolResult> {
1130
+ const url = args.url;
1131
+ const method = (args.method || 'GET').toUpperCase();
1132
+
1133
+ // Validate URL
1134
+ if (!url.startsWith('http://') && !url.startsWith('https://')) {
1135
+ return this.createErrorResult(
1136
+ ToolErrorType.INVALID_ARGS,
1137
+ 'URL must start with http:// or https://',
1138
+ 'Provide a valid URL, e.g., https://example.com'
1139
+ );
1140
+ }
1141
+
1142
+ try {
1143
+ const fetchOptions: RequestInit = {
1144
+ method,
1145
+ headers: {
1146
+ 'User-Agent': 'Vigthoria-CLI/1.5.1',
1147
+ 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
1148
+ },
1149
+ };
1150
+
1151
+ // Parse custom headers if provided
1152
+ if (args.headers) {
1153
+ try {
1154
+ const customHeaders = JSON.parse(args.headers);
1155
+ fetchOptions.headers = { ...fetchOptions.headers, ...customHeaders };
1156
+ } catch {
1157
+ this.logger.warn('Invalid headers JSON, using defaults');
1158
+ }
1159
+ }
1160
+
1161
+ // Add body for POST/PUT requests
1162
+ if (args.body && ['POST', 'PUT', 'PATCH'].includes(method)) {
1163
+ fetchOptions.body = args.body;
1164
+ (fetchOptions.headers as Record<string, string>)['Content-Type'] = 'application/json';
1165
+ }
1166
+
1167
+ // Use AbortController for timeout
1168
+ const controller = new AbortController();
1169
+ const timeout = setTimeout(() => controller.abort(), 30000);
1170
+ fetchOptions.signal = controller.signal;
1171
+
1172
+ const response = await fetch(url, fetchOptions);
1173
+ clearTimeout(timeout);
1174
+
1175
+ if (!response.ok) {
1176
+ return this.createErrorResult(
1177
+ ToolErrorType.NETWORK_ERROR,
1178
+ `HTTP ${response.status}: ${response.statusText}`,
1179
+ `The server returned an error. Status: ${response.status}`
1180
+ );
1181
+ }
1182
+
1183
+ let content = await response.text();
1184
+
1185
+ // Extract content based on selector if provided (basic HTML extraction)
1186
+ if (args.selector && content.includes('<')) {
1187
+ // Basic extraction - for title, meta, etc.
1188
+ const selector = args.selector.toLowerCase();
1189
+
1190
+ if (selector === 'title') {
1191
+ const match = content.match(/<title[^>]*>([^<]*)<\/title>/i);
1192
+ content = match ? match[1].trim() : 'No title found';
1193
+ } else if (selector === 'meta') {
1194
+ const matches = content.match(/<meta[^>]+>/gi) || [];
1195
+ content = matches.join('\n');
1196
+ } else if (selector === 'body') {
1197
+ const match = content.match(/<body[^>]*>([\s\S]*)<\/body>/i);
1198
+ content = match ? match[1].replace(/<script[\s\S]*?<\/script>/gi, '').replace(/<style[\s\S]*?<\/style>/gi, '').replace(/<[^>]+>/g, ' ').replace(/\s+/g, ' ').trim() : content;
1199
+ } else if (selector.startsWith('h')) {
1200
+ const regex = new RegExp(`<${selector}[^>]*>([^<]*)</${selector}>`, 'gi');
1201
+ const matches: string[] = [];
1202
+ let match;
1203
+ while ((match = regex.exec(content)) !== null) {
1204
+ matches.push(match[1].trim());
1205
+ }
1206
+ content = matches.length > 0 ? matches.join('\n') : `No ${selector} tags found`;
1207
+ }
1208
+ }
1209
+
1210
+ // Truncate if too long
1211
+ if (content.length > 50000) {
1212
+ content = content.substring(0, 50000) + '\n... (truncated, content too long)';
1213
+ }
1214
+
1215
+ return {
1216
+ success: true,
1217
+ output: content,
1218
+ metadata: {
1219
+ url,
1220
+ status: response.status,
1221
+ contentType: response.headers.get('content-type') || 'unknown',
1222
+ contentLength: content.length,
1223
+ },
1224
+ };
1225
+ } catch (error: any) {
1226
+ if (error.name === 'AbortError') {
1227
+ return this.createErrorResult(
1228
+ ToolErrorType.TIMEOUT,
1229
+ 'Request timed out after 30 seconds',
1230
+ 'The server took too long to respond. Try again or use a different URL.'
1231
+ );
1232
+ }
1233
+
1234
+ return this.createErrorResult(
1235
+ ToolErrorType.NETWORK_ERROR,
1236
+ error.message,
1237
+ 'Check your internet connection and ensure the URL is correct.'
1238
+ );
1239
+ }
1240
+ }
1241
+
1242
+ /**
1243
+ * Execute command via SSH on remote server
1244
+ * Useful for running Unix commands from Windows
1245
+ */
1246
+ private async sshExec(args: Record<string, string>): Promise<ToolResult> {
1247
+ const command = args.command;
1248
+ const host = args.host || 'vigthoria-server';
1249
+ const timeout = args.timeout ? parseInt(args.timeout) * 1000 : 60000;
1250
+
1251
+ // Security checks for SSH commands
1252
+ const blockedPatterns = [
1253
+ /\brm\s+-rf?\s+\//i, // Dangerous rm commands
1254
+ /\bsudo\s+rm/i, // Sudo rm
1255
+ />\s*\/dev\/sd/i, // Writing to disk devices
1256
+ /\bdd\s+.*of=\/dev/i, // dd to devices
1257
+ /\bmkfs/i, // Format filesystems
1258
+ /shutdown|reboot|halt|poweroff/i, // System control
1259
+ ];
1260
+
1261
+ for (const pattern of blockedPatterns) {
1262
+ if (pattern.test(command)) {
1263
+ return this.createErrorResult(
1264
+ ToolErrorType.PERMISSION_DENIED,
1265
+ 'This command is blocked for security reasons',
1266
+ 'Dangerous system commands cannot be executed via SSH.'
1267
+ );
1268
+ }
1269
+ }
1270
+
1271
+ try {
1272
+ const os = require('os');
1273
+ const platform = os.platform();
1274
+
1275
+ let sshCommand: string;
1276
+ let execOptions: any = {
1277
+ encoding: 'utf-8',
1278
+ timeout,
1279
+ maxBuffer: 10 * 1024 * 1024,
1280
+ };
1281
+
1282
+ if (platform === 'win32') {
1283
+ // On Windows, use the ssh command from OpenSSH
1284
+ sshCommand = `ssh -o BatchMode=yes -o StrictHostKeyChecking=no -o ConnectTimeout=10 ${host} "${command.replace(/"/g, '\\"')}"`;
1285
+ execOptions.shell = true;
1286
+ } else {
1287
+ // On Unix-like systems
1288
+ sshCommand = `ssh -o BatchMode=yes -o StrictHostKeyChecking=no -o ConnectTimeout=10 ${host} '${command.replace(/'/g, "'\\''")}'`;
1289
+ execOptions.shell = '/bin/sh';
1290
+ }
1291
+
1292
+ const output = execSync(sshCommand, execOptions) as string;
1293
+
1294
+ return {
1295
+ success: true,
1296
+ output: output.trim(),
1297
+ metadata: { host, command },
1298
+ };
1299
+ } catch (error: any) {
1300
+ // Check for common SSH errors
1301
+ const errorMsg = error.stderr || error.message || '';
1302
+
1303
+ if (errorMsg.includes('Connection refused') || errorMsg.includes('No route to host')) {
1304
+ return this.createErrorResult(
1305
+ ToolErrorType.NETWORK_ERROR,
1306
+ `Cannot connect to SSH host: ${host}`,
1307
+ 'Check that the SSH host is correct and the server is running.'
1308
+ );
1309
+ }
1310
+
1311
+ if (errorMsg.includes('Permission denied') || errorMsg.includes('authentication')) {
1312
+ return this.createErrorResult(
1313
+ ToolErrorType.PERMISSION_DENIED,
1314
+ 'SSH authentication failed',
1315
+ 'Make sure you have SSH key authentication set up for this host.'
1316
+ );
1317
+ }
1318
+
1319
+ if (error.killed) {
1320
+ return this.createErrorResult(
1321
+ ToolErrorType.TIMEOUT,
1322
+ `SSH command timed out after ${timeout/1000}s`,
1323
+ 'Try a simpler command or increase the timeout.'
1324
+ );
1325
+ }
1326
+
1327
+ return {
1328
+ success: false,
1329
+ output: error.stdout || '',
1330
+ error: errorMsg,
1331
+ suggestion: 'Check the command syntax and ensure SSH access is configured.',
1332
+ };
1333
+ }
1334
+ }
1335
+
1054
1336
  /**
1055
1337
  * Resolve and SANITIZE path - prevent path traversal outside workspace
1056
1338
  * SECURITY: All paths MUST stay within the workspace (cwd)
@@ -1274,21 +1556,44 @@ To use a tool, output a JSON block in a code fence with "tool" language:
1274
1556
  {"tool": "read_file", "args": {"path": "src/index.js"}}
1275
1557
  \`\`\`
1276
1558
 
1277
- 3. Run a shell command:
1559
+ 3. Fetch a web page:
1560
+ \`\`\`tool
1561
+ {"tool": "fetch_url", "args": {"url": "https://example.com", "selector": "title"}}
1562
+ \`\`\`
1563
+
1564
+ 4. Run command on remote server (for Unix commands from Windows):
1278
1565
  \`\`\`tool
1279
- {"tool": "bash", "args": {"command": "ls -la"}}
1566
+ {"tool": "ssh_exec", "args": {"command": "curl -s https://example.com | head -20"}}
1280
1567
  \`\`\`
1281
1568
 
1282
- 4. Write a file:
1569
+ 5. Write a file:
1283
1570
  \`\`\`tool
1284
1571
  {"tool": "write_file", "args": {"path": "hello.py", "content": "print('Hello World')"}}
1285
1572
  \`\`\`
1286
1573
 
1287
- IMPORTANT:
1574
+ ## CRITICAL RULES:
1575
+
1576
+ ### Cross-Platform Compatibility:
1577
+ - On Windows, Unix commands (head, tail, grep, awk, sed, wc) are NOT available
1578
+ - Use \`fetch_url\` for web requests instead of curl|grep
1579
+ - Use \`ssh_exec\` to run Unix commands on the Vigthoria server if needed
1580
+ - Use \`read_file\` instead of cat
1581
+ - Use \`list_dir\` instead of ls
1582
+
1583
+ ### Handling Tool Failures:
1584
+ - If a tool fails, REPORT the failure honestly to the user
1585
+ - NEVER make up or hallucinate content when a tool fails
1586
+ - If you cannot access a URL, say "I was unable to fetch the URL because..."
1587
+ - If a command fails, explain what happened and suggest alternatives
1588
+ - Do NOT write analysis or comparison reports if you couldn't gather the actual data
1589
+
1590
+ ### File Access:
1288
1591
  - You can ONLY access files within the current project workspace
1289
1592
  - Use relative paths (e.g., "src/file.js", "app.py", "./config.json")
1290
1593
  - Never try to access system files or directories outside the workspace
1291
- - Use ONLY the exact tool names: list_dir, read_file, write_file, edit_file, bash, grep, glob, git
1594
+
1595
+ ### Tool Names:
1596
+ - Use ONLY these exact tool names: list_dir, read_file, write_file, edit_file, bash, grep, glob, git, repo, fetch_url, ssh_exec
1292
1597
  - The JSON must be valid with double quotes for all keys and string values
1293
1598
  - After tool execution, you will receive results and can continue with the next step
1294
1599
  - Explain what you're doing before using tools