@xrkseek/harness 0.6.0-rc.2 → 0.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (142) hide show
  1. package/node_modules/@xrkseek/core-session/dist/sqlite-store.d.ts.map +1 -1
  2. package/node_modules/@xrkseek/core-session/dist/sqlite-store.js +63 -34
  3. package/node_modules/@xrkseek/core-session/dist/sqlite-store.js.map +1 -1
  4. package/node_modules/@xrkseek/core-session/dist/store-lock.d.ts +4 -1
  5. package/node_modules/@xrkseek/core-session/dist/store-lock.d.ts.map +1 -1
  6. package/node_modules/@xrkseek/core-session/dist/store-lock.js +63 -7
  7. package/node_modules/@xrkseek/core-session/dist/store-lock.js.map +1 -1
  8. package/node_modules/@xrkseek/exec-fs/dist/index.d.ts +8 -4
  9. package/node_modules/@xrkseek/exec-fs/dist/index.d.ts.map +1 -1
  10. package/node_modules/@xrkseek/exec-fs/dist/index.js +79 -13
  11. package/node_modules/@xrkseek/exec-fs/dist/index.js.map +1 -1
  12. package/node_modules/@xrkseek/exec-fs/dist/routing-prompt.d.ts.map +1 -1
  13. package/node_modules/@xrkseek/exec-fs/dist/routing-prompt.js +5 -3
  14. package/node_modules/@xrkseek/exec-fs/dist/routing-prompt.js.map +1 -1
  15. package/node_modules/@xrkseek/exec-fs/dist/search.d.ts +2 -0
  16. package/node_modules/@xrkseek/exec-fs/dist/search.d.ts.map +1 -1
  17. package/node_modules/@xrkseek/exec-fs/dist/search.js.map +1 -1
  18. package/node_modules/@xrkseek/exec-pty/dist/backend.d.ts +5 -0
  19. package/node_modules/@xrkseek/exec-pty/dist/backend.d.ts.map +1 -1
  20. package/node_modules/@xrkseek/exec-pty/dist/backend.js +4 -1
  21. package/node_modules/@xrkseek/exec-pty/dist/backend.js.map +1 -1
  22. package/node_modules/@xrkseek/exec-pty/dist/index.d.ts +5 -0
  23. package/node_modules/@xrkseek/exec-pty/dist/index.d.ts.map +1 -1
  24. package/node_modules/@xrkseek/exec-pty/dist/index.js +3 -0
  25. package/node_modules/@xrkseek/exec-pty/dist/index.js.map +1 -1
  26. package/node_modules/@xrkseek/preset-harness/dist/preset.d.ts +6 -3
  27. package/node_modules/@xrkseek/preset-harness/dist/preset.d.ts.map +1 -1
  28. package/node_modules/@xrkseek/preset-harness/dist/preset.js +34 -19
  29. package/node_modules/@xrkseek/preset-harness/dist/preset.js.map +1 -1
  30. package/node_modules/@xrkseek/preset-harness/dist/tsconfig.tsbuildinfo +1 -1
  31. package/node_modules/@xrkseek/preset-minimal/dist/tsconfig.tsbuildinfo +1 -1
  32. package/node_modules/@xrkseek/preset-server/dist/tsconfig.tsbuildinfo +1 -1
  33. package/node_modules/@xrkseek/server-face/dist/approvals.d.ts.map +1 -1
  34. package/node_modules/@xrkseek/server-face/dist/approvals.js +6 -3
  35. package/node_modules/@xrkseek/server-face/dist/approvals.js.map +1 -1
  36. package/node_modules/@xrkseek/server-face/dist/collab-board.d.ts +15 -0
  37. package/node_modules/@xrkseek/server-face/dist/collab-board.d.ts.map +1 -1
  38. package/node_modules/@xrkseek/server-face/dist/collab-board.js +62 -2
  39. package/node_modules/@xrkseek/server-face/dist/collab-board.js.map +1 -1
  40. package/node_modules/@xrkseek/server-face/dist/dispatch.d.ts.map +1 -1
  41. package/node_modules/@xrkseek/server-face/dist/dispatch.js +2 -15
  42. package/node_modules/@xrkseek/server-face/dist/dispatch.js.map +1 -1
  43. package/node_modules/@xrkseek/server-face/dist/handlers/session.d.ts.map +1 -1
  44. package/node_modules/@xrkseek/server-face/dist/handlers/session.js +38 -21
  45. package/node_modules/@xrkseek/server-face/dist/handlers/session.js.map +1 -1
  46. package/node_modules/@xrkseek/server-face/dist/index.d.ts +3 -3
  47. package/node_modules/@xrkseek/server-face/dist/index.d.ts.map +1 -1
  48. package/node_modules/@xrkseek/server-face/dist/index.js +3 -3
  49. package/node_modules/@xrkseek/server-face/dist/index.js.map +1 -1
  50. package/node_modules/@xrkseek/server-face/dist/permissions.d.ts +19 -2
  51. package/node_modules/@xrkseek/server-face/dist/permissions.d.ts.map +1 -1
  52. package/node_modules/@xrkseek/server-face/dist/permissions.js +30 -10
  53. package/node_modules/@xrkseek/server-face/dist/permissions.js.map +1 -1
  54. package/node_modules/@xrkseek/server-face/dist/runtime.d.ts.map +1 -1
  55. package/node_modules/@xrkseek/server-face/dist/runtime.js +12 -3
  56. package/node_modules/@xrkseek/server-face/dist/runtime.js.map +1 -1
  57. package/node_modules/@xrkseek/server-face/dist/session-capability.d.ts.map +1 -1
  58. package/node_modules/@xrkseek/server-face/dist/session-capability.js +7 -4
  59. package/node_modules/@xrkseek/server-face/dist/session-capability.js.map +1 -1
  60. package/node_modules/@xrkseek/server-face/dist/session-cwd.d.ts.map +1 -1
  61. package/node_modules/@xrkseek/server-face/dist/session-cwd.js +8 -0
  62. package/node_modules/@xrkseek/server-face/dist/session-cwd.js.map +1 -1
  63. package/node_modules/@xrkseek/server-face/dist/session-inject-documents.d.ts +27 -0
  64. package/node_modules/@xrkseek/server-face/dist/session-inject-documents.d.ts.map +1 -0
  65. package/node_modules/@xrkseek/server-face/dist/session-inject-documents.js +77 -0
  66. package/node_modules/@xrkseek/server-face/dist/session-inject-documents.js.map +1 -0
  67. package/node_modules/@xrkseek/server-face/dist/session-posture.d.ts +3 -3
  68. package/node_modules/@xrkseek/server-face/dist/session-posture.js +9 -9
  69. package/node_modules/@xrkseek/server-face/dist/session-posture.js.map +1 -1
  70. package/node_modules/@xrkseek/server-face/dist/session-tools.d.ts +18 -1
  71. package/node_modules/@xrkseek/server-face/dist/session-tools.d.ts.map +1 -1
  72. package/node_modules/@xrkseek/server-face/dist/session-tools.js +76 -9
  73. package/node_modules/@xrkseek/server-face/dist/session-tools.js.map +1 -1
  74. package/node_modules/@xrkseek/server-face/dist/skill-documents.d.ts +3 -3
  75. package/node_modules/@xrkseek/server-face/dist/skill-documents.d.ts.map +1 -1
  76. package/node_modules/@xrkseek/server-face/dist/skill-documents.js.map +1 -1
  77. package/node_modules/@xrkseek/server-face/dist/skill-list.d.ts +2 -1
  78. package/node_modules/@xrkseek/server-face/dist/skill-list.d.ts.map +1 -1
  79. package/node_modules/@xrkseek/server-face/dist/skill-list.js +10 -3
  80. package/node_modules/@xrkseek/server-face/dist/skill-list.js.map +1 -1
  81. package/node_modules/@xrkseek/server-face/dist/skill-read.d.ts +2 -1
  82. package/node_modules/@xrkseek/server-face/dist/skill-read.d.ts.map +1 -1
  83. package/node_modules/@xrkseek/server-face/dist/skill-read.js +15 -2
  84. package/node_modules/@xrkseek/server-face/dist/skill-read.js.map +1 -1
  85. package/node_modules/@xrkseek/server-face/dist/slash.d.ts.map +1 -1
  86. package/node_modules/@xrkseek/server-face/dist/slash.js +2 -3
  87. package/node_modules/@xrkseek/server-face/dist/slash.js.map +1 -1
  88. package/node_modules/@xrkseek/server-face/dist/workspace-face.d.ts.map +1 -1
  89. package/node_modules/@xrkseek/server-face/dist/workspace-face.js +31 -12
  90. package/node_modules/@xrkseek/server-face/dist/workspace-face.js.map +1 -1
  91. package/node_modules/@xrkseek/server-face/dist/xiangyang-session-migrate.d.ts.map +1 -1
  92. package/node_modules/@xrkseek/server-face/dist/xiangyang-session-migrate.js +5 -6
  93. package/node_modules/@xrkseek/server-face/dist/xiangyang-session-migrate.js.map +1 -1
  94. package/node_modules/@xrkseek/server-face/dist/xiangyang-skill-bodies/demand-translate.d.ts +4 -0
  95. package/node_modules/@xrkseek/server-face/dist/xiangyang-skill-bodies/demand-translate.d.ts.map +1 -0
  96. package/node_modules/@xrkseek/server-face/dist/xiangyang-skill-bodies/demand-translate.js +54 -0
  97. package/node_modules/@xrkseek/server-face/dist/xiangyang-skill-bodies/demand-translate.js.map +1 -0
  98. package/node_modules/@xrkseek/server-face/dist/xiangyang-skill-bodies/home-config.d.ts +4 -0
  99. package/node_modules/@xrkseek/server-face/dist/xiangyang-skill-bodies/home-config.d.ts.map +1 -0
  100. package/node_modules/@xrkseek/server-face/dist/xiangyang-skill-bodies/home-config.js +61 -0
  101. package/node_modules/@xrkseek/server-face/dist/xiangyang-skill-bodies/home-config.js.map +1 -0
  102. package/node_modules/@xrkseek/server-face/dist/xiangyang-skill-bodies/index.d.ts +9 -0
  103. package/node_modules/@xrkseek/server-face/dist/xiangyang-skill-bodies/index.d.ts.map +1 -0
  104. package/node_modules/@xrkseek/server-face/dist/xiangyang-skill-bodies/index.js +24 -0
  105. package/node_modules/@xrkseek/server-face/dist/xiangyang-skill-bodies/index.js.map +1 -0
  106. package/node_modules/@xrkseek/server-face/dist/xiangyang-skill-bodies/mainline-sideline.d.ts +4 -0
  107. package/node_modules/@xrkseek/server-face/dist/xiangyang-skill-bodies/mainline-sideline.d.ts.map +1 -0
  108. package/node_modules/@xrkseek/server-face/dist/xiangyang-skill-bodies/mainline-sideline.js +46 -0
  109. package/node_modules/@xrkseek/server-face/dist/xiangyang-skill-bodies/mainline-sideline.js.map +1 -0
  110. package/node_modules/@xrkseek/server-face/dist/xiangyang-skill-bodies/memory-polish.d.ts +4 -0
  111. package/node_modules/@xrkseek/server-face/dist/xiangyang-skill-bodies/memory-polish.d.ts.map +1 -0
  112. package/node_modules/@xrkseek/server-face/dist/xiangyang-skill-bodies/memory-polish.js +38 -0
  113. package/node_modules/@xrkseek/server-face/dist/xiangyang-skill-bodies/memory-polish.js.map +1 -0
  114. package/node_modules/@xrkseek/server-face/dist/xiangyang-skill-bodies/plugin-dev.d.ts +4 -0
  115. package/node_modules/@xrkseek/server-face/dist/xiangyang-skill-bodies/plugin-dev.d.ts.map +1 -0
  116. package/node_modules/@xrkseek/server-face/dist/xiangyang-skill-bodies/plugin-dev.js +114 -0
  117. package/node_modules/@xrkseek/server-face/dist/xiangyang-skill-bodies/plugin-dev.js.map +1 -0
  118. package/node_modules/@xrkseek/server-face/dist/xiangyang-skill-bodies/skill-merge.d.ts +4 -0
  119. package/node_modules/@xrkseek/server-face/dist/xiangyang-skill-bodies/skill-merge.d.ts.map +1 -0
  120. package/node_modules/@xrkseek/server-face/dist/xiangyang-skill-bodies/skill-merge.js +36 -0
  121. package/node_modules/@xrkseek/server-face/dist/xiangyang-skill-bodies/skill-merge.js.map +1 -0
  122. package/node_modules/@xrkseek/server-face/dist/xiangyang-skill-bodies/xrk-cleanup.d.ts +4 -0
  123. package/node_modules/@xrkseek/server-face/dist/xiangyang-skill-bodies/xrk-cleanup.d.ts.map +1 -0
  124. package/node_modules/@xrkseek/server-face/dist/xiangyang-skill-bodies/xrk-cleanup.js +61 -0
  125. package/node_modules/@xrkseek/server-face/dist/xiangyang-skill-bodies/xrk-cleanup.js.map +1 -0
  126. package/node_modules/@xrkseek/server-face/dist/xiangyang-skills.d.ts +15 -4
  127. package/node_modules/@xrkseek/server-face/dist/xiangyang-skills.d.ts.map +1 -1
  128. package/node_modules/@xrkseek/server-face/dist/xiangyang-skills.js +18 -92
  129. package/node_modules/@xrkseek/server-face/dist/xiangyang-skills.js.map +1 -1
  130. package/node_modules/@xrkseek/server-host/dist/index.d.ts +15 -4
  131. package/node_modules/@xrkseek/server-host/dist/index.d.ts.map +1 -1
  132. package/node_modules/@xrkseek/server-host/dist/index.js +42 -23
  133. package/node_modules/@xrkseek/server-host/dist/index.js.map +1 -1
  134. package/node_modules/@xrkseek/workspace/dist/index.d.ts +8 -3
  135. package/node_modules/@xrkseek/workspace/dist/index.d.ts.map +1 -1
  136. package/node_modules/@xrkseek/workspace/dist/index.js +8 -4
  137. package/node_modules/@xrkseek/workspace/dist/index.js.map +1 -1
  138. package/node_modules/@xrkseek/workspace/dist/workspace-anchor.d.ts +18 -1
  139. package/node_modules/@xrkseek/workspace/dist/workspace-anchor.d.ts.map +1 -1
  140. package/node_modules/@xrkseek/workspace/dist/workspace-anchor.js +26 -1
  141. package/node_modules/@xrkseek/workspace/dist/workspace-anchor.js.map +1 -1
  142. package/package.json +1 -1
@@ -0,0 +1,114 @@
1
+ /** Xiangyang skill body: full process-plugin authoring without harness source. */
2
+ export const ID = "xrk-plugin-dev-care";
3
+ export const BODY = `---
4
+ name: xrk-plugin-dev-care
5
+ description: >-
6
+ Author a complete XRK process plugin without the harness monorepo: kind
7
+ choice, scaffold, install, restart, verify. Use when the user wants a
8
+ plugin, slash command, extra tools, or 「扩展能力」and may have no source tree.
9
+ ---
10
+
11
+ # 插件开发(无源码仓也能完成)
12
+
13
+ 进程插件 = 本机目录里的 \`xrk.plugin.json\` + 入口模块。Host **restart** 后进工具面。
14
+ **不需要** XRK-harness 仓库;本 skill 含最小可运行模板。
15
+
16
+ ## 0. 先选型(别一上来脚手架)
17
+
18
+ | 用户要什么 | 选 | 说明 |
19
+ |------------|-----|------|
20
+ | 接已有 / 可起的 MCP 服务器 | **Settings → MCP** | 走 \`xrk-home-config\`;不要再包一层 tools 插件 |
21
+ | 本机自有函数给模型调 | \`kind: "tools"\` | 本 skill |
22
+ | 追加一段 system 提示 | \`kind: "prompt"\` | 本 skill |
23
+ | 斜杠命令 | \`kind: "commands"\` | 本 skill |
24
+ | 改产品壳 UI | 社区 / client 包 | 不是 process tools;勿用本模板冒充 |
25
+
26
+ ## 1. 落盘位置
27
+
28
+ 1. \`workspace_list\` → 选用户**编码工作区**(不是向阳 \`ws_default\`)。
29
+ 2. 在该工作区建 \`extensions/<plugin-id>/\`(推荐),或任意用户指定目录。
30
+ 3. 用 \`workspace_session_prompt\` 派编码会话写文件;向阳侧保留 \`session_id\`,钉主线(见 \`xrk-mainline-sideline\`)。
31
+
32
+ ## 2. 最小可运行模板(tools)
33
+
34
+ \`extensions/my-plugin/xrk.plugin.json\`:
35
+
36
+ \`\`\`json
37
+ {
38
+ "id": "my-plugin",
39
+ "kind": "tools",
40
+ "entry": "./plugin.mjs"
41
+ }
42
+ \`\`\`
43
+
44
+ \`extensions/my-plugin/plugin.mjs\`:
45
+
46
+ \`\`\`js
47
+ export function createPlugin() {
48
+ return {
49
+ id: "my-plugin",
50
+ kind: "tools",
51
+ tools: [
52
+ {
53
+ name: "my_ping",
54
+ description: "Health check — returns pong. Use to verify the plugin loaded.",
55
+ parameters: {
56
+ type: "object",
57
+ properties: {},
58
+ additionalProperties: false,
59
+ },
60
+ async execute() {
61
+ return { content: "pong" };
62
+ },
63
+ },
64
+ ],
65
+ };
66
+ }
67
+ \`\`\`
68
+
69
+ 规则:
70
+
71
+ - \`xrk.plugin.json\` 的 \`id\` / \`kind\` 与 \`createPlugin()\` 返回值**一致**。
72
+ - 工具 \`name\` 稳定、\`description\` 写清何时用与失败语义;勿空描述、勿万能 catch 吞错。
73
+ - **密钥走 Credentials**(设置 UI / 凭据工具),禁止写进插件源码或 skill。
74
+
75
+ ### prompt / commands 要点
76
+
77
+ - \`prompt\`:返回 \`promptSections\`(追加 system 段),不要假装成 tools。
78
+ - \`commands\`:提供 Face 可列出的斜杠;与用户 recipe 同名时 recipe 优先——起名避开冲突。
79
+
80
+ ## 3. 安装与重载
81
+
82
+ \`\`\`bash
83
+ xrkh plugin add <插件目录的绝对或相对路径>
84
+ xrkh restart
85
+ xrkh plugin list
86
+ \`\`\`
87
+
88
+ - 进程插件**无热重载**;改完必须 \`restart\`(或重启 Desktop Host)。
89
+ - 也可用 \`XRK_PLUGINS_DIR=<父目录>\` 指向含多个插件的父文件夹再起 Host。
90
+ - 插件清单默认在 \`~/.xrk/plugins\`(可用 \`XRK_HOME\` / \`XRK_PLUGINS_DIR\` 改)。
91
+
92
+ ## 4. 验证清单
93
+
94
+ - [ ] \`plugin list\` 出现该 id
95
+ - [ ] **新开会话**(或重建 agent)后工具名可见
96
+ - [ ] 调用一次(如 \`my_ping\` → pong)
97
+ - [ ] 仍没有 → 查徽章/policy deny、是否装错目录;勿盲 \`--force\` 循环
98
+ - [ ] MCP 问题勿按进程插件狂 restart → \`xrk-home-config\`
99
+
100
+ ## 5. 交付话术(给零基础用户)
101
+
102
+ 1. 插件目录在哪
103
+ 2. 已执行 \`plugin add\` + \`restart\` 与否
104
+ 3. 如何在新会话里试用工具名
105
+ 4. 密钥是否在 Credentials(若涉及)
106
+
107
+ ## 反模式
108
+
109
+ - 没有 harness 源码就拒绝写插件。
110
+ - 在向阳 cwd 里堆业务插件(应落到用户编码工作区)。
111
+ - 一律脚手架、从不考虑 MCP。
112
+ - 改完不 restart 就说「坏了」。
113
+ `;
114
+ //# sourceMappingURL=plugin-dev.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin-dev.js","sourceRoot":"","sources":["../../src/xiangyang-skill-bodies/plugin-dev.ts"],"names":[],"mappings":"AAAA,kFAAkF;AAClF,MAAM,CAAC,MAAM,EAAE,GAAG,qBAAqB,CAAC;AAExC,MAAM,CAAC,MAAM,IAAI,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8GnB,CAAC"}
@@ -0,0 +1,4 @@
1
+ /** Xiangyang skill body: merge overlapping skills across layers. */
2
+ export declare const ID = "xrk-skill-merge";
3
+ export declare const BODY = "---\nname: xrk-skill-merge\ndescription: >-\n Merge overlapping skills across ~/.xrk/skills and workspace layers.\n Use when the catalog is noisy, duplicates conflict, or triggers misfire.\n---\n\n# \u6280\u80FD\u5408\u5E76\u4F18\u5316\n\nSkill \u5206\u5C42\uFF08\u4F4E \u2192 \u9AD8\u8986\u76D6\u610F\u56FE\u4EE5\u4EA7\u54C1\u6CE8\u5165\u4E3A\u51C6\uFF09\uFF1A\n\n| \u5C42 | \u8DEF\u5F84 |\n|----|------|\n| \u5BB6\u76EE\u5F55 | `~/.xrk/skills/<id>/SKILL.md` |\n| \u5411\u9633\u4E13\u7528 | `~/.xrk/xiangyang-workspace/.xrk/skills/`\uFF08\u672C\u7A7A\u95F4\u4EA7\u54C1 seed\uFF09 |\n| \u5DE5\u4F5C\u533A | `{workspace}/.xrk/skills/` \u00B7 `{workspace}/.agents/skills/` |\n\nCatalog \u53EA\u66B4\u9732 frontmatter `name` + `description`\uFF08\u89E6\u53D1\u8BCD\uFF09\uFF1B\u6B63\u6587\u9760 `skill` / `/name` \u5C55\u5F00\u3002\n\n## \u6B65\u9AA4\n\n1. \u5217\u51FA\u91CD\u590D `name` / \u8FD1\u4F3C description\uFF08\u5BB6\u76EE\u5F55 vs \u5DE5\u4F5C\u533A vs \u5411\u9633\uFF09\u3002 \n2. **\u771F\u6E90\u4E00\u4EFD**\uFF1A\u9879\u76EE\u4E13\u5C5E \u2192 \u5DE5\u4F5C\u533A\uFF1B\u8DE8\u9879\u76EE\u4E60\u60EF \u2192 `~/.xrk/skills`\uFF1B\u5411\u9633\u7F16\u6392 playbook \u2192 \u5411\u9633 `.xrk/skills`\uFF08\u52FF\u628A\u4EA7\u54C1 seed \u6284\u8FDB harness \u6E90\u7801\u4ED3\u5F53\u552F\u4E00\u771F\u6E90\uFF09\u3002 \n3. \u66F4\u65B0\u7559\u4E0B\u7684\u90A3\u4EFD `description` \u89E6\u53D1\u8BCD\uFF1B\u5220\u6216\u7F29\u5C0F\u91CD\u590D\u4EFD\uFF08\u7528\u6237\u6539\u8FC7\u7684\uFF1A\u7F3A\u624D\u5199\uFF0C\u6216\u5F81\u5F97\u540C\u610F\u518D\u6539\uFF09\u3002 \n4. \u62BD\u67E5\uFF1A`skill` \u5DE5\u5177 / `/skills` / \u65B0\u4F1A\u8BDD catalog \u662F\u5426\u5E72\u51C0\u3002 \n5. \u5411\u9633\u4EA7\u54C1 seed \u88AB\u65E7\u6B63\u6587\u5361\u4F4F\u65F6\uFF1A\u91CD\u542F Host \u4F1A\u6309\u6B63\u6587 diff \u5237\u65B0\uFF1B\u7528\u6237\u81EA\u5EFA id \u4E0D\u4F1A\u88AB seed \u8986\u76D6\u3002\n\n## \u53CD\u6A21\u5F0F\n\n- \u540C\u540D\u704C\u4E24\u4EFD\uFF08`~/.xrk/skills` \u4E0E\u5DE5\u4F5C\u533A\u5404\u4E00\u4EFD\u5168\u6587\uFF09\u3002 \n- \u628A\u957F\u624B\u518C\u585E\u8FDB description\u3002 \n- \u672A\u7ECF\u540C\u610F\u6539\u7528\u6237\u624B\u5199 SKILL.md\u3002\n";
4
+ //# sourceMappingURL=skill-merge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skill-merge.d.ts","sourceRoot":"","sources":["../../src/xiangyang-skill-bodies/skill-merge.ts"],"names":[],"mappings":"AAAA,oEAAoE;AACpE,eAAO,MAAM,EAAE,oBAAoB,CAAC;AAEpC,eAAO,MAAM,IAAI,+pEAgChB,CAAC"}
@@ -0,0 +1,36 @@
1
+ /** Xiangyang skill body: merge overlapping skills across layers. */
2
+ export const ID = "xrk-skill-merge";
3
+ export const BODY = `---
4
+ name: xrk-skill-merge
5
+ description: >-
6
+ Merge overlapping skills across ~/.xrk/skills and workspace layers.
7
+ Use when the catalog is noisy, duplicates conflict, or triggers misfire.
8
+ ---
9
+
10
+ # 技能合并优化
11
+
12
+ Skill 分层(低 → 高覆盖意图以产品注入为准):
13
+
14
+ | 层 | 路径 |
15
+ |----|------|
16
+ | 家目录 | \`~/.xrk/skills/<id>/SKILL.md\` |
17
+ | 向阳专用 | \`~/.xrk/xiangyang-workspace/.xrk/skills/\`(本空间产品 seed) |
18
+ | 工作区 | \`{workspace}/.xrk/skills/\` · \`{workspace}/.agents/skills/\` |
19
+
20
+ Catalog 只暴露 frontmatter \`name\` + \`description\`(触发词);正文靠 \`skill\` / \`/name\` 展开。
21
+
22
+ ## 步骤
23
+
24
+ 1. 列出重复 \`name\` / 近似 description(家目录 vs 工作区 vs 向阳)。
25
+ 2. **真源一份**:项目专属 → 工作区;跨项目习惯 → \`~/.xrk/skills\`;向阳编排 playbook → 向阳 \`.xrk/skills\`(勿把产品 seed 抄进 harness 源码仓当唯一真源)。
26
+ 3. 更新留下的那份 \`description\` 触发词;删或缩小重复份(用户改过的:缺才写,或征得同意再改)。
27
+ 4. 抽查:\`skill\` 工具 / \`/skills\` / 新会话 catalog 是否干净。
28
+ 5. 向阳产品 seed 被旧正文卡住时:重启 Host 会按正文 diff 刷新;用户自建 id 不会被 seed 覆盖。
29
+
30
+ ## 反模式
31
+
32
+ - 同名灌两份(\`~/.xrk/skills\` 与工作区各一份全文)。
33
+ - 把长手册塞进 description。
34
+ - 未经同意改用户手写 SKILL.md。
35
+ `;
36
+ //# sourceMappingURL=skill-merge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skill-merge.js","sourceRoot":"","sources":["../../src/xiangyang-skill-bodies/skill-merge.ts"],"names":[],"mappings":"AAAA,oEAAoE;AACpE,MAAM,CAAC,MAAM,EAAE,GAAG,iBAAiB,CAAC;AAEpC,MAAM,CAAC,MAAM,IAAI,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgCnB,CAAC"}
@@ -0,0 +1,4 @@
1
+ /** Xiangyang skill body: ~/.xrk and project .xrk reclaim. */
2
+ export declare const ID = "xrk-xrk-cleanup";
3
+ export declare const BODY = "---\nname: xrk-xrk-cleanup\ndescription: >-\n Reclaim disk under ~/.xrk and project .xrk with a keep/delete map.\n Use when the user says litter, cache, full disk, tidy .xrk, or Harness feels heavy.\n---\n\n# .xrk \u5783\u573E\u6E05\u7406\n\n\u8303\u56F4\uFF1A\u4EA7\u54C1\u5BB6\u76EE\u5F55 `~/.xrk`\uFF08\u6216 `XRK_HOME`\uFF09\u4E0E\u5404**\u7F16\u7801\u5DE5\u4F5C\u533A**\u7684 `.xrk`\u3002 \n\u5411\u9633\u6709 full access\uFF0C\u53EF\u672C\u4F1A\u8BDD\u5904\u7406\uFF1B\u8DE8\u9879\u76EE\u5927\u6E05\u7406\u4E5F\u53EF `workspace_session_prompt` \u6D3E\u5DE5\u3002\n\n## \u539F\u5219\n\n1. **\u5148\u6E05\u5355\u540E\u5220\u9664**\uFF1A\u5217\u8DEF\u5F84 + \u4F53\u79EF\uFF08\u6216\u5927\u81F4\u5927\u5C0F\uFF09\uFF0C\u5BF9\u300C\u53EF\u80FD\u6709\u7528\u300D\u7684\u5F81\u5F97\u540C\u610F\u3002 \n2. **\u4F18\u5148\u5927\u6587\u4EF6\u4E0E\u660E\u786E\u4E34\u65F6\u4EA7\u7269**\u3002 \n3. **\u7EDD\u4E0D\u9759\u9ED8\u5220**\u4F1A\u8BDD\u70ED\u5E93\u3001\u51ED\u636E\u3001\u7528\u6237\u6539\u8FC7\u7684 skills / \u8BB0\u5FC6\u6B63\u6587\uFF08\u9664\u975E\u7528\u6237\u660E\u786E\u8981\u6C42\uFF09\u3002\n\n## `~/.xrk` \u5730\u56FE\n\n| \u8DEF\u5F84 | \u9ED8\u8BA4 | \u8BF4\u660E |\n|------|------|------|\n| `settings.yaml` \u00B7 `host-settings.json` | **\u4FDD\u7559** | Host / \u8BBE\u7F6E\u771F\u6E90 |\n| `.credentials.yaml` | **\u4FDD\u7559** | \u5BC6\u94A5\uFF1B\u52FF\u8FDB\u804A\u5929 |\n| `sessions/`\uFF08`sessions.db` \u00B7 WAL\uFF09 | **\u4FDD\u7559** | \u70ED\u4F1A\u8BDD\uFF1B\u5F52\u6863\u8D70\u4EA7\u54C1\u5F52\u6863\uFF0C\u52FF\u624B\u5220\u5E93\u56FE\u7701\u4E8B |\n| `sessions-archive.db`\uFF08\u82E5\u6709\uFF09 | **\u4FDD\u7559** | \u5F52\u6863\u51B7\u5E93 |\n| `workspaces.json` \u00B7 `session-models.json` \u00B7 `session-agent-presets.json` | **\u4FDD\u7559** | \u5DE5\u4F5C\u533A\u4E0E\u5FBD\u7AE0\u9489 |\n| `memories/` | **\u4FDD\u7559\u6B63\u6587**\uFF1B\u53EF\u6E05\u566A\u58F0\u6761\u76EE | \u7528 `xrk-memory-polish`\uFF0C\u522B\u6574\u76EE\u5F55 rm |\n| `skills/` \u00B7 `xiangyang-workspace/.xrk/skills/` | **\u4FDD\u7559\u7528\u6237\u6539\u8FC7\u7684** | \u4EA7\u54C1 seed \u53EF\u5237\u65B0\uFF1B\u52FF\u5220\u7528\u6237\u81EA\u5EFA |\n| `plugins/` | **\u614E\u5220** | \u5DF2\u88C5\u63D2\u4EF6\uFF1B\u786E\u8BA4\u65E0\u7528\u518D\u5378 |\n| `spill/` \u00B7 `tmp/` \u00B7 `cache/` \u00B7 `logs/` | **\u53EF\u6E05** | \u5DE5\u5177\u6EA2\u51FA\u3001\u4E34\u65F6\u3001\u7F13\u5B58\u3001\u65E5\u5FD7 |\n| `memory-embeddings/` \u00B7 `pubmed-cache/` \u7B49\u7F13\u5B58\u6811 | **\u53EF\u6E05** | \u53EF\u518D\u751F\u7D22\u5F15/\u7F13\u5B58 |\n| `mcp-venvs/` \u00B7 `mcp-cwd/` | **\u53EF\u6E05\u95F2\u7F6E** | \u786E\u8BA4\u5BF9\u5E94 MCP \u4E0D\u7528 |\n| `community-plugin-mirror/` | **\u53EF\u6E05** | \u955C\u50CF\u7F13\u5B58\uFF0C\u53EF\u518D\u62C9 |\n| `run/` | **\u614E** | Host pid\uFF1B\u52FF\u5728 Host \u8FD0\u884C\u4E2D\u4E71\u5220\u9501 |\n| `cron/` | **\u614E** | \u7528\u6237\u5B9A\u65F6\u4EFB\u52A1 |\n| `attachments/` \u00B7 `canvases/` \u00B7 `checkpoints/` | **\u95EE\u518D\u5220** | \u7528\u6237\u4EA7\u7269 |\n| `xiangyang-workspace/` | **\u4FDD\u7559\u76EE\u5F55** | \u5411\u9633\u5BB6\uFF1B\u53EA\u6E05\u5176\u4E0B\u660E\u786E temp |\n\n## \u9879\u76EE `.xrk`\uFF08\u7F16\u7801\u5DE5\u4F5C\u533A\uFF09\n\n| \u53EF\u6E05 | \u4FDD\u7559 |\n|------|------|\n| \u7A7A / \u8FC7\u671F recipes\u3001\u660E\u663E temp\u3001\u91CD\u590D\u8349\u7A3F | \u7528\u6237\u5199\u7684 skills\u3001\u6709\u610F\u4FDD\u7559\u7684 recipes\u3001\u5DE5\u4F5C\u533A AGENTS |\n\n## \u6B65\u9AA4\n\n1. \u5217\u5019\u9009\uFF08\u8DEF\u5F84 + \u4E3A\u4F55\u53EF\u5220\uFF09\u3002 \n2. \u7528\u6237\u786E\u8BA4\u6216\u660E\u786E\u6388\u6743\u300C\u6E05\u7F13\u5B58\u300D\u540E\u5220\u9664\u3002 \n3. \u5927\u5757\u5220\u9664\u540E\u82E5\u70ED\u5E93\u865A\u80D6\uFF0C\u53EF\u63D0\u9192\uFF1A\u5F52\u6863\u4F1A\u8BDD\u8D70\u4EA7\u54C1\u5F52\u6863\uFF1BHost \u5173\u95ED\u65F6\u53EF\u80FD VACUUM\u3002 \n4. \u77ED\u6458\u8981\u56DE\u62A5\uFF1A\u5220\u4E86\u4EC0\u4E48\u3001\u4FDD\u7559\u4E86\u4EC0\u4E48\u3001\u5927\u7EA6\u817E\u51FA\u591A\u5C11\u3002\n\n## \u53CD\u6A21\u5F0F\n\n- \u4E3A\u7701\u4E8B `rm -rf ~/.xrk`\u3002 \n- \u5220 `sessions.db` / \u51ED\u636E\u5F53\u300C\u6E05\u7406\u300D\u3002 \n- \u628A\u7B56\u5C55\u8BB0\u5FC6\u6574\u76EE\u5F55\u5F53\u7F13\u5B58\u5220\u6389\u3002\n";
4
+ //# sourceMappingURL=xrk-cleanup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"xrk-cleanup.d.ts","sourceRoot":"","sources":["../../src/xiangyang-skill-bodies/xrk-cleanup.ts"],"names":[],"mappings":"AAAA,6DAA6D;AAC7D,eAAO,MAAM,EAAE,oBAAoB,CAAC;AAEpC,eAAO,MAAM,IAAI,0uIAyDhB,CAAC"}
@@ -0,0 +1,61 @@
1
+ /** Xiangyang skill body: ~/.xrk and project .xrk reclaim. */
2
+ export const ID = "xrk-xrk-cleanup";
3
+ export const BODY = `---
4
+ name: xrk-xrk-cleanup
5
+ description: >-
6
+ Reclaim disk under ~/.xrk and project .xrk with a keep/delete map.
7
+ Use when the user says litter, cache, full disk, tidy .xrk, or Harness feels heavy.
8
+ ---
9
+
10
+ # .xrk 垃圾清理
11
+
12
+ 范围:产品家目录 \`~/.xrk\`(或 \`XRK_HOME\`)与各**编码工作区**的 \`.xrk\`。
13
+ 向阳有 full access,可本会话处理;跨项目大清理也可 \`workspace_session_prompt\` 派工。
14
+
15
+ ## 原则
16
+
17
+ 1. **先清单后删除**:列路径 + 体积(或大致大小),对「可能有用」的征得同意。
18
+ 2. **优先大文件与明确临时产物**。
19
+ 3. **绝不静默删**会话热库、凭据、用户改过的 skills / 记忆正文(除非用户明确要求)。
20
+
21
+ ## \`~/.xrk\` 地图
22
+
23
+ | 路径 | 默认 | 说明 |
24
+ |------|------|------|
25
+ | \`settings.yaml\` · \`host-settings.json\` | **保留** | Host / 设置真源 |
26
+ | \`.credentials.yaml\` | **保留** | 密钥;勿进聊天 |
27
+ | \`sessions/\`(\`sessions.db\` · WAL) | **保留** | 热会话;归档走产品归档,勿手删库图省事 |
28
+ | \`sessions-archive.db\`(若有) | **保留** | 归档冷库 |
29
+ | \`workspaces.json\` · \`session-models.json\` · \`session-agent-presets.json\` | **保留** | 工作区与徽章钉 |
30
+ | \`memories/\` | **保留正文**;可清噪声条目 | 用 \`xrk-memory-polish\`,别整目录 rm |
31
+ | \`skills/\` · \`xiangyang-workspace/.xrk/skills/\` | **保留用户改过的** | 产品 seed 可刷新;勿删用户自建 |
32
+ | \`plugins/\` | **慎删** | 已装插件;确认无用再卸 |
33
+ | \`spill/\` · \`tmp/\` · \`cache/\` · \`logs/\` | **可清** | 工具溢出、临时、缓存、日志 |
34
+ | \`memory-embeddings/\` · \`pubmed-cache/\` 等缓存树 | **可清** | 可再生索引/缓存 |
35
+ | \`mcp-venvs/\` · \`mcp-cwd/\` | **可清闲置** | 确认对应 MCP 不用 |
36
+ | \`community-plugin-mirror/\` | **可清** | 镜像缓存,可再拉 |
37
+ | \`run/\` | **慎** | Host pid;勿在 Host 运行中乱删锁 |
38
+ | \`cron/\` | **慎** | 用户定时任务 |
39
+ | \`attachments/\` · \`canvases/\` · \`checkpoints/\` | **问再删** | 用户产物 |
40
+ | \`xiangyang-workspace/\` | **保留目录** | 向阳家;只清其下明确 temp |
41
+
42
+ ## 项目 \`.xrk\`(编码工作区)
43
+
44
+ | 可清 | 保留 |
45
+ |------|------|
46
+ | 空 / 过期 recipes、明显 temp、重复草稿 | 用户写的 skills、有意保留的 recipes、工作区 AGENTS |
47
+
48
+ ## 步骤
49
+
50
+ 1. 列候选(路径 + 为何可删)。
51
+ 2. 用户确认或明确授权「清缓存」后删除。
52
+ 3. 大块删除后若热库虚胖,可提醒:归档会话走产品归档;Host 关闭时可能 VACUUM。
53
+ 4. 短摘要回报:删了什么、保留了什么、大约腾出多少。
54
+
55
+ ## 反模式
56
+
57
+ - 为省事 \`rm -rf ~/.xrk\`。
58
+ - 删 \`sessions.db\` / 凭据当「清理」。
59
+ - 把策展记忆整目录当缓存删掉。
60
+ `;
61
+ //# sourceMappingURL=xrk-cleanup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"xrk-cleanup.js","sourceRoot":"","sources":["../../src/xiangyang-skill-bodies/xrk-cleanup.ts"],"names":[],"mappings":"AAAA,6DAA6D;AAC7D,MAAM,CAAC,MAAM,EAAE,GAAG,iBAAiB,CAAC;AAEpC,MAAM,CAAC,MAAM,IAAI,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyDnB,CAAC"}
@@ -1,12 +1,23 @@
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
  */
9
+ import { type XiangyangSkillSeed } from "./xiangyang-skill-bodies/index.js";
10
+ export type { XiangyangSkillSeed };
11
+ export { XIANGYANG_SKILL_SEEDS, XIANGYANG_SKILL_IDS, XIANGYANG_SKILLS_REVISION, } from "./xiangyang-skill-bodies/index.js";
12
+ export interface SeedXiangyangSkillsResult {
13
+ /** Skill ids whose SKILL.md was created or rewritten. */
14
+ readonly installed: string[];
15
+ /** Product catalog revision (`XIANGYANG_SKILLS_REVISION`). */
16
+ readonly revision: number;
17
+ }
5
18
  /**
6
- * Write missing skill folders under the 向阳空间 workspace (idempotent).
19
+ * Write / refresh product skill folders under the 向阳空间 workspace.
7
20
  * @param xiangyangRoot - Absolute path of the reserved workspace directory.
8
21
  */
9
- export declare function seedXiangyangSkills(xiangyangRoot: string): Promise<{
10
- installed: string[];
11
- }>;
22
+ export declare function seedXiangyangSkills(xiangyangRoot: string): Promise<SeedXiangyangSkillsResult>;
12
23
  //# sourceMappingURL=xiangyang-skills.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"xiangyang-skills.d.ts","sourceRoot":"","sources":["../src/xiangyang-skills.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAkGH;;;GAGG;AACH,wBAAsB,mBAAmB,CACvC,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC;IAAE,SAAS,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAalC"}
1
+ {"version":3,"file":"xiangyang-skills.d.ts","sourceRoot":"","sources":["../src/xiangyang-skills.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,EAGL,KAAK,kBAAkB,EACxB,MAAM,mCAAmC,CAAC;AAE3C,YAAY,EAAE,kBAAkB,EAAE,CAAC;AACnC,OAAO,EACL,qBAAqB,EACrB,mBAAmB,EACnB,yBAAyB,GAC1B,MAAM,mCAAmC,CAAC;AAE3C,MAAM,WAAW,yBAAyB;IACxC,yDAAyD;IACzD,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC;IAC7B,8DAA8D;IAC9D,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED;;;GAGG;AACH,wBAAsB,mBAAmB,CACvC,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,yBAAyB,CAAC,CAmBpC"}
@@ -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
  /**
@@ -79,14 +89,15 @@ export type AgentFactory = (input: {
79
89
  * addition to the workspace root. Host fills this from Settings
80
90
  * `permission.extraWritableRoots` (default includes `{XRK_HOME}`).
81
91
  * Symlink escape out of a listed root is denied; relative paths always
82
- * resolve under the workspace root.
92
+ * resolve under the workspace root. Prefer a live getter for Settings
93
+ * hot switch without agent rebuild.
83
94
  */
84
- extraWritableRoots?: readonly string[];
95
+ extraWritableRoots?: readonly string[] | (() => readonly string[]);
85
96
  /**
86
97
  * Path gate from session sandbox. `open` when danger-full-access / Auto so
87
- * file tools match shell (no workspace jail).
98
+ * file tools match shell (no workspace jail). Live getter preferred.
88
99
  */
89
- pathAccessMode?: PathAccessMode;
100
+ pathAccessMode?: PathAccessMode | (() => PathAccessMode);
90
101
  /** Live session object-path allowlist (path-overreach Once / Whitelist). */
91
102
  readSessionPathAllowlist?: () => readonly string[];
92
103
  /** Clear ephemeral Once grants after each tool settle. */
@@ -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":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAkB,MAAM,qBAAqB,CAAC;AACvE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE/C,OAAO,EAQL,KAAK,YAAY,EAClB,MAAM,uBAAuB,CAAC;AAI/B,OAAO,EAKL,KAAK,cAAc,EACpB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAGL,KAAK,cAAc,EACpB,MAAM,sBAAsB,CAAC;AAQ9B,OAAO,EAKL,KAAK,UAAU,EAChB,MAAM,wBAAwB,CAAC;AAOhC,OAAO,EAmBL,KAAK,iBAAiB,EAkBvB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAmCL,iCAAiC,EACjC,uCAAuC,EACvC,oCAAoC,EAWrC,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAOL,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACtB,MAAM,wBAAwB,CAAC;AAQhC,OAAO,EAAqC,KAAK,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAwBhG,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAiBvD,OAAO,KAAK,EAAc,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAK7D,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAC1E,YAAY,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AACjE,YAAY,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACzE,YAAY,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC7D,OAAO,EACL,mBAAmB,EACnB,6BAA6B,EAC7B,wBAAwB,EACxB,KAAK,yBAAyB,GAC/B,MAAM,yBAAyB,CAAC;AAMjC,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,WAAW,EACX,eAAe,EACf,uBAAuB,EACvB,cAAc,EACd,kBAAkB,EAClB,KAAK,WAAW,EAChB,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,8BAA8B,GACpC,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,cAAc,EACd,kBAAkB,EAClB,4BAA4B,EAC5B,8BAA8B,EAC9B,uBAAuB,EACvB,8BAA8B,EAC9B,KAAK,mBAAmB,EACxB,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,kBAAkB,GACxB,MAAM,eAAe,CAAC;AA0HvB;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,EAAE;IAClD;;;OAGG;IACH,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B;;;;OAIG;IACH,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAC3B,SAAS,EAAE,MAAM,GAAG,SAAS,KAC1B,MAAM,GAAG,SAAS,CAAC;IACxB,QAAQ,CAAC,mBAAmB,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;IACxE,QAAQ,CAAC,eAAe,EAAE,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,KAAK,OAAO,mBAAmB,EAAE,WAAW,CAAC;IACrG;;;;;OAKG;IACH,QAAQ,CAAC,sBAAsB,CAAC,EAAE,CAChC,SAAS,EAAE,MAAM,GAAG,SAAS,KAC1B,SAAS,MAAM,EAAE,CAAC;IACvB,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;IAClC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC;CACjC,GAAG,WAAW,CACb,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CACtD,CA4BA;AAED,MAAM,MAAM,kBAAkB,GAAG,CAC/B,YAAY,EAAE,MAAM,KACjB,OAAO,CAAC;IACX,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO,mBAAmB,EAAE,kBAAkB,CAAC;CAC/D,CAAC,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,CAAC,KAAK,EAAE;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,YAAY,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,wEAAwE;IACxE,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,8FAA8F;IAC9F,OAAO,EAAE,SAAS,gBAAgB,EAAE,CAAC;IACrC,mEAAmE;IACnE,YAAY,CAAC,EAAE,kBAAkB,CAAC;IAClC;;;OAGG;IACH,eAAe,CAAC,EAAE,CAChB,GAAG,EAAE,OAAO,mBAAmB,EAAE,iBAAiB,KAC/C,MAAM,GAAG,SAAS,CAAC;IACxB,kDAAkD;IAClD,WAAW,CAAC,EAAE,OAAO,qBAAqB,EAAE,eAAe,CAAC;IAC5D;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC;;;;;;;OAOG;IACH,kBAAkB,CAAC,EACf,SAAS,MAAM,EAAE,GACjB,CAAC,MAAM,SAAS,MAAM,EAAE,CAAC,CAAC;IAC9B;;;OAGG;IACH,cAAc,CAAC,EAAE,cAAc,GAAG,CAAC,MAAM,cAAc,CAAC,CAAC;IACzD,4EAA4E;IAC5E,wBAAwB,CAAC,EAAE,MAAM,SAAS,MAAM,EAAE,CAAC;IACnD,0DAA0D;IAC1D,oBAAoB,CAAC,EAAE,MAAM,IAAI,CAAC;IAClC,qEAAqE;IACrE,eAAe,CAAC,EAAE,OAAO,qBAAqB,EAAE,eAAe,CAAC;IAChE,8CAA8C;IAC9C,gBAAgB,CAAC,EAAE,MAAM,OAAO,CAAC;IACjC;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,mBAAmB,EAAE,sBAAsB,CAAC;IAChE;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,qBAAqB,EAAE,YAAY,CAAC;IACvD;;;;OAIG;IACH,cAAc,CAAC,EAAE,OAAO,mBAAmB,EAAE,sBAAsB,CAAC;IACpE;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,sBAAsB,EAAE,aAAa,CAAC;IAC7D;;;OAGG;IACH,cAAc,CAAC,EAAE,MACb;QACE,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAC3B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;KAC/B,GACD,SAAS,CAAC;IACd;;;OAGG;IACH,EAAE,CAAC,EAAE,OAAO,kBAAkB,EAAE,SAAS,CAAC;IAC1C,gEAAgE;IAChE,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,0DAA0D;IAC1D,WAAW,CAAC,EAAE,OAAO,uBAAuB,EAAE,WAAW,CAAC;IAC1D;;;OAGG;IACH,UAAU,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,UAAU,GAAG,SAAS,CAAC;IAC3D,uFAAuF;IACvF,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,4DAA4D;IAC5D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,2EAA2E;IAC3E,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,2EAA2E;IAC3E,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,+DAA+D;IAC/D,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC9B,oCAAoC;IACpC,UAAU,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC;IACnC,2DAA2D;IAC3D,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,UAAU,CAAC,EAAE;QACX,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,iBAAiB,CAAC,EAAE,MAAM,CAAC;KAC5B,CAAC;IACF,iFAAiF;IACjF,UAAU,CAAC,EAAE;QACX,QAAQ,CAAC,EACL,eAAe,GACf,YAAY,GACZ,cAAc,GACd,KAAK,CAAC;KACX,CAAC;IACF,iFAAiF;IACjF,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,oFAAoF;IACpF,SAAS,CAAC,EAAE,OAAO,mBAAmB,EAAE,kBAAkB,CAAC;IAC3D,2EAA2E;IAC3E,eAAe,CAAC,EAAE;QAChB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAC3B;;;;WAIG;QACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAAC;KACrD,CAAC;IACF;;;OAGG;IACH,gBAAgB,CAAC,EAAE,OAAO,4BAA4B,EAAE,6BAA6B,CAAC;IACtF;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,uBAAuB,EAAE,oBAAoB,CAAC;IAC/D;;;OAGG;IACH,kBAAkB,CAAC,EAAE,OAAO,4BAA4B,EAAE,wBAAwB,CAAC;IACnF;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACnC;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,mBAAmB,EAAE,oBAAoB,CAAC;IAClE;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,qBAAqB,EAAE,kBAAkB,CAAC;IAChE,kEAAkE;IAClE,QAAQ,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IAC7B;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,yBAAyB,EAAE,qBAAqB,CAAC;IAC1E,0EAA0E;IAC1E,WAAW,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IAChC;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,yBAAyB,EAAE,qBAAqB,CAAC;IAC1E,0EAA0E;IAC1E,WAAW,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IAChC;;;OAGG;IACH,mBAAmB,CAAC,EAAE,OAAO,6BAA6B,EAAE,yBAAyB,CAAC;IACtF,kFAAkF;IAClF,eAAe,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACpC;;;;OAIG;IACH,aAAa,CAAC,EAAE,KAAK,GAAG,cAAc,CAAC;IACvC;;;OAGG;IACH,MAAM,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACrB;;;;OAIG;IACH,aAAa,CAAC,EAAE,OAAO,qBAAqB,EAAE,UAAU,CAAC;IACzD;;;OAGG;IACH,wBAAwB,CAAC,EAAE,KAAK,CAC5B,UAAU,CAAC,OAAO,iCAAiC,CAAC,GACpD,UAAU,CAAC,OAAO,uCAAuC,CAAC,GAC1D,UAAU,CAAC,OAAO,oCAAoC,CAAC,CAC1D,CAAC;IACF,mEAAmE;IACnE,qBAAqB,CAAC,EAAE,OAAO,qBAAqB,EAAE,4BAA4B,CAAC;IACnF;;OAEG;IACH,mBAAmB,CAAC,EAAE,OAAO,qBAAqB,EAAE,0BAA0B,CAAC;CAChF,KAAK,OAAO,CAAC,WAAW,CAAC,CAAC;AAE3B,YAAY,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAE7D,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,0EAA0E;IAC1E,QAAQ,CAAC,eAAe,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5C,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;IACjC,QAAQ,CAAC,KAAK,EAAE,mBAAmB,CAAC;IACpC,QAAQ,CAAC,MAAM,EAAE,UAAU,GAAG,SAAS,GAAG,SAAS,CAAC;IACpD,MAAM,IAAI;QACR,EAAE,EAAE,OAAO,CAAC;QACZ,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;QAC5B,sEAAsE;QACtE,eAAe,CAAC,EAAE,OAAO,CAAC;KAC3B,CAAC;IACF,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACvB;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,CACH,MAAM,EAAE,UAAU,EAClB,OAAO,EAAE,YAAY,EACrB,OAAO,CAAC,EAAE,gBAAgB,GACzB,OAAO,CAAC,YAAY,CAAC,CAAC;IACzB,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAAC;IAC1C,IAAI,IAAI,SAAS,YAAY,EAAE,CAAC;IAChC,IAAI,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAChC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1B;AAqBD,wBAAgB,iBAAiB,IAAI,WAAW,CA6uF/C"}