@devcxl/opencode-cabbage 1.1.0 → 1.3.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/.codex-plugin/plugin.json +36 -0
- package/README.md +53 -25
- package/README.zh.md +23 -23
- package/assets/agents/dev-lifecycle.md +208 -68
- package/assets/agents/team/architect.md +22 -7
- package/assets/agents/team/developer.md +13 -6
- package/assets/agents/team/goal-verify.md +4 -1
- package/assets/agents/team/researcher.md +59 -0
- package/assets/agents/team/reviewer.md +34 -18
- package/assets/commands/setup.md +1 -1
- package/assets/prompts/bootstrap.md +10 -9
- package/assets/prompts/stage-contract.md +25 -25
- package/assets/skills/flow-code/SKILL.md +23 -25
- package/assets/skills/flow-design/SKILL.md +94 -26
- package/assets/skills/flow-release/SKILL.md +41 -17
- package/assets/skills/flow-requirements/SKILL.md +19 -13
- package/assets/skills/flow-research/SKILL.md +77 -0
- package/assets/skills/flow-review/SKILL.md +55 -25
- package/assets/skills/flow-setup/SKILL.md +27 -24
- package/assets/skills/flow-tasks/SKILL.md +178 -35
- package/assets/skills/flow-tdd/SKILL.md +68 -40
- package/codex-skills/agent-architect/SKILL.md +79 -0
- package/codex-skills/agent-dev-lifecycle/SKILL.md +309 -0
- package/codex-skills/agent-developer/SKILL.md +51 -0
- package/codex-skills/agent-goal-verify/SKILL.md +45 -0
- package/codex-skills/agent-researcher/SKILL.md +32 -0
- package/codex-skills/agent-reviewer/SKILL.md +109 -0
- package/codex-skills/flow-code/SKILL.md +71 -0
- package/codex-skills/flow-design/SKILL.md +146 -0
- package/codex-skills/flow-release/SKILL.md +90 -0
- package/codex-skills/flow-requirements/SKILL.md +90 -0
- package/codex-skills/flow-research/SKILL.md +77 -0
- package/codex-skills/flow-review/SKILL.md +110 -0
- package/codex-skills/flow-setup/SKILL.md +75 -0
- package/codex-skills/flow-tasks/SKILL.md +220 -0
- package/codex-skills/flow-tdd/SKILL.md +235 -0
- package/dist/hooks/session-start.d.ts +1 -0
- package/dist/hooks/session-start.js +72 -0
- package/dist/hooks/session-start.js.map +1 -0
- package/dist/kernel/session-index.d.ts +8 -25
- package/dist/kernel/session-index.js +5 -55
- package/dist/kernel/session-index.js.map +1 -1
- package/dist/plugin/bootstrap.d.ts +0 -1
- package/dist/plugin/bootstrap.js +0 -3
- package/dist/plugin/bootstrap.js.map +1 -1
- package/dist/plugin/goal-store.d.ts +71 -0
- package/dist/plugin/goal-store.js +54 -0
- package/dist/plugin/goal-store.js.map +1 -0
- package/dist/plugin/goal.d.ts +47 -13
- package/dist/plugin/goal.js +228 -128
- package/dist/plugin/goal.js.map +1 -1
- package/dist/plugin/prompt-lint.js +3 -11
- package/dist/plugin/prompt-lint.js.map +1 -1
- package/dist/plugin/prompts.d.ts +0 -1
- package/dist/plugin/prompts.js +0 -4
- package/dist/plugin/prompts.js.map +1 -1
- package/dist/plugin/server.d.ts +3 -5
- package/dist/plugin/server.js +247 -155
- package/dist/plugin/server.js.map +1 -1
- package/dist/plugin/skills.d.ts +7 -1
- package/dist/plugin/skills.js +75 -12
- package/dist/plugin/skills.js.map +1 -1
- package/dist/plugin.d.ts +0 -1
- package/dist/plugin.js +1 -4
- package/dist/plugin.js.map +1 -1
- package/dist/util/gh.d.ts +0 -11
- package/dist/util/gh.js +0 -14
- package/dist/util/gh.js.map +1 -1
- package/dist/util/paths.d.ts +0 -14
- package/dist/util/paths.js +0 -69
- package/dist/util/paths.js.map +1 -1
- package/hooks/hooks.json +17 -0
- package/package.json +12 -4
- package/assets/prompts/ADR-FORMAT.md +0 -45
- package/assets/prompts/PRD-FORMAT.md +0 -17
- package/assets/templates/gitignore +0 -5
- package/dist/kernel/caller.d.ts +0 -48
- package/dist/kernel/caller.js +0 -88
- package/dist/kernel/caller.js.map +0 -1
- package/dist/kernel/flow.d.ts +0 -175
- package/dist/kernel/flow.js +0 -467
- package/dist/kernel/flow.js.map +0 -1
- package/dist/kernel/legacy.d.ts +0 -19
- package/dist/kernel/legacy.js +0 -34
- package/dist/kernel/legacy.js.map +0 -1
- package/dist/kernel/records.d.ts +0 -103
- package/dist/kernel/records.js +0 -240
- package/dist/kernel/records.js.map +0 -1
- package/dist/kernel/release.d.ts +0 -106
- package/dist/kernel/release.js +0 -241
- package/dist/kernel/release.js.map +0 -1
- package/dist/kernel/review.d.ts +0 -34
- package/dist/kernel/review.js +0 -82
- package/dist/kernel/review.js.map +0 -1
- package/dist/kernel/setup.d.ts +0 -95
- package/dist/kernel/setup.js +0 -401
- package/dist/kernel/setup.js.map +0 -1
- package/dist/kernel/slug.d.ts +0 -23
- package/dist/kernel/slug.js +0 -67
- package/dist/kernel/slug.js.map +0 -1
- package/dist/kernel/task.d.ts +0 -213
- package/dist/kernel/task.js +0 -873
- package/dist/kernel/task.js.map +0 -1
- package/dist/kernel/tdd/adapter.d.ts +0 -49
- package/dist/kernel/tdd/adapter.js +0 -294
- package/dist/kernel/tdd/adapter.js.map +0 -1
- package/dist/kernel/tdd/digest.d.ts +0 -18
- package/dist/kernel/tdd/digest.js +0 -303
- package/dist/kernel/tdd/digest.js.map +0 -1
- package/dist/kernel/tdd/evaluator.d.ts +0 -38
- package/dist/kernel/tdd/evaluator.js +0 -185
- package/dist/kernel/tdd/evaluator.js.map +0 -1
- package/dist/kernel/tdd/evidence.d.ts +0 -42
- package/dist/kernel/tdd/evidence.js +0 -48
- package/dist/kernel/tdd/evidence.js.map +0 -1
- package/dist/kernel/tdd/state.d.ts +0 -79
- package/dist/kernel/tdd/state.js +0 -363
- package/dist/kernel/tdd/state.js.map +0 -1
- package/dist/kernel/types.d.ts +0 -180
- package/dist/kernel/types.js +0 -2
- package/dist/kernel/types.js.map +0 -1
- package/dist/kernel/worktree.d.ts +0 -45
- package/dist/kernel/worktree.js +0 -156
- package/dist/kernel/worktree.js.map +0 -1
- package/dist/plugin/flow-control.d.ts +0 -91
- package/dist/plugin/flow-control.js +0 -287
- package/dist/plugin/flow-control.js.map +0 -1
- package/dist/plugin/release-control.d.ts +0 -39
- package/dist/plugin/release-control.js +0 -343
- package/dist/plugin/release-control.js.map +0 -1
- package/dist/plugin/setup-control.d.ts +0 -59
- package/dist/plugin/setup-control.js +0 -111
- package/dist/plugin/setup-control.js.map +0 -1
- package/dist/plugin/task-control.d.ts +0 -90
- package/dist/plugin/task-control.js +0 -208
- package/dist/plugin/task-control.js.map +0 -1
- package/dist/plugin/tdd-checkpoint.d.ts +0 -128
- package/dist/plugin/tdd-checkpoint.js +0 -664
- package/dist/plugin/tdd-checkpoint.js.map +0 -1
- package/dist/util/shell.d.ts +0 -1
- package/dist/util/shell.js +0 -4
- package/dist/util/shell.js.map +0 -1
package/dist/plugin/goal.js
CHANGED
|
@@ -1,12 +1,18 @@
|
|
|
1
1
|
import { tool } from "@opencode-ai/plugin/tool";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
|
|
2
|
+
import { bindSession, updateFlowSession, removeFlowSession } from "../kernel/session-index.js";
|
|
3
|
+
import { KeyedMutex } from "../kernel/mutex.js";
|
|
4
|
+
import { resolveProjectDir } from "../util/paths.js";
|
|
5
|
+
/** goal 会话级串行锁:所有读改写统一经 mutateGoal 走该锁,防并发丢失更新 */
|
|
6
|
+
const goalMutex = new KeyedMutex();
|
|
7
|
+
export function createGoal(parentIssueNumber, sessionProfile, tokenBudget) {
|
|
5
8
|
return {
|
|
6
9
|
parentIssueNumber,
|
|
7
10
|
status: "active",
|
|
8
11
|
continuationCount: 0,
|
|
9
12
|
...(sessionProfile ? { sessionProfile } : {}),
|
|
13
|
+
...(tokenBudget ? { tokenBudget } : {}),
|
|
14
|
+
tokensUsed: 0,
|
|
15
|
+
createdAt: Date.now(),
|
|
10
16
|
};
|
|
11
17
|
}
|
|
12
18
|
export function canTransitionTo(goal, target) {
|
|
@@ -18,15 +24,54 @@ export function canTransitionTo(goal, target) {
|
|
|
18
24
|
}
|
|
19
25
|
}
|
|
20
26
|
export function formatGoal(goal) {
|
|
27
|
+
const budgetLine = typeof goal.tokenBudget === "number"
|
|
28
|
+
? `Tokens: ${goal.tokensUsed ?? 0}/${goal.tokenBudget}`
|
|
29
|
+
: "";
|
|
21
30
|
return [
|
|
22
31
|
`Flow: #${goal.parentIssueNumber}`,
|
|
23
32
|
`Status: ${goal.status}`,
|
|
24
33
|
`Continuations: ${goal.continuationCount}`,
|
|
25
34
|
goal.sessionProfile ? `Agent: ${goal.sessionProfile.agent}` : "",
|
|
35
|
+
budgetLine,
|
|
26
36
|
`Objective/acceptance: read from Flow Record (Parent Issue #${goal.parentIssueNumber})`,
|
|
27
37
|
].filter(Boolean).join("\n");
|
|
28
38
|
}
|
|
29
39
|
export const MAX_CONTINUATIONS = 50;
|
|
40
|
+
/**
|
|
41
|
+
* 单条消息的 token 快照 = input + reasoning + cache.read + output。
|
|
42
|
+
* 与 OpenChamber 记账同源:OpenCode 每轮的 cache.read 已含此前所有轮次付费 token,
|
|
43
|
+
* 最新完成轮的快照即整段成本,无需跨消息求和。reasoning 也计费,护栏方向偏严。
|
|
44
|
+
*/
|
|
45
|
+
export function snapshotTokenTotal(tokens) {
|
|
46
|
+
if (!tokens || typeof tokens !== "object")
|
|
47
|
+
return 0;
|
|
48
|
+
const t = tokens;
|
|
49
|
+
const input = typeof t.input === "number" && Number.isFinite(t.input) ? Math.max(0, t.input) : 0;
|
|
50
|
+
const output = typeof t.output === "number" && Number.isFinite(t.output) ? Math.max(0, t.output) : 0;
|
|
51
|
+
const reasoning = typeof t.reasoning === "number" && Number.isFinite(t.reasoning) ? Math.max(0, t.reasoning) : 0;
|
|
52
|
+
const cacheRead = typeof t.cache?.read === "number" && Number.isFinite(t.cache.read) ? Math.max(0, t.cache.read) : 0;
|
|
53
|
+
return input + reasoning + cacheRead + output;
|
|
54
|
+
}
|
|
55
|
+
/** token 预算护栏:达到或超过预算即应暂停(null 表示未设预算) */
|
|
56
|
+
export function budgetReached(goal) {
|
|
57
|
+
return typeof goal.tokenBudget === "number" && (goal.tokensUsed ?? 0) >= goal.tokenBudget;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* 识别 agent 在续接回复中输出的显式阻塞报告(continuationPrompt 要求格式:
|
|
61
|
+
* 无法推进时必须输出 [BLOCKED: <原因>])。大小写与空白容错。
|
|
62
|
+
*/
|
|
63
|
+
export const BLOCKED_REPORT_RE = /\[BLOCKED\s*:\s*\S/i;
|
|
64
|
+
export function isBlockedReport(text) {
|
|
65
|
+
return BLOCKED_REPORT_RE.test(String(text ?? ""));
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* 识别 agent 的显式完成报告(continuationPrompt 要求格式:[DONE: <摘要>])。
|
|
69
|
+
* 命中 → goal 暂停并提示用户派 goal-verify 做最终独立验证(与 [BLOCKED:] 对称)。
|
|
70
|
+
*/
|
|
71
|
+
export const DONE_REPORT_RE = /\[DONE\s*:\s*\S/i;
|
|
72
|
+
export function isDoneReport(text) {
|
|
73
|
+
return DONE_REPORT_RE.test(String(text ?? ""));
|
|
74
|
+
}
|
|
30
75
|
export function continuationPrompt(parentIssueNumber) {
|
|
31
76
|
return `Continue working toward the active goal.
|
|
32
77
|
|
|
@@ -37,72 +82,39 @@ Read the Flow Record (Parent Issue #${parentIssueNumber}) for the objective and
|
|
|
37
82
|
</flow_issue>
|
|
38
83
|
|
|
39
84
|
Work from evidence — inspect the current state before relying on anything.
|
|
40
|
-
If the work is not done, just keep working. Do not narrate that you are continuing — execute
|
|
41
|
-
}
|
|
42
|
-
export function verifyAgentPrompt() {
|
|
43
|
-
return `You are the goal-verify agent. Your ONLY job is to determine whether a goal has been fully achieved by inspecting the current state.
|
|
44
|
-
|
|
45
|
-
You are the only agent authorized to call goal({op:"complete"}). Other agents (reviewer, developer, architect) cannot complete the goal.
|
|
46
|
-
|
|
47
|
-
You start with a FRESH context — do not assume any prior work was done correctly.
|
|
48
|
-
|
|
49
|
-
First step: Call goal({op:"get"}) to retrieve the active flow's parent issue number, then read the Flow Record (Parent Issue body) for the objective and completion criteria.
|
|
85
|
+
If the work is not done, just keep working. Do not narrate that you are continuing — execute.
|
|
50
86
|
|
|
51
|
-
|
|
87
|
+
Blocking protocol: if you genuinely cannot make further progress without the user
|
|
88
|
+
(missing credentials, a missing decision, or a hard external failure), start your
|
|
89
|
+
reply with the exact marker [BLOCKED: reason] and state the blocking condition.
|
|
90
|
+
Do not use the marker merely because the work is hard, slow, or uncertain —
|
|
91
|
+
only for real blockers that need the user.
|
|
52
92
|
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
- Read full files — not just snippets
|
|
60
|
-
- Run tests, builds, lint
|
|
61
|
-
- Check imports, exports, types resolve correctly
|
|
62
|
-
5. Classify each finding: SATISFIED / NOT SATISFIED / UNCERTAIN
|
|
63
|
-
6. If ALL requirements are SATISFIED:
|
|
64
|
-
Call goal({op:"complete"}) — only you can do this
|
|
65
|
-
7. If ANY requirement is NOT SATISFIED or UNCERTAIN:
|
|
66
|
-
Do NOT call goal({op:"complete"}). Return a detailed report.
|
|
67
|
-
|
|
68
|
-
---
|
|
69
|
-
|
|
70
|
-
Do not create or modify any files. You are a read-only verifier.`;
|
|
93
|
+
Completion protocol: when you believe every acceptance criterion of the Flow
|
|
94
|
+
Record is verifiably met, run the relevant verification (tests, build, checks)
|
|
95
|
+
instead of claiming it. If verification passes, end your reply with the exact
|
|
96
|
+
marker [DONE: short summary of what was verified]. Do not use the marker unless
|
|
97
|
+
you actually ran the verification and it passed — the goal will pause for an
|
|
98
|
+
independent goal-verify pass.`;
|
|
71
99
|
}
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
100
|
+
/**
|
|
101
|
+
* 带锁的 goal 读-改-写单一入口:同一 sessionID 的操作串行,杜绝并发丢失更新。
|
|
102
|
+
* fn 接收当前 goal 与宿主会话,返回写回的 goal(null 表示删除)与调用方结果 value。
|
|
103
|
+
* 当前无 goal 且 fn 也返回 null 时跳过写回(避免对不存在 goal 的无谓删除/写入)。
|
|
104
|
+
*/
|
|
105
|
+
export async function mutateGoal(store, sessionID, fn) {
|
|
106
|
+
return goalMutex.runExclusive(sessionID, async () => {
|
|
107
|
+
const current = await store.read(sessionID);
|
|
108
|
+
const { goal: next, value } = await fn(current.goal, current.session);
|
|
109
|
+
if (next !== null || current.goal !== null) {
|
|
110
|
+
await store.write(sessionID, next, current.session);
|
|
111
|
+
}
|
|
112
|
+
return value;
|
|
81
113
|
});
|
|
82
114
|
}
|
|
83
|
-
export
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
const session = result?.data ?? null;
|
|
87
|
-
if (!session?.metadata?.goal)
|
|
88
|
-
return { goal: null, session };
|
|
89
|
-
return { goal: session.metadata.goal, session };
|
|
90
|
-
}
|
|
91
|
-
catch {
|
|
92
|
-
return { goal: null, session: null };
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
export async function writeGoal(client, sessionID, goal, existingSession) {
|
|
96
|
-
const session = existingSession ?? (await readGoal(client, sessionID)).session;
|
|
97
|
-
if (!session)
|
|
98
|
-
throw new Error("Failed to get session");
|
|
99
|
-
const existing = session.metadata ?? {};
|
|
100
|
-
const metadata = goal === null
|
|
101
|
-
? Object.fromEntries(Object.entries(existing).filter(([k]) => k !== "goal"))
|
|
102
|
-
: { ...existing, goal };
|
|
103
|
-
await client.session.update({ sessionID, metadata });
|
|
104
|
-
}
|
|
105
|
-
export function createGoalTool(client) {
|
|
115
|
+
export function createGoalTool(store, projectDirFallback) {
|
|
116
|
+
/** 会话级项目目录:优先 ToolContext.directory,退化到插件级 projectDir(异常会话下避免写入根目录) */
|
|
117
|
+
const sessionProjectDir = (ctxDirectory) => resolveProjectDir(ctxDirectory, projectDirFallback ?? "");
|
|
106
118
|
return tool({
|
|
107
119
|
description: `Manage the active goal-mode objective (minimal: parentIssueNumber/status/continuationCount).
|
|
108
120
|
|
|
@@ -114,15 +126,17 @@ Use a single op field:
|
|
|
114
126
|
- pause: pauses the active goal.
|
|
115
127
|
- complete: marks the goal as completed. Follow the returned instructions.`,
|
|
116
128
|
args: {
|
|
117
|
-
op: tool.schema.enum(["create", "get", "complete", "resume", "cancel", "pause"]).describe("Goal operation"),
|
|
118
|
-
parent_issue_number: tool.schema.number().describe("Parent GitHub Issue number of the Flow Record (required for create)"),
|
|
129
|
+
op: tool.schema.enum(["create", "get", "complete", "resume", "cancel", "pause", "edit"]).describe("Goal operation"),
|
|
130
|
+
parent_issue_number: tool.schema.number().optional().describe("Parent GitHub Issue number of the Flow Record (required for create; editable via edit)"),
|
|
131
|
+
token_budget: tool.schema.number().optional().describe("Optional token budget guardrail; goal auto-pauses when tokensUsed reaches it. Pass 0 via edit to remove the budget"),
|
|
119
132
|
},
|
|
120
133
|
async execute(args, ctx) {
|
|
121
134
|
const sessionID = ctx.sessionID;
|
|
122
|
-
|
|
123
|
-
const
|
|
124
|
-
const
|
|
125
|
-
|
|
135
|
+
// 只读判断:当前会话是否为子 agent、目标会话(父会话)ID
|
|
136
|
+
const { session } = await store.read(sessionID);
|
|
137
|
+
const isSubAgent = !!session?.parentID;
|
|
138
|
+
const targetSessionID = session?.parentID ?? sessionID;
|
|
139
|
+
if (isSubAgent && ["create", "pause", "resume", "cancel", "edit"].includes(args.op)) {
|
|
126
140
|
return `Error: sub-agents cannot call goal({op:"${args.op}"}). Goal lifecycle operations are restricted to the main session.`;
|
|
127
141
|
}
|
|
128
142
|
if (isSubAgent && args.op === "complete") {
|
|
@@ -130,76 +144,162 @@ Use a single op field:
|
|
|
130
144
|
if (agentName !== "goal-verify") {
|
|
131
145
|
return `Error: only the goal-verify agent can complete the goal. Agent "${agentName}" is not authorized.`;
|
|
132
146
|
}
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
147
|
+
return mutateGoal(store, targetSessionID, async (goal) => {
|
|
148
|
+
if (!goal)
|
|
149
|
+
return { goal, value: "No goal to complete in the parent session." };
|
|
150
|
+
if (goal.status !== "active") {
|
|
151
|
+
return { goal, value: `Parent session goal is not active (status: ${goal.status}).` };
|
|
152
|
+
}
|
|
153
|
+
goal.status = "complete";
|
|
154
|
+
// flow 级持久化:complete-flow 可跨会话识别验证完成(不依赖 index 会话一致性)
|
|
155
|
+
try {
|
|
156
|
+
await updateFlowSession(sessionProjectDir(ctx.directory), goal.parentIssueNumber, { goalComplete: true });
|
|
157
|
+
}
|
|
158
|
+
catch {
|
|
159
|
+
// 索引写入失败不阻塞 goal 完成(goal 本身已持久化)
|
|
160
|
+
}
|
|
161
|
+
return { goal, value: `Goal completed and verified: Flow #${goal.parentIssueNumber}` };
|
|
162
|
+
});
|
|
149
163
|
}
|
|
150
164
|
switch (args.op) {
|
|
151
|
-
case "create":
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
165
|
+
case "create":
|
|
166
|
+
return mutateGoal(store, sessionID, async (goal) => {
|
|
167
|
+
if (goal?.status === "active") {
|
|
168
|
+
// 必须返回原 goal(不能返回 null):mutateGoal 在 next===null 且 current 非 null
|
|
169
|
+
// 时会删除现有 goal,错误分支返回 null 等于把活动 goal 取消了
|
|
170
|
+
return { goal, value: `Error: an active goal already exists for Flow #${goal.parentIssueNumber}` };
|
|
171
|
+
}
|
|
172
|
+
const parentIssue = Number(args.parent_issue_number);
|
|
173
|
+
if (!Number.isInteger(parentIssue) || parentIssue <= 0) {
|
|
174
|
+
const got = args.parent_issue_number === undefined ? "" : ` (got: ${args.parent_issue_number})`;
|
|
175
|
+
return { goal, value: `Error: parent_issue_number is required (positive integer)${got}` };
|
|
176
|
+
}
|
|
177
|
+
// 快照创建时的 agent(模型由 message.updated 用户消息事件补充)
|
|
178
|
+
const created = createGoal(parentIssue, { agent: ctx.agent }, typeof args.token_budget === "number" && Number.isFinite(args.token_budget) && args.token_budget > 0
|
|
179
|
+
? Math.floor(args.token_budget)
|
|
180
|
+
: undefined);
|
|
181
|
+
// 记账基线:create 时点的最新完成 assistant 轮快照(快照法排除 goal 前历史消耗)。
|
|
182
|
+
// 拉取失败/无历史 → baseline 0(护栏方向保守:把可见历史计入)。
|
|
183
|
+
try {
|
|
184
|
+
const messages = await store.messages(sessionID, 40);
|
|
185
|
+
let baseline = 0;
|
|
186
|
+
for (const message of messages ?? []) {
|
|
187
|
+
const info = message?.info;
|
|
188
|
+
if (info?.role !== "assistant")
|
|
189
|
+
continue;
|
|
190
|
+
if (!(info.time?.completed && info.time.completed > 0) || info.time.completed > created.createdAt)
|
|
191
|
+
continue;
|
|
192
|
+
baseline = Math.max(baseline, snapshotTokenTotal(info.tokens));
|
|
193
|
+
}
|
|
194
|
+
created.tokensBaseline = baseline;
|
|
195
|
+
}
|
|
196
|
+
catch {
|
|
197
|
+
created.tokensBaseline = 0;
|
|
198
|
+
}
|
|
199
|
+
// flow 级绑定:供插件重启后的 autoResume 恢复 active goal
|
|
200
|
+
try {
|
|
201
|
+
await bindSession(sessionProjectDir(ctx.directory), created.parentIssueNumber, sessionID);
|
|
202
|
+
}
|
|
203
|
+
catch {
|
|
204
|
+
// 索引写入失败不阻塞 goal 创建(goal 本身已持久化在 session metadata)
|
|
205
|
+
}
|
|
206
|
+
return { goal: created, value: `Goal created: Flow #${created.parentIssueNumber}\nStatus: active` };
|
|
207
|
+
});
|
|
163
208
|
case "get": {
|
|
164
|
-
const { goal } = await
|
|
209
|
+
const { goal } = await store.read(targetSessionID);
|
|
165
210
|
return goal ? formatGoal(goal) : "No active goal.";
|
|
166
211
|
}
|
|
167
212
|
case "complete": {
|
|
168
|
-
const { goal } = await
|
|
213
|
+
const { goal } = await store.read(sessionID);
|
|
169
214
|
if (!goal)
|
|
170
215
|
return "No active goal.";
|
|
171
216
|
if (goal.status !== "active")
|
|
172
217
|
return `Goal is not active (status: ${goal.status}).`;
|
|
173
218
|
return `BLOCKED: Call the goal-verify sub-agent via the Task tool. Only the sub-agent can complete verification.`;
|
|
174
219
|
}
|
|
175
|
-
case "resume":
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
case "cancel":
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
220
|
+
case "resume":
|
|
221
|
+
return mutateGoal(store, sessionID, async (goal) => {
|
|
222
|
+
if (!goal)
|
|
223
|
+
return { goal, value: "No goal to resume." };
|
|
224
|
+
if (!canTransitionTo(goal, "active"))
|
|
225
|
+
return { goal, value: `Goal cannot be resumed (status: ${goal.status}).` };
|
|
226
|
+
goal.status = "active";
|
|
227
|
+
goal.continuationCount = 0;
|
|
228
|
+
// kickoff 信号:resume 后首次 tick 豁免 [BLOCKED:] 检测,防止被旧报告立即再次暂停
|
|
229
|
+
goal.statusReason = "resumed";
|
|
230
|
+
return { goal, value: `Goal resumed: Flow #${goal.parentIssueNumber}\nStatus: active` };
|
|
231
|
+
});
|
|
232
|
+
case "pause":
|
|
233
|
+
return mutateGoal(store, sessionID, async (goal) => {
|
|
234
|
+
if (!goal)
|
|
235
|
+
return { goal, value: "No goal to pause." };
|
|
236
|
+
if (!canTransitionTo(goal, "paused"))
|
|
237
|
+
return { goal, value: `Goal cannot be paused (status: ${goal.status}).` };
|
|
238
|
+
goal.status = "paused";
|
|
239
|
+
return { goal, value: `Goal paused: Flow #${goal.parentIssueNumber}\nStatus: paused` };
|
|
240
|
+
});
|
|
241
|
+
case "cancel":
|
|
242
|
+
return mutateGoal(store, sessionID, async (goal) => {
|
|
243
|
+
if (!goal)
|
|
244
|
+
return { goal, value: "No goal to cancel." };
|
|
245
|
+
// 同步清除 session-index entry,避免重启 autoResume 恢复已取消 goal
|
|
246
|
+
try {
|
|
247
|
+
await removeFlowSession(sessionProjectDir(ctx.directory), goal.parentIssueNumber);
|
|
248
|
+
}
|
|
249
|
+
catch {
|
|
250
|
+
// 索引清理失败不阻塞取消(goal 本身已移除)
|
|
251
|
+
}
|
|
252
|
+
return { goal: null, value: `Goal cancelled: Flow #${goal.parentIssueNumber}` };
|
|
253
|
+
});
|
|
254
|
+
case "edit":
|
|
255
|
+
return mutateGoal(store, sessionID, async (goal) => {
|
|
256
|
+
if (!goal)
|
|
257
|
+
return { goal, value: "No goal to edit." };
|
|
258
|
+
if (goal.status === "complete") {
|
|
259
|
+
return { goal, value: "Error: completed goals are read-only. Remove the goal and create a new one." };
|
|
260
|
+
}
|
|
261
|
+
const budgetGiven = typeof args.token_budget === "number"
|
|
262
|
+
&& Number.isFinite(args.token_budget)
|
|
263
|
+
&& args.token_budget > 0;
|
|
264
|
+
const budgetRemoved = args.token_budget === 0;
|
|
265
|
+
const nextParent = typeof args.parent_issue_number === "number"
|
|
266
|
+
&& Number.isFinite(args.parent_issue_number)
|
|
267
|
+
&& args.parent_issue_number > 0
|
|
268
|
+
? Math.floor(args.parent_issue_number)
|
|
269
|
+
: null;
|
|
270
|
+
if (!budgetGiven && !budgetRemoved && nextParent === null) {
|
|
271
|
+
return { goal, value: "Error: nothing to edit — pass parent_issue_number and/or token_budget" };
|
|
272
|
+
}
|
|
273
|
+
if (budgetGiven)
|
|
274
|
+
goal.tokenBudget = Math.floor(args.token_budget);
|
|
275
|
+
if (budgetRemoved)
|
|
276
|
+
delete goal.tokenBudget;
|
|
277
|
+
if (nextParent !== null && nextParent !== goal.parentIssueNumber) {
|
|
278
|
+
const oldParent = goal.parentIssueNumber;
|
|
279
|
+
goal.parentIssueNumber = nextParent;
|
|
280
|
+
// 换 Flow:旧目标的记账/基线/创建时刻全部重置(新目标从 edit 时点起算)。
|
|
281
|
+
// createdAt 必须更新——否则下一 tick 用旧 createdAt 重新初始化 baseline 时,
|
|
282
|
+
// 会把旧 Flow 期间的消息(completed > 旧 createdAt)计入新 Flow 预算。
|
|
283
|
+
goal.tokensUsed = 0;
|
|
284
|
+
delete goal.tokensBaseline;
|
|
285
|
+
goal.createdAt = Date.now();
|
|
286
|
+
try {
|
|
287
|
+
await bindSession(sessionProjectDir(ctx.directory), goal.parentIssueNumber, sessionID);
|
|
288
|
+
}
|
|
289
|
+
catch (error) {
|
|
290
|
+
// 新 Flow 索引绑定失败:新 entry 缺失,重启 autoResume 无法恢复新 goal
|
|
291
|
+
console.warn(`[cabbage] goal edit: bindSession #${goal.parentIssueNumber} failed:`, error?.message ?? error);
|
|
292
|
+
}
|
|
293
|
+
try {
|
|
294
|
+
await removeFlowSession(sessionProjectDir(ctx.directory), oldParent);
|
|
295
|
+
}
|
|
296
|
+
catch (error) {
|
|
297
|
+
// 旧 entry 清理失败:残留 active entry 会在重启时被 autoResume 一致性自愈清理
|
|
298
|
+
console.warn(`[cabbage] goal edit: removeFlowSession #${oldParent} failed:`, error?.message ?? error);
|
|
299
|
+
}
|
|
300
|
+
}
|
|
301
|
+
return { goal, value: `Goal updated: Flow #${goal.parentIssueNumber}\nStatus: ${goal.status}` };
|
|
302
|
+
});
|
|
203
303
|
default:
|
|
204
304
|
return `Error: unknown operation "${args.op}"`;
|
|
205
305
|
}
|
package/dist/plugin/goal.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"goal.js","sourceRoot":"","sources":["../../src/plugin/goal.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"goal.js","sourceRoot":"","sources":["../../src/plugin/goal.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@ import { globSync, readdirSync } from "node:fs";
|
|
|
2
2
|
import { readFileSync, existsSync } from "node:fs";
|
|
3
3
|
import path from "node:path";
|
|
4
4
|
import { parse as parseYaml } from "yaml";
|
|
5
|
+
import { permissionPatternMatches } from "../kernel/permission.js";
|
|
5
6
|
const CONTRACT_SECTIONS = [
|
|
6
7
|
"Trigger", "Inputs", "Preconditions", "Procedure",
|
|
7
8
|
"Outputs", "Failure", "Idempotency", "Prohibited Actions",
|
|
@@ -212,17 +213,8 @@ function isReviewerAgent(filePath) {
|
|
|
212
213
|
return filePath.includes("reviewer");
|
|
213
214
|
}
|
|
214
215
|
function permissionKeyMatchesCommand(key, command) {
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
if (key === command)
|
|
218
|
-
return true;
|
|
219
|
-
if (key.endsWith("*")) {
|
|
220
|
-
const prefix = key.slice(0, -1).trim();
|
|
221
|
-
if (prefix.length === 0)
|
|
222
|
-
return false;
|
|
223
|
-
return command === prefix || command.startsWith(prefix + " ");
|
|
224
|
-
}
|
|
225
|
-
return false;
|
|
216
|
+
// 复用 kernel/permission.ts 的匹配语义(含 `*` 全匹配、`前缀*` 前缀匹配、glob),避免双实现漂移
|
|
217
|
+
return permissionPatternMatches(key, command);
|
|
226
218
|
}
|
|
227
219
|
function permissionValueAllowsCommand(permValue, commandPattern) {
|
|
228
220
|
if (typeof permValue === "string") {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompt-lint.js","sourceRoot":"","sources":["../../src/plugin/prompt-lint.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"prompt-lint.js","sourceRoot":"","sources":["../../src/plugin/prompt-lint.ts"],"names":[],"mappings":"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"}
|
package/dist/plugin/prompts.d.ts
CHANGED
package/dist/plugin/prompts.js
CHANGED
|
@@ -8,10 +8,6 @@ export function initPrompts(packageRoot, projectDir) {
|
|
|
8
8
|
_packageRoot = packageRoot;
|
|
9
9
|
_projectDir = projectDir;
|
|
10
10
|
}
|
|
11
|
-
export function resetPrompts() {
|
|
12
|
-
_packageRoot = "";
|
|
13
|
-
_projectDir = "";
|
|
14
|
-
}
|
|
15
11
|
export async function loadPrompt(name) {
|
|
16
12
|
const projectPath = path.join(_projectDir, ".opencode", PLUGIN_ID, "prompts", `${name}.md`);
|
|
17
13
|
if (await pathExists(projectPath)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/plugin/prompts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAC3C,OAAO,IAAI,MAAM,WAAW,CAAA;AAE5B,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAE5C,IAAI,YAAY,GAAG,EAAE,CAAA;AACrB,IAAI,WAAW,GAAG,EAAE,CAAA;AAEpB,MAAM,UAAU,WAAW,CAAC,WAAmB,EAAE,UAAkB;IACjE,YAAY,GAAG,WAAW,CAAA;IAC1B,WAAW,GAAG,UAAU,CAAA;AAC1B,CAAC;AAED,MAAM,
|
|
1
|
+
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/plugin/prompts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAC3C,OAAO,IAAI,MAAM,WAAW,CAAA;AAE5B,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAE5C,IAAI,YAAY,GAAG,EAAE,CAAA;AACrB,IAAI,WAAW,GAAG,EAAE,CAAA;AAEpB,MAAM,UAAU,WAAW,CAAC,WAAmB,EAAE,UAAkB;IACjE,YAAY,GAAG,WAAW,CAAA;IAC1B,WAAW,GAAG,UAAU,CAAA;AAC1B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,IAAY;IAC3C,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,IAAI,KAAK,CAAC,CAAA;IAC3F,IAAI,MAAM,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAClC,OAAO,MAAM,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,CAAA;IAC5C,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,IAAI,KAAK,CAAC,CAAA;IAC9E,IAAI,MAAM,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAClC,OAAO,MAAM,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,CAAA;IAC5C,CAAC;IAED,OAAO,EAAE,CAAA;AACX,CAAC"}
|
package/dist/plugin/server.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { Plugin } from "@opencode-ai/plugin";
|
|
2
|
+
import { type GoalStore } from "./goal-store.js";
|
|
2
3
|
import type { ContextBlock } from "../kernel/context.js";
|
|
3
4
|
export interface FirstUserInjectionInput {
|
|
4
5
|
hasGoal: boolean;
|
|
@@ -20,10 +21,7 @@ interface GoalToolConfig extends AgentToolConfig {
|
|
|
20
21
|
agent?: Record<string, unknown>;
|
|
21
22
|
}
|
|
22
23
|
export declare function configureGoalTools(config: GoalToolConfig): void;
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
* 对每个 agent 置 true/false。agent 名 → 角色映射与 caller.ts ROLE_BY_AGENT 一致。
|
|
26
|
-
*/
|
|
27
|
-
export declare function configureLifecycleTools(config: GoalToolConfig): void;
|
|
24
|
+
export declare function queueContinuation(client: ReturnType<typeof import("@opencode-ai/sdk/v2").createOpencodeClient>, store: GoalStore, sessionID: string, projectDir?: string): Promise<void>;
|
|
25
|
+
export declare function autoResume(client: ReturnType<typeof import("@opencode-ai/sdk/v2").createOpencodeClient>, store: GoalStore, projectDir: string): Promise<void>;
|
|
28
26
|
export declare function createOpencodeCabbage(packageRoot: string): Plugin;
|
|
29
27
|
export {};
|