release-skill 0.4.2 → 0.5.1
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/.claude-plugin/marketplace.json +1 -1
- package/.claude-plugin/plugin.json +1 -1
- package/.codebuddy-plugin/plugin.json +1 -1
- package/.codex-plugin/plugin.json +2 -2
- package/.kimi-plugin/plugin.json +1 -1
- package/CHANGELOG.md +44 -0
- package/INSTALL.md +2 -2
- package/INSTALL.zh-CN.md +2 -2
- package/README.md +10 -7
- package/README.zh-CN.md +10 -7
- package/adapters/claude/.claude-plugin/marketplace.json +1 -1
- package/adapters/claude/.claude-plugin/plugin.json +1 -1
- package/adapters/claude/bin/error-codes.json +154 -0
- package/adapters/claude/bin/kernel-protocol.json +60 -0
- package/adapters/claude/bin/registry.json +179 -0
- package/adapters/claude/bin/release-skill.bundle.mjs +37609 -23014
- package/adapters/claude/bin/rules.json +104 -0
- package/adapters/claude/skills/release-assess/SKILL.md +2 -0
- package/adapters/claude/skills/release-help/SKILL.md +3 -1
- package/adapters/claude/skills/release-prepare/SKILL.md +2 -2
- package/adapters/claude/skills/release-verify/SKILL.md +2 -0
- package/adapters/codex/.codex-plugin/plugin.json +2 -2
- package/adapters/codex/bin/error-codes.json +154 -0
- package/adapters/codex/bin/kernel-protocol.json +60 -0
- package/adapters/codex/bin/registry.json +179 -0
- package/adapters/codex/bin/release-skill.bundle.mjs +37609 -23014
- package/adapters/codex/bin/rules.json +104 -0
- package/adapters/codex/skills/release-assess/SKILL.md +2 -0
- package/adapters/codex/skills/release-help/SKILL.md +3 -1
- package/adapters/codex/skills/release-prepare/SKILL.md +2 -2
- package/adapters/codex/skills/release-verify/SKILL.md +2 -0
- package/adapters/kimi/.kimi-plugin/plugin.json +1 -1
- package/adapters/kimi/bin/error-codes.json +154 -0
- package/adapters/kimi/bin/kernel-protocol.json +60 -0
- package/adapters/kimi/bin/registry.json +179 -0
- package/adapters/kimi/bin/release-skill.bundle.mjs +37609 -23014
- package/adapters/kimi/bin/rules.json +104 -0
- package/adapters/kimi/skills/release-assess/SKILL.md +2 -0
- package/adapters/kimi/skills/release-help/SKILL.md +3 -1
- package/adapters/kimi/skills/release-prepare/SKILL.md +2 -2
- package/adapters/kimi/skills/release-verify/SKILL.md +2 -0
- package/adapters/workbuddy/.codebuddy-plugin/plugin.json +1 -1
- package/adapters/workbuddy/bin/error-codes.json +154 -0
- package/adapters/workbuddy/bin/kernel-protocol.json +60 -0
- package/adapters/workbuddy/bin/registry.json +179 -0
- package/adapters/workbuddy/bin/release-skill.bundle.mjs +37609 -23014
- package/adapters/workbuddy/bin/rules.json +104 -0
- package/adapters/workbuddy/skills/release-assess/SKILL.md +2 -0
- package/adapters/workbuddy/skills/release-help/SKILL.md +3 -1
- package/adapters/workbuddy/skills/release-prepare/SKILL.md +2 -2
- package/adapters/workbuddy/skills/release-verify/SKILL.md +2 -0
- package/bin/error-codes.json +154 -0
- package/bin/kernel-protocol.json +60 -0
- package/bin/registry.json +179 -0
- package/bin/release-skill.bundle.mjs +37609 -23014
- package/bin/rules.json +104 -0
- package/package.json +3 -1
- package/scripts/build-bundle.mjs +159 -5
- package/scripts/sync-public-files.mjs +5 -0
- package/skills/release-assess/SKILL.md +2 -0
- package/skills/release-help/SKILL.md +3 -1
- package/skills/release-prepare/SKILL.md +2 -2
- package/skills/release-verify/SKILL.md +2 -0
- package/skills-src/release-assess/SKILL.md +2 -0
- package/skills-src/release-help/SKILL.md +3 -1
- package/skills-src/release-prepare/SKILL.md +2 -2
- package/skills-src/release-verify/SKILL.md +2 -0
- package/src/adapters/contract.mjs +10 -10
- package/src/adapters/plugin-marketplace.mjs +48 -4
- package/src/adapters/push-snapshot.mjs +12 -4
- package/src/artifacts/entry.mjs +4 -1
- package/src/artifacts/producer-registry.mjs +9 -6
- package/src/artifacts/project-lock.mjs +324 -214
- package/src/commands/assess.mjs +231 -2
- package/src/commands/attest.mjs +11 -0
- package/src/commands/hooks.mjs +6 -1
- package/src/commands/prepare.mjs +83 -1
- package/src/core/approval.mjs +5 -2
- package/src/core/baseline.mjs +11 -1
- package/src/core/digest.mjs +47 -12
- package/src/core/foundation-inflight.mjs +46 -0
- package/src/core/hook-cache.mjs +3 -0
- package/src/core/installation-contract.mjs +4 -2
- package/src/core/plan.mjs +42 -29
- package/src/core/run.mjs +22 -36
- package/src/core/skill-resource-closure.mjs +6 -4
- package/src/core/trusted-resource.mjs +64 -15
- package/src/producers/build-adapters.mjs +27 -9
- package/src/producers/render-public-assets.mjs +12 -7
- package/src/producers/sync-skills.mjs +12 -7
- package/src/snapshot/public-map.mjs +10 -2
package/src/artifacts/entry.mjs
CHANGED
|
@@ -16,6 +16,7 @@ import { join } from 'node:path';
|
|
|
16
16
|
import { promisify } from 'node:util';
|
|
17
17
|
import { execFile } from 'node:child_process';
|
|
18
18
|
import { canonicalJson, sha256Hex } from '../core/digest.mjs';
|
|
19
|
+
import { digestDocument } from 'skill-family-contracts';
|
|
19
20
|
import { ReleaseError, PATH_UNSAFE } from '../core/errors.mjs';
|
|
20
21
|
|
|
21
22
|
const execFileAsync = promisify(execFile);
|
|
@@ -151,10 +152,12 @@ async function enumerateTreeEntries(root, dirPath, relBase) {
|
|
|
151
152
|
* @returns {string} `sha256:<hex>` digest.
|
|
152
153
|
*/
|
|
153
154
|
export function digestEntryManifest(entries) {
|
|
155
|
+
// 纯 JSON 投影(path/type/mode/size/sha256 定字段),直接委托 Foundation
|
|
156
|
+
// digestDocument(= sha256(contracts canonicalJson),与迁移前字节一致)。
|
|
154
157
|
const canonical = entries.map(({ path, type, mode, sha256, size }) => ({
|
|
155
158
|
path, type, mode, size, sha256,
|
|
156
159
|
}));
|
|
157
|
-
return `sha256:${
|
|
160
|
+
return `sha256:${digestDocument(canonical)}`;
|
|
158
161
|
}
|
|
159
162
|
|
|
160
163
|
// ---------------------------------------------------------------------------
|
|
@@ -14,10 +14,10 @@ import { readFile, readdir, stat, mkdir, writeFile, rm } from 'node:fs/promises'
|
|
|
14
14
|
import { join } from 'node:path';
|
|
15
15
|
import { mkdtemp } from 'node:fs/promises';
|
|
16
16
|
import { tmpdir } from 'node:os';
|
|
17
|
-
import { createHash } from 'node:crypto';
|
|
18
17
|
import { readFileSync } from 'node:fs';
|
|
19
18
|
|
|
20
19
|
import { canonicalJson, sha256Hex } from '../core/digest.mjs';
|
|
20
|
+
import { digestBytes } from 'skill-family-harness-node';
|
|
21
21
|
import {
|
|
22
22
|
ReleaseError,
|
|
23
23
|
ARTIFACT_POLICY_INVALID,
|
|
@@ -155,11 +155,14 @@ export async function createBuiltInProducerRegistry() {
|
|
|
155
155
|
* @returns {string}
|
|
156
156
|
*/
|
|
157
157
|
export function computeImplDigest(sourceBytes) {
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
158
|
+
// 多段哈希(源字节 + node 版本 + 固定 locale/timezone)等价于对拼接字节
|
|
159
|
+
// 的 sha256,委托 Foundation digestBytes 实现,字节逐位一致。
|
|
160
|
+
const bytes = Buffer.concat([
|
|
161
|
+
...sourceBytes,
|
|
162
|
+
Buffer.from(`node:${process.version}`),
|
|
163
|
+
Buffer.from('locale:en-US timezone:UTC'),
|
|
164
|
+
]);
|
|
165
|
+
return `sha256:${digestBytes(bytes)}`;
|
|
163
166
|
}
|
|
164
167
|
|
|
165
168
|
// ---------------------------------------------------------------------------
|