@devcxl/opencode-cabbage 0.3.2 → 1.1.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/README.md +34 -19
- package/README.zh.md +34 -19
- package/assets/agents/dev-lifecycle.md +60 -49
- package/assets/agents/team/architect.md +8 -1
- package/assets/agents/team/developer.md +89 -0
- package/assets/agents/team/goal-verify.md +5 -1
- package/assets/agents/team/reviewer.md +6 -0
- package/assets/commands/code.md +3 -2
- package/assets/commands/design.md +3 -2
- package/assets/commands/release.md +3 -2
- package/assets/commands/requirements.md +3 -2
- package/assets/commands/review.md +3 -2
- package/assets/commands/setup.md +3 -2
- package/assets/commands/tasks.md +2 -1
- package/assets/prompts/bootstrap.md +9 -8
- package/assets/prompts/stage-contract.md +55 -0
- package/assets/skills/flow-code/SKILL.md +38 -140
- package/assets/skills/flow-design/SKILL.md +28 -79
- package/assets/skills/flow-release/SKILL.md +31 -51
- package/assets/skills/flow-requirements/SKILL.md +31 -196
- package/assets/skills/flow-review/SKILL.md +26 -123
- package/assets/skills/flow-setup/SKILL.md +40 -43
- package/assets/skills/flow-tasks/SKILL.md +23 -153
- package/assets/skills/flow-tdd/SKILL.md +30 -31
- package/dist/kernel/caller.d.ts +48 -0
- package/dist/kernel/caller.js +88 -0
- package/dist/kernel/caller.js.map +1 -0
- package/dist/kernel/context.d.ts +27 -0
- package/dist/kernel/context.js +84 -0
- package/dist/kernel/context.js.map +1 -0
- package/dist/kernel/flow.d.ts +175 -0
- package/dist/kernel/flow.js +467 -0
- package/dist/kernel/flow.js.map +1 -0
- package/dist/kernel/legacy.d.ts +19 -0
- package/dist/kernel/legacy.js +34 -0
- package/dist/kernel/legacy.js.map +1 -0
- package/dist/kernel/mutex.d.ts +8 -0
- package/dist/kernel/mutex.js +23 -0
- package/dist/kernel/mutex.js.map +1 -0
- package/dist/kernel/permission.d.ts +21 -0
- package/dist/kernel/permission.js +45 -0
- package/dist/kernel/permission.js.map +1 -0
- package/dist/kernel/profile.d.ts +35 -0
- package/dist/kernel/profile.js +147 -0
- package/dist/kernel/profile.js.map +1 -0
- package/dist/kernel/records.d.ts +103 -0
- package/dist/kernel/records.js +240 -0
- package/dist/kernel/records.js.map +1 -0
- package/dist/kernel/release.d.ts +106 -0
- package/dist/kernel/release.js +241 -0
- package/dist/kernel/release.js.map +1 -0
- package/dist/kernel/review.d.ts +34 -0
- package/dist/kernel/review.js +82 -0
- package/dist/kernel/review.js.map +1 -0
- package/dist/kernel/session-index.d.ts +45 -0
- package/dist/kernel/session-index.js +136 -0
- package/dist/kernel/session-index.js.map +1 -0
- package/dist/kernel/setup.d.ts +95 -0
- package/dist/kernel/setup.js +401 -0
- package/dist/kernel/setup.js.map +1 -0
- package/dist/kernel/slug.d.ts +23 -0
- package/dist/kernel/slug.js +67 -0
- package/dist/kernel/slug.js.map +1 -0
- package/dist/kernel/task.d.ts +213 -0
- package/dist/kernel/task.js +873 -0
- package/dist/kernel/task.js.map +1 -0
- package/dist/{flowrun → kernel/tdd}/adapter.d.ts +1 -1
- package/dist/{flowrun → kernel/tdd}/adapter.js +27 -26
- package/dist/kernel/tdd/adapter.js.map +1 -0
- package/dist/{flowrun → kernel/tdd}/digest.d.ts +2 -1
- package/dist/{flowrun → kernel/tdd}/digest.js +6 -4
- package/dist/kernel/tdd/digest.js.map +1 -0
- package/dist/{flowrun → kernel/tdd}/evaluator.d.ts +1 -1
- package/dist/{flowrun → kernel/tdd}/evaluator.js +1 -1
- package/dist/kernel/tdd/evaluator.js.map +1 -0
- package/dist/kernel/tdd/evidence.d.ts +42 -0
- package/dist/kernel/tdd/evidence.js +48 -0
- package/dist/kernel/tdd/evidence.js.map +1 -0
- package/dist/{flowrun → kernel/tdd}/state.d.ts +2 -2
- package/dist/{flowrun → kernel/tdd}/state.js +1 -1
- package/dist/kernel/tdd/state.js.map +1 -0
- package/dist/kernel/types.d.ts +180 -0
- package/dist/kernel/types.js +2 -0
- package/dist/kernel/types.js.map +1 -0
- package/dist/kernel/worktree.d.ts +45 -0
- package/dist/kernel/worktree.js +156 -0
- package/dist/kernel/worktree.js.map +1 -0
- package/dist/plugin/agents.d.ts +5 -17
- package/dist/plugin/agents.js +0 -23
- package/dist/plugin/agents.js.map +1 -1
- package/dist/plugin/flow-control.d.ts +91 -0
- package/dist/plugin/flow-control.js +287 -0
- package/dist/plugin/flow-control.js.map +1 -0
- package/dist/plugin/goal.d.ts +17 -46
- package/dist/plugin/goal.js +47 -117
- package/dist/plugin/goal.js.map +1 -1
- package/dist/plugin/prompt-lint.js +78 -6
- package/dist/plugin/prompt-lint.js.map +1 -1
- package/dist/plugin/release-control.d.ts +39 -0
- package/dist/plugin/release-control.js +343 -0
- package/dist/plugin/release-control.js.map +1 -0
- package/dist/plugin/server.d.ts +19 -0
- package/dist/plugin/server.js +198 -320
- package/dist/plugin/server.js.map +1 -1
- package/dist/plugin/setup-control.d.ts +59 -0
- package/dist/plugin/setup-control.js +111 -0
- package/dist/plugin/setup-control.js.map +1 -0
- package/dist/plugin/shell.d.ts +7 -34
- package/dist/plugin/shell.js +12 -137
- package/dist/plugin/shell.js.map +1 -1
- package/dist/plugin/skills.d.ts +1 -1
- package/dist/plugin/skills.js +1 -7
- package/dist/plugin/skills.js.map +1 -1
- package/dist/plugin/task-control.d.ts +90 -0
- package/dist/plugin/task-control.js +208 -0
- package/dist/plugin/task-control.js.map +1 -0
- package/dist/plugin/tdd-checkpoint.d.ts +128 -0
- package/dist/plugin/tdd-checkpoint.js +664 -0
- package/dist/plugin/tdd-checkpoint.js.map +1 -0
- package/dist/util/gh.d.ts +5 -0
- package/dist/util/gh.js +12 -0
- package/dist/util/gh.js.map +1 -1
- package/dist/util/paths.d.ts +6 -2
- package/dist/util/paths.js +15 -7
- package/dist/util/paths.js.map +1 -1
- package/package.json +4 -4
- package/assets/agents/team/backend.md +0 -100
- package/assets/agents/team/frontend.md +0 -98
- package/assets/commands/handoff.md +0 -4
- package/assets/commands/test.md +0 -4
- package/assets/context/CONTEXT.md +0 -41
- package/assets/skills/flow-handoff/SKILL.md +0 -76
- package/assets/skills/flow-test/SKILL.md +0 -75
- package/dist/flowrun/adapter.js.map +0 -1
- package/dist/flowrun/audit.d.ts +0 -5
- package/dist/flowrun/audit.js +0 -67
- package/dist/flowrun/audit.js.map +0 -1
- package/dist/flowrun/ci.d.ts +0 -64
- package/dist/flowrun/ci.js +0 -184
- package/dist/flowrun/ci.js.map +0 -1
- package/dist/flowrun/coverage.d.ts +0 -70
- package/dist/flowrun/coverage.js +0 -207
- package/dist/flowrun/coverage.js.map +0 -1
- package/dist/flowrun/digest.js.map +0 -1
- package/dist/flowrun/evaluator.js.map +0 -1
- package/dist/flowrun/gate.d.ts +0 -28
- package/dist/flowrun/gate.js +0 -139
- package/dist/flowrun/gate.js.map +0 -1
- package/dist/flowrun/github.d.ts +0 -24
- package/dist/flowrun/github.js +0 -154
- package/dist/flowrun/github.js.map +0 -1
- package/dist/flowrun/index.d.ts +0 -14
- package/dist/flowrun/index.js +0 -15
- package/dist/flowrun/index.js.map +0 -1
- package/dist/flowrun/merge.d.ts +0 -57
- package/dist/flowrun/merge.js +0 -180
- package/dist/flowrun/merge.js.map +0 -1
- package/dist/flowrun/migration.d.ts +0 -11
- package/dist/flowrun/migration.js +0 -276
- package/dist/flowrun/migration.js.map +0 -1
- package/dist/flowrun/resilience.d.ts +0 -18
- package/dist/flowrun/resilience.js +0 -80
- package/dist/flowrun/resilience.js.map +0 -1
- package/dist/flowrun/state.js.map +0 -1
- package/dist/flowrun/transitions.d.ts +0 -66
- package/dist/flowrun/transitions.js +0 -168
- package/dist/flowrun/transitions.js.map +0 -1
- package/dist/flowrun/types.d.ts +0 -356
- package/dist/flowrun/types.js +0 -21
- package/dist/flowrun/types.js.map +0 -1
- package/dist/flowrun/validator.d.ts +0 -19
- package/dist/flowrun/validator.js +0 -209
- package/dist/flowrun/validator.js.map +0 -1
- package/dist/plugin/broker.d.ts +0 -73
- package/dist/plugin/broker.js +0 -140
- package/dist/plugin/broker.js.map +0 -1
- package/dist/plugin/tdd-tool.d.ts +0 -62
- package/dist/plugin/tdd-tool.js +0 -336
- package/dist/plugin/tdd-tool.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/plugin/server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/plugin/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { type CallerSessionClient } from "../kernel/caller.js";
|
|
2
|
+
import { type SetupProbeReport } from "../kernel/setup.js";
|
|
3
|
+
/** setup_control 工具依赖:项目目录 + caller 判定所需的 session client */
|
|
4
|
+
export interface SetupControlDeps {
|
|
5
|
+
projectDir: string;
|
|
6
|
+
sessionClient: CallerSessionClient;
|
|
7
|
+
}
|
|
8
|
+
export type SetupControlResponse = {
|
|
9
|
+
ok: boolean;
|
|
10
|
+
readiness?: SetupProbeReport;
|
|
11
|
+
profileConfirmed?: boolean;
|
|
12
|
+
created?: string[];
|
|
13
|
+
updated?: string[];
|
|
14
|
+
existing?: string[];
|
|
15
|
+
prNumber?: number | null;
|
|
16
|
+
initialized?: boolean;
|
|
17
|
+
committed?: boolean;
|
|
18
|
+
remoteCreated?: boolean;
|
|
19
|
+
error?: {
|
|
20
|
+
code: string;
|
|
21
|
+
message: string;
|
|
22
|
+
};
|
|
23
|
+
};
|
|
24
|
+
/**
|
|
25
|
+
* setup_control 工具工厂(spec §2.3)。
|
|
26
|
+
* 三 op:probe(readiness 报告) / generate-workflows(缺失时生成草案 + Setup PR) / confirm-profile(Profile 写回 AGENTS.md)。
|
|
27
|
+
* caller:primary。server.ts 接线由后续批次统一处理(本批不注册,避免文件冲突)。
|
|
28
|
+
*/
|
|
29
|
+
export declare function createSetupControlTool(deps: SetupControlDeps): {
|
|
30
|
+
description: string;
|
|
31
|
+
args: {
|
|
32
|
+
op: import("zod").ZodEnum<{
|
|
33
|
+
probe: "probe";
|
|
34
|
+
"generate-workflows": "generate-workflows";
|
|
35
|
+
"confirm-profile": "confirm-profile";
|
|
36
|
+
"init-repo": "init-repo";
|
|
37
|
+
}>;
|
|
38
|
+
pr_title: import("zod").ZodOptional<import("zod").ZodString>;
|
|
39
|
+
test_command: import("zod").ZodOptional<import("zod").ZodString>;
|
|
40
|
+
profile_overrides: import("zod").ZodOptional<import("zod").ZodString>;
|
|
41
|
+
create_remote: import("zod").ZodOptional<import("zod").ZodBoolean>;
|
|
42
|
+
remote_name: import("zod").ZodOptional<import("zod").ZodString>;
|
|
43
|
+
private: import("zod").ZodOptional<import("zod").ZodBoolean>;
|
|
44
|
+
};
|
|
45
|
+
execute(args: {
|
|
46
|
+
op: "probe" | "generate-workflows" | "confirm-profile" | "init-repo";
|
|
47
|
+
pr_title?: string | undefined;
|
|
48
|
+
test_command?: string | undefined;
|
|
49
|
+
profile_overrides?: string | undefined;
|
|
50
|
+
create_remote?: boolean | undefined;
|
|
51
|
+
remote_name?: string | undefined;
|
|
52
|
+
private?: boolean | undefined;
|
|
53
|
+
}, context: import("@opencode-ai/plugin/tool").ToolContext): Promise<import("@opencode-ai/plugin/tool").ToolResult>;
|
|
54
|
+
};
|
|
55
|
+
/**
|
|
56
|
+
* 独立注册辅助:把 setup_control 挂到工具注册表。
|
|
57
|
+
* 供后续批次(批 8-11 或最终接线)在 server.ts 统一接线时调用。
|
|
58
|
+
*/
|
|
59
|
+
export declare function registerSetupControl(registry: Record<string, unknown>, deps: SetupControlDeps): void;
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
import { tool } from "@opencode-ai/plugin/tool";
|
|
2
|
+
import { requireCaller, CALLER_NOT_AUTHORIZED } from "../kernel/caller.js";
|
|
3
|
+
import { resolveProjectDir } from "../util/paths.js";
|
|
4
|
+
import { probe, generateWorkflows, confirmProjectProfile, initRepo, } from "../kernel/setup.js";
|
|
5
|
+
const DEFAULT_PR_TITLE = "chore: add CI/release workflow drafts";
|
|
6
|
+
/**
|
|
7
|
+
* setup_control 工具工厂(spec §2.3)。
|
|
8
|
+
* 三 op:probe(readiness 报告) / generate-workflows(缺失时生成草案 + Setup PR) / confirm-profile(Profile 写回 AGENTS.md)。
|
|
9
|
+
* caller:primary。server.ts 接线由后续批次统一处理(本批不注册,避免文件冲突)。
|
|
10
|
+
*/
|
|
11
|
+
export function createSetupControlTool(deps) {
|
|
12
|
+
return tool({
|
|
13
|
+
description: `Detect project setup readiness, generate missing CI/release workflow drafts, and confirm the project profile.
|
|
14
|
+
|
|
15
|
+
Operations:
|
|
16
|
+
- probe: Detect git/gh availability, AGENTS.md Profile, CI/release workflows, and branch protection. Returns a readiness report (development-ready / release-ready).
|
|
17
|
+
- generate-workflows: Generate missing CI/release workflow drafts under .github/workflows/ (tech-stack agnostic), then create a chore/setup-workflows branch, commit, push, and open a Setup PR for manual merge.
|
|
18
|
+
- confirm-profile: After user confirmation, write the Project Profile block (from profile_overrides) back to the root AGENTS.md.
|
|
19
|
+
|
|
20
|
+
Caller: primary.`,
|
|
21
|
+
args: {
|
|
22
|
+
op: tool.schema.enum(["probe", "generate-workflows", "confirm-profile", "init-repo"]).describe("Setup operation"),
|
|
23
|
+
pr_title: tool.schema.string().optional().describe("PR title for generate-workflows"),
|
|
24
|
+
test_command: tool.schema
|
|
25
|
+
.string()
|
|
26
|
+
.optional()
|
|
27
|
+
.describe("Test command to inject into the generated ci.yml (falls back to the confirmed Profile testCommand; keeps <test-command> placeholder when both are absent)"),
|
|
28
|
+
profile_overrides: tool.schema.string().optional().describe("JSON of user-confirmed profile fields for confirm-profile"),
|
|
29
|
+
create_remote: tool.schema.boolean().optional().describe("Create a GitHub remote (gh repo create --source . --push) for init-repo"),
|
|
30
|
+
remote_name: tool.schema.string().optional().describe("Remote repository name for init-repo (defaults to the directory name)"),
|
|
31
|
+
private: tool.schema.boolean().optional().describe("Create the remote repository as private for init-repo"),
|
|
32
|
+
},
|
|
33
|
+
async execute(args, ctx) {
|
|
34
|
+
const op = args.op;
|
|
35
|
+
const denied = await requireCaller(ctx, ["primary"], op, deps.sessionClient);
|
|
36
|
+
if (denied)
|
|
37
|
+
return errorResponse(CALLER_NOT_AUTHORIZED, denied);
|
|
38
|
+
// 会话级项目目录优先(workspace root 异常会话下插件级 projectDir 可能是 `/`)
|
|
39
|
+
const projectDir = resolveProjectDir(ctx.directory, deps.projectDir);
|
|
40
|
+
try {
|
|
41
|
+
switch (op) {
|
|
42
|
+
case "probe": {
|
|
43
|
+
const readiness = await probe(projectDir);
|
|
44
|
+
return okResponse({ readiness });
|
|
45
|
+
}
|
|
46
|
+
case "generate-workflows": {
|
|
47
|
+
const prTitle = args.pr_title ?? DEFAULT_PR_TITLE;
|
|
48
|
+
const testCommand = args.test_command;
|
|
49
|
+
const result = await generateWorkflows(projectDir, { prTitle, testCommand });
|
|
50
|
+
if (!result.ok) {
|
|
51
|
+
return errorResponse("SETUP_FAILED", result.error ?? "failed to generate workflows");
|
|
52
|
+
}
|
|
53
|
+
return okResponse({
|
|
54
|
+
created: result.created,
|
|
55
|
+
updated: result.updated,
|
|
56
|
+
existing: result.existing,
|
|
57
|
+
prNumber: result.prNumber,
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
case "confirm-profile": {
|
|
61
|
+
const overrides = args.profile_overrides;
|
|
62
|
+
if (!overrides) {
|
|
63
|
+
return errorResponse("POLICY_INVALID", "profile_overrides is required for confirm-profile");
|
|
64
|
+
}
|
|
65
|
+
const result = await confirmProjectProfile(projectDir, overrides);
|
|
66
|
+
if (!result.ok) {
|
|
67
|
+
return errorResponse(result.code ?? "POLICY_INVALID", result.message ?? "failed to confirm profile");
|
|
68
|
+
}
|
|
69
|
+
return okResponse({ profileConfirmed: true });
|
|
70
|
+
}
|
|
71
|
+
case "init-repo": {
|
|
72
|
+
const result = await initRepo(projectDir, {
|
|
73
|
+
createRemote: args.create_remote === true,
|
|
74
|
+
remoteName: args.remote_name,
|
|
75
|
+
private: args.private === true,
|
|
76
|
+
});
|
|
77
|
+
if (!result.ok) {
|
|
78
|
+
return errorResponse("SETUP_FAILED", result.error ?? "failed to initialize repository");
|
|
79
|
+
}
|
|
80
|
+
return okResponse({
|
|
81
|
+
initialized: result.initialized,
|
|
82
|
+
committed: result.committed,
|
|
83
|
+
remoteCreated: result.remoteCreated,
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
default:
|
|
87
|
+
return errorResponse("UNKNOWN_OP", `Unknown op: "${op}"`);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
catch (err) {
|
|
91
|
+
return errorResponse("INTERNAL_ERROR", String(err));
|
|
92
|
+
}
|
|
93
|
+
},
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* 独立注册辅助:把 setup_control 挂到工具注册表。
|
|
98
|
+
* 供后续批次(批 8-11 或最终接线)在 server.ts 统一接线时调用。
|
|
99
|
+
*/
|
|
100
|
+
export function registerSetupControl(registry, deps) {
|
|
101
|
+
registry.setup_control = createSetupControlTool(deps);
|
|
102
|
+
}
|
|
103
|
+
function okResponse(overrides = {}) {
|
|
104
|
+
const resp = { ok: true, ...overrides };
|
|
105
|
+
return JSON.stringify(resp, null, 2);
|
|
106
|
+
}
|
|
107
|
+
function errorResponse(code, message) {
|
|
108
|
+
const resp = { ok: false, error: { code, message } };
|
|
109
|
+
return JSON.stringify(resp, null, 2);
|
|
110
|
+
}
|
|
111
|
+
//# sourceMappingURL=setup-control.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setup-control.js","sourceRoot":"","sources":["../../src/plugin/setup-control.ts"],"names":[],"mappings":"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"}
|
package/dist/plugin/shell.d.ts
CHANGED
|
@@ -1,37 +1,10 @@
|
|
|
1
|
-
import type { AgentEntry } from "./agents.js";
|
|
2
|
-
export interface AmbientCredentialSource {
|
|
3
|
-
source: string;
|
|
4
|
-
/** "env" | "config_file" | "credential_helper" */
|
|
5
|
-
kind: "env" | "config_file" | "credential_helper";
|
|
6
|
-
/** 具体位置(如 "GH_TOKEN" 或 "~/.config/gh/hosts.yml") */
|
|
7
|
-
location: string;
|
|
8
|
-
}
|
|
9
|
-
export interface AmbientCredentialReport {
|
|
10
|
-
hasWriteCredentials: boolean;
|
|
11
|
-
hasGitCredentialHelper: boolean;
|
|
12
|
-
sources: AmbientCredentialSource[];
|
|
13
|
-
}
|
|
14
1
|
/**
|
|
15
|
-
*
|
|
2
|
+
* 为 Agent 生成 shell 环境变量。
|
|
16
3
|
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
* 注意:这只能检测常见模式,不是完备的安全审计。
|
|
23
|
-
*/
|
|
24
|
-
export declare function detectAmbientCredentials(): AmbientCredentialReport;
|
|
25
|
-
/**
|
|
26
|
-
* 为 Worker agent 创建隔离 shell 环境变量。
|
|
27
|
-
*
|
|
28
|
-
* 隔离措施:
|
|
29
|
-
* - HOME 设为临时目录(避免访问宿主 ~/.ssh, ~/.gitconfig 等)
|
|
30
|
-
* - GH_CONFIG_DIR 设为临时目录下的隔离路径
|
|
31
|
-
* - GH_TOKEN / GITHUB_TOKEN 显式清空
|
|
32
|
-
* - GIT_CONFIG_PARAMETERS 不传递(避免继承宿主 git config)
|
|
33
|
-
*
|
|
34
|
-
* 重要:shell.env 只作为附加措施,不作为唯一隔离边界。
|
|
35
|
-
* 真正的权限控制来自 agent permission 字段 + ambient credential 检测。
|
|
4
|
+
* 复用宿主 gh auth:不再清空 GH_TOKEN/GITHUB_TOKEN、不替换 HOME/GH_CONFIG_DIR,
|
|
5
|
+
* Agent shell 内只读 gh/git 可用(PRD R4「模型可直接只读 git/gh」)。
|
|
6
|
+
* 安全边界:写操作凭据与模型 shell 共享宿主 auth,因此**写操作靠 permission 规则
|
|
7
|
+
* (deny 置尾、最后匹配优先、auto 模式 deny 生效)收敛到生命周期工具**,
|
|
8
|
+
* 而非依赖凭据隔离——见 spec §7.3 的取舍说明。
|
|
36
9
|
*/
|
|
37
|
-
export declare function
|
|
10
|
+
export declare function createAgentShellEnv(): Record<string, string>;
|
package/dist/plugin/shell.js
CHANGED
|
@@ -1,144 +1,19 @@
|
|
|
1
|
-
|
|
2
|
-
import path from "node:path";
|
|
3
|
-
import os from "node:os";
|
|
4
|
-
// ─── 凭证检测 ───
|
|
5
|
-
const GITHUB_WRITE_TOKEN_PATTERNS = [
|
|
6
|
-
/^ghp_/, // classic PAT
|
|
7
|
-
/^github_pat_/, // fine-grained PAT
|
|
8
|
-
/^gho_/, // OAuth token
|
|
9
|
-
/^ghu_/, // user-to-server token
|
|
10
|
-
/^ghs_/, // server-to-server token
|
|
11
|
-
/^ghr_/, // refresh token
|
|
12
|
-
];
|
|
1
|
+
// ─── Shell 环境 ───
|
|
13
2
|
/**
|
|
14
|
-
*
|
|
15
|
-
*/
|
|
16
|
-
function looksLikeGithubToken(value) {
|
|
17
|
-
const trimmed = value.trim();
|
|
18
|
-
if (!trimmed)
|
|
19
|
-
return false;
|
|
20
|
-
return GITHUB_WRITE_TOKEN_PATTERNS.some(p => p.test(trimmed));
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
* 检测环境变量中的 GitHub API 凭证。
|
|
24
|
-
*/
|
|
25
|
-
function detectEnvTokens() {
|
|
26
|
-
const sources = [];
|
|
27
|
-
const keys = ["GH_TOKEN", "GITHUB_TOKEN", "GH_ENTERPRISE_TOKEN"];
|
|
28
|
-
for (const key of keys) {
|
|
29
|
-
const value = process.env[key];
|
|
30
|
-
if (value && looksLikeGithubToken(value)) {
|
|
31
|
-
sources.push({
|
|
32
|
-
source: key,
|
|
33
|
-
kind: "env",
|
|
34
|
-
location: `$${key}`,
|
|
35
|
-
});
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
return sources;
|
|
39
|
-
}
|
|
40
|
-
/**
|
|
41
|
-
* 检测 ~/.config/gh/hosts.yml 中的 oauth_token。
|
|
42
|
-
*/
|
|
43
|
-
function detectGhHostsConfig() {
|
|
44
|
-
const sources = [];
|
|
45
|
-
const home = process.env.HOME || os.homedir();
|
|
46
|
-
const hostsPath = path.join(home, ".config", "gh", "hosts.yml");
|
|
47
|
-
try {
|
|
48
|
-
if (!fs.existsSync(hostsPath))
|
|
49
|
-
return sources;
|
|
50
|
-
const content = fs.readFileSync(hostsPath, "utf8");
|
|
51
|
-
// 简单检测 oauth_token 字段
|
|
52
|
-
if (/oauth_token\s*:\s*\S+/.test(content)) {
|
|
53
|
-
sources.push({
|
|
54
|
-
source: "gh_hosts_config",
|
|
55
|
-
kind: "config_file",
|
|
56
|
-
location: hostsPath,
|
|
57
|
-
});
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
catch {
|
|
61
|
-
// 读取失败时静默忽略
|
|
62
|
-
}
|
|
63
|
-
return sources;
|
|
64
|
-
}
|
|
65
|
-
/**
|
|
66
|
-
* 检测 git credential helper 配置。
|
|
67
|
-
* 检查 ~/.gitconfig 中是否配置了 credential.helper。
|
|
68
|
-
*/
|
|
69
|
-
function detectGitCredentialHelper() {
|
|
70
|
-
const sources = [];
|
|
71
|
-
const home = process.env.HOME || os.homedir();
|
|
72
|
-
const gitconfigPath = path.join(home, ".gitconfig");
|
|
73
|
-
let hasHelper = false;
|
|
74
|
-
try {
|
|
75
|
-
if (!fs.existsSync(gitconfigPath))
|
|
76
|
-
return { hasHelper, sources };
|
|
77
|
-
const content = fs.readFileSync(gitconfigPath, "utf8");
|
|
78
|
-
if (/credential\s*\]\s*\n\s*helper\s*=/.test(content) || /\[credential\s+"[^"]*"\]/.test(content)) {
|
|
79
|
-
hasHelper = true;
|
|
80
|
-
sources.push({
|
|
81
|
-
source: "git_credential_helper",
|
|
82
|
-
kind: "credential_helper",
|
|
83
|
-
location: gitconfigPath,
|
|
84
|
-
});
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
catch {
|
|
88
|
-
// 读取失败静默忽略
|
|
89
|
-
}
|
|
90
|
-
return { hasHelper, sources };
|
|
91
|
-
}
|
|
92
|
-
/**
|
|
93
|
-
* 检测宿主环境中的 GitHub 写凭证。
|
|
94
|
-
*
|
|
95
|
-
* 检查内容:
|
|
96
|
-
* - GH_TOKEN / GITHUB_TOKEN / GH_ENTERPRISE_TOKEN 环境变量
|
|
97
|
-
* - ~/.config/gh/hosts.yml(GitHub CLI OAuth token)
|
|
98
|
-
* - ~/.gitconfig 中的 credential helper
|
|
3
|
+
* 为 Agent 生成 shell 环境变量。
|
|
99
4
|
*
|
|
100
|
-
*
|
|
5
|
+
* 复用宿主 gh auth:不再清空 GH_TOKEN/GITHUB_TOKEN、不替换 HOME/GH_CONFIG_DIR,
|
|
6
|
+
* Agent shell 内只读 gh/git 可用(PRD R4「模型可直接只读 git/gh」)。
|
|
7
|
+
* 安全边界:写操作凭据与模型 shell 共享宿主 auth,因此**写操作靠 permission 规则
|
|
8
|
+
* (deny 置尾、最后匹配优先、auto 模式 deny 生效)收敛到生命周期工具**,
|
|
9
|
+
* 而非依赖凭据隔离——见 spec §7.3 的取舍说明。
|
|
101
10
|
*/
|
|
102
|
-
export function
|
|
103
|
-
const envSources = detectEnvTokens();
|
|
104
|
-
const ghConfigSources = detectGhHostsConfig();
|
|
105
|
-
const { hasHelper, sources: helperSources } = detectGitCredentialHelper();
|
|
106
|
-
const allSources = [...envSources, ...ghConfigSources, ...helperSources];
|
|
107
|
-
const hasWriteCredentials = allSources.length > 0;
|
|
11
|
+
export function createAgentShellEnv() {
|
|
108
12
|
return {
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
}
|
|
114
|
-
// ─── Shell 隔离 ───
|
|
115
|
-
/**
|
|
116
|
-
* 为 Worker agent 创建隔离 shell 环境变量。
|
|
117
|
-
*
|
|
118
|
-
* 隔离措施:
|
|
119
|
-
* - HOME 设为临时目录(避免访问宿主 ~/.ssh, ~/.gitconfig 等)
|
|
120
|
-
* - GH_CONFIG_DIR 设为临时目录下的隔离路径
|
|
121
|
-
* - GH_TOKEN / GITHUB_TOKEN 显式清空
|
|
122
|
-
* - GIT_CONFIG_PARAMETERS 不传递(避免继承宿主 git config)
|
|
123
|
-
*
|
|
124
|
-
* 重要:shell.env 只作为附加措施,不作为唯一隔离边界。
|
|
125
|
-
* 真正的权限控制来自 agent permission 字段 + ambient credential 检测。
|
|
126
|
-
*/
|
|
127
|
-
export function createIsolatedShellEnv(agent) {
|
|
128
|
-
const shellHome = fs.mkdtempSync(path.join(os.tmpdir(), "cabbage-shell-"));
|
|
129
|
-
const ghConfigDir = path.join(shellHome, ".config", "gh");
|
|
130
|
-
fs.mkdirSync(ghConfigDir, { recursive: true });
|
|
131
|
-
const env = {
|
|
132
|
-
HOME: shellHome,
|
|
133
|
-
GH_CONFIG_DIR: ghConfigDir,
|
|
13
|
+
// 防系统 gitconfig 干扰
|
|
14
|
+
GIT_CONFIG_NOSYSTEM: "1",
|
|
15
|
+
// 禁止交互式凭据提示(失败即失败,不挂起等待输入)
|
|
16
|
+
GIT_TERMINAL_PROMPT: "0",
|
|
134
17
|
};
|
|
135
|
-
// 清除所有 GitHub API token 环境变量
|
|
136
|
-
// shell.env 是附加措施 — 主要隔离由 agent permission 提供
|
|
137
|
-
env.GH_TOKEN = "";
|
|
138
|
-
env.GITHUB_TOKEN = "";
|
|
139
|
-
env.GH_ENTERPRISE_TOKEN = "";
|
|
140
|
-
// 不传递宿主 git config(隔离 HOME 已处理此问题,但显式清空更安全)
|
|
141
|
-
env.GIT_CONFIG_NOSYSTEM = "1";
|
|
142
|
-
return env;
|
|
143
18
|
}
|
|
144
19
|
//# sourceMappingURL=shell.js.map
|
package/dist/plugin/shell.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shell.js","sourceRoot":"","sources":["../../src/plugin/shell.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"shell.js","sourceRoot":"","sources":["../../src/plugin/shell.ts"],"names":[],"mappings":"AAAA,mBAAmB;AAEnB;;;;;;;;GAQG;AACH,MAAM,UAAU,mBAAmB;IACjC,OAAO;QACL,mBAAmB;QACnB,mBAAmB,EAAE,GAAG;QACxB,2BAA2B;QAC3B,mBAAmB,EAAE,GAAG;KACzB,CAAA;AACH,CAAC"}
|
package/dist/plugin/skills.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare function setupSkillsDir(sourceSkillsDir: string,
|
|
1
|
+
export declare function setupSkillsDir(sourceSkillsDir: string, promptsDir?: string): Promise<string>;
|
package/dist/plugin/skills.js
CHANGED
|
@@ -11,18 +11,12 @@ function resolveSkillsPath() {
|
|
|
11
11
|
}
|
|
12
12
|
return path.join(homedir(), ".config", "opencode", "cabbage", "skills");
|
|
13
13
|
}
|
|
14
|
-
export async function setupSkillsDir(sourceSkillsDir,
|
|
14
|
+
export async function setupSkillsDir(sourceSkillsDir, promptsDir) {
|
|
15
15
|
const destDir = resolveSkillsPath();
|
|
16
16
|
// 清理旧内容,确保与插件版本一致
|
|
17
17
|
await rm(destDir, { recursive: true, force: true });
|
|
18
18
|
await mkdir(destDir, { recursive: true });
|
|
19
19
|
await cp(sourceSkillsDir, destDir, { recursive: true });
|
|
20
|
-
if (contextDir) {
|
|
21
|
-
try {
|
|
22
|
-
await cp(contextDir, path.join(destDir, "_context"), { recursive: true });
|
|
23
|
-
}
|
|
24
|
-
catch { }
|
|
25
|
-
}
|
|
26
20
|
if (promptsDir) {
|
|
27
21
|
try {
|
|
28
22
|
await cp(promptsDir, path.join(destDir, "_prompts"), { recursive: true });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skills.js","sourceRoot":"","sources":["../../src/plugin/skills.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAC9E,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,OAAO,IAAI,MAAM,WAAW,CAAA;AAE5B;;;GAGG;AACH,SAAS,iBAAiB;IACxB,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,CAAC;QACnC,OAAO,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAA;IACvC,CAAC;IACD,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAA;AACzE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,eAAuB,EAAE,UAAmB
|
|
1
|
+
{"version":3,"file":"skills.js","sourceRoot":"","sources":["../../src/plugin/skills.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAC9E,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,OAAO,IAAI,MAAM,WAAW,CAAA;AAE5B;;;GAGG;AACH,SAAS,iBAAiB;IACxB,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,CAAC;QACnC,OAAO,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAA;IACvC,CAAC;IACD,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAA;AACzE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,eAAuB,EAAE,UAAmB;IAC/E,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAA;IAEnC,kBAAkB;IAClB,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;IACnD,MAAM,KAAK,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IAEzC,MAAM,EAAE,CAAC,eAAe,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IAEvD,IAAI,UAAU,EAAE,CAAC;QACf,IAAI,CAAC;YACH,MAAM,EAAE,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QAC3E,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;IACZ,CAAC;IAED,KAAK,UAAU,UAAU,CAAC,GAAW;QACnC,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAA;QAC3D,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;YAC3C,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;gBACxB,MAAM,UAAU,CAAC,QAAQ,CAAC,CAAA;gBAC1B,SAAQ;YACV,CAAC;YACD,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;gBAC9B,IAAI,OAAO,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;gBAC9C,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,mBAAmB,EAAE,GAAG,OAAO,GAAG,CAAC,CAAA;gBAChE,MAAM,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,CAAA;YAC5C,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,UAAU,CAAC,OAAO,CAAC,CAAA;IAEzB,OAAO,OAAO,CAAA;AAChB,CAAC"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
/** task_control 工具依赖 */
|
|
2
|
+
export interface TaskControlDeps {
|
|
3
|
+
projectDir: string;
|
|
4
|
+
sessionClient: {
|
|
5
|
+
session: {
|
|
6
|
+
get(input: {
|
|
7
|
+
sessionID: string;
|
|
8
|
+
}): Promise<{
|
|
9
|
+
data?: {
|
|
10
|
+
parentID?: string | null;
|
|
11
|
+
};
|
|
12
|
+
}>;
|
|
13
|
+
};
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
export type TaskControlResponse = {
|
|
17
|
+
ok: boolean;
|
|
18
|
+
task?: {
|
|
19
|
+
parentIssueNumber?: number;
|
|
20
|
+
taskId?: string;
|
|
21
|
+
issueNumber?: number;
|
|
22
|
+
};
|
|
23
|
+
issueNumber?: number;
|
|
24
|
+
branch?: string;
|
|
25
|
+
worktreePath?: string;
|
|
26
|
+
policy?: unknown;
|
|
27
|
+
baseline?: unknown;
|
|
28
|
+
prNumber?: number;
|
|
29
|
+
evidenceRevision?: number;
|
|
30
|
+
verdict?: string;
|
|
31
|
+
risk?: string;
|
|
32
|
+
warning?: string;
|
|
33
|
+
reason?: string;
|
|
34
|
+
report?: unknown;
|
|
35
|
+
missing?: string[];
|
|
36
|
+
error?: {
|
|
37
|
+
code: string;
|
|
38
|
+
message: string;
|
|
39
|
+
};
|
|
40
|
+
};
|
|
41
|
+
/**
|
|
42
|
+
* task_control 工具工厂(spec §2.3)。
|
|
43
|
+
* caller 门禁:primary 全量;developer 拒绝(无门禁绕过面)。
|
|
44
|
+
*/
|
|
45
|
+
export declare function createTaskControlTool(deps: TaskControlDeps): {
|
|
46
|
+
description: string;
|
|
47
|
+
args: {
|
|
48
|
+
op: import("zod").ZodEnum<{
|
|
49
|
+
"create-task": "create-task";
|
|
50
|
+
"start-task": "start-task";
|
|
51
|
+
"submit-task": "submit-task";
|
|
52
|
+
"submit-review": "submit-review";
|
|
53
|
+
"merge-task": "merge-task";
|
|
54
|
+
"cancel-task": "cancel-task";
|
|
55
|
+
"destroy-worktree": "destroy-worktree";
|
|
56
|
+
"status-task": "status-task";
|
|
57
|
+
}>;
|
|
58
|
+
title: import("zod").ZodOptional<import("zod").ZodString>;
|
|
59
|
+
parent_issue_number: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
60
|
+
task_id: import("zod").ZodOptional<import("zod").ZodString>;
|
|
61
|
+
acceptance_criteria: import("zod").ZodOptional<import("zod").ZodString>;
|
|
62
|
+
depends_on: import("zod").ZodOptional<import("zod").ZodString>;
|
|
63
|
+
pr_number: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
64
|
+
risk: import("zod").ZodOptional<import("zod").ZodEnum<{
|
|
65
|
+
high: "high";
|
|
66
|
+
low: "low";
|
|
67
|
+
}>>;
|
|
68
|
+
verdict: import("zod").ZodOptional<import("zod").ZodEnum<{
|
|
69
|
+
approve: "approve";
|
|
70
|
+
"request-changes": "request-changes";
|
|
71
|
+
}>>;
|
|
72
|
+
comment: import("zod").ZodOptional<import("zod").ZodString>;
|
|
73
|
+
user_confirmed: import("zod").ZodOptional<import("zod").ZodBoolean>;
|
|
74
|
+
};
|
|
75
|
+
execute(args: {
|
|
76
|
+
op: "create-task" | "start-task" | "submit-task" | "submit-review" | "merge-task" | "cancel-task" | "destroy-worktree" | "status-task";
|
|
77
|
+
title?: string | undefined;
|
|
78
|
+
parent_issue_number?: number | undefined;
|
|
79
|
+
task_id?: string | undefined;
|
|
80
|
+
acceptance_criteria?: string | undefined;
|
|
81
|
+
depends_on?: string | undefined;
|
|
82
|
+
pr_number?: number | undefined;
|
|
83
|
+
risk?: "high" | "low" | undefined;
|
|
84
|
+
verdict?: "approve" | "request-changes" | undefined;
|
|
85
|
+
comment?: string | undefined;
|
|
86
|
+
user_confirmed?: boolean | undefined;
|
|
87
|
+
}, context: import("@opencode-ai/plugin/tool").ToolContext): Promise<import("@opencode-ai/plugin/tool").ToolResult>;
|
|
88
|
+
};
|
|
89
|
+
/** 独立注册辅助:把 task_control 挂到工具注册表(后续接线批次使用) */
|
|
90
|
+
export declare function registerTaskControl(registry: Record<string, unknown>, deps: TaskControlDeps): void;
|