@zmice/zc 0.2.1 → 0.2.2
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/LICENSE +21 -0
- package/README.md +201 -55
- package/dist/cli/__tests__/platform.test.js +573 -34
- package/dist/cli/__tests__/platform.test.js.map +1 -1
- package/dist/cli/__tests__/toolkit.test.js +35 -0
- package/dist/cli/__tests__/toolkit.test.js.map +1 -1
- package/dist/cli/platform.d.ts +15 -1
- package/dist/cli/platform.d.ts.map +1 -1
- package/dist/cli/platform.js +1195 -87
- package/dist/cli/platform.js.map +1 -1
- package/dist/cli/toolkit.d.ts.map +1 -1
- package/dist/cli/toolkit.js +26 -1
- package/dist/cli/toolkit.js.map +1 -1
- package/dist/platform-state/doctor.d.ts +3 -0
- package/dist/platform-state/doctor.d.ts.map +1 -0
- package/dist/platform-state/doctor.js +96 -0
- package/dist/platform-state/doctor.js.map +1 -0
- package/dist/platform-state/index.d.ts +2 -1
- package/dist/platform-state/index.d.ts.map +1 -1
- package/dist/platform-state/index.js +1 -0
- package/dist/platform-state/index.js.map +1 -1
- package/dist/platform-state/receipt.d.ts +5 -0
- package/dist/platform-state/receipt.d.ts.map +1 -1
- package/dist/platform-state/receipt.js +5 -0
- package/dist/platform-state/receipt.js.map +1 -1
- package/dist/platform-state/types.d.ts +16 -0
- package/dist/platform-state/types.d.ts.map +1 -1
- package/dist/utils/install-target.d.ts +1 -1
- package/dist/utils/install-target.d.ts.map +1 -1
- package/dist/utils/install-target.js +16 -6
- package/dist/utils/install-target.js.map +1 -1
- package/dist/utils/install-target.test.js +19 -10
- package/dist/utils/install-target.test.js.map +1 -1
- package/dist/utils/platform-install-cleanup.d.ts +7 -0
- package/dist/utils/platform-install-cleanup.d.ts.map +1 -0
- package/dist/utils/platform-install-cleanup.js +34 -0
- package/dist/utils/platform-install-cleanup.js.map +1 -0
- package/dist/utils/platform-install-cleanup.test.d.ts +2 -0
- package/dist/utils/platform-install-cleanup.test.d.ts.map +1 -0
- package/dist/utils/platform-install-cleanup.test.js +30 -0
- package/dist/utils/platform-install-cleanup.test.js.map +1 -0
- package/dist/utils/platform-install-receipt.d.ts +1 -0
- package/dist/utils/platform-install-receipt.d.ts.map +1 -1
- package/dist/utils/platform-install-receipt.js +10 -2
- package/dist/utils/platform-install-receipt.js.map +1 -1
- package/dist/utils/platform-install-receipt.test.js +30 -2
- package/dist/utils/platform-install-receipt.test.js.map +1 -1
- package/dist/utils/qwen-extension-cli.d.ts +52 -0
- package/dist/utils/qwen-extension-cli.d.ts.map +1 -0
- package/dist/utils/qwen-extension-cli.js +169 -0
- package/dist/utils/qwen-extension-cli.js.map +1 -0
- package/dist/utils/qwen-extension-cli.test.d.ts +2 -0
- package/dist/utils/qwen-extension-cli.test.d.ts.map +1 -0
- package/dist/utils/qwen-extension-cli.test.js +100 -0
- package/dist/utils/qwen-extension-cli.test.js.map +1 -0
- package/package.json +5 -4
- package/vendor/node_modules/@zmice/platform-core/dist/index.d.ts +54 -1
- package/vendor/node_modules/@zmice/platform-core/dist/index.d.ts.map +1 -1
- package/vendor/node_modules/@zmice/platform-core/dist/index.js +53 -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 +1 -1
- package/vendor/node_modules/@zmice/platform-core/dist/index.test.js.map +1 -1
- package/vendor/node_modules/@zmice/platform-core/package.json +1 -1
- package/vendor/packages/platform-claude/dist/generate.d.ts +2 -0
- package/vendor/packages/platform-claude/dist/generate.d.ts.map +1 -0
- package/vendor/packages/platform-claude/dist/generate.js +2 -0
- package/vendor/packages/platform-claude/dist/generate.js.map +1 -0
- package/vendor/packages/platform-claude/dist/index.d.ts +50 -0
- package/vendor/packages/platform-claude/dist/index.d.ts.map +1 -0
- package/vendor/packages/platform-claude/dist/index.js +250 -0
- package/vendor/packages/platform-claude/dist/index.js.map +1 -0
- package/vendor/packages/platform-claude/dist/index.test.js +81 -0
- package/vendor/packages/platform-claude/dist/index.test.js.map +1 -0
- package/vendor/packages/platform-claude/dist/install.d.ts +2 -0
- package/vendor/packages/platform-claude/dist/install.d.ts.map +1 -0
- package/vendor/packages/platform-claude/dist/install.js +2 -0
- package/vendor/packages/platform-claude/dist/install.js.map +1 -0
- package/vendor/packages/platform-claude/package.json +46 -0
- package/vendor/packages/platform-claude/templates/.gitkeep +1 -0
- package/vendor/packages/platform-claude/templates/CLAUDE.md +1 -0
- package/vendor/packages/platform-codex/dist/index.d.ts +36 -2
- package/vendor/packages/platform-codex/dist/index.d.ts.map +1 -1
- package/vendor/packages/platform-codex/dist/index.js +231 -6
- package/vendor/packages/platform-codex/dist/index.js.map +1 -1
- package/vendor/packages/platform-codex/dist/index.test.js +40 -10
- package/vendor/packages/platform-codex/dist/index.test.js.map +1 -1
- package/vendor/packages/platform-opencode/dist/generate.d.ts +2 -0
- package/vendor/packages/platform-opencode/dist/generate.d.ts.map +1 -0
- package/vendor/packages/platform-opencode/dist/generate.js +2 -0
- package/vendor/packages/platform-opencode/dist/generate.js.map +1 -0
- package/vendor/packages/platform-opencode/dist/index.d.ts +46 -0
- package/vendor/packages/platform-opencode/dist/index.d.ts.map +1 -0
- package/vendor/packages/platform-opencode/dist/index.js +308 -0
- package/vendor/packages/platform-opencode/dist/index.js.map +1 -0
- package/vendor/packages/platform-opencode/dist/index.test.d.ts +2 -0
- package/vendor/packages/platform-opencode/dist/index.test.d.ts.map +1 -0
- package/vendor/packages/platform-opencode/dist/index.test.js +106 -0
- package/vendor/packages/platform-opencode/dist/index.test.js.map +1 -0
- package/vendor/packages/platform-opencode/dist/install.d.ts +2 -0
- package/vendor/packages/platform-opencode/dist/install.d.ts.map +1 -0
- package/vendor/packages/platform-opencode/dist/install.js +2 -0
- package/vendor/packages/platform-opencode/dist/install.js.map +1 -0
- package/vendor/packages/{platform-qoder → platform-opencode}/package.json +2 -2
- package/vendor/packages/platform-opencode/templates/AGENTS.md +1 -0
- package/vendor/packages/platform-qwen/dist/index.d.ts +55 -2
- package/vendor/packages/platform-qwen/dist/index.d.ts.map +1 -1
- package/vendor/packages/platform-qwen/dist/index.js +229 -11
- package/vendor/packages/platform-qwen/dist/index.js.map +1 -1
- package/vendor/packages/platform-qwen/dist/index.test.js +54 -16
- package/vendor/packages/platform-qwen/dist/index.test.js.map +1 -1
- package/vendor/packages/toolkit/dist/loaders.test.js +1 -1
- package/vendor/packages/toolkit/dist/loaders.test.js.map +1 -1
- package/vendor/packages/toolkit/dist/manifests.test.js +29 -2
- package/vendor/packages/toolkit/dist/manifests.test.js.map +1 -1
- package/vendor/packages/toolkit/dist/query/toolkit-query.d.ts +4 -6
- package/vendor/packages/toolkit/dist/query/toolkit-query.d.ts.map +1 -1
- package/vendor/packages/toolkit/dist/query/toolkit-query.js +99 -1
- package/vendor/packages/toolkit/dist/query/toolkit-query.js.map +1 -1
- package/vendor/packages/toolkit/dist/query.test.js +209 -0
- package/vendor/packages/toolkit/dist/query.test.js.map +1 -1
- package/vendor/packages/toolkit/dist/schema/asset-meta.d.ts.map +1 -1
- package/vendor/packages/toolkit/dist/schema/asset-meta.js +105 -1
- package/vendor/packages/toolkit/dist/schema/asset-meta.js.map +1 -1
- package/vendor/packages/toolkit/dist/types.d.ts +41 -1
- package/vendor/packages/toolkit/dist/types.d.ts.map +1 -1
- package/vendor/packages/toolkit/dist/types.js +26 -1
- package/vendor/packages/toolkit/dist/types.js.map +1 -1
- package/vendor/packages/toolkit/package.json +1 -1
- package/vendor/packages/toolkit/src/content/agents/architect/meta.yaml +2 -1
- package/vendor/packages/toolkit/src/content/agents/backend-specialist/meta.yaml +2 -1
- package/vendor/packages/toolkit/src/content/agents/code-reviewer/meta.yaml +2 -1
- package/vendor/packages/toolkit/src/content/agents/frontend-specialist/meta.yaml +2 -1
- package/vendor/packages/toolkit/src/content/agents/performance-engineer/meta.yaml +2 -1
- package/vendor/packages/toolkit/src/content/agents/product-owner/meta.yaml +2 -1
- package/vendor/packages/toolkit/src/content/agents/security-auditor/meta.yaml +2 -1
- package/vendor/packages/toolkit/src/content/agents/test-engineer/meta.yaml +2 -1
- package/vendor/packages/toolkit/src/content/commands/api/meta.yaml +2 -1
- package/vendor/packages/toolkit/src/content/commands/build/body.md +15 -20
- package/vendor/packages/toolkit/src/content/commands/build/meta.yaml +12 -1
- package/vendor/packages/toolkit/src/content/commands/careful/body.md +21 -11
- package/vendor/packages/toolkit/src/content/commands/careful/meta.yaml +16 -1
- package/vendor/packages/toolkit/src/content/commands/ci/meta.yaml +2 -1
- package/vendor/packages/toolkit/src/content/commands/commit/meta.yaml +2 -1
- package/vendor/packages/toolkit/src/content/commands/ctx-health/body.md +16 -16
- package/vendor/packages/toolkit/src/content/commands/ctx-health/meta.yaml +11 -1
- package/vendor/packages/toolkit/src/content/commands/debug/body.md +16 -17
- package/vendor/packages/toolkit/src/content/commands/debug/meta.yaml +12 -1
- package/vendor/packages/toolkit/src/content/commands/doc/body.md +15 -16
- package/vendor/packages/toolkit/src/content/commands/doc/meta.yaml +11 -1
- package/vendor/packages/toolkit/src/content/commands/freeze/body.md +20 -9
- package/vendor/packages/toolkit/src/content/commands/freeze/meta.yaml +16 -1
- package/vendor/packages/toolkit/src/content/commands/guard/body.md +21 -10
- package/vendor/packages/toolkit/src/content/commands/guard/meta.yaml +16 -1
- package/vendor/packages/toolkit/src/content/commands/idea/body.md +15 -16
- package/vendor/packages/toolkit/src/content/commands/idea/meta.yaml +12 -1
- package/vendor/packages/toolkit/src/content/commands/learn/meta.yaml +2 -1
- package/vendor/packages/toolkit/src/content/commands/migrate/meta.yaml +2 -1
- package/vendor/packages/toolkit/src/content/commands/onboard/body.md +15 -17
- package/vendor/packages/toolkit/src/content/commands/onboard/meta.yaml +11 -1
- package/vendor/packages/toolkit/src/content/commands/perf/meta.yaml +2 -1
- package/vendor/packages/toolkit/src/content/commands/plan-review/body.md +21 -20
- package/vendor/packages/toolkit/src/content/commands/plan-review/meta.yaml +12 -1
- package/vendor/packages/toolkit/src/content/commands/product-analysis/body.md +52 -0
- package/vendor/packages/toolkit/src/content/commands/product-analysis/meta.yaml +35 -0
- package/vendor/packages/toolkit/src/content/commands/qa/meta.yaml +2 -1
- package/vendor/packages/toolkit/src/content/commands/quality-review/body.md +13 -18
- package/vendor/packages/toolkit/src/content/commands/quality-review/meta.yaml +13 -1
- package/vendor/packages/toolkit/src/content/commands/retro/meta.yaml +2 -1
- package/vendor/packages/toolkit/src/content/commands/sdd-tdd/body.md +29 -29
- package/vendor/packages/toolkit/src/content/commands/sdd-tdd/meta.yaml +11 -1
- package/vendor/packages/toolkit/src/content/commands/secure/meta.yaml +2 -1
- package/vendor/packages/toolkit/src/content/commands/ship/body.md +16 -11
- package/vendor/packages/toolkit/src/content/commands/ship/meta.yaml +11 -1
- package/vendor/packages/toolkit/src/content/commands/simplify/meta.yaml +2 -1
- package/vendor/packages/toolkit/src/content/commands/spec/body.md +16 -21
- package/vendor/packages/toolkit/src/content/commands/spec/meta.yaml +12 -1
- package/vendor/packages/toolkit/src/content/commands/start/body.md +148 -0
- package/vendor/packages/toolkit/src/content/commands/start/meta.yaml +55 -0
- package/vendor/packages/toolkit/src/content/commands/task-plan/body.md +13 -18
- package/vendor/packages/toolkit/src/content/commands/task-plan/meta.yaml +12 -1
- package/vendor/packages/toolkit/src/content/commands/ui/meta.yaml +2 -1
- package/vendor/packages/toolkit/src/content/commands/verify/body.md +12 -17
- package/vendor/packages/toolkit/src/content/commands/verify/meta.yaml +15 -1
- package/vendor/packages/toolkit/src/content/skills/api-and-interface-design/meta.yaml +2 -1
- package/vendor/packages/toolkit/src/content/skills/brainstorming-and-design/meta.yaml +2 -1
- package/vendor/packages/toolkit/src/content/skills/branch-finish-and-cleanup/meta.yaml +2 -1
- package/vendor/packages/toolkit/src/content/skills/browser-qa-testing/meta.yaml +2 -1
- package/vendor/packages/toolkit/src/content/skills/ci-cd-and-automation/meta.yaml +2 -1
- package/vendor/packages/toolkit/src/content/skills/code-review-and-quality/meta.yaml +2 -1
- package/vendor/packages/toolkit/src/content/skills/code-simplification/meta.yaml +2 -1
- package/vendor/packages/toolkit/src/content/skills/codebase-onboarding/body.md +6 -3
- package/vendor/packages/toolkit/src/content/skills/codebase-onboarding/meta.yaml +2 -1
- package/vendor/packages/toolkit/src/content/skills/context-budget-audit/meta.yaml +2 -1
- package/vendor/packages/toolkit/src/content/skills/context-engineering/body.md +7 -5
- package/vendor/packages/toolkit/src/content/skills/context-engineering/meta.yaml +2 -1
- package/vendor/packages/toolkit/src/content/skills/continuous-learning/body.md +15 -15
- package/vendor/packages/toolkit/src/content/skills/continuous-learning/meta.yaml +2 -1
- package/vendor/packages/toolkit/src/content/skills/debugging-and-error-recovery/body.md +9 -6
- package/vendor/packages/toolkit/src/content/skills/debugging-and-error-recovery/meta.yaml +2 -1
- package/vendor/packages/toolkit/src/content/skills/deprecation-and-migration/meta.yaml +2 -1
- package/vendor/packages/toolkit/src/content/skills/developer-experience-audit/meta.yaml +2 -1
- package/vendor/packages/toolkit/src/content/skills/documentation-and-adrs/body.md +7 -11
- package/vendor/packages/toolkit/src/content/skills/documentation-and-adrs/meta.yaml +2 -1
- package/vendor/packages/toolkit/src/content/skills/engineering-principles/meta.yaml +2 -1
- package/vendor/packages/toolkit/src/content/skills/frontend-ui-engineering/meta.yaml +2 -1
- package/vendor/packages/toolkit/src/content/skills/git-workflow-and-versioning/meta.yaml +2 -1
- package/vendor/packages/toolkit/src/content/skills/idea-refine/body.md +31 -160
- package/vendor/packages/toolkit/src/content/skills/idea-refine/meta.yaml +2 -1
- package/vendor/packages/toolkit/src/content/skills/incremental-implementation/meta.yaml +2 -1
- package/vendor/packages/toolkit/src/content/skills/multi-perspective-review/meta.yaml +2 -1
- package/vendor/packages/toolkit/src/content/skills/parallel-agent-dispatch/meta.yaml +2 -1
- package/vendor/packages/toolkit/src/content/skills/performance-optimization/meta.yaml +2 -1
- package/vendor/packages/toolkit/src/content/skills/planning-and-task-breakdown/meta.yaml +2 -1
- package/vendor/packages/toolkit/src/content/skills/release-documentation-sync/meta.yaml +2 -1
- package/vendor/packages/toolkit/src/content/skills/review-response-and-resolution/meta.yaml +2 -1
- package/vendor/packages/toolkit/src/content/skills/safety-guardrails/body.md +6 -2
- package/vendor/packages/toolkit/src/content/skills/safety-guardrails/meta.yaml +2 -1
- package/vendor/packages/toolkit/src/content/skills/sdd-tdd-workflow/meta.yaml +2 -1
- package/vendor/packages/toolkit/src/content/skills/security-and-hardening/meta.yaml +2 -1
- package/vendor/packages/toolkit/src/content/skills/shipping-and-launch/body.md +7 -11
- package/vendor/packages/toolkit/src/content/skills/shipping-and-launch/meta.yaml +2 -1
- package/vendor/packages/toolkit/src/content/skills/source-driven-development/meta.yaml +2 -1
- package/vendor/packages/toolkit/src/content/skills/spec-driven-development/meta.yaml +2 -1
- package/vendor/packages/toolkit/src/content/skills/sprint-retrospective/meta.yaml +2 -1
- package/vendor/packages/toolkit/src/content/skills/subagent-driven-development/meta.yaml +2 -1
- package/vendor/packages/toolkit/src/content/skills/team-orchestration/meta.yaml +2 -1
- package/vendor/packages/toolkit/src/content/skills/test-driven-development/meta.yaml +2 -1
- package/vendor/packages/toolkit/src/content/skills/using-agent-skills/meta.yaml +2 -1
- package/vendor/packages/toolkit/src/content/skills/verification-before-completion/meta.yaml +2 -1
- package/vendor/packages/platform-qoder/dist/generate.d.ts +0 -2
- package/vendor/packages/platform-qoder/dist/generate.d.ts.map +0 -1
- package/vendor/packages/platform-qoder/dist/generate.js +0 -2
- package/vendor/packages/platform-qoder/dist/generate.js.map +0 -1
- package/vendor/packages/platform-qoder/dist/index.d.ts +0 -15
- package/vendor/packages/platform-qoder/dist/index.d.ts.map +0 -1
- package/vendor/packages/platform-qoder/dist/index.js +0 -46
- package/vendor/packages/platform-qoder/dist/index.js.map +0 -1
- package/vendor/packages/platform-qoder/dist/index.test.js +0 -38
- package/vendor/packages/platform-qoder/dist/index.test.js.map +0 -1
- package/vendor/packages/platform-qoder/dist/install.d.ts +0 -2
- package/vendor/packages/platform-qoder/dist/install.d.ts.map +0 -1
- package/vendor/packages/platform-qoder/dist/install.js +0 -2
- package/vendor/packages/platform-qoder/dist/install.js.map +0 -1
- package/vendor/packages/platform-qoder/templates/instructions.md +0 -7
- /package/vendor/packages/{platform-qoder → platform-claude}/dist/index.test.d.ts +0 -0
- /package/vendor/packages/{platform-qoder → platform-claude}/dist/index.test.d.ts.map +0 -0
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import assert from "node:assert/strict";
|
|
2
|
+
import { EventEmitter } from "node:events";
|
|
3
|
+
import { PassThrough } from "node:stream";
|
|
4
|
+
import { afterEach, describe, expect, it, vi } from "vitest";
|
|
5
|
+
const spawnMock = vi.fn();
|
|
6
|
+
vi.mock("node:child_process", () => ({
|
|
7
|
+
spawn: spawnMock,
|
|
8
|
+
}));
|
|
9
|
+
function createFakeChild(behavior) {
|
|
10
|
+
const child = new EventEmitter();
|
|
11
|
+
child.stdout = new PassThrough();
|
|
12
|
+
child.stderr = new PassThrough();
|
|
13
|
+
queueMicrotask(() => {
|
|
14
|
+
if (behavior.type === "not-found") {
|
|
15
|
+
const error = Object.assign(new Error("spawn qwen ENOENT"), { code: "ENOENT" });
|
|
16
|
+
child.emit("error", error);
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
if (behavior.type === "failure") {
|
|
20
|
+
if (behavior.stdout) {
|
|
21
|
+
child.stdout.emit("data", Buffer.from(behavior.stdout));
|
|
22
|
+
}
|
|
23
|
+
if (behavior.stderr) {
|
|
24
|
+
child.stderr.emit("data", Buffer.from(behavior.stderr));
|
|
25
|
+
}
|
|
26
|
+
child.emit("close", behavior.code ?? 1, null);
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
child.emit("close", 0, null);
|
|
30
|
+
});
|
|
31
|
+
return child;
|
|
32
|
+
}
|
|
33
|
+
afterEach(() => {
|
|
34
|
+
spawnMock.mockReset();
|
|
35
|
+
});
|
|
36
|
+
const modPromise = import("./qwen-extension-cli.js");
|
|
37
|
+
describe("qwen official CLI wrapper", () => {
|
|
38
|
+
it("maps install plan artifacts into a standalone release bundle", async () => {
|
|
39
|
+
const mod = await modPromise;
|
|
40
|
+
const artifacts = mod.toQwenOfficialCliReleaseArtifacts({
|
|
41
|
+
destinationRoot: "/home/test/.qwen",
|
|
42
|
+
capability: {
|
|
43
|
+
extension: {
|
|
44
|
+
relativeDir: "extensions",
|
|
45
|
+
name: "zc-toolkit",
|
|
46
|
+
},
|
|
47
|
+
},
|
|
48
|
+
artifacts: [
|
|
49
|
+
{
|
|
50
|
+
path: "/home/test/.qwen/extensions/zc-toolkit/QWEN.md",
|
|
51
|
+
content: "# context\n",
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
path: "/home/test/.qwen/extensions/zc-toolkit/commands/zc/start.md",
|
|
55
|
+
content: "# start\n",
|
|
56
|
+
},
|
|
57
|
+
],
|
|
58
|
+
}, "/tmp/zc-toolkit");
|
|
59
|
+
assert.deepEqual(artifacts, [
|
|
60
|
+
{
|
|
61
|
+
path: "/tmp/zc-toolkit/QWEN.md",
|
|
62
|
+
content: "# context\n",
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
path: "/tmp/zc-toolkit/commands/zc/start.md",
|
|
66
|
+
content: "# start\n",
|
|
67
|
+
},
|
|
68
|
+
]);
|
|
69
|
+
});
|
|
70
|
+
it("uses the official update command for repo-managed extensions", async () => {
|
|
71
|
+
const mod = await modPromise;
|
|
72
|
+
spawnMock.mockImplementation(() => createFakeChild({
|
|
73
|
+
type: "success",
|
|
74
|
+
}));
|
|
75
|
+
await expect(mod.updateQwenExtensionWithOfficialCli("zc-toolkit")).resolves.toBeUndefined();
|
|
76
|
+
assert.equal(spawnMock.mock.calls.length, 1);
|
|
77
|
+
assert.deepEqual(spawnMock.mock.calls[0]?.[1], ["extensions", "update", "zc-toolkit"]);
|
|
78
|
+
});
|
|
79
|
+
it("treats uninstalling a missing extension as a no-op", async () => {
|
|
80
|
+
const mod = await modPromise;
|
|
81
|
+
spawnMock.mockImplementation(() => createFakeChild({
|
|
82
|
+
type: "failure",
|
|
83
|
+
code: 1,
|
|
84
|
+
stderr: "Extension not found.\n",
|
|
85
|
+
}));
|
|
86
|
+
await expect(mod.uninstallQwenExtensionWithOfficialCli("zc-toolkit")).resolves.toBeUndefined();
|
|
87
|
+
assert.equal(spawnMock.mock.calls.length, 1);
|
|
88
|
+
assert.deepEqual(spawnMock.mock.calls[0]?.[1], ["extensions", "uninstall", "zc-toolkit"]);
|
|
89
|
+
});
|
|
90
|
+
it("still throws for other qwen CLI failures", async () => {
|
|
91
|
+
const mod = await modPromise;
|
|
92
|
+
spawnMock.mockImplementation(() => createFakeChild({
|
|
93
|
+
type: "failure",
|
|
94
|
+
code: 2,
|
|
95
|
+
stderr: "Permission denied.\n",
|
|
96
|
+
}));
|
|
97
|
+
await expect(mod.updateQwenExtensionWithOfficialCli("zc-toolkit")).rejects.toThrow(/退出码为 2/);
|
|
98
|
+
});
|
|
99
|
+
});
|
|
100
|
+
//# sourceMappingURL=qwen-extension-cli.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"qwen-extension-cli.test.js","sourceRoot":"","sources":["../../src/utils/qwen-extension-cli.test.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zmice/zc",
|
|
3
|
-
"version": "0.2.
|
|
4
|
-
"description": "Operator/runtime CLI for the AI Coding Toolkit workspace",
|
|
3
|
+
"version": "0.2.2",
|
|
4
|
+
"description": "Operator/runtime CLI for the zc AI Coding Toolkit workspace",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"cli",
|
|
7
7
|
"orchestration",
|
|
@@ -28,9 +28,10 @@
|
|
|
28
28
|
"@types/node": "^22.0.0",
|
|
29
29
|
"typescript": "^5.7.0",
|
|
30
30
|
"vitest": "^3.0.0",
|
|
31
|
-
"@zmice/platform-
|
|
32
|
-
"@zmice/platform-qoder": "0.1.0",
|
|
31
|
+
"@zmice/platform-claude": "0.1.0",
|
|
33
32
|
"@zmice/platform-core": "0.1.0",
|
|
33
|
+
"@zmice/platform-opencode": "0.1.0",
|
|
34
|
+
"@zmice/platform-codex": "0.1.0",
|
|
34
35
|
"@zmice/platform-qwen": "0.1.0",
|
|
35
36
|
"@zmice/toolkit": "0.1.0"
|
|
36
37
|
},
|
|
@@ -1,13 +1,18 @@
|
|
|
1
|
-
export type PlatformName = "qwen" | "codex" | "
|
|
1
|
+
export type PlatformName = "qwen" | "codex" | "claude" | "opencode";
|
|
2
2
|
export type ToolkitAssetKind = "skill" | "command" | "agent";
|
|
3
3
|
export type OverwriteMode = "error" | "force";
|
|
4
|
+
export type InstallScope = "project" | "global" | "dir";
|
|
5
|
+
export type PlatformCapabilitySurface = "entry-file" | "skills-dir" | "commands-dir" | "agents-dir" | "extension-dir";
|
|
4
6
|
export interface ToolkitAssetLike {
|
|
5
7
|
readonly id: string;
|
|
6
8
|
readonly kind: ToolkitAssetKind;
|
|
7
9
|
readonly platforms: readonly string[];
|
|
10
|
+
readonly name?: string;
|
|
8
11
|
readonly title?: string;
|
|
9
12
|
readonly summary?: string;
|
|
10
13
|
readonly body?: string;
|
|
14
|
+
readonly tools?: readonly string[];
|
|
15
|
+
readonly requires?: readonly string[];
|
|
11
16
|
}
|
|
12
17
|
export interface ToolkitManifestLike {
|
|
13
18
|
readonly source?: string;
|
|
@@ -30,20 +35,49 @@ export interface PlatformPlanMetadata {
|
|
|
30
35
|
readonly artifactCount: number;
|
|
31
36
|
readonly fingerprint: PlatformFingerprint;
|
|
32
37
|
}
|
|
38
|
+
export interface PlatformCapability {
|
|
39
|
+
readonly platform: PlatformName;
|
|
40
|
+
readonly namespace: string;
|
|
41
|
+
readonly surfaces: readonly PlatformCapabilitySurface[];
|
|
42
|
+
readonly entryFile?: {
|
|
43
|
+
readonly fileName: string;
|
|
44
|
+
};
|
|
45
|
+
readonly commands?: {
|
|
46
|
+
readonly relativeDir: string;
|
|
47
|
+
readonly fileExtension: ".md";
|
|
48
|
+
};
|
|
49
|
+
readonly skills?: {
|
|
50
|
+
readonly relativeDir: string;
|
|
51
|
+
readonly fileName: "SKILL.md";
|
|
52
|
+
};
|
|
53
|
+
readonly agents?: {
|
|
54
|
+
readonly relativeDir: string;
|
|
55
|
+
readonly fileExtension: ".md";
|
|
56
|
+
};
|
|
57
|
+
readonly extension?: {
|
|
58
|
+
readonly relativeDir: string;
|
|
59
|
+
readonly name: string;
|
|
60
|
+
readonly manifestFile: string;
|
|
61
|
+
readonly contextFileName?: string;
|
|
62
|
+
};
|
|
63
|
+
}
|
|
33
64
|
export interface GenerationPlan {
|
|
34
65
|
readonly platform: PlatformName;
|
|
35
66
|
readonly packageName: string;
|
|
36
67
|
readonly manifestSource: string;
|
|
37
68
|
readonly matchedAssets: readonly ToolkitAssetLike[];
|
|
69
|
+
readonly capability?: PlatformCapability;
|
|
38
70
|
readonly artifacts: readonly PlatformArtifact[];
|
|
39
71
|
readonly metadata?: PlatformPlanMetadata;
|
|
40
72
|
}
|
|
41
73
|
export interface InstallPlan extends GenerationPlan {
|
|
42
74
|
readonly destinationRoot: string;
|
|
75
|
+
readonly scope: InstallScope;
|
|
43
76
|
readonly overwrite: OverwriteMode;
|
|
44
77
|
}
|
|
45
78
|
export interface InstallPlanOptions {
|
|
46
79
|
readonly destinationRoot: string;
|
|
80
|
+
readonly scope?: InstallScope;
|
|
47
81
|
readonly overwrite?: OverwriteMode;
|
|
48
82
|
}
|
|
49
83
|
export interface GeneratedHeaderOptions {
|
|
@@ -51,6 +85,24 @@ export interface GeneratedHeaderOptions {
|
|
|
51
85
|
readonly lines: readonly string[];
|
|
52
86
|
}
|
|
53
87
|
export declare function describeAsset(asset: ToolkitAssetLike): string;
|
|
88
|
+
export declare function renderYamlFrontmatter(fields: Record<string, unknown>): string;
|
|
89
|
+
export declare function renderMarkdownCommandFile(options: {
|
|
90
|
+
readonly name: string;
|
|
91
|
+
readonly description: string;
|
|
92
|
+
readonly body: string;
|
|
93
|
+
}): string;
|
|
94
|
+
export declare function renderSkillFile(options: {
|
|
95
|
+
readonly name: string;
|
|
96
|
+
readonly description: string;
|
|
97
|
+
readonly body: string;
|
|
98
|
+
}): string;
|
|
99
|
+
export declare function renderMarkdownAgentFile(options: {
|
|
100
|
+
readonly name: string;
|
|
101
|
+
readonly description: string;
|
|
102
|
+
readonly body: string;
|
|
103
|
+
readonly tools?: readonly string[];
|
|
104
|
+
readonly skills?: readonly string[];
|
|
105
|
+
}): string;
|
|
54
106
|
export declare function createStableFingerprint(value: unknown): PlatformFingerprint;
|
|
55
107
|
export declare function createArtifactMetadata(artifact: {
|
|
56
108
|
readonly content: string;
|
|
@@ -67,6 +119,7 @@ export declare function attachPlanMetadata<T extends GenerationPlan>(plan: T): T
|
|
|
67
119
|
};
|
|
68
120
|
export declare function prependGeneratedHeader(content: string, options: GeneratedHeaderOptions): string;
|
|
69
121
|
export declare function selectMatchedAssets(manifest: ToolkitManifestLike, platform: PlatformName): readonly ToolkitAssetLike[];
|
|
122
|
+
export declare function selectMatchedAssetsByKind(manifest: ToolkitManifestLike, platform: PlatformName, kind: ToolkitAssetKind): readonly ToolkitAssetLike[];
|
|
70
123
|
export declare function prefixArtifacts(destinationRoot: string, artifacts: readonly PlatformArtifact[]): readonly PlatformArtifact[];
|
|
71
124
|
export declare function createInstallPlan(generationPlan: GenerationPlan, options: InstallPlanOptions): InstallPlan;
|
|
72
125
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,OAAO,GAAG,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,50 @@ import { join } from "node:path";
|
|
|
3
3
|
export function describeAsset(asset) {
|
|
4
4
|
return asset.title ?? asset.summary ?? asset.id;
|
|
5
5
|
}
|
|
6
|
+
function toYamlScalar(value) {
|
|
7
|
+
return JSON.stringify(value);
|
|
8
|
+
}
|
|
9
|
+
export function renderYamlFrontmatter(fields) {
|
|
10
|
+
const lines = ["---"];
|
|
11
|
+
for (const [key, value] of Object.entries(fields)) {
|
|
12
|
+
if (value === undefined || value === null) {
|
|
13
|
+
continue;
|
|
14
|
+
}
|
|
15
|
+
if (Array.isArray(value)) {
|
|
16
|
+
if (value.length === 0) {
|
|
17
|
+
continue;
|
|
18
|
+
}
|
|
19
|
+
lines.push(`${key}:`);
|
|
20
|
+
for (const entry of value) {
|
|
21
|
+
lines.push(` - ${toYamlScalar(String(entry))}`);
|
|
22
|
+
}
|
|
23
|
+
continue;
|
|
24
|
+
}
|
|
25
|
+
lines.push(`${key}: ${toYamlScalar(String(value))}`);
|
|
26
|
+
}
|
|
27
|
+
lines.push("---");
|
|
28
|
+
return `${lines.join("\n")}\n`;
|
|
29
|
+
}
|
|
30
|
+
export function renderMarkdownCommandFile(options) {
|
|
31
|
+
return `${renderYamlFrontmatter({
|
|
32
|
+
name: options.name,
|
|
33
|
+
description: options.description,
|
|
34
|
+
})}\n${options.body.trim()}\n`;
|
|
35
|
+
}
|
|
36
|
+
export function renderSkillFile(options) {
|
|
37
|
+
return `${renderYamlFrontmatter({
|
|
38
|
+
name: options.name,
|
|
39
|
+
description: options.description,
|
|
40
|
+
})}\n${options.body.trim()}\n`;
|
|
41
|
+
}
|
|
42
|
+
export function renderMarkdownAgentFile(options) {
|
|
43
|
+
return `${renderYamlFrontmatter({
|
|
44
|
+
name: options.name,
|
|
45
|
+
description: options.description,
|
|
46
|
+
tools: options.tools,
|
|
47
|
+
skills: options.skills,
|
|
48
|
+
})}\n${options.body.trim()}\n`;
|
|
49
|
+
}
|
|
6
50
|
function normalizeFingerprintValue(value) {
|
|
7
51
|
if (Array.isArray(value)) {
|
|
8
52
|
return value.map((entry) => normalizeFingerprintValue(entry));
|
|
@@ -26,10 +70,14 @@ function buildPlanFingerprintInput(plan, artifacts) {
|
|
|
26
70
|
matchedAssets: plan.matchedAssets.map((asset) => ({
|
|
27
71
|
id: asset.id,
|
|
28
72
|
kind: asset.kind,
|
|
73
|
+
name: asset.name,
|
|
29
74
|
platforms: [...asset.platforms].sort(),
|
|
30
75
|
summary: asset.summary,
|
|
31
76
|
title: asset.title,
|
|
77
|
+
tools: asset.tools,
|
|
78
|
+
requires: asset.requires,
|
|
32
79
|
})),
|
|
80
|
+
capability: plan.capability,
|
|
33
81
|
artifacts: artifacts.map((artifact) => ({
|
|
34
82
|
path: artifact.path,
|
|
35
83
|
metadata: artifact.metadata ?? createArtifactMetadata(artifact),
|
|
@@ -37,6 +85,7 @@ function buildPlanFingerprintInput(plan, artifacts) {
|
|
|
37
85
|
...(isInstallPlan(plan)
|
|
38
86
|
? {
|
|
39
87
|
destinationRoot: plan.destinationRoot,
|
|
88
|
+
scope: plan.scope,
|
|
40
89
|
overwrite: plan.overwrite,
|
|
41
90
|
}
|
|
42
91
|
: {}),
|
|
@@ -88,6 +137,9 @@ export function prependGeneratedHeader(content, options) {
|
|
|
88
137
|
export function selectMatchedAssets(manifest, platform) {
|
|
89
138
|
return manifest.assets.filter((asset) => asset.platforms.includes(platform));
|
|
90
139
|
}
|
|
140
|
+
export function selectMatchedAssetsByKind(manifest, platform, kind) {
|
|
141
|
+
return selectMatchedAssets(manifest, platform).filter((asset) => asset.kind === kind);
|
|
142
|
+
}
|
|
91
143
|
export function prefixArtifacts(destinationRoot, artifacts) {
|
|
92
144
|
return artifacts.map((artifact) => ({
|
|
93
145
|
...attachArtifactMetadata(artifact),
|
|
@@ -98,6 +150,7 @@ export function createInstallPlan(generationPlan, options) {
|
|
|
98
150
|
return attachPlanMetadata({
|
|
99
151
|
...generationPlan,
|
|
100
152
|
destinationRoot: options.destinationRoot,
|
|
153
|
+
scope: options.scope ?? "project",
|
|
101
154
|
overwrite: options.overwrite ?? "error",
|
|
102
155
|
artifacts: prefixArtifacts(options.destinationRoot, generationPlan.artifacts),
|
|
103
156
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -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,kBAAkB,EAClB,sBAAsB,EACtB,uBAAuB,EACvB,iBAAiB,EACjB,sBAAsB,EACtB,mBAAmB,GAGpB,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,cAAc;YAClB,IAAI,EAAE,SAAS;YACf,SAAS,EAAE,CAAC,
|
|
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,kBAAkB,EAClB,sBAAsB,EACtB,uBAAuB,EACvB,iBAAiB,EACjB,sBAAsB,EACtB,mBAAmB,GAGpB,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,cAAc;YAClB,IAAI,EAAE,SAAS;YACf,SAAS,EAAE,CAAC,QAAQ,CAAC;YACrB,KAAK,EAAE,cAAc;SACtB;KACF;CACF,CAAC;AAEF,MAAM,SAAS,GAAgC;IAC7C;QACE,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,QAAQ;KAClB;CACF,CAAC;AAEF,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;IACpC,EAAE,CAAC,oEAAoE,EAAE,GAAG,EAAE;QAC5E,MAAM,KAAK,GAAG,uBAAuB,CAAC;YACpC,CAAC,EAAE,CAAC;YACJ,CAAC,EAAE,CAAC;YACJ,MAAM,EAAE;gBACN,CAAC,EAAE,IAAI;gBACP,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC;aACjC;SACF,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,uBAAuB,CAAC;YACrC,MAAM,EAAE;gBACN,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC;gBAChC,CAAC,EAAE,IAAI;aACR;YACD,CAAC,EAAE,CAAC;YACJ,CAAC,EAAE,CAAC;SACL,CAAC,CAAC;QAEH,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAChC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QACxC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iFAAiF,EAAE,GAAG,EAAE;QACzF,MAAM,gBAAgB,GAAqB;YACzC,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,UAAU;SACpB,CAAC;QACF,MAAM,eAAe,GAAqB;YACxC,IAAI,EAAE,mBAAmB;YACzB,OAAO,EAAE,UAAU;SACpB,CAAC;QACF,MAAM,QAAQ,GAAG,sBAAsB,CAAC,gBAAgB,CAAC,CAAC;QAC1D,MAAM,OAAO,GAAG,sBAAsB,CAAC,eAAe,CAAC,CAAC;QAExD,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC;QAC5D,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE;QACpC,MAAM,OAAO,GAAG,mBAAmB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAEtD,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;IACtE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+DAA+D,EAAE,GAAG,EAAE;QACvE,MAAM,IAAI,GAAG,kBAAkB,CAAC;YAC9B,QAAQ,EAAE,MAAM;YAChB,WAAW,EAAE,sBAAsB;YACnC,cAAc,EAAE,kBAAkB;YAClC,aAAa,EAAE,mBAAmB,CAAC,QAAQ,EAAE,MAAM,CAAC;YACpD,SAAS;SACV,CAAC,CAAC;QAEH,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC;QAC9C,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC9E,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,KAAK,IAAI,EAAE,EAAE,gBAAgB,CAAC,CAAC;IACzE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8EAA8E,EAAE,GAAG,EAAE;QACtF,MAAM,cAAc,GAAG,kBAAkB,CAAC;YACxC,QAAQ,EAAE,MAAM;YAChB,WAAW,EAAE,sBAAsB;YACnC,cAAc,EAAE,kBAAkB;YAClC,aAAa,EAAE,mBAAmB,CAAC,QAAQ,EAAE,MAAM,CAAC;YACpD,SAAS;SACV,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,iBAAiB,CAC5B,cAAc,EACd;YACE,eAAe,EAAE,WAAW;SAC7B,CACF,CAAC;QAEF,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC;QAChD,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,CAAC,mBAAmB,CAAC,CAAC,CAAC;QACzF,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;QACrF,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,KAAK,EAAE,cAAc,CAAC,QAAQ,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC;IAChG,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8EAA8E,EAAE,GAAG,EAAE;QACtF,MAAM,OAAO,GAAG,sBAAsB,CAAC,8BAA8B,EAAE;YACrE,UAAU,EAAE,IAAI;YAChB,KAAK,EAAE,CAAC,gBAAgB,EAAE,sBAAsB,CAAC;SAClD,CAAC,CAAC;QAEH,MAAM,CAAC,KAAK,CACV,OAAO,EACP,4EAA4E,CAC7E,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@zmice/platform-core",
|
|
3
3
|
"private": true,
|
|
4
4
|
"version": "0.1.0",
|
|
5
|
-
"description": "Shared contracts and helpers for AI Coding Toolkit platform packages",
|
|
5
|
+
"description": "Shared contracts and helpers for zc AI Coding Toolkit platform packages",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"type": "module",
|
|
8
8
|
"main": "./dist/index.js",
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../src/generate.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,0BAA0B,EAC1B,WAAW,EACX,YAAY,EACZ,aAAa,EACb,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,GACzB,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate.js","sourceRoot":"","sources":["../src/generate.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,0BAA0B,EAC1B,WAAW,EACX,YAAY,EACZ,aAAa,GAMd,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { type InstallPlanOptions, type PlatformArtifact, type PlatformPlanMetadata, type ToolkitAssetLike, type ToolkitManifestLike } from "@zmice/platform-core";
|
|
2
|
+
export type InstallScope = "project" | "global" | "dir";
|
|
3
|
+
export type PlatformCapabilitySurface = "entry-file" | "commands-dir" | "agents-dir";
|
|
4
|
+
export interface PlatformCapability {
|
|
5
|
+
readonly platform: typeof platformName;
|
|
6
|
+
readonly namespace: string;
|
|
7
|
+
readonly surfaces: readonly PlatformCapabilitySurface[];
|
|
8
|
+
readonly entryFile: {
|
|
9
|
+
readonly fileName: string;
|
|
10
|
+
};
|
|
11
|
+
readonly commands: {
|
|
12
|
+
readonly relativeDir: string;
|
|
13
|
+
readonly fileExtension: ".md";
|
|
14
|
+
};
|
|
15
|
+
readonly agents: {
|
|
16
|
+
readonly relativeDir: string;
|
|
17
|
+
readonly fileExtension: ".md";
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
export interface GenerationOptions {
|
|
21
|
+
readonly packageName?: string;
|
|
22
|
+
readonly manifestSource?: string;
|
|
23
|
+
readonly scope?: InstallScope;
|
|
24
|
+
}
|
|
25
|
+
export type InstallOptions = GenerationOptions & InstallPlanOptions;
|
|
26
|
+
export interface GenerationPlan {
|
|
27
|
+
readonly platform: typeof platformName;
|
|
28
|
+
readonly packageName: string;
|
|
29
|
+
readonly manifestSource: string;
|
|
30
|
+
readonly matchedAssets: readonly ToolkitAssetLike[];
|
|
31
|
+
readonly capability: PlatformCapability;
|
|
32
|
+
readonly artifacts: readonly PlatformArtifact[];
|
|
33
|
+
readonly metadata?: PlatformPlanMetadata;
|
|
34
|
+
}
|
|
35
|
+
export interface InstallPlan extends GenerationPlan {
|
|
36
|
+
readonly capability: PlatformCapability;
|
|
37
|
+
readonly destinationRoot: string;
|
|
38
|
+
readonly overwrite: "error" | "force";
|
|
39
|
+
readonly scope: InstallScope;
|
|
40
|
+
}
|
|
41
|
+
export declare const platformName: "claude";
|
|
42
|
+
export declare const packageName: "@zmice/platform-claude";
|
|
43
|
+
export type { PlatformArtifact, ToolkitAssetLike, ToolkitManifestLike, };
|
|
44
|
+
export declare const templateFiles: {
|
|
45
|
+
readonly claude: "CLAUDE.md";
|
|
46
|
+
};
|
|
47
|
+
export declare const capability: PlatformCapability;
|
|
48
|
+
export declare function createClaudeGenerationPlan(manifest: ToolkitManifestLike, options?: GenerationOptions): GenerationPlan;
|
|
49
|
+
export declare function createClaudeInstallPlan(manifest: ToolkitManifestLike, options: InstallOptions): InstallPlan;
|
|
50
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EACzB,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,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,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,cAAc;IAC7B,QAAQ,CAAC,QAAQ,EAAE,OAAO,YAAY,CAAC;IACvC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,aAAa,EAAE,SAAS,gBAAgB,EAAE,CAAC;IACpD,QAAQ,CAAC,UAAU,EAAE,kBAAkB,CAAC;IACxC,QAAQ,CAAC,SAAS,EAAE,SAAS,gBAAgB,EAAE,CAAC;IAChD,QAAQ,CAAC,QAAQ,CAAC,EAAE,oBAAoB,CAAC;CAC1C;AAED,MAAM,WAAW,WAAY,SAAQ,cAAc;IACjD,QAAQ,CAAC,UAAU,EAAE,kBAAkB,CAAC;IACxC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,SAAS,EAAE,OAAO,GAAG,OAAO,CAAC;IACtC,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;CAC9B;AAED,eAAO,MAAM,YAAY,EAAG,QAAiB,CAAC;AAC9C,eAAO,MAAM,WAAW,EAAG,wBAAiC,CAAC;AAE7D,YAAY,EACV,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,GACpB,CAAC;AAEF,eAAO,MAAM,aAAa;;CAEhB,CAAC;AAEX,eAAO,MAAM,UAAU,EAAE,kBAexB,CAAC;AAkPF,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,mBAAmB,EAC7B,OAAO,GAAE,iBAAsB,GAC9B,cAAc,CAyBhB;AAED,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,mBAAmB,EAC7B,OAAO,EAAE,cAAc,GACtB,WAAW,CAcb"}
|