@bingjiang0611/rotom 0.1.0-alpha.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 (3789) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +61 -0
  3. package/THIRD_PARTY_NOTICES.md +94 -0
  4. package/bin/pi-agent +355 -0
  5. package/bin/rotom +24 -0
  6. package/extensions/browser/browser-relay.ts +440 -0
  7. package/extensions/browser/chrome-extension/coordinate-click.js +48 -0
  8. package/extensions/browser/chrome-extension/full-read.js +113 -0
  9. package/extensions/browser/chrome-extension/interaction-observation.js +5 -0
  10. package/extensions/browser/chrome-extension/interaction-scroll-target.js +54 -0
  11. package/extensions/browser/chrome-extension/interaction-target-state.js +88 -0
  12. package/extensions/browser/chrome-extension/manifest.json +23 -0
  13. package/extensions/browser/chrome-extension/operation-chrome.js +18 -0
  14. package/extensions/browser/chrome-extension/operation-guard.js +12 -0
  15. package/extensions/browser/chrome-extension/page-alerts.js +89 -0
  16. package/extensions/browser/chrome-extension/relay-deadline.js +55 -0
  17. package/extensions/browser/chrome-extension/rendered-text.js +42 -0
  18. package/extensions/browser/chrome-extension/scoped-ax-ref.js +14 -0
  19. package/extensions/browser/chrome-extension/service-worker.js +1244 -0
  20. package/extensions/browser/chrome-extension/shared-tab-group.js +18 -0
  21. package/extensions/browser/chrome-extension/tab-list-status.js +58 -0
  22. package/extensions/browser/chrome-extension/window-open-correlation.js +15 -0
  23. package/extensions/browser/index.ts +505 -0
  24. package/extensions/browser/install-chrome-relay.mjs +216 -0
  25. package/extensions/browser/native-host.mjs +192 -0
  26. package/extensions/browser/relay-protocol.mjs +19 -0
  27. package/extensions/browser/relay-setup-probe.mjs +38 -0
  28. package/extensions/coding-policy/index.ts +38 -0
  29. package/extensions/coding-policy/pi-runtime-drift.ts +75 -0
  30. package/extensions/coding-policy/repair-hints.ts +252 -0
  31. package/extensions/observability/dashboard.mjs +788 -0
  32. package/extensions/observability/index.ts +677 -0
  33. package/extensions/third-party/ask-continuation.ts +78 -0
  34. package/extensions/third-party/computer-use-recovery.ts +339 -0
  35. package/extensions/third-party/deferred-tools.ts +197 -0
  36. package/extensions/third-party/index.ts +84 -0
  37. package/extensions/third-party/node_modules/.package-lock.json +175 -0
  38. package/extensions/third-party/node_modules/@injaneity/pi-computer-use/LICENSE +21 -0
  39. package/extensions/third-party/node_modules/@injaneity/pi-computer-use/README.md +92 -0
  40. package/extensions/third-party/node_modules/@injaneity/pi-computer-use/assets/reference/img.jpg +0 -0
  41. package/extensions/third-party/node_modules/@injaneity/pi-computer-use/docs/architecture.md +158 -0
  42. package/extensions/third-party/node_modules/@injaneity/pi-computer-use/docs/configuration.md +92 -0
  43. package/extensions/third-party/node_modules/@injaneity/pi-computer-use/docs/development.md +123 -0
  44. package/extensions/third-party/node_modules/@injaneity/pi-computer-use/docs/linux.md +65 -0
  45. package/extensions/third-party/node_modules/@injaneity/pi-computer-use/docs/troubleshooting.md +156 -0
  46. package/extensions/third-party/node_modules/@injaneity/pi-computer-use/docs/usage.md +140 -0
  47. package/extensions/third-party/node_modules/@injaneity/pi-computer-use/docs/windows-bridge.md +65 -0
  48. package/extensions/third-party/node_modules/@injaneity/pi-computer-use/extensions/computer-use.ts +203 -0
  49. package/extensions/third-party/node_modules/@injaneity/pi-computer-use/native/linux/bridge-rs/Cargo.lock +1204 -0
  50. package/extensions/third-party/node_modules/@injaneity/pi-computer-use/native/linux/bridge-rs/Cargo.toml +18 -0
  51. package/extensions/third-party/node_modules/@injaneity/pi-computer-use/native/linux/bridge-rs/src/atspi.rs +640 -0
  52. package/extensions/third-party/node_modules/@injaneity/pi-computer-use/native/linux/bridge-rs/src/error.rs +65 -0
  53. package/extensions/third-party/node_modules/@injaneity/pi-computer-use/native/linux/bridge-rs/src/lib.rs +11 -0
  54. package/extensions/third-party/node_modules/@injaneity/pi-computer-use/native/linux/bridge-rs/src/main.rs +1074 -0
  55. package/extensions/third-party/node_modules/@injaneity/pi-computer-use/native/linux/bridge-rs/src/protocol.rs +49 -0
  56. package/extensions/third-party/node_modules/@injaneity/pi-computer-use/native/linux/bridge-rs/src/state.rs +293 -0
  57. package/extensions/third-party/node_modules/@injaneity/pi-computer-use/native/linux/bridge-rs/src/wayland.rs +89 -0
  58. package/extensions/third-party/node_modules/@injaneity/pi-computer-use/native/linux/bridge-rs/src/x11.rs +909 -0
  59. package/extensions/third-party/node_modules/@injaneity/pi-computer-use/native/linux/bridge-rs/tests/protocol_tests.rs +73 -0
  60. package/extensions/third-party/node_modules/@injaneity/pi-computer-use/native/macos/bridge.swift +3611 -0
  61. package/extensions/third-party/node_modules/@injaneity/pi-computer-use/native/windows/bridge-rs/Cargo.lock +396 -0
  62. package/extensions/third-party/node_modules/@injaneity/pi-computer-use/native/windows/bridge-rs/Cargo.toml +30 -0
  63. package/extensions/third-party/node_modules/@injaneity/pi-computer-use/native/windows/bridge-rs/src/capture.rs +518 -0
  64. package/extensions/third-party/node_modules/@injaneity/pi-computer-use/native/windows/bridge-rs/src/error.rs +81 -0
  65. package/extensions/third-party/node_modules/@injaneity/pi-computer-use/native/windows/bridge-rs/src/input.rs +501 -0
  66. package/extensions/third-party/node_modules/@injaneity/pi-computer-use/native/windows/bridge-rs/src/lib.rs +16 -0
  67. package/extensions/third-party/node_modules/@injaneity/pi-computer-use/native/windows/bridge-rs/src/main.rs +1683 -0
  68. package/extensions/third-party/node_modules/@injaneity/pi-computer-use/native/windows/bridge-rs/src/protocol.rs +53 -0
  69. package/extensions/third-party/node_modules/@injaneity/pi-computer-use/native/windows/bridge-rs/src/refs.rs +237 -0
  70. package/extensions/third-party/node_modules/@injaneity/pi-computer-use/native/windows/bridge-rs/src/state.rs +55 -0
  71. package/extensions/third-party/node_modules/@injaneity/pi-computer-use/native/windows/bridge-rs/src/uia.rs +1252 -0
  72. package/extensions/third-party/node_modules/@injaneity/pi-computer-use/native/windows/bridge-rs/src/window.rs +718 -0
  73. package/extensions/third-party/node_modules/@injaneity/pi-computer-use/native/windows/bridge-rs/tests/protocol_tests.rs +252 -0
  74. package/extensions/third-party/node_modules/@injaneity/pi-computer-use/native/windows/bridge-rs/tests/refs_tests.rs +86 -0
  75. package/extensions/third-party/node_modules/@injaneity/pi-computer-use/native/windows/bridge-rs/tests/state_tests.rs +33 -0
  76. package/extensions/third-party/node_modules/@injaneity/pi-computer-use/package.json +84 -0
  77. package/extensions/third-party/node_modules/@injaneity/pi-computer-use/prebuilt/linux/arm64/linux-bridge +0 -0
  78. package/extensions/third-party/node_modules/@injaneity/pi-computer-use/prebuilt/linux/x64/linux-bridge +0 -0
  79. package/extensions/third-party/node_modules/@injaneity/pi-computer-use/prebuilt/macos/arm64/bridge +0 -0
  80. package/extensions/third-party/node_modules/@injaneity/pi-computer-use/prebuilt/macos/universal/pi-computer-use.app/Contents/Info.plist +13 -0
  81. package/extensions/third-party/node_modules/@injaneity/pi-computer-use/prebuilt/macos/universal/pi-computer-use.app/Contents/MacOS/bridge +0 -0
  82. package/extensions/third-party/node_modules/@injaneity/pi-computer-use/prebuilt/macos/universal/pi-computer-use.app/Contents/_CodeSignature/CodeResources +115 -0
  83. package/extensions/third-party/node_modules/@injaneity/pi-computer-use/prebuilt/macos/x64/bridge +0 -0
  84. package/extensions/third-party/node_modules/@injaneity/pi-computer-use/scripts/build-native.mjs +277 -0
  85. package/extensions/third-party/node_modules/@injaneity/pi-computer-use/scripts/setup-helper.mjs +617 -0
  86. package/extensions/third-party/node_modules/@injaneity/pi-computer-use/src/actions.ts +130 -0
  87. package/extensions/third-party/node_modules/@injaneity/pi-computer-use/src/bridge.ts +2423 -0
  88. package/extensions/third-party/node_modules/@injaneity/pi-computer-use/src/cdp.ts +658 -0
  89. package/extensions/third-party/node_modules/@injaneity/pi-computer-use/src/config.ts +113 -0
  90. package/extensions/third-party/node_modules/@injaneity/pi-computer-use/src/contract.ts +104 -0
  91. package/extensions/third-party/node_modules/@injaneity/pi-computer-use/src/note.ts +195 -0
  92. package/extensions/third-party/node_modules/@injaneity/pi-computer-use/src/outline.ts +651 -0
  93. package/extensions/third-party/node_modules/@injaneity/pi-computer-use/src/output.ts +134 -0
  94. package/extensions/third-party/node_modules/@injaneity/pi-computer-use/src/permissions.ts +111 -0
  95. package/extensions/third-party/node_modules/@injaneity/pi-computer-use/src/platform/architecture.ts +23 -0
  96. package/extensions/third-party/node_modules/@injaneity/pi-computer-use/src/platform/coerce.ts +16 -0
  97. package/extensions/third-party/node_modules/@injaneity/pi-computer-use/src/platform/index.ts +59 -0
  98. package/extensions/third-party/node_modules/@injaneity/pi-computer-use/src/platform/linux/backend.ts +186 -0
  99. package/extensions/third-party/node_modules/@injaneity/pi-computer-use/src/platform/linux/helper.ts +238 -0
  100. package/extensions/third-party/node_modules/@injaneity/pi-computer-use/src/platform/macos/backend.ts +131 -0
  101. package/extensions/third-party/node_modules/@injaneity/pi-computer-use/src/platform/macos/browser.ts +110 -0
  102. package/extensions/third-party/node_modules/@injaneity/pi-computer-use/src/platform/macos/helper-path.d.mts +9 -0
  103. package/extensions/third-party/node_modules/@injaneity/pi-computer-use/src/platform/macos/helper-path.mjs +34 -0
  104. package/extensions/third-party/node_modules/@injaneity/pi-computer-use/src/platform/macos/helper.ts +291 -0
  105. package/extensions/third-party/node_modules/@injaneity/pi-computer-use/src/platform/macos/permissions.ts +146 -0
  106. package/extensions/third-party/node_modules/@injaneity/pi-computer-use/src/platform/types.ts +222 -0
  107. package/extensions/third-party/node_modules/@injaneity/pi-computer-use/src/platform/windows/backend.ts +142 -0
  108. package/extensions/third-party/node_modules/@injaneity/pi-computer-use/src/platform/windows/helper.ts +140 -0
  109. package/extensions/third-party/node_modules/@injaneity/pi-computer-use/src/runtime.ts +129 -0
  110. package/extensions/third-party/node_modules/@injaneity/pi-computer-use/src/state.ts +146 -0
  111. package/extensions/third-party/node_modules/@injaneity/pi-computer-use/src/view.ts +147 -0
  112. package/extensions/third-party/node_modules/@juicesharp/rpiv-ask-user-question/LICENSE +21 -0
  113. package/extensions/third-party/node_modules/@juicesharp/rpiv-ask-user-question/README.md +94 -0
  114. package/extensions/third-party/node_modules/@juicesharp/rpiv-ask-user-question/ask-user-question.ts +336 -0
  115. package/extensions/third-party/node_modules/@juicesharp/rpiv-ask-user-question/config.ts +75 -0
  116. package/extensions/third-party/node_modules/@juicesharp/rpiv-ask-user-question/docs/configuration.md +120 -0
  117. package/extensions/third-party/node_modules/@juicesharp/rpiv-ask-user-question/docs/hosts.md +93 -0
  118. package/extensions/third-party/node_modules/@juicesharp/rpiv-ask-user-question/docs/keyboard.md +103 -0
  119. package/extensions/third-party/node_modules/@juicesharp/rpiv-ask-user-question/docs/localization.md +83 -0
  120. package/extensions/third-party/node_modules/@juicesharp/rpiv-ask-user-question/docs/tool-schema.md +121 -0
  121. package/extensions/third-party/node_modules/@juicesharp/rpiv-ask-user-question/events.ts +55 -0
  122. package/extensions/third-party/node_modules/@juicesharp/rpiv-ask-user-question/index.ts +54 -0
  123. package/extensions/third-party/node_modules/@juicesharp/rpiv-ask-user-question/locales/de.json +31 -0
  124. package/extensions/third-party/node_modules/@juicesharp/rpiv-ask-user-question/locales/en.json +31 -0
  125. package/extensions/third-party/node_modules/@juicesharp/rpiv-ask-user-question/locales/es.json +31 -0
  126. package/extensions/third-party/node_modules/@juicesharp/rpiv-ask-user-question/locales/fr.json +31 -0
  127. package/extensions/third-party/node_modules/@juicesharp/rpiv-ask-user-question/locales/pt-BR.json +31 -0
  128. package/extensions/third-party/node_modules/@juicesharp/rpiv-ask-user-question/locales/pt.json +31 -0
  129. package/extensions/third-party/node_modules/@juicesharp/rpiv-ask-user-question/locales/ru.json +31 -0
  130. package/extensions/third-party/node_modules/@juicesharp/rpiv-ask-user-question/locales/uk.json +31 -0
  131. package/extensions/third-party/node_modules/@juicesharp/rpiv-ask-user-question/locales/zh.json +33 -0
  132. package/extensions/third-party/node_modules/@juicesharp/rpiv-ask-user-question/package.json +100 -0
  133. package/extensions/third-party/node_modules/@juicesharp/rpiv-ask-user-question/reconcile.ts +47 -0
  134. package/extensions/third-party/node_modules/@juicesharp/rpiv-ask-user-question/rpc-fallback.ts +166 -0
  135. package/extensions/third-party/node_modules/@juicesharp/rpiv-ask-user-question/state/build-questionnaire.ts +323 -0
  136. package/extensions/third-party/node_modules/@juicesharp/rpiv-ask-user-question/state/external-editor.ts +62 -0
  137. package/extensions/third-party/node_modules/@juicesharp/rpiv-ask-user-question/state/i18n-bridge.ts +51 -0
  138. package/extensions/third-party/node_modules/@juicesharp/rpiv-ask-user-question/state/key-router.ts +310 -0
  139. package/extensions/third-party/node_modules/@juicesharp/rpiv-ask-user-question/state/questionnaire-session.ts +250 -0
  140. package/extensions/third-party/node_modules/@juicesharp/rpiv-ask-user-question/state/row-intent.ts +143 -0
  141. package/extensions/third-party/node_modules/@juicesharp/rpiv-ask-user-question/state/selectors/contract.ts +24 -0
  142. package/extensions/third-party/node_modules/@juicesharp/rpiv-ask-user-question/state/selectors/derivations.ts +40 -0
  143. package/extensions/third-party/node_modules/@juicesharp/rpiv-ask-user-question/state/selectors/focus.ts +17 -0
  144. package/extensions/third-party/node_modules/@juicesharp/rpiv-ask-user-question/state/selectors/projections.ts +99 -0
  145. package/extensions/third-party/node_modules/@juicesharp/rpiv-ask-user-question/state/state-reducer.ts +331 -0
  146. package/extensions/third-party/node_modules/@juicesharp/rpiv-ask-user-question/state/state.ts +57 -0
  147. package/extensions/third-party/node_modules/@juicesharp/rpiv-ask-user-question/tool/format-answer.ts +29 -0
  148. package/extensions/third-party/node_modules/@juicesharp/rpiv-ask-user-question/tool/response-envelope.ts +47 -0
  149. package/extensions/third-party/node_modules/@juicesharp/rpiv-ask-user-question/tool/types.ts +145 -0
  150. package/extensions/third-party/node_modules/@juicesharp/rpiv-ask-user-question/tool/validate-questionnaire.ts +56 -0
  151. package/extensions/third-party/node_modules/@juicesharp/rpiv-ask-user-question/view/component-binding.ts +45 -0
  152. package/extensions/third-party/node_modules/@juicesharp/rpiv-ask-user-question/view/components/inline-input.ts +66 -0
  153. package/extensions/third-party/node_modules/@juicesharp/rpiv-ask-user-question/view/components/multi-select-view.ts +177 -0
  154. package/extensions/third-party/node_modules/@juicesharp/rpiv-ask-user-question/view/components/option-list-view.ts +68 -0
  155. package/extensions/third-party/node_modules/@juicesharp/rpiv-ask-user-question/view/components/preview/markdown-content-cache.ts +77 -0
  156. package/extensions/third-party/node_modules/@juicesharp/rpiv-ask-user-question/view/components/preview/preview-block-renderer.ts +109 -0
  157. package/extensions/third-party/node_modules/@juicesharp/rpiv-ask-user-question/view/components/preview/preview-box-renderer.ts +86 -0
  158. package/extensions/third-party/node_modules/@juicesharp/rpiv-ask-user-question/view/components/preview/preview-layout-decider.ts +207 -0
  159. package/extensions/third-party/node_modules/@juicesharp/rpiv-ask-user-question/view/components/preview/preview-pane.ts +233 -0
  160. package/extensions/third-party/node_modules/@juicesharp/rpiv-ask-user-question/view/components/submit-picker.ts +65 -0
  161. package/extensions/third-party/node_modules/@juicesharp/rpiv-ask-user-question/view/components/tab-bar.ts +57 -0
  162. package/extensions/third-party/node_modules/@juicesharp/rpiv-ask-user-question/view/components/wrapping-select.ts +288 -0
  163. package/extensions/third-party/node_modules/@juicesharp/rpiv-ask-user-question/view/dialog-builder.ts +224 -0
  164. package/extensions/third-party/node_modules/@juicesharp/rpiv-ask-user-question/view/props-adapter.ts +117 -0
  165. package/extensions/third-party/node_modules/@juicesharp/rpiv-ask-user-question/view/stateful-view.ts +24 -0
  166. package/extensions/third-party/node_modules/@juicesharp/rpiv-ask-user-question/view/tab-components.ts +16 -0
  167. package/extensions/third-party/node_modules/@juicesharp/rpiv-ask-user-question/view/tab-content-strategy.ts +249 -0
  168. package/extensions/third-party/node_modules/@juicesharp/rpiv-config/CHANGELOG.md +118 -0
  169. package/extensions/third-party/node_modules/@juicesharp/rpiv-config/README.md +70 -0
  170. package/extensions/third-party/node_modules/@juicesharp/rpiv-config/config.ts +309 -0
  171. package/extensions/third-party/node_modules/@juicesharp/rpiv-config/index.ts +13 -0
  172. package/extensions/third-party/node_modules/@juicesharp/rpiv-config/package.json +39 -0
  173. package/extensions/third-party/node_modules/@narumitw/pi-goal/LICENSE +21 -0
  174. package/extensions/third-party/node_modules/@narumitw/pi-goal/README.md +361 -0
  175. package/extensions/third-party/node_modules/@narumitw/pi-goal/package.json +56 -0
  176. package/extensions/third-party/node_modules/@narumitw/pi-goal/src/accounting.ts +106 -0
  177. package/extensions/third-party/node_modules/@narumitw/pi-goal/src/command-registration.ts +129 -0
  178. package/extensions/third-party/node_modules/@narumitw/pi-goal/src/command.ts +151 -0
  179. package/extensions/third-party/node_modules/@narumitw/pi-goal/src/commands.ts +482 -0
  180. package/extensions/third-party/node_modules/@narumitw/pi-goal/src/errors.ts +176 -0
  181. package/extensions/third-party/node_modules/@narumitw/pi-goal/src/goal.ts +52 -0
  182. package/extensions/third-party/node_modules/@narumitw/pi-goal/src/index.ts +1 -0
  183. package/extensions/third-party/node_modules/@narumitw/pi-goal/src/lifecycle.ts +575 -0
  184. package/extensions/third-party/node_modules/@narumitw/pi-goal/src/markers.ts +25 -0
  185. package/extensions/third-party/node_modules/@narumitw/pi-goal/src/menu.ts +685 -0
  186. package/extensions/third-party/node_modules/@narumitw/pi-goal/src/persistence.ts +283 -0
  187. package/extensions/third-party/node_modules/@narumitw/pi-goal/src/prompts.ts +115 -0
  188. package/extensions/third-party/node_modules/@narumitw/pi-goal/src/run-protocol.ts +380 -0
  189. package/extensions/third-party/node_modules/@narumitw/pi-goal/src/runtime.ts +1493 -0
  190. package/extensions/third-party/node_modules/@narumitw/pi-goal/src/safety.ts +78 -0
  191. package/extensions/third-party/node_modules/@narumitw/pi-goal/src/settings-ui.ts +515 -0
  192. package/extensions/third-party/node_modules/@narumitw/pi-goal/src/settings.ts +201 -0
  193. package/extensions/third-party/node_modules/@narumitw/pi-goal/src/tool-policy.ts +180 -0
  194. package/extensions/third-party/node_modules/@narumitw/pi-goal/src/tools.ts +416 -0
  195. package/extensions/third-party/node_modules/@narumitw/pi-goal/src/wait.ts +75 -0
  196. package/extensions/third-party/node_modules/@narumitw/pi-tui-kit/LICENSE +21 -0
  197. package/extensions/third-party/node_modules/@narumitw/pi-tui-kit/README.md +739 -0
  198. package/extensions/third-party/node_modules/@narumitw/pi-tui-kit/dist/components/browse.d.ts +5 -0
  199. package/extensions/third-party/node_modules/@narumitw/pi-tui-kit/dist/components/browse.js +356 -0
  200. package/extensions/third-party/node_modules/@narumitw/pi-tui-kit/dist/components/contracts.d.ts +77 -0
  201. package/extensions/third-party/node_modules/@narumitw/pi-tui-kit/dist/components/contracts.js +10 -0
  202. package/extensions/third-party/node_modules/@narumitw/pi-tui-kit/dist/components/document-formatting.d.ts +13 -0
  203. package/extensions/third-party/node_modules/@narumitw/pi-tui-kit/dist/components/document-formatting.js +181 -0
  204. package/extensions/third-party/node_modules/@narumitw/pi-tui-kit/dist/components/document-sanitization.d.ts +1 -0
  205. package/extensions/third-party/node_modules/@narumitw/pi-tui-kit/dist/components/document-sanitization.js +19 -0
  206. package/extensions/third-party/node_modules/@narumitw/pi-tui-kit/dist/components/dynamic-border.d.ts +8 -0
  207. package/extensions/third-party/node_modules/@narumitw/pi-tui-kit/dist/components/dynamic-border.js +11 -0
  208. package/extensions/third-party/node_modules/@narumitw/pi-tui-kit/dist/components/index.d.ts +11 -0
  209. package/extensions/third-party/node_modules/@narumitw/pi-tui-kit/dist/components/index.js +618 -0
  210. package/extensions/third-party/node_modules/@narumitw/pi-tui-kit/dist/components/input.d.ts +8 -0
  211. package/extensions/third-party/node_modules/@narumitw/pi-tui-kit/dist/components/input.js +94 -0
  212. package/extensions/third-party/node_modules/@narumitw/pi-tui-kit/dist/components/mermaid.d.ts +8 -0
  213. package/extensions/third-party/node_modules/@narumitw/pi-tui-kit/dist/components/mermaid.js +106 -0
  214. package/extensions/third-party/node_modules/@narumitw/pi-tui-kit/dist/components/multi-select.d.ts +2 -0
  215. package/extensions/third-party/node_modules/@narumitw/pi-tui-kit/dist/components/multi-select.js +233 -0
  216. package/extensions/third-party/node_modules/@narumitw/pi-tui-kit/dist/components/rendering.d.ts +13 -0
  217. package/extensions/third-party/node_modules/@narumitw/pi-tui-kit/dist/components/rendering.js +50 -0
  218. package/extensions/third-party/node_modules/@narumitw/pi-tui-kit/dist/components/review.d.ts +9 -0
  219. package/extensions/third-party/node_modules/@narumitw/pi-tui-kit/dist/components/review.js +203 -0
  220. package/extensions/third-party/node_modules/@narumitw/pi-tui-kit/dist/components/selection-controller.d.ts +17 -0
  221. package/extensions/third-party/node_modules/@narumitw/pi-tui-kit/dist/components/selection-controller.js +38 -0
  222. package/extensions/third-party/node_modules/@narumitw/pi-tui-kit/dist/components/syntax-highlighting.d.ts +4 -0
  223. package/extensions/third-party/node_modules/@narumitw/pi-tui-kit/dist/components/syntax-highlighting.js +227 -0
  224. package/extensions/third-party/node_modules/@narumitw/pi-tui-kit/dist/components/task-loader.d.ts +19 -0
  225. package/extensions/third-party/node_modules/@narumitw/pi-tui-kit/dist/components/task-loader.js +55 -0
  226. package/extensions/third-party/node_modules/@narumitw/pi-tui-kit/dist/confirmation.d.ts +30 -0
  227. package/extensions/third-party/node_modules/@narumitw/pi-tui-kit/dist/confirmation.js +118 -0
  228. package/extensions/third-party/node_modules/@narumitw/pi-tui-kit/dist/custom-interaction.d.ts +40 -0
  229. package/extensions/third-party/node_modules/@narumitw/pi-tui-kit/dist/custom-interaction.js +174 -0
  230. package/extensions/third-party/node_modules/@narumitw/pi-tui-kit/dist/index.d.ts +11 -0
  231. package/extensions/third-party/node_modules/@narumitw/pi-tui-kit/dist/index.js +10 -0
  232. package/extensions/third-party/node_modules/@narumitw/pi-tui-kit/dist/interaction-hints.d.ts +14 -0
  233. package/extensions/third-party/node_modules/@narumitw/pi-tui-kit/dist/interaction-hints.js +33 -0
  234. package/extensions/third-party/node_modules/@narumitw/pi-tui-kit/dist/interaction.d.ts +40 -0
  235. package/extensions/third-party/node_modules/@narumitw/pi-tui-kit/dist/interaction.js +169 -0
  236. package/extensions/third-party/node_modules/@narumitw/pi-tui-kit/dist/live-choice.d.ts +63 -0
  237. package/extensions/third-party/node_modules/@narumitw/pi-tui-kit/dist/live-choice.js +408 -0
  238. package/extensions/third-party/node_modules/@narumitw/pi-tui-kit/dist/model.d.ts +4 -0
  239. package/extensions/third-party/node_modules/@narumitw/pi-tui-kit/dist/model.js +113 -0
  240. package/extensions/third-party/node_modules/@narumitw/pi-tui-kit/dist/navigator.d.ts +10 -0
  241. package/extensions/third-party/node_modules/@narumitw/pi-tui-kit/dist/navigator.js +58 -0
  242. package/extensions/third-party/node_modules/@narumitw/pi-tui-kit/dist/runtime.d.ts +27 -0
  243. package/extensions/third-party/node_modules/@narumitw/pi-tui-kit/dist/runtime.js +479 -0
  244. package/extensions/third-party/node_modules/@narumitw/pi-tui-kit/dist/task.d.ts +29 -0
  245. package/extensions/third-party/node_modules/@narumitw/pi-tui-kit/dist/task.js +158 -0
  246. package/extensions/third-party/node_modules/@narumitw/pi-tui-kit/dist/terminal-text.d.ts +6 -0
  247. package/extensions/third-party/node_modules/@narumitw/pi-tui-kit/dist/terminal-text.js +104 -0
  248. package/extensions/third-party/node_modules/@narumitw/pi-tui-kit/dist/testing/index.d.ts +3 -0
  249. package/extensions/third-party/node_modules/@narumitw/pi-tui-kit/dist/testing/index.js +2 -0
  250. package/extensions/third-party/node_modules/@narumitw/pi-tui-kit/dist/testing/rpc-harness.d.ts +2 -0
  251. package/extensions/third-party/node_modules/@narumitw/pi-tui-kit/dist/testing/rpc-harness.js +134 -0
  252. package/extensions/third-party/node_modules/@narumitw/pi-tui-kit/dist/testing/tui-harness.d.ts +2 -0
  253. package/extensions/third-party/node_modules/@narumitw/pi-tui-kit/dist/testing/tui-harness.js +314 -0
  254. package/extensions/third-party/node_modules/@narumitw/pi-tui-kit/dist/testing/types.d.ts +72 -0
  255. package/extensions/third-party/node_modules/@narumitw/pi-tui-kit/dist/testing/types.js +1 -0
  256. package/extensions/third-party/node_modules/@narumitw/pi-tui-kit/dist/text.d.ts +2 -0
  257. package/extensions/third-party/node_modules/@narumitw/pi-tui-kit/dist/text.js +9 -0
  258. package/extensions/third-party/node_modules/@narumitw/pi-tui-kit/dist/types.d.ts +192 -0
  259. package/extensions/third-party/node_modules/@narumitw/pi-tui-kit/dist/types.js +1 -0
  260. package/extensions/third-party/node_modules/@narumitw/pi-tui-kit/package.json +67 -0
  261. package/extensions/third-party/node_modules/acorn/CHANGELOG.md +998 -0
  262. package/extensions/third-party/node_modules/acorn/LICENSE +21 -0
  263. package/extensions/third-party/node_modules/acorn/README.md +309 -0
  264. package/extensions/third-party/node_modules/acorn/bin/acorn +4 -0
  265. package/extensions/third-party/node_modules/acorn/dist/acorn.d.mts +897 -0
  266. package/extensions/third-party/node_modules/acorn/dist/acorn.d.ts +897 -0
  267. package/extensions/third-party/node_modules/acorn/dist/acorn.js +6342 -0
  268. package/extensions/third-party/node_modules/acorn/dist/acorn.mjs +6313 -0
  269. package/extensions/third-party/node_modules/acorn/dist/bin.js +90 -0
  270. package/extensions/third-party/node_modules/acorn/package.json +50 -0
  271. package/extensions/third-party/node_modules/grok-mermaid/CHANGELOG.md +46 -0
  272. package/extensions/third-party/node_modules/grok-mermaid/LICENSE +205 -0
  273. package/extensions/third-party/node_modules/grok-mermaid/README.md +191 -0
  274. package/extensions/third-party/node_modules/grok-mermaid/dist/ansi.d.ts +16 -0
  275. package/extensions/third-party/node_modules/grok-mermaid/dist/ansi.d.ts.map +1 -0
  276. package/extensions/third-party/node_modules/grok-mermaid/dist/ansi.js +23 -0
  277. package/extensions/third-party/node_modules/grok-mermaid/dist/ansi.js.map +1 -0
  278. package/extensions/third-party/node_modules/grok-mermaid/dist/canvas.d.ts +87 -0
  279. package/extensions/third-party/node_modules/grok-mermaid/dist/canvas.d.ts.map +1 -0
  280. package/extensions/third-party/node_modules/grok-mermaid/dist/canvas.js +366 -0
  281. package/extensions/third-party/node_modules/grok-mermaid/dist/canvas.js.map +1 -0
  282. package/extensions/third-party/node_modules/grok-mermaid/dist/graph.d.ts +74 -0
  283. package/extensions/third-party/node_modules/grok-mermaid/dist/graph.d.ts.map +1 -0
  284. package/extensions/third-party/node_modules/grok-mermaid/dist/graph.js +91 -0
  285. package/extensions/third-party/node_modules/grok-mermaid/dist/graph.js.map +1 -0
  286. package/extensions/third-party/node_modules/grok-mermaid/dist/index.d.ts +32 -0
  287. package/extensions/third-party/node_modules/grok-mermaid/dist/index.d.ts.map +1 -0
  288. package/extensions/third-party/node_modules/grok-mermaid/dist/index.js +100 -0
  289. package/extensions/third-party/node_modules/grok-mermaid/dist/index.js.map +1 -0
  290. package/extensions/third-party/node_modules/grok-mermaid/dist/labels.d.ts +62 -0
  291. package/extensions/third-party/node_modules/grok-mermaid/dist/labels.d.ts.map +1 -0
  292. package/extensions/third-party/node_modules/grok-mermaid/dist/labels.js +324 -0
  293. package/extensions/third-party/node_modules/grok-mermaid/dist/labels.js.map +1 -0
  294. package/extensions/third-party/node_modules/grok-mermaid/dist/layout-seq.d.ts +12 -0
  295. package/extensions/third-party/node_modules/grok-mermaid/dist/layout-seq.d.ts.map +1 -0
  296. package/extensions/third-party/node_modules/grok-mermaid/dist/layout-seq.js +194 -0
  297. package/extensions/third-party/node_modules/grok-mermaid/dist/layout-seq.js.map +1 -0
  298. package/extensions/third-party/node_modules/grok-mermaid/dist/layout.d.ts +87 -0
  299. package/extensions/third-party/node_modules/grok-mermaid/dist/layout.d.ts.map +1 -0
  300. package/extensions/third-party/node_modules/grok-mermaid/dist/layout.js +881 -0
  301. package/extensions/third-party/node_modules/grok-mermaid/dist/layout.js.map +1 -0
  302. package/extensions/third-party/node_modules/grok-mermaid/dist/parse.d.ts +83 -0
  303. package/extensions/third-party/node_modules/grok-mermaid/dist/parse.d.ts.map +1 -0
  304. package/extensions/third-party/node_modules/grok-mermaid/dist/parse.js +1151 -0
  305. package/extensions/third-party/node_modules/grok-mermaid/dist/parse.js.map +1 -0
  306. package/extensions/third-party/node_modules/grok-mermaid/dist/source-box.d.ts +18 -0
  307. package/extensions/third-party/node_modules/grok-mermaid/dist/source-box.d.ts.map +1 -0
  308. package/extensions/third-party/node_modules/grok-mermaid/dist/source-box.js +78 -0
  309. package/extensions/third-party/node_modules/grok-mermaid/dist/source-box.js.map +1 -0
  310. package/extensions/third-party/node_modules/grok-mermaid/dist/types.d.ts +42 -0
  311. package/extensions/third-party/node_modules/grok-mermaid/dist/types.d.ts.map +1 -0
  312. package/extensions/third-party/node_modules/grok-mermaid/dist/types.js +1 -0
  313. package/extensions/third-party/node_modules/grok-mermaid/dist/types.js.map +1 -0
  314. package/extensions/third-party/node_modules/grok-mermaid/dist/width-data.d.ts +2 -0
  315. package/extensions/third-party/node_modules/grok-mermaid/dist/width-data.d.ts.map +1 -0
  316. package/extensions/third-party/node_modules/grok-mermaid/dist/width-data.js +994 -0
  317. package/extensions/third-party/node_modules/grok-mermaid/dist/width-data.js.map +1 -0
  318. package/extensions/third-party/node_modules/grok-mermaid/dist/width.d.ts +18 -0
  319. package/extensions/third-party/node_modules/grok-mermaid/dist/width.d.ts.map +1 -0
  320. package/extensions/third-party/node_modules/grok-mermaid/dist/width.js +76 -0
  321. package/extensions/third-party/node_modules/grok-mermaid/dist/width.js.map +1 -0
  322. package/extensions/third-party/node_modules/grok-mermaid/package.json +49 -0
  323. package/extensions/third-party/node_modules/grok-mermaid/src/ansi.ts +34 -0
  324. package/extensions/third-party/node_modules/grok-mermaid/src/canvas.ts +373 -0
  325. package/extensions/third-party/node_modules/grok-mermaid/src/graph.ts +142 -0
  326. package/extensions/third-party/node_modules/grok-mermaid/src/index.ts +104 -0
  327. package/extensions/third-party/node_modules/grok-mermaid/src/labels.ts +326 -0
  328. package/extensions/third-party/node_modules/grok-mermaid/src/layout-seq.ts +203 -0
  329. package/extensions/third-party/node_modules/grok-mermaid/src/layout.ts +1015 -0
  330. package/extensions/third-party/node_modules/grok-mermaid/src/parse.ts +1189 -0
  331. package/extensions/third-party/node_modules/grok-mermaid/src/source-box.ts +89 -0
  332. package/extensions/third-party/node_modules/grok-mermaid/src/types.ts +43 -0
  333. package/extensions/third-party/node_modules/grok-mermaid/src/width-data.ts +993 -0
  334. package/extensions/third-party/node_modules/grok-mermaid/src/width.ts +74 -0
  335. package/extensions/third-party/node_modules/highlight.js/CHANGES.md +3787 -0
  336. package/extensions/third-party/node_modules/highlight.js/LICENSE +29 -0
  337. package/extensions/third-party/node_modules/highlight.js/README.md +521 -0
  338. package/extensions/third-party/node_modules/highlight.js/SECURITY.md +19 -0
  339. package/extensions/third-party/node_modules/highlight.js/SUPPORTED_LANGUAGES.md +310 -0
  340. package/extensions/third-party/node_modules/highlight.js/VERSION_10_UPGRADE.md +58 -0
  341. package/extensions/third-party/node_modules/highlight.js/VERSION_11_UPGRADE.md +203 -0
  342. package/extensions/third-party/node_modules/highlight.js/es/common.d.ts +3 -0
  343. package/extensions/third-party/node_modules/highlight.js/es/common.js +4 -0
  344. package/extensions/third-party/node_modules/highlight.js/es/core.d.ts +3 -0
  345. package/extensions/third-party/node_modules/highlight.js/es/core.js +4 -0
  346. package/extensions/third-party/node_modules/highlight.js/es/index.js +4 -0
  347. package/extensions/third-party/node_modules/highlight.js/es/languages/1c.js +544 -0
  348. package/extensions/third-party/node_modules/highlight.js/es/languages/1c.js.js +11 -0
  349. package/extensions/third-party/node_modules/highlight.js/es/languages/abnf.js +83 -0
  350. package/extensions/third-party/node_modules/highlight.js/es/languages/abnf.js.js +11 -0
  351. package/extensions/third-party/node_modules/highlight.js/es/languages/accesslog.js +92 -0
  352. package/extensions/third-party/node_modules/highlight.js/es/languages/accesslog.js.js +11 -0
  353. package/extensions/third-party/node_modules/highlight.js/es/languages/actionscript.js +153 -0
  354. package/extensions/third-party/node_modules/highlight.js/es/languages/actionscript.js.js +11 -0
  355. package/extensions/third-party/node_modules/highlight.js/es/languages/ada.js +266 -0
  356. package/extensions/third-party/node_modules/highlight.js/es/languages/ada.js.js +11 -0
  357. package/extensions/third-party/node_modules/highlight.js/es/languages/angelscript.js +178 -0
  358. package/extensions/third-party/node_modules/highlight.js/es/languages/angelscript.js.js +11 -0
  359. package/extensions/third-party/node_modules/highlight.js/es/languages/apache.js +105 -0
  360. package/extensions/third-party/node_modules/highlight.js/es/languages/apache.js.js +11 -0
  361. package/extensions/third-party/node_modules/highlight.js/es/languages/applescript.js +149 -0
  362. package/extensions/third-party/node_modules/highlight.js/es/languages/applescript.js.js +11 -0
  363. package/extensions/third-party/node_modules/highlight.js/es/languages/arcade.js +428 -0
  364. package/extensions/third-party/node_modules/highlight.js/es/languages/arcade.js.js +11 -0
  365. package/extensions/third-party/node_modules/highlight.js/es/languages/arduino.js +1040 -0
  366. package/extensions/third-party/node_modules/highlight.js/es/languages/arduino.js.js +11 -0
  367. package/extensions/third-party/node_modules/highlight.js/es/languages/armasm.js +124 -0
  368. package/extensions/third-party/node_modules/highlight.js/es/languages/armasm.js.js +11 -0
  369. package/extensions/third-party/node_modules/highlight.js/es/languages/asciidoc.js +261 -0
  370. package/extensions/third-party/node_modules/highlight.js/es/languages/asciidoc.js.js +11 -0
  371. package/extensions/third-party/node_modules/highlight.js/es/languages/aspectj.js +231 -0
  372. package/extensions/third-party/node_modules/highlight.js/es/languages/aspectj.js.js +11 -0
  373. package/extensions/third-party/node_modules/highlight.js/es/languages/autohotkey.js +75 -0
  374. package/extensions/third-party/node_modules/highlight.js/es/languages/autohotkey.js.js +11 -0
  375. package/extensions/third-party/node_modules/highlight.js/es/languages/autoit.js +178 -0
  376. package/extensions/third-party/node_modules/highlight.js/es/languages/autoit.js.js +11 -0
  377. package/extensions/third-party/node_modules/highlight.js/es/languages/avrasm.js +78 -0
  378. package/extensions/third-party/node_modules/highlight.js/es/languages/avrasm.js.js +11 -0
  379. package/extensions/third-party/node_modules/highlight.js/es/languages/awk.js +68 -0
  380. package/extensions/third-party/node_modules/highlight.js/es/languages/awk.js.js +11 -0
  381. package/extensions/third-party/node_modules/highlight.js/es/languages/axapta.js +188 -0
  382. package/extensions/third-party/node_modules/highlight.js/es/languages/axapta.js.js +11 -0
  383. package/extensions/third-party/node_modules/highlight.js/es/languages/bash.js +409 -0
  384. package/extensions/third-party/node_modules/highlight.js/es/languages/bash.js.js +11 -0
  385. package/extensions/third-party/node_modules/highlight.js/es/languages/basic.js +236 -0
  386. package/extensions/third-party/node_modules/highlight.js/es/languages/basic.js.js +11 -0
  387. package/extensions/third-party/node_modules/highlight.js/es/languages/bnf.js +39 -0
  388. package/extensions/third-party/node_modules/highlight.js/es/languages/bnf.js.js +11 -0
  389. package/extensions/third-party/node_modules/highlight.js/es/languages/brainfuck.js +54 -0
  390. package/extensions/third-party/node_modules/highlight.js/es/languages/brainfuck.js.js +11 -0
  391. package/extensions/third-party/node_modules/highlight.js/es/languages/c.js +411 -0
  392. package/extensions/third-party/node_modules/highlight.js/es/languages/c.js.js +11 -0
  393. package/extensions/third-party/node_modules/highlight.js/es/languages/cal.js +160 -0
  394. package/extensions/third-party/node_modules/highlight.js/es/languages/cal.js.js +11 -0
  395. package/extensions/third-party/node_modules/highlight.js/es/languages/capnproto.js +99 -0
  396. package/extensions/third-party/node_modules/highlight.js/es/languages/capnproto.js.js +11 -0
  397. package/extensions/third-party/node_modules/highlight.js/es/languages/ceylon.js +140 -0
  398. package/extensions/third-party/node_modules/highlight.js/es/languages/ceylon.js.js +11 -0
  399. package/extensions/third-party/node_modules/highlight.js/es/languages/clean.js +67 -0
  400. package/extensions/third-party/node_modules/highlight.js/es/languages/clean.js.js +11 -0
  401. package/extensions/third-party/node_modules/highlight.js/es/languages/clojure-repl.js +27 -0
  402. package/extensions/third-party/node_modules/highlight.js/es/languages/clojure-repl.js.js +11 -0
  403. package/extensions/third-party/node_modules/highlight.js/es/languages/clojure.js +184 -0
  404. package/extensions/third-party/node_modules/highlight.js/es/languages/clojure.js.js +11 -0
  405. package/extensions/third-party/node_modules/highlight.js/es/languages/cmake.js +68 -0
  406. package/extensions/third-party/node_modules/highlight.js/es/languages/cmake.js.js +11 -0
  407. package/extensions/third-party/node_modules/highlight.js/es/languages/coffeescript.js +368 -0
  408. package/extensions/third-party/node_modules/highlight.js/es/languages/coffeescript.js.js +11 -0
  409. package/extensions/third-party/node_modules/highlight.js/es/languages/coq.js +445 -0
  410. package/extensions/third-party/node_modules/highlight.js/es/languages/coq.js.js +11 -0
  411. package/extensions/third-party/node_modules/highlight.js/es/languages/cos.js +140 -0
  412. package/extensions/third-party/node_modules/highlight.js/es/languages/cos.js.js +11 -0
  413. package/extensions/third-party/node_modules/highlight.js/es/languages/cpp.js +637 -0
  414. package/extensions/third-party/node_modules/highlight.js/es/languages/cpp.js.js +11 -0
  415. package/extensions/third-party/node_modules/highlight.js/es/languages/crmsh.js +100 -0
  416. package/extensions/third-party/node_modules/highlight.js/es/languages/crmsh.js.js +11 -0
  417. package/extensions/third-party/node_modules/highlight.js/es/languages/crystal.js +329 -0
  418. package/extensions/third-party/node_modules/highlight.js/es/languages/crystal.js.js +11 -0
  419. package/extensions/third-party/node_modules/highlight.js/es/languages/csharp.js +418 -0
  420. package/extensions/third-party/node_modules/highlight.js/es/languages/csharp.js.js +11 -0
  421. package/extensions/third-party/node_modules/highlight.js/es/languages/csp.js +65 -0
  422. package/extensions/third-party/node_modules/highlight.js/es/languages/csp.js.js +11 -0
  423. package/extensions/third-party/node_modules/highlight.js/es/languages/css.js +960 -0
  424. package/extensions/third-party/node_modules/highlight.js/es/languages/css.js.js +11 -0
  425. package/extensions/third-party/node_modules/highlight.js/es/languages/d.js +272 -0
  426. package/extensions/third-party/node_modules/highlight.js/es/languages/d.js.js +11 -0
  427. package/extensions/third-party/node_modules/highlight.js/es/languages/dart.js +293 -0
  428. package/extensions/third-party/node_modules/highlight.js/es/languages/dart.js.js +11 -0
  429. package/extensions/third-party/node_modules/highlight.js/es/languages/delphi.js +246 -0
  430. package/extensions/third-party/node_modules/highlight.js/es/languages/delphi.js.js +11 -0
  431. package/extensions/third-party/node_modules/highlight.js/es/languages/diff.js +65 -0
  432. package/extensions/third-party/node_modules/highlight.js/es/languages/diff.js.js +11 -0
  433. package/extensions/third-party/node_modules/highlight.js/es/languages/django.js +75 -0
  434. package/extensions/third-party/node_modules/highlight.js/es/languages/django.js.js +11 -0
  435. package/extensions/third-party/node_modules/highlight.js/es/languages/dns.js +133 -0
  436. package/extensions/third-party/node_modules/highlight.js/es/languages/dns.js.js +11 -0
  437. package/extensions/third-party/node_modules/highlight.js/es/languages/dockerfile.js +44 -0
  438. package/extensions/third-party/node_modules/highlight.js/es/languages/dockerfile.js.js +11 -0
  439. package/extensions/third-party/node_modules/highlight.js/es/languages/dos.js +165 -0
  440. package/extensions/third-party/node_modules/highlight.js/es/languages/dos.js.js +11 -0
  441. package/extensions/third-party/node_modules/highlight.js/es/languages/dsconfig.js +66 -0
  442. package/extensions/third-party/node_modules/highlight.js/es/languages/dsconfig.js.js +11 -0
  443. package/extensions/third-party/node_modules/highlight.js/es/languages/dts.js +157 -0
  444. package/extensions/third-party/node_modules/highlight.js/es/languages/dts.js.js +11 -0
  445. package/extensions/third-party/node_modules/highlight.js/es/languages/dust.js +47 -0
  446. package/extensions/third-party/node_modules/highlight.js/es/languages/dust.js.js +11 -0
  447. package/extensions/third-party/node_modules/highlight.js/es/languages/ebnf.js +54 -0
  448. package/extensions/third-party/node_modules/highlight.js/es/languages/ebnf.js.js +11 -0
  449. package/extensions/third-party/node_modules/highlight.js/es/languages/elixir.js +286 -0
  450. package/extensions/third-party/node_modules/highlight.js/es/languages/elixir.js.js +11 -0
  451. package/extensions/third-party/node_modules/highlight.js/es/languages/elm.js +143 -0
  452. package/extensions/third-party/node_modules/highlight.js/es/languages/elm.js.js +11 -0
  453. package/extensions/third-party/node_modules/highlight.js/es/languages/erb.js +29 -0
  454. package/extensions/third-party/node_modules/highlight.js/es/languages/erb.js.js +11 -0
  455. package/extensions/third-party/node_modules/highlight.js/es/languages/erlang-repl.js +54 -0
  456. package/extensions/third-party/node_modules/highlight.js/es/languages/erlang-repl.js.js +11 -0
  457. package/extensions/third-party/node_modules/highlight.js/es/languages/erlang.js +235 -0
  458. package/extensions/third-party/node_modules/highlight.js/es/languages/erlang.js.js +11 -0
  459. package/extensions/third-party/node_modules/highlight.js/es/languages/excel.js +580 -0
  460. package/extensions/third-party/node_modules/highlight.js/es/languages/excel.js.js +11 -0
  461. package/extensions/third-party/node_modules/highlight.js/es/languages/fix.js +39 -0
  462. package/extensions/third-party/node_modules/highlight.js/es/languages/fix.js.js +11 -0
  463. package/extensions/third-party/node_modules/highlight.js/es/languages/flix.js +79 -0
  464. package/extensions/third-party/node_modules/highlight.js/es/languages/flix.js.js +11 -0
  465. package/extensions/third-party/node_modules/highlight.js/es/languages/fortran.js +574 -0
  466. package/extensions/third-party/node_modules/highlight.js/es/languages/fortran.js.js +11 -0
  467. package/extensions/third-party/node_modules/highlight.js/es/languages/freedesktop.js +113 -0
  468. package/extensions/third-party/node_modules/highlight.js/es/languages/freedesktop.js.js +11 -0
  469. package/extensions/third-party/node_modules/highlight.js/es/languages/fsharp.js +639 -0
  470. package/extensions/third-party/node_modules/highlight.js/es/languages/fsharp.js.js +11 -0
  471. package/extensions/third-party/node_modules/highlight.js/es/languages/gams.js +181 -0
  472. package/extensions/third-party/node_modules/highlight.js/es/languages/gams.js.js +11 -0
  473. package/extensions/third-party/node_modules/highlight.js/es/languages/gauss.js +306 -0
  474. package/extensions/third-party/node_modules/highlight.js/es/languages/gauss.js.js +11 -0
  475. package/extensions/third-party/node_modules/highlight.js/es/languages/gcode.js +189 -0
  476. package/extensions/third-party/node_modules/highlight.js/es/languages/gcode.js.js +11 -0
  477. package/extensions/third-party/node_modules/highlight.js/es/languages/gherkin.js +120 -0
  478. package/extensions/third-party/node_modules/highlight.js/es/languages/gherkin.js.js +11 -0
  479. package/extensions/third-party/node_modules/highlight.js/es/languages/glsl.js +128 -0
  480. package/extensions/third-party/node_modules/highlight.js/es/languages/glsl.js.js +11 -0
  481. package/extensions/third-party/node_modules/highlight.js/es/languages/gml.js +3130 -0
  482. package/extensions/third-party/node_modules/highlight.js/es/languages/gml.js.js +11 -0
  483. package/extensions/third-party/node_modules/highlight.js/es/languages/go.js +160 -0
  484. package/extensions/third-party/node_modules/highlight.js/es/languages/go.js.js +11 -0
  485. package/extensions/third-party/node_modules/highlight.js/es/languages/golo.js +81 -0
  486. package/extensions/third-party/node_modules/highlight.js/es/languages/golo.js.js +11 -0
  487. package/extensions/third-party/node_modules/highlight.js/es/languages/gradle.js +190 -0
  488. package/extensions/third-party/node_modules/highlight.js/es/languages/gradle.js.js +11 -0
  489. package/extensions/third-party/node_modules/highlight.js/es/languages/graphql.js +78 -0
  490. package/extensions/third-party/node_modules/highlight.js/es/languages/graphql.js.js +11 -0
  491. package/extensions/third-party/node_modules/highlight.js/es/languages/groovy.js +225 -0
  492. package/extensions/third-party/node_modules/highlight.js/es/languages/groovy.js.js +11 -0
  493. package/extensions/third-party/node_modules/highlight.js/es/languages/haml.js +113 -0
  494. package/extensions/third-party/node_modules/highlight.js/es/languages/haml.js.js +11 -0
  495. package/extensions/third-party/node_modules/highlight.js/es/languages/handlebars.js +258 -0
  496. package/extensions/third-party/node_modules/highlight.js/es/languages/handlebars.js.js +11 -0
  497. package/extensions/third-party/node_modules/highlight.js/es/languages/haskell.js +217 -0
  498. package/extensions/third-party/node_modules/highlight.js/es/languages/haskell.js.js +11 -0
  499. package/extensions/third-party/node_modules/highlight.js/es/languages/haxe.js +167 -0
  500. package/extensions/third-party/node_modules/highlight.js/es/languages/haxe.js.js +11 -0
  501. package/extensions/third-party/node_modules/highlight.js/es/languages/hsp.js +59 -0
  502. package/extensions/third-party/node_modules/highlight.js/es/languages/hsp.js.js +11 -0
  503. package/extensions/third-party/node_modules/highlight.js/es/languages/http.js +97 -0
  504. package/extensions/third-party/node_modules/highlight.js/es/languages/http.js.js +11 -0
  505. package/extensions/third-party/node_modules/highlight.js/es/languages/hy.js +137 -0
  506. package/extensions/third-party/node_modules/highlight.js/es/languages/hy.js.js +11 -0
  507. package/extensions/third-party/node_modules/highlight.js/es/languages/inform7.js +70 -0
  508. package/extensions/third-party/node_modules/highlight.js/es/languages/inform7.js.js +11 -0
  509. package/extensions/third-party/node_modules/highlight.js/es/languages/ini.js +121 -0
  510. package/extensions/third-party/node_modules/highlight.js/es/languages/ini.js.js +11 -0
  511. package/extensions/third-party/node_modules/highlight.js/es/languages/irpf90.js +107 -0
  512. package/extensions/third-party/node_modules/highlight.js/es/languages/irpf90.js.js +11 -0
  513. package/extensions/third-party/node_modules/highlight.js/es/languages/isbl.js +3205 -0
  514. package/extensions/third-party/node_modules/highlight.js/es/languages/isbl.js.js +11 -0
  515. package/extensions/third-party/node_modules/highlight.js/es/languages/java.js +314 -0
  516. package/extensions/third-party/node_modules/highlight.js/es/languages/java.js.js +11 -0
  517. package/extensions/third-party/node_modules/highlight.js/es/languages/javascript.js +772 -0
  518. package/extensions/third-party/node_modules/highlight.js/es/languages/javascript.js.js +11 -0
  519. package/extensions/third-party/node_modules/highlight.js/es/languages/jboss-cli.js +63 -0
  520. package/extensions/third-party/node_modules/highlight.js/es/languages/jboss-cli.js.js +11 -0
  521. package/extensions/third-party/node_modules/highlight.js/es/languages/json.js +63 -0
  522. package/extensions/third-party/node_modules/highlight.js/es/languages/json.js.js +11 -0
  523. package/extensions/third-party/node_modules/highlight.js/es/languages/julia-repl.js +51 -0
  524. package/extensions/third-party/node_modules/highlight.js/es/languages/julia-repl.js.js +11 -0
  525. package/extensions/third-party/node_modules/highlight.js/es/languages/julia.js +442 -0
  526. package/extensions/third-party/node_modules/highlight.js/es/languages/julia.js.js +11 -0
  527. package/extensions/third-party/node_modules/highlight.js/es/languages/kotlin.js +288 -0
  528. package/extensions/third-party/node_modules/highlight.js/es/languages/kotlin.js.js +11 -0
  529. package/extensions/third-party/node_modules/highlight.js/es/languages/lasso.js +171 -0
  530. package/extensions/third-party/node_modules/highlight.js/es/languages/lasso.js.js +11 -0
  531. package/extensions/third-party/node_modules/highlight.js/es/languages/latex.js +278 -0
  532. package/extensions/third-party/node_modules/highlight.js/es/languages/latex.js.js +11 -0
  533. package/extensions/third-party/node_modules/highlight.js/es/languages/ldif.js +31 -0
  534. package/extensions/third-party/node_modules/highlight.js/es/languages/ldif.js.js +11 -0
  535. package/extensions/third-party/node_modules/highlight.js/es/languages/leaf.js +98 -0
  536. package/extensions/third-party/node_modules/highlight.js/es/languages/leaf.js.js +11 -0
  537. package/extensions/third-party/node_modules/highlight.js/es/languages/less.js +1061 -0
  538. package/extensions/third-party/node_modules/highlight.js/es/languages/less.js.js +11 -0
  539. package/extensions/third-party/node_modules/highlight.js/es/languages/lisp.js +139 -0
  540. package/extensions/third-party/node_modules/highlight.js/es/languages/lisp.js.js +11 -0
  541. package/extensions/third-party/node_modules/highlight.js/es/languages/livecodeserver.js +173 -0
  542. package/extensions/third-party/node_modules/highlight.js/es/languages/livecodeserver.js.js +11 -0
  543. package/extensions/third-party/node_modules/highlight.js/es/languages/livescript.js +380 -0
  544. package/extensions/third-party/node_modules/highlight.js/es/languages/livescript.js.js +11 -0
  545. package/extensions/third-party/node_modules/highlight.js/es/languages/llvm.js +136 -0
  546. package/extensions/third-party/node_modules/highlight.js/es/languages/llvm.js.js +11 -0
  547. package/extensions/third-party/node_modules/highlight.js/es/languages/lsl.js +76 -0
  548. package/extensions/third-party/node_modules/highlight.js/es/languages/lsl.js.js +11 -0
  549. package/extensions/third-party/node_modules/highlight.js/es/languages/lua.js +81 -0
  550. package/extensions/third-party/node_modules/highlight.js/es/languages/lua.js.js +11 -0
  551. package/extensions/third-party/node_modules/highlight.js/es/languages/makefile.js +89 -0
  552. package/extensions/third-party/node_modules/highlight.js/es/languages/makefile.js.js +11 -0
  553. package/extensions/third-party/node_modules/highlight.js/es/languages/markdown.js +250 -0
  554. package/extensions/third-party/node_modules/highlight.js/es/languages/markdown.js.js +11 -0
  555. package/extensions/third-party/node_modules/highlight.js/es/languages/mathematica.js +7359 -0
  556. package/extensions/third-party/node_modules/highlight.js/es/languages/mathematica.js.js +11 -0
  557. package/extensions/third-party/node_modules/highlight.js/es/languages/matlab.js +107 -0
  558. package/extensions/third-party/node_modules/highlight.js/es/languages/matlab.js.js +11 -0
  559. package/extensions/third-party/node_modules/highlight.js/es/languages/maxima.js +414 -0
  560. package/extensions/third-party/node_modules/highlight.js/es/languages/maxima.js.js +11 -0
  561. package/extensions/third-party/node_modules/highlight.js/es/languages/mel.js +235 -0
  562. package/extensions/third-party/node_modules/highlight.js/es/languages/mel.js.js +11 -0
  563. package/extensions/third-party/node_modules/highlight.js/es/languages/mercury.js +108 -0
  564. package/extensions/third-party/node_modules/highlight.js/es/languages/mercury.js.js +11 -0
  565. package/extensions/third-party/node_modules/highlight.js/es/languages/mipsasm.js +104 -0
  566. package/extensions/third-party/node_modules/highlight.js/es/languages/mipsasm.js.js +11 -0
  567. package/extensions/third-party/node_modules/highlight.js/es/languages/mizar.js +27 -0
  568. package/extensions/third-party/node_modules/highlight.js/es/languages/mizar.js.js +11 -0
  569. package/extensions/third-party/node_modules/highlight.js/es/languages/mojolicious.js +36 -0
  570. package/extensions/third-party/node_modules/highlight.js/es/languages/mojolicious.js.js +11 -0
  571. package/extensions/third-party/node_modules/highlight.js/es/languages/monkey.js +184 -0
  572. package/extensions/third-party/node_modules/highlight.js/es/languages/monkey.js.js +11 -0
  573. package/extensions/third-party/node_modules/highlight.js/es/languages/moonscript.js +141 -0
  574. package/extensions/third-party/node_modules/highlight.js/es/languages/moonscript.js.js +11 -0
  575. package/extensions/third-party/node_modules/highlight.js/es/languages/n1ql.js +365 -0
  576. package/extensions/third-party/node_modules/highlight.js/es/languages/n1ql.js.js +11 -0
  577. package/extensions/third-party/node_modules/highlight.js/es/languages/nestedtext.js +83 -0
  578. package/extensions/third-party/node_modules/highlight.js/es/languages/nestedtext.js.js +11 -0
  579. package/extensions/third-party/node_modules/highlight.js/es/languages/nginx.js +153 -0
  580. package/extensions/third-party/node_modules/highlight.js/es/languages/nginx.js.js +11 -0
  581. package/extensions/third-party/node_modules/highlight.js/es/languages/nim.js +187 -0
  582. package/extensions/third-party/node_modules/highlight.js/es/languages/nim.js.js +11 -0
  583. package/extensions/third-party/node_modules/highlight.js/es/languages/nix.js +372 -0
  584. package/extensions/third-party/node_modules/highlight.js/es/languages/nix.js.js +11 -0
  585. package/extensions/third-party/node_modules/highlight.js/es/languages/node-repl.js +33 -0
  586. package/extensions/third-party/node_modules/highlight.js/es/languages/node-repl.js.js +11 -0
  587. package/extensions/third-party/node_modules/highlight.js/es/languages/nsis.js +591 -0
  588. package/extensions/third-party/node_modules/highlight.js/es/languages/nsis.js.js +11 -0
  589. package/extensions/third-party/node_modules/highlight.js/es/languages/objectivec.js +253 -0
  590. package/extensions/third-party/node_modules/highlight.js/es/languages/objectivec.js.js +11 -0
  591. package/extensions/third-party/node_modules/highlight.js/es/languages/ocaml.js +83 -0
  592. package/extensions/third-party/node_modules/highlight.js/es/languages/ocaml.js.js +11 -0
  593. package/extensions/third-party/node_modules/highlight.js/es/languages/openscad.js +77 -0
  594. package/extensions/third-party/node_modules/highlight.js/es/languages/openscad.js.js +11 -0
  595. package/extensions/third-party/node_modules/highlight.js/es/languages/oxygene.js +87 -0
  596. package/extensions/third-party/node_modules/highlight.js/es/languages/oxygene.js.js +11 -0
  597. package/extensions/third-party/node_modules/highlight.js/es/languages/parser3.js +55 -0
  598. package/extensions/third-party/node_modules/highlight.js/es/languages/parser3.js.js +11 -0
  599. package/extensions/third-party/node_modules/highlight.js/es/languages/perl.js +504 -0
  600. package/extensions/third-party/node_modules/highlight.js/es/languages/perl.js.js +11 -0
  601. package/extensions/third-party/node_modules/highlight.js/es/languages/pf.js +60 -0
  602. package/extensions/third-party/node_modules/highlight.js/es/languages/pf.js.js +11 -0
  603. package/extensions/third-party/node_modules/highlight.js/es/languages/pgsql.js +525 -0
  604. package/extensions/third-party/node_modules/highlight.js/es/languages/pgsql.js.js +11 -0
  605. package/extensions/third-party/node_modules/highlight.js/es/languages/php-template.js +57 -0
  606. package/extensions/third-party/node_modules/highlight.js/es/languages/php-template.js.js +11 -0
  607. package/extensions/third-party/node_modules/highlight.js/es/languages/php.js +635 -0
  608. package/extensions/third-party/node_modules/highlight.js/es/languages/php.js.js +11 -0
  609. package/extensions/third-party/node_modules/highlight.js/es/languages/plaintext.js +19 -0
  610. package/extensions/third-party/node_modules/highlight.js/es/languages/plaintext.js.js +11 -0
  611. package/extensions/third-party/node_modules/highlight.js/es/languages/pony.js +90 -0
  612. package/extensions/third-party/node_modules/highlight.js/es/languages/pony.js.js +11 -0
  613. package/extensions/third-party/node_modules/highlight.js/es/languages/powershell.js +317 -0
  614. package/extensions/third-party/node_modules/highlight.js/es/languages/powershell.js.js +11 -0
  615. package/extensions/third-party/node_modules/highlight.js/es/languages/processing.js +434 -0
  616. package/extensions/third-party/node_modules/highlight.js/es/languages/processing.js.js +11 -0
  617. package/extensions/third-party/node_modules/highlight.js/es/languages/profile.js +43 -0
  618. package/extensions/third-party/node_modules/highlight.js/es/languages/profile.js.js +11 -0
  619. package/extensions/third-party/node_modules/highlight.js/es/languages/prolog.js +97 -0
  620. package/extensions/third-party/node_modules/highlight.js/es/languages/prolog.js.js +11 -0
  621. package/extensions/third-party/node_modules/highlight.js/es/languages/properties.js +68 -0
  622. package/extensions/third-party/node_modules/highlight.js/es/languages/properties.js.js +11 -0
  623. package/extensions/third-party/node_modules/highlight.js/es/languages/protobuf.js +79 -0
  624. package/extensions/third-party/node_modules/highlight.js/es/languages/protobuf.js.js +11 -0
  625. package/extensions/third-party/node_modules/highlight.js/es/languages/puppet.js +146 -0
  626. package/extensions/third-party/node_modules/highlight.js/es/languages/puppet.js.js +11 -0
  627. package/extensions/third-party/node_modules/highlight.js/es/languages/purebasic.js +100 -0
  628. package/extensions/third-party/node_modules/highlight.js/es/languages/purebasic.js.js +11 -0
  629. package/extensions/third-party/node_modules/highlight.js/es/languages/python-repl.js +32 -0
  630. package/extensions/third-party/node_modules/highlight.js/es/languages/python-repl.js.js +11 -0
  631. package/extensions/third-party/node_modules/highlight.js/es/languages/python.js +441 -0
  632. package/extensions/third-party/node_modules/highlight.js/es/languages/python.js.js +11 -0
  633. package/extensions/third-party/node_modules/highlight.js/es/languages/q.js +38 -0
  634. package/extensions/third-party/node_modules/highlight.js/es/languages/q.js.js +11 -0
  635. package/extensions/third-party/node_modules/highlight.js/es/languages/qml.js +189 -0
  636. package/extensions/third-party/node_modules/highlight.js/es/languages/qml.js.js +11 -0
  637. package/extensions/third-party/node_modules/highlight.js/es/languages/r.js +257 -0
  638. package/extensions/third-party/node_modules/highlight.js/es/languages/r.js.js +11 -0
  639. package/extensions/third-party/node_modules/highlight.js/es/languages/reasonml.js +142 -0
  640. package/extensions/third-party/node_modules/highlight.js/es/languages/reasonml.js.js +11 -0
  641. package/extensions/third-party/node_modules/highlight.js/es/languages/rib.js +37 -0
  642. package/extensions/third-party/node_modules/highlight.js/es/languages/rib.js.js +11 -0
  643. package/extensions/third-party/node_modules/highlight.js/es/languages/roboconf.js +82 -0
  644. package/extensions/third-party/node_modules/highlight.js/es/languages/roboconf.js.js +11 -0
  645. package/extensions/third-party/node_modules/highlight.js/es/languages/routeros.js +164 -0
  646. package/extensions/third-party/node_modules/highlight.js/es/languages/routeros.js.js +11 -0
  647. package/extensions/third-party/node_modules/highlight.js/es/languages/rsl.js +149 -0
  648. package/extensions/third-party/node_modules/highlight.js/es/languages/rsl.js.js +11 -0
  649. package/extensions/third-party/node_modules/highlight.js/es/languages/ruby.js +449 -0
  650. package/extensions/third-party/node_modules/highlight.js/es/languages/ruby.js.js +11 -0
  651. package/extensions/third-party/node_modules/highlight.js/es/languages/ruleslanguage.js +76 -0
  652. package/extensions/third-party/node_modules/highlight.js/es/languages/ruleslanguage.js.js +11 -0
  653. package/extensions/third-party/node_modules/highlight.js/es/languages/rust.js +340 -0
  654. package/extensions/third-party/node_modules/highlight.js/es/languages/rust.js.js +11 -0
  655. package/extensions/third-party/node_modules/highlight.js/es/languages/sas.js +557 -0
  656. package/extensions/third-party/node_modules/highlight.js/es/languages/sas.js.js +11 -0
  657. package/extensions/third-party/node_modules/highlight.js/es/languages/scala.js +214 -0
  658. package/extensions/third-party/node_modules/highlight.js/es/languages/scala.js.js +11 -0
  659. package/extensions/third-party/node_modules/highlight.js/es/languages/scheme.js +196 -0
  660. package/extensions/third-party/node_modules/highlight.js/es/languages/scheme.js.js +11 -0
  661. package/extensions/third-party/node_modules/highlight.js/es/languages/scilab.js +73 -0
  662. package/extensions/third-party/node_modules/highlight.js/es/languages/scilab.js.js +11 -0
  663. package/extensions/third-party/node_modules/highlight.js/es/languages/scss.js +950 -0
  664. package/extensions/third-party/node_modules/highlight.js/es/languages/scss.js.js +11 -0
  665. package/extensions/third-party/node_modules/highlight.js/es/languages/shell.js +33 -0
  666. package/extensions/third-party/node_modules/highlight.js/es/languages/shell.js.js +11 -0
  667. package/extensions/third-party/node_modules/highlight.js/es/languages/smali.js +126 -0
  668. package/extensions/third-party/node_modules/highlight.js/es/languages/smali.js.js +11 -0
  669. package/extensions/third-party/node_modules/highlight.js/es/languages/smalltalk.js +69 -0
  670. package/extensions/third-party/node_modules/highlight.js/es/languages/smalltalk.js.js +11 -0
  671. package/extensions/third-party/node_modules/highlight.js/es/languages/sml.js +75 -0
  672. package/extensions/third-party/node_modules/highlight.js/es/languages/sml.js.js +11 -0
  673. package/extensions/third-party/node_modules/highlight.js/es/languages/sqf.js +2828 -0
  674. package/extensions/third-party/node_modules/highlight.js/es/languages/sqf.js.js +11 -0
  675. package/extensions/third-party/node_modules/highlight.js/es/languages/sql.js +693 -0
  676. package/extensions/third-party/node_modules/highlight.js/es/languages/sql.js.js +11 -0
  677. package/extensions/third-party/node_modules/highlight.js/es/languages/stan.js +521 -0
  678. package/extensions/third-party/node_modules/highlight.js/es/languages/stan.js.js +11 -0
  679. package/extensions/third-party/node_modules/highlight.js/es/languages/stata.js +53 -0
  680. package/extensions/third-party/node_modules/highlight.js/es/languages/stata.js.js +11 -0
  681. package/extensions/third-party/node_modules/highlight.js/es/languages/step21.js +67 -0
  682. package/extensions/third-party/node_modules/highlight.js/es/languages/step21.js.js +11 -0
  683. package/extensions/third-party/node_modules/highlight.js/es/languages/stylus.js +1010 -0
  684. package/extensions/third-party/node_modules/highlight.js/es/languages/stylus.js.js +11 -0
  685. package/extensions/third-party/node_modules/highlight.js/es/languages/subunit.js +44 -0
  686. package/extensions/third-party/node_modules/highlight.js/es/languages/subunit.js.js +11 -0
  687. package/extensions/third-party/node_modules/highlight.js/es/languages/swift.js +984 -0
  688. package/extensions/third-party/node_modules/highlight.js/es/languages/swift.js.js +11 -0
  689. package/extensions/third-party/node_modules/highlight.js/es/languages/taggerscript.js +59 -0
  690. package/extensions/third-party/node_modules/highlight.js/es/languages/taggerscript.js.js +11 -0
  691. package/extensions/third-party/node_modules/highlight.js/es/languages/tap.js +47 -0
  692. package/extensions/third-party/node_modules/highlight.js/es/languages/tap.js.js +11 -0
  693. package/extensions/third-party/node_modules/highlight.js/es/languages/tcl.js +191 -0
  694. package/extensions/third-party/node_modules/highlight.js/es/languages/tcl.js.js +11 -0
  695. package/extensions/third-party/node_modules/highlight.js/es/languages/thrift.js +77 -0
  696. package/extensions/third-party/node_modules/highlight.js/es/languages/thrift.js.js +11 -0
  697. package/extensions/third-party/node_modules/highlight.js/es/languages/tp.js +172 -0
  698. package/extensions/third-party/node_modules/highlight.js/es/languages/tp.js.js +11 -0
  699. package/extensions/third-party/node_modules/highlight.js/es/languages/twig.js +260 -0
  700. package/extensions/third-party/node_modules/highlight.js/es/languages/twig.js.js +11 -0
  701. package/extensions/third-party/node_modules/highlight.js/es/languages/typescript.js +916 -0
  702. package/extensions/third-party/node_modules/highlight.js/es/languages/typescript.js.js +11 -0
  703. package/extensions/third-party/node_modules/highlight.js/es/languages/vala.js +61 -0
  704. package/extensions/third-party/node_modules/highlight.js/es/languages/vala.js.js +11 -0
  705. package/extensions/third-party/node_modules/highlight.js/es/languages/vbnet.js +157 -0
  706. package/extensions/third-party/node_modules/highlight.js/es/languages/vbnet.js.js +11 -0
  707. package/extensions/third-party/node_modules/highlight.js/es/languages/vbscript-html.js +24 -0
  708. package/extensions/third-party/node_modules/highlight.js/es/languages/vbscript-html.js.js +11 -0
  709. package/extensions/third-party/node_modules/highlight.js/es/languages/vbscript.js +220 -0
  710. package/extensions/third-party/node_modules/highlight.js/es/languages/vbscript.js.js +11 -0
  711. package/extensions/third-party/node_modules/highlight.js/es/languages/verilog.js +550 -0
  712. package/extensions/third-party/node_modules/highlight.js/es/languages/verilog.js.js +11 -0
  713. package/extensions/third-party/node_modules/highlight.js/es/languages/vhdl.js +216 -0
  714. package/extensions/third-party/node_modules/highlight.js/es/languages/vhdl.js.js +11 -0
  715. package/extensions/third-party/node_modules/highlight.js/es/languages/vim.js +129 -0
  716. package/extensions/third-party/node_modules/highlight.js/es/languages/vim.js.js +11 -0
  717. package/extensions/third-party/node_modules/highlight.js/es/languages/wasm.js +139 -0
  718. package/extensions/third-party/node_modules/highlight.js/es/languages/wasm.js.js +11 -0
  719. package/extensions/third-party/node_modules/highlight.js/es/languages/wren.js +302 -0
  720. package/extensions/third-party/node_modules/highlight.js/es/languages/wren.js.js +11 -0
  721. package/extensions/third-party/node_modules/highlight.js/es/languages/x86asm.js +153 -0
  722. package/extensions/third-party/node_modules/highlight.js/es/languages/x86asm.js.js +11 -0
  723. package/extensions/third-party/node_modules/highlight.js/es/languages/xl.js +205 -0
  724. package/extensions/third-party/node_modules/highlight.js/es/languages/xl.js.js +11 -0
  725. package/extensions/third-party/node_modules/highlight.js/es/languages/xml.js +234 -0
  726. package/extensions/third-party/node_modules/highlight.js/es/languages/xml.js.js +11 -0
  727. package/extensions/third-party/node_modules/highlight.js/es/languages/xquery.js +360 -0
  728. package/extensions/third-party/node_modules/highlight.js/es/languages/xquery.js.js +11 -0
  729. package/extensions/third-party/node_modules/highlight.js/es/languages/yaml.js +213 -0
  730. package/extensions/third-party/node_modules/highlight.js/es/languages/yaml.js.js +11 -0
  731. package/extensions/third-party/node_modules/highlight.js/es/languages/zephir.js +129 -0
  732. package/extensions/third-party/node_modules/highlight.js/es/languages/zephir.js.js +11 -0
  733. package/extensions/third-party/node_modules/highlight.js/es/package.json +1 -0
  734. package/extensions/third-party/node_modules/highlight.js/es/utils/regex.js +158 -0
  735. package/extensions/third-party/node_modules/highlight.js/lib/common.d.ts +3 -0
  736. package/extensions/third-party/node_modules/highlight.js/lib/common.js +42 -0
  737. package/extensions/third-party/node_modules/highlight.js/lib/core.d.ts +3 -0
  738. package/extensions/third-party/node_modules/highlight.js/lib/core.js +2603 -0
  739. package/extensions/third-party/node_modules/highlight.js/lib/index.js +199 -0
  740. package/extensions/third-party/node_modules/highlight.js/lib/languages/1c.js +544 -0
  741. package/extensions/third-party/node_modules/highlight.js/lib/languages/1c.js.js +10 -0
  742. package/extensions/third-party/node_modules/highlight.js/lib/languages/abnf.js +83 -0
  743. package/extensions/third-party/node_modules/highlight.js/lib/languages/abnf.js.js +10 -0
  744. package/extensions/third-party/node_modules/highlight.js/lib/languages/accesslog.js +92 -0
  745. package/extensions/third-party/node_modules/highlight.js/lib/languages/accesslog.js.js +10 -0
  746. package/extensions/third-party/node_modules/highlight.js/lib/languages/actionscript.js +153 -0
  747. package/extensions/third-party/node_modules/highlight.js/lib/languages/actionscript.js.js +10 -0
  748. package/extensions/third-party/node_modules/highlight.js/lib/languages/ada.js +266 -0
  749. package/extensions/third-party/node_modules/highlight.js/lib/languages/ada.js.js +10 -0
  750. package/extensions/third-party/node_modules/highlight.js/lib/languages/angelscript.js +178 -0
  751. package/extensions/third-party/node_modules/highlight.js/lib/languages/angelscript.js.js +10 -0
  752. package/extensions/third-party/node_modules/highlight.js/lib/languages/apache.js +105 -0
  753. package/extensions/third-party/node_modules/highlight.js/lib/languages/apache.js.js +10 -0
  754. package/extensions/third-party/node_modules/highlight.js/lib/languages/applescript.js +149 -0
  755. package/extensions/third-party/node_modules/highlight.js/lib/languages/applescript.js.js +10 -0
  756. package/extensions/third-party/node_modules/highlight.js/lib/languages/arcade.js +428 -0
  757. package/extensions/third-party/node_modules/highlight.js/lib/languages/arcade.js.js +10 -0
  758. package/extensions/third-party/node_modules/highlight.js/lib/languages/arduino.js +1040 -0
  759. package/extensions/third-party/node_modules/highlight.js/lib/languages/arduino.js.js +10 -0
  760. package/extensions/third-party/node_modules/highlight.js/lib/languages/armasm.js +124 -0
  761. package/extensions/third-party/node_modules/highlight.js/lib/languages/armasm.js.js +10 -0
  762. package/extensions/third-party/node_modules/highlight.js/lib/languages/asciidoc.js +261 -0
  763. package/extensions/third-party/node_modules/highlight.js/lib/languages/asciidoc.js.js +10 -0
  764. package/extensions/third-party/node_modules/highlight.js/lib/languages/aspectj.js +231 -0
  765. package/extensions/third-party/node_modules/highlight.js/lib/languages/aspectj.js.js +10 -0
  766. package/extensions/third-party/node_modules/highlight.js/lib/languages/autohotkey.js +75 -0
  767. package/extensions/third-party/node_modules/highlight.js/lib/languages/autohotkey.js.js +10 -0
  768. package/extensions/third-party/node_modules/highlight.js/lib/languages/autoit.js +178 -0
  769. package/extensions/third-party/node_modules/highlight.js/lib/languages/autoit.js.js +10 -0
  770. package/extensions/third-party/node_modules/highlight.js/lib/languages/avrasm.js +78 -0
  771. package/extensions/third-party/node_modules/highlight.js/lib/languages/avrasm.js.js +10 -0
  772. package/extensions/third-party/node_modules/highlight.js/lib/languages/awk.js +68 -0
  773. package/extensions/third-party/node_modules/highlight.js/lib/languages/awk.js.js +10 -0
  774. package/extensions/third-party/node_modules/highlight.js/lib/languages/axapta.js +188 -0
  775. package/extensions/third-party/node_modules/highlight.js/lib/languages/axapta.js.js +10 -0
  776. package/extensions/third-party/node_modules/highlight.js/lib/languages/bash.js +409 -0
  777. package/extensions/third-party/node_modules/highlight.js/lib/languages/bash.js.js +10 -0
  778. package/extensions/third-party/node_modules/highlight.js/lib/languages/basic.js +236 -0
  779. package/extensions/third-party/node_modules/highlight.js/lib/languages/basic.js.js +10 -0
  780. package/extensions/third-party/node_modules/highlight.js/lib/languages/bnf.js +39 -0
  781. package/extensions/third-party/node_modules/highlight.js/lib/languages/bnf.js.js +10 -0
  782. package/extensions/third-party/node_modules/highlight.js/lib/languages/brainfuck.js +54 -0
  783. package/extensions/third-party/node_modules/highlight.js/lib/languages/brainfuck.js.js +10 -0
  784. package/extensions/third-party/node_modules/highlight.js/lib/languages/c.js +411 -0
  785. package/extensions/third-party/node_modules/highlight.js/lib/languages/c.js.js +10 -0
  786. package/extensions/third-party/node_modules/highlight.js/lib/languages/cal.js +160 -0
  787. package/extensions/third-party/node_modules/highlight.js/lib/languages/cal.js.js +10 -0
  788. package/extensions/third-party/node_modules/highlight.js/lib/languages/capnproto.js +99 -0
  789. package/extensions/third-party/node_modules/highlight.js/lib/languages/capnproto.js.js +10 -0
  790. package/extensions/third-party/node_modules/highlight.js/lib/languages/ceylon.js +140 -0
  791. package/extensions/third-party/node_modules/highlight.js/lib/languages/ceylon.js.js +10 -0
  792. package/extensions/third-party/node_modules/highlight.js/lib/languages/clean.js +67 -0
  793. package/extensions/third-party/node_modules/highlight.js/lib/languages/clean.js.js +10 -0
  794. package/extensions/third-party/node_modules/highlight.js/lib/languages/clojure-repl.js +27 -0
  795. package/extensions/third-party/node_modules/highlight.js/lib/languages/clojure-repl.js.js +10 -0
  796. package/extensions/third-party/node_modules/highlight.js/lib/languages/clojure.js +184 -0
  797. package/extensions/third-party/node_modules/highlight.js/lib/languages/clojure.js.js +10 -0
  798. package/extensions/third-party/node_modules/highlight.js/lib/languages/cmake.js +68 -0
  799. package/extensions/third-party/node_modules/highlight.js/lib/languages/cmake.js.js +10 -0
  800. package/extensions/third-party/node_modules/highlight.js/lib/languages/coffeescript.js +368 -0
  801. package/extensions/third-party/node_modules/highlight.js/lib/languages/coffeescript.js.js +10 -0
  802. package/extensions/third-party/node_modules/highlight.js/lib/languages/coq.js +445 -0
  803. package/extensions/third-party/node_modules/highlight.js/lib/languages/coq.js.js +10 -0
  804. package/extensions/third-party/node_modules/highlight.js/lib/languages/cos.js +140 -0
  805. package/extensions/third-party/node_modules/highlight.js/lib/languages/cos.js.js +10 -0
  806. package/extensions/third-party/node_modules/highlight.js/lib/languages/cpp.js +637 -0
  807. package/extensions/third-party/node_modules/highlight.js/lib/languages/cpp.js.js +10 -0
  808. package/extensions/third-party/node_modules/highlight.js/lib/languages/crmsh.js +100 -0
  809. package/extensions/third-party/node_modules/highlight.js/lib/languages/crmsh.js.js +10 -0
  810. package/extensions/third-party/node_modules/highlight.js/lib/languages/crystal.js +329 -0
  811. package/extensions/third-party/node_modules/highlight.js/lib/languages/crystal.js.js +10 -0
  812. package/extensions/third-party/node_modules/highlight.js/lib/languages/csharp.js +418 -0
  813. package/extensions/third-party/node_modules/highlight.js/lib/languages/csharp.js.js +10 -0
  814. package/extensions/third-party/node_modules/highlight.js/lib/languages/csp.js +65 -0
  815. package/extensions/third-party/node_modules/highlight.js/lib/languages/csp.js.js +10 -0
  816. package/extensions/third-party/node_modules/highlight.js/lib/languages/css.js +960 -0
  817. package/extensions/third-party/node_modules/highlight.js/lib/languages/css.js.js +10 -0
  818. package/extensions/third-party/node_modules/highlight.js/lib/languages/d.js +272 -0
  819. package/extensions/third-party/node_modules/highlight.js/lib/languages/d.js.js +10 -0
  820. package/extensions/third-party/node_modules/highlight.js/lib/languages/dart.js +293 -0
  821. package/extensions/third-party/node_modules/highlight.js/lib/languages/dart.js.js +10 -0
  822. package/extensions/third-party/node_modules/highlight.js/lib/languages/delphi.js +246 -0
  823. package/extensions/third-party/node_modules/highlight.js/lib/languages/delphi.js.js +10 -0
  824. package/extensions/third-party/node_modules/highlight.js/lib/languages/diff.js +65 -0
  825. package/extensions/third-party/node_modules/highlight.js/lib/languages/diff.js.js +10 -0
  826. package/extensions/third-party/node_modules/highlight.js/lib/languages/django.js +75 -0
  827. package/extensions/third-party/node_modules/highlight.js/lib/languages/django.js.js +10 -0
  828. package/extensions/third-party/node_modules/highlight.js/lib/languages/dns.js +133 -0
  829. package/extensions/third-party/node_modules/highlight.js/lib/languages/dns.js.js +10 -0
  830. package/extensions/third-party/node_modules/highlight.js/lib/languages/dockerfile.js +44 -0
  831. package/extensions/third-party/node_modules/highlight.js/lib/languages/dockerfile.js.js +10 -0
  832. package/extensions/third-party/node_modules/highlight.js/lib/languages/dos.js +165 -0
  833. package/extensions/third-party/node_modules/highlight.js/lib/languages/dos.js.js +10 -0
  834. package/extensions/third-party/node_modules/highlight.js/lib/languages/dsconfig.js +66 -0
  835. package/extensions/third-party/node_modules/highlight.js/lib/languages/dsconfig.js.js +10 -0
  836. package/extensions/third-party/node_modules/highlight.js/lib/languages/dts.js +157 -0
  837. package/extensions/third-party/node_modules/highlight.js/lib/languages/dts.js.js +10 -0
  838. package/extensions/third-party/node_modules/highlight.js/lib/languages/dust.js +47 -0
  839. package/extensions/third-party/node_modules/highlight.js/lib/languages/dust.js.js +10 -0
  840. package/extensions/third-party/node_modules/highlight.js/lib/languages/ebnf.js +54 -0
  841. package/extensions/third-party/node_modules/highlight.js/lib/languages/ebnf.js.js +10 -0
  842. package/extensions/third-party/node_modules/highlight.js/lib/languages/elixir.js +286 -0
  843. package/extensions/third-party/node_modules/highlight.js/lib/languages/elixir.js.js +10 -0
  844. package/extensions/third-party/node_modules/highlight.js/lib/languages/elm.js +143 -0
  845. package/extensions/third-party/node_modules/highlight.js/lib/languages/elm.js.js +10 -0
  846. package/extensions/third-party/node_modules/highlight.js/lib/languages/erb.js +29 -0
  847. package/extensions/third-party/node_modules/highlight.js/lib/languages/erb.js.js +10 -0
  848. package/extensions/third-party/node_modules/highlight.js/lib/languages/erlang-repl.js +54 -0
  849. package/extensions/third-party/node_modules/highlight.js/lib/languages/erlang-repl.js.js +10 -0
  850. package/extensions/third-party/node_modules/highlight.js/lib/languages/erlang.js +235 -0
  851. package/extensions/third-party/node_modules/highlight.js/lib/languages/erlang.js.js +10 -0
  852. package/extensions/third-party/node_modules/highlight.js/lib/languages/excel.js +580 -0
  853. package/extensions/third-party/node_modules/highlight.js/lib/languages/excel.js.js +10 -0
  854. package/extensions/third-party/node_modules/highlight.js/lib/languages/fix.js +39 -0
  855. package/extensions/third-party/node_modules/highlight.js/lib/languages/fix.js.js +10 -0
  856. package/extensions/third-party/node_modules/highlight.js/lib/languages/flix.js +79 -0
  857. package/extensions/third-party/node_modules/highlight.js/lib/languages/flix.js.js +10 -0
  858. package/extensions/third-party/node_modules/highlight.js/lib/languages/fortran.js +574 -0
  859. package/extensions/third-party/node_modules/highlight.js/lib/languages/fortran.js.js +10 -0
  860. package/extensions/third-party/node_modules/highlight.js/lib/languages/freedesktop.js +113 -0
  861. package/extensions/third-party/node_modules/highlight.js/lib/languages/freedesktop.js.js +10 -0
  862. package/extensions/third-party/node_modules/highlight.js/lib/languages/fsharp.js +639 -0
  863. package/extensions/third-party/node_modules/highlight.js/lib/languages/fsharp.js.js +10 -0
  864. package/extensions/third-party/node_modules/highlight.js/lib/languages/gams.js +181 -0
  865. package/extensions/third-party/node_modules/highlight.js/lib/languages/gams.js.js +10 -0
  866. package/extensions/third-party/node_modules/highlight.js/lib/languages/gauss.js +306 -0
  867. package/extensions/third-party/node_modules/highlight.js/lib/languages/gauss.js.js +10 -0
  868. package/extensions/third-party/node_modules/highlight.js/lib/languages/gcode.js +189 -0
  869. package/extensions/third-party/node_modules/highlight.js/lib/languages/gcode.js.js +10 -0
  870. package/extensions/third-party/node_modules/highlight.js/lib/languages/gherkin.js +120 -0
  871. package/extensions/third-party/node_modules/highlight.js/lib/languages/gherkin.js.js +10 -0
  872. package/extensions/third-party/node_modules/highlight.js/lib/languages/glsl.js +128 -0
  873. package/extensions/third-party/node_modules/highlight.js/lib/languages/glsl.js.js +10 -0
  874. package/extensions/third-party/node_modules/highlight.js/lib/languages/gml.js +3130 -0
  875. package/extensions/third-party/node_modules/highlight.js/lib/languages/gml.js.js +10 -0
  876. package/extensions/third-party/node_modules/highlight.js/lib/languages/go.js +160 -0
  877. package/extensions/third-party/node_modules/highlight.js/lib/languages/go.js.js +10 -0
  878. package/extensions/third-party/node_modules/highlight.js/lib/languages/golo.js +81 -0
  879. package/extensions/third-party/node_modules/highlight.js/lib/languages/golo.js.js +10 -0
  880. package/extensions/third-party/node_modules/highlight.js/lib/languages/gradle.js +190 -0
  881. package/extensions/third-party/node_modules/highlight.js/lib/languages/gradle.js.js +10 -0
  882. package/extensions/third-party/node_modules/highlight.js/lib/languages/graphql.js +78 -0
  883. package/extensions/third-party/node_modules/highlight.js/lib/languages/graphql.js.js +10 -0
  884. package/extensions/third-party/node_modules/highlight.js/lib/languages/groovy.js +225 -0
  885. package/extensions/third-party/node_modules/highlight.js/lib/languages/groovy.js.js +10 -0
  886. package/extensions/third-party/node_modules/highlight.js/lib/languages/haml.js +113 -0
  887. package/extensions/third-party/node_modules/highlight.js/lib/languages/haml.js.js +10 -0
  888. package/extensions/third-party/node_modules/highlight.js/lib/languages/handlebars.js +258 -0
  889. package/extensions/third-party/node_modules/highlight.js/lib/languages/handlebars.js.js +10 -0
  890. package/extensions/third-party/node_modules/highlight.js/lib/languages/haskell.js +217 -0
  891. package/extensions/third-party/node_modules/highlight.js/lib/languages/haskell.js.js +10 -0
  892. package/extensions/third-party/node_modules/highlight.js/lib/languages/haxe.js +167 -0
  893. package/extensions/third-party/node_modules/highlight.js/lib/languages/haxe.js.js +10 -0
  894. package/extensions/third-party/node_modules/highlight.js/lib/languages/hsp.js +59 -0
  895. package/extensions/third-party/node_modules/highlight.js/lib/languages/hsp.js.js +10 -0
  896. package/extensions/third-party/node_modules/highlight.js/lib/languages/http.js +97 -0
  897. package/extensions/third-party/node_modules/highlight.js/lib/languages/http.js.js +10 -0
  898. package/extensions/third-party/node_modules/highlight.js/lib/languages/hy.js +137 -0
  899. package/extensions/third-party/node_modules/highlight.js/lib/languages/hy.js.js +10 -0
  900. package/extensions/third-party/node_modules/highlight.js/lib/languages/inform7.js +70 -0
  901. package/extensions/third-party/node_modules/highlight.js/lib/languages/inform7.js.js +10 -0
  902. package/extensions/third-party/node_modules/highlight.js/lib/languages/ini.js +121 -0
  903. package/extensions/third-party/node_modules/highlight.js/lib/languages/ini.js.js +10 -0
  904. package/extensions/third-party/node_modules/highlight.js/lib/languages/irpf90.js +107 -0
  905. package/extensions/third-party/node_modules/highlight.js/lib/languages/irpf90.js.js +10 -0
  906. package/extensions/third-party/node_modules/highlight.js/lib/languages/isbl.js +3205 -0
  907. package/extensions/third-party/node_modules/highlight.js/lib/languages/isbl.js.js +10 -0
  908. package/extensions/third-party/node_modules/highlight.js/lib/languages/java.js +314 -0
  909. package/extensions/third-party/node_modules/highlight.js/lib/languages/java.js.js +10 -0
  910. package/extensions/third-party/node_modules/highlight.js/lib/languages/javascript.js +772 -0
  911. package/extensions/third-party/node_modules/highlight.js/lib/languages/javascript.js.js +10 -0
  912. package/extensions/third-party/node_modules/highlight.js/lib/languages/jboss-cli.js +63 -0
  913. package/extensions/third-party/node_modules/highlight.js/lib/languages/jboss-cli.js.js +10 -0
  914. package/extensions/third-party/node_modules/highlight.js/lib/languages/json.js +63 -0
  915. package/extensions/third-party/node_modules/highlight.js/lib/languages/json.js.js +10 -0
  916. package/extensions/third-party/node_modules/highlight.js/lib/languages/julia-repl.js +51 -0
  917. package/extensions/third-party/node_modules/highlight.js/lib/languages/julia-repl.js.js +10 -0
  918. package/extensions/third-party/node_modules/highlight.js/lib/languages/julia.js +442 -0
  919. package/extensions/third-party/node_modules/highlight.js/lib/languages/julia.js.js +10 -0
  920. package/extensions/third-party/node_modules/highlight.js/lib/languages/kotlin.js +288 -0
  921. package/extensions/third-party/node_modules/highlight.js/lib/languages/kotlin.js.js +10 -0
  922. package/extensions/third-party/node_modules/highlight.js/lib/languages/lasso.js +171 -0
  923. package/extensions/third-party/node_modules/highlight.js/lib/languages/lasso.js.js +10 -0
  924. package/extensions/third-party/node_modules/highlight.js/lib/languages/latex.js +278 -0
  925. package/extensions/third-party/node_modules/highlight.js/lib/languages/latex.js.js +10 -0
  926. package/extensions/third-party/node_modules/highlight.js/lib/languages/ldif.js +31 -0
  927. package/extensions/third-party/node_modules/highlight.js/lib/languages/ldif.js.js +10 -0
  928. package/extensions/third-party/node_modules/highlight.js/lib/languages/leaf.js +98 -0
  929. package/extensions/third-party/node_modules/highlight.js/lib/languages/leaf.js.js +10 -0
  930. package/extensions/third-party/node_modules/highlight.js/lib/languages/less.js +1061 -0
  931. package/extensions/third-party/node_modules/highlight.js/lib/languages/less.js.js +10 -0
  932. package/extensions/third-party/node_modules/highlight.js/lib/languages/lisp.js +139 -0
  933. package/extensions/third-party/node_modules/highlight.js/lib/languages/lisp.js.js +10 -0
  934. package/extensions/third-party/node_modules/highlight.js/lib/languages/livecodeserver.js +173 -0
  935. package/extensions/third-party/node_modules/highlight.js/lib/languages/livecodeserver.js.js +10 -0
  936. package/extensions/third-party/node_modules/highlight.js/lib/languages/livescript.js +380 -0
  937. package/extensions/third-party/node_modules/highlight.js/lib/languages/livescript.js.js +10 -0
  938. package/extensions/third-party/node_modules/highlight.js/lib/languages/llvm.js +136 -0
  939. package/extensions/third-party/node_modules/highlight.js/lib/languages/llvm.js.js +10 -0
  940. package/extensions/third-party/node_modules/highlight.js/lib/languages/lsl.js +76 -0
  941. package/extensions/third-party/node_modules/highlight.js/lib/languages/lsl.js.js +10 -0
  942. package/extensions/third-party/node_modules/highlight.js/lib/languages/lua.js +81 -0
  943. package/extensions/third-party/node_modules/highlight.js/lib/languages/lua.js.js +10 -0
  944. package/extensions/third-party/node_modules/highlight.js/lib/languages/makefile.js +89 -0
  945. package/extensions/third-party/node_modules/highlight.js/lib/languages/makefile.js.js +10 -0
  946. package/extensions/third-party/node_modules/highlight.js/lib/languages/markdown.js +250 -0
  947. package/extensions/third-party/node_modules/highlight.js/lib/languages/markdown.js.js +10 -0
  948. package/extensions/third-party/node_modules/highlight.js/lib/languages/mathematica.js +7359 -0
  949. package/extensions/third-party/node_modules/highlight.js/lib/languages/mathematica.js.js +10 -0
  950. package/extensions/third-party/node_modules/highlight.js/lib/languages/matlab.js +107 -0
  951. package/extensions/third-party/node_modules/highlight.js/lib/languages/matlab.js.js +10 -0
  952. package/extensions/third-party/node_modules/highlight.js/lib/languages/maxima.js +414 -0
  953. package/extensions/third-party/node_modules/highlight.js/lib/languages/maxima.js.js +10 -0
  954. package/extensions/third-party/node_modules/highlight.js/lib/languages/mel.js +235 -0
  955. package/extensions/third-party/node_modules/highlight.js/lib/languages/mel.js.js +10 -0
  956. package/extensions/third-party/node_modules/highlight.js/lib/languages/mercury.js +108 -0
  957. package/extensions/third-party/node_modules/highlight.js/lib/languages/mercury.js.js +10 -0
  958. package/extensions/third-party/node_modules/highlight.js/lib/languages/mipsasm.js +104 -0
  959. package/extensions/third-party/node_modules/highlight.js/lib/languages/mipsasm.js.js +10 -0
  960. package/extensions/third-party/node_modules/highlight.js/lib/languages/mizar.js +27 -0
  961. package/extensions/third-party/node_modules/highlight.js/lib/languages/mizar.js.js +10 -0
  962. package/extensions/third-party/node_modules/highlight.js/lib/languages/mojolicious.js +36 -0
  963. package/extensions/third-party/node_modules/highlight.js/lib/languages/mojolicious.js.js +10 -0
  964. package/extensions/third-party/node_modules/highlight.js/lib/languages/monkey.js +184 -0
  965. package/extensions/third-party/node_modules/highlight.js/lib/languages/monkey.js.js +10 -0
  966. package/extensions/third-party/node_modules/highlight.js/lib/languages/moonscript.js +141 -0
  967. package/extensions/third-party/node_modules/highlight.js/lib/languages/moonscript.js.js +10 -0
  968. package/extensions/third-party/node_modules/highlight.js/lib/languages/n1ql.js +365 -0
  969. package/extensions/third-party/node_modules/highlight.js/lib/languages/n1ql.js.js +10 -0
  970. package/extensions/third-party/node_modules/highlight.js/lib/languages/nestedtext.js +83 -0
  971. package/extensions/third-party/node_modules/highlight.js/lib/languages/nestedtext.js.js +10 -0
  972. package/extensions/third-party/node_modules/highlight.js/lib/languages/nginx.js +153 -0
  973. package/extensions/third-party/node_modules/highlight.js/lib/languages/nginx.js.js +10 -0
  974. package/extensions/third-party/node_modules/highlight.js/lib/languages/nim.js +187 -0
  975. package/extensions/third-party/node_modules/highlight.js/lib/languages/nim.js.js +10 -0
  976. package/extensions/third-party/node_modules/highlight.js/lib/languages/nix.js +372 -0
  977. package/extensions/third-party/node_modules/highlight.js/lib/languages/nix.js.js +10 -0
  978. package/extensions/third-party/node_modules/highlight.js/lib/languages/node-repl.js +33 -0
  979. package/extensions/third-party/node_modules/highlight.js/lib/languages/node-repl.js.js +10 -0
  980. package/extensions/third-party/node_modules/highlight.js/lib/languages/nsis.js +591 -0
  981. package/extensions/third-party/node_modules/highlight.js/lib/languages/nsis.js.js +10 -0
  982. package/extensions/third-party/node_modules/highlight.js/lib/languages/objectivec.js +253 -0
  983. package/extensions/third-party/node_modules/highlight.js/lib/languages/objectivec.js.js +10 -0
  984. package/extensions/third-party/node_modules/highlight.js/lib/languages/ocaml.js +83 -0
  985. package/extensions/third-party/node_modules/highlight.js/lib/languages/ocaml.js.js +10 -0
  986. package/extensions/third-party/node_modules/highlight.js/lib/languages/openscad.js +77 -0
  987. package/extensions/third-party/node_modules/highlight.js/lib/languages/openscad.js.js +10 -0
  988. package/extensions/third-party/node_modules/highlight.js/lib/languages/oxygene.js +87 -0
  989. package/extensions/third-party/node_modules/highlight.js/lib/languages/oxygene.js.js +10 -0
  990. package/extensions/third-party/node_modules/highlight.js/lib/languages/parser3.js +55 -0
  991. package/extensions/third-party/node_modules/highlight.js/lib/languages/parser3.js.js +10 -0
  992. package/extensions/third-party/node_modules/highlight.js/lib/languages/perl.js +504 -0
  993. package/extensions/third-party/node_modules/highlight.js/lib/languages/perl.js.js +10 -0
  994. package/extensions/third-party/node_modules/highlight.js/lib/languages/pf.js +60 -0
  995. package/extensions/third-party/node_modules/highlight.js/lib/languages/pf.js.js +10 -0
  996. package/extensions/third-party/node_modules/highlight.js/lib/languages/pgsql.js +525 -0
  997. package/extensions/third-party/node_modules/highlight.js/lib/languages/pgsql.js.js +10 -0
  998. package/extensions/third-party/node_modules/highlight.js/lib/languages/php-template.js +57 -0
  999. package/extensions/third-party/node_modules/highlight.js/lib/languages/php-template.js.js +10 -0
  1000. package/extensions/third-party/node_modules/highlight.js/lib/languages/php.js +635 -0
  1001. package/extensions/third-party/node_modules/highlight.js/lib/languages/php.js.js +10 -0
  1002. package/extensions/third-party/node_modules/highlight.js/lib/languages/plaintext.js +19 -0
  1003. package/extensions/third-party/node_modules/highlight.js/lib/languages/plaintext.js.js +10 -0
  1004. package/extensions/third-party/node_modules/highlight.js/lib/languages/pony.js +90 -0
  1005. package/extensions/third-party/node_modules/highlight.js/lib/languages/pony.js.js +10 -0
  1006. package/extensions/third-party/node_modules/highlight.js/lib/languages/powershell.js +317 -0
  1007. package/extensions/third-party/node_modules/highlight.js/lib/languages/powershell.js.js +10 -0
  1008. package/extensions/third-party/node_modules/highlight.js/lib/languages/processing.js +434 -0
  1009. package/extensions/third-party/node_modules/highlight.js/lib/languages/processing.js.js +10 -0
  1010. package/extensions/third-party/node_modules/highlight.js/lib/languages/profile.js +43 -0
  1011. package/extensions/third-party/node_modules/highlight.js/lib/languages/profile.js.js +10 -0
  1012. package/extensions/third-party/node_modules/highlight.js/lib/languages/prolog.js +97 -0
  1013. package/extensions/third-party/node_modules/highlight.js/lib/languages/prolog.js.js +10 -0
  1014. package/extensions/third-party/node_modules/highlight.js/lib/languages/properties.js +68 -0
  1015. package/extensions/third-party/node_modules/highlight.js/lib/languages/properties.js.js +10 -0
  1016. package/extensions/third-party/node_modules/highlight.js/lib/languages/protobuf.js +79 -0
  1017. package/extensions/third-party/node_modules/highlight.js/lib/languages/protobuf.js.js +10 -0
  1018. package/extensions/third-party/node_modules/highlight.js/lib/languages/puppet.js +146 -0
  1019. package/extensions/third-party/node_modules/highlight.js/lib/languages/puppet.js.js +10 -0
  1020. package/extensions/third-party/node_modules/highlight.js/lib/languages/purebasic.js +100 -0
  1021. package/extensions/third-party/node_modules/highlight.js/lib/languages/purebasic.js.js +10 -0
  1022. package/extensions/third-party/node_modules/highlight.js/lib/languages/python-repl.js +32 -0
  1023. package/extensions/third-party/node_modules/highlight.js/lib/languages/python-repl.js.js +10 -0
  1024. package/extensions/third-party/node_modules/highlight.js/lib/languages/python.js +441 -0
  1025. package/extensions/third-party/node_modules/highlight.js/lib/languages/python.js.js +10 -0
  1026. package/extensions/third-party/node_modules/highlight.js/lib/languages/q.js +38 -0
  1027. package/extensions/third-party/node_modules/highlight.js/lib/languages/q.js.js +10 -0
  1028. package/extensions/third-party/node_modules/highlight.js/lib/languages/qml.js +189 -0
  1029. package/extensions/third-party/node_modules/highlight.js/lib/languages/qml.js.js +10 -0
  1030. package/extensions/third-party/node_modules/highlight.js/lib/languages/r.js +257 -0
  1031. package/extensions/third-party/node_modules/highlight.js/lib/languages/r.js.js +10 -0
  1032. package/extensions/third-party/node_modules/highlight.js/lib/languages/reasonml.js +142 -0
  1033. package/extensions/third-party/node_modules/highlight.js/lib/languages/reasonml.js.js +10 -0
  1034. package/extensions/third-party/node_modules/highlight.js/lib/languages/rib.js +37 -0
  1035. package/extensions/third-party/node_modules/highlight.js/lib/languages/rib.js.js +10 -0
  1036. package/extensions/third-party/node_modules/highlight.js/lib/languages/roboconf.js +82 -0
  1037. package/extensions/third-party/node_modules/highlight.js/lib/languages/roboconf.js.js +10 -0
  1038. package/extensions/third-party/node_modules/highlight.js/lib/languages/routeros.js +164 -0
  1039. package/extensions/third-party/node_modules/highlight.js/lib/languages/routeros.js.js +10 -0
  1040. package/extensions/third-party/node_modules/highlight.js/lib/languages/rsl.js +149 -0
  1041. package/extensions/third-party/node_modules/highlight.js/lib/languages/rsl.js.js +10 -0
  1042. package/extensions/third-party/node_modules/highlight.js/lib/languages/ruby.js +449 -0
  1043. package/extensions/third-party/node_modules/highlight.js/lib/languages/ruby.js.js +10 -0
  1044. package/extensions/third-party/node_modules/highlight.js/lib/languages/ruleslanguage.js +76 -0
  1045. package/extensions/third-party/node_modules/highlight.js/lib/languages/ruleslanguage.js.js +10 -0
  1046. package/extensions/third-party/node_modules/highlight.js/lib/languages/rust.js +340 -0
  1047. package/extensions/third-party/node_modules/highlight.js/lib/languages/rust.js.js +10 -0
  1048. package/extensions/third-party/node_modules/highlight.js/lib/languages/sas.js +557 -0
  1049. package/extensions/third-party/node_modules/highlight.js/lib/languages/sas.js.js +10 -0
  1050. package/extensions/third-party/node_modules/highlight.js/lib/languages/scala.js +214 -0
  1051. package/extensions/third-party/node_modules/highlight.js/lib/languages/scala.js.js +10 -0
  1052. package/extensions/third-party/node_modules/highlight.js/lib/languages/scheme.js +196 -0
  1053. package/extensions/third-party/node_modules/highlight.js/lib/languages/scheme.js.js +10 -0
  1054. package/extensions/third-party/node_modules/highlight.js/lib/languages/scilab.js +73 -0
  1055. package/extensions/third-party/node_modules/highlight.js/lib/languages/scilab.js.js +10 -0
  1056. package/extensions/third-party/node_modules/highlight.js/lib/languages/scss.js +950 -0
  1057. package/extensions/third-party/node_modules/highlight.js/lib/languages/scss.js.js +10 -0
  1058. package/extensions/third-party/node_modules/highlight.js/lib/languages/shell.js +33 -0
  1059. package/extensions/third-party/node_modules/highlight.js/lib/languages/shell.js.js +10 -0
  1060. package/extensions/third-party/node_modules/highlight.js/lib/languages/smali.js +126 -0
  1061. package/extensions/third-party/node_modules/highlight.js/lib/languages/smali.js.js +10 -0
  1062. package/extensions/third-party/node_modules/highlight.js/lib/languages/smalltalk.js +69 -0
  1063. package/extensions/third-party/node_modules/highlight.js/lib/languages/smalltalk.js.js +10 -0
  1064. package/extensions/third-party/node_modules/highlight.js/lib/languages/sml.js +75 -0
  1065. package/extensions/third-party/node_modules/highlight.js/lib/languages/sml.js.js +10 -0
  1066. package/extensions/third-party/node_modules/highlight.js/lib/languages/sqf.js +2828 -0
  1067. package/extensions/third-party/node_modules/highlight.js/lib/languages/sqf.js.js +10 -0
  1068. package/extensions/third-party/node_modules/highlight.js/lib/languages/sql.js +693 -0
  1069. package/extensions/third-party/node_modules/highlight.js/lib/languages/sql.js.js +10 -0
  1070. package/extensions/third-party/node_modules/highlight.js/lib/languages/stan.js +521 -0
  1071. package/extensions/third-party/node_modules/highlight.js/lib/languages/stan.js.js +10 -0
  1072. package/extensions/third-party/node_modules/highlight.js/lib/languages/stata.js +53 -0
  1073. package/extensions/third-party/node_modules/highlight.js/lib/languages/stata.js.js +10 -0
  1074. package/extensions/third-party/node_modules/highlight.js/lib/languages/step21.js +67 -0
  1075. package/extensions/third-party/node_modules/highlight.js/lib/languages/step21.js.js +10 -0
  1076. package/extensions/third-party/node_modules/highlight.js/lib/languages/stylus.js +1010 -0
  1077. package/extensions/third-party/node_modules/highlight.js/lib/languages/stylus.js.js +10 -0
  1078. package/extensions/third-party/node_modules/highlight.js/lib/languages/subunit.js +44 -0
  1079. package/extensions/third-party/node_modules/highlight.js/lib/languages/subunit.js.js +10 -0
  1080. package/extensions/third-party/node_modules/highlight.js/lib/languages/swift.js +984 -0
  1081. package/extensions/third-party/node_modules/highlight.js/lib/languages/swift.js.js +10 -0
  1082. package/extensions/third-party/node_modules/highlight.js/lib/languages/taggerscript.js +59 -0
  1083. package/extensions/third-party/node_modules/highlight.js/lib/languages/taggerscript.js.js +10 -0
  1084. package/extensions/third-party/node_modules/highlight.js/lib/languages/tap.js +47 -0
  1085. package/extensions/third-party/node_modules/highlight.js/lib/languages/tap.js.js +10 -0
  1086. package/extensions/third-party/node_modules/highlight.js/lib/languages/tcl.js +191 -0
  1087. package/extensions/third-party/node_modules/highlight.js/lib/languages/tcl.js.js +10 -0
  1088. package/extensions/third-party/node_modules/highlight.js/lib/languages/thrift.js +77 -0
  1089. package/extensions/third-party/node_modules/highlight.js/lib/languages/thrift.js.js +10 -0
  1090. package/extensions/third-party/node_modules/highlight.js/lib/languages/tp.js +172 -0
  1091. package/extensions/third-party/node_modules/highlight.js/lib/languages/tp.js.js +10 -0
  1092. package/extensions/third-party/node_modules/highlight.js/lib/languages/twig.js +260 -0
  1093. package/extensions/third-party/node_modules/highlight.js/lib/languages/twig.js.js +10 -0
  1094. package/extensions/third-party/node_modules/highlight.js/lib/languages/typescript.js +916 -0
  1095. package/extensions/third-party/node_modules/highlight.js/lib/languages/typescript.js.js +10 -0
  1096. package/extensions/third-party/node_modules/highlight.js/lib/languages/vala.js +61 -0
  1097. package/extensions/third-party/node_modules/highlight.js/lib/languages/vala.js.js +10 -0
  1098. package/extensions/third-party/node_modules/highlight.js/lib/languages/vbnet.js +157 -0
  1099. package/extensions/third-party/node_modules/highlight.js/lib/languages/vbnet.js.js +10 -0
  1100. package/extensions/third-party/node_modules/highlight.js/lib/languages/vbscript-html.js +24 -0
  1101. package/extensions/third-party/node_modules/highlight.js/lib/languages/vbscript-html.js.js +10 -0
  1102. package/extensions/third-party/node_modules/highlight.js/lib/languages/vbscript.js +220 -0
  1103. package/extensions/third-party/node_modules/highlight.js/lib/languages/vbscript.js.js +10 -0
  1104. package/extensions/third-party/node_modules/highlight.js/lib/languages/verilog.js +550 -0
  1105. package/extensions/third-party/node_modules/highlight.js/lib/languages/verilog.js.js +10 -0
  1106. package/extensions/third-party/node_modules/highlight.js/lib/languages/vhdl.js +216 -0
  1107. package/extensions/third-party/node_modules/highlight.js/lib/languages/vhdl.js.js +10 -0
  1108. package/extensions/third-party/node_modules/highlight.js/lib/languages/vim.js +129 -0
  1109. package/extensions/third-party/node_modules/highlight.js/lib/languages/vim.js.js +10 -0
  1110. package/extensions/third-party/node_modules/highlight.js/lib/languages/wasm.js +139 -0
  1111. package/extensions/third-party/node_modules/highlight.js/lib/languages/wasm.js.js +10 -0
  1112. package/extensions/third-party/node_modules/highlight.js/lib/languages/wren.js +302 -0
  1113. package/extensions/third-party/node_modules/highlight.js/lib/languages/wren.js.js +10 -0
  1114. package/extensions/third-party/node_modules/highlight.js/lib/languages/x86asm.js +153 -0
  1115. package/extensions/third-party/node_modules/highlight.js/lib/languages/x86asm.js.js +10 -0
  1116. package/extensions/third-party/node_modules/highlight.js/lib/languages/xl.js +205 -0
  1117. package/extensions/third-party/node_modules/highlight.js/lib/languages/xl.js.js +10 -0
  1118. package/extensions/third-party/node_modules/highlight.js/lib/languages/xml.js +234 -0
  1119. package/extensions/third-party/node_modules/highlight.js/lib/languages/xml.js.js +10 -0
  1120. package/extensions/third-party/node_modules/highlight.js/lib/languages/xquery.js +360 -0
  1121. package/extensions/third-party/node_modules/highlight.js/lib/languages/xquery.js.js +10 -0
  1122. package/extensions/third-party/node_modules/highlight.js/lib/languages/yaml.js +213 -0
  1123. package/extensions/third-party/node_modules/highlight.js/lib/languages/yaml.js.js +10 -0
  1124. package/extensions/third-party/node_modules/highlight.js/lib/languages/zephir.js +129 -0
  1125. package/extensions/third-party/node_modules/highlight.js/lib/languages/zephir.js.js +10 -0
  1126. package/extensions/third-party/node_modules/highlight.js/package.json +119 -0
  1127. package/extensions/third-party/node_modules/highlight.js/scss/1c-light.scss +107 -0
  1128. package/extensions/third-party/node_modules/highlight.js/scss/a11y-dark.scss +94 -0
  1129. package/extensions/third-party/node_modules/highlight.js/scss/a11y-light.scss +94 -0
  1130. package/extensions/third-party/node_modules/highlight.js/scss/agate.scss +127 -0
  1131. package/extensions/third-party/node_modules/highlight.js/scss/an-old-hope.scss +75 -0
  1132. package/extensions/third-party/node_modules/highlight.js/scss/androidstudio.scss +60 -0
  1133. package/extensions/third-party/node_modules/highlight.js/scss/arduino-light.scss +78 -0
  1134. package/extensions/third-party/node_modules/highlight.js/scss/arta.scss +66 -0
  1135. package/extensions/third-party/node_modules/highlight.js/scss/ascetic.scss +45 -0
  1136. package/extensions/third-party/node_modules/highlight.js/scss/atom-one-dark-reasonable.scss +105 -0
  1137. package/extensions/third-party/node_modules/highlight.js/scss/atom-one-dark.scss +90 -0
  1138. package/extensions/third-party/node_modules/highlight.js/scss/atom-one-light.scss +90 -0
  1139. package/extensions/third-party/node_modules/highlight.js/scss/base16/3024.scss +163 -0
  1140. package/extensions/third-party/node_modules/highlight.js/scss/base16/apathy.scss +163 -0
  1141. package/extensions/third-party/node_modules/highlight.js/scss/base16/apprentice.scss +163 -0
  1142. package/extensions/third-party/node_modules/highlight.js/scss/base16/ashes.scss +163 -0
  1143. package/extensions/third-party/node_modules/highlight.js/scss/base16/atelier-cave-light.scss +163 -0
  1144. package/extensions/third-party/node_modules/highlight.js/scss/base16/atelier-cave.scss +163 -0
  1145. package/extensions/third-party/node_modules/highlight.js/scss/base16/atelier-dune-light.scss +163 -0
  1146. package/extensions/third-party/node_modules/highlight.js/scss/base16/atelier-dune.scss +163 -0
  1147. package/extensions/third-party/node_modules/highlight.js/scss/base16/atelier-estuary-light.scss +163 -0
  1148. package/extensions/third-party/node_modules/highlight.js/scss/base16/atelier-estuary.scss +163 -0
  1149. package/extensions/third-party/node_modules/highlight.js/scss/base16/atelier-forest-light.scss +163 -0
  1150. package/extensions/third-party/node_modules/highlight.js/scss/base16/atelier-forest.scss +163 -0
  1151. package/extensions/third-party/node_modules/highlight.js/scss/base16/atelier-heath-light.scss +163 -0
  1152. package/extensions/third-party/node_modules/highlight.js/scss/base16/atelier-heath.scss +163 -0
  1153. package/extensions/third-party/node_modules/highlight.js/scss/base16/atelier-lakeside-light.scss +163 -0
  1154. package/extensions/third-party/node_modules/highlight.js/scss/base16/atelier-lakeside.scss +163 -0
  1155. package/extensions/third-party/node_modules/highlight.js/scss/base16/atelier-plateau-light.scss +163 -0
  1156. package/extensions/third-party/node_modules/highlight.js/scss/base16/atelier-plateau.scss +163 -0
  1157. package/extensions/third-party/node_modules/highlight.js/scss/base16/atelier-savanna-light.scss +163 -0
  1158. package/extensions/third-party/node_modules/highlight.js/scss/base16/atelier-savanna.scss +163 -0
  1159. package/extensions/third-party/node_modules/highlight.js/scss/base16/atelier-seaside-light.scss +163 -0
  1160. package/extensions/third-party/node_modules/highlight.js/scss/base16/atelier-seaside.scss +163 -0
  1161. package/extensions/third-party/node_modules/highlight.js/scss/base16/atelier-sulphurpool-light.scss +163 -0
  1162. package/extensions/third-party/node_modules/highlight.js/scss/base16/atelier-sulphurpool.scss +163 -0
  1163. package/extensions/third-party/node_modules/highlight.js/scss/base16/atlas.scss +163 -0
  1164. package/extensions/third-party/node_modules/highlight.js/scss/base16/bespin.scss +163 -0
  1165. package/extensions/third-party/node_modules/highlight.js/scss/base16/black-metal-bathory.scss +163 -0
  1166. package/extensions/third-party/node_modules/highlight.js/scss/base16/black-metal-burzum.scss +163 -0
  1167. package/extensions/third-party/node_modules/highlight.js/scss/base16/black-metal-dark-funeral.scss +163 -0
  1168. package/extensions/third-party/node_modules/highlight.js/scss/base16/black-metal-gorgoroth.scss +163 -0
  1169. package/extensions/third-party/node_modules/highlight.js/scss/base16/black-metal-immortal.scss +163 -0
  1170. package/extensions/third-party/node_modules/highlight.js/scss/base16/black-metal-khold.scss +163 -0
  1171. package/extensions/third-party/node_modules/highlight.js/scss/base16/black-metal-marduk.scss +163 -0
  1172. package/extensions/third-party/node_modules/highlight.js/scss/base16/black-metal-mayhem.scss +163 -0
  1173. package/extensions/third-party/node_modules/highlight.js/scss/base16/black-metal-nile.scss +163 -0
  1174. package/extensions/third-party/node_modules/highlight.js/scss/base16/black-metal-venom.scss +163 -0
  1175. package/extensions/third-party/node_modules/highlight.js/scss/base16/black-metal.scss +163 -0
  1176. package/extensions/third-party/node_modules/highlight.js/scss/base16/brewer.scss +163 -0
  1177. package/extensions/third-party/node_modules/highlight.js/scss/base16/bright.scss +163 -0
  1178. package/extensions/third-party/node_modules/highlight.js/scss/base16/brogrammer.scss +163 -0
  1179. package/extensions/third-party/node_modules/highlight.js/scss/base16/brush-trees-dark.scss +163 -0
  1180. package/extensions/third-party/node_modules/highlight.js/scss/base16/brush-trees.scss +163 -0
  1181. package/extensions/third-party/node_modules/highlight.js/scss/base16/chalk.scss +163 -0
  1182. package/extensions/third-party/node_modules/highlight.js/scss/base16/circus.scss +163 -0
  1183. package/extensions/third-party/node_modules/highlight.js/scss/base16/classic-dark.scss +163 -0
  1184. package/extensions/third-party/node_modules/highlight.js/scss/base16/classic-light.scss +163 -0
  1185. package/extensions/third-party/node_modules/highlight.js/scss/base16/codeschool.scss +163 -0
  1186. package/extensions/third-party/node_modules/highlight.js/scss/base16/colors.scss +163 -0
  1187. package/extensions/third-party/node_modules/highlight.js/scss/base16/cupcake.scss +163 -0
  1188. package/extensions/third-party/node_modules/highlight.js/scss/base16/cupertino.scss +163 -0
  1189. package/extensions/third-party/node_modules/highlight.js/scss/base16/danqing.scss +163 -0
  1190. package/extensions/third-party/node_modules/highlight.js/scss/base16/darcula.scss +163 -0
  1191. package/extensions/third-party/node_modules/highlight.js/scss/base16/dark-violet.scss +163 -0
  1192. package/extensions/third-party/node_modules/highlight.js/scss/base16/darkmoss.scss +163 -0
  1193. package/extensions/third-party/node_modules/highlight.js/scss/base16/darktooth.scss +163 -0
  1194. package/extensions/third-party/node_modules/highlight.js/scss/base16/decaf.scss +163 -0
  1195. package/extensions/third-party/node_modules/highlight.js/scss/base16/default-dark.scss +163 -0
  1196. package/extensions/third-party/node_modules/highlight.js/scss/base16/default-light.scss +163 -0
  1197. package/extensions/third-party/node_modules/highlight.js/scss/base16/dirtysea.scss +163 -0
  1198. package/extensions/third-party/node_modules/highlight.js/scss/base16/dracula.scss +163 -0
  1199. package/extensions/third-party/node_modules/highlight.js/scss/base16/edge-dark.scss +163 -0
  1200. package/extensions/third-party/node_modules/highlight.js/scss/base16/edge-light.scss +163 -0
  1201. package/extensions/third-party/node_modules/highlight.js/scss/base16/eighties.scss +163 -0
  1202. package/extensions/third-party/node_modules/highlight.js/scss/base16/embers.scss +163 -0
  1203. package/extensions/third-party/node_modules/highlight.js/scss/base16/equilibrium-dark.scss +163 -0
  1204. package/extensions/third-party/node_modules/highlight.js/scss/base16/equilibrium-gray-dark.scss +163 -0
  1205. package/extensions/third-party/node_modules/highlight.js/scss/base16/equilibrium-gray-light.scss +163 -0
  1206. package/extensions/third-party/node_modules/highlight.js/scss/base16/equilibrium-light.scss +163 -0
  1207. package/extensions/third-party/node_modules/highlight.js/scss/base16/espresso.scss +163 -0
  1208. package/extensions/third-party/node_modules/highlight.js/scss/base16/eva-dim.scss +163 -0
  1209. package/extensions/third-party/node_modules/highlight.js/scss/base16/eva.scss +163 -0
  1210. package/extensions/third-party/node_modules/highlight.js/scss/base16/flat.scss +163 -0
  1211. package/extensions/third-party/node_modules/highlight.js/scss/base16/framer.scss +163 -0
  1212. package/extensions/third-party/node_modules/highlight.js/scss/base16/fruit-soda.scss +163 -0
  1213. package/extensions/third-party/node_modules/highlight.js/scss/base16/gigavolt.scss +163 -0
  1214. package/extensions/third-party/node_modules/highlight.js/scss/base16/github.scss +163 -0
  1215. package/extensions/third-party/node_modules/highlight.js/scss/base16/google-dark.scss +163 -0
  1216. package/extensions/third-party/node_modules/highlight.js/scss/base16/google-light.scss +163 -0
  1217. package/extensions/third-party/node_modules/highlight.js/scss/base16/grayscale-dark.scss +163 -0
  1218. package/extensions/third-party/node_modules/highlight.js/scss/base16/grayscale-light.scss +163 -0
  1219. package/extensions/third-party/node_modules/highlight.js/scss/base16/green-screen.scss +163 -0
  1220. package/extensions/third-party/node_modules/highlight.js/scss/base16/gruvbox-dark-hard.scss +163 -0
  1221. package/extensions/third-party/node_modules/highlight.js/scss/base16/gruvbox-dark-medium.scss +163 -0
  1222. package/extensions/third-party/node_modules/highlight.js/scss/base16/gruvbox-dark-pale.scss +163 -0
  1223. package/extensions/third-party/node_modules/highlight.js/scss/base16/gruvbox-dark-soft.scss +163 -0
  1224. package/extensions/third-party/node_modules/highlight.js/scss/base16/gruvbox-light-hard.scss +163 -0
  1225. package/extensions/third-party/node_modules/highlight.js/scss/base16/gruvbox-light-medium.scss +163 -0
  1226. package/extensions/third-party/node_modules/highlight.js/scss/base16/gruvbox-light-soft.scss +163 -0
  1227. package/extensions/third-party/node_modules/highlight.js/scss/base16/hardcore.scss +163 -0
  1228. package/extensions/third-party/node_modules/highlight.js/scss/base16/harmonic16-dark.scss +163 -0
  1229. package/extensions/third-party/node_modules/highlight.js/scss/base16/harmonic16-light.scss +163 -0
  1230. package/extensions/third-party/node_modules/highlight.js/scss/base16/heetch-dark.scss +163 -0
  1231. package/extensions/third-party/node_modules/highlight.js/scss/base16/heetch-light.scss +163 -0
  1232. package/extensions/third-party/node_modules/highlight.js/scss/base16/helios.scss +163 -0
  1233. package/extensions/third-party/node_modules/highlight.js/scss/base16/hopscotch.scss +163 -0
  1234. package/extensions/third-party/node_modules/highlight.js/scss/base16/horizon-dark.scss +163 -0
  1235. package/extensions/third-party/node_modules/highlight.js/scss/base16/horizon-light.scss +163 -0
  1236. package/extensions/third-party/node_modules/highlight.js/scss/base16/humanoid-dark.scss +163 -0
  1237. package/extensions/third-party/node_modules/highlight.js/scss/base16/humanoid-light.scss +163 -0
  1238. package/extensions/third-party/node_modules/highlight.js/scss/base16/ia-dark.scss +163 -0
  1239. package/extensions/third-party/node_modules/highlight.js/scss/base16/ia-light.scss +163 -0
  1240. package/extensions/third-party/node_modules/highlight.js/scss/base16/icy-dark.scss +163 -0
  1241. package/extensions/third-party/node_modules/highlight.js/scss/base16/ir-black.scss +163 -0
  1242. package/extensions/third-party/node_modules/highlight.js/scss/base16/isotope.scss +163 -0
  1243. package/extensions/third-party/node_modules/highlight.js/scss/base16/kimber.scss +163 -0
  1244. package/extensions/third-party/node_modules/highlight.js/scss/base16/london-tube.scss +163 -0
  1245. package/extensions/third-party/node_modules/highlight.js/scss/base16/macintosh.scss +163 -0
  1246. package/extensions/third-party/node_modules/highlight.js/scss/base16/marrakesh.scss +163 -0
  1247. package/extensions/third-party/node_modules/highlight.js/scss/base16/materia.scss +163 -0
  1248. package/extensions/third-party/node_modules/highlight.js/scss/base16/material-darker.scss +163 -0
  1249. package/extensions/third-party/node_modules/highlight.js/scss/base16/material-lighter.scss +163 -0
  1250. package/extensions/third-party/node_modules/highlight.js/scss/base16/material-palenight.scss +163 -0
  1251. package/extensions/third-party/node_modules/highlight.js/scss/base16/material-vivid.scss +163 -0
  1252. package/extensions/third-party/node_modules/highlight.js/scss/base16/material.scss +163 -0
  1253. package/extensions/third-party/node_modules/highlight.js/scss/base16/mellow-purple.scss +163 -0
  1254. package/extensions/third-party/node_modules/highlight.js/scss/base16/mexico-light.scss +163 -0
  1255. package/extensions/third-party/node_modules/highlight.js/scss/base16/mocha.scss +163 -0
  1256. package/extensions/third-party/node_modules/highlight.js/scss/base16/monokai.scss +163 -0
  1257. package/extensions/third-party/node_modules/highlight.js/scss/base16/nebula.scss +163 -0
  1258. package/extensions/third-party/node_modules/highlight.js/scss/base16/nord.scss +163 -0
  1259. package/extensions/third-party/node_modules/highlight.js/scss/base16/nova.scss +163 -0
  1260. package/extensions/third-party/node_modules/highlight.js/scss/base16/ocean.scss +163 -0
  1261. package/extensions/third-party/node_modules/highlight.js/scss/base16/oceanicnext.scss +163 -0
  1262. package/extensions/third-party/node_modules/highlight.js/scss/base16/one-light.scss +163 -0
  1263. package/extensions/third-party/node_modules/highlight.js/scss/base16/onedark.scss +163 -0
  1264. package/extensions/third-party/node_modules/highlight.js/scss/base16/outrun-dark.scss +163 -0
  1265. package/extensions/third-party/node_modules/highlight.js/scss/base16/papercolor-dark.scss +163 -0
  1266. package/extensions/third-party/node_modules/highlight.js/scss/base16/papercolor-light.scss +163 -0
  1267. package/extensions/third-party/node_modules/highlight.js/scss/base16/paraiso.scss +163 -0
  1268. package/extensions/third-party/node_modules/highlight.js/scss/base16/pasque.scss +163 -0
  1269. package/extensions/third-party/node_modules/highlight.js/scss/base16/phd.scss +163 -0
  1270. package/extensions/third-party/node_modules/highlight.js/scss/base16/pico.scss +163 -0
  1271. package/extensions/third-party/node_modules/highlight.js/scss/base16/pop.scss +163 -0
  1272. package/extensions/third-party/node_modules/highlight.js/scss/base16/porple.scss +163 -0
  1273. package/extensions/third-party/node_modules/highlight.js/scss/base16/qualia.scss +163 -0
  1274. package/extensions/third-party/node_modules/highlight.js/scss/base16/railscasts.scss +163 -0
  1275. package/extensions/third-party/node_modules/highlight.js/scss/base16/rebecca.scss +163 -0
  1276. package/extensions/third-party/node_modules/highlight.js/scss/base16/ros-pine-dawn.scss +163 -0
  1277. package/extensions/third-party/node_modules/highlight.js/scss/base16/ros-pine-moon.scss +163 -0
  1278. package/extensions/third-party/node_modules/highlight.js/scss/base16/ros-pine.scss +163 -0
  1279. package/extensions/third-party/node_modules/highlight.js/scss/base16/sagelight.scss +163 -0
  1280. package/extensions/third-party/node_modules/highlight.js/scss/base16/sandcastle.scss +163 -0
  1281. package/extensions/third-party/node_modules/highlight.js/scss/base16/seti-ui.scss +163 -0
  1282. package/extensions/third-party/node_modules/highlight.js/scss/base16/shapeshifter.scss +163 -0
  1283. package/extensions/third-party/node_modules/highlight.js/scss/base16/silk-dark.scss +163 -0
  1284. package/extensions/third-party/node_modules/highlight.js/scss/base16/silk-light.scss +163 -0
  1285. package/extensions/third-party/node_modules/highlight.js/scss/base16/snazzy.scss +163 -0
  1286. package/extensions/third-party/node_modules/highlight.js/scss/base16/solar-flare-light.scss +163 -0
  1287. package/extensions/third-party/node_modules/highlight.js/scss/base16/solar-flare.scss +163 -0
  1288. package/extensions/third-party/node_modules/highlight.js/scss/base16/solarized-dark.scss +163 -0
  1289. package/extensions/third-party/node_modules/highlight.js/scss/base16/solarized-light.scss +163 -0
  1290. package/extensions/third-party/node_modules/highlight.js/scss/base16/spacemacs.scss +163 -0
  1291. package/extensions/third-party/node_modules/highlight.js/scss/base16/summercamp.scss +163 -0
  1292. package/extensions/third-party/node_modules/highlight.js/scss/base16/summerfruit-dark.scss +163 -0
  1293. package/extensions/third-party/node_modules/highlight.js/scss/base16/summerfruit-light.scss +163 -0
  1294. package/extensions/third-party/node_modules/highlight.js/scss/base16/synth-midnight-terminal-dark.scss +163 -0
  1295. package/extensions/third-party/node_modules/highlight.js/scss/base16/synth-midnight-terminal-light.scss +163 -0
  1296. package/extensions/third-party/node_modules/highlight.js/scss/base16/tango.scss +163 -0
  1297. package/extensions/third-party/node_modules/highlight.js/scss/base16/tender.scss +163 -0
  1298. package/extensions/third-party/node_modules/highlight.js/scss/base16/tomorrow-night.scss +163 -0
  1299. package/extensions/third-party/node_modules/highlight.js/scss/base16/tomorrow.scss +163 -0
  1300. package/extensions/third-party/node_modules/highlight.js/scss/base16/twilight.scss +163 -0
  1301. package/extensions/third-party/node_modules/highlight.js/scss/base16/unikitty-dark.scss +163 -0
  1302. package/extensions/third-party/node_modules/highlight.js/scss/base16/unikitty-light.scss +163 -0
  1303. package/extensions/third-party/node_modules/highlight.js/scss/base16/vulcan.scss +163 -0
  1304. package/extensions/third-party/node_modules/highlight.js/scss/base16/windows-10-light.scss +163 -0
  1305. package/extensions/third-party/node_modules/highlight.js/scss/base16/windows-10.scss +163 -0
  1306. package/extensions/third-party/node_modules/highlight.js/scss/base16/windows-95-light.scss +163 -0
  1307. package/extensions/third-party/node_modules/highlight.js/scss/base16/windows-95.scss +163 -0
  1308. package/extensions/third-party/node_modules/highlight.js/scss/base16/windows-high-contrast-light.scss +163 -0
  1309. package/extensions/third-party/node_modules/highlight.js/scss/base16/windows-high-contrast.scss +163 -0
  1310. package/extensions/third-party/node_modules/highlight.js/scss/base16/windows-nt-light.scss +163 -0
  1311. package/extensions/third-party/node_modules/highlight.js/scss/base16/windows-nt.scss +163 -0
  1312. package/extensions/third-party/node_modules/highlight.js/scss/base16/woodland.scss +163 -0
  1313. package/extensions/third-party/node_modules/highlight.js/scss/base16/xcode-dusk.scss +163 -0
  1314. package/extensions/third-party/node_modules/highlight.js/scss/base16/zenburn.scss +163 -0
  1315. package/extensions/third-party/node_modules/highlight.js/scss/brown-paper.scss +63 -0
  1316. package/extensions/third-party/node_modules/highlight.js/scss/codepen-embed.scss +57 -0
  1317. package/extensions/third-party/node_modules/highlight.js/scss/color-brewer.scss +66 -0
  1318. package/extensions/third-party/node_modules/highlight.js/scss/cybertopia-cherry.scss +104 -0
  1319. package/extensions/third-party/node_modules/highlight.js/scss/cybertopia-dimmer.scss +104 -0
  1320. package/extensions/third-party/node_modules/highlight.js/scss/cybertopia-icecap.scss +104 -0
  1321. package/extensions/third-party/node_modules/highlight.js/scss/cybertopia-saturated.scss +104 -0
  1322. package/extensions/third-party/node_modules/highlight.js/scss/dark.scss +62 -0
  1323. package/extensions/third-party/node_modules/highlight.js/scss/default.scss +117 -0
  1324. package/extensions/third-party/node_modules/highlight.js/scss/devibeans.scss +90 -0
  1325. package/extensions/third-party/node_modules/highlight.js/scss/docco.scss +83 -0
  1326. package/extensions/third-party/node_modules/highlight.js/scss/equinox.scss +71 -0
  1327. package/extensions/third-party/node_modules/highlight.js/scss/far.scss +67 -0
  1328. package/extensions/third-party/node_modules/highlight.js/scss/felipec.scss +94 -0
  1329. package/extensions/third-party/node_modules/highlight.js/scss/foundation.scss +80 -0
  1330. package/extensions/third-party/node_modules/highlight.js/scss/github-dark-dimmed.scss +117 -0
  1331. package/extensions/third-party/node_modules/highlight.js/scss/github-dark.scss +118 -0
  1332. package/extensions/third-party/node_modules/highlight.js/scss/github.scss +118 -0
  1333. package/extensions/third-party/node_modules/highlight.js/scss/gml.scss +72 -0
  1334. package/extensions/third-party/node_modules/highlight.js/scss/googlecode.scss +79 -0
  1335. package/extensions/third-party/node_modules/highlight.js/scss/gradient-dark.scss +90 -0
  1336. package/extensions/third-party/node_modules/highlight.js/scss/gradient-light.scss +90 -0
  1337. package/extensions/third-party/node_modules/highlight.js/scss/grayscale.scss +89 -0
  1338. package/extensions/third-party/node_modules/highlight.js/scss/hybrid.scss +88 -0
  1339. package/extensions/third-party/node_modules/highlight.js/scss/idea.scss +86 -0
  1340. package/extensions/third-party/node_modules/highlight.js/scss/intellij-light.scss +107 -0
  1341. package/extensions/third-party/node_modules/highlight.js/scss/ir-black.scss +66 -0
  1342. package/extensions/third-party/node_modules/highlight.js/scss/isbl-editor-dark.scss +94 -0
  1343. package/extensions/third-party/node_modules/highlight.js/scss/isbl-editor-light.scss +93 -0
  1344. package/extensions/third-party/node_modules/highlight.js/scss/kimbie-dark.scss +69 -0
  1345. package/extensions/third-party/node_modules/highlight.js/scss/kimbie-light.scss +69 -0
  1346. package/extensions/third-party/node_modules/highlight.js/scss/lightfair.scss +81 -0
  1347. package/extensions/third-party/node_modules/highlight.js/scss/lioshi.scss +76 -0
  1348. package/extensions/third-party/node_modules/highlight.js/scss/magula.scss +66 -0
  1349. package/extensions/third-party/node_modules/highlight.js/scss/mono-blue.scss +56 -0
  1350. package/extensions/third-party/node_modules/highlight.js/scss/monokai-sublime.scss +76 -0
  1351. package/extensions/third-party/node_modules/highlight.js/scss/monokai.scss +70 -0
  1352. package/extensions/third-party/node_modules/highlight.js/scss/night-owl.scss +174 -0
  1353. package/extensions/third-party/node_modules/highlight.js/scss/nnfx-dark.scss +104 -0
  1354. package/extensions/third-party/node_modules/highlight.js/scss/nnfx-light.scss +104 -0
  1355. package/extensions/third-party/node_modules/highlight.js/scss/nord.scss +275 -0
  1356. package/extensions/third-party/node_modules/highlight.js/scss/obsidian.scss +79 -0
  1357. package/extensions/third-party/node_modules/highlight.js/scss/panda-syntax-dark.scss +92 -0
  1358. package/extensions/third-party/node_modules/highlight.js/scss/panda-syntax-light.scss +89 -0
  1359. package/extensions/third-party/node_modules/highlight.js/scss/paraiso-dark.scss +67 -0
  1360. package/extensions/third-party/node_modules/highlight.js/scss/paraiso-light.scss +67 -0
  1361. package/extensions/third-party/node_modules/highlight.js/scss/pojoaque.scss +76 -0
  1362. package/extensions/third-party/node_modules/highlight.js/scss/purebasic.scss +103 -0
  1363. package/extensions/third-party/node_modules/highlight.js/scss/qtcreator-dark.scss +76 -0
  1364. package/extensions/third-party/node_modules/highlight.js/scss/qtcreator-light.scss +74 -0
  1365. package/extensions/third-party/node_modules/highlight.js/scss/rainbow.scss +77 -0
  1366. package/extensions/third-party/node_modules/highlight.js/scss/rose-pine-dawn.scss +107 -0
  1367. package/extensions/third-party/node_modules/highlight.js/scss/rose-pine-moon.scss +109 -0
  1368. package/extensions/third-party/node_modules/highlight.js/scss/rose-pine.scss +109 -0
  1369. package/extensions/third-party/node_modules/highlight.js/scss/routeros.scss +86 -0
  1370. package/extensions/third-party/node_modules/highlight.js/scss/school-book.scss +62 -0
  1371. package/extensions/third-party/node_modules/highlight.js/scss/shades-of-purple.scss +84 -0
  1372. package/extensions/third-party/node_modules/highlight.js/scss/srcery.scss +89 -0
  1373. package/extensions/third-party/node_modules/highlight.js/scss/stackoverflow-dark.scss +117 -0
  1374. package/extensions/third-party/node_modules/highlight.js/scss/stackoverflow-light.scss +117 -0
  1375. package/extensions/third-party/node_modules/highlight.js/scss/sunburst.scss +89 -0
  1376. package/extensions/third-party/node_modules/highlight.js/scss/tokyo-night-dark.scss +114 -0
  1377. package/extensions/third-party/node_modules/highlight.js/scss/tokyo-night-light.scss +114 -0
  1378. package/extensions/third-party/node_modules/highlight.js/scss/tomorrow-night-blue.scss +69 -0
  1379. package/extensions/third-party/node_modules/highlight.js/scss/tomorrow-night-bright.scss +68 -0
  1380. package/extensions/third-party/node_modules/highlight.js/scss/vs-dark.scss +61 -0
  1381. package/extensions/third-party/node_modules/highlight.js/scss/vs.scss +63 -0
  1382. package/extensions/third-party/node_modules/highlight.js/scss/vs2015.scss +100 -0
  1383. package/extensions/third-party/node_modules/highlight.js/scss/xcode.scss +90 -0
  1384. package/extensions/third-party/node_modules/highlight.js/scss/xt256.scss +79 -0
  1385. package/extensions/third-party/node_modules/highlight.js/styles/1c-light.css +107 -0
  1386. package/extensions/third-party/node_modules/highlight.js/styles/1c-light.min.css +9 -0
  1387. package/extensions/third-party/node_modules/highlight.js/styles/a11y-dark.css +94 -0
  1388. package/extensions/third-party/node_modules/highlight.js/styles/a11y-dark.min.css +7 -0
  1389. package/extensions/third-party/node_modules/highlight.js/styles/a11y-light.css +94 -0
  1390. package/extensions/third-party/node_modules/highlight.js/styles/a11y-light.min.css +7 -0
  1391. package/extensions/third-party/node_modules/highlight.js/styles/agate.css +127 -0
  1392. package/extensions/third-party/node_modules/highlight.js/styles/agate.min.css +20 -0
  1393. package/extensions/third-party/node_modules/highlight.js/styles/an-old-hope.css +75 -0
  1394. package/extensions/third-party/node_modules/highlight.js/styles/an-old-hope.min.css +9 -0
  1395. package/extensions/third-party/node_modules/highlight.js/styles/androidstudio.css +60 -0
  1396. package/extensions/third-party/node_modules/highlight.js/styles/androidstudio.min.css +1 -0
  1397. package/extensions/third-party/node_modules/highlight.js/styles/arduino-light.css +78 -0
  1398. package/extensions/third-party/node_modules/highlight.js/styles/arduino-light.min.css +1 -0
  1399. package/extensions/third-party/node_modules/highlight.js/styles/arta.css +66 -0
  1400. package/extensions/third-party/node_modules/highlight.js/styles/arta.min.css +1 -0
  1401. package/extensions/third-party/node_modules/highlight.js/styles/ascetic.css +45 -0
  1402. package/extensions/third-party/node_modules/highlight.js/styles/ascetic.min.css +1 -0
  1403. package/extensions/third-party/node_modules/highlight.js/styles/atom-one-dark-reasonable.css +105 -0
  1404. package/extensions/third-party/node_modules/highlight.js/styles/atom-one-dark-reasonable.min.css +1 -0
  1405. package/extensions/third-party/node_modules/highlight.js/styles/atom-one-dark.css +90 -0
  1406. package/extensions/third-party/node_modules/highlight.js/styles/atom-one-dark.min.css +1 -0
  1407. package/extensions/third-party/node_modules/highlight.js/styles/atom-one-light.css +90 -0
  1408. package/extensions/third-party/node_modules/highlight.js/styles/atom-one-light.min.css +1 -0
  1409. package/extensions/third-party/node_modules/highlight.js/styles/base16/3024.css +163 -0
  1410. package/extensions/third-party/node_modules/highlight.js/styles/base16/3024.min.css +7 -0
  1411. package/extensions/third-party/node_modules/highlight.js/styles/base16/apathy.css +163 -0
  1412. package/extensions/third-party/node_modules/highlight.js/styles/base16/apathy.min.css +7 -0
  1413. package/extensions/third-party/node_modules/highlight.js/styles/base16/apprentice.css +163 -0
  1414. package/extensions/third-party/node_modules/highlight.js/styles/base16/apprentice.min.css +7 -0
  1415. package/extensions/third-party/node_modules/highlight.js/styles/base16/ashes.css +163 -0
  1416. package/extensions/third-party/node_modules/highlight.js/styles/base16/ashes.min.css +7 -0
  1417. package/extensions/third-party/node_modules/highlight.js/styles/base16/atelier-cave-light.css +163 -0
  1418. package/extensions/third-party/node_modules/highlight.js/styles/base16/atelier-cave-light.min.css +7 -0
  1419. package/extensions/third-party/node_modules/highlight.js/styles/base16/atelier-cave.css +163 -0
  1420. package/extensions/third-party/node_modules/highlight.js/styles/base16/atelier-cave.min.css +7 -0
  1421. package/extensions/third-party/node_modules/highlight.js/styles/base16/atelier-dune-light.css +163 -0
  1422. package/extensions/third-party/node_modules/highlight.js/styles/base16/atelier-dune-light.min.css +7 -0
  1423. package/extensions/third-party/node_modules/highlight.js/styles/base16/atelier-dune.css +163 -0
  1424. package/extensions/third-party/node_modules/highlight.js/styles/base16/atelier-dune.min.css +7 -0
  1425. package/extensions/third-party/node_modules/highlight.js/styles/base16/atelier-estuary-light.css +163 -0
  1426. package/extensions/third-party/node_modules/highlight.js/styles/base16/atelier-estuary-light.min.css +7 -0
  1427. package/extensions/third-party/node_modules/highlight.js/styles/base16/atelier-estuary.css +163 -0
  1428. package/extensions/third-party/node_modules/highlight.js/styles/base16/atelier-estuary.min.css +7 -0
  1429. package/extensions/third-party/node_modules/highlight.js/styles/base16/atelier-forest-light.css +163 -0
  1430. package/extensions/third-party/node_modules/highlight.js/styles/base16/atelier-forest-light.min.css +7 -0
  1431. package/extensions/third-party/node_modules/highlight.js/styles/base16/atelier-forest.css +163 -0
  1432. package/extensions/third-party/node_modules/highlight.js/styles/base16/atelier-forest.min.css +7 -0
  1433. package/extensions/third-party/node_modules/highlight.js/styles/base16/atelier-heath-light.css +163 -0
  1434. package/extensions/third-party/node_modules/highlight.js/styles/base16/atelier-heath-light.min.css +7 -0
  1435. package/extensions/third-party/node_modules/highlight.js/styles/base16/atelier-heath.css +163 -0
  1436. package/extensions/third-party/node_modules/highlight.js/styles/base16/atelier-heath.min.css +7 -0
  1437. package/extensions/third-party/node_modules/highlight.js/styles/base16/atelier-lakeside-light.css +163 -0
  1438. package/extensions/third-party/node_modules/highlight.js/styles/base16/atelier-lakeside-light.min.css +7 -0
  1439. package/extensions/third-party/node_modules/highlight.js/styles/base16/atelier-lakeside.css +163 -0
  1440. package/extensions/third-party/node_modules/highlight.js/styles/base16/atelier-lakeside.min.css +7 -0
  1441. package/extensions/third-party/node_modules/highlight.js/styles/base16/atelier-plateau-light.css +163 -0
  1442. package/extensions/third-party/node_modules/highlight.js/styles/base16/atelier-plateau-light.min.css +7 -0
  1443. package/extensions/third-party/node_modules/highlight.js/styles/base16/atelier-plateau.css +163 -0
  1444. package/extensions/third-party/node_modules/highlight.js/styles/base16/atelier-plateau.min.css +7 -0
  1445. package/extensions/third-party/node_modules/highlight.js/styles/base16/atelier-savanna-light.css +163 -0
  1446. package/extensions/third-party/node_modules/highlight.js/styles/base16/atelier-savanna-light.min.css +7 -0
  1447. package/extensions/third-party/node_modules/highlight.js/styles/base16/atelier-savanna.css +163 -0
  1448. package/extensions/third-party/node_modules/highlight.js/styles/base16/atelier-savanna.min.css +7 -0
  1449. package/extensions/third-party/node_modules/highlight.js/styles/base16/atelier-seaside-light.css +163 -0
  1450. package/extensions/third-party/node_modules/highlight.js/styles/base16/atelier-seaside-light.min.css +7 -0
  1451. package/extensions/third-party/node_modules/highlight.js/styles/base16/atelier-seaside.css +163 -0
  1452. package/extensions/third-party/node_modules/highlight.js/styles/base16/atelier-seaside.min.css +7 -0
  1453. package/extensions/third-party/node_modules/highlight.js/styles/base16/atelier-sulphurpool-light.css +163 -0
  1454. package/extensions/third-party/node_modules/highlight.js/styles/base16/atelier-sulphurpool-light.min.css +7 -0
  1455. package/extensions/third-party/node_modules/highlight.js/styles/base16/atelier-sulphurpool.css +163 -0
  1456. package/extensions/third-party/node_modules/highlight.js/styles/base16/atelier-sulphurpool.min.css +7 -0
  1457. package/extensions/third-party/node_modules/highlight.js/styles/base16/atlas.css +163 -0
  1458. package/extensions/third-party/node_modules/highlight.js/styles/base16/atlas.min.css +7 -0
  1459. package/extensions/third-party/node_modules/highlight.js/styles/base16/bespin.css +163 -0
  1460. package/extensions/third-party/node_modules/highlight.js/styles/base16/bespin.min.css +7 -0
  1461. package/extensions/third-party/node_modules/highlight.js/styles/base16/black-metal-bathory.css +163 -0
  1462. package/extensions/third-party/node_modules/highlight.js/styles/base16/black-metal-bathory.min.css +7 -0
  1463. package/extensions/third-party/node_modules/highlight.js/styles/base16/black-metal-burzum.css +163 -0
  1464. package/extensions/third-party/node_modules/highlight.js/styles/base16/black-metal-burzum.min.css +7 -0
  1465. package/extensions/third-party/node_modules/highlight.js/styles/base16/black-metal-dark-funeral.css +163 -0
  1466. package/extensions/third-party/node_modules/highlight.js/styles/base16/black-metal-dark-funeral.min.css +7 -0
  1467. package/extensions/third-party/node_modules/highlight.js/styles/base16/black-metal-gorgoroth.css +163 -0
  1468. package/extensions/third-party/node_modules/highlight.js/styles/base16/black-metal-gorgoroth.min.css +7 -0
  1469. package/extensions/third-party/node_modules/highlight.js/styles/base16/black-metal-immortal.css +163 -0
  1470. package/extensions/third-party/node_modules/highlight.js/styles/base16/black-metal-immortal.min.css +7 -0
  1471. package/extensions/third-party/node_modules/highlight.js/styles/base16/black-metal-khold.css +163 -0
  1472. package/extensions/third-party/node_modules/highlight.js/styles/base16/black-metal-khold.min.css +7 -0
  1473. package/extensions/third-party/node_modules/highlight.js/styles/base16/black-metal-marduk.css +163 -0
  1474. package/extensions/third-party/node_modules/highlight.js/styles/base16/black-metal-marduk.min.css +7 -0
  1475. package/extensions/third-party/node_modules/highlight.js/styles/base16/black-metal-mayhem.css +163 -0
  1476. package/extensions/third-party/node_modules/highlight.js/styles/base16/black-metal-mayhem.min.css +7 -0
  1477. package/extensions/third-party/node_modules/highlight.js/styles/base16/black-metal-nile.css +163 -0
  1478. package/extensions/third-party/node_modules/highlight.js/styles/base16/black-metal-nile.min.css +7 -0
  1479. package/extensions/third-party/node_modules/highlight.js/styles/base16/black-metal-venom.css +163 -0
  1480. package/extensions/third-party/node_modules/highlight.js/styles/base16/black-metal-venom.min.css +7 -0
  1481. package/extensions/third-party/node_modules/highlight.js/styles/base16/black-metal.css +163 -0
  1482. package/extensions/third-party/node_modules/highlight.js/styles/base16/black-metal.min.css +7 -0
  1483. package/extensions/third-party/node_modules/highlight.js/styles/base16/brewer.css +163 -0
  1484. package/extensions/third-party/node_modules/highlight.js/styles/base16/brewer.min.css +7 -0
  1485. package/extensions/third-party/node_modules/highlight.js/styles/base16/bright.css +163 -0
  1486. package/extensions/third-party/node_modules/highlight.js/styles/base16/bright.min.css +7 -0
  1487. package/extensions/third-party/node_modules/highlight.js/styles/base16/brogrammer.css +163 -0
  1488. package/extensions/third-party/node_modules/highlight.js/styles/base16/brogrammer.min.css +7 -0
  1489. package/extensions/third-party/node_modules/highlight.js/styles/base16/brush-trees-dark.css +163 -0
  1490. package/extensions/third-party/node_modules/highlight.js/styles/base16/brush-trees-dark.min.css +7 -0
  1491. package/extensions/third-party/node_modules/highlight.js/styles/base16/brush-trees.css +163 -0
  1492. package/extensions/third-party/node_modules/highlight.js/styles/base16/brush-trees.min.css +7 -0
  1493. package/extensions/third-party/node_modules/highlight.js/styles/base16/chalk.css +163 -0
  1494. package/extensions/third-party/node_modules/highlight.js/styles/base16/chalk.min.css +7 -0
  1495. package/extensions/third-party/node_modules/highlight.js/styles/base16/circus.css +163 -0
  1496. package/extensions/third-party/node_modules/highlight.js/styles/base16/circus.min.css +7 -0
  1497. package/extensions/third-party/node_modules/highlight.js/styles/base16/classic-dark.css +163 -0
  1498. package/extensions/third-party/node_modules/highlight.js/styles/base16/classic-dark.min.css +7 -0
  1499. package/extensions/third-party/node_modules/highlight.js/styles/base16/classic-light.css +163 -0
  1500. package/extensions/third-party/node_modules/highlight.js/styles/base16/classic-light.min.css +7 -0
  1501. package/extensions/third-party/node_modules/highlight.js/styles/base16/codeschool.css +163 -0
  1502. package/extensions/third-party/node_modules/highlight.js/styles/base16/codeschool.min.css +7 -0
  1503. package/extensions/third-party/node_modules/highlight.js/styles/base16/colors.css +163 -0
  1504. package/extensions/third-party/node_modules/highlight.js/styles/base16/colors.min.css +7 -0
  1505. package/extensions/third-party/node_modules/highlight.js/styles/base16/cupcake.css +163 -0
  1506. package/extensions/third-party/node_modules/highlight.js/styles/base16/cupcake.min.css +7 -0
  1507. package/extensions/third-party/node_modules/highlight.js/styles/base16/cupertino.css +163 -0
  1508. package/extensions/third-party/node_modules/highlight.js/styles/base16/cupertino.min.css +7 -0
  1509. package/extensions/third-party/node_modules/highlight.js/styles/base16/danqing.css +163 -0
  1510. package/extensions/third-party/node_modules/highlight.js/styles/base16/danqing.min.css +7 -0
  1511. package/extensions/third-party/node_modules/highlight.js/styles/base16/darcula.css +163 -0
  1512. package/extensions/third-party/node_modules/highlight.js/styles/base16/darcula.min.css +7 -0
  1513. package/extensions/third-party/node_modules/highlight.js/styles/base16/dark-violet.css +163 -0
  1514. package/extensions/third-party/node_modules/highlight.js/styles/base16/dark-violet.min.css +7 -0
  1515. package/extensions/third-party/node_modules/highlight.js/styles/base16/darkmoss.css +163 -0
  1516. package/extensions/third-party/node_modules/highlight.js/styles/base16/darkmoss.min.css +7 -0
  1517. package/extensions/third-party/node_modules/highlight.js/styles/base16/darktooth.css +163 -0
  1518. package/extensions/third-party/node_modules/highlight.js/styles/base16/darktooth.min.css +7 -0
  1519. package/extensions/third-party/node_modules/highlight.js/styles/base16/decaf.css +163 -0
  1520. package/extensions/third-party/node_modules/highlight.js/styles/base16/decaf.min.css +7 -0
  1521. package/extensions/third-party/node_modules/highlight.js/styles/base16/default-dark.css +163 -0
  1522. package/extensions/third-party/node_modules/highlight.js/styles/base16/default-dark.min.css +7 -0
  1523. package/extensions/third-party/node_modules/highlight.js/styles/base16/default-light.css +163 -0
  1524. package/extensions/third-party/node_modules/highlight.js/styles/base16/default-light.min.css +7 -0
  1525. package/extensions/third-party/node_modules/highlight.js/styles/base16/dirtysea.css +163 -0
  1526. package/extensions/third-party/node_modules/highlight.js/styles/base16/dirtysea.min.css +7 -0
  1527. package/extensions/third-party/node_modules/highlight.js/styles/base16/dracula.css +163 -0
  1528. package/extensions/third-party/node_modules/highlight.js/styles/base16/dracula.min.css +7 -0
  1529. package/extensions/third-party/node_modules/highlight.js/styles/base16/edge-dark.css +163 -0
  1530. package/extensions/third-party/node_modules/highlight.js/styles/base16/edge-dark.min.css +7 -0
  1531. package/extensions/third-party/node_modules/highlight.js/styles/base16/edge-light.css +163 -0
  1532. package/extensions/third-party/node_modules/highlight.js/styles/base16/edge-light.min.css +7 -0
  1533. package/extensions/third-party/node_modules/highlight.js/styles/base16/eighties.css +163 -0
  1534. package/extensions/third-party/node_modules/highlight.js/styles/base16/eighties.min.css +7 -0
  1535. package/extensions/third-party/node_modules/highlight.js/styles/base16/embers.css +163 -0
  1536. package/extensions/third-party/node_modules/highlight.js/styles/base16/embers.min.css +7 -0
  1537. package/extensions/third-party/node_modules/highlight.js/styles/base16/equilibrium-dark.css +163 -0
  1538. package/extensions/third-party/node_modules/highlight.js/styles/base16/equilibrium-dark.min.css +7 -0
  1539. package/extensions/third-party/node_modules/highlight.js/styles/base16/equilibrium-gray-dark.css +163 -0
  1540. package/extensions/third-party/node_modules/highlight.js/styles/base16/equilibrium-gray-dark.min.css +7 -0
  1541. package/extensions/third-party/node_modules/highlight.js/styles/base16/equilibrium-gray-light.css +163 -0
  1542. package/extensions/third-party/node_modules/highlight.js/styles/base16/equilibrium-gray-light.min.css +7 -0
  1543. package/extensions/third-party/node_modules/highlight.js/styles/base16/equilibrium-light.css +163 -0
  1544. package/extensions/third-party/node_modules/highlight.js/styles/base16/equilibrium-light.min.css +7 -0
  1545. package/extensions/third-party/node_modules/highlight.js/styles/base16/espresso.css +163 -0
  1546. package/extensions/third-party/node_modules/highlight.js/styles/base16/espresso.min.css +7 -0
  1547. package/extensions/third-party/node_modules/highlight.js/styles/base16/eva-dim.css +163 -0
  1548. package/extensions/third-party/node_modules/highlight.js/styles/base16/eva-dim.min.css +7 -0
  1549. package/extensions/third-party/node_modules/highlight.js/styles/base16/eva.css +163 -0
  1550. package/extensions/third-party/node_modules/highlight.js/styles/base16/eva.min.css +7 -0
  1551. package/extensions/third-party/node_modules/highlight.js/styles/base16/flat.css +163 -0
  1552. package/extensions/third-party/node_modules/highlight.js/styles/base16/flat.min.css +7 -0
  1553. package/extensions/third-party/node_modules/highlight.js/styles/base16/framer.css +163 -0
  1554. package/extensions/third-party/node_modules/highlight.js/styles/base16/framer.min.css +7 -0
  1555. package/extensions/third-party/node_modules/highlight.js/styles/base16/fruit-soda.css +163 -0
  1556. package/extensions/third-party/node_modules/highlight.js/styles/base16/fruit-soda.min.css +7 -0
  1557. package/extensions/third-party/node_modules/highlight.js/styles/base16/gigavolt.css +163 -0
  1558. package/extensions/third-party/node_modules/highlight.js/styles/base16/gigavolt.min.css +7 -0
  1559. package/extensions/third-party/node_modules/highlight.js/styles/base16/github.css +163 -0
  1560. package/extensions/third-party/node_modules/highlight.js/styles/base16/github.min.css +7 -0
  1561. package/extensions/third-party/node_modules/highlight.js/styles/base16/google-dark.css +163 -0
  1562. package/extensions/third-party/node_modules/highlight.js/styles/base16/google-dark.min.css +7 -0
  1563. package/extensions/third-party/node_modules/highlight.js/styles/base16/google-light.css +163 -0
  1564. package/extensions/third-party/node_modules/highlight.js/styles/base16/google-light.min.css +7 -0
  1565. package/extensions/third-party/node_modules/highlight.js/styles/base16/grayscale-dark.css +163 -0
  1566. package/extensions/third-party/node_modules/highlight.js/styles/base16/grayscale-dark.min.css +7 -0
  1567. package/extensions/third-party/node_modules/highlight.js/styles/base16/grayscale-light.css +163 -0
  1568. package/extensions/third-party/node_modules/highlight.js/styles/base16/grayscale-light.min.css +7 -0
  1569. package/extensions/third-party/node_modules/highlight.js/styles/base16/green-screen.css +163 -0
  1570. package/extensions/third-party/node_modules/highlight.js/styles/base16/green-screen.min.css +7 -0
  1571. package/extensions/third-party/node_modules/highlight.js/styles/base16/gruvbox-dark-hard.css +163 -0
  1572. package/extensions/third-party/node_modules/highlight.js/styles/base16/gruvbox-dark-hard.min.css +7 -0
  1573. package/extensions/third-party/node_modules/highlight.js/styles/base16/gruvbox-dark-medium.css +163 -0
  1574. package/extensions/third-party/node_modules/highlight.js/styles/base16/gruvbox-dark-medium.min.css +7 -0
  1575. package/extensions/third-party/node_modules/highlight.js/styles/base16/gruvbox-dark-pale.css +163 -0
  1576. package/extensions/third-party/node_modules/highlight.js/styles/base16/gruvbox-dark-pale.min.css +7 -0
  1577. package/extensions/third-party/node_modules/highlight.js/styles/base16/gruvbox-dark-soft.css +163 -0
  1578. package/extensions/third-party/node_modules/highlight.js/styles/base16/gruvbox-dark-soft.min.css +7 -0
  1579. package/extensions/third-party/node_modules/highlight.js/styles/base16/gruvbox-light-hard.css +163 -0
  1580. package/extensions/third-party/node_modules/highlight.js/styles/base16/gruvbox-light-hard.min.css +7 -0
  1581. package/extensions/third-party/node_modules/highlight.js/styles/base16/gruvbox-light-medium.css +163 -0
  1582. package/extensions/third-party/node_modules/highlight.js/styles/base16/gruvbox-light-medium.min.css +7 -0
  1583. package/extensions/third-party/node_modules/highlight.js/styles/base16/gruvbox-light-soft.css +163 -0
  1584. package/extensions/third-party/node_modules/highlight.js/styles/base16/gruvbox-light-soft.min.css +7 -0
  1585. package/extensions/third-party/node_modules/highlight.js/styles/base16/hardcore.css +163 -0
  1586. package/extensions/third-party/node_modules/highlight.js/styles/base16/hardcore.min.css +7 -0
  1587. package/extensions/third-party/node_modules/highlight.js/styles/base16/harmonic16-dark.css +163 -0
  1588. package/extensions/third-party/node_modules/highlight.js/styles/base16/harmonic16-dark.min.css +7 -0
  1589. package/extensions/third-party/node_modules/highlight.js/styles/base16/harmonic16-light.css +163 -0
  1590. package/extensions/third-party/node_modules/highlight.js/styles/base16/harmonic16-light.min.css +7 -0
  1591. package/extensions/third-party/node_modules/highlight.js/styles/base16/heetch-dark.css +163 -0
  1592. package/extensions/third-party/node_modules/highlight.js/styles/base16/heetch-dark.min.css +7 -0
  1593. package/extensions/third-party/node_modules/highlight.js/styles/base16/heetch-light.css +163 -0
  1594. package/extensions/third-party/node_modules/highlight.js/styles/base16/heetch-light.min.css +7 -0
  1595. package/extensions/third-party/node_modules/highlight.js/styles/base16/helios.css +163 -0
  1596. package/extensions/third-party/node_modules/highlight.js/styles/base16/helios.min.css +7 -0
  1597. package/extensions/third-party/node_modules/highlight.js/styles/base16/hopscotch.css +163 -0
  1598. package/extensions/third-party/node_modules/highlight.js/styles/base16/hopscotch.min.css +7 -0
  1599. package/extensions/third-party/node_modules/highlight.js/styles/base16/horizon-dark.css +163 -0
  1600. package/extensions/third-party/node_modules/highlight.js/styles/base16/horizon-dark.min.css +7 -0
  1601. package/extensions/third-party/node_modules/highlight.js/styles/base16/horizon-light.css +163 -0
  1602. package/extensions/third-party/node_modules/highlight.js/styles/base16/horizon-light.min.css +7 -0
  1603. package/extensions/third-party/node_modules/highlight.js/styles/base16/humanoid-dark.css +163 -0
  1604. package/extensions/third-party/node_modules/highlight.js/styles/base16/humanoid-dark.min.css +7 -0
  1605. package/extensions/third-party/node_modules/highlight.js/styles/base16/humanoid-light.css +163 -0
  1606. package/extensions/third-party/node_modules/highlight.js/styles/base16/humanoid-light.min.css +7 -0
  1607. package/extensions/third-party/node_modules/highlight.js/styles/base16/ia-dark.css +163 -0
  1608. package/extensions/third-party/node_modules/highlight.js/styles/base16/ia-dark.min.css +7 -0
  1609. package/extensions/third-party/node_modules/highlight.js/styles/base16/ia-light.css +163 -0
  1610. package/extensions/third-party/node_modules/highlight.js/styles/base16/ia-light.min.css +7 -0
  1611. package/extensions/third-party/node_modules/highlight.js/styles/base16/icy-dark.css +163 -0
  1612. package/extensions/third-party/node_modules/highlight.js/styles/base16/icy-dark.min.css +7 -0
  1613. package/extensions/third-party/node_modules/highlight.js/styles/base16/ir-black.css +163 -0
  1614. package/extensions/third-party/node_modules/highlight.js/styles/base16/ir-black.min.css +7 -0
  1615. package/extensions/third-party/node_modules/highlight.js/styles/base16/isotope.css +163 -0
  1616. package/extensions/third-party/node_modules/highlight.js/styles/base16/isotope.min.css +7 -0
  1617. package/extensions/third-party/node_modules/highlight.js/styles/base16/kimber.css +163 -0
  1618. package/extensions/third-party/node_modules/highlight.js/styles/base16/kimber.min.css +7 -0
  1619. package/extensions/third-party/node_modules/highlight.js/styles/base16/london-tube.css +163 -0
  1620. package/extensions/third-party/node_modules/highlight.js/styles/base16/london-tube.min.css +7 -0
  1621. package/extensions/third-party/node_modules/highlight.js/styles/base16/macintosh.css +163 -0
  1622. package/extensions/third-party/node_modules/highlight.js/styles/base16/macintosh.min.css +7 -0
  1623. package/extensions/third-party/node_modules/highlight.js/styles/base16/marrakesh.css +163 -0
  1624. package/extensions/third-party/node_modules/highlight.js/styles/base16/marrakesh.min.css +7 -0
  1625. package/extensions/third-party/node_modules/highlight.js/styles/base16/materia.css +163 -0
  1626. package/extensions/third-party/node_modules/highlight.js/styles/base16/materia.min.css +7 -0
  1627. package/extensions/third-party/node_modules/highlight.js/styles/base16/material-darker.css +163 -0
  1628. package/extensions/third-party/node_modules/highlight.js/styles/base16/material-darker.min.css +7 -0
  1629. package/extensions/third-party/node_modules/highlight.js/styles/base16/material-lighter.css +163 -0
  1630. package/extensions/third-party/node_modules/highlight.js/styles/base16/material-lighter.min.css +7 -0
  1631. package/extensions/third-party/node_modules/highlight.js/styles/base16/material-palenight.css +163 -0
  1632. package/extensions/third-party/node_modules/highlight.js/styles/base16/material-palenight.min.css +7 -0
  1633. package/extensions/third-party/node_modules/highlight.js/styles/base16/material-vivid.css +163 -0
  1634. package/extensions/third-party/node_modules/highlight.js/styles/base16/material-vivid.min.css +7 -0
  1635. package/extensions/third-party/node_modules/highlight.js/styles/base16/material.css +163 -0
  1636. package/extensions/third-party/node_modules/highlight.js/styles/base16/material.min.css +7 -0
  1637. package/extensions/third-party/node_modules/highlight.js/styles/base16/mellow-purple.css +163 -0
  1638. package/extensions/third-party/node_modules/highlight.js/styles/base16/mellow-purple.min.css +7 -0
  1639. package/extensions/third-party/node_modules/highlight.js/styles/base16/mexico-light.css +163 -0
  1640. package/extensions/third-party/node_modules/highlight.js/styles/base16/mexico-light.min.css +7 -0
  1641. package/extensions/third-party/node_modules/highlight.js/styles/base16/mocha.css +163 -0
  1642. package/extensions/third-party/node_modules/highlight.js/styles/base16/mocha.min.css +7 -0
  1643. package/extensions/third-party/node_modules/highlight.js/styles/base16/monokai.css +163 -0
  1644. package/extensions/third-party/node_modules/highlight.js/styles/base16/monokai.min.css +7 -0
  1645. package/extensions/third-party/node_modules/highlight.js/styles/base16/nebula.css +163 -0
  1646. package/extensions/third-party/node_modules/highlight.js/styles/base16/nebula.min.css +7 -0
  1647. package/extensions/third-party/node_modules/highlight.js/styles/base16/nord.css +163 -0
  1648. package/extensions/third-party/node_modules/highlight.js/styles/base16/nord.min.css +7 -0
  1649. package/extensions/third-party/node_modules/highlight.js/styles/base16/nova.css +163 -0
  1650. package/extensions/third-party/node_modules/highlight.js/styles/base16/nova.min.css +7 -0
  1651. package/extensions/third-party/node_modules/highlight.js/styles/base16/ocean.css +163 -0
  1652. package/extensions/third-party/node_modules/highlight.js/styles/base16/ocean.min.css +7 -0
  1653. package/extensions/third-party/node_modules/highlight.js/styles/base16/oceanicnext.css +163 -0
  1654. package/extensions/third-party/node_modules/highlight.js/styles/base16/oceanicnext.min.css +7 -0
  1655. package/extensions/third-party/node_modules/highlight.js/styles/base16/one-light.css +163 -0
  1656. package/extensions/third-party/node_modules/highlight.js/styles/base16/one-light.min.css +7 -0
  1657. package/extensions/third-party/node_modules/highlight.js/styles/base16/onedark.css +163 -0
  1658. package/extensions/third-party/node_modules/highlight.js/styles/base16/onedark.min.css +7 -0
  1659. package/extensions/third-party/node_modules/highlight.js/styles/base16/outrun-dark.css +163 -0
  1660. package/extensions/third-party/node_modules/highlight.js/styles/base16/outrun-dark.min.css +7 -0
  1661. package/extensions/third-party/node_modules/highlight.js/styles/base16/papercolor-dark.css +163 -0
  1662. package/extensions/third-party/node_modules/highlight.js/styles/base16/papercolor-dark.min.css +7 -0
  1663. package/extensions/third-party/node_modules/highlight.js/styles/base16/papercolor-light.css +163 -0
  1664. package/extensions/third-party/node_modules/highlight.js/styles/base16/papercolor-light.min.css +7 -0
  1665. package/extensions/third-party/node_modules/highlight.js/styles/base16/paraiso.css +163 -0
  1666. package/extensions/third-party/node_modules/highlight.js/styles/base16/paraiso.min.css +7 -0
  1667. package/extensions/third-party/node_modules/highlight.js/styles/base16/pasque.css +163 -0
  1668. package/extensions/third-party/node_modules/highlight.js/styles/base16/pasque.min.css +7 -0
  1669. package/extensions/third-party/node_modules/highlight.js/styles/base16/phd.css +163 -0
  1670. package/extensions/third-party/node_modules/highlight.js/styles/base16/phd.min.css +7 -0
  1671. package/extensions/third-party/node_modules/highlight.js/styles/base16/pico.css +163 -0
  1672. package/extensions/third-party/node_modules/highlight.js/styles/base16/pico.min.css +7 -0
  1673. package/extensions/third-party/node_modules/highlight.js/styles/base16/pop.css +163 -0
  1674. package/extensions/third-party/node_modules/highlight.js/styles/base16/pop.min.css +7 -0
  1675. package/extensions/third-party/node_modules/highlight.js/styles/base16/porple.css +163 -0
  1676. package/extensions/third-party/node_modules/highlight.js/styles/base16/porple.min.css +7 -0
  1677. package/extensions/third-party/node_modules/highlight.js/styles/base16/qualia.css +163 -0
  1678. package/extensions/third-party/node_modules/highlight.js/styles/base16/qualia.min.css +7 -0
  1679. package/extensions/third-party/node_modules/highlight.js/styles/base16/railscasts.css +163 -0
  1680. package/extensions/third-party/node_modules/highlight.js/styles/base16/railscasts.min.css +7 -0
  1681. package/extensions/third-party/node_modules/highlight.js/styles/base16/rebecca.css +163 -0
  1682. package/extensions/third-party/node_modules/highlight.js/styles/base16/rebecca.min.css +7 -0
  1683. package/extensions/third-party/node_modules/highlight.js/styles/base16/ros-pine-dawn.css +163 -0
  1684. package/extensions/third-party/node_modules/highlight.js/styles/base16/ros-pine-dawn.min.css +7 -0
  1685. package/extensions/third-party/node_modules/highlight.js/styles/base16/ros-pine-moon.css +163 -0
  1686. package/extensions/third-party/node_modules/highlight.js/styles/base16/ros-pine-moon.min.css +7 -0
  1687. package/extensions/third-party/node_modules/highlight.js/styles/base16/ros-pine.css +163 -0
  1688. package/extensions/third-party/node_modules/highlight.js/styles/base16/ros-pine.min.css +7 -0
  1689. package/extensions/third-party/node_modules/highlight.js/styles/base16/sagelight.css +163 -0
  1690. package/extensions/third-party/node_modules/highlight.js/styles/base16/sagelight.min.css +7 -0
  1691. package/extensions/third-party/node_modules/highlight.js/styles/base16/sandcastle.css +163 -0
  1692. package/extensions/third-party/node_modules/highlight.js/styles/base16/sandcastle.min.css +7 -0
  1693. package/extensions/third-party/node_modules/highlight.js/styles/base16/seti-ui.css +163 -0
  1694. package/extensions/third-party/node_modules/highlight.js/styles/base16/seti-ui.min.css +7 -0
  1695. package/extensions/third-party/node_modules/highlight.js/styles/base16/shapeshifter.css +163 -0
  1696. package/extensions/third-party/node_modules/highlight.js/styles/base16/shapeshifter.min.css +7 -0
  1697. package/extensions/third-party/node_modules/highlight.js/styles/base16/silk-dark.css +163 -0
  1698. package/extensions/third-party/node_modules/highlight.js/styles/base16/silk-dark.min.css +7 -0
  1699. package/extensions/third-party/node_modules/highlight.js/styles/base16/silk-light.css +163 -0
  1700. package/extensions/third-party/node_modules/highlight.js/styles/base16/silk-light.min.css +7 -0
  1701. package/extensions/third-party/node_modules/highlight.js/styles/base16/snazzy.css +163 -0
  1702. package/extensions/third-party/node_modules/highlight.js/styles/base16/snazzy.min.css +7 -0
  1703. package/extensions/third-party/node_modules/highlight.js/styles/base16/solar-flare-light.css +163 -0
  1704. package/extensions/third-party/node_modules/highlight.js/styles/base16/solar-flare-light.min.css +7 -0
  1705. package/extensions/third-party/node_modules/highlight.js/styles/base16/solar-flare.css +163 -0
  1706. package/extensions/third-party/node_modules/highlight.js/styles/base16/solar-flare.min.css +7 -0
  1707. package/extensions/third-party/node_modules/highlight.js/styles/base16/solarized-dark.css +163 -0
  1708. package/extensions/third-party/node_modules/highlight.js/styles/base16/solarized-dark.min.css +7 -0
  1709. package/extensions/third-party/node_modules/highlight.js/styles/base16/solarized-light.css +163 -0
  1710. package/extensions/third-party/node_modules/highlight.js/styles/base16/solarized-light.min.css +7 -0
  1711. package/extensions/third-party/node_modules/highlight.js/styles/base16/spacemacs.css +163 -0
  1712. package/extensions/third-party/node_modules/highlight.js/styles/base16/spacemacs.min.css +7 -0
  1713. package/extensions/third-party/node_modules/highlight.js/styles/base16/summercamp.css +163 -0
  1714. package/extensions/third-party/node_modules/highlight.js/styles/base16/summercamp.min.css +7 -0
  1715. package/extensions/third-party/node_modules/highlight.js/styles/base16/summerfruit-dark.css +163 -0
  1716. package/extensions/third-party/node_modules/highlight.js/styles/base16/summerfruit-dark.min.css +7 -0
  1717. package/extensions/third-party/node_modules/highlight.js/styles/base16/summerfruit-light.css +163 -0
  1718. package/extensions/third-party/node_modules/highlight.js/styles/base16/summerfruit-light.min.css +7 -0
  1719. package/extensions/third-party/node_modules/highlight.js/styles/base16/synth-midnight-terminal-dark.css +163 -0
  1720. package/extensions/third-party/node_modules/highlight.js/styles/base16/synth-midnight-terminal-dark.min.css +7 -0
  1721. package/extensions/third-party/node_modules/highlight.js/styles/base16/synth-midnight-terminal-light.css +163 -0
  1722. package/extensions/third-party/node_modules/highlight.js/styles/base16/synth-midnight-terminal-light.min.css +7 -0
  1723. package/extensions/third-party/node_modules/highlight.js/styles/base16/tango.css +163 -0
  1724. package/extensions/third-party/node_modules/highlight.js/styles/base16/tango.min.css +7 -0
  1725. package/extensions/third-party/node_modules/highlight.js/styles/base16/tender.css +163 -0
  1726. package/extensions/third-party/node_modules/highlight.js/styles/base16/tender.min.css +7 -0
  1727. package/extensions/third-party/node_modules/highlight.js/styles/base16/tomorrow-night.css +163 -0
  1728. package/extensions/third-party/node_modules/highlight.js/styles/base16/tomorrow-night.min.css +7 -0
  1729. package/extensions/third-party/node_modules/highlight.js/styles/base16/tomorrow.css +163 -0
  1730. package/extensions/third-party/node_modules/highlight.js/styles/base16/tomorrow.min.css +7 -0
  1731. package/extensions/third-party/node_modules/highlight.js/styles/base16/twilight.css +163 -0
  1732. package/extensions/third-party/node_modules/highlight.js/styles/base16/twilight.min.css +7 -0
  1733. package/extensions/third-party/node_modules/highlight.js/styles/base16/unikitty-dark.css +163 -0
  1734. package/extensions/third-party/node_modules/highlight.js/styles/base16/unikitty-dark.min.css +7 -0
  1735. package/extensions/third-party/node_modules/highlight.js/styles/base16/unikitty-light.css +163 -0
  1736. package/extensions/third-party/node_modules/highlight.js/styles/base16/unikitty-light.min.css +7 -0
  1737. package/extensions/third-party/node_modules/highlight.js/styles/base16/vulcan.css +163 -0
  1738. package/extensions/third-party/node_modules/highlight.js/styles/base16/vulcan.min.css +7 -0
  1739. package/extensions/third-party/node_modules/highlight.js/styles/base16/windows-10-light.css +163 -0
  1740. package/extensions/third-party/node_modules/highlight.js/styles/base16/windows-10-light.min.css +7 -0
  1741. package/extensions/third-party/node_modules/highlight.js/styles/base16/windows-10.css +163 -0
  1742. package/extensions/third-party/node_modules/highlight.js/styles/base16/windows-10.min.css +7 -0
  1743. package/extensions/third-party/node_modules/highlight.js/styles/base16/windows-95-light.css +163 -0
  1744. package/extensions/third-party/node_modules/highlight.js/styles/base16/windows-95-light.min.css +7 -0
  1745. package/extensions/third-party/node_modules/highlight.js/styles/base16/windows-95.css +163 -0
  1746. package/extensions/third-party/node_modules/highlight.js/styles/base16/windows-95.min.css +7 -0
  1747. package/extensions/third-party/node_modules/highlight.js/styles/base16/windows-high-contrast-light.css +163 -0
  1748. package/extensions/third-party/node_modules/highlight.js/styles/base16/windows-high-contrast-light.min.css +7 -0
  1749. package/extensions/third-party/node_modules/highlight.js/styles/base16/windows-high-contrast.css +163 -0
  1750. package/extensions/third-party/node_modules/highlight.js/styles/base16/windows-high-contrast.min.css +7 -0
  1751. package/extensions/third-party/node_modules/highlight.js/styles/base16/windows-nt-light.css +163 -0
  1752. package/extensions/third-party/node_modules/highlight.js/styles/base16/windows-nt-light.min.css +7 -0
  1753. package/extensions/third-party/node_modules/highlight.js/styles/base16/windows-nt.css +163 -0
  1754. package/extensions/third-party/node_modules/highlight.js/styles/base16/windows-nt.min.css +7 -0
  1755. package/extensions/third-party/node_modules/highlight.js/styles/base16/woodland.css +163 -0
  1756. package/extensions/third-party/node_modules/highlight.js/styles/base16/woodland.min.css +7 -0
  1757. package/extensions/third-party/node_modules/highlight.js/styles/base16/xcode-dusk.css +163 -0
  1758. package/extensions/third-party/node_modules/highlight.js/styles/base16/xcode-dusk.min.css +7 -0
  1759. package/extensions/third-party/node_modules/highlight.js/styles/base16/zenburn.css +163 -0
  1760. package/extensions/third-party/node_modules/highlight.js/styles/base16/zenburn.min.css +7 -0
  1761. package/extensions/third-party/node_modules/highlight.js/styles/brown-paper.css +63 -0
  1762. package/extensions/third-party/node_modules/highlight.js/styles/brown-paper.min.css +1 -0
  1763. package/extensions/third-party/node_modules/highlight.js/styles/brown-papersq.png +0 -0
  1764. package/extensions/third-party/node_modules/highlight.js/styles/codepen-embed.css +57 -0
  1765. package/extensions/third-party/node_modules/highlight.js/styles/codepen-embed.min.css +1 -0
  1766. package/extensions/third-party/node_modules/highlight.js/styles/color-brewer.css +66 -0
  1767. package/extensions/third-party/node_modules/highlight.js/styles/color-brewer.min.css +1 -0
  1768. package/extensions/third-party/node_modules/highlight.js/styles/cybertopia-cherry.css +104 -0
  1769. package/extensions/third-party/node_modules/highlight.js/styles/cybertopia-cherry.min.css +1 -0
  1770. package/extensions/third-party/node_modules/highlight.js/styles/cybertopia-dimmer.css +104 -0
  1771. package/extensions/third-party/node_modules/highlight.js/styles/cybertopia-dimmer.min.css +1 -0
  1772. package/extensions/third-party/node_modules/highlight.js/styles/cybertopia-icecap.css +104 -0
  1773. package/extensions/third-party/node_modules/highlight.js/styles/cybertopia-icecap.min.css +1 -0
  1774. package/extensions/third-party/node_modules/highlight.js/styles/cybertopia-saturated.css +104 -0
  1775. package/extensions/third-party/node_modules/highlight.js/styles/cybertopia-saturated.min.css +1 -0
  1776. package/extensions/third-party/node_modules/highlight.js/styles/dark.css +62 -0
  1777. package/extensions/third-party/node_modules/highlight.js/styles/dark.min.css +1 -0
  1778. package/extensions/third-party/node_modules/highlight.js/styles/default.css +117 -0
  1779. package/extensions/third-party/node_modules/highlight.js/styles/default.min.css +9 -0
  1780. package/extensions/third-party/node_modules/highlight.js/styles/devibeans.css +90 -0
  1781. package/extensions/third-party/node_modules/highlight.js/styles/devibeans.min.css +7 -0
  1782. package/extensions/third-party/node_modules/highlight.js/styles/docco.css +83 -0
  1783. package/extensions/third-party/node_modules/highlight.js/styles/docco.min.css +1 -0
  1784. package/extensions/third-party/node_modules/highlight.js/styles/equinox.css +71 -0
  1785. package/extensions/third-party/node_modules/highlight.js/styles/equinox.min.css +1 -0
  1786. package/extensions/third-party/node_modules/highlight.js/styles/far.css +67 -0
  1787. package/extensions/third-party/node_modules/highlight.js/styles/far.min.css +1 -0
  1788. package/extensions/third-party/node_modules/highlight.js/styles/felipec.css +94 -0
  1789. package/extensions/third-party/node_modules/highlight.js/styles/felipec.min.css +7 -0
  1790. package/extensions/third-party/node_modules/highlight.js/styles/foundation.css +80 -0
  1791. package/extensions/third-party/node_modules/highlight.js/styles/foundation.min.css +1 -0
  1792. package/extensions/third-party/node_modules/highlight.js/styles/github-dark-dimmed.css +117 -0
  1793. package/extensions/third-party/node_modules/highlight.js/styles/github-dark-dimmed.min.css +9 -0
  1794. package/extensions/third-party/node_modules/highlight.js/styles/github-dark.css +118 -0
  1795. package/extensions/third-party/node_modules/highlight.js/styles/github-dark.min.css +10 -0
  1796. package/extensions/third-party/node_modules/highlight.js/styles/github.css +118 -0
  1797. package/extensions/third-party/node_modules/highlight.js/styles/github.min.css +10 -0
  1798. package/extensions/third-party/node_modules/highlight.js/styles/gml.css +72 -0
  1799. package/extensions/third-party/node_modules/highlight.js/styles/gml.min.css +1 -0
  1800. package/extensions/third-party/node_modules/highlight.js/styles/googlecode.css +79 -0
  1801. package/extensions/third-party/node_modules/highlight.js/styles/googlecode.min.css +1 -0
  1802. package/extensions/third-party/node_modules/highlight.js/styles/gradient-dark.css +90 -0
  1803. package/extensions/third-party/node_modules/highlight.js/styles/gradient-dark.min.css +1 -0
  1804. package/extensions/third-party/node_modules/highlight.js/styles/gradient-light.css +90 -0
  1805. package/extensions/third-party/node_modules/highlight.js/styles/gradient-light.min.css +1 -0
  1806. package/extensions/third-party/node_modules/highlight.js/styles/grayscale.css +89 -0
  1807. package/extensions/third-party/node_modules/highlight.js/styles/grayscale.min.css +1 -0
  1808. package/extensions/third-party/node_modules/highlight.js/styles/hybrid.css +88 -0
  1809. package/extensions/third-party/node_modules/highlight.js/styles/hybrid.min.css +1 -0
  1810. package/extensions/third-party/node_modules/highlight.js/styles/idea.css +86 -0
  1811. package/extensions/third-party/node_modules/highlight.js/styles/idea.min.css +1 -0
  1812. package/extensions/third-party/node_modules/highlight.js/styles/intellij-light.css +107 -0
  1813. package/extensions/third-party/node_modules/highlight.js/styles/intellij-light.min.css +1 -0
  1814. package/extensions/third-party/node_modules/highlight.js/styles/ir-black.css +66 -0
  1815. package/extensions/third-party/node_modules/highlight.js/styles/ir-black.min.css +1 -0
  1816. package/extensions/third-party/node_modules/highlight.js/styles/isbl-editor-dark.css +94 -0
  1817. package/extensions/third-party/node_modules/highlight.js/styles/isbl-editor-dark.min.css +1 -0
  1818. package/extensions/third-party/node_modules/highlight.js/styles/isbl-editor-light.css +93 -0
  1819. package/extensions/third-party/node_modules/highlight.js/styles/isbl-editor-light.min.css +1 -0
  1820. package/extensions/third-party/node_modules/highlight.js/styles/kimbie-dark.css +69 -0
  1821. package/extensions/third-party/node_modules/highlight.js/styles/kimbie-dark.min.css +1 -0
  1822. package/extensions/third-party/node_modules/highlight.js/styles/kimbie-light.css +69 -0
  1823. package/extensions/third-party/node_modules/highlight.js/styles/kimbie-light.min.css +1 -0
  1824. package/extensions/third-party/node_modules/highlight.js/styles/lightfair.css +81 -0
  1825. package/extensions/third-party/node_modules/highlight.js/styles/lightfair.min.css +1 -0
  1826. package/extensions/third-party/node_modules/highlight.js/styles/lioshi.css +76 -0
  1827. package/extensions/third-party/node_modules/highlight.js/styles/lioshi.min.css +1 -0
  1828. package/extensions/third-party/node_modules/highlight.js/styles/magula.css +66 -0
  1829. package/extensions/third-party/node_modules/highlight.js/styles/magula.min.css +1 -0
  1830. package/extensions/third-party/node_modules/highlight.js/styles/mono-blue.css +56 -0
  1831. package/extensions/third-party/node_modules/highlight.js/styles/mono-blue.min.css +1 -0
  1832. package/extensions/third-party/node_modules/highlight.js/styles/monokai-sublime.css +76 -0
  1833. package/extensions/third-party/node_modules/highlight.js/styles/monokai-sublime.min.css +1 -0
  1834. package/extensions/third-party/node_modules/highlight.js/styles/monokai.css +70 -0
  1835. package/extensions/third-party/node_modules/highlight.js/styles/monokai.min.css +1 -0
  1836. package/extensions/third-party/node_modules/highlight.js/styles/night-owl.css +174 -0
  1837. package/extensions/third-party/node_modules/highlight.js/styles/night-owl.min.css +1 -0
  1838. package/extensions/third-party/node_modules/highlight.js/styles/nnfx-dark.css +104 -0
  1839. package/extensions/third-party/node_modules/highlight.js/styles/nnfx-dark.min.css +10 -0
  1840. package/extensions/third-party/node_modules/highlight.js/styles/nnfx-light.css +104 -0
  1841. package/extensions/third-party/node_modules/highlight.js/styles/nnfx-light.min.css +10 -0
  1842. package/extensions/third-party/node_modules/highlight.js/styles/nord.css +275 -0
  1843. package/extensions/third-party/node_modules/highlight.js/styles/nord.min.css +1 -0
  1844. package/extensions/third-party/node_modules/highlight.js/styles/obsidian.css +79 -0
  1845. package/extensions/third-party/node_modules/highlight.js/styles/obsidian.min.css +1 -0
  1846. package/extensions/third-party/node_modules/highlight.js/styles/panda-syntax-dark.css +92 -0
  1847. package/extensions/third-party/node_modules/highlight.js/styles/panda-syntax-dark.min.css +1 -0
  1848. package/extensions/third-party/node_modules/highlight.js/styles/panda-syntax-light.css +89 -0
  1849. package/extensions/third-party/node_modules/highlight.js/styles/panda-syntax-light.min.css +1 -0
  1850. package/extensions/third-party/node_modules/highlight.js/styles/paraiso-dark.css +67 -0
  1851. package/extensions/third-party/node_modules/highlight.js/styles/paraiso-dark.min.css +1 -0
  1852. package/extensions/third-party/node_modules/highlight.js/styles/paraiso-light.css +67 -0
  1853. package/extensions/third-party/node_modules/highlight.js/styles/paraiso-light.min.css +1 -0
  1854. package/extensions/third-party/node_modules/highlight.js/styles/pojoaque.css +76 -0
  1855. package/extensions/third-party/node_modules/highlight.js/styles/pojoaque.jpg +0 -0
  1856. package/extensions/third-party/node_modules/highlight.js/styles/pojoaque.min.css +1 -0
  1857. package/extensions/third-party/node_modules/highlight.js/styles/purebasic.css +103 -0
  1858. package/extensions/third-party/node_modules/highlight.js/styles/purebasic.min.css +1 -0
  1859. package/extensions/third-party/node_modules/highlight.js/styles/qtcreator-dark.css +76 -0
  1860. package/extensions/third-party/node_modules/highlight.js/styles/qtcreator-dark.min.css +1 -0
  1861. package/extensions/third-party/node_modules/highlight.js/styles/qtcreator-light.css +74 -0
  1862. package/extensions/third-party/node_modules/highlight.js/styles/qtcreator-light.min.css +1 -0
  1863. package/extensions/third-party/node_modules/highlight.js/styles/rainbow.css +77 -0
  1864. package/extensions/third-party/node_modules/highlight.js/styles/rainbow.min.css +1 -0
  1865. package/extensions/third-party/node_modules/highlight.js/styles/rose-pine-dawn.css +107 -0
  1866. package/extensions/third-party/node_modules/highlight.js/styles/rose-pine-dawn.min.css +4 -0
  1867. package/extensions/third-party/node_modules/highlight.js/styles/rose-pine-moon.css +109 -0
  1868. package/extensions/third-party/node_modules/highlight.js/styles/rose-pine-moon.min.css +4 -0
  1869. package/extensions/third-party/node_modules/highlight.js/styles/rose-pine.css +109 -0
  1870. package/extensions/third-party/node_modules/highlight.js/styles/rose-pine.min.css +4 -0
  1871. package/extensions/third-party/node_modules/highlight.js/styles/routeros.css +86 -0
  1872. package/extensions/third-party/node_modules/highlight.js/styles/routeros.min.css +1 -0
  1873. package/extensions/third-party/node_modules/highlight.js/styles/school-book.css +62 -0
  1874. package/extensions/third-party/node_modules/highlight.js/styles/school-book.min.css +1 -0
  1875. package/extensions/third-party/node_modules/highlight.js/styles/shades-of-purple.css +84 -0
  1876. package/extensions/third-party/node_modules/highlight.js/styles/shades-of-purple.min.css +1 -0
  1877. package/extensions/third-party/node_modules/highlight.js/styles/srcery.css +89 -0
  1878. package/extensions/third-party/node_modules/highlight.js/styles/srcery.min.css +1 -0
  1879. package/extensions/third-party/node_modules/highlight.js/styles/stackoverflow-dark.css +117 -0
  1880. package/extensions/third-party/node_modules/highlight.js/styles/stackoverflow-dark.min.css +13 -0
  1881. package/extensions/third-party/node_modules/highlight.js/styles/stackoverflow-light.css +117 -0
  1882. package/extensions/third-party/node_modules/highlight.js/styles/stackoverflow-light.min.css +13 -0
  1883. package/extensions/third-party/node_modules/highlight.js/styles/sunburst.css +89 -0
  1884. package/extensions/third-party/node_modules/highlight.js/styles/sunburst.min.css +1 -0
  1885. package/extensions/third-party/node_modules/highlight.js/styles/tokyo-night-dark.css +114 -0
  1886. package/extensions/third-party/node_modules/highlight.js/styles/tokyo-night-dark.min.css +8 -0
  1887. package/extensions/third-party/node_modules/highlight.js/styles/tokyo-night-light.css +114 -0
  1888. package/extensions/third-party/node_modules/highlight.js/styles/tokyo-night-light.min.css +8 -0
  1889. package/extensions/third-party/node_modules/highlight.js/styles/tomorrow-night-blue.css +69 -0
  1890. package/extensions/third-party/node_modules/highlight.js/styles/tomorrow-night-blue.min.css +1 -0
  1891. package/extensions/third-party/node_modules/highlight.js/styles/tomorrow-night-bright.css +68 -0
  1892. package/extensions/third-party/node_modules/highlight.js/styles/tomorrow-night-bright.min.css +1 -0
  1893. package/extensions/third-party/node_modules/highlight.js/styles/vs-dark.css +61 -0
  1894. package/extensions/third-party/node_modules/highlight.js/styles/vs-dark.min.css +1 -0
  1895. package/extensions/third-party/node_modules/highlight.js/styles/vs.css +63 -0
  1896. package/extensions/third-party/node_modules/highlight.js/styles/vs.min.css +1 -0
  1897. package/extensions/third-party/node_modules/highlight.js/styles/vs2015.css +100 -0
  1898. package/extensions/third-party/node_modules/highlight.js/styles/vs2015.min.css +1 -0
  1899. package/extensions/third-party/node_modules/highlight.js/styles/xcode.css +90 -0
  1900. package/extensions/third-party/node_modules/highlight.js/styles/xcode.min.css +1 -0
  1901. package/extensions/third-party/node_modules/highlight.js/styles/xt256.css +79 -0
  1902. package/extensions/third-party/node_modules/highlight.js/styles/xt256.min.css +1 -0
  1903. package/extensions/third-party/node_modules/highlight.js/types/index.d.ts +274 -0
  1904. package/extensions/third-party/node_modules/jiti/LICENSE +21 -0
  1905. package/extensions/third-party/node_modules/jiti/README.md +258 -0
  1906. package/extensions/third-party/node_modules/jiti/dist/babel.cjs +257 -0
  1907. package/extensions/third-party/node_modules/jiti/dist/jiti.cjs +1 -0
  1908. package/extensions/third-party/node_modules/jiti/lib/jiti-cli.mjs +34 -0
  1909. package/extensions/third-party/node_modules/jiti/lib/jiti-hooks.mjs +124 -0
  1910. package/extensions/third-party/node_modules/jiti/lib/jiti-native.mjs +121 -0
  1911. package/extensions/third-party/node_modules/jiti/lib/jiti-register.d.mts +1 -0
  1912. package/extensions/third-party/node_modules/jiti/lib/jiti-register.mjs +4 -0
  1913. package/extensions/third-party/node_modules/jiti/lib/jiti-static.mjs +23 -0
  1914. package/extensions/third-party/node_modules/jiti/lib/jiti.cjs +30 -0
  1915. package/extensions/third-party/node_modules/jiti/lib/jiti.d.cts +8 -0
  1916. package/extensions/third-party/node_modules/jiti/lib/jiti.d.mts +8 -0
  1917. package/extensions/third-party/node_modules/jiti/lib/jiti.mjs +29 -0
  1918. package/extensions/third-party/node_modules/jiti/lib/types.d.ts +420 -0
  1919. package/extensions/third-party/node_modules/jiti/package.json +146 -0
  1920. package/extensions/third-party/node_modules/pi-subagents/CHANGELOG.md +1905 -0
  1921. package/extensions/third-party/node_modules/pi-subagents/LICENSE +21 -0
  1922. package/extensions/third-party/node_modules/pi-subagents/README.md +122 -0
  1923. package/extensions/third-party/node_modules/pi-subagents/agents/delegate.md +14 -0
  1924. package/extensions/third-party/node_modules/pi-subagents/agents/oracle.md +78 -0
  1925. package/extensions/third-party/node_modules/pi-subagents/agents/researcher.md +52 -0
  1926. package/extensions/third-party/node_modules/pi-subagents/agents/reviewer.md +79 -0
  1927. package/extensions/third-party/node_modules/pi-subagents/agents/scout.md +50 -0
  1928. package/extensions/third-party/node_modules/pi-subagents/agents/worker.md +59 -0
  1929. package/extensions/third-party/node_modules/pi-subagents/async-retention-discovery-worker.mjs +180 -0
  1930. package/extensions/third-party/node_modules/pi-subagents/docs/agents.md +383 -0
  1931. package/extensions/third-party/node_modules/pi-subagents/docs/configuration.md +457 -0
  1932. package/extensions/third-party/node_modules/pi-subagents/docs/extension-api.md +385 -0
  1933. package/extensions/third-party/node_modules/pi-subagents/docs/missions.md +121 -0
  1934. package/extensions/third-party/node_modules/pi-subagents/docs/models.md +194 -0
  1935. package/extensions/third-party/node_modules/pi-subagents/docs/observability.md +250 -0
  1936. package/extensions/third-party/node_modules/pi-subagents/docs/tool-reference.md +359 -0
  1937. package/extensions/third-party/node_modules/pi-subagents/docs/watchdog.md +176 -0
  1938. package/extensions/third-party/node_modules/pi-subagents/docs/workflows.md +331 -0
  1939. package/extensions/third-party/node_modules/pi-subagents/index.ts +1 -0
  1940. package/extensions/third-party/node_modules/pi-subagents/inspector-runner.mjs +11 -0
  1941. package/extensions/third-party/node_modules/pi-subagents/install.mjs +93 -0
  1942. package/extensions/third-party/node_modules/pi-subagents/package.json +106 -0
  1943. package/extensions/third-party/node_modules/pi-subagents/prompts/gather-context-and-clarify.md +13 -0
  1944. package/extensions/third-party/node_modules/pi-subagents/prompts/parallel-cleanup.md +59 -0
  1945. package/extensions/third-party/node_modules/pi-subagents/prompts/parallel-research.md +50 -0
  1946. package/extensions/third-party/node_modules/pi-subagents/prompts/parallel-review.md +54 -0
  1947. package/extensions/third-party/node_modules/pi-subagents/prompts/review-loop.md +43 -0
  1948. package/extensions/third-party/node_modules/pi-subagents/skills/pi-subagents/SKILL.md +45 -0
  1949. package/extensions/third-party/node_modules/pi-subagents/skills/pi-subagents/references/constraints-and-recipes.md +258 -0
  1950. package/extensions/third-party/node_modules/pi-subagents/skills/pi-subagents/references/execution-controls.md +443 -0
  1951. package/extensions/third-party/node_modules/pi-subagents/skills/pi-subagents/references/management-authoring-rpc.md +161 -0
  1952. package/extensions/third-party/node_modules/pi-subagents/skills/pi-subagents/references/multi-lane-orchestration.md +39 -0
  1953. package/extensions/third-party/node_modules/pi-subagents/skills/pi-subagents/references/prompting-and-roles.md +260 -0
  1954. package/extensions/third-party/node_modules/pi-subagents/src/agents/agent-management.ts +1029 -0
  1955. package/extensions/third-party/node_modules/pi-subagents/src/agents/agent-memory.ts +254 -0
  1956. package/extensions/third-party/node_modules/pi-subagents/src/agents/agent-refinements.ts +624 -0
  1957. package/extensions/third-party/node_modules/pi-subagents/src/agents/agent-scope.ts +6 -0
  1958. package/extensions/third-party/node_modules/pi-subagents/src/agents/agent-selection.ts +25 -0
  1959. package/extensions/third-party/node_modules/pi-subagents/src/agents/agent-serializer.ts +165 -0
  1960. package/extensions/third-party/node_modules/pi-subagents/src/agents/agents.ts +2055 -0
  1961. package/extensions/third-party/node_modules/pi-subagents/src/agents/chain-serializer.ts +280 -0
  1962. package/extensions/third-party/node_modules/pi-subagents/src/agents/frontmatter.ts +153 -0
  1963. package/extensions/third-party/node_modules/pi-subagents/src/agents/identity.ts +30 -0
  1964. package/extensions/third-party/node_modules/pi-subagents/src/agents/proactive-skills.ts +194 -0
  1965. package/extensions/third-party/node_modules/pi-subagents/src/agents/skills.ts +754 -0
  1966. package/extensions/third-party/node_modules/pi-subagents/src/api/background-work.ts +197 -0
  1967. package/extensions/third-party/node_modules/pi-subagents/src/api/capability-ceiling.ts +17 -0
  1968. package/extensions/third-party/node_modules/pi-subagents/src/api/control-channel.ts +4 -0
  1969. package/extensions/third-party/node_modules/pi-subagents/src/api/delegation.ts +119 -0
  1970. package/extensions/third-party/node_modules/pi-subagents/src/api/external-job-provider.ts +186 -0
  1971. package/extensions/third-party/node_modules/pi-subagents/src/api/external-runs.ts +219 -0
  1972. package/extensions/third-party/node_modules/pi-subagents/src/api/intercom-bridge.ts +3 -0
  1973. package/extensions/third-party/node_modules/pi-subagents/src/api/pi-args.ts +5 -0
  1974. package/extensions/third-party/node_modules/pi-subagents/src/api/preflight.ts +437 -0
  1975. package/extensions/third-party/node_modules/pi-subagents/src/api/project-panes.ts +30 -0
  1976. package/extensions/third-party/node_modules/pi-subagents/src/api/shared-types.ts +21 -0
  1977. package/extensions/third-party/node_modules/pi-subagents/src/extension/config.ts +162 -0
  1978. package/extensions/third-party/node_modules/pi-subagents/src/extension/control-notices.ts +58 -0
  1979. package/extensions/third-party/node_modules/pi-subagents/src/extension/doctor.ts +267 -0
  1980. package/extensions/third-party/node_modules/pi-subagents/src/extension/fanout-child.ts +202 -0
  1981. package/extensions/third-party/node_modules/pi-subagents/src/extension/index.ts +1006 -0
  1982. package/extensions/third-party/node_modules/pi-subagents/src/extension/public-execution.ts +133 -0
  1983. package/extensions/third-party/node_modules/pi-subagents/src/extension/rpc.ts +652 -0
  1984. package/extensions/third-party/node_modules/pi-subagents/src/extension/schemas.ts +379 -0
  1985. package/extensions/third-party/node_modules/pi-subagents/src/extension/steering-notices.ts +35 -0
  1986. package/extensions/third-party/node_modules/pi-subagents/src/extension/subagent-guide.ts +39 -0
  1987. package/extensions/third-party/node_modules/pi-subagents/src/extension/tool-description.ts +197 -0
  1988. package/extensions/third-party/node_modules/pi-subagents/src/inspectors/herdr/actions.ts +234 -0
  1989. package/extensions/third-party/node_modules/pi-subagents/src/inspectors/herdr/client.ts +130 -0
  1990. package/extensions/third-party/node_modules/pi-subagents/src/inspectors/herdr/inspector-runner.ts +155 -0
  1991. package/extensions/third-party/node_modules/pi-subagents/src/inspectors/herdr/project-panes.ts +546 -0
  1992. package/extensions/third-party/node_modules/pi-subagents/src/inspectors/herdr/shell-command.ts +16 -0
  1993. package/extensions/third-party/node_modules/pi-subagents/src/integrations/herdr-status.ts +330 -0
  1994. package/extensions/third-party/node_modules/pi-subagents/src/intercom/intercom-bridge.ts +191 -0
  1995. package/extensions/third-party/node_modules/pi-subagents/src/intercom/native-supervisor-channel.ts +812 -0
  1996. package/extensions/third-party/node_modules/pi-subagents/src/intercom/result-intercom.ts +421 -0
  1997. package/extensions/third-party/node_modules/pi-subagents/src/missions/actions.ts +433 -0
  1998. package/extensions/third-party/node_modules/pi-subagents/src/missions/goal-driver.ts +164 -0
  1999. package/extensions/third-party/node_modules/pi-subagents/src/missions/lifecycle.ts +367 -0
  2000. package/extensions/third-party/node_modules/pi-subagents/src/missions/store.ts +584 -0
  2001. package/extensions/third-party/node_modules/pi-subagents/src/missions/types.ts +190 -0
  2002. package/extensions/third-party/node_modules/pi-subagents/src/missions/workflow-state.ts +260 -0
  2003. package/extensions/third-party/node_modules/pi-subagents/src/policy/authority.ts +46 -0
  2004. package/extensions/third-party/node_modules/pi-subagents/src/profiles/profiles.ts +663 -0
  2005. package/extensions/third-party/node_modules/pi-subagents/src/runs/background/active-async-capacity.ts +431 -0
  2006. package/extensions/third-party/node_modules/pi-subagents/src/runs/background/active-run-index.ts +139 -0
  2007. package/extensions/third-party/node_modules/pi-subagents/src/runs/background/async-execution.ts +1739 -0
  2008. package/extensions/third-party/node_modules/pi-subagents/src/runs/background/async-job-tracker.ts +692 -0
  2009. package/extensions/third-party/node_modules/pi-subagents/src/runs/background/async-resume.ts +601 -0
  2010. package/extensions/third-party/node_modules/pi-subagents/src/runs/background/async-retention.ts +886 -0
  2011. package/extensions/third-party/node_modules/pi-subagents/src/runs/background/async-status-snapshot.ts +277 -0
  2012. package/extensions/third-party/node_modules/pi-subagents/src/runs/background/async-status.ts +577 -0
  2013. package/extensions/third-party/node_modules/pi-subagents/src/runs/background/auto-drain.ts +67 -0
  2014. package/extensions/third-party/node_modules/pi-subagents/src/runs/background/chain-append.ts +316 -0
  2015. package/extensions/third-party/node_modules/pi-subagents/src/runs/background/chain-root-attachment.ts +199 -0
  2016. package/extensions/third-party/node_modules/pi-subagents/src/runs/background/completion-batcher.ts +168 -0
  2017. package/extensions/third-party/node_modules/pi-subagents/src/runs/background/completion-dedupe.ts +58 -0
  2018. package/extensions/third-party/node_modules/pi-subagents/src/runs/background/completion-replay.ts +287 -0
  2019. package/extensions/third-party/node_modules/pi-subagents/src/runs/background/control-channel.ts +679 -0
  2020. package/extensions/third-party/node_modules/pi-subagents/src/runs/background/fleet-view.ts +604 -0
  2021. package/extensions/third-party/node_modules/pi-subagents/src/runs/background/index-segment.ts +59 -0
  2022. package/extensions/third-party/node_modules/pi-subagents/src/runs/background/inspect-rpc.ts +443 -0
  2023. package/extensions/third-party/node_modules/pi-subagents/src/runs/background/notify.ts +358 -0
  2024. package/extensions/third-party/node_modules/pi-subagents/src/runs/background/owned-process-tree.ts +104 -0
  2025. package/extensions/third-party/node_modules/pi-subagents/src/runs/background/parallel-groups.ts +45 -0
  2026. package/extensions/third-party/node_modules/pi-subagents/src/runs/background/process-terminal.ts +294 -0
  2027. package/extensions/third-party/node_modules/pi-subagents/src/runs/background/result-files.ts +505 -0
  2028. package/extensions/third-party/node_modules/pi-subagents/src/runs/background/result-watcher.ts +760 -0
  2029. package/extensions/third-party/node_modules/pi-subagents/src/runs/background/resume-guidance.ts +56 -0
  2030. package/extensions/third-party/node_modules/pi-subagents/src/runs/background/retained-children.ts +135 -0
  2031. package/extensions/third-party/node_modules/pi-subagents/src/runs/background/run-id-query.ts +7 -0
  2032. package/extensions/third-party/node_modules/pi-subagents/src/runs/background/run-id-resolver.ts +175 -0
  2033. package/extensions/third-party/node_modules/pi-subagents/src/runs/background/run-status.ts +632 -0
  2034. package/extensions/third-party/node_modules/pi-subagents/src/runs/background/scheduled-runs.ts +823 -0
  2035. package/extensions/third-party/node_modules/pi-subagents/src/runs/background/stale-run-reconciler.ts +416 -0
  2036. package/extensions/third-party/node_modules/pi-subagents/src/runs/background/steering.ts +249 -0
  2037. package/extensions/third-party/node_modules/pi-subagents/src/runs/background/subagent-runner.ts +5179 -0
  2038. package/extensions/third-party/node_modules/pi-subagents/src/runs/background/subagent-wait.ts +702 -0
  2039. package/extensions/third-party/node_modules/pi-subagents/src/runs/background/terminal-run-index.ts +129 -0
  2040. package/extensions/third-party/node_modules/pi-subagents/src/runs/background/top-level-async.ts +14 -0
  2041. package/extensions/third-party/node_modules/pi-subagents/src/runs/background/wait-completions.ts +166 -0
  2042. package/extensions/third-party/node_modules/pi-subagents/src/runs/background/wait-config.ts +36 -0
  2043. package/extensions/third-party/node_modules/pi-subagents/src/runs/background/wait-subscriptions.ts +464 -0
  2044. package/extensions/third-party/node_modules/pi-subagents/src/runs/background/wait-tool.ts +36 -0
  2045. package/extensions/third-party/node_modules/pi-subagents/src/runs/foreground/async-dismiss-action.ts +86 -0
  2046. package/extensions/third-party/node_modules/pi-subagents/src/runs/foreground/async-steering-action.ts +262 -0
  2047. package/extensions/third-party/node_modules/pi-subagents/src/runs/foreground/async-stop-action.ts +65 -0
  2048. package/extensions/third-party/node_modules/pi-subagents/src/runs/foreground/execution.ts +2196 -0
  2049. package/extensions/third-party/node_modules/pi-subagents/src/runs/foreground/foreground-control.ts +144 -0
  2050. package/extensions/third-party/node_modules/pi-subagents/src/runs/foreground/foreground-history.ts +137 -0
  2051. package/extensions/third-party/node_modules/pi-subagents/src/runs/foreground/prompt-audit.ts +172 -0
  2052. package/extensions/third-party/node_modules/pi-subagents/src/runs/foreground/subagent-executor.ts +5736 -0
  2053. package/extensions/third-party/node_modules/pi-subagents/src/runs/foreground/workflow-detach-reconcile.ts +194 -0
  2054. package/extensions/third-party/node_modules/pi-subagents/src/runs/foreground/workflow-foreground-steering.ts +188 -0
  2055. package/extensions/third-party/node_modules/pi-subagents/src/runs/shared/acceptance.ts +1374 -0
  2056. package/extensions/third-party/node_modules/pi-subagents/src/runs/shared/agent-contract.ts +38 -0
  2057. package/extensions/third-party/node_modules/pi-subagents/src/runs/shared/capability-ceiling.ts +209 -0
  2058. package/extensions/third-party/node_modules/pi-subagents/src/runs/shared/chain-outputs.ts +116 -0
  2059. package/extensions/third-party/node_modules/pi-subagents/src/runs/shared/child-protocol.ts +401 -0
  2060. package/extensions/third-party/node_modules/pi-subagents/src/runs/shared/completion-guard.ts +201 -0
  2061. package/extensions/third-party/node_modules/pi-subagents/src/runs/shared/context-mode.ts +44 -0
  2062. package/extensions/third-party/node_modules/pi-subagents/src/runs/shared/dynamic-fanout.ts +297 -0
  2063. package/extensions/third-party/node_modules/pi-subagents/src/runs/shared/external-cli-runner.ts +134 -0
  2064. package/extensions/third-party/node_modules/pi-subagents/src/runs/shared/external-job-bridge.ts +444 -0
  2065. package/extensions/third-party/node_modules/pi-subagents/src/runs/shared/external-job-runner.ts +286 -0
  2066. package/extensions/third-party/node_modules/pi-subagents/src/runs/shared/llm-intent-arbiter.ts +302 -0
  2067. package/extensions/third-party/node_modules/pi-subagents/src/runs/shared/long-running-guard.ts +220 -0
  2068. package/extensions/third-party/node_modules/pi-subagents/src/runs/shared/mcp-direct-tool-allowlist.ts +420 -0
  2069. package/extensions/third-party/node_modules/pi-subagents/src/runs/shared/model-fallback.ts +432 -0
  2070. package/extensions/third-party/node_modules/pi-subagents/src/runs/shared/model-scope.ts +138 -0
  2071. package/extensions/third-party/node_modules/pi-subagents/src/runs/shared/nested-events.ts +1080 -0
  2072. package/extensions/third-party/node_modules/pi-subagents/src/runs/shared/nested-path.ts +52 -0
  2073. package/extensions/third-party/node_modules/pi-subagents/src/runs/shared/nested-render.ts +123 -0
  2074. package/extensions/third-party/node_modules/pi-subagents/src/runs/shared/orca-progress-tabs.ts +437 -0
  2075. package/extensions/third-party/node_modules/pi-subagents/src/runs/shared/owner-lifeline.ts +104 -0
  2076. package/extensions/third-party/node_modules/pi-subagents/src/runs/shared/parallel-handoff.ts +280 -0
  2077. package/extensions/third-party/node_modules/pi-subagents/src/runs/shared/parallel-utils.ts +250 -0
  2078. package/extensions/third-party/node_modules/pi-subagents/src/runs/shared/permissions.ts +99 -0
  2079. package/extensions/third-party/node_modules/pi-subagents/src/runs/shared/pi-args.ts +856 -0
  2080. package/extensions/third-party/node_modules/pi-subagents/src/runs/shared/pi-spawn.ts +163 -0
  2081. package/extensions/third-party/node_modules/pi-subagents/src/runs/shared/process-signal.ts +19 -0
  2082. package/extensions/third-party/node_modules/pi-subagents/src/runs/shared/run-fanout-budget.ts +280 -0
  2083. package/extensions/third-party/node_modules/pi-subagents/src/runs/shared/run-history.ts +181 -0
  2084. package/extensions/third-party/node_modules/pi-subagents/src/runs/shared/runtime-acknowledged-extensions.ts +71 -0
  2085. package/extensions/third-party/node_modules/pi-subagents/src/runs/shared/session-lease.ts +293 -0
  2086. package/extensions/third-party/node_modules/pi-subagents/src/runs/shared/single-output.ts +237 -0
  2087. package/extensions/third-party/node_modules/pi-subagents/src/runs/shared/spawn-budget.ts +128 -0
  2088. package/extensions/third-party/node_modules/pi-subagents/src/runs/shared/startup-transport.ts +158 -0
  2089. package/extensions/third-party/node_modules/pi-subagents/src/runs/shared/structured-output.ts +182 -0
  2090. package/extensions/third-party/node_modules/pi-subagents/src/runs/shared/subagent-control.ts +269 -0
  2091. package/extensions/third-party/node_modules/pi-subagents/src/runs/shared/subagent-prompt-runtime.ts +685 -0
  2092. package/extensions/third-party/node_modules/pi-subagents/src/runs/shared/subagent-startup-retry.ts +116 -0
  2093. package/extensions/third-party/node_modules/pi-subagents/src/runs/shared/task-intent.ts +197 -0
  2094. package/extensions/third-party/node_modules/pi-subagents/src/runs/shared/tool-availability.ts +83 -0
  2095. package/extensions/third-party/node_modules/pi-subagents/src/runs/shared/tool-budget.ts +80 -0
  2096. package/extensions/third-party/node_modules/pi-subagents/src/runs/shared/tool-timeout.ts +93 -0
  2097. package/extensions/third-party/node_modules/pi-subagents/src/runs/shared/turn-budget.ts +98 -0
  2098. package/extensions/third-party/node_modules/pi-subagents/src/runs/shared/usage-budget.ts +65 -0
  2099. package/extensions/third-party/node_modules/pi-subagents/src/runs/shared/workflow-graph.ts +209 -0
  2100. package/extensions/third-party/node_modules/pi-subagents/src/runs/shared/worktree.ts +784 -0
  2101. package/extensions/third-party/node_modules/pi-subagents/src/shared/accessible-dir.ts +47 -0
  2102. package/extensions/third-party/node_modules/pi-subagents/src/shared/agent-stream-options.ts +5 -0
  2103. package/extensions/third-party/node_modules/pi-subagents/src/shared/artifacts.ts +281 -0
  2104. package/extensions/third-party/node_modules/pi-subagents/src/shared/atomic-json.ts +81 -0
  2105. package/extensions/third-party/node_modules/pi-subagents/src/shared/capacity-resilient-json.ts +102 -0
  2106. package/extensions/third-party/node_modules/pi-subagents/src/shared/child-transcript.ts +264 -0
  2107. package/extensions/third-party/node_modules/pi-subagents/src/shared/completion-owner.ts +14 -0
  2108. package/extensions/third-party/node_modules/pi-subagents/src/shared/display-text.ts +150 -0
  2109. package/extensions/third-party/node_modules/pi-subagents/src/shared/file-coalescer.ts +49 -0
  2110. package/extensions/third-party/node_modules/pi-subagents/src/shared/file-system-retry.ts +95 -0
  2111. package/extensions/third-party/node_modules/pi-subagents/src/shared/fork-context.ts +268 -0
  2112. package/extensions/third-party/node_modules/pi-subagents/src/shared/formatters.ts +131 -0
  2113. package/extensions/third-party/node_modules/pi-subagents/src/shared/jsonl-writer.ts +81 -0
  2114. package/extensions/third-party/node_modules/pi-subagents/src/shared/launch-contract.ts +124 -0
  2115. package/extensions/third-party/node_modules/pi-subagents/src/shared/model-info.ts +81 -0
  2116. package/extensions/third-party/node_modules/pi-subagents/src/shared/node-executable.ts +21 -0
  2117. package/extensions/third-party/node_modules/pi-subagents/src/shared/post-exit-stdio-guard.ts +85 -0
  2118. package/extensions/third-party/node_modules/pi-subagents/src/shared/prompt-resources.ts +11 -0
  2119. package/extensions/third-party/node_modules/pi-subagents/src/shared/session-identity.ts +10 -0
  2120. package/extensions/third-party/node_modules/pi-subagents/src/shared/session-tokens.ts +44 -0
  2121. package/extensions/third-party/node_modules/pi-subagents/src/shared/settings.ts +490 -0
  2122. package/extensions/third-party/node_modules/pi-subagents/src/shared/status-format.ts +55 -0
  2123. package/extensions/third-party/node_modules/pi-subagents/src/shared/types.ts +2307 -0
  2124. package/extensions/third-party/node_modules/pi-subagents/src/shared/utf8.ts +11 -0
  2125. package/extensions/third-party/node_modules/pi-subagents/src/shared/utils.ts +633 -0
  2126. package/extensions/third-party/node_modules/pi-subagents/src/shared/watch-strategy.ts +10 -0
  2127. package/extensions/third-party/node_modules/pi-subagents/src/slash/delegation-adapters.ts +434 -0
  2128. package/extensions/third-party/node_modules/pi-subagents/src/slash/delegation-json.ts +108 -0
  2129. package/extensions/third-party/node_modules/pi-subagents/src/slash/delegation-request.ts +166 -0
  2130. package/extensions/third-party/node_modules/pi-subagents/src/slash/prompt-template-bridge.ts +383 -0
  2131. package/extensions/third-party/node_modules/pi-subagents/src/slash/prompt-workflows.ts +287 -0
  2132. package/extensions/third-party/node_modules/pi-subagents/src/slash/selector.ts +147 -0
  2133. package/extensions/third-party/node_modules/pi-subagents/src/slash/slash-bridge.ts +193 -0
  2134. package/extensions/third-party/node_modules/pi-subagents/src/slash/slash-commands.ts +1049 -0
  2135. package/extensions/third-party/node_modules/pi-subagents/src/slash/slash-live-state.ts +299 -0
  2136. package/extensions/third-party/node_modules/pi-subagents/src/slash/subagents-admin.ts +432 -0
  2137. package/extensions/third-party/node_modules/pi-subagents/src/tui/fleet-status.ts +691 -0
  2138. package/extensions/third-party/node_modules/pi-subagents/src/tui/fleet-transcript.ts +530 -0
  2139. package/extensions/third-party/node_modules/pi-subagents/src/tui/fleet.ts +1362 -0
  2140. package/extensions/third-party/node_modules/pi-subagents/src/tui/render-helpers.ts +80 -0
  2141. package/extensions/third-party/node_modules/pi-subagents/src/tui/render.ts +2224 -0
  2142. package/extensions/third-party/node_modules/pi-subagents/src/types/pi-runtime-compat.d.ts +8 -0
  2143. package/extensions/third-party/node_modules/pi-subagents/src/watchdog/change-signature.ts +221 -0
  2144. package/extensions/third-party/node_modules/pi-subagents/src/watchdog/child-status.ts +205 -0
  2145. package/extensions/third-party/node_modules/pi-subagents/src/watchdog/emission-guard.ts +123 -0
  2146. package/extensions/third-party/node_modules/pi-subagents/src/watchdog/lsp-diagnostics.ts +538 -0
  2147. package/extensions/third-party/node_modules/pi-subagents/src/watchdog/model-selection.ts +167 -0
  2148. package/extensions/third-party/node_modules/pi-subagents/src/watchdog/permission-arbiter.ts +146 -0
  2149. package/extensions/third-party/node_modules/pi-subagents/src/watchdog/register-child.ts +117 -0
  2150. package/extensions/third-party/node_modules/pi-subagents/src/watchdog/register-main.ts +440 -0
  2151. package/extensions/third-party/node_modules/pi-subagents/src/watchdog/render.ts +54 -0
  2152. package/extensions/third-party/node_modules/pi-subagents/src/watchdog/review.ts +303 -0
  2153. package/extensions/third-party/node_modules/pi-subagents/src/watchdog/runtime.ts +868 -0
  2154. package/extensions/third-party/node_modules/pi-subagents/src/watchdog/scope.ts +62 -0
  2155. package/extensions/third-party/node_modules/pi-subagents/src/watchdog/settings.ts +568 -0
  2156. package/extensions/third-party/node_modules/pi-subagents/src/watchdog/tool-actions.ts +155 -0
  2157. package/extensions/third-party/node_modules/pi-subagents/src/watchdog/turn-delta.ts +161 -0
  2158. package/extensions/third-party/node_modules/pi-subagents/src/watchdog/types.ts +198 -0
  2159. package/extensions/third-party/node_modules/pi-subagents/src/watchdog/warning-format.ts +73 -0
  2160. package/extensions/third-party/node_modules/pi-subagents/src/workflows/chat-progress.ts +148 -0
  2161. package/extensions/third-party/node_modules/pi-subagents/src/workflows/scripted-workflow.ts +1069 -0
  2162. package/extensions/third-party/node_modules/typebox/build/compile/code.d.mts +12 -0
  2163. package/extensions/third-party/node_modules/typebox/build/compile/code.mjs +65 -0
  2164. package/extensions/third-party/node_modules/typebox/build/compile/compile.d.mts +6 -0
  2165. package/extensions/third-party/node_modules/typebox/build/compile/compile.mjs +12 -0
  2166. package/extensions/third-party/node_modules/typebox/build/compile/index.d.mts +8 -0
  2167. package/extensions/third-party/node_modules/typebox/build/compile/index.mjs +14 -0
  2168. package/extensions/third-party/node_modules/typebox/build/compile/validator.d.mts +43 -0
  2169. package/extensions/third-party/node_modules/typebox/build/compile/validator.mjs +121 -0
  2170. package/extensions/third-party/node_modules/typebox/build/error/errors.d.mts +214 -0
  2171. package/extensions/third-party/node_modules/typebox/build/error/errors.mjs +18 -0
  2172. package/extensions/third-party/node_modules/typebox/build/error/index.d.mts +1 -0
  2173. package/extensions/third-party/node_modules/typebox/build/error/index.mjs +1 -0
  2174. package/extensions/third-party/node_modules/typebox/build/format/_idna.d.mts +2 -0
  2175. package/extensions/third-party/node_modules/typebox/build/format/_idna.mjs +216 -0
  2176. package/extensions/third-party/node_modules/typebox/build/format/_puny.d.mts +1 -0
  2177. package/extensions/third-party/node_modules/typebox/build/format/_puny.mjs +74 -0
  2178. package/extensions/third-party/node_modules/typebox/build/format/_registry.d.mts +15 -0
  2179. package/extensions/third-party/node_modules/typebox/build/format/_registry.mjs +96 -0
  2180. package/extensions/third-party/node_modules/typebox/build/format/date.d.mts +6 -0
  2181. package/extensions/third-party/node_modules/typebox/build/format/date.mjs +19 -0
  2182. package/extensions/third-party/node_modules/typebox/build/format/date_time.d.mts +6 -0
  2183. package/extensions/third-party/node_modules/typebox/build/format/date_time.mjs +11 -0
  2184. package/extensions/third-party/node_modules/typebox/build/format/duration.d.mts +5 -0
  2185. package/extensions/third-party/node_modules/typebox/build/format/duration.mjs +8 -0
  2186. package/extensions/third-party/node_modules/typebox/build/format/email.d.mts +5 -0
  2187. package/extensions/third-party/node_modules/typebox/build/format/email.mjs +8 -0
  2188. package/extensions/third-party/node_modules/typebox/build/format/format.d.mts +22 -0
  2189. package/extensions/third-party/node_modules/typebox/build/format/format.mjs +22 -0
  2190. package/extensions/third-party/node_modules/typebox/build/format/hostname.d.mts +7 -0
  2191. package/extensions/third-party/node_modules/typebox/build/format/hostname.mjs +18 -0
  2192. package/extensions/third-party/node_modules/typebox/build/format/idn_email.d.mts +5 -0
  2193. package/extensions/third-party/node_modules/typebox/build/format/idn_email.mjs +8 -0
  2194. package/extensions/third-party/node_modules/typebox/build/format/idn_hostname.d.mts +7 -0
  2195. package/extensions/third-party/node_modules/typebox/build/format/idn_hostname.mjs +19 -0
  2196. package/extensions/third-party/node_modules/typebox/build/format/index.d.mts +4 -0
  2197. package/extensions/third-party/node_modules/typebox/build/format/index.mjs +4 -0
  2198. package/extensions/third-party/node_modules/typebox/build/format/ipv4.d.mts +6 -0
  2199. package/extensions/third-party/node_modules/typebox/build/format/ipv4.mjs +38 -0
  2200. package/extensions/third-party/node_modules/typebox/build/format/ipv6.d.mts +5 -0
  2201. package/extensions/third-party/node_modules/typebox/build/format/ipv6.mjs +67 -0
  2202. package/extensions/third-party/node_modules/typebox/build/format/iri.d.mts +5 -0
  2203. package/extensions/third-party/node_modules/typebox/build/format/iri.mjs +13 -0
  2204. package/extensions/third-party/node_modules/typebox/build/format/iri_reference.d.mts +5 -0
  2205. package/extensions/third-party/node_modules/typebox/build/format/iri_reference.mjs +60 -0
  2206. package/extensions/third-party/node_modules/typebox/build/format/json_pointer.d.mts +6 -0
  2207. package/extensions/third-party/node_modules/typebox/build/format/json_pointer.mjs +9 -0
  2208. package/extensions/third-party/node_modules/typebox/build/format/json_pointer_uri_fragment.d.mts +6 -0
  2209. package/extensions/third-party/node_modules/typebox/build/format/json_pointer_uri_fragment.mjs +9 -0
  2210. package/extensions/third-party/node_modules/typebox/build/format/regex.d.mts +6 -0
  2211. package/extensions/third-party/node_modules/typebox/build/format/regex.mjs +17 -0
  2212. package/extensions/third-party/node_modules/typebox/build/format/relative_json_pointer.d.mts +6 -0
  2213. package/extensions/third-party/node_modules/typebox/build/format/relative_json_pointer.mjs +9 -0
  2214. package/extensions/third-party/node_modules/typebox/build/format/time.d.mts +5 -0
  2215. package/extensions/third-party/node_modules/typebox/build/format/time.mjs +27 -0
  2216. package/extensions/third-party/node_modules/typebox/build/format/uri.d.mts +5 -0
  2217. package/extensions/third-party/node_modules/typebox/build/format/uri.mjs +135 -0
  2218. package/extensions/third-party/node_modules/typebox/build/format/uri_reference.d.mts +5 -0
  2219. package/extensions/third-party/node_modules/typebox/build/format/uri_reference.mjs +9 -0
  2220. package/extensions/third-party/node_modules/typebox/build/format/uri_template.d.mts +6 -0
  2221. package/extensions/third-party/node_modules/typebox/build/format/uri_template.mjs +10 -0
  2222. package/extensions/third-party/node_modules/typebox/build/format/url.d.mts +6 -0
  2223. package/extensions/third-party/node_modules/typebox/build/format/url.mjs +9 -0
  2224. package/extensions/third-party/node_modules/typebox/build/format/uuid.d.mts +6 -0
  2225. package/extensions/third-party/node_modules/typebox/build/format/uuid.mjs +9 -0
  2226. package/extensions/third-party/node_modules/typebox/build/guard/emit.d.mts +58 -0
  2227. package/extensions/third-party/node_modules/typebox/build/guard/emit.mjs +194 -0
  2228. package/extensions/third-party/node_modules/typebox/build/guard/globals.d.mts +35 -0
  2229. package/extensions/third-party/node_modules/typebox/build/guard/globals.mjs +90 -0
  2230. package/extensions/third-party/node_modules/typebox/build/guard/guard.d.mts +69 -0
  2231. package/extensions/third-party/node_modules/typebox/build/guard/guard.mjs +217 -0
  2232. package/extensions/third-party/node_modules/typebox/build/guard/index.d.mts +6 -0
  2233. package/extensions/third-party/node_modules/typebox/build/guard/index.mjs +6 -0
  2234. package/extensions/third-party/node_modules/typebox/build/guard/native.d.mts +20 -0
  2235. package/extensions/third-party/node_modules/typebox/build/guard/native.mjs +60 -0
  2236. package/extensions/third-party/node_modules/typebox/build/guard/string.d.mts +6 -0
  2237. package/extensions/third-party/node_modules/typebox/build/guard/string.mjs +164 -0
  2238. package/extensions/third-party/node_modules/typebox/build/index.d.mts +8 -0
  2239. package/extensions/third-party/node_modules/typebox/build/index.mjs +14 -0
  2240. package/extensions/third-party/node_modules/typebox/build/schema/build.d.mts +39 -0
  2241. package/extensions/third-party/node_modules/typebox/build/schema/build.mjs +118 -0
  2242. package/extensions/third-party/node_modules/typebox/build/schema/check.d.mts +6 -0
  2243. package/extensions/third-party/node_modules/typebox/build/schema/check.mjs +14 -0
  2244. package/extensions/third-party/node_modules/typebox/build/schema/compile.d.mts +22 -0
  2245. package/extensions/third-party/node_modules/typebox/build/schema/compile.mjs +46 -0
  2246. package/extensions/third-party/node_modules/typebox/build/schema/engine/_context.d.mts +35 -0
  2247. package/extensions/third-party/node_modules/typebox/build/schema/engine/_context.mjs +129 -0
  2248. package/extensions/third-party/node_modules/typebox/build/schema/engine/_exact_optional.d.mts +3 -0
  2249. package/extensions/third-party/node_modules/typebox/build/schema/engine/_exact_optional.mjs +20 -0
  2250. package/extensions/third-party/node_modules/typebox/build/schema/engine/_externals.d.mts +7 -0
  2251. package/extensions/third-party/node_modules/typebox/build/schema/engine/_externals.mjs +25 -0
  2252. package/extensions/third-party/node_modules/typebox/build/schema/engine/_functions.d.mts +6 -0
  2253. package/extensions/third-party/node_modules/typebox/build/schema/engine/_functions.mjs +47 -0
  2254. package/extensions/third-party/node_modules/typebox/build/schema/engine/_guard.d.mts +6 -0
  2255. package/extensions/third-party/node_modules/typebox/build/schema/engine/_guard.mjs +26 -0
  2256. package/extensions/third-party/node_modules/typebox/build/schema/engine/_reducer.d.mts +4 -0
  2257. package/extensions/third-party/node_modules/typebox/build/schema/engine/_reducer.mjs +45 -0
  2258. package/extensions/third-party/node_modules/typebox/build/schema/engine/_refine.d.mts +6 -0
  2259. package/extensions/third-party/node_modules/typebox/build/schema/engine/_refine.mjs +29 -0
  2260. package/extensions/third-party/node_modules/typebox/build/schema/engine/_stack.d.mts +18 -0
  2261. package/extensions/third-party/node_modules/typebox/build/schema/engine/_stack.mjs +107 -0
  2262. package/extensions/third-party/node_modules/typebox/build/schema/engine/_unique.d.mts +2 -0
  2263. package/extensions/third-party/node_modules/typebox/build/schema/engine/_unique.mjs +5 -0
  2264. package/extensions/third-party/node_modules/typebox/build/schema/engine/additionalItems.d.mts +6 -0
  2265. package/extensions/third-party/node_modules/typebox/build/schema/engine/additionalItems.mjs +50 -0
  2266. package/extensions/third-party/node_modules/typebox/build/schema/engine/additionalProperties.d.mts +9 -0
  2267. package/extensions/third-party/node_modules/typebox/build/schema/engine/additionalProperties.mjs +110 -0
  2268. package/extensions/third-party/node_modules/typebox/build/schema/engine/allOf.d.mts +6 -0
  2269. package/extensions/third-party/node_modules/typebox/build/schema/engine/allOf.mjs +47 -0
  2270. package/extensions/third-party/node_modules/typebox/build/schema/engine/anyOf.d.mts +6 -0
  2271. package/extensions/third-party/node_modules/typebox/build/schema/engine/anyOf.mjs +52 -0
  2272. package/extensions/third-party/node_modules/typebox/build/schema/engine/boolean.d.mts +5 -0
  2273. package/extensions/third-party/node_modules/typebox/build/schema/engine/boolean.mjs +25 -0
  2274. package/extensions/third-party/node_modules/typebox/build/schema/engine/const.d.mts +6 -0
  2275. package/extensions/third-party/node_modules/typebox/build/schema/engine/const.mjs +30 -0
  2276. package/extensions/third-party/node_modules/typebox/build/schema/engine/contains.d.mts +6 -0
  2277. package/extensions/third-party/node_modules/typebox/build/schema/engine/contains.mjs +42 -0
  2278. package/extensions/third-party/node_modules/typebox/build/schema/engine/dependencies.d.mts +6 -0
  2279. package/extensions/third-party/node_modules/typebox/build/schema/engine/dependencies.mjs +45 -0
  2280. package/extensions/third-party/node_modules/typebox/build/schema/engine/dependentRequired.d.mts +6 -0
  2281. package/extensions/third-party/node_modules/typebox/build/schema/engine/dependentRequired.mjs +40 -0
  2282. package/extensions/third-party/node_modules/typebox/build/schema/engine/dependentSchemas.d.mts +6 -0
  2283. package/extensions/third-party/node_modules/typebox/build/schema/engine/dependentSchemas.mjs +38 -0
  2284. package/extensions/third-party/node_modules/typebox/build/schema/engine/dynamicRef.d.mts +6 -0
  2285. package/extensions/third-party/node_modules/typebox/build/schema/engine/dynamicRef.mjs +25 -0
  2286. package/extensions/third-party/node_modules/typebox/build/schema/engine/enum.d.mts +6 -0
  2287. package/extensions/third-party/node_modules/typebox/build/schema/engine/enum.mjs +33 -0
  2288. package/extensions/third-party/node_modules/typebox/build/schema/engine/exclusiveMaximum.d.mts +6 -0
  2289. package/extensions/third-party/node_modules/typebox/build/schema/engine/exclusiveMaximum.mjs +25 -0
  2290. package/extensions/third-party/node_modules/typebox/build/schema/engine/exclusiveMinimum.d.mts +6 -0
  2291. package/extensions/third-party/node_modules/typebox/build/schema/engine/exclusiveMinimum.mjs +25 -0
  2292. package/extensions/third-party/node_modules/typebox/build/schema/engine/format.d.mts +6 -0
  2293. package/extensions/third-party/node_modules/typebox/build/schema/engine/format.mjs +26 -0
  2294. package/extensions/third-party/node_modules/typebox/build/schema/engine/if.d.mts +6 -0
  2295. package/extensions/third-party/node_modules/typebox/build/schema/engine/if.mjs +47 -0
  2296. package/extensions/third-party/node_modules/typebox/build/schema/engine/index.d.mts +49 -0
  2297. package/extensions/third-party/node_modules/typebox/build/schema/engine/index.mjs +55 -0
  2298. package/extensions/third-party/node_modules/typebox/build/schema/engine/items.d.mts +6 -0
  2299. package/extensions/third-party/node_modules/typebox/build/schema/engine/items.mjs +68 -0
  2300. package/extensions/third-party/node_modules/typebox/build/schema/engine/maxContains.d.mts +6 -0
  2301. package/extensions/third-party/node_modules/typebox/build/schema/engine/maxContains.mjs +42 -0
  2302. package/extensions/third-party/node_modules/typebox/build/schema/engine/maxItems.d.mts +6 -0
  2303. package/extensions/third-party/node_modules/typebox/build/schema/engine/maxItems.mjs +25 -0
  2304. package/extensions/third-party/node_modules/typebox/build/schema/engine/maxLength.d.mts +6 -0
  2305. package/extensions/third-party/node_modules/typebox/build/schema/engine/maxLength.mjs +25 -0
  2306. package/extensions/third-party/node_modules/typebox/build/schema/engine/maxProperties.d.mts +6 -0
  2307. package/extensions/third-party/node_modules/typebox/build/schema/engine/maxProperties.mjs +25 -0
  2308. package/extensions/third-party/node_modules/typebox/build/schema/engine/maximum.d.mts +6 -0
  2309. package/extensions/third-party/node_modules/typebox/build/schema/engine/maximum.mjs +25 -0
  2310. package/extensions/third-party/node_modules/typebox/build/schema/engine/minContains.d.mts +6 -0
  2311. package/extensions/third-party/node_modules/typebox/build/schema/engine/minContains.mjs +41 -0
  2312. package/extensions/third-party/node_modules/typebox/build/schema/engine/minItems.d.mts +6 -0
  2313. package/extensions/third-party/node_modules/typebox/build/schema/engine/minItems.mjs +25 -0
  2314. package/extensions/third-party/node_modules/typebox/build/schema/engine/minLength.d.mts +6 -0
  2315. package/extensions/third-party/node_modules/typebox/build/schema/engine/minLength.mjs +25 -0
  2316. package/extensions/third-party/node_modules/typebox/build/schema/engine/minProperties.d.mts +6 -0
  2317. package/extensions/third-party/node_modules/typebox/build/schema/engine/minProperties.mjs +25 -0
  2318. package/extensions/third-party/node_modules/typebox/build/schema/engine/minimum.d.mts +6 -0
  2319. package/extensions/third-party/node_modules/typebox/build/schema/engine/minimum.mjs +25 -0
  2320. package/extensions/third-party/node_modules/typebox/build/schema/engine/multipleOf.d.mts +6 -0
  2321. package/extensions/third-party/node_modules/typebox/build/schema/engine/multipleOf.mjs +25 -0
  2322. package/extensions/third-party/node_modules/typebox/build/schema/engine/not.d.mts +6 -0
  2323. package/extensions/third-party/node_modules/typebox/build/schema/engine/not.mjs +37 -0
  2324. package/extensions/third-party/node_modules/typebox/build/schema/engine/oneOf.d.mts +6 -0
  2325. package/extensions/third-party/node_modules/typebox/build/schema/engine/oneOf.mjs +58 -0
  2326. package/extensions/third-party/node_modules/typebox/build/schema/engine/pattern.d.mts +6 -0
  2327. package/extensions/third-party/node_modules/typebox/build/schema/engine/pattern.mjs +28 -0
  2328. package/extensions/third-party/node_modules/typebox/build/schema/engine/patternProperties.d.mts +6 -0
  2329. package/extensions/third-party/node_modules/typebox/build/schema/engine/patternProperties.mjs +44 -0
  2330. package/extensions/third-party/node_modules/typebox/build/schema/engine/prefixItems.d.mts +6 -0
  2331. package/extensions/third-party/node_modules/typebox/build/schema/engine/prefixItems.mjs +35 -0
  2332. package/extensions/third-party/node_modules/typebox/build/schema/engine/properties.d.mts +6 -0
  2333. package/extensions/third-party/node_modules/typebox/build/schema/engine/properties.mjs +75 -0
  2334. package/extensions/third-party/node_modules/typebox/build/schema/engine/propertyNames.d.mts +6 -0
  2335. package/extensions/third-party/node_modules/typebox/build/schema/engine/propertyNames.mjs +39 -0
  2336. package/extensions/third-party/node_modules/typebox/build/schema/engine/recursiveRef.d.mts +6 -0
  2337. package/extensions/third-party/node_modules/typebox/build/schema/engine/recursiveRef.mjs +25 -0
  2338. package/extensions/third-party/node_modules/typebox/build/schema/engine/ref.d.mts +6 -0
  2339. package/extensions/third-party/node_modules/typebox/build/schema/engine/ref.mjs +58 -0
  2340. package/extensions/third-party/node_modules/typebox/build/schema/engine/required.d.mts +6 -0
  2341. package/extensions/third-party/node_modules/typebox/build/schema/engine/required.mjs +32 -0
  2342. package/extensions/third-party/node_modules/typebox/build/schema/engine/schema.d.mts +9 -0
  2343. package/extensions/third-party/node_modules/typebox/build/schema/engine/schema.mjs +352 -0
  2344. package/extensions/third-party/node_modules/typebox/build/schema/engine/type.d.mts +6 -0
  2345. package/extensions/third-party/node_modules/typebox/build/schema/engine/type.mjs +74 -0
  2346. package/extensions/third-party/node_modules/typebox/build/schema/engine/unevaluatedItems.d.mts +6 -0
  2347. package/extensions/third-party/node_modules/typebox/build/schema/engine/unevaluatedItems.mjs +51 -0
  2348. package/extensions/third-party/node_modules/typebox/build/schema/engine/unevaluatedProperties.d.mts +6 -0
  2349. package/extensions/third-party/node_modules/typebox/build/schema/engine/unevaluatedProperties.mjs +51 -0
  2350. package/extensions/third-party/node_modules/typebox/build/schema/engine/uniqueItems.d.mts +6 -0
  2351. package/extensions/third-party/node_modules/typebox/build/schema/engine/uniqueItems.mjs +51 -0
  2352. package/extensions/third-party/node_modules/typebox/build/schema/errors.d.mts +6 -0
  2353. package/extensions/third-party/node_modules/typebox/build/schema/errors.mjs +24 -0
  2354. package/extensions/third-party/node_modules/typebox/build/schema/index.d.mts +3 -0
  2355. package/extensions/third-party/node_modules/typebox/build/schema/index.mjs +9 -0
  2356. package/extensions/third-party/node_modules/typebox/build/schema/parse.d.mts +13 -0
  2357. package/extensions/third-party/node_modules/typebox/build/schema/parse.mjs +27 -0
  2358. package/extensions/third-party/node_modules/typebox/build/schema/pointer/index.d.mts +2 -0
  2359. package/extensions/third-party/node_modules/typebox/build/schema/pointer/index.mjs +2 -0
  2360. package/extensions/third-party/node_modules/typebox/build/schema/pointer/pointer.d.mts +10 -0
  2361. package/extensions/third-party/node_modules/typebox/build/schema/pointer/pointer.mjs +106 -0
  2362. package/extensions/third-party/node_modules/typebox/build/schema/pointer/pointer_get.d.mts +9 -0
  2363. package/extensions/third-party/node_modules/typebox/build/schema/pointer/pointer_get.mjs +2 -0
  2364. package/extensions/third-party/node_modules/typebox/build/schema/resolve/index.d.mts +1 -0
  2365. package/extensions/third-party/node_modules/typebox/build/schema/resolve/index.mjs +1 -0
  2366. package/extensions/third-party/node_modules/typebox/build/schema/resolve/ref.d.mts +3 -0
  2367. package/extensions/third-party/node_modules/typebox/build/schema/resolve/ref.mjs +146 -0
  2368. package/extensions/third-party/node_modules/typebox/build/schema/resolve/resolve.d.mts +1 -0
  2369. package/extensions/third-party/node_modules/typebox/build/schema/resolve/resolve.mjs +1 -0
  2370. package/extensions/third-party/node_modules/typebox/build/schema/schema.d.mts +10 -0
  2371. package/extensions/third-party/node_modules/typebox/build/schema/schema.mjs +10 -0
  2372. package/extensions/third-party/node_modules/typebox/build/schema/static/_canonical.d.mts +7 -0
  2373. package/extensions/third-party/node_modules/typebox/build/schema/static/_canonical.mjs +2 -0
  2374. package/extensions/third-party/node_modules/typebox/build/schema/static/_comparer.d.mts +6 -0
  2375. package/extensions/third-party/node_modules/typebox/build/schema/static/_comparer.mjs +2 -0
  2376. package/extensions/third-party/node_modules/typebox/build/schema/static/_elements.d.mts +18 -0
  2377. package/extensions/third-party/node_modules/typebox/build/schema/static/_elements.mjs +2 -0
  2378. package/extensions/third-party/node_modules/typebox/build/schema/static/additionalProperties.d.mts +7 -0
  2379. package/extensions/third-party/node_modules/typebox/build/schema/static/additionalProperties.mjs +3 -0
  2380. package/extensions/third-party/node_modules/typebox/build/schema/static/allOf.d.mts +3 -0
  2381. package/extensions/third-party/node_modules/typebox/build/schema/static/allOf.mjs +2 -0
  2382. package/extensions/third-party/node_modules/typebox/build/schema/static/anyOf.d.mts +3 -0
  2383. package/extensions/third-party/node_modules/typebox/build/schema/static/anyOf.mjs +2 -0
  2384. package/extensions/third-party/node_modules/typebox/build/schema/static/const.d.mts +1 -0
  2385. package/extensions/third-party/node_modules/typebox/build/schema/static/const.mjs +2 -0
  2386. package/extensions/third-party/node_modules/typebox/build/schema/static/enum.d.mts +1 -0
  2387. package/extensions/third-party/node_modules/typebox/build/schema/static/enum.mjs +2 -0
  2388. package/extensions/third-party/node_modules/typebox/build/schema/static/if.d.mts +15 -0
  2389. package/extensions/third-party/node_modules/typebox/build/schema/static/if.mjs +2 -0
  2390. package/extensions/third-party/node_modules/typebox/build/schema/static/index.d.mts +1 -0
  2391. package/extensions/third-party/node_modules/typebox/build/schema/static/index.mjs +1 -0
  2392. package/extensions/third-party/node_modules/typebox/build/schema/static/items.d.mts +7 -0
  2393. package/extensions/third-party/node_modules/typebox/build/schema/static/items.mjs +2 -0
  2394. package/extensions/third-party/node_modules/typebox/build/schema/static/oneOf.d.mts +3 -0
  2395. package/extensions/third-party/node_modules/typebox/build/schema/static/oneOf.mjs +2 -0
  2396. package/extensions/third-party/node_modules/typebox/build/schema/static/patternProperties.d.mts +7 -0
  2397. package/extensions/third-party/node_modules/typebox/build/schema/static/patternProperties.mjs +2 -0
  2398. package/extensions/third-party/node_modules/typebox/build/schema/static/prefixItems.d.mts +3 -0
  2399. package/extensions/third-party/node_modules/typebox/build/schema/static/prefixItems.mjs +2 -0
  2400. package/extensions/third-party/node_modules/typebox/build/schema/static/properties.d.mts +32 -0
  2401. package/extensions/third-party/node_modules/typebox/build/schema/static/properties.mjs +2 -0
  2402. package/extensions/third-party/node_modules/typebox/build/schema/static/ref.d.mts +8 -0
  2403. package/extensions/third-party/node_modules/typebox/build/schema/static/ref.mjs +3 -0
  2404. package/extensions/third-party/node_modules/typebox/build/schema/static/required.d.mts +3 -0
  2405. package/extensions/third-party/node_modules/typebox/build/schema/static/required.mjs +3 -0
  2406. package/extensions/third-party/node_modules/typebox/build/schema/static/schema.d.mts +56 -0
  2407. package/extensions/third-party/node_modules/typebox/build/schema/static/schema.mjs +2 -0
  2408. package/extensions/third-party/node_modules/typebox/build/schema/static/static.d.mts +4 -0
  2409. package/extensions/third-party/node_modules/typebox/build/schema/static/static.mjs +3 -0
  2410. package/extensions/third-party/node_modules/typebox/build/schema/static/type.d.mts +4 -0
  2411. package/extensions/third-party/node_modules/typebox/build/schema/static/type.mjs +3 -0
  2412. package/extensions/third-party/node_modules/typebox/build/schema/static/unevaluatedProperties.d.mts +7 -0
  2413. package/extensions/third-party/node_modules/typebox/build/schema/static/unevaluatedProperties.mjs +3 -0
  2414. package/extensions/third-party/node_modules/typebox/build/schema/types/_guard.d.mts +10 -0
  2415. package/extensions/third-party/node_modules/typebox/build/schema/types/_guard.mjs +16 -0
  2416. package/extensions/third-party/node_modules/typebox/build/schema/types/_refine.d.mts +13 -0
  2417. package/extensions/third-party/node_modules/typebox/build/schema/types/_refine.mjs +18 -0
  2418. package/extensions/third-party/node_modules/typebox/build/schema/types/additionalItems.d.mts +9 -0
  2419. package/extensions/third-party/node_modules/typebox/build/schema/types/additionalItems.mjs +14 -0
  2420. package/extensions/third-party/node_modules/typebox/build/schema/types/additionalProperties.d.mts +9 -0
  2421. package/extensions/third-party/node_modules/typebox/build/schema/types/additionalProperties.mjs +14 -0
  2422. package/extensions/third-party/node_modules/typebox/build/schema/types/allOf.d.mts +9 -0
  2423. package/extensions/third-party/node_modules/typebox/build/schema/types/allOf.mjs +15 -0
  2424. package/extensions/third-party/node_modules/typebox/build/schema/types/anchor.d.mts +8 -0
  2425. package/extensions/third-party/node_modules/typebox/build/schema/types/anchor.mjs +12 -0
  2426. package/extensions/third-party/node_modules/typebox/build/schema/types/anyOf.d.mts +9 -0
  2427. package/extensions/third-party/node_modules/typebox/build/schema/types/anyOf.mjs +15 -0
  2428. package/extensions/third-party/node_modules/typebox/build/schema/types/const.d.mts +9 -0
  2429. package/extensions/third-party/node_modules/typebox/build/schema/types/const.mjs +12 -0
  2430. package/extensions/third-party/node_modules/typebox/build/schema/types/contains.d.mts +9 -0
  2431. package/extensions/third-party/node_modules/typebox/build/schema/types/contains.mjs +14 -0
  2432. package/extensions/third-party/node_modules/typebox/build/schema/types/contentEncoding.d.mts +9 -0
  2433. package/extensions/third-party/node_modules/typebox/build/schema/types/contentEncoding.mjs +13 -0
  2434. package/extensions/third-party/node_modules/typebox/build/schema/types/contentMediaType.d.mts +9 -0
  2435. package/extensions/third-party/node_modules/typebox/build/schema/types/contentMediaType.mjs +13 -0
  2436. package/extensions/third-party/node_modules/typebox/build/schema/types/default.d.mts +9 -0
  2437. package/extensions/third-party/node_modules/typebox/build/schema/types/default.mjs +12 -0
  2438. package/extensions/third-party/node_modules/typebox/build/schema/types/defs.d.mts +6 -0
  2439. package/extensions/third-party/node_modules/typebox/build/schema/types/defs.mjs +12 -0
  2440. package/extensions/third-party/node_modules/typebox/build/schema/types/dependencies.d.mts +11 -0
  2441. package/extensions/third-party/node_modules/typebox/build/schema/types/dependencies.mjs +16 -0
  2442. package/extensions/third-party/node_modules/typebox/build/schema/types/dependentRequired.d.mts +9 -0
  2443. package/extensions/third-party/node_modules/typebox/build/schema/types/dependentRequired.mjs +15 -0
  2444. package/extensions/third-party/node_modules/typebox/build/schema/types/dependentSchemas.d.mts +9 -0
  2445. package/extensions/third-party/node_modules/typebox/build/schema/types/dependentSchemas.mjs +15 -0
  2446. package/extensions/third-party/node_modules/typebox/build/schema/types/dynamicAnchor.d.mts +8 -0
  2447. package/extensions/third-party/node_modules/typebox/build/schema/types/dynamicAnchor.mjs +12 -0
  2448. package/extensions/third-party/node_modules/typebox/build/schema/types/dynamicRef.d.mts +8 -0
  2449. package/extensions/third-party/node_modules/typebox/build/schema/types/dynamicRef.mjs +12 -0
  2450. package/extensions/third-party/node_modules/typebox/build/schema/types/else.d.mts +9 -0
  2451. package/extensions/third-party/node_modules/typebox/build/schema/types/else.mjs +14 -0
  2452. package/extensions/third-party/node_modules/typebox/build/schema/types/enum.d.mts +9 -0
  2453. package/extensions/third-party/node_modules/typebox/build/schema/types/enum.mjs +13 -0
  2454. package/extensions/third-party/node_modules/typebox/build/schema/types/exclusiveMaximum.d.mts +9 -0
  2455. package/extensions/third-party/node_modules/typebox/build/schema/types/exclusiveMaximum.mjs +13 -0
  2456. package/extensions/third-party/node_modules/typebox/build/schema/types/exclusiveMinimum.d.mts +9 -0
  2457. package/extensions/third-party/node_modules/typebox/build/schema/types/exclusiveMinimum.mjs +13 -0
  2458. package/extensions/third-party/node_modules/typebox/build/schema/types/format.d.mts +9 -0
  2459. package/extensions/third-party/node_modules/typebox/build/schema/types/format.mjs +13 -0
  2460. package/extensions/third-party/node_modules/typebox/build/schema/types/id.d.mts +9 -0
  2461. package/extensions/third-party/node_modules/typebox/build/schema/types/id.mjs +13 -0
  2462. package/extensions/third-party/node_modules/typebox/build/schema/types/if.d.mts +9 -0
  2463. package/extensions/third-party/node_modules/typebox/build/schema/types/if.mjs +14 -0
  2464. package/extensions/third-party/node_modules/typebox/build/schema/types/index.d.mts +54 -0
  2465. package/extensions/third-party/node_modules/typebox/build/schema/types/index.mjs +60 -0
  2466. package/extensions/third-party/node_modules/typebox/build/schema/types/items.d.mts +19 -0
  2467. package/extensions/third-party/node_modules/typebox/build/schema/types/items.mjs +26 -0
  2468. package/extensions/third-party/node_modules/typebox/build/schema/types/maxContains.d.mts +9 -0
  2469. package/extensions/third-party/node_modules/typebox/build/schema/types/maxContains.mjs +13 -0
  2470. package/extensions/third-party/node_modules/typebox/build/schema/types/maxItems.d.mts +9 -0
  2471. package/extensions/third-party/node_modules/typebox/build/schema/types/maxItems.mjs +13 -0
  2472. package/extensions/third-party/node_modules/typebox/build/schema/types/maxLength.d.mts +9 -0
  2473. package/extensions/third-party/node_modules/typebox/build/schema/types/maxLength.mjs +13 -0
  2474. package/extensions/third-party/node_modules/typebox/build/schema/types/maxProperties.d.mts +9 -0
  2475. package/extensions/third-party/node_modules/typebox/build/schema/types/maxProperties.mjs +13 -0
  2476. package/extensions/third-party/node_modules/typebox/build/schema/types/maximum.d.mts +9 -0
  2477. package/extensions/third-party/node_modules/typebox/build/schema/types/maximum.mjs +13 -0
  2478. package/extensions/third-party/node_modules/typebox/build/schema/types/minContains.d.mts +9 -0
  2479. package/extensions/third-party/node_modules/typebox/build/schema/types/minContains.mjs +13 -0
  2480. package/extensions/third-party/node_modules/typebox/build/schema/types/minItems.d.mts +9 -0
  2481. package/extensions/third-party/node_modules/typebox/build/schema/types/minItems.mjs +13 -0
  2482. package/extensions/third-party/node_modules/typebox/build/schema/types/minLength.d.mts +9 -0
  2483. package/extensions/third-party/node_modules/typebox/build/schema/types/minLength.mjs +13 -0
  2484. package/extensions/third-party/node_modules/typebox/build/schema/types/minProperties.d.mts +9 -0
  2485. package/extensions/third-party/node_modules/typebox/build/schema/types/minProperties.mjs +13 -0
  2486. package/extensions/third-party/node_modules/typebox/build/schema/types/minimum.d.mts +9 -0
  2487. package/extensions/third-party/node_modules/typebox/build/schema/types/minimum.mjs +13 -0
  2488. package/extensions/third-party/node_modules/typebox/build/schema/types/multipleOf.d.mts +9 -0
  2489. package/extensions/third-party/node_modules/typebox/build/schema/types/multipleOf.mjs +13 -0
  2490. package/extensions/third-party/node_modules/typebox/build/schema/types/not.d.mts +9 -0
  2491. package/extensions/third-party/node_modules/typebox/build/schema/types/not.mjs +14 -0
  2492. package/extensions/third-party/node_modules/typebox/build/schema/types/oneOf.d.mts +9 -0
  2493. package/extensions/third-party/node_modules/typebox/build/schema/types/oneOf.mjs +15 -0
  2494. package/extensions/third-party/node_modules/typebox/build/schema/types/pattern.d.mts +9 -0
  2495. package/extensions/third-party/node_modules/typebox/build/schema/types/pattern.mjs +14 -0
  2496. package/extensions/third-party/node_modules/typebox/build/schema/types/patternProperties.d.mts +9 -0
  2497. package/extensions/third-party/node_modules/typebox/build/schema/types/patternProperties.mjs +15 -0
  2498. package/extensions/third-party/node_modules/typebox/build/schema/types/prefixItems.d.mts +8 -0
  2499. package/extensions/third-party/node_modules/typebox/build/schema/types/prefixItems.mjs +14 -0
  2500. package/extensions/third-party/node_modules/typebox/build/schema/types/properties.d.mts +9 -0
  2501. package/extensions/third-party/node_modules/typebox/build/schema/types/properties.mjs +15 -0
  2502. package/extensions/third-party/node_modules/typebox/build/schema/types/propertyNames.d.mts +9 -0
  2503. package/extensions/third-party/node_modules/typebox/build/schema/types/propertyNames.mjs +15 -0
  2504. package/extensions/third-party/node_modules/typebox/build/schema/types/recursiveAnchor.d.mts +12 -0
  2505. package/extensions/third-party/node_modules/typebox/build/schema/types/recursiveAnchor.mjs +19 -0
  2506. package/extensions/third-party/node_modules/typebox/build/schema/types/recursiveRef.d.mts +8 -0
  2507. package/extensions/third-party/node_modules/typebox/build/schema/types/recursiveRef.mjs +12 -0
  2508. package/extensions/third-party/node_modules/typebox/build/schema/types/ref.d.mts +9 -0
  2509. package/extensions/third-party/node_modules/typebox/build/schema/types/ref.mjs +13 -0
  2510. package/extensions/third-party/node_modules/typebox/build/schema/types/required.d.mts +9 -0
  2511. package/extensions/third-party/node_modules/typebox/build/schema/types/required.mjs +14 -0
  2512. package/extensions/third-party/node_modules/typebox/build/schema/types/schema.d.mts +9 -0
  2513. package/extensions/third-party/node_modules/typebox/build/schema/types/schema.mjs +14 -0
  2514. package/extensions/third-party/node_modules/typebox/build/schema/types/then.d.mts +9 -0
  2515. package/extensions/third-party/node_modules/typebox/build/schema/types/then.mjs +14 -0
  2516. package/extensions/third-party/node_modules/typebox/build/schema/types/type.d.mts +9 -0
  2517. package/extensions/third-party/node_modules/typebox/build/schema/types/type.mjs +15 -0
  2518. package/extensions/third-party/node_modules/typebox/build/schema/types/unevaluatedItems.d.mts +9 -0
  2519. package/extensions/third-party/node_modules/typebox/build/schema/types/unevaluatedItems.mjs +14 -0
  2520. package/extensions/third-party/node_modules/typebox/build/schema/types/unevaluatedProperties.d.mts +9 -0
  2521. package/extensions/third-party/node_modules/typebox/build/schema/types/unevaluatedProperties.mjs +14 -0
  2522. package/extensions/third-party/node_modules/typebox/build/schema/types/uniqueItems.d.mts +9 -0
  2523. package/extensions/third-party/node_modules/typebox/build/schema/types/uniqueItems.mjs +13 -0
  2524. package/extensions/third-party/node_modules/typebox/build/system/arguments/arguments.d.mts +5 -0
  2525. package/extensions/third-party/node_modules/typebox/build/system/arguments/arguments.mjs +9 -0
  2526. package/extensions/third-party/node_modules/typebox/build/system/arguments/index.d.mts +1 -0
  2527. package/extensions/third-party/node_modules/typebox/build/system/arguments/index.mjs +1 -0
  2528. package/extensions/third-party/node_modules/typebox/build/system/environment/environment.d.mts +1 -0
  2529. package/extensions/third-party/node_modules/typebox/build/system/environment/environment.mjs +1 -0
  2530. package/extensions/third-party/node_modules/typebox/build/system/environment/evaluate.d.mts +9 -0
  2531. package/extensions/third-party/node_modules/typebox/build/system/environment/evaluate.mjs +37 -0
  2532. package/extensions/third-party/node_modules/typebox/build/system/environment/index.d.mts +1 -0
  2533. package/extensions/third-party/node_modules/typebox/build/system/environment/index.mjs +1 -0
  2534. package/extensions/third-party/node_modules/typebox/build/system/hashing/hash.d.mts +4 -0
  2535. package/extensions/third-party/node_modules/typebox/build/system/hashing/hash.mjs +232 -0
  2536. package/extensions/third-party/node_modules/typebox/build/system/hashing/index.d.mts +1 -0
  2537. package/extensions/third-party/node_modules/typebox/build/system/hashing/index.mjs +1 -0
  2538. package/extensions/third-party/node_modules/typebox/build/system/index.d.mts +4 -0
  2539. package/extensions/third-party/node_modules/typebox/build/system/index.mjs +4 -0
  2540. package/extensions/third-party/node_modules/typebox/build/system/locale/_config.d.mts +7 -0
  2541. package/extensions/third-party/node_modules/typebox/build/system/locale/_config.mjs +15 -0
  2542. package/extensions/third-party/node_modules/typebox/build/system/locale/_locale.d.mts +40 -0
  2543. package/extensions/third-party/node_modules/typebox/build/system/locale/_locale.mjs +40 -0
  2544. package/extensions/third-party/node_modules/typebox/build/system/locale/ar_001.d.mts +3 -0
  2545. package/extensions/third-party/node_modules/typebox/build/system/locale/ar_001.mjs +41 -0
  2546. package/extensions/third-party/node_modules/typebox/build/system/locale/bn_BD.d.mts +3 -0
  2547. package/extensions/third-party/node_modules/typebox/build/system/locale/bn_BD.mjs +41 -0
  2548. package/extensions/third-party/node_modules/typebox/build/system/locale/cs_CZ.d.mts +3 -0
  2549. package/extensions/third-party/node_modules/typebox/build/system/locale/cs_CZ.mjs +41 -0
  2550. package/extensions/third-party/node_modules/typebox/build/system/locale/de_DE.d.mts +3 -0
  2551. package/extensions/third-party/node_modules/typebox/build/system/locale/de_DE.mjs +41 -0
  2552. package/extensions/third-party/node_modules/typebox/build/system/locale/el_GR.d.mts +3 -0
  2553. package/extensions/third-party/node_modules/typebox/build/system/locale/el_GR.mjs +41 -0
  2554. package/extensions/third-party/node_modules/typebox/build/system/locale/en_US.d.mts +3 -0
  2555. package/extensions/third-party/node_modules/typebox/build/system/locale/en_US.mjs +40 -0
  2556. package/extensions/third-party/node_modules/typebox/build/system/locale/es_419.d.mts +3 -0
  2557. package/extensions/third-party/node_modules/typebox/build/system/locale/es_419.mjs +41 -0
  2558. package/extensions/third-party/node_modules/typebox/build/system/locale/es_AR.d.mts +3 -0
  2559. package/extensions/third-party/node_modules/typebox/build/system/locale/es_AR.mjs +41 -0
  2560. package/extensions/third-party/node_modules/typebox/build/system/locale/es_ES.d.mts +3 -0
  2561. package/extensions/third-party/node_modules/typebox/build/system/locale/es_ES.mjs +41 -0
  2562. package/extensions/third-party/node_modules/typebox/build/system/locale/es_MX.d.mts +3 -0
  2563. package/extensions/third-party/node_modules/typebox/build/system/locale/es_MX.mjs +41 -0
  2564. package/extensions/third-party/node_modules/typebox/build/system/locale/fa_IR.d.mts +3 -0
  2565. package/extensions/third-party/node_modules/typebox/build/system/locale/fa_IR.mjs +41 -0
  2566. package/extensions/third-party/node_modules/typebox/build/system/locale/fil_PH.d.mts +3 -0
  2567. package/extensions/third-party/node_modules/typebox/build/system/locale/fil_PH.mjs +41 -0
  2568. package/extensions/third-party/node_modules/typebox/build/system/locale/fr_CA.d.mts +3 -0
  2569. package/extensions/third-party/node_modules/typebox/build/system/locale/fr_CA.mjs +41 -0
  2570. package/extensions/third-party/node_modules/typebox/build/system/locale/fr_FR.d.mts +3 -0
  2571. package/extensions/third-party/node_modules/typebox/build/system/locale/fr_FR.mjs +41 -0
  2572. package/extensions/third-party/node_modules/typebox/build/system/locale/ha_NG.d.mts +3 -0
  2573. package/extensions/third-party/node_modules/typebox/build/system/locale/ha_NG.mjs +41 -0
  2574. package/extensions/third-party/node_modules/typebox/build/system/locale/hi_IN.d.mts +3 -0
  2575. package/extensions/third-party/node_modules/typebox/build/system/locale/hi_IN.mjs +41 -0
  2576. package/extensions/third-party/node_modules/typebox/build/system/locale/hu_HU.d.mts +3 -0
  2577. package/extensions/third-party/node_modules/typebox/build/system/locale/hu_HU.mjs +41 -0
  2578. package/extensions/third-party/node_modules/typebox/build/system/locale/id_ID.d.mts +3 -0
  2579. package/extensions/third-party/node_modules/typebox/build/system/locale/id_ID.mjs +41 -0
  2580. package/extensions/third-party/node_modules/typebox/build/system/locale/index.d.mts +1 -0
  2581. package/extensions/third-party/node_modules/typebox/build/system/locale/index.mjs +1 -0
  2582. package/extensions/third-party/node_modules/typebox/build/system/locale/it_IT.d.mts +3 -0
  2583. package/extensions/third-party/node_modules/typebox/build/system/locale/it_IT.mjs +41 -0
  2584. package/extensions/third-party/node_modules/typebox/build/system/locale/ja_JP.d.mts +3 -0
  2585. package/extensions/third-party/node_modules/typebox/build/system/locale/ja_JP.mjs +41 -0
  2586. package/extensions/third-party/node_modules/typebox/build/system/locale/ko_KR.d.mts +3 -0
  2587. package/extensions/third-party/node_modules/typebox/build/system/locale/ko_KR.mjs +41 -0
  2588. package/extensions/third-party/node_modules/typebox/build/system/locale/ms_MY.d.mts +3 -0
  2589. package/extensions/third-party/node_modules/typebox/build/system/locale/ms_MY.mjs +41 -0
  2590. package/extensions/third-party/node_modules/typebox/build/system/locale/nl_NL.d.mts +3 -0
  2591. package/extensions/third-party/node_modules/typebox/build/system/locale/nl_NL.mjs +41 -0
  2592. package/extensions/third-party/node_modules/typebox/build/system/locale/pl_PL.d.mts +3 -0
  2593. package/extensions/third-party/node_modules/typebox/build/system/locale/pl_PL.mjs +41 -0
  2594. package/extensions/third-party/node_modules/typebox/build/system/locale/pt_BR.d.mts +3 -0
  2595. package/extensions/third-party/node_modules/typebox/build/system/locale/pt_BR.mjs +41 -0
  2596. package/extensions/third-party/node_modules/typebox/build/system/locale/pt_PT.d.mts +3 -0
  2597. package/extensions/third-party/node_modules/typebox/build/system/locale/pt_PT.mjs +41 -0
  2598. package/extensions/third-party/node_modules/typebox/build/system/locale/ro_RO.d.mts +3 -0
  2599. package/extensions/third-party/node_modules/typebox/build/system/locale/ro_RO.mjs +41 -0
  2600. package/extensions/third-party/node_modules/typebox/build/system/locale/ru_RU.d.mts +3 -0
  2601. package/extensions/third-party/node_modules/typebox/build/system/locale/ru_RU.mjs +41 -0
  2602. package/extensions/third-party/node_modules/typebox/build/system/locale/sv_SE.d.mts +3 -0
  2603. package/extensions/third-party/node_modules/typebox/build/system/locale/sv_SE.mjs +41 -0
  2604. package/extensions/third-party/node_modules/typebox/build/system/locale/sw_TZ.d.mts +3 -0
  2605. package/extensions/third-party/node_modules/typebox/build/system/locale/sw_TZ.mjs +41 -0
  2606. package/extensions/third-party/node_modules/typebox/build/system/locale/th_TH.d.mts +3 -0
  2607. package/extensions/third-party/node_modules/typebox/build/system/locale/th_TH.mjs +41 -0
  2608. package/extensions/third-party/node_modules/typebox/build/system/locale/tr_TR.d.mts +3 -0
  2609. package/extensions/third-party/node_modules/typebox/build/system/locale/tr_TR.mjs +41 -0
  2610. package/extensions/third-party/node_modules/typebox/build/system/locale/uk_UA.d.mts +3 -0
  2611. package/extensions/third-party/node_modules/typebox/build/system/locale/uk_UA.mjs +41 -0
  2612. package/extensions/third-party/node_modules/typebox/build/system/locale/ur_PK.d.mts +3 -0
  2613. package/extensions/third-party/node_modules/typebox/build/system/locale/ur_PK.mjs +41 -0
  2614. package/extensions/third-party/node_modules/typebox/build/system/locale/vi_VN.d.mts +3 -0
  2615. package/extensions/third-party/node_modules/typebox/build/system/locale/vi_VN.mjs +41 -0
  2616. package/extensions/third-party/node_modules/typebox/build/system/locale/yo_NG.d.mts +3 -0
  2617. package/extensions/third-party/node_modules/typebox/build/system/locale/yo_NG.mjs +41 -0
  2618. package/extensions/third-party/node_modules/typebox/build/system/locale/zh_Hans.d.mts +3 -0
  2619. package/extensions/third-party/node_modules/typebox/build/system/locale/zh_Hans.mjs +41 -0
  2620. package/extensions/third-party/node_modules/typebox/build/system/locale/zh_Hant.d.mts +3 -0
  2621. package/extensions/third-party/node_modules/typebox/build/system/locale/zh_Hant.mjs +41 -0
  2622. package/extensions/third-party/node_modules/typebox/build/system/memory/assign.d.mts +14 -0
  2623. package/extensions/third-party/node_modules/typebox/build/system/memory/assign.mjs +11 -0
  2624. package/extensions/third-party/node_modules/typebox/build/system/memory/clone.d.mts +6 -0
  2625. package/extensions/third-party/node_modules/typebox/build/system/memory/clone.mjs +63 -0
  2626. package/extensions/third-party/node_modules/typebox/build/system/memory/create.d.mts +8 -0
  2627. package/extensions/third-party/node_modules/typebox/build/system/memory/create.mjs +30 -0
  2628. package/extensions/third-party/node_modules/typebox/build/system/memory/discard.d.mts +4 -0
  2629. package/extensions/third-party/node_modules/typebox/build/system/memory/discard.mjs +17 -0
  2630. package/extensions/third-party/node_modules/typebox/build/system/memory/index.d.mts +1 -0
  2631. package/extensions/third-party/node_modules/typebox/build/system/memory/index.mjs +1 -0
  2632. package/extensions/third-party/node_modules/typebox/build/system/memory/memory.d.mts +6 -0
  2633. package/extensions/third-party/node_modules/typebox/build/system/memory/memory.mjs +7 -0
  2634. package/extensions/third-party/node_modules/typebox/build/system/memory/metrics.d.mts +14 -0
  2635. package/extensions/third-party/node_modules/typebox/build/system/memory/metrics.mjs +8 -0
  2636. package/extensions/third-party/node_modules/typebox/build/system/memory/update.d.mts +7 -0
  2637. package/extensions/third-party/node_modules/typebox/build/system/memory/update.mjs +32 -0
  2638. package/extensions/third-party/node_modules/typebox/build/system/settings/index.d.mts +1 -0
  2639. package/extensions/third-party/node_modules/typebox/build/system/settings/index.mjs +1 -0
  2640. package/extensions/third-party/node_modules/typebox/build/system/settings/settings.d.mts +56 -0
  2641. package/extensions/third-party/node_modules/typebox/build/system/settings/settings.mjs +32 -0
  2642. package/extensions/third-party/node_modules/typebox/build/system/system.d.mts +6 -0
  2643. package/extensions/third-party/node_modules/typebox/build/system/system.mjs +6 -0
  2644. package/extensions/third-party/node_modules/typebox/build/system/unreachable/index.d.mts +1 -0
  2645. package/extensions/third-party/node_modules/typebox/build/system/unreachable/index.mjs +1 -0
  2646. package/extensions/third-party/node_modules/typebox/build/system/unreachable/unreachable.d.mts +3 -0
  2647. package/extensions/third-party/node_modules/typebox/build/system/unreachable/unreachable.mjs +6 -0
  2648. package/extensions/third-party/node_modules/typebox/build/type/action/_optional.d.mts +19 -0
  2649. package/extensions/third-party/node_modules/typebox/build/type/action/_optional.mjs +40 -0
  2650. package/extensions/third-party/node_modules/typebox/build/type/action/_readonly.d.mts +19 -0
  2651. package/extensions/third-party/node_modules/typebox/build/type/action/_readonly.mjs +40 -0
  2652. package/extensions/third-party/node_modules/typebox/build/type/action/awaited.d.mts +15 -0
  2653. package/extensions/third-party/node_modules/typebox/build/type/action/awaited.mjs +15 -0
  2654. package/extensions/third-party/node_modules/typebox/build/type/action/capitalize.d.mts +11 -0
  2655. package/extensions/third-party/node_modules/typebox/build/type/action/capitalize.mjs +11 -0
  2656. package/extensions/third-party/node_modules/typebox/build/type/action/conditional.d.mts +13 -0
  2657. package/extensions/third-party/node_modules/typebox/build/type/action/conditional.mjs +12 -0
  2658. package/extensions/third-party/node_modules/typebox/build/type/action/constructor_parameters.d.mts +11 -0
  2659. package/extensions/third-party/node_modules/typebox/build/type/action/constructor_parameters.mjs +11 -0
  2660. package/extensions/third-party/node_modules/typebox/build/type/action/evaluate.d.mts +11 -0
  2661. package/extensions/third-party/node_modules/typebox/build/type/action/evaluate.mjs +11 -0
  2662. package/extensions/third-party/node_modules/typebox/build/type/action/exclude.d.mts +11 -0
  2663. package/extensions/third-party/node_modules/typebox/build/type/action/exclude.mjs +11 -0
  2664. package/extensions/third-party/node_modules/typebox/build/type/action/extract.d.mts +11 -0
  2665. package/extensions/third-party/node_modules/typebox/build/type/action/extract.mjs +11 -0
  2666. package/extensions/third-party/node_modules/typebox/build/type/action/index.d.mts +27 -0
  2667. package/extensions/third-party/node_modules/typebox/build/type/action/index.mjs +27 -0
  2668. package/extensions/third-party/node_modules/typebox/build/type/action/indexed.d.mts +14 -0
  2669. package/extensions/third-party/node_modules/typebox/build/type/action/indexed.mjs +14 -0
  2670. package/extensions/third-party/node_modules/typebox/build/type/action/instance_type.d.mts +11 -0
  2671. package/extensions/third-party/node_modules/typebox/build/type/action/instance_type.mjs +11 -0
  2672. package/extensions/third-party/node_modules/typebox/build/type/action/interface.d.mts +14 -0
  2673. package/extensions/third-party/node_modules/typebox/build/type/action/interface.mjs +22 -0
  2674. package/extensions/third-party/node_modules/typebox/build/type/action/keyof.d.mts +11 -0
  2675. package/extensions/third-party/node_modules/typebox/build/type/action/keyof.mjs +11 -0
  2676. package/extensions/third-party/node_modules/typebox/build/type/action/lowercase.d.mts +11 -0
  2677. package/extensions/third-party/node_modules/typebox/build/type/action/lowercase.mjs +11 -0
  2678. package/extensions/third-party/node_modules/typebox/build/type/action/mapped.d.mts +14 -0
  2679. package/extensions/third-party/node_modules/typebox/build/type/action/mapped.mjs +12 -0
  2680. package/extensions/third-party/node_modules/typebox/build/type/action/module.d.mts +12 -0
  2681. package/extensions/third-party/node_modules/typebox/build/type/action/module.mjs +12 -0
  2682. package/extensions/third-party/node_modules/typebox/build/type/action/non_nullable.d.mts +11 -0
  2683. package/extensions/third-party/node_modules/typebox/build/type/action/non_nullable.mjs +11 -0
  2684. package/extensions/third-party/node_modules/typebox/build/type/action/omit.d.mts +14 -0
  2685. package/extensions/third-party/node_modules/typebox/build/type/action/omit.mjs +14 -0
  2686. package/extensions/third-party/node_modules/typebox/build/type/action/options.d.mts +11 -0
  2687. package/extensions/third-party/node_modules/typebox/build/type/action/options.mjs +11 -0
  2688. package/extensions/third-party/node_modules/typebox/build/type/action/parameters.d.mts +11 -0
  2689. package/extensions/third-party/node_modules/typebox/build/type/action/parameters.mjs +11 -0
  2690. package/extensions/third-party/node_modules/typebox/build/type/action/partial.d.mts +11 -0
  2691. package/extensions/third-party/node_modules/typebox/build/type/action/partial.mjs +11 -0
  2692. package/extensions/third-party/node_modules/typebox/build/type/action/pick.d.mts +14 -0
  2693. package/extensions/third-party/node_modules/typebox/build/type/action/pick.mjs +14 -0
  2694. package/extensions/third-party/node_modules/typebox/build/type/action/readonly_object.d.mts +16 -0
  2695. package/extensions/third-party/node_modules/typebox/build/type/action/readonly_object.mjs +16 -0
  2696. package/extensions/third-party/node_modules/typebox/build/type/action/required.d.mts +11 -0
  2697. package/extensions/third-party/node_modules/typebox/build/type/action/required.mjs +11 -0
  2698. package/extensions/third-party/node_modules/typebox/build/type/action/return_type.d.mts +11 -0
  2699. package/extensions/third-party/node_modules/typebox/build/type/action/return_type.mjs +11 -0
  2700. package/extensions/third-party/node_modules/typebox/build/type/action/uncapitalize.d.mts +11 -0
  2701. package/extensions/third-party/node_modules/typebox/build/type/action/uncapitalize.mjs +11 -0
  2702. package/extensions/third-party/node_modules/typebox/build/type/action/uppercase.d.mts +11 -0
  2703. package/extensions/third-party/node_modules/typebox/build/type/action/uppercase.mjs +11 -0
  2704. package/extensions/third-party/node_modules/typebox/build/type/engine/awaited/index.d.mts +1 -0
  2705. package/extensions/third-party/node_modules/typebox/build/type/engine/awaited/index.mjs +1 -0
  2706. package/extensions/third-party/node_modules/typebox/build/type/engine/awaited/instantiate.d.mts +11 -0
  2707. package/extensions/third-party/node_modules/typebox/build/type/engine/awaited/instantiate.mjs +20 -0
  2708. package/extensions/third-party/node_modules/typebox/build/type/engine/call/distribute_arguments.d.mts +15 -0
  2709. package/extensions/third-party/node_modules/typebox/build/type/engine/call/distribute_arguments.mjs +53 -0
  2710. package/extensions/third-party/node_modules/typebox/build/type/engine/call/instantiate.d.mts +23 -0
  2711. package/extensions/third-party/node_modules/typebox/build/type/engine/call/instantiate.mjs +48 -0
  2712. package/extensions/third-party/node_modules/typebox/build/type/engine/call/resolve_arguments.d.mts +13 -0
  2713. package/extensions/third-party/node_modules/typebox/build/type/engine/call/resolve_arguments.mjs +33 -0
  2714. package/extensions/third-party/node_modules/typebox/build/type/engine/call/resolve_target.d.mts +25 -0
  2715. package/extensions/third-party/node_modules/typebox/build/type/engine/call/resolve_target.mjs +27 -0
  2716. package/extensions/third-party/node_modules/typebox/build/type/engine/conditional/index.d.mts +1 -0
  2717. package/extensions/third-party/node_modules/typebox/build/type/engine/conditional/index.mjs +1 -0
  2718. package/extensions/third-party/node_modules/typebox/build/type/engine/conditional/instantiate.d.mts +12 -0
  2719. package/extensions/third-party/node_modules/typebox/build/type/engine/conditional/instantiate.mjs +23 -0
  2720. package/extensions/third-party/node_modules/typebox/build/type/engine/constructor_parameters/index.d.mts +1 -0
  2721. package/extensions/third-party/node_modules/typebox/build/type/engine/constructor_parameters/index.mjs +1 -0
  2722. package/extensions/third-party/node_modules/typebox/build/type/engine/constructor_parameters/instantiate.d.mts +15 -0
  2723. package/extensions/third-party/node_modules/typebox/build/type/engine/constructor_parameters/instantiate.mjs +24 -0
  2724. package/extensions/third-party/node_modules/typebox/build/type/engine/cyclic/candidates.d.mts +9 -0
  2725. package/extensions/third-party/node_modules/typebox/build/type/engine/cyclic/candidates.mjs +19 -0
  2726. package/extensions/third-party/node_modules/typebox/build/type/engine/cyclic/check.d.mts +24 -0
  2727. package/extensions/third-party/node_modules/typebox/build/type/engine/cyclic/check.mjs +51 -0
  2728. package/extensions/third-party/node_modules/typebox/build/type/engine/cyclic/dependencies.d.mts +25 -0
  2729. package/extensions/third-party/node_modules/typebox/build/type/engine/cyclic/dependencies.mjs +53 -0
  2730. package/extensions/third-party/node_modules/typebox/build/type/engine/cyclic/extends.d.mts +31 -0
  2731. package/extensions/third-party/node_modules/typebox/build/type/engine/cyclic/extends.mjs +53 -0
  2732. package/extensions/third-party/node_modules/typebox/build/type/engine/cyclic/index.d.mts +6 -0
  2733. package/extensions/third-party/node_modules/typebox/build/type/engine/cyclic/index.mjs +6 -0
  2734. package/extensions/third-party/node_modules/typebox/build/type/engine/cyclic/instantiate.d.mts +20 -0
  2735. package/extensions/third-party/node_modules/typebox/build/type/engine/cyclic/instantiate.mjs +30 -0
  2736. package/extensions/third-party/node_modules/typebox/build/type/engine/cyclic/target.d.mts +10 -0
  2737. package/extensions/third-party/node_modules/typebox/build/type/engine/cyclic/target.mjs +16 -0
  2738. package/extensions/third-party/node_modules/typebox/build/type/engine/enum/enum_to_union.d.mts +14 -0
  2739. package/extensions/third-party/node_modules/typebox/build/type/engine/enum/enum_to_union.mjs +24 -0
  2740. package/extensions/third-party/node_modules/typebox/build/type/engine/enum/index.d.mts +2 -0
  2741. package/extensions/third-party/node_modules/typebox/build/type/engine/enum/index.mjs +2 -0
  2742. package/extensions/third-party/node_modules/typebox/build/type/engine/enum/typescript_enum_to_enum_values.d.mts +8 -0
  2743. package/extensions/third-party/node_modules/typebox/build/type/engine/enum/typescript_enum_to_enum_values.mjs +9 -0
  2744. package/extensions/third-party/node_modules/typebox/build/type/engine/evaluate/broaden.d.mts +16 -0
  2745. package/extensions/third-party/node_modules/typebox/build/type/engine/evaluate/broaden.mjs +47 -0
  2746. package/extensions/third-party/node_modules/typebox/build/type/engine/evaluate/compare.d.mts +15 -0
  2747. package/extensions/third-party/node_modules/typebox/build/type/engine/evaluate/compare.mjs +22 -0
  2748. package/extensions/third-party/node_modules/typebox/build/type/engine/evaluate/composite.d.mts +30 -0
  2749. package/extensions/third-party/node_modules/typebox/build/type/engine/evaluate/composite.mjs +63 -0
  2750. package/extensions/third-party/node_modules/typebox/build/type/engine/evaluate/distribute.d.mts +27 -0
  2751. package/extensions/third-party/node_modules/typebox/build/type/engine/evaluate/distribute.mjs +45 -0
  2752. package/extensions/third-party/node_modules/typebox/build/type/engine/evaluate/evaluate.d.mts +14 -0
  2753. package/extensions/third-party/node_modules/typebox/build/type/engine/evaluate/evaluate.mjs +27 -0
  2754. package/extensions/third-party/node_modules/typebox/build/type/engine/evaluate/flatten.d.mts +6 -0
  2755. package/extensions/third-party/node_modules/typebox/build/type/engine/evaluate/flatten.mjs +11 -0
  2756. package/extensions/third-party/node_modules/typebox/build/type/engine/evaluate/index.d.mts +8 -0
  2757. package/extensions/third-party/node_modules/typebox/build/type/engine/evaluate/index.mjs +8 -0
  2758. package/extensions/third-party/node_modules/typebox/build/type/engine/evaluate/instantiate.d.mts +8 -0
  2759. package/extensions/third-party/node_modules/typebox/build/type/engine/evaluate/instantiate.mjs +12 -0
  2760. package/extensions/third-party/node_modules/typebox/build/type/engine/evaluate/narrow.d.mts +5 -0
  2761. package/extensions/third-party/node_modules/typebox/build/type/engine/evaluate/narrow.mjs +11 -0
  2762. package/extensions/third-party/node_modules/typebox/build/type/engine/exclude/index.d.mts +1 -0
  2763. package/extensions/third-party/node_modules/typebox/build/type/engine/exclude/index.mjs +1 -0
  2764. package/extensions/third-party/node_modules/typebox/build/type/engine/exclude/instantiate.d.mts +9 -0
  2765. package/extensions/third-party/node_modules/typebox/build/type/engine/exclude/instantiate.mjs +16 -0
  2766. package/extensions/third-party/node_modules/typebox/build/type/engine/exclude/operation.d.mts +11 -0
  2767. package/extensions/third-party/node_modules/typebox/build/type/engine/exclude/operation.mjs +24 -0
  2768. package/extensions/third-party/node_modules/typebox/build/type/engine/extract/index.d.mts +1 -0
  2769. package/extensions/third-party/node_modules/typebox/build/type/engine/extract/index.mjs +1 -0
  2770. package/extensions/third-party/node_modules/typebox/build/type/engine/extract/instantiate.d.mts +9 -0
  2771. package/extensions/third-party/node_modules/typebox/build/type/engine/extract/instantiate.mjs +16 -0
  2772. package/extensions/third-party/node_modules/typebox/build/type/engine/extract/operation.d.mts +11 -0
  2773. package/extensions/third-party/node_modules/typebox/build/type/engine/extract/operation.mjs +24 -0
  2774. package/extensions/third-party/node_modules/typebox/build/type/engine/helpers/index.d.mts +3 -0
  2775. package/extensions/third-party/node_modules/typebox/build/type/engine/helpers/index.mjs +3 -0
  2776. package/extensions/third-party/node_modules/typebox/build/type/engine/helpers/keys.d.mts +3 -0
  2777. package/extensions/third-party/node_modules/typebox/build/type/engine/helpers/keys.mjs +8 -0
  2778. package/extensions/third-party/node_modules/typebox/build/type/engine/helpers/keys_to_indexer.d.mts +7 -0
  2779. package/extensions/third-party/node_modules/typebox/build/type/engine/helpers/keys_to_indexer.mjs +15 -0
  2780. package/extensions/third-party/node_modules/typebox/build/type/engine/helpers/union.d.mts +7 -0
  2781. package/extensions/third-party/node_modules/typebox/build/type/engine/helpers/union.mjs +3 -0
  2782. package/extensions/third-party/node_modules/typebox/build/type/engine/index.d.mts +31 -0
  2783. package/extensions/third-party/node_modules/typebox/build/type/engine/index.mjs +37 -0
  2784. package/extensions/third-party/node_modules/typebox/build/type/engine/indexable/from_cyclic.d.mts +6 -0
  2785. package/extensions/third-party/node_modules/typebox/build/type/engine/indexable/from_cyclic.mjs +8 -0
  2786. package/extensions/third-party/node_modules/typebox/build/type/engine/indexable/from_enum.d.mts +6 -0
  2787. package/extensions/third-party/node_modules/typebox/build/type/engine/indexable/from_enum.mjs +8 -0
  2788. package/extensions/third-party/node_modules/typebox/build/type/engine/indexable/from_intersect.d.mts +5 -0
  2789. package/extensions/third-party/node_modules/typebox/build/type/engine/indexable/from_intersect.mjs +8 -0
  2790. package/extensions/third-party/node_modules/typebox/build/type/engine/indexable/from_literal.d.mts +3 -0
  2791. package/extensions/third-party/node_modules/typebox/build/type/engine/indexable/from_literal.mjs +5 -0
  2792. package/extensions/third-party/node_modules/typebox/build/type/engine/indexable/from_template_literal.d.mts +5 -0
  2793. package/extensions/third-party/node_modules/typebox/build/type/engine/indexable/from_template_literal.mjs +8 -0
  2794. package/extensions/third-party/node_modules/typebox/build/type/engine/indexable/from_type.d.mts +17 -0
  2795. package/extensions/third-party/node_modules/typebox/build/type/engine/indexable/from_type.mjs +22 -0
  2796. package/extensions/third-party/node_modules/typebox/build/type/engine/indexable/from_union.d.mts +4 -0
  2797. package/extensions/third-party/node_modules/typebox/build/type/engine/indexable/from_union.mjs +7 -0
  2798. package/extensions/third-party/node_modules/typebox/build/type/engine/indexable/to_indexable.d.mts +9 -0
  2799. package/extensions/third-party/node_modules/typebox/build/type/engine/indexable/to_indexable.mjs +14 -0
  2800. package/extensions/third-party/node_modules/typebox/build/type/engine/indexable/to_indexable_keys.d.mts +10 -0
  2801. package/extensions/third-party/node_modules/typebox/build/type/engine/indexable/to_indexable_keys.mjs +12 -0
  2802. package/extensions/third-party/node_modules/typebox/build/type/engine/indexed/array_indexer.d.mts +12 -0
  2803. package/extensions/third-party/node_modules/typebox/build/type/engine/indexed/array_indexer.mjs +18 -0
  2804. package/extensions/third-party/node_modules/typebox/build/type/engine/indexed/from_array.d.mts +15 -0
  2805. package/extensions/third-party/node_modules/typebox/build/type/engine/indexed/from_array.mjs +35 -0
  2806. package/extensions/third-party/node_modules/typebox/build/type/engine/indexed/from_object.d.mts +16 -0
  2807. package/extensions/third-party/node_modules/typebox/build/type/engine/indexed/from_object.mjs +40 -0
  2808. package/extensions/third-party/node_modules/typebox/build/type/engine/indexed/from_tuple.d.mts +13 -0
  2809. package/extensions/third-party/node_modules/typebox/build/type/engine/indexed/from_tuple.mjs +35 -0
  2810. package/extensions/third-party/node_modules/typebox/build/type/engine/indexed/from_type.d.mts +11 -0
  2811. package/extensions/third-party/node_modules/typebox/build/type/engine/indexed/from_type.mjs +14 -0
  2812. package/extensions/third-party/node_modules/typebox/build/type/engine/indexed/index.d.mts +1 -0
  2813. package/extensions/third-party/node_modules/typebox/build/type/engine/indexed/index.mjs +1 -0
  2814. package/extensions/third-party/node_modules/typebox/build/type/engine/indexed/instantiate.d.mts +15 -0
  2815. package/extensions/third-party/node_modules/typebox/build/type/engine/indexed/instantiate.mjs +25 -0
  2816. package/extensions/third-party/node_modules/typebox/build/type/engine/instance_type/index.d.mts +1 -0
  2817. package/extensions/third-party/node_modules/typebox/build/type/engine/instance_type/index.mjs +1 -0
  2818. package/extensions/third-party/node_modules/typebox/build/type/engine/instance_type/instantiate.d.mts +12 -0
  2819. package/extensions/third-party/node_modules/typebox/build/type/engine/instance_type/instantiate.mjs +21 -0
  2820. package/extensions/third-party/node_modules/typebox/build/type/engine/instantiate.d.mts +165 -0
  2821. package/extensions/third-party/node_modules/typebox/build/type/engine/instantiate.mjs +159 -0
  2822. package/extensions/third-party/node_modules/typebox/build/type/engine/interface/index.d.mts +1 -0
  2823. package/extensions/third-party/node_modules/typebox/build/type/engine/interface/index.mjs +1 -0
  2824. package/extensions/third-party/node_modules/typebox/build/type/engine/interface/instantiate.d.mts +18 -0
  2825. package/extensions/third-party/node_modules/typebox/build/type/engine/interface/instantiate.mjs +23 -0
  2826. package/extensions/third-party/node_modules/typebox/build/type/engine/intrinsics/from_literal.d.mts +5 -0
  2827. package/extensions/third-party/node_modules/typebox/build/type/engine/intrinsics/from_literal.mjs +9 -0
  2828. package/extensions/third-party/node_modules/typebox/build/type/engine/intrinsics/from_template_literal.d.mts +6 -0
  2829. package/extensions/third-party/node_modules/typebox/build/type/engine/intrinsics/from_template_literal.mjs +8 -0
  2830. package/extensions/third-party/node_modules/typebox/build/type/engine/intrinsics/from_type.d.mts +10 -0
  2831. package/extensions/third-party/node_modules/typebox/build/type/engine/intrinsics/from_type.mjs +13 -0
  2832. package/extensions/third-party/node_modules/typebox/build/type/engine/intrinsics/from_union.d.mts +6 -0
  2833. package/extensions/third-party/node_modules/typebox/build/type/engine/intrinsics/from_union.mjs +7 -0
  2834. package/extensions/third-party/node_modules/typebox/build/type/engine/intrinsics/index.d.mts +1 -0
  2835. package/extensions/third-party/node_modules/typebox/build/type/engine/intrinsics/index.mjs +1 -0
  2836. package/extensions/third-party/node_modules/typebox/build/type/engine/intrinsics/instantiate.d.mts +38 -0
  2837. package/extensions/third-party/node_modules/typebox/build/type/engine/intrinsics/instantiate.mjs +52 -0
  2838. package/extensions/third-party/node_modules/typebox/build/type/engine/intrinsics/mapping.d.mts +9 -0
  2839. package/extensions/third-party/node_modules/typebox/build/type/engine/intrinsics/mapping.mjs +4 -0
  2840. package/extensions/third-party/node_modules/typebox/build/type/engine/keyof/from_any.d.mts +6 -0
  2841. package/extensions/third-party/node_modules/typebox/build/type/engine/keyof/from_any.mjs +8 -0
  2842. package/extensions/third-party/node_modules/typebox/build/type/engine/keyof/from_array.d.mts +4 -0
  2843. package/extensions/third-party/node_modules/typebox/build/type/engine/keyof/from_array.mjs +5 -0
  2844. package/extensions/third-party/node_modules/typebox/build/type/engine/keyof/from_object.d.mts +10 -0
  2845. package/extensions/third-party/node_modules/typebox/build/type/engine/keyof/from_object.mjs +20 -0
  2846. package/extensions/third-party/node_modules/typebox/build/type/engine/keyof/from_record.d.mts +4 -0
  2847. package/extensions/third-party/node_modules/typebox/build/type/engine/keyof/from_record.mjs +5 -0
  2848. package/extensions/third-party/node_modules/typebox/build/type/engine/keyof/from_tuple.d.mts +5 -0
  2849. package/extensions/third-party/node_modules/typebox/build/type/engine/keyof/from_tuple.mjs +7 -0
  2850. package/extensions/third-party/node_modules/typebox/build/type/engine/keyof/from_type.d.mts +15 -0
  2851. package/extensions/third-party/node_modules/typebox/build/type/engine/keyof/from_type.mjs +23 -0
  2852. package/extensions/third-party/node_modules/typebox/build/type/engine/keyof/index.d.mts +1 -0
  2853. package/extensions/third-party/node_modules/typebox/build/type/engine/keyof/index.mjs +1 -0
  2854. package/extensions/third-party/node_modules/typebox/build/type/engine/keyof/instantiate.d.mts +15 -0
  2855. package/extensions/third-party/node_modules/typebox/build/type/engine/keyof/instantiate.mjs +25 -0
  2856. package/extensions/third-party/node_modules/typebox/build/type/engine/mapped/index.d.mts +1 -0
  2857. package/extensions/third-party/node_modules/typebox/build/type/engine/mapped/index.mjs +1 -0
  2858. package/extensions/third-party/node_modules/typebox/build/type/engine/mapped/instantiate.d.mts +10 -0
  2859. package/extensions/third-party/node_modules/typebox/build/type/engine/mapped/instantiate.mjs +15 -0
  2860. package/extensions/third-party/node_modules/typebox/build/type/engine/mapped/mapped_operation.d.mts +22 -0
  2861. package/extensions/third-party/node_modules/typebox/build/type/engine/mapped/mapped_operation.mjs +42 -0
  2862. package/extensions/third-party/node_modules/typebox/build/type/engine/mapped/mapped_variants.d.mts +16 -0
  2863. package/extensions/third-party/node_modules/typebox/build/type/engine/mapped/mapped_variants.mjs +34 -0
  2864. package/extensions/third-party/node_modules/typebox/build/type/engine/module/index.d.mts +1 -0
  2865. package/extensions/third-party/node_modules/typebox/build/type/engine/module/index.mjs +1 -0
  2866. package/extensions/third-party/node_modules/typebox/build/type/engine/module/instantiate.d.mts +21 -0
  2867. package/extensions/third-party/node_modules/typebox/build/type/engine/module/instantiate.mjs +34 -0
  2868. package/extensions/third-party/node_modules/typebox/build/type/engine/non_nullable/index.d.mts +1 -0
  2869. package/extensions/third-party/node_modules/typebox/build/type/engine/non_nullable/index.mjs +1 -0
  2870. package/extensions/third-party/node_modules/typebox/build/type/engine/non_nullable/instantiate.d.mts +14 -0
  2871. package/extensions/third-party/node_modules/typebox/build/type/engine/non_nullable/instantiate.mjs +22 -0
  2872. package/extensions/third-party/node_modules/typebox/build/type/engine/object/collapse.d.mts +12 -0
  2873. package/extensions/third-party/node_modules/typebox/build/type/engine/object/collapse.mjs +14 -0
  2874. package/extensions/third-party/node_modules/typebox/build/type/engine/object/from_cyclic.d.mts +6 -0
  2875. package/extensions/third-party/node_modules/typebox/build/type/engine/object/from_cyclic.mjs +8 -0
  2876. package/extensions/third-party/node_modules/typebox/build/type/engine/object/from_intersect.d.mts +17 -0
  2877. package/extensions/third-party/node_modules/typebox/build/type/engine/object/from_intersect.mjs +22 -0
  2878. package/extensions/third-party/node_modules/typebox/build/type/engine/object/from_object.d.mts +3 -0
  2879. package/extensions/third-party/node_modules/typebox/build/type/engine/object/from_object.mjs +4 -0
  2880. package/extensions/third-party/node_modules/typebox/build/type/engine/object/from_tuple.d.mts +6 -0
  2881. package/extensions/third-party/node_modules/typebox/build/type/engine/object/from_tuple.mjs +9 -0
  2882. package/extensions/third-party/node_modules/typebox/build/type/engine/object/from_type.d.mts +14 -0
  2883. package/extensions/third-party/node_modules/typebox/build/type/engine/object/from_type.mjs +20 -0
  2884. package/extensions/third-party/node_modules/typebox/build/type/engine/object/from_union.d.mts +12 -0
  2885. package/extensions/third-party/node_modules/typebox/build/type/engine/object/from_union.mjs +19 -0
  2886. package/extensions/third-party/node_modules/typebox/build/type/engine/object/index.d.mts +1 -0
  2887. package/extensions/third-party/node_modules/typebox/build/type/engine/object/index.mjs +1 -0
  2888. package/extensions/third-party/node_modules/typebox/build/type/engine/omit/from_type.d.mts +12 -0
  2889. package/extensions/third-party/node_modules/typebox/build/type/engine/omit/from_type.mjs +18 -0
  2890. package/extensions/third-party/node_modules/typebox/build/type/engine/omit/index.d.mts +1 -0
  2891. package/extensions/third-party/node_modules/typebox/build/type/engine/omit/index.mjs +1 -0
  2892. package/extensions/third-party/node_modules/typebox/build/type/engine/omit/instantiate.d.mts +9 -0
  2893. package/extensions/third-party/node_modules/typebox/build/type/engine/omit/instantiate.mjs +16 -0
  2894. package/extensions/third-party/node_modules/typebox/build/type/engine/options/index.d.mts +1 -0
  2895. package/extensions/third-party/node_modules/typebox/build/type/engine/options/index.mjs +1 -0
  2896. package/extensions/third-party/node_modules/typebox/build/type/engine/options/instantiate.d.mts +8 -0
  2897. package/extensions/third-party/node_modules/typebox/build/type/engine/options/instantiate.mjs +14 -0
  2898. package/extensions/third-party/node_modules/typebox/build/type/engine/parameters/index.d.mts +1 -0
  2899. package/extensions/third-party/node_modules/typebox/build/type/engine/parameters/index.mjs +1 -0
  2900. package/extensions/third-party/node_modules/typebox/build/type/engine/parameters/instantiate.d.mts +15 -0
  2901. package/extensions/third-party/node_modules/typebox/build/type/engine/parameters/instantiate.mjs +24 -0
  2902. package/extensions/third-party/node_modules/typebox/build/type/engine/partial/from_cyclic.d.mts +10 -0
  2903. package/extensions/third-party/node_modules/typebox/build/type/engine/partial/from_cyclic.mjs +11 -0
  2904. package/extensions/third-party/node_modules/typebox/build/type/engine/partial/from_intersect.d.mts +5 -0
  2905. package/extensions/third-party/node_modules/typebox/build/type/engine/partial/from_intersect.mjs +7 -0
  2906. package/extensions/third-party/node_modules/typebox/build/type/engine/partial/from_object.d.mts +8 -0
  2907. package/extensions/third-party/node_modules/typebox/build/type/engine/partial/from_object.mjs +11 -0
  2908. package/extensions/third-party/node_modules/typebox/build/type/engine/partial/from_type.d.mts +12 -0
  2909. package/extensions/third-party/node_modules/typebox/build/type/engine/partial/from_type.mjs +17 -0
  2910. package/extensions/third-party/node_modules/typebox/build/type/engine/partial/from_union.d.mts +5 -0
  2911. package/extensions/third-party/node_modules/typebox/build/type/engine/partial/from_union.mjs +7 -0
  2912. package/extensions/third-party/node_modules/typebox/build/type/engine/partial/index.d.mts +1 -0
  2913. package/extensions/third-party/node_modules/typebox/build/type/engine/partial/index.mjs +1 -0
  2914. package/extensions/third-party/node_modules/typebox/build/type/engine/partial/instantiate.d.mts +9 -0
  2915. package/extensions/third-party/node_modules/typebox/build/type/engine/partial/instantiate.mjs +15 -0
  2916. package/extensions/third-party/node_modules/typebox/build/type/engine/patterns/index.d.mts +2 -0
  2917. package/extensions/third-party/node_modules/typebox/build/type/engine/patterns/index.mjs +2 -0
  2918. package/extensions/third-party/node_modules/typebox/build/type/engine/patterns/pattern.d.mts +6 -0
  2919. package/extensions/third-party/node_modules/typebox/build/type/engine/patterns/pattern.mjs +11 -0
  2920. package/extensions/third-party/node_modules/typebox/build/type/engine/patterns/template.d.mts +7 -0
  2921. package/extensions/third-party/node_modules/typebox/build/type/engine/patterns/template.mjs +20 -0
  2922. package/extensions/third-party/node_modules/typebox/build/type/engine/pick/from_type.d.mts +13 -0
  2923. package/extensions/third-party/node_modules/typebox/build/type/engine/pick/from_type.mjs +20 -0
  2924. package/extensions/third-party/node_modules/typebox/build/type/engine/pick/index.d.mts +1 -0
  2925. package/extensions/third-party/node_modules/typebox/build/type/engine/pick/index.mjs +1 -0
  2926. package/extensions/third-party/node_modules/typebox/build/type/engine/pick/instantiate.d.mts +9 -0
  2927. package/extensions/third-party/node_modules/typebox/build/type/engine/pick/instantiate.mjs +16 -0
  2928. package/extensions/third-party/node_modules/typebox/build/type/engine/readonly_object/from_array.d.mts +5 -0
  2929. package/extensions/third-party/node_modules/typebox/build/type/engine/readonly_object/from_array.mjs +7 -0
  2930. package/extensions/third-party/node_modules/typebox/build/type/engine/readonly_object/from_cyclic.d.mts +10 -0
  2931. package/extensions/third-party/node_modules/typebox/build/type/engine/readonly_object/from_cyclic.mjs +11 -0
  2932. package/extensions/third-party/node_modules/typebox/build/type/engine/readonly_object/from_intersect.d.mts +5 -0
  2933. package/extensions/third-party/node_modules/typebox/build/type/engine/readonly_object/from_intersect.mjs +7 -0
  2934. package/extensions/third-party/node_modules/typebox/build/type/engine/readonly_object/from_object.d.mts +8 -0
  2935. package/extensions/third-party/node_modules/typebox/build/type/engine/readonly_object/from_object.mjs +11 -0
  2936. package/extensions/third-party/node_modules/typebox/build/type/engine/readonly_object/from_tuple.d.mts +5 -0
  2937. package/extensions/third-party/node_modules/typebox/build/type/engine/readonly_object/from_tuple.mjs +7 -0
  2938. package/extensions/third-party/node_modules/typebox/build/type/engine/readonly_object/from_type.d.mts +16 -0
  2939. package/extensions/third-party/node_modules/typebox/build/type/engine/readonly_object/from_type.mjs +22 -0
  2940. package/extensions/third-party/node_modules/typebox/build/type/engine/readonly_object/from_union.d.mts +5 -0
  2941. package/extensions/third-party/node_modules/typebox/build/type/engine/readonly_object/from_union.mjs +7 -0
  2942. package/extensions/third-party/node_modules/typebox/build/type/engine/readonly_object/index.d.mts +1 -0
  2943. package/extensions/third-party/node_modules/typebox/build/type/engine/readonly_object/index.mjs +1 -0
  2944. package/extensions/third-party/node_modules/typebox/build/type/engine/readonly_object/instantiate.d.mts +9 -0
  2945. package/extensions/third-party/node_modules/typebox/build/type/engine/readonly_object/instantiate.mjs +15 -0
  2946. package/extensions/third-party/node_modules/typebox/build/type/engine/record/from_key.d.mts +24 -0
  2947. package/extensions/third-party/node_modules/typebox/build/type/engine/record/from_key.mjs +40 -0
  2948. package/extensions/third-party/node_modules/typebox/build/type/engine/record/from_key_any.d.mts +4 -0
  2949. package/extensions/third-party/node_modules/typebox/build/type/engine/record/from_key_any.mjs +6 -0
  2950. package/extensions/third-party/node_modules/typebox/build/type/engine/record/from_key_boolean.d.mts +7 -0
  2951. package/extensions/third-party/node_modules/typebox/build/type/engine/record/from_key_boolean.mjs +5 -0
  2952. package/extensions/third-party/node_modules/typebox/build/type/engine/record/from_key_enum.d.mts +6 -0
  2953. package/extensions/third-party/node_modules/typebox/build/type/engine/record/from_key_enum.mjs +8 -0
  2954. package/extensions/third-party/node_modules/typebox/build/type/engine/record/from_key_integer.d.mts +5 -0
  2955. package/extensions/third-party/node_modules/typebox/build/type/engine/record/from_key_integer.mjs +7 -0
  2956. package/extensions/third-party/node_modules/typebox/build/type/engine/record/from_key_intersect.d.mts +5 -0
  2957. package/extensions/third-party/node_modules/typebox/build/type/engine/record/from_key_intersect.mjs +8 -0
  2958. package/extensions/third-party/node_modules/typebox/build/type/engine/record/from_key_literal.d.mts +11 -0
  2959. package/extensions/third-party/node_modules/typebox/build/type/engine/record/from_key_literal.mjs +10 -0
  2960. package/extensions/third-party/node_modules/typebox/build/type/engine/record/from_key_number.d.mts +5 -0
  2961. package/extensions/third-party/node_modules/typebox/build/type/engine/record/from_key_number.mjs +7 -0
  2962. package/extensions/third-party/node_modules/typebox/build/type/engine/record/from_key_string.d.mts +5 -0
  2963. package/extensions/third-party/node_modules/typebox/build/type/engine/record/from_key_string.mjs +12 -0
  2964. package/extensions/third-party/node_modules/typebox/build/type/engine/record/from_key_template_literal.d.mts +8 -0
  2965. package/extensions/third-party/node_modules/typebox/build/type/engine/record/from_key_template_literal.mjs +12 -0
  2966. package/extensions/third-party/node_modules/typebox/build/type/engine/record/from_key_union.d.mts +20 -0
  2967. package/extensions/third-party/node_modules/typebox/build/type/engine/record/from_key_union.mjs +39 -0
  2968. package/extensions/third-party/node_modules/typebox/build/type/engine/record/index.d.mts +1 -0
  2969. package/extensions/third-party/node_modules/typebox/build/type/engine/record/index.mjs +1 -0
  2970. package/extensions/third-party/node_modules/typebox/build/type/engine/record/instantiate.d.mts +9 -0
  2971. package/extensions/third-party/node_modules/typebox/build/type/engine/record/instantiate.mjs +17 -0
  2972. package/extensions/third-party/node_modules/typebox/build/type/engine/record/record_create.d.mts +3 -0
  2973. package/extensions/third-party/node_modules/typebox/build/type/engine/record/record_create.mjs +7 -0
  2974. package/extensions/third-party/node_modules/typebox/build/type/engine/ref/index.d.mts +1 -0
  2975. package/extensions/third-party/node_modules/typebox/build/type/engine/ref/index.mjs +1 -0
  2976. package/extensions/third-party/node_modules/typebox/build/type/engine/ref/instantiate.d.mts +6 -0
  2977. package/extensions/third-party/node_modules/typebox/build/type/engine/ref/instantiate.mjs +10 -0
  2978. package/extensions/third-party/node_modules/typebox/build/type/engine/required/from_cyclic.d.mts +10 -0
  2979. package/extensions/third-party/node_modules/typebox/build/type/engine/required/from_cyclic.mjs +11 -0
  2980. package/extensions/third-party/node_modules/typebox/build/type/engine/required/from_intersect.d.mts +5 -0
  2981. package/extensions/third-party/node_modules/typebox/build/type/engine/required/from_intersect.mjs +7 -0
  2982. package/extensions/third-party/node_modules/typebox/build/type/engine/required/from_object.d.mts +8 -0
  2983. package/extensions/third-party/node_modules/typebox/build/type/engine/required/from_object.mjs +11 -0
  2984. package/extensions/third-party/node_modules/typebox/build/type/engine/required/from_type.d.mts +12 -0
  2985. package/extensions/third-party/node_modules/typebox/build/type/engine/required/from_type.mjs +17 -0
  2986. package/extensions/third-party/node_modules/typebox/build/type/engine/required/from_union.d.mts +5 -0
  2987. package/extensions/third-party/node_modules/typebox/build/type/engine/required/from_union.mjs +7 -0
  2988. package/extensions/third-party/node_modules/typebox/build/type/engine/required/index.d.mts +1 -0
  2989. package/extensions/third-party/node_modules/typebox/build/type/engine/required/index.mjs +1 -0
  2990. package/extensions/third-party/node_modules/typebox/build/type/engine/required/instantiate.d.mts +9 -0
  2991. package/extensions/third-party/node_modules/typebox/build/type/engine/required/instantiate.mjs +15 -0
  2992. package/extensions/third-party/node_modules/typebox/build/type/engine/rest/index.d.mts +1 -0
  2993. package/extensions/third-party/node_modules/typebox/build/type/engine/rest/index.mjs +1 -0
  2994. package/extensions/third-party/node_modules/typebox/build/type/engine/rest/spread.d.mts +12 -0
  2995. package/extensions/third-party/node_modules/typebox/build/type/engine/rest/spread.mjs +19 -0
  2996. package/extensions/third-party/node_modules/typebox/build/type/engine/return_type/index.d.mts +1 -0
  2997. package/extensions/third-party/node_modules/typebox/build/type/engine/return_type/index.mjs +1 -0
  2998. package/extensions/third-party/node_modules/typebox/build/type/engine/return_type/instantiate.d.mts +12 -0
  2999. package/extensions/third-party/node_modules/typebox/build/type/engine/return_type/instantiate.mjs +21 -0
  3000. package/extensions/third-party/node_modules/typebox/build/type/engine/template_literal/create.d.mts +1 -0
  3001. package/extensions/third-party/node_modules/typebox/build/type/engine/template_literal/create.mjs +5 -0
  3002. package/extensions/third-party/node_modules/typebox/build/type/engine/template_literal/decode.d.mts +30 -0
  3003. package/extensions/third-party/node_modules/typebox/build/type/engine/template_literal/decode.mjs +81 -0
  3004. package/extensions/third-party/node_modules/typebox/build/type/engine/template_literal/encode.d.mts +33 -0
  3005. package/extensions/third-party/node_modules/typebox/build/type/engine/template_literal/encode.mjs +81 -0
  3006. package/extensions/third-party/node_modules/typebox/build/type/engine/template_literal/index.d.mts +6 -0
  3007. package/extensions/third-party/node_modules/typebox/build/type/engine/template_literal/index.mjs +6 -0
  3008. package/extensions/third-party/node_modules/typebox/build/type/engine/template_literal/instantiate.d.mts +9 -0
  3009. package/extensions/third-party/node_modules/typebox/build/type/engine/template_literal/instantiate.mjs +15 -0
  3010. package/extensions/third-party/node_modules/typebox/build/type/engine/template_literal/is_finite.d.mts +12 -0
  3011. package/extensions/third-party/node_modules/typebox/build/type/engine/template_literal/is_finite.mjs +26 -0
  3012. package/extensions/third-party/node_modules/typebox/build/type/engine/template_literal/is_pattern.d.mts +6 -0
  3013. package/extensions/third-party/node_modules/typebox/build/type/engine/template_literal/is_pattern.mjs +9 -0
  3014. package/extensions/third-party/node_modules/typebox/build/type/engine/template_literal/static.d.mts +18 -0
  3015. package/extensions/third-party/node_modules/typebox/build/type/engine/template_literal/static.mjs +2 -0
  3016. package/extensions/third-party/node_modules/typebox/build/type/engine/this/expand_this.d.mts +19 -0
  3017. package/extensions/third-party/node_modules/typebox/build/type/engine/this/expand_this.mjs +32 -0
  3018. package/extensions/third-party/node_modules/typebox/build/type/engine/tuple/to_object.d.mts +12 -0
  3019. package/extensions/third-party/node_modules/typebox/build/type/engine/tuple/to_object.mjs +14 -0
  3020. package/extensions/third-party/node_modules/typebox/build/type/extends/any.d.mts +9 -0
  3021. package/extensions/third-party/node_modules/typebox/build/type/extends/any.mjs +12 -0
  3022. package/extensions/third-party/node_modules/typebox/build/type/extends/array.d.mts +20 -0
  3023. package/extensions/third-party/node_modules/typebox/build/type/extends/array.mjs +21 -0
  3024. package/extensions/third-party/node_modules/typebox/build/type/extends/async_iterator.d.mts +7 -0
  3025. package/extensions/third-party/node_modules/typebox/build/type/extends/async_iterator.mjs +9 -0
  3026. package/extensions/third-party/node_modules/typebox/build/type/extends/bigint.d.mts +7 -0
  3027. package/extensions/third-party/node_modules/typebox/build/type/extends/bigint.mjs +9 -0
  3028. package/extensions/third-party/node_modules/typebox/build/type/extends/boolean.d.mts +7 -0
  3029. package/extensions/third-party/node_modules/typebox/build/type/extends/boolean.mjs +9 -0
  3030. package/extensions/third-party/node_modules/typebox/build/type/extends/constructor.d.mts +10 -0
  3031. package/extensions/third-party/node_modules/typebox/build/type/extends/constructor.mjs +17 -0
  3032. package/extensions/third-party/node_modules/typebox/build/type/extends/enum.d.mts +7 -0
  3033. package/extensions/third-party/node_modules/typebox/build/type/extends/enum.mjs +6 -0
  3034. package/extensions/third-party/node_modules/typebox/build/type/extends/extends.d.mts +13 -0
  3035. package/extensions/third-party/node_modules/typebox/build/type/extends/extends.mjs +17 -0
  3036. package/extensions/third-party/node_modules/typebox/build/type/extends/extends_left.d.mts +55 -0
  3037. package/extensions/third-party/node_modules/typebox/build/type/extends/extends_left.mjs +83 -0
  3038. package/extensions/third-party/node_modules/typebox/build/type/extends/extends_right.d.mts +25 -0
  3039. package/extensions/third-party/node_modules/typebox/build/type/extends/extends_right.mjs +44 -0
  3040. package/extensions/third-party/node_modules/typebox/build/type/extends/function.d.mts +10 -0
  3041. package/extensions/third-party/node_modules/typebox/build/type/extends/function.mjs +17 -0
  3042. package/extensions/third-party/node_modules/typebox/build/type/extends/index.d.mts +2 -0
  3043. package/extensions/third-party/node_modules/typebox/build/type/extends/index.mjs +2 -0
  3044. package/extensions/third-party/node_modules/typebox/build/type/extends/inference.d.mts +34 -0
  3045. package/extensions/third-party/node_modules/typebox/build/type/extends/inference.mjs +62 -0
  3046. package/extensions/third-party/node_modules/typebox/build/type/extends/integer.d.mts +8 -0
  3047. package/extensions/third-party/node_modules/typebox/build/type/extends/integer.mjs +10 -0
  3048. package/extensions/third-party/node_modules/typebox/build/type/extends/intersect.d.mts +6 -0
  3049. package/extensions/third-party/node_modules/typebox/build/type/extends/intersect.mjs +15 -0
  3050. package/extensions/third-party/node_modules/typebox/build/type/extends/iterator.d.mts +7 -0
  3051. package/extensions/third-party/node_modules/typebox/build/type/extends/iterator.mjs +9 -0
  3052. package/extensions/third-party/node_modules/typebox/build/type/extends/literal.d.mts +18 -0
  3053. package/extensions/third-party/node_modules/typebox/build/type/extends/literal.mjs +44 -0
  3054. package/extensions/third-party/node_modules/typebox/build/type/extends/never.d.mts +8 -0
  3055. package/extensions/third-party/node_modules/typebox/build/type/extends/never.mjs +9 -0
  3056. package/extensions/third-party/node_modules/typebox/build/type/extends/null.d.mts +7 -0
  3057. package/extensions/third-party/node_modules/typebox/build/type/extends/null.mjs +9 -0
  3058. package/extensions/third-party/node_modules/typebox/build/type/extends/number.d.mts +7 -0
  3059. package/extensions/third-party/node_modules/typebox/build/type/extends/number.mjs +9 -0
  3060. package/extensions/third-party/node_modules/typebox/build/type/extends/object.d.mts +25 -0
  3061. package/extensions/third-party/node_modules/typebox/build/type/extends/object.mjs +87 -0
  3062. package/extensions/third-party/node_modules/typebox/build/type/extends/parameters.d.mts +15 -0
  3063. package/extensions/third-party/node_modules/typebox/build/type/extends/parameters.mjs +28 -0
  3064. package/extensions/third-party/node_modules/typebox/build/type/extends/promise.d.mts +7 -0
  3065. package/extensions/third-party/node_modules/typebox/build/type/extends/promise.mjs +9 -0
  3066. package/extensions/third-party/node_modules/typebox/build/type/extends/result.d.mts +24 -0
  3067. package/extensions/third-party/node_modules/typebox/build/type/extends/result.mjs +36 -0
  3068. package/extensions/third-party/node_modules/typebox/build/type/extends/return_type.d.mts +7 -0
  3069. package/extensions/third-party/node_modules/typebox/build/type/extends/return_type.mjs +9 -0
  3070. package/extensions/third-party/node_modules/typebox/build/type/extends/string.d.mts +7 -0
  3071. package/extensions/third-party/node_modules/typebox/build/type/extends/string.mjs +9 -0
  3072. package/extensions/third-party/node_modules/typebox/build/type/extends/symbol.d.mts +7 -0
  3073. package/extensions/third-party/node_modules/typebox/build/type/extends/symbol.mjs +9 -0
  3074. package/extensions/third-party/node_modules/typebox/build/type/extends/template_literal.d.mts +6 -0
  3075. package/extensions/third-party/node_modules/typebox/build/type/extends/template_literal.mjs +7 -0
  3076. package/extensions/third-party/node_modules/typebox/build/type/extends/tuple.d.mts +25 -0
  3077. package/extensions/third-party/node_modules/typebox/build/type/extends/tuple.mjs +60 -0
  3078. package/extensions/third-party/node_modules/typebox/build/type/extends/undefined.d.mts +8 -0
  3079. package/extensions/third-party/node_modules/typebox/build/type/extends/undefined.mjs +10 -0
  3080. package/extensions/third-party/node_modules/typebox/build/type/extends/union.d.mts +11 -0
  3081. package/extensions/third-party/node_modules/typebox/build/type/extends/union.mjs +24 -0
  3082. package/extensions/third-party/node_modules/typebox/build/type/extends/unknown.d.mts +9 -0
  3083. package/extensions/third-party/node_modules/typebox/build/type/extends/unknown.mjs +12 -0
  3084. package/extensions/third-party/node_modules/typebox/build/type/extends/void.d.mts +7 -0
  3085. package/extensions/third-party/node_modules/typebox/build/type/extends/void.mjs +9 -0
  3086. package/extensions/third-party/node_modules/typebox/build/type/index.d.mts +5 -0
  3087. package/extensions/third-party/node_modules/typebox/build/type/index.mjs +5 -0
  3088. package/extensions/third-party/node_modules/typebox/build/type/script/index.d.mts +1 -0
  3089. package/extensions/third-party/node_modules/typebox/build/type/script/index.mjs +1 -0
  3090. package/extensions/third-party/node_modules/typebox/build/type/script/mapping.d.mts +365 -0
  3091. package/extensions/third-party/node_modules/typebox/build/type/script/mapping.mjs +532 -0
  3092. package/extensions/third-party/node_modules/typebox/build/type/script/parser.d.mts +260 -0
  3093. package/extensions/third-party/node_modules/typebox/build/type/script/parser.mjs +135 -0
  3094. package/extensions/third-party/node_modules/typebox/build/type/script/script.d.mts +17 -0
  3095. package/extensions/third-party/node_modules/typebox/build/type/script/script.mjs +21 -0
  3096. package/extensions/third-party/node_modules/typebox/build/type/script/token/bigint.d.mts +8 -0
  3097. package/extensions/third-party/node_modules/typebox/build/type/script/token/bigint.mjs +14 -0
  3098. package/extensions/third-party/node_modules/typebox/build/type/script/token/const.d.mts +11 -0
  3099. package/extensions/third-party/node_modules/typebox/build/type/script/token/const.mjs +18 -0
  3100. package/extensions/third-party/node_modules/typebox/build/type/script/token/ident.d.mts +16 -0
  3101. package/extensions/third-party/node_modules/typebox/build/type/script/token/ident.mjs +26 -0
  3102. package/extensions/third-party/node_modules/typebox/build/type/script/token/index.d.mts +12 -0
  3103. package/extensions/third-party/node_modules/typebox/build/type/script/token/index.mjs +12 -0
  3104. package/extensions/third-party/node_modules/typebox/build/type/script/token/integer.d.mts +11 -0
  3105. package/extensions/third-party/node_modules/typebox/build/type/script/token/integer.mjs +19 -0
  3106. package/extensions/third-party/node_modules/typebox/build/type/script/token/internal/char.d.mts +75 -0
  3107. package/extensions/third-party/node_modules/typebox/build/type/script/token/internal/char.mjs +26 -0
  3108. package/extensions/third-party/node_modules/typebox/build/type/script/token/internal/guard.d.mts +1 -0
  3109. package/extensions/third-party/node_modules/typebox/build/type/script/token/internal/guard.mjs +15 -0
  3110. package/extensions/third-party/node_modules/typebox/build/type/script/token/internal/many.d.mts +7 -0
  3111. package/extensions/third-party/node_modules/typebox/build/type/script/token/internal/many.mjs +14 -0
  3112. package/extensions/third-party/node_modules/typebox/build/type/script/token/internal/match.d.mts +6 -0
  3113. package/extensions/third-party/node_modules/typebox/build/type/script/token/internal/match.mjs +11 -0
  3114. package/extensions/third-party/node_modules/typebox/build/type/script/token/internal/optional.d.mts +5 -0
  3115. package/extensions/third-party/node_modules/typebox/build/type/script/token/internal/optional.mjs +9 -0
  3116. package/extensions/third-party/node_modules/typebox/build/type/script/token/internal/take.d.mts +6 -0
  3117. package/extensions/third-party/node_modules/typebox/build/type/script/token/internal/take.mjs +30 -0
  3118. package/extensions/third-party/node_modules/typebox/build/type/script/token/internal/trim.d.mts +19 -0
  3119. package/extensions/third-party/node_modules/typebox/build/type/script/token/internal/trim.mjs +34 -0
  3120. package/extensions/third-party/node_modules/typebox/build/type/script/token/number.d.mts +11 -0
  3121. package/extensions/third-party/node_modules/typebox/build/type/script/token/number.mjs +19 -0
  3122. package/extensions/third-party/node_modules/typebox/build/type/script/token/rest.d.mts +4 -0
  3123. package/extensions/third-party/node_modules/typebox/build/type/script/token/rest.mjs +9 -0
  3124. package/extensions/third-party/node_modules/typebox/build/type/script/token/span.d.mts +11 -0
  3125. package/extensions/third-party/node_modules/typebox/build/type/script/token/span.mjs +24 -0
  3126. package/extensions/third-party/node_modules/typebox/build/type/script/token/string.d.mts +11 -0
  3127. package/extensions/third-party/node_modules/typebox/build/type/script/token/string.mjs +20 -0
  3128. package/extensions/third-party/node_modules/typebox/build/type/script/token/unsigned_integer.d.mts +16 -0
  3129. package/extensions/third-party/node_modules/typebox/build/type/script/token/unsigned_integer.mjs +26 -0
  3130. package/extensions/third-party/node_modules/typebox/build/type/script/token/unsigned_number.d.mts +17 -0
  3131. package/extensions/third-party/node_modules/typebox/build/type/script/token/unsigned_number.mjs +38 -0
  3132. package/extensions/third-party/node_modules/typebox/build/type/script/token/until.d.mts +7 -0
  3133. package/extensions/third-party/node_modules/typebox/build/type/script/token/until.mjs +21 -0
  3134. package/extensions/third-party/node_modules/typebox/build/type/script/token/until_1.d.mts +5 -0
  3135. package/extensions/third-party/node_modules/typebox/build/type/script/token/until_1.mjs +12 -0
  3136. package/extensions/third-party/node_modules/typebox/build/type/types/_codec.d.mts +30 -0
  3137. package/extensions/third-party/node_modules/typebox/build/type/types/_codec.mjs +61 -0
  3138. package/extensions/third-party/node_modules/typebox/build/type/types/_immutable.d.mts +16 -0
  3139. package/extensions/third-party/node_modules/typebox/build/type/types/_immutable.mjs +26 -0
  3140. package/extensions/third-party/node_modules/typebox/build/type/types/_optional.d.mts +16 -0
  3141. package/extensions/third-party/node_modules/typebox/build/type/types/_optional.mjs +27 -0
  3142. package/extensions/third-party/node_modules/typebox/build/type/types/_readonly.d.mts +16 -0
  3143. package/extensions/third-party/node_modules/typebox/build/type/types/_readonly.mjs +26 -0
  3144. package/extensions/third-party/node_modules/typebox/build/type/types/_refine.d.mts +26 -0
  3145. package/extensions/third-party/node_modules/typebox/build/type/types/_refine.mjs +37 -0
  3146. package/extensions/third-party/node_modules/typebox/build/type/types/any.d.mts +10 -0
  3147. package/extensions/third-party/node_modules/typebox/build/type/types/any.mjs +18 -0
  3148. package/extensions/third-party/node_modules/typebox/build/type/types/array.d.mts +18 -0
  3149. package/extensions/third-party/node_modules/typebox/build/type/types/array.mjs +25 -0
  3150. package/extensions/third-party/node_modules/typebox/build/type/types/async_iterator.d.mts +20 -0
  3151. package/extensions/third-party/node_modules/typebox/build/type/types/async_iterator.mjs +28 -0
  3152. package/extensions/third-party/node_modules/typebox/build/type/types/base.d.mts +50 -0
  3153. package/extensions/third-party/node_modules/typebox/build/type/types/base.mjs +84 -0
  3154. package/extensions/third-party/node_modules/typebox/build/type/types/bigint.d.mts +12 -0
  3155. package/extensions/third-party/node_modules/typebox/build/type/types/bigint.mjs +21 -0
  3156. package/extensions/third-party/node_modules/typebox/build/type/types/boolean.d.mts +11 -0
  3157. package/extensions/third-party/node_modules/typebox/build/type/types/boolean.mjs +17 -0
  3158. package/extensions/third-party/node_modules/typebox/build/type/types/call.d.mts +16 -0
  3159. package/extensions/third-party/node_modules/typebox/build/type/types/call.mjs +22 -0
  3160. package/extensions/third-party/node_modules/typebox/build/type/types/constructor.d.mts +18 -0
  3161. package/extensions/third-party/node_modules/typebox/build/type/types/constructor.mjs +24 -0
  3162. package/extensions/third-party/node_modules/typebox/build/type/types/cyclic.d.mts +16 -0
  3163. package/extensions/third-party/node_modules/typebox/build/type/types/cyclic.mjs +29 -0
  3164. package/extensions/third-party/node_modules/typebox/build/type/types/deferred.d.mts +12 -0
  3165. package/extensions/third-party/node_modules/typebox/build/type/types/deferred.mjs +16 -0
  3166. package/extensions/third-party/node_modules/typebox/build/type/types/enum.d.mts +16 -0
  3167. package/extensions/third-party/node_modules/typebox/build/type/types/enum.mjs +17 -0
  3168. package/extensions/third-party/node_modules/typebox/build/type/types/function.d.mts +21 -0
  3169. package/extensions/third-party/node_modules/typebox/build/type/types/function.mjs +25 -0
  3170. package/extensions/third-party/node_modules/typebox/build/type/types/generic.d.mts +13 -0
  3171. package/extensions/third-party/node_modules/typebox/build/type/types/generic.mjs +17 -0
  3172. package/extensions/third-party/node_modules/typebox/build/type/types/identifier.d.mts +11 -0
  3173. package/extensions/third-party/node_modules/typebox/build/type/types/identifier.mjs +17 -0
  3174. package/extensions/third-party/node_modules/typebox/build/type/types/index.d.mts +48 -0
  3175. package/extensions/third-party/node_modules/typebox/build/type/types/index.mjs +54 -0
  3176. package/extensions/third-party/node_modules/typebox/build/type/types/infer.d.mts +15 -0
  3177. package/extensions/third-party/node_modules/typebox/build/type/types/infer.mjs +20 -0
  3178. package/extensions/third-party/node_modules/typebox/build/type/types/integer.d.mts +12 -0
  3179. package/extensions/third-party/node_modules/typebox/build/type/types/integer.mjs +21 -0
  3180. package/extensions/third-party/node_modules/typebox/build/type/types/intersect.d.mts +15 -0
  3181. package/extensions/third-party/node_modules/typebox/build/type/types/intersect.mjs +24 -0
  3182. package/extensions/third-party/node_modules/typebox/build/type/types/iterator.d.mts +20 -0
  3183. package/extensions/third-party/node_modules/typebox/build/type/types/iterator.mjs +28 -0
  3184. package/extensions/third-party/node_modules/typebox/build/type/types/literal.d.mts +31 -0
  3185. package/extensions/third-party/node_modules/typebox/build/type/types/literal.mjs +62 -0
  3186. package/extensions/third-party/node_modules/typebox/build/type/types/never.d.mts +12 -0
  3187. package/extensions/third-party/node_modules/typebox/build/type/types/never.mjs +22 -0
  3188. package/extensions/third-party/node_modules/typebox/build/type/types/null.d.mts +11 -0
  3189. package/extensions/third-party/node_modules/typebox/build/type/types/null.mjs +17 -0
  3190. package/extensions/third-party/node_modules/typebox/build/type/types/number.d.mts +12 -0
  3191. package/extensions/third-party/node_modules/typebox/build/type/types/number.mjs +21 -0
  3192. package/extensions/third-party/node_modules/typebox/build/type/types/object.d.mts +18 -0
  3193. package/extensions/third-party/node_modules/typebox/build/type/types/object.mjs +28 -0
  3194. package/extensions/third-party/node_modules/typebox/build/type/types/parameter.d.mts +17 -0
  3195. package/extensions/third-party/node_modules/typebox/build/type/types/parameter.mjs +21 -0
  3196. package/extensions/third-party/node_modules/typebox/build/type/types/promise.d.mts +21 -0
  3197. package/extensions/third-party/node_modules/typebox/build/type/types/promise.mjs +29 -0
  3198. package/extensions/third-party/node_modules/typebox/build/type/types/properties.d.mts +43 -0
  3199. package/extensions/third-party/node_modules/typebox/build/type/types/properties.mjs +15 -0
  3200. package/extensions/third-party/node_modules/typebox/build/type/types/record.d.mts +46 -0
  3201. package/extensions/third-party/node_modules/typebox/build/type/types/record.mjs +60 -0
  3202. package/extensions/third-party/node_modules/typebox/build/type/types/ref.d.mts +19 -0
  3203. package/extensions/third-party/node_modules/typebox/build/type/types/ref.mjs +18 -0
  3204. package/extensions/third-party/node_modules/typebox/build/type/types/rest.d.mts +11 -0
  3205. package/extensions/third-party/node_modules/typebox/build/type/types/rest.mjs +17 -0
  3206. package/extensions/third-party/node_modules/typebox/build/type/types/schema.d.mts +176 -0
  3207. package/extensions/third-party/node_modules/typebox/build/type/types/schema.mjs +15 -0
  3208. package/extensions/third-party/node_modules/typebox/build/type/types/static.d.mts +48 -0
  3209. package/extensions/third-party/node_modules/typebox/build/type/types/static.mjs +3 -0
  3210. package/extensions/third-party/node_modules/typebox/build/type/types/string.d.mts +12 -0
  3211. package/extensions/third-party/node_modules/typebox/build/type/types/string.mjs +22 -0
  3212. package/extensions/third-party/node_modules/typebox/build/type/types/symbol.d.mts +11 -0
  3213. package/extensions/third-party/node_modules/typebox/build/type/types/symbol.mjs +17 -0
  3214. package/extensions/third-party/node_modules/typebox/build/type/types/template_literal.d.mts +28 -0
  3215. package/extensions/third-party/node_modules/typebox/build/type/types/template_literal.mjs +37 -0
  3216. package/extensions/third-party/node_modules/typebox/build/type/types/this.d.mts +14 -0
  3217. package/extensions/third-party/node_modules/typebox/build/type/types/this.mjs +17 -0
  3218. package/extensions/third-party/node_modules/typebox/build/type/types/tuple.d.mts +38 -0
  3219. package/extensions/third-party/node_modules/typebox/build/type/types/tuple.mjs +25 -0
  3220. package/extensions/third-party/node_modules/typebox/build/type/types/undefined.d.mts +11 -0
  3221. package/extensions/third-party/node_modules/typebox/build/type/types/undefined.mjs +17 -0
  3222. package/extensions/third-party/node_modules/typebox/build/type/types/union.d.mts +15 -0
  3223. package/extensions/third-party/node_modules/typebox/build/type/types/union.mjs +24 -0
  3224. package/extensions/third-party/node_modules/typebox/build/type/types/unknown.d.mts +10 -0
  3225. package/extensions/third-party/node_modules/typebox/build/type/types/unknown.mjs +17 -0
  3226. package/extensions/third-party/node_modules/typebox/build/type/types/unsafe.d.mts +10 -0
  3227. package/extensions/third-party/node_modules/typebox/build/type/types/unsafe.mjs +20 -0
  3228. package/extensions/third-party/node_modules/typebox/build/type/types/void.d.mts +11 -0
  3229. package/extensions/third-party/node_modules/typebox/build/type/types/void.mjs +17 -0
  3230. package/extensions/third-party/node_modules/typebox/build/typebox.d.mts +73 -0
  3231. package/extensions/third-party/node_modules/typebox/build/typebox.mjs +89 -0
  3232. package/extensions/third-party/node_modules/typebox/build/value/assert/assert.d.mts +14 -0
  3233. package/extensions/third-party/node_modules/typebox/build/value/assert/assert.mjs +28 -0
  3234. package/extensions/third-party/node_modules/typebox/build/value/assert/index.d.mts +1 -0
  3235. package/extensions/third-party/node_modules/typebox/build/value/assert/index.mjs +1 -0
  3236. package/extensions/third-party/node_modules/typebox/build/value/check/check.d.mts +5 -0
  3237. package/extensions/third-party/node_modules/typebox/build/value/check/check.mjs +11 -0
  3238. package/extensions/third-party/node_modules/typebox/build/value/check/index.d.mts +1 -0
  3239. package/extensions/third-party/node_modules/typebox/build/value/check/index.mjs +1 -0
  3240. package/extensions/third-party/node_modules/typebox/build/value/clean/additional.d.mts +2 -0
  3241. package/extensions/third-party/node_modules/typebox/build/value/clean/additional.mjs +6 -0
  3242. package/extensions/third-party/node_modules/typebox/build/value/clean/clean.d.mts +15 -0
  3243. package/extensions/third-party/node_modules/typebox/build/value/clean/clean.mjs +15 -0
  3244. package/extensions/third-party/node_modules/typebox/build/value/clean/from_array.d.mts +2 -0
  3245. package/extensions/third-party/node_modules/typebox/build/value/clean/from_array.mjs +8 -0
  3246. package/extensions/third-party/node_modules/typebox/build/value/clean/from_base.d.mts +2 -0
  3247. package/extensions/third-party/node_modules/typebox/build/value/clean/from_base.mjs +4 -0
  3248. package/extensions/third-party/node_modules/typebox/build/value/clean/from_cyclic.d.mts +2 -0
  3249. package/extensions/third-party/node_modules/typebox/build/value/clean/from_cyclic.mjs +6 -0
  3250. package/extensions/third-party/node_modules/typebox/build/value/clean/from_intersect.d.mts +2 -0
  3251. package/extensions/third-party/node_modules/typebox/build/value/clean/from_intersect.mjs +26 -0
  3252. package/extensions/third-party/node_modules/typebox/build/value/clean/from_object.d.mts +2 -0
  3253. package/extensions/third-party/node_modules/typebox/build/value/clean/from_object.mjs +31 -0
  3254. package/extensions/third-party/node_modules/typebox/build/value/clean/from_record.d.mts +2 -0
  3255. package/extensions/third-party/node_modules/typebox/build/value/clean/from_record.mjs +32 -0
  3256. package/extensions/third-party/node_modules/typebox/build/value/clean/from_ref.d.mts +2 -0
  3257. package/extensions/third-party/node_modules/typebox/build/value/clean/from_ref.mjs +8 -0
  3258. package/extensions/third-party/node_modules/typebox/build/value/clean/from_tuple.d.mts +2 -0
  3259. package/extensions/third-party/node_modules/typebox/build/value/clean/from_tuple.mjs +14 -0
  3260. package/extensions/third-party/node_modules/typebox/build/value/clean/from_type.d.mts +2 -0
  3261. package/extensions/third-party/node_modules/typebox/build/value/clean/from_type.mjs +23 -0
  3262. package/extensions/third-party/node_modules/typebox/build/value/clean/from_union.d.mts +2 -0
  3263. package/extensions/third-party/node_modules/typebox/build/value/clean/from_union.mjs +13 -0
  3264. package/extensions/third-party/node_modules/typebox/build/value/clean/index.d.mts +1 -0
  3265. package/extensions/third-party/node_modules/typebox/build/value/clean/index.mjs +1 -0
  3266. package/extensions/third-party/node_modules/typebox/build/value/clone/clone.d.mts +5 -0
  3267. package/extensions/third-party/node_modules/typebox/build/value/clone/clone.mjs +83 -0
  3268. package/extensions/third-party/node_modules/typebox/build/value/clone/index.d.mts +1 -0
  3269. package/extensions/third-party/node_modules/typebox/build/value/clone/index.mjs +1 -0
  3270. package/extensions/third-party/node_modules/typebox/build/value/codec/callback.d.mts +2 -0
  3271. package/extensions/third-party/node_modules/typebox/build/value/codec/callback.mjs +25 -0
  3272. package/extensions/third-party/node_modules/typebox/build/value/codec/decode.d.mts +12 -0
  3273. package/extensions/third-party/node_modules/typebox/build/value/codec/decode.mjs +50 -0
  3274. package/extensions/third-party/node_modules/typebox/build/value/codec/encode.d.mts +12 -0
  3275. package/extensions/third-party/node_modules/typebox/build/value/codec/encode.mjs +50 -0
  3276. package/extensions/third-party/node_modules/typebox/build/value/codec/from_array.d.mts +2 -0
  3277. package/extensions/third-party/node_modules/typebox/build/value/codec/from_array.mjs +38 -0
  3278. package/extensions/third-party/node_modules/typebox/build/value/codec/from_cyclic.d.mts +2 -0
  3279. package/extensions/third-party/node_modules/typebox/build/value/codec/from_cyclic.mjs +8 -0
  3280. package/extensions/third-party/node_modules/typebox/build/value/codec/from_intersect.d.mts +2 -0
  3281. package/extensions/third-party/node_modules/typebox/build/value/codec/from_intersect.mjs +58 -0
  3282. package/extensions/third-party/node_modules/typebox/build/value/codec/from_object.d.mts +2 -0
  3283. package/extensions/third-party/node_modules/typebox/build/value/codec/from_object.mjs +45 -0
  3284. package/extensions/third-party/node_modules/typebox/build/value/codec/from_record.d.mts +2 -0
  3285. package/extensions/third-party/node_modules/typebox/build/value/codec/from_record.mjs +44 -0
  3286. package/extensions/third-party/node_modules/typebox/build/value/codec/from_ref.d.mts +2 -0
  3287. package/extensions/third-party/node_modules/typebox/build/value/codec/from_ref.mjs +31 -0
  3288. package/extensions/third-party/node_modules/typebox/build/value/codec/from_tuple.d.mts +2 -0
  3289. package/extensions/third-party/node_modules/typebox/build/value/codec/from_tuple.mjs +35 -0
  3290. package/extensions/third-party/node_modules/typebox/build/value/codec/from_type.d.mts +2 -0
  3291. package/extensions/third-party/node_modules/typebox/build/value/codec/from_type.mjs +22 -0
  3292. package/extensions/third-party/node_modules/typebox/build/value/codec/from_union.d.mts +2 -0
  3293. package/extensions/third-party/node_modules/typebox/build/value/codec/from_union.mjs +40 -0
  3294. package/extensions/third-party/node_modules/typebox/build/value/codec/has.d.mts +5 -0
  3295. package/extensions/third-party/node_modules/typebox/build/value/codec/has.mjs +93 -0
  3296. package/extensions/third-party/node_modules/typebox/build/value/codec/index.d.mts +3 -0
  3297. package/extensions/third-party/node_modules/typebox/build/value/codec/index.mjs +3 -0
  3298. package/extensions/third-party/node_modules/typebox/build/value/convert/convert.d.mts +13 -0
  3299. package/extensions/third-party/node_modules/typebox/build/value/convert/convert.mjs +15 -0
  3300. package/extensions/third-party/node_modules/typebox/build/value/convert/from_additional.d.mts +6 -0
  3301. package/extensions/third-party/node_modules/typebox/build/value/convert/from_additional.mjs +18 -0
  3302. package/extensions/third-party/node_modules/typebox/build/value/convert/from_array.d.mts +2 -0
  3303. package/extensions/third-party/node_modules/typebox/build/value/convert/from_array.mjs +7 -0
  3304. package/extensions/third-party/node_modules/typebox/build/value/convert/from_base.d.mts +2 -0
  3305. package/extensions/third-party/node_modules/typebox/build/value/convert/from_base.mjs +4 -0
  3306. package/extensions/third-party/node_modules/typebox/build/value/convert/from_bigint.d.mts +2 -0
  3307. package/extensions/third-party/node_modules/typebox/build/value/convert/from_bigint.mjs +6 -0
  3308. package/extensions/third-party/node_modules/typebox/build/value/convert/from_boolean.d.mts +2 -0
  3309. package/extensions/third-party/node_modules/typebox/build/value/convert/from_boolean.mjs +6 -0
  3310. package/extensions/third-party/node_modules/typebox/build/value/convert/from_cyclic.d.mts +2 -0
  3311. package/extensions/third-party/node_modules/typebox/build/value/convert/from_cyclic.mjs +6 -0
  3312. package/extensions/third-party/node_modules/typebox/build/value/convert/from_enum.d.mts +2 -0
  3313. package/extensions/third-party/node_modules/typebox/build/value/convert/from_enum.mjs +7 -0
  3314. package/extensions/third-party/node_modules/typebox/build/value/convert/from_integer.d.mts +2 -0
  3315. package/extensions/third-party/node_modules/typebox/build/value/convert/from_integer.mjs +6 -0
  3316. package/extensions/third-party/node_modules/typebox/build/value/convert/from_intersect.d.mts +2 -0
  3317. package/extensions/third-party/node_modules/typebox/build/value/convert/from_intersect.mjs +8 -0
  3318. package/extensions/third-party/node_modules/typebox/build/value/convert/from_literal.d.mts +2 -0
  3319. package/extensions/third-party/node_modules/typebox/build/value/convert/from_literal.mjs +44 -0
  3320. package/extensions/third-party/node_modules/typebox/build/value/convert/from_null.d.mts +2 -0
  3321. package/extensions/third-party/node_modules/typebox/build/value/convert/from_null.mjs +6 -0
  3322. package/extensions/third-party/node_modules/typebox/build/value/convert/from_number.d.mts +2 -0
  3323. package/extensions/third-party/node_modules/typebox/build/value/convert/from_number.mjs +6 -0
  3324. package/extensions/third-party/node_modules/typebox/build/value/convert/from_object.d.mts +2 -0
  3325. package/extensions/third-party/node_modules/typebox/build/value/convert/from_object.mjs +28 -0
  3326. package/extensions/third-party/node_modules/typebox/build/value/convert/from_record.d.mts +2 -0
  3327. package/extensions/third-party/node_modules/typebox/build/value/convert/from_record.mjs +23 -0
  3328. package/extensions/third-party/node_modules/typebox/build/value/convert/from_ref.d.mts +2 -0
  3329. package/extensions/third-party/node_modules/typebox/build/value/convert/from_ref.mjs +8 -0
  3330. package/extensions/third-party/node_modules/typebox/build/value/convert/from_string.d.mts +2 -0
  3331. package/extensions/third-party/node_modules/typebox/build/value/convert/from_string.mjs +6 -0
  3332. package/extensions/third-party/node_modules/typebox/build/value/convert/from_template_literal.d.mts +2 -0
  3333. package/extensions/third-party/node_modules/typebox/build/value/convert/from_template_literal.mjs +7 -0
  3334. package/extensions/third-party/node_modules/typebox/build/value/convert/from_tuple.d.mts +2 -0
  3335. package/extensions/third-party/node_modules/typebox/build/value/convert/from_tuple.mjs +11 -0
  3336. package/extensions/third-party/node_modules/typebox/build/value/convert/from_type.d.mts +2 -0
  3337. package/extensions/third-party/node_modules/typebox/build/value/convert/from_type.mjs +45 -0
  3338. package/extensions/third-party/node_modules/typebox/build/value/convert/from_undefined.d.mts +2 -0
  3339. package/extensions/third-party/node_modules/typebox/build/value/convert/from_undefined.mjs +6 -0
  3340. package/extensions/third-party/node_modules/typebox/build/value/convert/from_union.d.mts +2 -0
  3341. package/extensions/third-party/node_modules/typebox/build/value/convert/from_union.mjs +13 -0
  3342. package/extensions/third-party/node_modules/typebox/build/value/convert/from_void.d.mts +2 -0
  3343. package/extensions/third-party/node_modules/typebox/build/value/convert/from_void.mjs +6 -0
  3344. package/extensions/third-party/node_modules/typebox/build/value/convert/index.d.mts +1 -0
  3345. package/extensions/third-party/node_modules/typebox/build/value/convert/index.mjs +1 -0
  3346. package/extensions/third-party/node_modules/typebox/build/value/convert/try/index.d.mts +1 -0
  3347. package/extensions/third-party/node_modules/typebox/build/value/convert/try/index.mjs +1 -0
  3348. package/extensions/third-party/node_modules/typebox/build/value/convert/try/try.d.mts +8 -0
  3349. package/extensions/third-party/node_modules/typebox/build/value/convert/try/try.mjs +8 -0
  3350. package/extensions/third-party/node_modules/typebox/build/value/convert/try/try_array.d.mts +2 -0
  3351. package/extensions/third-party/node_modules/typebox/build/value/convert/try/try_array.mjs +6 -0
  3352. package/extensions/third-party/node_modules/typebox/build/value/convert/try/try_bigint.d.mts +2 -0
  3353. package/extensions/third-party/node_modules/typebox/build/value/convert/try/try_bigint.mjs +45 -0
  3354. package/extensions/third-party/node_modules/typebox/build/value/convert/try/try_boolean.d.mts +2 -0
  3355. package/extensions/third-party/node_modules/typebox/build/value/convert/try/try_boolean.mjs +41 -0
  3356. package/extensions/third-party/node_modules/typebox/build/value/convert/try/try_null.d.mts +2 -0
  3357. package/extensions/third-party/node_modules/typebox/build/value/convert/try/try_null.mjs +44 -0
  3358. package/extensions/third-party/node_modules/typebox/build/value/convert/try/try_number.d.mts +2 -0
  3359. package/extensions/third-party/node_modules/typebox/build/value/convert/try/try_number.mjs +44 -0
  3360. package/extensions/third-party/node_modules/typebox/build/value/convert/try/try_result.d.mts +8 -0
  3361. package/extensions/third-party/node_modules/typebox/build/value/convert/try/try_result.mjs +17 -0
  3362. package/extensions/third-party/node_modules/typebox/build/value/convert/try/try_string.d.mts +2 -0
  3363. package/extensions/third-party/node_modules/typebox/build/value/convert/try/try_string.mjs +12 -0
  3364. package/extensions/third-party/node_modules/typebox/build/value/convert/try/try_undefined.d.mts +2 -0
  3365. package/extensions/third-party/node_modules/typebox/build/value/convert/try/try_undefined.mjs +44 -0
  3366. package/extensions/third-party/node_modules/typebox/build/value/create/create.d.mts +5 -0
  3367. package/extensions/third-party/node_modules/typebox/build/value/create/create.mjs +11 -0
  3368. package/extensions/third-party/node_modules/typebox/build/value/create/error.d.mts +5 -0
  3369. package/extensions/third-party/node_modules/typebox/build/value/create/error.mjs +7 -0
  3370. package/extensions/third-party/node_modules/typebox/build/value/create/from_array.d.mts +2 -0
  3371. package/extensions/third-party/node_modules/typebox/build/value/create/from_array.mjs +10 -0
  3372. package/extensions/third-party/node_modules/typebox/build/value/create/from_async_iterator.d.mts +2 -0
  3373. package/extensions/third-party/node_modules/typebox/build/value/create/from_async_iterator.mjs +5 -0
  3374. package/extensions/third-party/node_modules/typebox/build/value/create/from_base.d.mts +2 -0
  3375. package/extensions/third-party/node_modules/typebox/build/value/create/from_base.mjs +4 -0
  3376. package/extensions/third-party/node_modules/typebox/build/value/create/from_bigint.d.mts +2 -0
  3377. package/extensions/third-party/node_modules/typebox/build/value/create/from_bigint.mjs +7 -0
  3378. package/extensions/third-party/node_modules/typebox/build/value/create/from_boolean.d.mts +2 -0
  3379. package/extensions/third-party/node_modules/typebox/build/value/create/from_boolean.mjs +4 -0
  3380. package/extensions/third-party/node_modules/typebox/build/value/create/from_constructor.d.mts +2 -0
  3381. package/extensions/third-party/node_modules/typebox/build/value/create/from_constructor.mjs +10 -0
  3382. package/extensions/third-party/node_modules/typebox/build/value/create/from_cyclic.d.mts +2 -0
  3383. package/extensions/third-party/node_modules/typebox/build/value/create/from_cyclic.mjs +6 -0
  3384. package/extensions/third-party/node_modules/typebox/build/value/create/from_default.d.mts +3 -0
  3385. package/extensions/third-party/node_modules/typebox/build/value/create/from_default.mjs +10 -0
  3386. package/extensions/third-party/node_modules/typebox/build/value/create/from_enum.d.mts +2 -0
  3387. package/extensions/third-party/node_modules/typebox/build/value/create/from_enum.mjs +6 -0
  3388. package/extensions/third-party/node_modules/typebox/build/value/create/from_function.d.mts +2 -0
  3389. package/extensions/third-party/node_modules/typebox/build/value/create/from_function.mjs +6 -0
  3390. package/extensions/third-party/node_modules/typebox/build/value/create/from_integer.d.mts +2 -0
  3391. package/extensions/third-party/node_modules/typebox/build/value/create/from_integer.mjs +8 -0
  3392. package/extensions/third-party/node_modules/typebox/build/value/create/from_intersect.d.mts +2 -0
  3393. package/extensions/third-party/node_modules/typebox/build/value/create/from_intersect.mjs +8 -0
  3394. package/extensions/third-party/node_modules/typebox/build/value/create/from_iterator.d.mts +2 -0
  3395. package/extensions/third-party/node_modules/typebox/build/value/create/from_iterator.mjs +5 -0
  3396. package/extensions/third-party/node_modules/typebox/build/value/create/from_literal.d.mts +2 -0
  3397. package/extensions/third-party/node_modules/typebox/build/value/create/from_literal.mjs +4 -0
  3398. package/extensions/third-party/node_modules/typebox/build/value/create/from_never.d.mts +2 -0
  3399. package/extensions/third-party/node_modules/typebox/build/value/create/from_never.mjs +5 -0
  3400. package/extensions/third-party/node_modules/typebox/build/value/create/from_null.d.mts +2 -0
  3401. package/extensions/third-party/node_modules/typebox/build/value/create/from_null.mjs +4 -0
  3402. package/extensions/third-party/node_modules/typebox/build/value/create/from_number.d.mts +2 -0
  3403. package/extensions/third-party/node_modules/typebox/build/value/create/from_number.mjs +8 -0
  3404. package/extensions/third-party/node_modules/typebox/build/value/create/from_object.d.mts +2 -0
  3405. package/extensions/third-party/node_modules/typebox/build/value/create/from_object.mjs +9 -0
  3406. package/extensions/third-party/node_modules/typebox/build/value/create/from_promise.d.mts +2 -0
  3407. package/extensions/third-party/node_modules/typebox/build/value/create/from_promise.mjs +5 -0
  3408. package/extensions/third-party/node_modules/typebox/build/value/create/from_record.d.mts +2 -0
  3409. package/extensions/third-party/node_modules/typebox/build/value/create/from_record.mjs +8 -0
  3410. package/extensions/third-party/node_modules/typebox/build/value/create/from_ref.d.mts +2 -0
  3411. package/extensions/third-party/node_modules/typebox/build/value/create/from_ref.mjs +9 -0
  3412. package/extensions/third-party/node_modules/typebox/build/value/create/from_string.d.mts +2 -0
  3413. package/extensions/third-party/node_modules/typebox/build/value/create/from_string.mjs +9 -0
  3414. package/extensions/third-party/node_modules/typebox/build/value/create/from_symbol.d.mts +2 -0
  3415. package/extensions/third-party/node_modules/typebox/build/value/create/from_symbol.mjs +4 -0
  3416. package/extensions/third-party/node_modules/typebox/build/value/create/from_template_literal.d.mts +2 -0
  3417. package/extensions/third-party/node_modules/typebox/build/value/create/from_template_literal.mjs +11 -0
  3418. package/extensions/third-party/node_modules/typebox/build/value/create/from_tuple.d.mts +2 -0
  3419. package/extensions/third-party/node_modules/typebox/build/value/create/from_tuple.mjs +5 -0
  3420. package/extensions/third-party/node_modules/typebox/build/value/create/from_type.d.mts +2 -0
  3421. package/extensions/third-party/node_modules/typebox/build/value/create/from_type.mjs +69 -0
  3422. package/extensions/third-party/node_modules/typebox/build/value/create/from_undefined.d.mts +2 -0
  3423. package/extensions/third-party/node_modules/typebox/build/value/create/from_undefined.mjs +4 -0
  3424. package/extensions/third-party/node_modules/typebox/build/value/create/from_union.d.mts +2 -0
  3425. package/extensions/third-party/node_modules/typebox/build/value/create/from_union.mjs +9 -0
  3426. package/extensions/third-party/node_modules/typebox/build/value/create/from_void.d.mts +2 -0
  3427. package/extensions/third-party/node_modules/typebox/build/value/create/from_void.mjs +4 -0
  3428. package/extensions/third-party/node_modules/typebox/build/value/create/index.d.mts +2 -0
  3429. package/extensions/third-party/node_modules/typebox/build/value/create/index.mjs +2 -0
  3430. package/extensions/third-party/node_modules/typebox/build/value/default/default.d.mts +13 -0
  3431. package/extensions/third-party/node_modules/typebox/build/value/default/default.mjs +15 -0
  3432. package/extensions/third-party/node_modules/typebox/build/value/default/from_array.d.mts +2 -0
  3433. package/extensions/third-party/node_modules/typebox/build/value/default/from_array.mjs +12 -0
  3434. package/extensions/third-party/node_modules/typebox/build/value/default/from_base.d.mts +2 -0
  3435. package/extensions/third-party/node_modules/typebox/build/value/default/from_base.mjs +5 -0
  3436. package/extensions/third-party/node_modules/typebox/build/value/default/from_cyclic.d.mts +2 -0
  3437. package/extensions/third-party/node_modules/typebox/build/value/default/from_cyclic.mjs +7 -0
  3438. package/extensions/third-party/node_modules/typebox/build/value/default/from_default.d.mts +3 -0
  3439. package/extensions/third-party/node_modules/typebox/build/value/default/from_default.mjs +13 -0
  3440. package/extensions/third-party/node_modules/typebox/build/value/default/from_intersect.d.mts +2 -0
  3441. package/extensions/third-party/node_modules/typebox/build/value/default/from_intersect.mjs +9 -0
  3442. package/extensions/third-party/node_modules/typebox/build/value/default/from_object.d.mts +2 -0
  3443. package/extensions/third-party/node_modules/typebox/build/value/default/from_object.mjs +32 -0
  3444. package/extensions/third-party/node_modules/typebox/build/value/default/from_record.d.mts +2 -0
  3445. package/extensions/third-party/node_modules/typebox/build/value/default/from_record.mjs +26 -0
  3446. package/extensions/third-party/node_modules/typebox/build/value/default/from_ref.d.mts +2 -0
  3447. package/extensions/third-party/node_modules/typebox/build/value/default/from_ref.mjs +9 -0
  3448. package/extensions/third-party/node_modules/typebox/build/value/default/from_tuple.d.mts +2 -0
  3449. package/extensions/third-party/node_modules/typebox/build/value/default/from_tuple.mjs +14 -0
  3450. package/extensions/third-party/node_modules/typebox/build/value/default/from_type.d.mts +2 -0
  3451. package/extensions/third-party/node_modules/typebox/build/value/default/from_type.mjs +27 -0
  3452. package/extensions/third-party/node_modules/typebox/build/value/default/from_union.d.mts +2 -0
  3453. package/extensions/third-party/node_modules/typebox/build/value/default/from_union.mjs +14 -0
  3454. package/extensions/third-party/node_modules/typebox/build/value/default/index.d.mts +1 -0
  3455. package/extensions/third-party/node_modules/typebox/build/value/default/index.mjs +1 -0
  3456. package/extensions/third-party/node_modules/typebox/build/value/delta/diff.d.mts +10 -0
  3457. package/extensions/third-party/node_modules/typebox/build/value/delta/diff.mjs +135 -0
  3458. package/extensions/third-party/node_modules/typebox/build/value/delta/edit.d.mts +24 -0
  3459. package/extensions/third-party/node_modules/typebox/build/value/delta/edit.mjs +17 -0
  3460. package/extensions/third-party/node_modules/typebox/build/value/delta/index.d.mts +3 -0
  3461. package/extensions/third-party/node_modules/typebox/build/value/delta/index.mjs +3 -0
  3462. package/extensions/third-party/node_modules/typebox/build/value/delta/patch.d.mts +8 -0
  3463. package/extensions/third-party/node_modules/typebox/build/value/delta/patch.mjs +42 -0
  3464. package/extensions/third-party/node_modules/typebox/build/value/equal/equal.d.mts +2 -0
  3465. package/extensions/third-party/node_modules/typebox/build/value/equal/equal.mjs +6 -0
  3466. package/extensions/third-party/node_modules/typebox/build/value/equal/index.d.mts +1 -0
  3467. package/extensions/third-party/node_modules/typebox/build/value/equal/index.mjs +1 -0
  3468. package/extensions/third-party/node_modules/typebox/build/value/errors/errors.d.mts +16 -0
  3469. package/extensions/third-party/node_modules/typebox/build/value/errors/errors.mjs +17 -0
  3470. package/extensions/third-party/node_modules/typebox/build/value/errors/index.d.mts +1 -0
  3471. package/extensions/third-party/node_modules/typebox/build/value/errors/index.mjs +1 -0
  3472. package/extensions/third-party/node_modules/typebox/build/value/hash/hash.d.mts +6 -0
  3473. package/extensions/third-party/node_modules/typebox/build/value/hash/hash.mjs +10 -0
  3474. package/extensions/third-party/node_modules/typebox/build/value/hash/index.d.mts +1 -0
  3475. package/extensions/third-party/node_modules/typebox/build/value/hash/index.mjs +1 -0
  3476. package/extensions/third-party/node_modules/typebox/build/value/index.d.mts +21 -0
  3477. package/extensions/third-party/node_modules/typebox/build/value/index.mjs +30 -0
  3478. package/extensions/third-party/node_modules/typebox/build/value/mutate/error.d.mts +3 -0
  3479. package/extensions/third-party/node_modules/typebox/build/value/mutate/error.mjs +6 -0
  3480. package/extensions/third-party/node_modules/typebox/build/value/mutate/from_array.d.mts +2 -0
  3481. package/extensions/third-party/node_modules/typebox/build/value/mutate/from_array.mjs +16 -0
  3482. package/extensions/third-party/node_modules/typebox/build/value/mutate/from_object.d.mts +2 -0
  3483. package/extensions/third-party/node_modules/typebox/build/value/mutate/from_object.mjs +40 -0
  3484. package/extensions/third-party/node_modules/typebox/build/value/mutate/from_unknown.d.mts +2 -0
  3485. package/extensions/third-party/node_modules/typebox/build/value/mutate/from_unknown.mjs +7 -0
  3486. package/extensions/third-party/node_modules/typebox/build/value/mutate/from_value.d.mts +2 -0
  3487. package/extensions/third-party/node_modules/typebox/build/value/mutate/from_value.mjs +12 -0
  3488. package/extensions/third-party/node_modules/typebox/build/value/mutate/index.d.mts +1 -0
  3489. package/extensions/third-party/node_modules/typebox/build/value/mutate/index.mjs +1 -0
  3490. package/extensions/third-party/node_modules/typebox/build/value/mutate/mutate.d.mts +11 -0
  3491. package/extensions/third-party/node_modules/typebox/build/value/mutate/mutate.mjs +41 -0
  3492. package/extensions/third-party/node_modules/typebox/build/value/parse/index.d.mts +1 -0
  3493. package/extensions/third-party/node_modules/typebox/build/value/parse/index.mjs +1 -0
  3494. package/extensions/third-party/node_modules/typebox/build/value/parse/parse.d.mts +11 -0
  3495. package/extensions/third-party/node_modules/typebox/build/value/parse/parse.mjs +47 -0
  3496. package/extensions/third-party/node_modules/typebox/build/value/pipeline/index.d.mts +1 -0
  3497. package/extensions/third-party/node_modules/typebox/build/value/pipeline/index.mjs +1 -0
  3498. package/extensions/third-party/node_modules/typebox/build/value/pipeline/pipeline.d.mts +10 -0
  3499. package/extensions/third-party/node_modules/typebox/build/value/pipeline/pipeline.mjs +15 -0
  3500. package/extensions/third-party/node_modules/typebox/build/value/pointer/index.d.mts +1 -0
  3501. package/extensions/third-party/node_modules/typebox/build/value/pointer/index.mjs +1 -0
  3502. package/extensions/third-party/node_modules/typebox/build/value/repair/error.d.mts +7 -0
  3503. package/extensions/third-party/node_modules/typebox/build/value/repair/error.mjs +8 -0
  3504. package/extensions/third-party/node_modules/typebox/build/value/repair/from_array.d.mts +2 -0
  3505. package/extensions/third-party/node_modules/typebox/build/value/repair/from_array.mjs +39 -0
  3506. package/extensions/third-party/node_modules/typebox/build/value/repair/from_base.d.mts +2 -0
  3507. package/extensions/third-party/node_modules/typebox/build/value/repair/from_base.mjs +8 -0
  3508. package/extensions/third-party/node_modules/typebox/build/value/repair/from_enum.d.mts +2 -0
  3509. package/extensions/third-party/node_modules/typebox/build/value/repair/from_enum.mjs +7 -0
  3510. package/extensions/third-party/node_modules/typebox/build/value/repair/from_intersect.d.mts +2 -0
  3511. package/extensions/third-party/node_modules/typebox/build/value/repair/from_intersect.mjs +8 -0
  3512. package/extensions/third-party/node_modules/typebox/build/value/repair/from_object.d.mts +2 -0
  3513. package/extensions/third-party/node_modules/typebox/build/value/repair/from_object.mjs +33 -0
  3514. package/extensions/third-party/node_modules/typebox/build/value/repair/from_record.d.mts +2 -0
  3515. package/extensions/third-party/node_modules/typebox/build/value/repair/from_record.mjs +33 -0
  3516. package/extensions/third-party/node_modules/typebox/build/value/repair/from_ref.d.mts +2 -0
  3517. package/extensions/third-party/node_modules/typebox/build/value/repair/from_ref.mjs +9 -0
  3518. package/extensions/third-party/node_modules/typebox/build/value/repair/from_template_literal.d.mts +2 -0
  3519. package/extensions/third-party/node_modules/typebox/build/value/repair/from_template_literal.mjs +7 -0
  3520. package/extensions/third-party/node_modules/typebox/build/value/repair/from_tuple.d.mts +2 -0
  3521. package/extensions/third-party/node_modules/typebox/build/value/repair/from_tuple.mjs +12 -0
  3522. package/extensions/third-party/node_modules/typebox/build/value/repair/from_type.d.mts +2 -0
  3523. package/extensions/third-party/node_modules/typebox/build/value/repair/from_type.mjs +86 -0
  3524. package/extensions/third-party/node_modules/typebox/build/value/repair/from_union.d.mts +2 -0
  3525. package/extensions/third-party/node_modules/typebox/build/value/repair/from_union.mjs +24 -0
  3526. package/extensions/third-party/node_modules/typebox/build/value/repair/from_unknown.d.mts +2 -0
  3527. package/extensions/third-party/node_modules/typebox/build/value/repair/from_unknown.mjs +12 -0
  3528. package/extensions/third-party/node_modules/typebox/build/value/repair/index.d.mts +1 -0
  3529. package/extensions/third-party/node_modules/typebox/build/value/repair/index.mjs +1 -0
  3530. package/extensions/third-party/node_modules/typebox/build/value/repair/repair.d.mts +17 -0
  3531. package/extensions/third-party/node_modules/typebox/build/value/repair/repair.mjs +20 -0
  3532. package/extensions/third-party/node_modules/typebox/build/value/shared/index.d.mts +3 -0
  3533. package/extensions/third-party/node_modules/typebox/build/value/shared/index.mjs +4 -0
  3534. package/extensions/third-party/node_modules/typebox/build/value/shared/optional_undefined.d.mts +2 -0
  3535. package/extensions/third-party/node_modules/typebox/build/value/shared/optional_undefined.mjs +15 -0
  3536. package/extensions/third-party/node_modules/typebox/build/value/shared/union_priority_sort.d.mts +3 -0
  3537. package/extensions/third-party/node_modules/typebox/build/value/shared/union_priority_sort.mjs +36 -0
  3538. package/extensions/third-party/node_modules/typebox/build/value/shared/union_score_select.d.mts +3 -0
  3539. package/extensions/third-party/node_modules/typebox/build/value/shared/union_score_select.mjs +51 -0
  3540. package/extensions/third-party/node_modules/typebox/build/value/value.d.mts +16 -0
  3541. package/extensions/third-party/node_modules/typebox/build/value/value.mjs +16 -0
  3542. package/extensions/third-party/node_modules/typebox/license +23 -0
  3543. package/extensions/third-party/node_modules/typebox/package.json +87 -0
  3544. package/extensions/third-party/node_modules/typebox/readme.md +356 -0
  3545. package/extensions/third-party/node_modules/yaml/LICENSE +13 -0
  3546. package/extensions/third-party/node_modules/yaml/README.md +172 -0
  3547. package/extensions/third-party/node_modules/yaml/bin.mjs +11 -0
  3548. package/extensions/third-party/node_modules/yaml/browser/dist/compose/compose-collection.js +88 -0
  3549. package/extensions/third-party/node_modules/yaml/browser/dist/compose/compose-doc.js +43 -0
  3550. package/extensions/third-party/node_modules/yaml/browser/dist/compose/compose-node.js +109 -0
  3551. package/extensions/third-party/node_modules/yaml/browser/dist/compose/compose-scalar.js +86 -0
  3552. package/extensions/third-party/node_modules/yaml/browser/dist/compose/composer.js +217 -0
  3553. package/extensions/third-party/node_modules/yaml/browser/dist/compose/resolve-block-map.js +115 -0
  3554. package/extensions/third-party/node_modules/yaml/browser/dist/compose/resolve-block-scalar.js +198 -0
  3555. package/extensions/third-party/node_modules/yaml/browser/dist/compose/resolve-block-seq.js +49 -0
  3556. package/extensions/third-party/node_modules/yaml/browser/dist/compose/resolve-end.js +37 -0
  3557. package/extensions/third-party/node_modules/yaml/browser/dist/compose/resolve-flow-collection.js +207 -0
  3558. package/extensions/third-party/node_modules/yaml/browser/dist/compose/resolve-flow-scalar.js +223 -0
  3559. package/extensions/third-party/node_modules/yaml/browser/dist/compose/resolve-props.js +146 -0
  3560. package/extensions/third-party/node_modules/yaml/browser/dist/compose/util-contains-newline.js +34 -0
  3561. package/extensions/third-party/node_modules/yaml/browser/dist/compose/util-empty-scalar-position.js +26 -0
  3562. package/extensions/third-party/node_modules/yaml/browser/dist/compose/util-flow-indent-check.js +15 -0
  3563. package/extensions/third-party/node_modules/yaml/browser/dist/compose/util-map-includes.js +13 -0
  3564. package/extensions/third-party/node_modules/yaml/browser/dist/doc/Document.js +335 -0
  3565. package/extensions/third-party/node_modules/yaml/browser/dist/doc/anchors.js +71 -0
  3566. package/extensions/third-party/node_modules/yaml/browser/dist/doc/applyReviver.js +55 -0
  3567. package/extensions/third-party/node_modules/yaml/browser/dist/doc/createNode.js +88 -0
  3568. package/extensions/third-party/node_modules/yaml/browser/dist/doc/directives.js +176 -0
  3569. package/extensions/third-party/node_modules/yaml/browser/dist/errors.js +57 -0
  3570. package/extensions/third-party/node_modules/yaml/browser/dist/index.js +17 -0
  3571. package/extensions/third-party/node_modules/yaml/browser/dist/log.js +11 -0
  3572. package/extensions/third-party/node_modules/yaml/browser/dist/nodes/Alias.js +114 -0
  3573. package/extensions/third-party/node_modules/yaml/browser/dist/nodes/Collection.js +147 -0
  3574. package/extensions/third-party/node_modules/yaml/browser/dist/nodes/Node.js +38 -0
  3575. package/extensions/third-party/node_modules/yaml/browser/dist/nodes/Pair.js +36 -0
  3576. package/extensions/third-party/node_modules/yaml/browser/dist/nodes/Scalar.js +24 -0
  3577. package/extensions/third-party/node_modules/yaml/browser/dist/nodes/YAMLMap.js +144 -0
  3578. package/extensions/third-party/node_modules/yaml/browser/dist/nodes/YAMLSeq.js +113 -0
  3579. package/extensions/third-party/node_modules/yaml/browser/dist/nodes/addPairToJSMap.js +63 -0
  3580. package/extensions/third-party/node_modules/yaml/browser/dist/nodes/identity.js +36 -0
  3581. package/extensions/third-party/node_modules/yaml/browser/dist/nodes/toJS.js +37 -0
  3582. package/extensions/third-party/node_modules/yaml/browser/dist/parse/cst-scalar.js +214 -0
  3583. package/extensions/third-party/node_modules/yaml/browser/dist/parse/cst-stringify.js +61 -0
  3584. package/extensions/third-party/node_modules/yaml/browser/dist/parse/cst-visit.js +97 -0
  3585. package/extensions/third-party/node_modules/yaml/browser/dist/parse/cst.js +98 -0
  3586. package/extensions/third-party/node_modules/yaml/browser/dist/parse/lexer.js +717 -0
  3587. package/extensions/third-party/node_modules/yaml/browser/dist/parse/line-counter.js +39 -0
  3588. package/extensions/third-party/node_modules/yaml/browser/dist/parse/parser.js +967 -0
  3589. package/extensions/third-party/node_modules/yaml/browser/dist/public-api.js +102 -0
  3590. package/extensions/third-party/node_modules/yaml/browser/dist/schema/Schema.js +37 -0
  3591. package/extensions/third-party/node_modules/yaml/browser/dist/schema/common/map.js +17 -0
  3592. package/extensions/third-party/node_modules/yaml/browser/dist/schema/common/null.js +15 -0
  3593. package/extensions/third-party/node_modules/yaml/browser/dist/schema/common/seq.js +17 -0
  3594. package/extensions/third-party/node_modules/yaml/browser/dist/schema/common/string.js +14 -0
  3595. package/extensions/third-party/node_modules/yaml/browser/dist/schema/core/bool.js +19 -0
  3596. package/extensions/third-party/node_modules/yaml/browser/dist/schema/core/float.js +43 -0
  3597. package/extensions/third-party/node_modules/yaml/browser/dist/schema/core/int.js +38 -0
  3598. package/extensions/third-party/node_modules/yaml/browser/dist/schema/core/schema.js +23 -0
  3599. package/extensions/third-party/node_modules/yaml/browser/dist/schema/json/schema.js +62 -0
  3600. package/extensions/third-party/node_modules/yaml/browser/dist/schema/tags.js +96 -0
  3601. package/extensions/third-party/node_modules/yaml/browser/dist/schema/yaml-1.1/binary.js +58 -0
  3602. package/extensions/third-party/node_modules/yaml/browser/dist/schema/yaml-1.1/bool.js +26 -0
  3603. package/extensions/third-party/node_modules/yaml/browser/dist/schema/yaml-1.1/float.js +46 -0
  3604. package/extensions/third-party/node_modules/yaml/browser/dist/schema/yaml-1.1/int.js +71 -0
  3605. package/extensions/third-party/node_modules/yaml/browser/dist/schema/yaml-1.1/merge.js +64 -0
  3606. package/extensions/third-party/node_modules/yaml/browser/dist/schema/yaml-1.1/omap.js +74 -0
  3607. package/extensions/third-party/node_modules/yaml/browser/dist/schema/yaml-1.1/pairs.js +78 -0
  3608. package/extensions/third-party/node_modules/yaml/browser/dist/schema/yaml-1.1/schema.js +39 -0
  3609. package/extensions/third-party/node_modules/yaml/browser/dist/schema/yaml-1.1/set.js +93 -0
  3610. package/extensions/third-party/node_modules/yaml/browser/dist/schema/yaml-1.1/timestamp.js +101 -0
  3611. package/extensions/third-party/node_modules/yaml/browser/dist/stringify/foldFlowLines.js +146 -0
  3612. package/extensions/third-party/node_modules/yaml/browser/dist/stringify/stringify.js +129 -0
  3613. package/extensions/third-party/node_modules/yaml/browser/dist/stringify/stringifyCollection.js +153 -0
  3614. package/extensions/third-party/node_modules/yaml/browser/dist/stringify/stringifyComment.js +20 -0
  3615. package/extensions/third-party/node_modules/yaml/browser/dist/stringify/stringifyDocument.js +85 -0
  3616. package/extensions/third-party/node_modules/yaml/browser/dist/stringify/stringifyNumber.js +24 -0
  3617. package/extensions/third-party/node_modules/yaml/browser/dist/stringify/stringifyPair.js +150 -0
  3618. package/extensions/third-party/node_modules/yaml/browser/dist/stringify/stringifyString.js +336 -0
  3619. package/extensions/third-party/node_modules/yaml/browser/dist/util.js +11 -0
  3620. package/extensions/third-party/node_modules/yaml/browser/dist/visit.js +233 -0
  3621. package/extensions/third-party/node_modules/yaml/browser/index.js +5 -0
  3622. package/extensions/third-party/node_modules/yaml/browser/package.json +3 -0
  3623. package/extensions/third-party/node_modules/yaml/dist/cli.d.ts +8 -0
  3624. package/extensions/third-party/node_modules/yaml/dist/cli.mjs +201 -0
  3625. package/extensions/third-party/node_modules/yaml/dist/compose/compose-collection.d.ts +11 -0
  3626. package/extensions/third-party/node_modules/yaml/dist/compose/compose-collection.js +90 -0
  3627. package/extensions/third-party/node_modules/yaml/dist/compose/compose-doc.d.ts +7 -0
  3628. package/extensions/third-party/node_modules/yaml/dist/compose/compose-doc.js +45 -0
  3629. package/extensions/third-party/node_modules/yaml/dist/compose/compose-node.d.ts +29 -0
  3630. package/extensions/third-party/node_modules/yaml/dist/compose/compose-node.js +112 -0
  3631. package/extensions/third-party/node_modules/yaml/dist/compose/compose-scalar.d.ts +5 -0
  3632. package/extensions/third-party/node_modules/yaml/dist/compose/compose-scalar.js +88 -0
  3633. package/extensions/third-party/node_modules/yaml/dist/compose/composer.d.ts +63 -0
  3634. package/extensions/third-party/node_modules/yaml/dist/compose/composer.js +222 -0
  3635. package/extensions/third-party/node_modules/yaml/dist/compose/resolve-block-map.d.ts +6 -0
  3636. package/extensions/third-party/node_modules/yaml/dist/compose/resolve-block-map.js +117 -0
  3637. package/extensions/third-party/node_modules/yaml/dist/compose/resolve-block-scalar.d.ts +11 -0
  3638. package/extensions/third-party/node_modules/yaml/dist/compose/resolve-block-scalar.js +200 -0
  3639. package/extensions/third-party/node_modules/yaml/dist/compose/resolve-block-seq.d.ts +6 -0
  3640. package/extensions/third-party/node_modules/yaml/dist/compose/resolve-block-seq.js +51 -0
  3641. package/extensions/third-party/node_modules/yaml/dist/compose/resolve-end.d.ts +6 -0
  3642. package/extensions/third-party/node_modules/yaml/dist/compose/resolve-end.js +39 -0
  3643. package/extensions/third-party/node_modules/yaml/dist/compose/resolve-flow-collection.d.ts +7 -0
  3644. package/extensions/third-party/node_modules/yaml/dist/compose/resolve-flow-collection.js +209 -0
  3645. package/extensions/third-party/node_modules/yaml/dist/compose/resolve-flow-scalar.d.ts +10 -0
  3646. package/extensions/third-party/node_modules/yaml/dist/compose/resolve-flow-scalar.js +225 -0
  3647. package/extensions/third-party/node_modules/yaml/dist/compose/resolve-props.d.ts +23 -0
  3648. package/extensions/third-party/node_modules/yaml/dist/compose/resolve-props.js +148 -0
  3649. package/extensions/third-party/node_modules/yaml/dist/compose/util-contains-newline.d.ts +2 -0
  3650. package/extensions/third-party/node_modules/yaml/dist/compose/util-contains-newline.js +36 -0
  3651. package/extensions/third-party/node_modules/yaml/dist/compose/util-empty-scalar-position.d.ts +2 -0
  3652. package/extensions/third-party/node_modules/yaml/dist/compose/util-empty-scalar-position.js +28 -0
  3653. package/extensions/third-party/node_modules/yaml/dist/compose/util-flow-indent-check.d.ts +3 -0
  3654. package/extensions/third-party/node_modules/yaml/dist/compose/util-flow-indent-check.js +17 -0
  3655. package/extensions/third-party/node_modules/yaml/dist/compose/util-map-includes.d.ts +4 -0
  3656. package/extensions/third-party/node_modules/yaml/dist/compose/util-map-includes.js +15 -0
  3657. package/extensions/third-party/node_modules/yaml/dist/doc/Document.d.ts +141 -0
  3658. package/extensions/third-party/node_modules/yaml/dist/doc/Document.js +337 -0
  3659. package/extensions/third-party/node_modules/yaml/dist/doc/anchors.d.ts +24 -0
  3660. package/extensions/third-party/node_modules/yaml/dist/doc/anchors.js +76 -0
  3661. package/extensions/third-party/node_modules/yaml/dist/doc/applyReviver.d.ts +9 -0
  3662. package/extensions/third-party/node_modules/yaml/dist/doc/applyReviver.js +57 -0
  3663. package/extensions/third-party/node_modules/yaml/dist/doc/createNode.d.ts +17 -0
  3664. package/extensions/third-party/node_modules/yaml/dist/doc/createNode.js +90 -0
  3665. package/extensions/third-party/node_modules/yaml/dist/doc/directives.d.ts +49 -0
  3666. package/extensions/third-party/node_modules/yaml/dist/doc/directives.js +178 -0
  3667. package/extensions/third-party/node_modules/yaml/dist/errors.d.ts +21 -0
  3668. package/extensions/third-party/node_modules/yaml/dist/errors.js +62 -0
  3669. package/extensions/third-party/node_modules/yaml/dist/index.d.ts +25 -0
  3670. package/extensions/third-party/node_modules/yaml/dist/index.js +50 -0
  3671. package/extensions/third-party/node_modules/yaml/dist/log.d.ts +3 -0
  3672. package/extensions/third-party/node_modules/yaml/dist/log.js +19 -0
  3673. package/extensions/third-party/node_modules/yaml/dist/nodes/Alias.d.ts +29 -0
  3674. package/extensions/third-party/node_modules/yaml/dist/nodes/Alias.js +116 -0
  3675. package/extensions/third-party/node_modules/yaml/dist/nodes/Collection.d.ts +73 -0
  3676. package/extensions/third-party/node_modules/yaml/dist/nodes/Collection.js +151 -0
  3677. package/extensions/third-party/node_modules/yaml/dist/nodes/Node.d.ts +53 -0
  3678. package/extensions/third-party/node_modules/yaml/dist/nodes/Node.js +40 -0
  3679. package/extensions/third-party/node_modules/yaml/dist/nodes/Pair.d.ts +22 -0
  3680. package/extensions/third-party/node_modules/yaml/dist/nodes/Pair.js +39 -0
  3681. package/extensions/third-party/node_modules/yaml/dist/nodes/Scalar.d.ts +43 -0
  3682. package/extensions/third-party/node_modules/yaml/dist/nodes/Scalar.js +27 -0
  3683. package/extensions/third-party/node_modules/yaml/dist/nodes/YAMLMap.d.ts +53 -0
  3684. package/extensions/third-party/node_modules/yaml/dist/nodes/YAMLMap.js +147 -0
  3685. package/extensions/third-party/node_modules/yaml/dist/nodes/YAMLSeq.d.ts +60 -0
  3686. package/extensions/third-party/node_modules/yaml/dist/nodes/YAMLSeq.js +115 -0
  3687. package/extensions/third-party/node_modules/yaml/dist/nodes/addPairToJSMap.d.ts +4 -0
  3688. package/extensions/third-party/node_modules/yaml/dist/nodes/addPairToJSMap.js +65 -0
  3689. package/extensions/third-party/node_modules/yaml/dist/nodes/identity.d.ts +23 -0
  3690. package/extensions/third-party/node_modules/yaml/dist/nodes/identity.js +53 -0
  3691. package/extensions/third-party/node_modules/yaml/dist/nodes/toJS.d.ts +29 -0
  3692. package/extensions/third-party/node_modules/yaml/dist/nodes/toJS.js +39 -0
  3693. package/extensions/third-party/node_modules/yaml/dist/options.d.ts +350 -0
  3694. package/extensions/third-party/node_modules/yaml/dist/parse/cst-scalar.d.ts +64 -0
  3695. package/extensions/third-party/node_modules/yaml/dist/parse/cst-scalar.js +218 -0
  3696. package/extensions/third-party/node_modules/yaml/dist/parse/cst-stringify.d.ts +8 -0
  3697. package/extensions/third-party/node_modules/yaml/dist/parse/cst-stringify.js +63 -0
  3698. package/extensions/third-party/node_modules/yaml/dist/parse/cst-visit.d.ts +39 -0
  3699. package/extensions/third-party/node_modules/yaml/dist/parse/cst-visit.js +99 -0
  3700. package/extensions/third-party/node_modules/yaml/dist/parse/cst.d.ts +109 -0
  3701. package/extensions/third-party/node_modules/yaml/dist/parse/cst.js +112 -0
  3702. package/extensions/third-party/node_modules/yaml/dist/parse/lexer.d.ts +87 -0
  3703. package/extensions/third-party/node_modules/yaml/dist/parse/lexer.js +719 -0
  3704. package/extensions/third-party/node_modules/yaml/dist/parse/line-counter.d.ts +22 -0
  3705. package/extensions/third-party/node_modules/yaml/dist/parse/line-counter.js +41 -0
  3706. package/extensions/third-party/node_modules/yaml/dist/parse/parser.d.ts +84 -0
  3707. package/extensions/third-party/node_modules/yaml/dist/parse/parser.js +972 -0
  3708. package/extensions/third-party/node_modules/yaml/dist/public-api.d.ts +44 -0
  3709. package/extensions/third-party/node_modules/yaml/dist/public-api.js +107 -0
  3710. package/extensions/third-party/node_modules/yaml/dist/schema/Schema.d.ts +17 -0
  3711. package/extensions/third-party/node_modules/yaml/dist/schema/Schema.js +39 -0
  3712. package/extensions/third-party/node_modules/yaml/dist/schema/common/map.d.ts +2 -0
  3713. package/extensions/third-party/node_modules/yaml/dist/schema/common/map.js +19 -0
  3714. package/extensions/third-party/node_modules/yaml/dist/schema/common/null.d.ts +4 -0
  3715. package/extensions/third-party/node_modules/yaml/dist/schema/common/null.js +17 -0
  3716. package/extensions/third-party/node_modules/yaml/dist/schema/common/seq.d.ts +2 -0
  3717. package/extensions/third-party/node_modules/yaml/dist/schema/common/seq.js +19 -0
  3718. package/extensions/third-party/node_modules/yaml/dist/schema/common/string.d.ts +2 -0
  3719. package/extensions/third-party/node_modules/yaml/dist/schema/common/string.js +16 -0
  3720. package/extensions/third-party/node_modules/yaml/dist/schema/core/bool.d.ts +4 -0
  3721. package/extensions/third-party/node_modules/yaml/dist/schema/core/bool.js +21 -0
  3722. package/extensions/third-party/node_modules/yaml/dist/schema/core/float.d.ts +4 -0
  3723. package/extensions/third-party/node_modules/yaml/dist/schema/core/float.js +47 -0
  3724. package/extensions/third-party/node_modules/yaml/dist/schema/core/int.d.ts +4 -0
  3725. package/extensions/third-party/node_modules/yaml/dist/schema/core/int.js +42 -0
  3726. package/extensions/third-party/node_modules/yaml/dist/schema/core/schema.d.ts +1 -0
  3727. package/extensions/third-party/node_modules/yaml/dist/schema/core/schema.js +25 -0
  3728. package/extensions/third-party/node_modules/yaml/dist/schema/json/schema.d.ts +2 -0
  3729. package/extensions/third-party/node_modules/yaml/dist/schema/json/schema.js +64 -0
  3730. package/extensions/third-party/node_modules/yaml/dist/schema/json-schema.d.ts +69 -0
  3731. package/extensions/third-party/node_modules/yaml/dist/schema/tags.d.ts +48 -0
  3732. package/extensions/third-party/node_modules/yaml/dist/schema/tags.js +99 -0
  3733. package/extensions/third-party/node_modules/yaml/dist/schema/types.d.ts +92 -0
  3734. package/extensions/third-party/node_modules/yaml/dist/schema/yaml-1.1/binary.d.ts +2 -0
  3735. package/extensions/third-party/node_modules/yaml/dist/schema/yaml-1.1/binary.js +70 -0
  3736. package/extensions/third-party/node_modules/yaml/dist/schema/yaml-1.1/bool.d.ts +7 -0
  3737. package/extensions/third-party/node_modules/yaml/dist/schema/yaml-1.1/bool.js +29 -0
  3738. package/extensions/third-party/node_modules/yaml/dist/schema/yaml-1.1/float.d.ts +4 -0
  3739. package/extensions/third-party/node_modules/yaml/dist/schema/yaml-1.1/float.js +50 -0
  3740. package/extensions/third-party/node_modules/yaml/dist/schema/yaml-1.1/int.d.ts +5 -0
  3741. package/extensions/third-party/node_modules/yaml/dist/schema/yaml-1.1/int.js +76 -0
  3742. package/extensions/third-party/node_modules/yaml/dist/schema/yaml-1.1/merge.d.ts +9 -0
  3743. package/extensions/third-party/node_modules/yaml/dist/schema/yaml-1.1/merge.js +68 -0
  3744. package/extensions/third-party/node_modules/yaml/dist/schema/yaml-1.1/omap.d.ts +22 -0
  3745. package/extensions/third-party/node_modules/yaml/dist/schema/yaml-1.1/omap.js +77 -0
  3746. package/extensions/third-party/node_modules/yaml/dist/schema/yaml-1.1/pairs.d.ts +10 -0
  3747. package/extensions/third-party/node_modules/yaml/dist/schema/yaml-1.1/pairs.js +82 -0
  3748. package/extensions/third-party/node_modules/yaml/dist/schema/yaml-1.1/schema.d.ts +1 -0
  3749. package/extensions/third-party/node_modules/yaml/dist/schema/yaml-1.1/schema.js +41 -0
  3750. package/extensions/third-party/node_modules/yaml/dist/schema/yaml-1.1/set.d.ts +28 -0
  3751. package/extensions/third-party/node_modules/yaml/dist/schema/yaml-1.1/set.js +96 -0
  3752. package/extensions/third-party/node_modules/yaml/dist/schema/yaml-1.1/timestamp.d.ts +6 -0
  3753. package/extensions/third-party/node_modules/yaml/dist/schema/yaml-1.1/timestamp.js +105 -0
  3754. package/extensions/third-party/node_modules/yaml/dist/stringify/foldFlowLines.d.ts +34 -0
  3755. package/extensions/third-party/node_modules/yaml/dist/stringify/foldFlowLines.js +151 -0
  3756. package/extensions/third-party/node_modules/yaml/dist/stringify/stringify.d.ts +21 -0
  3757. package/extensions/third-party/node_modules/yaml/dist/stringify/stringify.js +132 -0
  3758. package/extensions/third-party/node_modules/yaml/dist/stringify/stringifyCollection.d.ts +17 -0
  3759. package/extensions/third-party/node_modules/yaml/dist/stringify/stringifyCollection.js +155 -0
  3760. package/extensions/third-party/node_modules/yaml/dist/stringify/stringifyComment.d.ts +10 -0
  3761. package/extensions/third-party/node_modules/yaml/dist/stringify/stringifyComment.js +24 -0
  3762. package/extensions/third-party/node_modules/yaml/dist/stringify/stringifyDocument.d.ts +4 -0
  3763. package/extensions/third-party/node_modules/yaml/dist/stringify/stringifyDocument.js +87 -0
  3764. package/extensions/third-party/node_modules/yaml/dist/stringify/stringifyNumber.d.ts +2 -0
  3765. package/extensions/third-party/node_modules/yaml/dist/stringify/stringifyNumber.js +26 -0
  3766. package/extensions/third-party/node_modules/yaml/dist/stringify/stringifyPair.d.ts +3 -0
  3767. package/extensions/third-party/node_modules/yaml/dist/stringify/stringifyPair.js +152 -0
  3768. package/extensions/third-party/node_modules/yaml/dist/stringify/stringifyString.d.ts +9 -0
  3769. package/extensions/third-party/node_modules/yaml/dist/stringify/stringifyString.js +338 -0
  3770. package/extensions/third-party/node_modules/yaml/dist/test-events.d.ts +4 -0
  3771. package/extensions/third-party/node_modules/yaml/dist/test-events.js +134 -0
  3772. package/extensions/third-party/node_modules/yaml/dist/util.d.ts +16 -0
  3773. package/extensions/third-party/node_modules/yaml/dist/util.js +28 -0
  3774. package/extensions/third-party/node_modules/yaml/dist/visit.d.ts +102 -0
  3775. package/extensions/third-party/node_modules/yaml/dist/visit.js +236 -0
  3776. package/extensions/third-party/node_modules/yaml/package.json +97 -0
  3777. package/extensions/third-party/node_modules/yaml/util.js +2 -0
  3778. package/extensions/third-party/package-lock.json +184 -0
  3779. package/extensions/third-party/package.json +11 -0
  3780. package/extensions/third-party/subagent-policy.ts +165 -0
  3781. package/extensions/third-party/vendor/README.md +16 -0
  3782. package/extensions/third-party/vendor/pi-subagents-0.52.1-dev-agent-followthrough.2.tgz +0 -0
  3783. package/npm-shrinkwrap.json +2259 -0
  3784. package/package.json +73 -0
  3785. package/runtime/process-tree.ts +143 -0
  3786. package/runtime/product-config.mjs +21 -0
  3787. package/runtime/resolve-installed-pi.mjs +77 -0
  3788. package/runtime/verify-pi-runtime.mjs +257 -0
  3789. package/skills/pi-subagents/SKILL.md +44 -0
@@ -0,0 +1,3611 @@
1
+ import Foundation
2
+ import AppKit
3
+ import ApplicationServices
4
+ import Darwin
5
+ import Vision
6
+ import ImageIO
7
+ import ScreenCaptureKit
8
+
9
+ struct BridgeFailure: Error {
10
+ let message: String
11
+ let code: String
12
+ }
13
+
14
+ final class AXRefStore {
15
+ struct Snapshot {
16
+ let role: String
17
+ let identifier: String
18
+ let label: String
19
+ let rect: CGRect
20
+ }
21
+
22
+ private var nextId: UInt64 = 0
23
+ private var windows: [String: AXUIElement] = [:]
24
+ private var elements: [String: AXUIElement] = [:]
25
+ private var snapshots: [String: Snapshot] = [:]
26
+ private let lock = NSLock()
27
+
28
+ func storeWindow(_ window: AXUIElement) -> String {
29
+ lock.lock()
30
+ defer { lock.unlock() }
31
+ for (ref, existing) in windows {
32
+ if CFEqual(existing, window) {
33
+ return ref
34
+ }
35
+ }
36
+ nextId += 1
37
+ let ref = "w\(nextId)"
38
+ windows[ref] = window
39
+ return ref
40
+ }
41
+
42
+ func storeElement(_ element: AXUIElement, snapshot: Snapshot? = nil) -> String {
43
+ lock.lock()
44
+ defer { lock.unlock() }
45
+ nextId += 1
46
+ let ref = "e\(nextId)"
47
+ elements[ref] = element
48
+ snapshots[ref] = snapshot
49
+ return ref
50
+ }
51
+
52
+ func window(for ref: String) -> AXUIElement? {
53
+ lock.lock()
54
+ defer { lock.unlock() }
55
+ return windows[ref]
56
+ }
57
+
58
+ func element(for ref: String) -> AXUIElement? {
59
+ lock.lock()
60
+ defer { lock.unlock() }
61
+ return elements[ref]
62
+ }
63
+
64
+ func snapshot(for ref: String) -> Snapshot? {
65
+ lock.lock()
66
+ defer { lock.unlock() }
67
+ return snapshots[ref]
68
+ }
69
+ }
70
+
71
+ private struct CGWindowCandidate {
72
+ let windowId: UInt32
73
+ let title: String
74
+ let bounds: CGRect
75
+ let isOnscreen: Bool
76
+ let layer: Int
77
+ let zOrder: Int
78
+ }
79
+
80
+ private struct CGWindowOwnerSummary {
81
+ let pid: Int32
82
+ let name: String
83
+ }
84
+
85
+ private struct AXDescendant {
86
+ let element: AXUIElement
87
+ let depth: Int
88
+ let insideWebArea: Bool
89
+ let axVisible: Bool
90
+ }
91
+
92
+ private struct WindowPairing {
93
+ let candidate: CGWindowCandidate?
94
+ let score: Double
95
+ let confidence: String
96
+ }
97
+
98
+ private struct CapturedWindowImage {
99
+ let image: CGImage
100
+ let windowId: UInt32
101
+ let frame: CGRect
102
+ }
103
+
104
+ private struct LookRecord {
105
+ let lookId: String
106
+ let windowId: UInt32
107
+ let windowFrame: CGRect
108
+ let imageWidth: Int
109
+ let imageHeight: Int
110
+ let hasImage: Bool
111
+ }
112
+
113
+ private struct RootAXEvent {
114
+ let sequence: UInt64
115
+ let timestamp: TimeInterval
116
+ let notification: String
117
+ let element: AXUIElement?
118
+ }
119
+
120
+ private final class RootAXObserverState {
121
+ let pid: Int32
122
+ let observer: AXObserver
123
+ let change = NSCondition()
124
+ var changeGeneration: UInt64 = 0
125
+ var events: [RootAXEvent] = []
126
+ var nextSequence: UInt64 = 1
127
+ var lastUsed: TimeInterval = Date().timeIntervalSince1970
128
+
129
+ init(pid: Int32, observer: AXObserver) {
130
+ self.pid = pid
131
+ self.observer = observer
132
+ }
133
+ }
134
+
135
+ private struct OCRBox {
136
+ let string: String
137
+ let confidence: Double
138
+ let rect: CGRect
139
+ }
140
+
141
+ final class LookNode {
142
+ let element: AXUIElement?
143
+ let ref: String
144
+ let role: String
145
+ let subrole: String
146
+ let identifier: String
147
+ let title: String
148
+ let description: String
149
+ let value: String
150
+ let actions: [String]
151
+ let canPress: Bool
152
+ let canFocus: Bool
153
+ let canSetValue: Bool
154
+ let canScroll: Bool
155
+ let canIncrement: Bool
156
+ let canDecrement: Bool
157
+ let isTextInput: Bool
158
+ let rect: CGRect
159
+ let focused: Bool
160
+ var offscreen: Bool
161
+ var pictureOnly: Bool
162
+ var truncated: Bool
163
+ var scrollExtent: [String: Int]?
164
+ var text: [[String: Any]]
165
+ var children: [LookNode]
166
+
167
+ init(element: AXUIElement?, ref: String, role: String, subrole: String, identifier: String, title: String, description: String, value: String, actions: [String], canPress: Bool, canFocus: Bool, canSetValue: Bool, canScroll: Bool, canIncrement: Bool, canDecrement: Bool, isTextInput: Bool, rect: CGRect, focused: Bool = false, offscreen: Bool = false, pictureOnly: Bool = false) {
168
+ self.element = element
169
+ self.ref = ref
170
+ self.role = role
171
+ self.subrole = subrole
172
+ self.identifier = identifier
173
+ self.title = title
174
+ self.description = description
175
+ self.value = value
176
+ self.actions = actions
177
+ self.canPress = canPress
178
+ self.canFocus = canFocus
179
+ self.canSetValue = canSetValue
180
+ self.canScroll = canScroll
181
+ self.canIncrement = canIncrement
182
+ self.canDecrement = canDecrement
183
+ self.isTextInput = isTextInput
184
+ self.rect = rect
185
+ self.focused = focused
186
+ self.offscreen = offscreen
187
+ self.pictureOnly = pictureOnly
188
+ self.truncated = false
189
+ self.text = []
190
+ self.children = []
191
+ }
192
+
193
+ func payload() -> [String: Any] {
194
+ var output: [String: Any] = [
195
+ "ref": ref,
196
+ "role": role,
197
+ "subrole": subrole,
198
+ "identifier": identifier,
199
+ "title": title,
200
+ "description": description,
201
+ "value": value,
202
+ "actions": actions,
203
+ "canPress": canPress,
204
+ "canFocus": canFocus,
205
+ "canSetValue": canSetValue,
206
+ "canScroll": canScroll,
207
+ "canIncrement": canIncrement,
208
+ "canDecrement": canDecrement,
209
+ "isTextInput": isTextInput,
210
+ "rect": ["x": rect.origin.x, "y": rect.origin.y, "w": rect.width, "h": rect.height],
211
+ "children": children.map { $0.payload() },
212
+ ]
213
+ if focused { output["focused"] = true }
214
+ if offscreen { output["offscreen"] = true }
215
+ if pictureOnly { output["pictureOnly"] = true }
216
+ if truncated { output["truncated"] = true }
217
+ if let scrollExtent { output["scrollExtent"] = scrollExtent }
218
+ if !text.isEmpty { output["text"] = text }
219
+ return output
220
+ }
221
+
222
+ }
223
+
224
+ final class Box<T> {
225
+ var value: T
226
+ init(_ value: T) {
227
+ self.value = value
228
+ }
229
+ }
230
+
231
+ final class InputSuppressionGuard {
232
+ static let maxSuppressionSeconds: TimeInterval = 30
233
+
234
+ private let lock = NSLock()
235
+ private var eventTap: CFMachPort?
236
+ private var eventTapSource: CFRunLoopSource?
237
+ private var tapRunLoop: CFRunLoop?
238
+ private var tapThread: Thread?
239
+
240
+ func begin() throws {
241
+ lock.lock()
242
+ if eventTap != nil {
243
+ lock.unlock()
244
+ return
245
+ }
246
+ lock.unlock()
247
+
248
+ let eventTypes: [CGEventType] = [
249
+ .keyDown,
250
+ .keyUp,
251
+ .flagsChanged,
252
+ .leftMouseDown,
253
+ .leftMouseUp,
254
+ .rightMouseDown,
255
+ .rightMouseUp,
256
+ .otherMouseDown,
257
+ .otherMouseUp,
258
+ .mouseMoved,
259
+ .leftMouseDragged,
260
+ .rightMouseDragged,
261
+ .otherMouseDragged,
262
+ .scrollWheel,
263
+ .tabletPointer,
264
+ .tabletProximity,
265
+ ]
266
+ let mask = eventTypes.reduce(CGEventMask(0)) { partial, type in
267
+ partial | (CGEventMask(1) << CGEventMask(type.rawValue))
268
+ }
269
+
270
+ let callback: CGEventTapCallBack = { _proxy, type, event, userInfo in
271
+ guard let userInfo else { return Unmanaged.passUnretained(event) }
272
+ let inputGuard = Unmanaged<InputSuppressionGuard>.fromOpaque(userInfo).takeUnretainedValue()
273
+ if type == .tapDisabledByTimeout || type == .tapDisabledByUserInput {
274
+ inputGuard.reenableTap()
275
+ return Unmanaged.passUnretained(event)
276
+ }
277
+ return nil
278
+ }
279
+
280
+ guard let tap = CGEvent.tapCreate(
281
+ tap: .cgSessionEventTap,
282
+ place: .headInsertEventTap,
283
+ options: .defaultTap,
284
+ eventsOfInterest: mask,
285
+ callback: callback,
286
+ // passUnretained is only safe because Bridge owns this guard for the
287
+ // whole process lifetime; do not give it a shorter-lived owner.
288
+ userInfo: UnsafeMutableRawPointer(Unmanaged.passUnretained(self).toOpaque())
289
+ ) else {
290
+ throw BridgeFailure(message: "Failed to create input suppression event tap", code: "input_suppression_unavailable")
291
+ }
292
+
293
+ lock.lock()
294
+ eventTap = tap
295
+ lock.unlock()
296
+ let thread = Thread { [weak self] in
297
+ guard let self else { return }
298
+ let runLoop = CFRunLoopGetCurrent()
299
+ self.lock.lock()
300
+ self.tapRunLoop = runLoop
301
+ self.eventTapSource = CFMachPortCreateRunLoopSource(kCFAllocatorDefault, tap, 0)
302
+ if let source = self.eventTapSource {
303
+ CFRunLoopAddSource(runLoop, source, .commonModes)
304
+ }
305
+ // Watchdog: if end() never arrives (e.g. the parent process hangs
306
+ // mid-action), release the tap so the user is not locked out of
307
+ // keyboard and mouse input indefinitely.
308
+ let watchdog = CFRunLoopTimerCreateWithHandler(
309
+ kCFAllocatorDefault,
310
+ CFAbsoluteTimeGetCurrent() + InputSuppressionGuard.maxSuppressionSeconds,
311
+ 0,
312
+ 0,
313
+ 0
314
+ ) { [weak self] _ in
315
+ self?.end()
316
+ }
317
+ if let watchdog {
318
+ CFRunLoopAddTimer(runLoop, watchdog, .commonModes)
319
+ }
320
+ CGEvent.tapEnable(tap: tap, enable: true)
321
+ self.lock.unlock()
322
+ CFRunLoopRun()
323
+ }
324
+ thread.name = "pi-computer-use-input-suppression"
325
+ lock.lock()
326
+ tapThread = thread
327
+ lock.unlock()
328
+ thread.start()
329
+
330
+ let deadline = Date().addingTimeInterval(1.0)
331
+ while tapRunLoop == nil && Date() < deadline {
332
+ Thread.sleep(forTimeInterval: 0.01)
333
+ }
334
+ if tapRunLoop == nil {
335
+ end()
336
+ throw BridgeFailure(message: "Timed out starting input suppression", code: "input_suppression_timeout")
337
+ }
338
+ }
339
+
340
+ func end() {
341
+ lock.lock()
342
+ let tap = eventTap
343
+ let source = eventTapSource
344
+ let runLoop = tapRunLoop
345
+ eventTap = nil
346
+ eventTapSource = nil
347
+ tapRunLoop = nil
348
+ tapThread = nil
349
+ lock.unlock()
350
+
351
+ if let tap {
352
+ CGEvent.tapEnable(tap: tap, enable: false)
353
+ }
354
+ if let source, let runLoop {
355
+ CFRunLoopRemoveSource(runLoop, source, .commonModes)
356
+ CFRunLoopStop(runLoop)
357
+ }
358
+ }
359
+
360
+ func reenableTap() {
361
+ lock.lock()
362
+ let tap = eventTap
363
+ lock.unlock()
364
+ if let tap {
365
+ CGEvent.tapEnable(tap: tap, enable: true)
366
+ }
367
+ }
368
+
369
+ }
370
+
371
+ final class Bridge {
372
+ private let protocolVersion = 6
373
+ private let refStore = AXRefStore()
374
+ private let inputSuppressionGuard = InputSuppressionGuard()
375
+ private let physicalInputLock = NSRecursiveLock()
376
+ private let supportsAgentCursor = CommandLine.arguments.contains("serve")
377
+ private let browserBundleIds: Set<String> = [
378
+ "com.apple.Safari", "com.google.Chrome", "org.chromium.Chromium", "company.thebrowser.Browser", "com.brave.Browser", "com.microsoft.edgemac", "com.vivaldi.Vivaldi", "net.imput.helium", "org.mozilla.firefox",
379
+ ]
380
+ private var enhancedAccessibilityPids = Set<Int32>()
381
+ private let enhancedAccessibilityLock = NSLock()
382
+ private var stdinBuffer = Data()
383
+ private var output = FileHandle.standardOutput
384
+ private var nextLookId: UInt64 = 0
385
+ private var lookRecords: [String: LookRecord] = [:]
386
+ private var lookRecordOrder: [String] = []
387
+ private let lookRecordLock = NSLock()
388
+ private let rootObserverLock = NSLock()
389
+ private var rootObservers: [Int32: RootAXObserverState] = [:]
390
+ private let maxRootObservers = 4
391
+ private let permissionCacheLock = NSLock()
392
+ private var grantedPermissionStatus: [String: Any]?
393
+ private let completedRequestLock = NSLock()
394
+ private var recentCompletedRequestIds: [String] = []
395
+
396
+ func run() {
397
+ if CommandLine.arguments.contains("serve") {
398
+ let socketPath = argumentValue("--socket") ?? defaultSocketPath()
399
+ Thread.detachNewThread { [self] in runServer(socketPath: socketPath) }
400
+ NSApp.run()
401
+ return
402
+ }
403
+ while true {
404
+ autoreleasepool {
405
+ let data = FileHandle.standardInput.availableData
406
+ if data.isEmpty {
407
+ exit(0)
408
+ }
409
+ stdinBuffer.append(data)
410
+ processBufferedInput()
411
+ }
412
+ }
413
+ }
414
+
415
+ private func argumentValue(_ name: String) -> String? {
416
+ guard let index = CommandLine.arguments.firstIndex(of: name), CommandLine.arguments.indices.contains(index + 1) else { return nil }
417
+ return CommandLine.arguments[index + 1]
418
+ }
419
+
420
+ private func defaultSocketPath() -> String {
421
+ let home = FileManager.default.homeDirectoryForCurrentUser.path
422
+ return "\(home)/Library/Caches/pi-computer-use/bridge.sock"
423
+ }
424
+
425
+ private func runServer(socketPath: String) {
426
+ _ = signal(SIGPIPE, SIG_IGN)
427
+ try? FileManager.default.createDirectory(atPath: (socketPath as NSString).deletingLastPathComponent, withIntermediateDirectories: true)
428
+ // LaunchServices may race multiple `open -n` requests while the first
429
+ // daemon is still binding. Keep process ownership separate from socket
430
+ // cleanup so a late launcher can never unlink the live daemon's socket.
431
+ let lockPath = "\(socketPath).lock"
432
+ let lockFile = open(lockPath, O_CREAT | O_RDWR, S_IRUSR | S_IWUSR)
433
+ if lockFile < 0 || flock(lockFile, LOCK_EX | LOCK_NB) != 0 {
434
+ if lockFile >= 0 { close(lockFile) }
435
+ exit(0)
436
+ }
437
+ unlink(socketPath)
438
+ let server = socket(AF_UNIX, SOCK_STREAM, 0)
439
+ if server < 0 { close(lockFile); exit(1) }
440
+ var address = sockaddr_un()
441
+ address.sun_family = sa_family_t(AF_UNIX)
442
+ let sunPathCapacity = MemoryLayout.size(ofValue: address.sun_path)
443
+ let bytes = Array(socketPath.utf8.prefix(sunPathCapacity - 1))
444
+ withUnsafeMutablePointer(to: &address.sun_path) { pointer in
445
+ pointer.withMemoryRebound(to: CChar.self, capacity: sunPathCapacity) { dest in
446
+ for (index, byte) in bytes.enumerated() { dest[index] = CChar(bitPattern: byte) }
447
+ }
448
+ }
449
+ let bindStatus = withUnsafePointer(to: &address) { pointer in
450
+ pointer.withMemoryRebound(to: sockaddr.self, capacity: 1) { bind(server, $0, socklen_t(MemoryLayout<sockaddr_un>.size)) }
451
+ }
452
+ if bindStatus != 0 || listen(server, 8) != 0 { close(server); close(lockFile); exit(1) }
453
+ while true {
454
+ let client = accept(server, nil, nil)
455
+ if client < 0 { continue }
456
+ var noSigPipe: Int32 = 1
457
+ _ = setsockopt(client, SOL_SOCKET, SO_NOSIGPIPE, &noSigPipe, socklen_t(MemoryLayout.size(ofValue: noSigPipe)))
458
+ Thread.detachNewThread { [weak self] in self?.processClient(client) }
459
+ }
460
+ }
461
+
462
+ private func processClient(_ client: Int32) {
463
+ let clientInput = FileHandle(fileDescriptor: client, closeOnDealloc: true)
464
+ var buffer = Data()
465
+ let newline = Data([0x0A])
466
+ while true {
467
+ let data = clientInput.availableData
468
+ if data.isEmpty { break }
469
+ buffer.append(data)
470
+ while let range = buffer.range(of: newline) {
471
+ let lineData = buffer.subdata(in: 0..<range.lowerBound)
472
+ buffer.removeSubrange(0..<range.upperBound)
473
+ if let line = String(data: lineData, encoding: .utf8), !line.isEmpty { handleLine(line, to: client) }
474
+ }
475
+ }
476
+ clientInput.closeFile()
477
+ }
478
+
479
+ private func processBufferedInput() {
480
+ let newline = Data([0x0A])
481
+ while let range = stdinBuffer.range(of: newline) {
482
+ let lineData = stdinBuffer.subdata(in: 0..<range.lowerBound)
483
+ stdinBuffer.removeSubrange(0..<range.upperBound)
484
+
485
+ guard !lineData.isEmpty else { continue }
486
+ guard let line = String(data: lineData, encoding: .utf8) else { continue }
487
+ handleLine(line)
488
+ }
489
+ }
490
+
491
+ private func handleLine(_ line: String, to responseSocket: Int32? = nil) {
492
+ let trimmed = line.trimmingCharacters(in: .whitespacesAndNewlines)
493
+ guard !trimmed.isEmpty else { return }
494
+
495
+ let fallbackId = "invalid"
496
+ var completionId: String?
497
+ defer {
498
+ if responseSocket != nil, let completionId { recordCompletedRequest(completionId) }
499
+ }
500
+ do {
501
+ guard let jsonData = trimmed.data(using: .utf8) else {
502
+ throw BridgeFailure(message: "Input was not valid UTF-8", code: "invalid_request")
503
+ }
504
+ guard let object = try JSONSerialization.jsonObject(with: jsonData) as? [String: Any] else {
505
+ throw BridgeFailure(message: "Request must be a JSON object", code: "invalid_request")
506
+ }
507
+ let id = (object["id"] as? String) ?? fallbackId
508
+ completionId = id
509
+
510
+ do {
511
+ let result = try handleRequest(object)
512
+ send([
513
+ "id": id,
514
+ "ok": true,
515
+ "result": result,
516
+ ], to: responseSocket)
517
+ } catch let failure as BridgeFailure {
518
+ send([
519
+ "id": id,
520
+ "ok": false,
521
+ "error": [
522
+ "message": failure.message,
523
+ "code": failure.code,
524
+ ],
525
+ ], to: responseSocket)
526
+ } catch {
527
+ send([
528
+ "id": id,
529
+ "ok": false,
530
+ "error": [
531
+ "message": error.localizedDescription,
532
+ "code": "internal_error",
533
+ ],
534
+ ], to: responseSocket)
535
+ }
536
+ } catch let failure as BridgeFailure {
537
+ send([
538
+ "id": fallbackId,
539
+ "ok": false,
540
+ "error": [
541
+ "message": failure.message,
542
+ "code": failure.code,
543
+ ],
544
+ ], to: responseSocket)
545
+ } catch {
546
+ send([
547
+ "id": fallbackId,
548
+ "ok": false,
549
+ "error": [
550
+ "message": error.localizedDescription,
551
+ "code": "internal_error",
552
+ ],
553
+ ], to: responseSocket)
554
+ }
555
+ }
556
+
557
+ private func send(_ payload: [String: Any], to responseSocket: Int32? = nil) {
558
+ guard JSONSerialization.isValidJSONObject(payload),
559
+ let data = try? JSONSerialization.data(withJSONObject: payload),
560
+ let line = String(data: data, encoding: .utf8),
561
+ let out = (line + "\n").data(using: .utf8)
562
+ else {
563
+ return
564
+ }
565
+
566
+ guard let responseSocket else {
567
+ try? output.write(contentsOf: out)
568
+ return
569
+ }
570
+ out.withUnsafeBytes { raw in
571
+ guard let base = raw.baseAddress else { return }
572
+ var offset = 0
573
+ while offset < raw.count {
574
+ let sent = Darwin.send(responseSocket, base.advanced(by: offset), raw.count - offset, 0)
575
+ if sent <= 0 { return }
576
+ offset += sent
577
+ }
578
+ }
579
+ }
580
+
581
+ private func recordCompletedRequest(_ id: String) {
582
+ completedRequestLock.lock()
583
+ recentCompletedRequestIds.removeAll { $0 == id }
584
+ recentCompletedRequestIds.append(id)
585
+ if recentCompletedRequestIds.count > 32 {
586
+ recentCompletedRequestIds.removeFirst(recentCompletedRequestIds.count - 32)
587
+ }
588
+ completedRequestLock.unlock()
589
+ }
590
+
591
+ private func completedRequestIds() -> [String] {
592
+ completedRequestLock.lock()
593
+ defer { completedRequestLock.unlock() }
594
+ return recentCompletedRequestIds
595
+ }
596
+
597
+ private func handleRequest(_ request: [String: Any]) throws -> Any {
598
+ let cmd = try stringArg(request, "cmd")
599
+
600
+ switch cmd {
601
+ case "diagnostics":
602
+ return diagnostics()
603
+ case "checkPermissions":
604
+ return checkPermissions()
605
+ case "registerPermissions":
606
+ return try registerPermissions()
607
+ case "openPermissionPane":
608
+ return try openPermissionPane(request)
609
+ case "shutdown":
610
+ // Reply first, then exit: the caller relaunches the helper to get a
611
+ // process with a fresh TCC client (grant answers are cached per
612
+ // process, so a helper that saw "denied" keeps answering "denied"
613
+ // after the user grants — only a new process re-queries tccd).
614
+ // Background queue: the serve loop occupies the main thread, so a
615
+ // main-queue timer would never fire.
616
+ DispatchQueue.global().asyncAfter(deadline: .now() + 0.2) { exit(0) }
617
+ return ["shuttingDown": true]
618
+ case "listApps":
619
+ return listApps()
620
+ case "listWindows":
621
+ return try listWindows(pid: Int32(try intArg(request, "pid")))
622
+ case "listRoots":
623
+ return try listRoots(pid: optionalIntArg(request, "pid").map { Int32($0) }, title: optionalStringArg(request, "title"))
624
+ case "getFrontmost":
625
+ return try getFrontmost()
626
+ case "getUserContext":
627
+ return try getUserContext()
628
+ case "beginInputSuppression":
629
+ return try beginInputSuppression()
630
+ case "endInputSuppression":
631
+ return endInputSuppression()
632
+ case "restoreUserFocus":
633
+ return try restoreUserFocus(request)
634
+ case "focusWindow":
635
+ return try focusWindow(request)
636
+ case "setWindowFrame":
637
+ return try setWindowFrame(request)
638
+ case "look":
639
+ return try look(request)
640
+ case "act":
641
+ return try act(request)
642
+ case "actBatch":
643
+ return try actBatch(request)
644
+ case "hitTest":
645
+ return try hitTest(request)
646
+ case "axWaitFor":
647
+ return try axWaitFor(request)
648
+ case "focusedElement":
649
+ return try focusedElement(request)
650
+ case "axReadText":
651
+ return try axReadText(request)
652
+ case "getMousePosition":
653
+ return getMousePosition()
654
+ default:
655
+ throw BridgeFailure(message: "Unknown command '\(cmd)'", code: "unknown_command")
656
+ }
657
+ }
658
+
659
+ private func stringArg(_ request: [String: Any], _ key: String) throws -> String {
660
+ if let value = request[key] as? String {
661
+ return value
662
+ }
663
+ throw BridgeFailure(message: "Missing string argument '\(key)'", code: "invalid_args")
664
+ }
665
+
666
+ private func optionalStringArg(_ request: [String: Any], _ key: String) -> String? {
667
+ if let value = request[key] as? String {
668
+ return value
669
+ }
670
+ return nil
671
+ }
672
+
673
+ private func intArg(_ request: [String: Any], _ key: String) throws -> Int {
674
+ if let value = request[key] as? Int {
675
+ return value
676
+ }
677
+ if let value = request[key] as? NSNumber {
678
+ return value.intValue
679
+ }
680
+ if let value = request[key] as? Double {
681
+ return Int(value)
682
+ }
683
+ throw BridgeFailure(message: "Missing integer argument '\(key)'", code: "invalid_args")
684
+ }
685
+
686
+ private func optionalIntArg(_ request: [String: Any], _ key: String) -> Int? {
687
+ if let value = request[key] as? Int {
688
+ return value
689
+ }
690
+ if let value = request[key] as? NSNumber {
691
+ return value.intValue
692
+ }
693
+ if let value = request[key] as? Double {
694
+ return Int(value)
695
+ }
696
+ return nil
697
+ }
698
+
699
+ private func boolArg(_ request: [String: Any], _ key: String) -> Bool? {
700
+ if let value = request[key] as? Bool { return value }
701
+ if let value = request[key] as? NSNumber { return value.boolValue }
702
+ return nil
703
+ }
704
+
705
+ private func doubleArg(_ request: [String: Any], _ key: String) throws -> Double {
706
+ if let value = request[key] as? Double {
707
+ return value
708
+ }
709
+ if let value = request[key] as? NSNumber {
710
+ return value.doubleValue
711
+ }
712
+ if let value = request[key] as? Int {
713
+ return Double(value)
714
+ }
715
+ throw BridgeFailure(message: "Missing numeric argument '\(key)'", code: "invalid_args")
716
+ }
717
+
718
+ private func processPath(pid: pid_t) -> String? {
719
+ var buffer = [CChar](repeating: 0, count: 4096)
720
+ let length = proc_pidpath(pid, &buffer, UInt32(buffer.count))
721
+ return length > 0 ? String(cString: buffer) : nil
722
+ }
723
+
724
+ private func processName(pid: pid_t) -> String? {
725
+ processPath(pid: pid).map { URL(fileURLWithPath: $0).deletingPathExtension().lastPathComponent }
726
+ }
727
+
728
+ private func diagnostics() -> [String: Any] {
729
+ // Cheap booleans only — diagnostics doubles as the daemon liveness
730
+ // probe (1s client timeout), so it must not run the ScreenCaptureKit
731
+ // capturable check (up to 3s when ungranted). Permission truth comes
732
+ // from checkPermissions.
733
+ let permissions: [String: Any] = [
734
+ "accessibility": AXIsProcessTrusted(),
735
+ "screenRecording": {
736
+ if #available(macOS 10.15, *) { return CGPreflightScreenCaptureAccess() }
737
+ return true
738
+ }(),
739
+ ]
740
+ #if arch(arm64)
741
+ let arch = "arm64"
742
+ #elseif arch(x86_64)
743
+ let arch = "x86_64"
744
+ #else
745
+ let arch = "unknown"
746
+ #endif
747
+ let parentPid = Int32(getppid())
748
+ let parentApp = NSRunningApplication(processIdentifier: parentPid)
749
+ let parentPath = processPath(pid: parentPid)
750
+ var output: [String: Any] = [
751
+ "protocolVersion": protocolVersion,
752
+ "architectureVersion": 1,
753
+ "invariants": ["state-scoped-observations", "bounded-observation-history", "multi-root-forest", "progressive-disclosure", "atomic-physical-input", "concurrent-requests", "transactional-batching"],
754
+ "pid": Int32(getpid()),
755
+ "parentPid": parentPid,
756
+ "executablePath": CommandLine.arguments.first ?? "",
757
+ "macOS": ProcessInfo.processInfo.operatingSystemVersionString,
758
+ "arch": arch,
759
+ "accessibility": permissions["accessibility"] ?? false,
760
+ "screenRecording": permissions["screenRecording"] ?? false,
761
+ "recentCompletedRequestIds": completedRequestIds(),
762
+ ]
763
+ if let parentPath {
764
+ output["parentPath"] = parentPath
765
+ }
766
+ if let parentAppName = parentApp?.localizedName ?? parentPath.map({ URL(fileURLWithPath: $0).lastPathComponent }) {
767
+ output["parentAppName"] = parentAppName
768
+ }
769
+ if let parentBundleId = parentApp?.bundleIdentifier {
770
+ output["parentBundleId"] = parentBundleId
771
+ }
772
+ return output
773
+ }
774
+
775
+ /// Live Screen Recording probe. `CGPreflightScreenCaptureAccess()`
776
+ /// answers from a per-process cache that goes stale after `tccutil
777
+ /// reset` or a Settings toggle; a ScreenCaptureKit content fetch only
778
+ /// succeeds when THIS process can genuinely capture right now. When the
779
+ /// two disagree, the preflight boolean is the one lying.
780
+ private func screenRecordingCapturable() -> Bool {
781
+ if #available(macOS 14.0, *) {
782
+ let semaphore = DispatchSemaphore(value: 0)
783
+ let capturable = Box<Bool>(false)
784
+ Task {
785
+ defer { semaphore.signal() }
786
+ if let shareable = try? await SCShareableContent.excludingDesktopWindows(false, onScreenWindowsOnly: false) {
787
+ capturable.value = !shareable.displays.isEmpty
788
+ }
789
+ }
790
+ if semaphore.wait(timeout: .now() + .seconds(3)) == .timedOut {
791
+ return false
792
+ }
793
+ return capturable.value
794
+ }
795
+ if #available(macOS 10.15, *) {
796
+ return CGPreflightScreenCaptureAccess()
797
+ }
798
+ return true
799
+ }
800
+
801
+ /// Which TCC identity the permission booleans reflect. macOS attributes
802
+ /// grants to the *responsible process* (the LaunchServices launching
803
+ /// app), so:
804
+ /// - "helper-app": running from the installed bundle, launched via
805
+ /// LaunchServices — grants belong to the canonical helper identity.
806
+ /// - "caller": anything else (dev binary under a terminal, etc.) —
807
+ /// the booleans reflect whatever app spawned us, NOT the canonical
808
+ /// helper. The extension surfaces this instead of guessing.
809
+ private func permissionSource() -> [String: Any] {
810
+ let parentPid = Int32(getppid())
811
+ let executable = CommandLine.arguments.first ?? ""
812
+ var source: [String: Any] = [
813
+ "pid": Int(getpid()),
814
+ "parentPid": Int(parentPid),
815
+ "executablePath": executable,
816
+ "macOS": ProcessInfo.processInfo.operatingSystemVersionString,
817
+ ]
818
+ if let parentPath = processPath(pid: parentPid) {
819
+ source["parentPath"] = parentPath
820
+ }
821
+ if let parentBundleId = NSRunningApplication(processIdentifier: parentPid)?.bundleIdentifier {
822
+ source["parentBundleId"] = parentBundleId
823
+ }
824
+ let attribution: String
825
+ if executable.contains("/pi-computer-use.app/Contents/MacOS/"), parentPid == 1 {
826
+ // Non-spoofable signals only: installed-bundle executable path +
827
+ // launchd parent (`open` handed us to LaunchServices). A dev
828
+ // binary or a directly-spawned copy fails closed to "caller".
829
+ attribution = "helper-app"
830
+ } else {
831
+ attribution = "caller"
832
+ }
833
+ source["attribution"] = attribution
834
+ return source
835
+ }
836
+
837
+ private func checkPermissions() -> [String: Any] {
838
+ permissionCacheLock.lock()
839
+ if let cached = grantedPermissionStatus {
840
+ permissionCacheLock.unlock()
841
+ return cached
842
+ }
843
+ permissionCacheLock.unlock()
844
+ let accessibility = AXIsProcessTrusted()
845
+ let screenRecordingPreflight: Bool
846
+ if #available(macOS 10.15, *) {
847
+ screenRecordingPreflight = CGPreflightScreenCaptureAccess()
848
+ } else {
849
+ screenRecordingPreflight = true
850
+ }
851
+ let capturable = screenRecordingCapturable()
852
+ let result: [String: Any] = [
853
+ "accessibility": accessibility,
854
+ // The live probe is authoritative; the preflight boolean is kept
855
+ // for diagnostics (a true/false split identifies a stale cache or
856
+ // a grant belonging to a different responsible process).
857
+ "screenRecording": capturable,
858
+ "screenRecordingPreflight": screenRecordingPreflight,
859
+ "screenRecordingCapturable": capturable,
860
+ "source": permissionSource(),
861
+ ]
862
+ // A successful TCC grant is process-stable in practice. Cache only the
863
+ // positive result so missing grants are always rechecked after the user
864
+ // enables them, while fresh agent processes avoid repeating a multi-second
865
+ // ScreenCaptureKit probe against the same long-lived helper daemon.
866
+ if accessibility && capturable {
867
+ permissionCacheLock.lock()
868
+ grantedPermissionStatus = result
869
+ permissionCacheLock.unlock()
870
+ }
871
+ return result
872
+ }
873
+
874
+ /// Register this process's identity with TCC for both grants so the app
875
+ /// appears in the Settings panes BEFORE the user is sent there. The AX
876
+ /// request registers (and prompts for) Accessibility; on recent macOS an
877
+ /// app only appears under Screen Recording after a real ScreenCaptureKit
878
+ /// attempt, which the capturable probe performs.
879
+ private func registerPermissions() throws -> [String: Any] {
880
+ let options = [kAXTrustedCheckOptionPrompt.takeUnretainedValue() as String: true] as CFDictionary
881
+ let accessibility = AXIsProcessTrustedWithOptions(options)
882
+ if #available(macOS 10.15, *) {
883
+ _ = CGRequestScreenCaptureAccess()
884
+ }
885
+ let capturable = screenRecordingCapturable()
886
+ return [
887
+ "accessibility": accessibility,
888
+ "screenRecording": capturable,
889
+ "screenRecordingCapturable": capturable,
890
+ ]
891
+ }
892
+
893
+ private func openPermissionPane(_ request: [String: Any]) throws -> [String: Any] {
894
+ let kind = try stringArg(request, "kind")
895
+ let urlString: String
896
+ switch kind {
897
+ case "accessibility":
898
+ urlString = "x-apple.systempreferences:com.apple.preference.security?Privacy_Accessibility"
899
+ case "screenRecording", "screenrecording":
900
+ urlString = "x-apple.systempreferences:com.apple.preference.security?Privacy_ScreenCapture"
901
+ default:
902
+ throw BridgeFailure(message: "Unknown permission pane '\(kind)'", code: "invalid_args")
903
+ }
904
+
905
+ guard let url = URL(string: urlString) else {
906
+ throw BridgeFailure(message: "Invalid permission pane URL", code: "internal_error")
907
+ }
908
+ let opened = NSWorkspace.shared.open(url)
909
+ return ["opened": opened]
910
+ }
911
+
912
+ private func pidIsAlive(_ pid: pid_t) -> Bool {
913
+ pid > 0 && kill(pid, 0) == 0
914
+ }
915
+
916
+ private func listApps() -> [[String: Any]] {
917
+ let frontmostPid = NSWorkspace.shared.frontmostApplication?.processIdentifier
918
+ let apps = NSWorkspace.shared.runningApplications.filter { app in
919
+ // Computer-use targets are windows, not Dock-visible applications. Some
920
+ // benchmark/test apps and utility-style apps expose perfectly valid AX
921
+ // windows while using an accessory/prohibited activation policy, so do not
922
+ // gate discovery on `.regular` here. `listWindows` and the higher-level
923
+ // window collector filter to actual controllable windows.
924
+ app.processIdentifier != getpid() && pidIsAlive(app.processIdentifier)
925
+ }
926
+ var seen = Set<Int32>()
927
+ var output = apps.map { app in
928
+ seen.insert(app.processIdentifier)
929
+ var data: [String: Any] = [
930
+ "appName": app.localizedName ?? processName(pid: app.processIdentifier) ?? "Unknown App",
931
+ "pid": Int(app.processIdentifier),
932
+ "isFrontmost": app.processIdentifier == frontmostPid,
933
+ ]
934
+ if let bundleId = app.bundleIdentifier {
935
+ data["bundleId"] = bundleId
936
+ }
937
+ return data
938
+ }
939
+
940
+ // NSWorkspace can miss apps launched from ad-hoc bundles or test harnesses
941
+ // even when their windows are visible and AX-controllable. Add CGWindow
942
+ // owners as acquisition candidates so callers can still resolve by pid/title
943
+ // and then build the normal AX scene through listWindows(pid:).
944
+ for owner in cgWindowOwners() where owner.pid != getpid() && !seen.contains(owner.pid) && pidIsAlive(owner.pid) {
945
+ seen.insert(owner.pid)
946
+ output.append([
947
+ "appName": owner.name,
948
+ "pid": Int(owner.pid),
949
+ "isFrontmost": owner.pid == frontmostPid,
950
+ ])
951
+ }
952
+ return output
953
+ }
954
+
955
+ private func getFrontmost() throws -> [String: Any] {
956
+ guard let app = NSWorkspace.shared.frontmostApplication else {
957
+ throw BridgeFailure(message: "No frontmost app available", code: "frontmost_unavailable")
958
+ }
959
+ let pid = app.processIdentifier
960
+ let windows = try listWindows(pid: pid)
961
+
962
+ var result: [String: Any] = [
963
+ "appName": app.localizedName ?? "Unknown App",
964
+ "pid": Int(pid),
965
+ ]
966
+ if let bundleId = app.bundleIdentifier {
967
+ result["bundleId"] = bundleId
968
+ }
969
+
970
+ if let chosen = windows.sorted(by: { scoreWindow($0) > scoreWindow($1) }).first {
971
+ result["windowTitle"] = (chosen["title"] as? String) ?? ""
972
+ if let windowId = chosen["windowId"] {
973
+ result["windowId"] = windowId
974
+ }
975
+ if let windowRef = chosen["windowRef"] as? String {
976
+ result["windowRef"] = windowRef
977
+ }
978
+ }
979
+ return result
980
+ }
981
+
982
+ private func getUserContext() throws -> [String: Any] {
983
+ guard let app = NSWorkspace.shared.frontmostApplication else {
984
+ throw BridgeFailure(message: "No frontmost app available", code: "frontmost_unavailable")
985
+ }
986
+ let pid = app.processIdentifier
987
+ ensureEnhancedAccessibility(pid: pid)
988
+ let appElement = AXUIElementCreateApplication(pid)
989
+ let focusedWindow = copyAttribute(appElement, attribute: kAXFocusedWindowAttribute as CFString).flatMap(asAXElement)
990
+ let focusedElement = copyAttribute(appElement, attribute: kAXFocusedUIElementAttribute as CFString).flatMap(asAXElement)
991
+ var result: [String: Any] = [
992
+ "appName": app.localizedName ?? "Unknown App",
993
+ "pid": Int(pid),
994
+ ]
995
+ if let bundleId = app.bundleIdentifier {
996
+ result["bundleId"] = bundleId
997
+ }
998
+ if let window = focusedWindow {
999
+ result["window"] = [
1000
+ "title": stringAttribute(window, attribute: kAXTitleAttribute as CFString) ?? "",
1001
+ "role": stringAttribute(window, attribute: kAXRoleAttribute as CFString) ?? "",
1002
+ "subrole": stringAttribute(window, attribute: kAXSubroleAttribute as CFString) ?? "",
1003
+ ]
1004
+ }
1005
+ if let element = focusedElement {
1006
+ let focusedRole = stringAttribute(element, attribute: kAXRoleAttribute as CFString) ?? ""
1007
+ let focusedSubrole = stringAttribute(element, attribute: kAXSubroleAttribute as CFString) ?? ""
1008
+ result["focusedElement"] = [
1009
+ "role": focusedRole,
1010
+ "subrole": focusedSubrole,
1011
+ "title": stringAttribute(element, attribute: kAXTitleAttribute as CFString) ?? "",
1012
+ "description": stringAttribute(element, attribute: kAXDescriptionAttribute as CFString) ?? "",
1013
+ "value": displayValue(element, role: focusedRole, subrole: focusedSubrole),
1014
+ ]
1015
+ }
1016
+ return result
1017
+ }
1018
+
1019
+ private func beginInputSuppression() throws -> [String: Any] {
1020
+ try inputSuppressionGuard.begin()
1021
+ return ["active": true]
1022
+ }
1023
+
1024
+ private func endInputSuppression() -> [String: Any] {
1025
+ inputSuppressionGuard.end()
1026
+ return ["active": false]
1027
+ }
1028
+
1029
+ private func restoreUserFocus(_ request: [String: Any]) throws -> [String: Any] {
1030
+ let pid = Int32(try intArg(request, "pid"))
1031
+ let targetTitle = optionalStringArg(request, "windowTitle")?.trimmingCharacters(in: .whitespacesAndNewlines) ?? ""
1032
+ guard let app = NSRunningApplication(processIdentifier: pid) else {
1033
+ throw BridgeFailure(message: "App with pid \(pid) is no longer running", code: "app_not_found")
1034
+ }
1035
+
1036
+ let appRestored = app.activate()
1037
+ var restoredWindowTitle = ""
1038
+ var windowRestored = false
1039
+
1040
+ if !targetTitle.isEmpty {
1041
+ let appElement = AXUIElementCreateApplication(pid)
1042
+ let windows = axElementArray(appElement, attribute: kAXWindowsAttribute as CFString)
1043
+ let normalizedTarget = targetTitle.lowercased()
1044
+ if let match = windows.first(where: {
1045
+ (stringAttribute($0, attribute: kAXTitleAttribute as CFString) ?? "")
1046
+ .trimmingCharacters(in: .whitespacesAndNewlines)
1047
+ .lowercased() == normalizedTarget
1048
+ }) {
1049
+ restoredWindowTitle = stringAttribute(match, attribute: kAXTitleAttribute as CFString) ?? ""
1050
+ let setMainStatus = AXUIElementSetAttributeValue(match, kAXMainAttribute as CFString, kCFBooleanTrue)
1051
+ let setFocusedStatus = AXUIElementSetAttributeValue(match, kAXFocusedAttribute as CFString, kCFBooleanTrue)
1052
+ let raiseStatus = AXUIElementPerformAction(match, kAXRaiseAction as CFString)
1053
+ windowRestored = setMainStatus == .success || setFocusedStatus == .success || raiseStatus == .success
1054
+ }
1055
+ }
1056
+
1057
+ return [
1058
+ "restored": appRestored || windowRestored,
1059
+ "appRestored": appRestored,
1060
+ "windowRestored": windowRestored,
1061
+ "appName": app.localizedName ?? "Unknown App",
1062
+ "windowTitle": restoredWindowTitle,
1063
+ ]
1064
+ }
1065
+
1066
+ private func setWindowFrame(_ request: [String: Any]) throws -> [String: Any] {
1067
+ let pid = Int32(try intArg(request, "pid"))
1068
+ let windowId = optionalIntArg(request, "windowId").map { UInt32($0) }
1069
+ let windowRef = optionalStringArg(request, "windowRef")
1070
+ guard let window = windowElement(pid: pid, windowId: windowId, windowRef: windowRef) else {
1071
+ return ["ok": false, "reason": "window_not_found"]
1072
+ }
1073
+ let x = try doubleArg(request, "x")
1074
+ let y = try doubleArg(request, "y")
1075
+ let width = max(100.0, try doubleArg(request, "width"))
1076
+ let height = max(80.0, try doubleArg(request, "height"))
1077
+ var origin = CGPoint(x: x, y: y)
1078
+ var size = CGSize(width: width, height: height)
1079
+ guard let originValue = AXValueCreate(.cgPoint, &origin), let sizeValue = AXValueCreate(.cgSize, &size) else {
1080
+ throw BridgeFailure(message: "Failed to create AX frame values", code: "frame_value_failed")
1081
+ }
1082
+ let positionStatus = AXUIElementSetAttributeValue(window, kAXPositionAttribute as CFString, originValue)
1083
+ let sizeStatus = AXUIElementSetAttributeValue(window, kAXSizeAttribute as CFString, sizeValue)
1084
+ let frame = frameForWindow(window)
1085
+ return [
1086
+ "ok": positionStatus == .success || sizeStatus == .success,
1087
+ "positionStatus": Int(positionStatus.rawValue),
1088
+ "sizeStatus": Int(sizeStatus.rawValue),
1089
+ "framePoints": ["x": frame.origin.x, "y": frame.origin.y, "w": frame.width, "h": frame.height],
1090
+ ]
1091
+ }
1092
+
1093
+ private func focusWindow(_ request: [String: Any]) throws -> [String: Any] {
1094
+ let pid = Int32(try intArg(request, "pid"))
1095
+ let windowId = optionalIntArg(request, "windowId").map { UInt32($0) }
1096
+ let windowRef = optionalStringArg(request, "windowRef")
1097
+ guard let window = windowElement(pid: pid, windowId: windowId, windowRef: windowRef) else {
1098
+ return ["focused": false, "reason": "window_not_found"]
1099
+ }
1100
+
1101
+ let appElement = AXUIElementCreateApplication(pid)
1102
+ if let focusedWindow = copyAttribute(appElement, attribute: kAXFocusedWindowAttribute as CFString).flatMap(asAXElement),
1103
+ sameElement(focusedWindow, window)
1104
+ {
1105
+ return ["focused": true, "alreadyFocused": true]
1106
+ }
1107
+
1108
+ let setMainStatus = AXUIElementSetAttributeValue(window, kAXMainAttribute as CFString, kCFBooleanTrue)
1109
+ let setFocusedStatus = AXUIElementSetAttributeValue(window, kAXFocusedAttribute as CFString, kCFBooleanTrue)
1110
+ let raiseStatus = AXUIElementPerformAction(window, kAXRaiseAction as CFString)
1111
+ let focused = setMainStatus == .success || setFocusedStatus == .success || raiseStatus == .success
1112
+ var result: [String: Any] = [
1113
+ "focused": focused,
1114
+ "setMain": setMainStatus == .success,
1115
+ "setFocused": setFocusedStatus == .success,
1116
+ "raised": raiseStatus == .success,
1117
+ ]
1118
+ if !focused {
1119
+ result["reason"] = "focus_failed"
1120
+ }
1121
+ return result
1122
+ }
1123
+
1124
+ private func scoreWindow(_ window: [String: Any]) -> Int {
1125
+ var score = 0
1126
+ if (window["isFocused"] as? Bool) == true { score += 100 }
1127
+ if (window["isMain"] as? Bool) == true { score += 80 }
1128
+ if (window["isMinimized"] as? Bool) == false { score += 40 }
1129
+ if (window["isOnscreen"] as? Bool) == true { score += 20 }
1130
+ if window["windowId"] != nil { score += 10 }
1131
+ return score
1132
+ }
1133
+
1134
+ private func rootKind(role: String, subrole: String) -> String {
1135
+ if role == "AXSheet" { return "sheet" }
1136
+ if subrole.localizedCaseInsensitiveContains("popover") { return "popover" }
1137
+ if subrole.localizedCaseInsensitiveContains("dialog") || role == "AXDialog" { return "dialog" }
1138
+ return "window"
1139
+ }
1140
+
1141
+ private func isDialogLikeRoot(role: String, subrole: String) -> Bool {
1142
+ let text = "\(role) \(subrole)"
1143
+ return text.range(of: "dialog", options: [.caseInsensitive]) != nil
1144
+ || text.range(of: "modal", options: [.caseInsensitive]) != nil
1145
+ || text.range(of: "sheet", options: [.caseInsensitive]) != nil
1146
+ }
1147
+
1148
+ private func rootMetadata(pairing: WindowPairing, sheetCount: Int) -> [String: Any] {
1149
+ ["pairing": ["confidence": pairing.confidence, "score": pairing.score], "sheetCount": sheetCount]
1150
+ }
1151
+
1152
+ private func broadRootCandidateApps() -> [[String: Any]] {
1153
+ cgBroadRootOwners().compactMap { owner in
1154
+ guard owner.pid != getpid(), pidIsAlive(owner.pid) else { return nil }
1155
+ var app: [String: Any] = ["appName": owner.name, "pid": Int(owner.pid)]
1156
+ if let bundleId = NSRunningApplication(processIdentifier: owner.pid)?.bundleIdentifier {
1157
+ app["bundleId"] = bundleId
1158
+ }
1159
+ return app
1160
+ }
1161
+ }
1162
+
1163
+ private func listRoots(pid: Int32?, title: String? = nil) throws -> [String: Any] {
1164
+ let requestedTitle = title?.trimmingCharacters(in: .whitespacesAndNewlines).lowercased() ?? ""
1165
+ let apps: [[String: Any]]
1166
+ if let pid {
1167
+ apps = [["pid": Int(pid)]]
1168
+ } else if !requestedTitle.isEmpty,
1169
+ let entries = CGWindowListCopyWindowInfo([.optionAll], kCGNullWindowID) as? [[String: Any]] {
1170
+ let matchingPids = Set(entries.compactMap { entry -> Int32? in
1171
+ let candidate = ((entry[kCGWindowName as String] as? String) ?? "").trimmingCharacters(in: .whitespacesAndNewlines).lowercased()
1172
+ guard candidate == requestedTitle || candidate.contains(requestedTitle) else { return nil }
1173
+ return (entry[kCGWindowOwnerPID as String] as? NSNumber)?.int32Value
1174
+ })
1175
+ apps = listApps().filter { app in
1176
+ guard let rawPid = app["pid"] as? Int else { return false }
1177
+ return matchingPids.contains(Int32(rawPid))
1178
+ }
1179
+ } else {
1180
+ apps = broadRootCandidateApps()
1181
+ }
1182
+ var roots: [[String: Any]] = []
1183
+ for app in apps {
1184
+ guard let rawPid = app["pid"] as? Int else { continue }
1185
+ let appPid = Int32(rawPid)
1186
+ let appName = app["appName"] as? String ?? processName(pid: appPid) ?? "Unknown App"
1187
+ let bundleId = app["bundleId"] as? String
1188
+ for var root in (try? listWindows(pid: appPid)) ?? [] {
1189
+ root["pid"] = rawPid
1190
+ root["appName"] = appName
1191
+ if let bundleId { root["bundleId"] = bundleId }
1192
+ roots.append(root)
1193
+ }
1194
+ let popupCandidates = cgPopupMenuCandidates(pid: appPid)
1195
+ let menuElements = popupCandidates.isEmpty ? [] : openMenuElements(pid: appPid)
1196
+ for (index, candidate) in popupCandidates.enumerated() {
1197
+ let menuElement = index < menuElements.count ? menuElements[index] : nil
1198
+ let menuRef = menuElement.map { refStore.storeWindow($0) } ?? "cgmenu:\(candidate.windowId)"
1199
+ var menu: [String: Any] = [
1200
+ "kind": "menu",
1201
+ "rootRef": menuRef,
1202
+ "windowRef": menuRef,
1203
+ "windowId": Int(candidate.windowId),
1204
+ "zOrder": candidate.zOrder,
1205
+ "title": menuElement.flatMap { stringAttribute($0, attribute: kAXTitleAttribute as CFString) } ?? candidate.title,
1206
+ "role": "AXMenu",
1207
+ "subrole": "",
1208
+ "isModal": false,
1209
+ "framePoints": ["x": candidate.bounds.origin.x, "y": candidate.bounds.origin.y, "w": candidate.bounds.width, "h": candidate.bounds.height],
1210
+ "scaleFactor": displayScaleFactor(for: candidate.bounds),
1211
+ "isMinimized": false,
1212
+ "isOnscreen": candidate.isOnscreen,
1213
+ "isMain": false,
1214
+ "isFocused": true,
1215
+ "metadata": ["pairing": ["confidence": menuElement == nil ? "low" : "high", "score": menuElement == nil ? 0 : 100], "sheetCount": 0],
1216
+ "pid": rawPid,
1217
+ "appName": appName,
1218
+ ]
1219
+ if let bundleId { menu["bundleId"] = bundleId }
1220
+ roots.append(menu)
1221
+ }
1222
+ }
1223
+ roots.sort { (($0["zOrder"] as? Int) ?? Int.max) < (($1["zOrder"] as? Int) ?? Int.max) }
1224
+ return ["roots": roots]
1225
+ }
1226
+
1227
+ private func listWindows(pid: Int32) throws -> [[String: Any]] {
1228
+ ensureEnhancedAccessibility(pid: pid)
1229
+ let appElement = AXUIElementCreateApplication(pid)
1230
+ AXUIElementSetMessagingTimeout(appElement, 1.0)
1231
+ let windows = axElementArray(appElement, attribute: kAXWindowsAttribute as CFString)
1232
+ let candidates = cgWindowCandidates(pid: pid)
1233
+ let pairings = windowPairings(windows: windows, candidates: candidates)
1234
+
1235
+ var output: [[String: Any]] = []
1236
+ for (zIndex, window) in windows.enumerated() {
1237
+ let axTitle = stringAttribute(window, attribute: kAXTitleAttribute as CFString) ?? ""
1238
+ let axRole = stringAttribute(window, attribute: kAXRoleAttribute as CFString) ?? ""
1239
+ let axSubrole = stringAttribute(window, attribute: kAXSubroleAttribute as CFString) ?? ""
1240
+ let axFrame = frameForWindow(window)
1241
+ let pairing = pairings[ObjectIdentifier(window)] ?? WindowPairing(candidate: nil, score: -Double.greatestFiniteMagnitude, confidence: "low")
1242
+ let candidate = pairing.candidate
1243
+
1244
+ let effectiveFrame = axFrame.width > 1 && axFrame.height > 1 ? axFrame : (candidate?.bounds ?? axFrame)
1245
+ if effectiveFrame.width < 100 || effectiveFrame.height < 80 { continue }
1246
+ let hasUsableAXFrame = axFrame.width > 1 && axFrame.height > 1
1247
+ let title = hasUsableAXFrame && !axTitle.trimmingCharacters(in: .whitespacesAndNewlines).isEmpty ? axTitle : (candidate?.title.isEmpty == false ? candidate!.title : axTitle)
1248
+ let windowRef = refStore.storeWindow(window)
1249
+ let isMinimized = boolAttribute(window, attribute: kAXMinimizedAttribute as CFString) ?? false
1250
+ let isMain = boolAttribute(window, attribute: kAXMainAttribute as CFString) ?? false
1251
+ let isFocused = boolAttribute(window, attribute: kAXFocusedAttribute as CFString) ?? false
1252
+ let sheetCount = sheetElements(of: window).count
1253
+ let isModal = (boolAttribute(window, attribute: "AXModal" as CFString) ?? false) || sheetCount > 0 || isDialogLikeRoot(role: axRole, subrole: axSubrole)
1254
+ let scale = displayScaleFactor(for: effectiveFrame)
1255
+
1256
+ var item: [String: Any] = [
1257
+ "kind": rootKind(role: axRole, subrole: axSubrole),
1258
+ "rootRef": windowRef,
1259
+ "windowRef": windowRef,
1260
+ "zOrder": candidate?.zOrder ?? zIndex,
1261
+ "title": title,
1262
+ "role": axRole,
1263
+ "subrole": axSubrole,
1264
+ "isModal": isModal,
1265
+ "framePoints": [
1266
+ "x": effectiveFrame.origin.x,
1267
+ "y": effectiveFrame.origin.y,
1268
+ "w": effectiveFrame.size.width,
1269
+ "h": effectiveFrame.size.height,
1270
+ ],
1271
+ "scaleFactor": scale,
1272
+ "isMinimized": isMinimized,
1273
+ "isOnscreen": candidate?.isOnscreen ?? !isMinimized,
1274
+ "isMain": isMain,
1275
+ "isFocused": isFocused,
1276
+ "metadata": rootMetadata(pairing: pairing, sheetCount: sheetCount),
1277
+ ]
1278
+ if let candidate {
1279
+ item["windowId"] = Int(candidate.windowId)
1280
+ }
1281
+ output.append(item)
1282
+
1283
+ for sheet in sheetElements(of: window) {
1284
+ let sheetRef = refStore.storeWindow(sheet)
1285
+ let sheetFrame = frameForWindow(sheet)
1286
+ let sheetCandidate = bestCandidate(for: sheet, candidates: candidates)
1287
+ var sheetItem: [String: Any] = [
1288
+ "kind": "sheet",
1289
+ "rootRef": sheetRef,
1290
+ "windowRef": sheetRef,
1291
+ "zOrder": sheetCandidate?.zOrder ?? candidate?.zOrder ?? zIndex,
1292
+ "title": stringAttribute(sheet, attribute: kAXTitleAttribute as CFString) ?? title,
1293
+ "role": stringAttribute(sheet, attribute: kAXRoleAttribute as CFString) ?? "AXSheet",
1294
+ "subrole": stringAttribute(sheet, attribute: kAXSubroleAttribute as CFString) ?? "",
1295
+ "isModal": true,
1296
+ "framePoints": ["x": sheetFrame.origin.x, "y": sheetFrame.origin.y, "w": sheetFrame.width, "h": sheetFrame.height],
1297
+ "scaleFactor": displayScaleFactor(for: sheetFrame),
1298
+ "isMinimized": false,
1299
+ "isOnscreen": sheetCandidate?.isOnscreen ?? candidate?.isOnscreen ?? !isMinimized,
1300
+ "isMain": false,
1301
+ "isFocused": isFocused,
1302
+ "metadata": ["pairing": ["confidence": sheetCandidate == nil ? pairing.confidence : "high", "score": sheetCandidate == nil ? pairing.score : 100], "sheetCount": 0],
1303
+ ]
1304
+ if let sheetCandidate { sheetItem["windowId"] = Int(sheetCandidate.windowId) }
1305
+ output.append(sheetItem)
1306
+ }
1307
+ }
1308
+ return output
1309
+ }
1310
+
1311
+ private func look(_ request: [String: Any]) throws -> [String: Any] {
1312
+ let windowId = optionalIntArg(request, "windowId").map { UInt32($0) }
1313
+ let windowRef = optionalStringArg(request, "windowRef")
1314
+ let maxDimension = optionalIntArg(request, "maxDimension").map { max(1, $0) }
1315
+ let readText = optionalStringArg(request, "readText") ?? "auto"
1316
+ let baseLookId = optionalStringArg(request, "baseLookId")
1317
+ let includeImage = boolArg(request, "includeImage") ?? true
1318
+ guard readText == "auto" || readText == "always" || readText == "never" else {
1319
+ throw BridgeFailure(message: "readText must be auto, always, or never", code: "invalid_args")
1320
+ }
1321
+
1322
+ let requestedRoot = windowRef.flatMap { refStore.window(for: $0) }
1323
+ let requestedRole = requestedRoot.flatMap { stringAttribute($0, attribute: kAXRoleAttribute as CFString) } ?? ""
1324
+ let isMenuRoot = requestedRole == "AXMenu" || (windowRef?.hasPrefix("cgmenu:") == true)
1325
+ let captureStart = Date()
1326
+ let shouldCapture = !isMenuRoot && (includeImage || readText == "always")
1327
+ let capture = try shouldCapture ? windowId.map { try captureWindow(windowId: $0) } : nil
1328
+ let captureMs = capture.map { _ in elapsedMs(captureStart) } ?? 0
1329
+
1330
+ let pid: Int32
1331
+ if let windowId, let ownerPid = pidForWindowId(windowId) {
1332
+ pid = ownerPid
1333
+ } else if let requestedRoot, let owner = pidForElement(requestedRoot) {
1334
+ pid = owner
1335
+ } else {
1336
+ throw BridgeFailure(message: "Root is not owned by a running app", code: "root_not_found")
1337
+ }
1338
+ ensureEnhancedAccessibility(pid: pid)
1339
+ if let windowRef, windowRef.hasPrefix("cgmenu:"), refStore.window(for: windowRef) == nil {
1340
+ let frame = windowId.flatMap { windowInfo(windowId: $0)?.bounds } ?? CGRect(x: 0, y: 0, width: 1, height: 1)
1341
+ let lookId = freshLookId()
1342
+ storeLookRecord(LookRecord(lookId: lookId, windowId: windowId ?? 0, windowFrame: frame, imageWidth: max(1, Int(frame.width)), imageHeight: max(1, Int(frame.height)), hasImage: false))
1343
+ let outline = LookNode(element: nil, ref: windowRef, role: "AXMenu", subrole: "", identifier: "", title: "Menu", description: "", value: "", actions: [], canPress: false, canFocus: false, canSetValue: false, canScroll: false, canIncrement: false, canDecrement: false, isTextInput: false, rect: CGRect(x: 0, y: 0, width: max(1, frame.width), height: max(1, frame.height)), pictureOnly: true)
1344
+ return [
1345
+ "lookId": lookId,
1346
+ "capturedAt": captureStart.timeIntervalSince1970,
1347
+ "window": ["windowId": Int(windowId ?? 0), "rootRef": windowRef, "kind": "menu", "framePoints": ["x": frame.origin.x, "y": frame.origin.y, "w": frame.width, "h": frame.height], "scaleFactor": displayScaleFactor(for: frame), "isModal": false, "metadata": ["pairing": ["confidence": "low", "score": 0], "sheetCount": 0], "role": "AXMenu", "subrole": ""],
1348
+ "outline": outline.payload(),
1349
+ "timings": ["captureMs": 0, "describeMs": 0, "readTextMs": 0],
1350
+ ]
1351
+ }
1352
+ guard let window = windowElement(pid: pid, windowId: windowId, windowRef: windowRef) else {
1353
+ throw BridgeFailure(message: "Root is not available through Accessibility", code: "root_not_found")
1354
+ }
1355
+ let rootElement: AXUIElement
1356
+ if let scopeRef = optionalStringArg(request, "scopeRef") {
1357
+ guard let scoped = refStore.element(for: scopeRef), isElement(scoped, descendantOf: window) else {
1358
+ throw BridgeFailure(message: "Scope ref is stale or outside the target root", code: "element_ref_invalid")
1359
+ }
1360
+ rootElement = scoped
1361
+ } else {
1362
+ rootElement = window
1363
+ }
1364
+
1365
+ let rootFrame = frameForWindow(window)
1366
+ let imageWidth: Int
1367
+ let imageHeight: Int
1368
+ let imagePayload: [String: Any]?
1369
+ let transform: (CGRect) -> CGRect
1370
+ if let capture {
1371
+ let outputImage = downscaledImage(capture.image, maxDimension: maxDimension) ?? capture.image
1372
+ imageWidth = outputImage.width
1373
+ imageHeight = outputImage.height
1374
+ transform = rectTransform(windowFrame: capture.frame, imageWidth: outputImage.width, imageHeight: outputImage.height)
1375
+ if includeImage {
1376
+ guard let jpeg = jpegData(image: outputImage, quality: 0.8) else {
1377
+ throw BridgeFailure(message: "Failed to encode look image as JPEG", code: "encoding_failed")
1378
+ }
1379
+ imagePayload = ["jpegBase64": jpeg.base64EncodedString(), "width": outputImage.width, "height": outputImage.height]
1380
+ } else {
1381
+ imagePayload = nil
1382
+ }
1383
+ } else {
1384
+ imageWidth = max(1, Int(rootFrame.width))
1385
+ imageHeight = max(1, Int(rootFrame.height))
1386
+ imagePayload = nil
1387
+ transform = rectTransform(windowFrame: rootFrame, imageWidth: imageWidth, imageHeight: imageHeight)
1388
+ }
1389
+ let describeStart = Date()
1390
+ let outline = buildLookOutline(root: rootElement, transform: transform)
1391
+ let describeMs = elapsedMs(describeStart)
1392
+
1393
+ var readTextMs = 0
1394
+ var readTextExecuted = false
1395
+ if let capture, readText == "always" {
1396
+ readTextExecuted = true
1397
+ let textStart = Date()
1398
+ let boxes = try recognizeText(in: capture.image, outputWidth: imageWidth, outputHeight: imageHeight)
1399
+ attachOCR(boxes, to: outline)
1400
+ readTextMs = elapsedMs(textStart)
1401
+ }
1402
+
1403
+ let lookId = freshLookId()
1404
+ let baseRecord = baseLookId.flatMap { lookRecord(for: $0) }
1405
+ storeLookRecord(LookRecord(
1406
+ lookId: lookId,
1407
+ windowId: windowId ?? baseRecord?.windowId ?? 0,
1408
+ windowFrame: baseRecord?.windowFrame ?? capture?.frame ?? rootFrame,
1409
+ imageWidth: baseRecord?.imageWidth ?? imageWidth,
1410
+ imageHeight: baseRecord?.imageHeight ?? imageHeight,
1411
+ hasImage: baseRecord?.hasImage ?? (capture != nil)
1412
+ ))
1413
+ let scale = (capture?.frame.width ?? rootFrame.width) > 0 ? Double(imageWidth) / (capture?.frame.width ?? rootFrame.width) : displayScaleFactor(for: rootFrame)
1414
+ let pairing = pairingForWindow(window, pid: pid)
1415
+ let role = stringAttribute(window, attribute: kAXRoleAttribute as CFString) ?? ""
1416
+ let subrole = stringAttribute(window, attribute: kAXSubroleAttribute as CFString) ?? ""
1417
+ let sheetCount = sheetElements(of: window).count
1418
+ var response: [String: Any] = [
1419
+ "lookId": lookId,
1420
+ "capturedAt": captureStart.timeIntervalSince1970,
1421
+ "window": [
1422
+ "windowId": Int(windowId ?? 0),
1423
+ "rootRef": windowRef ?? refStore.storeWindow(window),
1424
+ "kind": rootKind(role: role, subrole: subrole),
1425
+ "framePoints": ["x": (capture?.frame ?? rootFrame).origin.x, "y": (capture?.frame ?? rootFrame).origin.y, "w": (capture?.frame ?? rootFrame).width, "h": (capture?.frame ?? rootFrame).height],
1426
+ "scaleFactor": scale,
1427
+ "isModal": (boolAttribute(window, attribute: "AXModal" as CFString) ?? false) || sheetCount > 0 || isDialogLikeRoot(role: role, subrole: subrole),
1428
+ "metadata": rootMetadata(pairing: pairing, sheetCount: sheetCount),
1429
+ "role": role,
1430
+ "subrole": subrole,
1431
+ ],
1432
+ "outline": outline.payload(),
1433
+ "timings": ["captureMs": captureMs, "describeMs": describeMs, "readTextMs": readTextMs],
1434
+ "readText": ["requested": readText, "executed": readTextExecuted],
1435
+ ]
1436
+ if let imagePayload { response["image"] = imagePayload }
1437
+ return response
1438
+ }
1439
+
1440
+ private func elapsedMs(_ start: Date) -> Int {
1441
+ max(0, Int(Date().timeIntervalSince(start) * 1000.0))
1442
+ }
1443
+
1444
+ private func storeLookRecord(_ record: LookRecord) {
1445
+ lookRecordLock.lock()
1446
+ defer { lookRecordLock.unlock() }
1447
+ lookRecords[record.lookId] = record
1448
+ lookRecordOrder.append(record.lookId)
1449
+ while lookRecordOrder.count > 8 {
1450
+ let oldest = lookRecordOrder.removeFirst()
1451
+ lookRecords.removeValue(forKey: oldest)
1452
+ }
1453
+ }
1454
+
1455
+ private func freshLookId() -> String {
1456
+ lookRecordLock.lock()
1457
+ defer { lookRecordLock.unlock() }
1458
+ nextLookId += 1
1459
+ return "look_\(nextLookId)"
1460
+ }
1461
+
1462
+ private func lookRecord(for lookId: String) -> LookRecord? {
1463
+ lookRecordLock.lock()
1464
+ defer { lookRecordLock.unlock() }
1465
+ return lookRecords[lookId]
1466
+ }
1467
+
1468
+ private func rectTransform(windowFrame: CGRect, imageWidth: Int, imageHeight: Int) -> (CGRect) -> CGRect {
1469
+ let sx = windowFrame.width > 0 ? Double(imageWidth) / windowFrame.width : 1.0
1470
+ let sy = windowFrame.height > 0 ? Double(imageHeight) / windowFrame.height : 1.0
1471
+ return { frame in
1472
+ let x = (frame.origin.x - windowFrame.origin.x) * sx
1473
+ let y = (frame.origin.y - windowFrame.origin.y) * sy
1474
+ let w = frame.width * sx
1475
+ let h = frame.height * sy
1476
+ return self.clampRect(CGRect(x: x, y: y, width: w, height: h), width: imageWidth, height: imageHeight)
1477
+ }
1478
+ }
1479
+
1480
+ private func clampRect(_ rect: CGRect, width: Int, height: Int) -> CGRect {
1481
+ let maxX = Double(width)
1482
+ let maxY = Double(height)
1483
+ let x1 = min(max(rect.minX, 0), maxX)
1484
+ let y1 = min(max(rect.minY, 0), maxY)
1485
+ let x2 = min(max(rect.maxX, 0), maxX)
1486
+ let y2 = min(max(rect.maxY, 0), maxY)
1487
+ return CGRect(x: x1, y: y1, width: max(0, x2 - x1), height: max(0, y2 - y1))
1488
+ }
1489
+
1490
+ private func buildLookOutline(root: AXUIElement, transform: @escaping (CGRect) -> CGRect) -> LookNode {
1491
+ let rootNode = lookNode(element: root, transform: transform, offscreen: false)
1492
+ let nodeLimit = 2000
1493
+ // Apps with slow AX servers (e.g. Outlook) can take >30s to describe; the
1494
+ // client aborts at 33s, so stop walking well before that and return a
1495
+ // truncated outline instead.
1496
+ let deadline = Date().addingTimeInterval(20.0)
1497
+ var walked = 1
1498
+ var seen = Set<ObjectIdentifier>([ObjectIdentifier(root)])
1499
+ var queue: [(AXUIElement, LookNode)] = [(root, rootNode)]
1500
+ var index = 0
1501
+ while index < queue.count {
1502
+ let (element, node) = queue[index]
1503
+ index += 1
1504
+ let children = axElementArray(element, attribute: kAXChildrenAttribute as CFString)
1505
+ if children.isEmpty { continue }
1506
+ if walked >= nodeLimit || Date() >= deadline {
1507
+ node.truncated = true
1508
+ continue
1509
+ }
1510
+ let visibleByKind = visibleChildrenByKind(element)
1511
+ for child in children {
1512
+ if walked >= nodeLimit || Date() >= deadline {
1513
+ node.truncated = true
1514
+ break
1515
+ }
1516
+ let identity = ObjectIdentifier(child)
1517
+ if seen.contains(identity) { continue }
1518
+ seen.insert(identity)
1519
+ let role = stringAttribute(child, attribute: kAXRoleAttribute as CFString) ?? ""
1520
+ let offscreen = childOffscreen(child, role: role, visibleByKind: visibleByKind)
1521
+ let childNode = lookNode(element: child, transform: transform, offscreen: offscreen)
1522
+ node.children.append(childNode)
1523
+ queue.append((child, childNode))
1524
+ walked += 1
1525
+ }
1526
+ }
1527
+ return rootNode
1528
+ }
1529
+
1530
+ private func lookNode(element: AXUIElement, transform: (CGRect) -> CGRect, offscreen: Bool) -> LookNode {
1531
+ let role = stringAttribute(element, attribute: kAXRoleAttribute as CFString) ?? ""
1532
+ let subrole = stringAttribute(element, attribute: kAXSubroleAttribute as CFString) ?? ""
1533
+ let actions = actionNames(element)
1534
+ var valueSettable = DarwinBoolean(false)
1535
+ let valueStatus = AXUIElementIsAttributeSettable(element, kAXValueAttribute as CFString, &valueSettable)
1536
+ var focusedSettable = DarwinBoolean(false)
1537
+ let focusedStatus = AXUIElementIsAttributeSettable(element, kAXFocusedAttribute as CFString, &focusedSettable)
1538
+ let textRoles: Set<String> = ["AXTextField", "AXTextArea", "AXTextView", "AXSearchField", "AXComboBox", "AXEditableText", "AXSecureTextField"]
1539
+ let title = stringAttribute(element, attribute: kAXTitleAttribute as CFString) ?? ""
1540
+ let description = stringAttribute(element, attribute: kAXDescriptionAttribute as CFString) ?? ""
1541
+ let value = displayValue(element, role: role, subrole: subrole)
1542
+ let screenRect = frameForElement(element) ?? .zero
1543
+ let node = LookNode(
1544
+ element: element,
1545
+ ref: refStore.storeElement(element, snapshot: AXRefStore.Snapshot(
1546
+ role: role,
1547
+ identifier: stringAttribute(element, attribute: "AXIdentifier" as CFString) ?? "",
1548
+ label: normalizedLabel([title, description, value].joined(separator: " ")),
1549
+ rect: screenRect
1550
+ )),
1551
+ role: role,
1552
+ subrole: subrole,
1553
+ identifier: stringAttribute(element, attribute: "AXIdentifier" as CFString) ?? "",
1554
+ title: title,
1555
+ description: description,
1556
+ value: value,
1557
+ actions: actions,
1558
+ canPress: actions.contains(kAXPressAction as String),
1559
+ canFocus: focusedStatus == .success && focusedSettable.boolValue,
1560
+ canSetValue: valueStatus == .success && valueSettable.boolValue,
1561
+ canScroll: supportsAnyScrollAction(element),
1562
+ canIncrement: actions.contains(kAXIncrementAction as String),
1563
+ canDecrement: actions.contains(kAXDecrementAction as String),
1564
+ isTextInput: textRoles.contains(role),
1565
+ rect: transform(screenRect),
1566
+ focused: boolAttribute(element, attribute: kAXFocusedAttribute as CFString) == true,
1567
+ offscreen: offscreen
1568
+ )
1569
+ if node.canScroll {
1570
+ let rows = axElementArray(element, attribute: kAXRowsAttribute as CFString)
1571
+ let visibleRows = axElementArrayIfPresent(element, attribute: kAXVisibleRowsAttribute as CFString)
1572
+ if !rows.isEmpty, let visibleRows {
1573
+ node.scrollExtent = ["seen": visibleRows.count, "total": rows.count]
1574
+ }
1575
+ }
1576
+ return node
1577
+ }
1578
+
1579
+ private func visibleChildrenByKind(_ element: AXUIElement) -> [String: [AXUIElement]?] {
1580
+ [
1581
+ "AXRow": axElementArrayIfPresent(element, attribute: kAXVisibleRowsAttribute as CFString),
1582
+ "AXColumn": axElementArrayIfPresent(element, attribute: kAXVisibleColumnsAttribute as CFString),
1583
+ "AXCell": axElementArrayIfPresent(element, attribute: kAXVisibleCellsAttribute as CFString),
1584
+ "*": axElementArrayIfPresent(element, attribute: kAXVisibleChildrenAttribute as CFString),
1585
+ ]
1586
+ }
1587
+
1588
+ private func childOffscreen(_ child: AXUIElement, role: String, visibleByKind: [String: [AXUIElement]?]) -> Bool {
1589
+ let key = role == "AXRow" || role == "AXColumn" || role == "AXCell" ? role : "*"
1590
+ guard let visible = visibleByKind[key] ?? nil else { return false }
1591
+ return !visible.contains { sameElement($0, child) }
1592
+ }
1593
+
1594
+ private func recognizeText(in image: CGImage, outputWidth: Int, outputHeight: Int) throws -> [OCRBox] {
1595
+ let semaphore = DispatchSemaphore(value: 0)
1596
+ let recognized = Box<[OCRBox]>([])
1597
+ let recognizedError = Box<Error?>(nil)
1598
+ let request = VNRecognizeTextRequest { request, error in
1599
+ defer { semaphore.signal() }
1600
+ if let error {
1601
+ recognizedError.value = error
1602
+ return
1603
+ }
1604
+ let observations = (request.results as? [VNRecognizedTextObservation]) ?? []
1605
+ recognized.value = observations.compactMap { observation in
1606
+ guard let candidate = observation.topCandidates(1).first else { return nil }
1607
+ let box = observation.boundingBox
1608
+ let x = box.origin.x * Double(outputWidth)
1609
+ let y = (1.0 - box.origin.y - box.height) * Double(outputHeight)
1610
+ let w = box.width * Double(outputWidth)
1611
+ let h = box.height * Double(outputHeight)
1612
+ return OCRBox(string: candidate.string, confidence: Double(candidate.confidence), rect: CGRect(x: x, y: y, width: w, height: h))
1613
+ }
1614
+ }
1615
+ request.recognitionLevel = .accurate
1616
+ request.usesLanguageCorrection = false
1617
+ try VNImageRequestHandler(cgImage: image, options: [:]).perform([request])
1618
+ if semaphore.wait(timeout: .now() + .seconds(8)) == .timedOut {
1619
+ throw BridgeFailure(message: "Text recognition timed out", code: "text_recognition_timeout")
1620
+ }
1621
+ if let error = recognizedError.value {
1622
+ throw BridgeFailure(message: "Text recognition failed: \(error.localizedDescription)", code: "text_recognition_failed")
1623
+ }
1624
+ return recognized.value
1625
+ }
1626
+
1627
+ private func attachOCR(_ boxes: [OCRBox], to root: LookNode) {
1628
+ var pictureOnlyIndex = 0
1629
+ for box in boxes {
1630
+ if ocrBoxDuplicatesAXLabel(box, in: root) { continue }
1631
+ let center = CGPoint(x: box.rect.midX, y: box.rect.midY)
1632
+ if let node = deepestNode(containing: center, in: root) {
1633
+ node.text.append(["string": box.string, "confidence": box.confidence, "rect": ["x": box.rect.origin.x, "y": box.rect.origin.y, "w": box.rect.width, "h": box.rect.height]])
1634
+ } else {
1635
+ pictureOnlyIndex += 1
1636
+ let parent = deepestContainer(containing: center, in: root) ?? root
1637
+ parent.children.append(LookNode(element: nil, ref: "pic_\(pictureOnlyIndex)", role: "AXImage", subrole: "", identifier: "", title: box.string, description: "", value: "", actions: [], canPress: false, canFocus: false, canSetValue: false, canScroll: false, canIncrement: false, canDecrement: false, isTextInput: false, rect: box.rect, pictureOnly: true))
1638
+ }
1639
+ }
1640
+ }
1641
+
1642
+ private func ocrBoxDuplicatesAXLabel(_ box: OCRBox, in root: LookNode) -> Bool {
1643
+ let boxLabel = normalizedLabel(box.string)
1644
+ if boxLabel.isEmpty { return true }
1645
+ var queue = [root]
1646
+ var index = 0
1647
+ while index < queue.count {
1648
+ let node = queue[index]
1649
+ index += 1
1650
+ if !node.pictureOnly, node.rect.intersects(box.rect) {
1651
+ let fields = [node.title, node.value, node.description]
1652
+ if fields.contains(where: { normalizedLabel($0) == boxLabel }) { return true }
1653
+ }
1654
+ queue.append(contentsOf: node.children)
1655
+ }
1656
+ return false
1657
+ }
1658
+
1659
+ private func deepestNode(containing point: CGPoint, in root: LookNode) -> LookNode? {
1660
+ guard root.rect.contains(point), !root.pictureOnly else { return nil }
1661
+ for child in root.children.reversed() {
1662
+ if let match = deepestNode(containing: point, in: child) { return match }
1663
+ }
1664
+ return root
1665
+ }
1666
+
1667
+ private func deepestContainer(containing point: CGPoint, in root: LookNode) -> LookNode? {
1668
+ guard root.rect.contains(point) else { return nil }
1669
+ for child in root.children.reversed() {
1670
+ if let match = deepestContainer(containing: point, in: child) { return match }
1671
+ }
1672
+ return root
1673
+ }
1674
+
1675
+ private func lookPoint(record: LookRecord, x: Double, y: Double) -> CGPoint {
1676
+ let relX = min(max(x / max(1.0, Double(record.imageWidth)), 0), 1)
1677
+ let relY = min(max(y / max(1.0, Double(record.imageHeight)), 0), 1)
1678
+ return CGPoint(x: record.windowFrame.origin.x + record.windowFrame.width * relX, y: record.windowFrame.origin.y + record.windowFrame.height * relY)
1679
+ }
1680
+
1681
+ private func payloadNode(element: AXUIElement) -> [String: Any] {
1682
+ let node = lookNode(element: element, transform: { $0 }, offscreen: false)
1683
+ var payload = node.payload()
1684
+ payload["children"] = []
1685
+ return payload
1686
+ }
1687
+
1688
+ private func normalizedLabel(_ value: String) -> String {
1689
+ value.lowercased().components(separatedBy: CharacterSet.whitespacesAndNewlines).filter { !$0.isEmpty }.joined(separator: " ")
1690
+ }
1691
+
1692
+ private func ensureRootObserver(pid: Int32) -> Bool {
1693
+ rootObserverLock.lock()
1694
+ if let existing = rootObservers[pid] {
1695
+ existing.lastUsed = Date().timeIntervalSince1970
1696
+ rootObserverLock.unlock()
1697
+ return true
1698
+ }
1699
+ rootObserverLock.unlock()
1700
+
1701
+ let appElement = AXUIElementCreateApplication(pid)
1702
+ AXUIElementSetMessagingTimeout(appElement, 0.25)
1703
+ var observer: AXObserver?
1704
+ let createStatus = AXObserverCreate(pid, { observer, element, notification, refcon in
1705
+ guard let refcon else { return }
1706
+ let bridge = Unmanaged<Bridge>.fromOpaque(refcon).takeUnretainedValue()
1707
+ bridge.recordRootAXEvent(observer: observer, notification: notification as String, element: element)
1708
+ }, &observer)
1709
+ guard createStatus == .success, let observer else { return false }
1710
+
1711
+ let state = RootAXObserverState(pid: pid, observer: observer)
1712
+ let context = UnsafeMutableRawPointer(Unmanaged.passUnretained(self).toOpaque())
1713
+ let notifications: [CFString] = [
1714
+ "AXWindowCreated" as CFString,
1715
+ "AXSheetCreated" as CFString,
1716
+ "AXMenuOpened" as CFString,
1717
+ "AXMenuClosed" as CFString,
1718
+ "AXUIElementDestroyed" as CFString,
1719
+ "AXFocusedWindowChanged" as CFString,
1720
+ kAXValueChangedNotification as CFString,
1721
+ kAXTitleChangedNotification as CFString,
1722
+ kAXSelectedChildrenChangedNotification as CFString,
1723
+ kAXLayoutChangedNotification as CFString,
1724
+ ]
1725
+ var registered = false
1726
+ let observedElements = [appElement] + axElementArray(appElement, attribute: kAXWindowsAttribute as CFString)
1727
+ for observed in observedElements {
1728
+ for notification in notifications {
1729
+ let status = AXObserverAddNotification(observer, observed, notification, context)
1730
+ if status == .success || status == .notificationAlreadyRegistered { registered = true }
1731
+ }
1732
+ }
1733
+ guard registered else { return false }
1734
+
1735
+ rootObserverLock.lock()
1736
+ if rootObservers.count >= maxRootObservers,
1737
+ let evict = rootObservers.values.min(by: { $0.lastUsed < $1.lastUsed })?.pid
1738
+ {
1739
+ rootObservers.removeValue(forKey: evict)
1740
+ }
1741
+ rootObservers[pid] = state
1742
+ rootObserverLock.unlock()
1743
+
1744
+ let source = AXObserverGetRunLoopSource(observer)
1745
+ Thread.detachNewThread {
1746
+ // Keep each AXObserver on its own run loop so its callbacks never compete
1747
+ // with AppKit rendering on the helper's main thread.
1748
+ CFRunLoopAddSource(CFRunLoopGetCurrent(), source, .commonModes)
1749
+ CFRunLoopRun()
1750
+ }
1751
+ return true
1752
+ }
1753
+
1754
+ private func recordRootAXEvent(observer: AXObserver, notification: String, element: AXUIElement) {
1755
+ rootObserverLock.lock()
1756
+ let state = rootObservers.values.first { CFEqual($0.observer, observer) }
1757
+ if let state {
1758
+ state.events.append(RootAXEvent(sequence: state.nextSequence, timestamp: Date().timeIntervalSince1970, notification: notification, element: element))
1759
+ state.nextSequence += 1
1760
+ if state.events.count > 64 { state.events.removeFirst(state.events.count - 64) }
1761
+ }
1762
+ rootObserverLock.unlock()
1763
+ if let state {
1764
+ state.change.lock()
1765
+ state.changeGeneration += 1
1766
+ state.change.broadcast()
1767
+ state.change.unlock()
1768
+ }
1769
+ }
1770
+
1771
+ private func rootChangeGeneration(pid: Int32) -> UInt64 {
1772
+ rootObserverLock.lock()
1773
+ let state = rootObservers[pid]
1774
+ rootObserverLock.unlock()
1775
+ guard let state else { return 0 }
1776
+ state.change.lock()
1777
+ defer { state.change.unlock() }
1778
+ return state.changeGeneration
1779
+ }
1780
+
1781
+ private func waitForRootChange(pid: Int32, since generation: UInt64, until deadline: Date) {
1782
+ rootObserverLock.lock()
1783
+ let state = rootObservers[pid]
1784
+ rootObserverLock.unlock()
1785
+ guard let state else {
1786
+ Thread.sleep(forTimeInterval: min(0.2, max(0, deadline.timeIntervalSinceNow)))
1787
+ return
1788
+ }
1789
+ state.change.lock()
1790
+ if state.changeGeneration == generation {
1791
+ _ = state.change.wait(until: min(deadline, Date().addingTimeInterval(0.2)))
1792
+ }
1793
+ state.change.unlock()
1794
+ }
1795
+
1796
+ private func rootEventCursor(pid: Int32) -> UInt64 {
1797
+ rootObserverLock.lock()
1798
+ defer { rootObserverLock.unlock() }
1799
+ return rootObservers[pid]?.nextSequence ?? 1
1800
+ }
1801
+
1802
+ private func rootEvents(pid: Int32, since cursor: UInt64) -> [RootAXEvent] {
1803
+ rootObserverLock.lock()
1804
+ defer { rootObserverLock.unlock() }
1805
+ guard let events = rootObservers[pid]?.events else { return [] }
1806
+ return events.filter { $0.sequence >= cursor }
1807
+ }
1808
+
1809
+ // Onscreen CGWindowList id set for one pid: ~1-2ms per call, so it can be
1810
+ // polled tightly where a full AX enumeration cannot.
1811
+ private func cgRootSignature(pid: Int32) -> Set<UInt32> {
1812
+ guard let entries = CGWindowListCopyWindowInfo([.optionOnScreenOnly], kCGNullWindowID) as? [[String: Any]] else { return [] }
1813
+ var ids = Set<UInt32>()
1814
+ for entry in entries {
1815
+ guard let owner = (entry[kCGWindowOwnerPID as String] as? NSNumber)?.int32Value, owner == pid else { continue }
1816
+ guard let windowId = (entry[kCGWindowNumber as String] as? NSNumber)?.uint32Value else { continue }
1817
+ ids.insert(windowId)
1818
+ }
1819
+ return ids
1820
+ }
1821
+
1822
+ private func refindElement(ref: String, pid: Int32, windowId: UInt32) -> AXUIElement? {
1823
+ guard let snapshot = refStore.snapshot(for: ref),
1824
+ let window = windowElement(pid: pid, windowId: windowId)
1825
+ else { return nil }
1826
+ let targetCenter = CGPoint(x: snapshot.rect.midX, y: snapshot.rect.midY)
1827
+ let candidates = collectDescendants(startingAt: window, maxDepth: 8).filter { candidate in
1828
+ let role = stringAttribute(candidate, attribute: kAXRoleAttribute as CFString) ?? ""
1829
+ guard role == snapshot.role else { return false }
1830
+ let identifier = stringAttribute(candidate, attribute: "AXIdentifier" as CFString) ?? ""
1831
+ if !snapshot.identifier.isEmpty { return identifier == snapshot.identifier }
1832
+ let subrole = stringAttribute(candidate, attribute: kAXSubroleAttribute as CFString) ?? ""
1833
+ let title = stringAttribute(candidate, attribute: kAXTitleAttribute as CFString) ?? ""
1834
+ let description = stringAttribute(candidate, attribute: kAXDescriptionAttribute as CFString) ?? ""
1835
+ let value = displayValue(candidate, role: role, subrole: subrole)
1836
+ return normalizedLabel([title, description, value].joined(separator: " ")) == snapshot.label
1837
+ }
1838
+ return candidates.min { left, right in
1839
+ let leftFrame = frameForElement(left) ?? .zero
1840
+ let rightFrame = frameForElement(right) ?? .zero
1841
+ let leftDistance = hypot(leftFrame.midX - targetCenter.x, leftFrame.midY - targetCenter.y)
1842
+ let rightDistance = hypot(rightFrame.midX - targetCenter.x, rightFrame.midY - targetCenter.y)
1843
+ return leftDistance < rightDistance
1844
+ }
1845
+ }
1846
+
1847
+ private func hitTest(_ request: [String: Any]) throws -> [String: Any] {
1848
+ let lookId = try stringArg(request, "lookId")
1849
+ guard let record = lookRecord(for: lookId) else {
1850
+ throw BridgeFailure(message: "Look id '\(lookId)' is no longer available", code: "stale_look")
1851
+ }
1852
+ let point = lookPoint(record: record, x: try doubleArg(request, "x"), y: try doubleArg(request, "y"))
1853
+ guard let element = hitTestElement(at: point) else {
1854
+ throw BridgeFailure(message: "No element at point", code: "hit_test_failed")
1855
+ }
1856
+ return payloadNode(element: element)
1857
+ }
1858
+
1859
+ private func act(_ request: [String: Any]) throws -> [String: Any] {
1860
+ let lookId = try stringArg(request, "lookId")
1861
+ guard let record = lookRecord(for: lookId) else {
1862
+ throw BridgeFailure(message: "Look id '\(lookId)' is no longer available", code: "stale_look")
1863
+ }
1864
+ let pid = Int32(try intArg(request, "pid"))
1865
+ let action = try stringArg(request, "action")
1866
+ let target = request["target"] as? [String: Any] ?? [:]
1867
+ let params = request["params"] as? [String: Any] ?? [:]
1868
+ let policy = optionalStringArg(request, "policy") ?? "default"
1869
+ let deferRootDelta = boolArg(request, "deferRootDelta") ?? false
1870
+ let delivery = policy == "background" ? "pid" : ((params["delivery"] as? String) == "pid" ? "pid" : "hid")
1871
+ var holdsPhysicalInput = false
1872
+ func acquirePhysicalInputIfNeeded() {
1873
+ if delivery == "hid" && !holdsPhysicalInput {
1874
+ physicalInputLock.lock()
1875
+ holdsPhysicalInput = true
1876
+ }
1877
+ }
1878
+ defer { if holdsPhysicalInput { physicalInputLock.unlock() } }
1879
+ var performed: [String: Any] = ["delivery": delivery]
1880
+ var element: AXUIElement?
1881
+ var rawPoint: CGPoint?
1882
+ var preflightCapsUnknown = false
1883
+ let eventsLive = !deferRootDelta && ensureRootObserver(pid: pid)
1884
+ let eventCursor = eventsLive ? rootEventCursor(pid: pid) : 0
1885
+ let beforeRootSnapshot = deferRootDelta ? [:] : rootMetadataSnapshot(pid: pid)
1886
+ let beforeCgSignature = deferRootDelta ? [] : cgRootSignature(pid: pid)
1887
+ let beforeFrontmostPid = deferRootDelta ? nil : NSWorkspace.shared.frontmostApplication?.processIdentifier
1888
+ let beforeSheetCount = windowElement(pid: pid, windowId: record.windowId).map { sheetElements(of: $0).count } ?? 0
1889
+ let beforeFocusedWindow = focusedWindowSummary(pid: pid)
1890
+ let beforeValue: String?
1891
+ let beforeSelected: String?
1892
+ func finish(_ response: [String: Any]) -> [String: Any] {
1893
+ if deferRootDelta { return response }
1894
+ return attachRootDelta(to: response, before: beforeRootSnapshot, beforeFrontmostPid: beforeFrontmostPid, pid: pid, eventsLive: eventsLive, eventCursor: eventCursor, beforeCgSignature: beforeCgSignature)
1895
+ }
1896
+
1897
+ if let ref = target["ref"] as? String {
1898
+ var refound = false
1899
+ let cached = refStore.element(for: ref)
1900
+ let cachedIsLive = cached.map {
1901
+ stringAttribute($0, attribute: kAXRoleAttribute as CFString) != nil && frameForElement($0) != nil
1902
+ } ?? false
1903
+ let resolved: AXUIElement?
1904
+ if cachedIsLive {
1905
+ resolved = cached
1906
+ } else {
1907
+ refound = true
1908
+ resolved = refindElement(ref: ref, pid: pid, windowId: record.windowId)
1909
+ }
1910
+ guard let stored = resolved else {
1911
+ throw BridgeFailure(message: "Element reference is stale", code: "stale_ref")
1912
+ }
1913
+ if refound { performed["refound"] = true }
1914
+ element = stored
1915
+ beforeValue = stringAttribute(stored, attribute: kAXValueAttribute as CFString)
1916
+ beforeSelected = stringAttribute(stored, attribute: kAXSelectedTextAttribute as CFString)
1917
+ } else if let xNumber = target["x"] as? NSNumber, let yNumber = target["y"] as? NSNumber {
1918
+ guard record.hasImage else {
1919
+ throw BridgeFailure(message: "Coordinate targeting is unavailable for this outline-only root", code: "coordinate_unavailable_for_root")
1920
+ }
1921
+ rawPoint = lookPoint(record: record, x: xNumber.doubleValue, y: yNumber.doubleValue)
1922
+ beforeValue = nil
1923
+ beforeSelected = nil
1924
+ } else {
1925
+ throw BridgeFailure(message: "act target must include ref or x/y", code: "invalid_args")
1926
+ }
1927
+
1928
+ func coordinatePoint() throws -> CGPoint {
1929
+ if let element, let frame = frameForElement(element) {
1930
+ return CGPoint(x: frame.midX, y: frame.midY)
1931
+ }
1932
+ if let rawPoint { return rawPoint }
1933
+ throw BridgeFailure(message: "No coordinate grounding is available", code: "coordinate_unavailable")
1934
+ }
1935
+
1936
+ func animateCursor(at point: CGPoint) {
1937
+ guard supportsAgentCursor,
1938
+ (request["cursorOverlay"] as? Bool ?? true),
1939
+ delivery == "pid",
1940
+ policy != "ax_only",
1941
+ ["press", "click", "moveMouse", "scroll", "drag"].contains(action)
1942
+ else { return }
1943
+ Task { @MainActor in AgentCursor.shared.animate(to: point, above: record.windowId) }
1944
+ }
1945
+
1946
+ func focusTargetForPhysicalInput() {
1947
+ guard delivery == "hid" else { return }
1948
+ if let app = NSRunningApplication(processIdentifier: pid), !app.isActive {
1949
+ performed["activated"] = app.activate()
1950
+ }
1951
+ if let window = windowElement(pid: pid, windowId: record.windowId) {
1952
+ _ = AXUIElementSetAttributeValue(window, kAXMainAttribute as CFString, kCFBooleanTrue)
1953
+ _ = AXUIElementSetAttributeValue(window, kAXFocusedAttribute as CFString, kCFBooleanTrue)
1954
+ performed["raised"] = AXUIElementPerformAction(window, kAXRaiseAction as CFString) == .success
1955
+ }
1956
+ usleep(20_000)
1957
+ }
1958
+
1959
+ func preflight(_ point: CGPoint) throws {
1960
+ guard let element else { preflightCapsUnknown = true; return }
1961
+ for attempt in 0..<4 {
1962
+ guard let hit = hitTestElement(at: point) else { preflightCapsUnknown = true; return }
1963
+ if sameElement(hit, element) || isElement(hit, descendantOf: element) || isElement(element, descendantOf: hit) { return }
1964
+ let role = stringAttribute(hit, attribute: kAXRoleAttribute as CFString) ?? ""
1965
+ if role == "AXWindow" || role == "AXApplication" { preflightCapsUnknown = true; return }
1966
+ if delivery == "hid" && attempt < 3 {
1967
+ focusTargetForPhysicalInput()
1968
+ usleep(20_000)
1969
+ continue
1970
+ }
1971
+ throw BridgeFailure(message: "Target is occluded by \(payloadNode(element: hit))", code: "occluded_target")
1972
+ }
1973
+ }
1974
+
1975
+ func executeCoordinates(_ point: CGPoint) throws {
1976
+ guard element != nil || record.hasImage else {
1977
+ throw BridgeFailure(message: "Coordinate grounding is unavailable for this outline-only root", code: "coordinate_unavailable_for_root")
1978
+ }
1979
+ performed["grounding"] = "coordinates"
1980
+ if delivery == "pid" { performed["verification"] = "caller_required" }
1981
+ acquirePhysicalInputIfNeeded()
1982
+ focusTargetForPhysicalInput()
1983
+ if delivery == "hid" { try preflight(point) }
1984
+ switch action {
1985
+ case "press", "click":
1986
+ animateCursor(at: point)
1987
+ try postMouseClick(at: point, pid: pid, button: mouseButton(params["button"] as? String ?? "left"), clickCount: max(1, min(3, (params["clickCount"] as? NSNumber)?.intValue ?? 1)), delivery: delivery)
1988
+ case "moveMouse":
1989
+ animateCursor(at: point)
1990
+ try postMouseMove(to: point, pid: pid, delivery: delivery)
1991
+ case "scroll":
1992
+ animateCursor(at: point)
1993
+ try postScrollWheel(at: point, deltaX: (params["scrollX"] as? NSNumber)?.intValue ?? 0, deltaY: (params["scrollY"] as? NSNumber)?.intValue ?? 0, pid: pid, delivery: delivery)
1994
+ case "drag":
1995
+ guard let rawPath = params["path"] as? [[String: Any]], rawPath.count >= 2 else {
1996
+ throw BridgeFailure(message: "drag requires path", code: "invalid_args")
1997
+ }
1998
+ let points = try rawPath.map { raw -> CGPoint in
1999
+ guard let x = (raw["x"] as? NSNumber)?.doubleValue, let y = (raw["y"] as? NSNumber)?.doubleValue else {
2000
+ throw BridgeFailure(message: "drag path entries require x and y", code: "invalid_args")
2001
+ }
2002
+ return lookPoint(record: record, x: x, y: y)
2003
+ }
2004
+ animateCursor(at: point)
2005
+ try postMouseDrag(points: points, pid: pid, delivery: delivery)
2006
+ default:
2007
+ throw BridgeFailure(message: "Action \(action) cannot use coordinate grounding", code: "invalid_args")
2008
+ }
2009
+ }
2010
+
2011
+ func refreshElement() -> AXUIElement? {
2012
+ guard let ref = target["ref"] as? String,
2013
+ let refreshed = refindElement(ref: ref, pid: pid, windowId: record.windowId)
2014
+ else { return nil }
2015
+ element = refreshed
2016
+ performed["refound"] = true
2017
+ return refreshed
2018
+ }
2019
+
2020
+ if let element, action == "press" || action == "click" {
2021
+ let elementRole = stringAttribute(element, attribute: kAXRoleAttribute as CFString) ?? ""
2022
+ let textRoles: Set<String> = ["AXTextField", "AXTextArea", "AXTextView", "AXSearchField", "AXComboBox", "AXEditableText", "AXSecureTextField"]
2023
+ let requiresPointerFocus = hasAncestorRole(element, role: "AXWebArea") || textRoles.contains(elementRole)
2024
+ if requiresPointerFocus && policy != "ax_only" {
2025
+ if policy == "foreground" {
2026
+ try executeCoordinates(coordinatePoint())
2027
+ } else {
2028
+ throw BridgeFailure(message: "Web content requires pointer input", code: "foreground_required")
2029
+ }
2030
+ } else if supportsAction(element, action: kAXPressAction as CFString) {
2031
+ let cursorPoint = try? coordinatePoint()
2032
+ var status = AXUIElementPerformAction(element, kAXPressAction as CFString)
2033
+ if status != .success, let refreshed = refreshElement(), supportsAction(refreshed, action: kAXPressAction as CFString) {
2034
+ status = AXUIElementPerformAction(refreshed, kAXPressAction as CFString)
2035
+ }
2036
+ if status == .success {
2037
+ performed["grounding"] = "description"
2038
+ performed["delivery"] = "ax"
2039
+ if let cursorPoint { animateCursor(at: cursorPoint) }
2040
+ } else {
2041
+ try executeCoordinates(coordinatePoint())
2042
+ }
2043
+ } else {
2044
+ try executeCoordinates(coordinatePoint())
2045
+ }
2046
+ } else if let element, action == "setText" {
2047
+ let text = params["text"] as? String ?? ""
2048
+ if hasAncestorRole(element, role: "AXWebArea") {
2049
+ acquirePhysicalInputIfNeeded()
2050
+ focusTargetForPhysicalInput()
2051
+ _ = AXUIElementSetAttributeValue(element, kAXFocusedAttribute as CFString, kCFBooleanTrue)
2052
+ let currentValue = stringAttribute(element, attribute: kAXValueAttribute as CFString) ?? ""
2053
+ var range = CFRange(location: 0, length: (currentValue as NSString).length)
2054
+ let selected = AXValueCreate(.cfRange, &range).map {
2055
+ AXUIElementSetAttributeValue(element, kAXSelectedTextRangeAttribute as CFString, $0) == .success
2056
+ } ?? false
2057
+ if !selected {
2058
+ try postKeyPress(keys: ["cmd", "a"], pid: pid, delivery: delivery)
2059
+ usleep(20_000)
2060
+ }
2061
+ try postAtomicUnicodeText(text, pid: pid, delivery: delivery)
2062
+ usleep(40_000)
2063
+ let verificationElement = refreshElement() ?? element
2064
+ let value = stringAttribute(verificationElement, attribute: kAXValueAttribute as CFString) ?? ""
2065
+ performed["grounding"] = "keyboard-events"
2066
+ performed["delivery"] = delivery
2067
+ performed["selectionGrounding"] = selected ? "ax" : "keyboard"
2068
+ return finish(["outcome": value == text ? "worked" : "didnt", "performed": performed, "evidence": ["value": value]])
2069
+ }
2070
+ var targetElement = element
2071
+ var status = AXUIElementSetAttributeValue(targetElement, kAXValueAttribute as CFString, text as CFTypeRef)
2072
+ if status != .success, let refreshed = refreshElement() {
2073
+ targetElement = refreshed
2074
+ status = AXUIElementSetAttributeValue(targetElement, kAXValueAttribute as CFString, text as CFTypeRef)
2075
+ }
2076
+ if status == .success {
2077
+ performed["grounding"] = "description"
2078
+ performed["delivery"] = "ax"
2079
+ let value = stringAttribute(targetElement, attribute: kAXValueAttribute as CFString) ?? ""
2080
+ if value != text && policy != "foreground" {
2081
+ throw BridgeFailure(message: "The background accessibility value write was accepted but did not take effect", code: "foreground_required")
2082
+ }
2083
+ return finish(["outcome": value == text ? "worked" : "didnt", "performed": performed, "evidence": ["value": value]])
2084
+ }
2085
+ try executeCoordinates(coordinatePoint())
2086
+ } else if action == "typeText" {
2087
+ let preserveFocus = params["preserveFocus"] as? Bool ?? false
2088
+ if let element {
2089
+ let focused = AXUIElementSetAttributeValue(element, kAXFocusedAttribute as CFString, kCFBooleanTrue)
2090
+ if focused == .success { performed["focused"] = true }
2091
+ }
2092
+ acquirePhysicalInputIfNeeded()
2093
+ if delivery == "hid" && !preserveFocus { focusTargetForPhysicalInput() }
2094
+ let text = params["text"] as? String ?? ""
2095
+ try postUnicodeText(text, pid: pid, delivery: delivery)
2096
+ performed["grounding"] = "coordinates"
2097
+ if let element, !text.isEmpty {
2098
+ usleep(30_000)
2099
+ let afterValue = stringAttribute(element, attribute: kAXValueAttribute as CFString) ?? ""
2100
+ let changed = afterValue != (beforeValue ?? "")
2101
+ return finish(["outcome": changed ? "worked" : "didnt", "performed": performed, "evidence": ["value": afterValue, "valueChanged": changed]])
2102
+ }
2103
+ } else if action == "keypress" {
2104
+ let preserveFocus = params["preserveFocus"] as? Bool ?? false
2105
+ guard let keys = params["keys"] as? [String], !keys.isEmpty else {
2106
+ throw BridgeFailure(message: "keypress requires keys", code: "invalid_args")
2107
+ }
2108
+ if let element {
2109
+ let focused = AXUIElementSetAttributeValue(element, kAXFocusedAttribute as CFString, kCFBooleanTrue)
2110
+ if focused == .success { performed["focused"] = true }
2111
+ let normalizedKeys = keys.map { $0.trimmingCharacters(in: .whitespacesAndNewlines).lowercased() }
2112
+ if normalizedKeys.count == 2,
2113
+ normalizedKeys.last == "a",
2114
+ ["cmd", "command", "meta"].contains(normalizedKeys.first ?? ""),
2115
+ let value = stringAttribute(element, attribute: kAXValueAttribute as CFString)
2116
+ {
2117
+ var range = CFRange(location: 0, length: (value as NSString).length)
2118
+ if let selection = AXValueCreate(.cfRange, &range),
2119
+ AXUIElementSetAttributeValue(element, kAXSelectedTextRangeAttribute as CFString, selection) == .success
2120
+ {
2121
+ performed["selectionGrounding"] = "ax"
2122
+ }
2123
+ }
2124
+ }
2125
+ acquirePhysicalInputIfNeeded()
2126
+ if delivery == "hid" && !preserveFocus { focusTargetForPhysicalInput() }
2127
+ try postKeyPress(keys: keys, pid: pid, delivery: delivery)
2128
+ performed["grounding"] = "coordinates"
2129
+ } else if let element, action == "scroll" {
2130
+ let cursorPoint = try? coordinatePoint()
2131
+ let before = scrollPositionSignature(element)
2132
+ let result = performScrollActionOrAncestor(startingAt: element, targetPid: pid, scrollX: (params["scrollX"] as? NSNumber)?.intValue ?? 0, scrollY: (params["scrollY"] as? NSNumber)?.intValue ?? 0, steps: 1)
2133
+ if (result["scrolled"] as? Bool) == true {
2134
+ performed["grounding"] = "description"
2135
+ performed["delivery"] = "ax"
2136
+ if let cursorPoint { animateCursor(at: cursorPoint) }
2137
+ let after = scrollPositionSignature(element)
2138
+ return finish(["outcome": before != after ? "worked" : "unknown", "performed": performed])
2139
+ }
2140
+ try executeCoordinates(coordinatePoint())
2141
+ } else {
2142
+ try executeCoordinates(coordinatePoint())
2143
+ }
2144
+
2145
+ let afterSheetCount = windowElement(pid: pid, windowId: record.windowId).map { sheetElements(of: $0).count } ?? beforeSheetCount
2146
+ let windowChanged = beforeFocusedWindow != focusedWindowSummary(pid: pid) || beforeSheetCount != afterSheetCount
2147
+ var outcome = preflightCapsUnknown ? "unknown" : "unknown"
2148
+ var evidence: [String: Any] = [:]
2149
+ if let element, action == "press" || action == "click" {
2150
+ let afterValue = stringAttribute(element, attribute: kAXValueAttribute as CFString)
2151
+ let afterSelected = stringAttribute(element, attribute: kAXSelectedTextAttribute as CFString)
2152
+ if beforeValue != afterValue || beforeSelected != afterSelected || windowChanged {
2153
+ outcome = "worked"
2154
+ }
2155
+ } else if windowChanged {
2156
+ outcome = "worked"
2157
+ }
2158
+ if windowChanged { evidence["windowChanged"] = true }
2159
+ var response: [String: Any] = ["outcome": outcome, "performed": performed]
2160
+ if !evidence.isEmpty { response["evidence"] = evidence }
2161
+ return finish(response)
2162
+ }
2163
+
2164
+ private func actBatch(_ request: [String: Any]) throws -> [String: Any] {
2165
+ guard let actions = request["actions"] as? [[String: Any]], !actions.isEmpty, actions.count <= 20 else {
2166
+ throw BridgeFailure(message: "actBatch requires 1...20 actions", code: "invalid_args")
2167
+ }
2168
+ let pid = Int32(try intArg(actions[0], "pid"))
2169
+ let lookId = try stringArg(actions[0], "lookId")
2170
+ guard actions.allSatisfy({ ($0["pid"] as? NSNumber)?.int32Value == pid }) else {
2171
+ throw BridgeFailure(message: "actBatch actions must target one pid", code: "invalid_args")
2172
+ }
2173
+ guard actions.allSatisfy({ ($0["lookId"] as? String) == lookId }) else {
2174
+ throw BridgeFailure(message: "actBatch actions must belong to one look", code: "invalid_args")
2175
+ }
2176
+ let eventsLive = ensureRootObserver(pid: pid)
2177
+ let eventCursor = eventsLive ? rootEventCursor(pid: pid) : 0
2178
+ let beforeRootSnapshot = rootMetadataSnapshot(pid: pid)
2179
+ let beforeCgSignature = cgRootSignature(pid: pid)
2180
+ let beforeFrontmostPid = NSWorkspace.shared.frontmostApplication?.processIdentifier
2181
+ let mayUsePhysicalInput = actions.contains { action in
2182
+ (optionalStringArg(action, "policy") ?? "default") != "ax_only"
2183
+ }
2184
+ if mayUsePhysicalInput { physicalInputLock.lock() }
2185
+ defer { if mayUsePhysicalInput { physicalInputLock.unlock() } }
2186
+
2187
+ var steps: [[String: Any]] = []
2188
+ var stoppedAt: Int?
2189
+ for (index, action) in actions.enumerated() {
2190
+ var deferred = action
2191
+ deferred["deferRootDelta"] = true
2192
+ do {
2193
+ let step = try act(deferred)
2194
+ steps.append(step)
2195
+ if (step["outcome"] as? String) == "didnt" { stoppedAt = index; break }
2196
+ } catch let failure as BridgeFailure {
2197
+ steps.append(["outcome": "didnt", "error": ["code": failure.code, "message": failure.message]])
2198
+ stoppedAt = index
2199
+ break
2200
+ }
2201
+ }
2202
+ let outcomes = steps.compactMap { $0["outcome"] as? String }
2203
+ let outcome = outcomes.contains("didnt") ? "didnt" : (outcomes.contains("unknown") ? "unknown" : "worked")
2204
+ var response: [String: Any] = ["outcome": outcome, "performed": ["transaction": true, "actionCount": steps.count], "steps": steps]
2205
+ if let stoppedAt { response["stoppedAt"] = stoppedAt }
2206
+ return attachRootDelta(to: response, before: beforeRootSnapshot, beforeFrontmostPid: beforeFrontmostPid, pid: pid, eventsLive: eventsLive, eventCursor: eventCursor, beforeCgSignature: beforeCgSignature)
2207
+ }
2208
+
2209
+ private func rootIdentity(_ root: [String: Any]) -> String {
2210
+ if let windowId = root["windowId"] as? Int, windowId > 0 { return "window:\(windowId)" }
2211
+ // AXUIElement CFEqual/CFHash are not stable after re-enumeration for all
2212
+ // transient roots; use the metadata tuple that comes from the cheap pass.
2213
+ let kind = root["kind"] as? String ?? "window"
2214
+ let title = root["title"] as? String ?? ""
2215
+ let role = root["role"] as? String ?? ""
2216
+ let frame = root["framePoints"] as? [String: Any] ?? [:]
2217
+ let x = Int((frame["x"] as? NSNumber)?.doubleValue ?? 0)
2218
+ let y = Int((frame["y"] as? NSNumber)?.doubleValue ?? 0)
2219
+ let w = Int((frame["w"] as? NSNumber)?.doubleValue ?? 0)
2220
+ let h = Int((frame["h"] as? NSNumber)?.doubleValue ?? 0)
2221
+ return "meta:\(kind):\(role):\(title):\(x),\(y),\(w),\(h)"
2222
+ }
2223
+
2224
+ private func rootMetadataSnapshot(pid: Int32) -> [String: [String: Any]] {
2225
+ let roots = ((try? listRoots(pid: pid)["roots"] as? [[String: Any]]) ?? [])
2226
+ return Dictionary(uniqueKeysWithValues: roots.map { (rootIdentity($0), $0) })
2227
+ }
2228
+
2229
+ private func rootDelta(before: [String: [String: Any]], beforeFrontmostPid: pid_t?, pid: Int32) -> [[String: Any]] {
2230
+ let after = rootMetadataSnapshot(pid: pid)
2231
+ var delta: [[String: Any]] = []
2232
+ for (key, root) in after where before[key] == nil {
2233
+ delta.append(rootDeltaItem(change: "appeared", root: root, pid: pid))
2234
+ }
2235
+ for (key, root) in before where after[key] == nil {
2236
+ delta.append(rootDeltaItem(change: "closed", root: root, pid: pid))
2237
+ }
2238
+ for (key, root) in after {
2239
+ if (root["isFocused"] as? Bool) == true && (before[key]?["isFocused"] as? Bool) != true {
2240
+ delta.append(rootDeltaItem(change: "focused", root: root, pid: pid))
2241
+ }
2242
+ }
2243
+ if let beforeFrontmostPid, beforeFrontmostPid != NSWorkspace.shared.frontmostApplication?.processIdentifier {
2244
+ if let frontmost = NSWorkspace.shared.frontmostApplication {
2245
+ delta.append(["change": "focused", "kind": "app", "title": frontmost.localizedName ?? processName(pid: frontmost.processIdentifier) ?? "Unknown App", "pid": Int(frontmost.processIdentifier)])
2246
+ }
2247
+ }
2248
+ return delta
2249
+ }
2250
+
2251
+ private func rootDeltaItem(change: String, root: [String: Any], pid: Int32) -> [String: Any] {
2252
+ var item: [String: Any] = ["change": change, "kind": root["kind"] as? String ?? "window", "title": root["title"] as? String ?? "", "pid": root["pid"] as? Int ?? Int(pid)]
2253
+ if let isModal = root["isModal"] as? Bool { item["isModal"] = isModal }
2254
+ if let metadata = root["metadata"] as? [String: Any] { item["metadata"] = metadata }
2255
+ if let ref = root["rootRef"] as? String ?? root["windowRef"] as? String { item["ref"] = ref }
2256
+ return item
2257
+ }
2258
+
2259
+ // The AX snapshot diff is authoritative: macOS emits no AXObserver
2260
+ // notification at all when a sheet appears (verified on macOS 26), so
2261
+ // events can only accelerate the decision, never make it. A cheap
2262
+ // CGWindowList id-set poll detects real-window appearance/closure early;
2263
+ // the AX diff runs once at the first signal or at timeout.
2264
+ private func attachRootDelta(to response: [String: Any], before: [String: [String: Any]], beforeFrontmostPid: pid_t?, pid: Int32, eventsLive: Bool, eventCursor: UInt64, beforeCgSignature: Set<UInt32>) -> [String: Any] {
2265
+ var output = response
2266
+ var performed = output["performed"] as? [String: Any] ?? [:]
2267
+
2268
+ // AXUIElementDestroyed is deliberately not a signal: it fires for every
2269
+ // rebuilt list row; a genuinely closed root also leaves the CG set.
2270
+ let signalNotifications: Set<String> = ["AXWindowCreated", "AXSheetCreated", "AXMenuOpened", "AXMenuClosed", "AXFocusedWindowChanged"]
2271
+ var source = "snapshot"
2272
+ let deadline = Date().addingTimeInterval(0.40)
2273
+ while Date() < deadline {
2274
+ if cgRootSignature(pid: pid) != beforeCgSignature { source = "cg-poll"; break }
2275
+ if let beforeFrontmostPid, NSWorkspace.shared.frontmostApplication?.processIdentifier != beforeFrontmostPid { source = "cg-poll"; break }
2276
+ if eventsLive && rootEvents(pid: pid, since: eventCursor).contains(where: { signalNotifications.contains($0.notification) }) { source = "events"; break }
2277
+ usleep(30_000)
2278
+ }
2279
+
2280
+ var delta = rootDelta(before: before, beforeFrontmostPid: beforeFrontmostPid, pid: pid)
2281
+ if delta.isEmpty && source != "snapshot" {
2282
+ // A signal fired but the AX tree can lag the CG window; give it a
2283
+ // bounded moment to catch up.
2284
+ for _ in 0..<3 where delta.isEmpty {
2285
+ usleep(80_000)
2286
+ delta = rootDelta(before: before, beforeFrontmostPid: beforeFrontmostPid, pid: pid)
2287
+ }
2288
+ }
2289
+ performed["deltaSource"] = source
2290
+ output["performed"] = performed
2291
+ if !delta.isEmpty { output["rootDelta"] = delta }
2292
+ return output
2293
+ }
2294
+
2295
+ private func focusedWindowSummary(pid: Int32) -> String {
2296
+ let app = AXUIElementCreateApplication(pid)
2297
+ guard let element = copyAttribute(app, attribute: kAXFocusedWindowAttribute as CFString).flatMap(asAXElement) else { return "none" }
2298
+ let role = stringAttribute(element, attribute: kAXRoleAttribute as CFString) ?? ""
2299
+ let title = stringAttribute(element, attribute: kAXTitleAttribute as CFString) ?? ""
2300
+ return "\(role):\(title)"
2301
+ }
2302
+
2303
+ private func scrollPositionSignature(_ element: AXUIElement) -> String {
2304
+ let names: [CFString] = ["AXVerticalScrollBar" as CFString, "AXHorizontalScrollBar" as CFString, kAXValueAttribute as CFString]
2305
+ return names.map { String(describing: copyAttribute(element, attribute: $0) ?? "" as CFTypeRef) }.joined(separator: "|")
2306
+ }
2307
+
2308
+ private func axWaitFor(_ request: [String: Any]) throws -> [String: Any] {
2309
+ let pid = Int32(try intArg(request, "pid"))
2310
+ ensureEnhancedAccessibility(pid: pid)
2311
+ let windowId = optionalIntArg(request, "windowId").map { UInt32($0) }
2312
+ let windowRef = optionalStringArg(request, "windowRef")
2313
+ let role = optionalStringArg(request, "role")?.trimmingCharacters(in: .whitespacesAndNewlines)
2314
+ let text = optionalStringArg(request, "text")?.trimmingCharacters(in: .whitespacesAndNewlines).lowercased()
2315
+ let expectedValue = optionalStringArg(request, "value")?.trimmingCharacters(in: .whitespacesAndNewlines).lowercased()
2316
+ let waitForGone = boolArg(request, "gone") ?? false
2317
+ let scopeExact = boolArg(request, "scopeExact") ?? false
2318
+ let timeoutMs = max(100, min(60_000, optionalIntArg(request, "timeoutMs") ?? 10_000))
2319
+ let deadline = Date().addingTimeInterval(Double(timeoutMs) / 1000.0)
2320
+ guard role?.isEmpty == false || text?.isEmpty == false || expectedValue?.isEmpty == false else {
2321
+ throw BridgeFailure(message: "axWaitFor requires role, text, or value", code: "invalid_args")
2322
+ }
2323
+ guard let window = windowElement(pid: pid, windowId: windowId, windowRef: windowRef) else {
2324
+ return ["found": false, "reason": "window_not_found"]
2325
+ }
2326
+ let rootElement: AXUIElement
2327
+ if let scopeRef = optionalStringArg(request, "scopeRef") {
2328
+ guard let scoped = refStore.element(for: scopeRef), isElement(scoped, descendantOf: window) else {
2329
+ throw BridgeFailure(message: "Condition scope ref is stale or outside the target root", code: "element_ref_invalid")
2330
+ }
2331
+ rootElement = scoped
2332
+ } else {
2333
+ rootElement = window
2334
+ }
2335
+ _ = ensureRootObserver(pid: pid)
2336
+
2337
+ func matches(_ element: AXUIElement) -> Bool {
2338
+ let candidateRole = self.stringAttribute(element, attribute: kAXRoleAttribute as CFString) ?? ""
2339
+ if let role, !role.isEmpty, candidateRole != role { return false }
2340
+ if let text, !text.isEmpty {
2341
+ let subrole = self.stringAttribute(element, attribute: kAXSubroleAttribute as CFString) ?? ""
2342
+ let haystack = [
2343
+ self.stringAttribute(element, attribute: kAXTitleAttribute as CFString) ?? "",
2344
+ self.stringAttribute(element, attribute: kAXDescriptionAttribute as CFString) ?? "",
2345
+ self.displayValue(element, role: candidateRole, subrole: subrole),
2346
+ ].joined(separator: "\n").lowercased()
2347
+ if !haystack.contains(text) { return false }
2348
+ }
2349
+ if let expectedValue, !expectedValue.isEmpty {
2350
+ let subrole = self.stringAttribute(element, attribute: kAXSubroleAttribute as CFString) ?? ""
2351
+ if self.displayValue(element, role: candidateRole, subrole: subrole).trimmingCharacters(in: .whitespacesAndNewlines).lowercased() != expectedValue { return false }
2352
+ }
2353
+ return true
2354
+ }
2355
+
2356
+ var lastCount = 0
2357
+ repeat {
2358
+ let changeGeneration = rootChangeGeneration(pid: pid)
2359
+ let collected = collectDescendantsWithContext(startingAt: rootElement, maxDepth: 12, maxNodes: 2000)
2360
+ let descendants = scopeExact ? Array(collected.prefix(1)) : collected
2361
+ lastCount = descendants.count
2362
+ if let match = descendants.first(where: { matches($0.element) }) {
2363
+ if waitForGone {
2364
+ waitForRootChange(pid: pid, since: changeGeneration, until: deadline)
2365
+ continue
2366
+ }
2367
+ let candidateRole = self.stringAttribute(match.element, attribute: kAXRoleAttribute as CFString) ?? ""
2368
+ let isBrowser = isBrowser(pid: pid)
2369
+ let containsWebArea = descendants.contains { self.stringAttribute($0.element, attribute: kAXRoleAttribute as CFString) == "AXWebArea" }
2370
+ return [
2371
+ "found": true,
2372
+ "target": self.elementPayload(
2373
+ element: match.element,
2374
+ key: "target",
2375
+ source: self.axSource(role: candidateRole, insideWebArea: match.insideWebArea, isBrowser: isBrowser, containsWebArea: containsWebArea)
2376
+ ),
2377
+ "nodeCount": lastCount,
2378
+ ]
2379
+ }
2380
+ if waitForGone {
2381
+ return ["found": true, "gone": true, "nodeCount": lastCount]
2382
+ }
2383
+ waitForRootChange(pid: pid, since: changeGeneration, until: deadline)
2384
+ } while Date() < deadline
2385
+
2386
+ return ["found": false, "timedOut": true, "nodeCount": lastCount]
2387
+ }
2388
+
2389
+ private func hitTestElement(at point: CGPoint) -> AXUIElement? {
2390
+ let systemWide = AXUIElementCreateSystemWide()
2391
+ var hitElement: AXUIElement?
2392
+ let status = AXUIElementCopyElementAtPosition(systemWide, Float(point.x), Float(point.y), &hitElement)
2393
+ guard status == .success, let hitElement else { return nil }
2394
+ return hitElement
2395
+ }
2396
+
2397
+ private let axScrollDownAction = "AXScrollDown" as CFString
2398
+ private let axScrollUpAction = "AXScrollUp" as CFString
2399
+ private let axScrollLeftAction = "AXScrollLeft" as CFString
2400
+ private let axScrollRightAction = "AXScrollRight" as CFString
2401
+
2402
+ private func scrollActionNames(scrollX: Int, scrollY: Int) -> [CFString] {
2403
+ var actions: [CFString] = []
2404
+ if scrollY > 0 { actions.append(axScrollDownAction) }
2405
+ if scrollY < 0 { actions.append(axScrollUpAction) }
2406
+ if scrollX > 0 { actions.append(axScrollRightAction) }
2407
+ if scrollX < 0 { actions.append(axScrollLeftAction) }
2408
+ return actions
2409
+ }
2410
+
2411
+ private func supportsAnyScrollAction(_ element: AXUIElement) -> Bool {
2412
+ let actions = Set(actionNames(element))
2413
+ return actions.contains(axScrollDownAction as String) || actions.contains(axScrollUpAction as String) || actions.contains(axScrollLeftAction as String) || actions.contains(axScrollRightAction as String)
2414
+ }
2415
+
2416
+ private func performScrollActionOrAncestor(startingAt element: AXUIElement, targetPid: Int32, scrollX: Int, scrollY: Int, steps: Int) -> [String: Any] {
2417
+ let actions = scrollActionNames(scrollX: scrollX, scrollY: scrollY)
2418
+ guard !actions.isEmpty else { return ["scrolled": false, "reason": "zero_delta"] }
2419
+ var current: AXUIElement? = element
2420
+ var depth = 0
2421
+
2422
+ while let candidate = current, depth < 10 {
2423
+ if let pid = pidForElement(candidate), pid != targetPid {
2424
+ return ["scrolled": false, "reason": "pid_mismatch", "ownerPid": Int(pid)]
2425
+ }
2426
+ var didScroll = false
2427
+ for _ in 0..<steps {
2428
+ for action in actions where supportsAction(candidate, action: action) {
2429
+ let status = AXUIElementPerformAction(candidate, action)
2430
+ if status == .success { didScroll = true }
2431
+ }
2432
+ }
2433
+ if didScroll { return ["scrolled": true] }
2434
+ current = parentElement(candidate)
2435
+ depth += 1
2436
+ }
2437
+
2438
+ return ["scrolled": false, "reason": "no_scroll_action"]
2439
+ }
2440
+
2441
+ private func performActionOrAncestor(startingAt element: AXUIElement, action: CFString, targetPid: Int32) -> [String: Any] {
2442
+ var current: AXUIElement? = element
2443
+ var depth = 0
2444
+
2445
+ while let candidate = current, depth < 10 {
2446
+ if let pid = pidForElement(candidate), pid != targetPid {
2447
+ return ["performed": false, "reason": "pid_mismatch", "ownerPid": Int(pid)]
2448
+ }
2449
+
2450
+ if supportsAction(candidate, action: action) {
2451
+ let actionStatus = AXUIElementPerformAction(candidate, action)
2452
+ if actionStatus == .success {
2453
+ return ["performed": true]
2454
+ }
2455
+ }
2456
+
2457
+ current = parentElement(candidate)
2458
+ depth += 1
2459
+ }
2460
+
2461
+ return ["performed": false, "reason": "no_matching_action"]
2462
+ }
2463
+
2464
+ private func windowElement(pid: Int32, windowId: UInt32?, windowRef: String? = nil) -> AXUIElement? {
2465
+ if let windowRef, let stored = refStore.window(for: windowRef) {
2466
+ AXUIElementSetMessagingTimeout(stored, 1.0)
2467
+ var ownerPid: pid_t = 0
2468
+ if AXUIElementGetPid(stored, &ownerPid) == .success, ownerPid == pid {
2469
+ return stored
2470
+ }
2471
+ }
2472
+
2473
+ let appElement = AXUIElementCreateApplication(pid)
2474
+ AXUIElementSetMessagingTimeout(appElement, 1.0)
2475
+ let windows = axElementArray(appElement, attribute: kAXWindowsAttribute as CFString)
2476
+ guard !windows.isEmpty else { return nil }
2477
+ guard let windowId else {
2478
+ return windows.first
2479
+ }
2480
+ let candidates = cgWindowCandidates(pid: pid)
2481
+ let pairings = windowPairings(windows: windows, candidates: candidates)
2482
+ for window in windows {
2483
+ if pairings[ObjectIdentifier(window)]?.candidate?.windowId == windowId {
2484
+ return window
2485
+ }
2486
+ for sheet in sheetElements(of: window) {
2487
+ if bestCandidate(for: sheet, candidates: candidates)?.windowId == windowId {
2488
+ return sheet
2489
+ }
2490
+ }
2491
+ }
2492
+ return nil
2493
+ }
2494
+
2495
+ private func findDescendant(startingAt root: AXUIElement, maxDepth: Int, predicate: (AXUIElement) -> Bool) -> AXUIElement? {
2496
+ collectDescendants(startingAt: root, maxDepth: maxDepth).first(where: predicate)
2497
+ }
2498
+
2499
+ private func ensureEnhancedAccessibility(pid: Int32) {
2500
+ enhancedAccessibilityLock.lock()
2501
+ let inserted = enhancedAccessibilityPids.insert(pid).inserted
2502
+ enhancedAccessibilityLock.unlock()
2503
+ if !inserted { return }
2504
+ let appElement = AXUIElementCreateApplication(pid)
2505
+ AXUIElementSetMessagingTimeout(appElement, 0.25)
2506
+ let enhancedStatus = AXUIElementSetAttributeValue(appElement, "AXEnhancedUserInterface" as CFString, kCFBooleanTrue)
2507
+ let manualStatus = AXUIElementSetAttributeValue(appElement, "AXManualAccessibility" as CFString, kCFBooleanTrue)
2508
+ // Chromium-family apps often materialize web-content AX asynchronously
2509
+ // after these toggles. Pay a small one-time settle cost per pid so the
2510
+ // first tree walk is less likely to see browser chrome only.
2511
+ if isBrowser(pid: pid) && (enhancedStatus == .success || manualStatus == .success) {
2512
+ Thread.sleep(forTimeInterval: 0.35)
2513
+ }
2514
+ }
2515
+
2516
+ private func isBrowser(pid: Int32) -> Bool {
2517
+ let app = NSRunningApplication(processIdentifier: pid)
2518
+ if browserBundleIds.contains(app?.bundleIdentifier ?? "") { return true }
2519
+ let name = (app?.localizedName ?? processName(pid: pid) ?? "").lowercased()
2520
+ return ["chrome", "chromium", "brave", "edge", "vivaldi", "opera", "firefox", "helium"].contains { name.contains($0) }
2521
+ }
2522
+
2523
+ private func collectDescendants(startingAt root: AXUIElement, maxDepth: Int, maxNodes: Int = 5000) -> [AXUIElement] {
2524
+ collectDescendantsWithContext(startingAt: root, maxDepth: maxDepth, maxNodes: maxNodes).map(\.element)
2525
+ }
2526
+
2527
+ private func collectDescendantsWithContext(startingAt root: AXUIElement, maxDepth: Int, maxNodes: Int = 5000) -> [AXDescendant] {
2528
+ let nodeLimit = max(1, maxNodes)
2529
+ var queue: [(AXUIElement, Int, Bool, Bool)] = [(root, 0, false, true)]
2530
+ var seen = Set<ObjectIdentifier>()
2531
+ var index = 0
2532
+ var output: [AXDescendant] = []
2533
+ while index < queue.count && output.count < nodeLimit {
2534
+ let (element, depth, parentInsideWebArea, inheritedVisible) = queue[index]
2535
+ index += 1
2536
+ let identity = ObjectIdentifier(element)
2537
+ if seen.contains(identity) { continue }
2538
+ seen.insert(identity)
2539
+ let role = stringAttribute(element, attribute: kAXRoleAttribute as CFString) ?? ""
2540
+ let insideWebArea = parentInsideWebArea || role == "AXWebArea"
2541
+ output.append(AXDescendant(element: element, depth: depth, insideWebArea: insideWebArea, axVisible: inheritedVisible))
2542
+ if depth >= maxDepth { continue }
2543
+ let children = axElementArray(element, attribute: kAXChildrenAttribute as CFString)
2544
+ let visibleChildren = visibleAXChildren(element)
2545
+ for child in children {
2546
+ if queue.count >= nodeLimit { break }
2547
+ let childVisible = inheritedVisible && (visibleChildren.map { set in set.contains { self.sameElement($0, child) } } ?? true)
2548
+ queue.append((child, depth + 1, insideWebArea, childVisible))
2549
+ }
2550
+ }
2551
+ return output
2552
+ }
2553
+
2554
+ private func visibleAXChildren(_ element: AXUIElement) -> [AXUIElement]? {
2555
+ let attributes: [CFString] = [
2556
+ kAXVisibleChildrenAttribute as CFString,
2557
+ kAXVisibleRowsAttribute as CFString,
2558
+ kAXVisibleColumnsAttribute as CFString,
2559
+ kAXVisibleCellsAttribute as CFString,
2560
+ ]
2561
+ let visible = attributes.flatMap { axElementArray(element, attribute: $0) }
2562
+ return visible.isEmpty ? nil : visible
2563
+ }
2564
+
2565
+ private func insideWebAreaMap(_ descendants: [AXDescendant]) -> [ObjectIdentifier: Bool] {
2566
+ var output: [ObjectIdentifier: Bool] = [:]
2567
+ for descendant in descendants {
2568
+ let key = ObjectIdentifier(descendant.element)
2569
+ output[key] = (output[key] ?? false) || descendant.insideWebArea
2570
+ }
2571
+ return output
2572
+ }
2573
+
2574
+ private func axSource(role: String, insideWebArea: Bool, isBrowser: Bool, containsWebArea: Bool) -> String {
2575
+ if insideWebArea || role == "AXWebArea" { return "web_content_ax" }
2576
+ if isBrowser || containsWebArea { return "browser_chrome_ax" }
2577
+ return "desktop_ax"
2578
+ }
2579
+
2580
+ private func frameForElement(_ element: AXUIElement) -> CGRect? {
2581
+ let origin = pointAttribute(element, attribute: kAXPositionAttribute as CFString)
2582
+ let size = sizeAttribute(element, attribute: kAXSizeAttribute as CFString)
2583
+ guard let origin, let size, size.width > 0, size.height > 0 else { return nil }
2584
+ return CGRect(origin: origin, size: size)
2585
+ }
2586
+
2587
+ private func elementPayload(element: AXUIElement, key: String, score: Double? = nil, source: String? = nil, axVisible: Bool = true) -> [String: Any] {
2588
+ let role = stringAttribute(element, attribute: kAXRoleAttribute as CFString) ?? ""
2589
+ let subrole = stringAttribute(element, attribute: kAXSubroleAttribute as CFString) ?? ""
2590
+ let title = stringAttribute(element, attribute: kAXTitleAttribute as CFString) ?? ""
2591
+ let description = stringAttribute(element, attribute: kAXDescriptionAttribute as CFString) ?? ""
2592
+ let identifier = stringAttribute(element, attribute: "AXIdentifier" as CFString) ?? ""
2593
+ let value = displayValue(element, role: role, subrole: subrole)
2594
+ let frame = frameForElement(element)
2595
+ let parentFrame = copyAttribute(element, attribute: kAXParentAttribute as CFString).flatMap(asAXElement).flatMap(frameForElement)
2596
+ let centerX = frame.map { $0.midX } ?? 0
2597
+ let centerY = frame.map { $0.midY } ?? 0
2598
+ var valueSettable = DarwinBoolean(false)
2599
+ let valueStatus = AXUIElementIsAttributeSettable(element, kAXValueAttribute as CFString, &valueSettable)
2600
+ var focusedSettable = DarwinBoolean(false)
2601
+ let focusedStatus = AXUIElementIsAttributeSettable(element, kAXFocusedAttribute as CFString, &focusedSettable)
2602
+ let actions = actionNames(element)
2603
+ let canSetValue = valueStatus == .success && valueSettable.boolValue
2604
+ let textRoles: Set<String> = [
2605
+ "AXTextField", "AXTextArea", "AXTextView", "AXSearchField", "AXComboBox", "AXEditableText", "AXSecureTextField",
2606
+ ]
2607
+ var payload: [String: Any] = [
2608
+ key: true,
2609
+ "elementRef": refStore.storeElement(element),
2610
+ "role": role,
2611
+ "subrole": subrole,
2612
+ "title": title,
2613
+ "description": description,
2614
+ "identifier": identifier,
2615
+ "value": value,
2616
+ "actions": actions,
2617
+ "isTextInput": textRoles.contains(role),
2618
+ "canSetValue": canSetValue,
2619
+ "canFocus": focusedStatus == .success && focusedSettable.boolValue,
2620
+ "canPress": actions.contains(kAXPressAction as String),
2621
+ "canScroll": supportsAnyScrollAction(element),
2622
+ "canIncrement": actions.contains(kAXIncrementAction as String),
2623
+ "canDecrement": actions.contains(kAXDecrementAction as String),
2624
+ "axVisible": axVisible,
2625
+ "x": centerX,
2626
+ "y": centerY,
2627
+ ]
2628
+ if let frame {
2629
+ payload["frame"] = ["x": frame.origin.x, "y": frame.origin.y, "w": frame.width, "h": frame.height]
2630
+ }
2631
+ if let parentFrame {
2632
+ payload["parentFrame"] = ["x": parentFrame.origin.x, "y": parentFrame.origin.y, "w": parentFrame.width, "h": parentFrame.height]
2633
+ }
2634
+ if let score {
2635
+ payload["score"] = score
2636
+ }
2637
+ if let source {
2638
+ payload["source"] = source
2639
+ }
2640
+ return payload
2641
+ }
2642
+
2643
+ private func pidForElement(_ element: AXUIElement) -> Int32? {
2644
+ var pid: pid_t = 0
2645
+ let status = AXUIElementGetPid(element, &pid)
2646
+ guard status == .success else { return nil }
2647
+ return Int32(pid)
2648
+ }
2649
+
2650
+ private func parentElement(_ element: AXUIElement) -> AXUIElement? {
2651
+ guard let value = copyAttribute(element, attribute: kAXParentAttribute as CFString) else {
2652
+ return nil
2653
+ }
2654
+ return asAXElement(value)
2655
+ }
2656
+
2657
+ private func sameElement(_ lhs: AXUIElement, _ rhs: AXUIElement) -> Bool {
2658
+ CFEqual(lhs as CFTypeRef, rhs as CFTypeRef)
2659
+ }
2660
+
2661
+ private func isElement(_ element: AXUIElement, descendantOf ancestor: AXUIElement) -> Bool {
2662
+ var current: AXUIElement? = element
2663
+ var depth = 0
2664
+ while let candidate = current, depth < 20 {
2665
+ if sameElement(candidate, ancestor) {
2666
+ return true
2667
+ }
2668
+ current = parentElement(candidate)
2669
+ depth += 1
2670
+ }
2671
+ return false
2672
+ }
2673
+
2674
+ private func hasAncestorRole(_ element: AXUIElement, role: String) -> Bool {
2675
+ var current: AXUIElement? = element
2676
+ var depth = 0
2677
+ while let candidate = current, depth < 30 {
2678
+ if stringAttribute(candidate, attribute: kAXRoleAttribute as CFString) == role { return true }
2679
+ current = parentElement(candidate)
2680
+ depth += 1
2681
+ }
2682
+ return false
2683
+ }
2684
+
2685
+ private func actionNames(_ element: AXUIElement) -> [String] {
2686
+ var actionsValue: CFArray?
2687
+ let status = AXUIElementCopyActionNames(element, &actionsValue)
2688
+ guard status == .success else { return [] }
2689
+ guard let actionsArray = actionsValue as? [AnyObject] else { return [] }
2690
+ return actionsArray.compactMap { $0 as? String }
2691
+ }
2692
+
2693
+ private func supportsAction(_ element: AXUIElement, action: CFString) -> Bool {
2694
+ actionNames(element).contains(action as String)
2695
+ }
2696
+
2697
+ private func focusedElement(_ request: [String: Any]) throws -> [String: Any] {
2698
+ let pid = Int32(try intArg(request, "pid"))
2699
+ let windowId = optionalIntArg(request, "windowId").map { UInt32($0) }
2700
+ let windowRef = optionalStringArg(request, "windowRef")
2701
+ let app = AXUIElementCreateApplication(pid)
2702
+ guard let focusedValue = copyAttribute(app, attribute: kAXFocusedUIElementAttribute as CFString),
2703
+ let element = asAXElement(focusedValue)
2704
+ else {
2705
+ return ["exists": false]
2706
+ }
2707
+ if windowId != nil || windowRef != nil {
2708
+ guard let window = windowElement(pid: pid, windowId: windowId, windowRef: windowRef) else {
2709
+ return ["exists": false, "reason": "window_not_found"]
2710
+ }
2711
+ guard isElement(element, descendantOf: window) else {
2712
+ return ["exists": false, "reason": "focused_element_outside_window"]
2713
+ }
2714
+ }
2715
+
2716
+ let role = stringAttribute(element, attribute: kAXRoleAttribute as CFString) ?? ""
2717
+ let subrole = stringAttribute(element, attribute: kAXSubroleAttribute as CFString) ?? ""
2718
+ let secure = role == "AXSecureTextField" || subrole == "AXSecureTextField"
2719
+
2720
+ var settable = DarwinBoolean(false)
2721
+ let settableStatus = AXUIElementIsAttributeSettable(element, kAXValueAttribute as CFString, &settable)
2722
+ let canSetValue = settableStatus == .success && settable.boolValue
2723
+
2724
+ let textRoles: Set<String> = [
2725
+ "AXTextField",
2726
+ "AXTextArea",
2727
+ "AXTextView",
2728
+ "AXSearchField",
2729
+ "AXComboBox",
2730
+ "AXEditableText",
2731
+ "AXSecureTextField",
2732
+ ]
2733
+
2734
+ let isTextInput = textRoles.contains(role) || canSetValue
2735
+ let elementRef = refStore.storeElement(element)
2736
+
2737
+ return [
2738
+ "exists": true,
2739
+ "elementRef": elementRef,
2740
+ "role": role,
2741
+ "subrole": subrole,
2742
+ "isTextInput": isTextInput,
2743
+ "isSecure": secure,
2744
+ "canSetValue": canSetValue,
2745
+ ]
2746
+ }
2747
+
2748
+ private func axReadText(_ request: [String: Any]) throws -> [String: Any] {
2749
+ let elementRef = try stringArg(request, "elementRef")
2750
+ let offset = max(0, optionalIntArg(request, "offset") ?? 0)
2751
+ let limit = max(1, min(100_000, optionalIntArg(request, "limit") ?? 4_000))
2752
+ guard let element = refStore.element(for: elementRef) else {
2753
+ throw BridgeFailure(message: "Element reference is no longer valid", code: "element_ref_invalid")
2754
+ }
2755
+ let role = stringAttribute(element, attribute: kAXRoleAttribute as CFString) ?? ""
2756
+ let subrole = stringAttribute(element, attribute: kAXSubroleAttribute as CFString) ?? ""
2757
+ guard !isSecureTextElement(role: role, subrole: subrole) else {
2758
+ throw BridgeFailure(message: "Refers to a secure text field; refusing to read its value", code: "secure_text_unreadable")
2759
+ }
2760
+ guard let value = stringAttribute(element, attribute: kAXValueAttribute as CFString) else {
2761
+ throw BridgeFailure(message: "Element has no readable AXValue. Call snapshot/screenshot and choose a text-bearing ref.", code: "text_unavailable")
2762
+ }
2763
+ let characters = Array(value)
2764
+ if offset >= characters.count {
2765
+ return ["text": "", "offset": offset, "limit": limit, "totalChars": characters.count, "hasMore": false]
2766
+ }
2767
+ let end = min(characters.count, offset + limit)
2768
+ return [
2769
+ "text": String(characters[offset..<end]),
2770
+ "offset": offset,
2771
+ "limit": limit,
2772
+ "totalChars": characters.count,
2773
+ "hasMore": end < characters.count,
2774
+ ]
2775
+ }
2776
+
2777
+ private func getMousePosition() -> [String: Any] {
2778
+ let position = NSEvent.mouseLocation
2779
+ return ["x": position.x, "y": position.y]
2780
+ }
2781
+
2782
+ private func copyAttribute(_ element: AXUIElement, attribute: CFString) -> AnyObject? {
2783
+ var value: AnyObject?
2784
+ let status = AXUIElementCopyAttributeValue(element, attribute, &value)
2785
+ guard status == .success else { return nil }
2786
+ return value
2787
+ }
2788
+
2789
+ private func boolAttribute(_ element: AXUIElement, attribute: CFString) -> Bool? {
2790
+ guard let value = copyAttribute(element, attribute: attribute) else { return nil }
2791
+ if let boolValue = value as? Bool {
2792
+ return boolValue
2793
+ }
2794
+ if let number = value as? NSNumber {
2795
+ return number.boolValue
2796
+ }
2797
+ return nil
2798
+ }
2799
+
2800
+ private func stringAttribute(_ element: AXUIElement, attribute: CFString) -> String? {
2801
+ copyAttribute(element, attribute: attribute) as? String
2802
+ }
2803
+
2804
+ // Secure fields can expose plaintext through AX value in non-native apps,
2805
+ // and serialized values flow into the model conversation. Never emit them.
2806
+ private func isSecureTextElement(role: String, subrole: String) -> Bool {
2807
+ role == "AXSecureTextField" || subrole == "AXSecureTextField"
2808
+ }
2809
+
2810
+ private func displayValue(_ element: AXUIElement, role: String, subrole: String) -> String {
2811
+ if isSecureTextElement(role: role, subrole: subrole) { return "" }
2812
+ return stringAttribute(element, attribute: kAXValueAttribute as CFString) ?? ""
2813
+ }
2814
+
2815
+ // kAXSheetsAttribute is unsupported (-25205) on recent macOS; sheets are
2816
+ // exposed only as AXSheet-role children. Merge both sources so sheet
2817
+ // discovery works across versions.
2818
+ private func sheetElements(of window: AXUIElement) -> [AXUIElement] {
2819
+ var sheets = axElementArray(window, attribute: "AXSheets" as CFString)
2820
+ for child in axElementArray(window, attribute: kAXChildrenAttribute as CFString) {
2821
+ guard (stringAttribute(child, attribute: kAXRoleAttribute as CFString) ?? "") == "AXSheet" else { continue }
2822
+ if !sheets.contains(where: { CFEqual($0, child) }) { sheets.append(child) }
2823
+ }
2824
+ return sheets
2825
+ }
2826
+
2827
+ private func axElementArray(_ element: AXUIElement, attribute: CFString) -> [AXUIElement] {
2828
+ guard let value = copyAttribute(element, attribute: attribute) else { return [] }
2829
+ if let array = value as? [AXUIElement] {
2830
+ return array
2831
+ }
2832
+ if let anyArray = value as? [AnyObject] {
2833
+ return anyArray.compactMap(asAXElement)
2834
+ }
2835
+ return []
2836
+ }
2837
+
2838
+ private func axElementArrayIfPresent(_ element: AXUIElement, attribute: CFString) -> [AXUIElement]? {
2839
+ var value: CFTypeRef?
2840
+ let status = AXUIElementCopyAttributeValue(element, attribute, &value)
2841
+ guard status == .success, let value else { return nil }
2842
+ if let array = value as? [AXUIElement] {
2843
+ return array
2844
+ }
2845
+ if let anyArray = value as? [AnyObject] {
2846
+ return anyArray.compactMap(asAXElement)
2847
+ }
2848
+ return []
2849
+ }
2850
+
2851
+ private func asAXElement(_ value: AnyObject) -> AXUIElement? {
2852
+ let cfValue = value as CFTypeRef
2853
+ guard CFGetTypeID(cfValue) == AXUIElementGetTypeID() else { return nil }
2854
+ return unsafeBitCast(cfValue, to: AXUIElement.self)
2855
+ }
2856
+
2857
+ private func pointAttribute(_ element: AXUIElement, attribute: CFString) -> CGPoint? {
2858
+ guard let value = copyAttribute(element, attribute: attribute) else { return nil }
2859
+ let cfValue = value as CFTypeRef
2860
+ guard CFGetTypeID(cfValue) == AXValueGetTypeID() else { return nil }
2861
+ let axValue = unsafeBitCast(cfValue, to: AXValue.self)
2862
+ guard AXValueGetType(axValue) == .cgPoint else { return nil }
2863
+ var point = CGPoint.zero
2864
+ guard AXValueGetValue(axValue, .cgPoint, &point) else { return nil }
2865
+ return point
2866
+ }
2867
+
2868
+ private func sizeAttribute(_ element: AXUIElement, attribute: CFString) -> CGSize? {
2869
+ guard let value = copyAttribute(element, attribute: attribute) else { return nil }
2870
+ let cfValue = value as CFTypeRef
2871
+ guard CFGetTypeID(cfValue) == AXValueGetTypeID() else { return nil }
2872
+ let axValue = unsafeBitCast(cfValue, to: AXValue.self)
2873
+ guard AXValueGetType(axValue) == .cgSize else { return nil }
2874
+ var size = CGSize.zero
2875
+ guard AXValueGetValue(axValue, .cgSize, &size) else { return nil }
2876
+ return size
2877
+ }
2878
+
2879
+ private func frameForWindow(_ window: AXUIElement) -> CGRect {
2880
+ let origin = pointAttribute(window, attribute: kAXPositionAttribute as CFString) ?? .zero
2881
+ let size = sizeAttribute(window, attribute: kAXSizeAttribute as CFString) ?? .zero
2882
+ return CGRect(origin: origin, size: size)
2883
+ }
2884
+
2885
+ private func cgWindowOwners() -> [CGWindowOwnerSummary] {
2886
+ guard let entries = CGWindowListCopyWindowInfo([.optionAll], kCGNullWindowID) as? [[String: Any]] else {
2887
+ return []
2888
+ }
2889
+ var seen = Set<Int32>()
2890
+ var owners: [CGWindowOwnerSummary] = []
2891
+ for entry in entries {
2892
+ guard let ownerPid = (entry[kCGWindowOwnerPID as String] as? NSNumber)?.int32Value else { continue }
2893
+ let layer = (entry[kCGWindowLayer as String] as? NSNumber)?.intValue ?? 0
2894
+ if layer != 0 || seen.contains(ownerPid) { continue }
2895
+ guard let boundsDict = entry[kCGWindowBounds as String] as? [String: Any],
2896
+ let bounds = CGRect(dictionaryRepresentation: boundsDict as CFDictionary),
2897
+ bounds.width >= 100,
2898
+ bounds.height >= 80
2899
+ else {
2900
+ continue
2901
+ }
2902
+ let ownerName = (entry[kCGWindowOwnerName as String] as? String) ?? processName(pid: ownerPid) ?? "Unknown App"
2903
+ seen.insert(ownerPid)
2904
+ owners.append(CGWindowOwnerSummary(pid: ownerPid, name: ownerName))
2905
+ }
2906
+ return owners
2907
+ }
2908
+
2909
+ private func pidForWindowId(_ windowId: UInt32) -> Int32? {
2910
+ windowInfo(windowId: windowId)?.pid
2911
+ }
2912
+
2913
+ private func cgWindowCandidates(pid: Int32) -> [CGWindowCandidate] {
2914
+ guard let entries = CGWindowListCopyWindowInfo([.optionAll], kCGNullWindowID) as? [[String: Any]] else {
2915
+ return []
2916
+ }
2917
+
2918
+ var candidates: [CGWindowCandidate] = []
2919
+ for (zOrder, entry) in entries.enumerated() {
2920
+ guard let ownerPid = (entry[kCGWindowOwnerPID as String] as? NSNumber)?.int32Value,
2921
+ ownerPid == pid
2922
+ else {
2923
+ continue
2924
+ }
2925
+ let layer = (entry[kCGWindowLayer as String] as? NSNumber)?.intValue ?? 0
2926
+ if layer != 0 { continue }
2927
+
2928
+ guard let windowNumber = (entry[kCGWindowNumber as String] as? NSNumber)?.uint32Value else {
2929
+ continue
2930
+ }
2931
+ guard let boundsDict = entry[kCGWindowBounds as String] as? [String: Any],
2932
+ let bounds = CGRect(dictionaryRepresentation: boundsDict as CFDictionary)
2933
+ else {
2934
+ continue
2935
+ }
2936
+
2937
+ let title = (entry[kCGWindowName as String] as? String) ?? ""
2938
+ let isOnscreen = (entry[kCGWindowIsOnscreen as String] as? NSNumber)?.boolValue ?? true
2939
+ candidates.append(
2940
+ CGWindowCandidate(
2941
+ windowId: windowNumber,
2942
+ title: title,
2943
+ bounds: bounds,
2944
+ isOnscreen: isOnscreen,
2945
+ layer: layer,
2946
+ zOrder: zOrder
2947
+ )
2948
+ )
2949
+ }
2950
+ return candidates
2951
+ }
2952
+
2953
+ private func cgBroadRootOwners() -> [CGWindowOwnerSummary] {
2954
+ guard let entries = CGWindowListCopyWindowInfo([.optionAll], kCGNullWindowID) as? [[String: Any]] else {
2955
+ return []
2956
+ }
2957
+ let popupLevel = Int(CGWindowLevelForKey(.popUpMenuWindow))
2958
+ var seen = Set<Int32>()
2959
+ return entries.compactMap { entry -> CGWindowOwnerSummary? in
2960
+ let layer = (entry[kCGWindowLayer as String] as? NSNumber)?.intValue ?? 0
2961
+ guard layer == 0 || layer == popupLevel,
2962
+ let pid = (entry[kCGWindowOwnerPID as String] as? NSNumber)?.int32Value,
2963
+ seen.insert(pid).inserted
2964
+ else { return nil }
2965
+ let name = (entry[kCGWindowOwnerName as String] as? String) ?? processName(pid: pid) ?? "Unknown App"
2966
+ return CGWindowOwnerSummary(pid: pid, name: name)
2967
+ }
2968
+ }
2969
+
2970
+ private func cgPopupMenuCandidates(pid: Int32?) -> [CGWindowCandidate] {
2971
+ guard let entries = CGWindowListCopyWindowInfo([.optionAll], kCGNullWindowID) as? [[String: Any]] else {
2972
+ return []
2973
+ }
2974
+ let popupLevel = Int(CGWindowLevelForKey(.popUpMenuWindow))
2975
+ var candidates: [CGWindowCandidate] = []
2976
+ for (zOrder, entry) in entries.enumerated() {
2977
+ guard let ownerPid = (entry[kCGWindowOwnerPID as String] as? NSNumber)?.int32Value else { continue }
2978
+ if let pid, ownerPid != pid { continue }
2979
+ let layer = (entry[kCGWindowLayer as String] as? NSNumber)?.intValue ?? 0
2980
+ if layer != popupLevel { continue }
2981
+ guard let windowNumber = (entry[kCGWindowNumber as String] as? NSNumber)?.uint32Value,
2982
+ let boundsDict = entry[kCGWindowBounds as String] as? [String: Any],
2983
+ let bounds = CGRect(dictionaryRepresentation: boundsDict as CFDictionary)
2984
+ else { continue }
2985
+ let title = (entry[kCGWindowName as String] as? String) ?? ""
2986
+ let isOnscreen = (entry[kCGWindowIsOnscreen as String] as? NSNumber)?.boolValue ?? true
2987
+ candidates.append(CGWindowCandidate(windowId: windowNumber, title: title, bounds: bounds, isOnscreen: isOnscreen, layer: layer, zOrder: zOrder))
2988
+ }
2989
+ return candidates
2990
+ }
2991
+
2992
+ private func openMenuElements(pid: Int32) -> [AXUIElement] {
2993
+ let app = AXUIElementCreateApplication(pid)
2994
+ let descendants = collectDescendants(startingAt: app, maxDepth: 6)
2995
+ var menus = descendants.filter { (stringAttribute($0, attribute: kAXRoleAttribute as CFString) ?? "") == "AXMenu" }
2996
+ if menus.isEmpty,
2997
+ let focused = copyAttribute(app, attribute: kAXFocusedUIElementAttribute as CFString).flatMap(asAXElement)
2998
+ {
2999
+ var current: AXUIElement? = focused
3000
+ while let element = current {
3001
+ if (stringAttribute(element, attribute: kAXRoleAttribute as CFString) ?? "") == "AXMenu" {
3002
+ menus.append(element)
3003
+ break
3004
+ }
3005
+ current = copyAttribute(element, attribute: kAXParentAttribute as CFString).flatMap(asAXElement)
3006
+ }
3007
+ }
3008
+ return menus
3009
+ }
3010
+
3011
+ private func bestCandidate(for element: AXUIElement, candidates: [CGWindowCandidate]) -> CGWindowCandidate? {
3012
+ let title = stringAttribute(element, attribute: kAXTitleAttribute as CFString) ?? ""
3013
+ let frame = frameForWindow(element)
3014
+ return candidates.max { left, right in
3015
+ windowPairScore(frame: frame, title: title, candidate: left) < windowPairScore(frame: frame, title: title, candidate: right)
3016
+ }
3017
+ }
3018
+
3019
+ private func pairingForWindow(_ window: AXUIElement, pid: Int32) -> WindowPairing {
3020
+ windowPairings(windows: [window], candidates: cgWindowCandidates(pid: pid))[ObjectIdentifier(window)] ?? WindowPairing(candidate: nil, score: -Double.greatestFiniteMagnitude, confidence: "low")
3021
+ }
3022
+
3023
+ private func windowPairings(windows: [AXUIElement], candidates: [CGWindowCandidate]) -> [ObjectIdentifier: WindowPairing] {
3024
+ var pairs: [(window: AXUIElement, candidate: CGWindowCandidate, score: Double)] = []
3025
+ for window in windows {
3026
+ let title = stringAttribute(window, attribute: kAXTitleAttribute as CFString) ?? ""
3027
+ let frame = frameForWindow(window)
3028
+ for candidate in candidates {
3029
+ pairs.append((window, candidate, windowPairScore(frame: frame, title: title, candidate: candidate)))
3030
+ }
3031
+ }
3032
+ pairs.sort { $0.score > $1.score }
3033
+ var output: [ObjectIdentifier: WindowPairing] = [:]
3034
+ var usedWindows = Set<ObjectIdentifier>()
3035
+ var usedCandidateIds = Set<UInt32>()
3036
+ for pair in pairs {
3037
+ let key = ObjectIdentifier(pair.window)
3038
+ if usedWindows.contains(key) || usedCandidateIds.contains(pair.candidate.windowId) { continue }
3039
+ usedWindows.insert(key)
3040
+ usedCandidateIds.insert(pair.candidate.windowId)
3041
+ let frame = frameForWindow(pair.window)
3042
+ let title = stringAttribute(pair.window, attribute: kAXTitleAttribute as CFString) ?? ""
3043
+ output[key] = WindowPairing(candidate: pair.score >= 0 ? pair.candidate : nil, score: pair.score, confidence: pairingConfidence(frame: frame, title: title, candidate: pair.candidate, score: pair.score))
3044
+ }
3045
+ for window in windows {
3046
+ let key = ObjectIdentifier(window)
3047
+ if output[key] == nil {
3048
+ output[key] = WindowPairing(candidate: nil, score: -Double.greatestFiniteMagnitude, confidence: "low")
3049
+ }
3050
+ }
3051
+ return output
3052
+ }
3053
+
3054
+ private func windowPairScore(frame: CGRect, title: String, candidate: CGWindowCandidate) -> Double {
3055
+ var score = 0.0
3056
+ let normalizedTitle = title.trimmingCharacters(in: .whitespacesAndNewlines).lowercased()
3057
+ let candidateTitle = candidate.title.trimmingCharacters(in: .whitespacesAndNewlines).lowercased()
3058
+ if !normalizedTitle.isEmpty && !candidateTitle.isEmpty {
3059
+ if normalizedTitle == candidateTitle {
3060
+ score += 100
3061
+ } else if normalizedTitle.contains(candidateTitle) || candidateTitle.contains(normalizedTitle) {
3062
+ score += 50
3063
+ }
3064
+ }
3065
+ if frame.width > 1 && frame.height > 1 {
3066
+ let dx = abs(candidate.bounds.origin.x - frame.origin.x)
3067
+ let dy = abs(candidate.bounds.origin.y - frame.origin.y)
3068
+ let dw = abs(candidate.bounds.size.width - frame.size.width)
3069
+ let dh = abs(candidate.bounds.size.height - frame.size.height)
3070
+ score -= Double(dx + dy + dw + dh) / 20.0
3071
+ }
3072
+ if candidate.isOnscreen { score += 10 }
3073
+ return score
3074
+ }
3075
+
3076
+ private func pairingConfidence(frame: CGRect, title: String, candidate: CGWindowCandidate, score: Double) -> String {
3077
+ guard frame.width > 1 && frame.height > 1 else { return "low" }
3078
+ let normalizedTitle = title.trimmingCharacters(in: .whitespacesAndNewlines).lowercased()
3079
+ let candidateTitle = candidate.title.trimmingCharacters(in: .whitespacesAndNewlines).lowercased()
3080
+ let titleEqual = !normalizedTitle.isEmpty && !candidateTitle.isEmpty && normalizedTitle == candidateTitle
3081
+ let geometryExact = abs(frame.origin.x - candidate.bounds.origin.x) <= 2 && abs(frame.origin.y - candidate.bounds.origin.y) <= 2 && abs(frame.width - candidate.bounds.width) <= 2 && abs(frame.height - candidate.bounds.height) <= 2
3082
+ if titleEqual && geometryExact { return "exact" }
3083
+ if score >= 50 { return "high" }
3084
+ return "low"
3085
+ }
3086
+
3087
+ private func displayScaleFactor(for frame: CGRect) -> Double {
3088
+ var displayCount: UInt32 = 0
3089
+ guard CGGetOnlineDisplayList(0, nil, &displayCount) == .success, displayCount > 0 else {
3090
+ return Double(NSScreen.main?.backingScaleFactor ?? 1.0)
3091
+ }
3092
+
3093
+ var displays = Array(repeating: CGDirectDisplayID(), count: Int(displayCount))
3094
+ guard CGGetOnlineDisplayList(displayCount, &displays, &displayCount) == .success else {
3095
+ return Double(NSScreen.main?.backingScaleFactor ?? 1.0)
3096
+ }
3097
+
3098
+ var chosenDisplay: CGDirectDisplayID?
3099
+ var chosenArea: CGFloat = -1
3100
+ for display in displays {
3101
+ let bounds = CGDisplayBounds(display)
3102
+ let overlap = bounds.intersection(frame)
3103
+ let area = overlap.isNull ? 0 : overlap.width * overlap.height
3104
+ if area > chosenArea {
3105
+ chosenArea = area
3106
+ chosenDisplay = display
3107
+ }
3108
+ }
3109
+
3110
+ guard let display = chosenDisplay, let mode = CGDisplayCopyDisplayMode(display) else {
3111
+ return Double(NSScreen.main?.backingScaleFactor ?? 1.0)
3112
+ }
3113
+
3114
+ let width = Double(mode.width)
3115
+ guard width > 0 else { return 1.0 }
3116
+ let scale = Double(mode.pixelWidth) / width
3117
+ return scale > 0 ? scale : 1.0
3118
+ }
3119
+
3120
+ private func captureWindow(windowId: UInt32) throws -> CapturedWindowImage {
3121
+ if #available(macOS 14.0, *) {
3122
+ let semaphore = DispatchSemaphore(value: 0)
3123
+ let capturedImage = Box<CGImage?>(nil)
3124
+ let capturedError = Box<Error?>(nil)
3125
+
3126
+ let task = Task {
3127
+ defer { semaphore.signal() }
3128
+ do {
3129
+ if Task.isCancelled {
3130
+ return
3131
+ }
3132
+ let shareable = try await SCShareableContent.excludingDesktopWindows(false, onScreenWindowsOnly: false)
3133
+ guard let window = shareable.windows.first(where: { $0.windowID == windowId }) else {
3134
+ throw BridgeFailure(message: "Window \(windowId) is not available for capture", code: "window_not_found")
3135
+ }
3136
+
3137
+ let filter = SCContentFilter(desktopIndependentWindow: window)
3138
+ let config = SCStreamConfiguration()
3139
+ config.showsCursor = false
3140
+ config.ignoreShadowsSingleWindow = true
3141
+
3142
+ let image = try await SCScreenshotManager.captureImage(contentFilter: filter, configuration: config)
3143
+ capturedImage.value = image
3144
+ } catch {
3145
+ capturedError.value = error
3146
+ }
3147
+ }
3148
+
3149
+ if semaphore.wait(timeout: .now() + .seconds(8)) == .timedOut {
3150
+ task.cancel()
3151
+ if let payload = try cgWindowScreenshotFallback(windowId: windowId) {
3152
+ return payload
3153
+ }
3154
+ throw BridgeFailure(message: "Capture timed out while capturing window \(windowId)", code: "capture_timeout")
3155
+ }
3156
+
3157
+ if let error = capturedError.value {
3158
+ if let payload = try cgWindowScreenshotFallback(windowId: windowId) {
3159
+ return payload
3160
+ }
3161
+ if let failure = error as? BridgeFailure {
3162
+ throw failure
3163
+ }
3164
+ throw BridgeFailure(message: "Capture failed: \(error.localizedDescription)", code: "capture_failed")
3165
+ }
3166
+
3167
+ guard let image = capturedImage.value else {
3168
+ if let payload = try cgWindowScreenshotFallback(windowId: windowId) {
3169
+ return payload
3170
+ }
3171
+ throw BridgeFailure(message: "Capture failed", code: "capture_failed")
3172
+ }
3173
+
3174
+ return CapturedWindowImage(image: image, windowId: windowId, frame: currentWindowBounds(windowId: windowId) ?? CGRect(x: 0, y: 0, width: image.width, height: image.height))
3175
+ }
3176
+ if let payload = try cgWindowScreenshotFallback(windowId: windowId) {
3177
+ return payload
3178
+ }
3179
+ throw BridgeFailure(message: "Capture failed", code: "capture_failed")
3180
+ }
3181
+
3182
+ private func jpegData(image: CGImage, quality: Double) -> Data? {
3183
+ let data = NSMutableData()
3184
+ guard let destination = CGImageDestinationCreateWithData(data, "public.jpeg" as CFString, 1, nil) else { return nil }
3185
+ CGImageDestinationAddImage(destination, image, [kCGImageDestinationLossyCompressionQuality: quality] as CFDictionary)
3186
+ guard CGImageDestinationFinalize(destination) else { return nil }
3187
+ return data as Data
3188
+ }
3189
+
3190
+ private func downscaledImage(_ image: CGImage, maxDimension: Int?) -> CGImage? {
3191
+ guard let maxDimension, max(image.width, image.height) > maxDimension else { return nil }
3192
+ let scale = Double(maxDimension) / Double(max(image.width, image.height))
3193
+ let width = max(1, Int(Double(image.width) * scale))
3194
+ let height = max(1, Int(Double(image.height) * scale))
3195
+ guard let context = CGContext(
3196
+ data: nil,
3197
+ width: width,
3198
+ height: height,
3199
+ bitsPerComponent: image.bitsPerComponent,
3200
+ bytesPerRow: 0,
3201
+ space: image.colorSpace ?? CGColorSpaceCreateDeviceRGB(),
3202
+ bitmapInfo: image.bitmapInfo.rawValue
3203
+ ) else { return nil }
3204
+ context.interpolationQuality = .medium
3205
+ context.draw(image, in: CGRect(x: 0, y: 0, width: width, height: height))
3206
+ return context.makeImage()
3207
+ }
3208
+
3209
+ private func cgWindowScreenshotFallback(windowId: UInt32) throws -> CapturedWindowImage? {
3210
+ if let payload = try systemScreenshotWindow(windowId: windowId) {
3211
+ return payload
3212
+ }
3213
+ return nil
3214
+ }
3215
+
3216
+ private func systemScreenshotWindow(windowId: UInt32) throws -> CapturedWindowImage? {
3217
+ let tempUrl = FileManager.default.temporaryDirectory.appendingPathComponent("pi-cu-\(UUID().uuidString).png")
3218
+ defer { try? FileManager.default.removeItem(at: tempUrl) }
3219
+ // Owner-only perms in case TMPDIR ever resolves to a shared directory.
3220
+ FileManager.default.createFile(atPath: tempUrl.path, contents: nil, attributes: [.posixPermissions: 0o600])
3221
+
3222
+ let process = Process()
3223
+ process.executableURL = URL(fileURLWithPath: "/usr/sbin/screencapture")
3224
+ process.arguments = ["-x", "-l", String(windowId), tempUrl.path]
3225
+ try process.run()
3226
+ let deadline = Date().addingTimeInterval(5)
3227
+ while process.isRunning && Date() < deadline {
3228
+ Thread.sleep(forTimeInterval: 0.05)
3229
+ }
3230
+ if process.isRunning {
3231
+ process.terminate()
3232
+ Thread.sleep(forTimeInterval: 0.1)
3233
+ if process.isRunning { process.interrupt() }
3234
+ return nil
3235
+ }
3236
+ guard process.terminationStatus == 0 else { return nil }
3237
+ guard let data = try? Data(contentsOf: tempUrl), !data.isEmpty else { return nil }
3238
+ guard let imageRep = NSBitmapImageRep(data: data), let cgImage = imageRep.cgImage else { return nil }
3239
+ return CapturedWindowImage(image: cgImage, windowId: windowId, frame: currentWindowBounds(windowId: windowId) ?? CGRect(x: 0, y: 0, width: cgImage.width, height: cgImage.height))
3240
+ }
3241
+
3242
+ private func currentWindowBounds(windowId: UInt32) -> CGRect? {
3243
+ if #available(macOS 14.0, *), let scBounds = currentWindowBoundsViaScreenCaptureKit(windowId: windowId) {
3244
+ return scBounds
3245
+ }
3246
+ return windowInfo(windowId: windowId)?.bounds
3247
+ }
3248
+
3249
+ private func windowInfo(windowId: UInt32) -> (pid: Int32, bounds: CGRect)? {
3250
+ func matchingEntry(_ entries: [[String: Any]]?) -> [String: Any]? {
3251
+ entries?.first {
3252
+ ($0[kCGWindowNumber as String] as? NSNumber)?.uint32Value == windowId
3253
+ }
3254
+ }
3255
+
3256
+ let requestedIds = [NSNumber(value: windowId)] as CFArray
3257
+ let targetedEntries = CGWindowListCreateDescriptionFromArray(requestedIds) as? [[String: Any]]
3258
+ let entry = matchingEntry(targetedEntries) ?? matchingEntry(
3259
+ CGWindowListCopyWindowInfo([.optionAll], kCGNullWindowID) as? [[String: Any]]
3260
+ )
3261
+ guard let entry,
3262
+ let pid = (entry[kCGWindowOwnerPID as String] as? NSNumber)?.int32Value,
3263
+ let boundsDict = entry[kCGWindowBounds as String] as? [String: Any],
3264
+ let bounds = CGRect(dictionaryRepresentation: boundsDict as CFDictionary)
3265
+ else {
3266
+ return nil
3267
+ }
3268
+ return (pid, bounds)
3269
+ }
3270
+
3271
+ @available(macOS 14.0, *)
3272
+ private func currentWindowBoundsViaScreenCaptureKit(windowId: UInt32) -> CGRect? {
3273
+ let semaphore = DispatchSemaphore(value: 0)
3274
+ let output = Box<CGRect?>(nil)
3275
+
3276
+ let task = Task {
3277
+ defer { semaphore.signal() }
3278
+ do {
3279
+ if Task.isCancelled {
3280
+ return
3281
+ }
3282
+ let shareable = try await SCShareableContent.excludingDesktopWindows(false, onScreenWindowsOnly: false)
3283
+ if let window = shareable.windows.first(where: { $0.windowID == windowId }) {
3284
+ output.value = window.frame
3285
+ }
3286
+ } catch {
3287
+ output.value = nil
3288
+ }
3289
+ }
3290
+
3291
+ if semaphore.wait(timeout: .now() + .seconds(2)) == .timedOut {
3292
+ task.cancel()
3293
+ return nil
3294
+ }
3295
+ return output.value
3296
+ }
3297
+
3298
+ private func eventDelivery(_ request: [String: Any]) -> String {
3299
+ optionalStringArg(request, "delivery") == "pid" ? "pid" : "hid"
3300
+ }
3301
+
3302
+ private func postEvent(_ event: CGEvent, pid: Int32, delivery: String = "hid") {
3303
+ if delivery == "pid" {
3304
+ event.postToPid(pid)
3305
+ return
3306
+ }
3307
+ // Post as a real foreground HID event. AppKit views with mouseDown handlers
3308
+ // can ignore pid-targeted CGEvents even though postToPid reports success.
3309
+ // Keep the target app frontmost so the HID event is delivered to the intended
3310
+ // window, then post at the session event tap.
3311
+ if let app = NSRunningApplication(processIdentifier: pid), !app.isActive {
3312
+ if #available(macOS 14.0, *) {
3313
+ _ = app.activate()
3314
+ } else {
3315
+ _ = app.activate(options: [.activateIgnoringOtherApps])
3316
+ }
3317
+ usleep(20_000)
3318
+ }
3319
+ event.post(tap: .cghidEventTap)
3320
+ }
3321
+
3322
+ private func postMouseMove(to point: CGPoint, pid: Int32, delivery: String = "hid") throws {
3323
+ if delivery == "hid" { physicalInputLock.lock() }
3324
+ defer { if delivery == "hid" { physicalInputLock.unlock() } }
3325
+ guard let move = CGEvent(mouseEventSource: nil, mouseType: .mouseMoved, mouseCursorPosition: point, mouseButton: .left) else {
3326
+ throw BridgeFailure(message: "Failed to create mouse move event", code: "input_failed")
3327
+ }
3328
+ postEvent(move, pid: pid, delivery: delivery)
3329
+ }
3330
+
3331
+ private func mouseButton(_ name: String) -> CGMouseButton {
3332
+ switch name.trimmingCharacters(in: .whitespacesAndNewlines).lowercased() {
3333
+ case "right":
3334
+ return .right
3335
+ case "middle", "center":
3336
+ return .center
3337
+ default:
3338
+ return .left
3339
+ }
3340
+ }
3341
+
3342
+ private func mouseDownType(for button: CGMouseButton) -> CGEventType {
3343
+ switch button {
3344
+ case .right:
3345
+ return .rightMouseDown
3346
+ case .center:
3347
+ return .otherMouseDown
3348
+ default:
3349
+ return .leftMouseDown
3350
+ }
3351
+ }
3352
+
3353
+ private func mouseUpType(for button: CGMouseButton) -> CGEventType {
3354
+ switch button {
3355
+ case .right:
3356
+ return .rightMouseUp
3357
+ case .center:
3358
+ return .otherMouseUp
3359
+ default:
3360
+ return .leftMouseUp
3361
+ }
3362
+ }
3363
+
3364
+ private func mouseDraggedType(for button: CGMouseButton) -> CGEventType {
3365
+ switch button {
3366
+ case .right:
3367
+ return .rightMouseDragged
3368
+ case .center:
3369
+ return .otherMouseDragged
3370
+ default:
3371
+ return .leftMouseDragged
3372
+ }
3373
+ }
3374
+
3375
+ private func postMouseClick(at point: CGPoint, pid: Int32, button: CGMouseButton = .left, clickCount: Int = 1, delivery: String = "hid") throws {
3376
+ if delivery == "hid" { physicalInputLock.lock() }
3377
+ defer { if delivery == "hid" { physicalInputLock.unlock() } }
3378
+ try postMouseMove(to: point, pid: pid, delivery: delivery)
3379
+ for index in 1...max(1, clickCount) {
3380
+ guard let down = CGEvent(mouseEventSource: nil, mouseType: mouseDownType(for: button), mouseCursorPosition: point, mouseButton: button),
3381
+ let up = CGEvent(mouseEventSource: nil, mouseType: mouseUpType(for: button), mouseCursorPosition: point, mouseButton: button)
3382
+ else {
3383
+ throw BridgeFailure(message: "Failed to create mouse click event", code: "input_failed")
3384
+ }
3385
+ down.setIntegerValueField(.mouseEventClickState, value: Int64(index))
3386
+ up.setIntegerValueField(.mouseEventClickState, value: Int64(index))
3387
+ postEvent(down, pid: pid, delivery: delivery)
3388
+ usleep(12_000)
3389
+ postEvent(up, pid: pid, delivery: delivery)
3390
+ if index < clickCount {
3391
+ usleep(70_000)
3392
+ }
3393
+ }
3394
+ }
3395
+
3396
+ private func postMouseDrag(points: [CGPoint], pid: Int32, delivery: String = "hid") throws {
3397
+ if delivery == "hid" { physicalInputLock.lock() }
3398
+ defer { if delivery == "hid" { physicalInputLock.unlock() } }
3399
+ guard points.count >= 2, let first = points.first else {
3400
+ throw BridgeFailure(message: "Drag requires at least two points", code: "invalid_args")
3401
+ }
3402
+ try postMouseMove(to: first, pid: pid, delivery: delivery)
3403
+ guard let down = CGEvent(mouseEventSource: nil, mouseType: .leftMouseDown, mouseCursorPosition: first, mouseButton: .left) else {
3404
+ throw BridgeFailure(message: "Failed to create mouse down event", code: "input_failed")
3405
+ }
3406
+ postEvent(down, pid: pid, delivery: delivery)
3407
+ usleep(12_000)
3408
+
3409
+ for point in points.dropFirst() {
3410
+ guard let drag = CGEvent(mouseEventSource: nil, mouseType: mouseDraggedType(for: .left), mouseCursorPosition: point, mouseButton: .left) else {
3411
+ throw BridgeFailure(message: "Failed to create mouse drag event", code: "input_failed")
3412
+ }
3413
+ postEvent(drag, pid: pid, delivery: delivery)
3414
+ usleep(8_000)
3415
+ }
3416
+
3417
+ guard let last = points.last,
3418
+ let up = CGEvent(mouseEventSource: nil, mouseType: .leftMouseUp, mouseCursorPosition: last, mouseButton: .left)
3419
+ else {
3420
+ throw BridgeFailure(message: "Failed to create mouse up event", code: "input_failed")
3421
+ }
3422
+ postEvent(up, pid: pid, delivery: delivery)
3423
+ }
3424
+
3425
+ private func postScrollWheel(at point: CGPoint, deltaX: Int, deltaY: Int, pid: Int32, delivery: String = "hid") throws {
3426
+ if delivery == "hid" { physicalInputLock.lock() }
3427
+ defer { if delivery == "hid" { physicalInputLock.unlock() } }
3428
+ try postMouseMove(to: point, pid: pid, delivery: delivery)
3429
+ guard let event = CGEvent(
3430
+ scrollWheelEvent2Source: nil,
3431
+ units: .pixel,
3432
+ wheelCount: 2,
3433
+ wheel1: Int32(-deltaY),
3434
+ wheel2: Int32(deltaX),
3435
+ wheel3: 0
3436
+ ) else {
3437
+ throw BridgeFailure(message: "Failed to create scroll event", code: "input_failed")
3438
+ }
3439
+ event.location = point
3440
+ postEvent(event, pid: pid, delivery: delivery)
3441
+ }
3442
+
3443
+ private func modifierFlag(_ key: String) -> CGEventFlags? {
3444
+ switch key.trimmingCharacters(in: .whitespacesAndNewlines).lowercased() {
3445
+ case "cmd", "command", "meta":
3446
+ return .maskCommand
3447
+ case "ctrl", "control":
3448
+ return .maskControl
3449
+ case "shift":
3450
+ return .maskShift
3451
+ case "option", "alt":
3452
+ return .maskAlternate
3453
+ default:
3454
+ return nil
3455
+ }
3456
+ }
3457
+
3458
+ private func keyCode(_ key: String) -> CGKeyCode? {
3459
+ let normalized = key.trimmingCharacters(in: .whitespacesAndNewlines).lowercased()
3460
+ let table: [String: CGKeyCode] = [
3461
+ "a": 0, "s": 1, "d": 2, "f": 3, "h": 4, "g": 5, "z": 6, "x": 7, "c": 8, "v": 9, "b": 11,
3462
+ "q": 12, "w": 13, "e": 14, "r": 15, "y": 16, "t": 17, "1": 18, "2": 19, "3": 20, "4": 21,
3463
+ "6": 22, "5": 23, "=": 24, "+": 24, "9": 25, "7": 26, "-": 27, "8": 28, "0": 29,
3464
+ "]": 30, "o": 31, "u": 32, "[": 33, "i": 34, "p": 35, "return": 36, "enter": 36,
3465
+ "l": 37, "j": 38, "'": 39, "\"": 39, "k": 40, ";": 41, "\\": 42, ",": 43, "/": 44,
3466
+ "n": 45, "m": 46, ".": 47, "tab": 48, "space": 49, " ": 49, "`": 50, "~": 50,
3467
+ "backspace": 51, "delete": 51, "del": 51, "esc": 53, "escape": 53,
3468
+ "f1": 122, "f2": 120, "f3": 99, "f4": 118, "f5": 96, "f6": 97, "f7": 98, "f8": 100,
3469
+ "f9": 101, "f10": 109, "f11": 103, "f12": 111,
3470
+ "home": 115, "pageup": 116, "page_up": 116, "page down": 121, "pagedown": 121, "page_down": 121,
3471
+ "forwarddelete": 117, "forward_delete": 117, "end": 119,
3472
+ "left": 123, "arrowleft": 123, "arrow_left": 123,
3473
+ "right": 124, "arrowright": 124, "arrow_right": 124,
3474
+ "down": 125, "arrowdown": 125, "arrow_down": 125,
3475
+ "up": 126, "arrowup": 126, "arrow_up": 126,
3476
+ ]
3477
+ return table[normalized]
3478
+ }
3479
+
3480
+ private func keyChord(_ keys: [String]) -> (flags: CGEventFlags, key: String)? {
3481
+ guard keys.count >= 2 else { return nil }
3482
+ var flags = CGEventFlags()
3483
+ for key in keys.dropLast() {
3484
+ guard let flag = modifierFlag(key) else {
3485
+ return nil
3486
+ }
3487
+ flags.insert(flag)
3488
+ }
3489
+ return (flags, keys.last ?? "")
3490
+ }
3491
+
3492
+ private func postKeyPress(keys: [String], pid: Int32, delivery: String = "hid") throws {
3493
+ if delivery == "hid" { physicalInputLock.lock() }
3494
+ defer { if delivery == "hid" { physicalInputLock.unlock() } }
3495
+ if let chord = keyChord(keys) {
3496
+ try postKey(chord.key, flags: chord.flags, pid: pid, delivery: delivery)
3497
+ return
3498
+ }
3499
+
3500
+ for key in keys {
3501
+ let parts = key
3502
+ .split(separator: "+")
3503
+ .map { String($0).trimmingCharacters(in: .whitespacesAndNewlines) }
3504
+ .filter { !$0.isEmpty }
3505
+ if let chord = keyChord(parts) {
3506
+ try postKey(chord.key, flags: chord.flags, pid: pid, delivery: delivery)
3507
+ } else {
3508
+ try postKey(key, flags: [], pid: pid, delivery: delivery)
3509
+ }
3510
+ }
3511
+ }
3512
+
3513
+ private func postKey(_ key: String, flags: CGEventFlags, pid: Int32, delivery: String = "hid") throws {
3514
+ if delivery == "hid" { physicalInputLock.lock() }
3515
+ defer { if delivery == "hid" { physicalInputLock.unlock() } }
3516
+ guard let code = keyCode(key) else {
3517
+ if key.count == 1 {
3518
+ try postUnicodeText(key, pid: pid, delivery: delivery)
3519
+ return
3520
+ }
3521
+ throw BridgeFailure(message: "Unsupported key '\(key)'", code: "invalid_args")
3522
+ }
3523
+ guard let down = CGEvent(keyboardEventSource: nil, virtualKey: code, keyDown: true),
3524
+ let up = CGEvent(keyboardEventSource: nil, virtualKey: code, keyDown: false)
3525
+ else {
3526
+ throw BridgeFailure(message: "Failed to create key event", code: "input_failed")
3527
+ }
3528
+ down.flags = flags
3529
+ up.flags = flags
3530
+ postEvent(down, pid: pid, delivery: delivery)
3531
+ postEvent(up, pid: pid, delivery: delivery)
3532
+ usleep(8_000)
3533
+ }
3534
+
3535
+ private func postUnicodeText(_ text: String, pid: Int32, delivery: String = "hid") throws {
3536
+ if delivery == "hid" { physicalInputLock.lock() }
3537
+ defer { if delivery == "hid" { physicalInputLock.unlock() } }
3538
+ for scalar in text.unicodeScalars {
3539
+ let char = String(scalar)
3540
+ if let stroke = physicalKeyStroke(for: char) {
3541
+ try postKey(stroke.key, flags: stroke.flags, pid: pid, delivery: delivery)
3542
+ continue
3543
+ }
3544
+ guard let down = CGEvent(keyboardEventSource: nil, virtualKey: 0, keyDown: true),
3545
+ let up = CGEvent(keyboardEventSource: nil, virtualKey: 0, keyDown: false)
3546
+ else {
3547
+ throw BridgeFailure(message: "Failed to create unicode key event", code: "input_failed")
3548
+ }
3549
+ setUnicodeString(event: down, text: char)
3550
+ setUnicodeString(event: up, text: char)
3551
+ postEvent(down, pid: pid, delivery: delivery)
3552
+ postEvent(up, pid: pid, delivery: delivery)
3553
+ usleep(8_000)
3554
+ }
3555
+ }
3556
+
3557
+ private func postAtomicUnicodeText(_ text: String, pid: Int32, delivery: String = "hid") throws {
3558
+ if delivery == "hid" { physicalInputLock.lock() }
3559
+ defer { if delivery == "hid" { physicalInputLock.unlock() } }
3560
+ guard let down = CGEvent(keyboardEventSource: nil, virtualKey: 0, keyDown: true),
3561
+ let up = CGEvent(keyboardEventSource: nil, virtualKey: 0, keyDown: false)
3562
+ else { throw BridgeFailure(message: "Failed to create unicode text event", code: "input_failed") }
3563
+ setUnicodeString(event: down, text: text)
3564
+ setUnicodeString(event: up, text: text)
3565
+ postEvent(down, pid: pid, delivery: delivery)
3566
+ usleep(8_000)
3567
+ postEvent(up, pid: pid, delivery: delivery)
3568
+ }
3569
+
3570
+ /// Prefer physical key codes for characters represented by the US layout.
3571
+ /// AppKit field editors can observe synthetic Unicode events without applying
3572
+ /// them to the backing value, while normal key codes follow the same input
3573
+ /// path as a user keystroke. Unicode synthesis remains the fallback for text
3574
+ /// that has no direct key representation.
3575
+ private func physicalKeyStroke(for character: String) -> (key: String, flags: CGEventFlags)? {
3576
+ guard character.count == 1 else { return nil }
3577
+ if character >= "a" && character <= "z" { return (character, []) }
3578
+ if character >= "A" && character <= "Z" { return (character.lowercased(), [.maskShift]) }
3579
+ if character >= "0" && character <= "9" { return (character, []) }
3580
+ switch character {
3581
+ case " ": return ("space", [])
3582
+ case ".", ",", "/", "-", "=", ";", "'", "[", "]", "\\", "`": return (character, [])
3583
+ case "_": return ("-", [.maskShift])
3584
+ case "+": return ("=", [.maskShift])
3585
+ case ":": return (";", [.maskShift])
3586
+ case "\"": return ("'", [.maskShift])
3587
+ case "?": return ("/", [.maskShift])
3588
+ case "<": return (",", [.maskShift])
3589
+ case ">": return (".", [.maskShift])
3590
+ default: return nil
3591
+ }
3592
+ }
3593
+
3594
+ private func setUnicodeString(event: CGEvent, text: String) {
3595
+ var utf16 = Array(text.utf16)
3596
+ utf16.withUnsafeMutableBufferPointer { buffer in
3597
+ guard let base = buffer.baseAddress else { return }
3598
+ event.keyboardSetUnicodeString(stringLength: buffer.count, unicodeString: base)
3599
+ }
3600
+ }
3601
+
3602
+ }
3603
+
3604
+ @main
3605
+ struct PiComputerUseHelper {
3606
+ static func main() {
3607
+ _ = NSApplication.shared
3608
+ NSApp.setActivationPolicy(CommandLine.arguments.contains("serve") ? .accessory : .prohibited)
3609
+ Bridge().run()
3610
+ }
3611
+ }