@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
@@ -2,8 +2,8 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_router_utils = require("../utils.js");
3
3
  //#region src/router/reg-exp-router/node.ts
4
4
  const LABEL_REG_EXP_STR = "[^/]+";
5
- const ONLY_WILDCARD_REG_EXP_STR = ".*";
6
- const TAIL_WILDCARD_REG_EXP_STR = "(?:|/.*)";
5
+ const ONLY_WILDCARD_REG_EXP_STR = "[^]*";
6
+ const TAIL_WILDCARD_REG_EXP_STR = "(?:|/[^]*)";
7
7
  const PATH_ERROR = Symbol();
8
8
  const regExpMetaChars = /* @__PURE__ */ new Set(".\\+*[^]$()");
9
9
  /**
@@ -16,8 +16,8 @@ const regExpMetaChars = /* @__PURE__ */ new Set(".\\+*[^]$()");
16
16
  function compareKey(a, b) {
17
17
  if (a.length === 1) return b.length === 1 ? a < b ? -1 : 1 : -1;
18
18
  if (b.length === 1) return 1;
19
- if (a === ".*" || a === "(?:|/.*)") return b === "(?:|/.*)" ? -1 : 1;
20
- else if (b === ".*" || b === "(?:|/.*)") return -1;
19
+ if (a === "[^]*" || a === "(?:|/[^]*)") return b === "[^]*" ? -1 : 1;
20
+ else if (b === "[^]*" || b === "(?:|/[^]*)") return -1;
21
21
  if (a === "[^/]+") return 1;
22
22
  else if (b === "[^/]+") return -1;
23
23
  return a.length === b.length ? a < b ? -1 : 1 : b.length - a.length;
@@ -26,14 +26,14 @@ var Node = class Node {
26
26
  #index;
27
27
  #varIndex;
28
28
  #children = require_router_utils.createNullObject();
29
- insert(tokens, index, paramMap, context, isStatic) {
29
+ insert(tokens, index, paramMap, context, keys) {
30
30
  let node = this;
31
31
  for (let i = 0, len = tokens.length; i < len; i++) {
32
32
  const token = tokens[i];
33
33
  const pattern = token.length === 1 ? token === "*" ? i === len - 1 ? [
34
34
  "",
35
35
  "",
36
- ".*"
36
+ ONLY_WILDCARD_REG_EXP_STR
37
37
  ] : [
38
38
  "",
39
39
  "",
@@ -48,15 +48,16 @@ var Node = class Node {
48
48
  const name = pattern[1];
49
49
  let regexpStr = pattern[2] || "[^/]+";
50
50
  if (name && pattern[2]) {
51
- if (regexpStr === ".*") throw PATH_ERROR;
51
+ if (new RegExp(regexpStr).test("")) throw PATH_ERROR;
52
52
  regexpStr = regexpStr.replace(/^\((?!\?:)(?=[^)]+\)$)/, "(?:");
53
53
  if (/\((?!\?:)/.test(regexpStr)) throw PATH_ERROR;
54
54
  if (regexpStr.length === 1 && regExpMetaChars.has(regexpStr)) throw PATH_ERROR;
55
55
  }
56
+ keys.push(regexpStr);
56
57
  nextNode = node.#children[regexpStr];
57
58
  if (!nextNode) {
58
- if (regexpStr !== ".*" && regexpStr !== "(?:|/.*)") {
59
- for (const k in node.#children) if ((regexpStr.length > 1 || k.length > 1) && k !== ".*" && k !== "(?:|/.*)") throw PATH_ERROR;
59
+ if (regexpStr !== "[^]*" && regexpStr !== "(?:|/[^]*)") {
60
+ for (const k in node.#children) if ((regexpStr.length > 1 || k.length > 1) && k !== "[^]*" && k !== "(?:|/[^]*)") throw PATH_ERROR;
60
61
  }
61
62
  nextNode = node.#children[regexpStr] = new Node();
62
63
  }
@@ -65,16 +66,17 @@ var Node = class Node {
65
66
  paramMap.push([name, nextNode.#varIndex]);
66
67
  }
67
68
  } else {
69
+ keys.push(token);
68
70
  nextNode = node.#children[token];
69
71
  if (!nextNode) {
70
- for (const k in node.#children) if (k.length > 1 && k !== ".*" && k !== "(?:|/.*)") throw PATH_ERROR;
72
+ for (const k in node.#children) if (k.length > 1 && k !== "[^]*" && k !== "(?:|/[^]*)") throw PATH_ERROR;
71
73
  nextNode = node.#children[token] = new Node();
72
74
  }
73
75
  }
74
76
  node = nextNode;
75
77
  }
76
78
  if (node.#index !== void 0) throw PATH_ERROR;
77
- node.#index = isStatic ? -1 : index;
79
+ node.#index = index;
78
80
  }
79
81
  buildRegExpStr() {
80
82
  const strList = Object.keys(this.#children).sort(compareKey).map((k) => {
@@ -28,7 +28,7 @@ var PreparedRegExpRouter = class {
28
28
  if (!this.#matchers[method]) {
29
29
  const all = this.#matchers["ALL"];
30
30
  const staticMap = {};
31
- for (const key in all[2]) staticMap[key] = [all[2][key][0].slice(), require_router_reg_exp_router_matcher.emptyParam];
31
+ for (const key in all[2]) staticMap[key] = [all[2][key][0].slice(), all[2][key][1]];
32
32
  this.#matchers[method] = [
33
33
  all[0],
34
34
  all[1].map((list) => Array.isArray(list) ? list.slice() : 0),
@@ -72,7 +72,7 @@ const buildInitParams = ({ paths }) => {
72
72
  ...map
73
73
  };
74
74
  else relocateMap[path] = [[[], map]];
75
- if (relocateMap[path][0][0].findIndex((j) => j === i) === -1) relocateMap[path][0][0].push(i);
75
+ if (!relocateMap[path][0][0].includes(i)) relocateMap[path][0][0].push(i);
76
76
  }
77
77
  });
78
78
  });
@@ -80,7 +80,7 @@ const buildInitParams = ({ paths }) => {
80
80
  if (p === path) {
81
81
  relocateMap[path] ||= [[[]]];
82
82
  const value = path2 === path ? "" : path2;
83
- if (relocateMap[path][0][0].findIndex((v) => v === value) === -1) relocateMap[path][0][0].push(value);
83
+ if (!relocateMap[path][0][0].includes(value)) relocateMap[path][0][0].push(value);
84
84
  }
85
85
  });
86
86
  }
@@ -89,7 +89,7 @@ const buildInitParams = ({ paths }) => {
89
89
  return [matchers, relocateMap];
90
90
  };
91
91
  const serializeInitParams = ([matchers, relocateMap]) => {
92
- return `[${JSON.stringify(matchers, (_, value) => value instanceof RegExp ? `##${value.toString()}##` : value).replace(/"##(.+?)##"/g, (_, str) => str.replace(/\\\\/g, "\\"))},${JSON.stringify(relocateMap)}]`;
92
+ return `[${JSON.stringify(matchers, (_, value) => value instanceof RegExp || value === void 0 ? `##${value}##` : value).replace(/"##(.+?)##"/g, (_, str) => str.replace(/\\\\/g, "\\"))},${JSON.stringify(relocateMap)}]`;
93
93
  };
94
94
  //#endregion
95
95
  exports.PreparedRegExpRouter = PreparedRegExpRouter;
@@ -6,21 +6,21 @@ const require_router_reg_exp_router_matcher = require("./matcher.js");
6
6
  const require_router_reg_exp_router_node = require("./node.js");
7
7
  const require_router_reg_exp_router_trie = require("./trie.js");
8
8
  //#region src/router/reg-exp-router/router.ts
9
- let wildcardRegExpCache = require_router_utils.createNullObject();
10
- function buildWildcardRegExp(path) {
11
- return wildcardRegExpCache[path] ??= new RegExp(`^${path.replace(/\/:[^/{}]+(?:\{\[\^\/]\+})?(?=[/{]|$)|\/?\*$|([.\\+*[^\]$()?{}|])/g, (match, metaChar) => metaChar ? `\\${metaChar}` : match === "/*" ? require_router_reg_exp_router_node.TAIL_WILDCARD_REG_EXP_STR : match === "*" ? ".*" : `/:${require_router_reg_exp_router_node.LABEL_REG_EXP_STR}`)}$`);
9
+ function endsWithWildcard(keys) {
10
+ const tail = keys[keys.length - 1];
11
+ return tail === "[^]*" || tail === "(?:|/[^]*)";
12
12
  }
13
- function findMiddleware(middleware, path) {
14
- for (const k of Object.keys(middleware).sort((a, b) => b.length - a.length)) if (buildWildcardRegExp(k).test(path)) return [...middleware[k]];
13
+ function covers(wildcard, target) {
14
+ const last = wildcard.length - 1;
15
+ for (let i = 0; i < last; i++) if (wildcard[i] !== target[i]) return false;
16
+ return wildcard[last] === "[^]*" || target.length === last || target[last] === "/";
15
17
  }
16
18
  var RegExpRouter = class {
17
19
  name = "RegExpRouter";
18
- #middleware;
19
- #routes;
20
+ #handlers;
20
21
  #tries;
21
22
  constructor() {
22
- this.#middleware = { ["ALL"]: require_router_utils.createNullObject() };
23
- this.#routes = { ["ALL"]: require_router_utils.createNullObject() };
23
+ this.#handlers = { ["ALL"]: [] };
24
24
  this.#tries = { ["ALL"]: new require_router_reg_exp_router_trie.Trie() };
25
25
  }
26
26
  #insertPath(method, path) {
@@ -31,65 +31,53 @@ var RegExpRouter = class {
31
31
  }
32
32
  }
33
33
  add(method, path, handler) {
34
- const middleware = this.#middleware;
35
- const routes = this.#routes;
36
- if (!middleware) throw new Error(require_router.MESSAGE_MATCHER_IS_ALREADY_BUILT);
37
- if (!middleware[method]) {
38
- this.#tries[method] = new require_router_reg_exp_router_trie.Trie();
39
- for (const handlerMap of [middleware, routes]) {
40
- handlerMap[method] = require_router_utils.createNullObject();
41
- for (const p in handlerMap["ALL"]) {
42
- handlerMap[method][p] = [...handlerMap["ALL"][p]];
43
- this.#insertPath(method, p);
44
- }
45
- }
34
+ const handlers = this.#handlers;
35
+ if (!handlers) throw new Error(require_router.MESSAGE_MATCHER_IS_ALREADY_BUILT);
36
+ const tries = this.#tries;
37
+ if (!handlers[method]) {
38
+ tries[method] = new require_router_reg_exp_router_trie.Trie();
39
+ handlers[method] = [...handlers["ALL"]];
40
+ for (const p in tries["ALL"].paths) this.#insertPath(method, p);
46
41
  }
47
42
  if (path === "/*") path = "*";
48
- const methods = method === "ALL" ? Object.keys(middleware) : [method];
49
- if (/\*$/.test(path)) {
50
- const re = buildWildcardRegExp(path);
51
- for (const m of methods) if (!middleware[m][path]) {
52
- this.#insertPath(m, path);
53
- middleware[m][path] = findMiddleware(middleware[m], path) || findMiddleware(middleware["ALL"], path) || [];
54
- }
55
- for (const handlerMap of [middleware, routes]) for (const m of methods) for (const p in handlerMap[m]) re.test(p) && handlerMap[m][p].push([handler, path]);
56
- return;
57
- }
43
+ const methods = method === "ALL" ? Object.keys(handlers) : [method];
58
44
  const paths = require_utils_url.checkOptionalParameter(path) || [path];
59
45
  for (const path of paths) for (const m of methods) {
60
- if (!routes[m][path]) {
61
- this.#insertPath(m, path);
62
- routes[m][path] = findMiddleware(middleware[m], path) || findMiddleware(middleware["ALL"], path) || [];
63
- }
64
- routes[m][path].push([handler, path]);
46
+ if (!tries[m].paths[path]) this.#insertPath(m, path);
47
+ handlers[m].push([handler, path]);
65
48
  }
66
49
  }
67
50
  match = require_router_reg_exp_router_matcher.match;
68
51
  buildAllMatchers() {
69
52
  const matchers = require_router_utils.createNullObject();
70
- for (const method of Object.keys(this.#routes)) matchers[method] = this.#buildMatcher(method);
71
- this.#middleware = this.#routes = this.#tries = void 0;
72
- wildcardRegExpCache = require_router_utils.createNullObject();
53
+ for (const method of Object.keys(this.#handlers)) matchers[method] = this.#buildMatcher(method);
54
+ this.#handlers = this.#tries = void 0;
73
55
  return matchers;
74
56
  }
75
57
  #buildMatcher(method) {
76
- const middleware = this.#middleware[method];
77
- const routes = this.#routes[method];
58
+ const handlers = this.#handlers[method];
78
59
  const trie = this.#tries[method];
79
60
  const staticMap = require_router_utils.createNullObject();
80
61
  const handlerData = [];
81
62
  const [regexp, indexReplacementMap, paramReplacementMap] = trie.buildRegExp();
82
- for (const r of [middleware, routes]) for (const path in r) {
83
- const handlers = r[path];
84
- const pathData = trie.paths[path];
85
- if (!pathData) {
86
- staticMap[path] = [handlers.map(([h]) => [h, require_router_utils.createNullObject()]), require_router_reg_exp_router_matcher.emptyParam];
87
- continue;
88
- }
89
- handlerData[pathData[0]] = handlers.map(([h, handlerPath]) => [h, trie.paths[handlerPath][1].reduceRight((map, [key], i) => {
90
- map[key] = paramReplacementMap[pathData[1][i][1]];
63
+ const own = require_router_utils.createNullObject();
64
+ const entries = handlers.map(([h, p], i) => {
65
+ (own[p] ??= []).push(i);
66
+ return [h, trie.paths[p][1].reduceRight((map, [key, varIndex]) => {
67
+ map[key] = paramReplacementMap[varIndex];
91
68
  return map;
92
- }, require_router_utils.createNullObject())]);
69
+ }, require_router_utils.createNullObject())];
70
+ });
71
+ const wildcards = Object.keys(own).filter((p) => endsWithWildcard(trie.paths[p][2]));
72
+ for (const path in trie.paths) {
73
+ const [index, , keys] = trie.paths[path];
74
+ const indexes = [...own[path]];
75
+ for (const p of wildcards) if (p !== path && covers(trie.paths[p][2], keys)) indexes.push(...own[p]);
76
+ const data = indexes.sort((a, b) => a - b).map((i) => entries[i]);
77
+ if (index === -1) {
78
+ const last = Math.max(-1, ...data.flatMap(([, map]) => Object.values(map)));
79
+ staticMap[path] = [data, last === -1 ? require_router_reg_exp_router_matcher.emptyParam : path.match(regexp).slice(0, last + 1)];
80
+ } else handlerData[index] = data;
93
81
  }
94
82
  return [
95
83
  regexp,
@@ -8,8 +8,14 @@ var Trie = class {
8
8
  #index = 0;
9
9
  paths = require_router_utils.createNullObject();
10
10
  insert(path, isStatic) {
11
+ const keys = [];
11
12
  if (isStatic) {
12
- this.#root.insert(path.split(""), 0, [], this.#context, true);
13
+ this.#root.insert(path.split(""), -1, [], this.#context, keys);
14
+ this.paths[path] = [
15
+ -1,
16
+ [],
17
+ keys
18
+ ];
13
19
  return;
14
20
  }
15
21
  const paramAssoc = [];
@@ -17,7 +23,7 @@ var Trie = class {
17
23
  let markedPath = path;
18
24
  for (let i = 0;;) {
19
25
  let replaced = false;
20
- markedPath = markedPath.replace(/\{[^}]+\}/g, (m) => {
26
+ markedPath = markedPath.replace(/\{(?:\{[\d,]+\}|[^}])+\}/g, (m) => {
21
27
  const mark = `@\\${i}`;
22
28
  groups[i] = [mark, m];
23
29
  i++;
@@ -31,7 +37,7 @@ var Trie = class {
31
37
  * - /* wildcard
32
38
  * - character
33
39
  */
34
- const tokens = markedPath.match(/(?::[^\/]+)|(?:\/\*$)|./g) || [];
40
+ const tokens = markedPath.match(/(?::[^\/]+)|(?:\/\*$)|./gs) || [];
35
41
  for (let i = groups.length - 1; i >= 0; i--) {
36
42
  const [mark] = groups[i];
37
43
  for (let j = tokens.length - 1; j >= 0; j--) if (tokens[j].indexOf(mark) !== -1) {
@@ -39,8 +45,12 @@ var Trie = class {
39
45
  break;
40
46
  }
41
47
  }
42
- this.#root.insert(tokens, this.#index, paramAssoc, this.#context, false);
43
- this.paths[path] = [this.#index++, paramAssoc];
48
+ this.#root.insert(tokens, this.#index, paramAssoc, this.#context, keys);
49
+ this.paths[path] = [
50
+ this.#index++,
51
+ paramAssoc,
52
+ keys
53
+ ];
44
54
  }
45
55
  buildRegExp() {
46
56
  let regexp = this.#root.buildRegExpStr();
@@ -16,7 +16,7 @@ const decodeJwtPart = (part) => JSON.parse(require_utils_jwt_utf8.utf8Decoder.de
16
16
  function isTokenHeader(obj) {
17
17
  if (typeof obj === "object" && obj !== null) {
18
18
  const objWithAlg = obj;
19
- return "alg" in objWithAlg && Object.values(require_utils_jwt_jwa.AlgorithmTypes).includes(objWithAlg.alg) && (!("typ" in objWithAlg) || objWithAlg.typ === "JWT");
19
+ return "alg" in objWithAlg && Object.values(require_utils_jwt_jwa.AlgorithmTypes).includes(objWithAlg.alg) && (!("typ" in objWithAlg) || objWithAlg.typ === "JWT") && !("crit" in objWithAlg);
20
20
  }
21
21
  return false;
22
22
  }
@@ -67,6 +67,7 @@ const verify = async (token, publicKey, algOrOptions) => {
67
67
  if (!(Array.isArray(payload.aud) ? payload.aud : [payload.aud]).some((payloadAud) => aud instanceof RegExp ? aud.test(payloadAud) : typeof aud === "string" ? payloadAud === aud : Array.isArray(aud) && aud.includes(payloadAud))) throw new require_utils_jwt_types.JwtTokenAudience(aud, payload.aud);
68
68
  }
69
69
  const headerPayload = token.substring(0, token.lastIndexOf("."));
70
+ if (!/^[A-Za-z0-9_-]*={0,2}$/.test(tokenParts[2])) throw new require_utils_jwt_types.JwtTokenInvalid(token);
70
71
  let signature;
71
72
  try {
72
73
  signature = require_utils_encode.decodeBase64Url(tokenParts[2]);
@@ -0,0 +1,35 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_request_constants = require("../request/constants.js");
3
+ const require_utils_url = require("./url.js");
4
+ //#region src/utils/mount.ts
5
+ const getPathPrefixLength = (c, pathPrefix, routePath) => {
6
+ if (!/[:*]/.test(pathPrefix)) return pathPrefix.length;
7
+ const path = c.req.path;
8
+ const matchResult = c.req[require_request_constants.GET_MATCH_RESULT];
9
+ const paramNames = /* @__PURE__ */ new Set();
10
+ let length = 0;
11
+ for (const part of require_utils_url.splitRoutingPath(pathPrefix)) {
12
+ const pattern = require_utils_url.getPattern(part);
13
+ if (pattern && pattern !== "*") {
14
+ const name = pattern[1];
15
+ if (paramNames.has(name)) throw new Error(`mount(): Duplicate path parameter "${name}" in "${routePath}".`);
16
+ paramNames.add(name);
17
+ }
18
+ if (pattern && pattern !== "*" && pattern[2] !== true) {
19
+ const value = matchResult.length === 2 ? matchResult[1][matchResult[0][c.req.routeIndex][1][pattern[1]]] : matchResult[0][c.req.routeIndex][1][pattern[1]];
20
+ length += value.length + 1;
21
+ } else if (pattern || part.endsWith("*")) {
22
+ const end = path.indexOf("/", length + 1);
23
+ length = end === -1 ? path.length : end;
24
+ } else length += part.length + 1;
25
+ }
26
+ return length;
27
+ };
28
+ const createMountedRequest = (c, pathPrefix, routePath) => {
29
+ if (/[^/]\*$/.test(routePath)) throw new Error(`mount(): Wildcard must follow "/" in "${routePath}".`);
30
+ const url = new URL(c.req.raw.url);
31
+ url.pathname = require_utils_url.stripPathPrefix(url.pathname, c.req.path, getPathPrefixLength(c, pathPrefix, routePath));
32
+ return new Request(url, c.req.raw);
33
+ };
34
+ //#endregion
35
+ exports.createMountedRequest = createMountedRequest;
@@ -111,6 +111,15 @@ const getPathNoStrict = (request) => {
111
111
  const result = getPath(request);
112
112
  return result.length > 1 && result.at(-1) === "/" ? result.slice(0, -1) : result;
113
113
  };
114
+ const stripPathPrefix = (rawPath, decodedPath, prefixLength) => {
115
+ if (rawPath.at(-1) === "/" && decodedPath.at(-1) !== "/") rawPath = rawPath.slice(0, -1);
116
+ let index = 0;
117
+ for (let i = decodedPath.indexOf("/"); i !== -1 && i < prefixLength; i = decodedPath.indexOf("/", i + 1)) {
118
+ index = rawPath.indexOf("/", index + 1);
119
+ if (index === -1) return "/";
120
+ }
121
+ return rawPath.slice(index) || "/";
122
+ };
114
123
  /**
115
124
  * Merge paths.
116
125
  * @param {string[]} ...paths - The paths to merge.
@@ -215,6 +224,7 @@ exports.getQueryStrings = getQueryStrings;
215
224
  exports.mergePath = mergePath;
216
225
  exports.splitPath = splitPath;
217
226
  exports.splitRoutingPath = splitRoutingPath;
227
+ exports.stripPathPrefix = stripPathPrefix;
218
228
  exports.tryDecode = tryDecode;
219
229
  exports.tryDecodeURI = tryDecodeURI;
220
230
  exports.tryDecodeURIComponent = tryDecodeURIComponent;
@@ -4,7 +4,7 @@ const require_utils_buffer = require("../utils/buffer.js");
4
4
  const require_helper_cookie_index = require("../helper/cookie/index.js");
5
5
  //#region src/validator/validator.ts
6
6
  const jsonRegex = /^application\/([a-z-\.]+\+)?json(;\s*[a-zA-Z0-9\-]+\=([^;]+))*$/i;
7
- const multipartRegex = /^multipart\/form-data(;\s?boundary=[a-zA-Z0-9'"()+_,\-./:=?]+)?$/i;
7
+ const multipartRegex = /^multipart\/form-data(;\s*[a-zA-Z0-9\-]+\=([^;]+))*$/i;
8
8
  const urlencodedRegex = /^application\/x-www-form-urlencoded(;\s*[a-zA-Z0-9\-]+\=([^;]+))*$/i;
9
9
  const validator = (target, validationFunc) => {
10
10
  return async (c, next) => {
@@ -197,7 +197,7 @@ var Context = class {
197
197
  * ```
198
198
  */
199
199
  header = (name, value, options) => {
200
- if (this.finalized) this.#res = createResponseInstance(this.#res.body, this.#res);
200
+ if (this.finalized && !this.#res.bodyUsed) this.#res = createResponseInstance(this.#res.body, this.#res);
201
201
  const headers = this.#res ? this.#res.headers : this.#preparedHeaders ??= new Headers();
202
202
  if (value === void 0) headers.delete(name);
203
203
  else if (options?.append) headers.append(name, value);
@@ -79,10 +79,8 @@ const buildStyleString = (strings, values) => {
79
79
  for (let j = 0, len = vArray.length; j < len; j++) {
80
80
  let value = vArray[j];
81
81
  if (typeof value === "boolean" || value === null || value === void 0) continue;
82
- if (typeof value === "string") {
83
- if (/([\\"'\/])/.test(value)) styleString += value.replace(/([\\"']|(?<=<)\/)/g, "\\$1");
84
- else styleString += value;
85
- } else if (typeof value === "number") styleString += value;
82
+ if (typeof value === "string") styleString += value.replace(/[\\"']/g, "\\$&");
83
+ else if (typeof value === "number") styleString += value;
86
84
  else if (value[CSS_ESCAPED]) styleString += value[CSS_ESCAPED];
87
85
  else if (value[CLASS_NAME].startsWith("@keyframes ")) {
88
86
  selectors.push(value);
@@ -107,7 +105,7 @@ const buildStyleString = (strings, values) => {
107
105
  }
108
106
  return [
109
107
  label,
110
- minify(styleString),
108
+ minify(styleString).replace(/<\//g, "<\\/"),
111
109
  selectors,
112
110
  externalClassNames
113
111
  ];
@@ -3,6 +3,7 @@ import { getPath, getPathNoStrict, mergePath } from "./utils/url.js";
3
3
  import { Context } from "./context.js";
4
4
  import { METHODS } from "./router.js";
5
5
  import { COMPOSED_HANDLER } from "./utils/constants.js";
6
+ import { createMountedRequest } from "./utils/mount.js";
6
7
  //#region src/hono-base.ts
7
8
  /**
8
9
  * @module
@@ -227,17 +228,10 @@ var Hono = class Hono {
227
228
  } catch {}
228
229
  return [c.env, executionContext];
229
230
  };
230
- replaceRequest ||= (() => {
231
- const mergedPath = mergePath(this._basePath, path);
232
- const pathPrefixLength = mergedPath === "/" ? 0 : mergedPath.length;
233
- return (request) => {
234
- const url = new URL(request.url);
235
- url.pathname = this.getPath(request).slice(pathPrefixLength) || "/";
236
- return new Request(url, request);
237
- };
238
- })();
231
+ const mergedPath = mergePath(this._basePath, path);
232
+ const defaultReplaceRequest = (c) => createMountedRequest(c, mergedPath.replace(/\/$/, ""), mergePath(mergedPath, "*"));
239
233
  const handler = async (c, next) => {
240
- const res = await applicationHandler(replaceRequest(c.req.raw), ...getOptions(c));
234
+ const res = await applicationHandler(replaceRequest ? replaceRequest(c.req.raw) : defaultReplaceRequest(c), ...getOptions(c));
241
235
  if (res) return res;
242
236
  await next();
243
237
  };
@@ -1,6 +1,5 @@
1
1
  import { HonoBase as Hono$1 } from "./hono-base.js";
2
2
  import { RegExpRouter } from "./router/reg-exp-router/router.js";
3
- import "./router/reg-exp-router/index.js";
4
3
  import { SmartRouter } from "./router/smart-router/router.js";
5
4
  import { TrieRouter } from "./router/trie-router/router.js";
6
5
  import "./router/trie-router/index.js";
@@ -80,7 +80,7 @@ const basicAuth = (options, ...users) => {
80
80
  }
81
81
  }
82
82
  const status = 401;
83
- const headers = { "WWW-Authenticate": "Basic realm=\"" + options.realm?.replace(/"/g, "\\\"") + "\"" };
83
+ const headers = { "WWW-Authenticate": "Basic realm=\"" + options.realm?.replace(/[\\"]/g, "\\$&") + "\"" };
84
84
  const responseMessage = typeof options.invalidUserMessage === "function" ? await options.invalidUserMessage(ctx) : options.invalidUserMessage;
85
85
  const res = typeof responseMessage === "string" ? new Response(responseMessage, {
86
86
  status,
@@ -44,7 +44,7 @@ const bearerAuth = (options) => {
44
44
  if (!("token" in options || "verifyToken" in options)) throw new Error("bearer auth middleware requires options for \"token\" or \"verifyToken\"");
45
45
  if (!options.realm) options.realm = "";
46
46
  if (options.prefix === void 0) options.prefix = PREFIX;
47
- const realm = options.realm?.replace(/"/g, "\\\"");
47
+ const realm = options.realm?.replace(/[\\"]/g, "\\$&");
48
48
  const prefix = options.prefix;
49
49
  const tokenRegexp = new RegExp(`^${TOKEN_STRINGS}$`);
50
50
  const wwwAuthenticatePrefix = prefix === "" ? "" : `${prefix} `;
@@ -8,7 +8,7 @@ const secFetchSiteValues = [
8
8
  ];
9
9
  const isSecFetchSite = (value) => secFetchSiteValues.includes(value);
10
10
  const isSafeMethodRe = /^(GET|HEAD|OPTIONS)$/;
11
- const isRequestedByFormElementRe = /^\b(application\/x-www-form-urlencoded|multipart\/form-data|text\/plain)\b/i;
11
+ const isCsrfContentTypeRe = /^\b(application\/x-www-form-urlencoded|multipart\/form-data|text\/(?:plain|ping))\b/i;
12
12
  /**
13
13
  * CSRF Protection Middleware for Hono.
14
14
  *
@@ -94,7 +94,7 @@ const csrf = (options) => {
94
94
  return await secFetchSiteHandler(secFetchSite, c);
95
95
  };
96
96
  return async function csrf(c, next) {
97
- if (!isSafeMethodRe.test(c.req.method) && isRequestedByFormElementRe.test(c.req.header("content-type") || "text/plain") && !await isAllowedSecFetchSite(c.req.header("sec-fetch-site"), c) && !await isAllowedOrigin(c.req.header("origin"), c)) {
97
+ if (!isSafeMethodRe.test(c.req.method) && isCsrfContentTypeRe.test(c.req.header("content-type") || "text/plain") && !await isAllowedSecFetchSite(c.req.header("sec-fetch-site"), c) && !await isAllowedOrigin(c.req.header("origin"), c)) {
98
98
  const res = new Response("Forbidden", { status: 403 });
99
99
  throw new HTTPException(403, { res });
100
100
  }
@@ -109,8 +109,8 @@ const jwk = (options, init) => {
109
109
  };
110
110
  };
111
111
  function unauthorizedResponse(opts) {
112
- const realm = (opts.realm ?? opts.ctx.req.url).replace(/"/g, "\\\"");
113
- const errDescription = opts.errDescription.replace(/"/g, "\\\"");
112
+ const realm = (opts.realm ?? opts.ctx.req.url).replace(/[\\"]/g, "\\$&");
113
+ const errDescription = opts.errDescription.replace(/[\\"]/g, "\\$&");
114
114
  return new Response("Unauthorized", {
115
115
  status: 401,
116
116
  statusText: opts.statusText,
@@ -103,8 +103,8 @@ const jwt = (options) => {
103
103
  };
104
104
  };
105
105
  function unauthorizedResponse(opts) {
106
- const realm = (opts.realm ?? opts.ctx.req.url).replace(/"/g, "\\\"");
107
- const errDescription = opts.errDescription.replace(/"/g, "\\\"");
106
+ const realm = (opts.realm ?? opts.ctx.req.url).replace(/[\\"]/g, "\\$&");
107
+ const errDescription = opts.errDescription.replace(/[\\"]/g, "\\$&");
108
108
  return new Response("Unauthorized", {
109
109
  status: 401,
110
110
  statusText: opts.statusText,
@@ -1,5 +1,5 @@
1
- import { getCookie, setCookie } from "../../helper/cookie/index.js";
2
1
  import { parseAccept } from "../../utils/accept.js";
2
+ import { getCookie, setCookie } from "../../helper/cookie/index.js";
3
3
  //#region src/middleware/language/language.ts
4
4
  const DEFAULT_OPTIONS = {
5
5
  order: [
@@ -1,10 +1,9 @@
1
+ import { createMountedRequest } from "../../utils/mount.js";
1
2
  import { routePath } from "../../helper/route/index.js";
2
3
  //#region src/middleware/mount/index.ts
3
4
  const defaultReplaceRequest = (c) => {
4
- const pathPrefix = routePath(c).replace(/\/\*$/, "");
5
- const url = new URL(c.req.raw.url);
6
- url.pathname = c.req.path.slice(pathPrefix.length) || "/";
7
- return new Request(url, c.req.raw);
5
+ const path = routePath(c);
6
+ return createMountedRequest(c, path.replace(/\/?\*$/, ""), path);
8
7
  };
9
8
  const defaultGetOptions = (c) => {
10
9
  let executionContext = void 0;
@@ -21,6 +20,7 @@ const defaultGetOptions = (c) => {
21
20
  * @param {Function} applicationHandler - other Request Handler
22
21
  * @param {MountOptions} [options] - options of `mount()`
23
22
  * @returns {MiddlewareHandler} handler to register with `app.all()`
23
+ * @throws {Error} If the route ends with a wildcard inside a segment (e.g. `/assets*`), or automatic request rewriting encounters duplicate path parameter names.
24
24
  *
25
25
  * @example
26
26
  * ```ts
@@ -1,8 +1,8 @@
1
1
  import { createNullObject } from "../utils.js";
2
2
  //#region src/router/reg-exp-router/node.ts
3
3
  const LABEL_REG_EXP_STR = "[^/]+";
4
- const ONLY_WILDCARD_REG_EXP_STR = ".*";
5
- const TAIL_WILDCARD_REG_EXP_STR = "(?:|/.*)";
4
+ const ONLY_WILDCARD_REG_EXP_STR = "[^]*";
5
+ const TAIL_WILDCARD_REG_EXP_STR = "(?:|/[^]*)";
6
6
  const PATH_ERROR = Symbol();
7
7
  const regExpMetaChars = /* @__PURE__ */ new Set(".\\+*[^]$()");
8
8
  /**
@@ -15,8 +15,8 @@ const regExpMetaChars = /* @__PURE__ */ new Set(".\\+*[^]$()");
15
15
  function compareKey(a, b) {
16
16
  if (a.length === 1) return b.length === 1 ? a < b ? -1 : 1 : -1;
17
17
  if (b.length === 1) return 1;
18
- if (a === ".*" || a === "(?:|/.*)") return b === "(?:|/.*)" ? -1 : 1;
19
- else if (b === ".*" || b === "(?:|/.*)") return -1;
18
+ if (a === "[^]*" || a === "(?:|/[^]*)") return b === "[^]*" ? -1 : 1;
19
+ else if (b === "[^]*" || b === "(?:|/[^]*)") return -1;
20
20
  if (a === "[^/]+") return 1;
21
21
  else if (b === "[^/]+") return -1;
22
22
  return a.length === b.length ? a < b ? -1 : 1 : b.length - a.length;
@@ -25,14 +25,14 @@ var Node = class Node {
25
25
  #index;
26
26
  #varIndex;
27
27
  #children = createNullObject();
28
- insert(tokens, index, paramMap, context, isStatic) {
28
+ insert(tokens, index, paramMap, context, keys) {
29
29
  let node = this;
30
30
  for (let i = 0, len = tokens.length; i < len; i++) {
31
31
  const token = tokens[i];
32
32
  const pattern = token.length === 1 ? token === "*" ? i === len - 1 ? [
33
33
  "",
34
34
  "",
35
- ".*"
35
+ ONLY_WILDCARD_REG_EXP_STR
36
36
  ] : [
37
37
  "",
38
38
  "",
@@ -47,15 +47,16 @@ var Node = class Node {
47
47
  const name = pattern[1];
48
48
  let regexpStr = pattern[2] || "[^/]+";
49
49
  if (name && pattern[2]) {
50
- if (regexpStr === ".*") throw PATH_ERROR;
50
+ if (new RegExp(regexpStr).test("")) throw PATH_ERROR;
51
51
  regexpStr = regexpStr.replace(/^\((?!\?:)(?=[^)]+\)$)/, "(?:");
52
52
  if (/\((?!\?:)/.test(regexpStr)) throw PATH_ERROR;
53
53
  if (regexpStr.length === 1 && regExpMetaChars.has(regexpStr)) throw PATH_ERROR;
54
54
  }
55
+ keys.push(regexpStr);
55
56
  nextNode = node.#children[regexpStr];
56
57
  if (!nextNode) {
57
- if (regexpStr !== ".*" && regexpStr !== "(?:|/.*)") {
58
- for (const k in node.#children) if ((regexpStr.length > 1 || k.length > 1) && k !== ".*" && k !== "(?:|/.*)") throw PATH_ERROR;
58
+ if (regexpStr !== "[^]*" && regexpStr !== "(?:|/[^]*)") {
59
+ for (const k in node.#children) if ((regexpStr.length > 1 || k.length > 1) && k !== "[^]*" && k !== "(?:|/[^]*)") throw PATH_ERROR;
59
60
  }
60
61
  nextNode = node.#children[regexpStr] = new Node();
61
62
  }
@@ -64,16 +65,17 @@ var Node = class Node {
64
65
  paramMap.push([name, nextNode.#varIndex]);
65
66
  }
66
67
  } else {
68
+ keys.push(token);
67
69
  nextNode = node.#children[token];
68
70
  if (!nextNode) {
69
- for (const k in node.#children) if (k.length > 1 && k !== ".*" && k !== "(?:|/.*)") throw PATH_ERROR;
71
+ for (const k in node.#children) if (k.length > 1 && k !== "[^]*" && k !== "(?:|/[^]*)") throw PATH_ERROR;
70
72
  nextNode = node.#children[token] = new Node();
71
73
  }
72
74
  }
73
75
  node = nextNode;
74
76
  }
75
77
  if (node.#index !== void 0) throw PATH_ERROR;
76
- node.#index = isStatic ? -1 : index;
78
+ node.#index = index;
77
79
  }
78
80
  buildRegExpStr() {
79
81
  const strList = Object.keys(this.#children).sort(compareKey).map((k) => {