@cogitator-ai/cli 0.5.20 → 0.6.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/README.md +98 -40
- package/dist/commands/add.d.ts +11 -0
- package/dist/commands/add.d.ts.map +1 -0
- package/dist/commands/add.js +79 -0
- package/dist/commands/add.js.map +1 -0
- package/dist/commands/assistant.d.ts.map +1 -1
- package/dist/commands/assistant.js +14 -12
- package/dist/commands/assistant.js.map +1 -1
- package/dist/commands/build.d.ts.map +1 -1
- package/dist/commands/build.js +12 -10
- package/dist/commands/build.js.map +1 -1
- package/dist/commands/daemon.d.ts.map +1 -1
- package/dist/commands/daemon.js +17 -13
- package/dist/commands/daemon.js.map +1 -1
- package/dist/commands/deploy.d.ts +35 -1
- package/dist/commands/deploy.d.ts.map +1 -1
- package/dist/commands/deploy.js +134 -76
- package/dist/commands/deploy.js.map +1 -1
- package/dist/commands/dev.d.ts +14 -0
- package/dist/commands/dev.d.ts.map +1 -0
- package/dist/commands/dev.js +84 -0
- package/dist/commands/dev.js.map +1 -0
- package/dist/commands/doctor.d.ts +5 -0
- package/dist/commands/doctor.d.ts.map +1 -0
- package/dist/commands/doctor.js +52 -0
- package/dist/commands/doctor.js.map +1 -0
- package/dist/commands/eval.d.ts +12 -0
- package/dist/commands/eval.d.ts.map +1 -0
- package/dist/commands/eval.js +90 -0
- package/dist/commands/eval.js.map +1 -0
- package/dist/commands/init.d.ts +9 -51
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +87 -400
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/logs.d.ts.map +1 -1
- package/dist/commands/logs.js +9 -6
- package/dist/commands/logs.js.map +1 -1
- package/dist/commands/mcp.d.ts +18 -0
- package/dist/commands/mcp.d.ts.map +1 -0
- package/dist/commands/mcp.js +155 -0
- package/dist/commands/mcp.js.map +1 -0
- package/dist/commands/models.d.ts.map +1 -1
- package/dist/commands/models.js +43 -15
- package/dist/commands/models.js.map +1 -1
- package/dist/commands/run.d.ts.map +1 -1
- package/dist/commands/run.js +16 -11
- package/dist/commands/run.js.map +1 -1
- package/dist/commands/skill.d.ts.map +1 -1
- package/dist/commands/skill.js +23 -23
- package/dist/commands/skill.js.map +1 -1
- package/dist/commands/status.d.ts +21 -0
- package/dist/commands/status.d.ts.map +1 -1
- package/dist/commands/status.js +64 -39
- package/dist/commands/status.js.map +1 -1
- package/dist/commands/up.d.ts.map +1 -1
- package/dist/commands/up.js +26 -24
- package/dist/commands/up.js.map +1 -1
- package/dist/commands/wizard.d.ts.map +1 -1
- package/dist/commands/wizard.js +5 -0
- package/dist/commands/wizard.js.map +1 -1
- package/dist/index.js +9 -42
- package/dist/index.js.map +1 -1
- package/dist/program.d.ts +4 -0
- package/dist/program.d.ts.map +1 -0
- package/dist/program.js +61 -0
- package/dist/program.js.map +1 -0
- package/dist/utils/add.d.ts +81 -0
- package/dist/utils/add.d.ts.map +1 -0
- package/dist/utils/add.js +151 -0
- package/dist/utils/add.js.map +1 -0
- package/dist/utils/cli.d.ts +49 -0
- package/dist/utils/cli.d.ts.map +1 -0
- package/dist/utils/cli.js +106 -0
- package/dist/utils/cli.js.map +1 -0
- package/dist/utils/docs.d.ts +39 -0
- package/dist/utils/docs.d.ts.map +1 -0
- package/dist/utils/docs.js +198 -0
- package/dist/utils/docs.js.map +1 -0
- package/dist/utils/doctor.d.ts +41 -0
- package/dist/utils/doctor.d.ts.map +1 -0
- package/dist/utils/doctor.js +378 -0
- package/dist/utils/doctor.js.map +1 -0
- package/dist/utils/evals.d.ts +50 -0
- package/dist/utils/evals.d.ts.map +1 -0
- package/dist/utils/evals.js +78 -0
- package/dist/utils/evals.js.map +1 -0
- package/dist/utils/provider-models.d.ts +8 -2
- package/dist/utils/provider-models.d.ts.map +1 -1
- package/dist/utils/provider-models.js +32 -52
- package/dist/utils/provider-models.js.map +1 -1
- package/dist/utils/registry-worker.d.ts +2 -0
- package/dist/utils/registry-worker.d.ts.map +1 -0
- package/dist/utils/registry-worker.js +35 -0
- package/dist/utils/registry-worker.js.map +1 -0
- package/dist/utils/registry.d.ts +19 -0
- package/dist/utils/registry.d.ts.map +1 -0
- package/dist/utils/registry.js +58 -0
- package/dist/utils/registry.js.map +1 -0
- package/package.json +12 -8
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
import { MCPServer } from '@cogitator-ai/mcp';
|
|
3
|
+
import type { Tool } from '@cogitator-ai/types';
|
|
4
|
+
/**
|
|
5
|
+
* The tools a coding agent (Claude Code, Cursor, Codex) gets for a Cogitator
|
|
6
|
+
* project: the docs of the installed version, what the project registers, and
|
|
7
|
+
* whether it can run. Nothing here calls a model or changes a file.
|
|
8
|
+
*/
|
|
9
|
+
export declare function projectTools(projectDir: string): Tool[];
|
|
10
|
+
/**
|
|
11
|
+
* The project a server started in `start` serves: the nearest directory at or
|
|
12
|
+
* above it with a registry or a scaffold manifest, so a coding agent that
|
|
13
|
+
* starts the server in a subdirectory still gets the project.
|
|
14
|
+
*/
|
|
15
|
+
export declare function findProjectRoot(start: string): string;
|
|
16
|
+
export declare function createProjectMcpServer(projectDir: string, version: string): MCPServer;
|
|
17
|
+
export declare const mcpCommand: Command;
|
|
18
|
+
//# sourceMappingURL=mcp.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../src/commands/mcp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AA6BhD;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,EAAE,CAsFvD;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CASrD;AAED,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,SAAS,CAIrF;AAED,eAAO,MAAM,UAAU,SAkCnB,CAAC"}
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
import { existsSync, readFileSync } from 'node:fs';
|
|
3
|
+
import { dirname, join, resolve } from 'node:path';
|
|
4
|
+
import { tool } from '@cogitator-ai/core';
|
|
5
|
+
import { MCPServer } from '@cogitator-ai/mcp';
|
|
6
|
+
import { z } from 'zod';
|
|
7
|
+
import { loadDocsIndex, locateDocs, readDoc, searchDocs, slugOf, } from '../utils/docs.js';
|
|
8
|
+
import { runDoctor } from '../utils/doctor.js';
|
|
9
|
+
import { inspectRegistry } from '../utils/registry.js';
|
|
10
|
+
import { examplesHelp } from '../utils/cli.js';
|
|
11
|
+
/** The `cogitator` field create-cogitator-app writes to package.json, when the project has one. */
|
|
12
|
+
function scaffoldManifest(projectDir) {
|
|
13
|
+
const path = join(projectDir, 'package.json');
|
|
14
|
+
if (!existsSync(path))
|
|
15
|
+
return undefined;
|
|
16
|
+
let manifest;
|
|
17
|
+
try {
|
|
18
|
+
manifest = JSON.parse(readFileSync(path, 'utf-8'));
|
|
19
|
+
}
|
|
20
|
+
catch {
|
|
21
|
+
return undefined;
|
|
22
|
+
}
|
|
23
|
+
return typeof manifest === 'object' && manifest !== null && 'cogitator' in manifest
|
|
24
|
+
? manifest.cogitator
|
|
25
|
+
: undefined;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* The tools a coding agent (Claude Code, Cursor, Codex) gets for a Cogitator
|
|
29
|
+
* project: the docs of the installed version, what the project registers, and
|
|
30
|
+
* whether it can run. Nothing here calls a model or changes a file.
|
|
31
|
+
*/
|
|
32
|
+
export function projectTools(projectDir) {
|
|
33
|
+
let docs;
|
|
34
|
+
const loadDocs = () => (docs ??= loadDocsIndex(locateDocs(projectDir)));
|
|
35
|
+
const search = tool({
|
|
36
|
+
name: 'search_docs',
|
|
37
|
+
description: 'Search the Cogitator documentation of the version this project installed. Use it before writing Cogitator code: APIs change faster than training data. Returns pages with the best matching passage; read one with read_doc.',
|
|
38
|
+
parameters: z.object({
|
|
39
|
+
query: z
|
|
40
|
+
.string()
|
|
41
|
+
.min(1)
|
|
42
|
+
.describe('What to look for, such as "tool approvals" or "WorkflowBuilder"'),
|
|
43
|
+
limit: z
|
|
44
|
+
.number()
|
|
45
|
+
.int()
|
|
46
|
+
.min(1)
|
|
47
|
+
.max(20)
|
|
48
|
+
.optional()
|
|
49
|
+
.describe('How many pages to return, 8 by default'),
|
|
50
|
+
}),
|
|
51
|
+
sideEffects: [],
|
|
52
|
+
execute: async ({ query, limit }) => {
|
|
53
|
+
const index = loadDocs();
|
|
54
|
+
const hits = searchDocs(index, query, limit);
|
|
55
|
+
if (hits.length === 0) {
|
|
56
|
+
return `No page of the Cogitator ${index.version} docs matches "${query}". Try other words, or read_doc index.md for the list of pages.`;
|
|
57
|
+
}
|
|
58
|
+
return hits
|
|
59
|
+
.map((hit, i) => {
|
|
60
|
+
const target = hit.heading ? `${hit.path}#${slugOf(hit.heading)}` : hit.path;
|
|
61
|
+
return `${i + 1}. ${hit.title} (${hit.section}): read_doc "${target}"\n ${hit.snippet}`;
|
|
62
|
+
})
|
|
63
|
+
.join('\n');
|
|
64
|
+
},
|
|
65
|
+
});
|
|
66
|
+
const read = tool({
|
|
67
|
+
name: 'read_doc',
|
|
68
|
+
description: 'Read a page of the Cogitator docs as Markdown. "index.md" lists every page; "core/agents.md#agentconfig" returns one section of a page.',
|
|
69
|
+
parameters: z.object({
|
|
70
|
+
path: z
|
|
71
|
+
.string()
|
|
72
|
+
.min(1)
|
|
73
|
+
.describe('A page path from search_docs or index.md, optionally with #section'),
|
|
74
|
+
}),
|
|
75
|
+
sideEffects: [],
|
|
76
|
+
execute: async ({ path }) => readDoc(loadDocs(), path),
|
|
77
|
+
});
|
|
78
|
+
const inspect = tool({
|
|
79
|
+
name: 'inspect_project',
|
|
80
|
+
description: 'Describe this Cogitator project: the agents (model, instructions, tools with their argument schemas), workflows (nodes and edges) and swarms registered in src/cogitator.ts, and how the project was scaffolded. Loads the current code in a separate process.',
|
|
81
|
+
parameters: z.object({}),
|
|
82
|
+
sideEffects: [],
|
|
83
|
+
execute: async () => {
|
|
84
|
+
const registry = await inspectRegistry(projectDir);
|
|
85
|
+
return JSON.stringify({ scaffold: scaffoldManifest(projectDir), ...registry }, null, 2);
|
|
86
|
+
},
|
|
87
|
+
});
|
|
88
|
+
const check = tool({
|
|
89
|
+
name: 'check_project',
|
|
90
|
+
description: 'Run cogitator doctor: Node version, installed packages, cogitator.yml, environment variables and keys, services and models. With online, it also connects to the services and the model provider.',
|
|
91
|
+
parameters: z.object({
|
|
92
|
+
online: z
|
|
93
|
+
.boolean()
|
|
94
|
+
.optional()
|
|
95
|
+
.describe('Connect to services and the provider, false by default'),
|
|
96
|
+
}),
|
|
97
|
+
sideEffects: ['network'],
|
|
98
|
+
execute: async ({ online }) => {
|
|
99
|
+
const checks = await runDoctor({
|
|
100
|
+
projectDir,
|
|
101
|
+
env: process.env,
|
|
102
|
+
nodeVersion: process.version,
|
|
103
|
+
probe: online === true,
|
|
104
|
+
});
|
|
105
|
+
return JSON.stringify({ ok: checks.every((c) => c.status !== 'fail'), checks }, null, 2);
|
|
106
|
+
},
|
|
107
|
+
});
|
|
108
|
+
return [search, read, inspect, check];
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* The project a server started in `start` serves: the nearest directory at or
|
|
112
|
+
* above it with a registry or a scaffold manifest, so a coding agent that
|
|
113
|
+
* starts the server in a subdirectory still gets the project.
|
|
114
|
+
*/
|
|
115
|
+
export function findProjectRoot(start) {
|
|
116
|
+
let dir = resolve(start);
|
|
117
|
+
for (;;) {
|
|
118
|
+
if (existsSync(join(dir, 'src', 'cogitator.ts')) || scaffoldManifest(dir) !== undefined)
|
|
119
|
+
return dir;
|
|
120
|
+
const parent = dirname(dir);
|
|
121
|
+
if (parent === dir)
|
|
122
|
+
return resolve(start);
|
|
123
|
+
dir = parent;
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
export function createProjectMcpServer(projectDir, version) {
|
|
127
|
+
const server = new MCPServer({ name: 'cogitator', version, transport: 'stdio', logging: false });
|
|
128
|
+
server.registerTools(projectTools(projectDir));
|
|
129
|
+
return server;
|
|
130
|
+
}
|
|
131
|
+
export const mcpCommand = new Command('mcp')
|
|
132
|
+
.description('Serve the Cogitator docs and this project to a coding agent over MCP (stdio)')
|
|
133
|
+
.option('--project <path>', 'the project to serve, the nearest one at or above this directory by default')
|
|
134
|
+
.addHelpText('after', [
|
|
135
|
+
examplesHelp([
|
|
136
|
+
['cogitator mcp', 'serve the project in this directory over stdio'],
|
|
137
|
+
['cogitator mcp --project ~/code/bot', 'serve another project'],
|
|
138
|
+
]),
|
|
139
|
+
'',
|
|
140
|
+
'Coding agents start it themselves: projects created with --agent claude, cursor',
|
|
141
|
+
'or codex have it in .mcp.json, .cursor/mcp.json or .codex/config.toml.',
|
|
142
|
+
'Tools: search_docs, read_doc, inspect_project, check_project.',
|
|
143
|
+
].join('\n'))
|
|
144
|
+
.action(async (options) => {
|
|
145
|
+
const manifest = JSON.parse(readFileSync(new URL('../../package.json', import.meta.url), 'utf-8'));
|
|
146
|
+
const server = createProjectMcpServer(findProjectRoot(options.project ?? process.cwd()), manifest.version);
|
|
147
|
+
await server.start();
|
|
148
|
+
const stop = () => {
|
|
149
|
+
void server.stop().finally(() => process.exit(0));
|
|
150
|
+
};
|
|
151
|
+
process.once('SIGINT', stop);
|
|
152
|
+
process.once('SIGTERM', stop);
|
|
153
|
+
process.stdin.once('end', stop);
|
|
154
|
+
});
|
|
155
|
+
//# sourceMappingURL=mcp.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../src/commands/mcp.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../src/commands/models.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../src/commands/models.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAcpC,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAKhD;AAMD,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,GAAE,IAAiB,GAAG,MAAM,CAY1E;AAgHD,eAAO,MAAM,aAAa,SAuBtB,CAAC"}
|
package/dist/commands/models.js
CHANGED
|
@@ -5,6 +5,7 @@ import { Command } from 'commander';
|
|
|
5
5
|
import chalk from 'chalk';
|
|
6
6
|
import ora from 'ora';
|
|
7
7
|
import { log } from '../utils/logger.js';
|
|
8
|
+
import { CommandError, errorMessage, examplesHelp, printJson } from '../utils/cli.js';
|
|
8
9
|
import { listOllamaModels, pullOllamaModel, resolveOllamaUrl, } from '../utils/ollama.js';
|
|
9
10
|
const DAY_MS = 1000 * 60 * 60 * 24;
|
|
10
11
|
export function formatSize(bytes) {
|
|
@@ -34,20 +35,35 @@ export function formatDate(isoDate, now = new Date()) {
|
|
|
34
35
|
return plural(Math.floor(days / 30), 'month');
|
|
35
36
|
return plural(Math.floor(days / 365), 'year');
|
|
36
37
|
}
|
|
37
|
-
async function listModels(baseUrl, apiKey) {
|
|
38
|
-
const spinner = ora(
|
|
38
|
+
async function listModels(baseUrl, apiKey, json) {
|
|
39
|
+
const spinner = ora({
|
|
40
|
+
text: `Fetching models from Ollama (${baseUrl})...`,
|
|
41
|
+
isSilent: json,
|
|
42
|
+
}).start();
|
|
39
43
|
let models;
|
|
40
44
|
try {
|
|
41
45
|
models = await listOllamaModels(baseUrl, { apiKey });
|
|
42
46
|
}
|
|
43
47
|
catch (error) {
|
|
44
48
|
spinner.fail('Cannot connect to Ollama');
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
+
throw new CommandError(`Cannot connect to Ollama at ${baseUrl}: ${errorMessage(error)}`, {
|
|
50
|
+
hints: [
|
|
51
|
+
'Start Ollama with: ollama serve (or set OLLAMA_URL)',
|
|
52
|
+
'Or install from: https://ollama.com',
|
|
53
|
+
],
|
|
54
|
+
});
|
|
49
55
|
}
|
|
50
56
|
spinner.stop();
|
|
57
|
+
if (json) {
|
|
58
|
+
printJson({
|
|
59
|
+
ok: true,
|
|
60
|
+
url: baseUrl,
|
|
61
|
+
models: [...models]
|
|
62
|
+
.sort((a, b) => b.size - a.size)
|
|
63
|
+
.map((model) => ({ name: model.name, size: model.size, modifiedAt: model.modified_at })),
|
|
64
|
+
});
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
51
67
|
if (models.length === 0) {
|
|
52
68
|
log.warn('No models installed');
|
|
53
69
|
console.log();
|
|
@@ -69,9 +85,11 @@ async function listModels(baseUrl, apiKey) {
|
|
|
69
85
|
console.log();
|
|
70
86
|
log.dim('Use with: cogitator run -m ollama/<model> "message"');
|
|
71
87
|
}
|
|
72
|
-
async function pullModel(baseUrl, model, apiKey) {
|
|
73
|
-
|
|
74
|
-
|
|
88
|
+
async function pullModel(baseUrl, model, apiKey, json) {
|
|
89
|
+
if (!json) {
|
|
90
|
+
log.info(`Pulling model: ${model}`);
|
|
91
|
+
console.log();
|
|
92
|
+
}
|
|
75
93
|
let lastLine = '';
|
|
76
94
|
try {
|
|
77
95
|
await pullOllamaModel(baseUrl, model, (progress) => {
|
|
@@ -79,7 +97,7 @@ async function pullModel(baseUrl, model, apiKey) {
|
|
|
79
97
|
? ` ${Math.round((progress.completed / progress.total) * 100)}%`
|
|
80
98
|
: '';
|
|
81
99
|
const line = ` ${progress.status}${pct}`;
|
|
82
|
-
if (line === lastLine)
|
|
100
|
+
if (json || line === lastLine)
|
|
83
101
|
return;
|
|
84
102
|
lastLine = line;
|
|
85
103
|
if (process.stdout.isTTY) {
|
|
@@ -93,9 +111,13 @@ async function pullModel(baseUrl, model, apiKey) {
|
|
|
93
111
|
catch (error) {
|
|
94
112
|
if (process.stdout.isTTY && lastLine)
|
|
95
113
|
console.log();
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
114
|
+
throw new CommandError(error instanceof Error ? error.message : String(error), {
|
|
115
|
+
hints: [`Make sure Ollama is reachable at ${baseUrl}`],
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
if (json) {
|
|
119
|
+
printJson({ ok: true, url: baseUrl, model, pulled: true });
|
|
120
|
+
return;
|
|
99
121
|
}
|
|
100
122
|
if (process.stdout.isTTY)
|
|
101
123
|
console.log();
|
|
@@ -106,13 +128,19 @@ export const modelsCommand = new Command('models')
|
|
|
106
128
|
.description('List available Ollama models')
|
|
107
129
|
.option('--pull <model>', 'Pull a model from Ollama registry')
|
|
108
130
|
.option('--url <url>', 'Ollama base URL (default: $OLLAMA_URL or http://localhost:11434)')
|
|
131
|
+
.option('--json', 'print the models, or the pulled model, as JSON')
|
|
132
|
+
.addHelpText('after', examplesHelp([
|
|
133
|
+
['cogitator models', 'the models your Ollama has'],
|
|
134
|
+
['cogitator models --pull qwen3.5:4b', 'download a model'],
|
|
135
|
+
['cogitator models --json', 'the same list for scripts'],
|
|
136
|
+
]))
|
|
109
137
|
.action(async (options) => {
|
|
110
138
|
const baseUrl = resolveOllamaUrl(process.env, options.url);
|
|
111
139
|
const apiKey = process.env.OLLAMA_API_KEY;
|
|
112
140
|
if (options.pull) {
|
|
113
|
-
await pullModel(baseUrl, options.pull, apiKey);
|
|
141
|
+
await pullModel(baseUrl, options.pull, apiKey, options.json === true);
|
|
114
142
|
return;
|
|
115
143
|
}
|
|
116
|
-
await listModels(baseUrl, apiKey);
|
|
144
|
+
await listModels(baseUrl, apiKey, options.json === true);
|
|
117
145
|
});
|
|
118
146
|
//# sourceMappingURL=models.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"models.js","sourceRoot":"","sources":["../../src/commands/models.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AACzC,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,gBAAgB,GAEjB,MAAM,oBAAoB,CAAC;AAE5B,MAAM,MAAM,GAAG,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;AAEnC,MAAM,UAAU,UAAU,CAAC,KAAa;IACtC,MAAM,EAAE,GAAG,KAAK,GAAG,CAAC,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC;IACxC,IAAI,EAAE,IAAI,CAAC;QAAE,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;IAC1C,MAAM,EAAE,GAAG,KAAK,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;IACjC,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;AAC/B,CAAC;AAED,SAAS,MAAM,CAAC,KAAa,EAAE,IAAY;IACzC,OAAO,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,OAAe,EAAE,MAAY,IAAI,IAAI,EAAE;IAChE,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC;IACzC,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;QAAE,OAAO,SAAS,CAAC;IAEzC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;IAEtE,IAAI,IAAI,KAAK,CAAC;QAAE,OAAO,OAAO,CAAC;IAC/B,IAAI,IAAI,KAAK,CAAC;QAAE,OAAO,WAAW,CAAC;IACnC,IAAI,IAAI,GAAG,CAAC;QAAE,OAAO,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACzC,IAAI,IAAI,GAAG,EAAE;QAAE,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IAC3D,IAAI,IAAI,GAAG,GAAG;QAAE,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;IAC9D,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;AAChD,CAAC;AAED,KAAK,UAAU,UAAU,
|
|
1
|
+
{"version":3,"file":"models.js","sourceRoot":"","sources":["../../src/commands/models.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/commands/run.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/commands/run.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAUpC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAG3D,OAAO,EAAoB,KAAK,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAgCtF,wBAAgB,eAAe,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,GAAG,IAAI,CAI3E;AAWD,wBAAgB,UAAU,CACxB,YAAY,CAAC,EAAE,MAAM,EACrB,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAe,EACrD,GAAG,GAAE,MAAsB,GAC1B,MAAM,GAAG,IAAI,CAiBf;AAED,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,eAAe,CAAC;IACxB,6DAA6D;IAC7D,IAAI,CAAC,EAAE,iBAAiB,CAAC;IACzB,+EAA+E;IAC/E,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAeD;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,EAAE,GAAG,GAAE,MAAsB,GAAG,SAAS,CAkB/F;AAED,wBAAgB,eAAe,CAC7B,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,EACvC,MAAM,EAAE,eAAe,EACvB,WAAW,CAAC,EAAE,MAAM,GACnB,MAAM,GAAG,SAAS,CAEpB;AAqHD,eAAO,MAAM,UAAU,SA4FnB,CAAC"}
|
package/dist/commands/run.js
CHANGED
|
@@ -8,6 +8,7 @@ import { createInterface } from 'node:readline';
|
|
|
8
8
|
import chalk from 'chalk';
|
|
9
9
|
import { parse as parseYaml } from 'yaml';
|
|
10
10
|
import { log, printBanner } from '../utils/logger.js';
|
|
11
|
+
import { CommandError, examplesHelp } from '../utils/cli.js';
|
|
11
12
|
import { Cogitator, Agent } from '@cogitator-ai/core';
|
|
12
13
|
import { CONFIG_FILE_NAMES, loadConfig } from '@cogitator-ai/config';
|
|
13
14
|
import { listOllamaModels, resolveOllamaUrl } from '../utils/ollama.js';
|
|
@@ -222,23 +223,25 @@ export const runCommand = new Command('run')
|
|
|
222
223
|
.option('-i, --interactive', 'Interactive mode')
|
|
223
224
|
.option('-s, --stream', 'Stream response tokens', true)
|
|
224
225
|
.option('--no-stream', 'Disable streaming')
|
|
226
|
+
.addHelpText('after', examplesHelp([
|
|
227
|
+
['cogitator run "What is RAG?"', 'one answer from the default model'],
|
|
228
|
+
['cogitator run -m ollama/qwen3.5:4b -i', 'chat with a local model'],
|
|
229
|
+
['cogitator run -c cogitator.yml --no-stream "Hi"', 'print the whole answer at once'],
|
|
230
|
+
]))
|
|
225
231
|
.action(async (message, options) => {
|
|
226
232
|
const configPath = findConfig(options.config);
|
|
227
233
|
if (options.config && !configPath) {
|
|
228
|
-
|
|
229
|
-
process.exit(1);
|
|
234
|
+
throw new CommandError(`Config file not found: ${resolve(options.config)}`);
|
|
230
235
|
}
|
|
231
236
|
if (!options.config && process.env.COGITATOR_CONFIG && !configPath) {
|
|
232
|
-
|
|
233
|
-
process.exit(1);
|
|
237
|
+
throw new CommandError(`COGITATOR_CONFIG points to a missing file: ${process.env.COGITATOR_CONFIG}`);
|
|
234
238
|
}
|
|
235
239
|
let loaded;
|
|
236
240
|
try {
|
|
237
241
|
loaded = loadRunConfig(configPath);
|
|
238
242
|
}
|
|
239
243
|
catch (error) {
|
|
240
|
-
|
|
241
|
-
process.exit(1);
|
|
244
|
+
throw new CommandError(`Failed to load config: ${error instanceof Error ? error.message : error}`);
|
|
242
245
|
}
|
|
243
246
|
const { config } = loaded;
|
|
244
247
|
if (configPath && loaded.kind === 'assistant') {
|
|
@@ -255,11 +258,13 @@ export const runCommand = new Command('run')
|
|
|
255
258
|
(await detectOllamaModel(baseUrl, ollama?.apiKey ?? process.env.OLLAMA_API_KEY)) ??
|
|
256
259
|
undefined;
|
|
257
260
|
if (!model) {
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
261
|
+
throw new CommandError('No model specified and no Ollama models found', {
|
|
262
|
+
hints: [
|
|
263
|
+
'Use -m to specify a model, e.g.: cogitator run -m ollama/qwen3:8b "Hello"',
|
|
264
|
+
'Or set COGITATOR_MODEL / llm.defaultModel in cogitator.yml',
|
|
265
|
+
'Or start Ollama and pull a model: ollama pull qwen3:8b',
|
|
266
|
+
],
|
|
267
|
+
});
|
|
263
268
|
}
|
|
264
269
|
log.dim(`Auto-detected model: ${model}`);
|
|
265
270
|
}
|
package/dist/commands/run.js.map
CHANGED
|
@@ -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 +1 @@
|
|
|
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;
|
|
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;AAQvD,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,SAOxB,CAAC;AA6LF,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"}
|
package/dist/commands/skill.js
CHANGED
|
@@ -6,6 +6,7 @@ import { homedir } from 'node:os';
|
|
|
6
6
|
import { resolve, basename, relative } from 'node:path';
|
|
7
7
|
import { validateSkill } from '@cogitator-ai/core';
|
|
8
8
|
import { log } from '../utils/logger.js';
|
|
9
|
+
import { CommandError, EXIT, examplesHelp } from '../utils/cli.js';
|
|
9
10
|
import { importUserModule } from '../utils/module-loader.js';
|
|
10
11
|
const SKILL_NAME = /^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$/;
|
|
11
12
|
const INSTALLED_SKILL_NAME = /^[A-Za-z0-9][A-Za-z0-9._-]*$/;
|
|
@@ -135,7 +136,11 @@ export function findMissingDependencies(dependencies, fromFile) {
|
|
|
135
136
|
}
|
|
136
137
|
});
|
|
137
138
|
}
|
|
138
|
-
export const skillCommand = new Command('skill').description('Manage agent skills')
|
|
139
|
+
export const skillCommand = new Command('skill').description('Manage agent skills').addHelpText('after', examplesHelp([
|
|
140
|
+
['cogitator skill list', 'installed skills'],
|
|
141
|
+
['cogitator skill create weather --template api', 'scaffold a skill'],
|
|
142
|
+
['cogitator skill validate', 'check the skill in this directory'],
|
|
143
|
+
]));
|
|
139
144
|
skillCommand
|
|
140
145
|
.command('list')
|
|
141
146
|
.description('List installed skills')
|
|
@@ -166,24 +171,21 @@ skillCommand
|
|
|
166
171
|
.action((source, options) => {
|
|
167
172
|
const sourcePath = resolve(process.cwd(), source);
|
|
168
173
|
if (!existsSync(sourcePath) || !statSync(sourcePath).isDirectory()) {
|
|
169
|
-
|
|
170
|
-
process.exit(1);
|
|
174
|
+
throw new CommandError(`Source is not a directory: ${sourcePath}`);
|
|
171
175
|
}
|
|
172
176
|
if (!findSkillFile(sourcePath)) {
|
|
173
|
-
|
|
174
|
-
process.exit(1);
|
|
177
|
+
throw new CommandError(`No ${SKILL_FILES.join(' / ')} found in ${sourcePath}`);
|
|
175
178
|
}
|
|
176
179
|
const name = basename(sourcePath);
|
|
177
180
|
if (!isSafeSkillDirName(name)) {
|
|
178
|
-
|
|
179
|
-
process.exit(1);
|
|
181
|
+
throw new CommandError(`Invalid skill directory name "${name}"`);
|
|
180
182
|
}
|
|
181
183
|
const targetDir = options.global ? globalSkillsDir() : localSkillsDir();
|
|
182
184
|
const targetPath = resolve(targetDir, name);
|
|
183
185
|
if (existsSync(targetPath)) {
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
186
|
+
throw new CommandError(`Skill "${name}" already exists at ${targetPath}`, {
|
|
187
|
+
hints: ['Remove it first: cogitator skill remove ' + name],
|
|
188
|
+
});
|
|
187
189
|
}
|
|
188
190
|
mkdirSync(targetDir, { recursive: true });
|
|
189
191
|
cpSync(sourcePath, targetPath, {
|
|
@@ -208,9 +210,9 @@ skillCommand
|
|
|
208
210
|
return;
|
|
209
211
|
}
|
|
210
212
|
}
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
213
|
+
throw new CommandError(`Skill "${name}" not found`, {
|
|
214
|
+
hints: ['Run "cogitator skill list" to see installed skills'],
|
|
215
|
+
});
|
|
214
216
|
});
|
|
215
217
|
skillCommand
|
|
216
218
|
.command('create')
|
|
@@ -222,8 +224,7 @@ skillCommand
|
|
|
222
224
|
const targetDir = options.global ? globalSkillsDir() : localSkillsDir();
|
|
223
225
|
const skillDir = resolve(targetDir, name);
|
|
224
226
|
if (existsSync(skillDir)) {
|
|
225
|
-
|
|
226
|
-
process.exit(1);
|
|
227
|
+
throw new CommandError(`Skill "${name}" already exists at ${skillDir}`);
|
|
227
228
|
}
|
|
228
229
|
mkdirSync(resolve(skillDir, 'tools'), { recursive: true });
|
|
229
230
|
const templates = getTemplate(name, options.template);
|
|
@@ -248,9 +249,9 @@ skillCommand
|
|
|
248
249
|
const skillPath = path ? resolve(process.cwd(), path) : process.cwd();
|
|
249
250
|
const skillFile = findSkillFile(skillPath);
|
|
250
251
|
if (!skillFile) {
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
252
|
+
throw new CommandError(`No ${SKILL_FILES.join(' / ')} found`, {
|
|
253
|
+
hints: [`Searched in: ${skillPath}`],
|
|
254
|
+
});
|
|
254
255
|
}
|
|
255
256
|
log.step(`Validating ${chalk.dim(skillFile)}`);
|
|
256
257
|
let exported;
|
|
@@ -259,12 +260,10 @@ skillCommand
|
|
|
259
260
|
exported = mod.default ?? mod.skill;
|
|
260
261
|
}
|
|
261
262
|
catch (err) {
|
|
262
|
-
|
|
263
|
-
process.exit(1);
|
|
263
|
+
throw new CommandError(`Failed to load skill: ${err instanceof Error ? err.message : String(err)}`);
|
|
264
264
|
}
|
|
265
265
|
if (exported === undefined) {
|
|
266
|
-
|
|
267
|
-
process.exit(1);
|
|
266
|
+
throw new CommandError('Skill file must export a default or named "skill" export');
|
|
268
267
|
}
|
|
269
268
|
const { skill, issues } = toSkill(exported);
|
|
270
269
|
const warnings = [];
|
|
@@ -285,7 +284,8 @@ skillCommand
|
|
|
285
284
|
for (const issue of issues) {
|
|
286
285
|
console.log(` ${chalk.red('✗')} ${issue}`);
|
|
287
286
|
}
|
|
288
|
-
process.
|
|
287
|
+
process.exitCode = EXIT.failed;
|
|
288
|
+
return;
|
|
289
289
|
}
|
|
290
290
|
log.success('Skill is valid');
|
|
291
291
|
console.log(` ${chalk.bold('Name')} ${skill.name}`);
|