academic-army 0.3.13 → 0.4.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/agent-forge.yaml +10 -0
- package/dist/developing-skill/agents/trajectory-optimizer.d.ts +1 -1
- package/dist/developing-skill/agents/trajectory-optimizer.d.ts.map +1 -1
- package/dist/developing-skill/agents/trajectory-optimizer.js +1 -3
- package/dist/developing-skill/agents/trajectory-optimizer.js.map +1 -1
- package/dist/developing-skill/pipeline.d.ts +2 -2
- package/dist/developing-skill/pipeline.d.ts.map +1 -1
- package/dist/developing-skill/pipeline.js +4 -2
- package/dist/developing-skill/pipeline.js.map +1 -1
- package/dist/evolve-skill/agents/evaluator.d.ts +1 -1
- package/dist/evolve-skill/agents/evaluator.d.ts.map +1 -1
- package/dist/evolve-skill/agents/evaluator.js +1 -3
- package/dist/evolve-skill/agents/evaluator.js.map +1 -1
- package/dist/evolve-skill/agents/modifier.d.ts +1 -1
- package/dist/evolve-skill/agents/modifier.d.ts.map +1 -1
- package/dist/evolve-skill/agents/modifier.js +1 -3
- package/dist/evolve-skill/agents/modifier.js.map +1 -1
- package/dist/evolve-skill/pipeline.d.ts +2 -2
- package/dist/evolve-skill/pipeline.d.ts.map +1 -1
- package/dist/evolve-skill/pipeline.js +5 -3
- package/dist/evolve-skill/pipeline.js.map +1 -1
- package/dist/metaskill.d.ts +2 -0
- package/dist/metaskill.d.ts.map +1 -0
- package/dist/metaskill.js +13 -0
- package/dist/metaskill.js.map +1 -0
- package/package.json +2 -2
package/agent-forge.yaml
CHANGED
|
@@ -110,6 +110,12 @@ threads:
|
|
|
110
110
|
- Edit(./**)
|
|
111
111
|
- Write(./**)
|
|
112
112
|
- NotebookEdit(./**)
|
|
113
|
+
memory-cleaner:
|
|
114
|
+
runtime: deepseek-v4-pro
|
|
115
|
+
options:
|
|
116
|
+
cwd: *memoryWorkingDir
|
|
117
|
+
permissionMode: dontAsk
|
|
118
|
+
allowedTools: *cwdReadWriteBashAllowedTools
|
|
113
119
|
|
|
114
120
|
agents:
|
|
115
121
|
skill-runner:
|
|
@@ -140,3 +146,7 @@ agents:
|
|
|
140
146
|
memory-modifier: *memoryAgentConfig
|
|
141
147
|
memory-create-planner: *memoryAgentConfig
|
|
142
148
|
memory-creator: *memoryAgentConfig
|
|
149
|
+
memory-cleaner:
|
|
150
|
+
thread: memory-cleaner
|
|
151
|
+
constants:
|
|
152
|
+
workingDir: *memoryWorkingDir
|
|
@@ -4,7 +4,7 @@ export type TrajectoryOptimizerVariables = DevelopingAgentVariables & {
|
|
|
4
4
|
codingStyleSkillPath: string;
|
|
5
5
|
taskBrief: string;
|
|
6
6
|
taskRoundSummary: string;
|
|
7
|
-
|
|
7
|
+
metaskill: string;
|
|
8
8
|
};
|
|
9
9
|
export declare class TrajectoryOptimizerAgent extends Agent<TrajectoryOptimizerVariables> {
|
|
10
10
|
protected buildPrompt(variables: Readonly<TrajectoryOptimizerVariables>): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trajectory-optimizer.d.ts","sourceRoot":"","sources":["../../../src/developing-skill/agents/trajectory-optimizer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AACjD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"trajectory-optimizer.d.ts","sourceRoot":"","sources":["../../../src/developing-skill/agents/trajectory-optimizer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AACjD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAE9E,MAAM,MAAM,4BAA4B,GAAG,wBAAwB,GAAG;IACpE,oBAAoB,EAAE,MAAM,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,qBAAa,wBAAyB,SAAQ,KAAK,CAAC,4BAA4B,CAAC;IAC/E,SAAS,CAAC,WAAW,CAAC,SAAS,EAAE,QAAQ,CAAC,4BAA4B,CAAC,GAAG,MAAM;CA0BjF"}
|
|
@@ -1,14 +1,12 @@
|
|
|
1
1
|
import { Agent } from "coding-agent-forge/agent";
|
|
2
|
-
import { readFileSync } from "node:fs";
|
|
3
2
|
export class TrajectoryOptimizerAgent extends Agent {
|
|
4
3
|
buildPrompt(variables) {
|
|
5
|
-
const metaskill = readFileSync(variables.metaskillPath, "utf8");
|
|
6
4
|
return `
|
|
7
5
|
Revise the skill at ${variables.codingStyleSkillPath} so it produces better development trajectories.
|
|
8
6
|
|
|
9
7
|
The metaskill below contains the design goals and tips of this skill:
|
|
10
8
|
|
|
11
|
-
${metaskill}
|
|
9
|
+
${variables.metaskill}
|
|
12
10
|
|
|
13
11
|
The sections below describe the task this skill just executed and what happened during that round.
|
|
14
12
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trajectory-optimizer.js","sourceRoot":"","sources":["../../../src/developing-skill/agents/trajectory-optimizer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"trajectory-optimizer.js","sourceRoot":"","sources":["../../../src/developing-skill/agents/trajectory-optimizer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAUjD,MAAM,OAAO,wBAAyB,SAAQ,KAAmC;IACrE,WAAW,CAAC,SAAiD;QACrE,OAAO;sBACW,SAAS,CAAC,oBAAoB;;;;EAIlD,SAAS,CAAC,SAAS;;;;uBAIE,SAAS,CAAC,UAAU;;;EAGzC,SAAS,CAAC,IAAI;;;EAGd,SAAS,CAAC,SAAS;;;EAGnB,SAAS,CAAC,gBAAgB;;;;;CAK3B,CAAC;IACA,CAAC;CACF"}
|
|
@@ -51,7 +51,7 @@ export declare const developingSkillArgsOptions: {
|
|
|
51
51
|
};
|
|
52
52
|
readonly "metaskill-path": {
|
|
53
53
|
readonly type: "string";
|
|
54
|
-
readonly description: "Metaskill design document used by the trajectory optimizer";
|
|
54
|
+
readonly description: "Metaskill design document path or HTTP(S) URL used by the trajectory optimizer";
|
|
55
55
|
};
|
|
56
56
|
};
|
|
57
57
|
export type DevelopingSkillOptions = PipelineOptions<typeof developingSkillArgsOptions>;
|
|
@@ -103,7 +103,7 @@ export declare const developingSkillPipeline: import("coding-agent-forge").Pipel
|
|
|
103
103
|
};
|
|
104
104
|
readonly "metaskill-path": {
|
|
105
105
|
readonly type: "string";
|
|
106
|
-
readonly description: "Metaskill design document used by the trajectory optimizer";
|
|
106
|
+
readonly description: "Metaskill design document path or HTTP(S) URL used by the trajectory optimizer";
|
|
107
107
|
};
|
|
108
108
|
}, DevelopingSkillAgentVariables>;
|
|
109
109
|
//# sourceMappingURL=pipeline.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../../src/developing-skill/pipeline.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EAGT,KAAK,eAAe,EAErB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAGL,KAAK,kCAAkC,EAExC,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../../src/developing-skill/pipeline.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EAGT,KAAK,eAAe,EAErB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAGL,KAAK,kCAAkC,EAExC,MAAM,wBAAwB,CAAC;AAGhC,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,mBAAmB,CAAC;AAEtE,MAAM,MAAM,6BAA6B,GAAG,kCAAkC,GAAG;IAC/E,sBAAsB,EAAE,4BAA4B,CAAC;CACtD,CAAC;AAEF,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAUC,CAAC;AAEzC,MAAM,MAAM,sBAAsB,GAAG,eAAe,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAExF,wBAAsB,eAAe,CACnC,IAAI,EAAE,SAAS,CAAC,6BAA6B,CAAC,EAC9C,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,IAAI,CAAC,CAqCf;AAED,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iCAQlC,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { definePipeline, } from "coding-agent-forge";
|
|
2
2
|
import { developingArgsOptions, developingPipeline, } from "developing-agent-forge";
|
|
3
|
+
import { readMetaskill } from "../metaskill.js";
|
|
3
4
|
import { agentFactories } from "./agents/index.js";
|
|
4
5
|
export const developingSkillArgsOptions = {
|
|
5
6
|
"coding-style-skill-path": {
|
|
@@ -8,7 +9,7 @@ export const developingSkillArgsOptions = {
|
|
|
8
9
|
},
|
|
9
10
|
"metaskill-path": {
|
|
10
11
|
type: "string",
|
|
11
|
-
description: "Metaskill design document used by the trajectory optimizer",
|
|
12
|
+
description: "Metaskill design document path or HTTP(S) URL used by the trajectory optimizer",
|
|
12
13
|
},
|
|
13
14
|
...developingArgsOptions,
|
|
14
15
|
};
|
|
@@ -18,6 +19,7 @@ export async function developingSkill(team, options) {
|
|
|
18
19
|
if (codingStyleSkillPath === undefined || metaskillPath === undefined) {
|
|
19
20
|
throw new Error("--coding-style-skill-path and --metaskill-path are required");
|
|
20
21
|
}
|
|
22
|
+
const metaskill = await readMetaskill(metaskillPath);
|
|
21
23
|
const logRecord = (thread, record) => {
|
|
22
24
|
console.log(thread.recordToPrettyString(record));
|
|
23
25
|
};
|
|
@@ -29,7 +31,7 @@ export async function developingSkill(team, options) {
|
|
|
29
31
|
codingStyleSkillPath,
|
|
30
32
|
taskBrief,
|
|
31
33
|
taskRoundSummary: taskResult.taskRoundSummary,
|
|
32
|
-
|
|
34
|
+
metaskill,
|
|
33
35
|
}, logRecord)).trim();
|
|
34
36
|
console.log(`\n# Skill trajectory optimizer report\n${optimizerReport}\n`);
|
|
35
37
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../../src/developing-skill/pipeline.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,cAAc,GAIf,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,qBAAqB,EACrB,kBAAkB,GAGnB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAOnD,MAAM,CAAC,MAAM,0BAA0B,GAAG;IACxC,yBAAyB,EAAE;QACzB,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,+DAA+D;KAC7E;IACD,gBAAgB,EAAE;QAChB,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../../src/developing-skill/pipeline.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,cAAc,GAIf,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,qBAAqB,EACrB,kBAAkB,GAGnB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAOnD,MAAM,CAAC,MAAM,0BAA0B,GAAG;IACxC,yBAAyB,EAAE;QACzB,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,+DAA+D;KAC7E;IACD,gBAAgB,EAAE;QAChB,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,gFAAgF;KAC9F;IACD,GAAG,qBAAqB;CACc,CAAC;AAIzC,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,IAA8C,EAC9C,OAA+B;IAE/B,MAAM,oBAAoB,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAAC;IAChE,MAAM,aAAa,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAChD,IAAI,oBAAoB,KAAK,SAAS,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;QACtE,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;IACjF,CAAC;IACD,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,aAAa,CAAC,CAAC;IAErD,MAAM,SAAS,GAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE;QACnD,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC;IACnD,CAAC,CAAC;IAEF,MAAM,SAAS,GAAG;QAChB,YAAY,EAAE,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE;YAC5D,MAAM,mBAAmB,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,sBAAsB,CAAC,CAAC;YAC3E,MAAM,eAAe,GAAG,CACtB,MAAM,mBAAmB,CAAC,WAAW,CACnC;gBACE,GAAG,cAAc;gBACjB,oBAAoB;gBACpB,SAAS;gBACT,gBAAgB,EAAE,UAAU,CAAC,gBAAgB;gBAC7C,SAAS;aACV,EACD,SAAS,CACV,CACF,CAAC,IAAI,EAAE,CAAC;YAET,OAAO,CAAC,GAAG,CAAC,0CAA0C,eAAe,IAAI,CAAC,CAAC;QAC7E,CAAC;KACyC,CAAC;IAE7C,MAAM,iBAAiB,GAAG;QACxB,GAAG,OAAO;QACV,SAAS;KACV,CAAC;IACF,MAAM,kBAAkB,CAAC,GAAG,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;AACxD,CAAC;AAED,MAAM,CAAC,MAAM,uBAAuB,GAAG,cAAc,CAAC;IACpD,IAAI,EAAE,kBAAkB;IACxB,WAAW,EAAE,qDAAqD;IAClE,WAAW,EAAE,0BAA0B;IACvC,cAAc;IACd,KAAK,CAAC,GAAG,CAAC,IAA8C,EAAE,OAA+B;QACvF,MAAM,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACvC,CAAC;CACF,CAAC,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Agent } from "coding-agent-forge/agent";
|
|
2
2
|
export type SkillEvaluatorVariables = {
|
|
3
3
|
artifactPath: string;
|
|
4
|
-
|
|
4
|
+
metaskill: string;
|
|
5
5
|
taskDescriptions: string;
|
|
6
6
|
};
|
|
7
7
|
export declare class SkillEvaluatorAgent extends Agent<SkillEvaluatorVariables> {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"evaluator.d.ts","sourceRoot":"","sources":["../../../src/evolve-skill/agents/evaluator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"evaluator.d.ts","sourceRoot":"","sources":["../../../src/evolve-skill/agents/evaluator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAEjD,MAAM,MAAM,uBAAuB,GAAG;IACpC,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,qBAAa,mBAAoB,SAAQ,KAAK,CAAC,uBAAuB,CAAC;IACrE,SAAS,CAAC,WAAW,CAAC,SAAS,EAAE,QAAQ,CAAC,uBAAuB,CAAC,GAAG,MAAM;CAgB5E"}
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
import { Agent } from "coding-agent-forge/agent";
|
|
2
|
-
import { readFileSync } from "node:fs";
|
|
3
2
|
export class SkillEvaluatorAgent extends Agent {
|
|
4
3
|
buildPrompt(variables) {
|
|
5
|
-
const metaskill = readFileSync(variables.metaskillPath, "utf8");
|
|
6
4
|
return `
|
|
7
5
|
Evaluate the artifact at ${variables.artifactPath}. It was produced by a skill.
|
|
8
6
|
|
|
@@ -12,7 +10,7 @@ ${variables.taskDescriptions}
|
|
|
12
10
|
|
|
13
11
|
The metaskill below contains the design goals and tips of this skill:
|
|
14
12
|
|
|
15
|
-
${metaskill}
|
|
13
|
+
${variables.metaskill}
|
|
16
14
|
|
|
17
15
|
Based on these goals and tips, are there any problems in the artifact produced by this skill? Are there any redundant parts?
|
|
18
16
|
Carefully inspect both the language and the content, and use that analysis to explain how this skill can be optimized.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"evaluator.js","sourceRoot":"","sources":["../../../src/evolve-skill/agents/evaluator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"evaluator.js","sourceRoot":"","sources":["../../../src/evolve-skill/agents/evaluator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAQjD,MAAM,OAAO,mBAAoB,SAAQ,KAA8B;IAC3D,WAAW,CAAC,SAA4C;QAChE,OAAO;2BACgB,SAAS,CAAC,YAAY;;;;EAI/C,SAAS,CAAC,gBAAgB;;;;EAI1B,SAAS,CAAC,SAAS;;;;CAIpB,CAAC;IACA,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"modifier.d.ts","sourceRoot":"","sources":["../../../src/evolve-skill/agents/modifier.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"modifier.d.ts","sourceRoot":"","sources":["../../../src/evolve-skill/agents/modifier.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAEjD,MAAM,MAAM,sBAAsB,GAAG;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,qBAAa,kBAAmB,SAAQ,KAAK,CAAC,sBAAsB,CAAC;IACnE,SAAS,CAAC,WAAW,CAAC,SAAS,EAAE,QAAQ,CAAC,sBAAsB,CAAC,GAAG,MAAM;CAe3E"}
|
|
@@ -1,14 +1,12 @@
|
|
|
1
1
|
import { Agent } from "coding-agent-forge/agent";
|
|
2
|
-
import { readFileSync } from "node:fs";
|
|
3
2
|
export class SkillModifierAgent extends Agent {
|
|
4
3
|
buildPrompt(variables) {
|
|
5
|
-
const metaskill = readFileSync(variables.metaskillPath, "utf8");
|
|
6
4
|
return `
|
|
7
5
|
Revise the skill at ${variables.skillPath} using the feedback below. The feedback is based on an artifact produced by this skill.
|
|
8
6
|
|
|
9
7
|
The metaskill below contains the design goals and tips of this skill:
|
|
10
8
|
|
|
11
|
-
${metaskill}
|
|
9
|
+
${variables.metaskill}
|
|
12
10
|
|
|
13
11
|
Consider these design goals and tips when revising.
|
|
14
12
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"modifier.js","sourceRoot":"","sources":["../../../src/evolve-skill/agents/modifier.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"modifier.js","sourceRoot":"","sources":["../../../src/evolve-skill/agents/modifier.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAQjD,MAAM,OAAO,kBAAmB,SAAQ,KAA6B;IACzD,WAAW,CAAC,SAA2C;QAC/D,OAAO;sBACW,SAAS,CAAC,SAAS;;;;EAIvC,SAAS,CAAC,SAAS;;;;;;EAMnB,SAAS,CAAC,MAAM;CACjB,CAAC;IACA,CAAC;CACF"}
|
|
@@ -24,7 +24,7 @@ export declare const evolveSkillArgsOptions: {
|
|
|
24
24
|
};
|
|
25
25
|
readonly "metaskill-path": {
|
|
26
26
|
readonly type: "string";
|
|
27
|
-
readonly description: "Metaskill design document used by the evaluator and modifier";
|
|
27
|
+
readonly description: "Metaskill design document path or HTTP(S) URL used by the evaluator and modifier";
|
|
28
28
|
};
|
|
29
29
|
readonly "task-path": {
|
|
30
30
|
readonly type: "string";
|
|
@@ -48,7 +48,7 @@ export declare const evolveSkillPipeline: import("coding-agent-forge").Pipeline<
|
|
|
48
48
|
};
|
|
49
49
|
readonly "metaskill-path": {
|
|
50
50
|
readonly type: "string";
|
|
51
|
-
readonly description: "Metaskill design document used by the evaluator and modifier";
|
|
51
|
+
readonly description: "Metaskill design document path or HTTP(S) URL used by the evaluator and modifier";
|
|
52
52
|
};
|
|
53
53
|
readonly "task-path": {
|
|
54
54
|
readonly type: "string";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../../src/evolve-skill/pipeline.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EAKV,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../../src/evolve-skill/pipeline.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EAKV,MAAM,oBAAoB,CAAC;AAI5B,OAAO,KAAK,EACV,uBAAuB,EACvB,sBAAsB,EACtB,oBAAoB,EACrB,MAAM,mBAAmB,CAAC;AAE3B,MAAM,MAAM,yBAAyB,GAAG;IACtC,cAAc,EAAE,oBAAoB,CAAC;IACrC,iBAAiB,EAAE,uBAAuB,CAAC;IAC3C,gBAAgB,EAAE,sBAAsB,CAAC;CAC1C,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IAC7B,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,wBAAsB,WAAW,CAC/B,IAAI,EAAE,SAAS,CAAC,yBAAyB,CAAC,EAC1C,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,IAAI,CAAC,CAwDf;AAED,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;CAuBK,CAAC;AAEzC,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;6BAmC9B,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { definePipeline, } from "coding-agent-forge";
|
|
2
2
|
import { mkdir, readFile, rm } from "node:fs/promises";
|
|
3
|
+
import { readMetaskill } from "../metaskill.js";
|
|
3
4
|
import { agentFactories } from "./agents/index.js";
|
|
4
5
|
export async function evolveSkill(team, options) {
|
|
5
6
|
const logRecord = (thread, record) => {
|
|
@@ -9,6 +10,7 @@ export async function evolveSkill(team, options) {
|
|
|
9
10
|
const task = await readFile(taskPath, "utf8");
|
|
10
11
|
return `Task ${String(index + 1)}: ${task}`;
|
|
11
12
|
}))).join("\n\n");
|
|
13
|
+
const metaskill = await readMetaskill(options.metaskillPath);
|
|
12
14
|
for (let round = 1; round <= options.rounds; round++) {
|
|
13
15
|
await rm(options.artifactPath, { recursive: true, force: true });
|
|
14
16
|
await mkdir(options.artifactPath, { recursive: true });
|
|
@@ -22,13 +24,13 @@ export async function evolveSkill(team, options) {
|
|
|
22
24
|
}
|
|
23
25
|
const review = (await team.runStreamed("skill-evaluator", {
|
|
24
26
|
artifactPath: options.artifactPath,
|
|
25
|
-
|
|
27
|
+
metaskill,
|
|
26
28
|
taskDescriptions,
|
|
27
29
|
}, logRecord)).trim();
|
|
28
30
|
console.log(`\n# Review\n${review}\n`);
|
|
29
31
|
const edit = await team.runStreamed("skill-modifier", {
|
|
30
32
|
skillPath: options.skillPath,
|
|
31
|
-
|
|
33
|
+
metaskill,
|
|
32
34
|
review,
|
|
33
35
|
}, logRecord);
|
|
34
36
|
console.log(`# Edit\n${edit}\n`);
|
|
@@ -45,7 +47,7 @@ export const evolveSkillArgsOptions = {
|
|
|
45
47
|
},
|
|
46
48
|
"metaskill-path": {
|
|
47
49
|
type: "string",
|
|
48
|
-
description: "Metaskill design document used by the evaluator and modifier",
|
|
50
|
+
description: "Metaskill design document path or HTTP(S) URL used by the evaluator and modifier",
|
|
49
51
|
},
|
|
50
52
|
"task-path": {
|
|
51
53
|
type: "string",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../../src/evolve-skill/pipeline.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,cAAc,GAIf,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAqBnD,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,IAA0C,EAC1C,OAA2B;IAE3B,MAAM,SAAS,GAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE;QACnD,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC;IACnD,CAAC,CAAC;IACF,MAAM,gBAAgB,GAAG,CACvB,MAAM,OAAO,CAAC,GAAG,CACf,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE;QAC9C,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC9C,OAAO,QAAQ,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;IAC9C,CAAC,CAAC,CACH,CACF,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../../src/evolve-skill/pipeline.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metaskill.d.ts","sourceRoot":"","sources":["../src/metaskill.ts"],"names":[],"mappings":"AAIA,wBAAsB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAanE"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { readFile } from "node:fs/promises";
|
|
2
|
+
const HTTP_URL_PATTERN = /^https?:\/\//i;
|
|
3
|
+
export async function readMetaskill(source) {
|
|
4
|
+
if (!HTTP_URL_PATTERN.test(source)) {
|
|
5
|
+
return readFile(source, "utf8");
|
|
6
|
+
}
|
|
7
|
+
const response = await fetch(source);
|
|
8
|
+
if (!response.ok) {
|
|
9
|
+
throw new Error(`Failed to download metaskill from ${source}: ${String(response.status)} ${response.statusText}`);
|
|
10
|
+
}
|
|
11
|
+
return response.text();
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=metaskill.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metaskill.js","sourceRoot":"","sources":["../src/metaskill.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,MAAM,gBAAgB,GAAG,eAAe,CAAC;AAEzC,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,MAAc;IAChD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACnC,OAAO,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,CAAC;IACrC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CACb,qCAAqC,MAAM,KAAK,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,QAAQ,CAAC,UAAU,EAAE,CACjG,CAAC;IACJ,CAAC;IAED,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;AACzB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "academic-army",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"description": "Agent workflows and skills for AcademicArmy.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -48,7 +48,7 @@
|
|
|
48
48
|
},
|
|
49
49
|
"dependencies": {
|
|
50
50
|
"coding-agent-forge": ">=1.3.5",
|
|
51
|
-
"developing-agent-forge": ">=2.8.
|
|
51
|
+
"developing-agent-forge": ">=2.8.3"
|
|
52
52
|
},
|
|
53
53
|
"devDependencies": {
|
|
54
54
|
"@eslint/js": "^10.0.1",
|