persona-harness 0.8.41 → 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +10 -4
- package/dist/cli/attach-staging.d.ts +1 -1
- package/dist/cli/attach-staging.js +2 -2
- package/dist/cli/attach-staging.js.map +1 -1
- package/dist/cli/attach.js +72 -4
- package/dist/cli/attach.js.map +1 -1
- package/dist/cli/bootstrap-contract.d.ts +1 -1
- package/dist/cli/bootstrap-contract.js +6 -0
- package/dist/cli/bootstrap-contract.js.map +1 -1
- package/dist/cli/bootstrap-runner.js +1 -1
- package/dist/cli/bootstrap-runner.js.map +1 -1
- package/dist/cli/host-skill-materializer.d.ts +25 -0
- package/dist/cli/host-skill-materializer.js +147 -0
- package/dist/cli/host-skill-materializer.js.map +1 -0
- package/dist/cli/init-output.js +9 -1
- package/dist/cli/init-output.js.map +1 -1
- package/dist/cli/init-ownership.js +9 -1
- package/dist/cli/init-ownership.js.map +1 -1
- package/dist/cli/init-plan.js +8 -6
- package/dist/cli/init-plan.js.map +1 -1
- package/dist/cli/init-source.js +2 -0
- package/dist/cli/init-source.js.map +1 -1
- package/dist/cli/init.js +10 -1
- package/dist/cli/init.js.map +1 -1
- package/dist/index.js +0 -34
- package/dist/index.js.map +1 -1
- package/dist/portable-skill.d.ts +3 -1
- package/dist/portable-skill.js +2 -1
- package/dist/portable-skill.js.map +1 -1
- package/dist/runtime/host-capability-manifest.d.ts +48 -0
- package/dist/runtime/host-capability-manifest.js +172 -0
- package/dist/runtime/host-capability-manifest.js.map +1 -0
- package/dist/runtime/opencode-skill-adapter.js +25 -2
- package/dist/runtime/opencode-skill-adapter.js.map +1 -1
- package/dist/runtime/persona-shared-skill-catalog.d.ts +1 -0
- package/dist/runtime/persona-shared-skill-catalog.js +13 -6
- package/dist/runtime/persona-shared-skill-catalog.js.map +1 -1
- package/dist/runtime/portable-skill-adapters.d.ts +4 -1
- package/dist/runtime/portable-skill-adapters.js +3 -1
- package/dist/runtime/portable-skill-adapters.js.map +1 -1
- package/dist/runtime/portable-skill-contract.d.ts +8 -5
- package/dist/runtime/portable-skill-contract.js +15 -17
- package/dist/runtime/portable-skill-contract.js.map +1 -1
- package/docs/current/canonical-docs-index.md +1 -1
- package/docs/current/persona-shared-skills-core.md +45 -15
- package/docs/current/release/consumer-authority-current-acceptance.json +1 -1
- package/docs/current/release/v0.8.42-release-notes.md +24 -0
- package/docs/current/release/v0.9.0-release-notes.md +56 -0
- package/package.json +2 -2
- package/packages/shared-skills/package.json +1 -1
package/README.md
CHANGED
|
@@ -44,8 +44,10 @@ ignored and `finish` exits `1`; the opt-in TDD rail blocked green-only
|
|
|
44
44
|
completion in 5/5 measured runs. Runtime injection did not improve the paired
|
|
45
45
|
OpenCode measurements and added cost, so it remains default-off.
|
|
46
46
|
|
|
47
|
-
**Built for:** Java/Spring/Gradle projects
|
|
48
|
-
|
|
47
|
+
**Built for:** Java/Spring/Gradle projects with explicit workflow gates and
|
|
48
|
+
evidence checks. `ph init` also materializes portable skill adapters for Codex,
|
|
49
|
+
Claude Code, OpenCode, and Antigravity; live host selection and delivery remain
|
|
50
|
+
separate observation boundaries.
|
|
49
51
|
|
|
50
52
|
**Not a promise of:** automatic implementation, generated-app quality,
|
|
51
53
|
production readiness, token savings, or broad security guarantees.
|
|
@@ -199,8 +201,8 @@ catalog, access the network, execute shell commands, or write workflow,
|
|
|
199
201
|
evidence, or authority records. The adapter's actual behavior in a live
|
|
200
202
|
OpenCode release remains a separate host-observation boundary.
|
|
201
203
|
|
|
202
|
-
|
|
203
|
-
|
|
204
|
+
`ph init` materializes the bundled Persona-owned shared-skill catalog at each
|
|
205
|
+
host's project-local discovery path. Product ideas start with a one-question
|
|
204
206
|
interview and explicit brief approval; adapters advise only and never create
|
|
205
207
|
workflow state or invoke host agents automatically. See [Persona Shared Skills
|
|
206
208
|
Core](docs/current/persona-shared-skills-core.md).
|
|
@@ -237,6 +239,10 @@ npx ph bootstrap backend # AGENTS.md, profile, plan, report templates
|
|
|
237
239
|
npx ph go "Add a task creation endpoint."
|
|
238
240
|
```
|
|
239
241
|
|
|
242
|
+
`ph init` writes manifest-owned shared-skill adapters beneath `.agents/skills`,
|
|
243
|
+
`.claude/skills`, and `.opencode/skills`. It refuses a modified, user-owned, or
|
|
244
|
+
symlinked generated target instead of overwriting it.
|
|
245
|
+
|
|
240
246
|
For an existing Java/Spring/Gradle project, inspect the inferred draft first,
|
|
241
247
|
then accept it explicitly:
|
|
242
248
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare function copyAttachContext(projectDir: string, stagingDir: string): void;
|
|
1
|
+
export declare function copyAttachContext(projectDir: string, stagingDir: string, ownedHostSkillAdapterPaths?: readonly string[]): void;
|
|
@@ -10,8 +10,8 @@ const STAGING_CONTEXT = [
|
|
|
10
10
|
".gitignore",
|
|
11
11
|
".opencode/opencode.json",
|
|
12
12
|
];
|
|
13
|
-
export function copyAttachContext(projectDir, stagingDir) {
|
|
14
|
-
for (const relativePath of STAGING_CONTEXT) {
|
|
13
|
+
export function copyAttachContext(projectDir, stagingDir, ownedHostSkillAdapterPaths = []) {
|
|
14
|
+
for (const relativePath of [...STAGING_CONTEXT, ...ownedHostSkillAdapterPaths]) {
|
|
15
15
|
const source = join(projectDir, relativePath);
|
|
16
16
|
if (existsSync(source)) {
|
|
17
17
|
const target = join(stagingDir, relativePath);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attach-staging.js","sourceRoot":"","sources":["../../src/cli/attach-staging.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AACvD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEzC,MAAM,eAAe,GAAG;IACtB,WAAW;IACX,cAAc;IACd,kBAAkB;IAClB,iBAAiB;IACjB,qBAAqB;IACrB,KAAK;IACL,YAAY;IACZ,yBAAyB;CACjB,CAAA;AAEV,MAAM,UAAU,iBAAiB,
|
|
1
|
+
{"version":3,"file":"attach-staging.js","sourceRoot":"","sources":["../../src/cli/attach-staging.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AACvD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEzC,MAAM,eAAe,GAAG;IACtB,WAAW;IACX,cAAc;IACd,kBAAkB;IAClB,iBAAiB;IACjB,qBAAqB;IACrB,KAAK;IACL,YAAY;IACZ,yBAAyB;CACjB,CAAA;AAEV,MAAM,UAAU,iBAAiB,CAC/B,UAAkB,EAClB,UAAkB,EAClB,6BAAgD,EAAE;IAElD,KAAK,MAAM,YAAY,IAAI,CAAC,GAAG,eAAe,EAAE,GAAG,0BAA0B,CAAC,EAAE,CAAC;QAC/E,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,CAAA;QAC7C,IAAI,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YACvB,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,CAAA;YAC7C,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;YAC/C,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QAC7C,CAAC;IACH,CAAC;AACH,CAAC"}
|
package/dist/cli/attach.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { cpSync, existsSync, mkdtempSync, readFileSync, rmSync, realpathSync, writeFileSync, } from "node:fs";
|
|
1
|
+
import { cpSync, existsSync, lstatSync, mkdtempSync, readFileSync, rmSync, realpathSync, writeFileSync, } from "node:fs";
|
|
2
2
|
import { tmpdir } from "node:os";
|
|
3
3
|
import { join, resolve } from "node:path";
|
|
4
4
|
import process from "node:process";
|
|
@@ -10,8 +10,76 @@ import { copyAttachContext } from "./attach-staging.js";
|
|
|
10
10
|
import { commitAttachTree } from "./attach-transaction.js";
|
|
11
11
|
import { attachBlocked, attachUsage, parseAttachArgs, } from "./attach-command-contract.js";
|
|
12
12
|
import { runBootstrapCommand } from "./bootstrap.js";
|
|
13
|
+
import { isHostSkillAdapterTarget } from "./host-skill-materializer.js";
|
|
14
|
+
import { InitManifestError, readInitManifest } from "./init-manifest.js";
|
|
13
15
|
import { runInstructionsCommand } from "./instructions-infer.js";
|
|
14
16
|
import { readWorkflowDiagnosis } from "./workflow-diagnostics.js";
|
|
17
|
+
const ATTACH_ROOTS = [".gitignore", ".opencode/opencode.json", ".persona", "AGENTS.md"];
|
|
18
|
+
function hostSkillAdapterPaths(projectDir) {
|
|
19
|
+
try {
|
|
20
|
+
const manifest = readInitManifest(projectDir);
|
|
21
|
+
if (manifest === null) {
|
|
22
|
+
return null;
|
|
23
|
+
}
|
|
24
|
+
return manifest.files
|
|
25
|
+
.map((entry) => entry.path)
|
|
26
|
+
.filter((path) => isHostSkillAdapterTarget(path));
|
|
27
|
+
}
|
|
28
|
+
catch (error) {
|
|
29
|
+
if (error instanceof InitManifestError) {
|
|
30
|
+
return null;
|
|
31
|
+
}
|
|
32
|
+
throw error;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
function assertSafeHostSkillAdapterTarget(projectDir, relativePath) {
|
|
36
|
+
let current = resolve(projectDir);
|
|
37
|
+
const segments = relativePath.split("/");
|
|
38
|
+
for (const [index, segment] of segments.entries()) {
|
|
39
|
+
current = join(current, segment);
|
|
40
|
+
if (!existsSync(current)) {
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
const stat = lstatSync(current);
|
|
44
|
+
if (stat.isSymbolicLink()) {
|
|
45
|
+
throw new Error(`Attach host skill adapter contains a symbolic link: ${relativePath}`);
|
|
46
|
+
}
|
|
47
|
+
if (index < segments.length - 1 && !stat.isDirectory()) {
|
|
48
|
+
throw new Error(`Attach host skill adapter parent is not a directory: ${relativePath}`);
|
|
49
|
+
}
|
|
50
|
+
if (index === segments.length - 1 && !stat.isFile()) {
|
|
51
|
+
throw new Error(`Attach host skill adapter is not a regular file: ${relativePath}`);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
function assertHostSkillAdapterTargetsAreSafe(projectDir, stagingDir) {
|
|
56
|
+
const paths = hostSkillAdapterPaths(stagingDir);
|
|
57
|
+
if (paths === null) {
|
|
58
|
+
throw new Error("Attach staging is missing the init ownership manifest");
|
|
59
|
+
}
|
|
60
|
+
for (const relativePath of paths) {
|
|
61
|
+
assertSafeHostSkillAdapterTarget(projectDir, relativePath);
|
|
62
|
+
const targetPath = join(projectDir, relativePath);
|
|
63
|
+
if (!existsSync(targetPath)) {
|
|
64
|
+
continue;
|
|
65
|
+
}
|
|
66
|
+
const expected = readFileSync(join(stagingDir, relativePath));
|
|
67
|
+
if (!readFileSync(targetPath).equals(expected)) {
|
|
68
|
+
throw new Error(`Attach host skill adapter conflicts at ${relativePath}`);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
return paths;
|
|
72
|
+
}
|
|
73
|
+
function attachCommitRoots(projectDir, stagingDir) {
|
|
74
|
+
return [...ATTACH_ROOTS, ...assertHostSkillAdapterTargetsAreSafe(projectDir, stagingDir)];
|
|
75
|
+
}
|
|
76
|
+
function ownedHostSkillAdapterPaths(projectDir) {
|
|
77
|
+
const paths = hostSkillAdapterPaths(projectDir) ?? [];
|
|
78
|
+
for (const relativePath of paths) {
|
|
79
|
+
assertSafeHostSkillAdapterTarget(projectDir, relativePath);
|
|
80
|
+
}
|
|
81
|
+
return paths;
|
|
82
|
+
}
|
|
15
83
|
function writeManagedAgents(stagingDir) {
|
|
16
84
|
writeFileSync(join(stagingDir, "AGENTS.md"), managedBackendAgentInstructions());
|
|
17
85
|
}
|
|
@@ -58,7 +126,7 @@ function runFreshAttach(projectDir, options) {
|
|
|
58
126
|
return attachBlocked(inference.stderr.trim() || "instruction inference failed.", "Resolve the reported project inference problem, then retry attach.", "npx ph attach --yes");
|
|
59
127
|
}
|
|
60
128
|
writeManagedAgents(stagingDir);
|
|
61
|
-
commitAttachTree(projectDir, stagingDir,
|
|
129
|
+
commitAttachTree(projectDir, stagingDir, attachCommitRoots(projectDir, stagingDir), { onAfterCommitFile: options.onAfterCommitFile });
|
|
62
130
|
return {
|
|
63
131
|
status: 0,
|
|
64
132
|
stdout: [
|
|
@@ -90,7 +158,7 @@ function runRepair(projectDir, options) {
|
|
|
90
158
|
}
|
|
91
159
|
const stagingDir = mkdtempSync(join(tmpdir(), "persona-attach-repair-"));
|
|
92
160
|
try {
|
|
93
|
-
copyAttachContext(projectDir, stagingDir);
|
|
161
|
+
copyAttachContext(projectDir, stagingDir, ownedHostSkillAdapterPaths(projectDir));
|
|
94
162
|
cpSync(join(projectDir, ".persona"), join(stagingDir, ".persona"), { recursive: true });
|
|
95
163
|
const bootstrap = runBootstrapCommand(["backend"], {
|
|
96
164
|
attachStagingOwnership: { kind: "repair", projectRealPath: realpathSync(projectDir) },
|
|
@@ -109,7 +177,7 @@ function runRepair(projectDir, options) {
|
|
|
109
177
|
writeFileSync(join(stagingDir, "AGENTS.md"), existsSync(agentsPath)
|
|
110
178
|
? repairManagedBackendAgentInstructions(readFileSync(agentsPath, "utf8"))
|
|
111
179
|
: managedBackendAgentInstructions());
|
|
112
|
-
commitAttachTree(projectDir, stagingDir,
|
|
180
|
+
commitAttachTree(projectDir, stagingDir, attachCommitRoots(projectDir, stagingDir), {
|
|
113
181
|
onAfterCommitFile: options.onAfterCommitFile,
|
|
114
182
|
});
|
|
115
183
|
return {
|
package/dist/cli/attach.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attach.js","sourceRoot":"","sources":["../../src/cli/attach.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"attach.js","sourceRoot":"","sources":["../../src/cli/attach.ts"],"names":[],"mappings":"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"}
|
|
@@ -39,7 +39,7 @@ export declare const POLICY_OVERLAY_PATH = ".persona/policies/overlay.jsonc";
|
|
|
39
39
|
export declare const ROOT_AGENT_INSTRUCTIONS_PATH = "AGENTS.md";
|
|
40
40
|
export declare const BOOTSTRAP_PERSONA_FILES: readonly [".ph-init-manifest.json", "harness.jsonc", "project-profile.jsonc", "policies/overlay.jsonc", "policies/company/backend.md", "policies/personal/backend.md"];
|
|
41
41
|
export declare const BOOTSTRAP_WORKFLOW_FILES: readonly ["plan.md", "implementation-report.md", "review-report.md", "roles.md", "workflow-loop-state.json", "ralph-loop-state.json"];
|
|
42
|
-
export declare const BOOTSTRAP_TRANSACTION_OUTPUT_MANIFEST: readonly [".gitignore", ".opencode/opencode.json", "AGENTS.md", ".persona/.ph-init-manifest.json", ".persona/harness.jsonc", ".persona/conventions/**", ".persona/rules/**", ".persona/project-profile.jsonc", ".persona/policies/overlay.jsonc", ".persona/policies/company/backend.md", ".persona/policies/personal/backend.md", ".persona/workflow/plan.md", ".persona/workflow/implementation-report.md", ".persona/workflow/review-report.md", ".persona/workflow/roles.md", ".persona/workflow/workflow-loop-state.json", ".persona/workflow/ralph-loop-state.json", "temporary: .<leaf>.<uuid>.tmp", "temporary: Persona staging directory"];
|
|
42
|
+
export declare const BOOTSTRAP_TRANSACTION_OUTPUT_MANIFEST: readonly [".gitignore", ".agents/skills/**", ".claude/skills/**", ".opencode/opencode.json", ".opencode/skills/**", "AGENTS.md", ".persona/.ph-init-manifest.json", ".persona/harness.jsonc", ".persona/conventions/**", ".persona/rules/**", ".persona/project-profile.jsonc", ".persona/policies/overlay.jsonc", ".persona/policies/company/backend.md", ".persona/policies/personal/backend.md", ".persona/workflow/plan.md", ".persona/workflow/implementation-report.md", ".persona/workflow/review-report.md", ".persona/workflow/roles.md", ".persona/workflow/workflow-loop-state.json", ".persona/workflow/ralph-loop-state.json", "temporary: .<leaf>.<uuid>.tmp", "temporary: Persona staging directory"];
|
|
43
43
|
export declare function strictModeSummaryLines(): readonly string[];
|
|
44
44
|
export declare function runtimeInjectionPreviewSummaryLines(): readonly string[];
|
|
45
45
|
export declare function multiAgentPreviewSummaryLines(): readonly string[];
|
|
@@ -26,7 +26,10 @@ export const BOOTSTRAP_WORKFLOW_FILES = [
|
|
|
26
26
|
];
|
|
27
27
|
export const BOOTSTRAP_TRANSACTION_OUTPUT_MANIFEST = [
|
|
28
28
|
".gitignore",
|
|
29
|
+
".agents/skills/**",
|
|
30
|
+
".claude/skills/**",
|
|
29
31
|
".opencode/opencode.json",
|
|
32
|
+
".opencode/skills/**",
|
|
30
33
|
"AGENTS.md",
|
|
31
34
|
".persona/.ph-init-manifest.json",
|
|
32
35
|
".persona/harness.jsonc",
|
|
@@ -120,7 +123,10 @@ export function bootstrapUsage(invocation = "ph") {
|
|
|
120
123
|
`- ${HARNESS_CONFIG_PATH}`,
|
|
121
124
|
`- ${CONVENTIONS_DIR_PATH}`,
|
|
122
125
|
`- ${RULES_DIR_PATH}`,
|
|
126
|
+
"- .agents/skills/persona-harness-*/",
|
|
127
|
+
"- .claude/skills/persona-harness-claude-*/",
|
|
123
128
|
`- ${OPENCODE_CONFIG_PATH}`,
|
|
129
|
+
"- .opencode/skills/persona-harness-opencode-*/",
|
|
124
130
|
`- ${GITIGNORE_PATH}`,
|
|
125
131
|
`- ${ROOT_AGENT_INSTRUCTIONS_PATH}`,
|
|
126
132
|
`- ${PROFILE_PATH}`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bootstrap-contract.js","sourceRoot":"","sources":["../../src/cli/bootstrap-contract.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"bootstrap-contract.js","sourceRoot":"","sources":["../../src/cli/bootstrap-contract.ts"],"names":[],"mappings":"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"}
|
|
@@ -30,7 +30,7 @@ export function runBackendBootstrap(options, flags) {
|
|
|
30
30
|
if (!existsSync(join(projectDir, PERSONA_DIR))) {
|
|
31
31
|
const initialized = initializeFreshBootstrapPersonaHarness({ projectDir, packageRoot: options.packageRoot });
|
|
32
32
|
bootstrapWriteBoundary = initialized.boundary;
|
|
33
|
-
actions.push("initialized .persona and OpenCode plugin config");
|
|
33
|
+
actions.push("initialized .persona, portable host skill adapters, and OpenCode plugin config");
|
|
34
34
|
}
|
|
35
35
|
else {
|
|
36
36
|
if (readInitManifest(projectDir) === null) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bootstrap-runner.js","sourceRoot":"","sources":["../../src/cli/bootstrap-runner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AACpC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACzC,OAAO,OAAO,MAAM,cAAc,CAAA;AAElC,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAA;AAC/D,OAAO,EAAE,8BAA8B,EAAE,MAAM,8BAA8B,CAAA;AAC7E,OAAO,EACL,2BAA2B,GAE5B,MAAM,mCAAmC,CAAA;AAE1C,OAAO,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAA;AAC3E,OAAO,EACL,8BAA8B,EAC9B,6BAA6B,GAE9B,MAAM,+BAA+B,CAAA;AACtC,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAA;AACjE,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAA;AACnE,OAAO,EACL,WAAW,EACX,mBAAmB,GAGpB,MAAM,yBAAyB,CAAA;AAChC,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AACxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAA;AACpE,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAA;AAC/D,OAAO,EACL,6BAA6B,EAC7B,iCAAiC,EACjC,gCAAgC,EAChC,YAAY,EACZ,6BAA6B,GAC9B,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAE,6BAA6B,EAAE,+BAA+B,EAAE,MAAM,uBAAuB,CAAA;AACtG,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAE,sCAAsC,EAAE,wBAAwB,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAC5G,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AACxE,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAC9C,OAAO,EAAE,SAAS,EAAE,+BAA+B,EAAE,MAAM,WAAW,CAAA;AACtE,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAE9C,MAAM,UAAU,mBAAmB,CACjC,OAAyB,EACzB,KAA4B;IAE5B,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAA;IAC/D,MAAM,OAAO,GAAa,EAAE,CAAA;IAC5B,MAAM,OAAO,GAAa,EAAE,CAAA;IAC5B,IAAI,sBAA0D,CAAA;IAC9D,IAAI,CAAC;QACH,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC;YAC/C,MAAM,WAAW,GAAG,sCAAsC,CAAC,EAAE,UAAU,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,CAAA;YAC5G,sBAAsB,GAAG,WAAW,CAAC,QAAQ,CAAA;YAC7C,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"bootstrap-runner.js","sourceRoot":"","sources":["../../src/cli/bootstrap-runner.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { InitTarget } from "./init-transaction.js";
|
|
2
|
+
export type HostSkillLayout = {
|
|
3
|
+
readonly id: "agents" | "claude" | "opencode";
|
|
4
|
+
readonly namePrefix: string;
|
|
5
|
+
readonly openCodeAutoinvoke: boolean;
|
|
6
|
+
readonly root: string;
|
|
7
|
+
};
|
|
8
|
+
export declare const HOST_SKILL_LAYOUTS: readonly [{
|
|
9
|
+
readonly id: "agents";
|
|
10
|
+
readonly namePrefix: "persona-harness";
|
|
11
|
+
readonly openCodeAutoinvoke: false;
|
|
12
|
+
readonly root: ".agents/skills";
|
|
13
|
+
}, {
|
|
14
|
+
readonly id: "claude";
|
|
15
|
+
readonly namePrefix: "persona-harness-claude";
|
|
16
|
+
readonly openCodeAutoinvoke: false;
|
|
17
|
+
readonly root: ".claude/skills";
|
|
18
|
+
}, {
|
|
19
|
+
readonly id: "opencode";
|
|
20
|
+
readonly namePrefix: "persona-harness-opencode";
|
|
21
|
+
readonly openCodeAutoinvoke: true;
|
|
22
|
+
readonly root: ".opencode/skills";
|
|
23
|
+
}];
|
|
24
|
+
export declare function isHostSkillAdapterTarget(relativePath: string): boolean;
|
|
25
|
+
export declare function buildHostSkillAdapterTargets(packageRoot: string): readonly InitTarget[];
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
import { lstatSync, readFileSync } from "node:fs";
|
|
2
|
+
import { join, relative, resolve, sep } from "node:path";
|
|
3
|
+
import { listPersonaSharedSkillsFromPackageRoot, } from "../runtime/persona-shared-skill-catalog.js";
|
|
4
|
+
import { InitManifestError } from "./init-manifest.js";
|
|
5
|
+
export const HOST_SKILL_LAYOUTS = [
|
|
6
|
+
{
|
|
7
|
+
id: "agents",
|
|
8
|
+
namePrefix: "persona-harness",
|
|
9
|
+
openCodeAutoinvoke: false,
|
|
10
|
+
root: ".agents/skills",
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
id: "claude",
|
|
14
|
+
namePrefix: "persona-harness-claude",
|
|
15
|
+
openCodeAutoinvoke: false,
|
|
16
|
+
root: ".claude/skills",
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
id: "opencode",
|
|
20
|
+
namePrefix: "persona-harness-opencode",
|
|
21
|
+
openCodeAutoinvoke: true,
|
|
22
|
+
root: ".opencode/skills",
|
|
23
|
+
},
|
|
24
|
+
];
|
|
25
|
+
const HOST_SKILL_ROOTS = HOST_SKILL_LAYOUTS.map((layout) => `${layout.root}/`);
|
|
26
|
+
const SHARED_SKILLS_ROOT = "packages/shared-skills";
|
|
27
|
+
function isRecord(value) {
|
|
28
|
+
return value !== null && typeof value === "object" && !Array.isArray(value);
|
|
29
|
+
}
|
|
30
|
+
function sourceStat(path) {
|
|
31
|
+
try {
|
|
32
|
+
return lstatSync(path);
|
|
33
|
+
}
|
|
34
|
+
catch {
|
|
35
|
+
throw new InitManifestError("Persona shared-skill source is unavailable; no files were changed.");
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
function assertSafeSourceFile(packageRoot, relativePath) {
|
|
39
|
+
const root = resolve(packageRoot);
|
|
40
|
+
const path = resolve(root, relativePath);
|
|
41
|
+
const escaped = relative(root, path);
|
|
42
|
+
if (escaped === ".." || escaped.startsWith(`..${sep}`) || escaped.startsWith(sep)) {
|
|
43
|
+
throw new InitManifestError("Persona shared-skill source escapes the package root; no files were changed.");
|
|
44
|
+
}
|
|
45
|
+
const rootStat = sourceStat(root);
|
|
46
|
+
if (!rootStat.isDirectory() || rootStat.isSymbolicLink()) {
|
|
47
|
+
throw new InitManifestError("Persona shared-skill package root is unsafe; no files were changed.");
|
|
48
|
+
}
|
|
49
|
+
const segments = relativePath.split("/");
|
|
50
|
+
let current = root;
|
|
51
|
+
for (const [index, segment] of segments.entries()) {
|
|
52
|
+
current = join(current, segment);
|
|
53
|
+
const stat = sourceStat(current);
|
|
54
|
+
if (stat.isSymbolicLink()) {
|
|
55
|
+
throw new InitManifestError("Persona shared-skill source contains a symbolic link; no files were changed.");
|
|
56
|
+
}
|
|
57
|
+
if (index < segments.length - 1 && !stat.isDirectory()) {
|
|
58
|
+
throw new InitManifestError("Persona shared-skill source parent is invalid; no files were changed.");
|
|
59
|
+
}
|
|
60
|
+
if (index === segments.length - 1 && !stat.isFile()) {
|
|
61
|
+
throw new InitManifestError("Persona shared-skill source is not a regular file; no files were changed.");
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
return path;
|
|
65
|
+
}
|
|
66
|
+
function readPackageVersion(packageRoot) {
|
|
67
|
+
const source = readFileSync(assertSafeSourceFile(packageRoot, "package.json"), "utf8");
|
|
68
|
+
let parsed;
|
|
69
|
+
try {
|
|
70
|
+
parsed = JSON.parse(source);
|
|
71
|
+
}
|
|
72
|
+
catch {
|
|
73
|
+
throw new InitManifestError("Persona shared-skill package binding is malformed; no files were changed.");
|
|
74
|
+
}
|
|
75
|
+
if (!isRecord(parsed) || parsed.name !== "persona-harness" || typeof parsed.version !== "string") {
|
|
76
|
+
throw new InitManifestError("Persona shared-skill package binding is unavailable; no files were changed.");
|
|
77
|
+
}
|
|
78
|
+
return parsed.version;
|
|
79
|
+
}
|
|
80
|
+
function readCanonicalSkillSource(packageRoot, skill) {
|
|
81
|
+
const source = readFileSync(assertSafeSourceFile(packageRoot, `${SHARED_SKILLS_ROOT}/${skill.entry}`), "utf8");
|
|
82
|
+
if (!source.startsWith("---\n")) {
|
|
83
|
+
throw new InitManifestError("Persona shared-skill source front matter is malformed; no files were changed.");
|
|
84
|
+
}
|
|
85
|
+
const closing = source.indexOf("\n---\n", 4);
|
|
86
|
+
if (closing < 4) {
|
|
87
|
+
throw new InitManifestError("Persona shared-skill source front matter is malformed; no files were changed.");
|
|
88
|
+
}
|
|
89
|
+
const frontMatter = source.slice(4, closing);
|
|
90
|
+
const descriptionLine = frontMatter.split("\n").find((line) => line.startsWith("description: "));
|
|
91
|
+
const description = descriptionLine?.slice("description: ".length).trim();
|
|
92
|
+
const body = source.slice(closing + "\n---\n".length).trim();
|
|
93
|
+
if (description === undefined || description.length === 0 || body.length === 0) {
|
|
94
|
+
throw new InitManifestError("Persona shared-skill source metadata is incomplete; no files were changed.");
|
|
95
|
+
}
|
|
96
|
+
return { body, description };
|
|
97
|
+
}
|
|
98
|
+
function renderHostSkillAdapter(layout, skill, source, packageVersion) {
|
|
99
|
+
const name = `${layout.namePrefix}-${skill.id}`;
|
|
100
|
+
return Buffer.from([
|
|
101
|
+
"---",
|
|
102
|
+
`name: ${name}`,
|
|
103
|
+
`description: ${JSON.stringify(source.description)}`,
|
|
104
|
+
'license: "Apache-2.0"',
|
|
105
|
+
`compatibility: ${JSON.stringify(layout.id === "agents" ? "Codex and Antigravity" : layout.id === "claude" ? "Claude Code" : "OpenCode")}`,
|
|
106
|
+
"metadata:",
|
|
107
|
+
` persona-harness/canonical-skill: ${skill.id}`,
|
|
108
|
+
` persona-harness/adapter-layout: ${layout.id}`,
|
|
109
|
+
` persona-harness/adapter-version: ${packageVersion}`,
|
|
110
|
+
` opencode/autoinvoke: \"${layout.openCodeAutoinvoke ? "true" : "false"}\"`,
|
|
111
|
+
"---",
|
|
112
|
+
"",
|
|
113
|
+
`# Persona Harness Adapter: ${skill.title}`,
|
|
114
|
+
"",
|
|
115
|
+
"This adapter exposes the canonical Persona Harness skill to this host only. Discovery alone does not authorize workflow, shell, network, GitHub, authority, evidence, or external actions.",
|
|
116
|
+
"",
|
|
117
|
+
source.body,
|
|
118
|
+
"",
|
|
119
|
+
].join("\n"), "utf8");
|
|
120
|
+
}
|
|
121
|
+
export function isHostSkillAdapterTarget(relativePath) {
|
|
122
|
+
return HOST_SKILL_ROOTS.some((root) => relativePath.startsWith(root));
|
|
123
|
+
}
|
|
124
|
+
export function buildHostSkillAdapterTargets(packageRoot) {
|
|
125
|
+
assertSafeSourceFile(packageRoot, `${SHARED_SKILLS_ROOT}/catalog.json`);
|
|
126
|
+
const packageVersion = readPackageVersion(packageRoot);
|
|
127
|
+
let skills;
|
|
128
|
+
try {
|
|
129
|
+
skills = listPersonaSharedSkillsFromPackageRoot(packageRoot);
|
|
130
|
+
}
|
|
131
|
+
catch {
|
|
132
|
+
throw new InitManifestError("Persona shared-skill catalog is unavailable; no files were changed.");
|
|
133
|
+
}
|
|
134
|
+
const targets = [];
|
|
135
|
+
for (const layout of HOST_SKILL_LAYOUTS) {
|
|
136
|
+
for (const skill of skills) {
|
|
137
|
+
const source = readCanonicalSkillSource(packageRoot, skill);
|
|
138
|
+
const name = `${layout.namePrefix}-${skill.id}`;
|
|
139
|
+
targets.push({
|
|
140
|
+
relativePath: `${layout.root}/${name}/SKILL.md`,
|
|
141
|
+
nextBytes: renderHostSkillAdapter(layout, skill, source, packageVersion),
|
|
142
|
+
});
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
return targets.sort((left, right) => left.relativePath.localeCompare(right.relativePath));
|
|
146
|
+
}
|
|
147
|
+
//# sourceMappingURL=host-skill-materializer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"host-skill-materializer.js","sourceRoot":"","sources":["../../src/cli/host-skill-materializer.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/init-output.js
CHANGED
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
export function formatInitResult(result) {
|
|
2
2
|
const backupLines = result.backups.length > 0 ? ["", "Backups:", ...result.backups.map((backup) => `- ${backup}`)] : [];
|
|
3
|
+
const supportLines = result.decision === "apply"
|
|
4
|
+
? [
|
|
5
|
+
"",
|
|
6
|
+
"Support Persona Harness:",
|
|
7
|
+
"- If this setup helped, consider starring: https://github.com/jyt6640/persona-harness",
|
|
8
|
+
]
|
|
9
|
+
: [];
|
|
3
10
|
const decisionLines = result.decision === "dry-run"
|
|
4
11
|
? [
|
|
5
12
|
"Dry run:",
|
|
@@ -19,13 +26,14 @@ export function formatInitResult(result) {
|
|
|
19
26
|
result.decision === "dry-run" ? "Persona Harness init dry-run." : "Persona Harness initialized.",
|
|
20
27
|
"",
|
|
21
28
|
...decisionLines,
|
|
29
|
+
...supportLines,
|
|
22
30
|
"",
|
|
23
31
|
"Installed:",
|
|
24
32
|
...result.installed.map((item) => `- ${item}`),
|
|
25
33
|
...backupLines,
|
|
26
34
|
"",
|
|
27
35
|
"Init scope:",
|
|
28
|
-
"- `ph init` installs Persona Harness config/conventions/rules and OpenCode plugin config only.",
|
|
36
|
+
"- `ph init` installs Persona Harness config/conventions/rules, portable host skill adapters, and OpenCode plugin config only.",
|
|
29
37
|
"- It does not create `AGENTS.md`, `.persona/project-profile.jsonc`, or workflow plan/report templates.",
|
|
30
38
|
"- Do not enter implementation before the backend project profile exists.",
|
|
31
39
|
"",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init-output.js","sourceRoot":"","sources":["../../src/cli/init-output.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,gBAAgB,CAAC,MAAkB;IACjD,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,KAAK,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IACvH,MAAM,aAAa,GACjB,MAAM,CAAC,QAAQ,KAAK,SAAS;QAC3B,CAAC,CAAC;YACE,UAAU;YACV,sBAAsB,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE;YAC7C,+BAA+B;SAChC;QACH,CAAC,CAAC,MAAM,CAAC,QAAQ,KAAK,OAAO;YAC3B,CAAC,CAAC;gBACE,sBAAsB;gBACtB,6CAA6C;aAC9C;YACH,CAAC,CAAC;gBACE,6BAA6B;gBAC7B,oBAAoB,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE;aAC5C,CAAA;IAET,OAAO;QACL,MAAM,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,+BAA+B,CAAC,CAAC,CAAC,8BAA8B;QAChG,EAAE;QACF,GAAG,aAAa;QAChB,EAAE;QACF,YAAY;QACZ,GAAG,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC;QAC9C,GAAG,WAAW;QACd,EAAE;QACF,aAAa;QACb
|
|
1
|
+
{"version":3,"file":"init-output.js","sourceRoot":"","sources":["../../src/cli/init-output.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,gBAAgB,CAAC,MAAkB;IACjD,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,KAAK,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IACvH,MAAM,YAAY,GAAG,MAAM,CAAC,QAAQ,KAAK,OAAO;QAC9C,CAAC,CAAC;YACE,EAAE;YACF,0BAA0B;YAC1B,uFAAuF;SACxF;QACH,CAAC,CAAC,EAAE,CAAA;IACN,MAAM,aAAa,GACjB,MAAM,CAAC,QAAQ,KAAK,SAAS;QAC3B,CAAC,CAAC;YACE,UAAU;YACV,sBAAsB,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE;YAC7C,+BAA+B;SAChC;QACH,CAAC,CAAC,MAAM,CAAC,QAAQ,KAAK,OAAO;YAC3B,CAAC,CAAC;gBACE,sBAAsB;gBACtB,6CAA6C;aAC9C;YACH,CAAC,CAAC;gBACE,6BAA6B;gBAC7B,oBAAoB,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE;aAC5C,CAAA;IAET,OAAO;QACL,MAAM,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,+BAA+B,CAAC,CAAC,CAAC,8BAA8B;QAChG,EAAE;QACF,GAAG,aAAa;QAChB,GAAG,YAAY;QACf,EAAE;QACF,YAAY;QACZ,GAAG,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC;QAC9C,GAAG,WAAW;QACd,EAAE;QACF,aAAa;QACb,+HAA+H;QAC/H,wGAAwG;QACxG,0EAA0E;QAC1E,EAAE;QACF,eAAe;QACf,4DAA4D;QAC5D,8DAA8D;QAC9D,wEAAwE;QACxE,EAAE;QACF,qBAAqB;QACrB,+EAA+E;QAC/E,8FAA8F;QAC9F,yEAAyE;QACzE,EAAE;QACF,eAAe;QACf,mCAAmC;QACnC,mEAAmE;QACnE,iFAAiF;QACjF,EAAE;QACF,eAAe;QACf,iHAAiH;QACjH,8CAA8C;QAC9C,EAAE;QACF,QAAQ;QACR,4CAA4C;QAC5C,oDAAoD;QACpD,EAAE;QACF,iBAAiB;QACjB,iCAAiC;QACjC,gBAAgB;QAChB,oBAAoB;QACpB,8CAA8C;QAC9C,EAAE;QACF,WAAW;QACX,sBAAsB;QACtB,2FAA2F;KAC5F,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACd,CAAC;AAED,MAAM,UAAU,wCAAwC,CAAC,cAAc,GAAG,IAAI;IAC5E,OAAO;QACL,0DAA0D;QAC1D,EAAE;QACF,YAAY;QACZ,eAAe,cAAc,8CAA8C,cAAc,0DAA0D;QACnJ,EAAE;QACF,kBAAkB;QAClB,eAAe,cAAc,uHAAuH;QACpJ,EAAE;QACF,8CAA8C;QAC9C,EAAE;KACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACd,CAAC"}
|
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
import { INIT_MANIFEST_RELATIVE_PATH, InitManifestError, sha256Bytes, } from "./init-manifest.js";
|
|
2
|
-
const MANAGED_PATH_PREFIXES = [
|
|
2
|
+
const MANAGED_PATH_PREFIXES = [
|
|
3
|
+
".persona/",
|
|
4
|
+
".agents/skills/",
|
|
5
|
+
".claude/skills/",
|
|
6
|
+
".opencode/opencode.json",
|
|
7
|
+
".opencode/skills/",
|
|
8
|
+
".gitignore",
|
|
9
|
+
"AGENTS.md",
|
|
10
|
+
];
|
|
3
11
|
function managedPath(relativePath) {
|
|
4
12
|
return MANAGED_PATH_PREFIXES.some((prefix) => relativePath === prefix || relativePath.startsWith(prefix));
|
|
5
13
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init-ownership.js","sourceRoot":"","sources":["../../src/cli/init-ownership.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,2BAA2B,EAC3B,iBAAiB,EACjB,WAAW,GAGZ,MAAM,oBAAoB,CAAA;AAE3B,MAAM,qBAAqB,GAAG,
|
|
1
|
+
{"version":3,"file":"init-ownership.js","sourceRoot":"","sources":["../../src/cli/init-ownership.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,2BAA2B,EAC3B,iBAAiB,EACjB,WAAW,GAGZ,MAAM,oBAAoB,CAAA;AAE3B,MAAM,qBAAqB,GAAG;IAC5B,WAAW;IACX,iBAAiB;IACjB,iBAAiB;IACjB,yBAAyB;IACzB,mBAAmB;IACnB,YAAY;IACZ,WAAW;CACH,CAAA;AAmBV,SAAS,WAAW,CAAC,YAAoB;IACvC,OAAO,qBAAqB,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,YAAY,KAAK,MAAM,IAAI,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAA;AAC3G,CAAC;AAED,SAAS,oBAAoB,CAAC,QAAsB,EAAE,OAA2B;IAC/E,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,EAAE,CAAC;QAC3C,MAAM,IAAI,iBAAiB,CAAC,kDAAkD,CAAC,CAAA;IACjF,CAAC;IACD,IAAI,QAAQ,CAAC,OAAO,CAAC,OAAO,KAAK,OAAO,CAAC,OAAO,IAAI,QAAQ,CAAC,OAAO,CAAC,cAAc,KAAK,OAAO,CAAC,cAAc,EAAE,CAAC;QAC/G,MAAM,IAAI,iBAAiB,CAAC,kDAAkD,CAAC,CAAA;IACjF,CAAC;AACH,CAAC;AAED,SAAS,oBAAoB,CAAC,QAAsB,EAAE,KAA8B;IAClF,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,OAAO;YACV,IAAI,QAAQ,CAAC,OAAO,CAAC,aAAa,KAAK,KAAK,CAAC,MAAM,EAAE,CAAC;gBACpD,MAAM,IAAI,iBAAiB,CAAC,0DAA0D,CAAC,CAAA;YACzF,CAAC;YACD,OAAM;QACR,KAAK,wBAAwB;YAC3B,OAAM;IACV,CAAC;AACH,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,QAAsB,EACtB,OAA6B;IAE7B,IAAI,QAAQ,CAAC,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,eAAe,EAAE,CAAC;QAC1D,MAAM,IAAI,iBAAiB,CAAC,kDAAkD,CAAC,CAAA;IACjF,CAAC;IACD,oBAAoB,CAAC,QAAQ,EAAE,OAAO,CAAC,cAAc,CAAC,CAAA;IACtD,IAAI,OAAO,CAAC,cAAc,KAAK,SAAS;QAAE,oBAAoB,CAAC,QAAQ,EAAE,OAAO,CAAC,cAAc,CAAC,CAAA;IAEhG,MAAM,UAAU,GAAG,IAAI,GAAG,EAAkB,CAAA;IAC5C,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;QACnC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,2BAA2B,EAAE,CAAC;YAC3E,MAAM,IAAI,iBAAiB,CAAC,yDAAyD,KAAK,CAAC,IAAI,EAAE,CAAC,CAAA;QACpG,CAAC;QACD,MAAM,OAAO,GAAG,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QACjD,MAAM,aAAa,GAAG,OAAO,CAAC,cAAc,CAAC,IAAI,KAAK,uBAAuB;eACxE,KAAK,CAAC,IAAI,KAAK,wBAAwB,CAAA;QAC5C,IAAI,OAAO,KAAK,SAAS,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,KAAK,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;YACvF,MAAM,IAAI,iBAAiB,CAAC,8BAA8B,KAAK,CAAC,IAAI,0BAA0B,CAAC,CAAA;QACjG,CAAC;QACD,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IACrC,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAA;AACjC,CAAC"}
|
package/dist/cli/init-plan.js
CHANGED
|
@@ -7,6 +7,7 @@ import { verifyInitOwnership } from "./init-ownership.js";
|
|
|
7
7
|
import { buildTargets, ensureRegularOrMissing, isMissing, OPENCODE_CONFIG_PATH, packageBinding, profileDigest, readOpencodeConfig, sourceTemplateDigest, versionedNpmPluginSpecifier, } from "./init-source.js";
|
|
8
8
|
import { InitManifestError } from "./init-manifest.js";
|
|
9
9
|
import { readOpenCodePluginEntries } from "./opencode-plugin-config.js";
|
|
10
|
+
import { isHostSkillAdapterTarget } from "./host-skill-materializer.js";
|
|
10
11
|
function ensureNoFollowPath(projectDir, relativePath) {
|
|
11
12
|
const root = resolve(projectDir);
|
|
12
13
|
const target = resolve(root, relativePath);
|
|
@@ -81,13 +82,16 @@ function verifiedManifestBinding(projectDir, manifest, currentPackage, currentPr
|
|
|
81
82
|
});
|
|
82
83
|
}
|
|
83
84
|
function rejectForeignNewTargets(projectDir, manifest, targets) {
|
|
84
|
-
const ownedPaths = new Set(manifest
|
|
85
|
+
const ownedPaths = new Set(manifest?.files.map((entry) => entry.path) ?? []);
|
|
85
86
|
for (const target of targets) {
|
|
86
87
|
if (ownedPaths.has(target.relativePath)) {
|
|
87
88
|
continue;
|
|
88
89
|
}
|
|
89
|
-
if (
|
|
90
|
-
|
|
90
|
+
if (manifest !== null || isHostSkillAdapterTarget(target.relativePath)) {
|
|
91
|
+
const current = existingBytes(projectDir, target.relativePath);
|
|
92
|
+
if (current !== null && !current.equals(target.nextBytes)) {
|
|
93
|
+
throw new InitManifestError(`Init ownership conflict at ${target.relativePath}; no files were changed.`);
|
|
94
|
+
}
|
|
91
95
|
}
|
|
92
96
|
}
|
|
93
97
|
}
|
|
@@ -101,9 +105,7 @@ function nextInitState(projectDir, packageRoot, packageTemplateTargets, sourceTa
|
|
|
101
105
|
const targets = verified === undefined
|
|
102
106
|
? sourceTargets
|
|
103
107
|
: preserveBootstrapHarnessOptIns(sourceTargets, verified.ownedFiles);
|
|
104
|
-
|
|
105
|
-
rejectForeignNewTargets(projectDir, current, targets);
|
|
106
|
-
}
|
|
108
|
+
rejectForeignNewTargets(projectDir, current, targets);
|
|
107
109
|
const projectBinding = {
|
|
108
110
|
realPath: realpathSync(manifestProjectRealPath ?? projectDir),
|
|
109
111
|
profileDigest: currentProfileDigest,
|