@vitos-pizza/vitos-pizza 0.1.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 (1049) hide show
  1. package/AGENTS.md +158 -0
  2. package/CHANGELOG.md +24 -0
  3. package/LICENSE +21 -0
  4. package/README.md +234 -0
  5. package/assets/logo.svg +28 -0
  6. package/node_modules/@vitos-pizza/agent-mode/extensions/index.ts +117 -0
  7. package/node_modules/@vitos-pizza/agent-mode/package.json +31 -0
  8. package/node_modules/@vitos-pizza/agent-mode/src/apply-mode.ts +60 -0
  9. package/node_modules/@vitos-pizza/agent-mode/src/mode-events.ts +102 -0
  10. package/node_modules/@vitos-pizza/agent-mode/src/modes.ts +43 -0
  11. package/node_modules/@vitos-pizza/agent-mode/src/plan-instructions.ts +44 -0
  12. package/node_modules/@vitos-pizza/agent-mode/tests/apply-mode.test.ts +36 -0
  13. package/node_modules/@vitos-pizza/agent-mode/tests/mode-events.test.ts +22 -0
  14. package/node_modules/@vitos-pizza/agent-mode/tests/modes.test.ts +38 -0
  15. package/node_modules/@vitos-pizza/agent-mode/tests/plan-instructions.test.ts +45 -0
  16. package/node_modules/@vitos-pizza/agent-mode/tsconfig.json +13 -0
  17. package/node_modules/@vitos-pizza/agent-mode/vitest.config.ts +8 -0
  18. package/node_modules/@vitos-pizza/keybindings/extensions/index.ts +104 -0
  19. package/node_modules/@vitos-pizza/keybindings/package.json +26 -0
  20. package/node_modules/@vitos-pizza/keybindings/presets/shortcuts.json +3 -0
  21. package/node_modules/@vitos-pizza/keybindings/src/bind.ts +57 -0
  22. package/node_modules/@vitos-pizza/keybindings/src/config.ts +84 -0
  23. package/node_modules/@vitos-pizza/keybindings/src/registry.ts +43 -0
  24. package/node_modules/@vitos-pizza/keybindings/src/types.ts +54 -0
  25. package/node_modules/@vitos-pizza/keybindings/tests/config.test.ts +83 -0
  26. package/node_modules/@vitos-pizza/keybindings/tests/registry.test.ts +142 -0
  27. package/node_modules/@vitos-pizza/keybindings/tsconfig.json +13 -0
  28. package/node_modules/@vitos-pizza/keybindings/vitest.config.ts +8 -0
  29. package/node_modules/@vitos-pizza/permission-system/extensions/index.ts +162 -0
  30. package/node_modules/@vitos-pizza/permission-system/package.json +34 -0
  31. package/node_modules/@vitos-pizza/permission-system/presets/default.json +36 -0
  32. package/node_modules/@vitos-pizza/permission-system/presets/plan.json +25 -0
  33. package/node_modules/@vitos-pizza/permission-system/presets/yolo.json +15 -0
  34. package/node_modules/@vitos-pizza/permission-system/src/bash/matcher.ts +51 -0
  35. package/node_modules/@vitos-pizza/permission-system/src/bash/parser.ts +40 -0
  36. package/node_modules/@vitos-pizza/permission-system/src/config-paths.ts +23 -0
  37. package/node_modules/@vitos-pizza/permission-system/src/detect-preset-mode.ts +61 -0
  38. package/node_modules/@vitos-pizza/permission-system/src/expand-home.ts +12 -0
  39. package/node_modules/@vitos-pizza/permission-system/src/forwarding/forwarder.ts +224 -0
  40. package/node_modules/@vitos-pizza/permission-system/src/forwarding/subagent-registry.ts +61 -0
  41. package/node_modules/@vitos-pizza/permission-system/src/gates/path-utils.ts +66 -0
  42. package/node_modules/@vitos-pizza/permission-system/src/gates/pipeline.ts +155 -0
  43. package/node_modules/@vitos-pizza/permission-system/src/handlers/before-agent-start.ts +65 -0
  44. package/node_modules/@vitos-pizza/permission-system/src/handlers/skill-input.ts +1 -0
  45. package/node_modules/@vitos-pizza/permission-system/src/handlers/tool-call-gate.ts +199 -0
  46. package/node_modules/@vitos-pizza/permission-system/src/mode-api.ts +44 -0
  47. package/node_modules/@vitos-pizza/permission-system/src/permission-evaluator.ts +216 -0
  48. package/node_modules/@vitos-pizza/permission-system/src/permission-session.ts +62 -0
  49. package/node_modules/@vitos-pizza/permission-system/src/policy-loader.ts +211 -0
  50. package/node_modules/@vitos-pizza/permission-system/src/sanitizers/skill-prompt.ts +99 -0
  51. package/node_modules/@vitos-pizza/permission-system/src/sanitizers/system-prompt.ts +221 -0
  52. package/node_modules/@vitos-pizza/permission-system/src/service.ts +66 -0
  53. package/node_modules/@vitos-pizza/permission-system/src/session-approvals.ts +1 -0
  54. package/node_modules/@vitos-pizza/permission-system/src/types.ts +80 -0
  55. package/node_modules/@vitos-pizza/permission-system/src/ui/approval-summary.ts +43 -0
  56. package/node_modules/@vitos-pizza/permission-system/src/ui/config-modal.ts +36 -0
  57. package/node_modules/@vitos-pizza/permission-system/src/ui/permission-dialog.ts +52 -0
  58. package/node_modules/@vitos-pizza/permission-system/src/wildcard-matcher.ts +81 -0
  59. package/node_modules/@vitos-pizza/permission-system/src/yaml-frontmatter.ts +84 -0
  60. package/node_modules/@vitos-pizza/permission-system/src/yolo/runtime-api.ts +49 -0
  61. package/node_modules/@vitos-pizza/permission-system/tests/bash-parser.test.ts +32 -0
  62. package/node_modules/@vitos-pizza/permission-system/tests/detect-preset-mode.test.ts +68 -0
  63. package/node_modules/@vitos-pizza/permission-system/tests/forwarder.test.ts +55 -0
  64. package/node_modules/@vitos-pizza/permission-system/tests/gates.test.ts +61 -0
  65. package/node_modules/@vitos-pizza/permission-system/tests/path-utils.test.ts +68 -0
  66. package/node_modules/@vitos-pizza/permission-system/tests/permission-evaluator.test.ts +55 -0
  67. package/node_modules/@vitos-pizza/permission-system/tests/policy-loader.test.ts +25 -0
  68. package/node_modules/@vitos-pizza/permission-system/tests/system-prompt-sanitizer.test.ts +22 -0
  69. package/node_modules/@vitos-pizza/permission-system/tests/wildcard-matcher.test.ts +27 -0
  70. package/node_modules/@vitos-pizza/permission-system/tsconfig.json +13 -0
  71. package/node_modules/@vitos-pizza/permission-system/vitest.config.ts +8 -0
  72. package/node_modules/@vitos-pizza/question/extensions/index.ts +79 -0
  73. package/node_modules/@vitos-pizza/question/package.json +26 -0
  74. package/node_modules/@vitos-pizza/question/src/forwarding/channels.ts +6 -0
  75. package/node_modules/@vitos-pizza/question/src/forwarding/file-watcher.ts +106 -0
  76. package/node_modules/@vitos-pizza/question/src/forwarding/forwarder.ts +187 -0
  77. package/node_modules/@vitos-pizza/question/src/parent-session.ts +18 -0
  78. package/node_modules/@vitos-pizza/question/src/question-ui.ts +238 -0
  79. package/node_modules/@vitos-pizza/question/src/register-tool.ts +224 -0
  80. package/node_modules/@vitos-pizza/question/src/types.ts +41 -0
  81. package/node_modules/@vitos-pizza/question/tests/forwarder.test.ts +66 -0
  82. package/node_modules/@vitos-pizza/question/tests/parent-session.test.ts +29 -0
  83. package/node_modules/@vitos-pizza/question/tests/register-tool-render.test.ts +45 -0
  84. package/node_modules/@vitos-pizza/question/tsconfig.json +13 -0
  85. package/node_modules/@vitos-pizza/question/vitest.config.ts +8 -0
  86. package/node_modules/@vitos-pizza/session-title/extensions/index.ts +137 -0
  87. package/node_modules/@vitos-pizza/session-title/package.json +37 -0
  88. package/node_modules/@vitos-pizza/session-title/src/build-title-prompt.ts +16 -0
  89. package/node_modules/@vitos-pizza/session-title/src/extract-title-context.ts +55 -0
  90. package/node_modules/@vitos-pizza/session-title/src/fast-rules.ts +48 -0
  91. package/node_modules/@vitos-pizza/session-title/src/load-settings.ts +70 -0
  92. package/node_modules/@vitos-pizza/session-title/src/normalize-title.ts +20 -0
  93. package/node_modules/@vitos-pizza/session-title/src/parse-title-response.ts +6 -0
  94. package/node_modules/@vitos-pizza/session-title/src/resolve-title-model.ts +33 -0
  95. package/node_modules/@vitos-pizza/session-title/src/schedule-title-job.ts +53 -0
  96. package/node_modules/@vitos-pizza/session-title/src/should-schedule.ts +30 -0
  97. package/node_modules/@vitos-pizza/session-title/src/title-agent.ts +60 -0
  98. package/node_modules/@vitos-pizza/session-title/src/truncate-input.ts +10 -0
  99. package/node_modules/@vitos-pizza/session-title/src/types.ts +29 -0
  100. package/node_modules/@vitos-pizza/session-title/tests/build-title-prompt.test.ts +34 -0
  101. package/node_modules/@vitos-pizza/session-title/tests/extension.test.ts +198 -0
  102. package/node_modules/@vitos-pizza/session-title/tests/extract-title-context.test.ts +48 -0
  103. package/node_modules/@vitos-pizza/session-title/tests/fast-rules.test.ts +43 -0
  104. package/node_modules/@vitos-pizza/session-title/tests/parse-title-response.test.ts +34 -0
  105. package/node_modules/@vitos-pizza/session-title/tests/should-schedule.test.ts +30 -0
  106. package/node_modules/@vitos-pizza/session-title/tests/title-agent.test.ts +154 -0
  107. package/node_modules/@vitos-pizza/session-title/tests/truncate-input.test.ts +15 -0
  108. package/node_modules/@vitos-pizza/session-title/tsconfig.json +13 -0
  109. package/node_modules/@vitos-pizza/session-title/vitest.config.ts +8 -0
  110. package/node_modules/@vitos-pizza/subagents/agents/planner.md +43 -0
  111. package/node_modules/@vitos-pizza/subagents/agents/scout.md +40 -0
  112. package/node_modules/@vitos-pizza/subagents/agents/title.md +13 -0
  113. package/node_modules/@vitos-pizza/subagents/agents/worker.md +36 -0
  114. package/node_modules/@vitos-pizza/subagents/extensions/index.ts +164 -0
  115. package/node_modules/@vitos-pizza/subagents/package.json +34 -0
  116. package/node_modules/@vitos-pizza/subagents/skills/subagents/SKILL.md +80 -0
  117. package/node_modules/@vitos-pizza/subagents/src/agents.ts +166 -0
  118. package/node_modules/@vitos-pizza/subagents/src/async/job-tracker.ts +71 -0
  119. package/node_modules/@vitos-pizza/subagents/src/async/spawn-async.ts +220 -0
  120. package/node_modules/@vitos-pizza/subagents/src/async/storage.ts +57 -0
  121. package/node_modules/@vitos-pizza/subagents/src/env.ts +4 -0
  122. package/node_modules/@vitos-pizza/subagents/src/execute-subagent.ts +285 -0
  123. package/node_modules/@vitos-pizza/subagents/src/progress.ts +187 -0
  124. package/node_modules/@vitos-pizza/subagents/src/render-animation.ts +40 -0
  125. package/node_modules/@vitos-pizza/subagents/src/render.ts +428 -0
  126. package/node_modules/@vitos-pizza/subagents/src/rpc/channels.ts +21 -0
  127. package/node_modules/@vitos-pizza/subagents/src/rpc/client.ts +144 -0
  128. package/node_modules/@vitos-pizza/subagents/src/rpc/server.ts +11 -0
  129. package/node_modules/@vitos-pizza/subagents/src/run-agent.ts +313 -0
  130. package/node_modules/@vitos-pizza/subagents/src/runtime.ts +102 -0
  131. package/node_modules/@vitos-pizza/subagents/src/schema.ts +62 -0
  132. package/node_modules/@vitos-pizza/subagents/src/spawn.ts +104 -0
  133. package/node_modules/@vitos-pizza/subagents/src/types.ts +92 -0
  134. package/node_modules/@vitos-pizza/subagents/src/utils.ts +100 -0
  135. package/node_modules/@vitos-pizza/subagents/src/wait.ts +159 -0
  136. package/node_modules/@vitos-pizza/subagents/tests/agents.test.ts +19 -0
  137. package/node_modules/@vitos-pizza/subagents/tests/execute-subagent.test.ts +96 -0
  138. package/node_modules/@vitos-pizza/subagents/tests/extension.test.ts +42 -0
  139. package/node_modules/@vitos-pizza/subagents/tests/progress.test.ts +206 -0
  140. package/node_modules/@vitos-pizza/subagents/tests/rpc.test.ts +74 -0
  141. package/node_modules/@vitos-pizza/subagents/tsconfig.json +13 -0
  142. package/node_modules/@vitos-pizza/subagents/vitest.config.ts +8 -0
  143. package/node_modules/@vitos-pizza/ui-enhancements/extensions/index.ts +10 -0
  144. package/node_modules/@vitos-pizza/ui-enhancements/package.json +28 -0
  145. package/node_modules/@vitos-pizza/ui-enhancements/src/bash-readonly.ts +82 -0
  146. package/node_modules/@vitos-pizza/ui-enhancements/src/chrome/agent-mode-badge.ts +60 -0
  147. package/node_modules/@vitos-pizza/ui-enhancements/src/chrome/border-status.ts +180 -0
  148. package/node_modules/@vitos-pizza/ui-enhancements/src/chrome/format-border.ts +46 -0
  149. package/node_modules/@vitos-pizza/ui-enhancements/src/chrome/header-info.ts +66 -0
  150. package/node_modules/@vitos-pizza/ui-enhancements/src/chrome/recent-sessions.ts +132 -0
  151. package/node_modules/@vitos-pizza/ui-enhancements/src/chrome/welcome-header.ts +127 -0
  152. package/node_modules/@vitos-pizza/ui-enhancements/src/config.ts +75 -0
  153. package/node_modules/@vitos-pizza/ui-enhancements/src/register-ui-enhancements.ts +47 -0
  154. package/node_modules/@vitos-pizza/ui-enhancements/src/session.ts +72 -0
  155. package/node_modules/@vitos-pizza/ui-enhancements/src/tools/bash-write-edit.ts +148 -0
  156. package/node_modules/@vitos-pizza/ui-enhancements/src/tools/index.ts +22 -0
  157. package/node_modules/@vitos-pizza/ui-enhancements/src/tools/read-find-grep-ls.ts +235 -0
  158. package/node_modules/@vitos-pizza/ui-enhancements/src/tools/text-content.ts +42 -0
  159. package/node_modules/@vitos-pizza/ui-enhancements/src/tools/tool-cache.ts +87 -0
  160. package/node_modules/@vitos-pizza/ui-enhancements/src/utils/shorten-path.ts +9 -0
  161. package/node_modules/@vitos-pizza/ui-enhancements/tests/agent-mode-badge.test.ts +35 -0
  162. package/node_modules/@vitos-pizza/ui-enhancements/tests/bash-readonly.test.ts +43 -0
  163. package/node_modules/@vitos-pizza/ui-enhancements/tests/format-border.test.ts +36 -0
  164. package/node_modules/@vitos-pizza/ui-enhancements/tests/recent-sessions.test.ts +72 -0
  165. package/node_modules/@vitos-pizza/ui-enhancements/tsconfig.json +13 -0
  166. package/node_modules/@vitos-pizza/ui-enhancements/vitest.config.ts +8 -0
  167. package/node_modules/@vitos-pizza/websearch/extensions/index.ts +130 -0
  168. package/node_modules/@vitos-pizza/websearch/package.json +28 -0
  169. package/node_modules/@vitos-pizza/websearch/src/backends/brave.ts +35 -0
  170. package/node_modules/@vitos-pizza/websearch/src/backends/exa-mcp.ts +139 -0
  171. package/node_modules/@vitos-pizza/websearch/src/backends/firecrawl.ts +86 -0
  172. package/node_modules/@vitos-pizza/websearch/src/backends/registry.ts +98 -0
  173. package/node_modules/@vitos-pizza/websearch/src/backends/tavily.ts +32 -0
  174. package/node_modules/@vitos-pizza/websearch/src/config.ts +124 -0
  175. package/node_modules/@vitos-pizza/websearch/src/credentials.ts +35 -0
  176. package/node_modules/@vitos-pizza/websearch/src/dispatch.ts +57 -0
  177. package/node_modules/@vitos-pizza/websearch/src/formatters.ts +44 -0
  178. package/node_modules/@vitos-pizza/websearch/src/parsers.ts +75 -0
  179. package/node_modules/@vitos-pizza/websearch/src/readers/jina.ts +42 -0
  180. package/node_modules/@vitos-pizza/websearch/src/schema.ts +37 -0
  181. package/node_modules/@vitos-pizza/websearch/src/status.ts +103 -0
  182. package/node_modules/@vitos-pizza/websearch/src/types.ts +29 -0
  183. package/node_modules/@vitos-pizza/websearch/src/utils.ts +117 -0
  184. package/node_modules/@vitos-pizza/websearch/tests/backends.test.ts +103 -0
  185. package/node_modules/@vitos-pizza/websearch/tests/config.test.ts +71 -0
  186. package/node_modules/@vitos-pizza/websearch/tests/dispatch.test.ts +69 -0
  187. package/node_modules/@vitos-pizza/websearch/tsconfig.json +13 -0
  188. package/node_modules/@vitos-pizza/websearch/vitest.config.ts +8 -0
  189. package/node_modules/node-addon-api/LICENSE.md +9 -0
  190. package/node_modules/node-addon-api/README.md +95 -0
  191. package/node_modules/node-addon-api/common.gypi +21 -0
  192. package/node_modules/node-addon-api/except.gypi +25 -0
  193. package/node_modules/node-addon-api/index.js +14 -0
  194. package/node_modules/node-addon-api/napi-inl.deprecated.h +186 -0
  195. package/node_modules/node-addon-api/napi-inl.h +7211 -0
  196. package/node_modules/node-addon-api/napi.h +3420 -0
  197. package/node_modules/node-addon-api/node_addon_api.gyp +42 -0
  198. package/node_modules/node-addon-api/node_api.gyp +9 -0
  199. package/node_modules/node-addon-api/noexcept.gypi +26 -0
  200. package/node_modules/node-addon-api/nothing.c +0 -0
  201. package/node_modules/node-addon-api/package-support.json +21 -0
  202. package/node_modules/node-addon-api/package.json +480 -0
  203. package/node_modules/node-addon-api/tools/README.md +73 -0
  204. package/node_modules/node-addon-api/tools/check-napi.js +99 -0
  205. package/node_modules/node-addon-api/tools/clang-format.js +71 -0
  206. package/node_modules/node-addon-api/tools/conversion.js +301 -0
  207. package/node_modules/node-gyp-build/LICENSE +21 -0
  208. package/node_modules/node-gyp-build/README.md +58 -0
  209. package/node_modules/node-gyp-build/SECURITY.md +5 -0
  210. package/node_modules/node-gyp-build/bin.js +84 -0
  211. package/node_modules/node-gyp-build/build-test.js +19 -0
  212. package/node_modules/node-gyp-build/index.js +6 -0
  213. package/node_modules/node-gyp-build/node-gyp-build.js +207 -0
  214. package/node_modules/node-gyp-build/optional.js +7 -0
  215. package/node_modules/node-gyp-build/package.json +43 -0
  216. package/node_modules/tree-sitter-bash/LICENSE +21 -0
  217. package/node_modules/tree-sitter-bash/README.md +44 -0
  218. package/node_modules/tree-sitter-bash/binding.gyp +30 -0
  219. package/node_modules/tree-sitter-bash/bindings/node/binding.cc +20 -0
  220. package/node_modules/tree-sitter-bash/bindings/node/binding_test.js +9 -0
  221. package/node_modules/tree-sitter-bash/bindings/node/index.d.ts +28 -0
  222. package/node_modules/tree-sitter-bash/bindings/node/index.js +11 -0
  223. package/node_modules/tree-sitter-bash/grammar.js +1201 -0
  224. package/node_modules/tree-sitter-bash/package.json +60 -0
  225. package/node_modules/tree-sitter-bash/prebuilds/darwin-arm64/tree-sitter-bash.node +0 -0
  226. package/node_modules/tree-sitter-bash/prebuilds/darwin-x64/tree-sitter-bash.node +0 -0
  227. package/node_modules/tree-sitter-bash/prebuilds/linux-arm64/tree-sitter-bash.node +0 -0
  228. package/node_modules/tree-sitter-bash/prebuilds/linux-x64/tree-sitter-bash.node +0 -0
  229. package/node_modules/tree-sitter-bash/prebuilds/win32-arm64/tree-sitter-bash.node +0 -0
  230. package/node_modules/tree-sitter-bash/prebuilds/win32-x64/tree-sitter-bash.node +0 -0
  231. package/node_modules/tree-sitter-bash/queries/highlights.scm +56 -0
  232. package/node_modules/tree-sitter-bash/src/grammar.json +7145 -0
  233. package/node_modules/tree-sitter-bash/src/node-types.json +2894 -0
  234. package/node_modules/tree-sitter-bash/src/parser.c +350631 -0
  235. package/node_modules/tree-sitter-bash/src/scanner.c +1217 -0
  236. package/node_modules/tree-sitter-bash/src/tree_sitter/alloc.h +54 -0
  237. package/node_modules/tree-sitter-bash/src/tree_sitter/array.h +291 -0
  238. package/node_modules/tree-sitter-bash/src/tree_sitter/parser.h +286 -0
  239. package/node_modules/tree-sitter-bash/tree-sitter-bash.wasm +0 -0
  240. package/node_modules/tree-sitter-bash/tree-sitter.json +46 -0
  241. package/package.json +90 -0
  242. package/packages/agent-mode/extensions/index.ts +117 -0
  243. package/packages/agent-mode/package.json +31 -0
  244. package/packages/agent-mode/src/apply-mode.ts +60 -0
  245. package/packages/agent-mode/src/mode-events.ts +102 -0
  246. package/packages/agent-mode/src/modes.ts +43 -0
  247. package/packages/agent-mode/src/plan-instructions.ts +44 -0
  248. package/packages/agent-mode/tsconfig.json +13 -0
  249. package/packages/agent-mode/vitest.config.ts +8 -0
  250. package/packages/keybindings/extensions/index.ts +104 -0
  251. package/packages/keybindings/package.json +26 -0
  252. package/packages/keybindings/presets/shortcuts.json +3 -0
  253. package/packages/keybindings/src/bind.ts +57 -0
  254. package/packages/keybindings/src/config.ts +84 -0
  255. package/packages/keybindings/src/registry.ts +43 -0
  256. package/packages/keybindings/src/types.ts +54 -0
  257. package/packages/keybindings/tsconfig.json +13 -0
  258. package/packages/keybindings/vitest.config.ts +8 -0
  259. package/packages/permission-system/extensions/index.ts +162 -0
  260. package/packages/permission-system/node_modules/web-tree-sitter/LICENSE +21 -0
  261. package/packages/permission-system/node_modules/web-tree-sitter/README.md +269 -0
  262. package/packages/permission-system/node_modules/web-tree-sitter/debug/tree-sitter.cjs +4558 -0
  263. package/packages/permission-system/node_modules/web-tree-sitter/debug/tree-sitter.cjs.map +7 -0
  264. package/packages/permission-system/node_modules/web-tree-sitter/debug/tree-sitter.js +4516 -0
  265. package/packages/permission-system/node_modules/web-tree-sitter/debug/tree-sitter.js.map +7 -0
  266. package/packages/permission-system/node_modules/web-tree-sitter/debug/tree-sitter.wasm +0 -0
  267. package/packages/permission-system/node_modules/web-tree-sitter/debug/tree-sitter.wasm.map +31 -0
  268. package/packages/permission-system/node_modules/web-tree-sitter/lib/alloc.c +48 -0
  269. package/packages/permission-system/node_modules/web-tree-sitter/lib/alloc.h +41 -0
  270. package/packages/permission-system/node_modules/web-tree-sitter/lib/array.h +291 -0
  271. package/packages/permission-system/node_modules/web-tree-sitter/lib/atomic.h +68 -0
  272. package/packages/permission-system/node_modules/web-tree-sitter/lib/clock.h +146 -0
  273. package/packages/permission-system/node_modules/web-tree-sitter/lib/error_costs.h +11 -0
  274. package/packages/permission-system/node_modules/web-tree-sitter/lib/get_changed_ranges.c +523 -0
  275. package/packages/permission-system/node_modules/web-tree-sitter/lib/get_changed_ranges.h +36 -0
  276. package/packages/permission-system/node_modules/web-tree-sitter/lib/host.h +21 -0
  277. package/packages/permission-system/node_modules/web-tree-sitter/lib/language.c +293 -0
  278. package/packages/permission-system/node_modules/web-tree-sitter/lib/language.h +293 -0
  279. package/packages/permission-system/node_modules/web-tree-sitter/lib/length.h +52 -0
  280. package/packages/permission-system/node_modules/web-tree-sitter/lib/lexer.c +483 -0
  281. package/packages/permission-system/node_modules/web-tree-sitter/lib/lexer.h +54 -0
  282. package/packages/permission-system/node_modules/web-tree-sitter/lib/lib.c +12 -0
  283. package/packages/permission-system/node_modules/web-tree-sitter/lib/node.c +875 -0
  284. package/packages/permission-system/node_modules/web-tree-sitter/lib/parser.c +2297 -0
  285. package/packages/permission-system/node_modules/web-tree-sitter/lib/parser.h +286 -0
  286. package/packages/permission-system/node_modules/web-tree-sitter/lib/point.h +48 -0
  287. package/packages/permission-system/node_modules/web-tree-sitter/lib/query.c +4347 -0
  288. package/packages/permission-system/node_modules/web-tree-sitter/lib/reduce_action.h +34 -0
  289. package/packages/permission-system/node_modules/web-tree-sitter/lib/reusable_node.h +95 -0
  290. package/packages/permission-system/node_modules/web-tree-sitter/lib/stack.c +912 -0
  291. package/packages/permission-system/node_modules/web-tree-sitter/lib/stack.h +133 -0
  292. package/packages/permission-system/node_modules/web-tree-sitter/lib/subtree.c +1034 -0
  293. package/packages/permission-system/node_modules/web-tree-sitter/lib/subtree.h +399 -0
  294. package/packages/permission-system/node_modules/web-tree-sitter/lib/tree-sitter.c +987 -0
  295. package/packages/permission-system/node_modules/web-tree-sitter/lib/tree-sitter.cjs +2988 -0
  296. package/packages/permission-system/node_modules/web-tree-sitter/lib/tree-sitter.wasm +0 -0
  297. package/packages/permission-system/node_modules/web-tree-sitter/lib/tree-sitter.wasm.map +1 -0
  298. package/packages/permission-system/node_modules/web-tree-sitter/lib/tree.c +170 -0
  299. package/packages/permission-system/node_modules/web-tree-sitter/lib/tree.h +31 -0
  300. package/packages/permission-system/node_modules/web-tree-sitter/lib/tree_cursor.c +716 -0
  301. package/packages/permission-system/node_modules/web-tree-sitter/lib/tree_cursor.h +48 -0
  302. package/packages/permission-system/node_modules/web-tree-sitter/lib/ts_assert.h +11 -0
  303. package/packages/permission-system/node_modules/web-tree-sitter/lib/unicode.h +75 -0
  304. package/packages/permission-system/node_modules/web-tree-sitter/lib/wasm_store.c +1937 -0
  305. package/packages/permission-system/node_modules/web-tree-sitter/lib/wasm_store.h +31 -0
  306. package/packages/permission-system/node_modules/web-tree-sitter/package.json +98 -0
  307. package/packages/permission-system/node_modules/web-tree-sitter/src/bindings.ts +26 -0
  308. package/packages/permission-system/node_modules/web-tree-sitter/src/constants.ts +133 -0
  309. package/packages/permission-system/node_modules/web-tree-sitter/src/index.ts +31 -0
  310. package/packages/permission-system/node_modules/web-tree-sitter/src/language.ts +291 -0
  311. package/packages/permission-system/node_modules/web-tree-sitter/src/lookahead_iterator.ts +75 -0
  312. package/packages/permission-system/node_modules/web-tree-sitter/src/marshal.ts +176 -0
  313. package/packages/permission-system/node_modules/web-tree-sitter/src/node.ts +646 -0
  314. package/packages/permission-system/node_modules/web-tree-sitter/src/parser.ts +325 -0
  315. package/packages/permission-system/node_modules/web-tree-sitter/src/query.ts +973 -0
  316. package/packages/permission-system/node_modules/web-tree-sitter/src/tree.ts +145 -0
  317. package/packages/permission-system/node_modules/web-tree-sitter/src/tree_cursor.ts +318 -0
  318. package/packages/permission-system/node_modules/web-tree-sitter/tree-sitter.cjs +4031 -0
  319. package/packages/permission-system/node_modules/web-tree-sitter/tree-sitter.cjs.map +7 -0
  320. package/packages/permission-system/node_modules/web-tree-sitter/tree-sitter.js +3980 -0
  321. package/packages/permission-system/node_modules/web-tree-sitter/tree-sitter.js.map +7 -0
  322. package/packages/permission-system/node_modules/web-tree-sitter/tree-sitter.wasm +0 -0
  323. package/packages/permission-system/node_modules/web-tree-sitter/tree-sitter.wasm.map +30 -0
  324. package/packages/permission-system/node_modules/web-tree-sitter/web-tree-sitter.d.ts +1030 -0
  325. package/packages/permission-system/node_modules/web-tree-sitter/web-tree-sitter.d.ts.map +56 -0
  326. package/packages/permission-system/node_modules/zod/LICENSE +21 -0
  327. package/packages/permission-system/node_modules/zod/README.md +208 -0
  328. package/packages/permission-system/node_modules/zod/index.cjs +33 -0
  329. package/packages/permission-system/node_modules/zod/index.d.cts +4 -0
  330. package/packages/permission-system/node_modules/zod/index.d.ts +4 -0
  331. package/packages/permission-system/node_modules/zod/index.js +4 -0
  332. package/packages/permission-system/node_modules/zod/package.json +118 -0
  333. package/packages/permission-system/node_modules/zod/src/index.ts +4 -0
  334. package/packages/permission-system/node_modules/zod/src/v3/ZodError.ts +330 -0
  335. package/packages/permission-system/node_modules/zod/src/v3/benchmarks/datetime.ts +58 -0
  336. package/packages/permission-system/node_modules/zod/src/v3/benchmarks/discriminatedUnion.ts +80 -0
  337. package/packages/permission-system/node_modules/zod/src/v3/benchmarks/index.ts +59 -0
  338. package/packages/permission-system/node_modules/zod/src/v3/benchmarks/ipv4.ts +57 -0
  339. package/packages/permission-system/node_modules/zod/src/v3/benchmarks/object.ts +69 -0
  340. package/packages/permission-system/node_modules/zod/src/v3/benchmarks/primitives.ts +162 -0
  341. package/packages/permission-system/node_modules/zod/src/v3/benchmarks/realworld.ts +63 -0
  342. package/packages/permission-system/node_modules/zod/src/v3/benchmarks/string.ts +55 -0
  343. package/packages/permission-system/node_modules/zod/src/v3/benchmarks/union.ts +80 -0
  344. package/packages/permission-system/node_modules/zod/src/v3/errors.ts +13 -0
  345. package/packages/permission-system/node_modules/zod/src/v3/external.ts +6 -0
  346. package/packages/permission-system/node_modules/zod/src/v3/helpers/enumUtil.ts +17 -0
  347. package/packages/permission-system/node_modules/zod/src/v3/helpers/errorUtil.ts +8 -0
  348. package/packages/permission-system/node_modules/zod/src/v3/helpers/parseUtil.ts +176 -0
  349. package/packages/permission-system/node_modules/zod/src/v3/helpers/partialUtil.ts +34 -0
  350. package/packages/permission-system/node_modules/zod/src/v3/helpers/typeAliases.ts +2 -0
  351. package/packages/permission-system/node_modules/zod/src/v3/helpers/util.ts +224 -0
  352. package/packages/permission-system/node_modules/zod/src/v3/index.ts +4 -0
  353. package/packages/permission-system/node_modules/zod/src/v3/locales/en.ts +124 -0
  354. package/packages/permission-system/node_modules/zod/src/v3/standard-schema.ts +113 -0
  355. package/packages/permission-system/node_modules/zod/src/v3/tests/Mocker.ts +54 -0
  356. package/packages/permission-system/node_modules/zod/src/v3/tests/all-errors.test.ts +157 -0
  357. package/packages/permission-system/node_modules/zod/src/v3/tests/anyunknown.test.ts +28 -0
  358. package/packages/permission-system/node_modules/zod/src/v3/tests/array.test.ts +71 -0
  359. package/packages/permission-system/node_modules/zod/src/v3/tests/async-parsing.test.ts +388 -0
  360. package/packages/permission-system/node_modules/zod/src/v3/tests/async-refinements.test.ts +46 -0
  361. package/packages/permission-system/node_modules/zod/src/v3/tests/base.test.ts +29 -0
  362. package/packages/permission-system/node_modules/zod/src/v3/tests/bigint.test.ts +55 -0
  363. package/packages/permission-system/node_modules/zod/src/v3/tests/branded.test.ts +53 -0
  364. package/packages/permission-system/node_modules/zod/src/v3/tests/catch.test.ts +220 -0
  365. package/packages/permission-system/node_modules/zod/src/v3/tests/coerce.test.ts +133 -0
  366. package/packages/permission-system/node_modules/zod/src/v3/tests/complex.test.ts +56 -0
  367. package/packages/permission-system/node_modules/zod/src/v3/tests/custom.test.ts +31 -0
  368. package/packages/permission-system/node_modules/zod/src/v3/tests/date.test.ts +32 -0
  369. package/packages/permission-system/node_modules/zod/src/v3/tests/deepmasking.test.ts +186 -0
  370. package/packages/permission-system/node_modules/zod/src/v3/tests/default.test.ts +112 -0
  371. package/packages/permission-system/node_modules/zod/src/v3/tests/description.test.ts +33 -0
  372. package/packages/permission-system/node_modules/zod/src/v3/tests/discriminated-unions.test.ts +315 -0
  373. package/packages/permission-system/node_modules/zod/src/v3/tests/enum.test.ts +80 -0
  374. package/packages/permission-system/node_modules/zod/src/v3/tests/error.test.ts +551 -0
  375. package/packages/permission-system/node_modules/zod/src/v3/tests/firstparty.test.ts +87 -0
  376. package/packages/permission-system/node_modules/zod/src/v3/tests/firstpartyschematypes.test.ts +21 -0
  377. package/packages/permission-system/node_modules/zod/src/v3/tests/function.test.ts +257 -0
  378. package/packages/permission-system/node_modules/zod/src/v3/tests/generics.test.ts +48 -0
  379. package/packages/permission-system/node_modules/zod/src/v3/tests/instanceof.test.ts +37 -0
  380. package/packages/permission-system/node_modules/zod/src/v3/tests/intersection.test.ts +110 -0
  381. package/packages/permission-system/node_modules/zod/src/v3/tests/language-server.source.ts +76 -0
  382. package/packages/permission-system/node_modules/zod/src/v3/tests/language-server.test.ts +207 -0
  383. package/packages/permission-system/node_modules/zod/src/v3/tests/literal.test.ts +36 -0
  384. package/packages/permission-system/node_modules/zod/src/v3/tests/map.test.ts +110 -0
  385. package/packages/permission-system/node_modules/zod/src/v3/tests/masking.test.ts +4 -0
  386. package/packages/permission-system/node_modules/zod/src/v3/tests/mocker.test.ts +19 -0
  387. package/packages/permission-system/node_modules/zod/src/v3/tests/nan.test.ts +21 -0
  388. package/packages/permission-system/node_modules/zod/src/v3/tests/nativeEnum.test.ts +87 -0
  389. package/packages/permission-system/node_modules/zod/src/v3/tests/nullable.test.ts +42 -0
  390. package/packages/permission-system/node_modules/zod/src/v3/tests/number.test.ts +176 -0
  391. package/packages/permission-system/node_modules/zod/src/v3/tests/object-augmentation.test.ts +29 -0
  392. package/packages/permission-system/node_modules/zod/src/v3/tests/object-in-es5-env.test.ts +29 -0
  393. package/packages/permission-system/node_modules/zod/src/v3/tests/object.test.ts +434 -0
  394. package/packages/permission-system/node_modules/zod/src/v3/tests/optional.test.ts +42 -0
  395. package/packages/permission-system/node_modules/zod/src/v3/tests/parseUtil.test.ts +23 -0
  396. package/packages/permission-system/node_modules/zod/src/v3/tests/parser.test.ts +41 -0
  397. package/packages/permission-system/node_modules/zod/src/v3/tests/partials.test.ts +243 -0
  398. package/packages/permission-system/node_modules/zod/src/v3/tests/pickomit.test.ts +111 -0
  399. package/packages/permission-system/node_modules/zod/src/v3/tests/pipeline.test.ts +29 -0
  400. package/packages/permission-system/node_modules/zod/src/v3/tests/preprocess.test.ts +186 -0
  401. package/packages/permission-system/node_modules/zod/src/v3/tests/primitive.test.ts +440 -0
  402. package/packages/permission-system/node_modules/zod/src/v3/tests/promise.test.ts +90 -0
  403. package/packages/permission-system/node_modules/zod/src/v3/tests/readonly.test.ts +194 -0
  404. package/packages/permission-system/node_modules/zod/src/v3/tests/record.test.ts +171 -0
  405. package/packages/permission-system/node_modules/zod/src/v3/tests/recursive.test.ts +197 -0
  406. package/packages/permission-system/node_modules/zod/src/v3/tests/refine.test.ts +313 -0
  407. package/packages/permission-system/node_modules/zod/src/v3/tests/safeparse.test.ts +27 -0
  408. package/packages/permission-system/node_modules/zod/src/v3/tests/set.test.ts +142 -0
  409. package/packages/permission-system/node_modules/zod/src/v3/tests/standard-schema.test.ts +83 -0
  410. package/packages/permission-system/node_modules/zod/src/v3/tests/string.test.ts +916 -0
  411. package/packages/permission-system/node_modules/zod/src/v3/tests/transformer.test.ts +233 -0
  412. package/packages/permission-system/node_modules/zod/src/v3/tests/tuple.test.ts +90 -0
  413. package/packages/permission-system/node_modules/zod/src/v3/tests/unions.test.ts +57 -0
  414. package/packages/permission-system/node_modules/zod/src/v3/tests/validations.test.ts +133 -0
  415. package/packages/permission-system/node_modules/zod/src/v3/tests/void.test.ts +15 -0
  416. package/packages/permission-system/node_modules/zod/src/v3/types.ts +5136 -0
  417. package/packages/permission-system/node_modules/zod/src/v4/classic/checks.ts +30 -0
  418. package/packages/permission-system/node_modules/zod/src/v4/classic/coerce.ts +27 -0
  419. package/packages/permission-system/node_modules/zod/src/v4/classic/compat.ts +66 -0
  420. package/packages/permission-system/node_modules/zod/src/v4/classic/errors.ts +75 -0
  421. package/packages/permission-system/node_modules/zod/src/v4/classic/external.ts +50 -0
  422. package/packages/permission-system/node_modules/zod/src/v4/classic/index.ts +5 -0
  423. package/packages/permission-system/node_modules/zod/src/v4/classic/iso.ts +90 -0
  424. package/packages/permission-system/node_modules/zod/src/v4/classic/parse.ts +33 -0
  425. package/packages/permission-system/node_modules/zod/src/v4/classic/schemas.ts +2054 -0
  426. package/packages/permission-system/node_modules/zod/src/v4/classic/tests/anyunknown.test.ts +26 -0
  427. package/packages/permission-system/node_modules/zod/src/v4/classic/tests/array.test.ts +264 -0
  428. package/packages/permission-system/node_modules/zod/src/v4/classic/tests/assignability.test.ts +210 -0
  429. package/packages/permission-system/node_modules/zod/src/v4/classic/tests/async-parsing.test.ts +381 -0
  430. package/packages/permission-system/node_modules/zod/src/v4/classic/tests/async-refinements.test.ts +68 -0
  431. package/packages/permission-system/node_modules/zod/src/v4/classic/tests/base.test.ts +7 -0
  432. package/packages/permission-system/node_modules/zod/src/v4/classic/tests/bigint.test.ts +54 -0
  433. package/packages/permission-system/node_modules/zod/src/v4/classic/tests/brand.test.ts +63 -0
  434. package/packages/permission-system/node_modules/zod/src/v4/classic/tests/catch.test.ts +252 -0
  435. package/packages/permission-system/node_modules/zod/src/v4/classic/tests/coalesce.test.ts +20 -0
  436. package/packages/permission-system/node_modules/zod/src/v4/classic/tests/coerce.test.ts +160 -0
  437. package/packages/permission-system/node_modules/zod/src/v4/classic/tests/continuability.test.ts +352 -0
  438. package/packages/permission-system/node_modules/zod/src/v4/classic/tests/custom.test.ts +40 -0
  439. package/packages/permission-system/node_modules/zod/src/v4/classic/tests/date.test.ts +31 -0
  440. package/packages/permission-system/node_modules/zod/src/v4/classic/tests/datetime.test.ts +296 -0
  441. package/packages/permission-system/node_modules/zod/src/v4/classic/tests/default.test.ts +313 -0
  442. package/packages/permission-system/node_modules/zod/src/v4/classic/tests/description.test.ts +32 -0
  443. package/packages/permission-system/node_modules/zod/src/v4/classic/tests/discriminated-unions.test.ts +619 -0
  444. package/packages/permission-system/node_modules/zod/src/v4/classic/tests/enum.test.ts +285 -0
  445. package/packages/permission-system/node_modules/zod/src/v4/classic/tests/error-utils.test.ts +527 -0
  446. package/packages/permission-system/node_modules/zod/src/v4/classic/tests/error.test.ts +711 -0
  447. package/packages/permission-system/node_modules/zod/src/v4/classic/tests/file.test.ts +91 -0
  448. package/packages/permission-system/node_modules/zod/src/v4/classic/tests/firstparty.test.ts +175 -0
  449. package/packages/permission-system/node_modules/zod/src/v4/classic/tests/function.test.ts +268 -0
  450. package/packages/permission-system/node_modules/zod/src/v4/classic/tests/generics.test.ts +72 -0
  451. package/packages/permission-system/node_modules/zod/src/v4/classic/tests/index.test.ts +829 -0
  452. package/packages/permission-system/node_modules/zod/src/v4/classic/tests/instanceof.test.ts +34 -0
  453. package/packages/permission-system/node_modules/zod/src/v4/classic/tests/intersection.test.ts +171 -0
  454. package/packages/permission-system/node_modules/zod/src/v4/classic/tests/json.test.ts +108 -0
  455. package/packages/permission-system/node_modules/zod/src/v4/classic/tests/lazy.test.ts +227 -0
  456. package/packages/permission-system/node_modules/zod/src/v4/classic/tests/literal.test.ts +92 -0
  457. package/packages/permission-system/node_modules/zod/src/v4/classic/tests/map.test.ts +196 -0
  458. package/packages/permission-system/node_modules/zod/src/v4/classic/tests/nan.test.ts +21 -0
  459. package/packages/permission-system/node_modules/zod/src/v4/classic/tests/nested-refine.test.ts +168 -0
  460. package/packages/permission-system/node_modules/zod/src/v4/classic/tests/nonoptional.test.ts +86 -0
  461. package/packages/permission-system/node_modules/zod/src/v4/classic/tests/nullable.test.ts +22 -0
  462. package/packages/permission-system/node_modules/zod/src/v4/classic/tests/number.test.ts +247 -0
  463. package/packages/permission-system/node_modules/zod/src/v4/classic/tests/object.test.ts +563 -0
  464. package/packages/permission-system/node_modules/zod/src/v4/classic/tests/optional.test.ts +123 -0
  465. package/packages/permission-system/node_modules/zod/src/v4/classic/tests/partial.test.ts +147 -0
  466. package/packages/permission-system/node_modules/zod/src/v4/classic/tests/pickomit.test.ts +127 -0
  467. package/packages/permission-system/node_modules/zod/src/v4/classic/tests/pipe.test.ts +81 -0
  468. package/packages/permission-system/node_modules/zod/src/v4/classic/tests/prefault.test.ts +37 -0
  469. package/packages/permission-system/node_modules/zod/src/v4/classic/tests/preprocess.test.ts +298 -0
  470. package/packages/permission-system/node_modules/zod/src/v4/classic/tests/primitive.test.ts +175 -0
  471. package/packages/permission-system/node_modules/zod/src/v4/classic/tests/promise.test.ts +81 -0
  472. package/packages/permission-system/node_modules/zod/src/v4/classic/tests/prototypes.test.ts +23 -0
  473. package/packages/permission-system/node_modules/zod/src/v4/classic/tests/readonly.test.ts +252 -0
  474. package/packages/permission-system/node_modules/zod/src/v4/classic/tests/record.test.ts +342 -0
  475. package/packages/permission-system/node_modules/zod/src/v4/classic/tests/recursive-types.test.ts +356 -0
  476. package/packages/permission-system/node_modules/zod/src/v4/classic/tests/refine.test.ts +532 -0
  477. package/packages/permission-system/node_modules/zod/src/v4/classic/tests/registries.test.ts +204 -0
  478. package/packages/permission-system/node_modules/zod/src/v4/classic/tests/set.test.ts +179 -0
  479. package/packages/permission-system/node_modules/zod/src/v4/classic/tests/standard-schema.test.ts +57 -0
  480. package/packages/permission-system/node_modules/zod/src/v4/classic/tests/string-formats.test.ts +109 -0
  481. package/packages/permission-system/node_modules/zod/src/v4/classic/tests/string.test.ts +881 -0
  482. package/packages/permission-system/node_modules/zod/src/v4/classic/tests/stringbool.test.ts +66 -0
  483. package/packages/permission-system/node_modules/zod/src/v4/classic/tests/template-literal.test.ts +758 -0
  484. package/packages/permission-system/node_modules/zod/src/v4/classic/tests/to-json-schema.test.ts +2314 -0
  485. package/packages/permission-system/node_modules/zod/src/v4/classic/tests/transform.test.ts +250 -0
  486. package/packages/permission-system/node_modules/zod/src/v4/classic/tests/tuple.test.ts +163 -0
  487. package/packages/permission-system/node_modules/zod/src/v4/classic/tests/union.test.ts +94 -0
  488. package/packages/permission-system/node_modules/zod/src/v4/classic/tests/validations.test.ts +283 -0
  489. package/packages/permission-system/node_modules/zod/src/v4/classic/tests/void.test.ts +12 -0
  490. package/packages/permission-system/node_modules/zod/src/v4/core/api.ts +1594 -0
  491. package/packages/permission-system/node_modules/zod/src/v4/core/checks.ts +1283 -0
  492. package/packages/permission-system/node_modules/zod/src/v4/core/config.ts +15 -0
  493. package/packages/permission-system/node_modules/zod/src/v4/core/core.ts +134 -0
  494. package/packages/permission-system/node_modules/zod/src/v4/core/doc.ts +44 -0
  495. package/packages/permission-system/node_modules/zod/src/v4/core/errors.ts +424 -0
  496. package/packages/permission-system/node_modules/zod/src/v4/core/function.ts +176 -0
  497. package/packages/permission-system/node_modules/zod/src/v4/core/index.ts +15 -0
  498. package/packages/permission-system/node_modules/zod/src/v4/core/json-schema.ts +143 -0
  499. package/packages/permission-system/node_modules/zod/src/v4/core/parse.ts +94 -0
  500. package/packages/permission-system/node_modules/zod/src/v4/core/regexes.ts +135 -0
  501. package/packages/permission-system/node_modules/zod/src/v4/core/registries.ts +96 -0
  502. package/packages/permission-system/node_modules/zod/src/v4/core/schemas.ts +3842 -0
  503. package/packages/permission-system/node_modules/zod/src/v4/core/standard-schema.ts +64 -0
  504. package/packages/permission-system/node_modules/zod/src/v4/core/tests/index.test.ts +46 -0
  505. package/packages/permission-system/node_modules/zod/src/v4/core/tests/locales/be.test.ts +124 -0
  506. package/packages/permission-system/node_modules/zod/src/v4/core/tests/locales/en.test.ts +22 -0
  507. package/packages/permission-system/node_modules/zod/src/v4/core/tests/locales/ru.test.ts +128 -0
  508. package/packages/permission-system/node_modules/zod/src/v4/core/tests/locales/tr.test.ts +69 -0
  509. package/packages/permission-system/node_modules/zod/src/v4/core/to-json-schema.ts +977 -0
  510. package/packages/permission-system/node_modules/zod/src/v4/core/util.ts +775 -0
  511. package/packages/permission-system/node_modules/zod/src/v4/core/versions.ts +5 -0
  512. package/packages/permission-system/node_modules/zod/src/v4/core/zsf.ts +323 -0
  513. package/packages/permission-system/node_modules/zod/src/v4/index.ts +4 -0
  514. package/packages/permission-system/node_modules/zod/src/v4/locales/ar.ts +125 -0
  515. package/packages/permission-system/node_modules/zod/src/v4/locales/az.ts +121 -0
  516. package/packages/permission-system/node_modules/zod/src/v4/locales/be.ts +184 -0
  517. package/packages/permission-system/node_modules/zod/src/v4/locales/ca.ts +127 -0
  518. package/packages/permission-system/node_modules/zod/src/v4/locales/cs.ts +142 -0
  519. package/packages/permission-system/node_modules/zod/src/v4/locales/de.ts +124 -0
  520. package/packages/permission-system/node_modules/zod/src/v4/locales/en.ts +127 -0
  521. package/packages/permission-system/node_modules/zod/src/v4/locales/eo.ts +125 -0
  522. package/packages/permission-system/node_modules/zod/src/v4/locales/es.ts +125 -0
  523. package/packages/permission-system/node_modules/zod/src/v4/locales/fa.ts +134 -0
  524. package/packages/permission-system/node_modules/zod/src/v4/locales/fi.ts +131 -0
  525. package/packages/permission-system/node_modules/zod/src/v4/locales/fr-CA.ts +126 -0
  526. package/packages/permission-system/node_modules/zod/src/v4/locales/fr.ts +124 -0
  527. package/packages/permission-system/node_modules/zod/src/v4/locales/he.ts +125 -0
  528. package/packages/permission-system/node_modules/zod/src/v4/locales/hu.ts +126 -0
  529. package/packages/permission-system/node_modules/zod/src/v4/locales/id.ts +125 -0
  530. package/packages/permission-system/node_modules/zod/src/v4/locales/index.ts +39 -0
  531. package/packages/permission-system/node_modules/zod/src/v4/locales/it.ts +125 -0
  532. package/packages/permission-system/node_modules/zod/src/v4/locales/ja.ts +122 -0
  533. package/packages/permission-system/node_modules/zod/src/v4/locales/kh.ts +126 -0
  534. package/packages/permission-system/node_modules/zod/src/v4/locales/ko.ts +131 -0
  535. package/packages/permission-system/node_modules/zod/src/v4/locales/mk.ts +127 -0
  536. package/packages/permission-system/node_modules/zod/src/v4/locales/ms.ts +124 -0
  537. package/packages/permission-system/node_modules/zod/src/v4/locales/nl.ts +126 -0
  538. package/packages/permission-system/node_modules/zod/src/v4/locales/no.ts +124 -0
  539. package/packages/permission-system/node_modules/zod/src/v4/locales/ota.ts +125 -0
  540. package/packages/permission-system/node_modules/zod/src/v4/locales/pl.ts +126 -0
  541. package/packages/permission-system/node_modules/zod/src/v4/locales/ps.ts +133 -0
  542. package/packages/permission-system/node_modules/zod/src/v4/locales/pt.ts +123 -0
  543. package/packages/permission-system/node_modules/zod/src/v4/locales/ru.ts +184 -0
  544. package/packages/permission-system/node_modules/zod/src/v4/locales/sl.ts +126 -0
  545. package/packages/permission-system/node_modules/zod/src/v4/locales/sv.ts +127 -0
  546. package/packages/permission-system/node_modules/zod/src/v4/locales/ta.ts +125 -0
  547. package/packages/permission-system/node_modules/zod/src/v4/locales/th.ts +126 -0
  548. package/packages/permission-system/node_modules/zod/src/v4/locales/tr.ts +121 -0
  549. package/packages/permission-system/node_modules/zod/src/v4/locales/ua.ts +126 -0
  550. package/packages/permission-system/node_modules/zod/src/v4/locales/ur.ts +126 -0
  551. package/packages/permission-system/node_modules/zod/src/v4/locales/vi.ts +125 -0
  552. package/packages/permission-system/node_modules/zod/src/v4/locales/zh-CN.ts +123 -0
  553. package/packages/permission-system/node_modules/zod/src/v4/locales/zh-TW.ts +125 -0
  554. package/packages/permission-system/node_modules/zod/src/v4/mini/checks.ts +32 -0
  555. package/packages/permission-system/node_modules/zod/src/v4/mini/coerce.ts +22 -0
  556. package/packages/permission-system/node_modules/zod/src/v4/mini/external.ts +40 -0
  557. package/packages/permission-system/node_modules/zod/src/v4/mini/index.ts +3 -0
  558. package/packages/permission-system/node_modules/zod/src/v4/mini/iso.ts +62 -0
  559. package/packages/permission-system/node_modules/zod/src/v4/mini/parse.ts +1 -0
  560. package/packages/permission-system/node_modules/zod/src/v4/mini/schemas.ts +1579 -0
  561. package/packages/permission-system/node_modules/zod/src/v4/mini/tests/assignability.test.ts +129 -0
  562. package/packages/permission-system/node_modules/zod/src/v4/mini/tests/brand.test.ts +51 -0
  563. package/packages/permission-system/node_modules/zod/src/v4/mini/tests/checks.test.ts +144 -0
  564. package/packages/permission-system/node_modules/zod/src/v4/mini/tests/computed.test.ts +36 -0
  565. package/packages/permission-system/node_modules/zod/src/v4/mini/tests/error.test.ts +22 -0
  566. package/packages/permission-system/node_modules/zod/src/v4/mini/tests/functions.test.ts +43 -0
  567. package/packages/permission-system/node_modules/zod/src/v4/mini/tests/index.test.ts +871 -0
  568. package/packages/permission-system/node_modules/zod/src/v4/mini/tests/number.test.ts +95 -0
  569. package/packages/permission-system/node_modules/zod/src/v4/mini/tests/object.test.ts +185 -0
  570. package/packages/permission-system/node_modules/zod/src/v4/mini/tests/prototypes.test.ts +43 -0
  571. package/packages/permission-system/node_modules/zod/src/v4/mini/tests/recursive-types.test.ts +275 -0
  572. package/packages/permission-system/node_modules/zod/src/v4/mini/tests/string.test.ts +299 -0
  573. package/packages/permission-system/node_modules/zod/src/v4-mini/index.ts +1 -0
  574. package/packages/permission-system/node_modules/zod/v3/ZodError.cjs +138 -0
  575. package/packages/permission-system/node_modules/zod/v3/ZodError.d.cts +164 -0
  576. package/packages/permission-system/node_modules/zod/v3/ZodError.d.ts +164 -0
  577. package/packages/permission-system/node_modules/zod/v3/ZodError.js +133 -0
  578. package/packages/permission-system/node_modules/zod/v3/errors.cjs +17 -0
  579. package/packages/permission-system/node_modules/zod/v3/errors.d.cts +5 -0
  580. package/packages/permission-system/node_modules/zod/v3/errors.d.ts +5 -0
  581. package/packages/permission-system/node_modules/zod/v3/errors.js +9 -0
  582. package/packages/permission-system/node_modules/zod/v3/external.cjs +22 -0
  583. package/packages/permission-system/node_modules/zod/v3/external.d.cts +6 -0
  584. package/packages/permission-system/node_modules/zod/v3/external.d.ts +6 -0
  585. package/packages/permission-system/node_modules/zod/v3/external.js +6 -0
  586. package/packages/permission-system/node_modules/zod/v3/helpers/enumUtil.cjs +2 -0
  587. package/packages/permission-system/node_modules/zod/v3/helpers/enumUtil.d.cts +8 -0
  588. package/packages/permission-system/node_modules/zod/v3/helpers/enumUtil.d.ts +8 -0
  589. package/packages/permission-system/node_modules/zod/v3/helpers/enumUtil.js +1 -0
  590. package/packages/permission-system/node_modules/zod/v3/helpers/errorUtil.cjs +9 -0
  591. package/packages/permission-system/node_modules/zod/v3/helpers/errorUtil.d.cts +9 -0
  592. package/packages/permission-system/node_modules/zod/v3/helpers/errorUtil.d.ts +9 -0
  593. package/packages/permission-system/node_modules/zod/v3/helpers/errorUtil.js +6 -0
  594. package/packages/permission-system/node_modules/zod/v3/helpers/parseUtil.cjs +124 -0
  595. package/packages/permission-system/node_modules/zod/v3/helpers/parseUtil.d.cts +78 -0
  596. package/packages/permission-system/node_modules/zod/v3/helpers/parseUtil.d.ts +78 -0
  597. package/packages/permission-system/node_modules/zod/v3/helpers/parseUtil.js +109 -0
  598. package/packages/permission-system/node_modules/zod/v3/helpers/partialUtil.cjs +2 -0
  599. package/packages/permission-system/node_modules/zod/v3/helpers/partialUtil.d.cts +8 -0
  600. package/packages/permission-system/node_modules/zod/v3/helpers/partialUtil.d.ts +8 -0
  601. package/packages/permission-system/node_modules/zod/v3/helpers/partialUtil.js +1 -0
  602. package/packages/permission-system/node_modules/zod/v3/helpers/typeAliases.cjs +2 -0
  603. package/packages/permission-system/node_modules/zod/v3/helpers/typeAliases.d.cts +2 -0
  604. package/packages/permission-system/node_modules/zod/v3/helpers/typeAliases.d.ts +2 -0
  605. package/packages/permission-system/node_modules/zod/v3/helpers/typeAliases.js +1 -0
  606. package/packages/permission-system/node_modules/zod/v3/helpers/util.cjs +137 -0
  607. package/packages/permission-system/node_modules/zod/v3/helpers/util.d.cts +85 -0
  608. package/packages/permission-system/node_modules/zod/v3/helpers/util.d.ts +85 -0
  609. package/packages/permission-system/node_modules/zod/v3/helpers/util.js +133 -0
  610. package/packages/permission-system/node_modules/zod/v3/index.cjs +33 -0
  611. package/packages/permission-system/node_modules/zod/v3/index.d.cts +4 -0
  612. package/packages/permission-system/node_modules/zod/v3/index.d.ts +4 -0
  613. package/packages/permission-system/node_modules/zod/v3/index.js +4 -0
  614. package/packages/permission-system/node_modules/zod/v3/locales/en.cjs +111 -0
  615. package/packages/permission-system/node_modules/zod/v3/locales/en.d.cts +3 -0
  616. package/packages/permission-system/node_modules/zod/v3/locales/en.d.ts +3 -0
  617. package/packages/permission-system/node_modules/zod/v3/locales/en.js +109 -0
  618. package/packages/permission-system/node_modules/zod/v3/standard-schema.cjs +2 -0
  619. package/packages/permission-system/node_modules/zod/v3/standard-schema.d.cts +102 -0
  620. package/packages/permission-system/node_modules/zod/v3/standard-schema.d.ts +102 -0
  621. package/packages/permission-system/node_modules/zod/v3/standard-schema.js +1 -0
  622. package/packages/permission-system/node_modules/zod/v3/types.cjs +3775 -0
  623. package/packages/permission-system/node_modules/zod/v3/types.d.cts +1031 -0
  624. package/packages/permission-system/node_modules/zod/v3/types.d.ts +1031 -0
  625. package/packages/permission-system/node_modules/zod/v3/types.js +3693 -0
  626. package/packages/permission-system/node_modules/zod/v4/classic/checks.cjs +32 -0
  627. package/packages/permission-system/node_modules/zod/v4/classic/checks.d.cts +1 -0
  628. package/packages/permission-system/node_modules/zod/v4/classic/checks.d.ts +1 -0
  629. package/packages/permission-system/node_modules/zod/v4/classic/checks.js +1 -0
  630. package/packages/permission-system/node_modules/zod/v4/classic/coerce.cjs +47 -0
  631. package/packages/permission-system/node_modules/zod/v4/classic/coerce.d.cts +17 -0
  632. package/packages/permission-system/node_modules/zod/v4/classic/coerce.d.ts +17 -0
  633. package/packages/permission-system/node_modules/zod/v4/classic/coerce.js +17 -0
  634. package/packages/permission-system/node_modules/zod/v4/classic/compat.cjs +57 -0
  635. package/packages/permission-system/node_modules/zod/v4/classic/compat.d.cts +46 -0
  636. package/packages/permission-system/node_modules/zod/v4/classic/compat.d.ts +46 -0
  637. package/packages/permission-system/node_modules/zod/v4/classic/compat.js +27 -0
  638. package/packages/permission-system/node_modules/zod/v4/classic/errors.cjs +67 -0
  639. package/packages/permission-system/node_modules/zod/v4/classic/errors.d.cts +30 -0
  640. package/packages/permission-system/node_modules/zod/v4/classic/errors.d.ts +30 -0
  641. package/packages/permission-system/node_modules/zod/v4/classic/errors.js +41 -0
  642. package/packages/permission-system/node_modules/zod/v4/classic/external.cjs +70 -0
  643. package/packages/permission-system/node_modules/zod/v4/classic/external.d.cts +13 -0
  644. package/packages/permission-system/node_modules/zod/v4/classic/external.d.ts +13 -0
  645. package/packages/permission-system/node_modules/zod/v4/classic/external.js +18 -0
  646. package/packages/permission-system/node_modules/zod/v4/classic/index.cjs +33 -0
  647. package/packages/permission-system/node_modules/zod/v4/classic/index.d.cts +4 -0
  648. package/packages/permission-system/node_modules/zod/v4/classic/index.d.ts +4 -0
  649. package/packages/permission-system/node_modules/zod/v4/classic/index.js +4 -0
  650. package/packages/permission-system/node_modules/zod/v4/classic/iso.cjs +60 -0
  651. package/packages/permission-system/node_modules/zod/v4/classic/iso.d.cts +22 -0
  652. package/packages/permission-system/node_modules/zod/v4/classic/iso.d.ts +22 -0
  653. package/packages/permission-system/node_modules/zod/v4/classic/iso.js +30 -0
  654. package/packages/permission-system/node_modules/zod/v4/classic/parse.cjs +32 -0
  655. package/packages/permission-system/node_modules/zod/v4/classic/parse.d.cts +23 -0
  656. package/packages/permission-system/node_modules/zod/v4/classic/parse.d.ts +23 -0
  657. package/packages/permission-system/node_modules/zod/v4/classic/parse.js +6 -0
  658. package/packages/permission-system/node_modules/zod/v4/classic/schemas.cjs +1109 -0
  659. package/packages/permission-system/node_modules/zod/v4/classic/schemas.d.cts +630 -0
  660. package/packages/permission-system/node_modules/zod/v4/classic/schemas.d.ts +630 -0
  661. package/packages/permission-system/node_modules/zod/v4/classic/schemas.js +1006 -0
  662. package/packages/permission-system/node_modules/zod/v4/core/api.cjs +1039 -0
  663. package/packages/permission-system/node_modules/zod/v4/core/api.d.cts +284 -0
  664. package/packages/permission-system/node_modules/zod/v4/core/api.d.ts +284 -0
  665. package/packages/permission-system/node_modules/zod/v4/core/api.js +906 -0
  666. package/packages/permission-system/node_modules/zod/v4/core/checks.cjs +591 -0
  667. package/packages/permission-system/node_modules/zod/v4/core/checks.d.cts +278 -0
  668. package/packages/permission-system/node_modules/zod/v4/core/checks.d.ts +278 -0
  669. package/packages/permission-system/node_modules/zod/v4/core/checks.js +565 -0
  670. package/packages/permission-system/node_modules/zod/v4/core/core.cjs +67 -0
  671. package/packages/permission-system/node_modules/zod/v4/core/core.d.cts +49 -0
  672. package/packages/permission-system/node_modules/zod/v4/core/core.d.ts +49 -0
  673. package/packages/permission-system/node_modules/zod/v4/core/core.js +61 -0
  674. package/packages/permission-system/node_modules/zod/v4/core/doc.cjs +39 -0
  675. package/packages/permission-system/node_modules/zod/v4/core/doc.d.cts +14 -0
  676. package/packages/permission-system/node_modules/zod/v4/core/doc.d.ts +14 -0
  677. package/packages/permission-system/node_modules/zod/v4/core/doc.js +35 -0
  678. package/packages/permission-system/node_modules/zod/v4/core/errors.cjs +226 -0
  679. package/packages/permission-system/node_modules/zod/v4/core/errors.d.cts +208 -0
  680. package/packages/permission-system/node_modules/zod/v4/core/errors.d.ts +208 -0
  681. package/packages/permission-system/node_modules/zod/v4/core/errors.js +195 -0
  682. package/packages/permission-system/node_modules/zod/v4/core/function.cjs +102 -0
  683. package/packages/permission-system/node_modules/zod/v4/core/function.d.cts +52 -0
  684. package/packages/permission-system/node_modules/zod/v4/core/function.d.ts +52 -0
  685. package/packages/permission-system/node_modules/zod/v4/core/function.js +75 -0
  686. package/packages/permission-system/node_modules/zod/v4/core/index.cjs +44 -0
  687. package/packages/permission-system/node_modules/zod/v4/core/index.d.cts +15 -0
  688. package/packages/permission-system/node_modules/zod/v4/core/index.d.ts +15 -0
  689. package/packages/permission-system/node_modules/zod/v4/core/index.js +15 -0
  690. package/packages/permission-system/node_modules/zod/v4/core/json-schema.cjs +2 -0
  691. package/packages/permission-system/node_modules/zod/v4/core/json-schema.d.cts +87 -0
  692. package/packages/permission-system/node_modules/zod/v4/core/json-schema.d.ts +87 -0
  693. package/packages/permission-system/node_modules/zod/v4/core/json-schema.js +1 -0
  694. package/packages/permission-system/node_modules/zod/v4/core/parse.cjs +87 -0
  695. package/packages/permission-system/node_modules/zod/v4/core/parse.d.cts +25 -0
  696. package/packages/permission-system/node_modules/zod/v4/core/parse.d.ts +25 -0
  697. package/packages/permission-system/node_modules/zod/v4/core/parse.js +57 -0
  698. package/packages/permission-system/node_modules/zod/v4/core/regexes.cjs +103 -0
  699. package/packages/permission-system/node_modules/zod/v4/core/regexes.d.cts +62 -0
  700. package/packages/permission-system/node_modules/zod/v4/core/regexes.d.ts +62 -0
  701. package/packages/permission-system/node_modules/zod/v4/core/regexes.js +95 -0
  702. package/packages/permission-system/node_modules/zod/v4/core/registries.cjs +56 -0
  703. package/packages/permission-system/node_modules/zod/v4/core/registries.d.cts +35 -0
  704. package/packages/permission-system/node_modules/zod/v4/core/registries.d.ts +35 -0
  705. package/packages/permission-system/node_modules/zod/v4/core/registries.js +51 -0
  706. package/packages/permission-system/node_modules/zod/v4/core/schemas.cjs +1748 -0
  707. package/packages/permission-system/node_modules/zod/v4/core/schemas.d.cts +1041 -0
  708. package/packages/permission-system/node_modules/zod/v4/core/schemas.d.ts +1041 -0
  709. package/packages/permission-system/node_modules/zod/v4/core/schemas.js +1717 -0
  710. package/packages/permission-system/node_modules/zod/v4/core/standard-schema.cjs +2 -0
  711. package/packages/permission-system/node_modules/zod/v4/core/standard-schema.d.cts +55 -0
  712. package/packages/permission-system/node_modules/zod/v4/core/standard-schema.d.ts +55 -0
  713. package/packages/permission-system/node_modules/zod/v4/core/standard-schema.js +1 -0
  714. package/packages/permission-system/node_modules/zod/v4/core/to-json-schema.cjs +854 -0
  715. package/packages/permission-system/node_modules/zod/v4/core/to-json-schema.d.cts +88 -0
  716. package/packages/permission-system/node_modules/zod/v4/core/to-json-schema.d.ts +88 -0
  717. package/packages/permission-system/node_modules/zod/v4/core/to-json-schema.js +849 -0
  718. package/packages/permission-system/node_modules/zod/v4/core/util.cjs +539 -0
  719. package/packages/permission-system/node_modules/zod/v4/core/util.d.cts +183 -0
  720. package/packages/permission-system/node_modules/zod/v4/core/util.d.ts +183 -0
  721. package/packages/permission-system/node_modules/zod/v4/core/util.js +493 -0
  722. package/packages/permission-system/node_modules/zod/v4/core/versions.cjs +8 -0
  723. package/packages/permission-system/node_modules/zod/v4/core/versions.d.cts +5 -0
  724. package/packages/permission-system/node_modules/zod/v4/core/versions.d.ts +5 -0
  725. package/packages/permission-system/node_modules/zod/v4/core/versions.js +5 -0
  726. package/packages/permission-system/node_modules/zod/v4/index.cjs +22 -0
  727. package/packages/permission-system/node_modules/zod/v4/index.d.cts +3 -0
  728. package/packages/permission-system/node_modules/zod/v4/index.d.ts +3 -0
  729. package/packages/permission-system/node_modules/zod/v4/index.js +3 -0
  730. package/packages/permission-system/node_modules/zod/v4/locales/ar.cjs +142 -0
  731. package/packages/permission-system/node_modules/zod/v4/locales/ar.d.cts +4 -0
  732. package/packages/permission-system/node_modules/zod/v4/locales/ar.d.ts +4 -0
  733. package/packages/permission-system/node_modules/zod/v4/locales/ar.js +116 -0
  734. package/packages/permission-system/node_modules/zod/v4/locales/az.cjs +141 -0
  735. package/packages/permission-system/node_modules/zod/v4/locales/az.d.cts +4 -0
  736. package/packages/permission-system/node_modules/zod/v4/locales/az.d.ts +4 -0
  737. package/packages/permission-system/node_modules/zod/v4/locales/az.js +115 -0
  738. package/packages/permission-system/node_modules/zod/v4/locales/be.cjs +190 -0
  739. package/packages/permission-system/node_modules/zod/v4/locales/be.d.cts +4 -0
  740. package/packages/permission-system/node_modules/zod/v4/locales/be.d.ts +4 -0
  741. package/packages/permission-system/node_modules/zod/v4/locales/be.js +164 -0
  742. package/packages/permission-system/node_modules/zod/v4/locales/ca.cjs +144 -0
  743. package/packages/permission-system/node_modules/zod/v4/locales/ca.d.cts +4 -0
  744. package/packages/permission-system/node_modules/zod/v4/locales/ca.d.ts +4 -0
  745. package/packages/permission-system/node_modules/zod/v4/locales/ca.js +118 -0
  746. package/packages/permission-system/node_modules/zod/v4/locales/cs.cjs +161 -0
  747. package/packages/permission-system/node_modules/zod/v4/locales/cs.d.cts +4 -0
  748. package/packages/permission-system/node_modules/zod/v4/locales/cs.d.ts +4 -0
  749. package/packages/permission-system/node_modules/zod/v4/locales/cs.js +135 -0
  750. package/packages/permission-system/node_modules/zod/v4/locales/de.cjs +142 -0
  751. package/packages/permission-system/node_modules/zod/v4/locales/de.d.cts +4 -0
  752. package/packages/permission-system/node_modules/zod/v4/locales/de.d.ts +4 -0
  753. package/packages/permission-system/node_modules/zod/v4/locales/de.js +116 -0
  754. package/packages/permission-system/node_modules/zod/v4/locales/en.cjs +145 -0
  755. package/packages/permission-system/node_modules/zod/v4/locales/en.d.cts +5 -0
  756. package/packages/permission-system/node_modules/zod/v4/locales/en.d.ts +5 -0
  757. package/packages/permission-system/node_modules/zod/v4/locales/en.js +117 -0
  758. package/packages/permission-system/node_modules/zod/v4/locales/eo.cjs +144 -0
  759. package/packages/permission-system/node_modules/zod/v4/locales/eo.d.cts +5 -0
  760. package/packages/permission-system/node_modules/zod/v4/locales/eo.d.ts +5 -0
  761. package/packages/permission-system/node_modules/zod/v4/locales/eo.js +116 -0
  762. package/packages/permission-system/node_modules/zod/v4/locales/es.cjs +143 -0
  763. package/packages/permission-system/node_modules/zod/v4/locales/es.d.cts +4 -0
  764. package/packages/permission-system/node_modules/zod/v4/locales/es.d.ts +4 -0
  765. package/packages/permission-system/node_modules/zod/v4/locales/es.js +117 -0
  766. package/packages/permission-system/node_modules/zod/v4/locales/fa.cjs +148 -0
  767. package/packages/permission-system/node_modules/zod/v4/locales/fa.d.cts +4 -0
  768. package/packages/permission-system/node_modules/zod/v4/locales/fa.d.ts +4 -0
  769. package/packages/permission-system/node_modules/zod/v4/locales/fa.js +122 -0
  770. package/packages/permission-system/node_modules/zod/v4/locales/fi.cjs +148 -0
  771. package/packages/permission-system/node_modules/zod/v4/locales/fi.d.cts +4 -0
  772. package/packages/permission-system/node_modules/zod/v4/locales/fi.d.ts +4 -0
  773. package/packages/permission-system/node_modules/zod/v4/locales/fi.js +122 -0
  774. package/packages/permission-system/node_modules/zod/v4/locales/fr-CA.cjs +143 -0
  775. package/packages/permission-system/node_modules/zod/v4/locales/fr-CA.d.cts +4 -0
  776. package/packages/permission-system/node_modules/zod/v4/locales/fr-CA.d.ts +4 -0
  777. package/packages/permission-system/node_modules/zod/v4/locales/fr-CA.js +117 -0
  778. package/packages/permission-system/node_modules/zod/v4/locales/fr.cjs +142 -0
  779. package/packages/permission-system/node_modules/zod/v4/locales/fr.d.cts +4 -0
  780. package/packages/permission-system/node_modules/zod/v4/locales/fr.d.ts +4 -0
  781. package/packages/permission-system/node_modules/zod/v4/locales/fr.js +116 -0
  782. package/packages/permission-system/node_modules/zod/v4/locales/he.cjs +143 -0
  783. package/packages/permission-system/node_modules/zod/v4/locales/he.d.cts +4 -0
  784. package/packages/permission-system/node_modules/zod/v4/locales/he.d.ts +4 -0
  785. package/packages/permission-system/node_modules/zod/v4/locales/he.js +117 -0
  786. package/packages/permission-system/node_modules/zod/v4/locales/hu.cjs +143 -0
  787. package/packages/permission-system/node_modules/zod/v4/locales/hu.d.cts +4 -0
  788. package/packages/permission-system/node_modules/zod/v4/locales/hu.d.ts +4 -0
  789. package/packages/permission-system/node_modules/zod/v4/locales/hu.js +117 -0
  790. package/packages/permission-system/node_modules/zod/v4/locales/id.cjs +142 -0
  791. package/packages/permission-system/node_modules/zod/v4/locales/id.d.cts +4 -0
  792. package/packages/permission-system/node_modules/zod/v4/locales/id.d.ts +4 -0
  793. package/packages/permission-system/node_modules/zod/v4/locales/id.js +116 -0
  794. package/packages/permission-system/node_modules/zod/v4/locales/index.cjs +84 -0
  795. package/packages/permission-system/node_modules/zod/v4/locales/index.d.cts +39 -0
  796. package/packages/permission-system/node_modules/zod/v4/locales/index.d.ts +39 -0
  797. package/packages/permission-system/node_modules/zod/v4/locales/index.js +39 -0
  798. package/packages/permission-system/node_modules/zod/v4/locales/it.cjs +143 -0
  799. package/packages/permission-system/node_modules/zod/v4/locales/it.d.cts +4 -0
  800. package/packages/permission-system/node_modules/zod/v4/locales/it.d.ts +4 -0
  801. package/packages/permission-system/node_modules/zod/v4/locales/it.js +117 -0
  802. package/packages/permission-system/node_modules/zod/v4/locales/ja.cjs +141 -0
  803. package/packages/permission-system/node_modules/zod/v4/locales/ja.d.cts +4 -0
  804. package/packages/permission-system/node_modules/zod/v4/locales/ja.d.ts +4 -0
  805. package/packages/permission-system/node_modules/zod/v4/locales/ja.js +115 -0
  806. package/packages/permission-system/node_modules/zod/v4/locales/kh.cjs +143 -0
  807. package/packages/permission-system/node_modules/zod/v4/locales/kh.d.cts +4 -0
  808. package/packages/permission-system/node_modules/zod/v4/locales/kh.d.ts +4 -0
  809. package/packages/permission-system/node_modules/zod/v4/locales/kh.js +117 -0
  810. package/packages/permission-system/node_modules/zod/v4/locales/ko.cjs +147 -0
  811. package/packages/permission-system/node_modules/zod/v4/locales/ko.d.cts +4 -0
  812. package/packages/permission-system/node_modules/zod/v4/locales/ko.d.ts +4 -0
  813. package/packages/permission-system/node_modules/zod/v4/locales/ko.js +121 -0
  814. package/packages/permission-system/node_modules/zod/v4/locales/mk.cjs +144 -0
  815. package/packages/permission-system/node_modules/zod/v4/locales/mk.d.cts +4 -0
  816. package/packages/permission-system/node_modules/zod/v4/locales/mk.d.ts +4 -0
  817. package/packages/permission-system/node_modules/zod/v4/locales/mk.js +118 -0
  818. package/packages/permission-system/node_modules/zod/v4/locales/ms.cjs +142 -0
  819. package/packages/permission-system/node_modules/zod/v4/locales/ms.d.cts +4 -0
  820. package/packages/permission-system/node_modules/zod/v4/locales/ms.d.ts +4 -0
  821. package/packages/permission-system/node_modules/zod/v4/locales/ms.js +116 -0
  822. package/packages/permission-system/node_modules/zod/v4/locales/nl.cjs +143 -0
  823. package/packages/permission-system/node_modules/zod/v4/locales/nl.d.cts +4 -0
  824. package/packages/permission-system/node_modules/zod/v4/locales/nl.d.ts +4 -0
  825. package/packages/permission-system/node_modules/zod/v4/locales/nl.js +117 -0
  826. package/packages/permission-system/node_modules/zod/v4/locales/no.cjs +142 -0
  827. package/packages/permission-system/node_modules/zod/v4/locales/no.d.cts +4 -0
  828. package/packages/permission-system/node_modules/zod/v4/locales/no.d.ts +4 -0
  829. package/packages/permission-system/node_modules/zod/v4/locales/no.js +116 -0
  830. package/packages/permission-system/node_modules/zod/v4/locales/ota.cjs +143 -0
  831. package/packages/permission-system/node_modules/zod/v4/locales/ota.d.cts +4 -0
  832. package/packages/permission-system/node_modules/zod/v4/locales/ota.d.ts +4 -0
  833. package/packages/permission-system/node_modules/zod/v4/locales/ota.js +117 -0
  834. package/packages/permission-system/node_modules/zod/v4/locales/pl.cjs +143 -0
  835. package/packages/permission-system/node_modules/zod/v4/locales/pl.d.cts +4 -0
  836. package/packages/permission-system/node_modules/zod/v4/locales/pl.d.ts +4 -0
  837. package/packages/permission-system/node_modules/zod/v4/locales/pl.js +117 -0
  838. package/packages/permission-system/node_modules/zod/v4/locales/ps.cjs +148 -0
  839. package/packages/permission-system/node_modules/zod/v4/locales/ps.d.cts +4 -0
  840. package/packages/permission-system/node_modules/zod/v4/locales/ps.d.ts +4 -0
  841. package/packages/permission-system/node_modules/zod/v4/locales/ps.js +122 -0
  842. package/packages/permission-system/node_modules/zod/v4/locales/pt.cjs +142 -0
  843. package/packages/permission-system/node_modules/zod/v4/locales/pt.d.cts +4 -0
  844. package/packages/permission-system/node_modules/zod/v4/locales/pt.d.ts +4 -0
  845. package/packages/permission-system/node_modules/zod/v4/locales/pt.js +116 -0
  846. package/packages/permission-system/node_modules/zod/v4/locales/ru.cjs +190 -0
  847. package/packages/permission-system/node_modules/zod/v4/locales/ru.d.cts +4 -0
  848. package/packages/permission-system/node_modules/zod/v4/locales/ru.d.ts +4 -0
  849. package/packages/permission-system/node_modules/zod/v4/locales/ru.js +164 -0
  850. package/packages/permission-system/node_modules/zod/v4/locales/sl.cjs +143 -0
  851. package/packages/permission-system/node_modules/zod/v4/locales/sl.d.cts +4 -0
  852. package/packages/permission-system/node_modules/zod/v4/locales/sl.d.ts +4 -0
  853. package/packages/permission-system/node_modules/zod/v4/locales/sl.js +117 -0
  854. package/packages/permission-system/node_modules/zod/v4/locales/sv.cjs +144 -0
  855. package/packages/permission-system/node_modules/zod/v4/locales/sv.d.cts +4 -0
  856. package/packages/permission-system/node_modules/zod/v4/locales/sv.d.ts +4 -0
  857. package/packages/permission-system/node_modules/zod/v4/locales/sv.js +118 -0
  858. package/packages/permission-system/node_modules/zod/v4/locales/ta.cjs +143 -0
  859. package/packages/permission-system/node_modules/zod/v4/locales/ta.d.cts +4 -0
  860. package/packages/permission-system/node_modules/zod/v4/locales/ta.d.ts +4 -0
  861. package/packages/permission-system/node_modules/zod/v4/locales/ta.js +117 -0
  862. package/packages/permission-system/node_modules/zod/v4/locales/th.cjs +143 -0
  863. package/packages/permission-system/node_modules/zod/v4/locales/th.d.cts +4 -0
  864. package/packages/permission-system/node_modules/zod/v4/locales/th.d.ts +4 -0
  865. package/packages/permission-system/node_modules/zod/v4/locales/th.js +117 -0
  866. package/packages/permission-system/node_modules/zod/v4/locales/tr.cjs +143 -0
  867. package/packages/permission-system/node_modules/zod/v4/locales/tr.d.cts +5 -0
  868. package/packages/permission-system/node_modules/zod/v4/locales/tr.d.ts +5 -0
  869. package/packages/permission-system/node_modules/zod/v4/locales/tr.js +115 -0
  870. package/packages/permission-system/node_modules/zod/v4/locales/ua.cjs +143 -0
  871. package/packages/permission-system/node_modules/zod/v4/locales/ua.d.cts +4 -0
  872. package/packages/permission-system/node_modules/zod/v4/locales/ua.d.ts +4 -0
  873. package/packages/permission-system/node_modules/zod/v4/locales/ua.js +117 -0
  874. package/packages/permission-system/node_modules/zod/v4/locales/ur.cjs +143 -0
  875. package/packages/permission-system/node_modules/zod/v4/locales/ur.d.cts +4 -0
  876. package/packages/permission-system/node_modules/zod/v4/locales/ur.d.ts +4 -0
  877. package/packages/permission-system/node_modules/zod/v4/locales/ur.js +117 -0
  878. package/packages/permission-system/node_modules/zod/v4/locales/vi.cjs +142 -0
  879. package/packages/permission-system/node_modules/zod/v4/locales/vi.d.cts +4 -0
  880. package/packages/permission-system/node_modules/zod/v4/locales/vi.d.ts +4 -0
  881. package/packages/permission-system/node_modules/zod/v4/locales/vi.js +116 -0
  882. package/packages/permission-system/node_modules/zod/v4/locales/zh-CN.cjs +142 -0
  883. package/packages/permission-system/node_modules/zod/v4/locales/zh-CN.d.cts +4 -0
  884. package/packages/permission-system/node_modules/zod/v4/locales/zh-CN.d.ts +4 -0
  885. package/packages/permission-system/node_modules/zod/v4/locales/zh-CN.js +116 -0
  886. package/packages/permission-system/node_modules/zod/v4/locales/zh-TW.cjs +143 -0
  887. package/packages/permission-system/node_modules/zod/v4/locales/zh-TW.d.cts +4 -0
  888. package/packages/permission-system/node_modules/zod/v4/locales/zh-TW.d.ts +4 -0
  889. package/packages/permission-system/node_modules/zod/v4/locales/zh-TW.js +117 -0
  890. package/packages/permission-system/node_modules/zod/v4/mini/checks.cjs +34 -0
  891. package/packages/permission-system/node_modules/zod/v4/mini/checks.d.cts +1 -0
  892. package/packages/permission-system/node_modules/zod/v4/mini/checks.d.ts +1 -0
  893. package/packages/permission-system/node_modules/zod/v4/mini/checks.js +1 -0
  894. package/packages/permission-system/node_modules/zod/v4/mini/coerce.cjs +47 -0
  895. package/packages/permission-system/node_modules/zod/v4/mini/coerce.d.cts +7 -0
  896. package/packages/permission-system/node_modules/zod/v4/mini/coerce.d.ts +7 -0
  897. package/packages/permission-system/node_modules/zod/v4/mini/coerce.js +17 -0
  898. package/packages/permission-system/node_modules/zod/v4/mini/external.cjs +62 -0
  899. package/packages/permission-system/node_modules/zod/v4/mini/external.d.cts +11 -0
  900. package/packages/permission-system/node_modules/zod/v4/mini/external.d.ts +11 -0
  901. package/packages/permission-system/node_modules/zod/v4/mini/external.js +13 -0
  902. package/packages/permission-system/node_modules/zod/v4/mini/index.cjs +32 -0
  903. package/packages/permission-system/node_modules/zod/v4/mini/index.d.cts +3 -0
  904. package/packages/permission-system/node_modules/zod/v4/mini/index.d.ts +3 -0
  905. package/packages/permission-system/node_modules/zod/v4/mini/index.js +3 -0
  906. package/packages/permission-system/node_modules/zod/v4/mini/iso.cjs +60 -0
  907. package/packages/permission-system/node_modules/zod/v4/mini/iso.d.cts +22 -0
  908. package/packages/permission-system/node_modules/zod/v4/mini/iso.d.ts +22 -0
  909. package/packages/permission-system/node_modules/zod/v4/mini/iso.js +30 -0
  910. package/packages/permission-system/node_modules/zod/v4/mini/parse.cjs +8 -0
  911. package/packages/permission-system/node_modules/zod/v4/mini/parse.d.cts +1 -0
  912. package/packages/permission-system/node_modules/zod/v4/mini/parse.d.ts +1 -0
  913. package/packages/permission-system/node_modules/zod/v4/mini/parse.js +1 -0
  914. package/packages/permission-system/node_modules/zod/v4/mini/schemas.cjs +839 -0
  915. package/packages/permission-system/node_modules/zod/v4/mini/schemas.d.cts +356 -0
  916. package/packages/permission-system/node_modules/zod/v4/mini/schemas.d.ts +356 -0
  917. package/packages/permission-system/node_modules/zod/v4/mini/schemas.js +732 -0
  918. package/packages/permission-system/node_modules/zod/v4-mini/index.cjs +17 -0
  919. package/packages/permission-system/node_modules/zod/v4-mini/index.d.cts +1 -0
  920. package/packages/permission-system/node_modules/zod/v4-mini/index.d.ts +1 -0
  921. package/packages/permission-system/node_modules/zod/v4-mini/index.js +1 -0
  922. package/packages/permission-system/package.json +34 -0
  923. package/packages/permission-system/presets/default.json +36 -0
  924. package/packages/permission-system/presets/plan.json +25 -0
  925. package/packages/permission-system/presets/yolo.json +15 -0
  926. package/packages/permission-system/src/bash/matcher.ts +51 -0
  927. package/packages/permission-system/src/bash/parser.ts +40 -0
  928. package/packages/permission-system/src/config-paths.ts +23 -0
  929. package/packages/permission-system/src/detect-preset-mode.ts +61 -0
  930. package/packages/permission-system/src/expand-home.ts +12 -0
  931. package/packages/permission-system/src/forwarding/forwarder.ts +224 -0
  932. package/packages/permission-system/src/forwarding/subagent-registry.ts +61 -0
  933. package/packages/permission-system/src/gates/path-utils.ts +66 -0
  934. package/packages/permission-system/src/gates/pipeline.ts +155 -0
  935. package/packages/permission-system/src/handlers/before-agent-start.ts +65 -0
  936. package/packages/permission-system/src/handlers/skill-input.ts +1 -0
  937. package/packages/permission-system/src/handlers/tool-call-gate.ts +199 -0
  938. package/packages/permission-system/src/mode-api.ts +44 -0
  939. package/packages/permission-system/src/permission-evaluator.ts +216 -0
  940. package/packages/permission-system/src/permission-session.ts +62 -0
  941. package/packages/permission-system/src/policy-loader.ts +211 -0
  942. package/packages/permission-system/src/sanitizers/skill-prompt.ts +99 -0
  943. package/packages/permission-system/src/sanitizers/system-prompt.ts +221 -0
  944. package/packages/permission-system/src/service.ts +66 -0
  945. package/packages/permission-system/src/session-approvals.ts +1 -0
  946. package/packages/permission-system/src/types.ts +80 -0
  947. package/packages/permission-system/src/ui/approval-summary.ts +43 -0
  948. package/packages/permission-system/src/ui/config-modal.ts +36 -0
  949. package/packages/permission-system/src/ui/permission-dialog.ts +52 -0
  950. package/packages/permission-system/src/wildcard-matcher.ts +81 -0
  951. package/packages/permission-system/src/yaml-frontmatter.ts +84 -0
  952. package/packages/permission-system/src/yolo/runtime-api.ts +49 -0
  953. package/packages/permission-system/tsconfig.json +13 -0
  954. package/packages/permission-system/vitest.config.ts +8 -0
  955. package/packages/question/extensions/index.ts +79 -0
  956. package/packages/question/package.json +26 -0
  957. package/packages/question/src/forwarding/channels.ts +6 -0
  958. package/packages/question/src/forwarding/file-watcher.ts +106 -0
  959. package/packages/question/src/forwarding/forwarder.ts +187 -0
  960. package/packages/question/src/parent-session.ts +18 -0
  961. package/packages/question/src/question-ui.ts +238 -0
  962. package/packages/question/src/register-tool.ts +224 -0
  963. package/packages/question/src/types.ts +41 -0
  964. package/packages/question/tsconfig.json +13 -0
  965. package/packages/question/vitest.config.ts +8 -0
  966. package/packages/session-title/extensions/index.ts +137 -0
  967. package/packages/session-title/package.json +37 -0
  968. package/packages/session-title/src/build-title-prompt.ts +16 -0
  969. package/packages/session-title/src/extract-title-context.ts +55 -0
  970. package/packages/session-title/src/fast-rules.ts +48 -0
  971. package/packages/session-title/src/load-settings.ts +70 -0
  972. package/packages/session-title/src/normalize-title.ts +20 -0
  973. package/packages/session-title/src/parse-title-response.ts +6 -0
  974. package/packages/session-title/src/resolve-title-model.ts +33 -0
  975. package/packages/session-title/src/schedule-title-job.ts +53 -0
  976. package/packages/session-title/src/should-schedule.ts +30 -0
  977. package/packages/session-title/src/title-agent.ts +60 -0
  978. package/packages/session-title/src/truncate-input.ts +10 -0
  979. package/packages/session-title/src/types.ts +29 -0
  980. package/packages/session-title/tsconfig.json +13 -0
  981. package/packages/session-title/vitest.config.ts +8 -0
  982. package/packages/subagents/agents/planner.md +43 -0
  983. package/packages/subagents/agents/scout.md +40 -0
  984. package/packages/subagents/agents/title.md +13 -0
  985. package/packages/subagents/agents/worker.md +36 -0
  986. package/packages/subagents/extensions/index.ts +164 -0
  987. package/packages/subagents/package.json +34 -0
  988. package/packages/subagents/skills/subagents/SKILL.md +80 -0
  989. package/packages/subagents/src/agents.ts +166 -0
  990. package/packages/subagents/src/async/job-tracker.ts +71 -0
  991. package/packages/subagents/src/async/spawn-async.ts +220 -0
  992. package/packages/subagents/src/async/storage.ts +57 -0
  993. package/packages/subagents/src/env.ts +4 -0
  994. package/packages/subagents/src/execute-subagent.ts +285 -0
  995. package/packages/subagents/src/progress.ts +187 -0
  996. package/packages/subagents/src/render-animation.ts +40 -0
  997. package/packages/subagents/src/render.ts +428 -0
  998. package/packages/subagents/src/rpc/channels.ts +21 -0
  999. package/packages/subagents/src/rpc/client.ts +144 -0
  1000. package/packages/subagents/src/rpc/server.ts +11 -0
  1001. package/packages/subagents/src/run-agent.ts +313 -0
  1002. package/packages/subagents/src/runtime.ts +102 -0
  1003. package/packages/subagents/src/schema.ts +62 -0
  1004. package/packages/subagents/src/spawn.ts +104 -0
  1005. package/packages/subagents/src/types.ts +92 -0
  1006. package/packages/subagents/src/utils.ts +100 -0
  1007. package/packages/subagents/src/wait.ts +159 -0
  1008. package/packages/subagents/tsconfig.json +13 -0
  1009. package/packages/subagents/vitest.config.ts +8 -0
  1010. package/packages/ui-enhancements/extensions/index.ts +10 -0
  1011. package/packages/ui-enhancements/package.json +28 -0
  1012. package/packages/ui-enhancements/src/bash-readonly.ts +82 -0
  1013. package/packages/ui-enhancements/src/chrome/agent-mode-badge.ts +60 -0
  1014. package/packages/ui-enhancements/src/chrome/border-status.ts +180 -0
  1015. package/packages/ui-enhancements/src/chrome/format-border.ts +46 -0
  1016. package/packages/ui-enhancements/src/chrome/header-info.ts +66 -0
  1017. package/packages/ui-enhancements/src/chrome/recent-sessions.ts +132 -0
  1018. package/packages/ui-enhancements/src/chrome/welcome-header.ts +127 -0
  1019. package/packages/ui-enhancements/src/config.ts +75 -0
  1020. package/packages/ui-enhancements/src/register-ui-enhancements.ts +47 -0
  1021. package/packages/ui-enhancements/src/session.ts +72 -0
  1022. package/packages/ui-enhancements/src/tools/bash-write-edit.ts +148 -0
  1023. package/packages/ui-enhancements/src/tools/index.ts +22 -0
  1024. package/packages/ui-enhancements/src/tools/read-find-grep-ls.ts +235 -0
  1025. package/packages/ui-enhancements/src/tools/text-content.ts +42 -0
  1026. package/packages/ui-enhancements/src/tools/tool-cache.ts +87 -0
  1027. package/packages/ui-enhancements/src/utils/shorten-path.ts +9 -0
  1028. package/packages/ui-enhancements/tsconfig.json +13 -0
  1029. package/packages/ui-enhancements/vitest.config.ts +8 -0
  1030. package/packages/websearch/extensions/index.ts +130 -0
  1031. package/packages/websearch/package.json +28 -0
  1032. package/packages/websearch/src/backends/brave.ts +35 -0
  1033. package/packages/websearch/src/backends/exa-mcp.ts +139 -0
  1034. package/packages/websearch/src/backends/firecrawl.ts +86 -0
  1035. package/packages/websearch/src/backends/registry.ts +98 -0
  1036. package/packages/websearch/src/backends/tavily.ts +32 -0
  1037. package/packages/websearch/src/config.ts +124 -0
  1038. package/packages/websearch/src/credentials.ts +35 -0
  1039. package/packages/websearch/src/dispatch.ts +57 -0
  1040. package/packages/websearch/src/formatters.ts +44 -0
  1041. package/packages/websearch/src/parsers.ts +75 -0
  1042. package/packages/websearch/src/readers/jina.ts +42 -0
  1043. package/packages/websearch/src/schema.ts +37 -0
  1044. package/packages/websearch/src/status.ts +103 -0
  1045. package/packages/websearch/src/types.ts +29 -0
  1046. package/packages/websearch/src/utils.ts +117 -0
  1047. package/packages/websearch/tsconfig.json +13 -0
  1048. package/packages/websearch/vitest.config.ts +8 -0
  1049. package/scripts/sync-pi-manifest.mjs +201 -0
@@ -0,0 +1,973 @@
1
+ import { Point, ZERO_POINT, SIZE_OF_INT, C } from './constants';
2
+ import { Node } from './node';
3
+ import { marshalNode, unmarshalCaptures } from './marshal';
4
+ import { TRANSFER_BUFFER } from './parser';
5
+ import { Language } from './language';
6
+
7
+ const PREDICATE_STEP_TYPE_CAPTURE = 1;
8
+
9
+ const PREDICATE_STEP_TYPE_STRING = 2;
10
+
11
+ const QUERY_WORD_REGEX = /[\w-]+/g;
12
+
13
+ /**
14
+ * Options for query execution
15
+ */
16
+ export interface QueryOptions {
17
+ /** The start position of the range to query */
18
+ startPosition?: Point;
19
+
20
+ /** The end position of the range to query */
21
+ endPosition?: Point;
22
+
23
+ /** The start index of the range to query */
24
+ startIndex?: number;
25
+
26
+ /** The end index of the range to query */
27
+ endIndex?: number;
28
+
29
+ /**
30
+ * The maximum number of in-progress matches for this query.
31
+ * The limit must be > 0 and <= 65536.
32
+ */
33
+ matchLimit?: number;
34
+
35
+ /**
36
+ * The maximum start depth for a query cursor.
37
+ *
38
+ * This prevents cursors from exploring children nodes at a certain depth.
39
+ * Note if a pattern includes many children, then they will still be
40
+ * checked.
41
+ *
42
+ * The zero max start depth value can be used as a special behavior and
43
+ * it helps to destructure a subtree by staying on a node and using
44
+ * captures for interested parts. Note that the zero max start depth
45
+ * only limit a search depth for a pattern's root node but other nodes
46
+ * that are parts of the pattern may be searched at any depth what
47
+ * defined by the pattern structure.
48
+ *
49
+ * Set to `null` to remove the maximum start depth.
50
+ */
51
+ maxStartDepth?: number;
52
+
53
+ /**
54
+ * The maximum duration in microseconds that query execution should be allowed to
55
+ * take before halting.
56
+ *
57
+ * If query execution takes longer than this, it will halt early, returning an empty array.
58
+ */
59
+ timeoutMicros?: number;
60
+
61
+ /**
62
+ * A function that will be called periodically during the execution of the query to check
63
+ * if query execution should be cancelled. You can also use this to instrument query execution
64
+ * and check where the query is at in the document. The progress callback takes a single argument,
65
+ * which is a {@link QueryState} representing the current state of the query.
66
+ */
67
+ progressCallback?: (state: QueryState) => void;
68
+ }
69
+
70
+ /**
71
+ * A stateful object that is passed into the progress callback {@link QueryOptions#progressCallback}
72
+ * to provide the current state of the query.
73
+ */
74
+ export interface QueryState {
75
+ /** The byte offset in the document that the query is at. */
76
+ currentOffset: number;
77
+ }
78
+
79
+ /** A record of key-value pairs associated with a particular pattern in a {@link Query}. */
80
+ export type QueryProperties = Record<string, string | null>;
81
+
82
+ /**
83
+ * A predicate that contains an operator and list of operands.
84
+ */
85
+ export interface QueryPredicate {
86
+ /** The operator of the predicate, like `match?`, `eq?`, `set!`, etc. */
87
+ operator: string;
88
+
89
+ /** The operands of the predicate, which are either captures or strings. */
90
+ operands: PredicateStep[];
91
+ }
92
+
93
+ /**
94
+ * A particular {@link Node} that has been captured with a particular name within a
95
+ * {@link Query}.
96
+ */
97
+ export interface QueryCapture {
98
+ /** The index of the pattern that matched. */
99
+ patternIndex: number;
100
+
101
+ /** The name of the capture */
102
+ name: string;
103
+
104
+ /** The captured node */
105
+ node: Node;
106
+
107
+ /** The properties for predicates declared with the operator `set!`. */
108
+ setProperties?: QueryProperties;
109
+
110
+ /** The properties for predicates declared with the operator `is?`. */
111
+ assertedProperties?: QueryProperties;
112
+
113
+ /** The properties for predicates declared with the operator `is-not?`. */
114
+ refutedProperties?: QueryProperties;
115
+ }
116
+
117
+ /** A match of a {@link Query} to a particular set of {@link Node}s. */
118
+ export interface QueryMatch {
119
+ /** @deprecated since version 0.25.0, use `patternIndex` instead. */
120
+ pattern: number;
121
+
122
+ /** The index of the pattern that matched. */
123
+ patternIndex: number;
124
+
125
+ /** The captures associated with the match. */
126
+ captures: QueryCapture[];
127
+
128
+ /** The properties for predicates declared with the operator `set!`. */
129
+ setProperties?: QueryProperties;
130
+
131
+ /** The properties for predicates declared with the operator `is?`. */
132
+ assertedProperties?: QueryProperties;
133
+
134
+ /** The properties for predicates declared with the operator `is-not?`. */
135
+ refutedProperties?: QueryProperties;
136
+ }
137
+
138
+ /** A quantifier for captures */
139
+ export const CaptureQuantifier = {
140
+ Zero: 0,
141
+ ZeroOrOne: 1,
142
+ ZeroOrMore: 2,
143
+ One: 3,
144
+ OneOrMore: 4
145
+ } as const;
146
+
147
+ /** A quantifier for captures */
148
+ export type CaptureQuantifier = typeof CaptureQuantifier[keyof typeof CaptureQuantifier];
149
+
150
+ /**
151
+ * Predicates are represented as a single array of steps. There are two
152
+ * types of steps, which correspond to the two legal values for
153
+ * the `type` field:
154
+ *
155
+ * - `CapturePredicateStep` - Steps with this type represent names
156
+ * of captures.
157
+ *
158
+ * - `StringPredicateStep` - Steps with this type represent literal
159
+ * strings.
160
+ */
161
+ export type PredicateStep = CapturePredicateStep | StringPredicateStep;
162
+
163
+ /**
164
+ * A step in a predicate that refers to a capture.
165
+ *
166
+ * The `name` field is the name of the capture.
167
+ */
168
+ export interface CapturePredicateStep { type: 'capture', name: string }
169
+
170
+ /**
171
+ * A step in a predicate that refers to a string.
172
+ *
173
+ * The `value` field is the string value.
174
+ */
175
+ export interface StringPredicateStep { type: 'string', value: string }
176
+
177
+ const isCaptureStep = (step: PredicateStep): step is Extract<PredicateStep, { type: 'capture' }> =>
178
+ step.type === 'capture';
179
+
180
+ const isStringStep = (step: PredicateStep): step is Extract<PredicateStep, { type: 'string' }> =>
181
+ step.type === 'string';
182
+
183
+ /**
184
+ * @internal
185
+ *
186
+ * A function that checks if a given set of captures matches a particular
187
+ * condition. This is used in the built-in `eq?`, `match?`, and `any-of?`
188
+ * predicates.
189
+ */
190
+ export type TextPredicate = (captures: QueryCapture[]) => boolean;
191
+
192
+ /** Error codes returned from tree-sitter query parsing */
193
+ export const QueryErrorKind = {
194
+ Syntax: 1,
195
+ NodeName: 2,
196
+ FieldName: 3,
197
+ CaptureName: 4,
198
+ PatternStructure: 5,
199
+ } as const;
200
+
201
+ /** An error that occurred while parsing a query string. */
202
+ export type QueryErrorKind = typeof QueryErrorKind[keyof typeof QueryErrorKind];
203
+
204
+ /** Information about a {@link QueryError}. */
205
+ export interface QueryErrorInfo {
206
+ [QueryErrorKind.NodeName]: { word: string };
207
+ [QueryErrorKind.FieldName]: { word: string };
208
+ [QueryErrorKind.CaptureName]: { word: string };
209
+ [QueryErrorKind.PatternStructure]: { suffix: string };
210
+ [QueryErrorKind.Syntax]: { suffix: string };
211
+ }
212
+
213
+ /** Error thrown when parsing a tree-sitter query fails */
214
+ export class QueryError extends Error {
215
+ constructor(
216
+ public kind: QueryErrorKind,
217
+ public info: QueryErrorInfo[typeof kind],
218
+ public index: number,
219
+ public length: number
220
+ ) {
221
+ super(QueryError.formatMessage(kind, info));
222
+ this.name = 'QueryError';
223
+ }
224
+
225
+ /** Formats an error message based on the error kind and info */
226
+ private static formatMessage(kind: QueryErrorKind, info: QueryErrorInfo[QueryErrorKind]): string {
227
+ switch (kind) {
228
+ case QueryErrorKind.NodeName:
229
+ return `Bad node name '${(info as QueryErrorInfo[2]).word}'`;
230
+ case QueryErrorKind.FieldName:
231
+ return `Bad field name '${(info as QueryErrorInfo[3]).word}'`;
232
+ case QueryErrorKind.CaptureName:
233
+ return `Bad capture name @${(info as QueryErrorInfo[4]).word}`;
234
+ case QueryErrorKind.PatternStructure:
235
+ return `Bad pattern structure at offset ${(info as QueryErrorInfo[5]).suffix}`;
236
+ case QueryErrorKind.Syntax:
237
+ return `Bad syntax at offset ${(info as QueryErrorInfo[1]).suffix}`;
238
+ }
239
+ }
240
+ }
241
+
242
+ /**
243
+ * Parses the `eq?` and `not-eq?` predicates in a query, and updates the text predicates.
244
+ */
245
+ function parseAnyPredicate(
246
+ steps: PredicateStep[],
247
+ index: number,
248
+ operator: string,
249
+ textPredicates: TextPredicate[][],
250
+ ) {
251
+ if (steps.length !== 3) {
252
+ throw new Error(
253
+ `Wrong number of arguments to \`#${operator}\` predicate. Expected 2, got ${steps.length - 1}`
254
+ );
255
+ }
256
+
257
+ if (!isCaptureStep(steps[1])) {
258
+ throw new Error(
259
+ `First argument of \`#${operator}\` predicate must be a capture. Got "${steps[1].value}"`
260
+ );
261
+ }
262
+
263
+ const isPositive = operator === 'eq?' || operator === 'any-eq?';
264
+ const matchAll = !operator.startsWith('any-');
265
+
266
+ if (isCaptureStep(steps[2])) {
267
+ const captureName1 = steps[1].name;
268
+ const captureName2 = steps[2].name;
269
+ textPredicates[index].push((captures) => {
270
+ const nodes1: Node[] = [];
271
+ const nodes2: Node[] = [];
272
+ for (const c of captures) {
273
+ if (c.name === captureName1) nodes1.push(c.node);
274
+ if (c.name === captureName2) nodes2.push(c.node);
275
+ }
276
+ const compare = (n1: { text: string }, n2: { text: string }, positive: boolean) => {
277
+ return positive ? n1.text === n2.text : n1.text !== n2.text;
278
+ };
279
+ return matchAll
280
+ ? nodes1.every((n1) => nodes2.some((n2) => compare(n1, n2, isPositive)))
281
+ : nodes1.some((n1) => nodes2.some((n2) => compare(n1, n2, isPositive)));
282
+ });
283
+ } else {
284
+ const captureName = steps[1].name;
285
+ const stringValue = steps[2].value;
286
+ const matches = (n: Node) => n.text === stringValue;
287
+ const doesNotMatch = (n: Node) => n.text !== stringValue;
288
+ textPredicates[index].push((captures) => {
289
+ const nodes = [];
290
+ for (const c of captures) {
291
+ if (c.name === captureName) nodes.push(c.node);
292
+ }
293
+ const test = isPositive ? matches : doesNotMatch;
294
+ return matchAll ? nodes.every(test) : nodes.some(test);
295
+ });
296
+ }
297
+ }
298
+
299
+ /**
300
+ * Parses the `match?` and `not-match?` predicates in a query, and updates the text predicates.
301
+ */
302
+ function parseMatchPredicate(
303
+ steps: PredicateStep[],
304
+ index: number,
305
+ operator: string,
306
+ textPredicates: TextPredicate[][],
307
+ ) {
308
+ if (steps.length !== 3) {
309
+ throw new Error(
310
+ `Wrong number of arguments to \`#${operator}\` predicate. Expected 2, got ${steps.length - 1}.`,
311
+ );
312
+ }
313
+
314
+ if (steps[1].type !== 'capture') {
315
+ throw new Error(
316
+ `First argument of \`#${operator}\` predicate must be a capture. Got "${steps[1].value}".`,
317
+ );
318
+ }
319
+
320
+ if (steps[2].type !== 'string') {
321
+ throw new Error(
322
+ `Second argument of \`#${operator}\` predicate must be a string. Got @${steps[2].name}.`,
323
+ );
324
+ }
325
+
326
+ const isPositive = operator === 'match?' || operator === 'any-match?';
327
+ const matchAll = !operator.startsWith('any-');
328
+ const captureName = steps[1].name;
329
+ const regex = new RegExp(steps[2].value);
330
+ textPredicates[index].push((captures) => {
331
+ const nodes = [];
332
+ for (const c of captures) {
333
+ if (c.name === captureName) nodes.push(c.node.text);
334
+ }
335
+ const test = (text: string, positive: boolean) => {
336
+ return positive ?
337
+ regex.test(text) :
338
+ !regex.test(text);
339
+ };
340
+ if (nodes.length === 0) return !isPositive;
341
+ return matchAll ?
342
+ nodes.every((text) => test(text, isPositive)) :
343
+ nodes.some((text) => test(text, isPositive));
344
+ });
345
+ }
346
+
347
+ /**
348
+ * Parses the `any-of?` and `not-any-of?` predicates in a query, and updates the text predicates.
349
+ */
350
+ function parseAnyOfPredicate(
351
+ steps: PredicateStep[],
352
+ index: number,
353
+ operator: string,
354
+ textPredicates: TextPredicate[][],
355
+ ) {
356
+ if (steps.length < 2) {
357
+ throw new Error(
358
+ `Wrong number of arguments to \`#${operator}\` predicate. Expected at least 1. Got ${steps.length - 1}.`,
359
+ );
360
+ }
361
+
362
+ if (steps[1].type !== 'capture') {
363
+ throw new Error(
364
+ `First argument of \`#${operator}\` predicate must be a capture. Got "${steps[1].value}".`,
365
+ );
366
+ }
367
+
368
+ const isPositive = operator === 'any-of?';
369
+ const captureName = steps[1].name;
370
+
371
+ const stringSteps = steps.slice(2);
372
+ if (!stringSteps.every(isStringStep)) {
373
+ throw new Error(
374
+ `Arguments to \`#${operator}\` predicate must be strings.".`,
375
+ );
376
+ }
377
+ const values = stringSteps.map((s) => s.value);
378
+
379
+ textPredicates[index].push((captures) => {
380
+ const nodes = [];
381
+ for (const c of captures) {
382
+ if (c.name === captureName) nodes.push(c.node.text);
383
+ }
384
+ if (nodes.length === 0) return !isPositive;
385
+ return nodes.every((text) => values.includes(text)) === isPositive;
386
+ });
387
+ }
388
+
389
+ /**
390
+ * Parses the `is?` and `is-not?` predicates in a query, and updates the asserted or refuted properties,
391
+ * depending on if the operator is positive or negative.
392
+ */
393
+ function parseIsPredicate(
394
+ steps: PredicateStep[],
395
+ index: number,
396
+ operator: string,
397
+ assertedProperties: QueryProperties[],
398
+ refutedProperties: QueryProperties[],
399
+ ) {
400
+ if (steps.length < 2 || steps.length > 3) {
401
+ throw new Error(
402
+ `Wrong number of arguments to \`#${operator}\` predicate. Expected 1 or 2. Got ${steps.length - 1}.`,
403
+ );
404
+ }
405
+
406
+ if (!steps.every(isStringStep)) {
407
+ throw new Error(
408
+ `Arguments to \`#${operator}\` predicate must be strings.".`,
409
+ );
410
+ }
411
+
412
+ const properties = operator === 'is?' ? assertedProperties : refutedProperties;
413
+ if (!properties[index]) properties[index] = {};
414
+ properties[index][steps[1].value] = steps[2]?.value ?? null;
415
+ }
416
+
417
+ /**
418
+ * Parses the `set!` directive in a query, and updates the set properties.
419
+ */
420
+ function parseSetDirective(
421
+ steps: PredicateStep[],
422
+ index: number,
423
+ setProperties: QueryProperties[],
424
+ ) {
425
+ if (steps.length < 2 || steps.length > 3) {
426
+ throw new Error(`Wrong number of arguments to \`#set!\` predicate. Expected 1 or 2. Got ${steps.length - 1}.`);
427
+ }
428
+ if (!steps.every(isStringStep)) {
429
+ throw new Error(`Arguments to \`#set!\` predicate must be strings.".`);
430
+ }
431
+ if (!setProperties[index]) setProperties[index] = {};
432
+ setProperties[index][steps[1].value] = steps[2]?.value ?? null;
433
+ }
434
+
435
+ /**
436
+ * Parses the predicate at a given step in a pattern, and updates the appropriate
437
+ * predicates or properties.
438
+ */
439
+ function parsePattern(
440
+ index: number,
441
+ stepType: number,
442
+ stepValueId: number,
443
+ captureNames: string[],
444
+ stringValues: string[],
445
+ steps: PredicateStep[],
446
+ textPredicates: TextPredicate[][],
447
+ predicates: QueryPredicate[][],
448
+ setProperties: QueryProperties[],
449
+ assertedProperties: QueryProperties[],
450
+ refutedProperties: QueryProperties[],
451
+ ) {
452
+ if (stepType === PREDICATE_STEP_TYPE_CAPTURE) {
453
+ const name = captureNames[stepValueId];
454
+ steps.push({ type: 'capture', name });
455
+ } else if (stepType === PREDICATE_STEP_TYPE_STRING) {
456
+ steps.push({ type: 'string', value: stringValues[stepValueId] });
457
+ } else if (steps.length > 0) {
458
+ if (steps[0].type !== 'string') {
459
+ throw new Error('Predicates must begin with a literal value');
460
+ }
461
+
462
+ const operator = steps[0].value;
463
+ switch (operator) {
464
+ case 'any-not-eq?':
465
+ case 'not-eq?':
466
+ case 'any-eq?':
467
+ case 'eq?':
468
+ parseAnyPredicate(steps, index, operator, textPredicates);
469
+ break;
470
+
471
+ case 'any-not-match?':
472
+ case 'not-match?':
473
+ case 'any-match?':
474
+ case 'match?':
475
+ parseMatchPredicate(steps, index, operator, textPredicates);
476
+ break;
477
+
478
+ case 'not-any-of?':
479
+ case 'any-of?':
480
+ parseAnyOfPredicate(steps, index, operator, textPredicates);
481
+ break;
482
+
483
+ case 'is?':
484
+ case 'is-not?':
485
+ parseIsPredicate(steps, index, operator, assertedProperties, refutedProperties);
486
+ break;
487
+
488
+ case 'set!':
489
+ parseSetDirective(steps, index, setProperties);
490
+ break;
491
+
492
+ default:
493
+ predicates[index].push({ operator, operands: steps.slice(1) });
494
+ }
495
+
496
+ steps.length = 0;
497
+ }
498
+ }
499
+
500
+ export class Query {
501
+ /** @internal */
502
+ private [0] = 0; // Internal handle for WASM
503
+
504
+ /** @internal */
505
+ private exceededMatchLimit: boolean;
506
+
507
+ /** @internal */
508
+ private textPredicates: TextPredicate[][];
509
+
510
+ /** The names of the captures used in the query. */
511
+ readonly captureNames: string[];
512
+
513
+ /** The quantifiers of the captures used in the query. */
514
+ readonly captureQuantifiers: CaptureQuantifier[][];
515
+
516
+ /**
517
+ * The other user-defined predicates associated with the given index.
518
+ *
519
+ * This includes predicates with operators other than:
520
+ * - `match?`
521
+ * - `eq?` and `not-eq?`
522
+ * - `any-of?` and `not-any-of?`
523
+ * - `is?` and `is-not?`
524
+ * - `set!`
525
+ */
526
+ readonly predicates: QueryPredicate[][];
527
+
528
+ /** The properties for predicates with the operator `set!`. */
529
+ readonly setProperties: QueryProperties[];
530
+
531
+ /** The properties for predicates with the operator `is?`. */
532
+ readonly assertedProperties: QueryProperties[];
533
+
534
+ /** The properties for predicates with the operator `is-not?`. */
535
+ readonly refutedProperties: QueryProperties[];
536
+
537
+ /** The maximum number of in-progress matches for this cursor. */
538
+ matchLimit?: number;
539
+
540
+ /**
541
+ * Create a new query from a string containing one or more S-expression
542
+ * patterns.
543
+ *
544
+ * The query is associated with a particular language, and can only be run
545
+ * on syntax nodes parsed with that language. References to Queries can be
546
+ * shared between multiple threads.
547
+ *
548
+ * @link {@see https://tree-sitter.github.io/tree-sitter/using-parsers/queries}
549
+ */
550
+ constructor(language: Language, source: string) {
551
+ const sourceLength = C.lengthBytesUTF8(source);
552
+ const sourceAddress = C._malloc(sourceLength + 1);
553
+ C.stringToUTF8(source, sourceAddress, sourceLength + 1);
554
+ const address = C._ts_query_new(
555
+ language[0],
556
+ sourceAddress,
557
+ sourceLength,
558
+ TRANSFER_BUFFER,
559
+ TRANSFER_BUFFER + SIZE_OF_INT
560
+ );
561
+
562
+ if (!address) {
563
+ const errorId = C.getValue(TRANSFER_BUFFER + SIZE_OF_INT, 'i32') as QueryErrorKind;
564
+ const errorByte = C.getValue(TRANSFER_BUFFER, 'i32');
565
+ const errorIndex = C.UTF8ToString(sourceAddress, errorByte).length;
566
+ const suffix = source.slice(errorIndex, errorIndex + 100).split('\n')[0];
567
+ const word = suffix.match(QUERY_WORD_REGEX)?.[0] ?? '';
568
+ C._free(sourceAddress);
569
+
570
+ switch (errorId) {
571
+ case QueryErrorKind.Syntax:
572
+ throw new QueryError(QueryErrorKind.Syntax, { suffix: `${errorIndex}: '${suffix}'...` }, errorIndex, 0);
573
+ case QueryErrorKind.NodeName:
574
+ throw new QueryError(errorId, { word }, errorIndex, word.length);
575
+ case QueryErrorKind.FieldName:
576
+ throw new QueryError(errorId, { word }, errorIndex, word.length);
577
+ case QueryErrorKind.CaptureName:
578
+ throw new QueryError(errorId, { word }, errorIndex, word.length);
579
+ case QueryErrorKind.PatternStructure:
580
+ throw new QueryError(errorId, { suffix: `${errorIndex}: '${suffix}'...` }, errorIndex, 0);
581
+ }
582
+ }
583
+
584
+ const stringCount = C._ts_query_string_count(address);
585
+ const captureCount = C._ts_query_capture_count(address);
586
+ const patternCount = C._ts_query_pattern_count(address);
587
+ const captureNames = new Array<string>(captureCount);
588
+ const captureQuantifiers = new Array<CaptureQuantifier[]>(patternCount);
589
+ const stringValues = new Array<string>(stringCount);
590
+
591
+ // Fill in the capture names
592
+ for (let i = 0; i < captureCount; i++) {
593
+ const nameAddress = C._ts_query_capture_name_for_id(
594
+ address,
595
+ i,
596
+ TRANSFER_BUFFER
597
+ );
598
+ const nameLength = C.getValue(TRANSFER_BUFFER, 'i32');
599
+ captureNames[i] = C.UTF8ToString(nameAddress, nameLength);
600
+ }
601
+
602
+ // Fill in the capture quantifiers
603
+ for (let i = 0; i < patternCount; i++) {
604
+ const captureQuantifiersArray = new Array<CaptureQuantifier>(captureCount);
605
+ for (let j = 0; j < captureCount; j++) {
606
+ const quantifier = C._ts_query_capture_quantifier_for_id(address, i, j);
607
+ captureQuantifiersArray[j] = quantifier as CaptureQuantifier;
608
+ }
609
+ captureQuantifiers[i] = captureQuantifiersArray;
610
+ }
611
+
612
+ // Fill in the string values
613
+ for (let i = 0; i < stringCount; i++) {
614
+ const valueAddress = C._ts_query_string_value_for_id(
615
+ address,
616
+ i,
617
+ TRANSFER_BUFFER
618
+ );
619
+ const nameLength = C.getValue(TRANSFER_BUFFER, 'i32');
620
+ stringValues[i] = C.UTF8ToString(valueAddress, nameLength);
621
+ }
622
+
623
+ const setProperties = new Array<QueryProperties>(patternCount);
624
+ const assertedProperties = new Array<QueryProperties>(patternCount);
625
+ const refutedProperties = new Array<QueryProperties>(patternCount);
626
+ const predicates = new Array<QueryPredicate[]>(patternCount);
627
+ const textPredicates = new Array<TextPredicate[]>(patternCount);
628
+
629
+ // Parse the predicates, and add the appropriate predicates or properties
630
+ for (let i = 0; i < patternCount; i++) {
631
+ const predicatesAddress = C._ts_query_predicates_for_pattern(address, i, TRANSFER_BUFFER);
632
+ const stepCount = C.getValue(TRANSFER_BUFFER, 'i32');
633
+
634
+ predicates[i] = [];
635
+ textPredicates[i] = [];
636
+
637
+ const steps = new Array<PredicateStep>();
638
+
639
+ let stepAddress = predicatesAddress;
640
+ for (let j = 0; j < stepCount; j++) {
641
+ const stepType = C.getValue(stepAddress, 'i32');
642
+ stepAddress += SIZE_OF_INT;
643
+
644
+ const stepValueId = C.getValue(stepAddress, 'i32');
645
+ stepAddress += SIZE_OF_INT;
646
+
647
+ parsePattern(
648
+ i,
649
+ stepType,
650
+ stepValueId,
651
+ captureNames,
652
+ stringValues,
653
+ steps,
654
+ textPredicates,
655
+ predicates,
656
+ setProperties,
657
+ assertedProperties,
658
+ refutedProperties,
659
+ );
660
+ }
661
+
662
+ Object.freeze(textPredicates[i]);
663
+ Object.freeze(predicates[i]);
664
+ Object.freeze(setProperties[i]);
665
+ Object.freeze(assertedProperties[i]);
666
+ Object.freeze(refutedProperties[i]);
667
+ }
668
+
669
+ C._free(sourceAddress);
670
+
671
+
672
+ this[0] = address;
673
+ this.captureNames = captureNames;
674
+ this.captureQuantifiers = captureQuantifiers;
675
+ this.textPredicates = textPredicates;
676
+ this.predicates = predicates;
677
+ this.setProperties = setProperties;
678
+ this.assertedProperties = assertedProperties;
679
+ this.refutedProperties = refutedProperties;
680
+ this.exceededMatchLimit = false;
681
+ }
682
+
683
+ /** Delete the query, freeing its resources. */
684
+ delete(): void {
685
+ C._ts_query_delete(this[0]);
686
+ this[0] = 0;
687
+ }
688
+
689
+ /**
690
+ * Iterate over all of the matches in the order that they were found.
691
+ *
692
+ * Each match contains the index of the pattern that matched, and a list of
693
+ * captures. Because multiple patterns can match the same set of nodes,
694
+ * one match may contain captures that appear *before* some of the
695
+ * captures from a previous match.
696
+ *
697
+ * @param {Node} node - The node to execute the query on.
698
+ *
699
+ * @param {QueryOptions} options - Options for query execution.
700
+ */
701
+ matches(
702
+ node: Node,
703
+ options: QueryOptions = {}
704
+ ): QueryMatch[] {
705
+ const startPosition = options.startPosition ?? ZERO_POINT;
706
+ const endPosition = options.endPosition ?? ZERO_POINT;
707
+ const startIndex = options.startIndex ?? 0;
708
+ const endIndex = options.endIndex ?? 0;
709
+ const matchLimit = options.matchLimit ?? 0xFFFFFFFF;
710
+ const maxStartDepth = options.maxStartDepth ?? 0xFFFFFFFF;
711
+ const timeoutMicros = options.timeoutMicros ?? 0;
712
+ const progressCallback = options.progressCallback;
713
+
714
+ if (typeof matchLimit !== 'number') {
715
+ throw new Error('Arguments must be numbers');
716
+ }
717
+ this.matchLimit = matchLimit;
718
+
719
+ if (endIndex !== 0 && startIndex > endIndex) {
720
+ throw new Error('`startIndex` cannot be greater than `endIndex`');
721
+ }
722
+
723
+ if (endPosition !== ZERO_POINT && (
724
+ startPosition.row > endPosition.row ||
725
+ (startPosition.row === endPosition.row && startPosition.column > endPosition.column)
726
+ )) {
727
+ throw new Error('`startPosition` cannot be greater than `endPosition`');
728
+ }
729
+
730
+ if (progressCallback) {
731
+ C.currentQueryProgressCallback = progressCallback;
732
+ }
733
+
734
+ marshalNode(node);
735
+
736
+ C._ts_query_matches_wasm(
737
+ this[0],
738
+ node.tree[0],
739
+ startPosition.row,
740
+ startPosition.column,
741
+ endPosition.row,
742
+ endPosition.column,
743
+ startIndex,
744
+ endIndex,
745
+ matchLimit,
746
+ maxStartDepth,
747
+ timeoutMicros,
748
+ );
749
+
750
+ const rawCount = C.getValue(TRANSFER_BUFFER, 'i32');
751
+ const startAddress = C.getValue(TRANSFER_BUFFER + SIZE_OF_INT, 'i32');
752
+ const didExceedMatchLimit = C.getValue(TRANSFER_BUFFER + 2 * SIZE_OF_INT, 'i32');
753
+ const result = new Array<QueryMatch>(rawCount);
754
+ this.exceededMatchLimit = Boolean(didExceedMatchLimit);
755
+
756
+ let filteredCount = 0;
757
+ let address = startAddress;
758
+ for (let i = 0; i < rawCount; i++) {
759
+ const patternIndex = C.getValue(address, 'i32');
760
+ address += SIZE_OF_INT;
761
+ const captureCount = C.getValue(address, 'i32');
762
+ address += SIZE_OF_INT;
763
+
764
+ const captures = new Array<QueryCapture>(captureCount);
765
+ address = unmarshalCaptures(this, node.tree, address, patternIndex, captures);
766
+
767
+ if (this.textPredicates[patternIndex].every((p) => p(captures))) {
768
+ result[filteredCount] = { pattern: patternIndex, patternIndex, captures };
769
+ const setProperties = this.setProperties[patternIndex];
770
+ result[filteredCount].setProperties = setProperties;
771
+ const assertedProperties = this.assertedProperties[patternIndex];
772
+ result[filteredCount].assertedProperties = assertedProperties;
773
+ const refutedProperties = this.refutedProperties[patternIndex];
774
+ result[filteredCount].refutedProperties = refutedProperties;
775
+ filteredCount++;
776
+ }
777
+ }
778
+ result.length = filteredCount;
779
+
780
+ C._free(startAddress);
781
+ C.currentQueryProgressCallback = null;
782
+ return result;
783
+ }
784
+
785
+ /**
786
+ * Iterate over all of the individual captures in the order that they
787
+ * appear.
788
+ *
789
+ * This is useful if you don't care about which pattern matched, and just
790
+ * want a single, ordered sequence of captures.
791
+ *
792
+ * @param {Node} node - The node to execute the query on.
793
+ *
794
+ * @param {QueryOptions} options - Options for query execution.
795
+ */
796
+ captures(
797
+ node: Node,
798
+ options: QueryOptions = {}
799
+ ): QueryCapture[] {
800
+ const startPosition = options.startPosition ?? ZERO_POINT;
801
+ const endPosition = options.endPosition ?? ZERO_POINT;
802
+ const startIndex = options.startIndex ?? 0;
803
+ const endIndex = options.endIndex ?? 0;
804
+ const matchLimit = options.matchLimit ?? 0xFFFFFFFF;
805
+ const maxStartDepth = options.maxStartDepth ?? 0xFFFFFFFF;
806
+ const timeoutMicros = options.timeoutMicros ?? 0;
807
+ const progressCallback = options.progressCallback;
808
+
809
+ if (typeof matchLimit !== 'number') {
810
+ throw new Error('Arguments must be numbers');
811
+ }
812
+ this.matchLimit = matchLimit;
813
+
814
+ if (endIndex !== 0 && startIndex > endIndex) {
815
+ throw new Error('`startIndex` cannot be greater than `endIndex`');
816
+ }
817
+
818
+ if (endPosition !== ZERO_POINT && (
819
+ startPosition.row > endPosition.row ||
820
+ (startPosition.row === endPosition.row && startPosition.column > endPosition.column)
821
+ )) {
822
+ throw new Error('`startPosition` cannot be greater than `endPosition`');
823
+ }
824
+
825
+ if (progressCallback) {
826
+ C.currentQueryProgressCallback = progressCallback;
827
+ }
828
+
829
+ marshalNode(node);
830
+
831
+ C._ts_query_captures_wasm(
832
+ this[0],
833
+ node.tree[0],
834
+ startPosition.row,
835
+ startPosition.column,
836
+ endPosition.row,
837
+ endPosition.column,
838
+ startIndex,
839
+ endIndex,
840
+ matchLimit,
841
+ maxStartDepth,
842
+ timeoutMicros,
843
+ );
844
+
845
+ const count = C.getValue(TRANSFER_BUFFER, 'i32');
846
+ const startAddress = C.getValue(TRANSFER_BUFFER + SIZE_OF_INT, 'i32');
847
+ const didExceedMatchLimit = C.getValue(TRANSFER_BUFFER + 2 * SIZE_OF_INT, 'i32');
848
+ const result = new Array<QueryCapture>();
849
+ this.exceededMatchLimit = Boolean(didExceedMatchLimit);
850
+
851
+ const captures = new Array<QueryCapture>();
852
+ let address = startAddress;
853
+ for (let i = 0; i < count; i++) {
854
+ const patternIndex = C.getValue(address, 'i32');
855
+ address += SIZE_OF_INT;
856
+ const captureCount = C.getValue(address, 'i32');
857
+ address += SIZE_OF_INT;
858
+ const captureIndex = C.getValue(address, 'i32');
859
+ address += SIZE_OF_INT;
860
+
861
+ captures.length = captureCount;
862
+ address = unmarshalCaptures(this, node.tree, address, patternIndex, captures);
863
+
864
+ if (this.textPredicates[patternIndex].every(p => p(captures))) {
865
+ const capture = captures[captureIndex];
866
+ const setProperties = this.setProperties[patternIndex];
867
+ capture.setProperties = setProperties;
868
+ const assertedProperties = this.assertedProperties[patternIndex];
869
+ capture.assertedProperties = assertedProperties;
870
+ const refutedProperties = this.refutedProperties[patternIndex];
871
+ capture.refutedProperties = refutedProperties;
872
+ result.push(capture);
873
+ }
874
+ }
875
+
876
+ C._free(startAddress);
877
+ C.currentQueryProgressCallback = null;
878
+ return result;
879
+ }
880
+
881
+ /** Get the predicates for a given pattern. */
882
+ predicatesForPattern(patternIndex: number): QueryPredicate[] {
883
+ return this.predicates[patternIndex];
884
+ }
885
+
886
+ /**
887
+ * Disable a certain capture within a query.
888
+ *
889
+ * This prevents the capture from being returned in matches, and also
890
+ * avoids any resource usage associated with recording the capture.
891
+ */
892
+ disableCapture(captureName: string): void {
893
+ const captureNameLength = C.lengthBytesUTF8(captureName);
894
+ const captureNameAddress = C._malloc(captureNameLength + 1);
895
+ C.stringToUTF8(captureName, captureNameAddress, captureNameLength + 1);
896
+ C._ts_query_disable_capture(this[0], captureNameAddress, captureNameLength);
897
+ C._free(captureNameAddress);
898
+ }
899
+
900
+ /**
901
+ * Disable a certain pattern within a query.
902
+ *
903
+ * This prevents the pattern from matching, and also avoids any resource
904
+ * usage associated with the pattern. This throws an error if the pattern
905
+ * index is out of bounds.
906
+ */
907
+ disablePattern(patternIndex: number): void {
908
+ if (patternIndex >= this.predicates.length) {
909
+ throw new Error(
910
+ `Pattern index is ${patternIndex} but the pattern count is ${this.predicates.length}`
911
+ );
912
+ }
913
+ C._ts_query_disable_pattern(this[0], patternIndex);
914
+ }
915
+
916
+ /**
917
+ * Check if, on its last execution, this cursor exceeded its maximum number
918
+ * of in-progress matches.
919
+ */
920
+ didExceedMatchLimit(): boolean {
921
+ return this.exceededMatchLimit;
922
+ }
923
+
924
+ /** Get the byte offset where the given pattern starts in the query's source. */
925
+ startIndexForPattern(patternIndex: number): number {
926
+ if (patternIndex >= this.predicates.length) {
927
+ throw new Error(
928
+ `Pattern index is ${patternIndex} but the pattern count is ${this.predicates.length}`
929
+ );
930
+ }
931
+ return C._ts_query_start_byte_for_pattern(this[0], patternIndex);
932
+ }
933
+
934
+ /** Get the byte offset where the given pattern ends in the query's source. */
935
+ endIndexForPattern(patternIndex: number): number {
936
+ if (patternIndex >= this.predicates.length) {
937
+ throw new Error(
938
+ `Pattern index is ${patternIndex} but the pattern count is ${this.predicates.length}`
939
+ );
940
+ }
941
+ return C._ts_query_end_byte_for_pattern(this[0], patternIndex);
942
+ }
943
+
944
+ /** Get the number of patterns in the query. */
945
+ patternCount(): number {
946
+ return C._ts_query_pattern_count(this[0]);
947
+ }
948
+
949
+ /** Get the index for a given capture name. */
950
+ captureIndexForName(captureName: string): number {
951
+ return this.captureNames.indexOf(captureName);
952
+ }
953
+
954
+ /** Check if a given pattern within a query has a single root node. */
955
+ isPatternRooted(patternIndex: number): boolean {
956
+ return C._ts_query_is_pattern_rooted(this[0], patternIndex) === 1;
957
+ }
958
+
959
+ /** Check if a given pattern within a query has a single root node. */
960
+ isPatternNonLocal(patternIndex: number): boolean {
961
+ return C._ts_query_is_pattern_non_local(this[0], patternIndex) === 1;
962
+ }
963
+
964
+ /**
965
+ * Check if a given step in a query is 'definite'.
966
+ *
967
+ * A query step is 'definite' if its parent pattern will be guaranteed to
968
+ * match successfully once it reaches the step.
969
+ */
970
+ isPatternGuaranteedAtStep(byteIndex: number): boolean {
971
+ return C._ts_query_is_pattern_guaranteed_at_step(this[0], byteIndex) === 1;
972
+ }
973
+ }