@weavecode/weave 0.1.7 → 0.1.9

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 (431) hide show
  1. package/node_modules/@modelcontextprotocol/sdk/node_modules/@hono/node-server/dist/index.cjs +31 -6
  2. package/node_modules/@modelcontextprotocol/sdk/node_modules/@hono/node-server/dist/index.mjs +31 -6
  3. package/node_modules/@modelcontextprotocol/sdk/node_modules/@hono/node-server/package.json +1 -1
  4. package/node_modules/@modelcontextprotocol/sdk/node_modules/express-rate-limit/dist/index.cjs +1 -1
  5. package/node_modules/@modelcontextprotocol/sdk/node_modules/express-rate-limit/dist/index.mjs +1 -1
  6. package/node_modules/@modelcontextprotocol/sdk/node_modules/express-rate-limit/node_modules/ip-address/README.md +39 -39
  7. package/node_modules/@modelcontextprotocol/sdk/node_modules/express-rate-limit/node_modules/ip-address/dist/ipv6.js +1 -1
  8. package/node_modules/@modelcontextprotocol/sdk/node_modules/express-rate-limit/node_modules/ip-address/package.json +1 -1
  9. package/node_modules/@modelcontextprotocol/sdk/node_modules/express-rate-limit/package.json +1 -1
  10. package/node_modules/@modelcontextprotocol/sdk/node_modules/hono/dist/cjs/adapter/bun/serve-static.js +1 -1
  11. package/node_modules/@modelcontextprotocol/sdk/node_modules/hono/dist/cjs/adapter/bun/websocket.js +1 -1
  12. package/node_modules/@modelcontextprotocol/sdk/node_modules/hono/dist/cjs/context.js +1 -1
  13. package/node_modules/@modelcontextprotocol/sdk/node_modules/hono/dist/cjs/helper/css/common.js +3 -5
  14. package/node_modules/@modelcontextprotocol/sdk/node_modules/hono/dist/cjs/hono-base.js +4 -10
  15. package/node_modules/@modelcontextprotocol/sdk/node_modules/hono/dist/cjs/hono.js +0 -1
  16. package/node_modules/@modelcontextprotocol/sdk/node_modules/hono/dist/cjs/middleware/basic-auth/index.js +1 -1
  17. package/node_modules/@modelcontextprotocol/sdk/node_modules/hono/dist/cjs/middleware/bearer-auth/index.js +1 -1
  18. package/node_modules/@modelcontextprotocol/sdk/node_modules/hono/dist/cjs/middleware/csrf/index.js +2 -2
  19. package/node_modules/@modelcontextprotocol/sdk/node_modules/hono/dist/cjs/middleware/jwk/jwk.js +2 -2
  20. package/node_modules/@modelcontextprotocol/sdk/node_modules/hono/dist/cjs/middleware/jwt/jwt.js +2 -2
  21. package/node_modules/@modelcontextprotocol/sdk/node_modules/hono/dist/cjs/middleware/mount/index.js +4 -4
  22. package/node_modules/@modelcontextprotocol/sdk/node_modules/hono/dist/cjs/router/reg-exp-router/node.js +13 -11
  23. package/node_modules/@modelcontextprotocol/sdk/node_modules/hono/dist/cjs/router/reg-exp-router/prepared-router.js +4 -4
  24. package/node_modules/@modelcontextprotocol/sdk/node_modules/hono/dist/cjs/router/reg-exp-router/router.js +39 -51
  25. package/node_modules/@modelcontextprotocol/sdk/node_modules/hono/dist/cjs/router/reg-exp-router/trie.js +15 -5
  26. package/node_modules/@modelcontextprotocol/sdk/node_modules/hono/dist/cjs/utils/jwt/jwt.js +2 -1
  27. package/node_modules/@modelcontextprotocol/sdk/node_modules/hono/dist/cjs/utils/mount.js +35 -0
  28. package/node_modules/@modelcontextprotocol/sdk/node_modules/hono/dist/cjs/utils/url.js +10 -0
  29. package/node_modules/@modelcontextprotocol/sdk/node_modules/hono/dist/cjs/validator/validator.js +1 -1
  30. package/node_modules/@modelcontextprotocol/sdk/node_modules/hono/dist/context.js +1 -1
  31. package/node_modules/@modelcontextprotocol/sdk/node_modules/hono/dist/helper/css/common.js +3 -5
  32. package/node_modules/@modelcontextprotocol/sdk/node_modules/hono/dist/hono-base.js +4 -10
  33. package/node_modules/@modelcontextprotocol/sdk/node_modules/hono/dist/hono.js +0 -1
  34. package/node_modules/@modelcontextprotocol/sdk/node_modules/hono/dist/middleware/basic-auth/index.js +1 -1
  35. package/node_modules/@modelcontextprotocol/sdk/node_modules/hono/dist/middleware/bearer-auth/index.js +1 -1
  36. package/node_modules/@modelcontextprotocol/sdk/node_modules/hono/dist/middleware/csrf/index.js +2 -2
  37. package/node_modules/@modelcontextprotocol/sdk/node_modules/hono/dist/middleware/jwk/jwk.js +2 -2
  38. package/node_modules/@modelcontextprotocol/sdk/node_modules/hono/dist/middleware/jwt/jwt.js +2 -2
  39. package/node_modules/@modelcontextprotocol/sdk/node_modules/hono/dist/middleware/language/language.js +1 -1
  40. package/node_modules/@modelcontextprotocol/sdk/node_modules/hono/dist/middleware/mount/index.js +4 -4
  41. package/node_modules/@modelcontextprotocol/sdk/node_modules/hono/dist/router/reg-exp-router/node.js +13 -11
  42. package/node_modules/@modelcontextprotocol/sdk/node_modules/hono/dist/router/reg-exp-router/prepared-router.js +5 -5
  43. package/node_modules/@modelcontextprotocol/sdk/node_modules/hono/dist/router/reg-exp-router/router.js +40 -52
  44. package/node_modules/@modelcontextprotocol/sdk/node_modules/hono/dist/router/reg-exp-router/trie.js +15 -5
  45. package/node_modules/@modelcontextprotocol/sdk/node_modules/hono/dist/types/middleware/mount/index.d.ts +1 -0
  46. package/node_modules/@modelcontextprotocol/sdk/node_modules/hono/dist/types/router/reg-exp-router/node.d.ts +3 -3
  47. package/node_modules/@modelcontextprotocol/sdk/node_modules/hono/dist/types/router/reg-exp-router/trie.d.ts +1 -1
  48. package/node_modules/@modelcontextprotocol/sdk/node_modules/hono/dist/types/utils/mount.d.ts +4 -0
  49. package/node_modules/@modelcontextprotocol/sdk/node_modules/hono/dist/types/utils/url.d.ts +1 -0
  50. package/node_modules/@modelcontextprotocol/sdk/node_modules/hono/dist/utils/jwt/jwt.js +2 -1
  51. package/node_modules/@modelcontextprotocol/sdk/node_modules/hono/dist/utils/mount.js +34 -0
  52. package/node_modules/@modelcontextprotocol/sdk/node_modules/hono/dist/utils/url.js +10 -1
  53. package/node_modules/@modelcontextprotocol/sdk/node_modules/hono/dist/validator/validator.js +1 -1
  54. package/node_modules/@modelcontextprotocol/sdk/node_modules/hono/package.json +1 -1
  55. package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/webapi/jwks/remote.js +3 -1
  56. package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/webapi/lib/deflate.js +2 -1
  57. package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/dist/webapi/lib/jwt_claims_set.js +2 -1
  58. package/node_modules/@modelcontextprotocol/sdk/node_modules/jose/package.json +1 -1
  59. package/node_modules/@weavecode/cli/dist/cli.js +4 -4
  60. package/node_modules/@weavecode/cli/dist/commands/chpass.js +1 -1
  61. package/node_modules/@weavecode/cli/dist/commands/daemon-auth.js +1 -1
  62. package/node_modules/@weavecode/cli/dist/commands/daemon.js +2 -2
  63. package/node_modules/@weavecode/cli/dist/commands/dashboard.js +2 -2
  64. package/node_modules/@weavecode/cli/dist/commands/doctor.js +1 -1
  65. package/node_modules/@weavecode/cli/dist/commands/init.js +1 -1
  66. package/node_modules/@weavecode/cli/dist/commands/scan.js +1 -1
  67. package/node_modules/@weavecode/cli/dist/commands/status.js +2 -2
  68. package/node_modules/@weavecode/cli/dist/commands/uninstall.js +1 -1
  69. package/node_modules/@weavecode/cli/dist/i18n/dict/en.js +3 -3
  70. package/node_modules/@weavecode/cli/dist/i18n/dict/zh.d.ts +7 -0
  71. package/node_modules/@weavecode/cli/dist/i18n/dict/zh.js +3 -3
  72. package/node_modules/@weavecode/cli/dist/i18n/index.js +1 -1
  73. package/node_modules/@weavecode/cli/dist/i18n/t.js +1 -1
  74. package/node_modules/@weavecode/cli/dist/init/claudemd-gen.js +5 -5
  75. package/node_modules/@weavecode/cli/dist/init/executor.js +3 -3
  76. package/node_modules/@weavecode/cli/dist/init/git-commit.js +2 -2
  77. package/node_modules/@weavecode/cli/dist/init/git-exclude.d.ts +20 -0
  78. package/node_modules/@weavecode/cli/dist/init/git-exclude.js +7 -0
  79. package/node_modules/@weavecode/cli/dist/init/harnesses/claude.js +7 -7
  80. package/node_modules/@weavecode/cli/dist/init/harnesses/codex.js +1 -1
  81. package/node_modules/@weavecode/cli/dist/init/instruction-files.d.ts +14 -0
  82. package/node_modules/@weavecode/cli/dist/init/instruction-files.js +1 -0
  83. package/node_modules/@weavecode/cli/dist/init/instruction-link.js +1 -1
  84. package/node_modules/@weavecode/cli/dist/init/plugin-templates.js +1 -1
  85. package/node_modules/@weavecode/cli/dist/init/prompt.js +4 -4
  86. package/node_modules/@weavecode/cli/dist/init/provision.js +1 -1
  87. package/node_modules/@weavecode/cli/dist/init/uninstall.js +6 -6
  88. package/node_modules/@weavecode/cli/dist/init/wiring.js +1 -1
  89. package/node_modules/@weavecode/cli/dist/parser.js +1 -1
  90. package/node_modules/@weavecode/cli/dist/statusline/ansi.js +1 -1
  91. package/node_modules/@weavecode/cli/package.json +5 -5
  92. package/node_modules/@weavecode/core/dist/harness-checks.js +1 -1
  93. package/node_modules/@weavecode/core/dist/harness.d.ts +115 -0
  94. package/node_modules/@weavecode/core/dist/harness.js +1 -1
  95. package/node_modules/@weavecode/core/dist/index.d.ts +1 -1
  96. package/node_modules/@weavecode/core/dist/index.js +1 -1
  97. package/node_modules/@weavecode/core/dist/platform.js +1 -1
  98. package/node_modules/@weavecode/core/dist/types.d.ts +4 -4
  99. package/node_modules/@weavecode/core/dist/types.js +1 -1
  100. package/node_modules/@weavecode/core/dist/utils/fs.js +1 -1
  101. package/node_modules/@weavecode/core/package.json +1 -1
  102. package/node_modules/@weavecode/harness/dist/claude/assets.js +3 -3
  103. package/node_modules/@weavecode/harness/dist/claude/capture.js +9 -9
  104. package/node_modules/@weavecode/harness/dist/claude/commands.d.ts +2 -0
  105. package/node_modules/@weavecode/harness/dist/claude/commands.js +3 -2
  106. package/node_modules/@weavecode/harness/dist/claude/config.js +2 -2
  107. package/node_modules/@weavecode/harness/dist/claude/detect.js +1 -1
  108. package/node_modules/@weavecode/harness/dist/claude/edits.js +1 -1
  109. package/node_modules/@weavecode/harness/dist/claude/event-source.js +1 -1
  110. package/node_modules/@weavecode/harness/dist/claude/images.js +2 -2
  111. package/node_modules/@weavecode/harness/dist/claude/index.js +1 -1
  112. package/node_modules/@weavecode/harness/dist/claude/liveness.js +1 -1
  113. package/node_modules/@weavecode/harness/dist/claude/mcp-gen.js +1 -1
  114. package/node_modules/@weavecode/harness/dist/claude/messaging.js +2 -2
  115. package/node_modules/@weavecode/harness/dist/claude/model-aliases.js +1 -1
  116. package/node_modules/@weavecode/harness/dist/claude/narration.js +1 -1
  117. package/node_modules/@weavecode/harness/dist/claude/peers.js +1 -1
  118. package/node_modules/@weavecode/harness/dist/claude/plan.js +1 -1
  119. package/node_modules/@weavecode/harness/dist/claude/plugins.js +4 -4
  120. package/node_modules/@weavecode/harness/dist/claude/prompt-inbox.js +1 -1
  121. package/node_modules/@weavecode/harness/dist/claude/prompt.js +3 -3
  122. package/node_modules/@weavecode/harness/dist/claude/questions.js +2 -2
  123. package/node_modules/@weavecode/harness/dist/claude/resume.js +1 -1
  124. package/node_modules/@weavecode/harness/dist/claude/rewind.js +1 -1
  125. package/node_modules/@weavecode/harness/dist/claude/settings-gen.js +1 -1
  126. package/node_modules/@weavecode/harness/dist/claude/side-question.js +2 -2
  127. package/node_modules/@weavecode/harness/dist/claude/statusline/generator.d.ts +6 -0
  128. package/node_modules/@weavecode/harness/dist/claude/statusline/generator.js +21 -14
  129. package/node_modules/@weavecode/harness/dist/claude/statusline/git-cache.js +1 -1
  130. package/node_modules/@weavecode/harness/dist/claude/statusline/surface.js +2 -2
  131. package/node_modules/@weavecode/harness/dist/claude/transcript-cursor.js +2 -2
  132. package/node_modules/@weavecode/harness/dist/claude/transcript.js +7 -7
  133. package/node_modules/@weavecode/harness/dist/codex/assets.js +1 -1
  134. package/node_modules/@weavecode/harness/dist/codex/capture.js +2 -2
  135. package/node_modules/@weavecode/harness/dist/codex/commands.js +4 -4
  136. package/node_modules/@weavecode/harness/dist/codex/config.js +2 -2
  137. package/node_modules/@weavecode/harness/dist/codex/detect.js +1 -1
  138. package/node_modules/@weavecode/harness/dist/codex/event-source.js +2 -2
  139. package/node_modules/@weavecode/harness/dist/codex/images.js +1 -1
  140. package/node_modules/@weavecode/harness/dist/codex/index.js +1 -1
  141. package/node_modules/@weavecode/harness/dist/codex/liveness.js +1 -1
  142. package/node_modules/@weavecode/harness/dist/codex/mcp.js +1 -1
  143. package/node_modules/@weavecode/harness/dist/codex/messaging.js +2 -2
  144. package/node_modules/@weavecode/harness/dist/codex/narration.js +1 -1
  145. package/node_modules/@weavecode/harness/dist/codex/plugin-state.js +1 -1
  146. package/node_modules/@weavecode/harness/dist/codex/plugins.js +3 -3
  147. package/node_modules/@weavecode/harness/dist/codex/provision.js +1 -1
  148. package/node_modules/@weavecode/harness/dist/codex/questions.js +2 -2
  149. package/node_modules/@weavecode/harness/dist/codex/rollout.js +5 -5
  150. package/node_modules/@weavecode/harness/dist/codex/side-question.js +4 -4
  151. package/node_modules/@weavecode/harness/dist/codex/titles.js +4 -4
  152. package/node_modules/@weavecode/harness/dist/codex/toml.js +13 -13
  153. package/node_modules/@weavecode/harness/dist/codex/transcript.js +2 -2
  154. package/node_modules/@weavecode/harness/dist/driver.d.ts +6 -0
  155. package/node_modules/@weavecode/harness/dist/driver.js +1 -1
  156. package/node_modules/@weavecode/harness/dist/init/generated.js +2 -2
  157. package/node_modules/@weavecode/harness/dist/init/pipeline.js +1 -1
  158. package/node_modules/@weavecode/harness/dist/registry-wiring.js +1 -1
  159. package/node_modules/@weavecode/harness/dist/shared/install-link.js +1 -1
  160. package/node_modules/@weavecode/harness/dist/shared/json-cap.js +1 -1
  161. package/node_modules/@weavecode/harness/package.json +2 -2
  162. package/node_modules/@weavecode/server/dist/config/dotted.js +1 -1
  163. package/node_modules/@weavecode/server/dist/config/profiles.js +2 -2
  164. package/node_modules/@weavecode/server/dist/daemon/ai-config.js +2 -2
  165. package/node_modules/@weavecode/server/dist/daemon/ai-context.js +6 -6
  166. package/node_modules/@weavecode/server/dist/daemon/ai-routes.js +4 -4
  167. package/node_modules/@weavecode/server/dist/daemon/api-log.js +3 -3
  168. package/node_modules/@weavecode/server/dist/daemon/auth-routes.js +1 -1
  169. package/node_modules/@weavecode/server/dist/daemon/auto-start.js +3 -3
  170. package/node_modules/@weavecode/server/dist/daemon/capture-routes.js +1 -1
  171. package/node_modules/@weavecode/server/dist/daemon/config-routes.js +1 -1
  172. package/node_modules/@weavecode/server/dist/daemon/cron.js +1 -1
  173. package/node_modules/@weavecode/server/dist/daemon/dashboard-auth.js +2 -2
  174. package/node_modules/@weavecode/server/dist/daemon/dashboard-pusher.js +1 -1
  175. package/node_modules/@weavecode/server/dist/daemon/decision-config.js +2 -2
  176. package/node_modules/@weavecode/server/dist/daemon/dev-entry.js +1 -1
  177. package/node_modules/@weavecode/server/dist/daemon/entry.js +2 -2
  178. package/node_modules/@weavecode/server/dist/daemon/fs-browser.js +1 -1
  179. package/node_modules/@weavecode/server/dist/daemon/hook-pipeline.js +1 -1
  180. package/node_modules/@weavecode/server/dist/daemon/hooks-routes.js +1 -1
  181. package/node_modules/@weavecode/server/dist/daemon/http.js +1 -1
  182. package/node_modules/@weavecode/server/dist/daemon/liveness.js +1 -1
  183. package/node_modules/@weavecode/server/dist/daemon/mcp-orchestration.js +1 -1
  184. package/node_modules/@weavecode/server/dist/daemon/narration-watcher.js +2 -2
  185. package/node_modules/@weavecode/server/dist/daemon/opener/backend-ghostty.js +1 -1
  186. package/node_modules/@weavecode/server/dist/daemon/opener/backend-iterm.js +1 -1
  187. package/node_modules/@weavecode/server/dist/daemon/opener/backend-konsole.js +2 -2
  188. package/node_modules/@weavecode/server/dist/daemon/opener/backend-terminal-app.js +1 -1
  189. package/node_modules/@weavecode/server/dist/daemon/opener/backend-wezterm.js +1 -1
  190. package/node_modules/@weavecode/server/dist/daemon/opener/backend-wt.js +1 -1
  191. package/node_modules/@weavecode/server/dist/daemon/opener/backend.js +1 -1
  192. package/node_modules/@weavecode/server/dist/daemon/opener/pty-terminals.js +1 -1
  193. package/node_modules/@weavecode/server/dist/daemon/opener/shared.js +1 -1
  194. package/node_modules/@weavecode/server/dist/daemon/opener/wezterm-mux.js +1 -1
  195. package/node_modules/@weavecode/server/dist/daemon/opener/wt.js +3 -3
  196. package/node_modules/@weavecode/server/dist/daemon/opener.js +1 -1
  197. package/node_modules/@weavecode/server/dist/daemon/pet-seed.d.ts +4 -0
  198. package/node_modules/@weavecode/server/dist/daemon/pet-seed.js +2 -0
  199. package/node_modules/@weavecode/server/dist/daemon/pet-window.d.ts +17 -0
  200. package/node_modules/@weavecode/server/dist/daemon/pet-window.js +2 -0
  201. package/node_modules/@weavecode/server/dist/daemon/port.js +1 -1
  202. package/node_modules/@weavecode/server/dist/daemon/project-files.d.ts +1 -1
  203. package/node_modules/@weavecode/server/dist/daemon/project-files.js +2 -2
  204. package/node_modules/@weavecode/server/dist/daemon/project-harnesses.js +2 -2
  205. package/node_modules/@weavecode/server/dist/daemon/project-updates-refresher.js +1 -1
  206. package/node_modules/@weavecode/server/dist/daemon/prompt-images.js +1 -1
  207. package/node_modules/@weavecode/server/dist/daemon/routes/hooks-admin.js +1 -1
  208. package/node_modules/@weavecode/server/dist/daemon/routes/installations.d.ts +29 -0
  209. package/node_modules/@weavecode/server/dist/daemon/routes/installations.js +1 -0
  210. package/node_modules/@weavecode/server/dist/daemon/routes/market.js +1 -1
  211. package/node_modules/@weavecode/server/dist/daemon/routes/orchestration.js +1 -1
  212. package/node_modules/@weavecode/server/dist/daemon/routes/path-refs.js +1 -1
  213. package/node_modules/@weavecode/server/dist/daemon/routes/pets.d.ts +3 -0
  214. package/node_modules/@weavecode/server/dist/daemon/routes/pets.js +1 -0
  215. package/node_modules/@weavecode/server/dist/daemon/routes/project-files.js +1 -1
  216. package/node_modules/@weavecode/server/dist/daemon/routes/projects.js +1 -1
  217. package/node_modules/@weavecode/server/dist/daemon/routes/search.js +1 -1
  218. package/node_modules/@weavecode/server/dist/daemon/routes/session-control.js +1 -1
  219. package/node_modules/@weavecode/server/dist/daemon/routes/session-insights.js +1 -1
  220. package/node_modules/@weavecode/server/dist/daemon/routes/settings-statusline.js +1 -1
  221. package/node_modules/@weavecode/server/dist/daemon/routes/uploads.js +1 -1
  222. package/node_modules/@weavecode/server/dist/daemon/routes/visualizations.js +2 -1
  223. package/node_modules/@weavecode/server/dist/daemon/routes/watches.js +1 -1
  224. package/node_modules/@weavecode/server/dist/daemon/server.d.ts +4 -0
  225. package/node_modules/@weavecode/server/dist/daemon/server.js +8 -8
  226. package/node_modules/@weavecode/server/dist/daemon/session-open.js +1 -1
  227. package/node_modules/@weavecode/server/dist/daemon/session-probe.js +1 -1
  228. package/node_modules/@weavecode/server/dist/daemon/settings.d.ts +21 -0
  229. package/node_modules/@weavecode/server/dist/daemon/settings.js +2 -2
  230. package/node_modules/@weavecode/server/dist/daemon/snapshot-refresher.js +1 -1
  231. package/node_modules/@weavecode/server/dist/daemon/sse-hub.js +1 -1
  232. package/node_modules/@weavecode/server/dist/daemon/start.js +1 -1
  233. package/node_modules/@weavecode/server/dist/daemon/state.js +2 -2
  234. package/node_modules/@weavecode/server/dist/daemon/static.js +1 -1
  235. package/node_modules/@weavecode/server/dist/daemon/terminal-topology-refresher.js +1 -1
  236. package/node_modules/@weavecode/server/dist/daemon/tls.js +1 -1
  237. package/node_modules/@weavecode/server/dist/daemon/toolkit-routes.js +1 -1
  238. package/node_modules/@weavecode/server/dist/daemon/upload-sessions.js +1 -1
  239. package/node_modules/@weavecode/server/dist/db/db.d.ts +4 -1
  240. package/node_modules/@weavecode/server/dist/db/db.js +2 -2
  241. package/node_modules/@weavecode/server/dist/db/layout.d.ts +5 -0
  242. package/node_modules/@weavecode/server/dist/db/layout.js +2 -1
  243. package/node_modules/@weavecode/server/dist/db/paths.d.ts +9 -0
  244. package/node_modules/@weavecode/server/dist/db/paths.js +1 -1
  245. package/node_modules/@weavecode/server/dist/hooks/answer-keys.js +1 -1
  246. package/node_modules/@weavecode/server/dist/hooks/dashboard-rate.js +1 -1
  247. package/node_modules/@weavecode/server/dist/hooks/decision-judge.js +1 -1
  248. package/node_modules/@weavecode/server/dist/hooks/delivery/ack-gate.js +1 -1
  249. package/node_modules/@weavecode/server/dist/hooks/delivery/channels.js +1 -1
  250. package/node_modules/@weavecode/server/dist/hooks/delivery/keys.js +1 -1
  251. package/node_modules/@weavecode/server/dist/hooks/delivery/queue.js +1 -1
  252. package/node_modules/@weavecode/server/dist/hooks/delivery/relay.js +1 -1
  253. package/node_modules/@weavecode/server/dist/hooks/delivery/send.js +2 -2
  254. package/node_modules/@weavecode/server/dist/hooks/delivery/views.js +1 -1
  255. package/node_modules/@weavecode/server/dist/hooks/dispatcher.js +6 -6
  256. package/node_modules/@weavecode/server/dist/hooks/edge-extract.js +1 -1
  257. package/node_modules/@weavecode/server/dist/hooks/handlers/webhook.js +1 -1
  258. package/node_modules/@weavecode/server/dist/hooks/headless-runner.js +2 -2
  259. package/node_modules/@weavecode/server/dist/hooks/inbox-socket.js +2 -2
  260. package/node_modules/@weavecode/server/dist/hooks/inbox-worker.js +3 -3
  261. package/node_modules/@weavecode/server/dist/hooks/match.js +1 -1
  262. package/node_modules/@weavecode/server/dist/hooks/message-deliverer.js +5 -5
  263. package/node_modules/@weavecode/server/dist/hooks/mirror.js +4 -4
  264. package/node_modules/@weavecode/server/dist/hooks/orchestration-engine.js +7 -7
  265. package/node_modules/@weavecode/server/dist/hooks/orchestration-graph.js +1 -1
  266. package/node_modules/@weavecode/server/dist/hooks/plugin-installer.js +3 -3
  267. package/node_modules/@weavecode/server/dist/hooks/plugin-loader.js +1 -1
  268. package/node_modules/@weavecode/server/dist/hooks/plugin-project-state.js +1 -1
  269. package/node_modules/@weavecode/server/dist/hooks/prompt-flusher.js +1 -1
  270. package/node_modules/@weavecode/server/dist/hooks/promptbox.js +8 -8
  271. package/node_modules/@weavecode/server/dist/hooks/push-notify.js +2 -2
  272. package/node_modules/@weavecode/server/dist/hooks/question-tracker.js +1 -1
  273. package/node_modules/@weavecode/server/dist/hooks/registry.js +1 -1
  274. package/node_modules/@weavecode/server/dist/hooks/resume-runner.js +1 -1
  275. package/node_modules/@weavecode/server/dist/hooks/session-purge.js +1 -1
  276. package/node_modules/@weavecode/server/dist/hooks/side-questions.js +1 -1
  277. package/node_modules/@weavecode/server/dist/hooks/synthetic-sessions.js +1 -1
  278. package/node_modules/@weavecode/server/dist/hooks/toolkit-scan.js +1 -1
  279. package/node_modules/@weavecode/server/dist/hooks/toolkit.js +5 -5
  280. package/node_modules/@weavecode/server/dist/hooks/watch-engine.js +1 -1
  281. package/node_modules/@weavecode/server/dist/index.d.ts +1 -1
  282. package/node_modules/@weavecode/server/dist/index.js +1 -1
  283. package/node_modules/@weavecode/server/dist/install/apply-update.js +1 -1
  284. package/node_modules/@weavecode/server/dist/install/capabilities.js +1 -1
  285. package/node_modules/@weavecode/server/dist/install/codex-toml.js +1 -1
  286. package/node_modules/@weavecode/server/dist/install/file-assets.js +1 -1
  287. package/node_modules/@weavecode/server/dist/install/fingerprint.js +1 -1
  288. package/node_modules/@weavecode/server/dist/install/global-config.js +1 -1
  289. package/node_modules/@weavecode/server/dist/install/global-file-assets.js +1 -1
  290. package/node_modules/@weavecode/server/dist/install/init-files.d.ts +0 -9
  291. package/node_modules/@weavecode/server/dist/install/init-files.js +2 -2
  292. package/node_modules/@weavecode/server/dist/install/install-ledger.js +1 -1
  293. package/node_modules/@weavecode/server/dist/install/installer.js +1 -1
  294. package/node_modules/@weavecode/server/dist/install/library-index.js +1 -1
  295. package/node_modules/@weavecode/server/dist/install/mcp-rows.js +1 -1
  296. package/node_modules/@weavecode/server/dist/install/plugin-install.js +1 -1
  297. package/node_modules/@weavecode/server/dist/install/plugin-rows.js +1 -1
  298. package/node_modules/@weavecode/server/dist/install/plugin-templates.js +1 -1
  299. package/node_modules/@weavecode/server/dist/install/project-config.js +1 -1
  300. package/node_modules/@weavecode/server/dist/install/reader.js +1 -1
  301. package/node_modules/@weavecode/server/dist/install/scan-cache.js +1 -1
  302. package/node_modules/@weavecode/server/dist/install/scanner.js +1 -1
  303. package/node_modules/@weavecode/server/dist/install/settings-mcp.js +2 -2
  304. package/node_modules/@weavecode/server/dist/install/updates.js +1 -1
  305. package/node_modules/@weavecode/server/dist/market/builtin.js +1 -1
  306. package/node_modules/@weavecode/server/dist/market/identity.js +1 -1
  307. package/node_modules/@weavecode/server/dist/market/import.js +2 -2
  308. package/node_modules/@weavecode/server/dist/market/refresh.js +1 -1
  309. package/node_modules/@weavecode/server/dist/market/resolve.js +1 -1
  310. package/node_modules/@weavecode/server/dist/market/updates.js +1 -1
  311. package/node_modules/@weavecode/server/dist/registry.js +2 -2
  312. package/node_modules/@weavecode/server/dist/repositories/hook-dispatches.js +4 -4
  313. package/node_modules/@weavecode/server/dist/repositories/hook-events.d.ts +6 -0
  314. package/node_modules/@weavecode/server/dist/repositories/hook-events.js +8 -5
  315. package/node_modules/@weavecode/server/dist/repositories/hook-rules.js +4 -4
  316. package/node_modules/@weavecode/server/dist/repositories/libraries.js +1 -1
  317. package/node_modules/@weavecode/server/dist/repositories/orchestrations.js +7 -7
  318. package/node_modules/@weavecode/server/dist/repositories/plugin-states.js +1 -1
  319. package/node_modules/@weavecode/server/dist/repositories/projects.js +1 -1
  320. package/node_modules/@weavecode/server/dist/repositories/push-subscriptions.js +2 -2
  321. package/node_modules/@weavecode/server/dist/repositories/session-watches.js +4 -4
  322. package/node_modules/@weavecode/server/dist/repositories/sessions.js +2 -2
  323. package/node_modules/@weavecode/server/dist/repositories/uploads.js +11 -11
  324. package/node_modules/@weavecode/server/dist/statusline/cache-sweeper.js +1 -1
  325. package/node_modules/@weavecode/server/dist/statusline/generator.js +1 -1
  326. package/node_modules/@weavecode/server/dist/statusline/manager.js +3 -3
  327. package/node_modules/@weavecode/server/dist/surfaces.js +1 -1
  328. package/node_modules/@weavecode/server/dist/watch/cache.js +1 -1
  329. package/node_modules/@weavecode/server/dist/watch/classifier.js +1 -1
  330. package/node_modules/@weavecode/server/dist/watch/plugin-mods.js +1 -1
  331. package/node_modules/@weavecode/server/dist/watch/sync-scheduler.js +1 -1
  332. package/node_modules/@weavecode/server/dist/watch/watch-service.js +1 -1
  333. package/node_modules/@weavecode/server/package.json +4 -4
  334. package/node_modules/@weavecode/server/web/dist/assets/abnfDiagram-WEYOIA3C-S1lL1V_n.js +1 -0
  335. package/node_modules/@weavecode/server/web/dist/assets/{arc-CRZTRyjb.js → arc-CoTNHyHV.js} +1 -1
  336. package/node_modules/@weavecode/server/web/dist/assets/architectureDiagram-ZHVYKT53-C6ttfnzW.js +36 -0
  337. package/node_modules/@weavecode/server/web/dist/assets/{blockDiagram-RJAE7QA3-BIH8mSIZ.js → blockDiagram-RJAE7QA3-CYr3Cpu9.js} +2 -2
  338. package/node_modules/@weavecode/server/web/dist/assets/{c4Diagram-XDPPPE54-5YoKWFOD.js → c4Diagram-XDPPPE54-BFS7PhLD.js} +2 -2
  339. package/node_modules/@weavecode/server/web/dist/assets/channel-DxQHp3Yc.js +1 -0
  340. package/node_modules/@weavecode/server/web/dist/assets/{chunk-2E7WHVMD-B653kMXt.js → chunk-2E7WHVMD-DJ7X_Shu.js} +1 -1
  341. package/node_modules/@weavecode/server/web/dist/assets/{chunk-2Q5K7J3B-f_A4_eDz.js → chunk-2Q5K7J3B-B8nr2rdz.js} +1 -1
  342. package/node_modules/@weavecode/server/web/dist/assets/{chunk-4EMNKR2T-v5j5qNGj.js → chunk-4EMNKR2T-DmnZmUMU.js} +1 -1
  343. package/node_modules/@weavecode/server/web/dist/assets/chunk-55XCU76K-Xz9a8dmp.js +1 -0
  344. package/node_modules/@weavecode/server/web/dist/assets/{chunk-5VM5RSS4-BeROhLXN.js → chunk-5VM5RSS4-Dg9mg7pf.js} +1 -1
  345. package/node_modules/@weavecode/server/web/dist/assets/{chunk-JWPE2WC7-D6dXb_jr.js → chunk-JWPE2WC7-CmjTZO8o.js} +1 -1
  346. package/node_modules/@weavecode/server/web/dist/assets/{chunk-VQ5W62QI-CnHdSEMi.js → chunk-VQ5W62QI-D3YDdJ3E.js} +1 -1
  347. package/node_modules/@weavecode/server/web/dist/assets/chunk-XXDRQBXY-s1OG9sqW.js +1 -0
  348. package/node_modules/@weavecode/server/web/dist/assets/chunk-ZCHMQSOR-C3hINQU3.js +2 -0
  349. package/node_modules/@weavecode/server/web/dist/assets/{classDiagram-v2-4MYWR3UA-DQe1b_k8.js → classDiagram-v2-4MYWR3UA-BTsbYrVl.js} +2 -2
  350. package/node_modules/@weavecode/server/web/dist/assets/cose-bilkent-JH36ORCC-C0W8Y-jI.js +1 -0
  351. package/node_modules/@weavecode/server/web/dist/assets/{cynefin-EF2NZ3EQ-OZotFKUu.js → cynefin-EF2NZ3EQ-stAu4Rh-.js} +1 -1
  352. package/node_modules/@weavecode/server/web/dist/assets/cynefinDiagram-WF24UDRP-CqYibiiv.js +62 -0
  353. package/node_modules/@weavecode/server/web/dist/assets/dagre-NK4GIZVX-qqcoJAqB.js +4 -0
  354. package/node_modules/@weavecode/server/web/dist/assets/diagram-CBK3MWTC-D0YTopb7.js +24 -0
  355. package/node_modules/@weavecode/server/web/dist/assets/diagram-I5XIIV2D-Csvw6aYr.js +24 -0
  356. package/node_modules/@weavecode/server/web/dist/assets/{diagram-ODIL2UCW-D9A6W8oB.js → diagram-ODIL2UCW-Dl0tYLkF.js} +2 -2
  357. package/node_modules/@weavecode/server/web/dist/assets/{diagram-PFBEJUXE-PeI-eyu2.js → diagram-PFBEJUXE-BCPSWZPe.js} +2 -2
  358. package/node_modules/@weavecode/server/web/dist/assets/diagram-RJA3I4VV-ETg-BrAJ.js +41 -0
  359. package/node_modules/@weavecode/server/web/dist/assets/{diagram-TYUNFSNR-D5KieEw5.js → diagram-TYUNFSNR-_M6ZxBG7.js} +2 -2
  360. package/node_modules/@weavecode/server/web/dist/assets/ebnfDiagram-V4P3TTPT-C-e_W7qx.js +1 -0
  361. package/node_modules/@weavecode/server/web/dist/assets/{elk-QONTBCTQ-D3xrVg0U.js → elk-QONTBCTQ-B5TBharB.js} +3 -3
  362. package/node_modules/@weavecode/server/web/dist/assets/{erDiagram-KYQIGQAA-y_V1cor7.js → erDiagram-KYQIGQAA-D08rj2pv.js} +2 -2
  363. package/node_modules/@weavecode/server/web/dist/assets/{flowDiagram-IUGLLWBU-BJ8Z0MkF.js → flowDiagram-IUGLLWBU-BALTxsKh.js} +1 -1
  364. package/node_modules/@weavecode/server/web/dist/assets/ganttDiagram-R7GPNTJY-Cts193jT.js +292 -0
  365. package/node_modules/@weavecode/server/web/dist/assets/gitGraphDiagram-PDYL7XHY-L9qYUX0v.js +106 -0
  366. package/node_modules/@weavecode/server/web/dist/assets/infoDiagram-MVDRKAX5-Bv47rgU0.js +2 -0
  367. package/node_modules/@weavecode/server/web/dist/assets/{ishikawaDiagram-HPEHV2GE-ChEnND76.js → ishikawaDiagram-HPEHV2GE-Da8_s6cs.js} +2 -2
  368. package/node_modules/@weavecode/server/web/dist/assets/{journeyDiagram-BOSHW7O7-DHcNtpYF.js → journeyDiagram-BOSHW7O7-Bj3CjZOf.js} +2 -2
  369. package/node_modules/@weavecode/server/web/dist/assets/{kanban-definition-FNSA4HC5-Dft7qpW5.js → kanban-definition-FNSA4HC5-D1hicmMu.js} +2 -2
  370. package/node_modules/@weavecode/server/web/dist/assets/linear-CWQg2iA1.js +1 -0
  371. package/node_modules/@weavecode/server/web/dist/assets/main-XLn3EZFh.css +11 -0
  372. package/node_modules/@weavecode/server/web/dist/assets/main-bsb0lQoL.js +1096 -0
  373. package/node_modules/@weavecode/server/web/dist/assets/{mermaid.core-D_Dp_Kl2.js → mermaid.core-C-wP0Zg2.js} +4 -4
  374. package/node_modules/@weavecode/server/web/dist/assets/{mindmap-definition-6OY57UG3-CM6OAd_-.js → mindmap-definition-6OY57UG3-Dk0VKqre.js} +2 -2
  375. package/node_modules/@weavecode/server/web/dist/assets/modulepreload-polyfill-B5Qt9EMX.js +1 -0
  376. package/node_modules/@weavecode/server/web/dist/assets/pegDiagram-ECIUJNBX-Bp1K_F9z.js +1 -0
  377. package/node_modules/@weavecode/server/web/dist/assets/pet-J6izA90s.js +1 -0
  378. package/node_modules/@weavecode/server/web/dist/assets/pieDiagram-GNMPY74T-BZ4rGy3t.js +39 -0
  379. package/node_modules/@weavecode/server/web/dist/assets/{quadrantDiagram-D57K4MC3-D8pQ_PU2.js → quadrantDiagram-D57K4MC3-B4N5KRsR.js} +4 -4
  380. package/node_modules/@weavecode/server/web/dist/assets/railroadDiagram-Y72NRBL7-C8nx8oHf.js +1 -0
  381. package/node_modules/@weavecode/server/web/dist/assets/{requirementDiagram-EQYSW5RA-C90DU5Ny.js → requirementDiagram-EQYSW5RA-VSH57d0d.js} +2 -2
  382. package/node_modules/@weavecode/server/web/dist/assets/{sankeyDiagram-SY24JHO5-B_poYGgJ.js → sankeyDiagram-SY24JHO5-jUb1hcya.js} +2 -2
  383. package/node_modules/@weavecode/server/web/dist/assets/{sequenceDiagram-BLEHNHQU-DDW7b2Dn.js → sequenceDiagram-BLEHNHQU-E2BioCNi.js} +2 -2
  384. package/node_modules/@weavecode/server/web/dist/assets/sizeCapture-INFHLROL-BdKrbRmI.js +1 -0
  385. package/node_modules/@weavecode/server/web/dist/assets/{stateDiagram-v2-A6IESKWZ-CkVMAyxG.js → stateDiagram-v2-A6IESKWZ-tFz7uNM7.js} +2 -2
  386. package/node_modules/@weavecode/server/web/dist/assets/swimlanes-B3ENRKFQ-B9BAPDWw.js +1 -0
  387. package/node_modules/@weavecode/server/web/dist/assets/swimlanesDiagram-AYQRV4AK-DQ2NPLl9.js +8 -0
  388. package/node_modules/@weavecode/server/web/dist/assets/{timeline-definition-JXYKGLGB-DnhkRGLb.js → timeline-definition-JXYKGLGB-CofNnFTK.js} +2 -2
  389. package/node_modules/@weavecode/server/web/dist/assets/{usecaseDiagram-WPOLBNNX-_TdIjC6Z.js → usecaseDiagram-WPOLBNNX-DOvjhJjJ.js} +2 -2
  390. package/node_modules/@weavecode/server/web/dist/assets/{vennDiagram-Q3Y3IDCW-FzgsymXB.js → vennDiagram-Q3Y3IDCW-BcFHWnhS.js} +2 -2
  391. package/node_modules/@weavecode/server/web/dist/assets/{wardleyDiagram-IVAIDKWA-BwqimStC.js → wardleyDiagram-IVAIDKWA-Bz2aqRAs.js} +2 -2
  392. package/node_modules/@weavecode/server/web/dist/assets/{xychartDiagram-4URNHDU4-CFjjVPIV.js → xychartDiagram-4URNHDU4-DpNF6Vsq.js} +2 -2
  393. package/node_modules/@weavecode/server/web/dist/index.html +3 -2
  394. package/node_modules/@weavecode/server/web/dist/pet.html +130 -0
  395. package/node_modules/@weavecode/templates/dist/index.d.ts +2 -0
  396. package/node_modules/@weavecode/templates/dist/index.js +1 -1
  397. package/node_modules/@weavecode/templates/dist/resources/pets/weave-spider/pet.json +7 -0
  398. package/node_modules/@weavecode/templates/dist/resources/pets/weave-spider/spritesheet.png +0 -0
  399. package/node_modules/@weavecode/templates/dist/resources/weave-market/.claude-plugin/marketplace.json +6 -0
  400. package/node_modules/@weavecode/templates/dist/resources/weave-market/plugins/core-skills/weave-pet-hatcher/.claude-plugin/plugin.json +8 -0
  401. package/node_modules/@weavecode/templates/dist/resources/weave-market/plugins/core-skills/weave-pet-hatcher/skills/weave-pet-hatcher/SKILL.md +121 -0
  402. package/node_modules/@weavecode/templates/dist/resources/weave-market/plugins/core-skills/weave-pet-hatcher/skills/weave-pet-hatcher/scripts/assemble-pet.mjs +308 -0
  403. package/node_modules/@weavecode/templates/dist/resources/weave-market/plugins/core-skills/weave-pet-hatcher/weave.json +4 -0
  404. package/node_modules/@weavecode/templates/package.json +2 -2
  405. package/package.json +11 -7
  406. package/scripts/preinstall.mjs +108 -0
  407. package/node_modules/@weavecode/server/web/dist/assets/abnfDiagram-WEYOIA3C-DDeQkTf5.js +0 -1
  408. package/node_modules/@weavecode/server/web/dist/assets/architectureDiagram-ZHVYKT53-Dj54DE3O.js +0 -36
  409. package/node_modules/@weavecode/server/web/dist/assets/channel-5VM93AJ8.js +0 -1
  410. package/node_modules/@weavecode/server/web/dist/assets/chunk-55XCU76K-CgEqeP7j.js +0 -1
  411. package/node_modules/@weavecode/server/web/dist/assets/chunk-XXDRQBXY-BkG_e6PE.js +0 -1
  412. package/node_modules/@weavecode/server/web/dist/assets/chunk-ZCHMQSOR-DxR-fxzs.js +0 -2
  413. package/node_modules/@weavecode/server/web/dist/assets/cose-bilkent-JH36ORCC-DThrA8S5.js +0 -1
  414. package/node_modules/@weavecode/server/web/dist/assets/cynefinDiagram-WF24UDRP-DJjq2hfT.js +0 -62
  415. package/node_modules/@weavecode/server/web/dist/assets/dagre-NK4GIZVX-C2vH93HT.js +0 -4
  416. package/node_modules/@weavecode/server/web/dist/assets/diagram-CBK3MWTC-DrF_ScM-.js +0 -24
  417. package/node_modules/@weavecode/server/web/dist/assets/diagram-I5XIIV2D-D1qoUJ4t.js +0 -24
  418. package/node_modules/@weavecode/server/web/dist/assets/diagram-RJA3I4VV-DITY0Rd8.js +0 -41
  419. package/node_modules/@weavecode/server/web/dist/assets/ebnfDiagram-V4P3TTPT-DDylK-gz.js +0 -1
  420. package/node_modules/@weavecode/server/web/dist/assets/ganttDiagram-R7GPNTJY-C0q-CS1T.js +0 -292
  421. package/node_modules/@weavecode/server/web/dist/assets/gitGraphDiagram-PDYL7XHY-BYTComiB.js +0 -106
  422. package/node_modules/@weavecode/server/web/dist/assets/index-BKxAxaVG.js +0 -1091
  423. package/node_modules/@weavecode/server/web/dist/assets/index-C0Sd4MH7.css +0 -11
  424. package/node_modules/@weavecode/server/web/dist/assets/infoDiagram-MVDRKAX5-DtixgjLP.js +0 -2
  425. package/node_modules/@weavecode/server/web/dist/assets/linear-DEo11t-X.js +0 -1
  426. package/node_modules/@weavecode/server/web/dist/assets/pegDiagram-ECIUJNBX-_QkY0h8Q.js +0 -1
  427. package/node_modules/@weavecode/server/web/dist/assets/pieDiagram-GNMPY74T-ZGr5vtDj.js +0 -39
  428. package/node_modules/@weavecode/server/web/dist/assets/railroadDiagram-Y72NRBL7-DUIo-WmA.js +0 -1
  429. package/node_modules/@weavecode/server/web/dist/assets/sizeCapture-INFHLROL-CmKoqX6K.js +0 -1
  430. package/node_modules/@weavecode/server/web/dist/assets/swimlanes-B3ENRKFQ-Dm_Omzky.js +0 -1
  431. package/node_modules/@weavecode/server/web/dist/assets/swimlanesDiagram-AYQRV4AK-Bjj8ZA4d.js +0 -8
@@ -0,0 +1,308 @@
1
+ #!/usr/bin/env node
2
+ // weave-pet-hatcher 拼装校验脚本:行条带 → 切格校验 → 整图 + pet.json + contact sheet。
3
+ // 纯 node 零依赖(PNG 解码/编码手写,zlib 走内置)。只认 8-bit PNG
4
+ // (RGBA / RGB / 调色色);其他格式让用户先转 PNG。
5
+ // 用法见 SKILL.md §3。
6
+ import { deflateSync, inflateSync } from 'node:zlib';
7
+ import { mkdirSync, readFileSync, writeFileSync } from 'node:fs';
8
+ import path from 'node:path';
9
+
10
+ const CELL_W = 192;
11
+ const CELL_H = 208;
12
+ const COLS = 8;
13
+ const ROW_FRAMES = [6, 8, 8, 4, 5, 8, 6, 6, 6, 8, 8];
14
+ const ROW_NAMES = [
15
+ 'idle', 'running-right', 'running-left', 'waving', 'jumping',
16
+ 'failed', 'waiting', 'running', 'review', 'look-a', 'look-b',
17
+ ];
18
+
19
+ function parseArgs(argv) {
20
+ const out = {};
21
+ for (let i = 2; i < argv.length; i += 2) {
22
+ const key = argv[i]?.replace(/^--/, '');
23
+ if (!key || argv[i + 1] === undefined) usage(`missing value for --${key ?? '?'}`);
24
+ out[key] = argv[i + 1];
25
+ }
26
+ return out;
27
+ }
28
+
29
+ function usage(msg) {
30
+ console.error(`assemble-pet: ${msg}
31
+ usage: node assemble-pet.mjs --rows-dir <dir> --out-dir <dir> --pet-id <id> \\
32
+ --display-name "<Name>" --description "<text>" [--version 1|2]`);
33
+ process.exit(2);
34
+ }
35
+
36
+ const args = parseArgs(process.argv);
37
+ const rowsDir = args['rows-dir'];
38
+ const outDir = args['out-dir'];
39
+ const petId = args['pet-id'];
40
+ const displayName = args['display-name'] ?? petId;
41
+ const description = args['description'] ?? '';
42
+ const version = Number(args['version'] ?? 2);
43
+ if (!rowsDir || !outDir || !petId) usage('rows-dir / out-dir / pet-id are required');
44
+ if (![1, 2].includes(version)) usage('--version must be 1 or 2');
45
+ if (!/^[a-z0-9][a-z0-9-]{0,63}$/.test(petId)) {
46
+ usage('pet-id must match [a-z0-9][a-z0-9-]{0,63}');
47
+ }
48
+ const rowCount = version === 2 ? 11 : 9;
49
+
50
+ // ---------------------------------------------------------------------------
51
+ // PNG decode(8-bit,color type 2/3/6,filter 0-4)
52
+ // ---------------------------------------------------------------------------
53
+
54
+ function decodePng(bytes) {
55
+ if (bytes.readUInt32BE(0) !== 0x89504e47) throw new Error('not a PNG file');
56
+ let pos = 8;
57
+ let width = 0;
58
+ let height = 0;
59
+ let colorType = 0;
60
+ const idat = [];
61
+ let palette = null;
62
+ let trns = null;
63
+ while (pos < bytes.length) {
64
+ const len = bytes.readUInt32BE(pos);
65
+ const type = bytes.toString('ascii', pos + 4, pos + 8);
66
+ const data = bytes.subarray(pos + 8, pos + 8 + len);
67
+ if (type === 'IHDR') {
68
+ width = data.readUInt32BE(0);
69
+ height = data.readUInt32BE(4);
70
+ const bitDepth = data[8];
71
+ colorType = data[9];
72
+ if (bitDepth !== 8) throw new Error(`unsupported bit depth ${bitDepth} (need 8)`);
73
+ if (![2, 3, 6].includes(colorType)) {
74
+ throw new Error(`unsupported color type ${colorType} (need 2/3/6)`);
75
+ }
76
+ } else if (type === 'PLTE') {
77
+ palette = Buffer.from(data);
78
+ } else if (type === 'tRNS') {
79
+ trns = Buffer.from(data);
80
+ } else if (type === 'IDAT') {
81
+ idat.push(data);
82
+ } else if (type === 'IEND') {
83
+ break;
84
+ }
85
+ pos += 12 + len;
86
+ }
87
+ const channels = colorType === 6 ? 4 : colorType === 2 ? 3 : 1;
88
+ const stride = width * channels;
89
+ const raw = inflateSync(Buffer.concat(idat));
90
+ const bpp = channels;
91
+ const out = Buffer.alloc(width * height * 4);
92
+ const prev = Buffer.alloc(stride);
93
+ const line = Buffer.alloc(stride);
94
+ for (let y = 0; y < height; y++) {
95
+ const off = y * (stride + 1);
96
+ const filter = raw[off];
97
+ raw.copy(line, 0, off + 1, off + 1 + stride);
98
+ for (let x = 0; x < stride; x++) {
99
+ const a = x >= bpp ? line[x - bpp] : 0;
100
+ const b = prev[x];
101
+ const c = x >= bpp ? prev[x - bpp] : 0;
102
+ let v = line[x];
103
+ if (filter === 1) v += a;
104
+ else if (filter === 2) v += b;
105
+ else if (filter === 3) v += (a + b) >> 1;
106
+ else if (filter === 4) {
107
+ const p = a + b - c;
108
+ const pa = Math.abs(p - a);
109
+ const pb = Math.abs(p - b);
110
+ const pc = Math.abs(p - c);
111
+ v += pa <= pb && pa <= pc ? a : pb <= pc ? b : c;
112
+ }
113
+ line[x] = v & 0xff;
114
+ }
115
+ prev.set(line);
116
+ for (let x = 0; x < width; x++) {
117
+ const di = (y * width + x) * 4;
118
+ if (colorType === 6) {
119
+ out[di] = line[x * 4];
120
+ out[di + 1] = line[x * 4 + 1];
121
+ out[di + 2] = line[x * 4 + 2];
122
+ out[di + 3] = line[x * 4 + 3];
123
+ } else if (colorType === 2) {
124
+ out[di] = line[x * 3];
125
+ out[di + 1] = line[x * 3 + 1];
126
+ out[di + 2] = line[x * 3 + 2];
127
+ out[di + 3] = 255;
128
+ } else {
129
+ const idx = line[x];
130
+ out[di] = palette[idx * 3];
131
+ out[di + 1] = palette[idx * 3 + 1];
132
+ out[di + 2] = palette[idx * 3 + 2];
133
+ out[di + 3] = trns && idx < trns.length ? trns[idx] : 255;
134
+ }
135
+ }
136
+ }
137
+ return { width, height, rgba: out };
138
+ }
139
+
140
+ // ---------------------------------------------------------------------------
141
+ // PNG encode(RGBA8,filter 全 0)
142
+ // ---------------------------------------------------------------------------
143
+
144
+ const CRC_TABLE = (() => {
145
+ const t = new Int32Array(256);
146
+ for (let n = 0; n < 256; n++) {
147
+ let c = n;
148
+ for (let k = 0; k < 8; k++) c = c & 1 ? 0xedb88320 ^ (c >>> 1) : c >>> 1;
149
+ t[n] = c;
150
+ }
151
+ return t;
152
+ })();
153
+
154
+ function crc32(bytes) {
155
+ let c = -1;
156
+ for (const b of bytes) c = CRC_TABLE[(c ^ b) & 0xff] ^ (c >>> 8);
157
+ return (c ^ -1) >>> 0;
158
+ }
159
+
160
+ function chunk(type, data) {
161
+ const len = Buffer.alloc(4);
162
+ len.writeUInt32BE(data.length);
163
+ const body = Buffer.concat([Buffer.from(type, 'ascii'), data]);
164
+ const crc = Buffer.alloc(4);
165
+ crc.writeUInt32BE(crc32(body));
166
+ return Buffer.concat([len, body, crc]);
167
+ }
168
+
169
+ function encodePng(rgba, width, height) {
170
+ const ihdr = Buffer.alloc(13);
171
+ ihdr.writeUInt32BE(width, 0);
172
+ ihdr.writeUInt32BE(height, 4);
173
+ ihdr[8] = 8;
174
+ ihdr[9] = 6;
175
+ const raw = Buffer.alloc((width * 4 + 1) * height);
176
+ for (let y = 0; y < height; y++) {
177
+ raw[y * (width * 4 + 1)] = 0;
178
+ rgba.copy(raw, y * (width * 4 + 1) + 1, y * width * 4, (y + 1) * width * 4);
179
+ }
180
+ return Buffer.concat([
181
+ Buffer.from([0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a]),
182
+ chunk('IHDR', ihdr),
183
+ chunk('IDAT', deflateSync(raw, { level: 9 })),
184
+ chunk('IEND', Buffer.alloc(0)),
185
+ ]);
186
+ }
187
+
188
+ // ---------------------------------------------------------------------------
189
+ // 抠像底 → alpha:四角取底色,与底色距离 < HARD 的像素按距离转透明
190
+ // (四角颜色不一致 >40 视为无抠像底,原样保留)
191
+ // ---------------------------------------------------------------------------
192
+
193
+ function chromaToAlpha(rgba, width, height) {
194
+ const cornerIdx = [0, (width - 1) * 4, (height - 1) * width * 4, ((height - 1) * width + width - 1) * 4];
195
+ const key = cornerIdx.map((i) => [rgba[i], rgba[i + 1], rgba[i + 2]]);
196
+ for (const c of key.slice(1)) {
197
+ if (Math.hypot(c[0] - key[0][0], c[1] - key[0][1], c[2] - key[0][2]) > 40) return false;
198
+ }
199
+ const HARD = 90;
200
+ for (let p = 0; p < width * height; p++) {
201
+ const i = p * 4;
202
+ const d = Math.hypot(rgba[i] - key[0][0], rgba[i + 1] - key[0][1], rgba[i + 2] - key[0][2]);
203
+ if (d < HARD) rgba[i + 3] = Math.min(rgba[i + 3], Math.round((d / HARD) * rgba[i + 3]));
204
+ if (rgba[i + 3] === 0) {
205
+ rgba[i] = key[0][0];
206
+ rgba[i + 1] = key[0][1];
207
+ rgba[i + 2] = key[0][2];
208
+ }
209
+ }
210
+ return true;
211
+ }
212
+
213
+ // ---------------------------------------------------------------------------
214
+ // main:逐行校验 → 拼整图 → pet.json → contact sheet(一格宽缩略竖排)
215
+ // ---------------------------------------------------------------------------
216
+
217
+ mkdirSync(outDir, { recursive: true });
218
+ const sheetW = COLS * CELL_W;
219
+ const sheetH = rowCount * CELL_H;
220
+ const sheet = Buffer.alloc(sheetW * sheetH * 4);
221
+
222
+ for (let rowIdx = 0; rowIdx < rowCount; rowIdx++) {
223
+ const framesExpected = ROW_FRAMES[rowIdx];
224
+ const file = path.join(rowsDir, `row-${rowIdx}.png`);
225
+ let img;
226
+ try {
227
+ img = decodePng(readFileSync(file));
228
+ } catch (e) {
229
+ console.error(`row-${rowIdx}: cannot read ${file} — ${e.message}`);
230
+ process.exit(1);
231
+ }
232
+ if (img.height !== CELL_H) {
233
+ console.error(`row-${rowIdx}: strip height ${img.height} != ${CELL_H} — regenerate this row`);
234
+ process.exit(1);
235
+ }
236
+ if (img.width !== framesExpected * CELL_W) {
237
+ console.error(
238
+ `row-${rowIdx}: strip width ${img.width} != ${framesExpected} cells x ${CELL_W} — regenerate this row`,
239
+ );
240
+ process.exit(1);
241
+ }
242
+ const despilled = chromaToAlpha(img.rgba, img.width, img.height);
243
+ for (let y = 0; y < CELL_H; y++) {
244
+ for (let x = 0; x < img.width; x++) {
245
+ const si = (y * img.width + x) * 4;
246
+ const di = ((rowIdx * CELL_H + y) * sheetW + x) * 4;
247
+ sheet[di] = img.rgba[si];
248
+ sheet[di + 1] = img.rgba[si + 1];
249
+ sheet[di + 2] = img.rgba[si + 2];
250
+ sheet[di + 3] = img.rgba[si + 3];
251
+ }
252
+ }
253
+ console.log(`row-${rowIdx} (${ROW_NAMES[rowIdx]}): ok (${framesExpected} frames${despilled ? ', chroma keyed' : ''})`);
254
+ }
255
+
256
+ writeFileSync(path.join(outDir, 'spritesheet.png'), encodePng(sheet, sheetW, sheetH));
257
+ writeFileSync(
258
+ path.join(outDir, 'pet.json'),
259
+ `${JSON.stringify(
260
+ {
261
+ id: petId,
262
+ displayName,
263
+ description,
264
+ spriteVersionNumber: version,
265
+ spritesheetPath: 'spritesheet.png',
266
+ },
267
+ null,
268
+ 2,
269
+ )}\n`,
270
+ );
271
+
272
+ // contact sheet:每行缩略(一格宽)竖排,行号标注在左侧留白
273
+ const csCell = Math.round(CELL_W / 2); // 缩略格宽 96
274
+ const csCellH = Math.round((CELL_H / CELL_W) * csCell);
275
+ const csPad = 28;
276
+ const csW = csPad + COLS * csCell + 8;
277
+ const csH = rowCount * (csCellH + 6) + 8;
278
+ const cs = Buffer.alloc(csW * csH * 4);
279
+ // 白底
280
+ for (let p = 0; p < csW * csH; p++) {
281
+ cs[p * 4] = 250;
282
+ cs[p * 4 + 1] = 250;
283
+ cs[p * 4 + 2] = 250;
284
+ cs[p * 4 + 3] = 255;
285
+ }
286
+ for (let rowIdx = 0; rowIdx < rowCount; rowIdx++) {
287
+ const oy = rowIdx * (csCellH + 6) + 4;
288
+ for (let cy = 0; cy < csCellH; cy++) {
289
+ for (let cx = 0; cx < COLS * csCell; cx++) {
290
+ // 最近邻取样回整图
291
+ const sx = Math.floor((cx / csCell)) * CELL_W + Math.floor(((cx % csCell) / csCell) * CELL_W);
292
+ const sy = Math.floor((cy / csCellH) * CELL_H);
293
+ const si = ((rowIdx * CELL_H + sy) * sheetW + sx) * 4;
294
+ const di = ((oy + cy) * csW + csPad + cx) * 4;
295
+ const a = sheet[si + 3] / 255;
296
+ if (a === 0) continue;
297
+ cs[di] = Math.round(sheet[si] * a + cs[di] * (1 - a));
298
+ cs[di + 1] = Math.round(sheet[si + 1] * a + cs[di + 1] * (1 - a));
299
+ cs[di + 2] = Math.round(sheet[si + 2] * a + cs[di + 2] * (1 - a));
300
+ }
301
+ }
302
+ }
303
+ writeFileSync(path.join(outDir, 'contact-sheet.png'), encodePng(cs, csW, csH));
304
+
305
+ console.log(`\nassembled: ${path.join(outDir, 'spritesheet.png')} (${sheetW}x${sheetH})`);
306
+ console.log(`manifest: ${path.join(outDir, 'pet.json')} (v${version})`);
307
+ console.log(`contact sheet: ${path.join(outDir, 'contact-sheet.png')} — inspect it row by row`);
308
+ console.log('next: copy pet.json + spritesheet.png into <pets-root>/<pet-id>/');
@@ -0,0 +1,4 @@
1
+ {
2
+ "targets": ["claude", "codex"],
3
+ "kind": "skill"
4
+ }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@weavecode/templates",
3
- "version": "0.1.7",
3
+ "version": "0.1.9",
4
4
  "description": "Weave built-in resource repository (marketplace-shaped): packs, rule packs, and init assets",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -20,6 +20,6 @@
20
20
  "node": ">=22.5.0"
21
21
  },
22
22
  "dependencies": {
23
- "@weavecode/core": "^0.1.7"
23
+ "@weavecode/core": "^0.1.9"
24
24
  }
25
25
  }
package/package.json CHANGED
@@ -1,14 +1,18 @@
1
1
  {
2
2
  "name": "@weavecode/weave",
3
- "version": "0.1.7",
3
+ "version": "0.1.9",
4
4
  "description": "All-in-one install for weave — CLI, daemon + dashboard, harness drivers, and the built-in resource repo in a single npm package (self-contained bundle)",
5
5
  "type": "module",
6
6
  "bin": {
7
7
  "weave": "./bin/weave.js"
8
8
  },
9
9
  "files": [
10
- "bin"
10
+ "bin",
11
+ "scripts"
11
12
  ],
13
+ "scripts": {
14
+ "preinstall": "node ./scripts/preinstall.mjs"
15
+ },
12
16
  "sideEffects": false,
13
17
  "author": "zijing66",
14
18
  "license": "Apache-2.0",
@@ -32,11 +36,11 @@
32
36
  "registry": "https://registry.npmjs.org/"
33
37
  },
34
38
  "dependencies": {
35
- "@weavecode/core": "^0.1.7",
36
- "@weavecode/harness": "^0.1.7",
37
- "@weavecode/templates": "^0.1.7",
38
- "@weavecode/server": "^0.1.7",
39
- "@weavecode/cli": "^0.1.7",
39
+ "@weavecode/core": "^0.1.9",
40
+ "@weavecode/harness": "^0.1.9",
41
+ "@weavecode/templates": "^0.1.9",
42
+ "@weavecode/server": "^0.1.9",
43
+ "@weavecode/cli": "^0.1.9",
40
44
  "zod": "^3.25.76",
41
45
  "smol-toml": "^1.3.0",
42
46
  "@modelcontextprotocol/sdk": "1.32.1",
@@ -0,0 +1,108 @@
1
+ /**
2
+ * 全局安装/升级前的尽力停机:旧 daemon 还跑着时,新版本一启动就会和它抢同一个
3
+ * 库(WAL 写锁、迁移 DDL),升级期最容易出岔子的就是这一段。
4
+ *
5
+ * 优先走优雅路径——`POST /daemon/shutdown` 让 daemon 自己停子进程、把 WAL 并回
6
+ * 主库再退;请求不通或它不肯退,才退回 process.kill(Windows 上就是强杀,WAL
7
+ * 仍能靠回放恢复,只是留下孤儿 -wal)。
8
+ *
9
+ * 停不掉也继续装——安装失败比留着一个旧进程更糟,所以这里吞掉所有错误、恒
10
+ * exit 0。
11
+ */
12
+ import { existsSync, readFileSync } from 'node:fs';
13
+ import { homedir } from 'node:os';
14
+ import path from 'node:path';
15
+
16
+ function configDir() {
17
+ if (process.platform === 'win32') {
18
+ return process.env.APPDATA ?? path.join(homedir(), 'AppData', 'Roaming');
19
+ }
20
+ if (process.platform === 'darwin') {
21
+ return path.join(homedir(), 'Library', 'Application Support');
22
+ }
23
+ return process.env.XDG_CONFIG_HOME ?? path.join(homedir(), '.config');
24
+ }
25
+
26
+ function readJson(file) {
27
+ try {
28
+ if (!existsSync(file)) return null;
29
+ const parsed = JSON.parse(readFileSync(file, 'utf8'));
30
+ return parsed && typeof parsed === 'object' ? parsed : null;
31
+ } catch {
32
+ return null; // 坏文件/读不到:当作没有
33
+ }
34
+ }
35
+
36
+ /** daemon 状态文件:0.1.7 起在 `cache/` 下,更早的版本放在数据目录根部。 */
37
+ function readDaemonState(root) {
38
+ for (const candidate of [path.join(root, 'cache', 'daemon.json'), path.join(root, 'daemon.json')]) {
39
+ const state = readJson(candidate);
40
+ if (state) return state;
41
+ }
42
+ return null;
43
+ }
44
+
45
+ function pidAlive(pid) {
46
+ try {
47
+ process.kill(pid, 0);
48
+ return true;
49
+ } catch (e) {
50
+ // EPERM = 进程在但没权限:仍算活着(不去碰它)
51
+ return e && e.code !== 'ESRCH';
52
+ }
53
+ }
54
+
55
+ async function waitExit(pid, ms) {
56
+ const deadline = Date.now() + ms;
57
+ while (Date.now() < deadline) {
58
+ if (!pidAlive(pid)) return true;
59
+ await new Promise((r) => setTimeout(r, 100));
60
+ }
61
+ return !pidAlive(pid);
62
+ }
63
+
64
+ /** 请 daemon 自己退:本机回环 + 本机令牌(认证门与 dashboard 同一套)。 */
65
+ async function requestShutdown(port, token) {
66
+ if (!port || !token) return false;
67
+ const controller = new AbortController();
68
+ const timer = setTimeout(() => controller.abort(), 2_000);
69
+ try {
70
+ const res = await fetch(`http://127.0.0.1:${port}/daemon/shutdown`, {
71
+ method: 'POST',
72
+ headers: { 'x-weave-local': token },
73
+ signal: controller.signal,
74
+ });
75
+ return res.ok;
76
+ } catch {
77
+ return false;
78
+ } finally {
79
+ clearTimeout(timer);
80
+ }
81
+ }
82
+
83
+ // 只在**全局安装**时动手:workspace 里跑 `pnpm install` 会连开发者本机的
84
+ // daemon 一起杀掉,那是灾难。npm 分别在两者上设这个环境变量。
85
+ if (process.env.npm_config_global !== 'true') process.exit(0);
86
+
87
+ const root = path.join(configDir(), 'weave');
88
+ const state = readDaemonState(root);
89
+ const pid = state && typeof state.pid === 'number' ? state.pid : null;
90
+ if (!pid || pid <= 0 || !pidAlive(pid)) process.exit(0);
91
+
92
+ const auth = readJson(path.join(root, 'local', 'auth.json'));
93
+ const token = auth && typeof auth.localToken === 'string' ? auth.localToken : null;
94
+
95
+ // 优雅路径:端点回 200 就等它自己收尾(shutdown 链最多 3s 兜底)
96
+ if (await requestShutdown(state.port, token)) {
97
+ await waitExit(pid, 6_000);
98
+ process.exit(0);
99
+ }
100
+
101
+ // 兜底:端点不通(旧版本 daemon / 端口变了)——直接终止进程
102
+ try {
103
+ process.kill(pid);
104
+ } catch {
105
+ process.exit(0); // 没权限/已经退了:都不该挡住安装
106
+ }
107
+ await waitExit(pid, 5_000);
108
+ process.exit(0);
@@ -1 +0,0 @@
1
- import{g as p,r as u,d as a}from"./chunk-2E7WHVMD-B653kMXt.js";import{p as f}from"./chunk-JWPE2WC7-D6dXb_jr.js";import{_ as n,l as o}from"./mermaid.core-D_Dp_Kl2.js";import"./index-BKxAxaVG.js";import{M as c,b as d}from"./cynefin-EF2NZ3EQ-OZotFKUu.js";var v=d().RailroadAbnf.parser.LangiumParser,i=n(e=>{const r=e.alternatives.map(g);return r.length===1?r[0]:{type:"choice",alternatives:r}},"transformAlternation"),g=n(e=>{const r=e.elements.map(y);return r.length===1?r[0]:{type:"sequence",elements:r}},"transformConcatenation"),b=n(e=>{if(e.includes("*")){const[t,s]=e.split("*"),l=t?parseInt(t,10):0,m=s?parseInt(s,10):1/0;return{min:l,max:m}}const r=parseInt(e,10);return{min:r,max:r}},"parseRepeat"),y=n(e=>{const r=A(e.primary);if(!e.repeat)return r;const{min:t,max:s}=b(e.repeat);return t===0&&s===1?{type:"optional",element:r}:{type:"repetition",element:r,min:t,max:s}},"transformElement"),A=n(e=>{switch(e.$type){case"AbnfStringLiteral":return{type:"terminal",value:e.value};case"AbnfNumVal":return{type:"terminal",value:e.value};case"AbnfRuleName":return{type:"nonterminal",name:e.name};case"AbnfGroup":return i(e.element);case"AbnfOptionalGroup":return{type:"optional",element:i(e.element)};default:throw new Error(`Unsupported ABNF primary node: ${e.$type}`)}},"transformPrimary"),P=n(e=>({name:e.name,definition:i(e.definition)}),"transformRule"),h=n(e=>{f(e,a),e.title&&a.setTitle(e.title),e.rules.map(r=>a.addRule(P(r)))},"populateDb"),R={parse:n(e=>{a.clear(),o.debug("[ABNF Parser] Starting Langium parse");const r=v.parse(e);if(r.lexerErrors.length>0||r.parserErrors.length>0)throw new c(r);const t=r.value;o.debug("[ABNF Parser] Parsed rules:",t.rules.length),h(t),o.debug("[ABNF Parser] Parse complete")},"parse"),parser:{yy:a}},B={parser:R,db:a,renderer:u,styles:p};export{B as diagram};