developing-agent-forge 2.7.0 → 2.7.1
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/agents/developer.js +8 -8
- package/dist/agents/developer.js.map +1 -1
- package/dist/agents/manager.js +7 -7
- package/dist/agents/manager.js.map +1 -1
- package/dist/agents/prompts.d.ts +1 -0
- package/dist/agents/prompts.d.ts.map +1 -1
- package/dist/agents/prompts.js +7 -1
- package/dist/agents/prompts.js.map +1 -1
- package/dist/agents/reviewer.js +5 -5
- package/dist/agents/reviewer.js.map +1 -1
- package/package.json +1 -1
package/dist/agents/developer.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ponytailSkillPrompt } from "./polytail.js";
|
|
2
|
-
import { goalInstruction } from "./prompts.js";
|
|
2
|
+
import { goalInstruction, quoteBlock } from "./prompts.js";
|
|
3
3
|
import { DevelopingAgent } from "./types.js";
|
|
4
4
|
export class DeveloperAgent extends DevelopingAgent {
|
|
5
5
|
buildPrompt(variables) {
|
|
@@ -24,7 +24,7 @@ ${goalInstructionText}
|
|
|
24
24
|
Target: ${targetPath}/.
|
|
25
25
|
|
|
26
26
|
Task:
|
|
27
|
-
${taskBrief}
|
|
27
|
+
${quoteBlock(taskBrief)}
|
|
28
28
|
|
|
29
29
|
Output recall guidance only: code/design memory needed for this task.
|
|
30
30
|
No recalled content. No implementation advice.
|
|
@@ -39,13 +39,13 @@ ${goalInstructionText}
|
|
|
39
39
|
Target: ${targetPath}/.
|
|
40
40
|
|
|
41
41
|
Task:
|
|
42
|
-
${taskBrief}
|
|
42
|
+
${quoteBlock(taskBrief)}
|
|
43
43
|
|
|
44
44
|
Code/design memory:
|
|
45
|
-
${codeDesignMemory}
|
|
45
|
+
${quoteBlock(codeDesignMemory)}
|
|
46
46
|
|
|
47
47
|
Reviewer report:
|
|
48
|
-
${reviewerReport}
|
|
48
|
+
${quoteBlock(reviewerReport)}
|
|
49
49
|
|
|
50
50
|
Perform the task. Address reviewer concerns unless marked "(none)".
|
|
51
51
|
Inspect, edit, verify. If no changes, explain why.
|
|
@@ -67,13 +67,13 @@ ${goalInstructionText}
|
|
|
67
67
|
Target: ${targetPath}/.
|
|
68
68
|
|
|
69
69
|
Task:
|
|
70
|
-
${taskBrief}
|
|
70
|
+
${quoteBlock(taskBrief)}
|
|
71
71
|
|
|
72
72
|
Previous code/design memory:
|
|
73
|
-
${codeDesignMemory}
|
|
73
|
+
${quoteBlock(codeDesignMemory)}
|
|
74
74
|
|
|
75
75
|
Round summary:
|
|
76
|
-
${taskRoundSummary}
|
|
76
|
+
${quoteBlock(taskRoundSummary)}
|
|
77
77
|
|
|
78
78
|
List reusable code/design insights only (interfaces, constraints, rules).
|
|
79
79
|
Exclude execution details.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"developer.js","sourceRoot":"","sources":["../../src/agents/developer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"developer.js","sourceRoot":"","sources":["../../src/agents/developer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAiC,MAAM,YAAY,CAAC;AA0B5E,MAAM,OAAO,cAAe,SAAQ,eAAmC;IAC3D,WAAW,CAAC,SAAuC;QAC3D,MAAM,UAAU,GAAG,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QACpE,MAAM,mBAAmB,GAAG,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAE5D,QAAQ,SAAS,CAAC,KAAK,EAAE,CAAC;YACxB,KAAK,QAAQ;gBACX,OAAO,iBAAiB,CAAC,mBAAmB,EAAE,UAAU,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;YACjF,KAAK,SAAS,CAAC,CAAC,CAAC;gBACf,MAAM,cAAc,GAAG,SAAS,CAAC,cAAc,IAAI,QAAQ,CAAC;gBAC5D,OAAO,kBAAkB,CACvB,mBAAmB,EACnB,UAAU,EACV,SAAS,CAAC,SAAS,EACnB,SAAS,CAAC,gBAAgB,EAC1B,cAAc,CACf,CAAC;YACJ,CAAC;YACD,KAAK,QAAQ;gBACX,OAAO,iBAAiB,CACtB,mBAAmB,EACnB,UAAU,EACV,SAAS,CAAC,SAAS,EACnB,SAAS,CAAC,gBAAgB,EAC1B,SAAS,CAAC,gBAAgB,CAC3B,CAAC;QACN,CAAC;IACH,CAAC;CACF;AAED,SAAS,iBAAiB,CACxB,mBAA2B,EAC3B,UAAkB,EAClB,SAAiB;IAEjB,OAAO;EACP,mBAAmB;;UAEX,UAAU;;;EAGlB,UAAU,CAAC,SAAS,CAAC;;;;CAItB,CAAC;AACF,CAAC;AAED,SAAS,kBAAkB,CACzB,mBAA2B,EAC3B,UAAkB,EAClB,SAAiB,EACjB,gBAAwB,EACxB,cAAsB;IAEtB,OAAO;EACP,mBAAmB;;EAEnB,mBAAmB;;UAEX,UAAU;;;EAGlB,UAAU,CAAC,SAAS,CAAC;;;EAGrB,UAAU,CAAC,gBAAgB,CAAC;;;EAG5B,UAAU,CAAC,cAAc,CAAC;;;;;;;;;;;;;CAa3B,CAAC;AACF,CAAC;AAED,SAAS,iBAAiB,CACxB,mBAA2B,EAC3B,UAAkB,EAClB,SAAiB,EACjB,gBAAwB,EACxB,gBAAwB;IAExB,OAAO;EACP,mBAAmB;;UAEX,UAAU;;;EAGlB,UAAU,CAAC,SAAS,CAAC;;;EAGrB,UAAU,CAAC,gBAAgB,CAAC;;;EAG5B,UAAU,CAAC,gBAAgB,CAAC;;;;CAI7B,CAAC;AACF,CAAC"}
|
package/dist/agents/manager.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { goalInstruction } from "./prompts.js";
|
|
1
|
+
import { goalInstruction, quoteBlock } from "./prompts.js";
|
|
2
2
|
import { DevelopingAgent } from "./types.js";
|
|
3
3
|
const MANAGER_DECISION_PATTERN = /^(FINISHED|# Task Brief)\b/;
|
|
4
4
|
const MAX_FORMAT_CORRECTION_ATTEMPTS = 3;
|
|
@@ -23,7 +23,7 @@ FINISHED
|
|
|
23
23
|
# Task Brief
|
|
24
24
|
|
|
25
25
|
Previous output:
|
|
26
|
-
${managerOutput}
|
|
26
|
+
${quoteBlock(managerOutput)}
|
|
27
27
|
|
|
28
28
|
Correct it.
|
|
29
29
|
`, onRecord)).trim();
|
|
@@ -52,7 +52,7 @@ Correct it.
|
|
|
52
52
|
const goalInstructionText = goalInstruction(variables.goal);
|
|
53
53
|
const lastTaskRoundSummary = "lastTaskRoundSummary" in variables && variables.lastTaskRoundSummary
|
|
54
54
|
? `Last round:
|
|
55
|
-
${variables.lastTaskRoundSummary}`
|
|
55
|
+
${quoteBlock(variables.lastTaskRoundSummary)}`
|
|
56
56
|
: "";
|
|
57
57
|
switch (variables.phase) {
|
|
58
58
|
case "recall":
|
|
@@ -80,7 +80,7 @@ ${goalInstructionText}
|
|
|
80
80
|
Target: ${targetPath}/.
|
|
81
81
|
|
|
82
82
|
Project progress memory:
|
|
83
|
-
${projectProgressMemory}
|
|
83
|
+
${quoteBlock(projectProgressMemory)}
|
|
84
84
|
|
|
85
85
|
${lastTaskRoundSummary}
|
|
86
86
|
|
|
@@ -119,13 +119,13 @@ ${goalInstructionText}
|
|
|
119
119
|
Target: ${targetPath}/.
|
|
120
120
|
|
|
121
121
|
Task:
|
|
122
|
-
${taskBrief}
|
|
122
|
+
${quoteBlock(taskBrief)}
|
|
123
123
|
|
|
124
124
|
Previous project progress memory:
|
|
125
|
-
${projectProgressMemory}
|
|
125
|
+
${quoteBlock(projectProgressMemory)}
|
|
126
126
|
|
|
127
127
|
Round summary:
|
|
128
|
-
${taskRoundSummary}
|
|
128
|
+
${quoteBlock(taskRoundSummary)}
|
|
129
129
|
|
|
130
130
|
Record reusable project progress insights (completed milestones, blockers, next steps).
|
|
131
131
|
Exclude execution details and code specifics.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/agents/manager.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/agents/manager.ts"],"names":[],"mappings":"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"}
|
package/dist/agents/prompts.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../src/agents/prompts.ts"],"names":[],"mappings":"AAAA,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAKpD"}
|
|
1
|
+
{"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../src/agents/prompts.ts"],"names":[],"mappings":"AAAA,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAKlD;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAKpD"}
|
package/dist/agents/prompts.js
CHANGED
|
@@ -1,7 +1,13 @@
|
|
|
1
|
+
export function quoteBlock(content) {
|
|
2
|
+
return content
|
|
3
|
+
.split(/\r?\n/)
|
|
4
|
+
.map((line) => `> ${line}`)
|
|
5
|
+
.join("\n");
|
|
6
|
+
}
|
|
1
7
|
export function goalInstruction(goal) {
|
|
2
8
|
return `
|
|
3
9
|
Goal:
|
|
4
|
-
${goal}
|
|
10
|
+
${quoteBlock(goal)}
|
|
5
11
|
`;
|
|
6
12
|
}
|
|
7
13
|
//# sourceMappingURL=prompts.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/agents/prompts.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,eAAe,CAAC,IAAY;IAC1C,OAAO;;EAEP,IAAI;
|
|
1
|
+
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/agents/prompts.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,UAAU,CAAC,OAAe;IACxC,OAAO,OAAO;SACX,KAAK,CAAC,OAAO,CAAC;SACd,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC;SAC1B,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,IAAY;IAC1C,OAAO;;EAEP,UAAU,CAAC,IAAI,CAAC;CACjB,CAAC;AACF,CAAC"}
|
package/dist/agents/reviewer.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ponytailReviewSkillPrompt } from "./polytail.js";
|
|
2
|
-
import { goalInstruction } from "./prompts.js";
|
|
2
|
+
import { goalInstruction, quoteBlock } from "./prompts.js";
|
|
3
3
|
import { DevelopingAgent } from "./types.js";
|
|
4
4
|
const REVIEW_DECISION_PATTERN = /^(ACCEPT|REVISE|REDIRECT)\b/;
|
|
5
5
|
const MAX_FORMAT_CORRECTION_ATTEMPTS = 3;
|
|
@@ -19,7 +19,7 @@ REVISE
|
|
|
19
19
|
REDIRECT
|
|
20
20
|
|
|
21
21
|
Previous output:
|
|
22
|
-
${reviewerReport}
|
|
22
|
+
${quoteBlock(reviewerReport)}
|
|
23
23
|
|
|
24
24
|
Correct it.
|
|
25
25
|
`, onRecord)).trim();
|
|
@@ -54,13 +54,13 @@ ${goalInstructionText}
|
|
|
54
54
|
Target: ${targetPath}/. Read only.
|
|
55
55
|
|
|
56
56
|
Task:
|
|
57
|
-
${variables.taskBrief}
|
|
57
|
+
${quoteBlock(variables.taskBrief)}
|
|
58
58
|
|
|
59
59
|
Code/design memory:
|
|
60
|
-
${variables.codeDesignMemory}
|
|
60
|
+
${quoteBlock(variables.codeDesignMemory)}
|
|
61
61
|
|
|
62
62
|
Developer report:
|
|
63
|
-
${variables.developerReport}
|
|
63
|
+
${quoteBlock(variables.developerReport)}
|
|
64
64
|
|
|
65
65
|
Review: task completion, report accuracy, code health.
|
|
66
66
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reviewer.js","sourceRoot":"","sources":["../../src/agents/reviewer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"reviewer.js","sourceRoot":"","sources":["../../src/agents/reviewer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAiC,MAAM,YAAY,CAAC;AAS5E,MAAM,uBAAuB,GAAG,6BAA6B,CAAC;AAC9D,MAAM,8BAA8B,GAAG,CAAC,CAAC;AAEzC,MAAM,OAAO,iBAAkB,SAAQ,eAAsC;IAClE,KAAK,CAAC,WAAW,CACxB,SAAgC,EAChC,QAAyB;QAEzB,IAAI,cAAc,GAAG,MAAM,KAAK,CAAC,WAAW,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAClE,IAAI,CAAC;YACH,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;YACnC,OAAO,cAAc,CAAC;QACxB,CAAC;QAAC,MAAM,CAAC;YACP,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,8BAA8B,EAAE,OAAO,EAAE,EAAE,CAAC;gBAC3E,cAAc,GAAG,CACf,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAC3B;;;;;;;EAOV,UAAU,CAAC,cAAc,CAAC;;;CAG3B,EACW,QAAQ,CACT,CACF,CAAC,IAAI,EAAE,CAAC;gBACT,IAAI,CAAC;oBACH,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;oBACnC,OAAO,cAAc,CAAC;gBACxB,CAAC;gBAAC,MAAM,CAAC;oBACP,IAAI,OAAO,KAAK,8BAA8B,EAAE,CAAC;wBAC/C,MAAM,IAAI,KAAK,CACb,kEAAkE,MAAM,CAAC,8BAA8B,CAAC,uBAAuB,CAChI,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;IACxE,CAAC;IAED,aAAa,CAAC,cAAsB;QAClC,MAAM,KAAK,GAAG,uBAAuB,CAAC,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,CAAC,CAAC;QACvE,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CACb,4GAA4G,CAC7G,CAAC;QACJ,CAAC;QACD,OAAO,KAAK,CAAC,CAAC,CAAmB,CAAC;IACpC,CAAC;IAES,WAAW,CAAC,SAA0C;QAC9D,MAAM,UAAU,GAAG,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QACpE,MAAM,mBAAmB,GAAG,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAE5D,OAAO;EACT,yBAAyB;;EAEzB,mBAAmB;;UAEX,UAAU;;;EAGlB,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC;;;EAG/B,UAAU,CAAC,SAAS,CAAC,gBAAgB,CAAC;;;EAGtC,UAAU,CAAC,SAAS,CAAC,eAAe,CAAC;;;;;;;;;;;;;;;CAetC,CAAC;IACA,CAAC;CACF"}
|