@xrkseek/harness 0.6.0-rc.2 → 0.6.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 (78) hide show
  1. package/node_modules/@xrkseek/exec-fs/dist/index.d.ts.map +1 -1
  2. package/node_modules/@xrkseek/exec-fs/dist/index.js +65 -8
  3. package/node_modules/@xrkseek/exec-fs/dist/index.js.map +1 -1
  4. package/node_modules/@xrkseek/exec-fs/dist/routing-prompt.d.ts.map +1 -1
  5. package/node_modules/@xrkseek/exec-fs/dist/routing-prompt.js +5 -3
  6. package/node_modules/@xrkseek/exec-fs/dist/routing-prompt.js.map +1 -1
  7. package/node_modules/@xrkseek/exec-fs/dist/search.d.ts +2 -0
  8. package/node_modules/@xrkseek/exec-fs/dist/search.d.ts.map +1 -1
  9. package/node_modules/@xrkseek/exec-fs/dist/search.js.map +1 -1
  10. package/node_modules/@xrkseek/exec-pty/dist/backend.d.ts +5 -0
  11. package/node_modules/@xrkseek/exec-pty/dist/backend.d.ts.map +1 -1
  12. package/node_modules/@xrkseek/exec-pty/dist/backend.js +4 -1
  13. package/node_modules/@xrkseek/exec-pty/dist/backend.js.map +1 -1
  14. package/node_modules/@xrkseek/exec-pty/dist/index.d.ts +5 -0
  15. package/node_modules/@xrkseek/exec-pty/dist/index.d.ts.map +1 -1
  16. package/node_modules/@xrkseek/exec-pty/dist/index.js +3 -0
  17. package/node_modules/@xrkseek/exec-pty/dist/index.js.map +1 -1
  18. package/node_modules/@xrkseek/preset-harness/dist/tsconfig.tsbuildinfo +1 -1
  19. package/node_modules/@xrkseek/preset-minimal/dist/tsconfig.tsbuildinfo +1 -1
  20. package/node_modules/@xrkseek/preset-server/dist/tsconfig.tsbuildinfo +1 -1
  21. package/node_modules/@xrkseek/server-face/dist/approvals.d.ts.map +1 -1
  22. package/node_modules/@xrkseek/server-face/dist/approvals.js +6 -3
  23. package/node_modules/@xrkseek/server-face/dist/approvals.js.map +1 -1
  24. package/node_modules/@xrkseek/server-face/dist/index.d.ts +1 -1
  25. package/node_modules/@xrkseek/server-face/dist/index.d.ts.map +1 -1
  26. package/node_modules/@xrkseek/server-face/dist/index.js +1 -1
  27. package/node_modules/@xrkseek/server-face/dist/index.js.map +1 -1
  28. package/node_modules/@xrkseek/server-face/dist/permissions.d.ts +2 -1
  29. package/node_modules/@xrkseek/server-face/dist/permissions.d.ts.map +1 -1
  30. package/node_modules/@xrkseek/server-face/dist/permissions.js +6 -5
  31. package/node_modules/@xrkseek/server-face/dist/permissions.js.map +1 -1
  32. package/node_modules/@xrkseek/server-face/dist/session-capability.d.ts.map +1 -1
  33. package/node_modules/@xrkseek/server-face/dist/session-capability.js +4 -3
  34. package/node_modules/@xrkseek/server-face/dist/session-capability.js.map +1 -1
  35. package/node_modules/@xrkseek/server-face/dist/session-posture.d.ts +3 -3
  36. package/node_modules/@xrkseek/server-face/dist/session-posture.js +9 -9
  37. package/node_modules/@xrkseek/server-face/dist/session-posture.js.map +1 -1
  38. package/node_modules/@xrkseek/server-face/dist/xiangyang-skill-bodies/demand-translate.d.ts +4 -0
  39. package/node_modules/@xrkseek/server-face/dist/xiangyang-skill-bodies/demand-translate.d.ts.map +1 -0
  40. package/node_modules/@xrkseek/server-face/dist/xiangyang-skill-bodies/demand-translate.js +54 -0
  41. package/node_modules/@xrkseek/server-face/dist/xiangyang-skill-bodies/demand-translate.js.map +1 -0
  42. package/node_modules/@xrkseek/server-face/dist/xiangyang-skill-bodies/home-config.d.ts +4 -0
  43. package/node_modules/@xrkseek/server-face/dist/xiangyang-skill-bodies/home-config.d.ts.map +1 -0
  44. package/node_modules/@xrkseek/server-face/dist/xiangyang-skill-bodies/home-config.js +61 -0
  45. package/node_modules/@xrkseek/server-face/dist/xiangyang-skill-bodies/home-config.js.map +1 -0
  46. package/node_modules/@xrkseek/server-face/dist/xiangyang-skill-bodies/index.d.ts +9 -0
  47. package/node_modules/@xrkseek/server-face/dist/xiangyang-skill-bodies/index.d.ts.map +1 -0
  48. package/node_modules/@xrkseek/server-face/dist/xiangyang-skill-bodies/index.js +24 -0
  49. package/node_modules/@xrkseek/server-face/dist/xiangyang-skill-bodies/index.js.map +1 -0
  50. package/node_modules/@xrkseek/server-face/dist/xiangyang-skill-bodies/mainline-sideline.d.ts +4 -0
  51. package/node_modules/@xrkseek/server-face/dist/xiangyang-skill-bodies/mainline-sideline.d.ts.map +1 -0
  52. package/node_modules/@xrkseek/server-face/dist/xiangyang-skill-bodies/mainline-sideline.js +46 -0
  53. package/node_modules/@xrkseek/server-face/dist/xiangyang-skill-bodies/mainline-sideline.js.map +1 -0
  54. package/node_modules/@xrkseek/server-face/dist/xiangyang-skill-bodies/memory-polish.d.ts +4 -0
  55. package/node_modules/@xrkseek/server-face/dist/xiangyang-skill-bodies/memory-polish.d.ts.map +1 -0
  56. package/node_modules/@xrkseek/server-face/dist/xiangyang-skill-bodies/memory-polish.js +38 -0
  57. package/node_modules/@xrkseek/server-face/dist/xiangyang-skill-bodies/memory-polish.js.map +1 -0
  58. package/node_modules/@xrkseek/server-face/dist/xiangyang-skill-bodies/plugin-dev.d.ts +4 -0
  59. package/node_modules/@xrkseek/server-face/dist/xiangyang-skill-bodies/plugin-dev.d.ts.map +1 -0
  60. package/node_modules/@xrkseek/server-face/dist/xiangyang-skill-bodies/plugin-dev.js +114 -0
  61. package/node_modules/@xrkseek/server-face/dist/xiangyang-skill-bodies/plugin-dev.js.map +1 -0
  62. package/node_modules/@xrkseek/server-face/dist/xiangyang-skill-bodies/skill-merge.d.ts +4 -0
  63. package/node_modules/@xrkseek/server-face/dist/xiangyang-skill-bodies/skill-merge.d.ts.map +1 -0
  64. package/node_modules/@xrkseek/server-face/dist/xiangyang-skill-bodies/skill-merge.js +36 -0
  65. package/node_modules/@xrkseek/server-face/dist/xiangyang-skill-bodies/skill-merge.js.map +1 -0
  66. package/node_modules/@xrkseek/server-face/dist/xiangyang-skill-bodies/xrk-cleanup.d.ts +4 -0
  67. package/node_modules/@xrkseek/server-face/dist/xiangyang-skill-bodies/xrk-cleanup.d.ts.map +1 -0
  68. package/node_modules/@xrkseek/server-face/dist/xiangyang-skill-bodies/xrk-cleanup.js +61 -0
  69. package/node_modules/@xrkseek/server-face/dist/xiangyang-skill-bodies/xrk-cleanup.js.map +1 -0
  70. package/node_modules/@xrkseek/server-face/dist/xiangyang-skills.d.ts +15 -4
  71. package/node_modules/@xrkseek/server-face/dist/xiangyang-skills.d.ts.map +1 -1
  72. package/node_modules/@xrkseek/server-face/dist/xiangyang-skills.js +18 -92
  73. package/node_modules/@xrkseek/server-face/dist/xiangyang-skills.js.map +1 -1
  74. package/node_modules/@xrkseek/server-host/dist/index.d.ts +10 -0
  75. package/node_modules/@xrkseek/server-host/dist/index.d.ts.map +1 -1
  76. package/node_modules/@xrkseek/server-host/dist/index.js +14 -7
  77. package/node_modules/@xrkseek/server-host/dist/index.js.map +1 -1
  78. package/package.json +1 -1
@@ -1,113 +1,39 @@
1
1
  /**
2
2
  * Seed 向阳空间-only skills under the workspace `.xrk/skills` tree.
3
3
  * Other workspaces do not get these files (workspace-scoped catalog).
4
+ *
5
+ * Product bodies live in `./xiangyang-skill-bodies/` and refresh when text
6
+ * changes (compare-and-write). Add sibling skill folders for local custom
7
+ * playbooks — seed never deletes unknown ids.
4
8
  */
5
- import { mkdir, writeFile, access } from "node:fs/promises";
9
+ import { mkdir, writeFile, readFile } from "node:fs/promises";
6
10
  import path from "node:path";
7
- const SKILLS = [
8
- {
9
- id: "xrk-xrk-cleanup",
10
- body: [
11
- "---",
12
- "name: xrk-xrk-cleanup",
13
- "description: >-",
14
- " Reclaim disk under ~/.xrk and project .xrk (caches, orphans, temp).",
15
- " Use when Harness litter grows or the user asks to tidy .xrk.",
16
- "---",
17
- "",
18
- "# .xrk 垃圾清理",
19
- "",
20
- "范围:`~/.xrk` 与各工作区 `.xrk`(缓存、空 recipes、过期归档、明显 temp)。",
21
- "",
22
- "1. 先列体积与路径清单,确认后删;优先大文件与明确临时产物。",
23
- "2. 保留:`settings.yaml` · `.credentials.yaml` · `sessions.db` · 用户改过的 skills。",
24
- "3. 跨工作区:`workspace_list` → `workspace_session_prompt` 派清理,或本会话直接处理(full access)。",
25
- "",
26
- ].join("\n"),
27
- },
28
- {
29
- id: "xrk-skill-merge",
30
- body: [
31
- "---",
32
- "name: xrk-skill-merge",
33
- "description: >-",
34
- " Merge overlapping skills across ~/.xrk/skills and workspace layers.",
35
- " Use when skills duplicate, conflict, or the catalog is noisy.",
36
- "---",
37
- "",
38
- "# 技能合并优化",
39
- "",
40
- "1. 对照 `~/.xrk/skills` 与工作区 `.xrk/skills` / `.agents/skills`。",
41
- "2. 合并重复:真源一份;更新 `description` 触发词。",
42
- "3. 用户改过的 SKILL.md:缺才写,或征得同意再改。",
43
- "4. 合并后抽查 skill 工具 / `/skills`。",
44
- "",
45
- ].join("\n"),
46
- },
47
- {
48
- id: "xrk-memory-polish",
49
- body: [
50
- "---",
51
- "name: xrk-memory-polish",
52
- "description: >-",
53
- " Polish curated memory (MEMORY.md): prune stale, fill gaps.",
54
- " Use when memory is noisy, incomplete, or after long projects.",
55
- "---",
56
- "",
57
- "# 记忆完善",
58
- "",
59
- "1. 读 MEMORY.md / Curated memory 现状。",
60
- "2. 软删过时;补用户要求长期记住的事实。",
61
- "3. 不写密钥与一次性调试噪声。",
62
- "4. 改完用短摘要回报。",
63
- "",
64
- ].join("\n"),
65
- },
66
- {
67
- id: "xrk-plugin-dev-care",
68
- body: [
69
- "---",
70
- "name: xrk-plugin-dev-care",
71
- "description: >-",
72
- " Author and verify xrkh process plugins (tools/prompt/commands/…).",
73
- " Use when building extensions for XRK-Harness.",
74
- "---",
75
- "",
76
- "# 插件开发",
77
- "",
78
- "1. 落点 `extensions/<id>/`;读 plugin-development 规格。",
79
- "2. kind:`tools` · `prompt` · `commands` · `channel` · `policy` · `llm`。",
80
- "3. 验证:`xrkh plugin`;密钥走 Credentials。",
81
- "",
82
- ].join("\n"),
83
- },
84
- ];
85
- async function exists(p) {
86
- try {
87
- await access(p);
88
- return true;
89
- }
90
- catch {
91
- return false;
92
- }
93
- }
11
+ import { XIANGYANG_SKILL_SEEDS, XIANGYANG_SKILLS_REVISION, } from "./xiangyang-skill-bodies/index.js";
12
+ export { XIANGYANG_SKILL_SEEDS, XIANGYANG_SKILL_IDS, XIANGYANG_SKILLS_REVISION, } from "./xiangyang-skill-bodies/index.js";
94
13
  /**
95
- * Write missing skill folders under the 向阳空间 workspace (idempotent).
14
+ * Write / refresh product skill folders under the 向阳空间 workspace.
96
15
  * @param xiangyangRoot - Absolute path of the reserved workspace directory.
97
16
  */
98
17
  export async function seedXiangyangSkills(xiangyangRoot) {
99
18
  const skillsRoot = path.join(xiangyangRoot, ".xrk", "skills");
100
19
  await mkdir(skillsRoot, { recursive: true });
101
20
  const installed = [];
102
- for (const skill of SKILLS) {
21
+ for (const skill of XIANGYANG_SKILL_SEEDS) {
103
22
  const dir = path.join(skillsRoot, skill.id);
104
23
  const file = path.join(dir, "SKILL.md");
105
- if (await exists(file))
24
+ let previous;
25
+ try {
26
+ previous = await readFile(file, "utf8");
27
+ }
28
+ catch {
29
+ previous = undefined;
30
+ }
31
+ if (previous === skill.body)
106
32
  continue;
107
33
  await mkdir(dir, { recursive: true });
108
34
  await writeFile(file, skill.body, "utf8");
109
35
  installed.push(skill.id);
110
36
  }
111
- return { installed };
37
+ return { installed, revision: XIANGYANG_SKILLS_REVISION };
112
38
  }
113
39
  //# sourceMappingURL=xiangyang-skills.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"xiangyang-skills.js","sourceRoot":"","sources":["../src/xiangyang-skills.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,IAAI,MAAM,WAAW,CAAC;AAO7B,MAAM,MAAM,GAAkC;IAC5C;QACE,EAAE,EAAE,iBAAiB;QACrB,IAAI,EAAE;YACJ,KAAK;YACL,uBAAuB;YACvB,iBAAiB;YACjB,uEAAuE;YACvE,gEAAgE;YAChE,KAAK;YACL,EAAE;YACF,aAAa;YACb,EAAE;YACF,sDAAsD;YACtD,EAAE;YACF,iCAAiC;YACjC,6EAA6E;YAC7E,kFAAkF;YAClF,EAAE;SACH,CAAC,IAAI,CAAC,IAAI,CAAC;KACb;IACD;QACE,EAAE,EAAE,iBAAiB;QACrB,IAAI,EAAE;YACJ,KAAK;YACL,uBAAuB;YACvB,iBAAiB;YACjB,uEAAuE;YACvE,iEAAiE;YACjE,KAAK;YACL,EAAE;YACF,UAAU;YACV,EAAE;YACF,8DAA8D;YAC9D,oCAAoC;YACpC,gCAAgC;YAChC,gCAAgC;YAChC,EAAE;SACH,CAAC,IAAI,CAAC,IAAI,CAAC;KACb;IACD;QACE,EAAE,EAAE,mBAAmB;QACvB,IAAI,EAAE;YACJ,KAAK;YACL,yBAAyB;YACzB,iBAAiB;YACjB,8DAA8D;YAC9D,iEAAiE;YACjE,KAAK;YACL,EAAE;YACF,QAAQ;YACR,EAAE;YACF,qCAAqC;YACrC,uBAAuB;YACvB,kBAAkB;YAClB,cAAc;YACd,EAAE;SACH,CAAC,IAAI,CAAC,IAAI,CAAC;KACb;IACD;QACE,EAAE,EAAE,qBAAqB;QACzB,IAAI,EAAE;YACJ,KAAK;YACL,2BAA2B;YAC3B,iBAAiB;YACjB,qEAAqE;YACrE,iDAAiD;YACjD,KAAK;YACL,EAAE;YACF,QAAQ;YACR,EAAE;YACF,mDAAmD;YACnD,yEAAyE;YACzE,sCAAsC;YACtC,EAAE;SACH,CAAC,IAAI,CAAC,IAAI,CAAC;KACb;CACF,CAAC;AAEF,KAAK,UAAU,MAAM,CAAC,CAAS;IAC7B,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,CAAC,CAAC,CAAC;QAChB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,aAAqB;IAErB,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC9D,MAAM,KAAK,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7C,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;QAC5C,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QACxC,IAAI,MAAM,MAAM,CAAC,IAAI,CAAC;YAAE,SAAS;QACjC,MAAM,KAAK,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACtC,MAAM,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC1C,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC3B,CAAC;IACD,OAAO,EAAE,SAAS,EAAE,CAAC;AACvB,CAAC"}
1
+ {"version":3,"file":"xiangyang-skills.js","sourceRoot":"","sources":["../src/xiangyang-skills.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EACL,qBAAqB,EACrB,yBAAyB,GAE1B,MAAM,mCAAmC,CAAC;AAG3C,OAAO,EACL,qBAAqB,EACrB,mBAAmB,EACnB,yBAAyB,GAC1B,MAAM,mCAAmC,CAAC;AAS3C;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,aAAqB;IAErB,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC9D,MAAM,KAAK,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7C,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,KAAK,MAAM,KAAK,IAAI,qBAAqB,EAAE,CAAC;QAC1C,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;QAC5C,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QACxC,IAAI,QAA4B,CAAC;QACjC,IAAI,CAAC;YACH,QAAQ,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC1C,CAAC;QAAC,MAAM,CAAC;YACP,QAAQ,GAAG,SAAS,CAAC;QACvB,CAAC;QACD,IAAI,QAAQ,KAAK,KAAK,CAAC,IAAI;YAAE,SAAS;QACtC,MAAM,KAAK,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACtC,MAAM,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC1C,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC3B,CAAC;IACD,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,yBAAyB,EAAE,CAAC;AAC5D,CAAC"}
@@ -28,7 +28,17 @@ export { loadMcpToolPlugins, mcpDraftsToSpecs, mcpFingerprint, parseMcpServersEn
28
28
  * otherwise run bash completely unsandboxed.
29
29
  */
30
30
  export declare function createHostShellPrepareArgv(options: {
31
+ /**
32
+ * Fallback jail root when {@link readWorkspaceRoot} is omitted or returns
33
+ * nothing (Host process root / single-workspace).
34
+ */
31
35
  readonly workspaceRoot: string;
36
+ /**
37
+ * Per-session workspace root (coding project / worktree). Multi-workspace
38
+ * Hosts must supply this — otherwise bash cwd under session A fails
39
+ * `cwd escapes` against Host root B.
40
+ */
41
+ readonly readWorkspaceRoot?: (sessionId: string | undefined) => string | undefined;
32
42
  readonly readSandboxSettings: () => Record<string, unknown> | undefined;
33
43
  readonly readSandboxMode: (sessionId: string | undefined) => import("@xrkseek/protocol").SandboxMode;
34
44
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -176,13 +176,15 @@ export function createHostShellPrepareArgv(options) {
176
176
  let cachedStack;
177
177
  let cachedStackKey = "";
178
178
  return async (argv, cwd, signal, ctx) => {
179
+ const sessionRoot = options.readWorkspaceRoot?.(ctx?.ownerSessionId)?.trim() ||
180
+ options.workspaceRoot;
179
181
  const settings = options.readSandboxSettings();
180
182
  const product = parseSandboxProduct(settings);
181
183
  const extraRoots = options.readExtraWritableRoots?.(ctx?.ownerSessionId) ?? [];
182
- const stackKey = `${JSON.stringify(product ?? null)}|${JSON.stringify(extraRoots)}`;
184
+ const stackKey = `${path.resolve(sessionRoot)}|${JSON.stringify(product ?? null)}|${JSON.stringify(extraRoots)}`;
183
185
  if (!cachedStack || cachedStackKey !== stackKey) {
184
186
  cachedStack = createSandboxStack({
185
- workspaceRoot: options.workspaceRoot,
187
+ workspaceRoot: sessionRoot,
186
188
  ...(extraRoots.length ? { extraWritableRoots: extraRoots } : {}),
187
189
  ...(product ? { product } : {}),
188
190
  env: options.env,
@@ -542,11 +544,16 @@ export function createHostManager() {
542
544
  // Deduplicate while preserving user-declared order (cosmetic).
543
545
  return [...new Set(cleaned)];
544
546
  };
547
+ // Filled after Face attaches — closures below read it at spawn time.
548
+ const sessionCwdBox = {};
549
+ const sessionWorkspaceRoot = (sessionId) => (sessionId ? sessionCwdBox.get?.(sessionId)?.trim() : undefined) ||
550
+ config.runtime.workspaceRoot;
545
551
  const sharedPty = !sshWorld &&
546
552
  (config.runtime.preset === "harness" ||
547
553
  config.runtime.preset === "server")
548
554
  ? createDefaultPtyAccess({
549
555
  workspaceRoot: config.runtime.workspaceRoot,
556
+ resolveWorkspaceRoot: sessionWorkspaceRoot,
550
557
  })
551
558
  : undefined;
552
559
  const sharedShell = config.runtime.preset === "harness" || config.runtime.preset === "server"
@@ -560,12 +567,13 @@ export function createHostManager() {
560
567
  // Same dir as hostReadableRoots — job_output spill paths are tool-readable.
561
568
  spillDir: defaultSpillDir(),
562
569
  // Host-wide shared registry — sandbox confine resolves lazily so
563
- // Face settings + per-session sandboxMode are read at spawn time,
564
- // not at shell creation (faceBox.runtime arrives later). This is
565
- // the production path the harness preset's `sharedShell ??`
566
- // branch would otherwise bypass entirely.
570
+ // Face settings + per-session sandboxMode / session cwd are read
571
+ // at spawn time, not at shell creation (faceBox / sessionCwd
572
+ // arrive later). This is the production path the harness
573
+ // preset's `sharedShell ??` branch would otherwise bypass.
567
574
  prepareArgv: createHostShellPrepareArgv({
568
575
  workspaceRoot: config.runtime.workspaceRoot,
576
+ readWorkspaceRoot: sessionWorkspaceRoot,
569
577
  readSandboxSettings: () => {
570
578
  const rt = faceBox.runtime;
571
579
  if (!rt)
@@ -707,7 +715,6 @@ export function createHostManager() {
707
715
  };
708
716
  const llmResolverBox = {};
709
717
  const pluginSettingsBox = {};
710
- const sessionCwdBox = {};
711
718
  const sessionPresetBox = {};
712
719
  const hostStatusBox = {};
713
720
  const lineage = {