@zmice/zc 0.2.0 → 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__/surface.test.js +13 -1
- package/dist/cli/__tests__/surface.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/index.d.ts +1 -0
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +16 -5
- package/dist/cli/index.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":"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"}
|
|
@@ -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"}
|