baxian 2.0.6 → 2.0.7
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 +2 -3
- package/README.zh-CN.md +2 -3
- package/dist/agent/bootstrap-poller.d.ts +2 -2
- package/dist/agent/bootstrap-poller.d.ts.map +1 -1
- package/dist/agent/bootstrap-poller.js.map +1 -1
- package/dist/agent/bootstrap.d.ts +1 -1
- package/dist/agent/bootstrap.d.ts.map +1 -1
- package/dist/agent/bootstrap.js +24 -48
- package/dist/agent/bootstrap.js.map +1 -1
- package/dist/agent/manager.d.ts +9 -35
- package/dist/agent/manager.d.ts.map +1 -1
- package/dist/agent/manager.js +86 -335
- package/dist/agent/manager.js.map +1 -1
- package/dist/agent/net-exec.d.ts +0 -1
- package/dist/agent/net-exec.d.ts.map +1 -1
- package/dist/agent/net-exec.js +0 -1
- package/dist/agent/net-exec.js.map +1 -1
- package/dist/agent/pane-streamer-manager.d.ts.map +1 -1
- package/dist/agent/pane-streamer-manager.js +1 -3
- package/dist/agent/pane-streamer-manager.js.map +1 -1
- package/dist/agent/preflight.d.ts +1 -20
- package/dist/agent/preflight.d.ts.map +1 -1
- package/dist/agent/preflight.js +39 -122
- package/dist/agent/preflight.js.map +1 -1
- package/dist/agent/prompt.d.ts +6 -16
- package/dist/agent/prompt.d.ts.map +1 -1
- package/dist/agent/prompt.js +128 -79
- package/dist/agent/prompt.js.map +1 -1
- package/dist/agent/repo-store.d.ts +1 -5
- package/dist/agent/repo-store.d.ts.map +1 -1
- package/dist/agent/repo-store.js +8 -33
- package/dist/agent/repo-store.js.map +1 -1
- package/dist/agent/runner.d.ts +1 -1
- package/dist/agent/runner.d.ts.map +1 -1
- package/dist/agent/runner.js +1 -3
- package/dist/agent/runner.js.map +1 -1
- package/dist/api/config.d.ts +1 -2
- package/dist/api/config.d.ts.map +1 -1
- package/dist/api/config.js +5 -22
- package/dist/api/config.js.map +1 -1
- package/dist/api/platform-guard.d.ts.map +1 -1
- package/dist/api/platform-guard.js +5 -15
- package/dist/api/platform-guard.js.map +1 -1
- package/dist/api/projects.d.ts.map +1 -1
- package/dist/api/projects.js +18 -25
- package/dist/api/projects.js.map +1 -1
- package/dist/api/tasks.js +2 -2
- package/dist/api/tasks.js.map +1 -1
- package/dist/cli.js.map +1 -1
- package/dist/config/hot-reload.d.ts +3 -2
- package/dist/config/hot-reload.d.ts.map +1 -1
- package/dist/config/hot-reload.js +6 -16
- package/dist/config/hot-reload.js.map +1 -1
- package/dist/config/loader.d.ts +1 -5
- package/dist/config/loader.d.ts.map +1 -1
- package/dist/config/loader.js +31 -31
- package/dist/config/loader.js.map +1 -1
- package/dist/config/validator.d.ts +2 -8
- package/dist/config/validator.d.ts.map +1 -1
- package/dist/config/validator.js +42 -120
- package/dist/config/validator.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -29
- package/dist/index.js.map +1 -1
- package/dist/platform/driver-host.d.ts +4 -3
- package/dist/platform/driver-host.d.ts.map +1 -1
- package/dist/platform/driver-host.js +12 -11
- package/dist/platform/driver-host.js.map +1 -1
- package/dist/platform/feedback.d.ts +5 -6
- package/dist/platform/feedback.d.ts.map +1 -1
- package/dist/platform/feedback.js +4 -7
- package/dist/platform/feedback.js.map +1 -1
- package/dist/platform/github-driver.d.ts +36 -0
- package/dist/platform/github-driver.d.ts.map +1 -0
- package/dist/platform/github-driver.js +374 -0
- package/dist/platform/github-driver.js.map +1 -0
- package/dist/platform/markers.d.ts +1 -4
- package/dist/platform/markers.d.ts.map +1 -1
- package/dist/platform/markers.js +0 -8
- package/dist/platform/markers.js.map +1 -1
- package/dist/platform/platform-poller.d.ts +2 -17
- package/dist/platform/platform-poller.d.ts.map +1 -1
- package/dist/platform/platform-poller.js +9 -15
- package/dist/platform/platform-poller.js.map +1 -1
- package/dist/platform/response-parser.d.ts.map +1 -1
- package/dist/platform/response-parser.js +6 -63
- package/dist/platform/response-parser.js.map +1 -1
- package/dist/platform/review-timeline.d.ts +6 -8
- package/dist/platform/review-timeline.d.ts.map +1 -1
- package/dist/platform/review-timeline.js +4 -6
- package/dist/platform/review-timeline.js.map +1 -1
- package/dist/platform/row-schema.d.ts +1 -2
- package/dist/platform/row-schema.d.ts.map +1 -1
- package/dist/platform/row-schema.js +13 -1
- package/dist/platform/row-schema.js.map +1 -1
- package/dist/platform/startup.d.ts +6 -34
- package/dist/platform/startup.d.ts.map +1 -1
- package/dist/platform/startup.js +10 -109
- package/dist/platform/startup.js.map +1 -1
- package/dist/platform/types.d.ts +61 -54
- package/dist/platform/types.d.ts.map +1 -1
- package/dist/platform/types.js +38 -26
- package/dist/platform/types.js.map +1 -1
- package/dist/platform/verdict-engine.d.ts +1 -1
- package/dist/platform/verdict-engine.d.ts.map +1 -1
- package/dist/platform/verdict-engine.js +1 -1
- package/dist/platform/verdict-engine.js.map +1 -1
- package/dist/shared/constants.d.ts +2 -6
- package/dist/shared/constants.d.ts.map +1 -1
- package/dist/shared/constants.js +2 -17
- package/dist/shared/constants.js.map +1 -1
- package/dist/shared/git-url.d.ts +0 -14
- package/dist/shared/git-url.d.ts.map +1 -1
- package/dist/shared/git-url.js +4 -57
- package/dist/shared/git-url.js.map +1 -1
- package/dist/shared/types.d.ts +2 -10
- package/dist/shared/types.d.ts.map +1 -1
- package/dist/shared/types.js.map +1 -1
- package/dist/state/agent-store.js +0 -3
- package/dist/state/agent-store.js.map +1 -1
- package/dist/state/task-store.js +2 -2
- package/dist/state/task-store.js.map +1 -1
- package/dist/web/assets/index-KH_4rYrI.js +15 -0
- package/dist/web/index.html +1 -1
- package/package.json +1 -1
- package/dist/config/normalizer.d.ts +0 -2
- package/dist/config/normalizer.d.ts.map +0 -1
- package/dist/config/normalizer.js +0 -46
- package/dist/config/normalizer.js.map +0 -1
- package/dist/platform/command-renderer.d.ts +0 -29
- package/dist/platform/command-renderer.d.ts.map +0 -1
- package/dist/platform/command-renderer.js +0 -113
- package/dist/platform/command-renderer.js.map +0 -1
- package/dist/platform/driver-spec.d.ts +0 -7
- package/dist/platform/driver-spec.d.ts.map +0 -1
- package/dist/platform/driver-spec.js +0 -506
- package/dist/platform/driver-spec.js.map +0 -1
- package/dist/platform/field-mapper.d.ts +0 -7
- package/dist/platform/field-mapper.d.ts.map +0 -1
- package/dist/platform/field-mapper.js +0 -109
- package/dist/platform/field-mapper.js.map +0 -1
- package/dist/platform/git-driver.d.ts +0 -64
- package/dist/platform/git-driver.d.ts.map +0 -1
- package/dist/platform/git-driver.js +0 -230
- package/dist/platform/git-driver.js.map +0 -1
- package/dist/platform/manifest.d.ts +0 -11
- package/dist/platform/manifest.d.ts.map +0 -1
- package/dist/platform/manifest.js +0 -42
- package/dist/platform/manifest.js.map +0 -1
- package/dist/platform/plugin-registry.d.ts +0 -31
- package/dist/platform/plugin-registry.d.ts.map +0 -1
- package/dist/platform/plugin-registry.js +0 -239
- package/dist/platform/plugin-registry.js.map +0 -1
- package/dist/platform/plugin-roots.d.ts +0 -3
- package/dist/platform/plugin-roots.d.ts.map +0 -1
- package/dist/platform/plugin-roots.js +0 -9
- package/dist/platform/plugin-roots.js.map +0 -1
- package/dist/platform/plugins/github/baxian-plugin.json +0 -8
- package/dist/platform/plugins/github/driver.json +0 -153
- package/dist/platform/plugins/github/skills/baxian-cli-gh/SKILL.md +0 -115
- package/dist/platform/plugins/github/skills/baxian-cli-gh/agents/openai.yaml +0 -2
- package/dist/platform/preflight-exec.d.ts +0 -21
- package/dist/platform/preflight-exec.d.ts.map +0 -1
- package/dist/platform/preflight-exec.js +0 -53
- package/dist/platform/preflight-exec.js.map +0 -1
- package/dist/skill/registry.d.ts +0 -37
- package/dist/skill/registry.d.ts.map +0 -1
- package/dist/skill/registry.js +0 -234
- package/dist/skill/registry.js.map +0 -1
- package/dist/skills/baxian-greeting/SKILL.md +0 -15
- package/dist/skills/baxian-greeting/agents/openai.yaml +0 -2
- package/dist/skills/baxian-pr-feedback/SKILL.md +0 -41
- package/dist/skills/baxian-pr-feedback/agents/openai.yaml +0 -2
- package/dist/skills/baxian-pr-recheck/SKILL.md +0 -27
- package/dist/skills/baxian-pr-recheck/agents/openai.yaml +0 -2
- package/dist/skills/baxian-pr-review/SKILL.md +0 -33
- package/dist/skills/baxian-pr-review/agents/openai.yaml +0 -2
- package/dist/skills/baxian-signals/SKILL.md +0 -86
- package/dist/skills/baxian-signals/agents/openai.yaml +0 -2
- package/dist/skills/baxian-task-check/SKILL.md +0 -52
- package/dist/skills/baxian-task-check/agents/openai.yaml +0 -2
- package/dist/web/assets/index-CF2C4Fq-.js +0 -15
package/dist/agent/prompt.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { createHash } from 'node:crypto';
|
|
2
|
+
import { buildReviewTokenLine } from '../platform/markers.js';
|
|
2
3
|
import { scanNeedInputSignals, scanPhaseSignals } from './phase-signal.js';
|
|
3
4
|
import { visibleText } from './vt-visible-text.js';
|
|
4
5
|
export const MAX_PROMPT_BYTES = 80 * 1024;
|
|
@@ -7,155 +8,203 @@ export class PromptSizeError extends Error {
|
|
|
7
8
|
bytes;
|
|
8
9
|
constructor(bytes) {
|
|
9
10
|
super(`prompt size ${bytes} bytes exceeds ${MAX_PROMPT_BYTES} limit; ` +
|
|
10
|
-
`reduce task description or
|
|
11
|
+
`reduce the task description or platform workflow instructions`);
|
|
11
12
|
this.bytes = bytes;
|
|
12
13
|
this.name = 'PromptSizeError';
|
|
13
14
|
}
|
|
14
15
|
}
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
}
|
|
24
|
-
const SKILL_INVOKE_SIGIL = {
|
|
25
|
-
'claude-code': '/',
|
|
26
|
-
codex: '$',
|
|
27
|
-
opencode: '/',
|
|
28
|
-
qodercli: '/',
|
|
16
|
+
const PLATFORM_TASK_PHASES = new Set(['develop', 'code', 'review', 'recheck', 'fix', 'post-approve']);
|
|
17
|
+
const PHASE_ROLES = {
|
|
18
|
+
develop: 'dev',
|
|
19
|
+
code: 'dev',
|
|
20
|
+
fix: 'dev',
|
|
21
|
+
'post-approve': 'dev',
|
|
22
|
+
review: 'qa',
|
|
23
|
+
recheck: 'qa',
|
|
29
24
|
};
|
|
30
|
-
|
|
31
|
-
const
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
const b = Buffer.byteLength(ch, 'utf8');
|
|
39
|
-
if (bytes + b > maxBytes)
|
|
40
|
-
break;
|
|
41
|
-
out += ch;
|
|
42
|
-
bytes += b;
|
|
43
|
-
}
|
|
44
|
-
return out;
|
|
25
|
+
export function specPathForBranch(branch) {
|
|
26
|
+
const slug = branch
|
|
27
|
+
.replace(/[A-Z]/g, ch => ch.toLowerCase())
|
|
28
|
+
.replace(/[^a-z0-9]+/g, '-')
|
|
29
|
+
.replace(/^-+|-+$/g, '')
|
|
30
|
+
.slice(0, 48);
|
|
31
|
+
const hash = createHash('sha256').update(branch).digest('hex').slice(0, 16);
|
|
32
|
+
return `docs/specs/${slug}-${hash}.md`;
|
|
45
33
|
}
|
|
46
|
-
function
|
|
47
|
-
if (!
|
|
34
|
+
function platformDescriptorFields(task, phase, platform) {
|
|
35
|
+
if (!PLATFORM_TASK_PHASES.has(phase))
|
|
48
36
|
return [];
|
|
49
37
|
const lines = [];
|
|
50
|
-
if (
|
|
51
|
-
lines.push(`
|
|
52
|
-
if (platformCli.notes !== undefined) {
|
|
53
|
-
lines.push(`cli-notes: ${truncateUtf8(platformCli.notes, CLI_NOTES_MAX_BYTES)}`);
|
|
54
|
-
}
|
|
38
|
+
if (platform) {
|
|
39
|
+
lines.push(`repo: ${platform.repo}`);
|
|
55
40
|
}
|
|
56
41
|
if (phase === 'develop' || phase === 'code') {
|
|
57
42
|
lines.push(`branch: ${task.branch ?? '<branch>'}`);
|
|
58
43
|
if (task.baseBranch)
|
|
59
44
|
lines.push(`base: ${task.baseBranch}`);
|
|
45
|
+
if (task.branch)
|
|
46
|
+
lines.push(`spec-path: ${specPathForBranch(task.branch)}`);
|
|
60
47
|
if (phase === 'code' && task.prNumber !== undefined)
|
|
61
48
|
lines.push(`pr: ${task.prNumber}`);
|
|
62
49
|
}
|
|
63
50
|
if (phase === 'review' || phase === 'recheck') {
|
|
64
|
-
if (!task.passToken || !task.failToken) {
|
|
65
|
-
throw new Error(`${phase} prompt for git task ${task.id} requires a minted pass/fail token pair`);
|
|
51
|
+
if (!task.reviewHeadAnchorSha || !task.passToken || !task.failToken) {
|
|
52
|
+
throw new Error(`${phase} prompt for git task ${task.id} requires anchor-sha and a minted pass/fail token pair`);
|
|
66
53
|
}
|
|
67
|
-
lines.push(`pass-token: ${task.passToken}`, `fail-token: ${task.failToken}`);
|
|
54
|
+
lines.push(`anchor-sha: ${task.reviewHeadAnchorSha}`, `pass-token: ${task.passToken}`, `fail-token: ${task.failToken}`);
|
|
68
55
|
}
|
|
69
56
|
return lines;
|
|
70
57
|
}
|
|
71
|
-
function phasePrimarySkill(role, phase) {
|
|
72
|
-
const skills = AGENT_PHASES[role]?.[phase]?.skills ?? [];
|
|
73
|
-
return skills[0];
|
|
74
|
-
}
|
|
75
58
|
export function buildPromptInline(opts) {
|
|
76
|
-
const
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
const
|
|
81
|
-
if (missing.length > 0)
|
|
82
|
-
throw new RequiredSkillsMissingError(missing);
|
|
83
|
-
const taskBody = buildTaskBody({
|
|
59
|
+
const expectedRole = PHASE_ROLES[opts.phase];
|
|
60
|
+
if (expectedRole !== undefined && opts.agent.role !== expectedRole) {
|
|
61
|
+
throw new Error(`${opts.phase} phase requires a ${expectedRole} agent`);
|
|
62
|
+
}
|
|
63
|
+
const fullPrompt = buildTaskBody({
|
|
84
64
|
task: opts.task,
|
|
85
65
|
phase: opts.phase,
|
|
86
66
|
workdir: opts.workdir,
|
|
87
67
|
signalToken: opts.signalToken,
|
|
88
68
|
imagePaths: opts.imagePaths,
|
|
89
|
-
|
|
69
|
+
platform: opts.platform,
|
|
70
|
+
includeTaskContext: opts.includeTaskContext ?? true,
|
|
90
71
|
});
|
|
91
|
-
const primary = phasePrimarySkill(opts.agent.role, opts.phase);
|
|
92
|
-
const slotSkill = primary ?? (opts.signalToken ? 'baxian-signals' : undefined);
|
|
93
|
-
const invokeLine = slotSkill
|
|
94
|
-
? `${SKILL_INVOKE_SIGIL[opts.agent.runtime]}${slotSkill}\n`
|
|
95
|
-
: '';
|
|
96
|
-
const fullPrompt = invokeLine + taskBody;
|
|
97
72
|
const bytes = Buffer.byteLength(fullPrompt, 'utf8');
|
|
98
73
|
if (bytes > MAX_PROMPT_BYTES)
|
|
99
74
|
throw new PromptSizeError(bytes);
|
|
100
75
|
return fullPrompt;
|
|
101
76
|
}
|
|
102
|
-
export function buildGreetingPrompt(token
|
|
103
|
-
return
|
|
77
|
+
export function buildGreetingPrompt(token) {
|
|
78
|
+
return (`token: ${token}\n` +
|
|
79
|
+
`Reply with exactly \`[bx:greeting:<token>]\` on its own line, replacing <token> with the token above. ` +
|
|
80
|
+
`Do not use a tool or output anything else.\n`);
|
|
104
81
|
}
|
|
105
|
-
function reviewFields({ task }) {
|
|
82
|
+
function reviewFields({ task }, recheck) {
|
|
83
|
+
if (!task.reviewHeadAnchorSha || !task.passToken || !task.failToken) {
|
|
84
|
+
throw new Error(`review prompt for git task ${task.id} requires anchor-sha and a minted pass/fail token pair`);
|
|
85
|
+
}
|
|
106
86
|
return {
|
|
107
87
|
fields: [
|
|
108
88
|
`pr: ${task.prNumber ?? '<pr-number>'}`,
|
|
109
|
-
...(task.reviewHeadAnchorSha ? [`anchor-sha: ${task.reviewHeadAnchorSha}`] : []),
|
|
110
89
|
...(task.phase === 'spec' ? ['stage: spec'] : []),
|
|
111
90
|
],
|
|
91
|
+
contract: `Independently review the complete PR at anchor-sha: diff first, then requirements, tests/checks, ` +
|
|
92
|
+
`and every fully paginated feedback source. ` +
|
|
93
|
+
`${recheck ? 'Verify every prior finding against the replies and current code, then check for new risks. ' : ''}` +
|
|
94
|
+
`${task.phase === 'spec'
|
|
95
|
+
? 'Review the spec for complete, implementable requirements; implementation is not required yet.'
|
|
96
|
+
: 'Verify claims against the code and report only concrete findings.'}\n` +
|
|
97
|
+
`Publish exactly one platform verdict and verify it landed on anchor-sha:\n` +
|
|
98
|
+
`pass: ${buildReviewTokenLine({
|
|
99
|
+
kind: 'pass',
|
|
100
|
+
anchorSha: task.reviewHeadAnchorSha,
|
|
101
|
+
token: task.passToken,
|
|
102
|
+
})}\n` +
|
|
103
|
+
`fail: ${buildReviewTokenLine({
|
|
104
|
+
kind: 'fail',
|
|
105
|
+
anchorSha: task.reviewHeadAnchorSha,
|
|
106
|
+
token: task.failToken,
|
|
107
|
+
})}\n` +
|
|
108
|
+
`There is no pane completion signal for a review verdict.`,
|
|
112
109
|
};
|
|
113
110
|
}
|
|
114
111
|
const PHASE_PROMPT_BUILDERS = {
|
|
115
|
-
merge: () => ({
|
|
116
|
-
|
|
117
|
-
|
|
112
|
+
merge: () => ({
|
|
113
|
+
fields: [],
|
|
114
|
+
contract: 'Baxian owns merge execution. Do not merge or change the task from this prompt.',
|
|
115
|
+
}),
|
|
116
|
+
develop: ({ task }) => ({
|
|
117
|
+
fields: [],
|
|
118
|
+
contract: `Choose one route: implement, test, commit, push, publish the PR, then emit ` +
|
|
119
|
+
`\`[bx:pr-created:<pr>:<actor>:<token>]\`; or write a complete implementable spec to spec-path without ` +
|
|
120
|
+
`overwriting an unrelated file, commit, push, publish the PR, then emit ` +
|
|
121
|
+
`\`[bx:spec-done:<pr>:<actor>:<token>]\`. Never merge or leave workdir/branch ` +
|
|
122
|
+
`${JSON.stringify(task.branch ?? '<branch>')}.`,
|
|
123
|
+
}),
|
|
124
|
+
code: () => ({
|
|
125
|
+
fields: [],
|
|
126
|
+
contract: `Read the approved spec-path, implement it completely, test, commit, push, and update the bound PR via ` +
|
|
127
|
+
`platform publish. Then emit \`[bx:pr-created:<pr>:<actor>:<token>]\` exactly once. ` +
|
|
128
|
+
`Never merge or change branch/workdir.`,
|
|
129
|
+
}),
|
|
118
130
|
fix: ({ task }) => ({
|
|
119
131
|
fields: [
|
|
120
132
|
`pr: ${task.prNumber ?? '<pr-number>'}`,
|
|
121
133
|
`branch: ${task.branch ?? '<branch>'}`,
|
|
122
134
|
...(task.phase === 'spec' ? ['stage: spec'] : []),
|
|
123
135
|
],
|
|
136
|
+
contract: `Read every fully paginated feedback source and judge/reply to every item. ` +
|
|
137
|
+
`${task.phase === 'spec' ? 'Apply accepted findings to the reviewed spec.' : 'Apply accepted findings to code and tests.'} ` +
|
|
138
|
+
`Commit and push any file changes. When all current feedback is handled, emit ` +
|
|
139
|
+
`\`[bx:pr-fixed:<token>]\` exactly once, including when replies required no file change.`,
|
|
124
140
|
}),
|
|
125
141
|
'post-approve': ({ task }) => ({
|
|
126
142
|
fields: [`pr: ${task.prNumber ?? '<pr-number>'}`],
|
|
143
|
+
contract: `Re-read every fully paginated feedback source and handle all current items. If any file changes, commit and ` +
|
|
144
|
+
`push, then stop without a completion signal so Baxian can recheck. If no file change is needed, re-fetch once ` +
|
|
145
|
+
`more; only when clean emit \`[bx:pr-merge-ready:<token>]\` exactly once. Never merge.`,
|
|
127
146
|
}),
|
|
128
|
-
review: (ctx) => reviewFields(ctx),
|
|
129
|
-
recheck: (ctx) => reviewFields(ctx),
|
|
147
|
+
review: (ctx) => reviewFields(ctx, false),
|
|
148
|
+
recheck: (ctx) => reviewFields(ctx, true),
|
|
130
149
|
};
|
|
150
|
+
function platformPromptForPhase(phase, prompts, includeCommon) {
|
|
151
|
+
const phasePrompt = phase === 'develop' || phase === 'code'
|
|
152
|
+
? prompts.publish
|
|
153
|
+
: phase === 'fix' || phase === 'post-approve'
|
|
154
|
+
? prompts.feedback
|
|
155
|
+
: phase === 'review' || phase === 'recheck'
|
|
156
|
+
? prompts.review
|
|
157
|
+
: '';
|
|
158
|
+
return [includeCommon ? prompts.common : '', phasePrompt].filter(Boolean).join('\n');
|
|
159
|
+
}
|
|
131
160
|
function buildTaskBody(args) {
|
|
132
|
-
const { task, phase, workdir, signalToken, imagePaths,
|
|
161
|
+
const { task, phase, workdir, signalToken, imagePaths, platform, includeTaskContext, } = args;
|
|
133
162
|
if (phase === 'post-approve' && !signalToken) {
|
|
134
163
|
throw new Error('post-approve prompt requires signalToken');
|
|
135
164
|
}
|
|
136
|
-
if ((phase === '
|
|
165
|
+
if ((phase === 'develop'
|
|
166
|
+
|| phase === 'code'
|
|
167
|
+
|| phase === 'review'
|
|
168
|
+
|| phase === 'recheck'
|
|
169
|
+
|| phase === 'fix')
|
|
170
|
+
&& !signalToken) {
|
|
137
171
|
throw new Error(`${phase} prompt requires signalToken`);
|
|
138
172
|
}
|
|
139
173
|
const phaseBuilder = PHASE_PROMPT_BUILDERS[phase];
|
|
140
174
|
if (!phaseBuilder) {
|
|
141
175
|
throw new Error(`buildTaskBody: no prompt builder registered for phase "${phase}"`);
|
|
142
176
|
}
|
|
143
|
-
const { fields,
|
|
177
|
+
const { fields, contract } = phaseBuilder({ task });
|
|
144
178
|
const descriptor = [
|
|
179
|
+
`task: ${task.id}`,
|
|
145
180
|
`phase: ${phase}`,
|
|
146
181
|
`workdir: ${workdir}`,
|
|
147
|
-
...
|
|
182
|
+
...platformDescriptorFields(task, phase, platform),
|
|
148
183
|
...fields,
|
|
149
184
|
...(signalToken ? [`token: ${signalToken}`] : []),
|
|
150
185
|
].join('\n');
|
|
151
|
-
const
|
|
152
|
-
?
|
|
153
|
-
|
|
154
|
-
|
|
186
|
+
const taskBlock = includeTaskContext
|
|
187
|
+
? task.description
|
|
188
|
+
? `\n\ntitle: ${task.title}\n\n${task.description}`
|
|
189
|
+
: `\n\ntitle: ${task.title}`
|
|
190
|
+
: '';
|
|
191
|
+
const imagesBlock = includeTaskContext && imagePaths && imagePaths.length > 0
|
|
155
192
|
? '\n\nimages:\n' + imagePaths.map(p => `- ${p}`).join('\n')
|
|
156
193
|
: '';
|
|
157
|
-
const
|
|
158
|
-
|
|
194
|
+
const common = `Baxian keeps this Agent+Task context across phases and owns routing/merge. Stay in workdir on its branch, follow ` +
|
|
195
|
+
`repository rules, and use normal engineering judgment.\n` +
|
|
196
|
+
`Emit each [bx:...] marker as assistant text alone on its own line, with placeholders replaced, only after its ` +
|
|
197
|
+
`conditions hold. For the nth paused human question emit \`[bx:need-input:<token>:<n>]\`; after its answer first ` +
|
|
198
|
+
`emit \`[bx:input-received:<token>:<n>]\`.`;
|
|
199
|
+
const platformPrompt = platform && PLATFORM_TASK_PHASES.has(phase)
|
|
200
|
+
? platformPromptForPhase(phase, platform.prompts, includeTaskContext)
|
|
201
|
+
: '';
|
|
202
|
+
const platformBlock = platformPrompt
|
|
203
|
+
? `\n\nPlatform workflow:\n${platformPrompt}`
|
|
204
|
+
: '';
|
|
205
|
+
const protocolBlock = includeTaskContext ? `\n\nProtocol:\n${common}` : '';
|
|
206
|
+
const body = `${descriptor}${taskBlock}${imagesBlock}\n\nCurrent phase contract:\n${contract}` +
|
|
207
|
+
`${platformBlock}${protocolBlock}\n`;
|
|
159
208
|
if (signalToken) {
|
|
160
209
|
for (const arm of [body, visibleText(body)]) {
|
|
161
210
|
const leaked = scanPhaseSignals(arm).find(s => s.token === signalToken);
|
package/dist/agent/prompt.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../src/agent/prompt.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../src/agent/prompt.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,7 +8,6 @@ export interface RepoStoreCache {
|
|
|
8
8
|
}
|
|
9
9
|
export declare function createRepoStoreCache(): RepoStoreCache;
|
|
10
10
|
export declare function ensureBaxianRuntimeDirsSafe(runner: CommandRunner, absRepoPath: string): Promise<void>;
|
|
11
|
-
export declare function trashBatchDirUnder(trashRoot: string, reason: string): string;
|
|
12
11
|
export declare function trashBatchDir(home: string, agentId: string, reason: string): string;
|
|
13
12
|
export declare function sweepStrayFile(runner: CommandRunner, path: string, batchDir: string): Promise<void>;
|
|
14
13
|
export declare function stageFile(runner: CommandRunner, tmp: string, content: Buffer | string, opts: {
|
|
@@ -25,10 +24,8 @@ export declare class RepoStore {
|
|
|
25
24
|
private cache;
|
|
26
25
|
private agentId;
|
|
27
26
|
private configuredWorkdir?;
|
|
28
|
-
private readonly isGitHub;
|
|
29
|
-
private readonly cloneWithGh;
|
|
30
27
|
private readonly repo;
|
|
31
|
-
constructor(runner: CommandRunner, repo: string, mode: AgentMode, host: HostConfig | undefined, cache: RepoStoreCache, agentId: string, configuredWorkdir?: string | undefined
|
|
28
|
+
constructor(runner: CommandRunner, repo: string, mode: AgentMode, host: HostConfig | undefined, cache: RepoStoreCache, agentId: string, configuredWorkdir?: string | undefined);
|
|
32
29
|
ensure(): Promise<string>;
|
|
33
30
|
refresh(absRepoPath: string): Promise<void>;
|
|
34
31
|
private hostKey;
|
|
@@ -36,7 +33,6 @@ export declare class RepoStore {
|
|
|
36
33
|
private resolveAbsPath;
|
|
37
34
|
private resolveHome;
|
|
38
35
|
private cloneIfNeeded;
|
|
39
|
-
private ghCloneHostEnv;
|
|
40
36
|
private probe;
|
|
41
37
|
private validateClone;
|
|
42
38
|
private ensureBaxianExcluded;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repo-store.d.ts","sourceRoot":"","sources":["../../src/agent/repo-store.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAc,MAAM,aAAa,CAAC;AAS7D,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAGhE,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3B,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;IACrC,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC7B;AAED,wBAAgB,oBAAoB,IAAI,cAAc,CAErD;AAiBD,wBAAsB,2BAA2B,CAC/C,MAAM,EAAE,aAAa,EACrB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC,CA8Cf;
|
|
1
|
+
{"version":3,"file":"repo-store.d.ts","sourceRoot":"","sources":["../../src/agent/repo-store.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAc,MAAM,aAAa,CAAC;AAS7D,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAGhE,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3B,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;IACrC,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC7B;AAED,wBAAgB,oBAAoB,IAAI,cAAc,CAErD;AAiBD,wBAAsB,2BAA2B,CAC/C,MAAM,EAAE,aAAa,EACrB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC,CA8Cf;AAQD,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAEnF;AAyCD,wBAAsB,cAAc,CAAC,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEzG;AAED,wBAAsB,SAAS,CAC7B,MAAM,EAAE,aAAa,EACrB,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,GAAG,MAAM,EACxB,IAAI,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GACxC,OAAO,CAAC,IAAI,CAAC,CA6Bf;AAED,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,aAAa,EACrB,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,EACb,IAAI,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,GACzB,OAAO,CAAC,IAAI,CAAC,CAwCf;AAED,qBAAa,SAAS;IAIlB,OAAO,CAAC,MAAM;IAEd,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,iBAAiB,CAAC;IAT5B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;gBAGpB,MAAM,EAAE,aAAa,EAC7B,IAAI,EAAE,MAAM,EACJ,IAAI,EAAE,SAAS,EACf,IAAI,EAAE,UAAU,GAAG,SAAS,EAC5B,KAAK,EAAE,cAAc,EACrB,OAAO,EAAE,MAAM,EACf,iBAAiB,CAAC,EAAE,MAAM,YAAA;IAK9B,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC;IAuBzB,OAAO,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKjD,OAAO,CAAC,OAAO;IAMf,OAAO,CAAC,cAAc;YAMR,cAAc;YAoBd,WAAW;YA4BX,aAAa;YAkEb,KAAK;YAUL,aAAa;YA8Db,oBAAoB;YAmBpB,qBAAqB;YAiBrB,aAAa;IAsB3B,OAAO,CAAC,aAAa;YAMP,cAAc;YASd,QAAQ;YAIR,YAAY;YAuBZ,cAAc;YA4Ed,gBAAgB;YA8ChB,iBAAiB;YA0BjB,uBAAuB;YAavB,YAAY;YAeZ,aAAa;CAU5B;AAkBD,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAEjE"}
|
package/dist/agent/repo-store.js
CHANGED
|
@@ -2,7 +2,7 @@ import { randomUUID } from 'node:crypto';
|
|
|
2
2
|
import { homedir } from 'node:os';
|
|
3
3
|
import { shellQuote, hostGroupKey, workdirHostGroupKey } from './runner.js';
|
|
4
4
|
import { CLONE_EXEC_TIMEOUT_MS, ExecOutcomeUnknownError, GIT_NET_ENV, execNetwork, execOutcomeUnknown, } from './net-exec.js';
|
|
5
|
-
import {
|
|
5
|
+
import { normalizeRepoUrl, redactGitCredentials } from '../shared/index.js';
|
|
6
6
|
export function createRepoStoreCache() {
|
|
7
7
|
return { homes: new Map(), mutex: new Map(), lastFetchAt: new Map(), owners: new Map() };
|
|
8
8
|
}
|
|
@@ -51,7 +51,7 @@ export async function ensureBaxianRuntimeDirsSafe(runner, absRepoPath) {
|
|
|
51
51
|
+ `${absRepoPath}: ${result.stderr || result.stdout || `exit ${result.exitCode}`}`);
|
|
52
52
|
}
|
|
53
53
|
}
|
|
54
|
-
|
|
54
|
+
function trashBatchDirUnder(trashRoot, reason) {
|
|
55
55
|
const stamp = new Date().toISOString().replace(/[:.]/g, '-');
|
|
56
56
|
return `${trashRoot}/${stamp}-${reason}-${randomUUID().slice(0, 8)}`;
|
|
57
57
|
}
|
|
@@ -167,10 +167,8 @@ export class RepoStore {
|
|
|
167
167
|
cache;
|
|
168
168
|
agentId;
|
|
169
169
|
configuredWorkdir;
|
|
170
|
-
isGitHub;
|
|
171
|
-
cloneWithGh;
|
|
172
170
|
repo;
|
|
173
|
-
constructor(runner, repo, mode, host, cache, agentId, configuredWorkdir
|
|
171
|
+
constructor(runner, repo, mode, host, cache, agentId, configuredWorkdir) {
|
|
174
172
|
this.runner = runner;
|
|
175
173
|
this.mode = mode;
|
|
176
174
|
this.host = host;
|
|
@@ -178,8 +176,6 @@ export class RepoStore {
|
|
|
178
176
|
this.agentId = agentId;
|
|
179
177
|
this.configuredWorkdir = configuredWorkdir;
|
|
180
178
|
this.repo = repo.trim();
|
|
181
|
-
this.isGitHub = isGitHubRepo(this.repo);
|
|
182
|
-
this.cloneWithGh = cloneViaGh ?? this.isGitHub;
|
|
183
179
|
}
|
|
184
180
|
async ensure() {
|
|
185
181
|
const absRepoPath = await this.resolveAbsPath();
|
|
@@ -276,9 +272,7 @@ export class RepoStore {
|
|
|
276
272
|
const mk = await this.runner.exec(`mkdir -p ${shellQuote(parent)}`);
|
|
277
273
|
if (mk.exitCode !== 0)
|
|
278
274
|
throw new Error(`Failed to mkdir ${parent}: ${mk.stderr}`);
|
|
279
|
-
const cloneCmd = this.
|
|
280
|
-
? `${this.ghCloneHostEnv()}${GIT_NET_ENV} gh repo clone ${shellQuote(repoSlug(this.repo))} ${shellQuote(staging)} --no-upstream`
|
|
281
|
-
: `${GIT_NET_ENV} git clone ${shellQuote(this.repo)} ${shellQuote(staging)}`;
|
|
275
|
+
const cloneCmd = `${GIT_NET_ENV} git clone ${shellQuote(this.repo)} ${shellQuote(staging)}`;
|
|
282
276
|
let clone;
|
|
283
277
|
try {
|
|
284
278
|
clone = await execNetwork(this.runner, cloneCmd, {
|
|
@@ -292,13 +286,9 @@ export class RepoStore {
|
|
|
292
286
|
}
|
|
293
287
|
if (clone.exitCode !== 0) {
|
|
294
288
|
await this.trashStaging(staging, `clone exit ${clone.exitCode}`);
|
|
295
|
-
|
|
296
|
-
throw new Error(redactGitCredentials(`${cmd} ${this.repo} failed: ${clone.stderr || clone.stdout}`));
|
|
289
|
+
throw new Error(redactGitCredentials(`git clone ${this.repo} failed: ${clone.stderr || clone.stdout}`));
|
|
297
290
|
}
|
|
298
291
|
await this.promoteStaging(staging, absRepoPath);
|
|
299
|
-
if (this.isGitHub && parseGitRemote(this.repo) !== null) {
|
|
300
|
-
return this.syncMatchingOriginUrl(absRepoPath);
|
|
301
|
-
}
|
|
302
292
|
return false;
|
|
303
293
|
}
|
|
304
294
|
const gitDir = await this.probe(`git rev-parse --resolve-git-dir ${shellQuote(`${absRepoPath}/.git`)}`, `git dir at ${absRepoPath}`);
|
|
@@ -319,16 +309,6 @@ export class RepoStore {
|
|
|
319
309
|
}
|
|
320
310
|
return this.syncMatchingOriginUrl(absRepoPath);
|
|
321
311
|
}
|
|
322
|
-
ghCloneHostEnv() {
|
|
323
|
-
let host = 'github.com';
|
|
324
|
-
if (!this.isGitHub) {
|
|
325
|
-
const parts = parseRepoUrlParts(this.repo);
|
|
326
|
-
host = parts === null
|
|
327
|
-
? undefined
|
|
328
|
-
: parts.port === '' ? parts.hostname : `${parts.hostname}:${parts.port}`;
|
|
329
|
-
}
|
|
330
|
-
return host === undefined ? '' : `GH_HOST=${shellQuote(host)} `;
|
|
331
|
-
}
|
|
332
312
|
async probe(cmd, what) {
|
|
333
313
|
const result = await this.runner.exec(cmd);
|
|
334
314
|
if (result.exitCode !== 0 && execOutcomeUnknown(result)) {
|
|
@@ -408,8 +388,6 @@ export class RepoStore {
|
|
|
408
388
|
return this.syncOriginUrl(absRepoPath, originUrl);
|
|
409
389
|
}
|
|
410
390
|
async syncOriginUrl(absRepoPath, originUrl) {
|
|
411
|
-
if (parseGitRemote(this.repo) === null)
|
|
412
|
-
return false;
|
|
413
391
|
if (!accessMethodDiffers(this.repo, originUrl))
|
|
414
392
|
return false;
|
|
415
393
|
const unset = await this.probe(`git -C ${shellQuote(absRepoPath)} config --unset-all remote.origin.pushurl`, `remote.origin.pushurl removal at ${absRepoPath}`);
|
|
@@ -423,12 +401,9 @@ export class RepoStore {
|
|
|
423
401
|
return true;
|
|
424
402
|
}
|
|
425
403
|
originMatches(originUrl) {
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
const want = parseGitRemote(this.repo);
|
|
430
|
-
const got = parseGitRemote(originUrl);
|
|
431
|
-
return want !== null && got !== null && want.host === got.host && want.path === got.path;
|
|
404
|
+
const expected = normalizeRepoUrl(this.repo);
|
|
405
|
+
const actual = normalizeRepoUrl(originUrl);
|
|
406
|
+
return expected !== null && actual !== null && expected.toLowerCase() === actual.toLowerCase();
|
|
432
407
|
}
|
|
433
408
|
async probeDirExists(absRepoPath) {
|
|
434
409
|
const probe = await this.probe(`test -d ${shellQuote(absRepoPath)}`, `workdir ${absRepoPath}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repo-store.js","sourceRoot":"","sources":["../../src/agent/repo-store.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"repo-store.js","sourceRoot":"","sources":["../../src/agent/repo-store.ts"],"names":[],"mappings":"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"}
|