@zmice/zc 0.2.5 → 0.2.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 +98 -11
- package/dist/cli/__tests__/platform.test.js +215 -2
- package/dist/cli/__tests__/platform.test.js.map +1 -1
- package/dist/cli/__tests__/surface.test.js +52 -0
- package/dist/cli/__tests__/surface.test.js.map +1 -1
- package/dist/cli/__tests__/team.test.d.ts +2 -0
- package/dist/cli/__tests__/team.test.d.ts.map +1 -0
- package/dist/cli/__tests__/team.test.js +29 -0
- package/dist/cli/__tests__/team.test.js.map +1 -0
- package/dist/cli/__tests__/upstream.test.js +4 -0
- package/dist/cli/__tests__/upstream.test.js.map +1 -1
- package/dist/cli/platform.d.ts +11 -3
- package/dist/cli/platform.d.ts.map +1 -1
- package/dist/cli/platform.js +216 -54
- package/dist/cli/platform.js.map +1 -1
- package/dist/cli/team.d.ts.map +1 -1
- package/dist/cli/team.js +114 -4
- package/dist/cli/team.js.map +1 -1
- package/dist/cli/upstream.d.ts +1 -0
- package/dist/cli/upstream.d.ts.map +1 -1
- package/dist/cli/upstream.js +84 -5
- package/dist/cli/upstream.js.map +1 -1
- package/dist/node_modules/@zmice/platform-core/dist/index.d.ts +37 -3
- package/dist/node_modules/@zmice/platform-core/dist/index.d.ts.map +1 -1
- package/dist/node_modules/@zmice/platform-core/dist/index.js +68 -0
- package/dist/node_modules/@zmice/platform-core/dist/index.js.map +1 -1
- package/dist/node_modules/@zmice/platform-core/dist/index.test.js +44 -1
- package/dist/node_modules/@zmice/platform-core/dist/index.test.js.map +1 -1
- package/dist/runtime/__tests__/worktree-manager.test.js +63 -1
- package/dist/runtime/__tests__/worktree-manager.test.js.map +1 -1
- package/dist/runtime/worktree-manager.d.ts +26 -1
- package/dist/runtime/worktree-manager.d.ts.map +1 -1
- package/dist/runtime/worktree-manager.js +126 -12
- package/dist/runtime/worktree-manager.js.map +1 -1
- package/dist/team/__tests__/orchestrator.test.js +40 -0
- package/dist/team/__tests__/orchestrator.test.js.map +1 -1
- package/dist/team/__tests__/planner.test.d.ts +2 -0
- package/dist/team/__tests__/planner.test.d.ts.map +1 -0
- package/dist/team/__tests__/planner.test.js +43 -0
- package/dist/team/__tests__/planner.test.js.map +1 -0
- package/dist/team/__tests__/task-queue.test.js +18 -0
- package/dist/team/__tests__/task-queue.test.js.map +1 -1
- package/dist/team/orchestrator.d.ts +2 -1
- package/dist/team/orchestrator.d.ts.map +1 -1
- package/dist/team/orchestrator.js +29 -10
- package/dist/team/orchestrator.js.map +1 -1
- package/dist/team/planner.d.ts +27 -0
- package/dist/team/planner.d.ts.map +1 -0
- package/dist/team/planner.js +120 -0
- package/dist/team/planner.js.map +1 -0
- package/dist/team/task-queue.d.ts +3 -0
- package/dist/team/task-queue.d.ts.map +1 -1
- package/dist/team/task-queue.js +11 -2
- package/dist/team/task-queue.js.map +1 -1
- package/package.json +2 -2
- package/vendor/node_modules/@zmice/platform-core/dist/index.d.ts +37 -3
- package/vendor/node_modules/@zmice/platform-core/dist/index.d.ts.map +1 -1
- package/vendor/node_modules/@zmice/platform-core/dist/index.js +68 -0
- package/vendor/node_modules/@zmice/platform-core/dist/index.js.map +1 -1
- package/vendor/node_modules/@zmice/platform-core/dist/index.test.js +44 -1
- package/vendor/node_modules/@zmice/platform-core/dist/index.test.js.map +1 -1
- package/vendor/packages/platform-claude/dist/index.d.ts.map +1 -1
- package/vendor/packages/platform-claude/dist/index.js +12 -70
- package/vendor/packages/platform-claude/dist/index.js.map +1 -1
- package/vendor/packages/platform-codex/dist/generate.d.ts +1 -1
- package/vendor/packages/platform-codex/dist/generate.d.ts.map +1 -1
- package/vendor/packages/platform-codex/dist/generate.js +1 -1
- package/vendor/packages/platform-codex/dist/generate.js.map +1 -1
- package/vendor/packages/platform-codex/dist/index.d.ts +15 -1
- package/vendor/packages/platform-codex/dist/index.d.ts.map +1 -1
- package/vendor/packages/platform-codex/dist/index.js +320 -47
- package/vendor/packages/platform-codex/dist/index.js.map +1 -1
- package/vendor/packages/platform-codex/dist/index.test.js +113 -5
- package/vendor/packages/platform-codex/dist/index.test.js.map +1 -1
- package/vendor/packages/platform-opencode/dist/index.d.ts.map +1 -1
- package/vendor/packages/platform-opencode/dist/index.js +15 -81
- package/vendor/packages/platform-opencode/dist/index.js.map +1 -1
- package/vendor/packages/platform-qwen/dist/index.d.ts.map +1 -1
- package/vendor/packages/platform-qwen/dist/index.js +28 -84
- package/vendor/packages/platform-qwen/dist/index.js.map +1 -1
- package/vendor/packages/toolkit/src/content/agents/architect/body.md +8 -0
- package/vendor/packages/toolkit/src/content/agents/code-reviewer/body.md +10 -0
- package/vendor/packages/toolkit/src/content/agents/product-owner/body.md +8 -0
- package/vendor/packages/toolkit/src/content/commands/plan-review/body.md +3 -1
- package/vendor/packages/toolkit/src/content/commands/start/body.md +51 -2
- package/vendor/packages/toolkit/src/content/commands/start/meta.yaml +2 -2
- package/vendor/packages/toolkit/src/content/skills/branch-finish-and-cleanup/body.md +17 -0
- package/vendor/packages/toolkit/src/content/skills/browser-qa-testing/body.md +77 -520
- package/vendor/packages/toolkit/src/content/skills/ci-cd-and-automation/body.md +56 -387
- package/vendor/packages/toolkit/src/content/skills/code-review-and-quality/body.md +10 -0
- package/vendor/packages/toolkit/src/content/skills/code-simplification/body.md +55 -301
- package/vendor/packages/toolkit/src/content/skills/context-engineering/body.md +10 -0
- package/vendor/packages/toolkit/src/content/skills/continuous-learning/body.md +66 -331
- package/vendor/packages/toolkit/src/content/skills/multi-perspective-review/body.md +30 -1
- package/vendor/packages/toolkit/src/content/skills/parallel-agent-dispatch/body.md +79 -317
- package/vendor/packages/toolkit/src/content/skills/performance-optimization/body.md +60 -330
- package/vendor/packages/toolkit/src/content/skills/planning-and-task-breakdown/body.md +35 -0
- package/vendor/packages/toolkit/src/content/skills/sdd-tdd-workflow/body.md +66 -342
- package/vendor/packages/toolkit/src/content/skills/sprint-retrospective/body.md +66 -303
- package/vendor/packages/toolkit/src/content/skills/team-orchestration/body.md +81 -327
- package/vendor/packages/toolkit/src/content/skills/test-driven-development/body.md +50 -346
- package/vendor/packages/toolkit/src/content/skills/using-agent-skills/body.md +26 -2
- package/vendor/references/upstreams.yaml +5 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { describe, it } from "node:test";
|
|
2
2
|
import assert from "node:assert/strict";
|
|
3
|
-
import { capability, createCodexGenerationPlan, createCodexInstallPlan, packageName, platformName, templateFiles, } from "./index.js";
|
|
3
|
+
import { capability, createCodexGenerationPlan, createCodexInstallPlan, createCodexMarketplaceGenerationPlan, createCodexPluginGenerationPlan, packageName, platformName, templateFiles, } from "./index.js";
|
|
4
4
|
const manifest = {
|
|
5
5
|
source: "toolkit-manifest",
|
|
6
6
|
assets: [
|
|
@@ -19,6 +19,14 @@ const manifest = {
|
|
|
19
19
|
summary: "统一任务开始入口",
|
|
20
20
|
body: "# 开始\n\n先判断工作流类型,再选择入口。\n",
|
|
21
21
|
},
|
|
22
|
+
{
|
|
23
|
+
id: "agent:code-reviewer",
|
|
24
|
+
kind: "agent",
|
|
25
|
+
platforms: ["codex"],
|
|
26
|
+
title: "Code reviewer",
|
|
27
|
+
summary: "Review code changes for correctness and risk.",
|
|
28
|
+
body: "Review code like an owner. Prioritize correctness, security, behavior regressions, and missing tests.",
|
|
29
|
+
},
|
|
22
30
|
],
|
|
23
31
|
};
|
|
24
32
|
describe("@zmice/platform-codex scaffold", () => {
|
|
@@ -27,20 +35,31 @@ describe("@zmice/platform-codex scaffold", () => {
|
|
|
27
35
|
assert.equal(plan.platform, platformName);
|
|
28
36
|
assert.equal(plan.packageName, packageName);
|
|
29
37
|
assert.equal(plan.manifestSource, "toolkit-manifest");
|
|
30
|
-
assert.deepEqual(plan.matchedAssets.map((asset) => asset.id), [
|
|
38
|
+
assert.deepEqual(plan.matchedAssets.map((asset) => asset.id), [
|
|
39
|
+
"skill-alpha",
|
|
40
|
+
"command:start",
|
|
41
|
+
"agent:code-reviewer",
|
|
42
|
+
]);
|
|
31
43
|
assert.deepEqual(plan.capability, capability);
|
|
32
44
|
assert.deepEqual(plan.artifacts.map((artifact) => artifact.path), [
|
|
33
45
|
templateFiles.agents,
|
|
46
|
+
templateFiles.config,
|
|
34
47
|
"skills/zc-start/SKILL.md",
|
|
35
48
|
"skills/zc-skill-alpha/SKILL.md",
|
|
49
|
+
"agents/zc-code-reviewer.toml",
|
|
36
50
|
]);
|
|
37
51
|
assert.ok(plan.artifacts[0]?.content.includes("Codex 工作流入口"));
|
|
38
52
|
assert.ok(plan.artifacts[0]?.content.includes("$zc-sdd-tdd"));
|
|
39
53
|
assert.ok(plan.artifacts[0]?.content.includes("统一命令语义到 Codex skill 的映射"));
|
|
40
54
|
assert.ok(plan.artifacts[0]?.content.includes("固定 workflow"));
|
|
41
|
-
assert.ok(plan.artifacts[
|
|
42
|
-
assert.ok(plan.artifacts[1]?.content.includes("
|
|
43
|
-
assert.ok(plan.artifacts[
|
|
55
|
+
assert.ok(plan.artifacts[0]?.content.includes("config.toml"));
|
|
56
|
+
assert.ok(plan.artifacts[1]?.content.includes("[agents.zc_code_reviewer]"));
|
|
57
|
+
assert.ok(plan.artifacts[1]?.content.includes('config_file = "agents/zc-code-reviewer.toml"'));
|
|
58
|
+
assert.ok(plan.artifacts[2]?.content.includes("command-alias skill"));
|
|
59
|
+
assert.ok(plan.artifacts[2]?.content.includes("$zc-start"));
|
|
60
|
+
assert.ok(plan.artifacts[3]?.content.includes("Alpha skill"));
|
|
61
|
+
assert.ok(plan.artifacts[4]?.content.includes('name = "zc_code_reviewer"'));
|
|
62
|
+
assert.ok(plan.artifacts[4]?.content.includes("developer_instructions"));
|
|
44
63
|
});
|
|
45
64
|
it("creates a global install plan with AGENTS and skills", () => {
|
|
46
65
|
const plan = createCodexInstallPlan(manifest, {
|
|
@@ -52,8 +71,10 @@ describe("@zmice/platform-codex scaffold", () => {
|
|
|
52
71
|
assert.equal(plan.overwrite, "error");
|
|
53
72
|
assert.deepEqual(plan.artifacts.map((artifact) => artifact.path), [
|
|
54
73
|
"/tmp/codex/AGENTS.md",
|
|
74
|
+
"/tmp/codex/config.toml",
|
|
55
75
|
"/tmp/codex/skills/zc-start/SKILL.md",
|
|
56
76
|
"/tmp/codex/skills/zc-skill-alpha/SKILL.md",
|
|
77
|
+
"/tmp/codex/agents/zc-code-reviewer.toml",
|
|
57
78
|
]);
|
|
58
79
|
});
|
|
59
80
|
it("installs project AGENTS.md and project-local .codex skills", () => {
|
|
@@ -64,11 +85,98 @@ describe("@zmice/platform-codex scaffold", () => {
|
|
|
64
85
|
assert.equal(plan.scope, "project");
|
|
65
86
|
assert.deepEqual(plan.artifacts.map((artifact) => artifact.path), [
|
|
66
87
|
"/tmp/project/AGENTS.md",
|
|
88
|
+
"/tmp/project/.codex/config.toml",
|
|
67
89
|
"/tmp/project/.codex/skills/zc-start/SKILL.md",
|
|
68
90
|
"/tmp/project/.codex/skills/zc-skill-alpha/SKILL.md",
|
|
91
|
+
"/tmp/project/.codex/agents/zc-code-reviewer.toml",
|
|
69
92
|
]);
|
|
70
93
|
assert.deepEqual(plan.capability.skills?.relativeDir, ".codex/skills");
|
|
94
|
+
assert.deepEqual(plan.capability.agents?.relativeDir, ".codex/agents");
|
|
71
95
|
assert.ok(plan.artifacts[0]?.content.includes(".codex/skills/zc-<command>/SKILL.md"));
|
|
96
|
+
assert.ok(plan.artifacts[0]?.content.includes(".codex/agents/zc-*.toml"));
|
|
97
|
+
assert.ok(plan.artifacts[0]?.content.includes(".codex/config.toml"));
|
|
98
|
+
assert.ok(plan.artifacts[1]?.content.includes('config_file = "agents/zc-code-reviewer.toml"'));
|
|
99
|
+
});
|
|
100
|
+
it("creates a Codex plugin generation plan with manifest and bundled skills", () => {
|
|
101
|
+
const plan = createCodexPluginGenerationPlan(manifest, {
|
|
102
|
+
pluginVersion: "0.2.5",
|
|
103
|
+
});
|
|
104
|
+
assert.equal(plan.platform, platformName);
|
|
105
|
+
assert.deepEqual(plan.capability.surfaces, ["plugin-dir", "skills-dir"]);
|
|
106
|
+
assert.equal(plan.capability.entryFile, undefined);
|
|
107
|
+
assert.deepEqual(plan.artifacts.map((artifact) => artifact.path), [
|
|
108
|
+
templateFiles.pluginManifest,
|
|
109
|
+
"skills/start/SKILL.md",
|
|
110
|
+
"skills/skill-alpha/SKILL.md",
|
|
111
|
+
]);
|
|
112
|
+
assert.ok(plan.artifacts[1]?.content.includes('name: "start"'));
|
|
113
|
+
assert.ok(plan.artifacts[1]?.content.includes("$start"));
|
|
114
|
+
assert.ok(!plan.artifacts[1]?.content.includes("$zc-start"));
|
|
115
|
+
const pluginManifest = JSON.parse(plan.artifacts[0].content);
|
|
116
|
+
assert.equal(pluginManifest.name, "zc-toolkit");
|
|
117
|
+
assert.equal(pluginManifest.version, "0.2.5");
|
|
118
|
+
assert.equal(pluginManifest.skills, "./skills/");
|
|
119
|
+
assert.deepEqual(pluginManifest.interface.defaultPrompt, [
|
|
120
|
+
"Use start to choose the right workflow for this task.",
|
|
121
|
+
"Use team-orchestration when multiple agents need coordinated worktree isolation.",
|
|
122
|
+
]);
|
|
123
|
+
assert.deepEqual(pluginManifest.zc, { commands: 1, skills: 1 });
|
|
124
|
+
});
|
|
125
|
+
it("creates a Codex repo marketplace generation plan", () => {
|
|
126
|
+
const plan = createCodexMarketplaceGenerationPlan(manifest, {
|
|
127
|
+
pluginVersion: "0.2.5",
|
|
128
|
+
});
|
|
129
|
+
assert.deepEqual(plan.artifacts.map((artifact) => artifact.path), [
|
|
130
|
+
templateFiles.marketplace,
|
|
131
|
+
templateFiles.agents,
|
|
132
|
+
"plugins/zc-toolkit/.codex-plugin/plugin.json",
|
|
133
|
+
"plugins/zc-toolkit/skills/start/SKILL.md",
|
|
134
|
+
"plugins/zc-toolkit/skills/skill-alpha/SKILL.md",
|
|
135
|
+
".codex/config.toml",
|
|
136
|
+
".codex/agents/zc-code-reviewer.toml",
|
|
137
|
+
]);
|
|
138
|
+
assert.deepEqual(plan.capability.surfaces, ["entry-file", "plugin-dir", "skills-dir", "agents-dir"]);
|
|
139
|
+
assert.equal(plan.capability.entryFile?.fileName, templateFiles.agents);
|
|
140
|
+
assert.equal(plan.capability.skills?.relativeDir, "plugins/zc-toolkit/skills");
|
|
141
|
+
assert.equal(plan.capability.agents?.relativeDir, ".codex/agents");
|
|
142
|
+
assert.ok(plan.artifacts[1]?.content.includes("Codex zc-toolkit 插件入口"));
|
|
143
|
+
assert.ok(plan.artifacts[1]?.content.includes("zc:start` -> `$start"));
|
|
144
|
+
assert.ok(!plan.artifacts[1]?.content.includes("$zc-start"));
|
|
145
|
+
assert.ok(plan.artifacts[1]?.content.includes("plugins/zc-toolkit/skills/<command-or-skill>/SKILL.md"));
|
|
146
|
+
const marketplace = JSON.parse(plan.artifacts[0].content);
|
|
147
|
+
assert.equal(marketplace.plugins[0]?.name, "zc-toolkit");
|
|
148
|
+
assert.deepEqual(marketplace.plugins[0]?.source, {
|
|
149
|
+
source: "local",
|
|
150
|
+
path: "./plugins/zc-toolkit",
|
|
151
|
+
});
|
|
152
|
+
assert.deepEqual(marketplace.plugins[0]?.policy, {
|
|
153
|
+
installation: "AVAILABLE",
|
|
154
|
+
authentication: "ON_INSTALL",
|
|
155
|
+
});
|
|
156
|
+
});
|
|
157
|
+
it("creates a Codex personal marketplace generation plan", () => {
|
|
158
|
+
const plan = createCodexMarketplaceGenerationPlan(manifest, {
|
|
159
|
+
pluginVersion: "0.2.5",
|
|
160
|
+
scope: "global",
|
|
161
|
+
});
|
|
162
|
+
assert.deepEqual(plan.artifacts.map((artifact) => artifact.path), [
|
|
163
|
+
templateFiles.marketplace,
|
|
164
|
+
".codex/AGENTS.md",
|
|
165
|
+
".codex/plugins/zc-toolkit/.codex-plugin/plugin.json",
|
|
166
|
+
".codex/plugins/zc-toolkit/skills/start/SKILL.md",
|
|
167
|
+
".codex/plugins/zc-toolkit/skills/skill-alpha/SKILL.md",
|
|
168
|
+
".codex/config.toml",
|
|
169
|
+
".codex/agents/zc-code-reviewer.toml",
|
|
170
|
+
]);
|
|
171
|
+
assert.equal(plan.capability.entryFile?.fileName, ".codex/AGENTS.md");
|
|
172
|
+
assert.equal(plan.capability.skills?.relativeDir, ".codex/plugins/zc-toolkit/skills");
|
|
173
|
+
assert.ok(plan.artifacts[1]?.content.includes("~/.codex/plugins/zc-toolkit/skills/<command-or-skill>/SKILL.md"));
|
|
174
|
+
assert.ok(plan.artifacts[1]?.content.includes("zc:start` -> `$start"));
|
|
175
|
+
const marketplace = JSON.parse(plan.artifacts[0].content);
|
|
176
|
+
assert.deepEqual(marketplace.plugins[0]?.source, {
|
|
177
|
+
source: "local",
|
|
178
|
+
path: "./.codex/plugins/zc-toolkit",
|
|
179
|
+
});
|
|
72
180
|
});
|
|
73
181
|
});
|
|
74
182
|
//# sourceMappingURL=index.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.test.js","sourceRoot":"","sources":["../src/index.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,MAAM,MAAM,oBAAoB,CAAC;AAExC,OAAO,EACL,UAAU,EACV,yBAAyB,EACzB,sBAAsB,EACtB,WAAW,EACX,YAAY,EACZ,aAAa,GAEd,MAAM,YAAY,CAAC;AAEpB,MAAM,QAAQ,GAAwB;IACpC,MAAM,EAAE,kBAAkB;IAC1B,MAAM,EAAE;QACN;YACE,EAAE,EAAE,aAAa;YACjB,IAAI,EAAE,OAAO;YACb,SAAS,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;YAC5B,KAAK,EAAE,aAAa;SACrB;QACD;YACE,EAAE,EAAE,eAAe;YACnB,IAAI,EAAE,SAAS;YACf,SAAS,EAAE,CAAC,OAAO,CAAC;YACpB,KAAK,EAAE,eAAe;YACtB,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,UAAU;YACnB,IAAI,EAAE,2BAA2B;SAClC;KACF;CACF,CAAC;AAEF,QAAQ,CAAC,gCAAgC,EAAE,GAAG,EAAE;IAC9C,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;QACvD,MAAM,IAAI,GAAG,yBAAyB,CAAC,QAAQ,CAAC,CAAC;QAEjD,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QAC1C,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QAC5C,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;QACtD,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,
|
|
1
|
+
{"version":3,"file":"index.test.js","sourceRoot":"","sources":["../src/index.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,MAAM,MAAM,oBAAoB,CAAC;AAExC,OAAO,EACL,UAAU,EACV,yBAAyB,EACzB,sBAAsB,EACtB,oCAAoC,EACpC,+BAA+B,EAC/B,WAAW,EACX,YAAY,EACZ,aAAa,GAEd,MAAM,YAAY,CAAC;AAEpB,MAAM,QAAQ,GAAwB;IACpC,MAAM,EAAE,kBAAkB;IAC1B,MAAM,EAAE;QACN;YACE,EAAE,EAAE,aAAa;YACjB,IAAI,EAAE,OAAO;YACb,SAAS,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;YAC5B,KAAK,EAAE,aAAa;SACrB;QACD;YACE,EAAE,EAAE,eAAe;YACnB,IAAI,EAAE,SAAS;YACf,SAAS,EAAE,CAAC,OAAO,CAAC;YACpB,KAAK,EAAE,eAAe;YACtB,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,UAAU;YACnB,IAAI,EAAE,2BAA2B;SAClC;QACD;YACE,EAAE,EAAE,qBAAqB;YACzB,IAAI,EAAE,OAAO;YACb,SAAS,EAAE,CAAC,OAAO,CAAC;YACpB,KAAK,EAAE,eAAe;YACtB,OAAO,EAAE,+CAA+C;YACxD,IAAI,EAAE,uGAAuG;SAC9G;KACF;CACF,CAAC;AAEF,QAAQ,CAAC,gCAAgC,EAAE,GAAG,EAAE;IAC9C,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;QACvD,MAAM,IAAI,GAAG,yBAAyB,CAAC,QAAQ,CAAC,CAAC;QAEjD,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QAC1C,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QAC5C,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;QACtD,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE;YAC5D,aAAa;YACb,eAAe;YACf,qBAAqB;SACtB,CAAC,CAAC;QACH,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QAC9C,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;YAChE,aAAa,CAAC,MAAM;YACpB,aAAa,CAAC,MAAM;YACpB,0BAA0B;YAC1B,gCAAgC;YAChC,8BAA8B;SAC/B,CAAC,CAAC;QACH,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC;QAC9D,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC;QAC9D,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC,CAAC;QAC1E,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC;QAC9D,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC;QAC9D,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,2BAA2B,CAAC,CAAC,CAAC;QAC5E,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,8CAA8C,CAAC,CAAC,CAAC;QAC/F,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,CAAC;QACtE,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;QAC5D,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC;QAC9D,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,2BAA2B,CAAC,CAAC,CAAC;QAC5E,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC,CAAC;IAC3E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sDAAsD,EAAE,GAAG,EAAE;QAC9D,MAAM,IAAI,GAAG,sBAAsB,CAAC,QAAQ,EAAE;YAC5C,eAAe,EAAE,YAAY;YAC7B,KAAK,EAAE,QAAQ;SAChB,CAAC,CAAC;QAEH,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC;QACjD,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QACnC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACtC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;YAChE,sBAAsB;YACtB,wBAAwB;YACxB,qCAAqC;YACrC,2CAA2C;YAC3C,yCAAyC;SAC1C,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4DAA4D,EAAE,GAAG,EAAE;QACpE,MAAM,IAAI,GAAG,sBAAsB,CAAC,QAAQ,EAAE;YAC5C,eAAe,EAAE,cAAc;YAC/B,KAAK,EAAE,SAAS;SACjB,CAAC,CAAC;QAEH,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QACpC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;YAChE,wBAAwB;YACxB,iCAAiC;YACjC,8CAA8C;YAC9C,oDAAoD;YACpD,kDAAkD;SACnD,CAAC,CAAC;QACH,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,WAAW,EAAE,eAAe,CAAC,CAAC;QACvE,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,WAAW,EAAE,eAAe,CAAC,CAAC;QACvE,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,qCAAqC,CAAC,CAAC,CAAC;QACtF,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC,CAAC;QAC1E,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,CAAC;QACrE,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,8CAA8C,CAAC,CAAC,CAAC;IACjG,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yEAAyE,EAAE,GAAG,EAAE;QACjF,MAAM,IAAI,GAAG,+BAA+B,CAAC,QAAQ,EAAE;YACrD,aAAa,EAAE,OAAO;SACvB,CAAC,CAAC;QAEH,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QAC1C,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC;QACzE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QACnD,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;YAChE,aAAa,CAAC,cAAc;YAC5B,uBAAuB;YACvB,6BAA6B;SAC9B,CAAC,CAAC;QACH,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC;QAChE,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;QACzD,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;QAE7D,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAE,CAAC,OAAO,CAM3D,CAAC;QACF,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QAChD,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC9C,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QACjD,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,SAAS,CAAC,aAAa,EAAE;YACvD,uDAAuD;YACvD,kFAAkF;SACnF,CAAC,CAAC;QACH,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kDAAkD,EAAE,GAAG,EAAE;QAC1D,MAAM,IAAI,GAAG,oCAAoC,CAAC,QAAQ,EAAE;YAC1D,aAAa,EAAE,OAAO;SACvB,CAAC,CAAC;QAEH,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;YAChE,aAAa,CAAC,WAAW;YACzB,aAAa,CAAC,MAAM;YACpB,8CAA8C;YAC9C,0CAA0C;YAC1C,gDAAgD;YAChD,oBAAoB;YACpB,qCAAqC;SACtC,CAAC,CAAC;QACH,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC;QACrG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,QAAQ,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;QACxE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,WAAW,EAAE,2BAA2B,CAAC,CAAC;QAC/E,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,WAAW,EAAE,eAAe,CAAC,CAAC;QACnE,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,CAAC;QACxE,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC,CAAC;QACvE,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;QAC7D,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,uDAAuD,CAAC,CAAC,CAAC;QAExG,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAE,CAAC,OAAO,CAMxD,CAAC;QACF,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC;QACzD,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE;YAC/C,MAAM,EAAE,OAAO;YACf,IAAI,EAAE,sBAAsB;SAC7B,CAAC,CAAC;QACH,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE;YAC/C,YAAY,EAAE,WAAW;YACzB,cAAc,EAAE,YAAY;SAC7B,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sDAAsD,EAAE,GAAG,EAAE;QAC9D,MAAM,IAAI,GAAG,oCAAoC,CAAC,QAAQ,EAAE;YAC1D,aAAa,EAAE,OAAO;YACtB,KAAK,EAAE,QAAQ;SAChB,CAAC,CAAC;QAEH,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;YAChE,aAAa,CAAC,WAAW;YACzB,kBAAkB;YAClB,qDAAqD;YACrD,iDAAiD;YACjD,uDAAuD;YACvD,oBAAoB;YACpB,qCAAqC;SACtC,CAAC,CAAC;QACH,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,QAAQ,EAAE,kBAAkB,CAAC,CAAC;QACtE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,WAAW,EAAE,kCAAkC,CAAC,CAAC;QACtF,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,gEAAgE,CAAC,CAAC,CAAC;QACjH,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC,CAAC;QAEvE,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAE,CAAC,OAAO,CAExD,CAAC;QACF,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE;YAC/C,MAAM,EAAE,OAAO;YACf,IAAI,EAAE,6BAA6B;SACpC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAUL,KAAK,cAAc,IAAI,kBAAkB,EACzC,KAAK,WAAW,IAAI,eAAe,EACnC,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EACzB,MAAM,sBAAsB,CAAC;AAE9B,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,QAAQ,GAAG,KAAK,CAAC;AAExD,MAAM,MAAM,yBAAyB,GACjC,YAAY,GACZ,cAAc,GACd,YAAY,GACZ,YAAY,CAAC;AAEjB,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,QAAQ,EAAE,OAAO,YAAY,CAAC;IACvC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,SAAS,yBAAyB,EAAE,CAAC;IACxD,QAAQ,CAAC,SAAS,EAAE;QAClB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;KAC3B,CAAC;IACF,QAAQ,CAAC,QAAQ,EAAE;QACjB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;QAC7B,QAAQ,CAAC,aAAa,EAAE,KAAK,CAAC;KAC/B,CAAC;IACF,QAAQ,CAAC,MAAM,EAAE;QACf,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;QAC7B,QAAQ,CAAC,QAAQ,EAAE,UAAU,CAAC;KAC/B,CAAC;IACF,QAAQ,CAAC,MAAM,EAAE;QACf,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;QAC7B,QAAQ,CAAC,aAAa,EAAE,KAAK,CAAC;KAC/B,CAAC;CACH;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,KAAK,CAAC,EAAE,YAAY,CAAC;CAC/B;AAED,MAAM,MAAM,cAAc,GAAG,iBAAiB,GAAG,kBAAkB,CAAC;AAEpE,MAAM,WAAW,cAAe,SAAQ,kBAAkB;IACxD,QAAQ,CAAC,UAAU,EAAE,kBAAkB,CAAC;CACzC;AAED,MAAM,WAAW,WAAY,SAAQ,eAAe;IAClD,QAAQ,CAAC,UAAU,EAAE,kBAAkB,CAAC;IACxC,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;CAC9B;AAED,eAAO,MAAM,YAAY,EAAG,UAAmB,CAAC;AAChD,eAAO,MAAM,WAAW,EAAG,0BAAmC,CAAC;AAE/D,YAAY,EACV,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,GACpB,CAAC;AAEF,eAAO,MAAM,aAAa;;CAEhB,CAAC;AAEX,eAAO,MAAM,UAAU,EAAE,kBAmBxB,CAAC;AA+NF,wBAAgB,4BAA4B,CAC1C,QAAQ,EAAE,mBAAmB,EAC7B,OAAO,GAAE,iBAAsB,GAC9B,cAAc,CA6BhB;AAED,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,mBAAmB,EAC7B,OAAO,EAAE,cAAc,GACtB,WAAW,CAcb"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { attachPlanMetadata,
|
|
1
|
+
import { attachPlanMetadata, createMarkdownAgentArtifact, createMarkdownCommandArtifact, createNamespacedAssetSlug, createSkillArtifact, prefixArtifacts, renderPlatformAssetList, selectMatchedAssets, } from "@zmice/platform-core";
|
|
2
2
|
export const platformName = "opencode";
|
|
3
3
|
export const packageName = "@zmice/platform-opencode";
|
|
4
4
|
export const templateFiles = {
|
|
@@ -80,14 +80,6 @@ function isSupportedAsset(asset) {
|
|
|
80
80
|
function selectMatchedAssetsByKind(manifest, kind) {
|
|
81
81
|
return selectMatchedAssets(manifest, platformName).filter((asset) => isSupportedAsset(asset) && asset.kind === kind);
|
|
82
82
|
}
|
|
83
|
-
function renderAssetList(assets) {
|
|
84
|
-
if (assets.length === 0) {
|
|
85
|
-
return "- 尚未匹配到任何工具包资产。";
|
|
86
|
-
}
|
|
87
|
-
return assets
|
|
88
|
-
.map((asset) => `- \`${asset.kind}\` \`${asset.id}\`: ${describeAsset(asset)}`)
|
|
89
|
-
.join("\n");
|
|
90
|
-
}
|
|
91
83
|
function renderAgentsFile(manifestSource, assets, layout) {
|
|
92
84
|
const commandCount = assets.filter((asset) => asset.kind === "command").length;
|
|
93
85
|
const skillCount = assets.filter((asset) => asset.kind === "skill").length;
|
|
@@ -166,86 +158,31 @@ function renderAgentsFile(manifestSource, assets, layout) {
|
|
|
166
158
|
- skills:${skillCount} 个
|
|
167
159
|
- agents:${agentCount} 个
|
|
168
160
|
|
|
169
|
-
${
|
|
161
|
+
${renderPlatformAssetList(assets)}
|
|
170
162
|
`;
|
|
171
163
|
}
|
|
172
|
-
function renderYamlFrontmatter(fields) {
|
|
173
|
-
const lines = ["---"];
|
|
174
|
-
for (const [key, value] of Object.entries(fields)) {
|
|
175
|
-
if (value === undefined) {
|
|
176
|
-
continue;
|
|
177
|
-
}
|
|
178
|
-
if (Array.isArray(value)) {
|
|
179
|
-
if (value.length === 0) {
|
|
180
|
-
continue;
|
|
181
|
-
}
|
|
182
|
-
lines.push(`${key}:`);
|
|
183
|
-
for (const entry of value) {
|
|
184
|
-
lines.push(` - ${JSON.stringify(entry)}`);
|
|
185
|
-
}
|
|
186
|
-
continue;
|
|
187
|
-
}
|
|
188
|
-
lines.push(`${key}: ${JSON.stringify(value)}`);
|
|
189
|
-
}
|
|
190
|
-
lines.push("---");
|
|
191
|
-
return `${lines.join("\n")}\n`;
|
|
192
|
-
}
|
|
193
|
-
function renderMarkdownCommandFile(options) {
|
|
194
|
-
return `${renderYamlFrontmatter({
|
|
195
|
-
description: options.description,
|
|
196
|
-
})}\n${options.body.trim()}\n`;
|
|
197
|
-
}
|
|
198
|
-
function renderSkillFile(options) {
|
|
199
|
-
return `${renderYamlFrontmatter({
|
|
200
|
-
name: options.name,
|
|
201
|
-
description: options.description,
|
|
202
|
-
})}\n${options.body.trim()}\n`;
|
|
203
|
-
}
|
|
204
|
-
function renderMarkdownAgentFile(options) {
|
|
205
|
-
return `${renderYamlFrontmatter({
|
|
206
|
-
name: options.name,
|
|
207
|
-
description: options.description,
|
|
208
|
-
tools: options.tools,
|
|
209
|
-
})}\n${options.body.trim()}\n`;
|
|
210
|
-
}
|
|
211
|
-
function stripKindPrefix(value) {
|
|
212
|
-
return value.replace(/^(command|skill|agent):/, "");
|
|
213
|
-
}
|
|
214
164
|
function toNamespacedSlug(asset) {
|
|
215
|
-
|
|
216
|
-
const base = (assetName ?? stripKindPrefix(asset.id))
|
|
217
|
-
.trim()
|
|
218
|
-
.toLowerCase()
|
|
219
|
-
.replace(/[^a-z0-9-]+/g, "-")
|
|
220
|
-
.replace(/-{2,}/g, "-")
|
|
221
|
-
.replace(/^-|-$/g, "");
|
|
222
|
-
return `zc-${base || stripKindPrefix(asset.id)}`;
|
|
165
|
+
return createNamespacedAssetSlug(asset);
|
|
223
166
|
}
|
|
224
167
|
function renderCommandArtifacts(scope, assets) {
|
|
225
168
|
const layout = getScopeLayout(scope);
|
|
226
169
|
return assets.map((asset) => {
|
|
227
170
|
const slug = toNamespacedSlug(asset);
|
|
228
|
-
return {
|
|
171
|
+
return createMarkdownCommandArtifact({
|
|
229
172
|
path: `${layout.commandsDir}/${slug}.md`,
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
body: asset.body ?? `# ${describeAsset(asset)}\n`,
|
|
233
|
-
}),
|
|
234
|
-
};
|
|
173
|
+
asset,
|
|
174
|
+
});
|
|
235
175
|
});
|
|
236
176
|
}
|
|
237
177
|
function renderSkillArtifacts(scope, assets) {
|
|
238
178
|
const layout = getScopeLayout(scope);
|
|
239
179
|
return assets.map((asset) => {
|
|
240
180
|
const slug = toNamespacedSlug(asset);
|
|
241
|
-
return {
|
|
181
|
+
return createSkillArtifact({
|
|
242
182
|
path: `${layout.skillsDir}/${slug}/SKILL.md`,
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
body: asset.body ?? `# ${describeAsset(asset)}\n`,
|
|
247
|
-
}),
|
|
248
|
-
};
|
|
183
|
+
asset,
|
|
184
|
+
name: slug,
|
|
185
|
+
});
|
|
249
186
|
});
|
|
250
187
|
}
|
|
251
188
|
function renderAgentArtifacts(scope, assets) {
|
|
@@ -253,15 +190,12 @@ function renderAgentArtifacts(scope, assets) {
|
|
|
253
190
|
return assets.map((asset) => {
|
|
254
191
|
const slug = toNamespacedSlug(asset);
|
|
255
192
|
const assetTools = "tools" in asset && Array.isArray(asset.tools) ? asset.tools : undefined;
|
|
256
|
-
return {
|
|
193
|
+
return createMarkdownAgentArtifact({
|
|
257
194
|
path: `${layout.agentsDir}/${slug}.md`,
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
tools: assetTools,
|
|
263
|
-
}),
|
|
264
|
-
};
|
|
195
|
+
asset,
|
|
196
|
+
name: slug,
|
|
197
|
+
tools: assetTools,
|
|
198
|
+
});
|
|
265
199
|
});
|
|
266
200
|
}
|
|
267
201
|
export function createOpenCodeGenerationPlan(manifest, options = {}) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { createInstallPlan, describeAsset, selectMatchedAssets, } from "@zmice/platform-core";
|
|
1
|
+
import { createMarkdownAgentArtifact, createMarkdownCommandArtifact, createInstallPlan, createSkillArtifact, describeAsset, renderPlatformAssetList, selectMatchedAssets, stripAssetKindPrefix, } from "@zmice/platform-core";
|
|
2
2
|
export const platformName = "qwen";
|
|
3
3
|
export const packageName = "@zmice/platform-qwen";
|
|
4
4
|
export const templateFiles = {
|
|
@@ -32,68 +32,15 @@ export const capability = {
|
|
|
32
32
|
contextFileName: templateFiles.context,
|
|
33
33
|
},
|
|
34
34
|
};
|
|
35
|
-
function stripKindPrefix(asset) {
|
|
36
|
-
const prefix = `${asset.kind}:`;
|
|
37
|
-
return asset.id.startsWith(prefix) ? asset.id.slice(prefix.length) : asset.id;
|
|
38
|
-
}
|
|
39
35
|
function selectMatchedAssetsByKind(manifest, kind) {
|
|
40
36
|
return selectMatchedAssets(manifest, platformName).filter((asset) => asset.kind === kind);
|
|
41
37
|
}
|
|
42
|
-
function renderYamlFrontmatter(fields) {
|
|
43
|
-
const lines = ["---"];
|
|
44
|
-
for (const [key, value] of Object.entries(fields)) {
|
|
45
|
-
if (value === undefined || value === null) {
|
|
46
|
-
continue;
|
|
47
|
-
}
|
|
48
|
-
if (Array.isArray(value)) {
|
|
49
|
-
if (value.length === 0) {
|
|
50
|
-
continue;
|
|
51
|
-
}
|
|
52
|
-
lines.push(`${key}:`);
|
|
53
|
-
for (const entry of value) {
|
|
54
|
-
lines.push(` - ${JSON.stringify(String(entry))}`);
|
|
55
|
-
}
|
|
56
|
-
continue;
|
|
57
|
-
}
|
|
58
|
-
lines.push(`${key}: ${JSON.stringify(String(value))}`);
|
|
59
|
-
}
|
|
60
|
-
lines.push("---");
|
|
61
|
-
return `${lines.join("\n")}\n`;
|
|
62
|
-
}
|
|
63
|
-
function renderMarkdownCommandFile(options) {
|
|
64
|
-
return `${renderYamlFrontmatter({
|
|
65
|
-
name: options.name,
|
|
66
|
-
description: options.description,
|
|
67
|
-
})}\n${options.body.trim()}\n`;
|
|
68
|
-
}
|
|
69
|
-
function renderSkillFile(options) {
|
|
70
|
-
return `${renderYamlFrontmatter({
|
|
71
|
-
name: options.name,
|
|
72
|
-
description: options.description,
|
|
73
|
-
})}\n${options.body.trim()}\n`;
|
|
74
|
-
}
|
|
75
|
-
function renderMarkdownAgentFile(options) {
|
|
76
|
-
return `${renderYamlFrontmatter({
|
|
77
|
-
name: options.name,
|
|
78
|
-
description: options.description,
|
|
79
|
-
tools: options.tools,
|
|
80
|
-
skills: options.skills,
|
|
81
|
-
})}\n${options.body.trim()}\n`;
|
|
82
|
-
}
|
|
83
38
|
function getExtensionRoot(scope = "project") {
|
|
84
39
|
if (scope === "project") {
|
|
85
40
|
return `.qwen/extensions/${templateFiles.extensionName}`;
|
|
86
41
|
}
|
|
87
42
|
return `extensions/${templateFiles.extensionName}`;
|
|
88
43
|
}
|
|
89
|
-
function renderAssetList(assets) {
|
|
90
|
-
if (assets.length === 0) {
|
|
91
|
-
return "- 尚未匹配到任何工具包资产。";
|
|
92
|
-
}
|
|
93
|
-
return assets
|
|
94
|
-
.map((asset) => `- \`${asset.kind}\` \`${asset.id}\`: ${describeAsset(asset)}`)
|
|
95
|
-
.join("\n");
|
|
96
|
-
}
|
|
97
44
|
function renderContextFile(manifestSource, assets, commands, skills, agents) {
|
|
98
45
|
return `# Qwen 工作流入口
|
|
99
46
|
|
|
@@ -169,7 +116,7 @@ function renderContextFile(manifestSource, assets, commands, skills, agents) {
|
|
|
169
116
|
- skills:${skills.length} 个
|
|
170
117
|
- agents:${agents.length} 个
|
|
171
118
|
|
|
172
|
-
${
|
|
119
|
+
${renderPlatformAssetList(assets)}
|
|
173
120
|
`;
|
|
174
121
|
}
|
|
175
122
|
function renderExtensionManifest(packageName, extensionVersion, manifestSource, assets, commands, skills, agents) {
|
|
@@ -192,45 +139,42 @@ function renderExtensionManifest(packageName, extensionVersion, manifestSource,
|
|
|
192
139
|
}, null, 2)}\n`;
|
|
193
140
|
}
|
|
194
141
|
function renderCommandArtifact(extensionRoot, asset) {
|
|
195
|
-
const slug =
|
|
196
|
-
return {
|
|
142
|
+
const slug = stripAssetKindPrefix(asset.id);
|
|
143
|
+
return createMarkdownCommandArtifact({
|
|
197
144
|
path: `${extensionRoot}/commands/zc/${slug}.md`,
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
};
|
|
145
|
+
asset,
|
|
146
|
+
name: `zc:${slug}`,
|
|
147
|
+
description: describeAsset(asset),
|
|
148
|
+
body: asset.body ??
|
|
149
|
+
`这是由工具包资产 \`${asset.id}\` 生成的 Qwen 命令入口,用于触发 \`zc:${slug}\`。`,
|
|
150
|
+
});
|
|
205
151
|
}
|
|
206
152
|
function renderSkillArtifact(extensionRoot, asset) {
|
|
207
|
-
const slug =
|
|
208
|
-
return {
|
|
153
|
+
const slug = stripAssetKindPrefix(asset.id);
|
|
154
|
+
return createSkillArtifact({
|
|
209
155
|
path: `${extensionRoot}/skills/zc-${slug}/SKILL.md`,
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
};
|
|
156
|
+
asset,
|
|
157
|
+
name: `zc-${slug}`,
|
|
158
|
+
description: describeAsset(asset),
|
|
159
|
+
body: asset.body ??
|
|
160
|
+
`这是由工具包资产 \`${asset.id}\` 生成的 Qwen skill,供 extension 目录直接加载。`,
|
|
161
|
+
});
|
|
217
162
|
}
|
|
218
163
|
function renderAgentArtifact(extensionRoot, asset) {
|
|
219
|
-
const slug =
|
|
164
|
+
const slug = stripAssetKindPrefix(asset.id);
|
|
220
165
|
const skillRefs = asset.requires
|
|
221
166
|
?.filter((entry) => entry.startsWith("skill:"))
|
|
222
167
|
.map((entry) => `zc-${entry.slice("skill:".length)}`);
|
|
223
|
-
return {
|
|
168
|
+
return createMarkdownAgentArtifact({
|
|
224
169
|
path: `${extensionRoot}/agents/zc-${slug}.md`,
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
};
|
|
170
|
+
asset,
|
|
171
|
+
name: `zc-${slug}`,
|
|
172
|
+
description: describeAsset(asset),
|
|
173
|
+
body: asset.body ??
|
|
174
|
+
`这是由工具包资产 \`${asset.id}\` 生成的 Qwen agent,用于承接 \`zc-${slug}\` 角色能力。`,
|
|
175
|
+
tools: asset.tools,
|
|
176
|
+
skills: skillRefs,
|
|
177
|
+
});
|
|
234
178
|
}
|
|
235
179
|
export function createQwenGenerationPlan(manifest, options = {}) {
|
|
236
180
|
const matchedAssets = selectMatchedAssets(manifest, platformName);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,aAAa,EACb,mBAAmB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,6 +24,16 @@
|
|
|
24
24
|
- 必要时给出替代方案或重构方向
|
|
25
25
|
- 对验证证据的可信度判断
|
|
26
26
|
|
|
27
|
+
## 输出纪律
|
|
28
|
+
|
|
29
|
+
审查最后必须给出可执行结论:
|
|
30
|
+
|
|
31
|
+
```text
|
|
32
|
+
Recommendation: <Approve / Request changes / Defer> because <证据、风险和取舍>。
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
发现问题时先列问题,再给总结;不要用 “LGTM” 代替证据。
|
|
36
|
+
|
|
27
37
|
## 不负责什么
|
|
28
38
|
|
|
29
39
|
- 不替代专项安全审计或性能 profiling
|