@vitos-pizza/vitos-pizza 0.1.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1016) hide show
  1. package/AGENTS.md +160 -158
  2. package/CHANGELOG.md +55 -24
  3. package/LICENSE +21 -21
  4. package/README.md +237 -234
  5. package/assets/logo.svg +28 -28
  6. package/package.json +17 -11
  7. package/packages/agent-mode/extensions/index.ts +140 -117
  8. package/packages/agent-mode/package.json +5 -4
  9. package/packages/agent-mode/src/apply-mode.ts +60 -60
  10. package/packages/agent-mode/src/mode-events.ts +102 -102
  11. package/packages/agent-mode/src/modes.ts +43 -43
  12. package/packages/agent-mode/src/plan-instructions.ts +89 -44
  13. package/packages/agent-mode/tsconfig.json +13 -13
  14. package/packages/agent-mode/vitest.config.ts +8 -8
  15. package/packages/keybindings/extensions/index.ts +112 -104
  16. package/packages/keybindings/package.json +1 -1
  17. package/packages/keybindings/presets/shortcuts.json +3 -3
  18. package/packages/keybindings/src/bind.ts +57 -57
  19. package/packages/keybindings/src/config.ts +84 -84
  20. package/packages/keybindings/src/registry.ts +43 -43
  21. package/packages/keybindings/src/types.ts +54 -54
  22. package/packages/keybindings/tsconfig.json +13 -13
  23. package/packages/keybindings/vitest.config.ts +8 -8
  24. package/packages/permission-system/extensions/index.ts +162 -162
  25. package/packages/permission-system/package.json +2 -2
  26. package/packages/permission-system/src/bash/matcher.ts +54 -51
  27. package/packages/permission-system/src/bash/parser.ts +40 -40
  28. package/packages/permission-system/src/config-paths.ts +23 -23
  29. package/packages/permission-system/src/detect-preset-mode.ts +61 -61
  30. package/packages/permission-system/src/expand-home.ts +12 -12
  31. package/packages/permission-system/src/forwarding/forwarder.ts +224 -224
  32. package/packages/permission-system/src/forwarding/subagent-registry.ts +61 -61
  33. package/packages/permission-system/src/gates/path-utils.ts +66 -66
  34. package/packages/permission-system/src/gates/pipeline.ts +151 -155
  35. package/packages/permission-system/src/handlers/before-agent-start.ts +86 -65
  36. package/packages/permission-system/src/handlers/skill-input.ts +1 -1
  37. package/packages/permission-system/src/handlers/tool-call-gate.ts +204 -199
  38. package/packages/permission-system/src/mode-api.ts +44 -44
  39. package/packages/permission-system/src/permission-evaluator.ts +233 -216
  40. package/packages/permission-system/src/permission-session.ts +62 -62
  41. package/packages/permission-system/src/policy-loader.ts +211 -211
  42. package/packages/permission-system/src/sanitizers/skill-prompt.ts +99 -99
  43. package/packages/permission-system/src/sanitizers/system-prompt.ts +221 -221
  44. package/packages/permission-system/src/service.ts +66 -66
  45. package/packages/permission-system/src/session-approvals.ts +4 -1
  46. package/packages/permission-system/src/types.ts +80 -80
  47. package/packages/permission-system/src/ui/approval-summary.ts +43 -43
  48. package/packages/permission-system/src/ui/config-modal.ts +36 -36
  49. package/packages/permission-system/src/ui/permission-dialog.ts +52 -52
  50. package/packages/permission-system/src/wildcard-matcher.ts +81 -81
  51. package/packages/permission-system/src/yaml-frontmatter.ts +84 -84
  52. package/packages/permission-system/src/yolo/runtime-api.ts +49 -49
  53. package/packages/permission-system/tsconfig.json +13 -13
  54. package/packages/permission-system/vitest.config.ts +8 -8
  55. package/packages/question/package.json +1 -1
  56. package/packages/question/src/question-ui.ts +5 -1
  57. package/packages/question/src/register-tool.ts +1 -4
  58. package/packages/session-title/extensions/index.ts +137 -137
  59. package/packages/session-title/package.json +3 -3
  60. package/packages/session-title/src/build-title-prompt.ts +16 -16
  61. package/packages/session-title/src/extract-title-context.ts +55 -55
  62. package/packages/session-title/src/fast-rules.ts +48 -48
  63. package/packages/session-title/src/load-settings.ts +70 -70
  64. package/packages/session-title/src/normalize-title.ts +20 -20
  65. package/packages/session-title/src/parse-title-response.ts +6 -6
  66. package/packages/session-title/src/resolve-title-model.ts +33 -33
  67. package/packages/session-title/src/schedule-title-job.ts +53 -53
  68. package/packages/session-title/src/should-schedule.ts +30 -30
  69. package/packages/session-title/src/title-agent.ts +60 -60
  70. package/packages/session-title/src/truncate-input.ts +10 -10
  71. package/packages/session-title/src/types.ts +29 -29
  72. package/packages/session-title/tsconfig.json +13 -13
  73. package/packages/session-title/vitest.config.ts +8 -8
  74. package/packages/settings-preset/extensions/index.ts +53 -0
  75. package/packages/settings-preset/package.json +19 -0
  76. package/packages/settings-preset/presets/settings.json +15 -0
  77. package/packages/settings-preset/tsconfig.json +11 -0
  78. package/packages/subagents/agents/planner.md +46 -43
  79. package/packages/subagents/agents/scout.md +41 -40
  80. package/packages/subagents/agents/title.md +13 -13
  81. package/packages/subagents/agents/worker.md +36 -36
  82. package/packages/subagents/extensions/index.ts +164 -164
  83. package/packages/subagents/package.json +1 -1
  84. package/packages/subagents/skills/subagents/SKILL.md +86 -80
  85. package/packages/subagents/src/agents.ts +166 -166
  86. package/packages/subagents/src/async/job-tracker.ts +71 -71
  87. package/packages/subagents/src/async/spawn-async.ts +220 -220
  88. package/packages/subagents/src/async/storage.ts +57 -57
  89. package/packages/subagents/src/env.ts +4 -4
  90. package/packages/subagents/src/execute-subagent.ts +285 -285
  91. package/packages/subagents/src/progress.ts +187 -187
  92. package/packages/subagents/src/render-animation.ts +40 -40
  93. package/packages/subagents/src/render.ts +428 -428
  94. package/packages/subagents/src/rpc/channels.ts +21 -21
  95. package/packages/subagents/src/rpc/client.ts +144 -144
  96. package/packages/subagents/src/rpc/server.ts +11 -11
  97. package/packages/subagents/src/run-agent.ts +313 -313
  98. package/packages/subagents/src/runtime.ts +102 -102
  99. package/packages/subagents/src/schema.ts +62 -62
  100. package/packages/subagents/src/spawn.ts +104 -104
  101. package/packages/subagents/src/types.ts +92 -92
  102. package/packages/subagents/src/utils.ts +100 -100
  103. package/packages/subagents/src/wait.ts +159 -159
  104. package/packages/subagents/tsconfig.json +13 -13
  105. package/packages/subagents/vitest.config.ts +8 -8
  106. package/packages/todoist/extensions/index.ts +163 -0
  107. package/{node_modules/@vitos-pizza/subagents → packages/todoist}/package.json +7 -7
  108. package/packages/todoist/src/events.ts +7 -0
  109. package/packages/todoist/src/silent-render.ts +8 -0
  110. package/packages/todoist/src/state.ts +147 -0
  111. package/packages/todoist/src/tools.ts +175 -0
  112. package/packages/todoist/src/types.ts +34 -0
  113. package/packages/todoist/src/widget.ts +109 -0
  114. package/packages/ui-enhancements/package.json +1 -1
  115. package/packages/ui-enhancements/src/chrome/agent-mode-badge.ts +60 -60
  116. package/packages/ui-enhancements/src/chrome/border-status.ts +90 -4
  117. package/packages/ui-enhancements/src/chrome/execute-prompt.ts +83 -0
  118. package/packages/ui-enhancements/src/chrome/resize-recovery.ts +63 -0
  119. package/packages/websearch/package.json +1 -1
  120. package/scripts/sync-pi-manifest.mjs +1 -1
  121. package/node_modules/@vitos-pizza/agent-mode/extensions/index.ts +0 -117
  122. package/node_modules/@vitos-pizza/agent-mode/package.json +0 -31
  123. package/node_modules/@vitos-pizza/agent-mode/src/apply-mode.ts +0 -60
  124. package/node_modules/@vitos-pizza/agent-mode/src/mode-events.ts +0 -102
  125. package/node_modules/@vitos-pizza/agent-mode/src/modes.ts +0 -43
  126. package/node_modules/@vitos-pizza/agent-mode/src/plan-instructions.ts +0 -44
  127. package/node_modules/@vitos-pizza/agent-mode/tests/apply-mode.test.ts +0 -36
  128. package/node_modules/@vitos-pizza/agent-mode/tests/mode-events.test.ts +0 -22
  129. package/node_modules/@vitos-pizza/agent-mode/tests/modes.test.ts +0 -38
  130. package/node_modules/@vitos-pizza/agent-mode/tests/plan-instructions.test.ts +0 -45
  131. package/node_modules/@vitos-pizza/agent-mode/tsconfig.json +0 -13
  132. package/node_modules/@vitos-pizza/agent-mode/vitest.config.ts +0 -8
  133. package/node_modules/@vitos-pizza/keybindings/extensions/index.ts +0 -104
  134. package/node_modules/@vitos-pizza/keybindings/package.json +0 -26
  135. package/node_modules/@vitos-pizza/keybindings/presets/shortcuts.json +0 -3
  136. package/node_modules/@vitos-pizza/keybindings/src/bind.ts +0 -57
  137. package/node_modules/@vitos-pizza/keybindings/src/config.ts +0 -84
  138. package/node_modules/@vitos-pizza/keybindings/src/registry.ts +0 -43
  139. package/node_modules/@vitos-pizza/keybindings/src/types.ts +0 -54
  140. package/node_modules/@vitos-pizza/keybindings/tests/config.test.ts +0 -83
  141. package/node_modules/@vitos-pizza/keybindings/tests/registry.test.ts +0 -142
  142. package/node_modules/@vitos-pizza/keybindings/tsconfig.json +0 -13
  143. package/node_modules/@vitos-pizza/keybindings/vitest.config.ts +0 -8
  144. package/node_modules/@vitos-pizza/permission-system/extensions/index.ts +0 -162
  145. package/node_modules/@vitos-pizza/permission-system/package.json +0 -34
  146. package/node_modules/@vitos-pizza/permission-system/presets/default.json +0 -36
  147. package/node_modules/@vitos-pizza/permission-system/presets/plan.json +0 -25
  148. package/node_modules/@vitos-pizza/permission-system/presets/yolo.json +0 -15
  149. package/node_modules/@vitos-pizza/permission-system/src/bash/matcher.ts +0 -51
  150. package/node_modules/@vitos-pizza/permission-system/src/bash/parser.ts +0 -40
  151. package/node_modules/@vitos-pizza/permission-system/src/config-paths.ts +0 -23
  152. package/node_modules/@vitos-pizza/permission-system/src/detect-preset-mode.ts +0 -61
  153. package/node_modules/@vitos-pizza/permission-system/src/expand-home.ts +0 -12
  154. package/node_modules/@vitos-pizza/permission-system/src/forwarding/forwarder.ts +0 -224
  155. package/node_modules/@vitos-pizza/permission-system/src/forwarding/subagent-registry.ts +0 -61
  156. package/node_modules/@vitos-pizza/permission-system/src/gates/path-utils.ts +0 -66
  157. package/node_modules/@vitos-pizza/permission-system/src/gates/pipeline.ts +0 -155
  158. package/node_modules/@vitos-pizza/permission-system/src/handlers/before-agent-start.ts +0 -65
  159. package/node_modules/@vitos-pizza/permission-system/src/handlers/skill-input.ts +0 -1
  160. package/node_modules/@vitos-pizza/permission-system/src/handlers/tool-call-gate.ts +0 -199
  161. package/node_modules/@vitos-pizza/permission-system/src/mode-api.ts +0 -44
  162. package/node_modules/@vitos-pizza/permission-system/src/permission-evaluator.ts +0 -216
  163. package/node_modules/@vitos-pizza/permission-system/src/permission-session.ts +0 -62
  164. package/node_modules/@vitos-pizza/permission-system/src/policy-loader.ts +0 -211
  165. package/node_modules/@vitos-pizza/permission-system/src/sanitizers/skill-prompt.ts +0 -99
  166. package/node_modules/@vitos-pizza/permission-system/src/sanitizers/system-prompt.ts +0 -221
  167. package/node_modules/@vitos-pizza/permission-system/src/service.ts +0 -66
  168. package/node_modules/@vitos-pizza/permission-system/src/session-approvals.ts +0 -1
  169. package/node_modules/@vitos-pizza/permission-system/src/types.ts +0 -80
  170. package/node_modules/@vitos-pizza/permission-system/src/ui/approval-summary.ts +0 -43
  171. package/node_modules/@vitos-pizza/permission-system/src/ui/config-modal.ts +0 -36
  172. package/node_modules/@vitos-pizza/permission-system/src/ui/permission-dialog.ts +0 -52
  173. package/node_modules/@vitos-pizza/permission-system/src/wildcard-matcher.ts +0 -81
  174. package/node_modules/@vitos-pizza/permission-system/src/yaml-frontmatter.ts +0 -84
  175. package/node_modules/@vitos-pizza/permission-system/src/yolo/runtime-api.ts +0 -49
  176. package/node_modules/@vitos-pizza/permission-system/tests/bash-parser.test.ts +0 -32
  177. package/node_modules/@vitos-pizza/permission-system/tests/detect-preset-mode.test.ts +0 -68
  178. package/node_modules/@vitos-pizza/permission-system/tests/forwarder.test.ts +0 -55
  179. package/node_modules/@vitos-pizza/permission-system/tests/gates.test.ts +0 -61
  180. package/node_modules/@vitos-pizza/permission-system/tests/path-utils.test.ts +0 -68
  181. package/node_modules/@vitos-pizza/permission-system/tests/permission-evaluator.test.ts +0 -55
  182. package/node_modules/@vitos-pizza/permission-system/tests/policy-loader.test.ts +0 -25
  183. package/node_modules/@vitos-pizza/permission-system/tests/system-prompt-sanitizer.test.ts +0 -22
  184. package/node_modules/@vitos-pizza/permission-system/tests/wildcard-matcher.test.ts +0 -27
  185. package/node_modules/@vitos-pizza/permission-system/tsconfig.json +0 -13
  186. package/node_modules/@vitos-pizza/permission-system/vitest.config.ts +0 -8
  187. package/node_modules/@vitos-pizza/question/extensions/index.ts +0 -79
  188. package/node_modules/@vitos-pizza/question/package.json +0 -26
  189. package/node_modules/@vitos-pizza/question/src/forwarding/channels.ts +0 -6
  190. package/node_modules/@vitos-pizza/question/src/forwarding/file-watcher.ts +0 -106
  191. package/node_modules/@vitos-pizza/question/src/forwarding/forwarder.ts +0 -187
  192. package/node_modules/@vitos-pizza/question/src/parent-session.ts +0 -18
  193. package/node_modules/@vitos-pizza/question/src/question-ui.ts +0 -238
  194. package/node_modules/@vitos-pizza/question/src/register-tool.ts +0 -224
  195. package/node_modules/@vitos-pizza/question/src/types.ts +0 -41
  196. package/node_modules/@vitos-pizza/question/tests/forwarder.test.ts +0 -66
  197. package/node_modules/@vitos-pizza/question/tests/parent-session.test.ts +0 -29
  198. package/node_modules/@vitos-pizza/question/tests/register-tool-render.test.ts +0 -45
  199. package/node_modules/@vitos-pizza/session-title/extensions/index.ts +0 -137
  200. package/node_modules/@vitos-pizza/session-title/package.json +0 -37
  201. package/node_modules/@vitos-pizza/session-title/src/build-title-prompt.ts +0 -16
  202. package/node_modules/@vitos-pizza/session-title/src/extract-title-context.ts +0 -55
  203. package/node_modules/@vitos-pizza/session-title/src/fast-rules.ts +0 -48
  204. package/node_modules/@vitos-pizza/session-title/src/load-settings.ts +0 -70
  205. package/node_modules/@vitos-pizza/session-title/src/normalize-title.ts +0 -20
  206. package/node_modules/@vitos-pizza/session-title/src/parse-title-response.ts +0 -6
  207. package/node_modules/@vitos-pizza/session-title/src/resolve-title-model.ts +0 -33
  208. package/node_modules/@vitos-pizza/session-title/src/schedule-title-job.ts +0 -53
  209. package/node_modules/@vitos-pizza/session-title/src/should-schedule.ts +0 -30
  210. package/node_modules/@vitos-pizza/session-title/src/title-agent.ts +0 -60
  211. package/node_modules/@vitos-pizza/session-title/src/truncate-input.ts +0 -10
  212. package/node_modules/@vitos-pizza/session-title/src/types.ts +0 -29
  213. package/node_modules/@vitos-pizza/session-title/tests/build-title-prompt.test.ts +0 -34
  214. package/node_modules/@vitos-pizza/session-title/tests/extension.test.ts +0 -198
  215. package/node_modules/@vitos-pizza/session-title/tests/extract-title-context.test.ts +0 -48
  216. package/node_modules/@vitos-pizza/session-title/tests/fast-rules.test.ts +0 -43
  217. package/node_modules/@vitos-pizza/session-title/tests/parse-title-response.test.ts +0 -34
  218. package/node_modules/@vitos-pizza/session-title/tests/should-schedule.test.ts +0 -30
  219. package/node_modules/@vitos-pizza/session-title/tests/title-agent.test.ts +0 -154
  220. package/node_modules/@vitos-pizza/session-title/tests/truncate-input.test.ts +0 -15
  221. package/node_modules/@vitos-pizza/session-title/tsconfig.json +0 -13
  222. package/node_modules/@vitos-pizza/session-title/vitest.config.ts +0 -8
  223. package/node_modules/@vitos-pizza/subagents/agents/planner.md +0 -43
  224. package/node_modules/@vitos-pizza/subagents/agents/scout.md +0 -40
  225. package/node_modules/@vitos-pizza/subagents/agents/title.md +0 -13
  226. package/node_modules/@vitos-pizza/subagents/agents/worker.md +0 -36
  227. package/node_modules/@vitos-pizza/subagents/extensions/index.ts +0 -164
  228. package/node_modules/@vitos-pizza/subagents/skills/subagents/SKILL.md +0 -80
  229. package/node_modules/@vitos-pizza/subagents/src/agents.ts +0 -166
  230. package/node_modules/@vitos-pizza/subagents/src/async/job-tracker.ts +0 -71
  231. package/node_modules/@vitos-pizza/subagents/src/async/spawn-async.ts +0 -220
  232. package/node_modules/@vitos-pizza/subagents/src/async/storage.ts +0 -57
  233. package/node_modules/@vitos-pizza/subagents/src/env.ts +0 -4
  234. package/node_modules/@vitos-pizza/subagents/src/execute-subagent.ts +0 -285
  235. package/node_modules/@vitos-pizza/subagents/src/progress.ts +0 -187
  236. package/node_modules/@vitos-pizza/subagents/src/render-animation.ts +0 -40
  237. package/node_modules/@vitos-pizza/subagents/src/render.ts +0 -428
  238. package/node_modules/@vitos-pizza/subagents/src/rpc/channels.ts +0 -21
  239. package/node_modules/@vitos-pizza/subagents/src/rpc/client.ts +0 -144
  240. package/node_modules/@vitos-pizza/subagents/src/rpc/server.ts +0 -11
  241. package/node_modules/@vitos-pizza/subagents/src/run-agent.ts +0 -313
  242. package/node_modules/@vitos-pizza/subagents/src/runtime.ts +0 -102
  243. package/node_modules/@vitos-pizza/subagents/src/schema.ts +0 -62
  244. package/node_modules/@vitos-pizza/subagents/src/spawn.ts +0 -104
  245. package/node_modules/@vitos-pizza/subagents/src/types.ts +0 -92
  246. package/node_modules/@vitos-pizza/subagents/src/utils.ts +0 -100
  247. package/node_modules/@vitos-pizza/subagents/src/wait.ts +0 -159
  248. package/node_modules/@vitos-pizza/subagents/tests/agents.test.ts +0 -19
  249. package/node_modules/@vitos-pizza/subagents/tests/execute-subagent.test.ts +0 -96
  250. package/node_modules/@vitos-pizza/subagents/tests/extension.test.ts +0 -42
  251. package/node_modules/@vitos-pizza/subagents/tests/progress.test.ts +0 -206
  252. package/node_modules/@vitos-pizza/subagents/tests/rpc.test.ts +0 -74
  253. package/node_modules/@vitos-pizza/subagents/tsconfig.json +0 -13
  254. package/node_modules/@vitos-pizza/subagents/vitest.config.ts +0 -8
  255. package/node_modules/@vitos-pizza/ui-enhancements/extensions/index.ts +0 -10
  256. package/node_modules/@vitos-pizza/ui-enhancements/package.json +0 -28
  257. package/node_modules/@vitos-pizza/ui-enhancements/src/bash-readonly.ts +0 -82
  258. package/node_modules/@vitos-pizza/ui-enhancements/src/chrome/agent-mode-badge.ts +0 -60
  259. package/node_modules/@vitos-pizza/ui-enhancements/src/chrome/border-status.ts +0 -180
  260. package/node_modules/@vitos-pizza/ui-enhancements/src/chrome/format-border.ts +0 -46
  261. package/node_modules/@vitos-pizza/ui-enhancements/src/chrome/header-info.ts +0 -66
  262. package/node_modules/@vitos-pizza/ui-enhancements/src/chrome/recent-sessions.ts +0 -132
  263. package/node_modules/@vitos-pizza/ui-enhancements/src/chrome/welcome-header.ts +0 -127
  264. package/node_modules/@vitos-pizza/ui-enhancements/src/config.ts +0 -75
  265. package/node_modules/@vitos-pizza/ui-enhancements/src/register-ui-enhancements.ts +0 -47
  266. package/node_modules/@vitos-pizza/ui-enhancements/src/session.ts +0 -72
  267. package/node_modules/@vitos-pizza/ui-enhancements/src/tools/bash-write-edit.ts +0 -148
  268. package/node_modules/@vitos-pizza/ui-enhancements/src/tools/index.ts +0 -22
  269. package/node_modules/@vitos-pizza/ui-enhancements/src/tools/read-find-grep-ls.ts +0 -235
  270. package/node_modules/@vitos-pizza/ui-enhancements/src/tools/text-content.ts +0 -42
  271. package/node_modules/@vitos-pizza/ui-enhancements/src/tools/tool-cache.ts +0 -87
  272. package/node_modules/@vitos-pizza/ui-enhancements/src/utils/shorten-path.ts +0 -9
  273. package/node_modules/@vitos-pizza/ui-enhancements/tests/agent-mode-badge.test.ts +0 -35
  274. package/node_modules/@vitos-pizza/ui-enhancements/tests/bash-readonly.test.ts +0 -43
  275. package/node_modules/@vitos-pizza/ui-enhancements/tests/format-border.test.ts +0 -36
  276. package/node_modules/@vitos-pizza/ui-enhancements/tests/recent-sessions.test.ts +0 -72
  277. package/node_modules/@vitos-pizza/ui-enhancements/tsconfig.json +0 -13
  278. package/node_modules/@vitos-pizza/ui-enhancements/vitest.config.ts +0 -8
  279. package/node_modules/@vitos-pizza/websearch/extensions/index.ts +0 -130
  280. package/node_modules/@vitos-pizza/websearch/package.json +0 -28
  281. package/node_modules/@vitos-pizza/websearch/src/backends/brave.ts +0 -35
  282. package/node_modules/@vitos-pizza/websearch/src/backends/exa-mcp.ts +0 -139
  283. package/node_modules/@vitos-pizza/websearch/src/backends/firecrawl.ts +0 -86
  284. package/node_modules/@vitos-pizza/websearch/src/backends/registry.ts +0 -98
  285. package/node_modules/@vitos-pizza/websearch/src/backends/tavily.ts +0 -32
  286. package/node_modules/@vitos-pizza/websearch/src/config.ts +0 -124
  287. package/node_modules/@vitos-pizza/websearch/src/credentials.ts +0 -35
  288. package/node_modules/@vitos-pizza/websearch/src/dispatch.ts +0 -57
  289. package/node_modules/@vitos-pizza/websearch/src/formatters.ts +0 -44
  290. package/node_modules/@vitos-pizza/websearch/src/parsers.ts +0 -75
  291. package/node_modules/@vitos-pizza/websearch/src/readers/jina.ts +0 -42
  292. package/node_modules/@vitos-pizza/websearch/src/schema.ts +0 -37
  293. package/node_modules/@vitos-pizza/websearch/src/status.ts +0 -103
  294. package/node_modules/@vitos-pizza/websearch/src/types.ts +0 -29
  295. package/node_modules/@vitos-pizza/websearch/src/utils.ts +0 -117
  296. package/node_modules/@vitos-pizza/websearch/tests/backends.test.ts +0 -103
  297. package/node_modules/@vitos-pizza/websearch/tests/config.test.ts +0 -71
  298. package/node_modules/@vitos-pizza/websearch/tests/dispatch.test.ts +0 -69
  299. package/node_modules/@vitos-pizza/websearch/tsconfig.json +0 -13
  300. package/node_modules/@vitos-pizza/websearch/vitest.config.ts +0 -8
  301. package/node_modules/node-addon-api/LICENSE.md +0 -9
  302. package/node_modules/node-addon-api/README.md +0 -95
  303. package/node_modules/node-addon-api/common.gypi +0 -21
  304. package/node_modules/node-addon-api/except.gypi +0 -25
  305. package/node_modules/node-addon-api/index.js +0 -14
  306. package/node_modules/node-addon-api/napi-inl.deprecated.h +0 -186
  307. package/node_modules/node-addon-api/napi-inl.h +0 -7211
  308. package/node_modules/node-addon-api/napi.h +0 -3420
  309. package/node_modules/node-addon-api/node_addon_api.gyp +0 -42
  310. package/node_modules/node-addon-api/node_api.gyp +0 -9
  311. package/node_modules/node-addon-api/noexcept.gypi +0 -26
  312. package/node_modules/node-addon-api/nothing.c +0 -0
  313. package/node_modules/node-addon-api/package-support.json +0 -21
  314. package/node_modules/node-addon-api/package.json +0 -480
  315. package/node_modules/node-addon-api/tools/README.md +0 -73
  316. package/node_modules/node-addon-api/tools/check-napi.js +0 -99
  317. package/node_modules/node-addon-api/tools/clang-format.js +0 -71
  318. package/node_modules/node-addon-api/tools/conversion.js +0 -301
  319. package/node_modules/node-gyp-build/LICENSE +0 -21
  320. package/node_modules/node-gyp-build/README.md +0 -58
  321. package/node_modules/node-gyp-build/SECURITY.md +0 -5
  322. package/node_modules/node-gyp-build/bin.js +0 -84
  323. package/node_modules/node-gyp-build/build-test.js +0 -19
  324. package/node_modules/node-gyp-build/index.js +0 -6
  325. package/node_modules/node-gyp-build/node-gyp-build.js +0 -207
  326. package/node_modules/node-gyp-build/optional.js +0 -7
  327. package/node_modules/node-gyp-build/package.json +0 -43
  328. package/node_modules/tree-sitter-bash/LICENSE +0 -21
  329. package/node_modules/tree-sitter-bash/README.md +0 -44
  330. package/node_modules/tree-sitter-bash/binding.gyp +0 -30
  331. package/node_modules/tree-sitter-bash/bindings/node/binding.cc +0 -20
  332. package/node_modules/tree-sitter-bash/bindings/node/binding_test.js +0 -9
  333. package/node_modules/tree-sitter-bash/bindings/node/index.d.ts +0 -28
  334. package/node_modules/tree-sitter-bash/bindings/node/index.js +0 -11
  335. package/node_modules/tree-sitter-bash/grammar.js +0 -1201
  336. package/node_modules/tree-sitter-bash/package.json +0 -60
  337. package/node_modules/tree-sitter-bash/prebuilds/darwin-arm64/tree-sitter-bash.node +0 -0
  338. package/node_modules/tree-sitter-bash/prebuilds/darwin-x64/tree-sitter-bash.node +0 -0
  339. package/node_modules/tree-sitter-bash/prebuilds/linux-arm64/tree-sitter-bash.node +0 -0
  340. package/node_modules/tree-sitter-bash/prebuilds/linux-x64/tree-sitter-bash.node +0 -0
  341. package/node_modules/tree-sitter-bash/prebuilds/win32-arm64/tree-sitter-bash.node +0 -0
  342. package/node_modules/tree-sitter-bash/prebuilds/win32-x64/tree-sitter-bash.node +0 -0
  343. package/node_modules/tree-sitter-bash/queries/highlights.scm +0 -56
  344. package/node_modules/tree-sitter-bash/src/grammar.json +0 -7145
  345. package/node_modules/tree-sitter-bash/src/node-types.json +0 -2894
  346. package/node_modules/tree-sitter-bash/src/parser.c +0 -350631
  347. package/node_modules/tree-sitter-bash/src/scanner.c +0 -1217
  348. package/node_modules/tree-sitter-bash/src/tree_sitter/alloc.h +0 -54
  349. package/node_modules/tree-sitter-bash/src/tree_sitter/array.h +0 -291
  350. package/node_modules/tree-sitter-bash/src/tree_sitter/parser.h +0 -286
  351. package/node_modules/tree-sitter-bash/tree-sitter-bash.wasm +0 -0
  352. package/node_modules/tree-sitter-bash/tree-sitter.json +0 -46
  353. package/packages/permission-system/node_modules/web-tree-sitter/LICENSE +0 -21
  354. package/packages/permission-system/node_modules/web-tree-sitter/README.md +0 -269
  355. package/packages/permission-system/node_modules/web-tree-sitter/debug/tree-sitter.cjs +0 -4558
  356. package/packages/permission-system/node_modules/web-tree-sitter/debug/tree-sitter.cjs.map +0 -7
  357. package/packages/permission-system/node_modules/web-tree-sitter/debug/tree-sitter.js +0 -4516
  358. package/packages/permission-system/node_modules/web-tree-sitter/debug/tree-sitter.js.map +0 -7
  359. package/packages/permission-system/node_modules/web-tree-sitter/debug/tree-sitter.wasm +0 -0
  360. package/packages/permission-system/node_modules/web-tree-sitter/debug/tree-sitter.wasm.map +0 -31
  361. package/packages/permission-system/node_modules/web-tree-sitter/lib/alloc.c +0 -48
  362. package/packages/permission-system/node_modules/web-tree-sitter/lib/alloc.h +0 -41
  363. package/packages/permission-system/node_modules/web-tree-sitter/lib/array.h +0 -291
  364. package/packages/permission-system/node_modules/web-tree-sitter/lib/atomic.h +0 -68
  365. package/packages/permission-system/node_modules/web-tree-sitter/lib/clock.h +0 -146
  366. package/packages/permission-system/node_modules/web-tree-sitter/lib/error_costs.h +0 -11
  367. package/packages/permission-system/node_modules/web-tree-sitter/lib/get_changed_ranges.c +0 -523
  368. package/packages/permission-system/node_modules/web-tree-sitter/lib/get_changed_ranges.h +0 -36
  369. package/packages/permission-system/node_modules/web-tree-sitter/lib/host.h +0 -21
  370. package/packages/permission-system/node_modules/web-tree-sitter/lib/language.c +0 -293
  371. package/packages/permission-system/node_modules/web-tree-sitter/lib/language.h +0 -293
  372. package/packages/permission-system/node_modules/web-tree-sitter/lib/length.h +0 -52
  373. package/packages/permission-system/node_modules/web-tree-sitter/lib/lexer.c +0 -483
  374. package/packages/permission-system/node_modules/web-tree-sitter/lib/lexer.h +0 -54
  375. package/packages/permission-system/node_modules/web-tree-sitter/lib/lib.c +0 -12
  376. package/packages/permission-system/node_modules/web-tree-sitter/lib/node.c +0 -875
  377. package/packages/permission-system/node_modules/web-tree-sitter/lib/parser.c +0 -2297
  378. package/packages/permission-system/node_modules/web-tree-sitter/lib/parser.h +0 -286
  379. package/packages/permission-system/node_modules/web-tree-sitter/lib/point.h +0 -48
  380. package/packages/permission-system/node_modules/web-tree-sitter/lib/query.c +0 -4347
  381. package/packages/permission-system/node_modules/web-tree-sitter/lib/reduce_action.h +0 -34
  382. package/packages/permission-system/node_modules/web-tree-sitter/lib/reusable_node.h +0 -95
  383. package/packages/permission-system/node_modules/web-tree-sitter/lib/stack.c +0 -912
  384. package/packages/permission-system/node_modules/web-tree-sitter/lib/stack.h +0 -133
  385. package/packages/permission-system/node_modules/web-tree-sitter/lib/subtree.c +0 -1034
  386. package/packages/permission-system/node_modules/web-tree-sitter/lib/subtree.h +0 -399
  387. package/packages/permission-system/node_modules/web-tree-sitter/lib/tree-sitter.c +0 -987
  388. package/packages/permission-system/node_modules/web-tree-sitter/lib/tree-sitter.cjs +0 -2988
  389. package/packages/permission-system/node_modules/web-tree-sitter/lib/tree-sitter.wasm +0 -0
  390. package/packages/permission-system/node_modules/web-tree-sitter/lib/tree-sitter.wasm.map +0 -1
  391. package/packages/permission-system/node_modules/web-tree-sitter/lib/tree.c +0 -170
  392. package/packages/permission-system/node_modules/web-tree-sitter/lib/tree.h +0 -31
  393. package/packages/permission-system/node_modules/web-tree-sitter/lib/tree_cursor.c +0 -716
  394. package/packages/permission-system/node_modules/web-tree-sitter/lib/tree_cursor.h +0 -48
  395. package/packages/permission-system/node_modules/web-tree-sitter/lib/ts_assert.h +0 -11
  396. package/packages/permission-system/node_modules/web-tree-sitter/lib/unicode.h +0 -75
  397. package/packages/permission-system/node_modules/web-tree-sitter/lib/wasm_store.c +0 -1937
  398. package/packages/permission-system/node_modules/web-tree-sitter/lib/wasm_store.h +0 -31
  399. package/packages/permission-system/node_modules/web-tree-sitter/package.json +0 -98
  400. package/packages/permission-system/node_modules/web-tree-sitter/src/bindings.ts +0 -26
  401. package/packages/permission-system/node_modules/web-tree-sitter/src/constants.ts +0 -133
  402. package/packages/permission-system/node_modules/web-tree-sitter/src/index.ts +0 -31
  403. package/packages/permission-system/node_modules/web-tree-sitter/src/language.ts +0 -291
  404. package/packages/permission-system/node_modules/web-tree-sitter/src/lookahead_iterator.ts +0 -75
  405. package/packages/permission-system/node_modules/web-tree-sitter/src/marshal.ts +0 -176
  406. package/packages/permission-system/node_modules/web-tree-sitter/src/node.ts +0 -646
  407. package/packages/permission-system/node_modules/web-tree-sitter/src/parser.ts +0 -325
  408. package/packages/permission-system/node_modules/web-tree-sitter/src/query.ts +0 -973
  409. package/packages/permission-system/node_modules/web-tree-sitter/src/tree.ts +0 -145
  410. package/packages/permission-system/node_modules/web-tree-sitter/src/tree_cursor.ts +0 -318
  411. package/packages/permission-system/node_modules/web-tree-sitter/tree-sitter.cjs +0 -4031
  412. package/packages/permission-system/node_modules/web-tree-sitter/tree-sitter.cjs.map +0 -7
  413. package/packages/permission-system/node_modules/web-tree-sitter/tree-sitter.js +0 -3980
  414. package/packages/permission-system/node_modules/web-tree-sitter/tree-sitter.js.map +0 -7
  415. package/packages/permission-system/node_modules/web-tree-sitter/tree-sitter.wasm +0 -0
  416. package/packages/permission-system/node_modules/web-tree-sitter/tree-sitter.wasm.map +0 -30
  417. package/packages/permission-system/node_modules/web-tree-sitter/web-tree-sitter.d.ts +0 -1030
  418. package/packages/permission-system/node_modules/web-tree-sitter/web-tree-sitter.d.ts.map +0 -56
  419. package/packages/permission-system/node_modules/zod/LICENSE +0 -21
  420. package/packages/permission-system/node_modules/zod/README.md +0 -208
  421. package/packages/permission-system/node_modules/zod/index.cjs +0 -33
  422. package/packages/permission-system/node_modules/zod/index.d.cts +0 -4
  423. package/packages/permission-system/node_modules/zod/index.d.ts +0 -4
  424. package/packages/permission-system/node_modules/zod/index.js +0 -4
  425. package/packages/permission-system/node_modules/zod/package.json +0 -118
  426. package/packages/permission-system/node_modules/zod/src/index.ts +0 -4
  427. package/packages/permission-system/node_modules/zod/src/v3/ZodError.ts +0 -330
  428. package/packages/permission-system/node_modules/zod/src/v3/benchmarks/datetime.ts +0 -58
  429. package/packages/permission-system/node_modules/zod/src/v3/benchmarks/discriminatedUnion.ts +0 -80
  430. package/packages/permission-system/node_modules/zod/src/v3/benchmarks/index.ts +0 -59
  431. package/packages/permission-system/node_modules/zod/src/v3/benchmarks/ipv4.ts +0 -57
  432. package/packages/permission-system/node_modules/zod/src/v3/benchmarks/object.ts +0 -69
  433. package/packages/permission-system/node_modules/zod/src/v3/benchmarks/primitives.ts +0 -162
  434. package/packages/permission-system/node_modules/zod/src/v3/benchmarks/realworld.ts +0 -63
  435. package/packages/permission-system/node_modules/zod/src/v3/benchmarks/string.ts +0 -55
  436. package/packages/permission-system/node_modules/zod/src/v3/benchmarks/union.ts +0 -80
  437. package/packages/permission-system/node_modules/zod/src/v3/errors.ts +0 -13
  438. package/packages/permission-system/node_modules/zod/src/v3/external.ts +0 -6
  439. package/packages/permission-system/node_modules/zod/src/v3/helpers/enumUtil.ts +0 -17
  440. package/packages/permission-system/node_modules/zod/src/v3/helpers/errorUtil.ts +0 -8
  441. package/packages/permission-system/node_modules/zod/src/v3/helpers/parseUtil.ts +0 -176
  442. package/packages/permission-system/node_modules/zod/src/v3/helpers/partialUtil.ts +0 -34
  443. package/packages/permission-system/node_modules/zod/src/v3/helpers/typeAliases.ts +0 -2
  444. package/packages/permission-system/node_modules/zod/src/v3/helpers/util.ts +0 -224
  445. package/packages/permission-system/node_modules/zod/src/v3/index.ts +0 -4
  446. package/packages/permission-system/node_modules/zod/src/v3/locales/en.ts +0 -124
  447. package/packages/permission-system/node_modules/zod/src/v3/standard-schema.ts +0 -113
  448. package/packages/permission-system/node_modules/zod/src/v3/tests/Mocker.ts +0 -54
  449. package/packages/permission-system/node_modules/zod/src/v3/tests/all-errors.test.ts +0 -157
  450. package/packages/permission-system/node_modules/zod/src/v3/tests/anyunknown.test.ts +0 -28
  451. package/packages/permission-system/node_modules/zod/src/v3/tests/array.test.ts +0 -71
  452. package/packages/permission-system/node_modules/zod/src/v3/tests/async-parsing.test.ts +0 -388
  453. package/packages/permission-system/node_modules/zod/src/v3/tests/async-refinements.test.ts +0 -46
  454. package/packages/permission-system/node_modules/zod/src/v3/tests/base.test.ts +0 -29
  455. package/packages/permission-system/node_modules/zod/src/v3/tests/bigint.test.ts +0 -55
  456. package/packages/permission-system/node_modules/zod/src/v3/tests/branded.test.ts +0 -53
  457. package/packages/permission-system/node_modules/zod/src/v3/tests/catch.test.ts +0 -220
  458. package/packages/permission-system/node_modules/zod/src/v3/tests/coerce.test.ts +0 -133
  459. package/packages/permission-system/node_modules/zod/src/v3/tests/complex.test.ts +0 -56
  460. package/packages/permission-system/node_modules/zod/src/v3/tests/custom.test.ts +0 -31
  461. package/packages/permission-system/node_modules/zod/src/v3/tests/date.test.ts +0 -32
  462. package/packages/permission-system/node_modules/zod/src/v3/tests/deepmasking.test.ts +0 -186
  463. package/packages/permission-system/node_modules/zod/src/v3/tests/default.test.ts +0 -112
  464. package/packages/permission-system/node_modules/zod/src/v3/tests/description.test.ts +0 -33
  465. package/packages/permission-system/node_modules/zod/src/v3/tests/discriminated-unions.test.ts +0 -315
  466. package/packages/permission-system/node_modules/zod/src/v3/tests/enum.test.ts +0 -80
  467. package/packages/permission-system/node_modules/zod/src/v3/tests/error.test.ts +0 -551
  468. package/packages/permission-system/node_modules/zod/src/v3/tests/firstparty.test.ts +0 -87
  469. package/packages/permission-system/node_modules/zod/src/v3/tests/firstpartyschematypes.test.ts +0 -21
  470. package/packages/permission-system/node_modules/zod/src/v3/tests/function.test.ts +0 -257
  471. package/packages/permission-system/node_modules/zod/src/v3/tests/generics.test.ts +0 -48
  472. package/packages/permission-system/node_modules/zod/src/v3/tests/instanceof.test.ts +0 -37
  473. package/packages/permission-system/node_modules/zod/src/v3/tests/intersection.test.ts +0 -110
  474. package/packages/permission-system/node_modules/zod/src/v3/tests/language-server.source.ts +0 -76
  475. package/packages/permission-system/node_modules/zod/src/v3/tests/language-server.test.ts +0 -207
  476. package/packages/permission-system/node_modules/zod/src/v3/tests/literal.test.ts +0 -36
  477. package/packages/permission-system/node_modules/zod/src/v3/tests/map.test.ts +0 -110
  478. package/packages/permission-system/node_modules/zod/src/v3/tests/masking.test.ts +0 -4
  479. package/packages/permission-system/node_modules/zod/src/v3/tests/mocker.test.ts +0 -19
  480. package/packages/permission-system/node_modules/zod/src/v3/tests/nan.test.ts +0 -21
  481. package/packages/permission-system/node_modules/zod/src/v3/tests/nativeEnum.test.ts +0 -87
  482. package/packages/permission-system/node_modules/zod/src/v3/tests/nullable.test.ts +0 -42
  483. package/packages/permission-system/node_modules/zod/src/v3/tests/number.test.ts +0 -176
  484. package/packages/permission-system/node_modules/zod/src/v3/tests/object-augmentation.test.ts +0 -29
  485. package/packages/permission-system/node_modules/zod/src/v3/tests/object-in-es5-env.test.ts +0 -29
  486. package/packages/permission-system/node_modules/zod/src/v3/tests/object.test.ts +0 -434
  487. package/packages/permission-system/node_modules/zod/src/v3/tests/optional.test.ts +0 -42
  488. package/packages/permission-system/node_modules/zod/src/v3/tests/parseUtil.test.ts +0 -23
  489. package/packages/permission-system/node_modules/zod/src/v3/tests/parser.test.ts +0 -41
  490. package/packages/permission-system/node_modules/zod/src/v3/tests/partials.test.ts +0 -243
  491. package/packages/permission-system/node_modules/zod/src/v3/tests/pickomit.test.ts +0 -111
  492. package/packages/permission-system/node_modules/zod/src/v3/tests/pipeline.test.ts +0 -29
  493. package/packages/permission-system/node_modules/zod/src/v3/tests/preprocess.test.ts +0 -186
  494. package/packages/permission-system/node_modules/zod/src/v3/tests/primitive.test.ts +0 -440
  495. package/packages/permission-system/node_modules/zod/src/v3/tests/promise.test.ts +0 -90
  496. package/packages/permission-system/node_modules/zod/src/v3/tests/readonly.test.ts +0 -194
  497. package/packages/permission-system/node_modules/zod/src/v3/tests/record.test.ts +0 -171
  498. package/packages/permission-system/node_modules/zod/src/v3/tests/recursive.test.ts +0 -197
  499. package/packages/permission-system/node_modules/zod/src/v3/tests/refine.test.ts +0 -313
  500. package/packages/permission-system/node_modules/zod/src/v3/tests/safeparse.test.ts +0 -27
  501. package/packages/permission-system/node_modules/zod/src/v3/tests/set.test.ts +0 -142
  502. package/packages/permission-system/node_modules/zod/src/v3/tests/standard-schema.test.ts +0 -83
  503. package/packages/permission-system/node_modules/zod/src/v3/tests/string.test.ts +0 -916
  504. package/packages/permission-system/node_modules/zod/src/v3/tests/transformer.test.ts +0 -233
  505. package/packages/permission-system/node_modules/zod/src/v3/tests/tuple.test.ts +0 -90
  506. package/packages/permission-system/node_modules/zod/src/v3/tests/unions.test.ts +0 -57
  507. package/packages/permission-system/node_modules/zod/src/v3/tests/validations.test.ts +0 -133
  508. package/packages/permission-system/node_modules/zod/src/v3/tests/void.test.ts +0 -15
  509. package/packages/permission-system/node_modules/zod/src/v3/types.ts +0 -5136
  510. package/packages/permission-system/node_modules/zod/src/v4/classic/checks.ts +0 -30
  511. package/packages/permission-system/node_modules/zod/src/v4/classic/coerce.ts +0 -27
  512. package/packages/permission-system/node_modules/zod/src/v4/classic/compat.ts +0 -66
  513. package/packages/permission-system/node_modules/zod/src/v4/classic/errors.ts +0 -75
  514. package/packages/permission-system/node_modules/zod/src/v4/classic/external.ts +0 -50
  515. package/packages/permission-system/node_modules/zod/src/v4/classic/index.ts +0 -5
  516. package/packages/permission-system/node_modules/zod/src/v4/classic/iso.ts +0 -90
  517. package/packages/permission-system/node_modules/zod/src/v4/classic/parse.ts +0 -33
  518. package/packages/permission-system/node_modules/zod/src/v4/classic/schemas.ts +0 -2054
  519. package/packages/permission-system/node_modules/zod/src/v4/classic/tests/anyunknown.test.ts +0 -26
  520. package/packages/permission-system/node_modules/zod/src/v4/classic/tests/array.test.ts +0 -264
  521. package/packages/permission-system/node_modules/zod/src/v4/classic/tests/assignability.test.ts +0 -210
  522. package/packages/permission-system/node_modules/zod/src/v4/classic/tests/async-parsing.test.ts +0 -381
  523. package/packages/permission-system/node_modules/zod/src/v4/classic/tests/async-refinements.test.ts +0 -68
  524. package/packages/permission-system/node_modules/zod/src/v4/classic/tests/base.test.ts +0 -7
  525. package/packages/permission-system/node_modules/zod/src/v4/classic/tests/bigint.test.ts +0 -54
  526. package/packages/permission-system/node_modules/zod/src/v4/classic/tests/brand.test.ts +0 -63
  527. package/packages/permission-system/node_modules/zod/src/v4/classic/tests/catch.test.ts +0 -252
  528. package/packages/permission-system/node_modules/zod/src/v4/classic/tests/coalesce.test.ts +0 -20
  529. package/packages/permission-system/node_modules/zod/src/v4/classic/tests/coerce.test.ts +0 -160
  530. package/packages/permission-system/node_modules/zod/src/v4/classic/tests/continuability.test.ts +0 -352
  531. package/packages/permission-system/node_modules/zod/src/v4/classic/tests/custom.test.ts +0 -40
  532. package/packages/permission-system/node_modules/zod/src/v4/classic/tests/date.test.ts +0 -31
  533. package/packages/permission-system/node_modules/zod/src/v4/classic/tests/datetime.test.ts +0 -296
  534. package/packages/permission-system/node_modules/zod/src/v4/classic/tests/default.test.ts +0 -313
  535. package/packages/permission-system/node_modules/zod/src/v4/classic/tests/description.test.ts +0 -32
  536. package/packages/permission-system/node_modules/zod/src/v4/classic/tests/discriminated-unions.test.ts +0 -619
  537. package/packages/permission-system/node_modules/zod/src/v4/classic/tests/enum.test.ts +0 -285
  538. package/packages/permission-system/node_modules/zod/src/v4/classic/tests/error-utils.test.ts +0 -527
  539. package/packages/permission-system/node_modules/zod/src/v4/classic/tests/error.test.ts +0 -711
  540. package/packages/permission-system/node_modules/zod/src/v4/classic/tests/file.test.ts +0 -91
  541. package/packages/permission-system/node_modules/zod/src/v4/classic/tests/firstparty.test.ts +0 -175
  542. package/packages/permission-system/node_modules/zod/src/v4/classic/tests/function.test.ts +0 -268
  543. package/packages/permission-system/node_modules/zod/src/v4/classic/tests/generics.test.ts +0 -72
  544. package/packages/permission-system/node_modules/zod/src/v4/classic/tests/index.test.ts +0 -829
  545. package/packages/permission-system/node_modules/zod/src/v4/classic/tests/instanceof.test.ts +0 -34
  546. package/packages/permission-system/node_modules/zod/src/v4/classic/tests/intersection.test.ts +0 -171
  547. package/packages/permission-system/node_modules/zod/src/v4/classic/tests/json.test.ts +0 -108
  548. package/packages/permission-system/node_modules/zod/src/v4/classic/tests/lazy.test.ts +0 -227
  549. package/packages/permission-system/node_modules/zod/src/v4/classic/tests/literal.test.ts +0 -92
  550. package/packages/permission-system/node_modules/zod/src/v4/classic/tests/map.test.ts +0 -196
  551. package/packages/permission-system/node_modules/zod/src/v4/classic/tests/nan.test.ts +0 -21
  552. package/packages/permission-system/node_modules/zod/src/v4/classic/tests/nested-refine.test.ts +0 -168
  553. package/packages/permission-system/node_modules/zod/src/v4/classic/tests/nonoptional.test.ts +0 -86
  554. package/packages/permission-system/node_modules/zod/src/v4/classic/tests/nullable.test.ts +0 -22
  555. package/packages/permission-system/node_modules/zod/src/v4/classic/tests/number.test.ts +0 -247
  556. package/packages/permission-system/node_modules/zod/src/v4/classic/tests/object.test.ts +0 -563
  557. package/packages/permission-system/node_modules/zod/src/v4/classic/tests/optional.test.ts +0 -123
  558. package/packages/permission-system/node_modules/zod/src/v4/classic/tests/partial.test.ts +0 -147
  559. package/packages/permission-system/node_modules/zod/src/v4/classic/tests/pickomit.test.ts +0 -127
  560. package/packages/permission-system/node_modules/zod/src/v4/classic/tests/pipe.test.ts +0 -81
  561. package/packages/permission-system/node_modules/zod/src/v4/classic/tests/prefault.test.ts +0 -37
  562. package/packages/permission-system/node_modules/zod/src/v4/classic/tests/preprocess.test.ts +0 -298
  563. package/packages/permission-system/node_modules/zod/src/v4/classic/tests/primitive.test.ts +0 -175
  564. package/packages/permission-system/node_modules/zod/src/v4/classic/tests/promise.test.ts +0 -81
  565. package/packages/permission-system/node_modules/zod/src/v4/classic/tests/prototypes.test.ts +0 -23
  566. package/packages/permission-system/node_modules/zod/src/v4/classic/tests/readonly.test.ts +0 -252
  567. package/packages/permission-system/node_modules/zod/src/v4/classic/tests/record.test.ts +0 -342
  568. package/packages/permission-system/node_modules/zod/src/v4/classic/tests/recursive-types.test.ts +0 -356
  569. package/packages/permission-system/node_modules/zod/src/v4/classic/tests/refine.test.ts +0 -532
  570. package/packages/permission-system/node_modules/zod/src/v4/classic/tests/registries.test.ts +0 -204
  571. package/packages/permission-system/node_modules/zod/src/v4/classic/tests/set.test.ts +0 -179
  572. package/packages/permission-system/node_modules/zod/src/v4/classic/tests/standard-schema.test.ts +0 -57
  573. package/packages/permission-system/node_modules/zod/src/v4/classic/tests/string-formats.test.ts +0 -109
  574. package/packages/permission-system/node_modules/zod/src/v4/classic/tests/string.test.ts +0 -881
  575. package/packages/permission-system/node_modules/zod/src/v4/classic/tests/stringbool.test.ts +0 -66
  576. package/packages/permission-system/node_modules/zod/src/v4/classic/tests/template-literal.test.ts +0 -758
  577. package/packages/permission-system/node_modules/zod/src/v4/classic/tests/to-json-schema.test.ts +0 -2314
  578. package/packages/permission-system/node_modules/zod/src/v4/classic/tests/transform.test.ts +0 -250
  579. package/packages/permission-system/node_modules/zod/src/v4/classic/tests/tuple.test.ts +0 -163
  580. package/packages/permission-system/node_modules/zod/src/v4/classic/tests/union.test.ts +0 -94
  581. package/packages/permission-system/node_modules/zod/src/v4/classic/tests/validations.test.ts +0 -283
  582. package/packages/permission-system/node_modules/zod/src/v4/classic/tests/void.test.ts +0 -12
  583. package/packages/permission-system/node_modules/zod/src/v4/core/api.ts +0 -1594
  584. package/packages/permission-system/node_modules/zod/src/v4/core/checks.ts +0 -1283
  585. package/packages/permission-system/node_modules/zod/src/v4/core/config.ts +0 -15
  586. package/packages/permission-system/node_modules/zod/src/v4/core/core.ts +0 -134
  587. package/packages/permission-system/node_modules/zod/src/v4/core/doc.ts +0 -44
  588. package/packages/permission-system/node_modules/zod/src/v4/core/errors.ts +0 -424
  589. package/packages/permission-system/node_modules/zod/src/v4/core/function.ts +0 -176
  590. package/packages/permission-system/node_modules/zod/src/v4/core/index.ts +0 -15
  591. package/packages/permission-system/node_modules/zod/src/v4/core/json-schema.ts +0 -143
  592. package/packages/permission-system/node_modules/zod/src/v4/core/parse.ts +0 -94
  593. package/packages/permission-system/node_modules/zod/src/v4/core/regexes.ts +0 -135
  594. package/packages/permission-system/node_modules/zod/src/v4/core/registries.ts +0 -96
  595. package/packages/permission-system/node_modules/zod/src/v4/core/schemas.ts +0 -3842
  596. package/packages/permission-system/node_modules/zod/src/v4/core/standard-schema.ts +0 -64
  597. package/packages/permission-system/node_modules/zod/src/v4/core/tests/index.test.ts +0 -46
  598. package/packages/permission-system/node_modules/zod/src/v4/core/tests/locales/be.test.ts +0 -124
  599. package/packages/permission-system/node_modules/zod/src/v4/core/tests/locales/en.test.ts +0 -22
  600. package/packages/permission-system/node_modules/zod/src/v4/core/tests/locales/ru.test.ts +0 -128
  601. package/packages/permission-system/node_modules/zod/src/v4/core/tests/locales/tr.test.ts +0 -69
  602. package/packages/permission-system/node_modules/zod/src/v4/core/to-json-schema.ts +0 -977
  603. package/packages/permission-system/node_modules/zod/src/v4/core/util.ts +0 -775
  604. package/packages/permission-system/node_modules/zod/src/v4/core/versions.ts +0 -5
  605. package/packages/permission-system/node_modules/zod/src/v4/core/zsf.ts +0 -323
  606. package/packages/permission-system/node_modules/zod/src/v4/index.ts +0 -4
  607. package/packages/permission-system/node_modules/zod/src/v4/locales/ar.ts +0 -125
  608. package/packages/permission-system/node_modules/zod/src/v4/locales/az.ts +0 -121
  609. package/packages/permission-system/node_modules/zod/src/v4/locales/be.ts +0 -184
  610. package/packages/permission-system/node_modules/zod/src/v4/locales/ca.ts +0 -127
  611. package/packages/permission-system/node_modules/zod/src/v4/locales/cs.ts +0 -142
  612. package/packages/permission-system/node_modules/zod/src/v4/locales/de.ts +0 -124
  613. package/packages/permission-system/node_modules/zod/src/v4/locales/en.ts +0 -127
  614. package/packages/permission-system/node_modules/zod/src/v4/locales/eo.ts +0 -125
  615. package/packages/permission-system/node_modules/zod/src/v4/locales/es.ts +0 -125
  616. package/packages/permission-system/node_modules/zod/src/v4/locales/fa.ts +0 -134
  617. package/packages/permission-system/node_modules/zod/src/v4/locales/fi.ts +0 -131
  618. package/packages/permission-system/node_modules/zod/src/v4/locales/fr-CA.ts +0 -126
  619. package/packages/permission-system/node_modules/zod/src/v4/locales/fr.ts +0 -124
  620. package/packages/permission-system/node_modules/zod/src/v4/locales/he.ts +0 -125
  621. package/packages/permission-system/node_modules/zod/src/v4/locales/hu.ts +0 -126
  622. package/packages/permission-system/node_modules/zod/src/v4/locales/id.ts +0 -125
  623. package/packages/permission-system/node_modules/zod/src/v4/locales/index.ts +0 -39
  624. package/packages/permission-system/node_modules/zod/src/v4/locales/it.ts +0 -125
  625. package/packages/permission-system/node_modules/zod/src/v4/locales/ja.ts +0 -122
  626. package/packages/permission-system/node_modules/zod/src/v4/locales/kh.ts +0 -126
  627. package/packages/permission-system/node_modules/zod/src/v4/locales/ko.ts +0 -131
  628. package/packages/permission-system/node_modules/zod/src/v4/locales/mk.ts +0 -127
  629. package/packages/permission-system/node_modules/zod/src/v4/locales/ms.ts +0 -124
  630. package/packages/permission-system/node_modules/zod/src/v4/locales/nl.ts +0 -126
  631. package/packages/permission-system/node_modules/zod/src/v4/locales/no.ts +0 -124
  632. package/packages/permission-system/node_modules/zod/src/v4/locales/ota.ts +0 -125
  633. package/packages/permission-system/node_modules/zod/src/v4/locales/pl.ts +0 -126
  634. package/packages/permission-system/node_modules/zod/src/v4/locales/ps.ts +0 -133
  635. package/packages/permission-system/node_modules/zod/src/v4/locales/pt.ts +0 -123
  636. package/packages/permission-system/node_modules/zod/src/v4/locales/ru.ts +0 -184
  637. package/packages/permission-system/node_modules/zod/src/v4/locales/sl.ts +0 -126
  638. package/packages/permission-system/node_modules/zod/src/v4/locales/sv.ts +0 -127
  639. package/packages/permission-system/node_modules/zod/src/v4/locales/ta.ts +0 -125
  640. package/packages/permission-system/node_modules/zod/src/v4/locales/th.ts +0 -126
  641. package/packages/permission-system/node_modules/zod/src/v4/locales/tr.ts +0 -121
  642. package/packages/permission-system/node_modules/zod/src/v4/locales/ua.ts +0 -126
  643. package/packages/permission-system/node_modules/zod/src/v4/locales/ur.ts +0 -126
  644. package/packages/permission-system/node_modules/zod/src/v4/locales/vi.ts +0 -125
  645. package/packages/permission-system/node_modules/zod/src/v4/locales/zh-CN.ts +0 -123
  646. package/packages/permission-system/node_modules/zod/src/v4/locales/zh-TW.ts +0 -125
  647. package/packages/permission-system/node_modules/zod/src/v4/mini/checks.ts +0 -32
  648. package/packages/permission-system/node_modules/zod/src/v4/mini/coerce.ts +0 -22
  649. package/packages/permission-system/node_modules/zod/src/v4/mini/external.ts +0 -40
  650. package/packages/permission-system/node_modules/zod/src/v4/mini/index.ts +0 -3
  651. package/packages/permission-system/node_modules/zod/src/v4/mini/iso.ts +0 -62
  652. package/packages/permission-system/node_modules/zod/src/v4/mini/parse.ts +0 -1
  653. package/packages/permission-system/node_modules/zod/src/v4/mini/schemas.ts +0 -1579
  654. package/packages/permission-system/node_modules/zod/src/v4/mini/tests/assignability.test.ts +0 -129
  655. package/packages/permission-system/node_modules/zod/src/v4/mini/tests/brand.test.ts +0 -51
  656. package/packages/permission-system/node_modules/zod/src/v4/mini/tests/checks.test.ts +0 -144
  657. package/packages/permission-system/node_modules/zod/src/v4/mini/tests/computed.test.ts +0 -36
  658. package/packages/permission-system/node_modules/zod/src/v4/mini/tests/error.test.ts +0 -22
  659. package/packages/permission-system/node_modules/zod/src/v4/mini/tests/functions.test.ts +0 -43
  660. package/packages/permission-system/node_modules/zod/src/v4/mini/tests/index.test.ts +0 -871
  661. package/packages/permission-system/node_modules/zod/src/v4/mini/tests/number.test.ts +0 -95
  662. package/packages/permission-system/node_modules/zod/src/v4/mini/tests/object.test.ts +0 -185
  663. package/packages/permission-system/node_modules/zod/src/v4/mini/tests/prototypes.test.ts +0 -43
  664. package/packages/permission-system/node_modules/zod/src/v4/mini/tests/recursive-types.test.ts +0 -275
  665. package/packages/permission-system/node_modules/zod/src/v4/mini/tests/string.test.ts +0 -299
  666. package/packages/permission-system/node_modules/zod/src/v4-mini/index.ts +0 -1
  667. package/packages/permission-system/node_modules/zod/v3/ZodError.cjs +0 -138
  668. package/packages/permission-system/node_modules/zod/v3/ZodError.d.cts +0 -164
  669. package/packages/permission-system/node_modules/zod/v3/ZodError.d.ts +0 -164
  670. package/packages/permission-system/node_modules/zod/v3/ZodError.js +0 -133
  671. package/packages/permission-system/node_modules/zod/v3/errors.cjs +0 -17
  672. package/packages/permission-system/node_modules/zod/v3/errors.d.cts +0 -5
  673. package/packages/permission-system/node_modules/zod/v3/errors.d.ts +0 -5
  674. package/packages/permission-system/node_modules/zod/v3/errors.js +0 -9
  675. package/packages/permission-system/node_modules/zod/v3/external.cjs +0 -22
  676. package/packages/permission-system/node_modules/zod/v3/external.d.cts +0 -6
  677. package/packages/permission-system/node_modules/zod/v3/external.d.ts +0 -6
  678. package/packages/permission-system/node_modules/zod/v3/external.js +0 -6
  679. package/packages/permission-system/node_modules/zod/v3/helpers/enumUtil.cjs +0 -2
  680. package/packages/permission-system/node_modules/zod/v3/helpers/enumUtil.d.cts +0 -8
  681. package/packages/permission-system/node_modules/zod/v3/helpers/enumUtil.d.ts +0 -8
  682. package/packages/permission-system/node_modules/zod/v3/helpers/enumUtil.js +0 -1
  683. package/packages/permission-system/node_modules/zod/v3/helpers/errorUtil.cjs +0 -9
  684. package/packages/permission-system/node_modules/zod/v3/helpers/errorUtil.d.cts +0 -9
  685. package/packages/permission-system/node_modules/zod/v3/helpers/errorUtil.d.ts +0 -9
  686. package/packages/permission-system/node_modules/zod/v3/helpers/errorUtil.js +0 -6
  687. package/packages/permission-system/node_modules/zod/v3/helpers/parseUtil.cjs +0 -124
  688. package/packages/permission-system/node_modules/zod/v3/helpers/parseUtil.d.cts +0 -78
  689. package/packages/permission-system/node_modules/zod/v3/helpers/parseUtil.d.ts +0 -78
  690. package/packages/permission-system/node_modules/zod/v3/helpers/parseUtil.js +0 -109
  691. package/packages/permission-system/node_modules/zod/v3/helpers/partialUtil.cjs +0 -2
  692. package/packages/permission-system/node_modules/zod/v3/helpers/partialUtil.d.cts +0 -8
  693. package/packages/permission-system/node_modules/zod/v3/helpers/partialUtil.d.ts +0 -8
  694. package/packages/permission-system/node_modules/zod/v3/helpers/partialUtil.js +0 -1
  695. package/packages/permission-system/node_modules/zod/v3/helpers/typeAliases.cjs +0 -2
  696. package/packages/permission-system/node_modules/zod/v3/helpers/typeAliases.d.cts +0 -2
  697. package/packages/permission-system/node_modules/zod/v3/helpers/typeAliases.d.ts +0 -2
  698. package/packages/permission-system/node_modules/zod/v3/helpers/typeAliases.js +0 -1
  699. package/packages/permission-system/node_modules/zod/v3/helpers/util.cjs +0 -137
  700. package/packages/permission-system/node_modules/zod/v3/helpers/util.d.cts +0 -85
  701. package/packages/permission-system/node_modules/zod/v3/helpers/util.d.ts +0 -85
  702. package/packages/permission-system/node_modules/zod/v3/helpers/util.js +0 -133
  703. package/packages/permission-system/node_modules/zod/v3/index.cjs +0 -33
  704. package/packages/permission-system/node_modules/zod/v3/index.d.cts +0 -4
  705. package/packages/permission-system/node_modules/zod/v3/index.d.ts +0 -4
  706. package/packages/permission-system/node_modules/zod/v3/index.js +0 -4
  707. package/packages/permission-system/node_modules/zod/v3/locales/en.cjs +0 -111
  708. package/packages/permission-system/node_modules/zod/v3/locales/en.d.cts +0 -3
  709. package/packages/permission-system/node_modules/zod/v3/locales/en.d.ts +0 -3
  710. package/packages/permission-system/node_modules/zod/v3/locales/en.js +0 -109
  711. package/packages/permission-system/node_modules/zod/v3/standard-schema.cjs +0 -2
  712. package/packages/permission-system/node_modules/zod/v3/standard-schema.d.cts +0 -102
  713. package/packages/permission-system/node_modules/zod/v3/standard-schema.d.ts +0 -102
  714. package/packages/permission-system/node_modules/zod/v3/standard-schema.js +0 -1
  715. package/packages/permission-system/node_modules/zod/v3/types.cjs +0 -3775
  716. package/packages/permission-system/node_modules/zod/v3/types.d.cts +0 -1031
  717. package/packages/permission-system/node_modules/zod/v3/types.d.ts +0 -1031
  718. package/packages/permission-system/node_modules/zod/v3/types.js +0 -3693
  719. package/packages/permission-system/node_modules/zod/v4/classic/checks.cjs +0 -32
  720. package/packages/permission-system/node_modules/zod/v4/classic/checks.d.cts +0 -1
  721. package/packages/permission-system/node_modules/zod/v4/classic/checks.d.ts +0 -1
  722. package/packages/permission-system/node_modules/zod/v4/classic/checks.js +0 -1
  723. package/packages/permission-system/node_modules/zod/v4/classic/coerce.cjs +0 -47
  724. package/packages/permission-system/node_modules/zod/v4/classic/coerce.d.cts +0 -17
  725. package/packages/permission-system/node_modules/zod/v4/classic/coerce.d.ts +0 -17
  726. package/packages/permission-system/node_modules/zod/v4/classic/coerce.js +0 -17
  727. package/packages/permission-system/node_modules/zod/v4/classic/compat.cjs +0 -57
  728. package/packages/permission-system/node_modules/zod/v4/classic/compat.d.cts +0 -46
  729. package/packages/permission-system/node_modules/zod/v4/classic/compat.d.ts +0 -46
  730. package/packages/permission-system/node_modules/zod/v4/classic/compat.js +0 -27
  731. package/packages/permission-system/node_modules/zod/v4/classic/errors.cjs +0 -67
  732. package/packages/permission-system/node_modules/zod/v4/classic/errors.d.cts +0 -30
  733. package/packages/permission-system/node_modules/zod/v4/classic/errors.d.ts +0 -30
  734. package/packages/permission-system/node_modules/zod/v4/classic/errors.js +0 -41
  735. package/packages/permission-system/node_modules/zod/v4/classic/external.cjs +0 -70
  736. package/packages/permission-system/node_modules/zod/v4/classic/external.d.cts +0 -13
  737. package/packages/permission-system/node_modules/zod/v4/classic/external.d.ts +0 -13
  738. package/packages/permission-system/node_modules/zod/v4/classic/external.js +0 -18
  739. package/packages/permission-system/node_modules/zod/v4/classic/index.cjs +0 -33
  740. package/packages/permission-system/node_modules/zod/v4/classic/index.d.cts +0 -4
  741. package/packages/permission-system/node_modules/zod/v4/classic/index.d.ts +0 -4
  742. package/packages/permission-system/node_modules/zod/v4/classic/index.js +0 -4
  743. package/packages/permission-system/node_modules/zod/v4/classic/iso.cjs +0 -60
  744. package/packages/permission-system/node_modules/zod/v4/classic/iso.d.cts +0 -22
  745. package/packages/permission-system/node_modules/zod/v4/classic/iso.d.ts +0 -22
  746. package/packages/permission-system/node_modules/zod/v4/classic/iso.js +0 -30
  747. package/packages/permission-system/node_modules/zod/v4/classic/parse.cjs +0 -32
  748. package/packages/permission-system/node_modules/zod/v4/classic/parse.d.cts +0 -23
  749. package/packages/permission-system/node_modules/zod/v4/classic/parse.d.ts +0 -23
  750. package/packages/permission-system/node_modules/zod/v4/classic/parse.js +0 -6
  751. package/packages/permission-system/node_modules/zod/v4/classic/schemas.cjs +0 -1109
  752. package/packages/permission-system/node_modules/zod/v4/classic/schemas.d.cts +0 -630
  753. package/packages/permission-system/node_modules/zod/v4/classic/schemas.d.ts +0 -630
  754. package/packages/permission-system/node_modules/zod/v4/classic/schemas.js +0 -1006
  755. package/packages/permission-system/node_modules/zod/v4/core/api.cjs +0 -1039
  756. package/packages/permission-system/node_modules/zod/v4/core/api.d.cts +0 -284
  757. package/packages/permission-system/node_modules/zod/v4/core/api.d.ts +0 -284
  758. package/packages/permission-system/node_modules/zod/v4/core/api.js +0 -906
  759. package/packages/permission-system/node_modules/zod/v4/core/checks.cjs +0 -591
  760. package/packages/permission-system/node_modules/zod/v4/core/checks.d.cts +0 -278
  761. package/packages/permission-system/node_modules/zod/v4/core/checks.d.ts +0 -278
  762. package/packages/permission-system/node_modules/zod/v4/core/checks.js +0 -565
  763. package/packages/permission-system/node_modules/zod/v4/core/core.cjs +0 -67
  764. package/packages/permission-system/node_modules/zod/v4/core/core.d.cts +0 -49
  765. package/packages/permission-system/node_modules/zod/v4/core/core.d.ts +0 -49
  766. package/packages/permission-system/node_modules/zod/v4/core/core.js +0 -61
  767. package/packages/permission-system/node_modules/zod/v4/core/doc.cjs +0 -39
  768. package/packages/permission-system/node_modules/zod/v4/core/doc.d.cts +0 -14
  769. package/packages/permission-system/node_modules/zod/v4/core/doc.d.ts +0 -14
  770. package/packages/permission-system/node_modules/zod/v4/core/doc.js +0 -35
  771. package/packages/permission-system/node_modules/zod/v4/core/errors.cjs +0 -226
  772. package/packages/permission-system/node_modules/zod/v4/core/errors.d.cts +0 -208
  773. package/packages/permission-system/node_modules/zod/v4/core/errors.d.ts +0 -208
  774. package/packages/permission-system/node_modules/zod/v4/core/errors.js +0 -195
  775. package/packages/permission-system/node_modules/zod/v4/core/function.cjs +0 -102
  776. package/packages/permission-system/node_modules/zod/v4/core/function.d.cts +0 -52
  777. package/packages/permission-system/node_modules/zod/v4/core/function.d.ts +0 -52
  778. package/packages/permission-system/node_modules/zod/v4/core/function.js +0 -75
  779. package/packages/permission-system/node_modules/zod/v4/core/index.cjs +0 -44
  780. package/packages/permission-system/node_modules/zod/v4/core/index.d.cts +0 -15
  781. package/packages/permission-system/node_modules/zod/v4/core/index.d.ts +0 -15
  782. package/packages/permission-system/node_modules/zod/v4/core/index.js +0 -15
  783. package/packages/permission-system/node_modules/zod/v4/core/json-schema.cjs +0 -2
  784. package/packages/permission-system/node_modules/zod/v4/core/json-schema.d.cts +0 -87
  785. package/packages/permission-system/node_modules/zod/v4/core/json-schema.d.ts +0 -87
  786. package/packages/permission-system/node_modules/zod/v4/core/json-schema.js +0 -1
  787. package/packages/permission-system/node_modules/zod/v4/core/parse.cjs +0 -87
  788. package/packages/permission-system/node_modules/zod/v4/core/parse.d.cts +0 -25
  789. package/packages/permission-system/node_modules/zod/v4/core/parse.d.ts +0 -25
  790. package/packages/permission-system/node_modules/zod/v4/core/parse.js +0 -57
  791. package/packages/permission-system/node_modules/zod/v4/core/regexes.cjs +0 -103
  792. package/packages/permission-system/node_modules/zod/v4/core/regexes.d.cts +0 -62
  793. package/packages/permission-system/node_modules/zod/v4/core/regexes.d.ts +0 -62
  794. package/packages/permission-system/node_modules/zod/v4/core/regexes.js +0 -95
  795. package/packages/permission-system/node_modules/zod/v4/core/registries.cjs +0 -56
  796. package/packages/permission-system/node_modules/zod/v4/core/registries.d.cts +0 -35
  797. package/packages/permission-system/node_modules/zod/v4/core/registries.d.ts +0 -35
  798. package/packages/permission-system/node_modules/zod/v4/core/registries.js +0 -51
  799. package/packages/permission-system/node_modules/zod/v4/core/schemas.cjs +0 -1748
  800. package/packages/permission-system/node_modules/zod/v4/core/schemas.d.cts +0 -1041
  801. package/packages/permission-system/node_modules/zod/v4/core/schemas.d.ts +0 -1041
  802. package/packages/permission-system/node_modules/zod/v4/core/schemas.js +0 -1717
  803. package/packages/permission-system/node_modules/zod/v4/core/standard-schema.cjs +0 -2
  804. package/packages/permission-system/node_modules/zod/v4/core/standard-schema.d.cts +0 -55
  805. package/packages/permission-system/node_modules/zod/v4/core/standard-schema.d.ts +0 -55
  806. package/packages/permission-system/node_modules/zod/v4/core/standard-schema.js +0 -1
  807. package/packages/permission-system/node_modules/zod/v4/core/to-json-schema.cjs +0 -854
  808. package/packages/permission-system/node_modules/zod/v4/core/to-json-schema.d.cts +0 -88
  809. package/packages/permission-system/node_modules/zod/v4/core/to-json-schema.d.ts +0 -88
  810. package/packages/permission-system/node_modules/zod/v4/core/to-json-schema.js +0 -849
  811. package/packages/permission-system/node_modules/zod/v4/core/util.cjs +0 -539
  812. package/packages/permission-system/node_modules/zod/v4/core/util.d.cts +0 -183
  813. package/packages/permission-system/node_modules/zod/v4/core/util.d.ts +0 -183
  814. package/packages/permission-system/node_modules/zod/v4/core/util.js +0 -493
  815. package/packages/permission-system/node_modules/zod/v4/core/versions.cjs +0 -8
  816. package/packages/permission-system/node_modules/zod/v4/core/versions.d.cts +0 -5
  817. package/packages/permission-system/node_modules/zod/v4/core/versions.d.ts +0 -5
  818. package/packages/permission-system/node_modules/zod/v4/core/versions.js +0 -5
  819. package/packages/permission-system/node_modules/zod/v4/index.cjs +0 -22
  820. package/packages/permission-system/node_modules/zod/v4/index.d.cts +0 -3
  821. package/packages/permission-system/node_modules/zod/v4/index.d.ts +0 -3
  822. package/packages/permission-system/node_modules/zod/v4/index.js +0 -3
  823. package/packages/permission-system/node_modules/zod/v4/locales/ar.cjs +0 -142
  824. package/packages/permission-system/node_modules/zod/v4/locales/ar.d.cts +0 -4
  825. package/packages/permission-system/node_modules/zod/v4/locales/ar.d.ts +0 -4
  826. package/packages/permission-system/node_modules/zod/v4/locales/ar.js +0 -116
  827. package/packages/permission-system/node_modules/zod/v4/locales/az.cjs +0 -141
  828. package/packages/permission-system/node_modules/zod/v4/locales/az.d.cts +0 -4
  829. package/packages/permission-system/node_modules/zod/v4/locales/az.d.ts +0 -4
  830. package/packages/permission-system/node_modules/zod/v4/locales/az.js +0 -115
  831. package/packages/permission-system/node_modules/zod/v4/locales/be.cjs +0 -190
  832. package/packages/permission-system/node_modules/zod/v4/locales/be.d.cts +0 -4
  833. package/packages/permission-system/node_modules/zod/v4/locales/be.d.ts +0 -4
  834. package/packages/permission-system/node_modules/zod/v4/locales/be.js +0 -164
  835. package/packages/permission-system/node_modules/zod/v4/locales/ca.cjs +0 -144
  836. package/packages/permission-system/node_modules/zod/v4/locales/ca.d.cts +0 -4
  837. package/packages/permission-system/node_modules/zod/v4/locales/ca.d.ts +0 -4
  838. package/packages/permission-system/node_modules/zod/v4/locales/ca.js +0 -118
  839. package/packages/permission-system/node_modules/zod/v4/locales/cs.cjs +0 -161
  840. package/packages/permission-system/node_modules/zod/v4/locales/cs.d.cts +0 -4
  841. package/packages/permission-system/node_modules/zod/v4/locales/cs.d.ts +0 -4
  842. package/packages/permission-system/node_modules/zod/v4/locales/cs.js +0 -135
  843. package/packages/permission-system/node_modules/zod/v4/locales/de.cjs +0 -142
  844. package/packages/permission-system/node_modules/zod/v4/locales/de.d.cts +0 -4
  845. package/packages/permission-system/node_modules/zod/v4/locales/de.d.ts +0 -4
  846. package/packages/permission-system/node_modules/zod/v4/locales/de.js +0 -116
  847. package/packages/permission-system/node_modules/zod/v4/locales/en.cjs +0 -145
  848. package/packages/permission-system/node_modules/zod/v4/locales/en.d.cts +0 -5
  849. package/packages/permission-system/node_modules/zod/v4/locales/en.d.ts +0 -5
  850. package/packages/permission-system/node_modules/zod/v4/locales/en.js +0 -117
  851. package/packages/permission-system/node_modules/zod/v4/locales/eo.cjs +0 -144
  852. package/packages/permission-system/node_modules/zod/v4/locales/eo.d.cts +0 -5
  853. package/packages/permission-system/node_modules/zod/v4/locales/eo.d.ts +0 -5
  854. package/packages/permission-system/node_modules/zod/v4/locales/eo.js +0 -116
  855. package/packages/permission-system/node_modules/zod/v4/locales/es.cjs +0 -143
  856. package/packages/permission-system/node_modules/zod/v4/locales/es.d.cts +0 -4
  857. package/packages/permission-system/node_modules/zod/v4/locales/es.d.ts +0 -4
  858. package/packages/permission-system/node_modules/zod/v4/locales/es.js +0 -117
  859. package/packages/permission-system/node_modules/zod/v4/locales/fa.cjs +0 -148
  860. package/packages/permission-system/node_modules/zod/v4/locales/fa.d.cts +0 -4
  861. package/packages/permission-system/node_modules/zod/v4/locales/fa.d.ts +0 -4
  862. package/packages/permission-system/node_modules/zod/v4/locales/fa.js +0 -122
  863. package/packages/permission-system/node_modules/zod/v4/locales/fi.cjs +0 -148
  864. package/packages/permission-system/node_modules/zod/v4/locales/fi.d.cts +0 -4
  865. package/packages/permission-system/node_modules/zod/v4/locales/fi.d.ts +0 -4
  866. package/packages/permission-system/node_modules/zod/v4/locales/fi.js +0 -122
  867. package/packages/permission-system/node_modules/zod/v4/locales/fr-CA.cjs +0 -143
  868. package/packages/permission-system/node_modules/zod/v4/locales/fr-CA.d.cts +0 -4
  869. package/packages/permission-system/node_modules/zod/v4/locales/fr-CA.d.ts +0 -4
  870. package/packages/permission-system/node_modules/zod/v4/locales/fr-CA.js +0 -117
  871. package/packages/permission-system/node_modules/zod/v4/locales/fr.cjs +0 -142
  872. package/packages/permission-system/node_modules/zod/v4/locales/fr.d.cts +0 -4
  873. package/packages/permission-system/node_modules/zod/v4/locales/fr.d.ts +0 -4
  874. package/packages/permission-system/node_modules/zod/v4/locales/fr.js +0 -116
  875. package/packages/permission-system/node_modules/zod/v4/locales/he.cjs +0 -143
  876. package/packages/permission-system/node_modules/zod/v4/locales/he.d.cts +0 -4
  877. package/packages/permission-system/node_modules/zod/v4/locales/he.d.ts +0 -4
  878. package/packages/permission-system/node_modules/zod/v4/locales/he.js +0 -117
  879. package/packages/permission-system/node_modules/zod/v4/locales/hu.cjs +0 -143
  880. package/packages/permission-system/node_modules/zod/v4/locales/hu.d.cts +0 -4
  881. package/packages/permission-system/node_modules/zod/v4/locales/hu.d.ts +0 -4
  882. package/packages/permission-system/node_modules/zod/v4/locales/hu.js +0 -117
  883. package/packages/permission-system/node_modules/zod/v4/locales/id.cjs +0 -142
  884. package/packages/permission-system/node_modules/zod/v4/locales/id.d.cts +0 -4
  885. package/packages/permission-system/node_modules/zod/v4/locales/id.d.ts +0 -4
  886. package/packages/permission-system/node_modules/zod/v4/locales/id.js +0 -116
  887. package/packages/permission-system/node_modules/zod/v4/locales/index.cjs +0 -84
  888. package/packages/permission-system/node_modules/zod/v4/locales/index.d.cts +0 -39
  889. package/packages/permission-system/node_modules/zod/v4/locales/index.d.ts +0 -39
  890. package/packages/permission-system/node_modules/zod/v4/locales/index.js +0 -39
  891. package/packages/permission-system/node_modules/zod/v4/locales/it.cjs +0 -143
  892. package/packages/permission-system/node_modules/zod/v4/locales/it.d.cts +0 -4
  893. package/packages/permission-system/node_modules/zod/v4/locales/it.d.ts +0 -4
  894. package/packages/permission-system/node_modules/zod/v4/locales/it.js +0 -117
  895. package/packages/permission-system/node_modules/zod/v4/locales/ja.cjs +0 -141
  896. package/packages/permission-system/node_modules/zod/v4/locales/ja.d.cts +0 -4
  897. package/packages/permission-system/node_modules/zod/v4/locales/ja.d.ts +0 -4
  898. package/packages/permission-system/node_modules/zod/v4/locales/ja.js +0 -115
  899. package/packages/permission-system/node_modules/zod/v4/locales/kh.cjs +0 -143
  900. package/packages/permission-system/node_modules/zod/v4/locales/kh.d.cts +0 -4
  901. package/packages/permission-system/node_modules/zod/v4/locales/kh.d.ts +0 -4
  902. package/packages/permission-system/node_modules/zod/v4/locales/kh.js +0 -117
  903. package/packages/permission-system/node_modules/zod/v4/locales/ko.cjs +0 -147
  904. package/packages/permission-system/node_modules/zod/v4/locales/ko.d.cts +0 -4
  905. package/packages/permission-system/node_modules/zod/v4/locales/ko.d.ts +0 -4
  906. package/packages/permission-system/node_modules/zod/v4/locales/ko.js +0 -121
  907. package/packages/permission-system/node_modules/zod/v4/locales/mk.cjs +0 -144
  908. package/packages/permission-system/node_modules/zod/v4/locales/mk.d.cts +0 -4
  909. package/packages/permission-system/node_modules/zod/v4/locales/mk.d.ts +0 -4
  910. package/packages/permission-system/node_modules/zod/v4/locales/mk.js +0 -118
  911. package/packages/permission-system/node_modules/zod/v4/locales/ms.cjs +0 -142
  912. package/packages/permission-system/node_modules/zod/v4/locales/ms.d.cts +0 -4
  913. package/packages/permission-system/node_modules/zod/v4/locales/ms.d.ts +0 -4
  914. package/packages/permission-system/node_modules/zod/v4/locales/ms.js +0 -116
  915. package/packages/permission-system/node_modules/zod/v4/locales/nl.cjs +0 -143
  916. package/packages/permission-system/node_modules/zod/v4/locales/nl.d.cts +0 -4
  917. package/packages/permission-system/node_modules/zod/v4/locales/nl.d.ts +0 -4
  918. package/packages/permission-system/node_modules/zod/v4/locales/nl.js +0 -117
  919. package/packages/permission-system/node_modules/zod/v4/locales/no.cjs +0 -142
  920. package/packages/permission-system/node_modules/zod/v4/locales/no.d.cts +0 -4
  921. package/packages/permission-system/node_modules/zod/v4/locales/no.d.ts +0 -4
  922. package/packages/permission-system/node_modules/zod/v4/locales/no.js +0 -116
  923. package/packages/permission-system/node_modules/zod/v4/locales/ota.cjs +0 -143
  924. package/packages/permission-system/node_modules/zod/v4/locales/ota.d.cts +0 -4
  925. package/packages/permission-system/node_modules/zod/v4/locales/ota.d.ts +0 -4
  926. package/packages/permission-system/node_modules/zod/v4/locales/ota.js +0 -117
  927. package/packages/permission-system/node_modules/zod/v4/locales/pl.cjs +0 -143
  928. package/packages/permission-system/node_modules/zod/v4/locales/pl.d.cts +0 -4
  929. package/packages/permission-system/node_modules/zod/v4/locales/pl.d.ts +0 -4
  930. package/packages/permission-system/node_modules/zod/v4/locales/pl.js +0 -117
  931. package/packages/permission-system/node_modules/zod/v4/locales/ps.cjs +0 -148
  932. package/packages/permission-system/node_modules/zod/v4/locales/ps.d.cts +0 -4
  933. package/packages/permission-system/node_modules/zod/v4/locales/ps.d.ts +0 -4
  934. package/packages/permission-system/node_modules/zod/v4/locales/ps.js +0 -122
  935. package/packages/permission-system/node_modules/zod/v4/locales/pt.cjs +0 -142
  936. package/packages/permission-system/node_modules/zod/v4/locales/pt.d.cts +0 -4
  937. package/packages/permission-system/node_modules/zod/v4/locales/pt.d.ts +0 -4
  938. package/packages/permission-system/node_modules/zod/v4/locales/pt.js +0 -116
  939. package/packages/permission-system/node_modules/zod/v4/locales/ru.cjs +0 -190
  940. package/packages/permission-system/node_modules/zod/v4/locales/ru.d.cts +0 -4
  941. package/packages/permission-system/node_modules/zod/v4/locales/ru.d.ts +0 -4
  942. package/packages/permission-system/node_modules/zod/v4/locales/ru.js +0 -164
  943. package/packages/permission-system/node_modules/zod/v4/locales/sl.cjs +0 -143
  944. package/packages/permission-system/node_modules/zod/v4/locales/sl.d.cts +0 -4
  945. package/packages/permission-system/node_modules/zod/v4/locales/sl.d.ts +0 -4
  946. package/packages/permission-system/node_modules/zod/v4/locales/sl.js +0 -117
  947. package/packages/permission-system/node_modules/zod/v4/locales/sv.cjs +0 -144
  948. package/packages/permission-system/node_modules/zod/v4/locales/sv.d.cts +0 -4
  949. package/packages/permission-system/node_modules/zod/v4/locales/sv.d.ts +0 -4
  950. package/packages/permission-system/node_modules/zod/v4/locales/sv.js +0 -118
  951. package/packages/permission-system/node_modules/zod/v4/locales/ta.cjs +0 -143
  952. package/packages/permission-system/node_modules/zod/v4/locales/ta.d.cts +0 -4
  953. package/packages/permission-system/node_modules/zod/v4/locales/ta.d.ts +0 -4
  954. package/packages/permission-system/node_modules/zod/v4/locales/ta.js +0 -117
  955. package/packages/permission-system/node_modules/zod/v4/locales/th.cjs +0 -143
  956. package/packages/permission-system/node_modules/zod/v4/locales/th.d.cts +0 -4
  957. package/packages/permission-system/node_modules/zod/v4/locales/th.d.ts +0 -4
  958. package/packages/permission-system/node_modules/zod/v4/locales/th.js +0 -117
  959. package/packages/permission-system/node_modules/zod/v4/locales/tr.cjs +0 -143
  960. package/packages/permission-system/node_modules/zod/v4/locales/tr.d.cts +0 -5
  961. package/packages/permission-system/node_modules/zod/v4/locales/tr.d.ts +0 -5
  962. package/packages/permission-system/node_modules/zod/v4/locales/tr.js +0 -115
  963. package/packages/permission-system/node_modules/zod/v4/locales/ua.cjs +0 -143
  964. package/packages/permission-system/node_modules/zod/v4/locales/ua.d.cts +0 -4
  965. package/packages/permission-system/node_modules/zod/v4/locales/ua.d.ts +0 -4
  966. package/packages/permission-system/node_modules/zod/v4/locales/ua.js +0 -117
  967. package/packages/permission-system/node_modules/zod/v4/locales/ur.cjs +0 -143
  968. package/packages/permission-system/node_modules/zod/v4/locales/ur.d.cts +0 -4
  969. package/packages/permission-system/node_modules/zod/v4/locales/ur.d.ts +0 -4
  970. package/packages/permission-system/node_modules/zod/v4/locales/ur.js +0 -117
  971. package/packages/permission-system/node_modules/zod/v4/locales/vi.cjs +0 -142
  972. package/packages/permission-system/node_modules/zod/v4/locales/vi.d.cts +0 -4
  973. package/packages/permission-system/node_modules/zod/v4/locales/vi.d.ts +0 -4
  974. package/packages/permission-system/node_modules/zod/v4/locales/vi.js +0 -116
  975. package/packages/permission-system/node_modules/zod/v4/locales/zh-CN.cjs +0 -142
  976. package/packages/permission-system/node_modules/zod/v4/locales/zh-CN.d.cts +0 -4
  977. package/packages/permission-system/node_modules/zod/v4/locales/zh-CN.d.ts +0 -4
  978. package/packages/permission-system/node_modules/zod/v4/locales/zh-CN.js +0 -116
  979. package/packages/permission-system/node_modules/zod/v4/locales/zh-TW.cjs +0 -143
  980. package/packages/permission-system/node_modules/zod/v4/locales/zh-TW.d.cts +0 -4
  981. package/packages/permission-system/node_modules/zod/v4/locales/zh-TW.d.ts +0 -4
  982. package/packages/permission-system/node_modules/zod/v4/locales/zh-TW.js +0 -117
  983. package/packages/permission-system/node_modules/zod/v4/mini/checks.cjs +0 -34
  984. package/packages/permission-system/node_modules/zod/v4/mini/checks.d.cts +0 -1
  985. package/packages/permission-system/node_modules/zod/v4/mini/checks.d.ts +0 -1
  986. package/packages/permission-system/node_modules/zod/v4/mini/checks.js +0 -1
  987. package/packages/permission-system/node_modules/zod/v4/mini/coerce.cjs +0 -47
  988. package/packages/permission-system/node_modules/zod/v4/mini/coerce.d.cts +0 -7
  989. package/packages/permission-system/node_modules/zod/v4/mini/coerce.d.ts +0 -7
  990. package/packages/permission-system/node_modules/zod/v4/mini/coerce.js +0 -17
  991. package/packages/permission-system/node_modules/zod/v4/mini/external.cjs +0 -62
  992. package/packages/permission-system/node_modules/zod/v4/mini/external.d.cts +0 -11
  993. package/packages/permission-system/node_modules/zod/v4/mini/external.d.ts +0 -11
  994. package/packages/permission-system/node_modules/zod/v4/mini/external.js +0 -13
  995. package/packages/permission-system/node_modules/zod/v4/mini/index.cjs +0 -32
  996. package/packages/permission-system/node_modules/zod/v4/mini/index.d.cts +0 -3
  997. package/packages/permission-system/node_modules/zod/v4/mini/index.d.ts +0 -3
  998. package/packages/permission-system/node_modules/zod/v4/mini/index.js +0 -3
  999. package/packages/permission-system/node_modules/zod/v4/mini/iso.cjs +0 -60
  1000. package/packages/permission-system/node_modules/zod/v4/mini/iso.d.cts +0 -22
  1001. package/packages/permission-system/node_modules/zod/v4/mini/iso.d.ts +0 -22
  1002. package/packages/permission-system/node_modules/zod/v4/mini/iso.js +0 -30
  1003. package/packages/permission-system/node_modules/zod/v4/mini/parse.cjs +0 -8
  1004. package/packages/permission-system/node_modules/zod/v4/mini/parse.d.cts +0 -1
  1005. package/packages/permission-system/node_modules/zod/v4/mini/parse.d.ts +0 -1
  1006. package/packages/permission-system/node_modules/zod/v4/mini/parse.js +0 -1
  1007. package/packages/permission-system/node_modules/zod/v4/mini/schemas.cjs +0 -839
  1008. package/packages/permission-system/node_modules/zod/v4/mini/schemas.d.cts +0 -356
  1009. package/packages/permission-system/node_modules/zod/v4/mini/schemas.d.ts +0 -356
  1010. package/packages/permission-system/node_modules/zod/v4/mini/schemas.js +0 -732
  1011. package/packages/permission-system/node_modules/zod/v4-mini/index.cjs +0 -17
  1012. package/packages/permission-system/node_modules/zod/v4-mini/index.d.cts +0 -1
  1013. package/packages/permission-system/node_modules/zod/v4-mini/index.d.ts +0 -1
  1014. package/packages/permission-system/node_modules/zod/v4-mini/index.js +0 -1
  1015. /package/{node_modules/@vitos-pizza/question → packages/todoist}/tsconfig.json +0 -0
  1016. /package/{node_modules/@vitos-pizza/question → packages/todoist}/vitest.config.ts +0 -0
@@ -1,1937 +0,0 @@
1
- #include "tree_sitter/api.h"
2
- #include "./parser.h"
3
- #include <stdint.h>
4
-
5
- #ifdef TREE_SITTER_FEATURE_WASM
6
-
7
- #include "./alloc.h"
8
- #include "./array.h"
9
- #include "./atomic.h"
10
- #include "./language.h"
11
- #include "./lexer.h"
12
- #include "./wasm/wasm-stdlib.h"
13
- #include "./wasm_store.h"
14
-
15
- #include <string.h>
16
- #include <wasm.h>
17
- #include <wasmtime.h>
18
-
19
- #ifdef _MSC_VER
20
- #pragma warning(push)
21
- #pragma warning(disable : 4100)
22
- #elif defined(__GNUC__) || defined(__clang__)
23
- #pragma GCC diagnostic push
24
- #pragma GCC diagnostic ignored "-Wunused-parameter"
25
- #endif
26
-
27
- #define array_len(a) (sizeof(a) / sizeof(a[0]))
28
-
29
- // The following symbols from the C and C++ standard libraries are available
30
- // for external scanners to use.
31
- const char *STDLIB_SYMBOLS[] = {
32
- #include "./stdlib-symbols.txt"
33
- };
34
-
35
- // The contents of the `dylink.0` custom section of a wasm module,
36
- // as specified by the current WebAssembly dynamic linking ABI proposal.
37
- typedef struct {
38
- uint32_t memory_size;
39
- uint32_t memory_align;
40
- uint32_t table_size;
41
- uint32_t table_align;
42
- } WasmDylinkInfo;
43
-
44
- // WasmLanguageId - A pointer used to identify a language. This language id is
45
- // reference-counted, so that its ownership can be shared between the language
46
- // itself and the instances of the language that are held in wasm stores.
47
- typedef struct {
48
- volatile uint32_t ref_count;
49
- volatile uint32_t is_language_deleted;
50
- } WasmLanguageId;
51
-
52
- // LanguageWasmModule - Additional data associated with a wasm-backed
53
- // `TSLanguage`. This data is read-only and does not reference a particular
54
- // wasm store, so it can be shared by all users of a `TSLanguage`. A pointer to
55
- // this is stored on the language itself.
56
- typedef struct {
57
- volatile uint32_t ref_count;
58
- WasmLanguageId *language_id;
59
- wasmtime_module_t *module;
60
- const char *name;
61
- char *symbol_name_buffer;
62
- char *field_name_buffer;
63
- WasmDylinkInfo dylink_info;
64
- } LanguageWasmModule;
65
-
66
- // LanguageWasmInstance - Additional data associated with an instantiation of
67
- // a `TSLanguage` in a particular wasm store. The wasm store holds one of
68
- // these structs for each language that it has instantiated.
69
- typedef struct {
70
- WasmLanguageId *language_id;
71
- wasmtime_instance_t instance;
72
- int32_t external_states_address;
73
- int32_t lex_main_fn_index;
74
- int32_t lex_keyword_fn_index;
75
- int32_t scanner_create_fn_index;
76
- int32_t scanner_destroy_fn_index;
77
- int32_t scanner_serialize_fn_index;
78
- int32_t scanner_deserialize_fn_index;
79
- int32_t scanner_scan_fn_index;
80
- } LanguageWasmInstance;
81
-
82
- typedef struct {
83
- uint32_t reset_heap;
84
- uint32_t proc_exit;
85
- uint32_t abort;
86
- uint32_t assert_fail;
87
- uint32_t notify_memory_growth;
88
- uint32_t debug_message;
89
- uint32_t at_exit;
90
- uint32_t args_get;
91
- uint32_t args_sizes_get;
92
- } BuiltinFunctionIndices;
93
-
94
- // TSWasmStore - A struct that allows a given `Parser` to use wasm-backed
95
- // languages. This struct is mutable, and can only be used by one parser at a
96
- // time.
97
- struct TSWasmStore {
98
- wasm_engine_t *engine;
99
- wasmtime_store_t *store;
100
- wasmtime_table_t function_table;
101
- wasmtime_memory_t memory;
102
- TSLexer *current_lexer;
103
- LanguageWasmInstance *current_instance;
104
- Array(LanguageWasmInstance) language_instances;
105
- uint32_t current_memory_offset;
106
- uint32_t current_function_table_offset;
107
- uint32_t *stdlib_fn_indices;
108
- BuiltinFunctionIndices builtin_fn_indices;
109
- wasmtime_global_t stack_pointer_global;
110
- wasm_globaltype_t *const_i32_type;
111
- bool has_error;
112
- uint32_t lexer_address;
113
- };
114
-
115
- typedef Array(char) StringData;
116
-
117
- // LanguageInWasmMemory - The memory layout of a `TSLanguage` when compiled to
118
- // wasm32. This is used to copy static language data out of the wasm memory.
119
- typedef struct {
120
- uint32_t abi_version;
121
- uint32_t symbol_count;
122
- uint32_t alias_count;
123
- uint32_t token_count;
124
- uint32_t external_token_count;
125
- uint32_t state_count;
126
- uint32_t large_state_count;
127
- uint32_t production_id_count;
128
- uint32_t field_count;
129
- uint16_t max_alias_sequence_length;
130
- int32_t parse_table;
131
- int32_t small_parse_table;
132
- int32_t small_parse_table_map;
133
- int32_t parse_actions;
134
- int32_t symbol_names;
135
- int32_t field_names;
136
- int32_t field_map_slices;
137
- int32_t field_map_entries;
138
- int32_t symbol_metadata;
139
- int32_t public_symbol_map;
140
- int32_t alias_map;
141
- int32_t alias_sequences;
142
- int32_t lex_modes;
143
- int32_t lex_fn;
144
- int32_t keyword_lex_fn;
145
- TSSymbol keyword_capture_token;
146
- struct {
147
- int32_t states;
148
- int32_t symbol_map;
149
- int32_t create;
150
- int32_t destroy;
151
- int32_t scan;
152
- int32_t serialize;
153
- int32_t deserialize;
154
- } external_scanner;
155
- int32_t primary_state_ids;
156
- int32_t name;
157
- int32_t reserved_words;
158
- uint16_t max_reserved_word_set_size;
159
- uint32_t supertype_count;
160
- int32_t supertype_symbols;
161
- int32_t supertype_map_slices;
162
- int32_t supertype_map_entries;
163
- TSLanguageMetadata metadata;
164
- } LanguageInWasmMemory;
165
-
166
- // LexerInWasmMemory - The memory layout of a `TSLexer` when compiled to wasm32.
167
- // This is used to copy mutable lexing state in and out of the wasm memory.
168
- typedef struct {
169
- int32_t lookahead;
170
- TSSymbol result_symbol;
171
- int32_t advance;
172
- int32_t mark_end;
173
- int32_t get_column;
174
- int32_t is_at_included_range_start;
175
- int32_t eof;
176
- } LexerInWasmMemory;
177
-
178
- // Linear memory layout:
179
- // [ <-- stack | stdlib statics | lexer | language statics --> | serialization_buffer | heap --> ]
180
- #define MAX_MEMORY_SIZE (128 * 1024 * 1024 / MEMORY_PAGE_SIZE)
181
-
182
- /************************
183
- * WasmDylinkMemoryInfo
184
- ***********************/
185
-
186
- static uint8_t read_u8(const uint8_t **p) {
187
- return *(*p)++;
188
- }
189
-
190
- static inline uint64_t read_uleb128(const uint8_t **p, const uint8_t *end) {
191
- uint64_t value = 0;
192
- unsigned shift = 0;
193
- do {
194
- if (*p == end) return UINT64_MAX;
195
- value += (uint64_t)(**p & 0x7f) << shift;
196
- shift += 7;
197
- } while (*((*p)++) >= 128);
198
- return value;
199
- }
200
-
201
- static bool wasm_dylink_info__parse(
202
- const uint8_t *bytes,
203
- size_t length,
204
- WasmDylinkInfo *info
205
- ) {
206
- const uint8_t WASM_MAGIC_NUMBER[4] = {0, 'a', 's', 'm'};
207
- const uint8_t WASM_VERSION[4] = {1, 0, 0, 0};
208
- const uint8_t WASM_CUSTOM_SECTION = 0x0;
209
- const uint8_t WASM_DYLINK_MEM_INFO = 0x1;
210
-
211
- const uint8_t *p = bytes;
212
- const uint8_t *end = bytes + length;
213
-
214
- if (length < 8) return false;
215
- if (memcmp(p, WASM_MAGIC_NUMBER, 4) != 0) return false;
216
- p += 4;
217
- if (memcmp(p, WASM_VERSION, 4) != 0) return false;
218
- p += 4;
219
-
220
- while (p < end) {
221
- uint8_t section_id = read_u8(&p);
222
- uint32_t section_length = read_uleb128(&p, end);
223
- const uint8_t *section_end = p + section_length;
224
- if (section_end > end) return false;
225
-
226
- if (section_id == WASM_CUSTOM_SECTION) {
227
- uint32_t name_length = read_uleb128(&p, section_end);
228
- const uint8_t *name_end = p + name_length;
229
- if (name_end > section_end) return false;
230
-
231
- if (name_length == 8 && memcmp(p, "dylink.0", 8) == 0) {
232
- p = name_end;
233
- while (p < section_end) {
234
- uint8_t subsection_type = read_u8(&p);
235
- uint32_t subsection_size = read_uleb128(&p, section_end);
236
- const uint8_t *subsection_end = p + subsection_size;
237
- if (subsection_end > section_end) return false;
238
- if (subsection_type == WASM_DYLINK_MEM_INFO) {
239
- info->memory_size = read_uleb128(&p, subsection_end);
240
- info->memory_align = read_uleb128(&p, subsection_end);
241
- info->table_size = read_uleb128(&p, subsection_end);
242
- info->table_align = read_uleb128(&p, subsection_end);
243
- return true;
244
- }
245
- p = subsection_end;
246
- }
247
- }
248
- }
249
- p = section_end;
250
- }
251
- return false;
252
- }
253
-
254
- /*******************************************
255
- * Native callbacks exposed to wasm modules
256
- *******************************************/
257
-
258
- static wasm_trap_t *callback__abort(
259
- void *env,
260
- wasmtime_caller_t* caller,
261
- wasmtime_val_raw_t *args_and_results,
262
- size_t args_and_results_len
263
- ) {
264
- return wasmtime_trap_new("wasm module called abort", 24);
265
- }
266
-
267
- static wasm_trap_t *callback__debug_message(
268
- void *env,
269
- wasmtime_caller_t* caller,
270
- wasmtime_val_raw_t *args_and_results,
271
- size_t args_and_results_len
272
- ) {
273
- wasmtime_context_t *context = wasmtime_caller_context(caller);
274
- TSWasmStore *store = env;
275
- ts_assert(args_and_results_len == 2);
276
- uint32_t string_address = args_and_results[0].i32;
277
- uint32_t value = args_and_results[1].i32;
278
- uint8_t *memory = wasmtime_memory_data(context, &store->memory);
279
- printf("DEBUG: %s %u\n", &memory[string_address], value);
280
- return NULL;
281
- }
282
-
283
- static wasm_trap_t *callback__noop(
284
- void *env,
285
- wasmtime_caller_t* caller,
286
- wasmtime_val_raw_t *args_and_results,
287
- size_t args_and_results_len
288
- ) {
289
- return NULL;
290
- }
291
-
292
- static wasm_trap_t *callback__lexer_advance(
293
- void *env,
294
- wasmtime_caller_t* caller,
295
- wasmtime_val_raw_t *args_and_results,
296
- size_t args_and_results_len
297
- ) {
298
- wasmtime_context_t *context = wasmtime_caller_context(caller);
299
- ts_assert(args_and_results_len == 2);
300
-
301
- TSWasmStore *store = env;
302
- TSLexer *lexer = store->current_lexer;
303
- bool skip = args_and_results[1].i32;
304
- lexer->advance(lexer, skip);
305
-
306
- uint8_t *memory = wasmtime_memory_data(context, &store->memory);
307
- memcpy(&memory[store->lexer_address], &lexer->lookahead, sizeof(lexer->lookahead));
308
- return NULL;
309
- }
310
-
311
- static wasm_trap_t *callback__lexer_mark_end(
312
- void *env,
313
- wasmtime_caller_t* caller,
314
- wasmtime_val_raw_t *args_and_results,
315
- size_t args_and_results_len
316
- ) {
317
- TSWasmStore *store = env;
318
- TSLexer *lexer = store->current_lexer;
319
- lexer->mark_end(lexer);
320
- return NULL;
321
- }
322
-
323
- static wasm_trap_t *callback__lexer_get_column(
324
- void *env,
325
- wasmtime_caller_t* caller,
326
- wasmtime_val_raw_t *args_and_results,
327
- size_t args_and_results_len
328
- ) {
329
- TSWasmStore *store = env;
330
- TSLexer *lexer = store->current_lexer;
331
- uint32_t result = lexer->get_column(lexer);
332
- args_and_results[0].i32 = result;
333
- return NULL;
334
- }
335
-
336
- static wasm_trap_t *callback__lexer_is_at_included_range_start(
337
- void *env,
338
- wasmtime_caller_t* caller,
339
- wasmtime_val_raw_t *args_and_results,
340
- size_t args_and_results_len
341
- ) {
342
- TSWasmStore *store = env;
343
- TSLexer *lexer = store->current_lexer;
344
- bool result = lexer->is_at_included_range_start(lexer);
345
- args_and_results[0].i32 = result;
346
- return NULL;
347
- }
348
-
349
- static wasm_trap_t *callback__lexer_eof(
350
- void *env,
351
- wasmtime_caller_t* caller,
352
- wasmtime_val_raw_t *args_and_results,
353
- size_t args_and_results_len
354
- ) {
355
- TSWasmStore *store = env;
356
- TSLexer *lexer = store->current_lexer;
357
- bool result = lexer->eof(lexer);
358
- args_and_results[0].i32 = result;
359
- return NULL;
360
- }
361
-
362
- typedef struct {
363
- uint32_t *storage_location;
364
- wasmtime_func_unchecked_callback_t callback;
365
- wasm_functype_t *type;
366
- } FunctionDefinition;
367
-
368
- static void *copy(const void *data, size_t size) {
369
- void *result = ts_malloc(size);
370
- memcpy(result, data, size);
371
- return result;
372
- }
373
-
374
- static void *copy_unsized_static_array(
375
- const uint8_t *data,
376
- int32_t start_address,
377
- const int32_t all_addresses[],
378
- size_t address_count
379
- ) {
380
- int32_t end_address = 0;
381
- for (unsigned i = 0; i < address_count; i++) {
382
- if (all_addresses[i] > start_address) {
383
- if (!end_address || all_addresses[i] < end_address) {
384
- end_address = all_addresses[i];
385
- }
386
- }
387
- }
388
-
389
- if (!end_address) return NULL;
390
- size_t size = end_address - start_address;
391
- void *result = ts_malloc(size);
392
- memcpy(result, &data[start_address], size);
393
- return result;
394
- }
395
-
396
- static void *copy_strings(
397
- const uint8_t *data,
398
- int32_t array_address,
399
- size_t count,
400
- StringData *string_data
401
- ) {
402
- const char **result = ts_malloc(count * sizeof(char *));
403
- for (unsigned i = 0; i < count; i++) {
404
- int32_t address;
405
- memcpy(&address, &data[array_address + i * sizeof(address)], sizeof(address));
406
- if (address == 0) {
407
- result[i] = (const char *)-1;
408
- } else {
409
- const uint8_t *string = &data[address];
410
- uint32_t len = strlen((const char *)string);
411
- result[i] = (const char *)(uintptr_t)string_data->size;
412
- array_extend(string_data, len + 1, string);
413
- }
414
- }
415
- for (unsigned i = 0; i < count; i++) {
416
- if (result[i] == (const char *)-1) {
417
- result[i] = NULL;
418
- } else {
419
- result[i] = string_data->contents + (uintptr_t)result[i];
420
- }
421
- }
422
- return result;
423
- }
424
-
425
- static void *copy_string(
426
- const uint8_t *data,
427
- int32_t address
428
- ) {
429
- const char *string = (const char *)&data[address];
430
- size_t len = strlen(string);
431
- char *result = ts_malloc(len + 1);
432
- memcpy(result, string, len + 1);
433
- return result;
434
- }
435
-
436
- static bool name_eq(const wasm_name_t *name, const char *string) {
437
- return strncmp(string, name->data, name->size) == 0;
438
- }
439
-
440
- static inline wasm_functype_t* wasm_functype_new_4_0(
441
- wasm_valtype_t* p1,
442
- wasm_valtype_t* p2,
443
- wasm_valtype_t* p3,
444
- wasm_valtype_t* p4
445
- ) {
446
- wasm_valtype_t* ps[4] = {p1, p2, p3, p4};
447
- wasm_valtype_vec_t params, results;
448
- wasm_valtype_vec_new(&params, 4, ps);
449
- wasm_valtype_vec_new_empty(&results);
450
- return wasm_functype_new(&params, &results);
451
- }
452
-
453
- #define format(output, ...) \
454
- do { \
455
- size_t message_length = snprintf((char *)NULL, 0, __VA_ARGS__); \
456
- *output = ts_malloc(message_length + 1); \
457
- snprintf(*output, message_length + 1, __VA_ARGS__); \
458
- } while (0)
459
-
460
- WasmLanguageId *language_id_new(void) {
461
- WasmLanguageId *self = ts_malloc(sizeof(WasmLanguageId));
462
- self->is_language_deleted = false;
463
- self->ref_count = 1;
464
- return self;
465
- }
466
-
467
- WasmLanguageId *language_id_clone(WasmLanguageId *self) {
468
- atomic_inc(&self->ref_count);
469
- return self;
470
- }
471
-
472
- void language_id_delete(WasmLanguageId *self) {
473
- if (atomic_dec(&self->ref_count) == 0) {
474
- ts_free(self);
475
- }
476
- }
477
-
478
- static wasmtime_extern_t get_builtin_extern(
479
- wasmtime_table_t *table,
480
- unsigned index
481
- ) {
482
- return (wasmtime_extern_t) {
483
- .kind = WASMTIME_EXTERN_FUNC,
484
- .of.func = (wasmtime_func_t) {
485
- .store_id = table->store_id,
486
- .__private = index
487
- }
488
- };
489
- }
490
-
491
- static bool ts_wasm_store__provide_builtin_import(
492
- TSWasmStore *self,
493
- const wasm_name_t *import_name,
494
- wasmtime_extern_t *import
495
- ) {
496
- wasmtime_error_t *error = NULL;
497
- wasmtime_context_t *context = wasmtime_store_context(self->store);
498
-
499
- // Dynamic linking parameters
500
- if (name_eq(import_name, "__memory_base")) {
501
- wasmtime_val_t value = WASM_I32_VAL(self->current_memory_offset);
502
- wasmtime_global_t global;
503
- error = wasmtime_global_new(context, self->const_i32_type, &value, &global);
504
- ts_assert(!error);
505
- *import = (wasmtime_extern_t) {.kind = WASMTIME_EXTERN_GLOBAL, .of.global = global};
506
- } else if (name_eq(import_name, "__table_base")) {
507
- wasmtime_val_t value = WASM_I32_VAL(self->current_function_table_offset);
508
- wasmtime_global_t global;
509
- error = wasmtime_global_new(context, self->const_i32_type, &value, &global);
510
- ts_assert(!error);
511
- *import = (wasmtime_extern_t) {.kind = WASMTIME_EXTERN_GLOBAL, .of.global = global};
512
- } else if (name_eq(import_name, "__stack_pointer")) {
513
- *import = (wasmtime_extern_t) {.kind = WASMTIME_EXTERN_GLOBAL, .of.global = self->stack_pointer_global};
514
- } else if (name_eq(import_name, "__indirect_function_table")) {
515
- *import = (wasmtime_extern_t) {.kind = WASMTIME_EXTERN_TABLE, .of.table = self->function_table};
516
- } else if (name_eq(import_name, "memory")) {
517
- *import = (wasmtime_extern_t) {.kind = WASMTIME_EXTERN_MEMORY, .of.memory = self->memory};
518
- }
519
-
520
- // Builtin functions
521
- else if (name_eq(import_name, "__assert_fail")) {
522
- *import = get_builtin_extern(&self->function_table, self->builtin_fn_indices.assert_fail);
523
- } else if (name_eq(import_name, "__cxa_atexit")) {
524
- *import = get_builtin_extern(&self->function_table, self->builtin_fn_indices.at_exit);
525
- } else if (name_eq(import_name, "args_get")) {
526
- *import = get_builtin_extern(&self->function_table, self->builtin_fn_indices.args_get);
527
- } else if (name_eq(import_name, "args_sizes_get")) {
528
- *import = get_builtin_extern(&self->function_table, self->builtin_fn_indices.args_sizes_get);
529
- } else if (name_eq(import_name, "abort")) {
530
- *import = get_builtin_extern(&self->function_table, self->builtin_fn_indices.abort);
531
- } else if (name_eq(import_name, "proc_exit")) {
532
- *import = get_builtin_extern(&self->function_table, self->builtin_fn_indices.proc_exit);
533
- } else if (name_eq(import_name, "emscripten_notify_memory_growth")) {
534
- *import = get_builtin_extern(&self->function_table, self->builtin_fn_indices.notify_memory_growth);
535
- } else if (name_eq(import_name, "tree_sitter_debug_message")) {
536
- *import = get_builtin_extern(&self->function_table, self->builtin_fn_indices.debug_message);
537
- } else {
538
- return false;
539
- }
540
-
541
- return true;
542
- }
543
-
544
- static bool ts_wasm_store__call_module_initializer(
545
- TSWasmStore *self,
546
- const wasm_name_t *export_name,
547
- wasmtime_extern_t *export,
548
- wasm_trap_t **trap
549
- ) {
550
- if (
551
- name_eq(export_name, "_initialize") ||
552
- name_eq(export_name, "__wasm_apply_data_relocs") ||
553
- name_eq(export_name, "__wasm_call_ctors")
554
- ) {
555
- wasmtime_context_t *context = wasmtime_store_context(self->store);
556
- wasmtime_func_t initialization_func = export->of.func;
557
- wasmtime_error_t *error = wasmtime_func_call(context, &initialization_func, NULL, 0, NULL, 0, trap);
558
- ts_assert(!error);
559
- return true;
560
- } else {
561
- return false;
562
- }
563
- }
564
-
565
- TSWasmStore *ts_wasm_store_new(TSWasmEngine *engine, TSWasmError *wasm_error) {
566
- TSWasmStore *self = ts_calloc(1, sizeof(TSWasmStore));
567
- wasmtime_store_t *store = wasmtime_store_new(engine, self, NULL);
568
- wasmtime_context_t *context = wasmtime_store_context(store);
569
- wasmtime_error_t *error = NULL;
570
- wasm_trap_t *trap = NULL;
571
- wasm_message_t message = WASM_EMPTY_VEC;
572
- wasm_exporttype_vec_t export_types = WASM_EMPTY_VEC;
573
- wasm_importtype_vec_t import_types = WASM_EMPTY_VEC;
574
- wasmtime_extern_t *imports = NULL;
575
- wasmtime_module_t *stdlib_module = NULL;
576
- wasm_memorytype_t *memory_type = NULL;
577
- wasm_tabletype_t *table_type = NULL;
578
-
579
- // Define functions called by scanners via function pointers on the lexer.
580
- LexerInWasmMemory lexer = {
581
- .lookahead = 0,
582
- .result_symbol = 0,
583
- };
584
- FunctionDefinition lexer_definitions[] = {
585
- {
586
- (uint32_t *)&lexer.advance,
587
- callback__lexer_advance,
588
- wasm_functype_new_2_0(wasm_valtype_new_i32(), wasm_valtype_new_i32())
589
- },
590
- {
591
- (uint32_t *)&lexer.mark_end,
592
- callback__lexer_mark_end,
593
- wasm_functype_new_1_0(wasm_valtype_new_i32())
594
- },
595
- {
596
- (uint32_t *)&lexer.get_column,
597
- callback__lexer_get_column,
598
- wasm_functype_new_1_1(wasm_valtype_new_i32(), wasm_valtype_new_i32())
599
- },
600
- {
601
- (uint32_t *)&lexer.is_at_included_range_start,
602
- callback__lexer_is_at_included_range_start,
603
- wasm_functype_new_1_1(wasm_valtype_new_i32(), wasm_valtype_new_i32())
604
- },
605
- {
606
- (uint32_t *)&lexer.eof,
607
- callback__lexer_eof,
608
- wasm_functype_new_1_1(wasm_valtype_new_i32(), wasm_valtype_new_i32())
609
- },
610
- };
611
-
612
- // Define builtin functions that can be imported by scanners.
613
- BuiltinFunctionIndices builtin_fn_indices;
614
- FunctionDefinition builtin_definitions[] = {
615
- {
616
- &builtin_fn_indices.proc_exit,
617
- callback__abort,
618
- wasm_functype_new_1_0(wasm_valtype_new_i32())
619
- },
620
- {
621
- &builtin_fn_indices.abort,
622
- callback__abort,
623
- wasm_functype_new_0_0()
624
- },
625
- {
626
- &builtin_fn_indices.assert_fail,
627
- callback__abort,
628
- wasm_functype_new_4_0(wasm_valtype_new_i32(), wasm_valtype_new_i32(), wasm_valtype_new_i32(), wasm_valtype_new_i32())
629
- },
630
- {
631
- &builtin_fn_indices.notify_memory_growth,
632
- callback__noop,
633
- wasm_functype_new_1_0(wasm_valtype_new_i32())
634
- },
635
- {
636
- &builtin_fn_indices.debug_message,
637
- callback__debug_message,
638
- wasm_functype_new_2_0(wasm_valtype_new_i32(), wasm_valtype_new_i32())
639
- },
640
- {
641
- &builtin_fn_indices.at_exit,
642
- callback__noop,
643
- wasm_functype_new_3_1(wasm_valtype_new_i32(), wasm_valtype_new_i32(), wasm_valtype_new_i32(), wasm_valtype_new_i32())
644
- },
645
- {
646
- &builtin_fn_indices.args_get,
647
- callback__noop,
648
- wasm_functype_new_2_1(wasm_valtype_new_i32(), wasm_valtype_new_i32(), wasm_valtype_new_i32())
649
- },
650
- {
651
- &builtin_fn_indices.args_sizes_get,
652
- callback__noop,
653
- wasm_functype_new_2_1(wasm_valtype_new_i32(), wasm_valtype_new_i32(), wasm_valtype_new_i32())
654
- },
655
- };
656
-
657
- // Create all of the wasm functions.
658
- unsigned builtin_definitions_len = array_len(builtin_definitions);
659
- unsigned lexer_definitions_len = array_len(lexer_definitions);
660
- for (unsigned i = 0; i < builtin_definitions_len; i++) {
661
- FunctionDefinition *definition = &builtin_definitions[i];
662
- wasmtime_func_t func;
663
- wasmtime_func_new_unchecked(context, definition->type, definition->callback, self, NULL, &func);
664
- *definition->storage_location = func.__private;
665
- wasm_functype_delete(definition->type);
666
- }
667
- for (unsigned i = 0; i < lexer_definitions_len; i++) {
668
- FunctionDefinition *definition = &lexer_definitions[i];
669
- wasmtime_func_t func;
670
- wasmtime_func_new_unchecked(context, definition->type, definition->callback, self, NULL, &func);
671
- *definition->storage_location = func.__private;
672
- wasm_functype_delete(definition->type);
673
- }
674
-
675
- // Compile the stdlib module.
676
- error = wasmtime_module_new(engine, STDLIB_WASM, STDLIB_WASM_LEN, &stdlib_module);
677
- if (error) {
678
- wasmtime_error_message(error, &message);
679
- wasm_error->kind = TSWasmErrorKindCompile;
680
- format(
681
- &wasm_error->message,
682
- "failed to compile wasm stdlib: %.*s",
683
- (int)message.size, message.data
684
- );
685
- goto error;
686
- }
687
-
688
- // Retrieve the stdlib module's imports.
689
- wasmtime_module_imports(stdlib_module, &import_types);
690
-
691
- // Find the initial number of memory pages needed by the stdlib.
692
- const wasm_memorytype_t *stdlib_memory_type = NULL;
693
- for (unsigned i = 0; i < import_types.size; i++) {
694
- wasm_importtype_t *import_type = import_types.data[i];
695
- const wasm_name_t *import_name = wasm_importtype_name(import_type);
696
- if (name_eq(import_name, "memory")) {
697
- const wasm_externtype_t *type = wasm_importtype_type(import_type);
698
- stdlib_memory_type = wasm_externtype_as_memorytype_const(type);
699
- }
700
- }
701
- if (!stdlib_memory_type) {
702
- wasm_error->kind = TSWasmErrorKindCompile;
703
- format(
704
- &wasm_error->message,
705
- "wasm stdlib is missing the 'memory' import"
706
- );
707
- goto error;
708
- }
709
-
710
- // Initialize store's memory
711
- uint64_t initial_memory_pages = wasmtime_memorytype_minimum(stdlib_memory_type);
712
- wasm_limits_t memory_limits = {.min = initial_memory_pages, .max = MAX_MEMORY_SIZE};
713
- memory_type = wasm_memorytype_new(&memory_limits);
714
- wasmtime_memory_t memory;
715
- error = wasmtime_memory_new(context, memory_type, &memory);
716
- if (error) {
717
- wasmtime_error_message(error, &message);
718
- wasm_error->kind = TSWasmErrorKindAllocate;
719
- format(
720
- &wasm_error->message,
721
- "failed to allocate wasm memory: %.*s",
722
- (int)message.size, message.data
723
- );
724
- goto error;
725
- }
726
- wasm_memorytype_delete(memory_type);
727
- memory_type = NULL;
728
-
729
- // Initialize store's function table
730
- wasm_limits_t table_limits = {.min = 1, .max = wasm_limits_max_default};
731
- table_type = wasm_tabletype_new(wasm_valtype_new(WASM_FUNCREF), &table_limits);
732
- wasmtime_val_t initializer = {.kind = WASMTIME_FUNCREF};
733
- wasmtime_table_t function_table;
734
- error = wasmtime_table_new(context, table_type, &initializer, &function_table);
735
- if (error) {
736
- wasmtime_error_message(error, &message);
737
- wasm_error->kind = TSWasmErrorKindAllocate;
738
- format(
739
- &wasm_error->message,
740
- "failed to allocate wasm table: %.*s",
741
- (int)message.size, message.data
742
- );
743
- goto error;
744
- }
745
- wasm_tabletype_delete(table_type);
746
- table_type = NULL;
747
-
748
- unsigned stdlib_symbols_len = array_len(STDLIB_SYMBOLS);
749
-
750
- // Define globals for the stack and heap start addresses.
751
- wasm_globaltype_t *const_i32_type = wasm_globaltype_new(wasm_valtype_new_i32(), WASM_CONST);
752
- wasm_globaltype_t *var_i32_type = wasm_globaltype_new(wasm_valtype_new_i32(), WASM_VAR);
753
-
754
- wasmtime_val_t stack_pointer_value = WASM_I32_VAL(0);
755
- wasmtime_global_t stack_pointer_global;
756
- error = wasmtime_global_new(context, var_i32_type, &stack_pointer_value, &stack_pointer_global);
757
- wasm_globaltype_delete(var_i32_type);
758
- ts_assert(!error);
759
-
760
- *self = (TSWasmStore) {
761
- .engine = wasmtime_engine_clone(engine),
762
- .store = store,
763
- .memory = memory,
764
- .function_table = function_table,
765
- .language_instances = array_new(),
766
- .stdlib_fn_indices = ts_calloc(stdlib_symbols_len, sizeof(uint32_t)),
767
- .builtin_fn_indices = builtin_fn_indices,
768
- .stack_pointer_global = stack_pointer_global,
769
- .current_memory_offset = 0,
770
- .current_function_table_offset = 0,
771
- .const_i32_type = const_i32_type,
772
- };
773
-
774
- // Set up the imports for the stdlib module.
775
- imports = ts_calloc(import_types.size, sizeof(wasmtime_extern_t));
776
- for (unsigned i = 0; i < import_types.size; i++) {
777
- wasm_importtype_t *type = import_types.data[i];
778
- const wasm_name_t *import_name = wasm_importtype_name(type);
779
- if (!ts_wasm_store__provide_builtin_import(self, import_name, &imports[i])) {
780
- wasm_error->kind = TSWasmErrorKindInstantiate;
781
- format(
782
- &wasm_error->message,
783
- "unexpected import in wasm stdlib: %.*s\n",
784
- (int)import_name->size, import_name->data
785
- );
786
- goto error;
787
- }
788
- }
789
-
790
- // Instantiate the stdlib module.
791
- wasmtime_instance_t instance;
792
- error = wasmtime_instance_new(context, stdlib_module, imports, import_types.size, &instance, &trap);
793
- ts_free(imports);
794
- imports = NULL;
795
- if (error) {
796
- wasmtime_error_message(error, &message);
797
- wasm_error->kind = TSWasmErrorKindInstantiate;
798
- format(
799
- &wasm_error->message,
800
- "failed to instantiate wasm stdlib module: %.*s",
801
- (int)message.size, message.data
802
- );
803
- goto error;
804
- }
805
- if (trap) {
806
- wasm_trap_message(trap, &message);
807
- wasm_error->kind = TSWasmErrorKindInstantiate;
808
- format(
809
- &wasm_error->message,
810
- "trapped when instantiating wasm stdlib module: %.*s",
811
- (int)message.size, message.data
812
- );
813
- goto error;
814
- }
815
- wasm_importtype_vec_delete(&import_types);
816
-
817
- // Process the stdlib module's exports.
818
- for (unsigned i = 0; i < stdlib_symbols_len; i++) {
819
- self->stdlib_fn_indices[i] = UINT32_MAX;
820
- }
821
- wasmtime_module_exports(stdlib_module, &export_types);
822
- for (unsigned i = 0; i < export_types.size; i++) {
823
- wasm_exporttype_t *export_type = export_types.data[i];
824
- const wasm_name_t *name = wasm_exporttype_name(export_type);
825
-
826
- char *export_name;
827
- size_t name_len;
828
- wasmtime_extern_t export = {.kind = WASM_EXTERN_GLOBAL};
829
- bool exists = wasmtime_instance_export_nth(context, &instance, i, &export_name, &name_len, &export);
830
- ts_assert(exists);
831
-
832
- if (export.kind == WASMTIME_EXTERN_GLOBAL) {
833
- if (name_eq(name, "__stack_pointer")) {
834
- self->stack_pointer_global = export.of.global;
835
- }
836
- }
837
-
838
- if (export.kind == WASMTIME_EXTERN_FUNC) {
839
- if (ts_wasm_store__call_module_initializer(self, name, &export, &trap)) {
840
- if (trap) {
841
- wasm_trap_message(trap, &message);
842
- wasm_error->kind = TSWasmErrorKindInstantiate;
843
- format(
844
- &wasm_error->message,
845
- "trap when calling stdlib relocation function: %.*s\n",
846
- (int)message.size, message.data
847
- );
848
- goto error;
849
- }
850
- continue;
851
- }
852
-
853
- if (name_eq(name, "reset_heap")) {
854
- self->builtin_fn_indices.reset_heap = export.of.func.__private;
855
- continue;
856
- }
857
-
858
- for (unsigned j = 0; j < stdlib_symbols_len; j++) {
859
- if (name_eq(name, STDLIB_SYMBOLS[j])) {
860
- self->stdlib_fn_indices[j] = export.of.func.__private;
861
- break;
862
- }
863
- }
864
- }
865
- }
866
-
867
- if (self->builtin_fn_indices.reset_heap == UINT32_MAX) {
868
- wasm_error->kind = TSWasmErrorKindInstantiate;
869
- format(
870
- &wasm_error->message,
871
- "missing malloc reset function in wasm stdlib"
872
- );
873
- goto error;
874
- }
875
-
876
- for (unsigned i = 0; i < stdlib_symbols_len; i++) {
877
- if (self->stdlib_fn_indices[i] == UINT32_MAX) {
878
- wasm_error->kind = TSWasmErrorKindInstantiate;
879
- format(
880
- &wasm_error->message,
881
- "missing exported symbol in wasm stdlib: %s",
882
- STDLIB_SYMBOLS[i]
883
- );
884
- goto error;
885
- }
886
- }
887
-
888
- wasm_exporttype_vec_delete(&export_types);
889
- wasmtime_module_delete(stdlib_module);
890
-
891
- // Add all of the lexer callback functions to the function table. Store their function table
892
- // indices on the in-memory lexer.
893
- uint64_t table_index;
894
- error = wasmtime_table_grow(context, &function_table, lexer_definitions_len, &initializer, &table_index);
895
- if (error) {
896
- wasmtime_error_message(error, &message);
897
- wasm_error->kind = TSWasmErrorKindAllocate;
898
- format(
899
- &wasm_error->message,
900
- "failed to grow wasm table to initial size: %.*s",
901
- (int)message.size, message.data
902
- );
903
- goto error;
904
- }
905
- for (unsigned i = 0; i < lexer_definitions_len; i++) {
906
- FunctionDefinition *definition = &lexer_definitions[i];
907
- wasmtime_func_t func = {function_table.store_id, *definition->storage_location};
908
- wasmtime_val_t func_val = {.kind = WASMTIME_FUNCREF, .of.funcref = func};
909
- error = wasmtime_table_set(context, &function_table, table_index, &func_val);
910
- ts_assert(!error);
911
- *(int32_t *)(definition->storage_location) = table_index;
912
- table_index++;
913
- }
914
-
915
- self->current_function_table_offset = table_index;
916
- self->lexer_address = initial_memory_pages * MEMORY_PAGE_SIZE;
917
- self->current_memory_offset = self->lexer_address + sizeof(LexerInWasmMemory);
918
-
919
- // Grow the memory enough to hold the builtin lexer and serialization buffer.
920
- uint32_t new_pages_needed = (self->current_memory_offset - self->lexer_address - 1) / MEMORY_PAGE_SIZE + 1;
921
- uint64_t prev_memory_size;
922
- wasmtime_memory_grow(context, &memory, new_pages_needed, &prev_memory_size);
923
-
924
- uint8_t *memory_data = wasmtime_memory_data(context, &memory);
925
- memcpy(&memory_data[self->lexer_address], &lexer, sizeof(lexer));
926
- return self;
927
-
928
- error:
929
- ts_free(self);
930
- if (stdlib_module) wasmtime_module_delete(stdlib_module);
931
- if (store) wasmtime_store_delete(store);
932
- if (import_types.size) wasm_importtype_vec_delete(&import_types);
933
- if (memory_type) wasm_memorytype_delete(memory_type);
934
- if (table_type) wasm_tabletype_delete(table_type);
935
- if (trap) wasm_trap_delete(trap);
936
- if (error) wasmtime_error_delete(error);
937
- if (message.size) wasm_byte_vec_delete(&message);
938
- if (export_types.size) wasm_exporttype_vec_delete(&export_types);
939
- if (imports) ts_free(imports);
940
- return NULL;
941
- }
942
-
943
- void ts_wasm_store_delete(TSWasmStore *self) {
944
- if (!self) return;
945
- ts_free(self->stdlib_fn_indices);
946
- wasm_globaltype_delete(self->const_i32_type);
947
- wasmtime_store_delete(self->store);
948
- wasm_engine_delete(self->engine);
949
- for (unsigned i = 0; i < self->language_instances.size; i++) {
950
- LanguageWasmInstance *instance = array_get(&self->language_instances, i);
951
- language_id_delete(instance->language_id);
952
- }
953
- array_delete(&self->language_instances);
954
- ts_free(self);
955
- }
956
-
957
- size_t ts_wasm_store_language_count(const TSWasmStore *self) {
958
- size_t result = 0;
959
- for (unsigned i = 0; i < self->language_instances.size; i++) {
960
- const WasmLanguageId *id = array_get(&self->language_instances, i)->language_id;
961
- if (!id->is_language_deleted) {
962
- result++;
963
- }
964
- }
965
- return result;
966
- }
967
-
968
- static uint32_t ts_wasm_store__heap_address(TSWasmStore *self) {
969
- return self->current_memory_offset + TREE_SITTER_SERIALIZATION_BUFFER_SIZE;
970
- }
971
-
972
- static uint32_t ts_wasm_store__serialization_buffer_address(TSWasmStore *self) {
973
- return self->current_memory_offset;
974
- }
975
-
976
- static bool ts_wasm_store__instantiate(
977
- TSWasmStore *self,
978
- wasmtime_module_t *module,
979
- const char *language_name,
980
- const WasmDylinkInfo *dylink_info,
981
- wasmtime_instance_t *result,
982
- int32_t *language_address,
983
- char **error_message
984
- ) {
985
- wasmtime_error_t *error = NULL;
986
- wasm_trap_t *trap = NULL;
987
- wasm_message_t message = WASM_EMPTY_VEC;
988
- char *language_function_name = NULL;
989
- wasmtime_extern_t *imports = NULL;
990
- wasmtime_context_t *context = wasmtime_store_context(self->store);
991
-
992
- // Grow the function table to make room for the new functions.
993
- wasmtime_val_t initializer = {.kind = WASMTIME_FUNCREF};
994
- uint64_t prev_table_size;
995
- error = wasmtime_table_grow(context, &self->function_table, dylink_info->table_size, &initializer, &prev_table_size);
996
- if (error) {
997
- format(error_message, "invalid function table size %u", dylink_info->table_size);
998
- goto error;
999
- }
1000
-
1001
- // Grow the memory to make room for the new data.
1002
- uint32_t needed_memory_size = ts_wasm_store__heap_address(self) + dylink_info->memory_size;
1003
- uint32_t current_memory_size = wasmtime_memory_data_size(context, &self->memory);
1004
- if (needed_memory_size > current_memory_size) {
1005
- uint32_t pages_to_grow = (
1006
- needed_memory_size - current_memory_size + MEMORY_PAGE_SIZE - 1) /
1007
- MEMORY_PAGE_SIZE;
1008
- uint64_t prev_memory_size;
1009
- error = wasmtime_memory_grow(context, &self->memory, pages_to_grow, &prev_memory_size);
1010
- if (error) {
1011
- format(error_message, "invalid memory size %u", dylink_info->memory_size);
1012
- goto error;
1013
- }
1014
- }
1015
-
1016
- // Construct the language function name as string.
1017
- format(&language_function_name, "tree_sitter_%s", language_name);
1018
-
1019
- const uint64_t store_id = self->function_table.store_id;
1020
-
1021
- // Build the imports list for the module.
1022
- wasm_importtype_vec_t import_types = WASM_EMPTY_VEC;
1023
- wasmtime_module_imports(module, &import_types);
1024
- imports = ts_calloc(import_types.size, sizeof(wasmtime_extern_t));
1025
-
1026
- for (unsigned i = 0; i < import_types.size; i++) {
1027
- const wasm_importtype_t *import_type = import_types.data[i];
1028
- const wasm_name_t *import_name = wasm_importtype_name(import_type);
1029
- if (import_name->size == 0) {
1030
- format(error_message, "empty import name");
1031
- goto error;
1032
- }
1033
-
1034
- if (ts_wasm_store__provide_builtin_import(self, import_name, &imports[i])) {
1035
- continue;
1036
- }
1037
-
1038
- bool defined_in_stdlib = false;
1039
- for (unsigned j = 0; j < array_len(STDLIB_SYMBOLS); j++) {
1040
- if (name_eq(import_name, STDLIB_SYMBOLS[j])) {
1041
- uint16_t address = self->stdlib_fn_indices[j];
1042
- imports[i] = (wasmtime_extern_t) {.kind = WASMTIME_EXTERN_FUNC, .of.func = {store_id, address}};
1043
- defined_in_stdlib = true;
1044
- break;
1045
- }
1046
- }
1047
-
1048
- if (!defined_in_stdlib) {
1049
- format(
1050
- error_message,
1051
- "invalid import '%.*s'\n",
1052
- (int)import_name->size, import_name->data
1053
- );
1054
- goto error;
1055
- }
1056
- }
1057
-
1058
- wasmtime_instance_t instance;
1059
- error = wasmtime_instance_new(context, module, imports, import_types.size, &instance, &trap);
1060
- wasm_importtype_vec_delete(&import_types);
1061
- ts_free(imports);
1062
- imports = NULL;
1063
- if (error) {
1064
- wasmtime_error_message(error, &message);
1065
- format(
1066
- error_message,
1067
- "error instantiating wasm module: %.*s\n",
1068
- (int)message.size, message.data
1069
- );
1070
- goto error;
1071
- }
1072
- if (trap) {
1073
- wasm_trap_message(trap, &message);
1074
- format(
1075
- error_message,
1076
- "trap when instantiating wasm module: %.*s\n",
1077
- (int)message.size, message.data
1078
- );
1079
- goto error;
1080
- }
1081
-
1082
- self->current_memory_offset += dylink_info->memory_size;
1083
- self->current_function_table_offset += dylink_info->table_size;
1084
-
1085
- // Process the module's exports.
1086
- bool found_language = false;
1087
- wasmtime_extern_t language_extern;
1088
- wasm_exporttype_vec_t export_types = WASM_EMPTY_VEC;
1089
- wasmtime_module_exports(module, &export_types);
1090
- for (unsigned i = 0; i < export_types.size; i++) {
1091
- wasm_exporttype_t *export_type = export_types.data[i];
1092
- const wasm_name_t *name = wasm_exporttype_name(export_type);
1093
-
1094
- size_t name_len;
1095
- char *export_name;
1096
- wasmtime_extern_t export = {.kind = WASM_EXTERN_GLOBAL};
1097
- bool exists = wasmtime_instance_export_nth(context, &instance, i, &export_name, &name_len, &export);
1098
- ts_assert(exists);
1099
-
1100
- // If the module exports an initialization or data-relocation function, call it.
1101
- if (ts_wasm_store__call_module_initializer(self, name, &export, &trap)) {
1102
- if (trap) {
1103
- wasm_trap_message(trap, &message);
1104
- format(
1105
- error_message,
1106
- "trap when calling data relocation function: %.*s\n",
1107
- (int)message.size, message.data
1108
- );
1109
- goto error;
1110
- }
1111
- }
1112
-
1113
- // Find the main language function for the module.
1114
- else if (name_eq(name, language_function_name)) {
1115
- language_extern = export;
1116
- found_language = true;
1117
- }
1118
- }
1119
- wasm_exporttype_vec_delete(&export_types);
1120
-
1121
- if (!found_language) {
1122
- format(
1123
- error_message,
1124
- "module did not contain language function: %s",
1125
- language_function_name
1126
- );
1127
- goto error;
1128
- }
1129
-
1130
- // Invoke the language function to get the static address of the language object.
1131
- wasmtime_func_t language_func = language_extern.of.func;
1132
- wasmtime_val_t language_address_val;
1133
- error = wasmtime_func_call(context, &language_func, NULL, 0, &language_address_val, 1, &trap);
1134
- ts_assert(!error);
1135
- if (trap) {
1136
- wasm_trap_message(trap, &message);
1137
- format(
1138
- error_message,
1139
- "trapped when calling language function: %s: %.*s\n",
1140
- language_function_name, (int)message.size, message.data
1141
- );
1142
- goto error;
1143
- }
1144
-
1145
- if (language_address_val.kind != WASMTIME_I32) {
1146
- format(
1147
- error_message,
1148
- "language function did not return an integer: %s\n",
1149
- language_function_name
1150
- );
1151
- goto error;
1152
- }
1153
-
1154
- ts_free(language_function_name);
1155
- *result = instance;
1156
- *language_address = language_address_val.of.i32;
1157
- return true;
1158
-
1159
- error:
1160
- if (language_function_name) ts_free(language_function_name);
1161
- if (message.size) wasm_byte_vec_delete(&message);
1162
- if (error) wasmtime_error_delete(error);
1163
- if (trap) wasm_trap_delete(trap);
1164
- if (imports) ts_free(imports);
1165
- return false;
1166
- }
1167
-
1168
- static bool ts_wasm_store__sentinel_lex_fn(TSLexer *_lexer, TSStateId state) {
1169
- return false;
1170
- }
1171
-
1172
- const TSLanguage *ts_wasm_store_load_language(
1173
- TSWasmStore *self,
1174
- const char *language_name,
1175
- const char *wasm,
1176
- uint32_t wasm_len,
1177
- TSWasmError *wasm_error
1178
- ) {
1179
- WasmDylinkInfo dylink_info;
1180
- wasmtime_module_t *module = NULL;
1181
- wasmtime_error_t *error = NULL;
1182
- wasm_error->kind = TSWasmErrorKindNone;
1183
-
1184
- if (!wasm_dylink_info__parse((const unsigned char *)wasm, wasm_len, &dylink_info)) {
1185
- wasm_error->kind = TSWasmErrorKindParse;
1186
- format(&wasm_error->message, "failed to parse dylink section of wasm module");
1187
- goto error;
1188
- }
1189
-
1190
- // Compile the wasm code.
1191
- error = wasmtime_module_new(self->engine, (const uint8_t *)wasm, wasm_len, &module);
1192
- if (error) {
1193
- wasm_message_t message;
1194
- wasmtime_error_message(error, &message);
1195
- wasm_error->kind = TSWasmErrorKindCompile;
1196
- format(&wasm_error->message, "error compiling wasm module: %.*s", (int)message.size, message.data);
1197
- wasm_byte_vec_delete(&message);
1198
- goto error;
1199
- }
1200
-
1201
- // Instantiate the module in this store.
1202
- wasmtime_instance_t instance;
1203
- int32_t language_address;
1204
- if (!ts_wasm_store__instantiate(
1205
- self,
1206
- module,
1207
- language_name,
1208
- &dylink_info,
1209
- &instance,
1210
- &language_address,
1211
- &wasm_error->message
1212
- )) {
1213
- wasm_error->kind = TSWasmErrorKindInstantiate;
1214
- goto error;
1215
- }
1216
-
1217
- // Copy all of the static data out of the language object in wasm memory,
1218
- // constructing a native language object.
1219
- LanguageInWasmMemory wasm_language;
1220
- wasmtime_context_t *context = wasmtime_store_context(self->store);
1221
- const uint8_t *memory = wasmtime_memory_data(context, &self->memory);
1222
- memcpy(&wasm_language, &memory[language_address], sizeof(LanguageInWasmMemory));
1223
-
1224
- bool has_supertypes =
1225
- wasm_language.abi_version > LANGUAGE_VERSION_WITH_RESERVED_WORDS &&
1226
- wasm_language.supertype_count > 0;
1227
-
1228
- int32_t addresses[] = {
1229
- wasm_language.parse_table,
1230
- wasm_language.small_parse_table,
1231
- wasm_language.small_parse_table_map,
1232
- wasm_language.parse_actions,
1233
- wasm_language.symbol_names,
1234
- wasm_language.field_names,
1235
- wasm_language.field_map_slices,
1236
- wasm_language.field_map_entries,
1237
- wasm_language.symbol_metadata,
1238
- wasm_language.public_symbol_map,
1239
- wasm_language.alias_map,
1240
- wasm_language.alias_sequences,
1241
- wasm_language.lex_modes,
1242
- wasm_language.lex_fn,
1243
- wasm_language.keyword_lex_fn,
1244
- wasm_language.primary_state_ids,
1245
- wasm_language.name,
1246
- wasm_language.reserved_words,
1247
- has_supertypes ? wasm_language.supertype_symbols : 0,
1248
- has_supertypes ? wasm_language.supertype_map_entries : 0,
1249
- has_supertypes ? wasm_language.supertype_map_slices : 0,
1250
- wasm_language.external_token_count > 0 ? wasm_language.external_scanner.states : 0,
1251
- wasm_language.external_token_count > 0 ? wasm_language.external_scanner.symbol_map : 0,
1252
- wasm_language.external_token_count > 0 ? wasm_language.external_scanner.create : 0,
1253
- wasm_language.external_token_count > 0 ? wasm_language.external_scanner.destroy : 0,
1254
- wasm_language.external_token_count > 0 ? wasm_language.external_scanner.scan : 0,
1255
- wasm_language.external_token_count > 0 ? wasm_language.external_scanner.serialize : 0,
1256
- wasm_language.external_token_count > 0 ? wasm_language.external_scanner.deserialize : 0,
1257
- language_address,
1258
- self->current_memory_offset,
1259
- };
1260
- uint32_t address_count = array_len(addresses);
1261
-
1262
- TSLanguage *language = ts_calloc(1, sizeof(TSLanguage));
1263
- StringData symbol_name_buffer = array_new();
1264
- StringData field_name_buffer = array_new();
1265
-
1266
- *language = (TSLanguage) {
1267
- .abi_version = wasm_language.abi_version,
1268
- .symbol_count = wasm_language.symbol_count,
1269
- .alias_count = wasm_language.alias_count,
1270
- .token_count = wasm_language.token_count,
1271
- .external_token_count = wasm_language.external_token_count,
1272
- .state_count = wasm_language.state_count,
1273
- .large_state_count = wasm_language.large_state_count,
1274
- .production_id_count = wasm_language.production_id_count,
1275
- .field_count = wasm_language.field_count,
1276
- .supertype_count = wasm_language.supertype_count,
1277
- .max_alias_sequence_length = wasm_language.max_alias_sequence_length,
1278
- .keyword_capture_token = wasm_language.keyword_capture_token,
1279
- .metadata = wasm_language.metadata,
1280
- .parse_table = copy(
1281
- &memory[wasm_language.parse_table],
1282
- wasm_language.large_state_count * wasm_language.symbol_count * sizeof(uint16_t)
1283
- ),
1284
- .parse_actions = copy_unsized_static_array(
1285
- memory,
1286
- wasm_language.parse_actions,
1287
- addresses,
1288
- address_count
1289
- ),
1290
- .symbol_names = copy_strings(
1291
- memory,
1292
- wasm_language.symbol_names,
1293
- wasm_language.symbol_count + wasm_language.alias_count,
1294
- &symbol_name_buffer
1295
- ),
1296
- .symbol_metadata = copy(
1297
- &memory[wasm_language.symbol_metadata],
1298
- (wasm_language.symbol_count + wasm_language.alias_count) * sizeof(TSSymbolMetadata)
1299
- ),
1300
- .public_symbol_map = copy(
1301
- &memory[wasm_language.public_symbol_map],
1302
- (wasm_language.symbol_count + wasm_language.alias_count) * sizeof(TSSymbol)
1303
- ),
1304
- .lex_modes = copy(
1305
- &memory[wasm_language.lex_modes],
1306
- wasm_language.state_count * sizeof(TSLexerMode)
1307
- ),
1308
- };
1309
-
1310
- if (language->field_count > 0 && language->production_id_count > 0) {
1311
- language->field_map_slices = copy(
1312
- &memory[wasm_language.field_map_slices],
1313
- wasm_language.production_id_count * sizeof(TSMapSlice)
1314
- );
1315
-
1316
- // Determine the number of field map entries by finding the greatest index
1317
- // in any of the slices.
1318
- uint32_t field_map_entry_count = 0;
1319
- for (uint32_t i = 0; i < wasm_language.production_id_count; i++) {
1320
- TSMapSlice slice = language->field_map_slices[i];
1321
- uint32_t slice_end = slice.index + slice.length;
1322
- if (slice_end > field_map_entry_count) {
1323
- field_map_entry_count = slice_end;
1324
- }
1325
- }
1326
-
1327
- language->field_map_entries = copy(
1328
- &memory[wasm_language.field_map_entries],
1329
- field_map_entry_count * sizeof(TSFieldMapEntry)
1330
- );
1331
- language->field_names = copy_strings(
1332
- memory,
1333
- wasm_language.field_names,
1334
- wasm_language.field_count + 1,
1335
- &field_name_buffer
1336
- );
1337
- }
1338
-
1339
- if (has_supertypes) {
1340
- language->supertype_symbols = copy(
1341
- &memory[wasm_language.supertype_symbols],
1342
- wasm_language.supertype_count * sizeof(TSSymbol)
1343
- );
1344
-
1345
- // Determine the number of supertype map slices by finding the greatest
1346
- // supertype ID.
1347
- int largest_supertype = 0;
1348
- for (unsigned i = 0; i < language->supertype_count; i++) {
1349
- TSSymbol supertype = language->supertype_symbols[i];
1350
- if (supertype > largest_supertype) {
1351
- largest_supertype = supertype;
1352
- }
1353
- }
1354
-
1355
- language->supertype_map_slices = copy(
1356
- &memory[wasm_language.supertype_map_slices],
1357
- (largest_supertype + 1) * sizeof(TSMapSlice)
1358
- );
1359
-
1360
- TSSymbol last_supertype = language->supertype_symbols[language->supertype_count - 1];
1361
- TSMapSlice last_slice = language->supertype_map_slices[last_supertype];
1362
- uint32_t supertype_map_entry_count = last_slice.index + last_slice.length;
1363
-
1364
- language->supertype_map_entries = copy(
1365
- &memory[wasm_language.supertype_map_entries],
1366
- supertype_map_entry_count * sizeof(char *)
1367
- );
1368
- }
1369
-
1370
- if (language->max_alias_sequence_length > 0 && language->production_id_count > 0) {
1371
- // The alias map contains symbols, alias counts, and aliases, terminated by a null symbol.
1372
- int32_t alias_map_size = 0;
1373
- for (;;) {
1374
- TSSymbol symbol;
1375
- memcpy(&symbol, &memory[wasm_language.alias_map + alias_map_size], sizeof(symbol));
1376
- alias_map_size += sizeof(TSSymbol);
1377
- if (symbol == 0) break;
1378
- uint16_t value_count;
1379
- memcpy(&value_count, &memory[wasm_language.alias_map + alias_map_size], sizeof(value_count));
1380
- alias_map_size += sizeof(uint16_t);
1381
- alias_map_size += value_count * sizeof(TSSymbol);
1382
- }
1383
- language->alias_map = copy(
1384
- &memory[wasm_language.alias_map],
1385
- alias_map_size
1386
- );
1387
- language->alias_sequences = copy(
1388
- &memory[wasm_language.alias_sequences],
1389
- wasm_language.production_id_count * wasm_language.max_alias_sequence_length * sizeof(TSSymbol)
1390
- );
1391
- }
1392
-
1393
- if (language->state_count > language->large_state_count) {
1394
- uint32_t small_state_count = wasm_language.state_count - wasm_language.large_state_count;
1395
- language->small_parse_table_map = copy(
1396
- &memory[wasm_language.small_parse_table_map],
1397
- small_state_count * sizeof(uint32_t)
1398
- );
1399
- language->small_parse_table = copy_unsized_static_array(
1400
- memory,
1401
- wasm_language.small_parse_table,
1402
- addresses,
1403
- address_count
1404
- );
1405
- }
1406
-
1407
- if (language->abi_version >= LANGUAGE_VERSION_WITH_PRIMARY_STATES) {
1408
- language->primary_state_ids = copy(
1409
- &memory[wasm_language.primary_state_ids],
1410
- wasm_language.state_count * sizeof(TSStateId)
1411
- );
1412
- }
1413
-
1414
- if (language->abi_version >= LANGUAGE_VERSION_WITH_RESERVED_WORDS) {
1415
- language->name = copy_string(memory, wasm_language.name);
1416
- language->reserved_words = copy(
1417
- &memory[wasm_language.reserved_words],
1418
- wasm_language.max_reserved_word_set_size * sizeof(TSSymbol)
1419
- );
1420
- language->max_reserved_word_set_size = wasm_language.max_reserved_word_set_size;
1421
- }
1422
-
1423
- if (language->external_token_count > 0) {
1424
- language->external_scanner.symbol_map = copy(
1425
- &memory[wasm_language.external_scanner.symbol_map],
1426
- wasm_language.external_token_count * sizeof(TSSymbol)
1427
- );
1428
- language->external_scanner.states = (void *)(uintptr_t)wasm_language.external_scanner.states;
1429
- }
1430
-
1431
- unsigned name_len = strlen(language_name);
1432
- char *name = ts_malloc(name_len + 1);
1433
- memcpy(name, language_name, name_len);
1434
- name[name_len] = '\0';
1435
-
1436
- LanguageWasmModule *language_module = ts_malloc(sizeof(LanguageWasmModule));
1437
- *language_module = (LanguageWasmModule) {
1438
- .language_id = language_id_new(),
1439
- .module = module,
1440
- .name = name,
1441
- .symbol_name_buffer = symbol_name_buffer.contents,
1442
- .field_name_buffer = field_name_buffer.contents,
1443
- .dylink_info = dylink_info,
1444
- .ref_count = 1,
1445
- };
1446
-
1447
- // The lex functions are not used for wasm languages. Use those two fields
1448
- // to mark this language as WASM-based and to store the language's
1449
- // WASM-specific data.
1450
- language->lex_fn = ts_wasm_store__sentinel_lex_fn;
1451
- language->keyword_lex_fn = (bool (*)(TSLexer *, TSStateId))language_module;
1452
-
1453
- // Clear out any instances of languages that have been deleted.
1454
- for (unsigned i = 0; i < self->language_instances.size; i++) {
1455
- WasmLanguageId *id = array_get(&self->language_instances, i)->language_id;
1456
- if (id->is_language_deleted) {
1457
- language_id_delete(id);
1458
- array_erase(&self->language_instances, i);
1459
- i--;
1460
- }
1461
- }
1462
-
1463
- // Store this store's instance of this language module.
1464
- array_push(&self->language_instances, ((LanguageWasmInstance) {
1465
- .language_id = language_id_clone(language_module->language_id),
1466
- .instance = instance,
1467
- .external_states_address = wasm_language.external_scanner.states,
1468
- .lex_main_fn_index = wasm_language.lex_fn,
1469
- .lex_keyword_fn_index = wasm_language.keyword_lex_fn,
1470
- .scanner_create_fn_index = wasm_language.external_scanner.create,
1471
- .scanner_destroy_fn_index = wasm_language.external_scanner.destroy,
1472
- .scanner_serialize_fn_index = wasm_language.external_scanner.serialize,
1473
- .scanner_deserialize_fn_index = wasm_language.external_scanner.deserialize,
1474
- .scanner_scan_fn_index = wasm_language.external_scanner.scan,
1475
- }));
1476
-
1477
- return language;
1478
-
1479
- error:
1480
- if (module) wasmtime_module_delete(module);
1481
- return NULL;
1482
- }
1483
-
1484
- bool ts_wasm_store_add_language(
1485
- TSWasmStore *self,
1486
- const TSLanguage *language,
1487
- uint32_t *index
1488
- ) {
1489
- wasmtime_context_t *context = wasmtime_store_context(self->store);
1490
- const LanguageWasmModule *language_module = (void *)language->keyword_lex_fn;
1491
-
1492
- // Search for this store's instance of the language module. Also clear out any
1493
- // instances of languages that have been deleted.
1494
- bool exists = false;
1495
- for (unsigned i = 0; i < self->language_instances.size; i++) {
1496
- WasmLanguageId *id = array_get(&self->language_instances, i)->language_id;
1497
- if (id->is_language_deleted) {
1498
- language_id_delete(id);
1499
- array_erase(&self->language_instances, i);
1500
- i--;
1501
- } else if (id == language_module->language_id) {
1502
- exists = true;
1503
- *index = i;
1504
- }
1505
- }
1506
-
1507
- // If the language module has not been instantiated in this store, then add
1508
- // it to this store.
1509
- if (!exists) {
1510
- *index = self->language_instances.size;
1511
- char *message;
1512
- wasmtime_instance_t instance;
1513
- int32_t language_address;
1514
- if (!ts_wasm_store__instantiate(
1515
- self,
1516
- language_module->module,
1517
- language_module->name,
1518
- &language_module->dylink_info,
1519
- &instance,
1520
- &language_address,
1521
- &message
1522
- )) {
1523
- ts_free(message);
1524
- return false;
1525
- }
1526
-
1527
- LanguageInWasmMemory wasm_language;
1528
- const uint8_t *memory = wasmtime_memory_data(context, &self->memory);
1529
- memcpy(&wasm_language, &memory[language_address], sizeof(LanguageInWasmMemory));
1530
- array_push(&self->language_instances, ((LanguageWasmInstance) {
1531
- .language_id = language_id_clone(language_module->language_id),
1532
- .instance = instance,
1533
- .external_states_address = wasm_language.external_scanner.states,
1534
- .lex_main_fn_index = wasm_language.lex_fn,
1535
- .lex_keyword_fn_index = wasm_language.keyword_lex_fn,
1536
- .scanner_create_fn_index = wasm_language.external_scanner.create,
1537
- .scanner_destroy_fn_index = wasm_language.external_scanner.destroy,
1538
- .scanner_serialize_fn_index = wasm_language.external_scanner.serialize,
1539
- .scanner_deserialize_fn_index = wasm_language.external_scanner.deserialize,
1540
- .scanner_scan_fn_index = wasm_language.external_scanner.scan,
1541
- }));
1542
- }
1543
-
1544
- return true;
1545
- }
1546
-
1547
- void ts_wasm_store_reset_heap(TSWasmStore *self) {
1548
- wasmtime_context_t *context = wasmtime_store_context(self->store);
1549
- wasmtime_func_t func = {
1550
- self->function_table.store_id,
1551
- self->builtin_fn_indices.reset_heap
1552
- };
1553
- wasm_trap_t *trap = NULL;
1554
- wasmtime_val_t args[1] = {
1555
- {.of.i32 = ts_wasm_store__heap_address(self), .kind = WASMTIME_I32},
1556
- };
1557
-
1558
- wasmtime_error_t *error = wasmtime_func_call(context, &func, args, 1, NULL, 0, &trap);
1559
- ts_assert(!error);
1560
- ts_assert(!trap);
1561
- }
1562
-
1563
- bool ts_wasm_store_start(TSWasmStore *self, TSLexer *lexer, const TSLanguage *language) {
1564
- uint32_t instance_index;
1565
- if (!ts_wasm_store_add_language(self, language, &instance_index)) return false;
1566
- self->current_lexer = lexer;
1567
- self->current_instance = array_get(&self->language_instances, instance_index);
1568
- self->has_error = false;
1569
- ts_wasm_store_reset_heap(self);
1570
- return true;
1571
- }
1572
-
1573
- void ts_wasm_store_reset(TSWasmStore *self) {
1574
- self->current_lexer = NULL;
1575
- self->current_instance = NULL;
1576
- self->has_error = false;
1577
- ts_wasm_store_reset_heap(self);
1578
- }
1579
-
1580
- static void ts_wasm_store__call(
1581
- TSWasmStore *self,
1582
- int32_t function_index,
1583
- wasmtime_val_raw_t *args_and_results,
1584
- size_t args_and_results_len
1585
- ) {
1586
- wasmtime_context_t *context = wasmtime_store_context(self->store);
1587
- wasmtime_val_t value;
1588
- bool succeeded = wasmtime_table_get(context, &self->function_table, function_index, &value);
1589
- ts_assert(succeeded);
1590
- ts_assert(value.kind == WASMTIME_FUNCREF);
1591
- wasmtime_func_t func = value.of.funcref;
1592
-
1593
- wasm_trap_t *trap = NULL;
1594
- wasmtime_error_t *error = wasmtime_func_call_unchecked(context, &func, args_and_results, args_and_results_len, &trap);
1595
- if (error) {
1596
- // wasm_message_t message;
1597
- // wasmtime_error_message(error, &message);
1598
- // fprintf(
1599
- // stderr,
1600
- // "error in wasm module: %.*s\n",
1601
- // (int)message.size, message.data
1602
- // );
1603
- wasmtime_error_delete(error);
1604
- self->has_error = true;
1605
- } else if (trap) {
1606
- // wasm_message_t message;
1607
- // wasm_trap_message(trap, &message);
1608
- // fprintf(
1609
- // stderr,
1610
- // "trap in wasm module: %.*s\n",
1611
- // (int)message.size, message.data
1612
- // );
1613
- wasm_trap_delete(trap);
1614
- self->has_error = true;
1615
- }
1616
- }
1617
-
1618
- // The data fields of TSLexer, without the function pointers.
1619
- //
1620
- // This portion of the struct needs to be copied in and out
1621
- // of wasm memory before and after calling a scan function.
1622
- typedef struct {
1623
- int32_t lookahead;
1624
- TSSymbol result_symbol;
1625
- } TSLexerDataPrefix;
1626
-
1627
- static bool ts_wasm_store__call_lex_function(TSWasmStore *self, unsigned function_index, TSStateId state) {
1628
- wasmtime_context_t *context = wasmtime_store_context(self->store);
1629
- uint8_t *memory_data = wasmtime_memory_data(context, &self->memory);
1630
- memcpy(
1631
- &memory_data[self->lexer_address],
1632
- self->current_lexer,
1633
- sizeof(TSLexerDataPrefix)
1634
- );
1635
-
1636
- wasmtime_val_raw_t args[2] = {
1637
- {.i32 = self->lexer_address},
1638
- {.i32 = state},
1639
- };
1640
- ts_wasm_store__call(self, function_index, args, 2);
1641
- if (self->has_error) return false;
1642
- bool result = args[0].i32;
1643
-
1644
- memcpy(
1645
- self->current_lexer,
1646
- &memory_data[self->lexer_address],
1647
- sizeof(TSLexerDataPrefix)
1648
- );
1649
- return result;
1650
- }
1651
-
1652
- bool ts_wasm_store_call_lex_main(TSWasmStore *self, TSStateId state) {
1653
- return ts_wasm_store__call_lex_function(
1654
- self,
1655
- self->current_instance->lex_main_fn_index,
1656
- state
1657
- );
1658
- }
1659
-
1660
- bool ts_wasm_store_call_lex_keyword(TSWasmStore *self, TSStateId state) {
1661
- return ts_wasm_store__call_lex_function(
1662
- self,
1663
- self->current_instance->lex_keyword_fn_index,
1664
- state
1665
- );
1666
- }
1667
-
1668
- uint32_t ts_wasm_store_call_scanner_create(TSWasmStore *self) {
1669
- wasmtime_val_raw_t args[1] = {{.i32 = 0}};
1670
- ts_wasm_store__call(self, self->current_instance->scanner_create_fn_index, args, 1);
1671
- if (self->has_error) return 0;
1672
- return args[0].i32;
1673
- }
1674
-
1675
- void ts_wasm_store_call_scanner_destroy(TSWasmStore *self, uint32_t scanner_address) {
1676
- if (self->current_instance) {
1677
- wasmtime_val_raw_t args[1] = {{.i32 = scanner_address}};
1678
- ts_wasm_store__call(self, self->current_instance->scanner_destroy_fn_index, args, 1);
1679
- }
1680
- }
1681
-
1682
- bool ts_wasm_store_call_scanner_scan(
1683
- TSWasmStore *self,
1684
- uint32_t scanner_address,
1685
- uint32_t valid_tokens_ix
1686
- ) {
1687
- wasmtime_context_t *context = wasmtime_store_context(self->store);
1688
- uint8_t *memory_data = wasmtime_memory_data(context, &self->memory);
1689
-
1690
- memcpy(
1691
- &memory_data[self->lexer_address],
1692
- self->current_lexer,
1693
- sizeof(TSLexerDataPrefix)
1694
- );
1695
-
1696
- uint32_t valid_tokens_address =
1697
- self->current_instance->external_states_address +
1698
- (valid_tokens_ix * sizeof(bool));
1699
- wasmtime_val_raw_t args[3] = {
1700
- {.i32 = scanner_address},
1701
- {.i32 = self->lexer_address},
1702
- {.i32 = valid_tokens_address}
1703
- };
1704
- ts_wasm_store__call(self, self->current_instance->scanner_scan_fn_index, args, 3);
1705
- if (self->has_error) return false;
1706
-
1707
- memcpy(
1708
- self->current_lexer,
1709
- &memory_data[self->lexer_address],
1710
- sizeof(TSLexerDataPrefix)
1711
- );
1712
- return args[0].i32;
1713
- }
1714
-
1715
- uint32_t ts_wasm_store_call_scanner_serialize(
1716
- TSWasmStore *self,
1717
- uint32_t scanner_address,
1718
- char *buffer
1719
- ) {
1720
- wasmtime_context_t *context = wasmtime_store_context(self->store);
1721
- uint8_t *memory_data = wasmtime_memory_data(context, &self->memory);
1722
- uint32_t serialization_buffer_address = ts_wasm_store__serialization_buffer_address(self);
1723
-
1724
- wasmtime_val_raw_t args[2] = {
1725
- {.i32 = scanner_address},
1726
- {.i32 = serialization_buffer_address},
1727
- };
1728
- ts_wasm_store__call(self, self->current_instance->scanner_serialize_fn_index, args, 2);
1729
- if (self->has_error) return 0;
1730
-
1731
- uint32_t length = args[0].i32;
1732
- if (length > TREE_SITTER_SERIALIZATION_BUFFER_SIZE) {
1733
- self->has_error = true;
1734
- return 0;
1735
- }
1736
-
1737
- if (length > 0) {
1738
- memcpy(
1739
- ((Lexer *)self->current_lexer)->debug_buffer,
1740
- &memory_data[serialization_buffer_address],
1741
- length
1742
- );
1743
- }
1744
- return length;
1745
- }
1746
-
1747
- void ts_wasm_store_call_scanner_deserialize(
1748
- TSWasmStore *self,
1749
- uint32_t scanner_address,
1750
- const char *buffer,
1751
- unsigned length
1752
- ) {
1753
- wasmtime_context_t *context = wasmtime_store_context(self->store);
1754
- uint8_t *memory_data = wasmtime_memory_data(context, &self->memory);
1755
- uint32_t serialization_buffer_address = ts_wasm_store__serialization_buffer_address(self);
1756
-
1757
- if (length > 0) {
1758
- memcpy(
1759
- &memory_data[serialization_buffer_address],
1760
- buffer,
1761
- length
1762
- );
1763
- }
1764
-
1765
- wasmtime_val_raw_t args[3] = {
1766
- {.i32 = scanner_address},
1767
- {.i32 = serialization_buffer_address},
1768
- {.i32 = length},
1769
- };
1770
- ts_wasm_store__call(self, self->current_instance->scanner_deserialize_fn_index, args, 3);
1771
- }
1772
-
1773
- bool ts_wasm_store_has_error(const TSWasmStore *self) {
1774
- return self->has_error;
1775
- }
1776
-
1777
- bool ts_language_is_wasm(const TSLanguage *self) {
1778
- return self->lex_fn == ts_wasm_store__sentinel_lex_fn;
1779
- }
1780
-
1781
- static inline LanguageWasmModule *ts_language__wasm_module(const TSLanguage *self) {
1782
- return (LanguageWasmModule *)self->keyword_lex_fn;
1783
- }
1784
-
1785
- void ts_wasm_language_retain(const TSLanguage *self) {
1786
- LanguageWasmModule *module = ts_language__wasm_module(self);
1787
- ts_assert(module->ref_count > 0);
1788
- atomic_inc(&module->ref_count);
1789
- }
1790
-
1791
- void ts_wasm_language_release(const TSLanguage *self) {
1792
- LanguageWasmModule *module = ts_language__wasm_module(self);
1793
- ts_assert(module->ref_count > 0);
1794
- if (atomic_dec(&module->ref_count) == 0) {
1795
- // Update the language id to reflect that the language is deleted. This allows any wasm stores
1796
- // that hold wasm instances for this language to delete those instances.
1797
- atomic_inc(&module->language_id->is_language_deleted);
1798
- language_id_delete(module->language_id);
1799
-
1800
- ts_free((void *)module->field_name_buffer);
1801
- ts_free((void *)module->symbol_name_buffer);
1802
- ts_free((void *)module->name);
1803
- wasmtime_module_delete(module->module);
1804
- ts_free(module);
1805
-
1806
- ts_free((void *)self->alias_map);
1807
- ts_free((void *)self->alias_sequences);
1808
- ts_free((void *)self->external_scanner.symbol_map);
1809
- ts_free((void *)self->field_map_entries);
1810
- ts_free((void *)self->field_map_slices);
1811
- ts_free((void *)self->supertype_symbols);
1812
- ts_free((void *)self->supertype_map_entries);
1813
- ts_free((void *)self->supertype_map_slices);
1814
- ts_free((void *)self->field_names);
1815
- ts_free((void *)self->lex_modes);
1816
- ts_free((void *)self->name);
1817
- ts_free((void *)self->reserved_words);
1818
- ts_free((void *)self->parse_actions);
1819
- ts_free((void *)self->parse_table);
1820
- ts_free((void *)self->primary_state_ids);
1821
- ts_free((void *)self->public_symbol_map);
1822
- ts_free((void *)self->small_parse_table);
1823
- ts_free((void *)self->small_parse_table_map);
1824
- ts_free((void *)self->symbol_metadata);
1825
- ts_free((void *)self->symbol_names);
1826
- ts_free((void *)self);
1827
- }
1828
- }
1829
-
1830
- #ifdef _MSC_VER
1831
- #pragma warning(pop)
1832
- #elif defined(__GNUC__) || defined(__clang__)
1833
- #pragma GCC diagnostic pop
1834
- #endif
1835
-
1836
- #else
1837
-
1838
- // If the WASM feature is not enabled, define dummy versions of all of the
1839
- // wasm-related functions.
1840
-
1841
- void ts_wasm_store_delete(TSWasmStore *self) {
1842
- (void)self;
1843
- }
1844
-
1845
- bool ts_wasm_store_start(
1846
- TSWasmStore *self,
1847
- TSLexer *lexer,
1848
- const TSLanguage *language
1849
- ) {
1850
- (void)self;
1851
- (void)lexer;
1852
- (void)language;
1853
- return false;
1854
- }
1855
-
1856
- void ts_wasm_store_reset(TSWasmStore *self) {
1857
- (void)self;
1858
- }
1859
-
1860
- bool ts_wasm_store_call_lex_main(TSWasmStore *self, TSStateId state) {
1861
- (void)self;
1862
- (void)state;
1863
- return false;
1864
- }
1865
-
1866
- bool ts_wasm_store_call_lex_keyword(TSWasmStore *self, TSStateId state) {
1867
- (void)self;
1868
- (void)state;
1869
- return false;
1870
- }
1871
-
1872
- uint32_t ts_wasm_store_call_scanner_create(TSWasmStore *self) {
1873
- (void)self;
1874
- return 0;
1875
- }
1876
-
1877
- void ts_wasm_store_call_scanner_destroy(
1878
- TSWasmStore *self,
1879
- uint32_t scanner_address
1880
- ) {
1881
- (void)self;
1882
- (void)scanner_address;
1883
- }
1884
-
1885
- bool ts_wasm_store_call_scanner_scan(
1886
- TSWasmStore *self,
1887
- uint32_t scanner_address,
1888
- uint32_t valid_tokens_ix
1889
- ) {
1890
- (void)self;
1891
- (void)scanner_address;
1892
- (void)valid_tokens_ix;
1893
- return false;
1894
- }
1895
-
1896
- uint32_t ts_wasm_store_call_scanner_serialize(
1897
- TSWasmStore *self,
1898
- uint32_t scanner_address,
1899
- char *buffer
1900
- ) {
1901
- (void)self;
1902
- (void)scanner_address;
1903
- (void)buffer;
1904
- return 0;
1905
- }
1906
-
1907
- void ts_wasm_store_call_scanner_deserialize(
1908
- TSWasmStore *self,
1909
- uint32_t scanner_address,
1910
- const char *buffer,
1911
- unsigned length
1912
- ) {
1913
- (void)self;
1914
- (void)scanner_address;
1915
- (void)buffer;
1916
- (void)length;
1917
- }
1918
-
1919
- bool ts_wasm_store_has_error(const TSWasmStore *self) {
1920
- (void)self;
1921
- return false;
1922
- }
1923
-
1924
- bool ts_language_is_wasm(const TSLanguage *self) {
1925
- (void)self;
1926
- return false;
1927
- }
1928
-
1929
- void ts_wasm_language_retain(const TSLanguage *self) {
1930
- (void)self;
1931
- }
1932
-
1933
- void ts_wasm_language_release(const TSLanguage *self) {
1934
- (void)self;
1935
- }
1936
-
1937
- #endif