@cogitator-ai/cli 0.13.2 → 0.15.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.
- package/README.md +50 -0
- package/dist/commands/plugin-eval.d.ts +63 -0
- package/dist/commands/plugin-eval.d.ts.map +1 -0
- package/dist/commands/plugin-eval.js +348 -0
- package/dist/commands/plugin-eval.js.map +1 -0
- package/dist/commands/plugin.d.ts +70 -0
- package/dist/commands/plugin.d.ts.map +1 -0
- package/dist/commands/plugin.js +600 -0
- package/dist/commands/plugin.js.map +1 -0
- package/dist/commands/rewind.d.ts +45 -0
- package/dist/commands/rewind.d.ts.map +1 -0
- package/dist/commands/rewind.js +274 -0
- package/dist/commands/rewind.js.map +1 -0
- package/dist/commands/run.d.ts +5 -0
- package/dist/commands/run.d.ts.map +1 -1
- package/dist/commands/run.js +12 -1
- package/dist/commands/run.js.map +1 -1
- package/dist/program.d.ts.map +1 -1
- package/dist/program.js +4 -0
- package/dist/program.js.map +1 -1
- package/package.json +11 -10
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* cogitator rewind <thread> [entry] - rewind a thread's conversation, memory and files
|
|
3
|
+
*/
|
|
4
|
+
import { Command } from 'commander';
|
|
5
|
+
import type { Agent, Cogitator, RewindReport } from '@cogitator-ai/core';
|
|
6
|
+
/** Where a scaffolded project registers its runtime and agents. */
|
|
7
|
+
export declare const DEFAULT_REGISTRY = "src/cogitator.ts";
|
|
8
|
+
export interface RewindFlags {
|
|
9
|
+
registry?: string;
|
|
10
|
+
agent?: string;
|
|
11
|
+
files?: boolean;
|
|
12
|
+
memory?: boolean;
|
|
13
|
+
dryRun?: boolean;
|
|
14
|
+
yes?: boolean;
|
|
15
|
+
force?: boolean;
|
|
16
|
+
json?: boolean;
|
|
17
|
+
}
|
|
18
|
+
/** What the command works on: the project's runtime and its agents by key */
|
|
19
|
+
export interface RewindProject {
|
|
20
|
+
cogitator: Pick<Cogitator, 'rewind' | 'getMemory'> & {
|
|
21
|
+
readonly durableByDefault?: boolean;
|
|
22
|
+
};
|
|
23
|
+
agents: Map<string, Agent>;
|
|
24
|
+
}
|
|
25
|
+
/** How the command talks to the person running it */
|
|
26
|
+
export interface RewindIo {
|
|
27
|
+
print(line: string): void;
|
|
28
|
+
/** Asks a yes or no question, undefined when nobody can answer (not a terminal) */
|
|
29
|
+
confirm(question: string): Promise<boolean | undefined>;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Loads `.env` and the registry of the project in `projectDir`: the runtime it exports as
|
|
33
|
+
* `cogitator` and its agents, exported as `agents` by key
|
|
34
|
+
*/
|
|
35
|
+
export declare function loadRewindProject(projectDir: string, registry?: string): Promise<RewindProject>;
|
|
36
|
+
/** The lines that tell what a rewind did or would do */
|
|
37
|
+
export declare function describeRewind(report: RewindReport): string[];
|
|
38
|
+
/**
|
|
39
|
+
* Lists the active branch of `threadId` with the entries a rewind can go to, or rewinds it to
|
|
40
|
+
* `entryId`: a dry run first, printed, then the rewind once confirmed (`--yes`, or a yes at the
|
|
41
|
+
* prompt). Returns the exit code
|
|
42
|
+
*/
|
|
43
|
+
export declare function runRewind(project: RewindProject, threadId: string, entryId: string | undefined, flags: RewindFlags, io: RewindIo): Promise<number>;
|
|
44
|
+
export declare const rewindCommand: Command;
|
|
45
|
+
//# sourceMappingURL=rewind.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rewind.d.ts","sourceRoot":"","sources":["../../src/commands/rewind.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,OAAO,KAAK,EAAE,KAAK,EAAE,SAAS,EAAiB,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAMxF,mEAAmE;AACnE,eAAO,MAAM,gBAAgB,qBAAqB,CAAC;AAEnD,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,6EAA6E;AAC7E,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,QAAQ,GAAG,WAAW,CAAC,GAAG;QAAE,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IAC7F,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;CAC5B;AAED,qDAAqD;AACrD,MAAM,WAAW,QAAQ;IACvB,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,mFAAmF;IACnF,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC,CAAC;CACzD;AAyBD;;;GAGG;AACH,wBAAsB,iBAAiB,CACrC,UAAU,EAAE,MAAM,EAClB,QAAQ,SAAmB,GAC1B,OAAO,CAAC,aAAa,CAAC,CAoBxB;AAkBD,wDAAwD;AACxD,wBAAgB,cAAc,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,EAAE,CAkC7D;AAED;;;;GAIG;AACH,wBAAsB,SAAS,CAC7B,OAAO,EAAE,aAAa,EACtB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,KAAK,EAAE,WAAW,EAClB,EAAE,EAAE,QAAQ,GACX,OAAO,CAAC,MAAM,CAAC,CAuFjB;AA6CD,eAAO,MAAM,aAAa,SA2CtB,CAAC"}
|
|
@@ -0,0 +1,274 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* cogitator rewind <thread> [entry] - rewind a thread's conversation, memory and files
|
|
3
|
+
*/
|
|
4
|
+
import { Command } from 'commander';
|
|
5
|
+
import chalk from 'chalk';
|
|
6
|
+
import { existsSync } from 'node:fs';
|
|
7
|
+
import { resolve } from 'node:path';
|
|
8
|
+
import { createInterface } from 'node:readline/promises';
|
|
9
|
+
import { fileCheckpointOf } from '@cogitator-ai/types';
|
|
10
|
+
import { CommandError, examplesHelp, printJson, reportFailure, UsageError } from '../utils/cli.js';
|
|
11
|
+
import { loadDotenvInto } from '../utils/env.js';
|
|
12
|
+
import { importUserModule } from '../utils/module-loader.js';
|
|
13
|
+
/** Where a scaffolded project registers its runtime and agents. */
|
|
14
|
+
export const DEFAULT_REGISTRY = 'src/cogitator.ts';
|
|
15
|
+
function isRuntime(value) {
|
|
16
|
+
return (typeof value === 'object' &&
|
|
17
|
+
value !== null &&
|
|
18
|
+
'rewind' in value &&
|
|
19
|
+
typeof value.rewind === 'function' &&
|
|
20
|
+
'getMemory' in value &&
|
|
21
|
+
typeof value.getMemory === 'function');
|
|
22
|
+
}
|
|
23
|
+
function isAgent(value) {
|
|
24
|
+
return (typeof value === 'object' &&
|
|
25
|
+
value !== null &&
|
|
26
|
+
'id' in value &&
|
|
27
|
+
typeof value.id === 'string' &&
|
|
28
|
+
'config' in value &&
|
|
29
|
+
typeof value.config === 'object' &&
|
|
30
|
+
value.config !== null);
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Loads `.env` and the registry of the project in `projectDir`: the runtime it exports as
|
|
34
|
+
* `cogitator` and its agents, exported as `agents` by key
|
|
35
|
+
*/
|
|
36
|
+
export async function loadRewindProject(projectDir, registry = DEFAULT_REGISTRY) {
|
|
37
|
+
const path = resolve(projectDir, registry);
|
|
38
|
+
if (!existsSync(path)) {
|
|
39
|
+
throw new CommandError(`Registry not found: ${path}`, {
|
|
40
|
+
hints: [
|
|
41
|
+
'Export the runtime as `cogitator` and the agents as `agents` from src/cogitator.ts, or pass --registry',
|
|
42
|
+
],
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
loadDotenvInto(resolve(projectDir, '.env'), process.env);
|
|
46
|
+
const module = await importUserModule(path, projectDir);
|
|
47
|
+
if (!isRuntime(module.cogitator)) {
|
|
48
|
+
throw new CommandError(`${registry} does not export the runtime as \`cogitator\``);
|
|
49
|
+
}
|
|
50
|
+
const agents = new Map();
|
|
51
|
+
const group = module.agents;
|
|
52
|
+
if (typeof group === 'object' && group !== null) {
|
|
53
|
+
for (const [key, value] of Object.entries(group))
|
|
54
|
+
if (isAgent(value))
|
|
55
|
+
agents.set(key, value);
|
|
56
|
+
}
|
|
57
|
+
return { cogitator: module.cogitator, agents };
|
|
58
|
+
}
|
|
59
|
+
function oneLine(entry) {
|
|
60
|
+
const content = entry.message.content;
|
|
61
|
+
const text = typeof content === 'string'
|
|
62
|
+
? content
|
|
63
|
+
: content.map((part) => (part.type === 'text' ? part.text : `[${part.type}]`)).join(' ');
|
|
64
|
+
const flat = text.replace(/\s+/g, ' ').trim();
|
|
65
|
+
return flat.length > 70 ? `${flat.slice(0, 69)}...` : flat;
|
|
66
|
+
}
|
|
67
|
+
function entryLabel(entry) {
|
|
68
|
+
const type = entry.type ?? 'message';
|
|
69
|
+
if (type === 'message')
|
|
70
|
+
return entry.message.role;
|
|
71
|
+
return type;
|
|
72
|
+
}
|
|
73
|
+
/** The lines that tell what a rewind did or would do */
|
|
74
|
+
export function describeRewind(report) {
|
|
75
|
+
const would = report.dryRun ? 'would ' : '';
|
|
76
|
+
const lines = [];
|
|
77
|
+
const cut = report.conversation.cut.length;
|
|
78
|
+
lines.push(cut === 0
|
|
79
|
+
? `Conversation: ${report.dryRun ? 'stays' : 'stayed'} where it is`
|
|
80
|
+
: `Conversation: ${cut} entr${cut === 1 ? 'y' : 'ies'} ${would}leave the active branch`);
|
|
81
|
+
if (report.items.stale.length > 0) {
|
|
82
|
+
lines.push(`Memory: ${report.items.stale.length} item(s) ${would}become stale`);
|
|
83
|
+
}
|
|
84
|
+
if (report.files) {
|
|
85
|
+
const { restored, deleted, kept, exact } = report.files;
|
|
86
|
+
lines.push(`Files: ${restored.length} ${would}be restored, ${deleted.length} ${would}be deleted${exact ? '' : ' (from the checkpoint before that turn)'}`);
|
|
87
|
+
for (const path of restored)
|
|
88
|
+
lines.push(` ${chalk.green('restore')} ${path}`);
|
|
89
|
+
for (const path of deleted)
|
|
90
|
+
lines.push(` ${chalk.red('delete')} ${path}`);
|
|
91
|
+
for (const path of kept)
|
|
92
|
+
lines.push(` ${chalk.dim('keep')} ${path}`);
|
|
93
|
+
}
|
|
94
|
+
if (report.runs.paused)
|
|
95
|
+
lines.push(`Runs: the paused run ${would}be dropped`);
|
|
96
|
+
if (report.runs.durable.length > 0) {
|
|
97
|
+
lines.push(`Runs: ${report.runs.durable.length} durable run(s) ${would}be dropped`);
|
|
98
|
+
}
|
|
99
|
+
if (report.runs.going.length > 0 && report.dryRun) {
|
|
100
|
+
lines.push(`Runs: ${report.runs.going.length} going on, pass --force to abort them`);
|
|
101
|
+
}
|
|
102
|
+
if (report.runs.interrupted.length > 0) {
|
|
103
|
+
lines.push(`Runs: ${report.runs.interrupted.length} aborted`);
|
|
104
|
+
}
|
|
105
|
+
return lines;
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Lists the active branch of `threadId` with the entries a rewind can go to, or rewinds it to
|
|
109
|
+
* `entryId`: a dry run first, printed, then the rewind once confirmed (`--yes`, or a yes at the
|
|
110
|
+
* prompt). Returns the exit code
|
|
111
|
+
*/
|
|
112
|
+
export async function runRewind(project, threadId, entryId, flags, io) {
|
|
113
|
+
const memory = await project.cogitator.getMemory();
|
|
114
|
+
if (!memory?.getPath) {
|
|
115
|
+
throw new CommandError('The project has no memory with branches to rewind', {
|
|
116
|
+
hints: ['Set memory.adapter in the Cogitator config of the registry'],
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
const thread = await memory.getThread(threadId);
|
|
120
|
+
if (!thread.success)
|
|
121
|
+
throw new CommandError(thread.error);
|
|
122
|
+
if (!thread.data)
|
|
123
|
+
throw new CommandError(`Thread ${threadId} does not exist`);
|
|
124
|
+
const agent = agentFor(project, thread.data.agentId, flags);
|
|
125
|
+
if (flags.json && entryId !== undefined && !flags.yes && !flags.dryRun) {
|
|
126
|
+
throw new UsageError('--json does not prompt: pass --dry-run to see the plan, or --yes to rewind');
|
|
127
|
+
}
|
|
128
|
+
if (entryId === undefined) {
|
|
129
|
+
const path = await memory.getPath({ threadId, types: 'all' });
|
|
130
|
+
if (!path.success)
|
|
131
|
+
throw new CommandError(path.error);
|
|
132
|
+
if (flags.json) {
|
|
133
|
+
printJson({
|
|
134
|
+
ok: true,
|
|
135
|
+
threadId,
|
|
136
|
+
entries: path.data.map((entry) => ({
|
|
137
|
+
id: entry.id,
|
|
138
|
+
type: entry.type ?? 'message',
|
|
139
|
+
role: entry.message.role,
|
|
140
|
+
text: oneLine(entry),
|
|
141
|
+
checkpoint: fileCheckpointOf(entry.metadata) !== undefined,
|
|
142
|
+
})),
|
|
143
|
+
});
|
|
144
|
+
return 0;
|
|
145
|
+
}
|
|
146
|
+
io.print(chalk.bold(`Thread ${threadId}, active branch, oldest first:`));
|
|
147
|
+
for (const entry of path.data) {
|
|
148
|
+
const mark = fileCheckpointOf(entry.metadata) ? chalk.cyan(' [files]') : '';
|
|
149
|
+
io.print(` ${chalk.dim(entry.id)} ${entryLabel(entry).padEnd(9)} ${oneLine(entry)}${mark}`);
|
|
150
|
+
}
|
|
151
|
+
io.print(chalk.dim('Entries marked [files] took a file checkpoint: rewind with --files to restore the files too.'));
|
|
152
|
+
return 0;
|
|
153
|
+
}
|
|
154
|
+
if (flags.files && !agent?.config.workspace) {
|
|
155
|
+
throw new UsageError('Restoring files needs the workspace of the agent the thread ran with, and no registry agent was found for it', [`Pass --agent <key> (agents: ${[...project.agents.keys()].join(', ') || 'none'})`]);
|
|
156
|
+
}
|
|
157
|
+
const warnings = project.cogitator.durableByDefault === false
|
|
158
|
+
? [
|
|
159
|
+
'Runs are not durable in this project, so a run another process is running now cannot be seen from here: make sure none is before you rewind',
|
|
160
|
+
]
|
|
161
|
+
: [];
|
|
162
|
+
if (!flags.json)
|
|
163
|
+
for (const warning of warnings)
|
|
164
|
+
io.print(chalk.yellow(`! ${warning}`));
|
|
165
|
+
const options = {
|
|
166
|
+
...(agent && { agents: [agent] }),
|
|
167
|
+
...(flags.files !== undefined && { files: flags.files }),
|
|
168
|
+
...(flags.memory === false && { memory: false }),
|
|
169
|
+
...(flags.force && { force: true }),
|
|
170
|
+
};
|
|
171
|
+
const plan = await project.cogitator.rewind(threadId, entryId, { ...options, dryRun: true });
|
|
172
|
+
if (flags.dryRun) {
|
|
173
|
+
if (flags.json)
|
|
174
|
+
printJson({ ok: true, report: plan, warnings });
|
|
175
|
+
else
|
|
176
|
+
for (const line of describeRewind(plan))
|
|
177
|
+
io.print(line);
|
|
178
|
+
return 0;
|
|
179
|
+
}
|
|
180
|
+
if (!flags.yes) {
|
|
181
|
+
for (const line of describeRewind(plan))
|
|
182
|
+
io.print(line);
|
|
183
|
+
const answer = await io.confirm(`Rewind thread ${threadId} to ${entryId}?`);
|
|
184
|
+
if (answer === undefined) {
|
|
185
|
+
throw new UsageError('Not a terminal: pass --yes to rewind without a prompt');
|
|
186
|
+
}
|
|
187
|
+
if (!answer) {
|
|
188
|
+
io.print('Nothing changed.');
|
|
189
|
+
return 0;
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
const report = await project.cogitator.rewind(threadId, entryId, options);
|
|
193
|
+
if (flags.json)
|
|
194
|
+
printJson({ ok: true, report, warnings });
|
|
195
|
+
else
|
|
196
|
+
for (const line of describeRewind(report))
|
|
197
|
+
io.print(line);
|
|
198
|
+
return 0;
|
|
199
|
+
}
|
|
200
|
+
/**
|
|
201
|
+
* The registry agent whose workspace and memory a rewind uses: `--agent`, else the one whose id
|
|
202
|
+
* the thread names, else the only agent of the registry with a workspace (an agent without a
|
|
203
|
+
* configured `id` gets a new one in every process, so the thread's id cannot name it)
|
|
204
|
+
*/
|
|
205
|
+
function agentFor(project, threadAgentId, flags) {
|
|
206
|
+
const agents = [...project.agents.values()];
|
|
207
|
+
if (flags.agent) {
|
|
208
|
+
const named = project.agents.get(flags.agent);
|
|
209
|
+
if (!named) {
|
|
210
|
+
throw new UsageError(`The registry has no agent "${flags.agent}"`, [
|
|
211
|
+
`Agents: ${[...project.agents.keys()].join(', ') || 'none'}`,
|
|
212
|
+
]);
|
|
213
|
+
}
|
|
214
|
+
return named;
|
|
215
|
+
}
|
|
216
|
+
const owner = agents.find((candidate) => candidate.id === threadAgentId);
|
|
217
|
+
if (owner)
|
|
218
|
+
return owner;
|
|
219
|
+
const withWorkspace = agents.filter((candidate) => candidate.config.workspace !== undefined);
|
|
220
|
+
return withWorkspace.length === 1 ? withWorkspace[0] : undefined;
|
|
221
|
+
}
|
|
222
|
+
/** Prompts on the terminal, undefined when stdin is not one */
|
|
223
|
+
function terminalIo() {
|
|
224
|
+
return {
|
|
225
|
+
print: (line) => console.log(line),
|
|
226
|
+
confirm: async (question) => {
|
|
227
|
+
if (!process.stdin.isTTY)
|
|
228
|
+
return undefined;
|
|
229
|
+
const prompt = createInterface({ input: process.stdin, output: process.stdout });
|
|
230
|
+
try {
|
|
231
|
+
const answer = await prompt.question(`${question} [y/N] `);
|
|
232
|
+
return /^y(es)?$/i.test(answer.trim());
|
|
233
|
+
}
|
|
234
|
+
finally {
|
|
235
|
+
prompt.close();
|
|
236
|
+
}
|
|
237
|
+
},
|
|
238
|
+
};
|
|
239
|
+
}
|
|
240
|
+
export const rewindCommand = new Command('rewind')
|
|
241
|
+
.description('Rewind a thread to an entry: its conversation and memory, and with --files the files of the workspace')
|
|
242
|
+
.argument('<thread>', 'The thread to rewind')
|
|
243
|
+
.argument('[entry]', 'The entry to rewind to, leave it out to list the entries of the thread')
|
|
244
|
+
.option('--files', 'Restore the files from the checkpoint at that point')
|
|
245
|
+
.option('--no-memory', 'Leave the conversation and memory as they are, restore the files only')
|
|
246
|
+
.option('--dry-run', 'Show what the rewind would change, change nothing')
|
|
247
|
+
.option('-y, --yes', 'Rewind without asking')
|
|
248
|
+
.option('--force', 'Stop the runs going on in the thread (and with --files in its workspace) first. Only runs of this process and durable runs of others are seen')
|
|
249
|
+
.option('-a, --agent <key>', 'The registry agent whose workspace to restore (default: the thread one)')
|
|
250
|
+
.option('-r, --registry <path>', 'The registry module', DEFAULT_REGISTRY)
|
|
251
|
+
.option('--json', 'Print the result as JSON')
|
|
252
|
+
.addHelpText('after', `
|
|
253
|
+
Runs going on: the command runs in a process of its own, so it sees a run of the project's
|
|
254
|
+
other processes only when that run is durable (CogitatorConfig.durable): a run that is not
|
|
255
|
+
is not detected. Stop such runs before you rewind with --files.
|
|
256
|
+
` +
|
|
257
|
+
examplesHelp([
|
|
258
|
+
['cogitator rewind thread_42', 'list the entries of the thread'],
|
|
259
|
+
['cogitator rewind thread_42 entry_abc --files --dry-run', 'show what would change'],
|
|
260
|
+
['cogitator rewind thread_42 entry_abc --files', 'rewind conversation, memory and files'],
|
|
261
|
+
['cogitator rewind thread_42 entry_abc --files --no-memory -y', 'restore the files only'],
|
|
262
|
+
]))
|
|
263
|
+
.action(async (thread, entry, flags) => {
|
|
264
|
+
let code;
|
|
265
|
+
try {
|
|
266
|
+
const project = await loadRewindProject(process.cwd(), flags.registry);
|
|
267
|
+
code = await runRewind(project, thread, entry, flags, terminalIo());
|
|
268
|
+
}
|
|
269
|
+
catch (error) {
|
|
270
|
+
code = reportFailure(error, { json: flags.json === true });
|
|
271
|
+
}
|
|
272
|
+
process.exit(code);
|
|
273
|
+
});
|
|
274
|
+
//# sourceMappingURL=rewind.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rewind.js","sourceRoot":"","sources":["../../src/commands/rewind.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/run.d.ts
CHANGED
|
@@ -4,6 +4,11 @@
|
|
|
4
4
|
import { Command } from 'commander';
|
|
5
5
|
import type { CogitatorConfig } from '@cogitator-ai/types';
|
|
6
6
|
import { findConfig, loadRunConfig, type RunConfig } from '../utils/run-config.js';
|
|
7
|
+
/**
|
|
8
|
+
* The config with an MCP connector for the servers of plugins, when it has plugins and names no
|
|
9
|
+
* connector: a config file cannot hold one, and plugins of the Claude Code format bring servers
|
|
10
|
+
*/
|
|
11
|
+
export declare function withPluginServers(config: CogitatorConfig): CogitatorConfig;
|
|
7
12
|
export { findConfig, loadRunConfig };
|
|
8
13
|
export type { RunConfig };
|
|
9
14
|
export declare function pickOllamaModel(available: readonly string[]): string | null;
|
|
@@ -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;AAQpC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAE3D,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,KAAK,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAEnF;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,eAAe,GAAG,eAAe,CAI1E;AAED,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,CAAC;AACrC,YAAY,EAAE,SAAS,EAAE,CAAC;AA8B1B,wBAAgB,eAAe,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,GAAG,IAAI,CAI3E;AAED,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC/B,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAOxB;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,SA0FnB,CAAC"}
|
package/dist/commands/run.js
CHANGED
|
@@ -8,8 +8,19 @@ import chalk from 'chalk';
|
|
|
8
8
|
import { log, printBanner } from '../utils/logger.js';
|
|
9
9
|
import { CommandError, examplesHelp } from '../utils/cli.js';
|
|
10
10
|
import { Cogitator, Agent } from '@cogitator-ai/core';
|
|
11
|
+
import { experimental_mcpConnector } from '@cogitator-ai/mcp';
|
|
11
12
|
import { listOllamaModels, resolveOllamaUrl } from '../utils/ollama.js';
|
|
12
13
|
import { findConfig, loadRunConfig } from '../utils/run-config.js';
|
|
14
|
+
/**
|
|
15
|
+
* The config with an MCP connector for the servers of plugins, when it has plugins and names no
|
|
16
|
+
* connector: a config file cannot hold one, and plugins of the Claude Code format bring servers
|
|
17
|
+
*/
|
|
18
|
+
export function withPluginServers(config) {
|
|
19
|
+
const plugins = config.experimental_plugins;
|
|
20
|
+
if (!plugins || plugins.mcp)
|
|
21
|
+
return config;
|
|
22
|
+
return { ...config, experimental_plugins: { ...plugins, mcp: experimental_mcpConnector() } };
|
|
23
|
+
}
|
|
13
24
|
export { findConfig, loadRunConfig };
|
|
14
25
|
const PREFERRED_OLLAMA_MODELS = [
|
|
15
26
|
'qwen3:8b',
|
|
@@ -205,7 +216,7 @@ export const runCommand = new Command('run')
|
|
|
205
216
|
}
|
|
206
217
|
log.dim(`Auto-detected model: ${model}`);
|
|
207
218
|
}
|
|
208
|
-
const cog = new Cogitator(config);
|
|
219
|
+
const cog = new Cogitator(withPluginServers(config));
|
|
209
220
|
if (options.interactive || !message) {
|
|
210
221
|
printBanner();
|
|
211
222
|
await runInteractive(cog, model, options.stream);
|
package/dist/commands/run.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/commands/run.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/commands/run.ts"],"names":[],"mappings":"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"}
|
package/dist/program.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"program.d.ts","sourceRoot":"","sources":["../src/program.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"program.d.ts","sourceRoot":"","sources":["../src/program.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAmCpC,qDAAqD;AACrD,wBAAgB,aAAa,IAAI,OAAO,CA+BvC"}
|
package/dist/program.js
CHANGED
|
@@ -19,6 +19,8 @@ import { buildCommand } from './commands/build.js';
|
|
|
19
19
|
import { daemonCommand } from './commands/daemon.js';
|
|
20
20
|
import { skillCommand } from './commands/skill.js';
|
|
21
21
|
import { wizardCommand } from './commands/wizard.js';
|
|
22
|
+
import { rewindCommand } from './commands/rewind.js';
|
|
23
|
+
import { pluginCommand } from './commands/plugin.js';
|
|
22
24
|
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
23
25
|
const pkg = JSON.parse(readFileSync(join(__dirname, '../package.json'), 'utf-8'));
|
|
24
26
|
/** Commander errors reach the entry point from every command, so they exit with the same codes. */
|
|
@@ -52,6 +54,8 @@ export function createProgram() {
|
|
|
52
54
|
daemonCommand,
|
|
53
55
|
skillCommand,
|
|
54
56
|
wizardCommand,
|
|
57
|
+
rewindCommand,
|
|
58
|
+
pluginCommand,
|
|
55
59
|
]) {
|
|
56
60
|
program.addCommand(command);
|
|
57
61
|
}
|
package/dist/program.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"program.js","sourceRoot":"","sources":["../src/program.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC1D,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,iBAAiB,CAAC,EAAE,OAAO,CAAC,CAE/E,CAAC;AAEF,mGAAmG;AACnG,SAAS,SAAS,CAAC,OAAgB;IACjC,OAAO,CAAC,wBAAwB,EAAE,CAAC,YAAY,EAAE,CAAC;IAClD,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,QAAQ;QAAE,SAAS,CAAC,GAAG,CAAC,CAAC;AACrD,CAAC;AAED,qDAAqD;AACrD,MAAM,UAAU,aAAa;IAC3B,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE;SAC1B,IAAI,CAAC,WAAW,CAAC;SACjB,WAAW,CAAC,gCAAgC,CAAC;SAC7C,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACxB,KAAK,MAAM,OAAO,IAAI;QACpB,WAAW;QACX,UAAU;QACV,UAAU;QACV,aAAa;QACb,WAAW;QACX,UAAU;QACV,SAAS;QACT,WAAW;QACX,UAAU;QACV,aAAa;QACb,WAAW;QACX,aAAa;QACb,aAAa;QACb,gBAAgB;QAChB,YAAY;QACZ,aAAa;QACb,YAAY;QACZ,aAAa;KACd,EAAE,CAAC;QACF,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC;IACD,SAAS,CAAC,OAAO,CAAC,CAAC;IACnB,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
1
|
+
{"version":3,"file":"program.js","sourceRoot":"","sources":["../src/program.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC1D,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,iBAAiB,CAAC,EAAE,OAAO,CAAC,CAE/E,CAAC;AAEF,mGAAmG;AACnG,SAAS,SAAS,CAAC,OAAgB;IACjC,OAAO,CAAC,wBAAwB,EAAE,CAAC,YAAY,EAAE,CAAC;IAClD,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,QAAQ;QAAE,SAAS,CAAC,GAAG,CAAC,CAAC;AACrD,CAAC;AAED,qDAAqD;AACrD,MAAM,UAAU,aAAa;IAC3B,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE;SAC1B,IAAI,CAAC,WAAW,CAAC;SACjB,WAAW,CAAC,gCAAgC,CAAC;SAC7C,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACxB,KAAK,MAAM,OAAO,IAAI;QACpB,WAAW;QACX,UAAU;QACV,UAAU;QACV,aAAa;QACb,WAAW;QACX,UAAU;QACV,SAAS;QACT,WAAW;QACX,UAAU;QACV,aAAa;QACb,WAAW;QACX,aAAa;QACb,aAAa;QACb,gBAAgB;QAChB,YAAY;QACZ,aAAa;QACb,YAAY;QACZ,aAAa;QACb,aAAa;QACb,aAAa;KACd,EAAE,CAAC;QACF,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC;IACD,SAAS,CAAC,OAAO,CAAC,CAAC;IACnB,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cogitator-ai/cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.15.0",
|
|
4
4
|
"description": "CLI for Cogitator AI Agent Runtime",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"cogitator",
|
|
@@ -33,19 +33,20 @@
|
|
|
33
33
|
},
|
|
34
34
|
"dependencies": {
|
|
35
35
|
"@clack/prompts": "^1.8.1",
|
|
36
|
-
"@cogitator-ai/channels": "0.20.
|
|
37
|
-
"@cogitator-ai/config": "0.
|
|
38
|
-
"@cogitator-ai/core": "0.
|
|
39
|
-
"@cogitator-ai/deploy": "0.7.
|
|
40
|
-
"@cogitator-ai/
|
|
41
|
-
"@cogitator-ai/
|
|
36
|
+
"@cogitator-ai/channels": "0.20.7",
|
|
37
|
+
"@cogitator-ai/config": "0.34.0",
|
|
38
|
+
"@cogitator-ai/core": "0.72.0",
|
|
39
|
+
"@cogitator-ai/deploy": "0.7.10",
|
|
40
|
+
"@cogitator-ai/evals": "0.14.0",
|
|
41
|
+
"@cogitator-ai/mcp": "19.8.0",
|
|
42
|
+
"@cogitator-ai/memory": "0.29.1",
|
|
42
43
|
"@cogitator-ai/models": "18.5.0",
|
|
43
|
-
"@cogitator-ai/studio": "0.
|
|
44
|
-
"@cogitator-ai/types": "0.
|
|
44
|
+
"@cogitator-ai/studio": "0.8.0",
|
|
45
|
+
"@cogitator-ai/types": "0.83.0",
|
|
45
46
|
"better-sqlite3": "^13.0.3",
|
|
46
47
|
"chalk": "^6.0.1",
|
|
47
48
|
"commander": "^15.0.0",
|
|
48
|
-
"create-cogitator-app": "^0.14.
|
|
49
|
+
"create-cogitator-app": "^0.14.3",
|
|
49
50
|
"esbuild": "^0.28.2",
|
|
50
51
|
"ora": "^9.4.1",
|
|
51
52
|
"yaml": "^2.9.1",
|