@vierratale/ai 0.1.0-beta.14 → 0.1.0-beta.15

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/README.md CHANGED
@@ -22,7 +22,7 @@ npx @vierratale/ai
22
22
  ```
23
23
 
24
24
  The first launch detects and, if needed, installs and starts the local engine
25
- (**Cortex** - "secretly" Ollama under the hood), then pulls the model you use.
25
+ (**Cortex**), then pulls the model you use.
26
26
 
27
27
  ## Usage
28
28
 
@@ -32,36 +32,44 @@ vierrataleai --provider cortex # Use local models
32
32
  vierrataleai --provider openai # Use cloud models (OpenAI)
33
33
  vierrataleai --provider anthropic # Use cloud models (Claude)
34
34
  vierrataleai --provider gemini # Use cloud models (Gemini)
35
- vierrataleai --model VRTL-6.pro # Use specific model
35
+ vierrataleai --model VTL-3.7-Ultra # Use specific model
36
36
  ```
37
37
 
38
38
  ## Models
39
39
 
40
40
  Local models run through the **Cortex** engine:
41
41
 
42
- | Model | Backend |
43
- |-------|---------|
44
- | VRTL-1.lite | qwen3:0.6b |
45
- | VRTL-2.fast | gemma3:1b |
46
- | VRTL-3.small | llama3.2:1b |
47
- | VRTL-4.balanced | qwen2.5:1.5b |
48
- | VRTL-5.plus | qwen3:1.7b |
49
- | VRTL-6.pro | qwen2.5:3b |
42
+ | Model | Tier |
43
+ |-------|------|
44
+ | VTL-2.5-Mini | minimal |
45
+ | VTL-2.7-Flash | fast |
46
+ | VTL-2.9-Core | small |
47
+ | VTL-3.2-Orbit | small |
48
+ | VTL-3.1-Plus | balanced |
49
+ | VTL-3.3-Pro | coder |
50
+ | VTL-3.5-Reason | reasoning |
51
+ | VTL-3.7-Ultra | ultra |
52
+ | VTL-4.7-Gusto | balanced |
53
+ | VTL-5.4-Tempo | balanced |
54
+ | VTL-5.2-Pinnacle | pro |
55
+ | VTL-5.9-Sovereign | pro |
50
56
 
51
57
  Cloud models are available when the matching provider + API key is configured:
52
58
 
53
- | Model | Backend |
54
- |-------|---------|
55
- | VRTL-7.cloud-mini | gpt-4o-mini (OpenAI) |
56
- | VRTL-8.cloud | gpt-4o (OpenAI) |
57
- | VRTL-9.cloud-fast | claude-3-5-haiku-20241022 (Anthropic) |
58
- | VRTL-10.cloud-pro | claude-sonnet-4-20250514 (Anthropic) |
59
- | VRTL-11.cloud-lite | gemini-2.0-flash (Gemini) |
60
- | VRTL-12.cloud-plus | gemini-1.5-pro (Gemini) |
61
-
62
- > Legacy `vierratale-*` model names (e.g. `vierratale-fast`, `vierratale-cloud`)
63
-
64
- > still work and are stored as VRTL names.
59
+ | Model | Tier |
60
+ |-------|------|
61
+ | VTL-4.0 | cloud-mini |
62
+ | VTL-4.2-Omni | cloud |
63
+ | VTL-4.5-Plus | cloud-fast |
64
+ | VTL-5.0-Pro | cloud-pro |
65
+ | VTL-6.0-Reason | cloud-lite |
66
+ | VTL-7.0-Omnij | cloud-plus |
67
+ | VTL-8.0-Fabric | cloud-fabric |
68
+ | VTL-9.0-Forge | cloud-forge |
69
+ | VTL-10.0-Singularity | cloud-singularity |
70
+
71
+ > Legacy `vierratale-*` and old `VRTL-*` model names (e.g. `vierratale-fast`,
72
+ > `vierratale-cloud`) still work and map to the VTL names.
65
73
 
66
74
  ## Commands
67
75
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vierratale/ai",
3
- "version": "0.1.0-beta.14",
3
+ "version": "0.1.0-beta.15",
4
4
  "description": "VierrataleAI - Intelligent terminal assistant",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -25,9 +25,9 @@ try {
25
25
  execSync('curl -fsSL https://ollama.com/install.sh | sh', { stdio: 'inherit' });
26
26
  } else {
27
27
  console.log(
28
- '\n[vierrataleai] The local engine (ollama) was not detected.\n' +
28
+ '\n[vierrataleai] The local engine was not detected.\n' +
29
29
  ' - Run the CLI: it will attempt to install and start the engine automatically.\n' +
30
- ' - Or install it yourself: curl -fsSL https://ollama.com/install.sh | sh\n'
30
+ ' - Or run ./install.sh (in the project repo) to set up the engine.\n'
31
31
  );
32
32
  }
33
33
  } catch {
package/src/catalog.js CHANGED
@@ -1,36 +1,59 @@
1
- // Model catalog. Display names use the countable VRTL branding:
2
- // VRTL-<number>.<word>, e.g. VRTL-2.fast, VRTL-7.cloud-mini.
1
+ // Model catalog. Display names use the opaque VTL branding:
2
+ // VTL-<number>.<name>, e.g. VTL-2.7-Flash, VTL-4.0.
3
+ // The real engine tags are mapped to display names here and kept internal.
3
4
  const MODELS = {
4
- 'qwen3:0.6b': 'VRTL-1.lite',
5
- 'gemma3:1b': 'VRTL-2.fast',
6
- 'llama3.2:1b': 'VRTL-3.small',
7
- 'qwen2.5:1.5b': 'VRTL-4.balanced',
8
- 'qwen2.5-coder:1.5b': 'VRTL-4.coder',
9
- 'qwen3:1.7b': 'VRTL-5.plus',
10
- 'qwen2.5:3b': 'VRTL-6.pro',
11
- 'gpt-4o-mini': 'VRTL-7.cloud-mini',
12
- 'gpt-4o': 'VRTL-8.cloud',
13
- 'claude-3-5-haiku-20241022': 'VRTL-9.cloud-fast',
14
- 'claude-sonnet-4-20250514': 'VRTL-10.cloud-pro',
15
- 'gemini-2.0-flash': 'VRTL-11.cloud-lite',
16
- 'gemini-1.5-pro': 'VRTL-12.cloud-plus',
5
+ 'qwen3:0.6b': 'VTL-2.5-Mini',
6
+ 'gemma3:1b': 'VTL-2.7-Flash',
7
+ 'llama3.2:1b': 'VTL-2.9-Core',
8
+ 'llama3.2:3b': 'VTL-3.2-Orbit',
9
+ 'qwen2.5:1.5b': 'VTL-3.1-Plus',
10
+ 'qwen2.5-coder:1.5b': 'VTL-3.3-Pro',
11
+ 'qwen3:1.7b': 'VTL-3.5-Reason',
12
+ 'qwen2.5:3b': 'VTL-3.7-Ultra',
13
+ 'gemma3:4b': 'VTL-4.7-Gusto',
14
+ 'phi4-mini': 'VTL-5.4-Tempo',
15
+ 'glm4:9b': 'VTL-5.2-Pinnacle',
16
+ 'qwen3:4b': 'VTL-5.9-Sovereign',
17
+ 'gpt-4o-mini': 'VTL-4.0',
18
+ 'gpt-4o': 'VTL-4.2-Omni',
19
+ 'claude-3-5-haiku-20241022': 'VTL-4.5-Plus',
20
+ 'claude-sonnet-4-20250514': 'VTL-5.0-Pro',
21
+ 'gemini-2.0-flash': 'VTL-6.0-Reason',
22
+ 'gemini-1.5-pro': 'VTL-7.0-Omnij',
23
+ 'kimi-k2.6:cloud': 'VTL-8.0-Fabric',
24
+ 'kimi-k2.7-code:cloud': 'VTL-9.0-Forge',
25
+ 'kimi-k3': 'VTL-10.0-Singularity',
17
26
  };
18
27
 
19
- // Older `vierratale-<word>` names, accepted everywhere for backwards
20
- // compatibility (existing config files may still contain them).
28
+ // Legacy display names (older `VRTL-*` and `vierratale-<word>`), accepted
29
+ // everywhere for backwards compatibility (existing config files may contain
30
+ // them). All map onto the current VTL display names.
21
31
  const LEGACY_DISPLAY = {
22
- 'vierratale-lite': 'VRTL-1.lite',
23
- 'vierratale-fast': 'VRTL-2.fast',
24
- 'vierratale-small': 'VRTL-3.small',
25
- 'vierratale-balanced': 'VRTL-4.balanced',
26
- 'vierratale-plus': 'VRTL-5.plus',
27
- 'vierratale-pro': 'VRTL-6.pro',
28
- 'vierratale-cloud-mini': 'VRTL-7.cloud-mini',
29
- 'vierratale-cloud': 'VRTL-8.cloud',
30
- 'vierratale-cloud-fast': 'VRTL-9.cloud-fast',
31
- 'vierratale-cloud-pro': 'VRTL-10.cloud-pro',
32
- 'vierratale-cloud-lite': 'VRTL-11.cloud-lite',
33
- 'vierratale-cloud-plus': 'VRTL-12.cloud-plus',
32
+ 'VRTL-1.lite': 'VTL-2.5-Mini',
33
+ 'VRTL-2.fast': 'VTL-2.7-Flash',
34
+ 'VRTL-3.small': 'VTL-2.9-Core',
35
+ 'VRTL-4.balanced': 'VTL-3.1-Plus',
36
+ 'VRTL-4.coder': 'VTL-3.3-Pro',
37
+ 'VRTL-5.plus': 'VTL-3.5-Reason',
38
+ 'VRTL-6.pro': 'VTL-3.7-Ultra',
39
+ 'VRTL-7.cloud-mini': 'VTL-4.0',
40
+ 'VRTL-8.cloud': 'VTL-4.2-Omni',
41
+ 'VRTL-9.cloud-fast': 'VTL-4.5-Plus',
42
+ 'VRTL-10.cloud-pro': 'VTL-5.0-Pro',
43
+ 'VRTL-11.cloud-lite': 'VTL-6.0-Reason',
44
+ 'VRTL-12.cloud-plus': 'VTL-7.0-Omnij',
45
+ 'vierratale-lite': 'VTL-2.5-Mini',
46
+ 'vierratale-fast': 'VTL-2.7-Flash',
47
+ 'vierratale-small': 'VTL-2.9-Core',
48
+ 'vierratale-balanced': 'VTL-3.1-Plus',
49
+ 'vierratale-plus': 'VTL-3.5-Reason',
50
+ 'vierratale-pro': 'VTL-3.7-Ultra',
51
+ 'vierratale-cloud-mini': 'VTL-4.0',
52
+ 'vierratale-cloud': 'VTL-4.2-Omni',
53
+ 'vierratale-cloud-fast': 'VTL-4.5-Plus',
54
+ 'vierratale-cloud-pro': 'VTL-5.0-Pro',
55
+ 'vierratale-cloud-lite': 'VTL-6.0-Reason',
56
+ 'vierratale-cloud-plus': 'VTL-7.0-Omnij',
34
57
  };
35
58
 
36
59
  const REVERSE = Object.fromEntries(
@@ -38,42 +61,58 @@ const REVERSE = Object.fromEntries(
38
61
  );
39
62
 
40
63
  const LOCAL_MODELS = [
41
- 'VRTL-1.lite',
42
- 'VRTL-2.fast',
43
- 'VRTL-3.small',
44
- 'VRTL-4.balanced',
45
- 'VRTL-4.coder',
46
- 'VRTL-5.plus',
47
- 'VRTL-6.pro',
64
+ 'VTL-2.5-Mini',
65
+ 'VTL-2.7-Flash',
66
+ 'VTL-2.9-Core',
67
+ 'VTL-3.2-Orbit',
68
+ 'VTL-3.1-Plus',
69
+ 'VTL-3.3-Pro',
70
+ 'VTL-3.5-Reason',
71
+ 'VTL-3.7-Ultra',
72
+ 'VTL-4.7-Gusto',
73
+ 'VTL-5.4-Tempo',
74
+ 'VTL-5.2-Pinnacle',
75
+ 'VTL-5.9-Sovereign',
48
76
  ];
49
77
 
50
78
  const CLOUD_MODELS = [
51
- 'VRTL-7.cloud-mini',
52
- 'VRTL-8.cloud',
53
- 'VRTL-9.cloud-fast',
54
- 'VRTL-10.cloud-pro',
55
- 'VRTL-11.cloud-lite',
56
- 'VRTL-12.cloud-plus',
79
+ 'VTL-4.0',
80
+ 'VTL-4.2-Omni',
81
+ 'VTL-4.5-Plus',
82
+ 'VTL-5.0-Pro',
83
+ 'VTL-6.0-Reason',
84
+ 'VTL-7.0-Omnij',
85
+ 'VTL-8.0-Fabric',
86
+ 'VTL-9.0-Forge',
87
+ 'VTL-10.0-Singularity',
57
88
  ];
58
89
 
59
90
  const TIERS = {
60
- 'VRTL-1.lite': 'minimal',
61
- 'VRTL-2.fast': 'fast',
62
- 'VRTL-3.small': 'small',
63
- 'VRTL-4.balanced': 'balanced',
64
- 'VRTL-4.coder': 'coder',
65
- 'VRTL-5.plus': 'plus',
66
- 'VRTL-6.pro': 'professional',
67
- 'VRTL-7.cloud-mini': 'cloud-mini',
68
- 'VRTL-8.cloud': 'cloud',
69
- 'VRTL-9.cloud-fast': 'cloud-fast',
70
- 'VRTL-10.cloud-pro': 'cloud-pro',
71
- 'VRTL-11.cloud-lite': 'cloud-lite',
72
- 'VRTL-12.cloud-plus': 'cloud-plus',
91
+ 'VTL-2.5-Mini': 'minimal',
92
+ 'VTL-2.7-Flash': 'fast',
93
+ 'VTL-2.9-Core': 'small',
94
+ 'VTL-3.2-Orbit': 'small',
95
+ 'VTL-3.1-Plus': 'balanced',
96
+ 'VTL-3.3-Pro': 'coder',
97
+ 'VTL-3.5-Reason': 'reasoning',
98
+ 'VTL-3.7-Ultra': 'ultra',
99
+ 'VTL-4.7-Gusto': 'balanced',
100
+ 'VTL-5.4-Tempo': 'balanced',
101
+ 'VTL-5.2-Pinnacle': 'pro',
102
+ 'VTL-5.9-Sovereign': 'pro',
103
+ 'VTL-4.0': 'cloud-mini',
104
+ 'VTL-4.2-Omni': 'cloud',
105
+ 'VTL-4.5-Plus': 'cloud-fast',
106
+ 'VTL-5.0-Pro': 'cloud-pro',
107
+ 'VTL-6.0-Reason': 'cloud-lite',
108
+ 'VTL-7.0-Omnij': 'cloud-plus',
109
+ 'VTL-8.0-Fabric': 'cloud-fabric',
110
+ 'VTL-9.0-Forge': 'cloud-forge',
111
+ 'VTL-10.0-Singularity': 'cloud-singularity',
73
112
  };
74
113
 
75
114
  export const Catalog = {
76
- // Map any known name (new or legacy) to the current VRTL display name.
115
+ // Map any known name (new or legacy) to the current VTL display name.
77
116
  normalize(displayName) {
78
117
  return LEGACY_DISPLAY[displayName] || displayName;
79
118
  },
@@ -99,11 +138,11 @@ export const Catalog = {
99
138
  },
100
139
 
101
140
  getDefaultModel() {
102
- return 'VRTL-2.fast';
141
+ return 'VTL-2.7-Flash';
103
142
  },
104
143
 
105
144
  getDefaultCloudModel() {
106
- return 'VRTL-7.cloud-mini';
145
+ return 'VTL-4.0';
107
146
  },
108
147
 
109
148
  isLocalModel(displayName) {
@@ -136,4 +175,4 @@ export const Catalog = {
136
175
  tier: TIERS[name] || 'unknown',
137
176
  };
138
177
  },
139
- };
178
+ };
package/src/cli.js CHANGED
@@ -41,7 +41,7 @@ Usage: vierrataleai [options]
41
41
 
42
42
  Options:
43
43
  --provider, -p <name> Provider: cortex, openai (default: auto-detect)
44
- --model, -m <name> Model: VRTL-1.lite/2.fast/4.balanced/6.pro/8.cloud
44
+ --model, -m <name> Model: e.g. VTL-2.7-Flash/3.5-Reason/6.0-Reason
45
45
  --clear (deprecated: screen is always cleared on start)
46
46
  --install, --setup Install engine + model + a "vierrataleai" command, then run
47
47
  --version, -v Show version
@@ -830,8 +830,8 @@ async function chat(provider, systemPrompt) {
830
830
  const extras = [...installedSet].filter(
831
831
  (m) => !Catalog.getModelInfo(m) && m !== Config.getEffectiveModel(provider.name)
832
832
  );
833
- for (const m of extras) {
834
- chatUI.notify(` ${m} ✓ (raw engine model)`);
833
+ if (extras.length) {
834
+ chatUI.notify(` (+${extras.length} additional engine models available)`);
835
835
  }
836
836
  }
837
837
  chatUI.render(messages);
@@ -850,7 +850,7 @@ async function chat(provider, systemPrompt) {
850
850
  chatUI.setModel(model, provider.displayName);
851
851
  };
852
852
  if (provider.isLocal && Catalog.isCloudModel(canonical)) {
853
- chatUI.notify(`Cannot use cloud model "${canonical}" on ${provider.displayName} (local). Use /model VRTL-6.pro or /provider openai.`);
853
+ chatUI.notify(`Cannot use cloud model "${canonical}" on ${provider.displayName} (local). Use /model VTL-3.7-Ultra or /provider openai.`);
854
854
  } else if (!info) {
855
855
  if (provider.isLocal) {
856
856
  const switched = await ensureRawLocalModel(modelName, (m) => chatUI.notify(m));
@@ -993,7 +993,7 @@ async function chat(provider, systemPrompt) {
993
993
  const info = Catalog.getModelInfo(model);
994
994
  chatUI.clearNotices();
995
995
  chatUI.notify(
996
- `I'm running on ${model} (${info ? info.realModel : model}) via the ${provider.displayName} engine.`
996
+ `I'm running on ${model} via the ${provider.displayName} engine.`
997
997
  );
998
998
  chatUI.render(messages);
999
999
  continue;
package/src/config.js CHANGED
@@ -12,7 +12,7 @@ function configPaths() {
12
12
 
13
13
  const DEFAULTS = {
14
14
  provider: 'auto',
15
- model: 'VRTL-2.fast',
15
+ model: 'VTL-2.7-Flash',
16
16
  engineHost: 'http://127.0.0.1:11434',
17
17
  numCtx: 2048,
18
18
  temperature: 0.7,
@@ -285,14 +285,14 @@ export class CortexProvider extends BaseProvider {
285
285
  // engine host is deliberately kept out of the message; errors carry codes.
286
286
  async function describeEngineError(resp, model) {
287
287
  if (/not found|does not exist|model.*missing/i.test(String(resp.statusText))) {
288
- return `[ERR-0002] Model "${model}" is not installed on the engine. If you picked a cloud model, use /model VRTL-6.pro or /provider openai.`;
288
+ return `[ERR-0002] Model "${model}" is not installed on the engine. If you picked a cloud model, use /model VTL-3.7-Ultra or /provider openai.`;
289
289
  }
290
290
  let body = '';
291
291
  try {
292
292
  body = (await resp.text()).slice(0, 300);
293
293
  } catch {}
294
294
  if (/not found|does not exist|model.*missing/i.test(body)) {
295
- return `[ERR-0002] Model "${model}" is not installed on the engine. If you picked a cloud model, use /model VRTL-6.pro or /provider openai.`;
295
+ return `[ERR-0002] Model "${model}" is not installed on the engine. If you picked a cloud model, use /model VTL-3.7-Ultra or /provider openai.`;
296
296
  }
297
- return `[ERR-0003] The engine returned HTTP ${resp.status}. Check the engine status or run /model VRTL-2.fast.`;
297
+ return `[ERR-0003] The engine returned HTTP ${resp.status}. Check the engine status or run /model VTL-2.7-Flash.`;
298
298
  }
@@ -1,6 +1,6 @@
1
1
  export const Branding = {
2
2
  APP_NAME: 'VierrataleAI',
3
- VERSION: '0.1.0-beta.14',
3
+ VERSION: '0.1.0-beta.15',
4
4
 
5
5
  colors: {
6
6
  primary: '\x1b[38;2;124;58;237m',