psyclaw 0.26.2 → 0.27.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.
Files changed (44) hide show
  1. package/README.md +38 -9
  2. package/dist/src/adapters/pi/extension.js +274 -119
  3. package/dist/src/adapters/pi/extension.js.map +1 -1
  4. package/dist/src/branding.d.ts +9 -0
  5. package/dist/src/branding.js +23 -0
  6. package/dist/src/branding.js.map +1 -1
  7. package/dist/src/chat.d.ts +3 -0
  8. package/dist/src/chat.js +32 -6
  9. package/dist/src/chat.js.map +1 -1
  10. package/dist/src/cli.js +20 -8
  11. package/dist/src/cli.js.map +1 -1
  12. package/dist/src/index.d.ts +2 -0
  13. package/dist/src/index.js +2 -0
  14. package/dist/src/index.js.map +1 -1
  15. package/dist/src/setup.d.ts +4 -1
  16. package/dist/src/setup.js +51 -9
  17. package/dist/src/setup.js.map +1 -1
  18. package/dist/src/skills/recommended.d.ts +75 -0
  19. package/dist/src/skills/recommended.js +291 -0
  20. package/dist/src/skills/recommended.js.map +1 -0
  21. package/dist/src/style/cli-ui.js +4 -3
  22. package/dist/src/style/cli-ui.js.map +1 -1
  23. package/dist/src/telemetry/export.d.ts +24 -0
  24. package/dist/src/telemetry/export.js +264 -0
  25. package/dist/src/telemetry/export.js.map +1 -0
  26. package/dist/src/tui/skill-manager.d.ts +49 -0
  27. package/dist/src/tui/skill-manager.js +133 -0
  28. package/dist/src/tui/skill-manager.js.map +1 -0
  29. package/dist/src/updates/registry.d.ts +1 -0
  30. package/dist/src/updates/registry.js +19 -0
  31. package/dist/src/updates/registry.js.map +1 -1
  32. package/dist/src/updates/update.d.ts +32 -4
  33. package/dist/src/updates/update.js +163 -6
  34. package/dist/src/updates/update.js.map +1 -1
  35. package/dist/src/wizard.js +10 -3
  36. package/dist/src/wizard.js.map +1 -1
  37. package/package.json +4 -3
  38. package/scripts/rebrand-pi.mjs +28 -14
  39. package/skills/core/citation-audit/SKILL.md +9 -9
  40. package/skills/core/evidence-capture/SKILL.md +9 -9
  41. package/skills/core/manifest.json +15 -15
  42. package/skills/core/research-brief/SKILL.md +8 -8
  43. package/skills/core/research-intake/SKILL.md +9 -9
  44. package/skills/recommended/catalog.json +14 -13
package/dist/src/setup.js CHANGED
@@ -128,12 +128,45 @@ function providerToJson(preset) {
128
128
  }
129
129
  function execFileText(file, args) {
130
130
  return new Promise((resolve) => {
131
- execFile(file, [...args], { encoding: "utf8", timeout: 3_000, windowsHide: true }, (error, stdout) => {
131
+ execFile(file, [...args], { encoding: "utf8", timeout: 3_000, maxBuffer: 64 * 1024, windowsHide: true }, (error, stdout) => {
132
132
  const value = error ? "" : stdout.trim();
133
133
  resolve(value || undefined);
134
134
  });
135
135
  });
136
136
  }
137
+ function assertApiKeyEnv(apiKeyEnv) {
138
+ if (!/^[A-Z][A-Z0-9_]{0,127}$/.test(apiKeyEnv))
139
+ throw new Error("Invalid API key environment name");
140
+ }
141
+ export async function readMacOsLaunchctlCredential(apiKeyEnv) {
142
+ assertApiKeyEnv(apiKeyEnv);
143
+ if (process.platform !== "darwin")
144
+ return undefined;
145
+ return execFileText("/bin/launchctl", ["getenv", apiKeyEnv]);
146
+ }
147
+ /** Explicit import only: a login shell may execute user-controlled profile code. */
148
+ export async function readMacOsLoginShellCredential(apiKeyEnv) {
149
+ assertApiKeyEnv(apiKeyEnv);
150
+ if (process.platform !== "darwin")
151
+ return undefined;
152
+ const shell = process.env.SHELL?.trim() || "/bin/zsh";
153
+ if (shell !== "/bin/zsh" && shell !== "/bin/bash")
154
+ throw new Error("Only /bin/zsh and /bin/bash login shells are supported");
155
+ const nonce = randomUUID().replaceAll("-", "");
156
+ const start = `__PSYCLAW_KEY_${nonce}__`;
157
+ const end = `__PSYCLAW_END_${nonce}__`;
158
+ const output = await execFileText(shell, ["-lc", `command printf '${start}%s${end}' "\${${apiKeyEnv}-}"`]);
159
+ if (!output)
160
+ return undefined;
161
+ if (!output.startsWith(start) || !output.endsWith(end)
162
+ || output.indexOf(start, start.length) >= 0 || output.indexOf(end) !== output.length - end.length) {
163
+ throw new Error("Login shell produced unexpected output; import was refused");
164
+ }
165
+ const value = output.slice(start.length, -end.length);
166
+ if (!value || /[\u0000-\u001f\u007f]/u.test(value))
167
+ throw new Error("Login shell credential is empty or contains control characters");
168
+ return value;
169
+ }
137
170
  async function hasStoredCredential(providerId, agentDir) {
138
171
  try {
139
172
  const entry = fileURLToPath(import.meta.resolve("@earendil-works/pi-coding-agent"));
@@ -146,8 +179,7 @@ async function hasStoredCredential(providerId, agentDir) {
146
179
  }
147
180
  /** Detect a provider credential without returning or logging its value. */
148
181
  export async function providerCredentialSource(preset, options = {}) {
149
- if (!/^[A-Z][A-Z0-9_]{0,127}$/.test(preset.apiKeyEnv))
150
- throw new Error("Invalid API key environment name");
182
+ assertApiKeyEnv(preset.apiKeyEnv);
151
183
  if (!/^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$/.test(preset.id))
152
184
  throw new Error("Invalid provider id");
153
185
  const processValue = process.env[preset.apiKeyEnv]?.trim();
@@ -288,14 +320,16 @@ function providerConfig(input) {
288
320
  export async function saveProviderConfig(input, options = {}) {
289
321
  const agentDir = options.agentDir ?? getAgentDir();
290
322
  const modelsPath = join(agentDir, "models.json");
323
+ assertApiKeyEnv(input.apiKeyEnv);
291
324
  await mkdir(agentDir, { recursive: true });
292
- if (input.apiKey?.trim()) {
325
+ const apiKey = input.apiKey?.trim();
326
+ if (apiKey) {
293
327
  // AuthStorage is intentionally not part of Pi's public root export. Resolve
294
328
  // the locked runtime's implementation without reading or logging secrets.
295
329
  const entry = fileURLToPath(import.meta.resolve("@earendil-works/pi-coding-agent"));
296
330
  const { AuthStorage } = await import(pathToFileURL(join(dirname(entry), "core", "auth-storage.js")).href);
297
331
  const auth = AuthStorage.create(join(agentDir, "auth.json"));
298
- await auth.modify(input.id, async () => ({ type: "api_key", key: input.apiKey.trim() }));
332
+ await auth.modify(input.id, async () => ({ type: "api_key", key: apiKey }));
299
333
  }
300
334
  await withModelsLock(modelsPath, async () => {
301
335
  const existing = await readProviderCatalog(modelsPath);
@@ -328,7 +362,7 @@ export async function setupProviders(options = {}) {
328
362
  });
329
363
  return { path: modelsPath, providers: Object.keys(providers) };
330
364
  }
331
- /** Whether any provider has been written to `models.json` yet. */
365
+ /** Whether a custom or built-in provider is ready for an interactive launch. */
332
366
  export async function hasConfiguredProvider(options = {}) {
333
367
  const agentDir = options.agentDir ?? getAgentDir();
334
368
  const modelsPath = join(agentDir, "models.json");
@@ -337,13 +371,21 @@ export async function hasConfiguredProvider(options = {}) {
337
371
  if (!parsed || typeof parsed !== "object" || Array.isArray(parsed))
338
372
  return false;
339
373
  const providers = parsed.providers;
340
- return providers !== undefined &&
374
+ if (providers !== undefined &&
341
375
  typeof providers === "object" &&
342
376
  !Array.isArray(providers) &&
343
- Object.keys(providers).length > 0;
377
+ Object.keys(providers).length > 0)
378
+ return true;
344
379
  }
345
380
  catch {
346
- return false;
381
+ // Built-in providers do not require models.json.
382
+ }
383
+ for (const preset of PROVIDER_PRESETS) {
384
+ if (preset.id === "custom" || preset.id === "ollama")
385
+ continue;
386
+ if (await providerCredentialSource(preset, { agentDir }) !== "missing")
387
+ return true;
347
388
  }
389
+ return false;
348
390
  }
349
391
  //# sourceMappingURL=setup.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/setup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/setup.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,75 @@
1
+ export declare const RECOMMENDED_SKILL_ALIASES: Readonly<Record<string, string>>;
2
+ export interface RecommendationState {
3
+ schemaVersion: "psyclaw/recommendation-state/v1";
4
+ skills: string[];
5
+ mcp: string[];
6
+ skillSources?: Record<string, string>;
7
+ }
8
+ export interface RecommendedCatalogItem {
9
+ id: string;
10
+ name: string;
11
+ kind: string;
12
+ sourceRef?: string;
13
+ [key: string]: unknown;
14
+ }
15
+ export interface RecommendedInstallPlan {
16
+ id: string;
17
+ sourceKind: string;
18
+ sourceUrl?: string;
19
+ ref: string | null;
20
+ skillPath?: string;
21
+ skillName?: string;
22
+ license: string;
23
+ dependencies: string[];
24
+ status: string;
25
+ blockedReason?: string;
26
+ [key: string]: unknown;
27
+ }
28
+ export interface RecommendedCatalog {
29
+ schemaVersion: "psyclaw/recommended-skills/v1";
30
+ documentVersion: string;
31
+ items: RecommendedCatalogItem[];
32
+ installPrep: RecommendedInstallPlan[];
33
+ }
34
+ export interface RecommendedInstallManifest {
35
+ schemaVersion: "psyclaw/recommended-skill-install/v1";
36
+ id: string;
37
+ skillName: string;
38
+ source: {
39
+ kind: "git";
40
+ url: string;
41
+ ref: string;
42
+ path: string;
43
+ };
44
+ license: {
45
+ spdx: string;
46
+ evidence: string;
47
+ sha256: string;
48
+ };
49
+ skillSha256: string;
50
+ dependencies: string[];
51
+ installedAt: string;
52
+ }
53
+ export interface RecommendedInstallResult {
54
+ id: string;
55
+ skillName: string;
56
+ path: string;
57
+ manifestPath: string;
58
+ installed: boolean;
59
+ }
60
+ export interface EnabledSkillPaths {
61
+ paths: string[];
62
+ warnings: string[];
63
+ }
64
+ export declare function normalizeRecommendedSkillId(id: string): string;
65
+ export declare function readRecommendationState(root: string): Promise<RecommendationState>;
66
+ export declare function saveRecommendationState(root: string, state: RecommendationState): Promise<void>;
67
+ export declare function readRecommendedCatalog(): Promise<RecommendedCatalog>;
68
+ export declare function validateInstalledRecommendedSkill(root: string, requestedId: string): Promise<{
69
+ id: string;
70
+ skillName: string;
71
+ path: string;
72
+ }>;
73
+ export declare function installRecommendedSkill(root: string, requestedId: string, now?: () => string): Promise<RecommendedInstallResult>;
74
+ export declare function enabledRecommendedSkillPaths(root: string): Promise<EnabledSkillPaths>;
75
+ export declare function coreSkillNames(): string[];
@@ -0,0 +1,291 @@
1
+ import { createHash, randomUUID } from "node:crypto";
2
+ import { execFile } from "node:child_process";
3
+ import { copyFile, lstat, mkdir, mkdtemp, readFile, readdir, realpath, rename, rm, } from "node:fs/promises";
4
+ import { tmpdir } from "node:os";
5
+ import { basename, dirname, join, relative, resolve } from "node:path";
6
+ import { promisify } from "node:util";
7
+ import { fileURLToPath } from "node:url";
8
+ import { parse as parseYaml } from "yaml";
9
+ import { atomicWriteFile } from "../project/jsonl.js";
10
+ const execFileAsync = promisify(execFile);
11
+ const INSTALL_MANIFEST = "psyclaw-install.json";
12
+ const SHA256_RE = /^[a-f0-9]{40}$/i;
13
+ const CONTENT_SHA256_RE = /^[a-f0-9]{64}$/i;
14
+ const CORE_SKILLS = new Set(["research-intake", "evidence-capture", "citation-audit", "research-brief"]);
15
+ export const RECOMMENDED_SKILL_ALIASES = Object.freeze({
16
+ "markitdown-pro": "markitdown-bilibili",
17
+ });
18
+ function isRecord(value) {
19
+ return typeof value === "object" && value !== null && !Array.isArray(value);
20
+ }
21
+ function hash(bytes) {
22
+ return createHash("sha256").update(bytes).digest("hex");
23
+ }
24
+ function normalizedId(id) {
25
+ const value = id.trim();
26
+ return RECOMMENDED_SKILL_ALIASES[value] ?? value;
27
+ }
28
+ export function normalizeRecommendedSkillId(id) {
29
+ return normalizedId(id);
30
+ }
31
+ function recommendationStatePath(root) {
32
+ return join(resolve(root), ".psyclaw", "recommendations.json");
33
+ }
34
+ export async function readRecommendationState(root) {
35
+ try {
36
+ const value = JSON.parse(await readFile(recommendationStatePath(root), "utf8"));
37
+ if (!isRecord(value))
38
+ throw new Error("invalid state");
39
+ const skills = Array.isArray(value.skills)
40
+ ? value.skills.filter((id) => typeof id === "string").map(normalizedId)
41
+ : [];
42
+ const mcp = Array.isArray(value.mcp) ? value.mcp.filter((id) => typeof id === "string") : [];
43
+ const skillSources = isRecord(value.skillSources)
44
+ ? Object.fromEntries(Object.entries(value.skillSources).filter((entry) => typeof entry[1] === "string"))
45
+ : undefined;
46
+ return {
47
+ schemaVersion: "psyclaw/recommendation-state/v1",
48
+ skills: [...new Set(skills)].sort(),
49
+ mcp: [...new Set(mcp)].sort(),
50
+ ...(skillSources === undefined ? {} : { skillSources }),
51
+ };
52
+ }
53
+ catch {
54
+ return { schemaVersion: "psyclaw/recommendation-state/v1", skills: [], mcp: [] };
55
+ }
56
+ }
57
+ export async function saveRecommendationState(root, state) {
58
+ const path = recommendationStatePath(root);
59
+ await mkdir(dirname(path), { recursive: true });
60
+ await atomicWriteFile(path, `${JSON.stringify({
61
+ schemaVersion: "psyclaw/recommendation-state/v1",
62
+ skills: [...new Set(state.skills.map(normalizedId))].sort(),
63
+ mcp: [...new Set(state.mcp)].sort(),
64
+ ...(state.skillSources === undefined ? {} : { skillSources: state.skillSources }),
65
+ }, null, 2)}\n`);
66
+ }
67
+ function catalogCandidates() {
68
+ const moduleDir = dirname(fileURLToPath(import.meta.url));
69
+ return [
70
+ join(moduleDir, "..", "..", "..", "skills", "recommended", "catalog.json"),
71
+ join(moduleDir, "..", "..", "skills", "recommended", "catalog.json"),
72
+ join(process.cwd(), "skills", "recommended", "catalog.json"),
73
+ ];
74
+ }
75
+ export async function readRecommendedCatalog() {
76
+ for (const path of catalogCandidates()) {
77
+ try {
78
+ const value = JSON.parse(await readFile(path, "utf8"));
79
+ if (!isRecord(value) || value.schemaVersion !== "psyclaw/recommended-skills/v1" ||
80
+ !Array.isArray(value.items) || !Array.isArray(value.installPrep))
81
+ continue;
82
+ return value;
83
+ }
84
+ catch { /* try the next package/source layout */ }
85
+ }
86
+ throw new Error("Recommended Skill catalog is unavailable");
87
+ }
88
+ function parseSkillName(text) {
89
+ const match = text.replace(/^\uFEFF/, "").match(/^---[ \t]*\r?\n([\s\S]*?)\r?\n(?:---|\.\.\.)[ \t]*(?:\r?\n|$)/);
90
+ if (!match?.[1])
91
+ throw new Error("SKILL.md must start with YAML frontmatter");
92
+ const metadata = parseYaml(match[1]);
93
+ if (!isRecord(metadata) || typeof metadata.name !== "string" || !metadata.name.trim()) {
94
+ throw new Error("SKILL.md frontmatter requires a name");
95
+ }
96
+ return metadata.name.trim();
97
+ }
98
+ function assertContained(root, target) {
99
+ const rel = relative(root, target).replaceAll("\\", "/");
100
+ if (rel === ".." || rel.startsWith("../") || rel.startsWith("/"))
101
+ throw new Error("Skill path escapes its source root");
102
+ }
103
+ function safeSegment(value) {
104
+ return value.length > 0 && value.length <= 128 && !value.includes("/") && !value.includes("\\") &&
105
+ value !== "." && value !== ".." && /^[A-Za-z0-9._-]+$/.test(value);
106
+ }
107
+ function isSensitiveName(name) {
108
+ const lower = name.toLowerCase();
109
+ return lower === ".git" || lower === ".env" || lower.startsWith(".env.") ||
110
+ /(?:credential|secret|token|cookie|password|private[-_]?key)/i.test(lower) ||
111
+ lower.endsWith(".pem") || lower.endsWith(".key");
112
+ }
113
+ async function copySkillTree(source, target) {
114
+ await mkdir(target, { recursive: false });
115
+ for (const entry of await readdir(source, { withFileTypes: true })) {
116
+ if (isSensitiveName(entry.name))
117
+ continue;
118
+ const from = join(source, entry.name);
119
+ const to = join(target, entry.name);
120
+ if (entry.isSymbolicLink())
121
+ throw new Error(`Symlink is not allowed in recommended Skill: ${entry.name}`);
122
+ if (entry.isDirectory())
123
+ await copySkillTree(from, to);
124
+ else if (entry.isFile()) {
125
+ const stat = await lstat(from);
126
+ if (stat.size > 16 * 1024 * 1024)
127
+ throw new Error(`Skill file exceeds 16 MiB: ${entry.name}`);
128
+ await copyFile(from, to);
129
+ }
130
+ }
131
+ }
132
+ async function findLicense(repoRoot) {
133
+ const entry = (await readdir(repoRoot, { withFileTypes: true }))
134
+ .find((candidate) => candidate.isFile() && /^(license|copying)(?:\.|$)/i.test(candidate.name));
135
+ if (!entry)
136
+ throw new Error("Repository license file is missing");
137
+ return join(repoRoot, entry.name);
138
+ }
139
+ async function runGit(args) {
140
+ await execFileAsync("git", args, { maxBuffer: 4 * 1024 * 1024 });
141
+ }
142
+ function installPlan(catalog, requestedId) {
143
+ const id = normalizedId(requestedId);
144
+ const item = catalog.items.find((candidate) => normalizedId(candidate.id) === id);
145
+ const plan = catalog.installPrep.find((candidate) => normalizedId(candidate.id) === id);
146
+ if (!item || !plan)
147
+ throw new Error(`Recommended Skill not found: ${requestedId}`);
148
+ if (item.kind !== "skill")
149
+ throw new Error(`Recommended item is not an installable Skill: ${requestedId}`);
150
+ if (plan.sourceKind !== "github" || typeof plan.sourceUrl !== "string" || !plan.sourceUrl.startsWith("https://github.com/")) {
151
+ throw new Error(`Recommended Skill has no approved GitHub source: ${id}`);
152
+ }
153
+ if (typeof plan.ref !== "string" || !SHA256_RE.test(plan.ref))
154
+ throw new Error(`Recommended Skill source is not pinned: ${id}`);
155
+ if (typeof plan.skillPath !== "string" || typeof plan.skillName !== "string" || !safeSegment(plan.skillName)) {
156
+ throw new Error(`Recommended Skill entrypoint is not declared: ${id}`);
157
+ }
158
+ if (!plan.license || ["unknown", "NOASSERTION"].includes(plan.license))
159
+ throw new Error(`Recommended Skill license is not approved: ${id}`);
160
+ return { item, plan };
161
+ }
162
+ function importsRoot(root) {
163
+ return join(resolve(root), ".psyclaw", "imports", "recommended");
164
+ }
165
+ async function readInstallManifest(path) {
166
+ const value = JSON.parse(await readFile(path, "utf8"));
167
+ if (!isRecord(value) || value.schemaVersion !== "psyclaw/recommended-skill-install/v1" ||
168
+ typeof value.id !== "string" || typeof value.skillName !== "string" ||
169
+ !isRecord(value.source) || typeof value.source.url !== "string" || typeof value.source.ref !== "string" || typeof value.source.path !== "string" ||
170
+ !isRecord(value.license) || typeof value.license.spdx !== "string" || typeof value.license.evidence !== "string" || typeof value.license.sha256 !== "string" ||
171
+ typeof value.skillSha256 !== "string" || !Array.isArray(value.dependencies) || typeof value.installedAt !== "string") {
172
+ throw new Error("Recommended Skill install manifest is invalid");
173
+ }
174
+ return value;
175
+ }
176
+ export async function validateInstalledRecommendedSkill(root, requestedId) {
177
+ const catalog = await readRecommendedCatalog();
178
+ const { plan } = installPlan(catalog, requestedId);
179
+ const id = normalizedId(requestedId);
180
+ const target = join(importsRoot(root), plan.skillName);
181
+ const stat = await lstat(target).catch(() => undefined);
182
+ if (!stat?.isDirectory() || stat.isSymbolicLink())
183
+ throw new Error(`Recommended Skill is not installed: ${id}; run /install skill ${id}`);
184
+ const manifest = await readInstallManifest(join(target, INSTALL_MANIFEST));
185
+ if (manifest.id !== id || manifest.skillName !== plan.skillName || manifest.source.ref !== plan.ref || manifest.source.url !== plan.sourceUrl) {
186
+ throw new Error(`Recommended Skill install manifest does not match the catalog: ${id}`);
187
+ }
188
+ const skillPath = join(target, "SKILL.md");
189
+ const skillBytes = await readFile(skillPath);
190
+ const skillName = parseSkillName(skillBytes.toString("utf8"));
191
+ if (skillName !== plan.skillName || manifest.skillSha256 !== hash(skillBytes))
192
+ throw new Error(`Recommended Skill content changed after installation: ${id}`);
193
+ if (!CONTENT_SHA256_RE.test(manifest.license.sha256) || manifest.license.spdx !== plan.license)
194
+ throw new Error(`Recommended Skill license record is invalid: ${id}`);
195
+ const licenseBytes = await readFile(join(target, manifest.license.evidence));
196
+ if (hash(licenseBytes) !== manifest.license.sha256)
197
+ throw new Error(`Recommended Skill license evidence changed: ${id}`);
198
+ try {
199
+ await lstat(join(target, ".git"));
200
+ throw new Error(`Recommended Skill contains nested Git metadata: ${id}`);
201
+ }
202
+ catch (error) {
203
+ if (error.code !== "ENOENT")
204
+ throw error;
205
+ }
206
+ return { id, skillName, path: target };
207
+ }
208
+ export async function installRecommendedSkill(root, requestedId, now = () => new Date().toISOString()) {
209
+ const catalog = await readRecommendedCatalog();
210
+ const { plan } = installPlan(catalog, requestedId);
211
+ const id = normalizedId(requestedId);
212
+ const destinationRoot = importsRoot(root);
213
+ const target = join(destinationRoot, plan.skillName);
214
+ await mkdir(destinationRoot, { recursive: true });
215
+ try {
216
+ const installed = await validateInstalledRecommendedSkill(root, id);
217
+ return { ...installed, manifestPath: join(installed.path, INSTALL_MANIFEST), installed: false };
218
+ }
219
+ catch (error) {
220
+ const stat = await lstat(target).catch(() => undefined);
221
+ if (stat !== undefined)
222
+ throw new Error(`Recommended Skill target already exists but is not a valid managed install: ${target}; remove or rename it before retrying`, { cause: error });
223
+ }
224
+ const temporary = await mkdtemp(join(tmpdir(), "psyclaw-skill-install-"));
225
+ const repo = join(temporary, "repo");
226
+ const staging = join(destinationRoot, `.staging-${plan.skillName}-${randomUUID()}`);
227
+ try {
228
+ await runGit(["clone", "--quiet", "--filter=blob:none", "--no-checkout", plan.sourceUrl, repo]);
229
+ await runGit(["-C", repo, "checkout", "--quiet", plan.ref]);
230
+ const source = resolve(repo, plan.skillPath);
231
+ assertContained(repo, source);
232
+ const sourceReal = await realpath(source);
233
+ assertContained(await realpath(repo), sourceReal);
234
+ const skillBytes = await readFile(join(sourceReal, "SKILL.md"));
235
+ const skillName = parseSkillName(skillBytes.toString("utf8"));
236
+ if (skillName !== plan.skillName)
237
+ throw new Error(`Catalog Skill name '${plan.skillName}' does not match '${skillName}'`);
238
+ await copySkillTree(sourceReal, staging);
239
+ const licenseSource = await findLicense(repo);
240
+ const licenseName = basename(licenseSource);
241
+ if (resolve(licenseSource) !== resolve(join(sourceReal, licenseName)))
242
+ await copyFile(licenseSource, join(staging, licenseName));
243
+ const licenseBytes = await readFile(join(staging, licenseName));
244
+ const manifest = {
245
+ schemaVersion: "psyclaw/recommended-skill-install/v1",
246
+ id,
247
+ skillName,
248
+ source: { kind: "git", url: plan.sourceUrl, ref: plan.ref, path: plan.skillPath },
249
+ license: { spdx: plan.license, evidence: licenseName, sha256: hash(licenseBytes) },
250
+ skillSha256: hash(skillBytes),
251
+ dependencies: Array.isArray(plan.dependencies) ? plan.dependencies.filter((value) => typeof value === "string") : [],
252
+ installedAt: now(),
253
+ };
254
+ await atomicWriteFile(join(staging, INSTALL_MANIFEST), `${JSON.stringify(manifest, null, 2)}\n`);
255
+ await rename(staging, target);
256
+ return { id, skillName, path: target, manifestPath: join(target, INSTALL_MANIFEST), installed: true };
257
+ }
258
+ finally {
259
+ await rm(staging, { recursive: true, force: true }).catch(() => undefined);
260
+ await rm(temporary, { recursive: true, force: true }).catch(() => undefined);
261
+ }
262
+ }
263
+ export async function enabledRecommendedSkillPaths(root) {
264
+ const state = await readRecommendationState(root);
265
+ const paths = [];
266
+ const warnings = [];
267
+ const seenNames = new Set();
268
+ for (const requestedId of state.skills) {
269
+ try {
270
+ const installed = await validateInstalledRecommendedSkill(root, requestedId);
271
+ if (CORE_SKILLS.has(installed.skillName) && state.skillSources?.[installed.skillName] !== `recommended:${installed.id}`) {
272
+ warnings.push(`Skill '${installed.skillName}' conflicts with a PsyClaw core Skill; core remains active. Rename it or explicitly select recommended:${installed.id}.`);
273
+ continue;
274
+ }
275
+ if (seenNames.has(installed.skillName)) {
276
+ warnings.push(`Skill '${installed.skillName}' has multiple enabled sources; only the first verified source is loaded.`);
277
+ continue;
278
+ }
279
+ seenNames.add(installed.skillName);
280
+ paths.push(installed.path);
281
+ }
282
+ catch (error) {
283
+ warnings.push(error instanceof Error ? error.message : String(error));
284
+ }
285
+ }
286
+ return { paths, warnings };
287
+ }
288
+ export function coreSkillNames() {
289
+ return [...CORE_SKILLS].sort();
290
+ }
291
+ //# sourceMappingURL=recommended.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recommended.js","sourceRoot":"","sources":["../../../src/skills/recommended.ts"],"names":[],"mappings":"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"}
@@ -61,8 +61,8 @@ export function formatCliUsage() {
61
61
  "",
62
62
  ` ${c.bold(c.cyan("🚀 核心交互 (Interactive & Chat)"))}`,
63
63
  cmd("psyclaw [chat]", "[pi args...]", c.white("启动交互研究智能体 (默认入口)")),
64
- cmd("psyclaw wizard", "", c.white("首次使用提供商配置向导")),
65
- cmd("psyclaw setup", "[--provider deepseek|...]", c.white("配置模型提供商与 API Key")),
64
+ cmd("psyclaw wizard", "", c.white("配置 Provider、模型与 API Key")),
65
+ cmd("psyclaw setup", "[--provider deepseek|...]", c.white("写入 Provider 环境变量引用")),
66
66
  "",
67
67
  ` ${c.bold(c.cyan("🎯 课题生命周期 (Project Lifecycle)"))}`,
68
68
  cmd("psyclaw init", "<goal> [--paradigm <id>]", c.white("创建社科研究课题项目")),
@@ -84,7 +84,8 @@ export function formatCliUsage() {
84
84
  cmd("psyclaw install", "<agent-id> [--yes]", c.white("安装受信任扩展与技能")),
85
85
  cmd("psyclaw import", "<agent-id> [--yes]", c.white("导入外部智能体技能")),
86
86
  cmd("psyclaw check-updates", "", c.white("检查运行时与生态更新报告")),
87
- cmd("psyclaw update", "[--yes] [--force]", c.white("升级底层 Pi 运行时")),
87
+ cmd("psyclaw update", "[--check] [--force]", c.white("升级 PsyClaw 及其内置 Pi(默认直接更新)")),
88
+ cmd("psyclaw traces export", "[--output <path>]", c.white("导出脱敏 OTLP 使用路径(Langfuse/LangSmith)")),
88
89
  "",
89
90
  ` ${c.darkGray("──────────────────────────────────────────────────────────")}`,
90
91
  ` ${c.gray("文档与源码:")} ${c.cyan(c.underline("https://github.com/Exekiel179/psyclaw"))}`,
@@ -1 +1 @@
1
- {"version":3,"file":"cli-ui.js","sourceRoot":"","sources":["../../../src/style/cli-ui.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli-ui.js","sourceRoot":"","sources":["../../../src/style/cli-ui.ts"],"names":[],"mappings":"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"}