@cogitator-ai/cli 0.3.16 → 0.4.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 (73) hide show
  1. package/README.md +159 -510
  2. package/dist/commands/assistant.d.ts +13 -0
  3. package/dist/commands/assistant.d.ts.map +1 -1
  4. package/dist/commands/assistant.js +64 -58
  5. package/dist/commands/assistant.js.map +1 -1
  6. package/dist/commands/build.d.ts +2 -0
  7. package/dist/commands/build.d.ts.map +1 -1
  8. package/dist/commands/build.js +114 -59
  9. package/dist/commands/build.js.map +1 -1
  10. package/dist/commands/daemon.d.ts.map +1 -1
  11. package/dist/commands/daemon.js +223 -262
  12. package/dist/commands/daemon.js.map +1 -1
  13. package/dist/commands/deploy.d.ts.map +1 -1
  14. package/dist/commands/deploy.js +80 -42
  15. package/dist/commands/deploy.js.map +1 -1
  16. package/dist/commands/init.d.ts +44 -0
  17. package/dist/commands/init.d.ts.map +1 -1
  18. package/dist/commands/init.js +334 -265
  19. package/dist/commands/init.js.map +1 -1
  20. package/dist/commands/logs.d.ts +1 -0
  21. package/dist/commands/logs.d.ts.map +1 -1
  22. package/dist/commands/logs.js +8 -4
  23. package/dist/commands/logs.js.map +1 -1
  24. package/dist/commands/models.d.ts +1 -1
  25. package/dist/commands/models.d.ts.map +1 -1
  26. package/dist/commands/models.js +83 -93
  27. package/dist/commands/models.js.map +1 -1
  28. package/dist/commands/run.d.ts +4 -1
  29. package/dist/commands/run.d.ts.map +1 -1
  30. package/dist/commands/run.js +151 -128
  31. package/dist/commands/run.js.map +1 -1
  32. package/dist/commands/skill.d.ts +17 -0
  33. package/dist/commands/skill.d.ts.map +1 -1
  34. package/dist/commands/skill.js +203 -81
  35. package/dist/commands/skill.js.map +1 -1
  36. package/dist/commands/status.d.ts.map +1 -1
  37. package/dist/commands/status.js +20 -24
  38. package/dist/commands/status.js.map +1 -1
  39. package/dist/commands/up.d.ts +4 -0
  40. package/dist/commands/up.d.ts.map +1 -1
  41. package/dist/commands/up.js +182 -130
  42. package/dist/commands/up.js.map +1 -1
  43. package/dist/commands/wizard.d.ts +6 -0
  44. package/dist/commands/wizard.d.ts.map +1 -1
  45. package/dist/commands/wizard.js +301 -267
  46. package/dist/commands/wizard.js.map +1 -1
  47. package/dist/index.js +8 -1
  48. package/dist/index.js.map +1 -1
  49. package/dist/utils/daemon.d.ts +37 -0
  50. package/dist/utils/daemon.d.ts.map +1 -0
  51. package/dist/utils/daemon.js +194 -0
  52. package/dist/utils/daemon.js.map +1 -0
  53. package/dist/utils/docker.d.ts +9 -0
  54. package/dist/utils/docker.d.ts.map +1 -1
  55. package/dist/utils/docker.js +67 -12
  56. package/dist/utils/docker.js.map +1 -1
  57. package/dist/utils/env.d.ts +7 -0
  58. package/dist/utils/env.d.ts.map +1 -0
  59. package/dist/utils/env.js +41 -0
  60. package/dist/utils/env.js.map +1 -0
  61. package/dist/utils/module-loader.d.ts +5 -0
  62. package/dist/utils/module-loader.d.ts.map +1 -0
  63. package/dist/utils/module-loader.js +52 -0
  64. package/dist/utils/module-loader.js.map +1 -0
  65. package/dist/utils/ollama.d.ts +20 -0
  66. package/dist/utils/ollama.d.ts.map +1 -0
  67. package/dist/utils/ollama.js +111 -0
  68. package/dist/utils/ollama.js.map +1 -0
  69. package/dist/utils/provider-models.d.ts +13 -0
  70. package/dist/utils/provider-models.d.ts.map +1 -0
  71. package/dist/utils/provider-models.js +78 -0
  72. package/dist/utils/provider-models.js.map +1 -0
  73. package/package.json +8 -8
@@ -2,190 +2,218 @@
2
2
  * cogitator run [message] - run agent
3
3
  */
4
4
  import { Command } from 'commander';
5
- import { existsSync, readFileSync } from 'node:fs';
5
+ import { existsSync } from 'node:fs';
6
6
  import { resolve } from 'node:path';
7
7
  import { createInterface } from 'node:readline';
8
8
  import chalk from 'chalk';
9
9
  import { log, printBanner } from '../utils/logger.js';
10
10
  import { Cogitator, Agent } from '@cogitator-ai/core';
11
11
  import { loadConfig } from '@cogitator-ai/config';
12
- async function getOllamaModels() {
12
+ import { listOllamaModels, resolveOllamaUrl } from '../utils/ollama.js';
13
+ const CONFIG_FILE_NAMES = [
14
+ 'cogitator.yml',
15
+ 'cogitator.yaml',
16
+ 'cogitator.json',
17
+ '.cogitator.yml',
18
+ '.cogitator.yaml',
19
+ ];
20
+ const PREFERRED_OLLAMA_MODELS = [
21
+ 'llama3.1:8b',
22
+ 'llama3:8b',
23
+ 'gemma3:4b',
24
+ 'gemma2:9b',
25
+ 'mistral:7b',
26
+ ];
27
+ const AGENT_INSTRUCTIONS = 'You are a helpful AI assistant. Respond concisely and accurately.';
28
+ function createCliAgent(model) {
29
+ return new Agent({
30
+ id: 'cli-agent',
31
+ name: 'CLI Agent',
32
+ model,
33
+ instructions: AGENT_INSTRUCTIONS,
34
+ });
35
+ }
36
+ export function pickOllamaModel(available) {
37
+ if (available.length === 0)
38
+ return null;
39
+ const preferred = PREFERRED_OLLAMA_MODELS.find((m) => available.includes(m));
40
+ return `ollama/${preferred ?? available[0]}`;
41
+ }
42
+ async function detectOllamaModel(baseUrl, apiKey) {
13
43
  try {
14
- const res = await fetch('http://localhost:11434/api/tags');
15
- if (!res.ok)
16
- return [];
17
- const data = (await res.json());
18
- return data.models.map((m) => m.name);
44
+ const models = await listOllamaModels(baseUrl, { apiKey, timeoutMs: 3000 });
45
+ return pickOllamaModel(models.map((m) => m.name));
19
46
  }
20
47
  catch {
21
- return [];
22
- }
23
- }
24
- async function detectModel() {
25
- const models = await getOllamaModels();
26
- if (models.length === 0)
27
48
  return null;
28
- const preferred = ['llama3.1:8b', 'llama3:8b', 'gemma3:4b', 'gemma2:9b', 'mistral:7b'];
29
- for (const p of preferred) {
30
- if (models.includes(p))
31
- return `ollama/${p}`;
32
49
  }
33
- return `ollama/${models[0]}`;
34
50
  }
35
- export function findConfig(configPath) {
36
- const envConfig = process.env.COGITATOR_CONFIG;
37
- if (envConfig && existsSync(envConfig)) {
38
- return resolve(envConfig);
51
+ export function findConfig(explicitPath, env = process.env, cwd = process.cwd()) {
52
+ if (explicitPath) {
53
+ const full = resolve(cwd, explicitPath);
54
+ return existsSync(full) ? full : null;
39
55
  }
40
- if (existsSync(configPath)) {
41
- return resolve(configPath);
56
+ const envConfig = env.COGITATOR_CONFIG;
57
+ if (envConfig) {
58
+ const full = resolve(cwd, envConfig);
59
+ return existsSync(full) ? full : null;
42
60
  }
43
- const names = ['cogitator.yml', 'cogitator.yaml', 'cogitator.json'];
44
- for (const name of names) {
45
- if (existsSync(name)) {
46
- return resolve(name);
47
- }
61
+ for (const name of CONFIG_FILE_NAMES) {
62
+ const full = resolve(cwd, name);
63
+ if (existsSync(full))
64
+ return full;
48
65
  }
49
66
  return null;
50
67
  }
68
+ export function resolveRunModel(flagModel, env, config) {
69
+ return flagModel || env.COGITATOR_MODEL || config.llm?.defaultModel || undefined;
70
+ }
51
71
  async function runInteractive(cog, initialModel, stream) {
52
- const rl = createInterface({
53
- input: process.stdin,
54
- output: process.stdout,
55
- });
56
- const state = {
57
- model: initialModel,
58
- threadId: `thread_${Date.now()}`,
59
- messageCount: 0,
72
+ const rl = createInterface({ input: process.stdin, output: process.stdout });
73
+ let model = initialModel;
74
+ let agent = createCliAgent(model);
75
+ let threadId = `thread_${Date.now()}`;
76
+ let messageCount = 0;
77
+ let closing = false;
78
+ const close = async (code) => {
79
+ if (closing)
80
+ return;
81
+ closing = true;
82
+ rl.close();
83
+ await cog.close().catch(() => { });
84
+ process.exit(code);
60
85
  };
61
- let agent = new Agent({
62
- id: 'cli-agent',
63
- name: 'CLI Agent',
64
- model: state.model,
65
- instructions: 'You are a helpful AI assistant. Respond concisely and accurately.',
86
+ rl.on('close', () => {
87
+ if (!closing) {
88
+ console.log(chalk.dim('\nGoodbye!'));
89
+ void close(0);
90
+ }
66
91
  });
67
- const modelShort = state.model.replace('ollama/', '');
68
- console.log(chalk.dim(`Model: ${modelShort}`));
92
+ console.log(chalk.dim(`Model: ${model}`));
69
93
  console.log(chalk.dim('Commands: /model <name>, /clear, /help, exit\n'));
70
- const showPrompt = () => {
71
- const prefix = state.messageCount > 0 ? `[${state.messageCount}] ` : '';
72
- rl.question(chalk.cyan(`${prefix}> `), async (input) => {
73
- await handleInput(input);
74
- });
94
+ const handleCommand = (cmd) => {
95
+ const [rawCommand = '', ...args] = cmd.slice(1).split(/\s+/);
96
+ const command = rawCommand.toLowerCase();
97
+ switch (command) {
98
+ case 'model':
99
+ if (args.length === 0) {
100
+ console.log(chalk.dim(`Current model: ${model}`));
101
+ }
102
+ else {
103
+ model = args[0];
104
+ agent = createCliAgent(model);
105
+ log.success(`Switched to model: ${model}`);
106
+ }
107
+ break;
108
+ case 'clear':
109
+ threadId = `thread_${Date.now()}`;
110
+ messageCount = 0;
111
+ console.log(chalk.dim('Conversation cleared'));
112
+ break;
113
+ case 'help':
114
+ console.log(chalk.dim('\nAvailable commands:'));
115
+ console.log(chalk.dim(' /model [name] - Show or change model'));
116
+ console.log(chalk.dim(' /clear - Clear conversation history'));
117
+ console.log(chalk.dim(' /help - Show this help'));
118
+ console.log(chalk.dim(' exit - Exit interactive mode\n'));
119
+ break;
120
+ default:
121
+ log.warn(`Unknown command: /${command}`);
122
+ log.dim('Type /help for available commands');
123
+ }
75
124
  };
76
125
  const handleInput = async (input) => {
77
126
  const trimmed = input.trim();
78
- if (!trimmed) {
79
- showPrompt();
127
+ if (!trimmed)
80
128
  return;
81
- }
82
- if (trimmed.toLowerCase() === 'exit' || trimmed.toLowerCase() === 'quit') {
129
+ const lowered = trimmed.toLowerCase();
130
+ if (lowered === 'exit' || lowered === 'quit') {
83
131
  console.log(chalk.dim('\nGoodbye!'));
84
- rl.close();
85
- await cog.close();
86
- process.exit(0);
132
+ await close(0);
133
+ return;
87
134
  }
88
135
  if (trimmed.startsWith('/')) {
89
- await handleCommand(trimmed);
90
- showPrompt();
136
+ handleCommand(trimmed);
91
137
  return;
92
138
  }
139
+ messageCount++;
93
140
  try {
94
- state.messageCount++;
95
141
  if (stream) {
96
142
  process.stdout.write(chalk.green('→ '));
97
143
  await cog.run(agent, {
98
144
  input: trimmed,
99
- threadId: state.threadId,
145
+ threadId,
100
146
  stream: true,
101
147
  onToken: (token) => process.stdout.write(token),
102
148
  });
103
149
  console.log('\n');
104
150
  }
105
151
  else {
106
- const result = await cog.run(agent, { input: trimmed, threadId: state.threadId });
152
+ const result = await cog.run(agent, { input: trimmed, threadId });
107
153
  console.log(chalk.green('→'), result.output);
108
154
  console.log();
109
155
  }
110
156
  }
111
157
  catch (error) {
158
+ if (stream)
159
+ console.log();
112
160
  log.error(error instanceof Error ? error.message : String(error));
113
161
  }
114
- showPrompt();
115
162
  };
116
- const handleCommand = async (cmd) => {
117
- const parts = cmd.slice(1).split(/\s+/);
118
- const command = parts[0].toLowerCase();
119
- const args = parts.slice(1);
120
- switch (command) {
121
- case 'model':
122
- if (args.length === 0) {
123
- console.log(chalk.dim(`Current model: ${state.model}`));
124
- }
125
- else {
126
- const newModel = args[0].includes('/') ? args[0] : `ollama/${args[0]}`;
127
- state.model = newModel;
128
- agent = new Agent({
129
- id: 'cli-agent',
130
- name: 'CLI Agent',
131
- model: state.model,
132
- instructions: 'You are a helpful AI assistant. Respond concisely and accurately.',
133
- });
134
- log.success(`Switched to model: ${newModel}`);
135
- }
136
- break;
137
- case 'clear':
138
- state.threadId = `thread_${Date.now()}`;
139
- state.messageCount = 0;
140
- console.log(chalk.dim('Conversation cleared'));
141
- break;
142
- case 'help':
143
- console.log(chalk.dim('\nAvailable commands:'));
144
- console.log(chalk.dim(' /model [name] - Show or change model'));
145
- console.log(chalk.dim(' /clear - Clear conversation history'));
146
- console.log(chalk.dim(' /help - Show this help'));
147
- console.log(chalk.dim(' exit - Exit interactive mode\n'));
148
- break;
149
- default:
150
- log.warn(`Unknown command: /${command}`);
151
- log.dim('Type /help for available commands');
152
- }
153
- };
154
- showPrompt();
163
+ while (!closing) {
164
+ const prefix = messageCount > 0 ? `[${messageCount}] ` : '';
165
+ const input = await new Promise((resolveInput) => {
166
+ const onClose = () => resolveInput(null);
167
+ rl.once('close', onClose);
168
+ rl.question(chalk.cyan(`${prefix}> `), (answer) => {
169
+ rl.off('close', onClose);
170
+ resolveInput(answer);
171
+ });
172
+ });
173
+ if (input === null)
174
+ return;
175
+ await handleInput(input);
176
+ }
155
177
  }
156
178
  export const runCommand = new Command('run')
157
179
  .description('Run agent with a message')
158
180
  .argument('[message]', 'Message to send to agent')
159
- .option('-c, --config <path>', 'Config file path', 'cogitator.yml')
181
+ .option('-c, --config <path>', 'Config file path (default: ./cogitator.yml)')
160
182
  .option('-m, --model <model>', 'Model to use (e.g. ollama/gemma3:4b)')
161
183
  .option('-i, --interactive', 'Interactive mode')
162
184
  .option('-s, --stream', 'Stream response tokens', true)
163
185
  .option('--no-stream', 'Disable streaming')
164
186
  .action(async (message, options) => {
165
- let config = {};
166
187
  const configPath = findConfig(options.config);
167
- if (configPath) {
168
- log.dim(`Using config: ${configPath}`);
169
- try {
170
- const raw = readFileSync(configPath, 'utf-8');
171
- if (configPath.endsWith('.json')) {
172
- config = JSON.parse(raw);
173
- }
174
- else {
175
- config = loadConfig({ configPath });
176
- }
177
- }
178
- catch (err) {
179
- log.warn(`Failed to load config: ${err instanceof Error ? err.message : String(err)}`);
180
- }
188
+ if (options.config && !configPath) {
189
+ log.error(`Config file not found: ${resolve(options.config)}`);
190
+ process.exit(1);
191
+ }
192
+ if (!options.config && process.env.COGITATOR_CONFIG && !configPath) {
193
+ log.error(`COGITATOR_CONFIG points to a missing file: ${process.env.COGITATOR_CONFIG}`);
194
+ process.exit(1);
181
195
  }
182
- let model = options.model || process.env.COGITATOR_MODEL;
196
+ let config;
197
+ try {
198
+ config = loadConfig(configPath ? { configPath } : { skipYaml: true });
199
+ }
200
+ catch (error) {
201
+ log.error(`Failed to load config: ${error instanceof Error ? error.message : error}`);
202
+ process.exit(1);
203
+ }
204
+ if (configPath)
205
+ log.dim(`Using config: ${configPath}`);
206
+ let model = resolveRunModel(options.model, process.env, config);
183
207
  if (!model) {
184
- model = (await detectModel()) ?? undefined;
208
+ const ollama = config.llm?.providers?.ollama;
209
+ const baseUrl = resolveOllamaUrl(process.env, ollama?.baseUrl);
210
+ model =
211
+ (await detectOllamaModel(baseUrl, ollama?.apiKey ?? process.env.OLLAMA_API_KEY)) ??
212
+ undefined;
185
213
  if (!model) {
186
214
  log.error('No model specified and no Ollama models found');
187
215
  log.dim('Use -m to specify a model, e.g.: cogitator run -m ollama/gemma3:4b "Hello"');
188
- log.dim('Or set COGITATOR_MODEL environment variable');
216
+ log.dim('Or set COGITATOR_MODEL / llm.defaultModel in cogitator.yml');
189
217
  log.dim('Or start Ollama and pull a model: ollama pull gemma3:4b');
190
218
  process.exit(1);
191
219
  }
@@ -197,12 +225,7 @@ export const runCommand = new Command('run')
197
225
  await runInteractive(cog, model, options.stream);
198
226
  return;
199
227
  }
200
- const agent = new Agent({
201
- id: 'cli-agent',
202
- name: 'CLI Agent',
203
- model,
204
- instructions: 'You are a helpful AI assistant. Respond concisely and accurately.',
205
- });
228
+ const agent = createCliAgent(model);
206
229
  try {
207
230
  if (options.stream) {
208
231
  await cog.run(agent, {
@@ -219,10 +242,10 @@ export const runCommand = new Command('run')
219
242
  }
220
243
  catch (error) {
221
244
  log.error(error instanceof Error ? error.message : String(error));
222
- process.exit(1);
245
+ process.exitCode = 1;
223
246
  }
224
247
  finally {
225
- await cog.close();
248
+ await cog.close().catch(() => { });
226
249
  }
227
250
  });
228
251
  //# sourceMappingURL=run.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/commands/run.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/commands/run.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,20 @@
1
1
  import { Command } from 'commander';
2
+ import type { Skill } from '@cogitator-ai/types';
3
+ export declare const SKILL_TEMPLATES: readonly ["basic", "device", "api"];
4
+ export type SkillTemplate = (typeof SKILL_TEMPLATES)[number];
5
+ export declare function isValidSkillName(name: string): boolean;
6
+ export declare function isSafeSkillDirName(name: string): boolean;
7
+ export declare function findSkillFile(dir: string): string | null;
8
+ export declare function toSkill(value: unknown): {
9
+ skill: Skill | null;
10
+ issues: string[];
11
+ };
12
+ export declare function findMissingDependencies(dependencies: readonly string[], fromFile: string): string[];
2
13
  export declare const skillCommand: Command;
14
+ interface TemplateFiles {
15
+ skill: string;
16
+ tool: string;
17
+ }
18
+ export declare function getTemplate(name: string, template: SkillTemplate): TemplateFiles;
19
+ export {};
3
20
  //# sourceMappingURL=skill.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"skill.d.ts","sourceRoot":"","sources":["../../src/commands/skill.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAqCpC,eAAO,MAAM,YAAY,SAA0D,CAAC"}
1
+ {"version":3,"file":"skill.d.ts","sourceRoot":"","sources":["../../src/commands/skill.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAwB,MAAM,WAAW,CAAC;AAe1D,OAAO,KAAK,EAAE,KAAK,EAAQ,MAAM,qBAAqB,CAAC;AAOvD,eAAO,MAAM,eAAe,qCAAsC,CAAC;AACnE,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC;AAU7D,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEtD;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAExD;AAoBD,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAMxD;AAmDD,wBAAgB,OAAO,CAAC,KAAK,EAAE,OAAO,GAAG;IAAE,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CAsCjF;AAED,wBAAgB,uBAAuB,CACrC,YAAY,EAAE,SAAS,MAAM,EAAE,EAC/B,QAAQ,EAAE,MAAM,GACf,MAAM,EAAE,CAUV;AAED,eAAO,MAAM,YAAY,SAA0D,CAAC;AAgMpF,UAAU,aAAa;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,GAAG,aAAa,CAgGhF"}