@andyqiu/codeforge 0.5.25 → 0.5.26
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/agents/reviewer.md +2 -3
- package/bin/codeforge.mjs +12 -1
- package/dist/index.js +2 -4
- package/package.json +1 -1
package/agents/reviewer.md
CHANGED
|
@@ -15,15 +15,14 @@ permissions:
|
|
|
15
15
|
bash: allow
|
|
16
16
|
webfetch: deny
|
|
17
17
|
allowed_tools: [pending_changes, plan_read, bash, read, smart_search, task, review_approval]
|
|
18
|
-
model:
|
|
19
|
-
reasoningEffort: medium
|
|
18
|
+
model: anthropic/claude-opus-4-8
|
|
20
19
|
model_category: ultrabrain
|
|
21
20
|
tier: deep
|
|
22
21
|
model_thinking:
|
|
23
22
|
type: enabled
|
|
24
23
|
budget_tokens: 2000
|
|
25
24
|
fallback_models:
|
|
26
|
-
-
|
|
25
|
+
- openai/gpt-5.5
|
|
27
26
|
- anthropic/claude-sonnet-4-6
|
|
28
27
|
- google/gemini-3-pro
|
|
29
28
|
---
|
package/bin/codeforge.mjs
CHANGED
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
*/
|
|
26
26
|
|
|
27
27
|
import { spawnSync } from "node:child_process"
|
|
28
|
-
import { copyFileSync, existsSync, readFileSync, readdirSync, statSync } from "node:fs"
|
|
28
|
+
import { copyFileSync, existsSync, readFileSync, readdirSync, rmSync, statSync } from "node:fs"
|
|
29
29
|
import { homedir } from "node:os"
|
|
30
30
|
import * as path from "node:path"
|
|
31
31
|
import * as url from "node:url"
|
|
@@ -362,6 +362,17 @@ async function cmdUpgrade(args) {
|
|
|
362
362
|
return 1
|
|
363
363
|
}
|
|
364
364
|
|
|
365
|
+
// npm install 成功后刷新 opencode plugin 缓存,确保重启后加载新版本
|
|
366
|
+
try {
|
|
367
|
+
const cacheDir = path.join(homedir(), ".cache", "opencode", "packages", "@andyqiu", "teamkit@latest")
|
|
368
|
+
if (existsSync(cacheDir)) {
|
|
369
|
+
rmSync(cacheDir, { recursive: true, force: true })
|
|
370
|
+
log("已清除 opencode plugin 缓存,重启 opencode 后生效")
|
|
371
|
+
}
|
|
372
|
+
} catch {
|
|
373
|
+
warn("清除 opencode 缓存失败(非致命,可手动重启 opencode)")
|
|
374
|
+
}
|
|
375
|
+
|
|
365
376
|
const skipBuildFlag = process.platform === "win32" ? "-SkipBuild" : "--skip-build"
|
|
366
377
|
const code = installOpencode({ scope: "global", dryRun: false, extraArgs: [skipBuildFlag], quiet: true })
|
|
367
378
|
if (code !== 0) {
|
package/dist/index.js
CHANGED
|
@@ -9840,7 +9840,6 @@ var TRIGGER_EVENT_TYPES2 = new Set([
|
|
|
9840
9840
|
"task.completed",
|
|
9841
9841
|
"task.failed",
|
|
9842
9842
|
"error",
|
|
9843
|
-
"auto-learning.saved",
|
|
9844
9843
|
"subtasks.completed"
|
|
9845
9844
|
]);
|
|
9846
9845
|
var channelsServer = async (ctx) => {
|
|
@@ -10074,7 +10073,6 @@ var description2 = [
|
|
|
10074
10073
|
"- 修完一个非平凡的 bug(含问题→原因→解决三段式)",
|
|
10075
10074
|
"- 发现一个值得记录的架构决策 / 技术权衡",
|
|
10076
10075
|
"- 踩了一个会让别人也踩的坑(anti_pattern / gotcha)",
|
|
10077
|
-
"- workflow 完成时由 plugin 自动调用(auto-learning)",
|
|
10078
10076
|
"**何时不需要**:trivial 修改、通用问答、敏感信息(含 secret 一律不入库)。"
|
|
10079
10077
|
].join(`
|
|
10080
10078
|
`);
|
|
@@ -13049,7 +13047,7 @@ async function mergeSessionBack(opts) {
|
|
|
13049
13047
|
}
|
|
13050
13048
|
}
|
|
13051
13049
|
} else {
|
|
13052
|
-
console.
|
|
13050
|
+
console.debug(`[session-worktree] skip build step: merge.postMergeScript not configured in .codeforge/codeforge.json (project may not need post-merge build)`);
|
|
13053
13051
|
}
|
|
13054
13052
|
const squashedRaw = await runGit2(wt, ["log", "--format=%s", `${baseSha}..HEAD`]);
|
|
13055
13053
|
const squashedCommits = squashedRaw.split(/\r?\n/).map((s) => s.trim()).filter(Boolean);
|
|
@@ -21152,7 +21150,7 @@ import * as zlib from "node:zlib";
|
|
|
21152
21150
|
// lib/version-injected.ts
|
|
21153
21151
|
function getInjectedVersion() {
|
|
21154
21152
|
try {
|
|
21155
|
-
const v = "0.5.
|
|
21153
|
+
const v = "0.5.26";
|
|
21156
21154
|
if (typeof v === "string" && /^\d+\.\d+\.\d+/.test(v)) {
|
|
21157
21155
|
return v;
|
|
21158
21156
|
}
|