cgraphx 1.4.3 → 2.0.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 (1309) hide show
  1. package/LICENSE +1 -1
  2. package/README.en.md +126 -0
  3. package/README.md +78 -196
  4. package/dist/.claude-template/.cgraphx/timeline-current-turn.json +1 -0
  5. package/dist/.claude-template/CLAUDE.md +10 -0
  6. package/dist/.claude-template/FLOW-MAP.md +107 -0
  7. package/dist/.claude-template/agents/knowledge-recall.md +11 -17
  8. package/dist/.claude-template/commands/my-query.md +1 -1
  9. package/dist/.claude-template/deprecated-assets.json +11 -0
  10. package/dist/.claude-template/hooks/precommit-check/precommit-check.cjs +27 -24
  11. package/dist/.claude-template/skills/.cgraphx/timeline-current-turn.json +1 -0
  12. package/dist/.claude-template/skills/cgraphx-guide/SKILL.md +22 -24
  13. package/dist/.claude-template/skills/cgraphx-guide/how-to-use.html +273 -156
  14. package/dist/.claude-template/skills/cgraphx-guide/how-to-use.md +148 -86
  15. package/dist/.claude-template/skills/clarify-requirements/SKILL.md +75 -384
  16. package/dist/.claude-template/skills/developer-timeline/SKILL.md +3 -2
  17. package/dist/.claude-template/skills/export-table-ddl/SKILL.md +3 -2
  18. package/dist/.claude-template/skills/handdrawn-deck/.cgraphx/timeline-current-turn.json +1 -0
  19. package/dist/.claude-template/skills/handdrawn-deck/SKILL.md +305 -0
  20. package/dist/.claude-template/skills/handdrawn-deck/references/.cgraphx/timeline-current-turn.json +1 -0
  21. package/dist/.claude-template/skills/handdrawn-deck/references/deck-template.html +469 -0
  22. package/dist/.claude-template/skills/handdrawn-deck/references/gen-script-md.cjs +44 -0
  23. package/dist/.claude-template/skills/handdrawn-deck/references/seg.cjs +54 -0
  24. package/dist/.claude-template/skills/handdrawn-sketch-engine/.cgraphx/timeline-current-turn.json +1 -0
  25. package/dist/.claude-template/skills/handdrawn-sketch-engine/SKILL.md +279 -0
  26. package/dist/.claude-template/skills/handdrawn-sketch-engine/assets/icon-library.js +238 -0
  27. package/dist/.claude-template/skills/handdrawn-sketch-engine/references/engine-template.html +275 -0
  28. package/dist/.claude-template/skills/handdrawn-sketch-engine/references/reference-render.html +445 -0
  29. package/dist/.claude-template/skills/implementation/SKILL.md +36 -130
  30. package/dist/.claude-template/skills/init-project-guides/SKILL.md +81 -0
  31. package/dist/.claude-template/skills/init-project-guides/templates/git-standards.md +37 -0
  32. package/dist/.claude-template/skills/init-project-guides/templates/go.md +160 -0
  33. package/dist/.claude-template/skills/init-project-guides/templates/java.md +173 -0
  34. package/dist/.claude-template/skills/init-project-guides/templates/schema-convention.md +11 -0
  35. package/dist/.claude-template/skills/init-project-guides/templates/typescript.md +156 -0
  36. package/dist/.claude-template/skills/knowledge-api/SKILL.md +143 -0
  37. package/dist/.claude-template/skills/knowledge-api/agent-prompt.md +51 -0
  38. package/dist/.claude-template/skills/knowledge-init/SKILL.md +761 -0
  39. package/dist/.claude-template/skills/knowledge-migrate/SKILL.md +173 -0
  40. package/dist/.claude-template/skills/knowledge-recall/SKILL.md +5 -4
  41. package/dist/.claude-template/skills/knowledge-write/SKILL.md +126 -0
  42. package/dist/.claude-template/skills/knowledge-write/template-concept.md +95 -0
  43. package/dist/.claude-template/skills/knowledge-write/template-flow.md +100 -0
  44. package/dist/.claude-template/skills/knowledge-write/template-guide.md +77 -0
  45. package/dist/.claude-template/skills/knowledge-write/template-memory.md +61 -0
  46. package/dist/.claude-template/skills/run-api-test/SKILL.md +6 -4
  47. package/dist/.claude-template/skills/run-api-test/assets/template-test-report.md +448 -55
  48. package/dist/.claude-template/skills/run-api-test/assets/template-test-verify.jsonl +5 -5
  49. package/dist/.claude-template/skills/run-api-test/references/report-format.md +54 -19
  50. package/dist/.claude-template/skills/subagent-implement/SKILL.md +60 -183
  51. package/dist/.claude-template/skills/subagent-implement/implementer-prompt.md +9 -4
  52. package/dist/.claude-template/skills/subagent-implement/quality-reviewer-prompt.md +1 -1
  53. package/dist/.claude-template/skills/subagent-implement/spec-reviewer-prompt.md +1 -0
  54. package/dist/.claude-template/skills/write-api/SKILL.md +7 -5
  55. package/dist/.claude-template/skills/write-api/assets/template-api-spec.md +2 -3
  56. package/dist/.claude-template/skills/write-api/assets/template-request.bru +21 -0
  57. package/dist/.claude-template/skills/write-api/references/ai-prompts.md +1 -2
  58. package/dist/.claude-template/skills/write-api/references/api-spec-format.md +0 -1
  59. package/dist/.claude-template/skills/write-api-doc/SKILL.md +8 -7
  60. package/dist/.claude-template/skills/write-design-doc/SKILL.md +86 -0
  61. package/dist/.claude-template/skills/write-design-doc/template-design-html.md +357 -0
  62. package/dist/.claude-template/skills/write-design-doc/template-design-md.md +164 -0
  63. package/dist/.claude-template/skills/write-plan/SKILL.md +94 -291
  64. package/dist/.claude-template/skills/write-plan/plan-document-reviewer-prompt.md +24 -6
  65. package/dist/.claude-template/skills/write-prd/SKILL.md +4 -2
  66. package/dist/.claude-template/skills/write-spec/SKILL.md +75 -282
  67. package/dist/.claude-template/skills/write-unit-test-code/SKILL.md +87 -2
  68. package/dist/.claude-template/skills/write-workload/SKILL.md +130 -0
  69. package/dist/cli/fatal-handler.d.ts +21 -0
  70. package/dist/cli/fatal-handler.d.ts.map +1 -0
  71. package/dist/cli/fatal-handler.js +109 -0
  72. package/dist/cli/fatal-handler.js.map +1 -0
  73. package/dist/cli/index.d.ts +27 -0
  74. package/dist/cli/index.d.ts.map +1 -0
  75. package/dist/cli/index.js +248 -0
  76. package/dist/cli/index.js.map +1 -0
  77. package/dist/cli/installer/claude-assets.d.ts +101 -0
  78. package/dist/cli/installer/claude-assets.d.ts.map +1 -0
  79. package/dist/cli/installer/claude-assets.js +321 -0
  80. package/dist/cli/installer/claude-assets.js.map +1 -0
  81. package/dist/cli/installer/index.d.ts +105 -0
  82. package/dist/cli/installer/index.d.ts.map +1 -0
  83. package/dist/cli/installer/index.js +548 -0
  84. package/dist/cli/installer/index.js.map +1 -0
  85. package/dist/cli/installer/targets/claude.d.ts +72 -0
  86. package/dist/cli/installer/targets/claude.d.ts.map +1 -0
  87. package/dist/cli/installer/targets/claude.js +580 -0
  88. package/dist/cli/installer/targets/claude.js.map +1 -0
  89. package/dist/cli/installer/targets/registry.d.ts +32 -0
  90. package/dist/cli/installer/targets/registry.d.ts.map +1 -0
  91. package/dist/cli/installer/targets/registry.js +72 -0
  92. package/dist/cli/installer/targets/registry.js.map +1 -0
  93. package/dist/cli/installer/targets/shared.d.ts +66 -0
  94. package/dist/cli/installer/targets/shared.d.ts.map +1 -0
  95. package/dist/cli/installer/targets/shared.js +228 -0
  96. package/dist/cli/installer/targets/shared.js.map +1 -0
  97. package/dist/cli/installer/targets/types.d.ts +97 -0
  98. package/dist/cli/installer/targets/types.d.ts.map +1 -0
  99. package/dist/cli/installer/targets/types.js +16 -0
  100. package/dist/cli/installer/targets/types.js.map +1 -0
  101. package/dist/cli/node-version-check.d.ts +32 -0
  102. package/dist/cli/node-version-check.d.ts.map +1 -0
  103. package/dist/cli/node-version-check.js +54 -0
  104. package/dist/cli/node-version-check.js.map +1 -0
  105. package/dist/cli/ui/glyphs.d.ts +43 -0
  106. package/dist/cli/ui/glyphs.d.ts.map +1 -0
  107. package/dist/cli/ui/glyphs.js +79 -0
  108. package/dist/cli/ui/glyphs.js.map +1 -0
  109. package/dist/cli/uninstall.d.ts +18 -0
  110. package/dist/cli/uninstall.d.ts.map +1 -0
  111. package/dist/cli/uninstall.js +19 -0
  112. package/dist/cli/uninstall.js.map +1 -0
  113. package/dist/cli/upgrade/index.d.ts +81 -0
  114. package/dist/cli/upgrade/index.d.ts.map +1 -0
  115. package/dist/cli/upgrade/index.js +257 -0
  116. package/dist/cli/upgrade/index.js.map +1 -0
  117. package/dist/core/db/index.d.ts +123 -0
  118. package/dist/core/db/index.d.ts.map +1 -0
  119. package/dist/core/db/index.js +260 -0
  120. package/dist/core/db/index.js.map +1 -0
  121. package/dist/core/db/migrate.d.ts +29 -0
  122. package/dist/core/db/migrate.d.ts.map +1 -0
  123. package/dist/core/db/migrate.js +100 -0
  124. package/dist/core/db/migrate.js.map +1 -0
  125. package/dist/core/db/sqlite-adapter.d.ts +51 -0
  126. package/dist/core/db/sqlite-adapter.d.ts.map +1 -0
  127. package/dist/core/db/sqlite-adapter.js +116 -0
  128. package/dist/core/db/sqlite-adapter.js.map +1 -0
  129. package/dist/core/dbquery/cli.d.ts +17 -0
  130. package/dist/core/dbquery/cli.d.ts.map +1 -0
  131. package/dist/core/dbquery/cli.js +246 -0
  132. package/dist/core/dbquery/cli.js.map +1 -0
  133. package/dist/core/dbquery/config.d.ts.map +1 -0
  134. package/dist/core/dbquery/config.js.map +1 -0
  135. package/dist/core/dbquery/constants.d.ts.map +1 -0
  136. package/dist/core/dbquery/constants.js.map +1 -0
  137. package/dist/core/dbquery/drivers/mysql.d.ts.map +1 -0
  138. package/dist/core/dbquery/drivers/mysql.js.map +1 -0
  139. package/dist/core/dbquery/drivers/postgres.d.ts.map +1 -0
  140. package/dist/core/dbquery/drivers/postgres.js.map +1 -0
  141. package/dist/core/dbquery/errors.d.ts +40 -0
  142. package/dist/core/dbquery/errors.d.ts.map +1 -0
  143. package/dist/core/dbquery/errors.js +85 -0
  144. package/dist/core/dbquery/errors.js.map +1 -0
  145. package/dist/core/dbquery/executor.d.ts.map +1 -0
  146. package/dist/core/dbquery/executor.js.map +1 -0
  147. package/dist/core/dbquery/format.d.ts.map +1 -0
  148. package/dist/core/dbquery/format.js.map +1 -0
  149. package/dist/core/dbquery/identifiers.d.ts.map +1 -0
  150. package/dist/core/dbquery/identifiers.js.map +1 -0
  151. package/dist/core/dbquery/index.d.ts.map +1 -0
  152. package/dist/core/dbquery/index.js.map +1 -0
  153. package/dist/core/dbquery/init.d.ts +33 -0
  154. package/dist/core/dbquery/init.d.ts.map +1 -0
  155. package/dist/core/dbquery/init.js +125 -0
  156. package/dist/core/dbquery/init.js.map +1 -0
  157. package/dist/core/dbquery/logging.d.ts.map +1 -0
  158. package/dist/core/dbquery/logging.js.map +1 -0
  159. package/dist/core/dbquery/queries.d.ts.map +1 -0
  160. package/dist/core/dbquery/queries.js.map +1 -0
  161. package/dist/core/dbquery/safety.d.ts.map +1 -0
  162. package/dist/core/dbquery/safety.js.map +1 -0
  163. package/dist/core/dbquery/types.d.ts +139 -0
  164. package/dist/core/dbquery/types.d.ts.map +1 -0
  165. package/dist/core/dbquery/types.js +10 -0
  166. package/dist/core/dbquery/types.js.map +1 -0
  167. package/dist/core/directory.d.ts +60 -0
  168. package/dist/core/directory.d.ts.map +1 -0
  169. package/dist/core/directory.js +243 -0
  170. package/dist/core/directory.js.map +1 -0
  171. package/dist/core/errors.d.ts +79 -0
  172. package/dist/core/errors.d.ts.map +1 -0
  173. package/dist/core/errors.js +133 -0
  174. package/dist/core/errors.js.map +1 -0
  175. package/dist/core/features/cli.d.ts +12 -0
  176. package/dist/core/features/cli.d.ts.map +1 -0
  177. package/dist/core/features/cli.js +154 -0
  178. package/dist/core/features/cli.js.map +1 -0
  179. package/dist/core/features/index.d.ts +15 -0
  180. package/dist/core/features/index.d.ts.map +1 -0
  181. package/dist/core/features/index.js +39 -0
  182. package/dist/core/features/index.js.map +1 -0
  183. package/dist/core/features/scanner.d.ts +26 -0
  184. package/dist/core/features/scanner.d.ts.map +1 -0
  185. package/dist/core/features/scanner.js +198 -0
  186. package/dist/core/features/scanner.js.map +1 -0
  187. package/dist/core/features/sync.d.ts +26 -0
  188. package/dist/core/features/sync.d.ts.map +1 -0
  189. package/dist/core/features/sync.js +108 -0
  190. package/dist/core/features/sync.js.map +1 -0
  191. package/dist/core/features/types.d.ts +35 -0
  192. package/dist/core/features/types.d.ts.map +1 -0
  193. package/dist/core/features/types.js +12 -0
  194. package/dist/core/features/types.js.map +1 -0
  195. package/dist/core/markdown/cli.d.ts +16 -0
  196. package/dist/core/markdown/cli.d.ts.map +1 -0
  197. package/dist/core/markdown/cli.js +575 -0
  198. package/dist/core/markdown/cli.js.map +1 -0
  199. package/dist/core/markdown/constants.d.ts +22 -0
  200. package/dist/core/markdown/constants.d.ts.map +1 -0
  201. package/dist/core/markdown/constants.js +61 -0
  202. package/dist/core/markdown/constants.js.map +1 -0
  203. package/dist/core/markdown/dedup.d.ts.map +1 -0
  204. package/dist/core/markdown/dedup.js.map +1 -0
  205. package/dist/core/markdown/errors.d.ts +22 -0
  206. package/dist/core/markdown/errors.d.ts.map +1 -0
  207. package/dist/core/markdown/errors.js +45 -0
  208. package/dist/core/markdown/errors.js.map +1 -0
  209. package/dist/core/markdown/extractor.d.ts.map +1 -0
  210. package/dist/core/markdown/extractor.js.map +1 -0
  211. package/dist/core/markdown/frontmatter-parser.d.ts +54 -0
  212. package/dist/core/markdown/frontmatter-parser.d.ts.map +1 -0
  213. package/dist/core/markdown/frontmatter-parser.js +229 -0
  214. package/dist/core/markdown/frontmatter-parser.js.map +1 -0
  215. package/dist/core/markdown/index.d.ts +21 -0
  216. package/dist/core/markdown/index.d.ts.map +1 -0
  217. package/dist/core/markdown/index.js +36 -0
  218. package/dist/core/markdown/index.js.map +1 -0
  219. package/dist/core/markdown/indexer.d.ts +34 -0
  220. package/dist/core/markdown/indexer.d.ts.map +1 -0
  221. package/dist/core/markdown/indexer.js +256 -0
  222. package/dist/core/markdown/indexer.js.map +1 -0
  223. package/dist/core/markdown/query-dedup.d.ts +23 -0
  224. package/dist/core/markdown/query-dedup.d.ts.map +1 -0
  225. package/dist/core/markdown/query-dedup.js +141 -0
  226. package/dist/core/markdown/query-dedup.js.map +1 -0
  227. package/dist/core/markdown/query-helpers.d.ts +66 -0
  228. package/dist/core/markdown/query-helpers.d.ts.map +1 -0
  229. package/dist/core/markdown/query-helpers.js +334 -0
  230. package/dist/core/markdown/query-helpers.js.map +1 -0
  231. package/dist/core/markdown/query.d.ts +125 -0
  232. package/dist/core/markdown/query.d.ts.map +1 -0
  233. package/dist/core/markdown/query.js +367 -0
  234. package/dist/core/markdown/query.js.map +1 -0
  235. package/dist/core/markdown/schema-bootstrap.d.ts +40 -0
  236. package/dist/core/markdown/schema-bootstrap.d.ts.map +1 -0
  237. package/dist/core/markdown/schema-bootstrap.js +85 -0
  238. package/dist/core/markdown/schema-bootstrap.js.map +1 -0
  239. package/dist/core/markdown/schema.sql +124 -0
  240. package/dist/core/markdown/store.d.ts.map +1 -0
  241. package/dist/core/markdown/store.js.map +1 -0
  242. package/dist/core/markdown/summary-extractor.d.ts.map +1 -0
  243. package/dist/core/markdown/summary-extractor.js.map +1 -0
  244. package/dist/core/markdown/types.d.ts +186 -0
  245. package/dist/core/markdown/types.d.ts.map +1 -0
  246. package/dist/core/markdown/types.js.map +1 -0
  247. package/dist/core/markdown/validator.d.ts +44 -0
  248. package/dist/core/markdown/validator.d.ts.map +1 -0
  249. package/dist/core/markdown/validator.js +95 -0
  250. package/dist/core/markdown/validator.js.map +1 -0
  251. package/dist/core/timeline/bash-semantics.d.ts.map +1 -0
  252. package/dist/core/timeline/bash-semantics.js.map +1 -0
  253. package/dist/core/timeline/cli.d.ts.map +1 -0
  254. package/dist/core/timeline/cli.js.map +1 -0
  255. package/dist/core/timeline/constants.d.ts +62 -0
  256. package/dist/core/timeline/constants.d.ts.map +1 -0
  257. package/dist/core/timeline/constants.js +73 -0
  258. package/dist/core/timeline/constants.js.map +1 -0
  259. package/dist/core/timeline/errors.d.ts.map +1 -0
  260. package/dist/core/timeline/errors.js.map +1 -0
  261. package/dist/core/timeline/hook-runner.d.ts.map +1 -0
  262. package/dist/core/timeline/hook-runner.js.map +1 -0
  263. package/dist/core/timeline/hooks.d.ts.map +1 -0
  264. package/dist/core/timeline/hooks.js.map +1 -0
  265. package/dist/core/timeline/index.d.ts.map +1 -0
  266. package/dist/core/timeline/index.js.map +1 -0
  267. package/dist/core/timeline/indexer.d.ts.map +1 -0
  268. package/dist/core/timeline/indexer.js.map +1 -0
  269. package/dist/core/timeline/installer.d.ts.map +1 -0
  270. package/dist/core/timeline/installer.js.map +1 -0
  271. package/dist/core/timeline/payload.d.ts.map +1 -0
  272. package/dist/core/timeline/payload.js.map +1 -0
  273. package/dist/core/timeline/post-tool-summary.d.ts.map +1 -0
  274. package/dist/core/timeline/post-tool-summary.js.map +1 -0
  275. package/dist/core/timeline/recorder.d.ts.map +1 -0
  276. package/dist/core/timeline/recorder.js.map +1 -0
  277. package/dist/core/timeline/schema-bootstrap.d.ts +42 -0
  278. package/dist/core/timeline/schema-bootstrap.d.ts.map +1 -0
  279. package/dist/core/timeline/schema-bootstrap.js +81 -0
  280. package/dist/core/timeline/schema-bootstrap.js.map +1 -0
  281. package/dist/core/timeline/store.d.ts.map +1 -0
  282. package/dist/core/timeline/store.js.map +1 -0
  283. package/dist/core/timeline/types.d.ts.map +1 -0
  284. package/dist/core/timeline/types.js.map +1 -0
  285. package/dist/core/types.d.ts +25 -0
  286. package/dist/core/types.d.ts.map +1 -0
  287. package/dist/core/types.js +12 -0
  288. package/dist/core/types.js.map +1 -0
  289. package/dist/web/bootstrap.d.ts +26 -0
  290. package/dist/web/bootstrap.d.ts.map +1 -0
  291. package/dist/web/bootstrap.js +98 -0
  292. package/dist/web/bootstrap.js.map +1 -0
  293. package/dist/web/constants.d.ts +27 -0
  294. package/dist/web/constants.d.ts.map +1 -0
  295. package/dist/web/constants.js +41 -0
  296. package/dist/web/constants.js.map +1 -0
  297. package/dist/web/errors.d.ts +46 -0
  298. package/dist/web/errors.d.ts.map +1 -0
  299. package/dist/web/errors.js +56 -0
  300. package/dist/web/errors.js.map +1 -0
  301. package/dist/web/index.d.ts +13 -0
  302. package/dist/web/index.d.ts.map +1 -0
  303. package/dist/web/index.js +20 -0
  304. package/dist/web/index.js.map +1 -0
  305. package/dist/web/layout.d.ts +31 -0
  306. package/dist/web/layout.d.ts.map +1 -0
  307. package/dist/web/layout.js +77 -0
  308. package/dist/web/layout.js.map +1 -0
  309. package/dist/web/markdown.d.ts +23 -0
  310. package/dist/web/markdown.d.ts.map +1 -0
  311. package/dist/web/markdown.js +38 -0
  312. package/dist/web/markdown.js.map +1 -0
  313. package/dist/web/overview-templates.d.ts +123 -0
  314. package/dist/web/overview-templates.d.ts.map +1 -0
  315. package/dist/web/overview-templates.js +213 -0
  316. package/dist/web/overview-templates.js.map +1 -0
  317. package/dist/web/pages-detail.d.ts +32 -0
  318. package/dist/web/pages-detail.d.ts.map +1 -0
  319. package/dist/web/pages-detail.js +275 -0
  320. package/dist/web/pages-detail.js.map +1 -0
  321. package/dist/web/pages-overview.d.ts +60 -0
  322. package/dist/web/pages-overview.d.ts.map +1 -0
  323. package/dist/web/pages-overview.js +304 -0
  324. package/dist/web/pages-overview.js.map +1 -0
  325. package/dist/web/public/app.css +1772 -0
  326. package/dist/web/public/app.js +41 -0
  327. package/dist/web/register.d.ts +12 -0
  328. package/dist/web/register.d.ts.map +1 -0
  329. package/dist/web/register.js +88 -0
  330. package/dist/web/register.js.map +1 -0
  331. package/dist/web/render-utils.d.ts +28 -0
  332. package/dist/web/render-utils.d.ts.map +1 -0
  333. package/dist/web/render-utils.js +54 -0
  334. package/dist/web/render-utils.js.map +1 -0
  335. package/dist/web/server.d.ts +42 -0
  336. package/dist/web/server.d.ts.map +1 -0
  337. package/dist/web/server.js +292 -0
  338. package/dist/web/server.js.map +1 -0
  339. package/package.json +14 -27
  340. package/scripts/copy-assets.cjs +89 -0
  341. package/dist/.claude-template/commands/my-commit.md +0 -9
  342. package/dist/.claude-template/skills/cgraphx/SKILL.md +0 -143
  343. package/dist/.claude-template/skills/cgraphx/agent-prompt.md +0 -56
  344. package/dist/.claude-template/skills/code-impact-api/SKILL.md +0 -143
  345. package/dist/.claude-template/skills/code-impact-api/agent-prompt.md +0 -51
  346. package/dist/.claude-template/skills/code-impact-docgen/SKILL.md +0 -376
  347. package/dist/.claude-template/skills/code-impact-docgen/template-design-html.md +0 -357
  348. package/dist/.claude-template/skills/code-impact-docgen/template-design-md.md +0 -164
  349. package/dist/.claude-template/skills/code-impact-init/SKILL.md +0 -803
  350. package/dist/.claude-template/skills/code-impact-markdown/SKILL.md +0 -353
  351. package/dist/.claude-template/skills/code-impact-markdown/template-guide.md +0 -68
  352. package/dist/.claude-template/skills/code-impact-markdown/template-memory.md +0 -82
  353. package/dist/.claude-template/skills/code-impact-markdown/template-runbook.md +0 -58
  354. package/dist/.claude-template/skills/precommit-review/SKILL.md +0 -50
  355. package/dist/api-test/ai-fields.d.ts +0 -37
  356. package/dist/api-test/ai-fields.d.ts.map +0 -1
  357. package/dist/api-test/ai-fields.js +0 -114
  358. package/dist/api-test/ai-fields.js.map +0 -1
  359. package/dist/api-test/assemble.d.ts +0 -76
  360. package/dist/api-test/assemble.d.ts.map +0 -1
  361. package/dist/api-test/assemble.js +0 -185
  362. package/dist/api-test/assemble.js.map +0 -1
  363. package/dist/api-test/bru-cli-invoker.d.ts +0 -72
  364. package/dist/api-test/bru-cli-invoker.d.ts.map +0 -1
  365. package/dist/api-test/bru-cli-invoker.js +0 -169
  366. package/dist/api-test/bru-cli-invoker.js.map +0 -1
  367. package/dist/api-test/bru-report-parser.d.ts +0 -24
  368. package/dist/api-test/bru-report-parser.d.ts.map +0 -1
  369. package/dist/api-test/bru-report-parser.js +0 -110
  370. package/dist/api-test/bru-report-parser.js.map +0 -1
  371. package/dist/api-test/bru-runner.d.ts +0 -101
  372. package/dist/api-test/bru-runner.d.ts.map +0 -1
  373. package/dist/api-test/bru-runner.js +0 -316
  374. package/dist/api-test/bru-runner.js.map +0 -1
  375. package/dist/api-test/bru-writer.d.ts +0 -52
  376. package/dist/api-test/bru-writer.d.ts.map +0 -1
  377. package/dist/api-test/bru-writer.js +0 -159
  378. package/dist/api-test/bru-writer.js.map +0 -1
  379. package/dist/api-test/call-chain-extractor.d.ts +0 -80
  380. package/dist/api-test/call-chain-extractor.d.ts.map +0 -1
  381. package/dist/api-test/call-chain-extractor.js +0 -179
  382. package/dist/api-test/call-chain-extractor.js.map +0 -1
  383. package/dist/api-test/cli.d.ts +0 -133
  384. package/dist/api-test/cli.d.ts.map +0 -1
  385. package/dist/api-test/cli.js +0 -1009
  386. package/dist/api-test/cli.js.map +0 -1
  387. package/dist/api-test/config.d.ts +0 -75
  388. package/dist/api-test/config.d.ts.map +0 -1
  389. package/dist/api-test/config.js +0 -406
  390. package/dist/api-test/config.js.map +0 -1
  391. package/dist/api-test/db-query-cli.d.ts +0 -51
  392. package/dist/api-test/db-query-cli.d.ts.map +0 -1
  393. package/dist/api-test/db-query-cli.js +0 -119
  394. package/dist/api-test/db-query-cli.js.map +0 -1
  395. package/dist/api-test/enhance-prepare.d.ts +0 -111
  396. package/dist/api-test/enhance-prepare.d.ts.map +0 -1
  397. package/dist/api-test/enhance-prepare.js +0 -425
  398. package/dist/api-test/enhance-prepare.js.map +0 -1
  399. package/dist/api-test/enhance-write.d.ts +0 -28
  400. package/dist/api-test/enhance-write.d.ts.map +0 -1
  401. package/dist/api-test/enhance-write.js +0 -145
  402. package/dist/api-test/enhance-write.js.map +0 -1
  403. package/dist/api-test/errors.d.ts +0 -48
  404. package/dist/api-test/errors.d.ts.map +0 -1
  405. package/dist/api-test/errors.js +0 -76
  406. package/dist/api-test/errors.js.map +0 -1
  407. package/dist/api-test/field-extractor.d.ts +0 -98
  408. package/dist/api-test/field-extractor.d.ts.map +0 -1
  409. package/dist/api-test/field-extractor.js +0 -327
  410. package/dist/api-test/field-extractor.js.map +0 -1
  411. package/dist/api-test/impl-finder.d.ts +0 -37
  412. package/dist/api-test/impl-finder.d.ts.map +0 -1
  413. package/dist/api-test/impl-finder.js +0 -54
  414. package/dist/api-test/impl-finder.js.map +0 -1
  415. package/dist/api-test/index.d.ts +0 -41
  416. package/dist/api-test/index.d.ts.map +0 -1
  417. package/dist/api-test/index.js +0 -124
  418. package/dist/api-test/index.js.map +0 -1
  419. package/dist/api-test/java-parser.d.ts +0 -89
  420. package/dist/api-test/java-parser.d.ts.map +0 -1
  421. package/dist/api-test/java-parser.js +0 -508
  422. package/dist/api-test/java-parser.js.map +0 -1
  423. package/dist/api-test/md-writer.d.ts +0 -49
  424. package/dist/api-test/md-writer.d.ts.map +0 -1
  425. package/dist/api-test/md-writer.js +0 -202
  426. package/dist/api-test/md-writer.js.map +0 -1
  427. package/dist/api-test/parser-httpservice.d.ts +0 -91
  428. package/dist/api-test/parser-httpservice.d.ts.map +0 -1
  429. package/dist/api-test/parser-httpservice.js +0 -271
  430. package/dist/api-test/parser-httpservice.js.map +0 -1
  431. package/dist/api-test/report.d.ts +0 -188
  432. package/dist/api-test/report.d.ts.map +0 -1
  433. package/dist/api-test/report.js +0 -522
  434. package/dist/api-test/report.js.map +0 -1
  435. package/dist/api-test/snapshot.d.ts +0 -26
  436. package/dist/api-test/snapshot.d.ts.map +0 -1
  437. package/dist/api-test/snapshot.js +0 -150
  438. package/dist/api-test/snapshot.js.map +0 -1
  439. package/dist/api-test/test-history.d.ts +0 -48
  440. package/dist/api-test/test-history.d.ts.map +0 -1
  441. package/dist/api-test/test-history.js +0 -122
  442. package/dist/api-test/test-history.js.map +0 -1
  443. package/dist/api-test/types.d.ts +0 -174
  444. package/dist/api-test/types.d.ts.map +0 -1
  445. package/dist/api-test/types.js +0 -13
  446. package/dist/api-test/types.js.map +0 -1
  447. package/dist/api-test/verify-prepare.d.ts +0 -30
  448. package/dist/api-test/verify-prepare.d.ts.map +0 -1
  449. package/dist/api-test/verify-prepare.js +0 -150
  450. package/dist/api-test/verify-prepare.js.map +0 -1
  451. package/dist/api-test/verify-write.d.ts +0 -31
  452. package/dist/api-test/verify-write.d.ts.map +0 -1
  453. package/dist/api-test/verify-write.js +0 -159
  454. package/dist/api-test/verify-write.js.map +0 -1
  455. package/dist/bin/codegraph.d.ts +0 -26
  456. package/dist/bin/codegraph.d.ts.map +0 -1
  457. package/dist/bin/codegraph.js +0 -1914
  458. package/dist/bin/codegraph.js.map +0 -1
  459. package/dist/bin/fatal-handler.d.ts +0 -20
  460. package/dist/bin/fatal-handler.d.ts.map +0 -1
  461. package/dist/bin/fatal-handler.js +0 -118
  462. package/dist/bin/fatal-handler.js.map +0 -1
  463. package/dist/bin/node-version-check.d.ts +0 -51
  464. package/dist/bin/node-version-check.d.ts.map +0 -1
  465. package/dist/bin/node-version-check.js +0 -114
  466. package/dist/bin/node-version-check.js.map +0 -1
  467. package/dist/bin/uninstall.d.ts +0 -14
  468. package/dist/bin/uninstall.d.ts.map +0 -1
  469. package/dist/bin/uninstall.js +0 -36
  470. package/dist/bin/uninstall.js.map +0 -1
  471. package/dist/context/formatter.d.ts +0 -30
  472. package/dist/context/formatter.d.ts.map +0 -1
  473. package/dist/context/formatter.js +0 -263
  474. package/dist/context/formatter.js.map +0 -1
  475. package/dist/context/index.d.ts +0 -119
  476. package/dist/context/index.d.ts.map +0 -1
  477. package/dist/context/index.js +0 -1296
  478. package/dist/context/index.js.map +0 -1
  479. package/dist/context/markers.d.ts +0 -19
  480. package/dist/context/markers.d.ts.map +0 -1
  481. package/dist/context/markers.js +0 -22
  482. package/dist/context/markers.js.map +0 -1
  483. package/dist/db/index.d.ts +0 -122
  484. package/dist/db/index.d.ts.map +0 -1
  485. package/dist/db/index.js +0 -296
  486. package/dist/db/index.js.map +0 -1
  487. package/dist/db/migrations.d.ts +0 -44
  488. package/dist/db/migrations.d.ts.map +0 -1
  489. package/dist/db/migrations.js +0 -140
  490. package/dist/db/migrations.js.map +0 -1
  491. package/dist/db/queries.d.ts +0 -401
  492. package/dist/db/queries.d.ts.map +0 -1
  493. package/dist/db/queries.js +0 -1591
  494. package/dist/db/queries.js.map +0 -1
  495. package/dist/db/schema.sql +0 -152
  496. package/dist/db/sqlite-adapter.d.ts +0 -53
  497. package/dist/db/sqlite-adapter.d.ts.map +0 -1
  498. package/dist/db/sqlite-adapter.js +0 -117
  499. package/dist/db/sqlite-adapter.js.map +0 -1
  500. package/dist/dbquery/cli.d.ts +0 -17
  501. package/dist/dbquery/cli.d.ts.map +0 -1
  502. package/dist/dbquery/cli.js +0 -246
  503. package/dist/dbquery/cli.js.map +0 -1
  504. package/dist/dbquery/config.d.ts.map +0 -1
  505. package/dist/dbquery/config.js.map +0 -1
  506. package/dist/dbquery/constants.d.ts.map +0 -1
  507. package/dist/dbquery/constants.js.map +0 -1
  508. package/dist/dbquery/drivers/mysql.d.ts.map +0 -1
  509. package/dist/dbquery/drivers/mysql.js.map +0 -1
  510. package/dist/dbquery/drivers/postgres.d.ts.map +0 -1
  511. package/dist/dbquery/drivers/postgres.js.map +0 -1
  512. package/dist/dbquery/dump-schema.d.ts +0 -46
  513. package/dist/dbquery/dump-schema.d.ts.map +0 -1
  514. package/dist/dbquery/dump-schema.js +0 -379
  515. package/dist/dbquery/dump-schema.js.map +0 -1
  516. package/dist/dbquery/errors.d.ts +0 -40
  517. package/dist/dbquery/errors.d.ts.map +0 -1
  518. package/dist/dbquery/errors.js +0 -85
  519. package/dist/dbquery/errors.js.map +0 -1
  520. package/dist/dbquery/executor.d.ts.map +0 -1
  521. package/dist/dbquery/executor.js.map +0 -1
  522. package/dist/dbquery/format.d.ts.map +0 -1
  523. package/dist/dbquery/format.js.map +0 -1
  524. package/dist/dbquery/identifiers.d.ts.map +0 -1
  525. package/dist/dbquery/identifiers.js.map +0 -1
  526. package/dist/dbquery/index.d.ts.map +0 -1
  527. package/dist/dbquery/index.js.map +0 -1
  528. package/dist/dbquery/init.d.ts +0 -33
  529. package/dist/dbquery/init.d.ts.map +0 -1
  530. package/dist/dbquery/init.js +0 -125
  531. package/dist/dbquery/init.js.map +0 -1
  532. package/dist/dbquery/logging.d.ts.map +0 -1
  533. package/dist/dbquery/logging.js.map +0 -1
  534. package/dist/dbquery/mcp-tools.d.ts +0 -29
  535. package/dist/dbquery/mcp-tools.d.ts.map +0 -1
  536. package/dist/dbquery/mcp-tools.js +0 -206
  537. package/dist/dbquery/mcp-tools.js.map +0 -1
  538. package/dist/dbquery/queries.d.ts.map +0 -1
  539. package/dist/dbquery/queries.js.map +0 -1
  540. package/dist/dbquery/safety.d.ts.map +0 -1
  541. package/dist/dbquery/safety.js.map +0 -1
  542. package/dist/dbquery/types.d.ts +0 -139
  543. package/dist/dbquery/types.d.ts.map +0 -1
  544. package/dist/dbquery/types.js +0 -10
  545. package/dist/dbquery/types.js.map +0 -1
  546. package/dist/directory.d.ts +0 -147
  547. package/dist/directory.d.ts.map +0 -1
  548. package/dist/directory.js +0 -523
  549. package/dist/directory.js.map +0 -1
  550. package/dist/errors.d.ts +0 -136
  551. package/dist/errors.d.ts.map +0 -1
  552. package/dist/errors.js +0 -219
  553. package/dist/errors.js.map +0 -1
  554. package/dist/extraction/astro-extractor.d.ts +0 -79
  555. package/dist/extraction/astro-extractor.d.ts.map +0 -1
  556. package/dist/extraction/astro-extractor.js +0 -320
  557. package/dist/extraction/astro-extractor.js.map +0 -1
  558. package/dist/extraction/dfm-extractor.d.ts +0 -31
  559. package/dist/extraction/dfm-extractor.d.ts.map +0 -1
  560. package/dist/extraction/dfm-extractor.js +0 -151
  561. package/dist/extraction/dfm-extractor.js.map +0 -1
  562. package/dist/extraction/extraction-version.d.ts +0 -25
  563. package/dist/extraction/extraction-version.d.ts.map +0 -1
  564. package/dist/extraction/extraction-version.js +0 -28
  565. package/dist/extraction/extraction-version.js.map +0 -1
  566. package/dist/extraction/function-ref.d.ts +0 -118
  567. package/dist/extraction/function-ref.d.ts.map +0 -1
  568. package/dist/extraction/function-ref.js +0 -727
  569. package/dist/extraction/function-ref.js.map +0 -1
  570. package/dist/extraction/generated-detection.d.ts +0 -30
  571. package/dist/extraction/generated-detection.d.ts.map +0 -1
  572. package/dist/extraction/generated-detection.js +0 -83
  573. package/dist/extraction/generated-detection.js.map +0 -1
  574. package/dist/extraction/grammars.d.ts +0 -114
  575. package/dist/extraction/grammars.d.ts.map +0 -1
  576. package/dist/extraction/grammars.js +0 -477
  577. package/dist/extraction/grammars.js.map +0 -1
  578. package/dist/extraction/index.d.ts +0 -175
  579. package/dist/extraction/index.d.ts.map +0 -1
  580. package/dist/extraction/index.js +0 -1887
  581. package/dist/extraction/index.js.map +0 -1
  582. package/dist/extraction/languages/c-cpp.d.ts +0 -12
  583. package/dist/extraction/languages/c-cpp.d.ts.map +0 -1
  584. package/dist/extraction/languages/c-cpp.js +0 -275
  585. package/dist/extraction/languages/c-cpp.js.map +0 -1
  586. package/dist/extraction/languages/csharp.d.ts +0 -25
  587. package/dist/extraction/languages/csharp.d.ts.map +0 -1
  588. package/dist/extraction/languages/csharp.js +0 -175
  589. package/dist/extraction/languages/csharp.js.map +0 -1
  590. package/dist/extraction/languages/dart.d.ts +0 -3
  591. package/dist/extraction/languages/dart.d.ts.map +0 -1
  592. package/dist/extraction/languages/dart.js +0 -374
  593. package/dist/extraction/languages/dart.js.map +0 -1
  594. package/dist/extraction/languages/go.d.ts +0 -3
  595. package/dist/extraction/languages/go.d.ts.map +0 -1
  596. package/dist/extraction/languages/go.js +0 -111
  597. package/dist/extraction/languages/go.js.map +0 -1
  598. package/dist/extraction/languages/index.d.ts +0 -10
  599. package/dist/extraction/languages/index.d.ts.map +0 -1
  600. package/dist/extraction/languages/index.js +0 -53
  601. package/dist/extraction/languages/index.js.map +0 -1
  602. package/dist/extraction/languages/java.d.ts +0 -3
  603. package/dist/extraction/languages/java.d.ts.map +0 -1
  604. package/dist/extraction/languages/java.js +0 -315
  605. package/dist/extraction/languages/java.js.map +0 -1
  606. package/dist/extraction/languages/javascript.d.ts +0 -3
  607. package/dist/extraction/languages/javascript.d.ts.map +0 -1
  608. package/dist/extraction/languages/javascript.js +0 -106
  609. package/dist/extraction/languages/javascript.js.map +0 -1
  610. package/dist/extraction/languages/kotlin.d.ts +0 -3
  611. package/dist/extraction/languages/kotlin.d.ts.map +0 -1
  612. package/dist/extraction/languages/kotlin.js +0 -379
  613. package/dist/extraction/languages/kotlin.js.map +0 -1
  614. package/dist/extraction/languages/lua.d.ts +0 -3
  615. package/dist/extraction/languages/lua.d.ts.map +0 -1
  616. package/dist/extraction/languages/lua.js +0 -150
  617. package/dist/extraction/languages/lua.js.map +0 -1
  618. package/dist/extraction/languages/luau.d.ts +0 -3
  619. package/dist/extraction/languages/luau.d.ts.map +0 -1
  620. package/dist/extraction/languages/luau.js +0 -37
  621. package/dist/extraction/languages/luau.js.map +0 -1
  622. package/dist/extraction/languages/objc.d.ts +0 -3
  623. package/dist/extraction/languages/objc.d.ts.map +0 -1
  624. package/dist/extraction/languages/objc.js +0 -175
  625. package/dist/extraction/languages/objc.js.map +0 -1
  626. package/dist/extraction/languages/pascal.d.ts +0 -3
  627. package/dist/extraction/languages/pascal.d.ts.map +0 -1
  628. package/dist/extraction/languages/pascal.js +0 -77
  629. package/dist/extraction/languages/pascal.js.map +0 -1
  630. package/dist/extraction/languages/php.d.ts +0 -3
  631. package/dist/extraction/languages/php.d.ts.map +0 -1
  632. package/dist/extraction/languages/php.js +0 -196
  633. package/dist/extraction/languages/php.js.map +0 -1
  634. package/dist/extraction/languages/python.d.ts +0 -3
  635. package/dist/extraction/languages/python.d.ts.map +0 -1
  636. package/dist/extraction/languages/python.js +0 -56
  637. package/dist/extraction/languages/python.js.map +0 -1
  638. package/dist/extraction/languages/r.d.ts +0 -3
  639. package/dist/extraction/languages/r.d.ts.map +0 -1
  640. package/dist/extraction/languages/r.js +0 -314
  641. package/dist/extraction/languages/r.js.map +0 -1
  642. package/dist/extraction/languages/ruby.d.ts +0 -3
  643. package/dist/extraction/languages/ruby.d.ts.map +0 -1
  644. package/dist/extraction/languages/ruby.js +0 -149
  645. package/dist/extraction/languages/ruby.js.map +0 -1
  646. package/dist/extraction/languages/rust.d.ts +0 -3
  647. package/dist/extraction/languages/rust.d.ts.map +0 -1
  648. package/dist/extraction/languages/rust.js +0 -142
  649. package/dist/extraction/languages/rust.js.map +0 -1
  650. package/dist/extraction/languages/scala.d.ts +0 -3
  651. package/dist/extraction/languages/scala.d.ts.map +0 -1
  652. package/dist/extraction/languages/scala.js +0 -209
  653. package/dist/extraction/languages/scala.js.map +0 -1
  654. package/dist/extraction/languages/swift.d.ts +0 -3
  655. package/dist/extraction/languages/swift.d.ts.map +0 -1
  656. package/dist/extraction/languages/swift.js +0 -152
  657. package/dist/extraction/languages/swift.js.map +0 -1
  658. package/dist/extraction/languages/typescript.d.ts +0 -16
  659. package/dist/extraction/languages/typescript.d.ts.map +0 -1
  660. package/dist/extraction/languages/typescript.js +0 -167
  661. package/dist/extraction/languages/typescript.js.map +0 -1
  662. package/dist/extraction/liquid-extractor.d.ts +0 -59
  663. package/dist/extraction/liquid-extractor.d.ts.map +0 -1
  664. package/dist/extraction/liquid-extractor.js +0 -357
  665. package/dist/extraction/liquid-extractor.js.map +0 -1
  666. package/dist/extraction/mybatis-extractor.d.ts +0 -48
  667. package/dist/extraction/mybatis-extractor.d.ts.map +0 -1
  668. package/dist/extraction/mybatis-extractor.js +0 -198
  669. package/dist/extraction/mybatis-extractor.js.map +0 -1
  670. package/dist/extraction/parse-worker.d.ts +0 -8
  671. package/dist/extraction/parse-worker.d.ts.map +0 -1
  672. package/dist/extraction/parse-worker.js +0 -97
  673. package/dist/extraction/parse-worker.js.map +0 -1
  674. package/dist/extraction/razor-extractor.d.ts +0 -42
  675. package/dist/extraction/razor-extractor.d.ts.map +0 -1
  676. package/dist/extraction/razor-extractor.js +0 -285
  677. package/dist/extraction/razor-extractor.js.map +0 -1
  678. package/dist/extraction/svelte-extractor.d.ts +0 -56
  679. package/dist/extraction/svelte-extractor.d.ts.map +0 -1
  680. package/dist/extraction/svelte-extractor.js +0 -275
  681. package/dist/extraction/svelte-extractor.js.map +0 -1
  682. package/dist/extraction/tree-sitter-helpers.d.ts +0 -28
  683. package/dist/extraction/tree-sitter-helpers.d.ts.map +0 -1
  684. package/dist/extraction/tree-sitter-helpers.js +0 -152
  685. package/dist/extraction/tree-sitter-helpers.js.map +0 -1
  686. package/dist/extraction/tree-sitter-types.d.ts +0 -239
  687. package/dist/extraction/tree-sitter-types.d.ts.map +0 -1
  688. package/dist/extraction/tree-sitter-types.js +0 -10
  689. package/dist/extraction/tree-sitter-types.js.map +0 -1
  690. package/dist/extraction/tree-sitter.d.ts +0 -647
  691. package/dist/extraction/tree-sitter.d.ts.map +0 -1
  692. package/dist/extraction/tree-sitter.js +0 -5592
  693. package/dist/extraction/tree-sitter.js.map +0 -1
  694. package/dist/extraction/vue-extractor.d.ts +0 -51
  695. package/dist/extraction/vue-extractor.d.ts.map +0 -1
  696. package/dist/extraction/vue-extractor.js +0 -254
  697. package/dist/extraction/vue-extractor.js.map +0 -1
  698. package/dist/extraction/wasm/tree-sitter-c_sharp.wasm +0 -0
  699. package/dist/extraction/wasm/tree-sitter-lua.wasm +0 -0
  700. package/dist/extraction/wasm/tree-sitter-luau.wasm +0 -0
  701. package/dist/extraction/wasm/tree-sitter-pascal.wasm +0 -0
  702. package/dist/extraction/wasm/tree-sitter-r.wasm +0 -0
  703. package/dist/extraction/wasm/tree-sitter-scala.wasm +0 -0
  704. package/dist/extraction/wasm-runtime-flags.d.ts +0 -38
  705. package/dist/extraction/wasm-runtime-flags.d.ts.map +0 -1
  706. package/dist/extraction/wasm-runtime-flags.js +0 -106
  707. package/dist/extraction/wasm-runtime-flags.js.map +0 -1
  708. package/dist/graph/index.d.ts +0 -8
  709. package/dist/graph/index.d.ts.map +0 -1
  710. package/dist/graph/index.js +0 -13
  711. package/dist/graph/index.js.map +0 -1
  712. package/dist/graph/queries.d.ts +0 -106
  713. package/dist/graph/queries.d.ts.map +0 -1
  714. package/dist/graph/queries.js +0 -339
  715. package/dist/graph/queries.js.map +0 -1
  716. package/dist/graph/traversal.d.ts +0 -127
  717. package/dist/graph/traversal.d.ts.map +0 -1
  718. package/dist/graph/traversal.js +0 -540
  719. package/dist/graph/traversal.js.map +0 -1
  720. package/dist/index.d.ts +0 -563
  721. package/dist/index.d.ts.map +0 -1
  722. package/dist/index.js +0 -1041
  723. package/dist/index.js.map +0 -1
  724. package/dist/installer/claude-assets.d.ts +0 -45
  725. package/dist/installer/claude-assets.d.ts.map +0 -1
  726. package/dist/installer/claude-assets.js +0 -144
  727. package/dist/installer/claude-assets.js.map +0 -1
  728. package/dist/installer/config-writer.d.ts +0 -28
  729. package/dist/installer/config-writer.d.ts.map +0 -1
  730. package/dist/installer/config-writer.js +0 -91
  731. package/dist/installer/config-writer.js.map +0 -1
  732. package/dist/installer/index.d.ts +0 -101
  733. package/dist/installer/index.d.ts.map +0 -1
  734. package/dist/installer/index.js +0 -692
  735. package/dist/installer/index.js.map +0 -1
  736. package/dist/installer/instructions-template.d.ts +0 -41
  737. package/dist/installer/instructions-template.d.ts.map +0 -1
  738. package/dist/installer/instructions-template.js +0 -53
  739. package/dist/installer/instructions-template.js.map +0 -1
  740. package/dist/installer/targets/antigravity.d.ts +0 -57
  741. package/dist/installer/targets/antigravity.d.ts.map +0 -1
  742. package/dist/installer/targets/antigravity.js +0 -308
  743. package/dist/installer/targets/antigravity.js.map +0 -1
  744. package/dist/installer/targets/claude.d.ts +0 -81
  745. package/dist/installer/targets/claude.d.ts.map +0 -1
  746. package/dist/installer/targets/claude.js +0 -617
  747. package/dist/installer/targets/claude.js.map +0 -1
  748. package/dist/installer/targets/codex.d.ts +0 -18
  749. package/dist/installer/targets/codex.d.ts.map +0 -1
  750. package/dist/installer/targets/codex.js +0 -185
  751. package/dist/installer/targets/codex.js.map +0 -1
  752. package/dist/installer/targets/cursor.d.ts +0 -35
  753. package/dist/installer/targets/cursor.d.ts.map +0 -1
  754. package/dist/installer/targets/cursor.js +0 -254
  755. package/dist/installer/targets/cursor.js.map +0 -1
  756. package/dist/installer/targets/gemini.d.ts +0 -26
  757. package/dist/installer/targets/gemini.d.ts.map +0 -1
  758. package/dist/installer/targets/gemini.js +0 -165
  759. package/dist/installer/targets/gemini.js.map +0 -1
  760. package/dist/installer/targets/hermes.d.ts +0 -18
  761. package/dist/installer/targets/hermes.d.ts.map +0 -1
  762. package/dist/installer/targets/hermes.js +0 -359
  763. package/dist/installer/targets/hermes.js.map +0 -1
  764. package/dist/installer/targets/kiro.d.ts +0 -27
  765. package/dist/installer/targets/kiro.d.ts.map +0 -1
  766. package/dist/installer/targets/kiro.js +0 -178
  767. package/dist/installer/targets/kiro.js.map +0 -1
  768. package/dist/installer/targets/opencode.d.ts +0 -38
  769. package/dist/installer/targets/opencode.d.ts.map +0 -1
  770. package/dist/installer/targets/opencode.js +0 -288
  771. package/dist/installer/targets/opencode.js.map +0 -1
  772. package/dist/installer/targets/registry.d.ts +0 -35
  773. package/dist/installer/targets/registry.d.ts.map +0 -1
  774. package/dist/installer/targets/registry.js +0 -91
  775. package/dist/installer/targets/registry.js.map +0 -1
  776. package/dist/installer/targets/shared.d.ts +0 -101
  777. package/dist/installer/targets/shared.d.ts.map +0 -1
  778. package/dist/installer/targets/shared.js +0 -264
  779. package/dist/installer/targets/shared.js.map +0 -1
  780. package/dist/installer/targets/toml.d.ts +0 -52
  781. package/dist/installer/targets/toml.d.ts.map +0 -1
  782. package/dist/installer/targets/toml.js +0 -147
  783. package/dist/installer/targets/toml.js.map +0 -1
  784. package/dist/installer/targets/types.d.ts +0 -108
  785. package/dist/installer/targets/types.d.ts.map +0 -1
  786. package/dist/installer/targets/types.js +0 -16
  787. package/dist/installer/targets/types.js.map +0 -1
  788. package/dist/markdown/cli.d.ts +0 -16
  789. package/dist/markdown/cli.d.ts.map +0 -1
  790. package/dist/markdown/cli.js +0 -575
  791. package/dist/markdown/cli.js.map +0 -1
  792. package/dist/markdown/constants.d.ts +0 -22
  793. package/dist/markdown/constants.d.ts.map +0 -1
  794. package/dist/markdown/constants.js +0 -71
  795. package/dist/markdown/constants.js.map +0 -1
  796. package/dist/markdown/dedup.d.ts.map +0 -1
  797. package/dist/markdown/dedup.js.map +0 -1
  798. package/dist/markdown/errors.d.ts +0 -22
  799. package/dist/markdown/errors.d.ts.map +0 -1
  800. package/dist/markdown/errors.js +0 -45
  801. package/dist/markdown/errors.js.map +0 -1
  802. package/dist/markdown/extractor.d.ts.map +0 -1
  803. package/dist/markdown/extractor.js.map +0 -1
  804. package/dist/markdown/frontmatter-parser.d.ts +0 -47
  805. package/dist/markdown/frontmatter-parser.d.ts.map +0 -1
  806. package/dist/markdown/frontmatter-parser.js +0 -199
  807. package/dist/markdown/frontmatter-parser.js.map +0 -1
  808. package/dist/markdown/indexer.d.ts +0 -34
  809. package/dist/markdown/indexer.d.ts.map +0 -1
  810. package/dist/markdown/indexer.js +0 -256
  811. package/dist/markdown/indexer.js.map +0 -1
  812. package/dist/markdown/mcp-tools.d.ts +0 -33
  813. package/dist/markdown/mcp-tools.d.ts.map +0 -1
  814. package/dist/markdown/mcp-tools.js +0 -300
  815. package/dist/markdown/mcp-tools.js.map +0 -1
  816. package/dist/markdown/query.d.ts +0 -108
  817. package/dist/markdown/query.d.ts.map +0 -1
  818. package/dist/markdown/query.js +0 -570
  819. package/dist/markdown/query.js.map +0 -1
  820. package/dist/markdown/schema-bootstrap.d.ts +0 -40
  821. package/dist/markdown/schema-bootstrap.d.ts.map +0 -1
  822. package/dist/markdown/schema-bootstrap.js +0 -85
  823. package/dist/markdown/schema-bootstrap.js.map +0 -1
  824. package/dist/markdown/schema.sql +0 -124
  825. package/dist/markdown/store.d.ts.map +0 -1
  826. package/dist/markdown/store.js.map +0 -1
  827. package/dist/markdown/summary-extractor.d.ts.map +0 -1
  828. package/dist/markdown/summary-extractor.js.map +0 -1
  829. package/dist/markdown/types.d.ts +0 -159
  830. package/dist/markdown/types.d.ts.map +0 -1
  831. package/dist/markdown/types.js.map +0 -1
  832. package/dist/markdown/validator.d.ts +0 -44
  833. package/dist/markdown/validator.d.ts.map +0 -1
  834. package/dist/markdown/validator.js +0 -95
  835. package/dist/markdown/validator.js.map +0 -1
  836. package/dist/mcp/daemon-manager.d.ts +0 -42
  837. package/dist/mcp/daemon-manager.d.ts.map +0 -1
  838. package/dist/mcp/daemon-manager.js +0 -129
  839. package/dist/mcp/daemon-manager.js.map +0 -1
  840. package/dist/mcp/daemon-paths.d.ts +0 -46
  841. package/dist/mcp/daemon-paths.d.ts.map +0 -1
  842. package/dist/mcp/daemon-paths.js +0 -125
  843. package/dist/mcp/daemon-paths.js.map +0 -1
  844. package/dist/mcp/daemon-registry.d.ts +0 -47
  845. package/dist/mcp/daemon-registry.d.ts.map +0 -1
  846. package/dist/mcp/daemon-registry.js +0 -229
  847. package/dist/mcp/daemon-registry.js.map +0 -1
  848. package/dist/mcp/daemon.d.ts +0 -220
  849. package/dist/mcp/daemon.d.ts.map +0 -1
  850. package/dist/mcp/daemon.js +0 -637
  851. package/dist/mcp/daemon.js.map +0 -1
  852. package/dist/mcp/dynamic-boundaries.d.ts +0 -41
  853. package/dist/mcp/dynamic-boundaries.d.ts.map +0 -1
  854. package/dist/mcp/dynamic-boundaries.js +0 -359
  855. package/dist/mcp/dynamic-boundaries.js.map +0 -1
  856. package/dist/mcp/engine.d.ts +0 -105
  857. package/dist/mcp/engine.d.ts.map +0 -1
  858. package/dist/mcp/engine.js +0 -278
  859. package/dist/mcp/engine.js.map +0 -1
  860. package/dist/mcp/index.d.ts +0 -113
  861. package/dist/mcp/index.d.ts.map +0 -1
  862. package/dist/mcp/index.js +0 -499
  863. package/dist/mcp/index.js.map +0 -1
  864. package/dist/mcp/liveness-watchdog.d.ts +0 -18
  865. package/dist/mcp/liveness-watchdog.d.ts.map +0 -1
  866. package/dist/mcp/liveness-watchdog.js +0 -207
  867. package/dist/mcp/liveness-watchdog.js.map +0 -1
  868. package/dist/mcp/ppid-watchdog.d.ts +0 -44
  869. package/dist/mcp/ppid-watchdog.d.ts.map +0 -1
  870. package/dist/mcp/ppid-watchdog.js +0 -27
  871. package/dist/mcp/ppid-watchdog.js.map +0 -1
  872. package/dist/mcp/proxy.d.ts +0 -87
  873. package/dist/mcp/proxy.d.ts.map +0 -1
  874. package/dist/mcp/proxy.js +0 -641
  875. package/dist/mcp/proxy.js.map +0 -1
  876. package/dist/mcp/server-instructions.d.ts +0 -34
  877. package/dist/mcp/server-instructions.d.ts.map +0 -1
  878. package/dist/mcp/server-instructions.js +0 -106
  879. package/dist/mcp/server-instructions.js.map +0 -1
  880. package/dist/mcp/session.d.ts +0 -79
  881. package/dist/mcp/session.d.ts.map +0 -1
  882. package/dist/mcp/session.js +0 -330
  883. package/dist/mcp/session.js.map +0 -1
  884. package/dist/mcp/stdin-teardown.d.ts +0 -27
  885. package/dist/mcp/stdin-teardown.d.ts.map +0 -1
  886. package/dist/mcp/stdin-teardown.js +0 -49
  887. package/dist/mcp/stdin-teardown.js.map +0 -1
  888. package/dist/mcp/tools.d.ts +0 -547
  889. package/dist/mcp/tools.d.ts.map +0 -1
  890. package/dist/mcp/tools.js +0 -4122
  891. package/dist/mcp/tools.js.map +0 -1
  892. package/dist/mcp/transport.d.ts +0 -188
  893. package/dist/mcp/transport.d.ts.map +0 -1
  894. package/dist/mcp/transport.js +0 -359
  895. package/dist/mcp/transport.js.map +0 -1
  896. package/dist/mcp/version.d.ts +0 -19
  897. package/dist/mcp/version.d.ts.map +0 -1
  898. package/dist/mcp/version.js +0 -71
  899. package/dist/mcp/version.js.map +0 -1
  900. package/dist/project-config.d.ts +0 -36
  901. package/dist/project-config.d.ts.map +0 -1
  902. package/dist/project-config.js +0 -235
  903. package/dist/project-config.js.map +0 -1
  904. package/dist/reasoning/config.d.ts +0 -45
  905. package/dist/reasoning/config.d.ts.map +0 -1
  906. package/dist/reasoning/config.js +0 -171
  907. package/dist/reasoning/config.js.map +0 -1
  908. package/dist/reasoning/credentials.d.ts +0 -5
  909. package/dist/reasoning/credentials.d.ts.map +0 -1
  910. package/dist/reasoning/credentials.js +0 -83
  911. package/dist/reasoning/credentials.js.map +0 -1
  912. package/dist/reasoning/login.d.ts +0 -21
  913. package/dist/reasoning/login.d.ts.map +0 -1
  914. package/dist/reasoning/login.js +0 -85
  915. package/dist/reasoning/login.js.map +0 -1
  916. package/dist/reasoning/reasoner.d.ts +0 -43
  917. package/dist/reasoning/reasoner.d.ts.map +0 -1
  918. package/dist/reasoning/reasoner.js +0 -308
  919. package/dist/reasoning/reasoner.js.map +0 -1
  920. package/dist/resolution/c-fnptr-synthesizer.d.ts +0 -33
  921. package/dist/resolution/c-fnptr-synthesizer.d.ts.map +0 -1
  922. package/dist/resolution/c-fnptr-synthesizer.js +0 -352
  923. package/dist/resolution/c-fnptr-synthesizer.js.map +0 -1
  924. package/dist/resolution/callback-synthesizer.d.ts +0 -15
  925. package/dist/resolution/callback-synthesizer.d.ts.map +0 -1
  926. package/dist/resolution/callback-synthesizer.js +0 -2926
  927. package/dist/resolution/callback-synthesizer.js.map +0 -1
  928. package/dist/resolution/frameworks/astro.d.ts +0 -9
  929. package/dist/resolution/frameworks/astro.d.ts.map +0 -1
  930. package/dist/resolution/frameworks/astro.js +0 -169
  931. package/dist/resolution/frameworks/astro.js.map +0 -1
  932. package/dist/resolution/frameworks/cargo-workspace.d.ts +0 -18
  933. package/dist/resolution/frameworks/cargo-workspace.d.ts.map +0 -1
  934. package/dist/resolution/frameworks/cargo-workspace.js +0 -225
  935. package/dist/resolution/frameworks/cargo-workspace.js.map +0 -1
  936. package/dist/resolution/frameworks/csharp.d.ts +0 -8
  937. package/dist/resolution/frameworks/csharp.d.ts.map +0 -1
  938. package/dist/resolution/frameworks/csharp.js +0 -241
  939. package/dist/resolution/frameworks/csharp.js.map +0 -1
  940. package/dist/resolution/frameworks/drupal.d.ts +0 -51
  941. package/dist/resolution/frameworks/drupal.d.ts.map +0 -1
  942. package/dist/resolution/frameworks/drupal.js +0 -367
  943. package/dist/resolution/frameworks/drupal.js.map +0 -1
  944. package/dist/resolution/frameworks/expo-modules.d.ts +0 -3
  945. package/dist/resolution/frameworks/expo-modules.d.ts.map +0 -1
  946. package/dist/resolution/frameworks/expo-modules.js +0 -148
  947. package/dist/resolution/frameworks/expo-modules.js.map +0 -1
  948. package/dist/resolution/frameworks/express.d.ts +0 -8
  949. package/dist/resolution/frameworks/express.d.ts.map +0 -1
  950. package/dist/resolution/frameworks/express.js +0 -308
  951. package/dist/resolution/frameworks/express.js.map +0 -1
  952. package/dist/resolution/frameworks/fabric.d.ts +0 -3
  953. package/dist/resolution/frameworks/fabric.d.ts.map +0 -1
  954. package/dist/resolution/frameworks/fabric.js +0 -354
  955. package/dist/resolution/frameworks/fabric.js.map +0 -1
  956. package/dist/resolution/frameworks/go.d.ts +0 -8
  957. package/dist/resolution/frameworks/go.d.ts.map +0 -1
  958. package/dist/resolution/frameworks/go.js +0 -161
  959. package/dist/resolution/frameworks/go.js.map +0 -1
  960. package/dist/resolution/frameworks/goframe.d.ts +0 -41
  961. package/dist/resolution/frameworks/goframe.d.ts.map +0 -1
  962. package/dist/resolution/frameworks/goframe.js +0 -112
  963. package/dist/resolution/frameworks/goframe.js.map +0 -1
  964. package/dist/resolution/frameworks/index.d.ts +0 -50
  965. package/dist/resolution/frameworks/index.d.ts.map +0 -1
  966. package/dist/resolution/frameworks/index.js +0 -169
  967. package/dist/resolution/frameworks/index.js.map +0 -1
  968. package/dist/resolution/frameworks/java.d.ts +0 -8
  969. package/dist/resolution/frameworks/java.d.ts.map +0 -1
  970. package/dist/resolution/frameworks/java.js +0 -509
  971. package/dist/resolution/frameworks/java.js.map +0 -1
  972. package/dist/resolution/frameworks/laravel.d.ts +0 -13
  973. package/dist/resolution/frameworks/laravel.d.ts.map +0 -1
  974. package/dist/resolution/frameworks/laravel.js +0 -257
  975. package/dist/resolution/frameworks/laravel.js.map +0 -1
  976. package/dist/resolution/frameworks/nestjs.d.ts +0 -26
  977. package/dist/resolution/frameworks/nestjs.d.ts.map +0 -1
  978. package/dist/resolution/frameworks/nestjs.js +0 -698
  979. package/dist/resolution/frameworks/nestjs.js.map +0 -1
  980. package/dist/resolution/frameworks/play.d.ts +0 -19
  981. package/dist/resolution/frameworks/play.d.ts.map +0 -1
  982. package/dist/resolution/frameworks/play.js +0 -111
  983. package/dist/resolution/frameworks/play.js.map +0 -1
  984. package/dist/resolution/frameworks/python.d.ts +0 -10
  985. package/dist/resolution/frameworks/python.d.ts.map +0 -1
  986. package/dist/resolution/frameworks/python.js +0 -400
  987. package/dist/resolution/frameworks/python.js.map +0 -1
  988. package/dist/resolution/frameworks/react-native.d.ts +0 -3
  989. package/dist/resolution/frameworks/react-native.d.ts.map +0 -1
  990. package/dist/resolution/frameworks/react-native.js +0 -410
  991. package/dist/resolution/frameworks/react-native.js.map +0 -1
  992. package/dist/resolution/frameworks/react.d.ts +0 -8
  993. package/dist/resolution/frameworks/react.d.ts.map +0 -1
  994. package/dist/resolution/frameworks/react.js +0 -334
  995. package/dist/resolution/frameworks/react.js.map +0 -1
  996. package/dist/resolution/frameworks/ruby.d.ts +0 -8
  997. package/dist/resolution/frameworks/ruby.d.ts.map +0 -1
  998. package/dist/resolution/frameworks/ruby.js +0 -302
  999. package/dist/resolution/frameworks/ruby.js.map +0 -1
  1000. package/dist/resolution/frameworks/rust.d.ts +0 -8
  1001. package/dist/resolution/frameworks/rust.d.ts.map +0 -1
  1002. package/dist/resolution/frameworks/rust.js +0 -304
  1003. package/dist/resolution/frameworks/rust.js.map +0 -1
  1004. package/dist/resolution/frameworks/svelte.d.ts +0 -9
  1005. package/dist/resolution/frameworks/svelte.d.ts.map +0 -1
  1006. package/dist/resolution/frameworks/svelte.js +0 -253
  1007. package/dist/resolution/frameworks/svelte.js.map +0 -1
  1008. package/dist/resolution/frameworks/swift-objc.d.ts +0 -37
  1009. package/dist/resolution/frameworks/swift-objc.d.ts.map +0 -1
  1010. package/dist/resolution/frameworks/swift-objc.js +0 -252
  1011. package/dist/resolution/frameworks/swift-objc.js.map +0 -1
  1012. package/dist/resolution/frameworks/swift.d.ts +0 -10
  1013. package/dist/resolution/frameworks/swift.d.ts.map +0 -1
  1014. package/dist/resolution/frameworks/swift.js +0 -400
  1015. package/dist/resolution/frameworks/swift.js.map +0 -1
  1016. package/dist/resolution/frameworks/vue.d.ts +0 -9
  1017. package/dist/resolution/frameworks/vue.d.ts.map +0 -1
  1018. package/dist/resolution/frameworks/vue.js +0 -303
  1019. package/dist/resolution/frameworks/vue.js.map +0 -1
  1020. package/dist/resolution/go-module.d.ts +0 -26
  1021. package/dist/resolution/go-module.d.ts.map +0 -1
  1022. package/dist/resolution/go-module.js +0 -78
  1023. package/dist/resolution/go-module.js.map +0 -1
  1024. package/dist/resolution/goframe-synthesizer.d.ts +0 -28
  1025. package/dist/resolution/goframe-synthesizer.d.ts.map +0 -1
  1026. package/dist/resolution/goframe-synthesizer.js +0 -158
  1027. package/dist/resolution/goframe-synthesizer.js.map +0 -1
  1028. package/dist/resolution/import-resolver.d.ts +0 -78
  1029. package/dist/resolution/import-resolver.d.ts.map +0 -1
  1030. package/dist/resolution/import-resolver.js +0 -1849
  1031. package/dist/resolution/import-resolver.js.map +0 -1
  1032. package/dist/resolution/index.d.ts +0 -196
  1033. package/dist/resolution/index.d.ts.map +0 -1
  1034. package/dist/resolution/index.js +0 -1341
  1035. package/dist/resolution/index.js.map +0 -1
  1036. package/dist/resolution/lru-cache.d.ts +0 -24
  1037. package/dist/resolution/lru-cache.d.ts.map +0 -1
  1038. package/dist/resolution/lru-cache.js +0 -62
  1039. package/dist/resolution/lru-cache.js.map +0 -1
  1040. package/dist/resolution/name-matcher.d.ts +0 -93
  1041. package/dist/resolution/name-matcher.d.ts.map +0 -1
  1042. package/dist/resolution/name-matcher.js +0 -1212
  1043. package/dist/resolution/name-matcher.js.map +0 -1
  1044. package/dist/resolution/path-aliases.d.ts +0 -68
  1045. package/dist/resolution/path-aliases.d.ts.map +0 -1
  1046. package/dist/resolution/path-aliases.js +0 -238
  1047. package/dist/resolution/path-aliases.js.map +0 -1
  1048. package/dist/resolution/scope-index.d.ts +0 -86
  1049. package/dist/resolution/scope-index.d.ts.map +0 -1
  1050. package/dist/resolution/scope-index.js +0 -143
  1051. package/dist/resolution/scope-index.js.map +0 -1
  1052. package/dist/resolution/stdlib-blocklist.d.ts +0 -53
  1053. package/dist/resolution/stdlib-blocklist.d.ts.map +0 -1
  1054. package/dist/resolution/stdlib-blocklist.js +0 -143
  1055. package/dist/resolution/stdlib-blocklist.js.map +0 -1
  1056. package/dist/resolution/strip-comments.d.ts +0 -27
  1057. package/dist/resolution/strip-comments.d.ts.map +0 -1
  1058. package/dist/resolution/strip-comments.js +0 -443
  1059. package/dist/resolution/strip-comments.js.map +0 -1
  1060. package/dist/resolution/swift-objc-bridge.d.ts +0 -134
  1061. package/dist/resolution/swift-objc-bridge.d.ts.map +0 -1
  1062. package/dist/resolution/swift-objc-bridge.js +0 -256
  1063. package/dist/resolution/swift-objc-bridge.js.map +0 -1
  1064. package/dist/resolution/types.d.ts +0 -233
  1065. package/dist/resolution/types.d.ts.map +0 -1
  1066. package/dist/resolution/types.js +0 -8
  1067. package/dist/resolution/types.js.map +0 -1
  1068. package/dist/resolution/workspace-packages.d.ts +0 -48
  1069. package/dist/resolution/workspace-packages.d.ts.map +0 -1
  1070. package/dist/resolution/workspace-packages.js +0 -208
  1071. package/dist/resolution/workspace-packages.js.map +0 -1
  1072. package/dist/search/ast-helpers.d.ts +0 -42
  1073. package/dist/search/ast-helpers.d.ts.map +0 -1
  1074. package/dist/search/ast-helpers.js +0 -106
  1075. package/dist/search/ast-helpers.js.map +0 -1
  1076. package/dist/search/call-sites.d.ts +0 -398
  1077. package/dist/search/call-sites.d.ts.map +0 -1
  1078. package/dist/search/call-sites.js +0 -1433
  1079. package/dist/search/call-sites.js.map +0 -1
  1080. package/dist/search/context.d.ts +0 -134
  1081. package/dist/search/context.d.ts.map +0 -1
  1082. package/dist/search/context.js +0 -575
  1083. package/dist/search/context.js.map +0 -1
  1084. package/dist/search/impact.d.ts +0 -139
  1085. package/dist/search/impact.d.ts.map +0 -1
  1086. package/dist/search/impact.js +0 -646
  1087. package/dist/search/impact.js.map +0 -1
  1088. package/dist/search/query-parser.d.ts +0 -57
  1089. package/dist/search/query-parser.d.ts.map +0 -1
  1090. package/dist/search/query-parser.js +0 -177
  1091. package/dist/search/query-parser.js.map +0 -1
  1092. package/dist/search/query-utils.d.ts +0 -87
  1093. package/dist/search/query-utils.d.ts.map +0 -1
  1094. package/dist/search/query-utils.js +0 -449
  1095. package/dist/search/query-utils.js.map +0 -1
  1096. package/dist/search/related.d.ts +0 -178
  1097. package/dist/search/related.d.ts.map +0 -1
  1098. package/dist/search/related.js +0 -667
  1099. package/dist/search/related.js.map +0 -1
  1100. package/dist/search/slice.d.ts +0 -148
  1101. package/dist/search/slice.d.ts.map +0 -1
  1102. package/dist/search/slice.js +0 -460
  1103. package/dist/search/slice.js.map +0 -1
  1104. package/dist/search/snr-constants.d.ts +0 -41
  1105. package/dist/search/snr-constants.d.ts.map +0 -1
  1106. package/dist/search/snr-constants.js +0 -44
  1107. package/dist/search/snr-constants.js.map +0 -1
  1108. package/dist/search/types.d.ts +0 -28
  1109. package/dist/search/types.d.ts.map +0 -1
  1110. package/dist/search/types.js +0 -12
  1111. package/dist/search/types.js.map +0 -1
  1112. package/dist/sync/git-hooks.d.ts +0 -45
  1113. package/dist/sync/git-hooks.d.ts.map +0 -1
  1114. package/dist/sync/git-hooks.js +0 -225
  1115. package/dist/sync/git-hooks.js.map +0 -1
  1116. package/dist/sync/index.d.ts +0 -19
  1117. package/dist/sync/index.d.ts.map +0 -1
  1118. package/dist/sync/index.js +0 -35
  1119. package/dist/sync/index.js.map +0 -1
  1120. package/dist/sync/watch-policy.d.ts +0 -48
  1121. package/dist/sync/watch-policy.d.ts.map +0 -1
  1122. package/dist/sync/watch-policy.js +0 -124
  1123. package/dist/sync/watch-policy.js.map +0 -1
  1124. package/dist/sync/watcher.d.ts +0 -350
  1125. package/dist/sync/watcher.d.ts.map +0 -1
  1126. package/dist/sync/watcher.js +0 -811
  1127. package/dist/sync/watcher.js.map +0 -1
  1128. package/dist/sync/worktree.d.ts +0 -54
  1129. package/dist/sync/worktree.d.ts.map +0 -1
  1130. package/dist/sync/worktree.js +0 -137
  1131. package/dist/sync/worktree.js.map +0 -1
  1132. package/dist/telemetry/index.d.ts +0 -143
  1133. package/dist/telemetry/index.d.ts.map +0 -1
  1134. package/dist/telemetry/index.js +0 -541
  1135. package/dist/telemetry/index.js.map +0 -1
  1136. package/dist/timeline/bash-semantics.d.ts.map +0 -1
  1137. package/dist/timeline/bash-semantics.js.map +0 -1
  1138. package/dist/timeline/cli.d.ts.map +0 -1
  1139. package/dist/timeline/cli.js.map +0 -1
  1140. package/dist/timeline/constants.d.ts +0 -62
  1141. package/dist/timeline/constants.d.ts.map +0 -1
  1142. package/dist/timeline/constants.js +0 -73
  1143. package/dist/timeline/constants.js.map +0 -1
  1144. package/dist/timeline/errors.d.ts.map +0 -1
  1145. package/dist/timeline/errors.js.map +0 -1
  1146. package/dist/timeline/hook-runner.d.ts.map +0 -1
  1147. package/dist/timeline/hook-runner.js.map +0 -1
  1148. package/dist/timeline/hooks.d.ts.map +0 -1
  1149. package/dist/timeline/hooks.js.map +0 -1
  1150. package/dist/timeline/index.d.ts.map +0 -1
  1151. package/dist/timeline/index.js.map +0 -1
  1152. package/dist/timeline/indexer.d.ts.map +0 -1
  1153. package/dist/timeline/indexer.js.map +0 -1
  1154. package/dist/timeline/installer.d.ts.map +0 -1
  1155. package/dist/timeline/installer.js.map +0 -1
  1156. package/dist/timeline/payload.d.ts.map +0 -1
  1157. package/dist/timeline/payload.js.map +0 -1
  1158. package/dist/timeline/post-tool-summary.d.ts.map +0 -1
  1159. package/dist/timeline/post-tool-summary.js.map +0 -1
  1160. package/dist/timeline/recorder.d.ts.map +0 -1
  1161. package/dist/timeline/recorder.js.map +0 -1
  1162. package/dist/timeline/schema-bootstrap.d.ts +0 -42
  1163. package/dist/timeline/schema-bootstrap.d.ts.map +0 -1
  1164. package/dist/timeline/schema-bootstrap.js +0 -81
  1165. package/dist/timeline/schema-bootstrap.js.map +0 -1
  1166. package/dist/timeline/store.d.ts.map +0 -1
  1167. package/dist/timeline/store.js.map +0 -1
  1168. package/dist/timeline/types.d.ts.map +0 -1
  1169. package/dist/timeline/types.js.map +0 -1
  1170. package/dist/types.d.ts +0 -392
  1171. package/dist/types.d.ts.map +0 -1
  1172. package/dist/types.js +0 -81
  1173. package/dist/types.js.map +0 -1
  1174. package/dist/ui/glyphs.d.ts +0 -42
  1175. package/dist/ui/glyphs.d.ts.map +0 -1
  1176. package/dist/ui/glyphs.js +0 -78
  1177. package/dist/ui/glyphs.js.map +0 -1
  1178. package/dist/ui/shimmer-progress.d.ts +0 -11
  1179. package/dist/ui/shimmer-progress.d.ts.map +0 -1
  1180. package/dist/ui/shimmer-progress.js +0 -90
  1181. package/dist/ui/shimmer-progress.js.map +0 -1
  1182. package/dist/ui/shimmer-worker.d.ts +0 -2
  1183. package/dist/ui/shimmer-worker.d.ts.map +0 -1
  1184. package/dist/ui/shimmer-worker.js +0 -118
  1185. package/dist/ui/shimmer-worker.js.map +0 -1
  1186. package/dist/ui/types.d.ts +0 -17
  1187. package/dist/ui/types.d.ts.map +0 -1
  1188. package/dist/ui/types.js +0 -3
  1189. package/dist/ui/types.js.map +0 -1
  1190. package/dist/upgrade/index.d.ts +0 -132
  1191. package/dist/upgrade/index.d.ts.map +0 -1
  1192. package/dist/upgrade/index.js +0 -498
  1193. package/dist/upgrade/index.js.map +0 -1
  1194. package/dist/utils.d.ts +0 -224
  1195. package/dist/utils.d.ts.map +0 -1
  1196. package/dist/utils.js +0 -583
  1197. package/dist/utils.js.map +0 -1
  1198. package/scripts/add-lang/bench.sh +0 -60
  1199. package/scripts/add-lang/check-grammar.mjs +0 -75
  1200. package/scripts/add-lang/dump-ast.mjs +0 -103
  1201. package/scripts/add-lang/verify-extraction.mjs +0 -70
  1202. package/scripts/agent-eval/ab-adoption.sh +0 -91
  1203. package/scripts/agent-eval/ab-hook.sh +0 -86
  1204. package/scripts/agent-eval/ab-impl.sh +0 -78
  1205. package/scripts/agent-eval/ab-new-vs-baseline.sh +0 -102
  1206. package/scripts/agent-eval/ab-sufficiency.sh +0 -78
  1207. package/scripts/agent-eval/arms-F.sh +0 -21
  1208. package/scripts/agent-eval/arms-matrix.sh +0 -37
  1209. package/scripts/agent-eval/audit.sh +0 -68
  1210. package/scripts/agent-eval/bench-readme.sh +0 -28
  1211. package/scripts/agent-eval/bench-why-repo.sh +0 -22
  1212. package/scripts/agent-eval/block-read-hook.sh +0 -19
  1213. package/scripts/agent-eval/hook-settings.json +0 -15
  1214. package/scripts/agent-eval/itrun.sh +0 -120
  1215. package/scripts/agent-eval/offload-eval-3arm.sh +0 -72
  1216. package/scripts/agent-eval/offload-eval-cost.mjs +0 -133
  1217. package/scripts/agent-eval/offload-eval-effort.mjs +0 -108
  1218. package/scripts/agent-eval/offload-eval-frontload-matrix.sh +0 -25
  1219. package/scripts/agent-eval/offload-eval-frontload.sh +0 -47
  1220. package/scripts/agent-eval/offload-eval-ground-truth.json +0 -18
  1221. package/scripts/agent-eval/offload-eval-hook.mjs +0 -84
  1222. package/scripts/agent-eval/offload-eval-judge.mjs +0 -103
  1223. package/scripts/agent-eval/offload-eval-matrix.sh +0 -20
  1224. package/scripts/agent-eval/offload-eval-metrics.mjs +0 -94
  1225. package/scripts/agent-eval/offload-eval-refs1.sh +0 -50
  1226. package/scripts/agent-eval/offload-eval-setup.sh +0 -24
  1227. package/scripts/agent-eval/offload-eval-styles.sh +0 -72
  1228. package/scripts/agent-eval/offload-eval-summarize.mjs +0 -68
  1229. package/scripts/agent-eval/offload-eval.md +0 -76
  1230. package/scripts/agent-eval/parse-arms.mjs +0 -116
  1231. package/scripts/agent-eval/parse-bench-readme.mjs +0 -84
  1232. package/scripts/agent-eval/parse-run.mjs +0 -45
  1233. package/scripts/agent-eval/parse-session.mjs +0 -93
  1234. package/scripts/agent-eval/probe-context.mjs +0 -21
  1235. package/scripts/agent-eval/probe-explore.mjs +0 -40
  1236. package/scripts/agent-eval/probe-node.mjs +0 -20
  1237. package/scripts/agent-eval/probe-sweep.mjs +0 -119
  1238. package/scripts/agent-eval/probe-trace.mjs +0 -20
  1239. package/scripts/agent-eval/redirect-read-hook.sh +0 -38
  1240. package/scripts/agent-eval/run-agent.sh +0 -34
  1241. package/scripts/agent-eval/run-all.sh +0 -69
  1242. package/scripts/agent-eval/run-arms.sh +0 -56
  1243. package/scripts/agent-eval/seq-matrix.mjs +0 -137
  1244. package/scripts/agent-eval/subagent-token-cost.py +0 -188
  1245. package/scripts/build-bundle.sh +0 -118
  1246. package/scripts/extract-release-notes.mjs +0 -130
  1247. package/scripts/local-install.sh +0 -41
  1248. package/scripts/npm-sdk.js +0 -75
  1249. package/scripts/npm-shim.js +0 -246
  1250. package/scripts/pack-npm.sh +0 -118
  1251. package/scripts/prepare-release.mjs +0 -270
  1252. /package/dist/{dbquery → core/dbquery}/config.d.ts +0 -0
  1253. /package/dist/{dbquery → core/dbquery}/config.js +0 -0
  1254. /package/dist/{dbquery → core/dbquery}/constants.d.ts +0 -0
  1255. /package/dist/{dbquery → core/dbquery}/constants.js +0 -0
  1256. /package/dist/{dbquery → core/dbquery}/drivers/mysql.d.ts +0 -0
  1257. /package/dist/{dbquery → core/dbquery}/drivers/mysql.js +0 -0
  1258. /package/dist/{dbquery → core/dbquery}/drivers/postgres.d.ts +0 -0
  1259. /package/dist/{dbquery → core/dbquery}/drivers/postgres.js +0 -0
  1260. /package/dist/{dbquery → core/dbquery}/executor.d.ts +0 -0
  1261. /package/dist/{dbquery → core/dbquery}/executor.js +0 -0
  1262. /package/dist/{dbquery → core/dbquery}/format.d.ts +0 -0
  1263. /package/dist/{dbquery → core/dbquery}/format.js +0 -0
  1264. /package/dist/{dbquery → core/dbquery}/identifiers.d.ts +0 -0
  1265. /package/dist/{dbquery → core/dbquery}/identifiers.js +0 -0
  1266. /package/dist/{dbquery → core/dbquery}/index.d.ts +0 -0
  1267. /package/dist/{dbquery → core/dbquery}/index.js +0 -0
  1268. /package/dist/{dbquery → core/dbquery}/logging.d.ts +0 -0
  1269. /package/dist/{dbquery → core/dbquery}/logging.js +0 -0
  1270. /package/dist/{dbquery → core/dbquery}/queries.d.ts +0 -0
  1271. /package/dist/{dbquery → core/dbquery}/queries.js +0 -0
  1272. /package/dist/{dbquery → core/dbquery}/safety.d.ts +0 -0
  1273. /package/dist/{dbquery → core/dbquery}/safety.js +0 -0
  1274. /package/dist/{markdown → core/markdown}/dedup.d.ts +0 -0
  1275. /package/dist/{markdown → core/markdown}/dedup.js +0 -0
  1276. /package/dist/{markdown → core/markdown}/extractor.d.ts +0 -0
  1277. /package/dist/{markdown → core/markdown}/extractor.js +0 -0
  1278. /package/dist/{markdown → core/markdown}/store.d.ts +0 -0
  1279. /package/dist/{markdown → core/markdown}/store.js +0 -0
  1280. /package/dist/{markdown → core/markdown}/summary-extractor.d.ts +0 -0
  1281. /package/dist/{markdown → core/markdown}/summary-extractor.js +0 -0
  1282. /package/dist/{markdown → core/markdown}/types.js +0 -0
  1283. /package/dist/{timeline → core/timeline}/bash-semantics.d.ts +0 -0
  1284. /package/dist/{timeline → core/timeline}/bash-semantics.js +0 -0
  1285. /package/dist/{timeline → core/timeline}/cli.d.ts +0 -0
  1286. /package/dist/{timeline → core/timeline}/cli.js +0 -0
  1287. /package/dist/{timeline → core/timeline}/errors.d.ts +0 -0
  1288. /package/dist/{timeline → core/timeline}/errors.js +0 -0
  1289. /package/dist/{timeline → core/timeline}/hook-runner.d.ts +0 -0
  1290. /package/dist/{timeline → core/timeline}/hook-runner.js +0 -0
  1291. /package/dist/{timeline → core/timeline}/hooks.d.ts +0 -0
  1292. /package/dist/{timeline → core/timeline}/hooks.js +0 -0
  1293. /package/dist/{timeline → core/timeline}/index.d.ts +0 -0
  1294. /package/dist/{timeline → core/timeline}/index.js +0 -0
  1295. /package/dist/{timeline → core/timeline}/indexer.d.ts +0 -0
  1296. /package/dist/{timeline → core/timeline}/indexer.js +0 -0
  1297. /package/dist/{timeline → core/timeline}/installer.d.ts +0 -0
  1298. /package/dist/{timeline → core/timeline}/installer.js +0 -0
  1299. /package/dist/{timeline → core/timeline}/payload.d.ts +0 -0
  1300. /package/dist/{timeline → core/timeline}/payload.js +0 -0
  1301. /package/dist/{timeline → core/timeline}/post-tool-summary.d.ts +0 -0
  1302. /package/dist/{timeline → core/timeline}/post-tool-summary.js +0 -0
  1303. /package/dist/{timeline → core/timeline}/recorder.d.ts +0 -0
  1304. /package/dist/{timeline → core/timeline}/recorder.js +0 -0
  1305. /package/dist/{timeline → core/timeline}/schema.sql +0 -0
  1306. /package/dist/{timeline → core/timeline}/store.d.ts +0 -0
  1307. /package/dist/{timeline → core/timeline}/store.js +0 -0
  1308. /package/dist/{timeline → core/timeline}/types.d.ts +0 -0
  1309. /package/dist/{timeline → core/timeline}/types.js +0 -0
@@ -0,0 +1,469 @@
1
+ <!DOCTYPE html>
2
+ <html lang="zh-CN">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>手绘演示 · 放映</title>
7
+ <link rel="preconnect" href="https://fonts.googleapis.com">
8
+ <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
9
+ <link href="https://fonts.googleapis.com/css2?family=Caveat:wght@500;700&family=Ma+Shan+Zheng&family=ZCOOL+KuaiLe&display=swap" rel="stylesheet">
10
+ <!--
11
+ handdrawn-deck 放映壳模板 · 深色放映台版
12
+ ─ 拷进 deck 目录改名 deck.html,只填脚本顶部的 PAGES 数组(页清单 = 放映顺序);
13
+ ─ 同目录有 notes.js(契约见 SKILL.md §5)→ 自动开演讲者视图:
14
+ 浅色备注栏 + 跑表 + 顶栏页型徽章;无 notes.js → 退回纯放映,零配置;
15
+ ─ 壳提供 16:9 投影画幅(contain 居中 + 投影幕质感),页面加载为 iframe 堆叠预载 +
16
+ 交叉淡入(翻回已看页逐笔重播),HUD 抖滑块广播 handdrawn:rough,
17
+ 键盘穿透 iframe,深链 deck.html#N 直达第 N 页。
18
+ -->
19
+ <style>
20
+ :root{
21
+ --ink:#3a2a1c; --ink-soft:#5a4636;
22
+ --peach:#f4c89c; --mint:#bfe2d0; --blue:#bfe2e6; --hilite:#f6cb9f; --paper:#f3ede1;
23
+ --hand:'Ma Shan Zheng', cursive; --sym:'Caveat', cursive; --display:'ZCOOL KuaiLe', cursive;
24
+ /* 壳界面用干净无衬线(与幻灯片的手绘体刻意对比;手绘感只留在投影画幅内) */
25
+ --ui:-apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans CJK SC", system-ui, sans-serif;
26
+ --late:#b23b2e;
27
+ /* 顶栏/HUD 实测高度(JS 量取后回写),供 16:9 画幅计算;默认值为近似值 */
28
+ --topbar-h:46px; --hud-h:50px;
29
+ }
30
+ *{box-sizing:border-box;}
31
+ html,body{margin:0;height:100%;}
32
+ body{
33
+ height:100%; font-family:var(--ui); color:#241c14; overflow:hidden;
34
+ background:#1c1712;
35
+ display:flex; flex-direction:column;
36
+ }
37
+
38
+ /* —— 顶栏:页号 + 标题 + 页型徽章 + 跑表 —— */
39
+ .topbar{flex:0 0 auto;display:flex;align-items:center;gap:14px;padding:9px 18px;
40
+ background:#211b15;border-bottom:1px solid rgba(255,255,255,.08);color:#f1e9dd;}
41
+ .ptitle{font-size:15px;font-weight:600;flex:1;letter-spacing:.2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
42
+ .ptitle .pno{font-family:var(--sym);font-weight:700;font-size:21px;color:var(--hilite);margin-right:8px;vertical-align:-2px;}
43
+ .ptitle .kind{font-weight:500;font-size:12px;color:#b9ad9c;margin-left:8px;
44
+ border:1px solid rgba(255,255,255,.18);border-radius:20px;padding:1px 9px;}
45
+ .ptitle .kind:empty{display:none;}
46
+ /* 跑表仅演讲者视图(有 notes.js)显示 */
47
+ .timer{display:none;align-items:baseline;gap:7px;font-variant-numeric:tabular-nums;
48
+ background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:9px;padding:4px 12px;}
49
+ body.has-notes .timer{display:flex;}
50
+ .timer .el{font-size:19px;font-weight:700;letter-spacing:.5px;}
51
+ .timer .sep{color:#9a8f7e;font-size:12px;}
52
+ .timer .tgt{font-size:14px;color:#c4b8a6;}
53
+ .timer.late{border-color:var(--late);background:rgba(178,59,46,.16);}
54
+ .timer.late .el{color:#ff8a7d;}
55
+ .timer.paused{opacity:.45;}
56
+
57
+ /* —— 中段:16:9 投影画幅 + 右备注栏 —— */
58
+ .middle{flex:1 1 auto;display:flex;min-height:0;}
59
+ .deckwrap{flex:1 1 auto;position:relative;min-width:0;display:flex;align-items:center;justify-content:center;
60
+ background:radial-gradient(120% 120% at 50% 40%, #2a2219 0%, #1c1712 70%);}
61
+ /* 16:9 画幅在可用区内完整 contain:宽 = min(撑满宽, 可用高×16/9)。
62
+ 百分比宽度恒相对父宽、与高无关,故高度感知项用 vh 减顶栏/HUD 实测高。 */
63
+ .slidebox{position:relative;width:min(100%, calc((100vh - var(--topbar-h) - var(--hud-h)) * 1.7778));max-width:100%;
64
+ aspect-ratio:16/9;box-shadow:0 18px 50px rgba(0,0,0,.5);border-radius:6px;overflow:hidden;background:var(--paper);}
65
+ .page{position:absolute;inset:0;width:100%;height:100%;border:0;background:transparent;
66
+ opacity:0;pointer-events:none;transition:opacity .35s ease;}
67
+ .page.on{opacity:1;pointer-events:auto;}
68
+ /* 未建页占位(PAGES[i].built===false 时显示;同纸纹底,视觉上是“还没画的那张幻灯片”) */
69
+ .stub{position:absolute;inset:0;display:none;place-items:center;text-align:center;padding:24px;
70
+ background:repeating-linear-gradient(45deg, rgba(58,42,28,.03) 0 14px, transparent 14px 28px), var(--paper);}
71
+ .stub.show{display:grid;}
72
+ .stub .card{background:var(--paper);border:2.5px solid var(--ink);border-radius:20px 16px 22px 14px;
73
+ box-shadow:6px 6px 0 var(--ink);padding:24px 38px;transform:rotate(-1deg);max-width:80%;}
74
+ .stub .bigno{font-family:var(--sym);font-weight:700;font-size:60px;line-height:1;color:var(--ink);}
75
+ .stub .t{font-family:var(--hand);font-size:28px;margin:4px 0 14px;color:var(--ink);}
76
+ .stub .tag{display:inline-block;font-family:var(--ui);font-size:13px;font-weight:600;background:var(--hilite);
77
+ color:var(--ink);border:2px solid var(--ink);border-radius:9px 7px 10px 6px;padding:3px 12px;box-shadow:2px 2px 0 var(--ink);transform:rotate(1.5deg);}
78
+
79
+ /* —— 右侧备注栏(浅色纸底 · 清晰无衬线) —— */
80
+ .notes{flex:0 0 38vw;min-width:320px;max-width:460px;display:flex;flex-direction:column;
81
+ background:#fbf8f1;border-left:1px solid #e2d8c6;box-shadow:-10px 0 30px rgba(0,0,0,.25);
82
+ transition:flex-basis .34s cubic-bezier(.4,0,.2,1), min-width .34s cubic-bezier(.4,0,.2,1), opacity .26s ease;
83
+ opacity:1;overflow:hidden;}
84
+ body.notes-off .notes{flex-basis:0;min-width:0;opacity:0;}
85
+ .notes .inner{display:flex;flex-direction:column;height:100%;min-width:340px;}
86
+ .nhead{flex:0 0 auto;padding:13px 18px 10px;border-bottom:1px solid #ece2d0;background:#fff;}
87
+ .nhead .row1{display:flex;align-items:center;gap:9px;}
88
+ .nhead .lab{font-size:11px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;color:#fff;
89
+ background:var(--ink);border-radius:5px;padding:3px 8px;}
90
+ .nhead .segc{margin-left:auto;font-size:12px;color:#8a7d6a;font-variant-numeric:tabular-nums;}
91
+ .nhead .dur{margin-left:8px;font-size:13px;font-weight:700;color:#3a2a1c;
92
+ background:var(--mint);border:1.5px solid var(--ink);border-radius:7px;padding:2px 9px;font-variant-numeric:tabular-nums;}
93
+ .nhead .pt{font-family:var(--hand);font-size:19px;color:#3a2a1c;margin:8px 0 0;line-height:1.25;}
94
+ .nhead .cum{font-size:12px;color:#8a7d6a;margin-top:3px;font-variant-numeric:tabular-nums;}
95
+ .progress{height:5px;background:#ece2d0;margin-top:11px;border-radius:3px;overflow:hidden;}
96
+ .progress .bar{height:100%;width:0;background:linear-gradient(90deg, var(--peach), var(--hilite));
97
+ border-radius:3px;transition:width .25s linear;}
98
+ .nscroll{flex:1 1 auto;overflow-y:auto;padding:16px 20px 8px;}
99
+ /* 讲稿按「呼吸段」渲染:壳自动按句读切段(纯展示层,逐字不改);点击标记「讲到这」 */
100
+ .script{display:flex;flex-direction:column;gap:13px;margin:0;padding:4px 0 14px;}
101
+ .seg{position:relative;font-size:16.5px;line-height:1.9;color:#2a2218;letter-spacing:.1px;
102
+ padding:8px 14px 8px 38px;border-radius:10px;border-left:3px solid transparent;cursor:pointer;
103
+ transition:background .18s ease, border-color .18s ease, transform .18s ease;
104
+ animation:segIn .4s cubic-bezier(.2,.8,.2,1) both;}
105
+ .seg .no{position:absolute;left:11px;top:10px;font-family:var(--sym);font-weight:700;font-size:15px;
106
+ color:#c9a87a;transition:color .18s ease;}
107
+ .seg:hover{background:#f4ecdc;border-left-color:var(--peach);transform:translateX(2px);}
108
+ .seg.mark{background:#fbe7c9;border-left-color:#e29a4d;}
109
+ .seg.mark .no{color:var(--ink);}
110
+ .script .none{color:#a4937c;font-size:15px;padding:6px 2px;}
111
+ @keyframes segIn{from{opacity:0;transform:translateY(7px);}to{opacity:1;transform:none;}}
112
+ .cue{flex:0 0 auto;margin:0;padding:11px 20px 14px;border-top:1px solid #ece2d0;background:#fffdf7;
113
+ font-size:13.5px;line-height:1.55;color:#7a6c57;}
114
+ .cue::before{content:'提示';display:inline-block;font-size:10px;font-weight:800;letter-spacing:1px;
115
+ color:#fff;background:var(--peach);border-radius:4px;padding:1px 7px;margin-right:8px;vertical-align:1px;}
116
+ .cue.empty{display:none;}
117
+ .nscroll::-webkit-scrollbar{width:9px;}
118
+ .nscroll::-webkit-scrollbar-thumb{background:#d8cbb4;border-radius:6px;border:2px solid #fbf8f1;}
119
+
120
+ /* —— 底部 HUD —— */
121
+ .hud{flex:0 0 auto;display:flex;align-items:center;gap:9px;padding:8px 16px;
122
+ background:#211b15;border-top:1px solid rgba(255,255,255,.08);color:#e8ddcd;font-size:13px;}
123
+ .hud button{font-family:var(--ui);font-size:13px;font-weight:600;color:#241c14;cursor:pointer;background:var(--hilite);
124
+ border:0;border-radius:8px;padding:6px 13px;transition:transform .12s ease, filter .15s ease, background .2s;}
125
+ .hud button.nav{font-family:var(--sym);font-weight:700;font-size:19px;width:38px;padding:3px 0;line-height:1;}
126
+ .hud button.alt{background:var(--mint);}
127
+ .hud button.toggle.on{background:var(--blue);box-shadow:inset 0 0 0 2px rgba(58,42,28,.5);}
128
+ .hud button:hover{filter:brightness(1.05);transform:translateY(-1px);}
129
+ .hud button:active{transform:translateY(0);}
130
+ .hud .dots{display:flex;gap:7px;align-items:center;}
131
+ .hud .dot{width:11px;height:11px;border-radius:50%;padding:0;cursor:pointer;border:2px solid #6f6455;
132
+ background:transparent;transition:transform .15s ease, background .2s ease, border-color .2s ease;}
133
+ .hud .dot:hover{transform:scale(1.25);}
134
+ .hud .dot.on{background:var(--hilite);border-color:var(--hilite);}
135
+ .hud .counter{font-variant-numeric:tabular-nums;font-weight:700;font-size:15px;min-width:54px;text-align:center;color:#f1e9dd;}
136
+ .hud .counter .tot{color:#9a8f7e;font-weight:600;}
137
+ .hud .jump{display:flex;align-items:center;gap:5px;color:#9a8f7e;}
138
+ .hud .jump input{width:40px;font-family:var(--ui);font-weight:700;font-size:14px;text-align:center;
139
+ border:1px solid rgba(255,255,255,.2);border-radius:6px;background:rgba(255,255,255,.06);color:#f1e9dd;padding:3px 0;}
140
+ .hud .spacer{flex:1;}
141
+ .hud .rgh{display:flex;align-items:center;gap:7px;color:#9a8f7e;}
142
+ .hud .rgh label{font-family:var(--hand);font-size:15px;color:#c4b8a6;}
143
+ .hud .rgh .rval{font-family:var(--sym);font-weight:700;font-size:16px;min-width:26px;text-align:right;color:#e8ddcd;}
144
+ .hud .rgh input[type=range]{-webkit-appearance:none;appearance:none;width:88px;height:4px;border-radius:4px;
145
+ background:rgba(255,255,255,.25);outline:none;cursor:pointer;}
146
+ .hud .rgh input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:15px;height:15px;border-radius:50%;
147
+ background:var(--hilite);border:2px solid #241c14;box-shadow:0 1px 4px rgba(0,0,0,.4);}
148
+ .hud .rgh input[type=range]::-moz-range-thumb{width:13px;height:13px;border-radius:50%;
149
+ background:var(--hilite);border:2px solid #241c14;}
150
+ .hud .help{color:#8a7f6e;font-size:12px;}
151
+ .hud .help b{font-family:var(--sym);font-size:15px;color:#c4b8a6;}
152
+
153
+ #empty{position:fixed;inset:0;z-index:2;display:none;place-items:center;text-align:center;
154
+ font-family:var(--hand);font-size:20px;color:#b9ad9c;padding:24px;}
155
+ #empty.show{display:grid;}
156
+
157
+ @media (max-width:1240px){ .hud .help{display:none;} }
158
+ @media (max-width:960px){ .hud .dots{display:none;} }
159
+ @media (max-width:860px){ .notes{flex-basis:46vw;min-width:260px;} .notes .inner{min-width:240px;} }
160
+ </style>
161
+ </head>
162
+ <body>
163
+ <div class="topbar" id="topbar">
164
+ <div class="ptitle"><span class="pno" id="pno">01</span><span id="ptitletext"></span><span class="kind" id="pkind"></span></div>
165
+ <div class="timer" id="timer" title="T 暂停/继续跑表"><span class="el" id="elapsed">0:00</span><span class="sep">累计至</span><span class="tgt" id="target">0:00</span></div>
166
+ </div>
167
+
168
+ <div class="middle">
169
+ <div class="deckwrap">
170
+ <div class="slidebox" id="slidebox">
171
+ <div class="stub" id="stub"><div class="card">
172
+ <div class="bigno" id="stubNo">—</div>
173
+ <div class="t" id="stubTitle">页面待建</div>
174
+ <span class="tag">视觉页未建 · 右侧备注可照常口播排练</span>
175
+ </div></div>
176
+ </div>
177
+ </div>
178
+
179
+ <aside class="notes" id="notes" style="display:none">
180
+ <div class="inner">
181
+ <div class="nhead">
182
+ <div class="row1"><span class="lab">演讲备注</span><span class="segc" id="segc"></span><span class="dur" id="durLabel">本页 0:00</span></div>
183
+ <div class="pt" id="npt"></div>
184
+ <div class="cum" id="cumLabel"></div>
185
+ <div class="progress"><div class="bar" id="progBar"></div></div>
186
+ </div>
187
+ <div class="nscroll"><div class="script" id="script"></div></div>
188
+ <div class="cue empty" id="cue"></div>
189
+ </div>
190
+ </aside>
191
+ </div>
192
+
193
+ <div class="hud" id="hud">
194
+ <button class="nav" id="prev" title="上一页 ←">‹</button>
195
+ <button class="nav alt" id="replayBtn" title="重放本页绘制 R">▶</button>
196
+ <button class="nav" id="next" title="下一页 →">›</button>
197
+ <div class="dots" id="dots"></div>
198
+ <div class="counter"><span id="cur">0</span><span class="tot" id="total">/0</span></div>
199
+ <div class="jump"><span>跳</span><input id="jump" type="text" inputmode="numeric" title="输入页码回车"><span>页</span></div>
200
+ <div class="spacer"></div>
201
+ <div class="rgh" title="全局线稿抖动(实时广播到所有已加载页)">
202
+ <label for="deckRough">抖</label>
203
+ <input id="deckRough" type="range" min="0.3" max="3" step="0.1" value="1.2">
204
+ <span class="rval" id="deckRoughVal">1.2</span>
205
+ </div>
206
+ <button id="notesToggle" class="toggle on" title="备注侧栏 N" style="display:none">备注</button>
207
+ <button id="timerToggle" class="toggle on" title="跑表 T" style="display:none">跑表</button>
208
+ <button id="fsBtn" class="alt" title="全屏 F">全屏</button>
209
+ <div class="help"><b>← →</b> 翻页 · <b>↑ ↓</b> 切段 · <b>N</b> 备注 · <b>T</b> 跑表 · <b>R</b> 重放 · <b>F</b> 全屏</div>
210
+ </div>
211
+ <div id="empty">空 deck —— 请在脚本顶部 <b>PAGES</b> 里填页面清单<br>(格式见 handdrawn-deck skill · §deck 组装规范)</div>
212
+
213
+ <script src="notes.js" onerror="window.__noNotes=true"></script>
214
+ <script>
215
+ /* ============ 缓存版本号(可选) ============
216
+ 改了页文件 / notes.js 之后 bump 这个值(并同步 <script src="notes.js?v=…"> 的 v),
217
+ 壳会带着它重新拉取所有页,避免浏览器放旧页进来(症状:有的页进来就整幅画完)。 */
218
+ const V='';
219
+
220
+ /* ============ 页面清单(唯一手填项 · 顺序即放映顺序;built:false 放映时显示占位卡,备注照常) ============ */
221
+ const PAGES=[
222
+ {file:'p1-cover.html', title:'01 封面', no:1},
223
+ {file:'p2-xxx.html', title:'02 正文', no:2},
224
+ // {file:'p3-xxx.html', title:'03 待定', no:3, built:false}, // 视觉页未建也能排练
225
+ ];
226
+
227
+ /* ============ 演讲备注(同目录 notes.js 提供 window.DECK_NOTES;无则退回纯放映) ============ */
228
+ const DN=(window.DECK_NOTES&&Array.isArray(window.DECK_NOTES.pages)&&window.DECK_NOTES.pages.length)?window.DECK_NOTES:null;
229
+ const notesByNo={}; if(DN){ DN.pages.forEach((n,i)=>{ notesByNo[n.no||(i+1)]=n; }); }
230
+ const HAS_NOTES=!!DN;
231
+ const KINDZH={cover:'封面', content:'正文', overview:'全景图', closing:'收尾'};
232
+ if(HAS_NOTES){
233
+ document.body.classList.add('has-notes');
234
+ document.getElementById('notes').style.display='';
235
+ document.getElementById('notesToggle').style.display='';
236
+ document.getElementById('timerToggle').style.display='';
237
+ }
238
+ const cumStart=[]; let acc=0; if(DN){ DN.pages.forEach(n=>{ cumStart.push(acc); acc+=(n.sec||0); }); }
239
+ const totalTalk=acc;
240
+ function mmss(s){ s=Math.max(0,Math.round(s)); return Math.floor(s/60)+':'+String(s%60).padStart(2,'0'); }
241
+ function noteFor(i){ const p=PAGES[i]; return notesByNo[(p&&p.no)||(i+1)]||null; }
242
+
243
+ /* ============ chrome 实测高度 → 16:9 画幅 contain 计算 ============ */
244
+ const topbarEl=document.getElementById('topbar'), hudEl=document.getElementById('hud');
245
+ function fitChrome(){
246
+ const rs=document.documentElement.style;
247
+ rs.setProperty('--topbar-h', topbarEl.offsetHeight+'px');
248
+ rs.setProperty('--hud-h', hudEl.offsetHeight+'px');
249
+ }
250
+ fitChrome(); addEventListener('resize', fitChrome);
251
+
252
+ /* ============ 放映机(iframe 堆叠预载 + 交叉淡入;翻回已载页发 handdrawn:show 重播) ============ */
253
+ const slidebox=document.getElementById('slidebox'), stub=document.getElementById('stub'),
254
+ dotsWrap=document.getElementById('dots'), dr=document.getElementById('deckRough');
255
+ const frames=[]; let cur=-1;
256
+
257
+ if(!PAGES.length){ document.getElementById('empty').classList.add('show'); }
258
+ document.getElementById('total').textContent='/'+PAGES.length;
259
+ PAGES.forEach((p,i)=>{
260
+ const d=document.createElement('button'); d.className='dot'; d.title=(p.title||p.file);
261
+ d.addEventListener('click',()=>go(i)); dotsWrap.appendChild(d);
262
+ });
263
+
264
+ function ensure(n){
265
+ let f=frames[n];
266
+ if(!f){
267
+ f=document.createElement('iframe'); f.className='page'; f.setAttribute('scrolling','no');
268
+ f.src=PAGES[n].file+(PAGES[n].file.includes('?')?'&':'?')+'deck=1'+(V?'&v='+V:'');
269
+ f.addEventListener('load',()=>{
270
+ f.dataset.ready='1';
271
+ try{ f.contentWindow.addEventListener('keydown',onKey); }catch(e){}
272
+ /* 新页对齐壳当前抖动值(值相同则页侧早退、不打断首播动画) */
273
+ try{ f.contentWindow.postMessage({type:'handdrawn:rough',value:parseFloat(dr.value),animate:true},'*'); }catch(e){}
274
+ /* 当前页有渐进编排 → 渲染到播放头所在段(覆盖 boot 整幅首播);无编排则页保持整幅播放 */
275
+ if(frames.indexOf(f)===cur) postStage(f,cur,playhead);
276
+ });
277
+ slidebox.insertBefore(f, stub); frames[n]=f;
278
+ }
279
+ return f;
280
+ }
281
+ function go(n){
282
+ if(!PAGES.length) return;
283
+ n=Math.max(0,Math.min(PAGES.length-1,n));
284
+ if(n===cur) return;
285
+ if(cur>=0&&frames[cur]) frames[cur].classList.remove('on');
286
+ const p=PAGES[n];
287
+ if(p.built!==false){
288
+ stub.classList.remove('show');
289
+ const f=ensure(n); f.classList.add('on');
290
+ if(f.dataset.ready){
291
+ /* 有渐进编排且页上报支持单元(staged≠'0')→ 开场态(第 1 段),播放头归零;
292
+ 无编排 / 页无单元(含缓存了改造前的旧页)→ 整幅重播 */
293
+ if(stageLists(n,0)&&f.dataset.staged!=='0') postStage(f,n,0);
294
+ else { try{ f.contentWindow.postMessage({type:'handdrawn:show'},'*'); }catch(e){} }
295
+ }
296
+ }else{
297
+ if(frames[n]) frames[n].classList.remove('on');
298
+ document.getElementById('stubNo').textContent=String(p.no||(n+1)).padStart(2,'0');
299
+ document.getElementById('stubTitle').textContent=p.title||'页面待建';
300
+ stub.classList.add('show');
301
+ }
302
+ cur=n; playhead=0; hud();
303
+ resetTimer();
304
+ history.replaceState(null,'','#'+(n+1));
305
+ }
306
+ document.getElementById('prev').addEventListener('click',()=>go(cur-1));
307
+ document.getElementById('next').addEventListener('click',()=>go(cur+1));
308
+ function replayCur(){
309
+ const f=frames[cur]; if(!f||!f.dataset.ready) return;
310
+ /* 有渐进编排且页支持 → 重演播放头所在段;否则整幅重播 */
311
+ if(stageLists(cur,playhead)&&f.dataset.staged!=='0') postStage(f,cur,playhead);
312
+ else { try{ f.contentWindow.postMessage({type:'handdrawn:show'},'*'); }catch(e){} }
313
+ }
314
+ document.getElementById('replayBtn').addEventListener('click',replayCur);
315
+
316
+ /* ============ HUD:计数 / 顶栏 / 圆点 / 备注 ============ */
317
+ /* 讲稿切「呼吸段」:作者换行优先分段,长段落再按句读(。!?;)切成 ~80 字的块;
318
+ 纯展示层——段拼接后与原文逐字一致(去空白),不改 notes.js 单一数据源。 */
319
+ function segmentScript(text){
320
+ if(!text) return [];
321
+ const paras=String(text).split(/\n+/).map(s=>s.trim()).filter(Boolean);
322
+ const segs=[];
323
+ for(const para of paras){
324
+ let parts=para.match(/[^。!?;]+[。!?;]+|[^。!?;]+$/g)||[para];
325
+ if(parts.length===1&&parts[0].length>120){ /* 整段无句末点 → 退按逗号切 */
326
+ parts=para.match(/[^,、]+[,、]+|[^,、]+$/g)||parts;
327
+ }
328
+ let buf='';
329
+ for(const p of parts){
330
+ if(buf&&buf.length+p.length>80){ segs.push(buf); buf=p; } else { buf+=p; }
331
+ }
332
+ if(buf) segs.push(buf);
333
+ }
334
+ return segs;
335
+ }
336
+ const elScript=document.getElementById('script'); let segBtns=[], playhead=0;
337
+ function applyPlayhead(){
338
+ segBtns.forEach((d,i)=>d.classList.toggle('mark',i===playhead));
339
+ const m=segBtns[playhead]; if(m) m.scrollIntoView({block:'nearest',behavior:'smooth'});
340
+ }
341
+ function renderScript(text){
342
+ segBtns=[]; elScript.textContent='';
343
+ const segs=segmentScript(text);
344
+ const segc=document.getElementById('segc');
345
+ if(!segs.length){
346
+ const d=document.createElement('div'); d.className='none'; d.textContent='(本页暂无备注)';
347
+ elScript.appendChild(d); segc.textContent=''; return;
348
+ }
349
+ segs.forEach((s,i)=>{
350
+ const d=document.createElement('div'); d.className='seg';
351
+ d.style.animationDelay=Math.min(i*40,360)+'ms';
352
+ d.title='讲到这:点一下,页面随本段绘制(本页有渐进编排时)';
353
+ const no=document.createElement('span'); no.className='no'; no.textContent=i+1;
354
+ d.appendChild(no); d.appendChild(document.createTextNode(s));
355
+ d.addEventListener('click',()=>{ playhead=i; applyPlayhead(); driveStage(cur,i); });
356
+ elScript.appendChild(d); segBtns.push(d);
357
+ });
358
+ segc.textContent='讲稿 '+segs.length+' 段';
359
+ applyPlayhead();
360
+ }
361
+ /* ============ 渐进绘制派发(对齐表 = notes.js 的 pages[].stages;无则不派发,页整幅播放) ============ */
362
+ function stageLists(pageIdx,segIdx){
363
+ const n=noteFor(pageIdx);
364
+ const st=n&&Array.isArray(n.stages)?n.stages:null;
365
+ if(!st||!st[segIdx]) return null;
366
+ const seen=new Set(), show=[];
367
+ for(let k=0;k<=segIdx;k++){ ((st[k]&&st[k].draw)||[]).forEach(id=>{ if(!seen.has(id)){ seen.add(id); show.push(id); } }); }
368
+ return {show, draw:(st[segIdx].draw)||[]};
369
+ }
370
+ function postStage(f,pageIdx,segIdx){
371
+ const L=stageLists(pageIdx,segIdx); if(!L||!f) return false;
372
+ if(f.dataset.ready){ try{ f.contentWindow.postMessage({type:'handdrawn:stage',show:L.show,draw:L.draw,pace:.45},'*'); }catch(e){} }
373
+ return true;
374
+ }
375
+ function driveStage(pageIdx,segIdx){ postStage(frames[pageIdx],pageIdx,segIdx); }
376
+ function paintNotes(i){
377
+ if(!HAS_NOTES) return;
378
+ const n=noteFor(i);
379
+ document.getElementById('npt').textContent=(n&&n.title)||(PAGES[i]&&PAGES[i].title)||'';
380
+ renderScript((n&&n.口播)||'');
381
+ document.querySelector('.nscroll').scrollTop=0;
382
+ const cue=document.getElementById('cue');
383
+ if(n&&n.cue){ cue.textContent=n.cue; cue.classList.remove('empty'); } else { cue.classList.add('empty'); }
384
+ document.getElementById('durLabel').textContent='本页 '+mmss(n?n.sec||0:0);
385
+ const cs=(n?cumStart[DN.pages.indexOf(n)]:0)||0;
386
+ const pct=totalTalk?Math.min(100,Math.round((cs+(n?n.sec||0:0))/totalTalk*100)):0;
387
+ document.getElementById('cumLabel').textContent='累计 '+mmss(cs)+' → '+mmss(cs+(n?n.sec||0:0))+' · 整场 '+pct+'%';
388
+ document.getElementById('target').textContent=mmss(cs+(n?n.sec||0:0));
389
+ }
390
+ function hud(){
391
+ dotsWrap.querySelectorAll('.dot').forEach((d,i)=>d.classList.toggle('on',i===cur));
392
+ const p=PAGES[cur]||{}, n=noteFor(cur);
393
+ document.getElementById('cur').textContent=Math.max(cur+1,0);
394
+ document.getElementById('pno').textContent=String(p.no||(cur+1)).padStart(2,'0');
395
+ document.getElementById('ptitletext').textContent=(n&&n.title)||p.title||'';
396
+ document.getElementById('pkind').textContent=(n&&n.kind)?(KINDZH[n.kind]||n.kind):'';
397
+ paintNotes(cur);
398
+ }
399
+
400
+ /* ============ 抖滑块(handdrawn:rough 广播到所有已加载页) ============ */
401
+ const drv=document.getElementById('deckRoughVal');
402
+ function broadcastRough(){
403
+ const v=parseFloat(dr.value); drv.textContent=v.toFixed(1);
404
+ frames.forEach(f=>{ if(f&&f.dataset.ready){ try{ f.contentWindow.postMessage({type:'handdrawn:rough',value:v,animate:false},'*'); }catch(e){} } });
405
+ }
406
+ dr.addEventListener('input',broadcastRough);
407
+
408
+ /* ============ 备注 / 跑表开关 ============ */
409
+ const notesBtn=document.getElementById('notesToggle'), timerBtn=document.getElementById('timerToggle');
410
+ function setNotes(on){ document.body.classList.toggle('notes-off',!on); notesBtn.classList.toggle('on',on); }
411
+ notesBtn.addEventListener('click',()=>setNotes(document.body.classList.contains('notes-off')));
412
+ let timerOn=true;
413
+ function setTimer(on){ timerOn=on; running=on; timerBtn.classList.toggle('on',on); document.getElementById('timer').classList.toggle('paused',!on); last=performance.now(); }
414
+ timerBtn.addEventListener('click',()=>setTimer(!timerOn));
415
+ document.getElementById('fsBtn').addEventListener('click',()=>{
416
+ if(document.fullscreenElement){ document.exitFullscreen(); } else { document.documentElement.requestFullscreen().catch(()=>{}); }
417
+ });
418
+
419
+ /* ============ 跑表(elapsed 从本页累计起点起算;超时变红) ============ */
420
+ let elapsed=0, running=true, last=performance.now();
421
+ function tick(now){
422
+ if(running&&timerOn) elapsed+=(now-last)/1000; last=now;
423
+ if(HAS_NOTES){
424
+ document.getElementById('elapsed').textContent=mmss(elapsed);
425
+ const n=noteFor(cur), idx=DN.pages.indexOf(n), cs=idx>=0?cumStart[idx]:0, budget=cs+(n?n.sec||0:0);
426
+ document.getElementById('timer').classList.toggle('late', timerOn&&elapsed>budget+0.5);
427
+ document.getElementById('progBar').style.width=(totalTalk?Math.min(100,elapsed/totalTalk*100):0)+'%';
428
+ }
429
+ requestAnimationFrame(tick);
430
+ }
431
+ function resetTimer(){ const n=noteFor(cur), idx=HAS_NOTES?DN.pages.indexOf(n):-1; elapsed=idx>=0?cumStart[idx]:0; last=performance.now(); }
432
+ requestAnimationFrame(tick);
433
+
434
+ /* ============ 页侧能力上报:boot 完成后收 handdrawn:ready {staged} ============
435
+ 壳据此在重访时决定派发 stage 还是 show——缓存了改造前的旧页(不上报)自动降级为整幅重播。 */
436
+ addEventListener('message',e=>{
437
+ if(!e.data||e.data.type!=='handdrawn:ready') return;
438
+ const i=frames.findIndex(f=>f&&f.contentWindow===e.source);
439
+ if(i>=0) frames[i].dataset.staged=e.data.staged?'1':'0';
440
+ });
441
+
442
+ /* ============ 键盘(穿透 iframe:每个页加载完挂同一套监听) ============ */
443
+ const jump=document.getElementById('jump');
444
+ jump.addEventListener('keydown',e=>{
445
+ if(e.key==='Enter'){ const n=parseInt(jump.value,10); if(n>=1&&n<=PAGES.length){ go(n-1); } jump.value=''; jump.blur(); e.preventDefault(); }
446
+ e.stopPropagation();
447
+ });
448
+ function onKey(e){
449
+ if(e.target===jump) return;
450
+ if(e.key==='ArrowRight'||e.key===' '||e.key==='PageDown'){ e.preventDefault(); go(cur+1); }
451
+ else if(e.key==='ArrowLeft'||e.key==='PageUp'){ e.preventDefault(); go(cur-1); }
452
+ /* ↑↓ = 段落推进(当前页呼吸段内移动播放头并驱动页面;不跨页,跨页走 ←→) */
453
+ else if(e.key==='ArrowDown'){ e.preventDefault(); if(segBtns.length){ playhead=Math.min(playhead+1,segBtns.length-1); applyPlayhead(); driveStage(cur,playhead); } }
454
+ else if(e.key==='ArrowUp'){ e.preventDefault(); if(segBtns.length){ playhead=Math.max(playhead-1,0); applyPlayhead(); driveStage(cur,playhead); } }
455
+ else if(e.key==='Home'){ go(0); }
456
+ else if(e.key==='End'){ go(PAGES.length-1); }
457
+ else if(e.key==='r'||e.key==='R'){ replayCur(); }
458
+ else if(e.key==='n'||e.key==='N'){ if(HAS_NOTES) setNotes(document.body.classList.contains('notes-off')); }
459
+ else if(e.key==='t'||e.key==='T'){ if(HAS_NOTES) setTimer(!timerOn); }
460
+ else if(e.key==='f'||e.key==='F'){ if(document.fullscreenElement) document.exitFullscreen(); else document.documentElement.requestFullscreen().catch(()=>{}); }
461
+ }
462
+ addEventListener('keydown',onKey);
463
+
464
+ /* ============ 启动(深链 #N 直达第 N 页) ============ */
465
+ const start=Math.min(parseInt(location.hash.slice(1))||1, Math.max(PAGES.length,1));
466
+ go(start-1);
467
+ </script>
468
+ </body>
469
+ </html>
@@ -0,0 +1,44 @@
1
+ /* 从同目录 notes.js 渲染「逐页讲稿 .md」—— 口播/提示用模板插值逐字取自 notes.js,物理零漂移。
2
+ 用法:把本文件拷进你的 deck 目录(与 notes.js 同目录),`node gen-script-md.cjs`。
3
+ 改口播:先改 notes.js,再重跑本脚本;不要手改生成的 .md(会被覆盖)。
4
+ 输出:./<notes.js 所在目录名>-讲稿.md(含节奏总表 + 逐页口播/提示;Q&A、开讲清单等专属附录请自行追加或在本脚本末尾补字面量)。 */
5
+ const fs = require('fs');
6
+ const path = require('path');
7
+ const dir = __dirname;
8
+ const notesPath = path.join(dir, 'notes.js');
9
+ if (!fs.existsSync(notesPath)) { console.error('✗ 未在同目录找到 notes.js:', notesPath); process.exit(1); }
10
+ global.window = {};
11
+ require(notesPath);
12
+ const DN = window.DECK_NOTES;
13
+ if (!DN || !Array.isArray(DN.pages)) { console.error('✗ notes.js 未定义 window.DECK_NOTES.pages'); process.exit(1); }
14
+ const pages = DN.pages;
15
+
16
+ const mmss = s => { s = Math.max(0, Math.round(s)); return Math.floor(s / 60) + ':' + String(s % 60).padStart(2, '0'); };
17
+ const cum = []; let acc = 0; pages.forEach(p => { cum.push(acc); acc += (p.sec || 0); });
18
+
19
+ const out = [];
20
+ out.push(`# 逐页讲稿(由 gen-script-md.cjs 从 notes.js 生成 · 勿手改口播)`);
21
+ out.push('');
22
+ out.push(`> ${pages.length} 页 · 合计 ${mmss(acc)}。口播/提示逐字取自 \`notes.js\`;要改请改 notes.js 后重跑本脚本。`);
23
+ out.push('> 放映:同目录 `deck.html` 自动读取 notes.js 开演讲者视图(右侧备注 + 跑表 + 进度条;`N`/`T` 切换)。');
24
+ out.push('');
25
+ out.push('## 节奏总表');
26
+ out.push('');
27
+ out.push('| 页 | 标题 | 本页 | 累计 |');
28
+ out.push('|---|---|---|---|');
29
+ pages.forEach((p, i) => out.push(`| ${p.no || (i + 1)} | ${p.title || ''} | ${mmss(p.sec || 0)} | ${mmss(cum[i] + (p.sec || 0))} |`));
30
+ out.push('');
31
+ out.push('---');
32
+ out.push('');
33
+ pages.forEach((p, i) => {
34
+ out.push(`## 第 ${p.no || (i + 1)} 页 · ${p.title || ''} \`[${mmss(p.sec || 0)} · 累计 ${mmss(cum[i] + (p.sec || 0))}]\``);
35
+ out.push('');
36
+ out.push(p.口播 || '(本页暂无备注)');
37
+ out.push('');
38
+ if (p.cue) { out.push(`> ✎ ${p.cue}`); out.push(''); }
39
+ });
40
+
41
+ const base = path.basename(dir);
42
+ const target = path.join(dir, `${base}-讲稿.md`);
43
+ fs.writeFileSync(target, out.join('\n'));
44
+ console.log('✓ 已生成', path.basename(target), '·', pages.length, '页 · 口播逐字取自 notes.js');
@@ -0,0 +1,54 @@
1
+ /* 从同目录放映壳 deck.html 提取 segmentScript(呼吸段切分 · 唯一实现源 = 壳),切 notes.js 每页口播。
2
+ 用法:拷进 deck 目录(与 deck.html / notes.js 同目录),`node seg.cjs`。
3
+ 不复制实现、只提取:壳内 segmentScript 是运行时真相,stages 必须与它逐字一致——
4
+ 提取后先过自检断言,防提取逻辑与壳失配(输出 ✗ 即停,别带着错切分往下写 stages)。 */
5
+ const fs = require('fs');
6
+ const path = require('path');
7
+ const dir = __dirname;
8
+
9
+ /* 稳健提取:定位函数签名 + 花括号配对(对函数体内部排版不敏感;
10
+ 仅不适用于函数体字符串字面量里含花括号的情形——segmentScript 只含正则字面量,安全) */
11
+ function extractFunction(src, name){
12
+ const start = src.indexOf('function ' + name + '(');
13
+ if (start < 0) return null;
14
+ const open = src.indexOf('{', start);
15
+ let depth = 0, j = open;
16
+ for (; j < src.length; j++){
17
+ if (src[j] === '{') depth++;
18
+ else if (src[j] === '}'){ depth--; if (!depth) break; }
19
+ }
20
+ return src.slice(start, j + 1);
21
+ }
22
+
23
+ const shellPath = path.join(dir, 'deck.html');
24
+ if (!fs.existsSync(shellPath)) { console.error('✗ 同目录未找到 deck.html:', shellPath); process.exit(1); }
25
+ const fnSrc = extractFunction(fs.readFileSync(shellPath, 'utf8'), 'segmentScript');
26
+ if (!fnSrc) { console.error('✗ deck.html 中未找到 segmentScript 函数'); process.exit(1); }
27
+ eval(fnSrc);
28
+
29
+ /* 自检:基础句读合并 + >120 字无句末点退按顿号切(与壳行为锚定)
30
+ 行为边界(壳实现如此):。!?;恒切;>120 字无句末点的长段落才退按 半角逗号/顿号 切——
31
+ 全角逗号「,」不是退避分隔符,故口播要用 。!? 断句,别指望长段落里的全角逗号。 */
32
+ const c1 = segmentScript('第一句话。第二句话!第三句话?');
33
+ const c2 = segmentScript(Array(10).fill('一二三四五六七八九十一二三四、').join('')); /* 150 字无句末点 → 顿号切 → 2 段(75+75) */
34
+ if (c1.length !== 1) { console.error('✗ 自检失败:基础用例应 1 段,实得', c1.length); process.exit(1); }
35
+ if (c2.length !== 2) { console.error('✗ 自检失败:逗号回退用例应 2 段,实得', c2.length); process.exit(1); }
36
+
37
+ const notesPath = path.join(dir, 'notes.js');
38
+ if (!fs.existsSync(notesPath)) { console.error('✗ 同目录未找到 notes.js'); process.exit(1); }
39
+ global.window = {};
40
+ require(notesPath);
41
+ const DN = window.DECK_NOTES;
42
+ if (!DN || !Array.isArray(DN.pages)) { console.error('✗ notes.js 未定义 window.DECK_NOTES.pages'); process.exit(1); }
43
+
44
+ let bad = 0;
45
+ for (const p of DN.pages) {
46
+ const segs = segmentScript(p['口播'] || '');
47
+ const rows = Array.isArray(p.stages) ? p.stages.length : 0;
48
+ const mark = rows ? (rows === segs.length ? '✓' : '✗ 不匹配') : '(无 stages)';
49
+ if (rows && rows !== segs.length) bad++;
50
+ console.log(`\nP${p.no || '?'} ${p.title || ''} · 呼吸段 ${segs.length} / stages ${rows} 行 ${mark}`);
51
+ segs.forEach((s, i) => console.log(` [${i + 1}] (${s.length}字) ${s}`));
52
+ }
53
+ console.log(bad ? '\n✗ 存在 stages 行数 ≠ 呼吸段数 的页' : '\n✓ 切分完成,stages 行数全部对齐');
54
+ process.exit(bad ? 1 : 0);
@@ -0,0 +1 @@
1
+ {"turn_id":"b2a07f5b-09e7-408a-9055-80809ea37846","session_id":"8d79a147-1534-4c7b-ad4c-00d03ed5cd23","ts":"2026-07-26T04:50:30.781Z"}