psyclaw 0.27.6 → 0.27.12
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 +17 -14
- package/dist/apps/panel/index.html +11 -11
- package/dist/src/adapters/pi/extension.js +593 -101
- package/dist/src/adapters/pi/extension.js.map +1 -1
- package/dist/src/agents/import.js +2 -1
- package/dist/src/agents/import.js.map +1 -1
- package/dist/src/analysis/hooks.d.ts +19 -2
- package/dist/src/analysis/hooks.js +48 -7
- package/dist/src/analysis/hooks.js.map +1 -1
- package/dist/src/branding.d.ts +2 -2
- package/dist/src/branding.js +2 -2
- package/dist/src/branding.js.map +1 -1
- package/dist/src/chat.js +5 -2
- package/dist/src/chat.js.map +1 -1
- package/dist/src/cli.js +21 -6
- package/dist/src/cli.js.map +1 -1
- package/dist/src/index.d.ts +2 -0
- package/dist/src/index.js +2 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/install/installer.js +3 -0
- package/dist/src/install/installer.js.map +1 -1
- package/dist/src/integrations/mcp-runtime.d.ts +13 -0
- package/dist/src/integrations/mcp-runtime.js +48 -0
- package/dist/src/integrations/mcp-runtime.js.map +1 -1
- package/dist/src/orchestration/runner.js +1 -0
- package/dist/src/orchestration/runner.js.map +1 -1
- package/dist/src/panel/events.d.ts +2 -1
- package/dist/src/panel/events.js +2 -5
- package/dist/src/panel/events.js.map +1 -1
- package/dist/src/panel/server.js +44 -18
- package/dist/src/panel/server.js.map +1 -1
- package/dist/src/project/approvals.d.ts +50 -0
- package/dist/src/project/approvals.js +62 -0
- package/dist/src/project/approvals.js.map +1 -0
- package/dist/src/project/bootstrap.d.ts +17 -0
- package/dist/src/project/bootstrap.js +87 -1
- package/dist/src/project/bootstrap.js.map +1 -1
- package/dist/src/project/paths.js +5 -2
- package/dist/src/project/paths.js.map +1 -1
- package/dist/src/research/ledger.d.ts +3 -2
- package/dist/src/research/ledger.js +47 -2
- package/dist/src/research/ledger.js.map +1 -1
- package/dist/src/skills/user-skills.d.ts +65 -0
- package/dist/src/skills/user-skills.js +340 -0
- package/dist/src/skills/user-skills.js.map +1 -0
- package/dist/src/style/cli-ui.js +19 -30
- package/dist/src/style/cli-ui.js.map +1 -1
- package/dist/src/telemetry/export.d.ts +8 -6
- package/dist/src/telemetry/export.js +81 -18
- package/dist/src/telemetry/export.js.map +1 -1
- package/dist/src/tui/provider-picker.d.ts +2 -0
- package/dist/src/tui/provider-picker.js +10 -0
- package/dist/src/tui/provider-picker.js.map +1 -1
- package/dist/src/tui/skill-manager.d.ts +3 -0
- package/dist/src/tui/skill-manager.js +11 -1
- package/dist/src/tui/skill-manager.js.map +1 -1
- package/dist/src/updates/update.js +10 -17
- package/dist/src/updates/update.js.map +1 -1
- package/dist/src/wizard.js +22 -8
- package/dist/src/wizard.js.map +1 -1
- package/dist/src/workflows/analysis-delegation.js +2 -2
- package/dist/src/workflows/analysis-delegation.js.map +1 -1
- package/package.json +2 -2
- package/scripts/rebrand-pi.mjs +94 -4
package/dist/src/wizard.js
CHANGED
|
@@ -23,6 +23,7 @@ function Wizard({ onDone }) {
|
|
|
23
23
|
const [apiKey, setApiKey] = useState("");
|
|
24
24
|
const [credentialSource, setCredentialSource] = useState("checking");
|
|
25
25
|
const [credentialError, setCredentialError] = useState("");
|
|
26
|
+
const [saving, setSaving] = useState(false);
|
|
26
27
|
const provider = wizardProviders[providerIndex];
|
|
27
28
|
const model = provider?.models[modelIndex];
|
|
28
29
|
const apiKeyEnv = provider?.apiKeyEnv ?? "";
|
|
@@ -31,18 +32,31 @@ function Wizard({ onDone }) {
|
|
|
31
32
|
let active = true;
|
|
32
33
|
setCredentialSource("checking");
|
|
33
34
|
if (provider)
|
|
34
|
-
void providerCredentialSource(provider)
|
|
35
|
-
|
|
35
|
+
void providerCredentialSource(provider)
|
|
36
|
+
.then((source) => { if (active)
|
|
37
|
+
setCredentialSource(source); })
|
|
38
|
+
.catch(() => { if (active)
|
|
39
|
+
setCredentialSource("missing"); });
|
|
36
40
|
return () => { active = false; };
|
|
37
41
|
}, [provider]);
|
|
38
42
|
useEffect(() => {
|
|
39
43
|
setApiKey("");
|
|
40
44
|
}, [providerIndex]);
|
|
41
45
|
const writeConfig = async () => {
|
|
42
|
-
if (!provider)
|
|
46
|
+
if (!provider || saving)
|
|
43
47
|
return;
|
|
44
|
-
|
|
45
|
-
|
|
48
|
+
setSaving(true);
|
|
49
|
+
setCredentialError("");
|
|
50
|
+
try {
|
|
51
|
+
await saveProviderConfig({ ...provider, ...(apiKey.trim() ? { apiKey: apiKey.trim() } : {}) });
|
|
52
|
+
setStep("done");
|
|
53
|
+
}
|
|
54
|
+
catch (error) {
|
|
55
|
+
setCredentialError(error instanceof Error ? error.message : "Provider 配置保存失败");
|
|
56
|
+
}
|
|
57
|
+
finally {
|
|
58
|
+
setSaving(false);
|
|
59
|
+
}
|
|
46
60
|
};
|
|
47
61
|
useInput((input, key) => {
|
|
48
62
|
if (input === "q" && step !== "done" && step !== "credential") {
|
|
@@ -89,9 +103,9 @@ function Wizard({ onDone }) {
|
|
|
89
103
|
setApiKey((value) => value + input.replace(/[\r\n]/g, ""));
|
|
90
104
|
break;
|
|
91
105
|
case "confirm":
|
|
92
|
-
if (key.return)
|
|
106
|
+
if (key.return && !saving)
|
|
93
107
|
void writeConfig();
|
|
94
|
-
if (key.escape)
|
|
108
|
+
if (key.escape && !saving)
|
|
95
109
|
setStep("provider");
|
|
96
110
|
break;
|
|
97
111
|
case "done":
|
|
@@ -107,7 +121,7 @@ function Wizard({ onDone }) {
|
|
|
107
121
|
});
|
|
108
122
|
const providerLines = wizardProviders.map((preset) => `${preset.name.padEnd(20)} (环境变量: $${preset.apiKeyEnv})`);
|
|
109
123
|
const modelLines = provider ? provider.models.map((entry) => `${entry.name.padEnd(26)} [${entry.id}]`) : [];
|
|
110
|
-
return (_jsxs(Box, { borderStyle: "round", borderColor: PSYCLAW_ACCENT, paddingX: 2, paddingY: 1, flexDirection: "column", children: [_jsx(Banner, {}), step === "welcome" && (_jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { bold: true, children: "\u6B22\u8FCE\u4F7F\u7528 PsyClaw\uFF01" }), _jsx(Text, { dimColor: true, children: "\u9996\u6B21\u8FD0\u884C\u9700\u914D\u7F6E\u4E00\u4E2A\u6A21\u578B\u63D0\u4F9B\u5546\uFF08API Key \u7531\u672C\u5730\u73AF\u5883\u53D8\u91CF\u5B89\u5168\u7BA1\u7406\uFF0C\u7EDD\u4E0D\u4E0A\u62A5\uFF09\u3002" }), _jsx(Hint, { children: "[Enter] \u5F00\u59CB\u914D\u7F6E \u00B7 [Q] \u9000\u51FA" })] })), step === "provider" && (_jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { bold: true, color: PSYCLAW_ACCENT, children: "[1/4] \u9009\u62E9\u6A21\u578B\u63D0\u4F9B\u5546 (Provider)" }), _jsx(Selectable, { lines: providerLines, selected: providerIndex }), _jsx(Hint, { children: "[\u2191/\u2193] \u79FB\u52A8\u5149\u6807 \u00B7 [Enter] \u786E\u8BA4\u9009\u62E9 \u00B7 [Q] \u9000\u51FA" })] })), step === "model" && (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Text, { bold: true, color: PSYCLAW_ACCENT, children: ["[2/4] \u9009\u62E9\u9ED8\u8BA4\u6A21\u578B (", provider?.name, ")"] }), _jsx(Selectable, { lines: modelLines, selected: modelIndex }), _jsx(Hint, { children: "[\u2191/\u2193] \u79FB\u52A8\u5149\u6807 \u00B7 [Enter] \u786E\u8BA4\u9009\u62E9 \u00B7 [Q] \u9000\u51FA" })] })), step === "confirm" && (_jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { bold: true, color: PSYCLAW_ACCENT, children: "[4/4] \u786E\u8BA4\u914D\u7F6E\u5E76\u5199\u5165" }), _jsxs(Box, { flexDirection: "column", marginY: 1, children: [_jsxs(Text, { children: ["\u2022 \u63D0\u4F9B\u5546: ", _jsx(Text, { color: PSYCLAW_ACCENT, bold: true, children: provider?.name })] }), _jsxs(Text, { children: ["\u2022 \u6A21 \u578B: ", _jsx(Text, { color: PSYCLAW_ACCENT, bold: true, children: model?.name }), " ", _jsxs(Text, { dimColor: true, children: ["(", model?.id, ")"] })] }), _jsxs(Text, { color: keyConfigured || apiKey.trim() ? PSYCLAW_OK : PSYCLAW_ERROR, bold: true, children: ["\u2022 API Key: ", apiKey.trim() ? "✔ 将保存到用户级凭据文件 auth.json" : `✔ 已检测到 (${credentialSource})`] })] }), _jsx(Hint, { children: "[Enter]
|
|
124
|
+
return (_jsxs(Box, { borderStyle: "round", borderColor: PSYCLAW_ACCENT, paddingX: 2, paddingY: 1, flexDirection: "column", children: [_jsx(Banner, {}), step === "welcome" && (_jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { bold: true, children: "\u6B22\u8FCE\u4F7F\u7528 PsyClaw\uFF01" }), _jsx(Text, { dimColor: true, children: "\u9996\u6B21\u8FD0\u884C\u9700\u914D\u7F6E\u4E00\u4E2A\u6A21\u578B\u63D0\u4F9B\u5546\uFF08API Key \u7531\u672C\u5730\u73AF\u5883\u53D8\u91CF\u5B89\u5168\u7BA1\u7406\uFF0C\u7EDD\u4E0D\u4E0A\u62A5\uFF09\u3002" }), _jsx(Hint, { children: "[Enter] \u5F00\u59CB\u914D\u7F6E \u00B7 [Q] \u9000\u51FA" })] })), step === "provider" && (_jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { bold: true, color: PSYCLAW_ACCENT, children: "[1/4] \u9009\u62E9\u6A21\u578B\u63D0\u4F9B\u5546 (Provider)" }), _jsx(Selectable, { lines: providerLines, selected: providerIndex }), _jsx(Hint, { children: "[\u2191/\u2193] \u79FB\u52A8\u5149\u6807 \u00B7 [Enter] \u786E\u8BA4\u9009\u62E9 \u00B7 [Q] \u9000\u51FA" })] })), step === "model" && (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Text, { bold: true, color: PSYCLAW_ACCENT, children: ["[2/4] \u9009\u62E9\u9ED8\u8BA4\u6A21\u578B (", provider?.name, ")"] }), _jsx(Selectable, { lines: modelLines, selected: modelIndex }), _jsx(Hint, { children: "[\u2191/\u2193] \u79FB\u52A8\u5149\u6807 \u00B7 [Enter] \u786E\u8BA4\u9009\u62E9 \u00B7 [Q] \u9000\u51FA" })] })), step === "confirm" && (_jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { bold: true, color: PSYCLAW_ACCENT, children: "[4/4] \u786E\u8BA4\u914D\u7F6E\u5E76\u5199\u5165" }), _jsxs(Box, { flexDirection: "column", marginY: 1, children: [_jsxs(Text, { children: ["\u2022 \u63D0\u4F9B\u5546: ", _jsx(Text, { color: PSYCLAW_ACCENT, bold: true, children: provider?.name })] }), _jsxs(Text, { children: ["\u2022 \u6A21 \u578B: ", _jsx(Text, { color: PSYCLAW_ACCENT, bold: true, children: model?.name }), " ", _jsxs(Text, { dimColor: true, children: ["(", model?.id, ")"] })] }), _jsxs(Text, { color: keyConfigured || apiKey.trim() ? PSYCLAW_OK : PSYCLAW_ERROR, bold: true, children: ["\u2022 API Key: ", apiKey.trim() ? "✔ 将保存到用户级凭据文件 auth.json" : `✔ 已检测到 (${credentialSource})`] })] }), credentialError && _jsx(Text, { color: PSYCLAW_ERROR, children: credentialError }), _jsx(Hint, { children: saving ? "正在保存配置…" : "[Enter] 保存并启动对话 · [Esc] 返回上一步 · [Q] 退出" })] })), step === "credential" && (_jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { bold: true, color: PSYCLAW_ACCENT, children: "[3/4] \u914D\u7F6E API Key" }), _jsx(Text, { dimColor: true, children: "\u5DF2\u68C0\u67E5\u5F53\u524D\u8FDB\u7A0B\u3001macOS launchctl \u4E0E\u7528\u6237\u51ED\u636E\u5B58\u50A8\u3002" }), _jsxs(Box, { marginY: 1, children: [_jsx(Text, { children: "Key: " }), _jsx(Text, { color: PSYCLAW_ACCENT, children: apiKey ? "•".repeat(Math.min(apiKey.length, 48)) : keyConfigured ? "已检测到,可直接继续" : "请输入 API Key" })] }), !keyConfigured && !apiKey.trim() && _jsxs(Text, { color: PSYCLAW_ERROR, children: ["\u672A\u68C0\u6D4B\u5230 $", apiKeyEnv] }), credentialError && _jsx(Text, { color: PSYCLAW_ERROR, children: credentialError }), _jsxs(Hint, { children: ["\u76F4\u63A5\u8F93\u5165 Key\uFF08\u5185\u5BB9\u4E0D\u56DE\u663E\uFF09", process.platform === "darwin" ? " · [Ctrl+I] 明确从 login shell 导入并保存" : "", " \u00B7 [Enter] \u7EE7\u7EED \u00B7 [Esc] \u8FD4\u56DE"] })] })), step === "done" && (_jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { color: PSYCLAW_OK, bold: true, children: "\u2714 Provider \u4E0E\u51ED\u636E\u914D\u7F6E\u5DF2\u4FDD\u5B58\uFF01" }), _jsx(Text, { dimColor: true, children: "\u9A6C\u4E0A\u542F\u52A8 PsyClaw \u667A\u80FD\u7814\u7A76\u52A9\u624B\u2026" }), _jsx(Hint, { children: "[Enter] \u7ACB\u5373\u8FDB\u5165\u5BF9\u8BDD \u00B7 [Q] \u9000\u51FA" })] }))] }));
|
|
111
125
|
}
|
|
112
126
|
export function runWizard() {
|
|
113
127
|
return new Promise((resolve) => {
|
package/dist/src/wizard.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wizard.js","sourceRoot":"","sources":["../../src/wizard.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACnD,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,6BAA6B,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAC3H,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAU3F,SAAS,MAAM;IACb,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,YAAY,EAAE,CAAC,aACzC,MAAC,GAAG,IAAC,GAAG,EAAE,CAAC,EAAE,UAAU,EAAC,QAAQ,aAC9B,KAAC,IAAI,IAAC,KAAK,EAAE,cAAc,EAAE,IAAI,qCAAiB,EAClD,MAAC,IAAI,IAAC,KAAK,EAAC,OAAO,EAAC,eAAe,EAAE,cAAc,EAAE,IAAI,yBAAI,eAAe,SAAS,EACrF,KAAC,IAAI,IAAC,QAAQ,6GAAwB,IAClC,EACN,KAAC,IAAI,IAAC,QAAQ,mUAA0D,IACpE,CACP,CAAC;AACJ,CAAC;AAED,SAAS,IAAI,CAAC,EAAE,QAAQ,EAAiC;IACvD,OAAO,CACL,KAAC,GAAG,IAAC,SAAS,EAAE,CAAC,YACf,MAAC,IAAI,IAAC,QAAQ,oCAAK,QAAQ,IAAQ,GAC/B,CACP,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAkD;IACrF,OAAO,CACL,KAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,OAAO,EAAE,CAAC,YACnC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YACzB,MAAM,UAAU,GAAG,KAAK,KAAK,QAAQ,CAAC;YACtC,OAAO,CACL,MAAC,GAAG,IAAY,GAAG,EAAE,CAAC,aACpB,KAAC,IAAI,IAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,UAAU,YAChE,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAClB,EACN,UAAU,CAAC,CAAC,CAAC,CACZ,KAAC,IAAI,IAAC,IAAI,QAAC,KAAK,EAAE,cAAc,YAAG,IAAI,GAAQ,CAChD,CAAC,CAAC,CAAC,CACF,KAAC,IAAI,cAAE,IAAI,GAAQ,CACpB,KARO,IAAI,CASR,CACP,CAAC;QACJ,CAAC,CAAC,GACE,CACP,CAAC;AACJ,CAAC;AAMD,SAAS,MAAM,CAAC,EAAE,MAAM,EAAe;IACrC,MAAM,eAAe,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACtF,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAa,SAAS,CAAC,CAAC;IACxD,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IACtD,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAChD,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IACzC,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,QAAQ,CAAS,UAAU,CAAC,CAAC;IAC7E,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"wizard.js","sourceRoot":"","sources":["../../src/wizard.tsx"],"names":[],"mappings":"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"}
|
|
@@ -37,9 +37,9 @@ export async function runAnalysisDelegation(root) {
|
|
|
37
37
|
hooks: ANALYSIS_HOOKS_VERSION,
|
|
38
38
|
hookDigest: analysisHookDigest(),
|
|
39
39
|
userHooks: userHooks.map((hook) => ({ id: hook.id, event: hook.event, severity: hook.severity })),
|
|
40
|
-
immutableInputs: ["data/raw", "declared input paths"],
|
|
40
|
+
immutableInputs: [".psyclaw/data/raw", "declared input paths"],
|
|
41
41
|
requiredChecks: ["beforeAnalysis", "validateAnalysisPlan", "beforeWrite", "afterAnalysis"],
|
|
42
|
-
policy: ["never overwrite or recode data/raw", "never report p-values without effect sizes and uncertainty intervals", "never turn correlation or significance into causality", "record script, environment, input hashes, missing-data and multiplicity handling"],
|
|
42
|
+
policy: ["never overwrite or recode .psyclaw/data/raw", "never report p-values without effect sizes and uncertainty intervals", "never turn correlation or significance into causality", "record script, environment, input hashes, missing-data and multiplicity handling"],
|
|
43
43
|
},
|
|
44
44
|
tasks: resultClaims.map((claim) => ({
|
|
45
45
|
claimId: claim.id,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analysis-delegation.js","sourceRoot":"","sources":["../../../src/workflows/analysis-delegation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAA0C,MAAM,WAAW,CAAC;AACnG,OAAO,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AACzG,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAC5F,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAEhE,MAAM,CAAC,MAAM,sBAAsB,GAAiB;IAClD,EAAE,EAAE,qBAAqB;IACzB,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,2EAA2E;IACxF,SAAS,EAAE,YAAY;IACvB,KAAK,EAAE;QACL,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,kCAAkC,EAAE;QAClG,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,yCAAyC,EAAE;QAC3G,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,2BAA2B,EAAE;KAC3F;IACD,iBAAiB,EAAE,CAAC,kBAAkB,EAAE,iBAAiB,CAAC;CAC3D,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,IAAY;IACtD,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC;IACxC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;IACtC,MAAM,KAAK,GAAG,wBAAwB,CAAC,EAAE,GAAG,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IAClF,2DAA2D;IAC3D,KAAK,CAAC,IAAI,CAAC,GAAG,oBAAoB,CAAC,MAAM,mBAAmB,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;IACvF,MAAM,OAAO,GAAG,MAAM,sBAAsB,CAAC,IAAI,EAAE,eAAe,EAAE,uBAAuB,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACzG,MAAM,SAAS,GAAG,MAAM,qBAAqB,CAAC,IAAI,CAAC,CAAC;IACpD,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;IAC9E,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,2BAA2B,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,8BAA8B,EAAE,CAAC,CAAC;IAC5H,CAAC;IAED,MAAM,UAAU,GAAG;QACjB,aAAa,EAAE,uBAAuB;QACtC,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,OAAO;QACP,IAAI,EAAE,sFAAsF;QAC5F,MAAM,EAAE;YACN,KAAK,EAAE,sBAAsB;YAC7B,UAAU,EAAE,kBAAkB,EAAE;YAChC,SAAS,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;YACjG,eAAe,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"analysis-delegation.js","sourceRoot":"","sources":["../../../src/workflows/analysis-delegation.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "psyclaw",
|
|
3
|
-
"version": "0.27.
|
|
4
|
-
"description": "A standalone, evidence-grounded social-science research agent
|
|
3
|
+
"version": "0.27.12",
|
|
4
|
+
"description": "A standalone, evidence-grounded social-science research agent with research contracts, evidence gates, and recoverable workflows",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"repository": {
|
package/scripts/rebrand-pi.mjs
CHANGED
|
@@ -18,9 +18,10 @@ import { fileURLToPath } from "node:url";
|
|
|
18
18
|
|
|
19
19
|
const NAME = "PsyClaw";
|
|
20
20
|
const LOCKED_PI_VERSION = "0.84.4";
|
|
21
|
-
//
|
|
22
|
-
//
|
|
23
|
-
|
|
21
|
+
// PsyClaw's own user config directory. Retained as the sole Pi config dir so
|
|
22
|
+
// models, themes, packages, and skills live under `~/.psyclaw` consistently
|
|
23
|
+
// with the project data directory name.
|
|
24
|
+
const CONFIG_DIR = `.psyclaw`;
|
|
24
25
|
|
|
25
26
|
function hexToRgb(hex) {
|
|
26
27
|
const num = parseInt(hex.replace("#", ""), 16);
|
|
@@ -180,6 +181,22 @@ const PSYCLAW_SKILLS_FORMATTER = `const skills = skillsResult.skills;
|
|
|
180
181
|
addLoadedSection("Skills", skillCompactList, skillList);
|
|
181
182
|
}`;
|
|
182
183
|
|
|
184
|
+
const PSYCLAW_SKILL_DIAGNOSTICS = `const skillDiagnostics = skillsResult.diagnostics.filter((diagnostic) =>
|
|
185
|
+
diagnostic.type === "error" &&
|
|
186
|
+
!/skill path does not exist/i.test(diagnostic.message));
|
|
187
|
+
if (skillDiagnostics.length > 0) {
|
|
188
|
+
const warningLines = this.formatDiagnostics(skillDiagnostics, sourceInfos);
|
|
189
|
+
const expanded = \`${'${theme.fg("warning", "[Skill issues]")}'}\\n${'${warningLines}'}\`;
|
|
190
|
+
if (warningLines.split("\\n").length > 6) {
|
|
191
|
+
const collapsed = \`${'${theme.fg("warning", "[Skill issues]")}'}\\n${'${theme.fg("dim", ` ${skillDiagnostics.length} issue(s) · Ctrl+O to expand`)}'}\`;
|
|
192
|
+
this.loadedResourcesContainer.addChild(new ExpandableText(() => collapsed, () => expanded, false, 0, 0));
|
|
193
|
+
}
|
|
194
|
+
else {
|
|
195
|
+
this.loadedResourcesContainer.addChild(new Text(expanded, 0, 0));
|
|
196
|
+
}
|
|
197
|
+
this.loadedResourcesContainer.addChild(new Spacer(1));
|
|
198
|
+
}`;
|
|
199
|
+
|
|
183
200
|
const MODE_PATCHES = [
|
|
184
201
|
{
|
|
185
202
|
old: 'Pi can explain its own features and look up its docs. Ask it how to use or extend Pi.',
|
|
@@ -206,10 +223,43 @@ const MODE_PATCHES = [
|
|
|
206
223
|
}`,
|
|
207
224
|
next: PSYCLAW_SKILLS_FORMATTER,
|
|
208
225
|
},
|
|
226
|
+
{
|
|
227
|
+
old: `const skillDiagnostics = skillsResult.diagnostics;
|
|
228
|
+
if (skillDiagnostics.length > 0) {
|
|
229
|
+
const warningLines = this.formatDiagnostics(skillDiagnostics, sourceInfos);
|
|
230
|
+
this.loadedResourcesContainer.addChild(new Text(\`${'${theme.fg("warning", "[Skill conflicts]")}'}\\n${'${warningLines}'}\`, 0, 0));
|
|
231
|
+
this.loadedResourcesContainer.addChild(new Spacer(1));
|
|
232
|
+
}`,
|
|
233
|
+
next: PSYCLAW_SKILL_DIAGNOSTICS,
|
|
234
|
+
},
|
|
209
235
|
{
|
|
210
236
|
old: 'this.getStartupExpansionState(), 1, 0);',
|
|
211
237
|
next: 'this.getStartupExpansionState(), 0, 0);',
|
|
212
238
|
},
|
|
239
|
+
{
|
|
240
|
+
old: `const [fdPath] = await Promise.all([
|
|
241
|
+
ensureTool("fd", (status) => this.showManagedToolStatus(status)),
|
|
242
|
+
ensureTool("rg", (status) => this.showManagedToolStatus(status)),
|
|
243
|
+
]);
|
|
244
|
+
this.fdPath = fdPath;
|
|
245
|
+
// Enable the remaining input handlers only after managed-tool setup completes.
|
|
246
|
+
this.setupKeyHandlers();
|
|
247
|
+
this.setupEditorSubmitHandler();`,
|
|
248
|
+
next: `// Input must remain usable while optional search binaries are installed.
|
|
249
|
+
this.setupKeyHandlers();
|
|
250
|
+
this.setupEditorSubmitHandler();
|
|
251
|
+
const reportToolFailure = (status) => {
|
|
252
|
+
if (status.type === "warning") this.showManagedToolStatus(status);
|
|
253
|
+
};
|
|
254
|
+
void Promise.all([
|
|
255
|
+
ensureTool("fd", reportToolFailure),
|
|
256
|
+
ensureTool("rg", reportToolFailure),
|
|
257
|
+
]).then(([fdPath]) => {
|
|
258
|
+
this.fdPath = fdPath;
|
|
259
|
+
}).catch((error) => {
|
|
260
|
+
this.showManagedToolStatus({ type: "warning", message: \`Search tools unavailable: \${error instanceof Error ? error.message : String(error)}\` });
|
|
261
|
+
});`,
|
|
262
|
+
},
|
|
213
263
|
{
|
|
214
264
|
old: 'this.ui.terminal.setTitle(`${APP_TITLE} - ${sessionName} - ${cwdBasename}`);',
|
|
215
265
|
next: 'this.ui.terminal.setTitle(`ψ ${APP_TITLE} - ${sessionName} - ${cwdBasename}`);',
|
|
@@ -218,6 +268,10 @@ const MODE_PATCHES = [
|
|
|
218
268
|
old: 'this.ui.terminal.setTitle(`${APP_TITLE} - ${cwdBasename}`);',
|
|
219
269
|
next: 'this.ui.terminal.setTitle(`ψ ${APP_TITLE} - ${cwdBasename}`);',
|
|
220
270
|
},
|
|
271
|
+
{
|
|
272
|
+
old: 'then restart pi.',
|
|
273
|
+
next: 'then restart PsyClaw.',
|
|
274
|
+
},
|
|
221
275
|
];
|
|
222
276
|
|
|
223
277
|
async function patchPackageJson(pkgPath) {
|
|
@@ -293,23 +347,59 @@ async function applyModePatches(modePath) {
|
|
|
293
347
|
return applied;
|
|
294
348
|
}
|
|
295
349
|
|
|
350
|
+
/**
|
|
351
|
+
* Collapse the model's thinking/reasoning blocks by default. Pi renders them
|
|
352
|
+
* expanded unless `hideThinkingBlock` is set; PsyClaw flips the default so a
|
|
353
|
+
* long thinking trace does not dominate the terminal. Users can still expand
|
|
354
|
+
* a block with the `app.thinking.toggle` key binding, and an explicit
|
|
355
|
+
* `hideThinkingBlock` value in settings.json always wins.
|
|
356
|
+
*/
|
|
357
|
+
const SETTINGS_PATCHES = [
|
|
358
|
+
{
|
|
359
|
+
old: "return this.settings.hideThinkingBlock ?? false;",
|
|
360
|
+
next: "return this.settings.hideThinkingBlock ?? true;",
|
|
361
|
+
},
|
|
362
|
+
];
|
|
363
|
+
|
|
364
|
+
async function applySettingsPatches(settingsManagerPath) {
|
|
365
|
+
let content = await readFile(settingsManagerPath, "utf8");
|
|
366
|
+
const applied = [];
|
|
367
|
+
for (const { old, next } of SETTINGS_PATCHES) {
|
|
368
|
+
if (content.includes(old)) {
|
|
369
|
+
content = content.replace(old, next);
|
|
370
|
+
applied.push(old.slice(0, 48));
|
|
371
|
+
}
|
|
372
|
+
}
|
|
373
|
+
if (applied.length > 0) {
|
|
374
|
+
await atomicReplace(settingsManagerPath, content, true);
|
|
375
|
+
}
|
|
376
|
+
return applied;
|
|
377
|
+
}
|
|
378
|
+
|
|
296
379
|
async function main() {
|
|
297
380
|
const entry = import.meta.resolve("@earendil-works/pi-coding-agent");
|
|
298
381
|
const pkgDir = dirname(dirname(fileURLToPath(entry)));
|
|
299
382
|
const pkgPath = join(pkgDir, "package.json");
|
|
300
383
|
const modePath = join(pkgDir, "dist", "modes", "interactive", "interactive-mode.js");
|
|
384
|
+
const settingsManagerPath = join(pkgDir, "dist", "core", "settings-manager.js");
|
|
301
385
|
|
|
302
386
|
const pkgResult = await patchPackageJson(pkgPath);
|
|
303
387
|
const applied = await applyModePatches(modePath);
|
|
388
|
+
const settingsApplied = await applySettingsPatches(settingsManagerPath);
|
|
304
389
|
|
|
305
390
|
process.stdout.write(
|
|
306
|
-
`psyclaw rebrand: piConfig ${pkgResult.applied ? "applied" : "already set"} · ${applied.length > 0 ? `patched ${applied.length} display string(s)` : "display strings already patched"} (${pkgDir})\n`,
|
|
391
|
+
`psyclaw rebrand: piConfig ${pkgResult.applied ? "applied" : "already set"} · ${applied.length > 0 ? `patched ${applied.length} display string(s)` : "display strings already patched"} · ${settingsApplied.length > 0 ? `patched ${settingsApplied.length} setting default(s)` : "settings already patched"} (${pkgDir})\n`,
|
|
307
392
|
);
|
|
308
393
|
if (applied.length > 0) {
|
|
309
394
|
for (const label of applied) {
|
|
310
395
|
process.stdout.write(` - ${label}…\n`);
|
|
311
396
|
}
|
|
312
397
|
}
|
|
398
|
+
if (settingsApplied.length > 0) {
|
|
399
|
+
for (const label of settingsApplied) {
|
|
400
|
+
process.stdout.write(` - ${label}…\n`);
|
|
401
|
+
}
|
|
402
|
+
}
|
|
313
403
|
}
|
|
314
404
|
|
|
315
405
|
main().catch((error) => {
|