@weavecode/weave 0.1.0 → 0.1.2

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 (300) hide show
  1. package/node_modules/@weavecode/cli/dist/cli.js +3 -3
  2. package/node_modules/@weavecode/cli/dist/commands/daemon.d.ts +7 -0
  3. package/node_modules/@weavecode/cli/dist/commands/daemon.js +2 -2
  4. package/node_modules/@weavecode/cli/dist/commands/dashboard.d.ts +0 -2
  5. package/node_modules/@weavecode/cli/dist/commands/dashboard.js +2 -1
  6. package/node_modules/@weavecode/cli/dist/commands/doctor.js +1 -1
  7. package/node_modules/@weavecode/cli/dist/commands/init.js +1 -1
  8. package/node_modules/@weavecode/cli/dist/commands/msg.js +2 -2
  9. package/node_modules/@weavecode/cli/dist/commands/scan.js +1 -1
  10. package/node_modules/@weavecode/cli/dist/commands/status.js +2 -2
  11. package/node_modules/@weavecode/cli/dist/i18n/dict/en.js +6 -12
  12. package/node_modules/@weavecode/cli/dist/i18n/dict/zh.d.ts +44 -2
  13. package/node_modules/@weavecode/cli/dist/i18n/dict/zh.js +6 -12
  14. package/node_modules/@weavecode/cli/dist/init/claudemd-gen.d.ts +2 -3
  15. package/node_modules/@weavecode/cli/dist/init/claudemd-gen.js +4 -4
  16. package/node_modules/@weavecode/cli/dist/init/executor.js +3 -3
  17. package/node_modules/@weavecode/cli/dist/init/git-commit.js +1 -1
  18. package/node_modules/@weavecode/cli/dist/init/harnesses/claude.js +7 -7
  19. package/node_modules/@weavecode/cli/dist/init/harnesses/zcode.d.ts +29 -0
  20. package/node_modules/@weavecode/cli/dist/init/harnesses/zcode.js +1 -0
  21. package/node_modules/@weavecode/cli/dist/init/helpers-gen.d.ts +4 -0
  22. package/node_modules/@weavecode/cli/dist/init/helpers-gen.js +1 -20
  23. package/node_modules/@weavecode/cli/dist/init/mcp-gen.d.ts +3 -20
  24. package/node_modules/@weavecode/cli/dist/init/mcp-gen.js +1 -1
  25. package/node_modules/@weavecode/cli/dist/init/prompt.js +4 -4
  26. package/node_modules/@weavecode/cli/dist/init/settings-gen.d.ts +3 -30
  27. package/node_modules/@weavecode/cli/dist/init/settings-gen.js +1 -1
  28. package/node_modules/@weavecode/cli/package.json +5 -5
  29. package/node_modules/@weavecode/core/dist/harness.d.ts +45 -2
  30. package/node_modules/@weavecode/core/dist/harness.js +1 -1
  31. package/node_modules/@weavecode/core/dist/index.d.ts +2 -2
  32. package/node_modules/@weavecode/core/dist/index.js +1 -1
  33. package/node_modules/@weavecode/core/dist/terminal.d.ts +28 -4
  34. package/node_modules/@weavecode/core/dist/terminal.js +1 -1
  35. package/node_modules/@weavecode/core/dist/types.d.ts +188 -19
  36. package/node_modules/@weavecode/core/dist/types.js +1 -1
  37. package/node_modules/@weavecode/core/package.json +1 -1
  38. package/node_modules/@weavecode/harness/dist/claude/assets.d.ts +10 -0
  39. package/node_modules/@weavecode/harness/dist/claude/assets.js +4 -1
  40. package/node_modules/@weavecode/harness/dist/claude/capture.d.ts +15 -3
  41. package/node_modules/@weavecode/harness/dist/claude/capture.js +15 -9
  42. package/node_modules/@weavecode/harness/dist/claude/event-source.d.ts +1 -1
  43. package/node_modules/@weavecode/harness/dist/claude/event-source.js +1 -1
  44. package/node_modules/@weavecode/harness/dist/claude/helpers-gen.d.ts +5 -0
  45. package/node_modules/@weavecode/harness/dist/claude/helpers-gen.js +20 -0
  46. package/node_modules/@weavecode/harness/dist/claude/index.d.ts +10 -1
  47. package/node_modules/@weavecode/harness/dist/claude/index.js +1 -1
  48. package/node_modules/@weavecode/harness/dist/claude/mcp-gen.d.ts +22 -0
  49. package/node_modules/@weavecode/harness/dist/claude/mcp-gen.js +1 -0
  50. package/node_modules/@weavecode/harness/dist/claude/messaging.d.ts +11 -2
  51. package/node_modules/@weavecode/harness/dist/claude/messaging.js +4 -1
  52. package/node_modules/@weavecode/harness/dist/claude/model-aliases.d.ts +39 -0
  53. package/node_modules/@weavecode/harness/dist/claude/model-aliases.js +1 -0
  54. package/node_modules/@weavecode/harness/dist/claude/plan.d.ts +2 -0
  55. package/node_modules/@weavecode/harness/dist/claude/plan.js +1 -0
  56. package/node_modules/@weavecode/harness/dist/claude/questions.js +2 -1
  57. package/node_modules/@weavecode/harness/dist/claude/settings-gen.d.ts +32 -0
  58. package/node_modules/@weavecode/harness/dist/claude/settings-gen.js +1 -0
  59. package/node_modules/@weavecode/harness/dist/claude/side-question.d.ts +12 -0
  60. package/node_modules/@weavecode/harness/dist/claude/side-question.js +1 -0
  61. package/node_modules/@weavecode/harness/dist/claude/statusline/config.d.ts +200 -0
  62. package/node_modules/@weavecode/harness/dist/claude/statusline/config.js +1 -0
  63. package/node_modules/@weavecode/harness/dist/claude/statusline/generator.d.ts +12 -0
  64. package/node_modules/@weavecode/harness/dist/claude/statusline/generator.js +745 -0
  65. package/node_modules/@weavecode/harness/dist/claude/statusline/git-cache.d.ts +10 -0
  66. package/node_modules/@weavecode/harness/dist/claude/statusline/git-cache.js +1 -0
  67. package/node_modules/@weavecode/harness/dist/claude/statusline/surface.d.ts +20 -0
  68. package/node_modules/@weavecode/harness/dist/claude/statusline/surface.js +2 -0
  69. package/node_modules/@weavecode/harness/dist/claude/transcript.d.ts +16 -0
  70. package/node_modules/@weavecode/harness/dist/claude/transcript.js +4 -2
  71. package/node_modules/@weavecode/harness/dist/codex/assets.js +1 -1
  72. package/node_modules/@weavecode/harness/dist/codex/index.d.ts +1 -0
  73. package/node_modules/@weavecode/harness/dist/codex/index.js +1 -1
  74. package/node_modules/@weavecode/harness/dist/codex/mcp.d.ts +30 -0
  75. package/node_modules/@weavecode/harness/dist/codex/mcp.js +1 -0
  76. package/node_modules/@weavecode/harness/dist/codex/messaging.js +1 -1
  77. package/node_modules/@weavecode/harness/dist/driver.d.ts +168 -3
  78. package/node_modules/@weavecode/harness/dist/index.d.ts +1 -0
  79. package/node_modules/@weavecode/harness/dist/index.js +1 -1
  80. package/node_modules/@weavecode/harness/dist/init/generated.d.ts +37 -0
  81. package/node_modules/@weavecode/harness/dist/init/generated.js +2 -0
  82. package/node_modules/@weavecode/harness/dist/registry-wiring.d.ts +3 -1
  83. package/node_modules/@weavecode/harness/dist/zcode/assets.d.ts +8 -0
  84. package/node_modules/@weavecode/harness/dist/zcode/assets.js +1 -0
  85. package/node_modules/@weavecode/harness/dist/zcode/capture.d.ts +36 -0
  86. package/node_modules/@weavecode/harness/dist/zcode/capture.js +3 -0
  87. package/node_modules/@weavecode/harness/dist/zcode/detect.d.ts +2 -0
  88. package/node_modules/@weavecode/harness/dist/zcode/detect.js +1 -0
  89. package/node_modules/@weavecode/harness/dist/zcode/event-source.d.ts +8 -0
  90. package/node_modules/@weavecode/harness/dist/zcode/event-source.js +1 -0
  91. package/node_modules/@weavecode/harness/dist/zcode/index.d.ts +13 -0
  92. package/node_modules/@weavecode/harness/dist/zcode/index.js +1 -0
  93. package/node_modules/@weavecode/harness/dist/zcode/mcp.d.ts +6 -0
  94. package/node_modules/@weavecode/harness/dist/zcode/mcp.js +2 -0
  95. package/node_modules/@weavecode/harness/dist/zcode/messaging.d.ts +13 -0
  96. package/node_modules/@weavecode/harness/dist/zcode/messaging.js +1 -0
  97. package/node_modules/@weavecode/harness/dist/zcode/resume.d.ts +7 -0
  98. package/node_modules/@weavecode/harness/dist/zcode/resume.js +1 -0
  99. package/node_modules/@weavecode/harness/package.json +2 -2
  100. package/node_modules/@weavecode/server/dist/daemon/ai-config.js +2 -2
  101. package/node_modules/@weavecode/server/dist/daemon/ai-context.js +6 -6
  102. package/node_modules/@weavecode/server/dist/daemon/ai-routes.js +4 -4
  103. package/node_modules/@weavecode/server/dist/daemon/api-log.d.ts +48 -0
  104. package/node_modules/@weavecode/server/dist/daemon/api-log.js +3 -0
  105. package/node_modules/@weavecode/server/dist/daemon/auth-routes.js +1 -1
  106. package/node_modules/@weavecode/server/dist/daemon/auto-start.js +6 -6
  107. package/node_modules/@weavecode/server/dist/daemon/capture-routes.js +1 -1
  108. package/node_modules/@weavecode/server/dist/daemon/claude-liveness.js +1 -1
  109. package/node_modules/@weavecode/server/dist/daemon/dashboard-auth.js +2 -2
  110. package/node_modules/@weavecode/server/dist/daemon/data-bus.js +1 -1
  111. package/node_modules/@weavecode/server/dist/daemon/dev-entry.js +1 -1
  112. package/node_modules/@weavecode/server/dist/daemon/fs-browser.js +1 -1
  113. package/node_modules/@weavecode/server/dist/daemon/hook-pipeline.d.ts +13 -1
  114. package/node_modules/@weavecode/server/dist/daemon/hook-pipeline.js +1 -1
  115. package/node_modules/@weavecode/server/dist/daemon/hooks-routes.js +1 -1
  116. package/node_modules/@weavecode/server/dist/daemon/http.js +1 -1
  117. package/node_modules/@weavecode/server/dist/daemon/opener.d.ts +102 -19
  118. package/node_modules/@weavecode/server/dist/daemon/opener.js +97 -7
  119. package/node_modules/@weavecode/server/dist/daemon/port.js +1 -1
  120. package/node_modules/@weavecode/server/dist/daemon/project-harnesses.js +2 -2
  121. package/node_modules/@weavecode/server/dist/daemon/project-updates-refresher.d.ts +4 -3
  122. package/node_modules/@weavecode/server/dist/daemon/project-updates-refresher.js +1 -1
  123. package/node_modules/@weavecode/server/dist/daemon/server.d.ts +15 -0
  124. package/node_modules/@weavecode/server/dist/daemon/server.js +8 -6
  125. package/node_modules/@weavecode/server/dist/daemon/session-probe.d.ts +72 -2
  126. package/node_modules/@weavecode/server/dist/daemon/session-probe.js +1 -1
  127. package/node_modules/@weavecode/server/dist/daemon/settings.d.ts +10 -0
  128. package/node_modules/@weavecode/server/dist/daemon/settings.js +2 -2
  129. package/node_modules/@weavecode/server/dist/daemon/snapshot-refresher.d.ts +7 -1
  130. package/node_modules/@weavecode/server/dist/daemon/snapshot-refresher.js +1 -1
  131. package/node_modules/@weavecode/server/dist/daemon/sse-hub.d.ts +40 -0
  132. package/node_modules/@weavecode/server/dist/daemon/sse-hub.js +1 -0
  133. package/node_modules/@weavecode/server/dist/daemon/start.js +1 -1
  134. package/node_modules/@weavecode/server/dist/daemon/state.js +2 -2
  135. package/node_modules/@weavecode/server/dist/daemon/static.js +1 -1
  136. package/node_modules/@weavecode/server/dist/daemon/terminal-topology-refresher.d.ts +4 -1
  137. package/node_modules/@weavecode/server/dist/daemon/tls.js +1 -1
  138. package/node_modules/@weavecode/server/dist/daemon/toolkit-routes.js +1 -1
  139. package/node_modules/@weavecode/server/dist/db/db.js +38 -2
  140. package/node_modules/@weavecode/server/dist/db/paths.d.ts +4 -0
  141. package/node_modules/@weavecode/server/dist/db/paths.js +1 -1
  142. package/node_modules/@weavecode/server/dist/hooks/answer-keys.js +1 -1
  143. package/node_modules/@weavecode/server/dist/hooks/bus.d.ts +5 -0
  144. package/node_modules/@weavecode/server/dist/hooks/bus.js +1 -1
  145. package/node_modules/@weavecode/server/dist/hooks/dispatcher.js +6 -6
  146. package/node_modules/@weavecode/server/dist/hooks/handlers/webhook.js +1 -1
  147. package/node_modules/@weavecode/server/dist/hooks/headless-runner.js +2 -2
  148. package/node_modules/@weavecode/server/dist/hooks/inbox-socket.d.ts +17 -4
  149. package/node_modules/@weavecode/server/dist/hooks/inbox-socket.js +2 -1
  150. package/node_modules/@weavecode/server/dist/hooks/inbox-worker.d.ts +27 -6
  151. package/node_modules/@weavecode/server/dist/hooks/inbox-worker.js +3 -3
  152. package/node_modules/@weavecode/server/dist/hooks/match.js +1 -1
  153. package/node_modules/@weavecode/server/dist/hooks/message-deliverer.d.ts +200 -13
  154. package/node_modules/@weavecode/server/dist/hooks/message-deliverer.js +3 -2
  155. package/node_modules/@weavecode/server/dist/hooks/mirror.d.ts +9 -4
  156. package/node_modules/@weavecode/server/dist/hooks/mirror.js +4 -4
  157. package/node_modules/@weavecode/server/dist/hooks/plugin-installer.js +3 -3
  158. package/node_modules/@weavecode/server/dist/hooks/plugin-loader.js +1 -1
  159. package/node_modules/@weavecode/server/dist/hooks/plugin-project-state.js +1 -1
  160. package/node_modules/@weavecode/server/dist/hooks/prompt-flusher.js +1 -1
  161. package/node_modules/@weavecode/server/dist/hooks/promptbox.d.ts +13 -0
  162. package/node_modules/@weavecode/server/dist/hooks/promptbox.js +8 -8
  163. package/node_modules/@weavecode/server/dist/hooks/push-notify.js +2 -2
  164. package/node_modules/@weavecode/server/dist/hooks/question-tracker.d.ts +6 -4
  165. package/node_modules/@weavecode/server/dist/hooks/question-tracker.js +1 -1
  166. package/node_modules/@weavecode/server/dist/hooks/registry.js +1 -1
  167. package/node_modules/@weavecode/server/dist/hooks/resume-runner.js +1 -1
  168. package/node_modules/@weavecode/server/dist/hooks/sequence-engine.js +1 -1
  169. package/node_modules/@weavecode/server/dist/hooks/session-purge.d.ts +7 -0
  170. package/node_modules/@weavecode/server/dist/hooks/session-purge.js +1 -1
  171. package/node_modules/@weavecode/server/dist/hooks/session-sweeper.d.ts +5 -8
  172. package/node_modules/@weavecode/server/dist/hooks/session-sweeper.js +1 -1
  173. package/node_modules/@weavecode/server/dist/hooks/side-questions.d.ts +41 -0
  174. package/node_modules/@weavecode/server/dist/hooks/side-questions.js +1 -0
  175. package/node_modules/@weavecode/server/dist/hooks/toolkit-scan.js +1 -1
  176. package/node_modules/@weavecode/server/dist/hooks/toolkit.d.ts +8 -0
  177. package/node_modules/@weavecode/server/dist/hooks/toolkit.js +5 -5
  178. package/node_modules/@weavecode/server/dist/hooks/watch-engine.d.ts +7 -0
  179. package/node_modules/@weavecode/server/dist/hooks/watch-engine.js +1 -1
  180. package/node_modules/@weavecode/server/dist/index.d.ts +1 -1
  181. package/node_modules/@weavecode/server/dist/install/apply-update.d.ts +1 -1
  182. package/node_modules/@weavecode/server/dist/install/apply-update.js +1 -1
  183. package/node_modules/@weavecode/server/dist/install/capabilities.d.ts +10 -0
  184. package/node_modules/@weavecode/server/dist/install/capabilities.js +1 -1
  185. package/node_modules/@weavecode/server/dist/install/codex-toml.d.ts +8 -26
  186. package/node_modules/@weavecode/server/dist/install/codex-toml.js +1 -1
  187. package/node_modules/@weavecode/server/dist/install/file-assets.js +1 -1
  188. package/node_modules/@weavecode/server/dist/install/fingerprint.d.ts +5 -1
  189. package/node_modules/@weavecode/server/dist/install/fingerprint.js +1 -1
  190. package/node_modules/@weavecode/server/dist/install/git-classify.d.ts +30 -0
  191. package/node_modules/@weavecode/server/dist/install/git-classify.js +1 -0
  192. package/node_modules/@weavecode/server/dist/install/global-config.d.ts +2 -4
  193. package/node_modules/@weavecode/server/dist/install/global-config.js +1 -2
  194. package/node_modules/@weavecode/server/dist/install/global-file-assets.js +1 -1
  195. package/node_modules/@weavecode/server/dist/install/init-files.d.ts +46 -0
  196. package/node_modules/@weavecode/server/dist/install/init-files.js +2 -0
  197. package/node_modules/@weavecode/server/dist/install/install-ledger.js +1 -1
  198. package/node_modules/@weavecode/server/dist/install/installer.d.ts +3 -5
  199. package/node_modules/@weavecode/server/dist/install/installer.js +1 -3
  200. package/node_modules/@weavecode/server/dist/install/library-index.js +1 -1
  201. package/node_modules/@weavecode/server/dist/install/mcp-rows.d.ts +5 -5
  202. package/node_modules/@weavecode/server/dist/install/mcp-rows.js +1 -1
  203. package/node_modules/@weavecode/server/dist/install/plugin-install.js +1 -1
  204. package/node_modules/@weavecode/server/dist/install/plugin-rows.js +1 -1
  205. package/node_modules/@weavecode/server/dist/install/plugin-templates.js +1 -1
  206. package/node_modules/@weavecode/server/dist/install/project-config.d.ts +0 -2
  207. package/node_modules/@weavecode/server/dist/install/project-config.js +2 -2
  208. package/node_modules/@weavecode/server/dist/install/reader.js +1 -1
  209. package/node_modules/@weavecode/server/dist/install/scan-cache.js +1 -1
  210. package/node_modules/@weavecode/server/dist/install/scanner.js +1 -1
  211. package/node_modules/@weavecode/server/dist/install/settings-mcp.js +2 -2
  212. package/node_modules/@weavecode/server/dist/install/updates.d.ts +17 -5
  213. package/node_modules/@weavecode/server/dist/install/updates.js +1 -1
  214. package/node_modules/@weavecode/server/dist/market/builtin.js +1 -1
  215. package/node_modules/@weavecode/server/dist/market/identity.js +1 -1
  216. package/node_modules/@weavecode/server/dist/market/import.js +2 -2
  217. package/node_modules/@weavecode/server/dist/market/refresh.js +1 -1
  218. package/node_modules/@weavecode/server/dist/market/resolve.js +1 -1
  219. package/node_modules/@weavecode/server/dist/market/updates.js +1 -1
  220. package/node_modules/@weavecode/server/dist/registry.js +2 -2
  221. package/node_modules/@weavecode/server/dist/repositories/hook-dispatches.js +5 -5
  222. package/node_modules/@weavecode/server/dist/repositories/hook-events.d.ts +7 -0
  223. package/node_modules/@weavecode/server/dist/repositories/hook-events.js +2 -2
  224. package/node_modules/@weavecode/server/dist/repositories/hook-rules.js +4 -4
  225. package/node_modules/@weavecode/server/dist/repositories/libraries.js +1 -1
  226. package/node_modules/@weavecode/server/dist/repositories/plugin-states.js +1 -1
  227. package/node_modules/@weavecode/server/dist/repositories/projects.d.ts +7 -0
  228. package/node_modules/@weavecode/server/dist/repositories/projects.js +2 -2
  229. package/node_modules/@weavecode/server/dist/repositories/push-subscriptions.js +2 -2
  230. package/node_modules/@weavecode/server/dist/repositories/session-watches.js +4 -4
  231. package/node_modules/@weavecode/server/dist/repositories/sessions.d.ts +32 -8
  232. package/node_modules/@weavecode/server/dist/repositories/sessions.js +2 -2
  233. package/node_modules/@weavecode/server/dist/repositories/side-questions.d.ts +50 -0
  234. package/node_modules/@weavecode/server/dist/repositories/side-questions.js +6 -0
  235. package/node_modules/@weavecode/server/dist/repositories/uploads.d.ts +66 -0
  236. package/node_modules/@weavecode/server/dist/repositories/uploads.js +7 -0
  237. package/node_modules/@weavecode/server/dist/statusline/cache-sweeper.js +1 -1
  238. package/node_modules/@weavecode/server/dist/statusline/config.d.ts +4 -198
  239. package/node_modules/@weavecode/server/dist/statusline/config.js +1 -1
  240. package/node_modules/@weavecode/server/dist/statusline/generator.d.ts +5 -0
  241. package/node_modules/@weavecode/server/dist/statusline/generator.js +1 -676
  242. package/node_modules/@weavecode/server/dist/statusline/manager.d.ts +7 -5
  243. package/node_modules/@weavecode/server/dist/statusline/manager.js +3 -4
  244. package/node_modules/@weavecode/server/dist/surfaces.d.ts +11 -1
  245. package/node_modules/@weavecode/server/dist/surfaces.js +1 -1
  246. package/node_modules/@weavecode/server/dist/watch/cache.js +1 -1
  247. package/node_modules/@weavecode/server/dist/watch/classifier.js +1 -1
  248. package/node_modules/@weavecode/server/dist/watch/plugin-mods.js +1 -1
  249. package/node_modules/@weavecode/server/dist/watch/sync-scheduler.d.ts +8 -4
  250. package/node_modules/@weavecode/server/dist/watch/sync-scheduler.js +1 -1
  251. package/node_modules/@weavecode/server/dist/watch/watch-service.js +1 -1
  252. package/node_modules/@weavecode/server/package.json +4 -4
  253. package/node_modules/@weavecode/server/web/dist/assets/index-CHWbLAje.js +594 -0
  254. package/node_modules/@weavecode/server/web/dist/assets/index-D0s5v8QS.css +11 -0
  255. package/node_modules/@weavecode/server/web/dist/index.html +14 -2
  256. package/node_modules/@weavecode/templates/dist/resources/weave-market/plugins/core-skills/weave-plugin-creator/skills/weave-plugin-creator/SKILL.md +2 -2
  257. package/node_modules/@weavecode/templates/package.json +2 -2
  258. package/node_modules/selfsigned/node_modules/@peculiar/x509/node_modules/@peculiar/asn1-cms/node_modules/asn1js/README.md +50 -32
  259. package/node_modules/selfsigned/node_modules/@peculiar/x509/node_modules/@peculiar/asn1-cms/node_modules/asn1js/build/index.d.ts +86 -40
  260. package/node_modules/selfsigned/node_modules/@peculiar/x509/node_modules/@peculiar/asn1-cms/node_modules/asn1js/build/index.es.js +860 -353
  261. package/node_modules/selfsigned/node_modules/@peculiar/x509/node_modules/@peculiar/asn1-cms/node_modules/asn1js/build/index.js +860 -353
  262. package/node_modules/selfsigned/node_modules/@peculiar/x509/node_modules/@peculiar/asn1-cms/node_modules/asn1js/package.json +20 -17
  263. package/node_modules/selfsigned/node_modules/@peculiar/x509/node_modules/@peculiar/asn1-csr/node_modules/asn1js/README.md +50 -32
  264. package/node_modules/selfsigned/node_modules/@peculiar/x509/node_modules/@peculiar/asn1-csr/node_modules/asn1js/build/index.d.ts +86 -40
  265. package/node_modules/selfsigned/node_modules/@peculiar/x509/node_modules/@peculiar/asn1-csr/node_modules/asn1js/build/index.es.js +860 -353
  266. package/node_modules/selfsigned/node_modules/@peculiar/x509/node_modules/@peculiar/asn1-csr/node_modules/asn1js/build/index.js +860 -353
  267. package/node_modules/selfsigned/node_modules/@peculiar/x509/node_modules/@peculiar/asn1-csr/node_modules/asn1js/package.json +20 -17
  268. package/node_modules/selfsigned/node_modules/@peculiar/x509/node_modules/@peculiar/asn1-ecc/node_modules/asn1js/README.md +50 -32
  269. package/node_modules/selfsigned/node_modules/@peculiar/x509/node_modules/@peculiar/asn1-ecc/node_modules/asn1js/build/index.d.ts +86 -40
  270. package/node_modules/selfsigned/node_modules/@peculiar/x509/node_modules/@peculiar/asn1-ecc/node_modules/asn1js/build/index.es.js +860 -353
  271. package/node_modules/selfsigned/node_modules/@peculiar/x509/node_modules/@peculiar/asn1-ecc/node_modules/asn1js/build/index.js +860 -353
  272. package/node_modules/selfsigned/node_modules/@peculiar/x509/node_modules/@peculiar/asn1-ecc/node_modules/asn1js/package.json +20 -17
  273. package/node_modules/selfsigned/node_modules/@peculiar/x509/node_modules/@peculiar/asn1-pkcs9/node_modules/asn1js/README.md +50 -32
  274. package/node_modules/selfsigned/node_modules/@peculiar/x509/node_modules/@peculiar/asn1-pkcs9/node_modules/asn1js/build/index.d.ts +86 -40
  275. package/node_modules/selfsigned/node_modules/@peculiar/x509/node_modules/@peculiar/asn1-pkcs9/node_modules/asn1js/build/index.es.js +860 -353
  276. package/node_modules/selfsigned/node_modules/@peculiar/x509/node_modules/@peculiar/asn1-pkcs9/node_modules/asn1js/build/index.js +860 -353
  277. package/node_modules/selfsigned/node_modules/@peculiar/x509/node_modules/@peculiar/asn1-pkcs9/node_modules/asn1js/package.json +20 -17
  278. package/node_modules/selfsigned/node_modules/@peculiar/x509/node_modules/@peculiar/asn1-rsa/node_modules/asn1js/README.md +50 -32
  279. package/node_modules/selfsigned/node_modules/@peculiar/x509/node_modules/@peculiar/asn1-rsa/node_modules/asn1js/build/index.d.ts +86 -40
  280. package/node_modules/selfsigned/node_modules/@peculiar/x509/node_modules/@peculiar/asn1-rsa/node_modules/asn1js/build/index.es.js +860 -353
  281. package/node_modules/selfsigned/node_modules/@peculiar/x509/node_modules/@peculiar/asn1-rsa/node_modules/asn1js/build/index.js +860 -353
  282. package/node_modules/selfsigned/node_modules/@peculiar/x509/node_modules/@peculiar/asn1-rsa/node_modules/asn1js/package.json +20 -17
  283. package/node_modules/selfsigned/node_modules/@peculiar/x509/node_modules/@peculiar/asn1-schema/node_modules/asn1js/README.md +50 -32
  284. package/node_modules/selfsigned/node_modules/@peculiar/x509/node_modules/@peculiar/asn1-schema/node_modules/asn1js/build/index.d.ts +86 -40
  285. package/node_modules/selfsigned/node_modules/@peculiar/x509/node_modules/@peculiar/asn1-schema/node_modules/asn1js/build/index.es.js +860 -353
  286. package/node_modules/selfsigned/node_modules/@peculiar/x509/node_modules/@peculiar/asn1-schema/node_modules/asn1js/build/index.js +860 -353
  287. package/node_modules/selfsigned/node_modules/@peculiar/x509/node_modules/@peculiar/asn1-schema/node_modules/asn1js/package.json +20 -17
  288. package/node_modules/selfsigned/node_modules/@peculiar/x509/node_modules/@peculiar/asn1-x509/node_modules/asn1js/README.md +50 -32
  289. package/node_modules/selfsigned/node_modules/@peculiar/x509/node_modules/@peculiar/asn1-x509/node_modules/asn1js/build/index.d.ts +86 -40
  290. package/node_modules/selfsigned/node_modules/@peculiar/x509/node_modules/@peculiar/asn1-x509/node_modules/asn1js/build/index.es.js +860 -353
  291. package/node_modules/selfsigned/node_modules/@peculiar/x509/node_modules/@peculiar/asn1-x509/node_modules/asn1js/build/index.js +860 -353
  292. package/node_modules/selfsigned/node_modules/@peculiar/x509/node_modules/@peculiar/asn1-x509/node_modules/asn1js/package.json +20 -17
  293. package/node_modules/selfsigned/node_modules/pkijs/node_modules/asn1js/README.md +50 -32
  294. package/node_modules/selfsigned/node_modules/pkijs/node_modules/asn1js/build/index.d.ts +86 -40
  295. package/node_modules/selfsigned/node_modules/pkijs/node_modules/asn1js/build/index.es.js +860 -353
  296. package/node_modules/selfsigned/node_modules/pkijs/node_modules/asn1js/build/index.js +860 -353
  297. package/node_modules/selfsigned/node_modules/pkijs/node_modules/asn1js/package.json +20 -17
  298. package/package.json +6 -6
  299. package/node_modules/@weavecode/server/web/dist/assets/index-BOzaRlQE.js +0 -560
  300. package/node_modules/@weavecode/server/web/dist/assets/index-ChX8G8cT.css +0 -11
@@ -0,0 +1,66 @@
1
+ import type { DatabaseSync } from 'node:sqlite';
2
+ /**
3
+ * 会话图片上传:文件内容寻址(sha256 = id)落 `<dataDir>/uploads/<id>.<ext>`,
4
+ * 行只记展示名与媒体类型。**上传 ≠ 投递**——资源不因消息发送而搬家,harness
5
+ * 拿到的是这个稳定绝对路径(claude 的粘贴处理器按扩展名认出它是图)。
6
+ * 收的四种类型 = claude 路径识别集 `\.(png|jpe?g|gif|webp)$`(别的类型即使能进
7
+ * content block 也不进路径文法,v1 不收)。
8
+ */
9
+ export declare const UPLOAD_MEDIA_TYPES: readonly ["image/png", "image/jpeg", "image/gif", "image/webp"];
10
+ export type UploadMediaType = (typeof UPLOAD_MEDIA_TYPES)[number];
11
+ /** 单张上限:对齐 claude 自己贴图的粘贴缓存上限(~10MB)。 */
12
+ export declare const UPLOAD_MAX_BYTES: number;
13
+ /**
14
+ * 孤儿回收的宽限期:编辑器里选了图、还没发出去的那份此刻同样「无引用」,
15
+ * 清理不能把它从用户手上抽走。
16
+ */
17
+ export declare const UPLOAD_ORPHAN_GRACE_MS: number;
18
+ export interface UploadRow {
19
+ id: string;
20
+ mediaType: UploadMediaType;
21
+ name: string;
22
+ size: number;
23
+ createdAt: string;
24
+ }
25
+ export declare class UploadRepository {
26
+ private readonly db;
27
+ private readonly dir;
28
+ constructor(db: DatabaseSync, dir?: string);
29
+ /**
30
+ * 落盘 + 登记(内容寻址,重复上传即 no-op)。返回已存行。
31
+ * 调用方先验过媒体类型与大小,这里只按类型定扩展名。
32
+ */
33
+ save(input: {
34
+ name: string;
35
+ mediaType: UploadMediaType;
36
+ bytes: Buffer;
37
+ }): UploadRow;
38
+ getById(id: string): UploadRow | undefined;
39
+ /** 磁盘绝对路径(harness 的 `composePrompt` 引用的就是它)。 */
40
+ filePath(id: string, mediaType: UploadMediaType): string;
41
+ /** 投递引用(id + 展示名 + 落盘绝对路径);任一 id 查不到即 null(整条拒绝)。 */
42
+ refsOf(ids: readonly string[]): Array<{
43
+ id: string;
44
+ name: string;
45
+ mediaType: string;
46
+ path: string;
47
+ }> | null;
48
+ /** 按行里记的媒体类型反查文件(serve 用;行不存在 / 文件被删 = undefined)。 */
49
+ fileOf(id: string): {
50
+ row: UploadRow;
51
+ bytes: Buffer;
52
+ } | undefined;
53
+ /** 挂到开轮事件上(对话气泡的缩略图指针;事件删则级联删)。 */
54
+ linkToEvent(eventId: number, uploadIds: readonly string[]): void;
55
+ /**
56
+ * 孤儿回收:没有任何 `event_images` 引用的上传件(文件 + 行)。图只被会话事件
57
+ * 引用——事件随会话/项目一起清掉之后就再没有展示面(对话弹窗是事件的投影)。
58
+ * 返清掉的条数。
59
+ */
60
+ pruneUnreferenced(olderThanMs?: number, now?: number): number;
61
+ /**
62
+ * 会话各开轮事件随附的图(一次查询,不逐行 join)。
63
+ * 返回 eventId → 指针表,web 据此把缩略图装到对话条目上。
64
+ */
65
+ imagesBySession(sessionId: string): Map<number, UploadRow[]>;
66
+ }
@@ -0,0 +1,7 @@
1
+ import{createHash as p}from"node:crypto";import{mkdirSync as m,readFileSync as c,writeFileSync as u,existsSync as o,rmSync as g}from"node:fs";import f from"node:path";import{getUploadsDir as h}from"../db/paths.js";export const UPLOAD_MEDIA_TYPES=["image/png","image/jpeg","image/gif","image/webp"],UPLOAD_MAX_BYTES=10*1024*1024,UPLOAD_ORPHAN_GRACE_MS=60*6e4;const l={"image/png":".png","image/jpeg":".jpg","image/gif":".gif","image/webp":".webp"};export class UploadRepository{db;dir;constructor(t,e=h()){this.db=t,this.dir=e}save(t){const e=p("sha256").update(t.bytes).digest("hex");m(this.dir,{recursive:!0});const i=this.filePath(e,t.mediaType);return o(i)||u(i,t.bytes),this.db.prepare(`INSERT INTO uploads (id, media_type, name, size, created_at) VALUES (?, ?, ?, ?, ?)
2
+ ON CONFLICT(id) DO NOTHING`).run(e,t.mediaType,t.name,t.bytes.length,new Date().toISOString()),this.getById(e)}getById(t){const e=this.db.prepare("SELECT * FROM uploads WHERE id = ?").get(t);return e?a(e):void 0}filePath(t,e){return f.join(this.dir,`${t}${l[e]}`)}refsOf(t){const e=[];for(const i of t){const r=this.getById(i);if(!r)return null;e.push({id:r.id,name:r.name,mediaType:r.mediaType,path:this.filePath(r.id,r.mediaType)})}return e}fileOf(t){const e=this.getById(t);if(!e)return;const i=this.filePath(e.id,e.mediaType);if(o(i))return{row:e,bytes:c(i)}}linkToEvent(t,e){const i=this.db.prepare("INSERT INTO event_images (event_id, upload_id) VALUES (?, ?) ON CONFLICT DO NOTHING");for(const r of e)i.run(t,r)}pruneUnreferenced(t=UPLOAD_ORPHAN_GRACE_MS,e=Date.now()){const i=this.db.prepare(`SELECT id, media_type FROM uploads
3
+ WHERE created_at <= ? AND id NOT IN (SELECT upload_id FROM event_images)`).all(new Date(e-t).toISOString()),r=this.db.prepare("DELETE FROM uploads WHERE id = ?");for(const d of i)g(this.filePath(d.id,d.media_type),{force:!0}),r.run(d.id);return i.length}imagesBySession(t){const e=this.db.prepare(`SELECT e.event_id AS eventId, u.* FROM event_images e
4
+ JOIN uploads u ON u.id = e.upload_id
5
+ JOIN hook_events h ON h.id = e.event_id
6
+ WHERE h.session_id = ?
7
+ ORDER BY e.event_id, u.created_at`).all(t),i=new Map;for(const r of e){const d=Number(r.eventId),s=i.get(d)??[];s.push(a(r)),i.set(d,s)}return i}}function a(n){return{id:String(n.id),mediaType:String(n.media_type),name:String(n.name),size:Number(n.size),createdAt:String(n.created_at)}}
@@ -1 +1 @@
1
- import{existsSync as l,readdirSync as w,readFileSync as d,statSync as m,unlinkSync as L,writeFileSync as j}from"node:fs";import E from"node:os";import S from"node:path";import{statuslineCacheDir as _}from"./generator.js";export const SWEEP_INTERVAL_MS=10*6e4,FILE_STALE_MS=1440*6e4,TMP_STALE_MS=60*6e4;const x=["weave-sl-","weave-slc-"];export const LEGACY_STALE_MS=60*6e4;export class StatuslineCacheSweeper{dir;tmpDir;now;constructor(t=_(),e=E.tmpdir(),n=Date.now){this.dir=t,this.tmpDir=e,this.now=n}sweep(){return this.sweepCacheDir()+this.sweepLegacyTmp()}sweepCacheDir(){if(!l(this.dir))return 0;const t=this.now();let e=0;for(const n of y(this.dir)){const r=S.join(this.dir,n);if(n.endsWith(".tmp")){f(r,t,TMP_STALE_MS)&&(c(r),e++);continue}if(!n.endsWith(".json"))continue;if(f(r,t,FILE_STALE_MS)){c(r),e++;continue}let i;try{i=JSON.parse(d(r,"utf8"))}catch{c(r),e++;continue}const o=i.git??{},a=i.tokens??{};let p=!1;for(const[h,u]of Object.entries(o))(!u||typeof u.expires!="number"||u.expires<t)&&(delete o[h],p=!0);for(const h of Object.keys(a))this.transcriptLive(h,t)||(delete a[h],p=!0);if(Object.keys(o).length===0&&Object.keys(a).length===0){c(r),e++;continue}if(p)try{j(r,JSON.stringify({...i,git:o,tokens:a}))}catch{}}return e}transcriptLive(t,e){try{return e-m(t).mtimeMs<=FILE_STALE_MS}catch{return!1}}sweepLegacyTmp(){const t=this.now();let e=0;for(const n of y(this.tmpDir)){if(!n.endsWith(".json")||!x.some(i=>n.startsWith(i)))continue;const r=S.join(this.tmpDir,n);f(r,t,LEGACY_STALE_MS)&&(c(r),e++)}return e}start(){this.sweep();const t=setInterval(()=>this.sweep(),SWEEP_INTERVAL_MS);return t.unref(),t}}export function startStatuslineCacheSweeper(){return new StatuslineCacheSweeper().start()}function y(s){try{return w(s)}catch{return[]}}function f(s,t,e){try{return t-m(s).mtimeMs>e}catch{return!1}}function c(s){try{L(s)}catch{}}
1
+ import{existsSync as y,readdirSync as d,readFileSync as w,renameSync as _,statSync as m,unlinkSync as E,writeFileSync as L}from"node:fs";import x from"node:os";import l from"node:path";import{statuslineCacheDir as j}from"./generator.js";export const SWEEP_INTERVAL_MS=10*6e4,FILE_STALE_MS=1440*6e4,TMP_STALE_MS=60*6e4;const D=["weave-sl-","weave-slc-"];export const LEGACY_STALE_MS=60*6e4;export class StatuslineCacheSweeper{dir;tmpDir;now;constructor(t=j(),e=x.tmpdir(),n=Date.now){this.dir=t,this.tmpDir=e,this.now=n}sweep(){return this.sweepCacheDir()+this.sweepLegacyTmp()}sweepCacheDir(){if(!y(this.dir))return 0;const t=this.now();let e=0;for(const n of S(this.dir)){const r=l.join(this.dir,n);if(n.endsWith(".tmp")){u(r,t,TMP_STALE_MS)&&(c(r),e++);continue}if(!n.endsWith(".json"))continue;if(u(r,t,FILE_STALE_MS)){c(r),e++;continue}let o;try{o=JSON.parse(w(r,"utf8"))}catch{c(r),e++;continue}const a=o.git??{},p=o.tokens??{};let f=!1;for(const[i,h]of Object.entries(a))(!h||typeof h.expires!="number"||h.expires<t)&&(delete a[i],f=!0);for(const i of Object.keys(p))this.transcriptLive(i,t)||(delete p[i],f=!0);if(Object.keys(a).length===0&&Object.keys(p).length===0){c(r),e++;continue}if(f){const i=`${r}.${process.pid}.tmp`;try{L(i,JSON.stringify({...o,git:a,tokens:p})),_(i,r)}catch{}}}return e}transcriptLive(t,e){try{return e-m(t).mtimeMs<=FILE_STALE_MS}catch{return!1}}sweepLegacyTmp(){const t=this.now();let e=0;for(const n of S(this.tmpDir)){if(!n.endsWith(".json")||!D.some(o=>n.startsWith(o)))continue;const r=l.join(this.tmpDir,n);u(r,t,LEGACY_STALE_MS)&&(c(r),e++)}return e}start(){this.sweep();const t=setInterval(()=>this.sweep(),SWEEP_INTERVAL_MS);return t.unref(),t}}export function startStatuslineCacheSweeper(){return new StatuslineCacheSweeper().start()}function S(s){try{return d(s)}catch{return[]}}function u(s,t,e){try{return t-m(s).mtimeMs>e}catch{return!1}}function c(s){try{E(s)}catch{}}
@@ -1,200 +1,6 @@
1
1
  /**
2
- * Statusline configuration — which segments a project's statusline renders, in
3
- * what colour/style, and how they are laid out.
4
- *
5
- * Stored per-project as `.weave/statusline.json`; a global default template
6
- * lives at `~/.weave/statusline.json`. The generator embeds the effective
7
- * config into `helpers/statusline.cjs` so the script is self-contained.
8
- *
9
- * Layout model (informed by ruflo's statusline + ccstatusline):
10
- * - `lines` : an ordered list of rows; each row is the left-to-right segment
11
- * order of that line (draggable in the panel, across rows too).
12
- * Rows are separated by a dim divider; the logo prefixes row 0.
13
- * - `refreshInterval`: how often (seconds, min 1) Claude Code re-runs the
14
- * generated script during idle periods. Updates are driven by
15
- * Claude Code's own mechanism — the script is a one-shot command
16
- * re-invoked after each assistant response (~300ms debounce)
17
- * plus this timer; default 10s.
18
- *
19
- * When `powerline.enabled`, segments render as solid background blocks that
20
- * join edge-to-edge (ccstatusline-style), each optionally prefixed by an icon.
21
- * `align` pads the line so the content sits left, centre, or right.
22
- *
23
- * Segment data comes straight from Claude Code's statusline stdin JSON
24
- * (`context_window.used_percentage`, `rate_limits.five_hour.used_percentage`,
25
- * `effort.level`, `cost.total_cost_usd`, …), so the generated script needs no
26
- * external daemon — it re-reads stdin on every render, which is the
27
- * auto-refresh mechanism.
2
+ * Statusline 词表与默认模板——形状是 claude 的 statusline 知识,实现落在
3
+ * `weave-harness/src/claude/statusline/config.ts`,此处只做转出。
28
4
  */
29
- export type StatuslineNamedColor = 'gray' | 'red' | 'green' | 'yellow' | 'blue' | 'magenta' | 'cyan';
30
- /**
31
- * A colour is one of the seven ANSI names (classic SGR 31-36/90), an indexed
32
- * 256-colour value (`ansi256:196` → `38;5;196`), or a truecolor hex value
33
- * (`#ff8800` / `#f80` → `38;2;…`).
34
- *
35
- * The template-literal union keeps the seven names autocompletable while still
36
- * admitting the extended encodings. It is deliberately permissive — anything
37
- * shaped like a hex string type-checks — so `normalizeColor` in the manager is
38
- * what actually validates values at rest.
39
- */
40
- export type StatuslineColor = StatuslineNamedColor | `ansi256:${number}` | `#${string}`;
41
- /** The seven classic ANSI colour names, in palette order. */
42
- export declare const NAMED_COLORS: readonly StatuslineNamedColor[];
43
- /** All renderable segment kinds (maps to ccstatusline's data segments). */
44
- export type SegmentKey = 'project' | 'git' | 'git_user' | 'changes' | 'model' | 'thinking' | 'context' | 'tokens' | 'cost' | 'rate' | 'time' | 'version' | 'output_style' | 'session' | 'exceeds200k' | 'fast_mode' | 'vim' | 'pr' | 'worktree' | 'agent';
45
- export interface StatuslineSegment {
46
- enabled: boolean;
47
- color: StatuslineColor;
48
- /** Render the segment in bold ANSI (`\x1b[1;…m`). */
49
- bold: boolean;
50
- /** Optional emoji/symbol prefix (e.g. `🤖`, `🌿`, `📁`). Empty when unused. */
51
- icon: string;
52
- /** Solid background block colour; `null` for no background (foreground only). */
53
- backgroundColor: StatuslineColor | null;
54
- /** Join this segment into the next block (no gap, inherited background). */
55
- merge: boolean;
56
- /** Context-bar display mode; ignored by other segments. */
57
- style?: 'percent' | 'bar' | 'both';
58
- /** Which rate-limit window `rate` reports; ignored by other segments. */
59
- window?: 'five_hour' | 'seven_day' | 'spend';
60
- /**
61
- * Static text prefix, rendered as `<label><labelSeparator><value>` — e.g.
62
- * `label: 'Cost'` yields `Cost: $0.45`. Empty/absent means no prefix, which
63
- * is the behaviour every config had before labels existed.
64
- */
65
- label?: string;
66
- /**
67
- * Value template with `{token}` placeholders (see `SEGMENT_TOKENS` for the
68
- * tokens each segment exposes). When set it replaces the built-in formatting
69
- * for that segment; when absent the segment falls back to its legacy
70
- * rendering, so existing configs are unaffected.
71
- *
72
- * e.g. `context.format = "[{bar}] {used}/{total} ({percent}%)"`
73
- */
74
- format?: string;
75
- /**
76
- * Which quantity the `tokens` segment reports: `session` (cumulative tokens
77
- * for the whole session, read from the transcript) or `context` (tokens
78
- * currently in the context window). Ignored by other segments.
79
- */
80
- metric?: 'session' | 'context';
81
- }
82
- /**
83
- * Progress-bar appearance. Global rather than per-segment: a statusline reads
84
- * as one design, and the reference layout uses a single bar style throughout.
85
- */
86
- export interface StatuslineBar {
87
- /** Number of cells, clamped to 1-40. */
88
- cells: number;
89
- /** Filled-cell glyph. */
90
- fill: string;
91
- /** Empty-cell glyph. */
92
- empty: string;
93
- }
94
- export type StatuslineAlign = 'left' | 'center' | 'right';
95
- /** `global` = follow the global default template; `custom` = project-local. */
96
- export type StatuslineSource = 'global' | 'custom';
97
- /**
98
- * Powerline glyph configuration. All glyph fields are optional Nerd-Font
99
- * characters; `undefined` falls back to the classic triangle set and an empty
100
- * string disables that glyph (caps only — the join separator is never empty).
101
- */
102
- export interface StatuslinePowerline {
103
- enabled: boolean;
104
- /** Block-join separator between adjacent blocks (default `` U+E0B0). */
105
- separator?: string;
106
- /** Row-start cap, painted in the first block's bg on a transparent
107
- * background (default `` U+E0B2). Empty string disables. */
108
- startCap?: string;
109
- /** Row-end cap, painted in the last block's bg (default `` U+E0B0).
110
- * Empty string disables. */
111
- endCap?: string;
112
- }
113
- /** Classic triangle glyph set, used when the config leaves a field unset. */
114
- export declare const POWERLINE_DEFAULT_GLYPHS: {
115
- readonly separator: "";
116
- readonly startCap: "";
117
- readonly endCap: "";
118
- };
119
- export interface StatuslineConfig {
120
- /** Rendered between segments when powerline blocks are off; powerline
121
- * mode ignores it (the join glyph takes over). Default a single space. */
122
- separator: string;
123
- /** Alignment of each rendered row: left, centre or right. */
124
- align: StatuslineAlign;
125
- /**
126
- * Text of the row-0 logo mark, rendered as `<logoText> v<version>`.
127
- * weave's badge: the value is pinned to the shipped mark (only `logoColor`
128
- * is user-configurable) and the panel offers no editor for it.
129
- */
130
- logoText: string;
131
- /** Colour of the logo mark. */
132
- logoColor: StatuslineColor;
133
- /** ccstatusline-style solid background blocks. */
134
- powerline: StatuslinePowerline;
135
- /**
136
- * Ordered lines; each line is the left-to-right segment order of that row.
137
- * The panel adds/removes lines and reorders segments within/across them.
138
- * Rows are separated by a dim divider; the logo prefixes the first row.
139
- */
140
- lines: SegmentKey[][];
141
- /**
142
- * How often Claude Code re-runs the statusline script (seconds, min 1).
143
- * Event-driven updates (after each assistant response) happen regardless;
144
- * this timer only bounds staleness during idle periods. Default 10s.
145
- */
146
- refreshInterval: number;
147
- /** Project config origin: follow the global template, or project-local. */
148
- source: StatuslineSource;
149
- /** Progress-bar appearance, shared by every segment that draws a bar. */
150
- bar: StatuslineBar;
151
- /** Rendered between rows; an empty string (the default) draws nothing. */
152
- divider: string;
153
- /** Rendered between a segment's `label` and its value. Default `': '`. */
154
- labelSeparator: string;
155
- segments: Record<SegmentKey, StatuslineSegment>;
156
- }
157
- /** Default order in which enabled segments render left-to-right. */
158
- export declare const SEGMENT_ORDER: SegmentKey[];
159
- /**
160
- * Legacy two-row split (single header + metrics) used to migrate old configs
161
- * that had `layout: 'multi'`.
162
- */
163
- export declare const LEGACY_IDENTITY_LINE: SegmentKey[];
164
- export declare const LEGACY_METRICS_LINE: SegmentKey[];
165
- /**
166
- * The shipped default: two powerline rows with text labels and a bracketed
167
- * context bar.
168
- *
169
- * ```
170
- * 🤖 Model: deepseek-flash[1M] 🧠 [░░░░░░░░░░░░] 39k/1.0M (4%) 🌿 main ✏️ (+1, -1)
171
- * 🧩 Thinking: high 💸 Cost: $0.45 🔢 Total: 960.9k 📁 D:\…\weave-cli
172
- * ```
173
- *
174
- * Needs a Nerd Font for the powerline joins; `PLAIN_STATUSLINE_CONFIG` is the
175
- * same layout without them.
176
- */
177
- export declare const DEFAULT_STATUSLINE_CONFIG: StatuslineConfig;
178
- /**
179
- * The same layout with powerline blocks turned off, for terminals without a
180
- * Nerd Font — segments fall back to the plain separator and no private-use
181
- * glyphs are emitted.
182
- */
183
- export declare const PLAIN_STATUSLINE_CONFIG: StatuslineConfig;
184
- /**
185
- * Tokens each segment exposes to `StatuslineSegment.format`. Exported so the
186
- * web panel and the CLI preview can offer the same vocabulary the generator
187
- * understands — keep in lockstep with `segmentTokens` in `generator.ts`.
188
- */
189
- export declare const SEGMENT_TOKENS: Record<SegmentKey, readonly string[]>;
190
- /**
191
- * Built-in value formatting per segment, used when `format` is unset. Each one
192
- * reproduces the rendering the generator hard-coded before `format` existed, so
193
- * an untouched config produces byte-identical output.
194
- *
195
- * `context` is special-cased in the generator: its legacy output depended on
196
- * `style`, so `DEFAULT_CONTEXT_FORMAT` below covers all three modes instead.
197
- */
198
- export declare const SEGMENT_DEFAULT_FORMAT: Record<SegmentKey, string>;
199
- /** Legacy `context.style` → template, preserving each mode's old rendering. */
200
- export declare const CONTEXT_STYLE_FORMAT: Record<'percent' | 'bar' | 'both', string>;
5
+ export { CONTEXT_STYLE_FORMAT, DEFAULT_STATUSLINE_CONFIG, LEGACY_IDENTITY_LINE, LEGACY_METRICS_LINE, NAMED_COLORS, PLAIN_STATUSLINE_CONFIG, POWERLINE_DEFAULT_GLYPHS, SEGMENT_DEFAULT_FORMAT, SEGMENT_ORDER, SEGMENT_TOKENS, } from '@weavecode/harness';
6
+ export type { SegmentKey, StatuslineAlign, StatuslineBar, StatuslineColor, StatuslineConfig, StatuslineNamedColor, StatuslinePowerline, StatuslineSegment, StatuslineSource, } from '@weavecode/harness';
@@ -1 +1 @@
1
- export const NAMED_COLORS=["gray","red","green","yellow","blue","magenta","cyan"],POWERLINE_DEFAULT_GLYPHS={separator:"\uE0B0",startCap:"\uE0B2",endCap:"\uE0B0"},SEGMENT_ORDER=["project","git_user","git","changes","model","thinking","context","tokens","cost","rate","time","version","output_style","session","exceeds200k","fast_mode","vim","pr","worktree","agent"],LEGACY_IDENTITY_LINE=["project","git","model"],LEGACY_METRICS_LINE=["context","tokens","cost","rate"];const e=o=>({enabled:!0,color:"gray",bold:!1,icon:"",backgroundColor:null,merge:!1,...o});export const DEFAULT_STATUSLINE_CONFIG={separator:" ",align:"left",logoText:"\u258A weave",logoColor:"magenta",powerline:{enabled:!0,separator:"\uE0B0",startCap:"\uE0B6",endCap:"\uE0B4"},lines:[["model","thinking","time"],["context","tokens","cost","rate"],["git_user","git","changes","project"]],refreshInterval:30,source:"global",bar:{cells:12,fill:"\u2588",empty:"\u2591"},divider:"",labelSeparator:": ",segments:{model:e({color:"#1f2335",backgroundColor:"#7aa2f7",bold:!0,icon:"\u{1F916}",label:"Model"}),context:e({color:"#c0caf5",backgroundColor:"#24283b",icon:"\u{1F9E0}",format:"[{bar}] {used}/{total} ({percent}%)"}),git:e({color:"#1f2335",backgroundColor:"#9ece6a",icon:"\u{1F33F}",format:"{branch}"}),git_user:e({color:"#1f2335",backgroundColor:"#7dcfff",icon:"\u{1F464}",format:"{user} <{email}>"}),changes:e({color:"#1f2335",backgroundColor:"#e0af68",icon:"\u270F\uFE0F",format:"(+{added}, -{deleted})"}),thinking:e({color:"#1f2335",backgroundColor:"#bb9af7",icon:"\u{1F9E9}",label:"Thinking"}),cost:e({color:"#1f2335",backgroundColor:"#73daca",icon:"\u{1F4B8}",label:"Cost"}),tokens:e({color:"#1f2335",backgroundColor:"#ff9e64",icon:"\u{1F522}",label:"Total",metric:"session"}),project:e({color:"#c0caf5",backgroundColor:"#2f334d",icon:"\u{1F4C1}",format:"{path}"}),rate:e({enabled:!1,color:"#f7768e",icon:"\u26A1",label:"Rate"}),time:e({enabled:!0,color:"gray",backgroundColor:"blue",icon:"\u{1F552}"}),version:e({enabled:!1,color:"#a9b1d6",icon:"\u2139\uFE0F",label:"CC",format:"{version}"}),output_style:e({enabled:!1,color:"#bb9af7",icon:"\u{1F3A8}",format:"{style}"}),session:e({enabled:!1,color:"#7dcfff",icon:"\u{1F3F7}\uFE0F",label:"Session",format:"{name}"}),exceeds200k:e({enabled:!1,color:"#f7768e",icon:"\u{1F6A8}",format:"{over}"}),fast_mode:e({enabled:!1,color:"#ff9e64",icon:"\u{1F680}",format:"{mode}"}),vim:e({enabled:!1,color:"#9ece6a",icon:"\u2328\uFE0F",format:"{mode}"}),pr:e({enabled:!1,color:"#73daca",icon:"\u{1F517}",label:"PR",format:"#{number}"}),worktree:e({enabled:!1,color:"#7aa2f7",icon:"\u{1FAB4}",format:"{name}"}),agent:e({enabled:!1,color:"#c0caf5",icon:"\u{1F3AD}",label:"Agent",format:"{name}"})}},PLAIN_STATUSLINE_CONFIG={...DEFAULT_STATUSLINE_CONFIG,powerline:{enabled:!1}},SEGMENT_TOKENS={project:["name","path"],git:["branch","repo"],git_user:["user","email"],changes:["added","deleted","files"],model:["model"],thinking:["level"],context:["bar","used","total","percent","remaining"],tokens:["total","percent"],cost:["cost","duration","api_duration","lines_added","lines_removed"],rate:["percent","limit","resets"],time:["time"],version:["version"],output_style:["style"],session:["name"],exceeds200k:["over"],fast_mode:["mode"],vim:["mode"],pr:["number","state","url"],worktree:["name","branch"],agent:["name"]},SEGMENT_DEFAULT_FORMAT={project:"{name}",git:"{branch}",git_user:"{user} <{email}>",changes:"{files}",model:"{model}",thinking:"{level}",context:"{percent}% {bar}",tokens:"{total}",cost:"{cost}",rate:"{limit} {percent}%",time:"{time}",version:"{version}",output_style:"{style}",session:"{name}",exceeds200k:"{over}",fast_mode:"{mode}",vim:"{mode}",pr:"#{number}",worktree:"{name}",agent:"{name}"},CONTEXT_STYLE_FORMAT={percent:"{percent}%",bar:"{bar}",both:"{percent}% {bar}"};
1
+ export{CONTEXT_STYLE_FORMAT,DEFAULT_STATUSLINE_CONFIG,LEGACY_IDENTITY_LINE,LEGACY_METRICS_LINE,NAMED_COLORS,PLAIN_STATUSLINE_CONFIG,POWERLINE_DEFAULT_GLYPHS,SEGMENT_DEFAULT_FORMAT,SEGMENT_ORDER,SEGMENT_TOKENS}from"@weavecode/harness";
@@ -8,6 +8,11 @@ import type { StatuslineConfig } from './config.js';
8
8
  * `StatuslineCacheSweeper` 回收。
9
9
  */
10
10
  export declare function statuslineCacheDir(): string;
11
+ /**
12
+ * 生成 `helpers/statusline.cjs` 源码——脚本本体归 claude 的 statusline 表示法,
13
+ * 实现在 `weave-harness/src/claude/statusline/`;这里的两个落点参数是 server
14
+ * 的事实(dataDir 布局与包版本),由调用侧取。
15
+ */
11
16
  export declare function generateStatuslineScript(config: StatuslineConfig, opts?: {
12
17
  cacheDir?: string;
13
18
  }): string;