@cogitator-ai/cli 0.13.2 → 0.14.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 CHANGED
@@ -62,6 +62,7 @@ cogitator run -m ollama/llama3.1:8b "What is the capital of France?"
62
62
  | `cogitator status` | Show Docker Compose and Ollama status (alias: `ps`) |
63
63
  | `cogitator logs` | View Docker Compose service logs |
64
64
  | `cogitator deploy` | Deploy with Docker or Fly.io (see [`@cogitator-ai/deploy`](https://www.npmjs.com/package/@cogitator-ai/deploy)) |
65
+ | `cogitator rewind` | Rewind a thread's conversation, memory and files to an entry, a dry run first |
65
66
 
66
67
  Every command ends with examples in its `--help`.
67
68
 
@@ -279,6 +280,19 @@ The PID file (`.cogitator/daemon.pid`) records the launched script, so `stop` ne
279
280
 
280
281
  ---
281
282
 
283
+ ### cogitator rewind
284
+
285
+ ```bash
286
+ cogitator rewind thread_42 # the active branch, entries with a file checkpoint marked [files]
287
+ cogitator rewind thread_42 entry_abc --files --dry-run # what would change
288
+ cogitator rewind thread_42 entry_abc --files # shows the plan, asks, rewinds conversation, memory and files
289
+ cogitator rewind thread_42 entry_abc --files --no-memory -y # restore the files only, without a prompt
290
+ ```
291
+
292
+ Loads the runtime and agents the registry exports (`src/cogitator.ts`, `--registry` for another) and calls `cog.rewind()`. `--agent <key>` picks the agent whose workspace to restore (the thread's agent by default), `--force` aborts the runs going on in the thread, `--json` prints the report. Without a terminal it needs `--yes`, and `--json` needs `--dry-run` or `--yes`. A thread whose agent has no configured `id` falls back to the only registry agent with a workspace. It sees runs of other processes only when they are durable, and warns when runs are not durable by default. See [File Checkpoints and Rewind](https://cogitator.app/docs/core/file-checkpoints).
293
+
294
+ ---
295
+
282
296
  ### cogitator skill
283
297
 
284
298
  ```bash
@@ -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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"program.d.ts","sourceRoot":"","sources":["../src/program.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAiCpC,qDAAqD;AACrD,wBAAgB,aAAa,IAAI,OAAO,CA6BvC"}
1
+ {"version":3,"file":"program.d.ts","sourceRoot":"","sources":["../src/program.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAkCpC,qDAAqD;AACrD,wBAAgB,aAAa,IAAI,OAAO,CA8BvC"}
package/dist/program.js CHANGED
@@ -19,6 +19,7 @@ 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';
22
23
  const __dirname = dirname(fileURLToPath(import.meta.url));
23
24
  const pkg = JSON.parse(readFileSync(join(__dirname, '../package.json'), 'utf-8'));
24
25
  /** Commander errors reach the entry point from every command, so they exit with the same codes. */
@@ -52,6 +53,7 @@ export function createProgram() {
52
53
  daemonCommand,
53
54
  skillCommand,
54
55
  wizardCommand,
56
+ rewindCommand,
55
57
  ]) {
56
58
  program.addCommand(command);
57
59
  }
@@ -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;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;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.13.2",
3
+ "version": "0.14.0",
4
4
  "description": "CLI for Cogitator AI Agent Runtime",
5
5
  "keywords": [
6
6
  "cogitator",
@@ -33,19 +33,19 @@
33
33
  },
34
34
  "dependencies": {
35
35
  "@clack/prompts": "^1.8.1",
36
- "@cogitator-ai/channels": "0.20.5",
37
- "@cogitator-ai/config": "0.32.0",
38
- "@cogitator-ai/core": "0.70.0",
39
- "@cogitator-ai/deploy": "0.7.8",
40
- "@cogitator-ai/mcp": "19.7.5",
41
- "@cogitator-ai/memory": "0.28.0",
36
+ "@cogitator-ai/channels": "0.20.6",
37
+ "@cogitator-ai/config": "0.33.0",
38
+ "@cogitator-ai/core": "0.71.0",
39
+ "@cogitator-ai/deploy": "0.7.9",
40
+ "@cogitator-ai/mcp": "19.7.6",
41
+ "@cogitator-ai/memory": "0.29.0",
42
42
  "@cogitator-ai/models": "18.5.0",
43
- "@cogitator-ai/studio": "0.6.3",
44
- "@cogitator-ai/types": "0.81.0",
43
+ "@cogitator-ai/studio": "0.7.0",
44
+ "@cogitator-ai/types": "0.82.0",
45
45
  "better-sqlite3": "^13.0.3",
46
46
  "chalk": "^6.0.1",
47
47
  "commander": "^15.0.0",
48
- "create-cogitator-app": "^0.14.1",
48
+ "create-cogitator-app": "^0.14.2",
49
49
  "esbuild": "^0.28.2",
50
50
  "ora": "^9.4.1",
51
51
  "yaml": "^2.9.1",