@anweat/dsh-browser 0.2.1 → 0.2.3

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 (172) hide show
  1. package/CHANGELOG.md +103 -0
  2. package/README.en.md +153 -0
  3. package/README.md +99 -568
  4. package/assets/skills/dsh-browser/SKILL.md +13 -11
  5. package/assets/skills/dsh-browser/references/files.md +36 -0
  6. package/assets/skills/dsh-browser/references/observe.md +2 -2
  7. package/assets/skills/dsh-browser/references/policy.md +32 -0
  8. package/cordis.patch.yml +10 -3
  9. package/lib/actions/errors.js +7 -2
  10. package/lib/actions/errors.js.map +1 -1
  11. package/lib/actions/index-view.d.ts +4 -1
  12. package/lib/actions/index-view.js +16 -3
  13. package/lib/actions/index-view.js.map +1 -1
  14. package/lib/actions/inspect.js +15 -0
  15. package/lib/actions/inspect.js.map +1 -1
  16. package/lib/actions/observe.js +1 -1
  17. package/lib/actions/observe.js.map +1 -1
  18. package/lib/actions/opencli.d.ts +1 -1
  19. package/lib/actions/opencli.js +4 -4
  20. package/lib/actions/opencli.js.map +1 -1
  21. package/lib/actions/policy.d.ts +15 -0
  22. package/lib/actions/policy.js +131 -0
  23. package/lib/actions/policy.js.map +1 -0
  24. package/lib/actions/registry.js +6 -5
  25. package/lib/actions/registry.js.map +1 -1
  26. package/lib/actions/runtime.js +2 -2
  27. package/lib/actions/runtime.js.map +1 -1
  28. package/lib/actions/target.js +35 -3
  29. package/lib/actions/target.js.map +1 -1
  30. package/lib/actions/types.d.ts +1 -1
  31. package/lib/actions/types.js.map +1 -1
  32. package/lib/approval-policy.d.ts +10 -1
  33. package/lib/approval-policy.js +42 -1
  34. package/lib/approval-policy.js.map +1 -1
  35. package/lib/auth-profiles.d.ts +4 -1
  36. package/lib/auth-profiles.js +3 -0
  37. package/lib/auth-profiles.js.map +1 -1
  38. package/lib/automation-assets-rpc.js +60 -4
  39. package/lib/automation-assets-rpc.js.map +1 -1
  40. package/lib/browser-service.d.ts +165 -4
  41. package/lib/browser-service.js +505 -55
  42. package/lib/browser-service.js.map +1 -1
  43. package/lib/client/SettingsCard.d.ts +10 -8
  44. package/lib/client/SettingsCard.js +12 -137
  45. package/lib/client/SettingsCard.js.map +1 -1
  46. package/lib/client/auth-profiles-form.d.ts +23 -0
  47. package/lib/client/auth-profiles-form.js +64 -0
  48. package/lib/client/auth-profiles-form.js.map +1 -0
  49. package/lib/client/card-frame.d.ts +22 -0
  50. package/lib/client/card-frame.js +61 -0
  51. package/lib/client/card-frame.js.map +1 -0
  52. package/lib/client/field-rows.d.ts +59 -0
  53. package/lib/client/field-rows.js +63 -0
  54. package/lib/client/field-rows.js.map +1 -0
  55. package/lib/client/field-rules.d.ts +17 -0
  56. package/lib/client/field-rules.js +68 -0
  57. package/lib/client/field-rules.js.map +1 -0
  58. package/lib/client/form.d.ts +108 -7
  59. package/lib/client/form.js +255 -11
  60. package/lib/client/form.js.map +1 -1
  61. package/lib/client/group-access.d.ts +14 -0
  62. package/lib/client/group-access.js +97 -0
  63. package/lib/client/group-access.js.map +1 -0
  64. package/lib/client/group-advanced.d.ts +11 -0
  65. package/lib/client/group-advanced.js +32 -0
  66. package/lib/client/group-advanced.js.map +1 -0
  67. package/lib/client/group-assets.d.ts +13 -0
  68. package/lib/client/group-assets.js +50 -0
  69. package/lib/client/group-assets.js.map +1 -0
  70. package/lib/client/group-browser.d.ts +9 -0
  71. package/lib/client/group-browser.js +27 -0
  72. package/lib/client/group-browser.js.map +1 -0
  73. package/lib/client/group-common.d.ts +10 -0
  74. package/lib/client/group-common.js +21 -0
  75. package/lib/client/group-common.js.map +1 -0
  76. package/lib/client/group-context.d.ts +20 -0
  77. package/lib/client/group-context.js +76 -0
  78. package/lib/client/group-context.js.map +1 -0
  79. package/lib/client/group-downloads.d.ts +10 -0
  80. package/lib/client/group-downloads.js +33 -0
  81. package/lib/client/group-downloads.js.map +1 -0
  82. package/lib/client/group-limits.d.ts +9 -0
  83. package/lib/client/group-limits.js +57 -0
  84. package/lib/client/group-limits.js.map +1 -0
  85. package/lib/client/group-prompts.d.ts +13 -0
  86. package/lib/client/group-prompts.js +136 -0
  87. package/lib/client/group-prompts.js.map +1 -0
  88. package/lib/client/index.d.ts +21 -1
  89. package/lib/client/index.js +10 -4
  90. package/lib/client/index.js.map +1 -1
  91. package/lib/client/locales-policy.d.ts +83 -0
  92. package/lib/client/locales-policy.js +46 -0
  93. package/lib/client/locales-policy.js.map +1 -0
  94. package/lib/client/locales-prompts.d.ts +57 -0
  95. package/lib/client/locales-prompts.js +41 -0
  96. package/lib/client/locales-prompts.js.map +1 -0
  97. package/lib/client/locales-ui.d.ts +223 -0
  98. package/lib/client/locales-ui.js +157 -0
  99. package/lib/client/locales-ui.js.map +1 -0
  100. package/lib/client/locales.d.ts +359 -67
  101. package/lib/client/locales.js +68 -22
  102. package/lib/client/locales.js.map +1 -1
  103. package/lib/client/policy-fields.d.ts +31 -0
  104. package/lib/client/policy-fields.js +66 -0
  105. package/lib/client/policy-fields.js.map +1 -0
  106. package/lib/client/policy-status-client.d.ts +91 -0
  107. package/lib/client/policy-status-client.js +64 -0
  108. package/lib/client/policy-status-client.js.map +1 -0
  109. package/lib/client/prompts-form.d.ts +33 -0
  110. package/lib/client/prompts-form.js +87 -0
  111. package/lib/client/prompts-form.js.map +1 -1
  112. package/lib/client/prompts-status-client.d.ts +21 -1
  113. package/lib/client/prompts-status-client.js +36 -4
  114. package/lib/client/prompts-status-client.js.map +1 -1
  115. package/lib/client/properties-form.d.ts +90 -0
  116. package/lib/client/properties-form.js +187 -0
  117. package/lib/client/properties-form.js.map +1 -0
  118. package/lib/client/property-docs.d.ts +18 -0
  119. package/lib/client/property-docs.js +78 -0
  120. package/lib/client/property-docs.js.map +1 -0
  121. package/lib/client/size-units.d.ts +12 -0
  122. package/lib/client/size-units.js +29 -0
  123. package/lib/client/size-units.js.map +1 -0
  124. package/lib/client/styles.d.ts +47 -31
  125. package/lib/client/styles.js +59 -20
  126. package/lib/client/styles.js.map +1 -1
  127. package/lib/client/ui-kit.d.ts +173 -0
  128. package/lib/client/ui-kit.js +112 -0
  129. package/lib/client/ui-kit.js.map +1 -0
  130. package/lib/client.js +5291 -834
  131. package/lib/client.js.map +1 -1
  132. package/lib/config-rules.d.ts +40 -0
  133. package/lib/config-rules.js +103 -0
  134. package/lib/config-rules.js.map +1 -0
  135. package/lib/config.d.ts +64 -2
  136. package/lib/config.js +106 -0
  137. package/lib/config.js.map +1 -1
  138. package/lib/context-options.d.ts +85 -0
  139. package/lib/context-options.js +206 -0
  140. package/lib/context-options.js.map +1 -0
  141. package/lib/deps.d.ts +42 -5
  142. package/lib/deps.js +219 -9
  143. package/lib/deps.js.map +1 -1
  144. package/lib/downloads.d.ts +79 -0
  145. package/lib/downloads.js +189 -0
  146. package/lib/downloads.js.map +1 -0
  147. package/lib/index.d.ts +3 -2
  148. package/lib/index.js +7 -3
  149. package/lib/index.js.map +1 -1
  150. package/lib/policy-keys.d.ts +39 -0
  151. package/lib/policy-keys.js +21 -0
  152. package/lib/policy-keys.js.map +1 -1
  153. package/lib/policy-overlay.d.ts +189 -0
  154. package/lib/policy-overlay.js +649 -0
  155. package/lib/policy-overlay.js.map +1 -0
  156. package/lib/prompts-yaml.d.ts +11 -0
  157. package/lib/prompts-yaml.js +121 -0
  158. package/lib/prompts-yaml.js.map +1 -0
  159. package/lib/prompts.d.ts +2 -0
  160. package/lib/prompts.js +7 -3
  161. package/lib/prompts.js.map +1 -1
  162. package/lib/system-browser.d.ts +61 -0
  163. package/lib/system-browser.js +109 -0
  164. package/lib/system-browser.js.map +1 -0
  165. package/lib/tools.js +9 -1
  166. package/lib/tools.js.map +1 -1
  167. package/lib/usage-policy.d.ts +3 -1
  168. package/lib/usage-policy.js +2 -0
  169. package/lib/usage-policy.js.map +1 -1
  170. package/package.json +47 -40
  171. package/scripts/check-docs-links.mjs +115 -0
  172. package/scripts/dump-prompts.mjs +13 -3
@@ -1 +1 @@
1
- {"version":3,"file":"usage-policy.js","sourceRoot":"","sources":["../src/usage-policy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"usage-policy.js","sourceRoot":"","sources":["../src/usage-policy.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@anweat/dsh-browser",
3
- "version": "0.2.1",
4
- "description": "Self-contained browser runtime plugin for DeepSeek Harness (scoped @anweat) — bundles Playwright (chromium) and OpenCLI as plugin-local dependencies (with global-reuse fallback), exposes a `browser` service and interactive browser tools.",
3
+ "version": "0.2.3",
4
+ "description": "Browser runtime plugin for DeepSeek Harness (scoped @anweat) — ships Playwright and Patchright, uses your system Chrome / Edge (or a Playwright Chromium you install), optionally drives OpenCLI site adapters, exposes a `browser` service and interactive browser tools.",
5
5
  "license": "MIT",
6
6
  "type": "module",
7
7
  "main": "lib/index.js",
@@ -23,6 +23,8 @@
23
23
  "assets",
24
24
  "cordis.patch.yml",
25
25
  "README.md",
26
+ "README.en.md",
27
+ "CHANGELOG.md",
26
28
  "AUDIT.md",
27
29
  "scripts",
28
30
  "LICENSE"
@@ -31,18 +33,19 @@
31
33
  "node": "^22.19 || >=24"
32
34
  },
33
35
  "peerDependencies": {
34
- "@deepseek-ai/cordis": "4.0.4",
35
- "@deepseek-ai/dsh-tools": ">=0.2.0-rc.2 <0.2.1-0",
36
- "@deepseek-ai/dsh-client-connection": ">=0.2.0-rc.2 <0.2.1-0",
37
- "@deepseek-ai/dsh-client-locale": ">=0.2.0-rc.2 <0.2.1-0",
38
- "@deepseek-ai/dsh-client-store": ">=0.2.0-rc.2 <0.2.1-0",
39
- "@deepseek-ai/dsh-client-ui-renderer": ">=0.2.0-rc.2 <0.2.1-0",
40
- "@deepseek-ai/dsh-client-ui-settings": ">=0.2.0-rc.2 <0.2.1-0",
41
- "@deepseek-ai/dsh-client-ui-primitives": ">=0.2.0-rc.2 <0.2.1-0",
42
- "@deepseek-ai/dsh-client-ui-plugin-manager": ">=0.2.0-rc.2 <0.2.1-0",
43
- "@deepseek-ai/dsh-client-ui-slots": ">=0.2.0-rc.2 <0.2.1-0",
44
- "@deepseek-ai/dsh-settings": ">=0.2.0-rc.2 <0.2.1-0",
45
- "@deepseek-ai/schemastery": ">=3.18.2 <4"
36
+ "@deepseek-ai/cordis": "~4.0.4 || ~4.1.0",
37
+ "@deepseek-ai/dsh-tools": ">=0.2.0-rc.2 <0.2.1-0 || >=0.2.1-rc.2 <0.2.2-0 || >=0.2.2-rc.1 <0.2.3-0",
38
+ "@deepseek-ai/dsh-client-connection": ">=0.2.0-rc.2 <0.2.1-0 || >=0.2.1-rc.2 <0.2.2-0 || >=0.2.2-rc.1 <0.2.3-0",
39
+ "@deepseek-ai/dsh-client-locale": ">=0.2.0-rc.2 <0.2.1-0 || >=0.2.1-rc.2 <0.2.2-0 || >=0.2.2-rc.1 <0.2.3-0",
40
+ "@deepseek-ai/dsh-client-store": ">=0.2.0-rc.2 <0.2.1-0 || >=0.2.1-rc.2 <0.2.2-0 || >=0.2.2-rc.1 <0.2.3-0",
41
+ "@deepseek-ai/dsh-client-ui-renderer": ">=0.2.0-rc.2 <0.2.1-0 || >=0.2.1-rc.2 <0.2.2-0 || >=0.2.2-rc.1 <0.2.3-0",
42
+ "@deepseek-ai/dsh-client-ui-settings": ">=0.2.0-rc.2 <0.2.1-0 || >=0.2.1-rc.2 <0.2.2-0 || >=0.2.2-rc.1 <0.2.3-0",
43
+ "@deepseek-ai/dsh-client-ui-primitives": ">=0.2.0-rc.2 <0.2.1-0 || >=0.2.1-rc.2 <0.2.2-0 || >=0.2.2-rc.1 <0.2.3-0",
44
+ "@deepseek-ai/dsh-client-ui-plugin-manager": ">=0.2.0-rc.2 <0.2.1-0 || >=0.2.1-rc.2 <0.2.2-0 || >=0.2.2-rc.1 <0.2.3-0",
45
+ "@deepseek-ai/dsh-client-ui-slots": ">=0.2.0-rc.2 <0.2.1-0 || >=0.2.1-rc.2 <0.2.2-0 || >=0.2.2-rc.1 <0.2.3-0",
46
+ "@deepseek-ai/dsh-settings": ">=0.2.0-rc.2 <0.2.1-0 || >=0.2.1-rc.2 <0.2.2-0 || >=0.2.2-rc.1 <0.2.3-0",
47
+ "@deepseek-ai/schemastery": ">=3.18.2 <4",
48
+ "@jackwener/opencli": ">=1.8.0 <2"
46
49
  },
47
50
  "peerDependenciesMeta": {
48
51
  "@deepseek-ai/cordis": {
@@ -80,32 +83,33 @@
80
83
  },
81
84
  "@deepseek-ai/schemastery": {
82
85
  "optional": true
86
+ },
87
+ "@jackwener/opencli": {
88
+ "optional": true
83
89
  }
84
90
  },
85
91
  "dependencies": {
86
- "@jackwener/opencli": "^1.8.7",
87
92
  "patchright": "^1.62.1",
88
93
  "playwright": "^1.60.0"
89
94
  },
90
95
  "devDependencies": {
91
- "@deepseek-ai/cordis": "4.0.4",
92
- "@deepseek-ai/dsh-agent": "0.2.0-rc.2",
93
- "@deepseek-ai/dsh-invariants": "0.2.0-rc.2",
94
- "@deepseek-ai/dsh-llm": "0.2.0-rc.2",
95
- "@deepseek-ai/dsh-scope": "0.2.0-rc.2",
96
- "@deepseek-ai/dsh-session": "0.2.0-rc.2",
97
- "@deepseek-ai/dsh-session-projection": "0.2.0-rc.2",
98
- "@deepseek-ai/dsh-system-prompt": "0.2.0-rc.2",
99
- "@deepseek-ai/dsh-user-approval": "0.2.0-rc.2",
100
- "@deepseek-ai/dsh-tools": "0.2.0-rc.2",
101
- "@deepseek-ai/dsh-client-connection": "0.2.0-rc.2",
102
- "@deepseek-ai/dsh-client-locale": "0.2.0-rc.2",
103
- "@deepseek-ai/dsh-client-store": "0.2.0-rc.2",
104
- "@deepseek-ai/dsh-client-ui-renderer": "0.2.0-rc.2",
105
- "@deepseek-ai/dsh-client-ui-settings": "0.2.0-rc.2",
106
- "@deepseek-ai/dsh-client-ui-slots": "0.2.0-rc.2",
107
- "@deepseek-ai/dsh-settings": "0.2.0-rc.2",
108
- "@deepseek-ai/schemastery": "3.18.4",
96
+ "@deepseek-ai/cordis": "4.1.0",
97
+ "@deepseek-ai/dsh-agent": "0.2.2-rc.1",
98
+ "@deepseek-ai/dsh-llm": "0.2.2-rc.1",
99
+ "@deepseek-ai/dsh-scope": "0.2.2-rc.1",
100
+ "@deepseek-ai/dsh-session": "0.2.2-rc.1",
101
+ "@deepseek-ai/dsh-session-projection": "0.2.2-rc.1",
102
+ "@deepseek-ai/dsh-system-prompt": "0.2.2-rc.1",
103
+ "@deepseek-ai/dsh-user-approval": "0.2.2-rc.1",
104
+ "@deepseek-ai/dsh-tools": "0.2.2-rc.1",
105
+ "@deepseek-ai/dsh-client-connection": "0.2.2-rc.1",
106
+ "@deepseek-ai/dsh-client-locale": "0.2.2-rc.1",
107
+ "@deepseek-ai/dsh-client-store": "0.2.2-rc.1",
108
+ "@deepseek-ai/dsh-client-ui-renderer": "0.2.2-rc.1",
109
+ "@deepseek-ai/dsh-client-ui-settings": "0.2.2-rc.1",
110
+ "@deepseek-ai/dsh-client-ui-slots": "0.2.2-rc.1",
111
+ "@deepseek-ai/dsh-settings": "0.2.2-rc.1",
112
+ "@deepseek-ai/schemastery": "3.18.5",
109
113
  "@types/react": "~18.3.1",
110
114
  "@types/react-dom": "~18.3.1",
111
115
  "react": "^18.2.0",
@@ -113,9 +117,11 @@
113
117
  "tsdown": "^0.22.2",
114
118
  "typescript": "^5.6.0",
115
119
  "@types/node": "^22.0.0",
116
- "@deepseek-ai/dsh-client-ui-primitives": "0.2.0-rc.2",
117
- "@deepseek-ai/dsh-client-ui-plugin-manager": "0.2.0-rc.2",
118
- "clsx": "^2.0.0"
120
+ "@deepseek-ai/dsh-client-ui-primitives": "0.2.2-rc.1",
121
+ "@deepseek-ai/dsh-client-ui-plugin-manager": "0.2.2-rc.1",
122
+ "clsx": "^2.0.0",
123
+ "@deepseek-ai/dsh-working-directory": "0.2.2-rc.1",
124
+ "@jackwener/opencli": "^1.8.7"
119
125
  },
120
126
  "dsh": {
121
127
  "client": {
@@ -147,12 +153,13 @@
147
153
  "scripts": {
148
154
  "build": "node scripts/clean-lib.mjs && tsc -p tsconfig.json && tsdown",
149
155
  "typecheck": "tsc -p tsconfig.json --noEmit",
150
- "test": "node --test --experimental-transform-types test/*.test.ts",
151
- "test:e2e": "node --test --experimental-transform-types test/e2e/*.test.ts",
156
+ "test": "node --import ./test/isolate-home.mjs --test --experimental-transform-types test/*.test.ts",
157
+ "test:e2e": "node --import ./test/isolate-home.mjs --test --experimental-transform-types test/e2e/*.test.ts",
152
158
  "measure:tools": "node scripts/measure-tool-surface.mjs",
153
159
  "prompts:dump": "node scripts/dump-prompts.mjs",
154
160
  "test:client-bundle": "node scripts/check-client-bundle.mjs",
155
- "verify": "pnpm run typecheck && pnpm run test:peers && pnpm run build && pnpm test && pnpm run test:client-bundle",
156
- "test:peers": "node test/compat/check-peer-ranges.js"
161
+ "verify": "pnpm run typecheck && pnpm run test:peers && pnpm run build && pnpm test && pnpm run test:client-bundle && pnpm run docs:check",
162
+ "test:peers": "node test/compat/check-peer-ranges.js",
163
+ "docs:check": "node scripts/check-docs-links.mjs"
157
164
  }
158
165
  }
@@ -0,0 +1,115 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Documentation checks (no dependencies):
4
+ * 1. every relative Markdown link, and its #anchor, points at something that exists;
5
+ * 2. every absolute link into this repository's master branch
6
+ * (https://github.com/anweat/dsh-browser/blob|tree/master/<path>) points at a path that exists;
7
+ * 3. README.md and README.en.md have the same number of second-level headings.
8
+ *
9
+ * Anchors follow GitHub's slug rules (lower case, punctuation dropped, spaces to hyphens, -1 / -2 for repeats).
10
+ * Links inside fenced code blocks and inline code are ignored. node_modules, lib and .git are not scanned.
11
+ * Usage: node scripts/check-docs-links.mjs
12
+ */
13
+
14
+ import fs from 'node:fs'
15
+ import path from 'node:path'
16
+ import { fileURLToPath } from 'node:url'
17
+
18
+ const root = path.resolve(path.dirname(fileURLToPath(import.meta.url)), '..')
19
+ const REPO_PREFIX = /^https:\/\/github\.com\/anweat\/dsh-browser\/(?:blob|tree)\/master\/([^#?]*)/
20
+ const SKIP_DIRS = new Set(['node_modules', 'lib', '.git', 'dist'])
21
+
22
+ function walk(dir, out = []) {
23
+ for (const entry of fs.readdirSync(dir, { withFileTypes: true })) {
24
+ if (SKIP_DIRS.has(entry.name)) continue
25
+ const full = path.join(dir, entry.name)
26
+ if (entry.isDirectory()) walk(full, out)
27
+ else if (entry.name.endsWith('.md')) out.push(full)
28
+ }
29
+ return out
30
+ }
31
+
32
+ /** Lines of a Markdown file outside fenced code blocks, with their 1-based numbers. */
33
+ function proseLines(text) {
34
+ const lines = []
35
+ let fence = null
36
+ text.split('\n').forEach((line, index) => {
37
+ const marker = /^\s*(```+|~~~+)/.exec(line)
38
+ if (marker) {
39
+ if (fence === null) fence = marker[1][0]
40
+ else if (marker[1][0] === fence) fence = null
41
+ return
42
+ }
43
+ if (fence === null) lines.push({ line, number: index + 1 })
44
+ })
45
+ return lines
46
+ }
47
+
48
+ const stripInlineCode = line => line.replace(/`[^`]*`/g, match => ' '.repeat(match.length))
49
+
50
+ function slugify(heading) {
51
+ return heading
52
+ .replace(/\[([^\]]*)\]\([^)]*\)/g, '$1')
53
+ .replace(/[`*_~]/g, match => (match === '_' ? '_' : ''))
54
+ .trim()
55
+ .toLowerCase()
56
+ .replace(/[^\p{L}\p{M}\p{N}\p{Pc}\- ]/gu, '')
57
+ .replace(/ /g, '-')
58
+ }
59
+
60
+ const anchorCache = new Map()
61
+ function anchorsOf(file) {
62
+ if (anchorCache.has(file)) return anchorCache.get(file)
63
+ const seen = new Map()
64
+ const anchors = new Set()
65
+ for (const { line } of proseLines(fs.readFileSync(file, 'utf8'))) {
66
+ const match = /^(#{1,6})\s+(.*?)\s*#*\s*$/.exec(line)
67
+ if (!match) continue
68
+ const base = slugify(match[2])
69
+ const count = seen.get(base) ?? 0
70
+ seen.set(base, count + 1)
71
+ anchors.add(count === 0 ? base : `${base}-${count}`)
72
+ }
73
+ anchorCache.set(file, anchors)
74
+ return anchors
75
+ }
76
+
77
+ const problems = []
78
+ const rel = file => path.relative(root, file)
79
+
80
+ for (const file of walk(root)) {
81
+ for (const { line, number } of proseLines(fs.readFileSync(file, 'utf8'))) {
82
+ for (const match of stripInlineCode(line).matchAll(/!?\[[^\]]*\]\(([^)\s]+)(?:\s+"[^"]*")?\)/g)) {
83
+ const target = match[1]
84
+ const where = `${rel(file)}:${number}`
85
+ const repo = REPO_PREFIX.exec(target)
86
+ if (repo) {
87
+ const repoPath = decodeURIComponent(repo[1]).replace(/\/$/, '')
88
+ if (repoPath && !fs.existsSync(path.join(root, repoPath))) problems.push(`${where}: ${target} -> ${repoPath} does not exist in the repository`)
89
+ continue
90
+ }
91
+ if (/^[a-z][a-z0-9+.-]*:/i.test(target)) continue
92
+ const [pathPart, anchor] = target.split('#')
93
+ const resolved = pathPart === '' ? file : path.resolve(path.dirname(file), decodeURIComponent(pathPart))
94
+ if (!fs.existsSync(resolved)) { problems.push(`${where}: ${target} -> ${rel(resolved)} does not exist`); continue }
95
+ if (anchor !== undefined && anchor !== '' && resolved.endsWith('.md') && fs.statSync(resolved).isFile()) {
96
+ if (!anchorsOf(resolved).has(decodeURIComponent(anchor).toLowerCase())) problems.push(`${where}: ${target} -> no heading "#${anchor}" in ${rel(resolved)}`)
97
+ }
98
+ }
99
+ }
100
+ }
101
+
102
+ function h2Count(name) {
103
+ const file = path.join(root, name)
104
+ if (!fs.existsSync(file)) { problems.push(`${name} is missing`); return -1 }
105
+ return proseLines(fs.readFileSync(file, 'utf8')).filter(({ line }) => /^## /.test(line)).length
106
+ }
107
+ const zh = h2Count('README.md')
108
+ const en = h2Count('README.en.md')
109
+ if (zh >= 0 && en >= 0 && zh !== en) problems.push(`README.md has ${zh} second-level headings but README.en.md has ${en}`)
110
+
111
+ if (problems.length > 0) {
112
+ console.error(`documentation check failed (${problems.length}):\n` + problems.map(problem => ' ' + problem).join('\n'))
113
+ process.exit(1)
114
+ }
115
+ console.log(`documentation check passed (${walk(root).length} Markdown files, ${zh} second-level headings in each README)`)
@@ -5,11 +5,15 @@
5
5
  // { tools, rootGuide, rootNote, groups, actions, errorHints, skill }
6
6
  //
7
7
  // Copy the output, delete what you want to keep as is, reword the rest, and put it under
8
- // `prompts:` in your profile config (see README "Custom prompt text"). Pasted back unchanged it
8
+ // `prompts:` in your profile config (see docs/guide/prompts.md). Pasted back unchanged it
9
9
  // changes nothing: blank `notes`, `rootNote`, `skill.bodyFile` and `skill.append` mean "none".
10
10
  //
11
11
  // Usage: node scripts/dump-prompts.mjs [--compact]
12
+ // node scripts/dump-prompts.mjs --yaml [--lang zh|en]
12
13
  // --compact single-line JSON (default is 2-space indented)
14
+ // --yaml the same defaults as commented YAML (the form to start editing from): every section and every
15
+ // group/action/error-code entry says where the model reads it, its length cap and when a change applies;
16
+ // parsed as YAML it equals the JSON. --lang picks the language of the comments (default en).
13
17
  //
14
18
  // It reads the TypeScript sources, so it never reports a stale build, and it needs no browser. It only runs from a
15
19
  // checkout of the repository; an installed plugin shows the same JSON under the settings card's "Export default text".
@@ -25,5 +29,11 @@ if (!process.execArgv.includes('--experimental-transform-types')) {
25
29
  process.exit(result.status ?? 1)
26
30
  }
27
31
 
28
- const { promptsDumpText } = await import(pathToFileURL(path.join(root, 'src/prompts.ts')).href)
29
- console.log(promptsDumpText(process.argv.includes('--compact')))
32
+ if (process.argv.includes('--yaml')) {
33
+ const { promptsDumpYaml } = await import(pathToFileURL(path.join(root, 'src/prompts-yaml.ts')).href)
34
+ const at = process.argv.indexOf('--lang')
35
+ process.stdout.write(promptsDumpYaml(at >= 0 && process.argv[at + 1] === 'zh' ? 'zh' : 'en'))
36
+ } else {
37
+ const { promptsDumpText } = await import(pathToFileURL(path.join(root, 'src/prompts.ts')).href)
38
+ console.log(promptsDumpText(process.argv.includes('--compact')))
39
+ }