fix(cli): handle missing status, clean imports, record delegated agent
This commit is contained in:
parent
8dc9c96606
commit
37ddaae043
@ -2,7 +2,7 @@ import { input } from '@inquirer/prompts';
|
|||||||
import { join } from 'path';
|
import { join } from 'path';
|
||||||
import { getEntityDir } from '../../core/paths.js';
|
import { getEntityDir } from '../../core/paths.js';
|
||||||
import { getNextId } from '../../core/counter.js';
|
import { getNextId } from '../../core/counter.js';
|
||||||
import { readEntity, writeEntity, listEntities } from '../../core/files.js';
|
import { readEntity, writeEntity } from '../../core/files.js';
|
||||||
import { DecisionSchema, type Decision } from '../../core/schema.js';
|
import { DecisionSchema, type Decision } from '../../core/schema.js';
|
||||||
import { Index } from '../../core/index.js';
|
import { Index } from '../../core/index.js';
|
||||||
|
|
||||||
|
|||||||
@ -2,7 +2,7 @@ import { input, select } from '@inquirer/prompts';
|
|||||||
import { join } from 'path';
|
import { join } from 'path';
|
||||||
import { getEntityDir } from '../../core/paths.js';
|
import { getEntityDir } from '../../core/paths.js';
|
||||||
import { getNextId } from '../../core/counter.js';
|
import { getNextId } from '../../core/counter.js';
|
||||||
import { readEntity, writeEntity, listEntities } from '../../core/files.js';
|
import { readEntity, writeEntity } from '../../core/files.js';
|
||||||
import { HandoffSchema, type Handoff } from '../../core/schema.js';
|
import { HandoffSchema, type Handoff } from '../../core/schema.js';
|
||||||
import { Index } from '../../core/index.js';
|
import { Index } from '../../core/index.js';
|
||||||
|
|
||||||
@ -20,6 +20,8 @@ export async function handoffCreate(cwd: string, options: Partial<Handoff> = {})
|
|||||||
id: getNextId(cwd, 'handoff'),
|
id: getNextId(cwd, 'handoff'),
|
||||||
fromRole,
|
fromRole,
|
||||||
toRole,
|
toRole,
|
||||||
|
fromAgent: options.fromAgent,
|
||||||
|
toAgent: options.toAgent,
|
||||||
taskId: taskId || undefined,
|
taskId: taskId || undefined,
|
||||||
summary,
|
summary,
|
||||||
context,
|
context,
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
import { input, select } from '@inquirer/prompts';
|
import { input, select } from '@inquirer/prompts';
|
||||||
import { join } from 'path';
|
import { join } from 'path';
|
||||||
import { getEntityDir } from '../../core/paths.js';
|
import { getEntityDir } from '../../core/paths.js';
|
||||||
import { readEntity, writeEntity, listEntities } from '../../core/files.js';
|
import { writeEntity } from '../../core/files.js';
|
||||||
import { MemorySchema, type Memory } from '../../core/schema.js';
|
import { MemorySchema, type Memory } from '../../core/schema.js';
|
||||||
import { Index } from '../../core/index.js';
|
import { Index } from '../../core/index.js';
|
||||||
|
|
||||||
|
|||||||
@ -1,12 +1,14 @@
|
|||||||
|
import { existsSync } from 'fs';
|
||||||
import { generateStatus } from '../../core/status.js';
|
import { generateStatus } from '../../core/status.js';
|
||||||
import { readEntity } from '../../core/files.js';
|
import { readEntity } from '../../core/files.js';
|
||||||
import { getStatusPath } from '../../core/paths.js';
|
import { getStatusPath } from '../../core/paths.js';
|
||||||
|
|
||||||
export function status(cwd: string, options: { update?: boolean } = {}): void {
|
export function status(cwd: string, options: { update?: boolean } = {}): void {
|
||||||
if (options.update) {
|
const statusPath = getStatusPath(cwd);
|
||||||
|
if (options.update || !existsSync(statusPath)) {
|
||||||
generateStatus(cwd);
|
generateStatus(cwd);
|
||||||
}
|
}
|
||||||
|
|
||||||
const { body } = readEntity(getStatusPath(cwd));
|
const { body } = readEntity(statusPath);
|
||||||
console.log(body);
|
console.log(body);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -2,7 +2,7 @@ import { input, select } from '@inquirer/prompts';
|
|||||||
import { join } from 'path';
|
import { join } from 'path';
|
||||||
import { getEntityDir } from '../../core/paths.js';
|
import { getEntityDir } from '../../core/paths.js';
|
||||||
import { getNextId } from '../../core/counter.js';
|
import { getNextId } from '../../core/counter.js';
|
||||||
import { readEntity, writeEntity, listEntities } from '../../core/files.js';
|
import { readEntity, writeEntity } from '../../core/files.js';
|
||||||
import { TaskSchema, type Task } from '../../core/schema.js';
|
import { TaskSchema, type Task } from '../../core/schema.js';
|
||||||
import { Index } from '../../core/index.js';
|
import { Index } from '../../core/index.js';
|
||||||
|
|
||||||
|
|||||||
@ -15,7 +15,7 @@ describe('e2e', () => {
|
|||||||
rmSync(cwd, { recursive: true, force: true });
|
rmSync(cwd, { recursive: true, force: true });
|
||||||
});
|
});
|
||||||
|
|
||||||
it('initializes and creates a task', () => {
|
it('initializes a project', () => {
|
||||||
const bin = join(process.cwd(), 'bin', 'agenthub.js');
|
const bin = join(process.cwd(), 'bin', 'agenthub.js');
|
||||||
execSync(`node ${bin} init --yes --project-name e2e-test`, { cwd });
|
execSync(`node ${bin} init --yes --project-name e2e-test`, { cwd });
|
||||||
expect(existsSync(join(cwd, '.agenthub', 'agenthub.config.json'))).toBe(true);
|
expect(existsSync(join(cwd, '.agenthub', 'agenthub.config.json'))).toBe(true);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user