@omaikit/cli 0.1.1 → 0.1.3
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/dist/bin/index.js +5 -5
- package/dist/bin/index.js.map +1 -1
- package/dist/commands/code.d.ts.map +1 -1
- package/dist/commands/code.js +10 -16
- package/dist/commands/code.js.map +1 -1
- package/dist/commands/plan.d.ts +1 -1
- package/dist/commands/plan.d.ts.map +1 -1
- package/dist/commands/plan.js +46 -59
- package/dist/commands/plan.js.map +1 -1
- package/dist/commands/test.d.ts.map +1 -1
- package/dist/commands/test.js +4 -3
- package/dist/commands/test.js.map +1 -1
- package/dist/utils/progress.js +1 -1
- package/dist/utils/progress.js.map +1 -1
- package/package.json +1 -2
package/dist/bin/index.js
CHANGED
|
@@ -18,8 +18,8 @@ function parseArgs(args) {
|
|
|
18
18
|
else if (arg === '--version' || arg === '-v') {
|
|
19
19
|
result.version = true;
|
|
20
20
|
}
|
|
21
|
-
else if (arg === '--project-
|
|
22
|
-
result.
|
|
21
|
+
else if (arg === '--project-description' || arg === '-p') {
|
|
22
|
+
result.projectDescription = args[++i];
|
|
23
23
|
}
|
|
24
24
|
else if (arg === '--tech-stack' || arg === '-t') {
|
|
25
25
|
result.techStack = args[++i]?.split(',').map((s) => s.trim()) ?? [];
|
|
@@ -66,7 +66,7 @@ function printHelp() {
|
|
|
66
66
|
console.log(' review <path> Review code quality');
|
|
67
67
|
console.log('');
|
|
68
68
|
console.log(bold('Options:'));
|
|
69
|
-
console.log(' -p, --project-
|
|
69
|
+
console.log(' -p, --project-description Project description (e.g., web app, API service)');
|
|
70
70
|
console.log(' -t, --tech-stack Comma-separated tech stack (e.g., typescript,node,express)');
|
|
71
71
|
console.log(' -o, --output Output directory for generated files');
|
|
72
72
|
console.log(' --plan Plan file path for code generation');
|
|
@@ -79,7 +79,7 @@ function printHelp() {
|
|
|
79
79
|
console.log(bold('Examples:'));
|
|
80
80
|
console.log(' omaikit init');
|
|
81
81
|
console.log(' omaikit plan "Build a REST API"');
|
|
82
|
-
console.log(' omaikit plan "Web app" --project-
|
|
82
|
+
console.log(' omaikit plan "Web app" --project-description "web app" --tech-stack react,typescript');
|
|
83
83
|
console.log(' omaikit plan "CLI tool" --output ./my-plan.json');
|
|
84
84
|
console.log(' omaikit code P-0.json');
|
|
85
85
|
}
|
|
@@ -110,7 +110,7 @@ async function main() {
|
|
|
110
110
|
process.exit(1);
|
|
111
111
|
}
|
|
112
112
|
await planCommand(args.description, {
|
|
113
|
-
|
|
113
|
+
projectDescription: args.projectDescription,
|
|
114
114
|
techStack: args.techStack,
|
|
115
115
|
output: args.output,
|
|
116
116
|
});
|
package/dist/bin/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/bin/index.ts"],"names":[],"mappings":";AACA;;GAEG;AAEH,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,WAAW,MAAM,kBAAkB,CAAC;AAC3C,OAAO,WAAW,MAAM,kBAAkB,CAAC;AAC3C,OAAO,WAAW,MAAM,kBAAkB,CAAC;AAE3C,MAAM,OAAO,GAAG,OAAO,CAAC;AAgBxB,SAAS,SAAS,CAAC,IAAc;IAC/B,MAAM,MAAM,GAAY,EAAE,CAAC;IAE3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAEpB,IAAI,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YACrC,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;QACrB,CAAC;aAAM,IAAI,GAAG,KAAK,WAAW,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YAC/C,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;QACxB,CAAC;aAAM,IAAI,GAAG,KAAK,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/bin/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"code.d.ts","sourceRoot":"","sources":["../../src/commands/code.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"code.d.ts","sourceRoot":"","sources":["../../src/commands/code.ts"],"names":[],"mappings":"AA6BA,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,wBAAsB,WAAW,CAAC,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAmH7E;AAED,eAAe,WAAW,CAAC"}
|
package/dist/commands/code.js
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { CoderAgent, Logger } from '@omaikit/agents';
|
|
2
|
-
import { PlanWriter, ContextWriter } from '@omaikit/
|
|
2
|
+
import { PlanWriter, ContextWriter } from '@omaikit/agents';
|
|
3
3
|
import * as fs from 'fs';
|
|
4
4
|
import * as path from 'path';
|
|
5
5
|
import { bold, cyan, green, yellow } from '../utils/colors.js';
|
|
6
6
|
import { ProgressBar } from '../utils/progress.js';
|
|
7
7
|
import { formatError, printError } from '../utils/error-formatter.js';
|
|
8
|
+
import { getTasks } from '@omaikit/agents';
|
|
8
9
|
function getLatestPlanFile() {
|
|
9
10
|
const planDir = path.join('.omaikit', 'plans');
|
|
10
11
|
if (!fs.existsSync(planDir)) {
|
|
@@ -12,7 +13,7 @@ function getLatestPlanFile() {
|
|
|
12
13
|
}
|
|
13
14
|
const indices = fs
|
|
14
15
|
.readdirSync(planDir)
|
|
15
|
-
.map((file) => /^P
|
|
16
|
+
.map((file) => /^P(\d+)\.json$/i.exec(file))
|
|
16
17
|
.filter((match) => match !== null)
|
|
17
18
|
.map((match) => Number.parseInt(match[1], 10))
|
|
18
19
|
.filter((value) => !Number.isNaN(value));
|
|
@@ -20,14 +21,15 @@ function getLatestPlanFile() {
|
|
|
20
21
|
return undefined;
|
|
21
22
|
}
|
|
22
23
|
const latest = Math.max(...indices);
|
|
23
|
-
|
|
24
|
+
const planId = `P${String(latest).padStart(3, '0')}`;
|
|
25
|
+
return path.join('plans', `${planId}.json`);
|
|
24
26
|
}
|
|
25
27
|
export async function codeCommand(options) {
|
|
26
28
|
const logger = new Logger();
|
|
27
29
|
const coder = new CoderAgent(logger);
|
|
28
30
|
const planWriter = new PlanWriter();
|
|
29
31
|
const contextWriter = new ContextWriter();
|
|
30
|
-
const progress = new ProgressBar(
|
|
32
|
+
const progress = new ProgressBar(100);
|
|
31
33
|
try {
|
|
32
34
|
console.log(cyan('🧩 Generating code from plan...'));
|
|
33
35
|
console.log('');
|
|
@@ -47,7 +49,7 @@ export async function codeCommand(options) {
|
|
|
47
49
|
printError(err);
|
|
48
50
|
process.exit(1);
|
|
49
51
|
}
|
|
50
|
-
const tasks =
|
|
52
|
+
const tasks = getTasks(plan, options?.taskId);
|
|
51
53
|
if (tasks.length === 0) {
|
|
52
54
|
const err = formatError('CODE_COMMAND_ERROR', 'No matching tasks found in plan.');
|
|
53
55
|
printError(err);
|
|
@@ -56,9 +58,9 @@ export async function codeCommand(options) {
|
|
|
56
58
|
await coder.init();
|
|
57
59
|
const projectRoot = context.project?.rootPath || process.cwd();
|
|
58
60
|
const writtenPaths = [];
|
|
61
|
+
let previousResponseId = undefined;
|
|
59
62
|
let generatedLOC = 0;
|
|
60
63
|
let filesCreated = 0;
|
|
61
|
-
const newDependencies = new Set();
|
|
62
64
|
for (let i = 0; i < tasks.length; i++) {
|
|
63
65
|
const task = tasks[i];
|
|
64
66
|
const percent = Math.round(((i + 1) / tasks.length) * 100);
|
|
@@ -69,8 +71,10 @@ export async function codeCommand(options) {
|
|
|
69
71
|
plan,
|
|
70
72
|
projectContext: context,
|
|
71
73
|
force: options?.force,
|
|
74
|
+
previousResponseId
|
|
72
75
|
};
|
|
73
76
|
const result = await coder.execute(input);
|
|
77
|
+
previousResponseId = result.metadata.previousResponseId;
|
|
74
78
|
if (result.status === 'failed' || result.error) {
|
|
75
79
|
const err = formatError(result.error?.code || 'CODER_ERROR', result.error?.message || 'Code generation failed');
|
|
76
80
|
printError(err);
|
|
@@ -80,7 +84,6 @@ export async function codeCommand(options) {
|
|
|
80
84
|
files.forEach((file) => {
|
|
81
85
|
filesCreated += 1;
|
|
82
86
|
generatedLOC += file.content.split('\n').length;
|
|
83
|
-
(file.dependencies || []).forEach((dep) => newDependencies.add(dep));
|
|
84
87
|
});
|
|
85
88
|
files.forEach((file) => {
|
|
86
89
|
writtenPaths.push(path.join(projectRoot, file.path));
|
|
@@ -102,7 +105,6 @@ export async function codeCommand(options) {
|
|
|
102
105
|
console.log(bold('═'.repeat(40)));
|
|
103
106
|
console.log(`Files Created: ${filesCreated}`);
|
|
104
107
|
console.log(`Total LOC: ${generatedLOC}`);
|
|
105
|
-
console.log(`Dependencies: ${Array.from(newDependencies).length}`);
|
|
106
108
|
console.log('');
|
|
107
109
|
console.log(green('✨ Next steps:'));
|
|
108
110
|
console.log(' 1. Review the generated files in your project root');
|
|
@@ -116,13 +118,5 @@ export async function codeCommand(options) {
|
|
|
116
118
|
process.exit(1);
|
|
117
119
|
}
|
|
118
120
|
}
|
|
119
|
-
function selectTasks(plan, taskId) {
|
|
120
|
-
const tasks = plan.milestones.flatMap((milestone) => milestone.tasks || []);
|
|
121
|
-
if (taskId) {
|
|
122
|
-
const match = tasks.find((t) => t.id === taskId || t.title === taskId);
|
|
123
|
-
return match ? [match] : [];
|
|
124
|
-
}
|
|
125
|
-
return tasks;
|
|
126
|
-
}
|
|
127
121
|
export default codeCommand;
|
|
128
122
|
//# sourceMappingURL=code.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"code.js","sourceRoot":"","sources":["../../src/commands/code.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"code.js","sourceRoot":"","sources":["../../src/commands/code.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/plan.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plan.d.ts","sourceRoot":"","sources":["../../src/commands/plan.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"plan.d.ts","sourceRoot":"","sources":["../../src/commands/plan.ts"],"names":[],"mappings":"AA2CA,wBAAsB,WAAW,CAC/B,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE;IACR,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,GACA,OAAO,CAAC,IAAI,CAAC,CAkJf;AAGD,eAAe,WAAW,CAAC"}
|
package/dist/commands/plan.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { Planner } from '@omaikit/agents';
|
|
1
|
+
import { getTasks, Planner } from '@omaikit/agents';
|
|
2
2
|
import { Logger } from '@omaikit/agents';
|
|
3
|
-
import { PlanWriter, ContextWriter } from '@omaikit/
|
|
3
|
+
import { PlanWriter, ContextWriter } from '@omaikit/agents';
|
|
4
4
|
import * as fs from 'fs';
|
|
5
5
|
import * as path from 'path';
|
|
6
6
|
import { cyan, bold, green, yellow } from '../utils/colors.js';
|
|
@@ -8,12 +8,23 @@ import { ProgressBar } from '../utils/progress.js';
|
|
|
8
8
|
import { formatError, printError } from '../utils/error-formatter.js';
|
|
9
9
|
const PLAN_DIR = path.join('.omaikit', 'plans');
|
|
10
10
|
function parsePlanIndex(filename) {
|
|
11
|
-
const match = /^P
|
|
11
|
+
const match = /^P(\d+)(?:\.json)?$/i.exec(filename);
|
|
12
12
|
if (!match) {
|
|
13
13
|
return null;
|
|
14
14
|
}
|
|
15
15
|
return Number.parseInt(match[1], 10);
|
|
16
16
|
}
|
|
17
|
+
function formatPlanId(index) {
|
|
18
|
+
return `P${String(index).padStart(3, '0')}`;
|
|
19
|
+
}
|
|
20
|
+
function getLatestPlanFilename(planDir) {
|
|
21
|
+
const existing = getExistingPlanIndices(planDir);
|
|
22
|
+
if (!existing.length) {
|
|
23
|
+
return undefined;
|
|
24
|
+
}
|
|
25
|
+
const latest = Math.max(...existing);
|
|
26
|
+
return `${formatPlanId(latest)}.json`;
|
|
27
|
+
}
|
|
17
28
|
function getExistingPlanIndices(planDir) {
|
|
18
29
|
if (!fs.existsSync(planDir)) {
|
|
19
30
|
return [];
|
|
@@ -23,26 +34,12 @@ function getExistingPlanIndices(planDir) {
|
|
|
23
34
|
.map((file) => parsePlanIndex(file))
|
|
24
35
|
.filter((value) => value !== null);
|
|
25
36
|
}
|
|
26
|
-
function resolvePlanIndex(planDir, options) {
|
|
27
|
-
const existing = getExistingPlanIndices(planDir);
|
|
28
|
-
const maxExisting = existing.length ? Math.max(...existing) : -1;
|
|
29
|
-
if (options?.mode === 'update') {
|
|
30
|
-
if (options?.planId) {
|
|
31
|
-
const parsed = parsePlanIndex(options.planId) ?? Number.parseInt(options.planId, 10);
|
|
32
|
-
if (!Number.isNaN(parsed)) {
|
|
33
|
-
return parsed;
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
return maxExisting >= 0 ? maxExisting : 0;
|
|
37
|
-
}
|
|
38
|
-
return maxExisting + 1;
|
|
39
|
-
}
|
|
40
37
|
export async function planCommand(description, options) {
|
|
41
38
|
const logger = new Logger();
|
|
42
39
|
const planner = new Planner(logger);
|
|
43
40
|
const writer = new PlanWriter();
|
|
44
41
|
const contextWriter = new ContextWriter();
|
|
45
|
-
const progress = new ProgressBar(
|
|
42
|
+
const progress = new ProgressBar(100);
|
|
46
43
|
try {
|
|
47
44
|
console.log(cyan('🎯 Generating project plan...'));
|
|
48
45
|
console.log('');
|
|
@@ -55,28 +52,31 @@ export async function planCommand(description, options) {
|
|
|
55
52
|
}
|
|
56
53
|
process.exit(1);
|
|
57
54
|
}
|
|
55
|
+
// Get projectDescription & techStack from context if not provided
|
|
56
|
+
const projectDescription = options?.projectDescription || context.project.description || '';
|
|
57
|
+
const techStack = options?.techStack || context.analysis.languages || [];
|
|
58
58
|
const input = {
|
|
59
59
|
description,
|
|
60
|
-
|
|
61
|
-
techStack
|
|
60
|
+
projectDescription,
|
|
61
|
+
techStack,
|
|
62
62
|
};
|
|
63
63
|
// Setup progress tracking
|
|
64
64
|
planner.onProgress((event) => {
|
|
65
|
-
if (event.status === '
|
|
66
|
-
progress.update(
|
|
67
|
-
console.log(yellow(
|
|
65
|
+
if (event.status === 'summarizing') {
|
|
66
|
+
progress.update(event.percent);
|
|
67
|
+
console.log(yellow(` ⏳ ${event.message || 'Parsing response...'}`));
|
|
68
68
|
}
|
|
69
|
-
else if (event.status === '
|
|
70
|
-
progress.update(
|
|
71
|
-
console.log(yellow(
|
|
69
|
+
else if (event.status === 'optimizing') {
|
|
70
|
+
progress.update(event.percent);
|
|
71
|
+
console.log(yellow(` ✓ ${event.message || 'Optimizing plan...'}`));
|
|
72
72
|
}
|
|
73
73
|
else if (event.status === 'complete') {
|
|
74
|
-
progress.update(
|
|
75
|
-
console.log(green(
|
|
74
|
+
progress.update(event.percent);
|
|
75
|
+
console.log(green(` ✓ ${event.message || 'Plan generation complete'}`));
|
|
76
76
|
}
|
|
77
77
|
else if (event.status === 'generating') {
|
|
78
|
-
|
|
79
|
-
|
|
78
|
+
progress.update(event.percent);
|
|
79
|
+
console.log(cyan(` ⏳ ${event.message || 'Generating plan...'}`));
|
|
80
80
|
}
|
|
81
81
|
});
|
|
82
82
|
// Execute planner
|
|
@@ -106,46 +106,33 @@ export async function planCommand(description, options) {
|
|
|
106
106
|
if (!fs.existsSync(PLAN_DIR)) {
|
|
107
107
|
fs.mkdirSync(PLAN_DIR, { recursive: true });
|
|
108
108
|
}
|
|
109
|
-
const
|
|
110
|
-
const
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
console.log(
|
|
114
|
-
|
|
115
|
-
if (options?.output && path.isAbsolute(options.output)) {
|
|
116
|
-
const dirPath = path.dirname(options.output);
|
|
117
|
-
if (!fs.existsSync(dirPath)) {
|
|
118
|
-
fs.mkdirSync(dirPath, { recursive: true });
|
|
119
|
-
}
|
|
120
|
-
fs.writeFileSync(options.output, JSON.stringify({ ...planOutput, id: planId }, null, 2), 'utf-8');
|
|
121
|
-
filepath = options.output;
|
|
122
|
-
}
|
|
123
|
-
else {
|
|
124
|
-
const target = options?.output || archiveFilename;
|
|
125
|
-
filepath = await writer.writePlan({ ...planOutput, id: planId }, target);
|
|
126
|
-
}
|
|
127
|
-
console.log(green(`✓ Plan saved to ${filepath}`));
|
|
109
|
+
const latestPlanFilename = getLatestPlanFilename(PLAN_DIR);
|
|
110
|
+
const latestArchiveFilename = latestPlanFilename
|
|
111
|
+
? `plans/${latestPlanFilename}`
|
|
112
|
+
: `plans/${formatPlanId(1)}.json`;
|
|
113
|
+
console.log(green(`✓ Plan saved to ${latestArchiveFilename}`));
|
|
114
|
+
const planForSummary = (await writer.readPlan(latestArchiveFilename)) || plan;
|
|
128
115
|
// Display summary
|
|
129
116
|
console.log('');
|
|
130
117
|
console.log(bold('📋 Plan Summary'));
|
|
131
118
|
console.log(bold('═'.repeat(40)));
|
|
132
|
-
console.log(`Title: ${cyan(
|
|
133
|
-
console.log(`Milestones: ${
|
|
134
|
-
const
|
|
119
|
+
console.log(`Title: ${cyan(planForSummary.title)}`);
|
|
120
|
+
console.log(`Milestones: ${planForSummary.milestones.length}`);
|
|
121
|
+
const tasks = getTasks(planForSummary);
|
|
122
|
+
const totalTasks = tasks.length;
|
|
135
123
|
console.log(`Total Tasks: ${totalTasks}`);
|
|
136
|
-
const totalEffort =
|
|
124
|
+
const totalEffort = tasks.reduce((sum, m) => sum + (m.estimatedEffort ?? m.effort ?? 0), 0);
|
|
137
125
|
console.log(`Total Effort: ${totalEffort} hours (~${Math.ceil(totalEffort / 8)} days)`);
|
|
138
|
-
console.log('');
|
|
139
126
|
console.log(bold('Milestones:'));
|
|
140
|
-
for (const milestone of
|
|
141
|
-
const milestoneEffort = milestone.tasks.reduce((sum, t) => sum + (t.estimatedEffort ?? t.effort ?? 0), 0);
|
|
127
|
+
for (const milestone of planForSummary.milestones) {
|
|
128
|
+
const milestoneEffort = (milestone.tasks || []).reduce((sum, t) => sum + (t.estimatedEffort ?? t.effort ?? 0), 0);
|
|
142
129
|
console.log(` ${cyan('→')} ${milestone.title} (${milestone.duration}d, ${milestoneEffort}h)`);
|
|
143
|
-
for (const task of milestone.tasks.slice(0, 3)) {
|
|
130
|
+
for (const task of (milestone.tasks || []).slice(0, 3)) {
|
|
144
131
|
const effort = task.estimatedEffort ?? task.effort ?? 0;
|
|
145
132
|
console.log(` ${yellow('•')} ${task.title} (${effort}h)`);
|
|
146
133
|
}
|
|
147
|
-
if (milestone.tasks.length > 3) {
|
|
148
|
-
console.log(` ${yellow('•')} ... and ${milestone.tasks.length - 3} more`);
|
|
134
|
+
if ((milestone.tasks || []).length > 3) {
|
|
135
|
+
console.log(` ${yellow('•')} ... and ${(milestone.tasks || []).length - 3} more`);
|
|
149
136
|
}
|
|
150
137
|
}
|
|
151
138
|
console.log('');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plan.js","sourceRoot":"","sources":["../../src/commands/plan.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"plan.js","sourceRoot":"","sources":["../../src/commands/plan.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAEnE,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;AAEhD,SAAS,cAAc,CAAC,QAAgB;IACtC,MAAM,KAAK,GAAG,sBAAsB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACpD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACvC,CAAC;AAED,SAAS,YAAY,CAAC,KAAa;IACjC,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;AAC9C,CAAC;AAED,SAAS,qBAAqB,CAAC,OAAe;IAC5C,MAAM,QAAQ,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAC;IACjD,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;QACrB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC;IACrC,OAAO,GAAG,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC;AACxC,CAAC;AAED,SAAS,sBAAsB,CAAC,OAAe;IAC7C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5B,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,OAAO,EAAE;SACN,WAAW,CAAC,OAAO,CAAC;SACpB,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;SACnC,MAAM,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC;AACxD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,WAAmB,EACnB,OAMC;IAED,MAAM,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;IAC5B,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IACpC,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;IAChC,MAAM,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC;IAC1C,MAAM,QAAQ,GAAG,IAAI,WAAW,CAAC,GAAG,CAAC,CAAC;IAEtC,IAAI,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC,CAAC;QACnD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAEhB,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,WAAW,EAAE,CAAC;QAClD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,GAAG,GAAG,WAAW,CACrB,iBAAiB,EACjB,sDAAsD,CACvD,CAAC;YACF,UAAU,CAAC,GAAG,CAAC,CAAC;YAChB,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBACrC,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;YAC/C,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,kEAAkE;QAClE,MAAM,kBAAkB,GAAG,OAAO,EAAE,kBAAkB,IAAI,OAAO,CAAC,OAAO,CAAC,WAAW,IAAI,EAAE,CAAC;QAC5F,MAAM,SAAS,GAAG,OAAO,EAAE,SAAS,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,IAAI,EAAE,CAAC;QACzE,MAAM,KAAK,GAAc;YACvB,WAAW;YACX,kBAAkB;YAClB,SAAS;SACV,CAAC;QAEF,0BAA0B;QAC1B,OAAO,CAAC,UAAU,CAAC,CAAC,KAA4D,EAAE,EAAE;YAClF,IAAI,KAAK,CAAC,MAAM,KAAK,aAAa,EAAE,CAAC;gBACnC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBAC/B,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,KAAK,CAAC,OAAO,IAAI,qBAAqB,EAAE,CAAC,CAAC,CAAC;YACvE,CAAC;iBAAM,IAAI,KAAK,CAAC,MAAM,KAAK,YAAY,EAAE,CAAC;gBACzC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBAC/B,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,KAAK,CAAC,OAAO,IAAI,oBAAoB,EAAE,CAAC,CAAC,CAAC;YACtE,CAAC;iBAAM,IAAI,KAAK,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;gBACvC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBAC/B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,KAAK,CAAC,OAAO,IAAI,0BAA0B,EAAE,CAAC,CAAC,CAAC;YAC3E,CAAC;iBAAM,IAAI,KAAK,CAAC,MAAM,KAAK,YAAY,EAAE,CAAC;gBACzC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBAC/B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,KAAK,CAAC,OAAO,IAAI,oBAAoB,EAAE,CAAC,CAAC,CAAC;YACpE,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,kBAAkB;QAClB,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAE5C,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,MAAM,GAAG,GAAG,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACjE,UAAU,CAAC,GAAG,CAAC,CAAC;YAChB,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBACrC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACxC,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,IAAI,GACR,MAAM,CAAC,IAAI,EAAE,IAAI;YACjB,CAAC,MAAM,CAAC,IAAI,IAAK,MAAM,CAAC,IAAY,CAAC,KAAK,CAAC,CAAC,CAAE,MAAM,CAAC,IAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAEjF,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,GAAG,GAAG,WAAW,CAAC,gBAAgB,EAAE,yBAAyB,CAAC,CAAC;YACrE,UAAU,CAAC,GAAG,CAAC,CAAC;YAChB,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBACrC,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;YAC7C,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,UAAU,GAAG,EAAE,GAAG,IAAI,EAAS,CAAC;QACtC,IAAI,gBAAgB,IAAI,UAAU,EAAE,CAAC;YACnC,OAAO,UAAU,CAAC,cAAc,CAAC;QACnC,CAAC;QAED,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7B,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9C,CAAC;QAED,MAAM,kBAAkB,GAAG,qBAAqB,CAAC,QAAQ,CAAC,CAAC;QAC3D,MAAM,qBAAqB,GAAG,kBAAkB;YAC9C,CAAC,CAAC,SAAS,kBAAkB,EAAE;YAC/B,CAAC,CAAC,SAAS,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC;QAEpC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,mBAAmB,qBAAqB,EAAE,CAAC,CAAC,CAAC;QAC/D,MAAM,cAAc,GAAG,CAAC,MAAM,MAAM,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,IAAI,IAAI,CAAC;QAE9E,kBAAkB;QAClB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC;QACrC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAClC,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACpD,OAAO,CAAC,GAAG,CAAC,eAAe,cAAc,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;QAE/D,MAAM,KAAK,GAAG,QAAQ,CAAC,cAAc,CAAC,CAAC;QACvC,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC;QAChC,OAAO,CAAC,GAAG,CAAC,gBAAgB,UAAU,EAAE,CAAC,CAAC;QAE1C,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAC9B,CAAC,GAAW,EAAE,CAAM,EAAE,EAAE,CACtB,GAAG,GAAG,CAAC,CAAC,CAAC,eAAe,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,EAC5C,CAAC,CACF,CAAC;QAEF,OAAO,CAAC,GAAG,CAAC,iBAAiB,WAAW,YAAY,IAAI,CAAC,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;QACxF,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;QAEjC,KAAK,MAAM,SAAS,IAAI,cAAc,CAAC,UAAU,EAAE,CAAC;YAClD,MAAM,eAAe,GAAG,CAAC,SAAS,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,CACpD,CAAC,GAAW,EAAE,CAAM,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,eAAe,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,EACnE,CAAC,CACF,CAAC;YACF,OAAO,CAAC,GAAG,CACT,KAAK,IAAI,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC,KAAK,KAAK,SAAS,CAAC,QAAQ,MAAM,eAAe,IAAI,CAClF,CAAC;YAEF,KAAK,MAAM,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;gBACvD,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC;gBACxD,OAAO,CAAC,GAAG,CAAC,OAAO,MAAM,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,KAAK,MAAM,IAAI,CAAC,CAAC;YAC/D,CAAC;YAED,IAAI,CAAC,SAAS,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvC,OAAO,CAAC,GAAG,CAAC,OAAO,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,SAAS,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,OAAO,CAAC,CAAC;YACvF,CAAC;QACH,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;QACpC,OAAO,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;QAC1D,OAAO,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;QAClE,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;IAC9D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,GAAG,GAAG,KAAc,CAAC;QAC3B,MAAM,MAAM,GAAG,WAAW,CAAC,eAAe,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;QACzD,UAAU,CAAC,MAAM,CAAC,CAAC;QACnB,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC1B,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YACrC,MAAM,GAAG,CAAC;QACZ,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,6BAA6B;AAC7B,eAAe,WAAW,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test.d.ts","sourceRoot":"","sources":["../../src/commands/test.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"test.d.ts","sourceRoot":"","sources":["../../src/commands/test.ts"],"names":[],"mappings":"AA8BA,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,wBAAsB,WAAW,CAAC,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAyI7E;AAWD,eAAe,WAAW,CAAC"}
|
package/dist/commands/test.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { TesterAgent, Logger } from '@omaikit/agents';
|
|
2
|
-
import { PlanWriter, TestWriter, ContextWriter } from '@omaikit/
|
|
2
|
+
import { PlanWriter, TestWriter, ContextWriter } from '@omaikit/agents';
|
|
3
3
|
import * as fs from 'fs';
|
|
4
4
|
import * as path from 'path';
|
|
5
5
|
import { bold, cyan, green, yellow } from '../utils/colors.js';
|
|
@@ -12,7 +12,7 @@ function getLatestPlanFile() {
|
|
|
12
12
|
}
|
|
13
13
|
const indices = fs
|
|
14
14
|
.readdirSync(planDir)
|
|
15
|
-
.map((file) => /^P
|
|
15
|
+
.map((file) => /^P(\d+)\.json$/i.exec(file))
|
|
16
16
|
.filter((match) => match !== null)
|
|
17
17
|
.map((match) => Number.parseInt(match[1], 10))
|
|
18
18
|
.filter((value) => !Number.isNaN(value));
|
|
@@ -20,7 +20,8 @@ function getLatestPlanFile() {
|
|
|
20
20
|
return undefined;
|
|
21
21
|
}
|
|
22
22
|
const latest = Math.max(...indices);
|
|
23
|
-
|
|
23
|
+
const planId = `P${String(latest).padStart(3, '0')}`;
|
|
24
|
+
return path.join('plans', `${planId}.json`);
|
|
24
25
|
}
|
|
25
26
|
export async function testCommand(options) {
|
|
26
27
|
const logger = new Logger();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test.js","sourceRoot":"","sources":["../../src/commands/test.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"test.js","sourceRoot":"","sources":["../../src/commands/test.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/progress.js
CHANGED
|
@@ -17,7 +17,7 @@ export class ProgressBar {
|
|
|
17
17
|
const filled = Math.round((this.current / this.total) * this.width);
|
|
18
18
|
const bar = '█'.repeat(filled) + '░'.repeat(this.width - filled);
|
|
19
19
|
const pct = percentage.toFixed(1);
|
|
20
|
-
process.stdout.write(`\r[${bar}] ${pct}%`);
|
|
20
|
+
process.stdout.write(`\r\x1b[K[${bar}] ${pct}%`);
|
|
21
21
|
}
|
|
22
22
|
complete() {
|
|
23
23
|
this.update(this.total);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"progress.js","sourceRoot":"","sources":["../../src/utils/progress.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,WAAW;IACd,OAAO,GAAG,CAAC,CAAC;IACZ,KAAK,CAAS;IACd,KAAK,GAAG,EAAE,CAAC;IAEnB,YAAY,KAAa;QACvB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,MAAM,CAAC,OAAe;QACpB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAC7C,IAAI,CAAC,MAAM,EAAE,CAAC;IAChB,CAAC;IAED,SAAS;QACP,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;IAChC,CAAC;IAEO,MAAM;QACZ,MAAM,UAAU,GAAG,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC;QACrD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QACpE,MAAM,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,CAAC;QACjE,MAAM,GAAG,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAClC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"progress.js","sourceRoot":"","sources":["../../src/utils/progress.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,WAAW;IACd,OAAO,GAAG,CAAC,CAAC;IACZ,KAAK,CAAS;IACd,KAAK,GAAG,EAAE,CAAC;IAEnB,YAAY,KAAa;QACvB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,MAAM,CAAC,OAAe;QACpB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAC7C,IAAI,CAAC,MAAM,EAAE,CAAC;IAChB,CAAC;IAED,SAAS;QACP,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;IAChC,CAAC;IAEO,MAAM;QACZ,MAAM,UAAU,GAAG,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC;QACrD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QACpE,MAAM,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,CAAC;QACjE,MAAM,GAAG,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAClC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,GAAG,KAAK,GAAG,GAAG,CAAC,CAAC;IACnD,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACxB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;CACF;AAED,MAAM,UAAU,OAAO,CAAC,OAAe;IACrC,MAAM,MAAM,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IAClE,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,OAAO,WAAW,CAAC,GAAG,EAAE;QACtB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC,CAAC;QAClE,CAAC,IAAI,CAAC,CAAC;IACT,CAAC,EAAE,EAAE,CAAC,CAAC;AACT,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,EAAkB;IAC7C,aAAa,CAAC,EAAE,CAAC,CAAC;IAClB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;AACnC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"type": "module",
|
|
3
3
|
"name": "@omaikit/cli",
|
|
4
|
-
"version": "0.1.
|
|
4
|
+
"version": "0.1.3",
|
|
5
5
|
"description": "CLI interface for Omaikit - multi-agent development toolkit",
|
|
6
6
|
"main": "dist/index.js",
|
|
7
7
|
"types": "dist/index.d.ts",
|
|
@@ -29,7 +29,6 @@
|
|
|
29
29
|
"dependencies": {
|
|
30
30
|
"@omaikit/models": "*",
|
|
31
31
|
"@omaikit/config": "*",
|
|
32
|
-
"@omaikit/analysis": "*",
|
|
33
32
|
"@omaikit/agents": "*"
|
|
34
33
|
},
|
|
35
34
|
"devDependencies": {
|