cmdr-agent 1.3.0 → 2.0.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.
Files changed (88) hide show
  1. package/dist/bin/cmdr.js +2 -1
  2. package/dist/bin/cmdr.js.map +1 -1
  3. package/dist/src/agents/executor.d.ts +32 -0
  4. package/dist/src/agents/executor.d.ts.map +1 -0
  5. package/dist/src/agents/executor.js +50 -0
  6. package/dist/src/agents/executor.js.map +1 -0
  7. package/dist/src/agents/index.d.ts +7 -0
  8. package/dist/src/agents/index.d.ts.map +1 -0
  9. package/dist/src/agents/index.js +7 -0
  10. package/dist/src/agents/index.js.map +1 -0
  11. package/dist/src/agents/registry.d.ts +36 -0
  12. package/dist/src/agents/registry.d.ts.map +1 -0
  13. package/dist/src/agents/registry.js +168 -0
  14. package/dist/src/agents/registry.js.map +1 -0
  15. package/dist/src/agents/subagent-tool.d.ts +27 -0
  16. package/dist/src/agents/subagent-tool.d.ts.map +1 -0
  17. package/dist/src/agents/subagent-tool.js +36 -0
  18. package/dist/src/agents/subagent-tool.js.map +1 -0
  19. package/dist/src/cli/args.d.ts +1 -0
  20. package/dist/src/cli/args.d.ts.map +1 -1
  21. package/dist/src/cli/args.js +4 -0
  22. package/dist/src/cli/args.js.map +1 -1
  23. package/dist/src/cli/commands.d.ts.map +1 -1
  24. package/dist/src/cli/commands.js +92 -4
  25. package/dist/src/cli/commands.js.map +1 -1
  26. package/dist/src/cli/ink/App.d.ts +4 -0
  27. package/dist/src/cli/ink/App.d.ts.map +1 -1
  28. package/dist/src/cli/ink/App.js +164 -20
  29. package/dist/src/cli/ink/App.js.map +1 -1
  30. package/dist/src/cli/ink/StatusBar.d.ts +17 -0
  31. package/dist/src/cli/ink/StatusBar.d.ts.map +1 -0
  32. package/dist/src/cli/ink/StatusBar.js +32 -0
  33. package/dist/src/cli/ink/StatusBar.js.map +1 -0
  34. package/dist/src/cli/repl.d.ts +1 -0
  35. package/dist/src/cli/repl.d.ts.map +1 -1
  36. package/dist/src/cli/repl.js +112 -3
  37. package/dist/src/cli/repl.js.map +1 -1
  38. package/dist/src/cli/theme.d.ts +42 -22
  39. package/dist/src/cli/theme.d.ts.map +1 -1
  40. package/dist/src/cli/theme.js +25 -1
  41. package/dist/src/cli/theme.js.map +1 -1
  42. package/dist/src/cli/themes.d.ts +57 -0
  43. package/dist/src/cli/themes.d.ts.map +1 -0
  44. package/dist/src/cli/themes.js +98 -0
  45. package/dist/src/cli/themes.js.map +1 -0
  46. package/dist/src/commands/index.d.ts +3 -0
  47. package/dist/src/commands/index.d.ts.map +1 -0
  48. package/dist/src/commands/index.js +2 -0
  49. package/dist/src/commands/index.js.map +1 -0
  50. package/dist/src/commands/loader.d.ts +35 -0
  51. package/dist/src/commands/loader.d.ts.map +1 -0
  52. package/dist/src/commands/loader.js +134 -0
  53. package/dist/src/commands/loader.js.map +1 -0
  54. package/dist/src/config/config-loader.d.ts.map +1 -1
  55. package/dist/src/config/config-loader.js +2 -0
  56. package/dist/src/config/config-loader.js.map +1 -1
  57. package/dist/src/config/defaults.d.ts.map +1 -1
  58. package/dist/src/config/defaults.js +1 -0
  59. package/dist/src/config/defaults.js.map +1 -1
  60. package/dist/src/config/schema.d.ts +3 -0
  61. package/dist/src/config/schema.d.ts.map +1 -1
  62. package/dist/src/config/schema.js +1 -0
  63. package/dist/src/config/schema.js.map +1 -1
  64. package/dist/src/core/agent-runner.d.ts.map +1 -1
  65. package/dist/src/core/agent-runner.js +29 -4
  66. package/dist/src/core/agent-runner.js.map +1 -1
  67. package/dist/src/core/agent.d.ts +1 -1
  68. package/dist/src/core/agent.d.ts.map +1 -1
  69. package/dist/src/core/agent.js +4 -3
  70. package/dist/src/core/agent.js.map +1 -1
  71. package/dist/src/core/types.d.ts +1 -0
  72. package/dist/src/core/types.d.ts.map +1 -1
  73. package/dist/src/llm/model-registry.d.ts +25 -0
  74. package/dist/src/llm/model-registry.d.ts.map +1 -1
  75. package/dist/src/llm/model-registry.js +217 -24
  76. package/dist/src/llm/model-registry.js.map +1 -1
  77. package/dist/src/llm/model-watcher.d.ts +26 -0
  78. package/dist/src/llm/model-watcher.d.ts.map +1 -0
  79. package/dist/src/llm/model-watcher.js +130 -0
  80. package/dist/src/llm/model-watcher.js.map +1 -0
  81. package/dist/src/llm/ollama.d.ts +5 -0
  82. package/dist/src/llm/ollama.d.ts.map +1 -1
  83. package/dist/src/llm/ollama.js +122 -11
  84. package/dist/src/llm/ollama.js.map +1 -1
  85. package/dist/src/session/project-context.d.ts.map +1 -1
  86. package/dist/src/session/project-context.js +54 -4
  87. package/dist/src/session/project-context.js.map +1 -1
  88. package/package.json +2 -1
@@ -1,7 +1,15 @@
1
1
  /**
2
2
  * Model registry — known models and their capabilities.
3
+ *
4
+ * Seed data provides accurate defaults for well-known models.
5
+ * Dynamic models discovered from Ollama are merged on top at runtime.
3
6
  */
4
- const KNOWN_MODELS = [
7
+ // ---------------------------------------------------------------------------
8
+ // Seed data — accurate context lengths + capabilities for popular models.
9
+ // Used as fallback when Ollama /api/show is unavailable.
10
+ // ---------------------------------------------------------------------------
11
+ const SEED_MODELS = [
12
+ // Qwen family
5
13
  { name: 'qwen2.5-coder:7b', contextLength: 32768, supportsTools: true, parameterSize: '7B', recommended: 'lightweight' },
6
14
  { name: 'qwen2.5-coder:14b', contextLength: 32768, supportsTools: true, parameterSize: '14B', recommended: 'midrange' },
7
15
  { name: 'qwen2.5-coder:32b', contextLength: 32768, supportsTools: true, parameterSize: '32B', recommended: 'heavy' },
@@ -9,29 +17,216 @@ const KNOWN_MODELS = [
9
17
  { name: 'qwen2.5:7b', contextLength: 32768, supportsTools: true, parameterSize: '7B', recommended: 'lightweight' },
10
18
  { name: 'qwen2.5:14b', contextLength: 32768, supportsTools: true, parameterSize: '14B', recommended: 'midrange' },
11
19
  { name: 'qwen2.5:32b', contextLength: 32768, supportsTools: true, parameterSize: '32B', recommended: 'heavy' },
20
+ { name: 'qwen3:8b', contextLength: 40960, supportsTools: true, parameterSize: '8B', recommended: 'lightweight' },
21
+ { name: 'qwen3:14b', contextLength: 40960, supportsTools: true, parameterSize: '14B', recommended: 'midrange' },
22
+ { name: 'qwen3:32b', contextLength: 40960, supportsTools: true, parameterSize: '32B', recommended: 'heavy' },
23
+ // Llama family
12
24
  { name: 'llama3.1:8b', contextLength: 131072, supportsTools: true, parameterSize: '8B', recommended: 'lightweight' },
13
25
  { name: 'llama3.1:70b', contextLength: 131072, supportsTools: true, parameterSize: '70B', recommended: 'heavy' },
14
26
  { name: 'llama3.2:3b', contextLength: 131072, supportsTools: true, parameterSize: '3B', recommended: 'lightweight' },
27
+ { name: 'llama3.3:70b', contextLength: 131072, supportsTools: true, parameterSize: '70B', recommended: 'heavy' },
28
+ { name: 'llama4:scout', contextLength: 131072, supportsTools: true, parameterSize: '109B', recommended: 'heavy' },
29
+ // Mistral family
30
+ { name: 'mistral:7b', contextLength: 32768, supportsTools: true, parameterSize: '7B', recommended: 'lightweight' },
15
31
  { name: 'mistral-nemo:12b', contextLength: 128000, supportsTools: true, parameterSize: '12B', recommended: 'midrange' },
32
+ { name: 'mistral-small:24b', contextLength: 32768, supportsTools: true, parameterSize: '24B', recommended: 'midrange' },
33
+ // Gemma family
34
+ { name: 'gemma2:9b', contextLength: 8192, supportsTools: true, parameterSize: '9B', recommended: 'lightweight' },
35
+ { name: 'gemma2:27b', contextLength: 8192, supportsTools: true, parameterSize: '27B', recommended: 'midrange' },
36
+ { name: 'gemma3:12b', contextLength: 32768, supportsTools: true, parameterSize: '12B', recommended: 'midrange' },
37
+ { name: 'gemma3:27b', contextLength: 32768, supportsTools: true, parameterSize: '27B', recommended: 'heavy' },
38
+ { name: 'gemma4:12b', contextLength: 32768, supportsTools: true, parameterSize: '12B', recommended: 'midrange' },
16
39
  { name: 'gemma4:26b', contextLength: 262144, supportsTools: false, parameterSize: '25.8B', recommended: 'heavy' },
40
+ { name: 'gemma4:27b', contextLength: 32768, supportsTools: true, parameterSize: '27B', recommended: 'heavy' },
17
41
  { name: 'gemma4:e4b', contextLength: 131072, supportsTools: false, parameterSize: '4B', recommended: 'lightweight' },
18
42
  { name: 'gemma4:e2b', contextLength: 131072, supportsTools: false, parameterSize: '2B', recommended: 'lightweight' },
43
+ // Phi family
44
+ { name: 'phi3:3.8b', contextLength: 4096, supportsTools: true, parameterSize: '3.8B', recommended: 'lightweight' },
45
+ { name: 'phi3:14b', contextLength: 4096, supportsTools: true, parameterSize: '14B', recommended: 'midrange' },
46
+ { name: 'phi4:14b', contextLength: 16384, supportsTools: true, parameterSize: '14B', recommended: 'midrange' },
47
+ { name: 'phi-3:latest', contextLength: 131072, supportsTools: true, parameterSize: '3.8B', recommended: 'lightweight' },
48
+ { name: 'phi-4:latest', contextLength: 16384, supportsTools: true, parameterSize: '14B', recommended: 'midrange' },
49
+ // DeepSeek family
19
50
  { name: 'deepseek-coder-v2:16b', contextLength: 131072, supportsTools: true, parameterSize: '16B', recommended: 'midrange' },
20
51
  { name: 'deepseek-coder:6.7b', contextLength: 16384, supportsTools: true, parameterSize: '6.7B', recommended: 'lightweight' },
52
+ { name: 'deepseek-v3:latest', contextLength: 65536, supportsTools: true, parameterSize: '685B', recommended: 'heavy' },
53
+ // Command-R family
54
+ { name: 'command-r:latest', contextLength: 131072, supportsTools: true, parameterSize: '35B', recommended: 'heavy' },
55
+ { name: 'command-r:35b', contextLength: 131072, supportsTools: true, parameterSize: '35B', recommended: 'heavy' },
56
+ { name: 'command-r-plus:104b', contextLength: 131072, supportsTools: true, parameterSize: '104B', recommended: 'heavy' },
57
+ // Others
21
58
  { name: 'codellama:34b', contextLength: 16384, supportsTools: false, parameterSize: '34B', recommended: 'heavy' },
22
59
  { name: 'dolphin3:latest', contextLength: 131072, supportsTools: false, parameterSize: '8B', recommended: 'lightweight' },
23
- { name: 'phi-3:latest', contextLength: 131072, supportsTools: true, parameterSize: '3.8B', recommended: 'lightweight' },
24
- { name: 'phi-4:latest', contextLength: 16384, supportsTools: true, parameterSize: '14B', recommended: 'midrange' },
25
- { name: 'command-r:latest', contextLength: 131072, supportsTools: true, parameterSize: '35B', recommended: 'heavy' },
60
+ { name: 'granite3.1-dense:8b', contextLength: 131072, supportsTools: true, parameterSize: '8B', recommended: 'lightweight' },
61
+ { name: 'nemotron:70b', contextLength: 32768, supportsTools: true, parameterSize: '70B', recommended: 'heavy' },
62
+ { name: 'hermes3:8b', contextLength: 131072, supportsTools: true, parameterSize: '8B', recommended: 'lightweight' },
63
+ { name: 'yi:34b', contextLength: 4096, supportsTools: false, parameterSize: '34B', recommended: 'heavy' },
64
+ // Cloud / proxy models
26
65
  { name: 'minimax-m2.5:cloud', contextLength: 1048576, supportsTools: true, parameterSize: 'cloud', recommended: 'heavy' },
66
+ { name: 'minimax-m2.7:cloud', contextLength: 1048576, supportsTools: true, parameterSize: 'cloud', recommended: 'heavy' },
27
67
  ];
68
+ // ---------------------------------------------------------------------------
69
+ // Dynamic registry — mutable map populated from seed + Ollama discovery
70
+ // ---------------------------------------------------------------------------
71
+ const dynamicRegistry = new Map();
72
+ // Initialize with seed data
73
+ for (const model of SEED_MODELS) {
74
+ dynamicRegistry.set(model.name, model);
75
+ }
76
+ /** Register or update a model in the dynamic registry. */
77
+ export function registerModel(info) {
78
+ dynamicRegistry.set(info.name, info);
79
+ }
80
+ /** Remove a model from the dynamic registry. */
81
+ export function unregisterModel(name) {
82
+ dynamicRegistry.delete(name);
83
+ }
84
+ /** Get all models in the registry (seed + dynamically discovered). */
85
+ export function getAllModels() {
86
+ return [...dynamicRegistry.values()];
87
+ }
88
+ /** Get the set of model names currently in the registry. */
89
+ export function getRegisteredModelNames() {
90
+ return new Set(dynamicRegistry.keys());
91
+ }
92
+ /**
93
+ * Lookup model info — checks dynamic registry first (exact match),
94
+ * then falls back to prefix matching against seed data.
95
+ */
28
96
  export function getModelInfo(name) {
29
- return KNOWN_MODELS.find(m => m.name === name || name.startsWith(m.name.split(':')[0]));
97
+ // Exact match in dynamic registry
98
+ const exact = dynamicRegistry.get(name);
99
+ if (exact)
100
+ return exact;
101
+ // Prefix match (e.g. "qwen2.5-coder" matches "qwen2.5-coder:14b")
102
+ for (const model of dynamicRegistry.values()) {
103
+ if (name.startsWith(model.name.split(':')[0]))
104
+ return model;
105
+ }
106
+ return undefined;
30
107
  }
31
108
  export function getDefaultContextLength(model) {
32
109
  const info = getModelInfo(model);
33
110
  return info?.contextLength ?? 8192;
34
111
  }
112
+ // ---------------------------------------------------------------------------
113
+ // Families known to support native tool calling — used during discovery
114
+ // ---------------------------------------------------------------------------
115
+ export const TOOL_CAPABLE_FAMILIES = new Set([
116
+ 'qwen2', 'qwen2.5', 'qwen3', 'qwen3moe',
117
+ 'llama3.1', 'llama3.2', 'llama3.3', 'llama4',
118
+ 'mistral', 'mistral-nemo',
119
+ 'command-r', 'firefunction',
120
+ 'granite', 'nemotron', 'hermes3',
121
+ 'minimax',
122
+ 'gemma', 'gemma2', 'gemma3', 'gemma4',
123
+ 'phi3', 'phi4',
124
+ 'deepseek', 'deepseek-v3',
125
+ 'yi',
126
+ ]);
127
+ /** Infer whether a model family supports tools. */
128
+ export function familySupportsTools(family) {
129
+ const f = family.toLowerCase();
130
+ if (TOOL_CAPABLE_FAMILIES.has(f))
131
+ return true;
132
+ // Fuzzy fallback for sub-families
133
+ for (const known of TOOL_CAPABLE_FAMILIES) {
134
+ if (f.includes(known) || known.includes(f))
135
+ return true;
136
+ }
137
+ return false;
138
+ }
139
+ /** Infer recommended tier from parameter size string. */
140
+ export function inferTier(parameterSize) {
141
+ const cleaned = parameterSize.toLowerCase().replace(/[^0-9.]/g, '');
142
+ const num = parseFloat(cleaned);
143
+ if (isNaN(num) || parameterSize.toLowerCase().includes('cloud'))
144
+ return 'heavy';
145
+ if (num <= 9)
146
+ return 'lightweight';
147
+ if (num <= 30)
148
+ return 'midrange';
149
+ return 'heavy';
150
+ }
151
+ /** Extract context length from an Ollama /api/show response. */
152
+ function extractContextLength(data) {
153
+ const modelInfo = data.model_info;
154
+ if (modelInfo) {
155
+ for (const [key, value] of Object.entries(modelInfo)) {
156
+ if (key.endsWith('context_length') && typeof value === 'number') {
157
+ return value;
158
+ }
159
+ }
160
+ }
161
+ const params = data.parameters;
162
+ if (params) {
163
+ const match = params.match(/num_ctx\s+(\d+)/);
164
+ if (match)
165
+ return parseInt(match[1], 10);
166
+ }
167
+ return 8192;
168
+ }
169
+ /**
170
+ * Discover all models from Ollama and register them in the dynamic registry.
171
+ * Returns the list of newly added model names.
172
+ */
173
+ export async function discoverOllamaModels(ollamaUrl = 'http://localhost:11434') {
174
+ const newModels = [];
175
+ try {
176
+ const tagsRes = await fetch(`${ollamaUrl}/api/tags`);
177
+ if (!tagsRes.ok)
178
+ return newModels;
179
+ const tagsData = await tagsRes.json();
180
+ for (const { name } of tagsData.models) {
181
+ // Skip if we already have an exact entry from seed data
182
+ if (dynamicRegistry.has(name))
183
+ continue;
184
+ // Probe model details
185
+ try {
186
+ const showRes = await fetch(`${ollamaUrl}/api/show`, {
187
+ method: 'POST',
188
+ headers: { 'Content-Type': 'application/json' },
189
+ body: JSON.stringify({ name }),
190
+ });
191
+ if (!showRes.ok) {
192
+ // Can't probe — register with conservative defaults
193
+ registerModel({
194
+ name,
195
+ contextLength: 8192,
196
+ supportsTools: false,
197
+ parameterSize: 'unknown',
198
+ recommended: 'midrange',
199
+ });
200
+ newModels.push(name);
201
+ continue;
202
+ }
203
+ const showData = await showRes.json();
204
+ const family = showData.details?.family?.toLowerCase() ?? '';
205
+ const parameterSize = showData.details?.parameter_size ?? 'unknown';
206
+ const contextLength = extractContextLength(showData);
207
+ const supportsTools = familySupportsTools(family);
208
+ const recommended = inferTier(parameterSize);
209
+ registerModel({ name, contextLength, supportsTools, parameterSize, recommended });
210
+ newModels.push(name);
211
+ }
212
+ catch {
213
+ // Individual model probe failed — register minimal entry
214
+ registerModel({
215
+ name,
216
+ contextLength: 8192,
217
+ supportsTools: false,
218
+ parameterSize: 'unknown',
219
+ recommended: 'midrange',
220
+ });
221
+ newModels.push(name);
222
+ }
223
+ }
224
+ }
225
+ catch {
226
+ // Ollama unreachable — no-op
227
+ }
228
+ return newModels;
229
+ }
35
230
  /**
36
231
  * Query Ollama /api/show for the actual context length of a model.
37
232
  * Falls back to getDefaultContextLength if the query fails.
@@ -50,23 +245,18 @@ export async function resolveContextLength(model, ollamaUrl = 'http://localhost:
50
245
  });
51
246
  if (res.ok) {
52
247
  const data = await res.json();
53
- // Ollama returns model_info with context length keys like
54
- // "<arch>.context_length" or "context_length"
55
- const modelInfo = data.model_info;
56
- if (modelInfo) {
57
- for (const [key, value] of Object.entries(modelInfo)) {
58
- if (key.endsWith('context_length') && typeof value === 'number') {
59
- return value;
60
- }
61
- }
62
- }
63
- // Also check parameters string for num_ctx
64
- const params = data.parameters;
65
- if (params) {
66
- const match = params.match(/num_ctx\s+(\d+)/);
67
- if (match)
68
- return parseInt(match[1], 10);
69
- }
248
+ const contextLength = extractContextLength(data);
249
+ // Auto-register discovered model
250
+ const family = data.details?.family?.toLowerCase() ?? '';
251
+ const parameterSize = data.details?.parameter_size ?? 'unknown';
252
+ registerModel({
253
+ name: model,
254
+ contextLength,
255
+ supportsTools: familySupportsTools(family),
256
+ parameterSize,
257
+ recommended: inferTier(parameterSize),
258
+ });
259
+ return contextLength;
70
260
  }
71
261
  }
72
262
  catch {
@@ -75,7 +265,10 @@ export async function resolveContextLength(model, ollamaUrl = 'http://localhost:
75
265
  return 8192;
76
266
  }
77
267
  export function getRecommendedModel(tier) {
78
- const model = KNOWN_MODELS.find(m => m.recommended === tier && m.name.includes('coder'));
79
- return model?.name ?? 'qwen2.5-coder:14b';
268
+ for (const model of dynamicRegistry.values()) {
269
+ if (model.recommended === tier && model.name.includes('coder'))
270
+ return model.name;
271
+ }
272
+ return 'qwen2.5-coder:14b';
80
273
  }
81
274
  //# sourceMappingURL=model-registry.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"model-registry.js","sourceRoot":"","sources":["../../../src/llm/model-registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model-registry.js","sourceRoot":"","sources":["../../../src/llm/model-registry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * ModelWatcher — periodically polls Ollama for new models and updates the registry.
3
+ *
4
+ * Lightweight: only hits /api/tags each interval. Full /api/show probes are only
5
+ * performed for newly discovered models not yet in the registry.
6
+ */
7
+ export type ModelAddedCallback = (name: string) => void;
8
+ export declare class ModelWatcher {
9
+ private readonly ollamaUrl;
10
+ private readonly pollIntervalMs;
11
+ private intervalId;
12
+ private readonly callbacks;
13
+ private running;
14
+ constructor(ollamaUrl?: string, pollIntervalMs?: number);
15
+ /** Register a callback fired when a new model is discovered. */
16
+ onModelAdded(cb: ModelAddedCallback): void;
17
+ /** Start periodic polling. */
18
+ start(): void;
19
+ /** Stop polling. */
20
+ stop(): void;
21
+ /** Single poll iteration: check for new models. */
22
+ private poll;
23
+ /** Probe a single model via /api/show and register it. */
24
+ private probeAndRegister;
25
+ }
26
+ //# sourceMappingURL=model-watcher.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-watcher.d.ts","sourceRoot":"","sources":["../../../src/llm/model-watcher.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AASH,MAAM,MAAM,kBAAkB,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;AAEvD,qBAAa,YAAY;IAMrB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,cAAc;IANjC,OAAO,CAAC,UAAU,CAA4C;IAC9D,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA2B;IACrD,OAAO,CAAC,OAAO,CAAQ;gBAGJ,SAAS,GAAE,MAAiC,EAC5C,cAAc,GAAE,MAAe;IAGlD,gEAAgE;IAChE,YAAY,CAAC,EAAE,EAAE,kBAAkB,GAAG,IAAI;IAI1C,8BAA8B;IAC9B,KAAK,IAAI,IAAI;IAcb,oBAAoB;IACpB,IAAI,IAAI,IAAI;IAQZ,mDAAmD;YACrC,IAAI;IAmBlB,0DAA0D;YAC5C,gBAAgB;CAkE/B"}
@@ -0,0 +1,130 @@
1
+ /**
2
+ * ModelWatcher — periodically polls Ollama for new models and updates the registry.
3
+ *
4
+ * Lightweight: only hits /api/tags each interval. Full /api/show probes are only
5
+ * performed for newly discovered models not yet in the registry.
6
+ */
7
+ import { getRegisteredModelNames, registerModel, familySupportsTools, inferTier, } from './model-registry.js';
8
+ export class ModelWatcher {
9
+ ollamaUrl;
10
+ pollIntervalMs;
11
+ intervalId;
12
+ callbacks = [];
13
+ running = false;
14
+ constructor(ollamaUrl = 'http://localhost:11434', pollIntervalMs = 30_000) {
15
+ this.ollamaUrl = ollamaUrl;
16
+ this.pollIntervalMs = pollIntervalMs;
17
+ }
18
+ /** Register a callback fired when a new model is discovered. */
19
+ onModelAdded(cb) {
20
+ this.callbacks.push(cb);
21
+ }
22
+ /** Start periodic polling. */
23
+ start() {
24
+ if (this.running)
25
+ return;
26
+ this.running = true;
27
+ this.intervalId = setInterval(() => {
28
+ void this.poll();
29
+ }, this.pollIntervalMs);
30
+ // Don't keep the process alive just for polling
31
+ if (this.intervalId && typeof this.intervalId === 'object' && 'unref' in this.intervalId) {
32
+ this.intervalId.unref();
33
+ }
34
+ }
35
+ /** Stop polling. */
36
+ stop() {
37
+ if (this.intervalId !== undefined) {
38
+ clearInterval(this.intervalId);
39
+ this.intervalId = undefined;
40
+ }
41
+ this.running = false;
42
+ }
43
+ /** Single poll iteration: check for new models. */
44
+ async poll() {
45
+ try {
46
+ const res = await fetch(`${this.ollamaUrl}/api/tags`);
47
+ if (!res.ok)
48
+ return;
49
+ const data = await res.json();
50
+ const knownNames = getRegisteredModelNames();
51
+ for (const { name } of data.models) {
52
+ if (knownNames.has(name))
53
+ continue;
54
+ // New model found — probe it
55
+ await this.probeAndRegister(name);
56
+ }
57
+ }
58
+ catch {
59
+ // Ollama unreachable — silently skip
60
+ }
61
+ }
62
+ /** Probe a single model via /api/show and register it. */
63
+ async probeAndRegister(name) {
64
+ try {
65
+ const res = await fetch(`${this.ollamaUrl}/api/show`, {
66
+ method: 'POST',
67
+ headers: { 'Content-Type': 'application/json' },
68
+ body: JSON.stringify({ name }),
69
+ });
70
+ if (!res.ok) {
71
+ registerModel({
72
+ name,
73
+ contextLength: 8192,
74
+ supportsTools: false,
75
+ parameterSize: 'unknown',
76
+ recommended: 'midrange',
77
+ });
78
+ }
79
+ else {
80
+ const data = await res.json();
81
+ const family = data.details?.family?.toLowerCase() ?? '';
82
+ const parameterSize = data.details?.parameter_size ?? 'unknown';
83
+ let contextLength = 8192;
84
+ if (data.model_info) {
85
+ for (const [key, value] of Object.entries(data.model_info)) {
86
+ if (key.endsWith('context_length') && typeof value === 'number') {
87
+ contextLength = value;
88
+ break;
89
+ }
90
+ }
91
+ }
92
+ if (contextLength === 8192 && data.parameters) {
93
+ const match = data.parameters.match(/num_ctx\s+(\d+)/);
94
+ if (match)
95
+ contextLength = parseInt(match[1], 10);
96
+ }
97
+ registerModel({
98
+ name,
99
+ contextLength,
100
+ supportsTools: familySupportsTools(family),
101
+ parameterSize,
102
+ recommended: inferTier(parameterSize),
103
+ });
104
+ }
105
+ for (const cb of this.callbacks) {
106
+ try {
107
+ cb(name);
108
+ }
109
+ catch { /* callback errors are non-fatal */ }
110
+ }
111
+ }
112
+ catch {
113
+ // Probe failed — register with conservative defaults
114
+ registerModel({
115
+ name,
116
+ contextLength: 8192,
117
+ supportsTools: false,
118
+ parameterSize: 'unknown',
119
+ recommended: 'midrange',
120
+ });
121
+ for (const cb of this.callbacks) {
122
+ try {
123
+ cb(name);
124
+ }
125
+ catch { /* callback errors are non-fatal */ }
126
+ }
127
+ }
128
+ }
129
+ }
130
+ //# sourceMappingURL=model-watcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-watcher.js","sourceRoot":"","sources":["../../../src/llm/model-watcher.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,uBAAuB,EACvB,aAAa,EACb,mBAAmB,EACnB,SAAS,GACV,MAAM,qBAAqB,CAAA;AAI5B,MAAM,OAAO,YAAY;IAMJ;IACA;IANX,UAAU,CAA4C;IAC7C,SAAS,GAAyB,EAAE,CAAA;IAC7C,OAAO,GAAG,KAAK,CAAA;IAEvB,YACmB,YAAoB,wBAAwB,EAC5C,iBAAyB,MAAM;QAD/B,cAAS,GAAT,SAAS,CAAmC;QAC5C,mBAAc,GAAd,cAAc,CAAiB;IAC/C,CAAC;IAEJ,gEAAgE;IAChE,YAAY,CAAC,EAAsB;QACjC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACzB,CAAC;IAED,8BAA8B;IAC9B,KAAK;QACH,IAAI,IAAI,CAAC,OAAO;YAAE,OAAM;QACxB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAA;QAEnB,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC,GAAG,EAAE;YACjC,KAAK,IAAI,CAAC,IAAI,EAAE,CAAA;QAClB,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC,CAAA;QAEvB,gDAAgD;QAChD,IAAI,IAAI,CAAC,UAAU,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,QAAQ,IAAI,OAAO,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACzF,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAA;QACzB,CAAC;IACH,CAAC;IAED,oBAAoB;IACpB,IAAI;QACF,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YAClC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;YAC9B,IAAI,CAAC,UAAU,GAAG,SAAS,CAAA;QAC7B,CAAC;QACD,IAAI,CAAC,OAAO,GAAG,KAAK,CAAA;IACtB,CAAC;IAED,mDAAmD;IAC3C,KAAK,CAAC,IAAI;QAChB,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,WAAW,CAAC,CAAA;YACrD,IAAI,CAAC,GAAG,CAAC,EAAE;gBAAE,OAAM;YAEnB,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAyC,CAAA;YACpE,MAAM,UAAU,GAAG,uBAAuB,EAAE,CAAA;YAE5C,KAAK,MAAM,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBACnC,IAAI,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC;oBAAE,SAAQ;gBAElC,6BAA6B;gBAC7B,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAA;YACnC,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,qCAAqC;QACvC,CAAC;IACH,CAAC;IAED,0DAA0D;IAClD,KAAK,CAAC,gBAAgB,CAAC,IAAY;QACzC,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,WAAW,EAAE;gBACpD,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;gBAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,CAAC;aAC/B,CAAC,CAAA;YAEF,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;gBACZ,aAAa,CAAC;oBACZ,IAAI;oBACJ,aAAa,EAAE,IAAI;oBACnB,aAAa,EAAE,KAAK;oBACpB,aAAa,EAAE,SAAS;oBACxB,WAAW,EAAE,UAAU;iBACxB,CAAC,CAAA;YACJ,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAI1B,CAAA;gBAED,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,CAAA;gBACxD,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,EAAE,cAAc,IAAI,SAAS,CAAA;gBAE/D,IAAI,aAAa,GAAG,IAAI,CAAA;gBACxB,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;oBACpB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;wBAC3D,IAAI,GAAG,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;4BAChE,aAAa,GAAG,KAAK,CAAA;4BACrB,MAAK;wBACP,CAAC;oBACH,CAAC;gBACH,CAAC;gBACD,IAAI,aAAa,KAAK,IAAI,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;oBAC9C,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAA;oBACtD,IAAI,KAAK;wBAAE,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;gBACnD,CAAC;gBAED,aAAa,CAAC;oBACZ,IAAI;oBACJ,aAAa;oBACb,aAAa,EAAE,mBAAmB,CAAC,MAAM,CAAC;oBAC1C,aAAa;oBACb,WAAW,EAAE,SAAS,CAAC,aAAa,CAAC;iBACtC,CAAC,CAAA;YACJ,CAAC;YAED,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBAChC,IAAI,CAAC;oBAAC,EAAE,CAAC,IAAI,CAAC,CAAA;gBAAC,CAAC;gBAAC,MAAM,CAAC,CAAC,mCAAmC,CAAC,CAAC;YAChE,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,qDAAqD;YACrD,aAAa,CAAC;gBACZ,IAAI;gBACJ,aAAa,EAAE,IAAI;gBACnB,aAAa,EAAE,KAAK;gBACpB,aAAa,EAAE,SAAS;gBACxB,WAAW,EAAE,UAAU;aACxB,CAAC,CAAA;YACF,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBAChC,IAAI,CAAC;oBAAC,EAAE,CAAC,IAAI,CAAC,CAAA;gBAAC,CAAC;gBAAC,MAAM,CAAC,CAAC,mCAAmC,CAAC,CAAC;YAChE,CAAC;QACH,CAAC;IACH,CAAC;CACF"}
@@ -29,5 +29,10 @@ export declare class OllamaAdapter implements LLMAdapter {
29
29
  */
30
30
  private resolveToolCalls;
31
31
  private parsePromptBasedToolCalls;
32
+ /**
33
+ * Parse multiple JSON objects from a block that may contain one object per line,
34
+ * or a JSON array, or comma-separated objects.
35
+ */
36
+ private parseMultipleJsonObjects;
32
37
  }
33
38
  //# sourceMappingURL=ollama.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ollama.d.ts","sourceRoot":"","sources":["../../../src/llm/ollama.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EACV,UAAU,EAAE,UAAU,EAAE,cAAc,EAAE,gBAAgB,EACxD,WAAW,EAAE,WAAW,EAEzB,MAAM,kBAAkB,CAAA;AAsFzB,qBAAa,aAAc,YAAW,UAAU;IAC9C,QAAQ,CAAC,IAAI,YAAW;IACxB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAQ;IAChC,OAAO,CAAC,WAAW,CAA4B;gBAEnC,OAAO,SAA2B;IAI9C,gDAAgD;IAC1C,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IASrC,6BAA6B;IACvB,UAAU,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAOrC,6DAA6D;IACvD,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IA0BpD,8DAA8D;IACxD,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAS9C,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC;IA0E1E,MAAM,CAAC,QAAQ,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,gBAAgB,GAAG,aAAa,CAAC,WAAW,CAAC;IA6I5F,OAAO,CAAC,eAAe;IAoEvB,OAAO,CAAC,cAAc;IAWtB,OAAO,CAAC,qBAAqB;IAkB7B;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAoCxB,OAAO,CAAC,yBAAyB;CAgGlC"}
1
+ {"version":3,"file":"ollama.d.ts","sourceRoot":"","sources":["../../../src/llm/ollama.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EACV,UAAU,EAAE,UAAU,EAAE,cAAc,EAAE,gBAAgB,EACxD,WAAW,EAAE,WAAW,EAEzB,MAAM,kBAAkB,CAAA;AA2FzB,qBAAa,aAAc,YAAW,UAAU;IAC9C,QAAQ,CAAC,IAAI,YAAW;IACxB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAQ;IAChC,OAAO,CAAC,WAAW,CAA4B;gBAEnC,OAAO,SAA2B;IAI9C,gDAAgD;IAC1C,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IASrC,6BAA6B;IACvB,UAAU,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAOrC,6DAA6D;IACvD,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IA0BpD,8DAA8D;IACxD,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAS9C,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC;IA0E1E,MAAM,CAAC,QAAQ,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,gBAAgB,GAAG,aAAa,CAAC,WAAW,CAAC;IA6I5F,OAAO,CAAC,eAAe;IAoEvB,OAAO,CAAC,cAAc;IAWtB,OAAO,CAAC,qBAAqB;IA0B7B;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAoCxB,OAAO,CAAC,yBAAyB;IAmJjC;;;OAGG;IACH,OAAO,CAAC,wBAAwB;CA+CjC"}