oh-my-opencode 4.9.2 → 4.11.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 (1799) hide show
  1. package/.agents/skills/codex-qa/SKILL.md +96 -0
  2. package/.agents/skills/codex-qa/references/app-server.md +63 -0
  3. package/.agents/skills/codex-qa/references/components-hooks.md +38 -0
  4. package/.agents/skills/codex-qa/references/docker-qa.md +62 -0
  5. package/.agents/skills/codex-qa/references/install-verify.md +57 -0
  6. package/.agents/skills/codex-qa/references/isolation.md +57 -0
  7. package/.agents/skills/codex-qa/references/logging-debug.md +60 -0
  8. package/.agents/skills/codex-qa/scripts/app-server-drive.sh +76 -0
  9. package/.agents/skills/codex-qa/scripts/hook-unit-probe.sh +69 -0
  10. package/.agents/skills/codex-qa/scripts/install-verify.sh +60 -0
  11. package/.agents/skills/codex-qa/scripts/lib/app-server-client.mjs +117 -0
  12. package/.agents/skills/codex-qa/scripts/lib/common.sh +180 -0
  13. package/.agents/skills/codex-qa/scripts/lib/mock-model.mjs +56 -0
  14. package/.agents/skills/codex-qa/scripts/tui-smoke.sh +71 -0
  15. package/.agents/skills/opencode-qa/SKILL.md +8 -1
  16. package/.agents/skills/opencode-qa/references/docker-qa.md +72 -0
  17. package/.agents/skills/opencode-qa/scripts/lib/common.sh +39 -1
  18. package/.agents/skills/tech-debt-audit/SKILL.md +277 -0
  19. package/.agents/skills/work-with-pr/SKILL.md +77 -53
  20. package/.agents/skills/work-with-pr-workspace/iteration-1/eval-5/with_skill/outputs/execution-plan.md +1 -1
  21. package/.opencode/skills/work-with-pr/SKILL.md +79 -55
  22. package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-5/with_skill/outputs/execution-plan.md +1 -1
  23. package/README.ja.md +3 -3
  24. package/README.ko.md +3 -3
  25. package/README.md +2 -2
  26. package/README.ru.md +3 -3
  27. package/README.zh-cn.md +3 -3
  28. package/THIRD-PARTY-NOTICES.md +205 -0
  29. package/bin/platform.js +5 -0
  30. package/bin/platform.test.ts +56 -0
  31. package/dist/agents/atlas/agent.d.ts +4 -3
  32. package/dist/agents/dynamic-agent-prompt-types.d.ts +1 -1
  33. package/dist/agents/gpt-apply-patch-guard.d.ts +2 -2
  34. package/dist/agents/hephaestus/agent.d.ts +5 -0
  35. package/dist/agents/hephaestus/index.d.ts +1 -1
  36. package/dist/agents/index.d.ts +0 -1
  37. package/dist/agents/metis.d.ts +1 -0
  38. package/dist/agents/prometheus/index.d.ts +0 -1
  39. package/dist/agents/prometheus/system-prompt.d.ts +0 -2
  40. package/dist/agents/sisyphus/kimi-k2-7.d.ts +17 -0
  41. package/dist/agents/sisyphus-junior/agent.d.ts +1 -1
  42. package/dist/agents/sisyphus-junior/kimi-k2-7.d.ts +11 -0
  43. package/dist/agents/types.d.ts +2 -2
  44. package/dist/cli/config-manager/add-tui-plugin-to-tui-config.d.ts +7 -0
  45. package/dist/cli/doctor/checks/codex-components.d.ts +13 -0
  46. package/dist/cli/doctor/checks/codex-runtime-wrapper.d.ts +7 -0
  47. package/dist/cli/doctor/checks/codex.d.ts +1 -1
  48. package/dist/cli/doctor/checks/config.d.ts +1 -1
  49. package/dist/cli/doctor/checks/dependencies.d.ts +1 -2
  50. package/dist/cli/doctor/checks/index.d.ts +1 -1
  51. package/dist/cli/doctor/checks/model-resolution.d.ts +1 -1
  52. package/dist/cli/doctor/checks/system.d.ts +1 -1
  53. package/dist/cli/doctor/checks/team-mode.d.ts +1 -1
  54. package/dist/cli/doctor/checks/tools-gh.d.ts +1 -1
  55. package/dist/cli/doctor/checks/tools-mcp.d.ts +1 -1
  56. package/dist/cli/doctor/checks/tools.d.ts +2 -1
  57. package/dist/cli/doctor/checks/tui-plugin-config.d.ts +8 -1
  58. package/dist/cli/doctor/framework/constants.d.ts +32 -0
  59. package/dist/cli/doctor/framework/spawn-with-timeout.d.ts +8 -0
  60. package/dist/cli/doctor/framework/types.d.ts +147 -0
  61. package/dist/cli/doctor/index.d.ts +4 -4
  62. package/dist/cli/doctor/runner.d.ts +1 -1
  63. package/dist/cli/index.js +10353 -7521
  64. package/dist/cli/install-ast-grep-sg.d.ts +10 -0
  65. package/dist/cli/install-codex/codex-cache-bins.d.ts +1 -21
  66. package/dist/cli/install-codex/codex-cache-bundled-mcps.d.ts +1 -5
  67. package/dist/cli/install-codex/codex-cache-command-shim.d.ts +1 -1
  68. package/dist/cli/install-codex/codex-cache-fs.d.ts +1 -3
  69. package/dist/cli/install-codex/codex-cache-install.d.ts +1 -13
  70. package/dist/cli/install-codex/codex-cache-legacy-bins.d.ts +1 -3
  71. package/dist/cli/install-codex/codex-cache-local-dependencies.d.ts +1 -1
  72. package/dist/cli/install-codex/codex-cache-mcp-manifest.d.ts +1 -2
  73. package/dist/cli/install-codex/codex-cache-paths.d.ts +1 -2
  74. package/dist/cli/install-codex/codex-cache-prune.d.ts +1 -10
  75. package/dist/cli/install-codex/codex-cache.d.ts +1 -4
  76. package/dist/cli/install-codex/codex-cached-marketplace-manifest.d.ts +1 -6
  77. package/dist/cli/install-codex/codex-cleanup-config.d.ts +1 -6
  78. package/dist/cli/install-codex/codex-cleanup.d.ts +1 -21
  79. package/dist/cli/install-codex/codex-config-agents.d.ts +1 -3
  80. package/dist/cli/install-codex/codex-config-features.d.ts +1 -1
  81. package/dist/cli/install-codex/codex-config-marketplaces.d.ts +1 -6
  82. package/dist/cli/install-codex/codex-config-permissions.d.ts +1 -1
  83. package/dist/cli/install-codex/codex-config-plugins.d.ts +1 -9
  84. package/dist/cli/install-codex/codex-config-reasoning.d.ts +1 -2
  85. package/dist/cli/install-codex/codex-config-toml-sections.d.ts +1 -9
  86. package/dist/cli/install-codex/codex-config-toml.d.ts +1 -13
  87. package/dist/cli/install-codex/codex-hook-trust.d.ts +1 -6
  88. package/dist/cli/install-codex/codex-installation-detection.d.ts +1 -36
  89. package/dist/cli/install-codex/codex-installer-bin-dir.d.ts +1 -8
  90. package/dist/cli/install-codex/codex-marketplace-snapshot.d.ts +1 -15
  91. package/dist/cli/install-codex/codex-marketplace.d.ts +1 -9
  92. package/dist/cli/install-codex/codex-model-catalog.d.ts +1 -13
  93. package/dist/cli/install-codex/codex-multi-agent-v2-config.d.ts +1 -12
  94. package/dist/cli/install-codex/codex-package-layout.d.ts +1 -1
  95. package/dist/cli/install-codex/codex-process.d.ts +1 -7
  96. package/dist/cli/install-codex/codex-project-local-cleanup-best-effort.d.ts +1 -7
  97. package/dist/cli/install-codex/codex-project-local-cleanup.d.ts +1 -35
  98. package/dist/cli/install-codex/git-bash.d.ts +1 -35
  99. package/dist/cli/install-codex/index.d.ts +1 -11
  100. package/dist/cli/install-codex/install-codex-test-fixtures.d.ts +34 -0
  101. package/dist/cli/install-codex/install-codex.d.ts +1 -10
  102. package/dist/cli/install-codex/lazycodex-version-stamp.d.ts +1 -19
  103. package/dist/cli/install-codex/link-cached-plugin-agents.d.ts +1 -16
  104. package/dist/cli/install-codex/lsp-daemon-reaper.d.ts +1 -5
  105. package/dist/cli/install-codex/toml-section-editor.d.ts +1 -11
  106. package/dist/cli/install-codex/types.d.ts +1 -76
  107. package/dist/cli/mcp-oauth/login.d.ts +1 -1
  108. package/dist/cli/model-fallback.d.ts +1 -0
  109. package/dist/cli/provider-availability.d.ts +2 -0
  110. package/dist/cli-node/index.js +10433 -7546
  111. package/dist/config/index.d.ts +1 -1
  112. package/dist/config/schema/agent-names.d.ts +1 -1
  113. package/dist/config/schema/agent-overrides.d.ts +80 -16
  114. package/dist/config/schema/codegraph.d.ts +9 -0
  115. package/dist/config/schema/experimental.d.ts +0 -1
  116. package/dist/config/schema/git-env-prefix.d.ts +1 -5
  117. package/dist/config/schema/hooks.d.ts +3 -1
  118. package/dist/config/schema/internal/permission.d.ts +5 -1
  119. package/dist/config/schema/monitor.d.ts +15 -0
  120. package/dist/config/schema/oh-my-opencode-config.d.ts +102 -32
  121. package/dist/config/schema/openclaw.d.ts +5 -4
  122. package/dist/config/schema/team-mode.d.ts +1 -16
  123. package/dist/config/schema/tmux.d.ts +4 -5
  124. package/dist/config/schema/tui.d.ts +10 -0
  125. package/dist/config/schema.d.ts +2 -0
  126. package/dist/config/validate.d.ts +8 -0
  127. package/dist/create-hooks.d.ts +5 -1
  128. package/dist/create-managers.d.ts +7 -0
  129. package/dist/create-runtime-tmux-config.d.ts +1 -1
  130. package/dist/create-tools.d.ts +1 -1
  131. package/dist/features/background-agent/error-classifier.d.ts +2 -2
  132. package/dist/features/background-agent/index.d.ts +1 -1
  133. package/dist/features/background-agent/manager.d.ts +35 -2
  134. package/dist/features/background-agent/parent-wake-dispatched-tracker.d.ts +8 -0
  135. package/dist/features/background-agent/parent-wake-notifier.d.ts +4 -0
  136. package/dist/features/background-agent/spawner/fallback-agent.d.ts +3 -2
  137. package/dist/features/background-agent/spawner/task-prompt-body.d.ts +5 -6
  138. package/dist/features/background-agent/task-snapshot.d.ts +2 -0
  139. package/dist/features/background-agent/types.d.ts +9 -0
  140. package/dist/features/builtin-commands/templates/refactor-sections/intro-and-analysis.d.ts +1 -1
  141. package/dist/features/builtin-commands/templates/refactor-sections/plan-and-execution.d.ts +1 -1
  142. package/dist/features/builtin-commands/templates/refactor-sections/team-mode-addendum.d.ts +1 -1
  143. package/dist/features/builtin-commands/templates/refactor-sections/verification-and-tooling.d.ts +1 -1
  144. package/dist/features/builtin-commands/templates/remove-ai-slops.d.ts +1 -1
  145. package/dist/features/builtin-skills/index.d.ts +1 -2
  146. package/dist/features/builtin-skills/skill-file-loader.d.ts +1 -4
  147. package/dist/features/builtin-skills/skills/agent-browser-skill.d.ts +1 -2
  148. package/dist/features/builtin-skills/skills/agent-browser-template.d.ts +1 -2
  149. package/dist/features/builtin-skills/skills/debugging.d.ts +1 -2
  150. package/dist/features/builtin-skills/skills/dev-browser.d.ts +1 -2
  151. package/dist/features/builtin-skills/skills/frontend.d.ts +1 -0
  152. package/dist/features/builtin-skills/skills/git-master-sections/commit-atomic-planning.d.ts +1 -1
  153. package/dist/features/builtin-skills/skills/git-master-sections/commit-context-analysis.d.ts +1 -1
  154. package/dist/features/builtin-skills/skills/git-master-sections/commit-execution-verification.d.ts +1 -1
  155. package/dist/features/builtin-skills/skills/git-master-sections/commit-workflow.d.ts +1 -1
  156. package/dist/features/builtin-skills/skills/git-master-sections/history-search-workflow.d.ts +1 -1
  157. package/dist/features/builtin-skills/skills/git-master-sections/overview.d.ts +1 -1
  158. package/dist/features/builtin-skills/skills/git-master-sections/quick-reference.d.ts +1 -1
  159. package/dist/features/builtin-skills/skills/git-master-sections/rebase-workflow.d.ts +1 -1
  160. package/dist/features/builtin-skills/skills/git-master-skill-metadata.d.ts +1 -2
  161. package/dist/features/builtin-skills/skills/git-master.d.ts +1 -2
  162. package/dist/features/builtin-skills/skills/index.d.ts +1 -13
  163. package/dist/features/builtin-skills/skills/init-deep.d.ts +1 -2
  164. package/dist/features/builtin-skills/skills/playwright-cli.d.ts +1 -10
  165. package/dist/features/builtin-skills/skills/playwright-mcp-skill.d.ts +1 -2
  166. package/dist/features/builtin-skills/skills/playwright.d.ts +1 -2
  167. package/dist/features/builtin-skills/skills/remove-ai-slops.d.ts +1 -2
  168. package/dist/features/builtin-skills/skills/review-work.d.ts +1 -2
  169. package/dist/features/builtin-skills/skills/security-research.d.ts +1 -2
  170. package/dist/features/builtin-skills/skills/security-review.d.ts +1 -2
  171. package/dist/features/builtin-skills/skills/team-mode.d.ts +1 -2
  172. package/dist/features/builtin-skills/skills/visual-qa.d.ts +1 -2
  173. package/dist/features/builtin-skills/skills.d.ts +1 -12
  174. package/dist/features/builtin-skills/types.d.ts +1 -15
  175. package/dist/features/claude-code-agent-loader/agent-definitions-loader.d.ts +1 -3
  176. package/dist/features/claude-code-agent-loader/claude-model-mapper.d.ts +1 -4
  177. package/dist/features/claude-code-agent-loader/index.d.ts +1 -5
  178. package/dist/features/claude-code-agent-loader/json-agent-loader.d.ts +1 -2
  179. package/dist/features/claude-code-agent-loader/loader.d.ts +1 -5
  180. package/dist/features/claude-code-agent-loader/opencode-config-agents-reader.d.ts +1 -2
  181. package/dist/features/claude-code-agent-loader/types.d.ts +1 -29
  182. package/dist/features/claude-code-command-loader/index.d.ts +1 -2
  183. package/dist/features/claude-code-command-loader/loader-cache.d.ts +1 -6
  184. package/dist/features/claude-code-command-loader/loader.d.ts +1 -8
  185. package/dist/features/claude-code-command-loader/types.d.ts +1 -42
  186. package/dist/features/claude-code-mcp-loader/configure-allowed-env-vars.d.ts +1 -5
  187. package/dist/features/claude-code-mcp-loader/index.d.ts +1 -11
  188. package/dist/features/claude-code-mcp-loader/loader.d.ts +1 -4
  189. package/dist/features/claude-code-mcp-loader/scope-filter.d.ts +1 -2
  190. package/dist/features/claude-code-mcp-loader/transformer.d.ts +1 -2
  191. package/dist/features/claude-code-mcp-loader/types.d.ts +1 -43
  192. package/dist/features/claude-code-plugin-loader/agent-loader.d.ts +1 -3
  193. package/dist/features/claude-code-plugin-loader/command-loader.d.ts +1 -3
  194. package/dist/features/claude-code-plugin-loader/discovery-core.d.ts +1 -2
  195. package/dist/features/claude-code-plugin-loader/discovery-paths.d.ts +1 -3
  196. package/dist/features/claude-code-plugin-loader/discovery.d.ts +1 -3
  197. package/dist/features/claude-code-plugin-loader/hook-loader.d.ts +1 -2
  198. package/dist/features/claude-code-plugin-loader/index.d.ts +1 -10
  199. package/dist/features/claude-code-plugin-loader/install-path-resolver.d.ts +1 -1
  200. package/dist/features/claude-code-plugin-loader/installed-plugin-database.d.ts +1 -3
  201. package/dist/features/claude-code-plugin-loader/loaded-plugin.d.ts +1 -2
  202. package/dist/features/claude-code-plugin-loader/loader.d.ts +1 -36
  203. package/dist/features/claude-code-plugin-loader/mcp-server-loader.d.ts +1 -3
  204. package/dist/features/claude-code-plugin-loader/plugin-key.d.ts +1 -1
  205. package/dist/features/claude-code-plugin-loader/plugin-manifest.d.ts +1 -4
  206. package/dist/features/claude-code-plugin-loader/plugin-path-resolver.d.ts +1 -2
  207. package/dist/features/claude-code-plugin-loader/plugin-settings.d.ts +1 -3
  208. package/dist/features/claude-code-plugin-loader/scope-filter.d.ts +1 -2
  209. package/dist/features/claude-code-plugin-loader/skill-loader.d.ts +1 -3
  210. package/dist/features/claude-code-plugin-loader/types.d.ts +1 -237
  211. package/dist/features/claude-code-session-state/state.d.ts +1 -0
  212. package/dist/features/claude-tasks/types.d.ts +4 -4
  213. package/dist/features/hook-message-injector/sdk-message-lookup.d.ts +9 -2
  214. package/dist/features/mcp-oauth/callback-server.d.ts +1 -19
  215. package/dist/features/mcp-oauth/dcr.d.ts +1 -34
  216. package/dist/features/mcp-oauth/discovery.d.ts +1 -8
  217. package/dist/features/mcp-oauth/oauth-authorization-flow.d.ts +1 -26
  218. package/dist/features/mcp-oauth/provider.d.ts +1 -30
  219. package/dist/features/mcp-oauth/refresh-mutex.d.ts +1 -26
  220. package/dist/features/mcp-oauth/resource-indicator.d.ts +1 -0
  221. package/dist/features/mcp-oauth/schema.d.ts +1 -0
  222. package/dist/features/mcp-oauth/step-up.d.ts +1 -8
  223. package/dist/features/mcp-oauth/storage.d.ts +1 -17
  224. package/dist/features/monitor/batcher.d.ts +36 -0
  225. package/dist/features/monitor/envelope.d.ts +9 -0
  226. package/dist/features/monitor/filter.d.ts +10 -0
  227. package/dist/features/monitor/index.d.ts +2 -0
  228. package/dist/features/monitor/line-stream.d.ts +29 -0
  229. package/dist/features/monitor/manager-internals.d.ts +65 -0
  230. package/dist/features/monitor/manager.d.ts +35 -0
  231. package/dist/features/monitor/monitor-state-factory.d.ts +24 -0
  232. package/dist/features/monitor/output-injector-session-inspect.d.ts +9 -0
  233. package/dist/features/monitor/output-injector-types.d.ts +48 -0
  234. package/dist/features/monitor/output-injector.d.ts +21 -0
  235. package/dist/features/monitor/permission.d.ts +33 -0
  236. package/dist/features/monitor/pipeline.d.ts +26 -0
  237. package/dist/features/monitor/process.d.ts +21 -0
  238. package/dist/features/monitor/ring-buffer.d.ts +25 -0
  239. package/dist/features/monitor/types.d.ts +83 -0
  240. package/dist/features/opencode-runtime-skills/index.d.ts +1 -2
  241. package/dist/features/opencode-runtime-skills/runtime-skill-config.d.ts +1 -17
  242. package/dist/features/opencode-runtime-skills/skill-markdown.d.ts +1 -7
  243. package/dist/features/opencode-runtime-skills/source-server.d.ts +1 -24
  244. package/dist/features/opencode-skill-loader/allowed-tools-parser.d.ts +1 -1
  245. package/dist/features/opencode-skill-loader/config-source-discovery.d.ts +1 -7
  246. package/dist/features/opencode-skill-loader/git-master-template-injection.d.ts +1 -20
  247. package/dist/features/opencode-skill-loader/index.d.ts +1 -16
  248. package/dist/features/opencode-skill-loader/loaded-skill-from-path.d.ts +1 -9
  249. package/dist/features/opencode-skill-loader/loaded-skill-template-extractor.d.ts +1 -2
  250. package/dist/features/opencode-skill-loader/loader.d.ts +1 -21
  251. package/dist/features/opencode-skill-loader/merger/builtin-skill-converter.d.ts +1 -3
  252. package/dist/features/opencode-skill-loader/merger/config-skill-entry-loader.d.ts +1 -3
  253. package/dist/features/opencode-skill-loader/merger/scope-priority.d.ts +1 -2
  254. package/dist/features/opencode-skill-loader/merger/skill-definition-merger.d.ts +1 -3
  255. package/dist/features/opencode-skill-loader/merger/skills-config-normalizer.d.ts +1 -11
  256. package/dist/features/opencode-skill-loader/merger.d.ts +1 -7
  257. package/dist/features/opencode-skill-loader/opencode-config-skills-reader.d.ts +1 -5
  258. package/dist/features/opencode-skill-loader/skill-content.d.ts +1 -5
  259. package/dist/features/opencode-skill-loader/skill-deduplication.d.ts +1 -2
  260. package/dist/features/opencode-skill-loader/skill-definition-record.d.ts +1 -5
  261. package/dist/features/opencode-skill-loader/skill-directory-loader.d.ts +1 -8
  262. package/dist/features/opencode-skill-loader/skill-discovery.d.ts +1 -4
  263. package/dist/features/opencode-skill-loader/skill-mcp-config.d.ts +1 -3
  264. package/dist/features/opencode-skill-loader/skill-resolution-options.d.ts +1 -9
  265. package/dist/features/opencode-skill-loader/skill-template-resolver.d.ts +1 -11
  266. package/dist/features/opencode-skill-loader/types.d.ts +1 -34
  267. package/dist/features/skill-mcp-manager/cleanup.d.ts +1 -8
  268. package/dist/features/skill-mcp-manager/connection-type.d.ts +1 -7
  269. package/dist/features/skill-mcp-manager/connection.d.ts +1 -14
  270. package/dist/features/skill-mcp-manager/env-cleaner.d.ts +1 -2
  271. package/dist/features/skill-mcp-manager/error-redaction.d.ts +1 -10
  272. package/dist/features/skill-mcp-manager/http-client.d.ts +1 -19
  273. package/dist/features/skill-mcp-manager/index.d.ts +1 -2
  274. package/dist/features/skill-mcp-manager/manager.d.ts +1 -23
  275. package/dist/features/skill-mcp-manager/oauth-handler.d.ts +1 -17
  276. package/dist/features/skill-mcp-manager/stdio-client.d.ts +1 -16
  277. package/dist/features/skill-mcp-manager/types.d.ts +1 -79
  278. package/dist/features/team-mode/member-parser.d.ts +1 -16
  279. package/dist/features/team-mode/team-layout-tmux/close-team-member-pane.d.ts +1 -4
  280. package/dist/features/team-mode/team-layout-tmux/index.d.ts +1 -1
  281. package/dist/features/team-mode/team-layout-tmux/layout.d.ts +1 -37
  282. package/dist/features/team-mode/team-layout-tmux/rebalance-team-window.d.ts +1 -9
  283. package/dist/features/team-mode/team-layout-tmux/resolve-caller-tmux-session.d.ts +1 -9
  284. package/dist/features/team-mode/team-layout-tmux/sweep-stale-team-sessions.d.ts +1 -8
  285. package/dist/features/team-mode/team-mailbox/ack.d.ts +1 -2
  286. package/dist/features/team-mode/team-mailbox/inbox.d.ts +1 -3
  287. package/dist/features/team-mode/team-mailbox/index.d.ts +1 -7
  288. package/dist/features/team-mode/team-mailbox/pending-delivery-recovery.d.ts +1 -0
  289. package/dist/features/team-mode/team-mailbox/poll.d.ts +1 -10
  290. package/dist/features/team-mode/team-mailbox/reservation.d.ts +1 -11
  291. package/dist/features/team-mode/team-mailbox/send.d.ts +1 -30
  292. package/dist/features/team-mode/team-registry/index.d.ts +1 -3
  293. package/dist/features/team-mode/team-registry/loader.d.ts +1 -12
  294. package/dist/features/team-mode/team-registry/paths.d.ts +1 -28
  295. package/dist/features/team-mode/team-registry/team-spec-input-normalizer.d.ts +1 -6
  296. package/dist/features/team-mode/team-registry/validator.d.ts +1 -10
  297. package/dist/features/team-mode/team-runtime/delete-team.d.ts +2 -1
  298. package/dist/features/team-mode/team-runtime/shutdown-helpers.d.ts +1 -1
  299. package/dist/features/team-mode/team-state-store/active-resume.d.ts +1 -5
  300. package/dist/features/team-mode/team-state-store/creating-resume.d.ts +1 -4
  301. package/dist/features/team-mode/team-state-store/deleting-resume.d.ts +1 -4
  302. package/dist/features/team-mode/team-state-store/error-normalization.d.ts +1 -2
  303. package/dist/features/team-mode/team-state-store/index.d.ts +1 -1
  304. package/dist/features/team-mode/team-state-store/locks.d.ts +1 -15
  305. package/dist/features/team-mode/team-state-store/reservation-reconciliation.d.ts +1 -4
  306. package/dist/features/team-mode/team-state-store/resume-report.d.ts +1 -7
  307. package/dist/features/team-mode/team-state-store/resume.d.ts +1 -5
  308. package/dist/features/team-mode/team-state-store/runtime-cleanup.d.ts +1 -4
  309. package/dist/features/team-mode/team-state-store/session-liveness.d.ts +1 -9
  310. package/dist/features/team-mode/team-state-store/store.d.ts +1 -21
  311. package/dist/features/team-mode/team-state-store/worker-resume-status.d.ts +1 -9
  312. package/dist/features/team-mode/team-tasklist/claim.d.ts +1 -10
  313. package/dist/features/team-mode/team-tasklist/dependencies.d.ts +1 -2
  314. package/dist/features/team-mode/team-tasklist/get.d.ts +1 -3
  315. package/dist/features/team-mode/team-tasklist/index.d.ts +1 -6
  316. package/dist/features/team-mode/team-tasklist/list.d.ts +1 -8
  317. package/dist/features/team-mode/team-tasklist/store.d.ts +1 -3
  318. package/dist/features/team-mode/team-tasklist/test-support.d.ts +1 -9
  319. package/dist/features/team-mode/team-tasklist/update.d.ts +1 -9
  320. package/dist/features/team-mode/team-worktree/cleanup.d.ts +1 -3
  321. package/dist/features/team-mode/team-worktree/index.d.ts +1 -2
  322. package/dist/features/team-mode/team-worktree/manager.d.ts +1 -15
  323. package/dist/features/team-mode/tools/lifecycle-create-tool.d.ts +2 -2
  324. package/dist/features/team-mode/tools/lifecycle-inline-spec.d.ts +4 -4
  325. package/dist/features/team-mode/tools/lifecycle-participant.d.ts +2 -2
  326. package/dist/features/team-mode/tools/lifecycle-test-fixture.d.ts +8 -8
  327. package/dist/features/team-mode/tools/messaging-live-delivery-recipient.d.ts +2 -2
  328. package/dist/features/team-mode/tools/messaging-live-delivery-reservation.d.ts +1 -1
  329. package/dist/features/team-mode/tools/messaging-live-delivery-state.d.ts +1 -1
  330. package/dist/features/team-mode/tools/messaging-live-delivery.d.ts +1 -1
  331. package/dist/features/team-mode/tools/messaging-runtime.d.ts +2 -2
  332. package/dist/features/team-mode/tools/query.d.ts +3 -3
  333. package/dist/features/team-mode/tools/tasks.d.ts +2 -2
  334. package/dist/features/team-mode/types.d.ts +1 -343
  335. package/dist/features/tmux-subagent/stale-tmux-resource-sweeper.d.ts +12 -0
  336. package/dist/features/tool-metadata-store/store.d.ts +5 -0
  337. package/dist/features/tui-sidebar/compute-view.d.ts +10 -0
  338. package/dist/features/tui-sidebar/config-validator.d.ts +2 -0
  339. package/dist/features/tui-sidebar/constants.d.ts +10 -0
  340. package/dist/features/tui-sidebar/derivers.d.ts +10 -0
  341. package/dist/features/tui-sidebar/element-helpers.d.ts +9 -0
  342. package/dist/features/tui-sidebar/loop-reader.d.ts +2 -0
  343. package/dist/features/tui-sidebar/mirror-io.d.ts +3 -0
  344. package/dist/features/tui-sidebar/mirror-manager.d.ts +28 -0
  345. package/dist/features/tui-sidebar/mirror-path.d.ts +3 -0
  346. package/dist/features/tui-sidebar/render-view.d.ts +15 -0
  347. package/dist/features/tui-sidebar/roster-resolver.d.ts +2 -0
  348. package/dist/features/tui-sidebar/snapshot-builder.d.ts +28 -0
  349. package/dist/features/tui-sidebar/snapshot-schema.d.ts +41 -0
  350. package/dist/features/tui-sidebar/state-types.d.ts +72 -0
  351. package/dist/hooks/anthropic-context-window-limit-recovery/storage/constants.d.ts +3 -0
  352. package/dist/hooks/anthropic-context-window-limit-recovery/storage/messages-reader.d.ts +6 -0
  353. package/dist/hooks/anthropic-context-window-limit-recovery/storage/part-content.d.ts +3 -0
  354. package/dist/hooks/anthropic-context-window-limit-recovery/storage/parts-reader.d.ts +6 -0
  355. package/dist/hooks/anthropic-context-window-limit-recovery/storage/types.d.ts +92 -0
  356. package/dist/hooks/ast-grep-sg-provision/hook.d.ts +19 -0
  357. package/dist/hooks/ast-grep-sg-provision/index.d.ts +1 -0
  358. package/dist/hooks/auto-slash-command/constants.d.ts +1 -5
  359. package/dist/hooks/auto-slash-command/detector.d.ts +1 -15
  360. package/dist/hooks/auto-slash-command/processed-command-store.d.ts +1 -7
  361. package/dist/hooks/auto-slash-command/types.d.ts +1 -48
  362. package/dist/hooks/auto-update-checker/checker/bundled-version.d.ts +1 -0
  363. package/dist/hooks/auto-update-checker/checker.d.ts +1 -0
  364. package/dist/hooks/auto-update-checker/constants.d.ts +3 -3
  365. package/dist/hooks/auto-update-checker/hook.d.ts +2 -1
  366. package/dist/hooks/claude-code-hooks/types.d.ts +4 -0
  367. package/dist/hooks/codegraph-bootstrap/command-runner.d.ts +16 -0
  368. package/dist/hooks/codegraph-bootstrap/hook.d.ts +34 -0
  369. package/dist/hooks/codegraph-bootstrap/index.d.ts +1 -0
  370. package/dist/hooks/codegraph-bootstrap/project-root.d.ts +1 -0
  371. package/dist/hooks/codegraph-bootstrap/status.d.ts +11 -0
  372. package/dist/hooks/delegate-task-retry/guidance.d.ts +1 -2
  373. package/dist/hooks/delegate-task-retry/patterns.d.ts +2 -11
  374. package/dist/hooks/index.d.ts +3 -1
  375. package/dist/hooks/monitor-status-injector/hook.d.ts +30 -0
  376. package/dist/hooks/monitor-status-injector/index.d.ts +2 -0
  377. package/dist/hooks/runtime-fallback/auto-retry-signal.d.ts +1 -4
  378. package/dist/hooks/runtime-fallback/error-classifier.d.ts +7 -6
  379. package/dist/hooks/runtime-fallback/fallback-state.d.ts +3 -2
  380. package/dist/hooks/runtime-fallback/test-timeout-clock.test-support.d.ts +6 -0
  381. package/dist/hooks/team-session-events/team-idle-wake-hint.d.ts +5 -0
  382. package/dist/hooks/tool-pair-validator/tool-part-ids.d.ts +2 -1
  383. package/dist/index.js +89683 -94718
  384. package/dist/interactive-bash-availability.d.ts +1 -0
  385. package/dist/mcp/codegraph.d.ts +16 -0
  386. package/dist/mcp/index.d.ts +10 -2
  387. package/dist/mcp/shared/ancestor-cli-resolver.d.ts +25 -0
  388. package/dist/mcp/types.d.ts +1 -1
  389. package/dist/oh-my-opencode.schema.json +259 -34
  390. package/dist/openclaw/config.d.ts +1 -8
  391. package/dist/openclaw/daemon.d.ts +1 -1
  392. package/dist/openclaw/dispatcher.d.ts +1 -12
  393. package/dist/openclaw/gateway-url-validation.d.ts +1 -1
  394. package/dist/openclaw/index.d.ts +1 -5
  395. package/dist/openclaw/reply-listener-discord.d.ts +1 -4
  396. package/dist/openclaw/reply-listener-injection.d.ts +1 -10
  397. package/dist/openclaw/reply-listener-log.d.ts +1 -2
  398. package/dist/openclaw/reply-listener-paths.d.ts +1 -7
  399. package/dist/openclaw/reply-listener-poll-loop.d.ts +1 -3
  400. package/dist/openclaw/reply-listener-process.d.ts +1 -4
  401. package/dist/openclaw/reply-listener-signature.d.ts +1 -2
  402. package/dist/openclaw/reply-listener-sleep.d.ts +1 -1
  403. package/dist/openclaw/reply-listener-spawn.d.ts +1 -5
  404. package/dist/openclaw/reply-listener-start.d.ts +1 -9
  405. package/dist/openclaw/reply-listener-startup.d.ts +1 -12
  406. package/dist/openclaw/reply-listener-state.d.ts +1 -29
  407. package/dist/openclaw/reply-listener-status.d.ts +1 -4
  408. package/dist/openclaw/reply-listener-stop.d.ts +1 -7
  409. package/dist/openclaw/reply-listener-telegram.d.ts +1 -4
  410. package/dist/openclaw/reply-listener.d.ts +1 -5
  411. package/dist/openclaw/runtime-dispatch.d.ts +1 -17
  412. package/dist/openclaw/session-registry-lock.d.ts +1 -2
  413. package/dist/openclaw/session-registry-paths.d.ts +1 -9
  414. package/dist/openclaw/session-registry-storage.d.ts +1 -4
  415. package/dist/openclaw/session-registry-types.d.ts +1 -11
  416. package/dist/openclaw/session-registry.d.ts +1 -8
  417. package/dist/openclaw/tmux.d.ts +1 -8
  418. package/dist/openclaw/types.d.ts +1 -42
  419. package/dist/plugin/build-team-idle-wake-hint-client.d.ts +2 -0
  420. package/dist/plugin/event-error-utils.d.ts +2 -1
  421. package/dist/plugin/event-session-lifecycle.d.ts +0 -3
  422. package/dist/plugin/hooks/create-continuation-hooks.d.ts +0 -6
  423. package/dist/plugin/hooks/create-core-hooks.d.ts +5 -1
  424. package/dist/plugin/hooks/create-session-hooks.d.ts +3 -2
  425. package/dist/plugin/hooks/create-transform-hooks.d.ts +4 -1
  426. package/dist/plugin/messages-transform.d.ts +1 -0
  427. package/dist/plugin/skill-context.d.ts +2 -0
  428. package/dist/plugin/tool-registry-factories.d.ts +2 -1
  429. package/dist/plugin/tool-registry-gated-tools.d.ts +7 -0
  430. package/dist/plugin/tool-registry.d.ts +1 -1
  431. package/dist/plugin/types.d.ts +2 -9
  432. package/dist/plugin-handlers/prometheus-agent-config-builder.d.ts +1 -0
  433. package/dist/shared/archive-entry-validator.d.ts +1 -6
  434. package/dist/shared/bun-file-shim.d.ts +1 -8
  435. package/dist/shared/bun-spawn-shim.d.ts +1 -43
  436. package/dist/shared/bun-which-shim.d.ts +1 -1
  437. package/dist/shared/classify-path-environment.d.ts +1 -3
  438. package/dist/shared/command-executor/embedded-commands.d.ts +1 -7
  439. package/dist/shared/command-executor/execute-command.d.ts +1 -1
  440. package/dist/shared/command-executor/execute-hook-command.d.ts +1 -16
  441. package/dist/shared/command-executor/home-directory.d.ts +1 -1
  442. package/dist/shared/command-executor/resolve-commands-in-text.d.ts +1 -1
  443. package/dist/shared/command-executor/shell-path.d.ts +1 -2
  444. package/dist/shared/command-executor.d.ts +1 -4
  445. package/dist/shared/git-worktree/collect-git-diff-stats.d.ts +1 -2
  446. package/dist/shared/git-worktree/format-file-changes.d.ts +1 -2
  447. package/dist/shared/git-worktree/index.d.ts +1 -7
  448. package/dist/shared/git-worktree/parse-diff-numstat.d.ts +1 -2
  449. package/dist/shared/git-worktree/parse-status-porcelain-line.d.ts +1 -6
  450. package/dist/shared/git-worktree/parse-status-porcelain.d.ts +1 -2
  451. package/dist/shared/git-worktree/types.d.ts +1 -7
  452. package/dist/shared/internal-initiator-marker.d.ts +1 -46
  453. package/dist/shared/logger.d.ts +3 -11
  454. package/dist/shared/migration/agent-category.d.ts +1 -19
  455. package/dist/shared/migration/agent-names.d.ts +1 -6
  456. package/dist/shared/migration/config-migration.d.ts +1 -1
  457. package/dist/shared/migration/hook-names.d.ts +1 -6
  458. package/dist/shared/migration/migrations-sidecar.d.ts +1 -41
  459. package/dist/shared/migration/model-versions.d.ts +1 -22
  460. package/dist/shared/migration.d.ts +1 -5
  461. package/dist/shared/model-suggestion-retry.d.ts +39 -17
  462. package/dist/shared/plugin-identity.d.ts +8 -8
  463. package/dist/shared/posthog.d.ts +3 -0
  464. package/dist/shared/process-stream-reader.d.ts +1 -3
  465. package/dist/shared/prompt-async-gate/message-inspection-error.d.ts +1 -1
  466. package/dist/shared/prompt-async-gate/pending-tool-turn.d.ts +1 -11
  467. package/dist/shared/prompt-async-gate/prompt-message-state.d.ts +1 -9
  468. package/dist/shared/prompt-async-gate/queue.d.ts +1 -8
  469. package/dist/shared/prompt-async-gate/recent-dispatches.d.ts +1 -14
  470. package/dist/shared/prompt-async-gate/reservations.d.ts +1 -9
  471. package/dist/shared/prompt-async-gate/semantic-dedupe.d.ts +1 -7
  472. package/dist/shared/prompt-async-gate/session-idle-dispatch.d.ts +1 -16
  473. package/dist/shared/prompt-async-gate/timing.d.ts +1 -9
  474. package/dist/shared/prompt-async-gate/types.d.ts +1 -123
  475. package/dist/shared/prompt-async-gate.d.ts +3 -7
  476. package/dist/shared/prompt-failure-classifier.d.ts +1 -9
  477. package/dist/shared/session-idle-settle.d.ts +1 -12
  478. package/dist/shared/shell-env.d.ts +1 -1
  479. package/dist/shared/skill-path-resolver.d.ts +1 -1
  480. package/dist/shared/tmux/cmux-detect.d.ts +1 -8
  481. package/dist/shared/tmux/constants.d.ts +1 -5
  482. package/dist/shared/tmux/runner.d.ts +2 -13
  483. package/dist/shared/tmux/tmux-utils/adapter-deps.d.ts +9 -0
  484. package/dist/shared/tmux/tmux-utils/environment.d.ts +2 -4
  485. package/dist/shared/tmux/tmux-utils/layout.d.ts +4 -17
  486. package/dist/shared/tmux/tmux-utils/pane-close.d.ts +3 -10
  487. package/dist/shared/tmux/tmux-utils/pane-command.d.ts +1 -2
  488. package/dist/shared/tmux/tmux-utils/pane-dimensions.d.ts +2 -4
  489. package/dist/shared/tmux/tmux-utils/pane-replace.d.ts +1 -11
  490. package/dist/shared/tmux/tmux-utils/pane-spawn.d.ts +1 -13
  491. package/dist/shared/tmux/tmux-utils/server-health.d.ts +2 -14
  492. package/dist/shared/tmux/tmux-utils/session-spawn.d.ts +3 -14
  493. package/dist/shared/tmux/tmux-utils/spawn-process.d.ts +1 -1
  494. package/dist/shared/tmux/tmux-utils/stale-attach-pane-sweep.d.ts +16 -0
  495. package/dist/shared/tmux/tmux-utils/stale-session-sweep.d.ts +4 -17
  496. package/dist/shared/tmux/tmux-utils/window-spawn.d.ts +1 -13
  497. package/dist/shared/tmux/tmux-utils.d.ts +1 -0
  498. package/dist/shared/tmux/types.d.ts +1 -4
  499. package/dist/shared/write-file-atomically.d.ts +2 -0
  500. package/dist/shared/zip-entry-listing/powershell-zip-entry-listing.d.ts +1 -4
  501. package/dist/shared/zip-entry-listing/python-zip-entry-listing.d.ts +1 -3
  502. package/dist/shared/zip-entry-listing/read-zip-symlink-target.d.ts +1 -1
  503. package/dist/shared/zip-entry-listing/tar-zip-entry-listing.d.ts +1 -3
  504. package/dist/shared/zip-entry-listing/zipinfo-zip-entry-listing.d.ts +1 -4
  505. package/dist/shared/zip-entry-listing.d.ts +1 -4
  506. package/dist/skills/ast-grep/LICENSE +21 -0
  507. package/dist/skills/ast-grep/README.md +136 -0
  508. package/dist/skills/ast-grep/SKILL.md +272 -0
  509. package/dist/skills/ast-grep/SOURCE +1 -0
  510. package/dist/skills/ast-grep/install.ps1 +235 -0
  511. package/dist/skills/ast-grep/install.sh +286 -0
  512. package/dist/skills/ast-grep/references/cli.md +231 -0
  513. package/dist/skills/ast-grep/references/install.md +166 -0
  514. package/dist/skills/ast-grep/references/patterns.md +147 -0
  515. package/dist/skills/ast-grep/references/pitfalls.md +303 -0
  516. package/dist/skills/ast-grep/references/recipes.md +402 -0
  517. package/dist/skills/ast-grep/references/sgconfig.md +248 -0
  518. package/dist/skills/ast-grep/references/yaml-rules.md +509 -0
  519. package/dist/skills/ast-grep/scripts/ast_grep_helper.py +748 -0
  520. package/dist/skills/ast-grep/tests/smoke.ps1 +123 -0
  521. package/dist/skills/ast-grep/tests/smoke.sh +212 -0
  522. package/dist/skills/debugging/SKILL.md +116 -0
  523. package/dist/skills/debugging/references/methodology/00-setup.md +108 -0
  524. package/dist/skills/debugging/references/methodology/02-investigate.md +130 -0
  525. package/dist/skills/debugging/references/methodology/04-oracle-triple.md +136 -0
  526. package/dist/skills/debugging/references/methodology/05-escalate.md +69 -0
  527. package/dist/skills/debugging/references/methodology/06-fix.md +116 -0
  528. package/dist/skills/debugging/references/methodology/08-qa.md +94 -0
  529. package/dist/skills/debugging/references/methodology/09-cleanup.md +164 -0
  530. package/dist/skills/debugging/references/methodology/partial-runtime-evidence.md +229 -0
  531. package/dist/skills/debugging/references/runtimes/bundled-js-binary.md +415 -0
  532. package/dist/skills/debugging/references/runtimes/go.md +252 -0
  533. package/dist/skills/debugging/references/runtimes/native-binary.md +484 -0
  534. package/dist/skills/debugging/references/runtimes/node.md +260 -0
  535. package/dist/skills/debugging/references/runtimes/python.md +248 -0
  536. package/dist/skills/debugging/references/runtimes/rust.md +234 -0
  537. package/dist/skills/debugging/references/tools/ghidra.md +212 -0
  538. package/dist/skills/debugging/references/tools/playwright-cli.md +194 -0
  539. package/dist/skills/debugging/references/tools/pwndbg.md +263 -0
  540. package/dist/skills/debugging/references/tools/pwntools.md +265 -0
  541. package/dist/skills/frontend/ATTRIBUTION.md +127 -0
  542. package/dist/skills/frontend/LICENSE-Apache-2.0.txt +201 -0
  543. package/dist/skills/frontend/SKILL.md +113 -0
  544. package/dist/skills/frontend/references/design/README.md +240 -0
  545. package/dist/skills/frontend/references/design/_INDEX.md +189 -0
  546. package/dist/skills/frontend/references/design/airbnb.md +390 -0
  547. package/dist/skills/frontend/references/design/airtable.md +89 -0
  548. package/dist/skills/frontend/references/design/apple.md +247 -0
  549. package/dist/skills/frontend/references/design/binance.md +345 -0
  550. package/dist/skills/frontend/references/design/bmw.md +180 -0
  551. package/dist/skills/frontend/references/design/brutalist-skill.md +92 -0
  552. package/dist/skills/frontend/references/design/bugatti.md +268 -0
  553. package/dist/skills/frontend/references/design/cal.md +259 -0
  554. package/dist/skills/frontend/references/design/claude.md +312 -0
  555. package/dist/skills/frontend/references/design/clay.md +304 -0
  556. package/dist/skills/frontend/references/design/clickhouse.md +281 -0
  557. package/dist/skills/frontend/references/design/cohere.md +266 -0
  558. package/dist/skills/frontend/references/design/coinbase.md +129 -0
  559. package/dist/skills/frontend/references/design/composio.md +307 -0
  560. package/dist/skills/frontend/references/design/cursor.md +309 -0
  561. package/dist/skills/frontend/references/design/design-system-architecture.md +217 -0
  562. package/dist/skills/frontend/references/design/elevenlabs.md +265 -0
  563. package/dist/skills/frontend/references/design/expo.md +281 -0
  564. package/dist/skills/frontend/references/design/ferrari.md +314 -0
  565. package/dist/skills/frontend/references/design/figma.md +220 -0
  566. package/dist/skills/frontend/references/design/framer.md +246 -0
  567. package/dist/skills/frontend/references/design/gpt-tasteskill.md +74 -0
  568. package/dist/skills/frontend/references/design/hashicorp.md +278 -0
  569. package/dist/skills/frontend/references/design/ibm.md +332 -0
  570. package/dist/skills/frontend/references/design/image-to-code-skill.md +1228 -0
  571. package/dist/skills/frontend/references/design/imagegen-brandkit.md +798 -0
  572. package/dist/skills/frontend/references/design/imagegen-frontend-mobile.md +1465 -0
  573. package/dist/skills/frontend/references/design/imagegen-frontend-web.md +686 -0
  574. package/dist/skills/frontend/references/design/intercom.md +146 -0
  575. package/dist/skills/frontend/references/design/kraken.md +125 -0
  576. package/dist/skills/frontend/references/design/lamborghini.md +288 -0
  577. package/dist/skills/frontend/references/design/linear.app.md +367 -0
  578. package/dist/skills/frontend/references/design/lovable.md +298 -0
  579. package/dist/skills/frontend/references/design/mastercard.md +365 -0
  580. package/dist/skills/frontend/references/design/meta.md +366 -0
  581. package/dist/skills/frontend/references/design/minimalist-skill.md +85 -0
  582. package/dist/skills/frontend/references/design/minimax.md +257 -0
  583. package/dist/skills/frontend/references/design/mintlify.md +326 -0
  584. package/dist/skills/frontend/references/design/miro.md +108 -0
  585. package/dist/skills/frontend/references/design/mistral.ai.md +261 -0
  586. package/dist/skills/frontend/references/design/mongodb.md +266 -0
  587. package/dist/skills/frontend/references/design/nike.md +363 -0
  588. package/dist/skills/frontend/references/design/notion.md +309 -0
  589. package/dist/skills/frontend/references/design/nvidia.md +293 -0
  590. package/dist/skills/frontend/references/design/ollama.md +267 -0
  591. package/dist/skills/frontend/references/design/opencode.ai.md +281 -0
  592. package/dist/skills/frontend/references/design/output-skill.md +49 -0
  593. package/dist/skills/frontend/references/design/pinterest.md +230 -0
  594. package/dist/skills/frontend/references/design/playstation.md +364 -0
  595. package/dist/skills/frontend/references/design/posthog.md +256 -0
  596. package/dist/skills/frontend/references/design/raycast.md +268 -0
  597. package/dist/skills/frontend/references/design/react-dev-tooling-skill.md +230 -0
  598. package/dist/skills/frontend/references/design/redesign-skill.md +178 -0
  599. package/dist/skills/frontend/references/design/renault.md +311 -0
  600. package/dist/skills/frontend/references/design/replicate.md +261 -0
  601. package/dist/skills/frontend/references/design/resend.md +303 -0
  602. package/dist/skills/frontend/references/design/revolut.md +185 -0
  603. package/dist/skills/frontend/references/design/runwayml.md +244 -0
  604. package/dist/skills/frontend/references/design/sanity.md +357 -0
  605. package/dist/skills/frontend/references/design/sentry.md +262 -0
  606. package/dist/skills/frontend/references/design/shopify.md +350 -0
  607. package/dist/skills/frontend/references/design/soft-skill.md +98 -0
  608. package/dist/skills/frontend/references/design/spacex.md +194 -0
  609. package/dist/skills/frontend/references/design/spotify.md +246 -0
  610. package/dist/skills/frontend/references/design/starbucks.md +580 -0
  611. package/dist/skills/frontend/references/design/stitch-skill.md +184 -0
  612. package/dist/skills/frontend/references/design/stripe.md +322 -0
  613. package/dist/skills/frontend/references/design/supabase.md +255 -0
  614. package/dist/skills/frontend/references/design/superhuman.md +252 -0
  615. package/dist/skills/frontend/references/design/taste-skill.md +226 -0
  616. package/dist/skills/frontend/references/design/tesla.md +286 -0
  617. package/dist/skills/frontend/references/design/theverge.md +339 -0
  618. package/dist/skills/frontend/references/design/together.ai.md +263 -0
  619. package/dist/skills/frontend/references/design/uber.md +295 -0
  620. package/dist/skills/frontend/references/design/vercel.md +310 -0
  621. package/dist/skills/frontend/references/design/vodafone.md +423 -0
  622. package/dist/skills/frontend/references/design/voltagent.md +323 -0
  623. package/dist/skills/frontend/references/design/warp.md +253 -0
  624. package/dist/skills/frontend/references/design/webflow.md +92 -0
  625. package/dist/skills/frontend/references/design/wired.md +278 -0
  626. package/dist/skills/frontend/references/design/wise.md +173 -0
  627. package/dist/skills/frontend/references/design/x.ai.md +257 -0
  628. package/dist/skills/frontend/references/design/zapier.md +328 -0
  629. package/dist/skills/frontend/references/perfection/README.md +160 -0
  630. package/dist/skills/frontend/references/perfection/react-perf-tooling.md +127 -0
  631. package/dist/skills/frontend/references/ui-ux-db/README.md +273 -0
  632. package/dist/skills/frontend/references/ui-ux-db/data/charts.csv +26 -0
  633. package/dist/skills/frontend/references/ui-ux-db/data/colors.csv +97 -0
  634. package/dist/skills/frontend/references/ui-ux-db/data/icons.csv +101 -0
  635. package/dist/skills/frontend/references/ui-ux-db/data/landing.csv +31 -0
  636. package/dist/skills/frontend/references/ui-ux-db/data/products.csv +97 -0
  637. package/dist/skills/frontend/references/ui-ux-db/data/react-performance.csv +45 -0
  638. package/dist/skills/frontend/references/ui-ux-db/data/stacks/astro.csv +54 -0
  639. package/dist/skills/frontend/references/ui-ux-db/data/stacks/flutter.csv +53 -0
  640. package/dist/skills/frontend/references/ui-ux-db/data/stacks/html-tailwind.csv +56 -0
  641. package/dist/skills/frontend/references/ui-ux-db/data/stacks/jetpack-compose.csv +53 -0
  642. package/dist/skills/frontend/references/ui-ux-db/data/stacks/nextjs.csv +53 -0
  643. package/dist/skills/frontend/references/ui-ux-db/data/stacks/nuxt-ui.csv +51 -0
  644. package/dist/skills/frontend/references/ui-ux-db/data/stacks/nuxtjs.csv +59 -0
  645. package/dist/skills/frontend/references/ui-ux-db/data/stacks/react-native.csv +52 -0
  646. package/dist/skills/frontend/references/ui-ux-db/data/stacks/react.csv +54 -0
  647. package/dist/skills/frontend/references/ui-ux-db/data/stacks/shadcn.csv +61 -0
  648. package/dist/skills/frontend/references/ui-ux-db/data/stacks/svelte.csv +54 -0
  649. package/dist/skills/frontend/references/ui-ux-db/data/stacks/swiftui.csv +51 -0
  650. package/dist/skills/frontend/references/ui-ux-db/data/stacks/vue.csv +50 -0
  651. package/dist/skills/frontend/references/ui-ux-db/data/styles.csv +68 -0
  652. package/dist/skills/frontend/references/ui-ux-db/data/typography.csv +58 -0
  653. package/dist/skills/frontend/references/ui-ux-db/data/ui-reasoning.csv +101 -0
  654. package/dist/skills/frontend/references/ui-ux-db/data/ux-guidelines.csv +100 -0
  655. package/dist/skills/frontend/references/ui-ux-db/data/web-interface.csv +31 -0
  656. package/dist/skills/frontend/references/ui-ux-db/scripts/core.py +253 -0
  657. package/dist/skills/frontend/references/ui-ux-db/scripts/design_system.py +1067 -0
  658. package/dist/skills/frontend/references/ui-ux-db/scripts/search.py +114 -0
  659. package/dist/skills/frontend/scripts/perfection/lighthouse-audit.py +201 -0
  660. package/dist/skills/git-master/SKILL.md +100 -0
  661. package/dist/skills/git-master/agents/openai.yaml +13 -0
  662. package/dist/skills/init-deep/SKILL.md +309 -0
  663. package/dist/skills/lcx-contribute-bug-fix/SKILL.md +242 -0
  664. package/dist/skills/lcx-contribute-bug-fix/agents/openai.yaml +12 -0
  665. package/dist/skills/lcx-contribute-bug-fix/scripts/create-pr-body.mjs +107 -0
  666. package/dist/skills/lcx-doctor/SKILL.md +93 -0
  667. package/dist/skills/lcx-doctor/agents/openai.yaml +11 -0
  668. package/dist/skills/lcx-report-bug/SKILL.md +237 -0
  669. package/dist/skills/lcx-report-bug/agents/openai.yaml +11 -0
  670. package/dist/skills/lsp-setup/SKILL.md +139 -0
  671. package/dist/skills/lsp-setup/references/bash/README.md +60 -0
  672. package/dist/skills/lsp-setup/references/c-cpp/README.md +61 -0
  673. package/dist/skills/lsp-setup/references/csharp/README.md +71 -0
  674. package/dist/skills/lsp-setup/references/dart/README.md +48 -0
  675. package/dist/skills/lsp-setup/references/elixir/README.md +51 -0
  676. package/dist/skills/lsp-setup/references/go/README.md +57 -0
  677. package/dist/skills/lsp-setup/references/haskell/README.md +57 -0
  678. package/dist/skills/lsp-setup/references/java/README.md +57 -0
  679. package/dist/skills/lsp-setup/references/julia/README.md +60 -0
  680. package/dist/skills/lsp-setup/references/kotlin/README.md +59 -0
  681. package/dist/skills/lsp-setup/references/lua/README.md +66 -0
  682. package/dist/skills/lsp-setup/references/php/README.md +62 -0
  683. package/dist/skills/lsp-setup/references/python/README.md +71 -0
  684. package/dist/skills/lsp-setup/references/ruby/README.md +53 -0
  685. package/dist/skills/lsp-setup/references/rust/README.md +59 -0
  686. package/dist/skills/lsp-setup/references/swift/README.md +51 -0
  687. package/dist/skills/lsp-setup/references/terraform/README.md +62 -0
  688. package/dist/skills/lsp-setup/references/typescript/README.md +77 -0
  689. package/dist/skills/lsp-setup/references/yaml/README.md +70 -0
  690. package/dist/skills/lsp-setup/references/zig/README.md +49 -0
  691. package/dist/skills/lsp-setup/scripts/detect-lsp.ts +210 -0
  692. package/dist/skills/lsp-setup/scripts/lsp-server-table.ts +177 -0
  693. package/dist/skills/lsp-setup/scripts/tsconfig.json +17 -0
  694. package/dist/skills/lsp-setup/scripts/verify-lsp.ts +147 -0
  695. package/dist/skills/programming/SKILL.md +463 -0
  696. package/dist/skills/programming/references/go/README.md +90 -0
  697. package/dist/skills/programming/references/go/backend-stack.md +641 -0
  698. package/dist/skills/programming/references/go/bootstrap.md +328 -0
  699. package/dist/skills/programming/references/go/bubbletea-v2.md +360 -0
  700. package/dist/skills/programming/references/go/cobra-stack.md +468 -0
  701. package/dist/skills/programming/references/go/concurrency.md +362 -0
  702. package/dist/skills/programming/references/go/data-modeling.md +329 -0
  703. package/dist/skills/programming/references/go/error-handling.md +359 -0
  704. package/dist/skills/programming/references/go/golangci-strict.md +236 -0
  705. package/dist/skills/programming/references/go/grpc-connect.md +375 -0
  706. package/dist/skills/programming/references/go/libraries.md +337 -0
  707. package/dist/skills/programming/references/go/one-liners.md +202 -0
  708. package/dist/skills/programming/references/go/sqlc-pgx.md +471 -0
  709. package/dist/skills/programming/references/go/testing.md +467 -0
  710. package/dist/skills/programming/references/go/type-patterns.md +298 -0
  711. package/dist/skills/programming/references/python/README.md +314 -0
  712. package/dist/skills/programming/references/python/async-anyio.md +442 -0
  713. package/dist/skills/programming/references/python/data-modeling.md +233 -0
  714. package/dist/skills/programming/references/python/data-processing.md +133 -0
  715. package/dist/skills/programming/references/python/error-handling.md +218 -0
  716. package/dist/skills/programming/references/python/fastapi-stack.md +316 -0
  717. package/dist/skills/programming/references/python/httpx2-optimization.md +360 -0
  718. package/dist/skills/programming/references/python/libraries.md +307 -0
  719. package/dist/skills/programming/references/python/one-liners.md +268 -0
  720. package/dist/skills/programming/references/python/orjson-stack.md +378 -0
  721. package/dist/skills/programming/references/python/pydantic-ai.md +285 -0
  722. package/dist/skills/programming/references/python/pyproject-strict.md +232 -0
  723. package/dist/skills/programming/references/python/textual-tui.md +201 -0
  724. package/dist/skills/programming/references/python/type-patterns.md +176 -0
  725. package/dist/skills/programming/references/rust/README.md +317 -0
  726. package/dist/skills/programming/references/rust/async-tokio.md +299 -0
  727. package/dist/skills/programming/references/rust/axum-stack.md +467 -0
  728. package/dist/skills/programming/references/rust/cargo-strict.md +317 -0
  729. package/dist/skills/programming/references/rust/clap-stack.md +409 -0
  730. package/dist/skills/programming/references/rust/concurrency.md +375 -0
  731. package/dist/skills/programming/references/rust/libraries.md +439 -0
  732. package/dist/skills/programming/references/rust/one-liners.md +291 -0
  733. package/dist/skills/programming/references/rust/proptest-insta.md +429 -0
  734. package/dist/skills/programming/references/rust/type-state.md +354 -0
  735. package/dist/skills/programming/references/rust/unsafe-discipline.md +250 -0
  736. package/dist/skills/programming/references/rust/zero-cost-safety.md +527 -0
  737. package/dist/skills/programming/references/rust-ub/README.md +289 -0
  738. package/dist/skills/programming/references/rust-ub/miri-sanitizers-loom.md +411 -0
  739. package/dist/skills/programming/references/rust-ub/ub-taxonomy.md +269 -0
  740. package/dist/skills/programming/references/typescript/README.md +195 -0
  741. package/dist/skills/programming/references/typescript/backend-hono.md +672 -0
  742. package/dist/skills/programming/references/typescript/bootstrap.md +199 -0
  743. package/dist/skills/programming/references/typescript/data-modeling.md +202 -0
  744. package/dist/skills/programming/references/typescript/error-handling.md +169 -0
  745. package/dist/skills/programming/references/typescript/tsconfig-strict.md +152 -0
  746. package/dist/skills/programming/references/typescript/type-patterns.md +196 -0
  747. package/dist/skills/programming/scripts/go/check-no-excuse-rules.sh +173 -0
  748. package/dist/skills/programming/scripts/go/new-project.py +138 -0
  749. package/dist/skills/programming/scripts/go/templates/.editorconfig +13 -0
  750. package/dist/skills/programming/scripts/go/templates/.golangci.yml +95 -0
  751. package/dist/skills/programming/scripts/go/templates/AGENTS.md.tmpl +24 -0
  752. package/dist/skills/programming/scripts/go/templates/README.md.tmpl +12 -0
  753. package/dist/skills/programming/scripts/go/templates/Taskfile.yml +40 -0
  754. package/dist/skills/programming/scripts/go/templates/ci.yml +37 -0
  755. package/dist/skills/programming/scripts/go/templates/config.go +24 -0
  756. package/dist/skills/programming/scripts/go/templates/gitignore +15 -0
  757. package/dist/skills/programming/scripts/go/templates/main.go.tmpl +22 -0
  758. package/dist/skills/programming/scripts/go/templates/run.go +15 -0
  759. package/dist/skills/programming/scripts/python/check-no-excuse-rules.py +687 -0
  760. package/dist/skills/programming/scripts/python/new-project.py +172 -0
  761. package/dist/skills/programming/scripts/python/new-script.py +116 -0
  762. package/dist/skills/programming/scripts/rust/check-no-excuse-rules.py +296 -0
  763. package/dist/skills/programming/scripts/rust/check-no-excuse-rules.sh +158 -0
  764. package/dist/skills/programming/scripts/rust/new-project.py +175 -0
  765. package/dist/skills/programming/scripts/typescript/check-no-excuse-rules.ts +282 -0
  766. package/dist/skills/programming/scripts/typescript/new-project.ts +177 -0
  767. package/dist/skills/refactor/SKILL.md +754 -0
  768. package/dist/skills/remove-ai-slops/SKILL.md +317 -0
  769. package/dist/skills/review-work/SKILL.md +594 -0
  770. package/dist/skills/start-work/SKILL.md +178 -0
  771. package/dist/skills/ultraresearch/SKILL.md +230 -0
  772. package/dist/skills/ulw-plan/SKILL.md +69 -0
  773. package/dist/skills/ulw-plan/agents/openai.yaml +7 -0
  774. package/dist/skills/ulw-plan/references/full-workflow.md +99 -0
  775. package/dist/skills/ulw-plan/references/intent-clear.md +44 -0
  776. package/dist/skills/ulw-plan/references/intent-unclear.md +44 -0
  777. package/dist/skills/ulw-plan/scripts/scaffold-plan.mjs +301 -0
  778. package/dist/skills/visual-qa/SKILL.md +235 -0
  779. package/dist/skills/visual-qa/references/agent-browser-setup.md +44 -0
  780. package/dist/skills/visual-qa/scripts/ansi.test.ts +45 -0
  781. package/dist/skills/visual-qa/scripts/ansi.ts +17 -0
  782. package/dist/skills/visual-qa/scripts/cli.test.ts +73 -0
  783. package/dist/skills/visual-qa/scripts/cli.ts +82 -0
  784. package/dist/skills/visual-qa/scripts/east-asian-width.test.ts +60 -0
  785. package/dist/skills/visual-qa/scripts/east-asian-width.ts +72 -0
  786. package/dist/skills/visual-qa/scripts/image-diff.test.ts +70 -0
  787. package/dist/skills/visual-qa/scripts/image-diff.ts +109 -0
  788. package/dist/skills/visual-qa/scripts/png-crc.ts +27 -0
  789. package/dist/skills/visual-qa/scripts/png-decode.test.ts +44 -0
  790. package/dist/skills/visual-qa/scripts/png-decode.ts +206 -0
  791. package/dist/skills/visual-qa/scripts/png-synth.ts +57 -0
  792. package/dist/skills/visual-qa/scripts/skill-prompt-contract.test.ts +127 -0
  793. package/dist/skills/visual-qa/scripts/tui-grid.test.ts +57 -0
  794. package/dist/skills/visual-qa/scripts/tui-grid.ts +88 -0
  795. package/dist/skills/visual-qa/scripts/types.ts +54 -0
  796. package/dist/tools/background-task/clients.d.ts +2 -0
  797. package/dist/tools/background-task/full-session-format.d.ts +1 -0
  798. package/dist/tools/background-task/types.d.ts +1 -0
  799. package/dist/tools/delegate-task/background-task-description.d.ts +2 -0
  800. package/dist/tools/delegate-task/constants.d.ts +13 -1
  801. package/dist/tools/delegate-task/model-selection.d.ts +3 -17
  802. package/dist/tools/delegate-task/model-string-parser.d.ts +1 -9
  803. package/dist/tools/delegate-task/sync-prompt-sender.d.ts +1 -1
  804. package/dist/tools/delegate-task/sync-result-fetcher.d.ts +1 -0
  805. package/dist/tools/delegate-task/sync-session-lifecycle.d.ts +2 -1
  806. package/dist/tools/delegate-task/sync-session-poller.d.ts +1 -0
  807. package/dist/tools/delegate-task/types.d.ts +59 -2
  808. package/dist/tools/index.d.ts +1 -0
  809. package/dist/tools/look-at/look-at-input-preparer.d.ts +6 -2
  810. package/dist/tools/look-at/look-at-prompt.d.ts +2 -1
  811. package/dist/tools/look-at/look-at-session-runner.d.ts +3 -4
  812. package/dist/tools/look-at/types.d.ts +2 -0
  813. package/dist/tools/monitor/create-monitor-tools.d.ts +4 -0
  814. package/dist/tools/monitor/index.d.ts +1 -0
  815. package/dist/tools/monitor/monitor-list.d.ts +7 -0
  816. package/dist/tools/monitor/monitor-output.d.ts +3 -0
  817. package/dist/tools/monitor/monitor-start.d.ts +9 -0
  818. package/dist/tools/monitor/monitor-stop.d.ts +16 -0
  819. package/dist/tools/session-manager/types.d.ts +1 -0
  820. package/dist/tools/skill/native-skills.d.ts +2 -2
  821. package/dist/tools/skill/scope-priority.d.ts +1 -4
  822. package/dist/tools/skill/skill-matcher.d.ts +1 -5
  823. package/dist/tools/skill-mcp/types.d.ts +1 -0
  824. package/dist/tools/task/types.d.ts +10 -10
  825. package/dist/tui.d.ts +4 -0
  826. package/dist/tui.js +69330 -0
  827. package/package.json +58 -36
  828. package/packages/git-bash-mcp/dist/cli.js +225 -55
  829. package/packages/lsp-core/package.json +41 -0
  830. package/packages/lsp-core/src/index.ts +28 -0
  831. package/packages/lsp-core/src/lsp/cleanup-errors.ts +5 -0
  832. package/packages/lsp-core/src/lsp/client-wrapper.ts +173 -0
  833. package/packages/lsp-core/src/lsp/client.ts +172 -0
  834. package/packages/lsp-core/src/lsp/config-loader.ts +266 -0
  835. package/packages/lsp-core/src/lsp/connection.ts +73 -0
  836. package/packages/lsp-core/src/lsp/constants.ts +11 -0
  837. package/packages/lsp-core/src/lsp/directory-diagnostics.ts +154 -0
  838. package/packages/lsp-core/src/lsp/effective-extension.ts +10 -0
  839. package/packages/lsp-core/src/lsp/errors.ts +63 -0
  840. package/packages/lsp-core/src/lsp/formatters.ts +141 -0
  841. package/packages/lsp-core/src/lsp/infer-extension.ts +66 -0
  842. package/packages/lsp-core/src/lsp/json-rpc-connection.ts +296 -0
  843. package/packages/lsp-core/src/lsp/language-mappings.ts +173 -0
  844. package/packages/lsp-core/src/lsp/manager.ts +369 -0
  845. package/packages/lsp-core/src/lsp/process-signal-cleanup.ts +21 -0
  846. package/packages/lsp-core/src/lsp/process.ts +202 -0
  847. package/packages/lsp-core/src/lsp/server-definitions.ts +176 -0
  848. package/packages/lsp-core/src/lsp/server-install-state.ts +70 -0
  849. package/packages/lsp-core/src/lsp/server-installation.ts +45 -0
  850. package/packages/lsp-core/src/lsp/server-resolution.ts +104 -0
  851. package/packages/lsp-core/src/lsp/startup-failure.ts +1 -0
  852. package/packages/lsp-core/src/lsp/transport.ts +299 -0
  853. package/packages/lsp-core/src/lsp/types.ts +126 -0
  854. package/packages/lsp-core/src/lsp/utils.test.ts +72 -0
  855. package/packages/lsp-core/src/lsp/utils.ts +40 -0
  856. package/packages/lsp-core/src/lsp/workspace-edit.ts +206 -0
  857. package/packages/lsp-core/src/mcp-protocol-pin.test.ts +68 -0
  858. package/packages/lsp-core/src/mcp.ts +95 -0
  859. package/packages/lsp-core/src/missing-dependency-result.ts +19 -0
  860. package/packages/lsp-core/src/request-context.ts +22 -0
  861. package/packages/lsp-core/src/tool-surface.test.ts +157 -0
  862. package/packages/lsp-core/src/tools/definitions.ts +141 -0
  863. package/packages/lsp-core/src/tools/diagnostics.ts +97 -0
  864. package/packages/lsp-core/src/tools/index.ts +10 -0
  865. package/packages/lsp-core/src/tools/install-decision.ts +39 -0
  866. package/packages/lsp-core/src/tools/navigation.ts +86 -0
  867. package/packages/lsp-core/src/tools/parameters.ts +49 -0
  868. package/packages/lsp-core/src/tools/rename.ts +72 -0
  869. package/packages/lsp-core/src/tools/result.ts +5 -0
  870. package/packages/lsp-core/src/tools/runtime.ts +21 -0
  871. package/packages/lsp-core/src/tools/schema.ts +9 -0
  872. package/packages/lsp-core/src/tools/status.ts +28 -0
  873. package/packages/lsp-core/src/tools/symbols.ts +99 -0
  874. package/packages/lsp-core/src/tools/types.ts +104 -0
  875. package/packages/lsp-core/src/tools.ts +1 -0
  876. package/packages/lsp-daemon/dist/cli.js +800 -612
  877. package/packages/lsp-daemon/dist/daemon-client.d.ts +1 -1
  878. package/packages/lsp-daemon/dist/daemon-server.js +1 -1
  879. package/packages/lsp-daemon/dist/index.d.ts +1 -1
  880. package/packages/lsp-daemon/dist/index.js +695 -505
  881. package/packages/lsp-daemon/dist/proxy.d.ts +3 -2
  882. package/packages/lsp-daemon/dist/proxy.js +16 -40
  883. package/packages/lsp-daemon/dist/request-routing.d.ts +2 -2
  884. package/packages/lsp-daemon/dist/request-routing.js +2 -2
  885. package/packages/lsp-daemon/package.json +2 -1
  886. package/packages/lsp-tools-mcp/dist/cli.js +3348 -15
  887. package/packages/lsp-tools-mcp/dist/lsp/cleanup-errors.d.ts +1 -1
  888. package/packages/lsp-tools-mcp/dist/lsp/client-wrapper.d.ts +1 -13
  889. package/packages/lsp-tools-mcp/dist/lsp/client.d.ts +1 -20
  890. package/packages/lsp-tools-mcp/dist/lsp/config-loader.d.ts +1 -16
  891. package/packages/lsp-tools-mcp/dist/lsp/connection.d.ts +1 -4
  892. package/packages/lsp-tools-mcp/dist/lsp/constants.d.ts +1 -10
  893. package/packages/lsp-tools-mcp/dist/lsp/directory-diagnostics.d.ts +1 -3
  894. package/packages/lsp-tools-mcp/dist/lsp/effective-extension.d.ts +1 -1
  895. package/packages/lsp-tools-mcp/dist/lsp/errors.d.ts +1 -35
  896. package/packages/lsp-tools-mcp/dist/lsp/formatters.d.ts +1 -12
  897. package/packages/lsp-tools-mcp/dist/lsp/infer-extension.d.ts +1 -1
  898. package/packages/lsp-tools-mcp/dist/lsp/json-rpc-connection.d.ts +1 -36
  899. package/packages/lsp-tools-mcp/dist/lsp/language-mappings.d.ts +1 -4
  900. package/packages/lsp-tools-mcp/dist/lsp/manager.d.ts +1 -46
  901. package/packages/lsp-tools-mcp/dist/lsp/manager.js +1390 -265
  902. package/packages/lsp-tools-mcp/dist/lsp/process-signal-cleanup.d.ts +1 -1
  903. package/packages/lsp-tools-mcp/dist/lsp/process.d.ts +1 -25
  904. package/packages/lsp-tools-mcp/dist/lsp/server-definitions.d.ts +1 -4
  905. package/packages/lsp-tools-mcp/dist/lsp/server-install-state.d.ts +1 -12
  906. package/packages/lsp-tools-mcp/dist/lsp/server-installation.d.ts +1 -1
  907. package/packages/lsp-tools-mcp/dist/lsp/server-resolution.d.ts +1 -11
  908. package/packages/lsp-tools-mcp/dist/lsp/startup-failure.d.ts +1 -3
  909. package/packages/lsp-tools-mcp/dist/lsp/transport.d.ts +1 -26
  910. package/packages/lsp-tools-mcp/dist/lsp/types.d.ts +1 -124
  911. package/packages/lsp-tools-mcp/dist/lsp/utils.d.ts +1 -0
  912. package/packages/lsp-tools-mcp/dist/lsp/workspace-edit.d.ts +1 -11
  913. package/packages/lsp-tools-mcp/dist/mcp.d.ts +1 -30
  914. package/packages/lsp-tools-mcp/dist/mcp.js +3312 -70
  915. package/packages/lsp-tools-mcp/dist/missing-dependency-result.d.ts +1 -2
  916. package/packages/lsp-tools-mcp/dist/request-context.d.ts +1 -7
  917. package/packages/lsp-tools-mcp/dist/request-context.js +16 -10
  918. package/packages/lsp-tools-mcp/dist/tools.d.ts +1 -90
  919. package/packages/lsp-tools-mcp/dist/tools.js +3028 -439
  920. package/packages/lsp-tools-mcp/package.json +3 -1
  921. package/packages/omo-codex/THIRD-PARTY-NOTICES.md +155 -0
  922. package/packages/omo-codex/lazycodex-repository/.github/workflows/pr-source-guidance.yml +11 -12
  923. package/packages/omo-codex/plugin/.codex-plugin/plugin.json +1 -1
  924. package/packages/omo-codex/plugin/.mcp.json +6 -5
  925. package/packages/omo-codex/plugin/README.md +1 -1
  926. package/packages/omo-codex/plugin/components/bootstrap/dist/cli.js +2975 -0
  927. package/packages/omo-codex/plugin/components/bootstrap/hooks/hooks.json +17 -0
  928. package/packages/omo-codex/plugin/components/bootstrap/manifests/node.json +10 -0
  929. package/packages/omo-codex/plugin/components/bootstrap/package.json +20 -0
  930. package/packages/omo-codex/plugin/components/bootstrap/scripts/bootstrap.ps1 +310 -0
  931. package/packages/omo-codex/plugin/components/bootstrap/scripts/build.mjs +35 -0
  932. package/packages/omo-codex/plugin/components/bootstrap/scripts/generate-manifests.mjs +71 -0
  933. package/packages/omo-codex/plugin/components/bootstrap/src/cli.ts +153 -0
  934. package/packages/omo-codex/plugin/components/bootstrap/src/download.ts +212 -0
  935. package/packages/omo-codex/plugin/components/bootstrap/src/environment.ts +286 -0
  936. package/packages/omo-codex/plugin/components/bootstrap/src/hook.ts +108 -0
  937. package/packages/omo-codex/plugin/components/bootstrap/src/provision.ts +135 -0
  938. package/packages/omo-codex/plugin/components/bootstrap/src/setup.ts +294 -0
  939. package/packages/omo-codex/plugin/components/bootstrap/src/worker.ts +279 -0
  940. package/packages/omo-codex/plugin/components/bootstrap/test/download.test.ts +295 -0
  941. package/packages/omo-codex/plugin/components/bootstrap/test/environment.test.ts +376 -0
  942. package/packages/omo-codex/plugin/components/bootstrap/test/provision.test.ts +464 -0
  943. package/packages/omo-codex/plugin/components/bootstrap/tsconfig.json +25 -0
  944. package/packages/omo-codex/plugin/components/codegraph/dist/cli.js +2205 -0
  945. package/packages/omo-codex/plugin/components/codegraph/dist/serve.d.ts +32 -0
  946. package/packages/omo-codex/plugin/components/codegraph/dist/serve.js +1603 -0
  947. package/packages/omo-codex/plugin/components/codegraph/package.json +27 -0
  948. package/packages/omo-codex/plugin/components/codegraph/src/cli.ts +55 -0
  949. package/packages/omo-codex/plugin/components/codegraph/src/hook-types.ts +83 -0
  950. package/packages/omo-codex/plugin/components/codegraph/src/hook.ts +108 -0
  951. package/packages/omo-codex/plugin/components/codegraph/src/serve.ts +191 -0
  952. package/packages/omo-codex/plugin/components/codegraph/src/session-start-worker.ts +213 -0
  953. package/packages/omo-codex/plugin/components/codegraph/test/hook.test.ts +563 -0
  954. package/packages/omo-codex/plugin/components/codegraph/test/serve.test.ts +401 -0
  955. package/packages/omo-codex/plugin/components/codegraph/tsconfig.build.json +13 -0
  956. package/packages/omo-codex/plugin/components/codegraph/tsconfig.json +25 -0
  957. package/packages/omo-codex/plugin/components/comment-checker/dist/cli.js +610 -7
  958. package/packages/omo-codex/plugin/components/comment-checker/hooks/hooks.json +1 -1
  959. package/packages/omo-codex/plugin/components/comment-checker/package.json +7 -6
  960. package/packages/omo-codex/plugin/components/comment-checker/src/apply-patch.ts +28 -156
  961. package/packages/omo-codex/plugin/components/comment-checker/src/core-values.ts +1 -1
  962. package/packages/omo-codex/plugin/components/comment-checker/src/core.ts +2 -2
  963. package/packages/omo-codex/plugin/components/comment-checker/src/request-extractor.ts +1 -1
  964. package/packages/omo-codex/plugin/components/comment-checker/src/runner.ts +6 -2
  965. package/packages/omo-codex/plugin/components/comment-checker/test/core.test.ts +38 -35
  966. package/packages/omo-codex/plugin/components/comment-checker/test/fixtures/apply-patch-mixed-requests.ts +60 -0
  967. package/packages/omo-codex/plugin/components/git-bash/dist/cli.js +155 -26
  968. package/packages/omo-codex/plugin/components/git-bash/hooks/hooks.json +2 -2
  969. package/packages/omo-codex/plugin/components/git-bash/package.json +3 -2
  970. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/biome.json +48 -0
  971. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/directive.md +11 -0
  972. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/dist/cli.js +223 -0
  973. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/dist/codex-hook.d.ts +2 -0
  974. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/dist/codex-hook.js +123 -0
  975. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/dist/directive.d.ts +2 -0
  976. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/dist/directive.js +5 -0
  977. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/dist/index.d.ts +4 -0
  978. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/dist/index.js +3 -0
  979. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/dist/state.d.ts +9 -0
  980. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/dist/state.js +45 -0
  981. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/dist/types.d.ts +39 -0
  982. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/dist/types.js +1 -0
  983. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/hooks/hooks.json +17 -0
  984. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/package.json +44 -0
  985. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/src/cli.ts +56 -0
  986. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/src/codex-hook.ts +129 -0
  987. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/src/directive.ts +13 -0
  988. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/src/index.ts +4 -0
  989. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/src/state.ts +62 -0
  990. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/src/types.ts +38 -0
  991. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/test/cli.test.ts +124 -0
  992. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/test/codex-hook.test.ts +346 -0
  993. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/tsconfig.build.json +12 -0
  994. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/tsconfig.json +27 -0
  995. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/vitest.config.ts +10 -0
  996. package/packages/omo-codex/plugin/components/lsp/dist/cli.js +3738 -28
  997. package/packages/omo-codex/plugin/components/lsp/dist/codex-hook-cli.js +6 -10
  998. package/packages/omo-codex/plugin/components/lsp/hooks/hooks.json +2 -2
  999. package/packages/omo-codex/plugin/components/lsp/package.json +4 -4
  1000. package/packages/omo-codex/plugin/components/lsp/scripts/build-lsp-tools.test.mjs +8 -3
  1001. package/packages/omo-codex/plugin/components/lsp/src/codex-hook-cli.ts +5 -8
  1002. package/packages/omo-codex/plugin/components/lsp/test/codex-hook-cli.test.ts +24 -1
  1003. package/packages/omo-codex/plugin/components/rules/bundled-rules/hephaestus.md +1 -1
  1004. package/packages/omo-codex/plugin/components/rules/bundled-rules/windows-git-bash.md +3 -1
  1005. package/packages/omo-codex/plugin/components/rules/dist/cli.js +4565 -89
  1006. package/packages/omo-codex/plugin/components/rules/hooks/hooks.json +4 -4
  1007. package/packages/omo-codex/plugin/components/rules/package.json +7 -6
  1008. package/packages/omo-codex/plugin/components/rules/src/cli.ts +16 -3
  1009. package/packages/omo-codex/plugin/components/rules/src/config.ts +3 -3
  1010. package/packages/omo-codex/plugin/components/rules/src/dynamic-target-fingerprints.ts +6 -6
  1011. package/packages/omo-codex/plugin/components/rules/src/event-budget.ts +1 -1
  1012. package/packages/omo-codex/plugin/components/rules/src/persistent-cache.ts +1 -1
  1013. package/packages/omo-codex/plugin/components/rules/src/post-compact-budget.ts +1 -1
  1014. package/packages/omo-codex/plugin/components/rules/src/rules-engine-factory.ts +9 -4
  1015. package/packages/omo-codex/plugin/components/rules/src/static-injection.ts +3 -3
  1016. package/packages/omo-codex/plugin/components/rules/src/transcript-rule-filter.ts +1 -1
  1017. package/packages/omo-codex/plugin/components/rules/test/bundled-rules-priority.test.ts +4 -4
  1018. package/packages/omo-codex/plugin/components/rules/test/bundled-rules.test.ts +1 -1
  1019. package/packages/omo-codex/plugin/components/rules/test/dynamic-target-fingerprints.test.ts +1 -1
  1020. package/packages/omo-codex/plugin/components/rules/test/engine.test.ts +3 -3
  1021. package/packages/omo-codex/plugin/components/rules/test/finder.test.ts +2 -2
  1022. package/packages/omo-codex/plugin/components/rules/test/formatter.test.ts +2 -2
  1023. package/packages/omo-codex/plugin/components/rules/test/matcher.test.ts +2 -2
  1024. package/packages/omo-codex/plugin/components/rules/test/parser.test.ts +1 -1
  1025. package/packages/omo-codex/plugin/components/rules/test/post-compact-budget.test.ts +1 -1
  1026. package/packages/omo-codex/plugin/components/rules/test/rules-engine-consumption.test.ts +92 -0
  1027. package/packages/omo-codex/plugin/components/rules/test/scanner.test.ts +1 -1
  1028. package/packages/omo-codex/plugin/components/rules/test/sources.test.ts +4 -4
  1029. package/packages/omo-codex/plugin/components/rules/test/windows-git-bash-bundled-rule.test.ts +36 -2
  1030. package/packages/omo-codex/plugin/components/start-work-continuation/dist/cli.js +394 -37
  1031. package/packages/omo-codex/plugin/components/start-work-continuation/hooks/hooks.json +2 -2
  1032. package/packages/omo-codex/plugin/components/start-work-continuation/package.json +7 -6
  1033. package/packages/omo-codex/plugin/components/start-work-continuation/src/boulder-reader.ts +20 -147
  1034. package/packages/omo-codex/plugin/components/start-work-continuation/src/codex-hook.ts +1 -1
  1035. package/packages/omo-codex/plugin/components/start-work-continuation/src/index.ts +1 -1
  1036. package/packages/omo-codex/plugin/components/start-work-continuation/test/boulder-reader.test.ts +151 -27
  1037. package/packages/omo-codex/plugin/components/start-work-continuation/test/codex-hook.test.ts +87 -49
  1038. package/packages/omo-codex/plugin/components/telemetry/LICENSE +21 -0
  1039. package/packages/omo-codex/plugin/components/telemetry/NOTICE +6 -0
  1040. package/packages/omo-codex/plugin/components/telemetry/dist/cli.js +5869 -42
  1041. package/packages/omo-codex/plugin/components/telemetry/dist/posthog.js +5783 -108
  1042. package/packages/omo-codex/plugin/components/telemetry/hooks/hooks.json +1 -1
  1043. package/packages/omo-codex/plugin/components/telemetry/package.json +7 -8
  1044. package/packages/omo-codex/plugin/components/telemetry/src/codex-hook.ts +3 -3
  1045. package/packages/omo-codex/plugin/components/telemetry/src/posthog.ts +92 -142
  1046. package/packages/omo-codex/plugin/components/telemetry/src/product-identity.ts +59 -3
  1047. package/packages/omo-codex/plugin/components/telemetry/test/codex-hook-diagnostics.test.ts +3 -3
  1048. package/packages/omo-codex/plugin/components/telemetry/test/diagnostics.test.ts +13 -7
  1049. package/packages/omo-codex/plugin/components/ultrawork/AGENTS.md +2 -2
  1050. package/packages/omo-codex/plugin/components/ultrawork/README.md +1 -1
  1051. package/packages/omo-codex/plugin/components/ultrawork/agents/explorer.toml +1 -1
  1052. package/packages/omo-codex/plugin/components/ultrawork/agents/lazycodex-clone-fidelity-reviewer.toml +31 -0
  1053. package/packages/omo-codex/plugin/components/ultrawork/agents/lazycodex-code-reviewer.toml +29 -0
  1054. package/packages/omo-codex/plugin/components/ultrawork/agents/lazycodex-executor.toml +24 -0
  1055. package/packages/omo-codex/plugin/components/ultrawork/agents/lazycodex-gate-reviewer.toml +23 -0
  1056. package/packages/omo-codex/plugin/components/ultrawork/agents/lazycodex-qa-executor.toml +22 -0
  1057. package/packages/omo-codex/plugin/components/ultrawork/agents/librarian.toml +1 -1
  1058. package/packages/omo-codex/plugin/components/ultrawork/agents/plan.toml +1 -1
  1059. package/packages/omo-codex/plugin/components/ultrawork/biome.json +1 -1
  1060. package/packages/omo-codex/plugin/components/ultrawork/directive.md +5 -1
  1061. package/packages/omo-codex/plugin/components/ultrawork/dist/cli.js +162 -37
  1062. package/packages/omo-codex/plugin/components/ultrawork/hooks/hooks.json +1 -1
  1063. package/packages/omo-codex/plugin/components/ultrawork/package.json +7 -6
  1064. package/packages/omo-codex/plugin/components/ultrawork/scripts/sync-directive.mjs +11 -0
  1065. package/packages/omo-codex/plugin/components/ultrawork/skills/ulw-plan/SKILL.md +42 -47
  1066. package/packages/omo-codex/plugin/components/ultrawork/skills/ulw-plan/references/full-workflow.md +64 -102
  1067. package/packages/omo-codex/plugin/components/ultrawork/skills/ulw-plan/references/intent-clear.md +44 -0
  1068. package/packages/omo-codex/plugin/components/ultrawork/skills/ulw-plan/references/intent-unclear.md +44 -0
  1069. package/packages/omo-codex/plugin/components/ultrawork/skills/ulw-plan/scripts/scaffold-plan.mjs +301 -0
  1070. package/packages/omo-codex/plugin/components/ultrawork/src/codex-hook.ts +2 -2
  1071. package/packages/omo-codex/plugin/components/ultrawork/test/codex-hook-test-helpers.ts +101 -0
  1072. package/packages/omo-codex/plugin/components/ultrawork/test/codex-hook-trigger-policy.test.ts +111 -0
  1073. package/packages/omo-codex/plugin/components/ultrawork/test/codex-hook.test.ts +39 -124
  1074. package/packages/omo-codex/plugin/components/ultrawork/test/directive-source.test.ts +16 -0
  1075. package/packages/omo-codex/plugin/components/ultrawork/test/package-smoke.test.ts +4 -3
  1076. package/packages/omo-codex/plugin/components/ulw-loop/dist/checkpoint-reconciliation.d.ts +5 -0
  1077. package/packages/omo-codex/plugin/components/ulw-loop/dist/checkpoint-reconciliation.js +79 -0
  1078. package/packages/omo-codex/plugin/components/ulw-loop/dist/checkpoint.d.ts +1 -1
  1079. package/packages/omo-codex/plugin/components/ulw-loop/dist/checkpoint.js +56 -82
  1080. package/packages/omo-codex/plugin/components/ulw-loop/dist/cli-commands.js +45 -143
  1081. package/packages/omo-codex/plugin/components/ulw-loop/dist/cli-output.d.ts +1 -0
  1082. package/packages/omo-codex/plugin/components/ulw-loop/dist/cli-output.js +18 -0
  1083. package/packages/omo-codex/plugin/components/ulw-loop/dist/cli-subcommands.d.ts +10 -0
  1084. package/packages/omo-codex/plugin/components/ulw-loop/dist/cli-subcommands.js +173 -0
  1085. package/packages/omo-codex/plugin/components/ulw-loop/dist/cli.js +2419 -32
  1086. package/packages/omo-codex/plugin/components/ulw-loop/dist/codex-goal-instruction.js +13 -9
  1087. package/packages/omo-codex/plugin/components/ulw-loop/dist/domain-types.d.ts +60 -12
  1088. package/packages/omo-codex/plugin/components/ulw-loop/dist/evidence.d.ts +3 -0
  1089. package/packages/omo-codex/plugin/components/ulw-loop/dist/evidence.js +67 -10
  1090. package/packages/omo-codex/plugin/components/ulw-loop/dist/goal-status.d.ts +3 -0
  1091. package/packages/omo-codex/plugin/components/ulw-loop/dist/goal-status.js +14 -0
  1092. package/packages/omo-codex/plugin/components/ulw-loop/dist/plan-crud.d.ts +2 -6
  1093. package/packages/omo-codex/plugin/components/ulw-loop/dist/plan-crud.js +50 -42
  1094. package/packages/omo-codex/plugin/components/ulw-loop/dist/plan-goal-factory.d.ts +8 -0
  1095. package/packages/omo-codex/plugin/components/ulw-loop/dist/plan-goal-factory.js +109 -0
  1096. package/packages/omo-codex/plugin/components/ulw-loop/dist/quality-gate-blockers.d.ts +5 -0
  1097. package/packages/omo-codex/plugin/components/ulw-loop/dist/quality-gate-blockers.js +41 -0
  1098. package/packages/omo-codex/plugin/components/ulw-loop/dist/quality-gate-fields.d.ts +8 -0
  1099. package/packages/omo-codex/plugin/components/ulw-loop/dist/quality-gate-fields.js +39 -0
  1100. package/packages/omo-codex/plugin/components/ulw-loop/dist/quality-gate.d.ts +13 -6
  1101. package/packages/omo-codex/plugin/components/ulw-loop/dist/quality-gate.js +176 -105
  1102. package/packages/omo-codex/plugin/components/ulw-loop/hooks/hooks.json +2 -2
  1103. package/packages/omo-codex/plugin/components/ulw-loop/package.json +4 -4
  1104. package/packages/omo-codex/plugin/components/ulw-loop/skills/ulw-loop/references/full-workflow.md +17 -17
  1105. package/packages/omo-codex/plugin/components/ulw-loop/src/checkpoint-reconciliation.ts +100 -0
  1106. package/packages/omo-codex/plugin/components/ulw-loop/src/checkpoint.ts +162 -85
  1107. package/packages/omo-codex/plugin/components/ulw-loop/src/cli-commands.ts +64 -134
  1108. package/packages/omo-codex/plugin/components/ulw-loop/src/cli-output.ts +19 -0
  1109. package/packages/omo-codex/plugin/components/ulw-loop/src/cli-subcommands.ts +250 -0
  1110. package/packages/omo-codex/plugin/components/ulw-loop/src/codex-goal-instruction.ts +18 -9
  1111. package/packages/omo-codex/plugin/components/ulw-loop/src/domain-types.ts +67 -4
  1112. package/packages/omo-codex/plugin/components/ulw-loop/src/evidence.ts +124 -18
  1113. package/packages/omo-codex/plugin/components/ulw-loop/src/goal-status.ts +16 -0
  1114. package/packages/omo-codex/plugin/components/ulw-loop/src/plan-crud.ts +132 -55
  1115. package/packages/omo-codex/plugin/components/ulw-loop/src/plan-goal-factory.ts +124 -0
  1116. package/packages/omo-codex/plugin/components/ulw-loop/src/quality-gate-blockers.ts +48 -0
  1117. package/packages/omo-codex/plugin/components/ulw-loop/src/quality-gate-fields.ts +44 -0
  1118. package/packages/omo-codex/plugin/components/ulw-loop/src/quality-gate.ts +230 -138
  1119. package/packages/omo-codex/plugin/components/ulw-loop/test/checkpoint-final.test.ts +186 -0
  1120. package/packages/omo-codex/plugin/components/ulw-loop/test/checkpoint-status.test.ts +85 -0
  1121. package/packages/omo-codex/plugin/components/ulw-loop/test/checkpoint.test.ts +120 -192
  1122. package/packages/omo-codex/plugin/components/ulw-loop/test/cli-checkpoint.test.ts +215 -0
  1123. package/packages/omo-codex/plugin/components/ulw-loop/test/cli-commands.test.ts +7 -195
  1124. package/packages/omo-codex/plugin/components/ulw-loop/test/cli-complete-goals.test.ts +41 -1
  1125. package/packages/omo-codex/plugin/components/ulw-loop/test/cli-create-goals.test.ts +172 -0
  1126. package/packages/omo-codex/plugin/components/ulw-loop/test/cli-helpers.test.ts +0 -6
  1127. package/packages/omo-codex/plugin/components/ulw-loop/test/cli-json-errors.test.ts +89 -0
  1128. package/packages/omo-codex/plugin/components/ulw-loop/test/codex-goal-instruction.test.ts +39 -8
  1129. package/packages/omo-codex/plugin/components/ulw-loop/test/evidence-criteria-gate.test.ts +29 -1
  1130. package/packages/omo-codex/plugin/components/ulw-loop/test/fixtures/artifacts/browser-screenshot.txt +1 -0
  1131. package/packages/omo-codex/plugin/components/ulw-loop/test/fixtures/artifacts/cli-pass.txt +1 -0
  1132. package/packages/omo-codex/plugin/components/ulw-loop/test/fixtures/artifacts/code-review.md +1 -0
  1133. package/packages/omo-codex/plugin/components/ulw-loop/test/fixtures/artifacts/data-diff.txt +5 -0
  1134. package/packages/omo-codex/plugin/components/ulw-loop/test/fixtures/artifacts/gate-review.md +1 -0
  1135. package/packages/omo-codex/plugin/components/ulw-loop/test/fixtures/artifacts/http-dump.txt +4 -0
  1136. package/packages/omo-codex/plugin/components/ulw-loop/test/fixtures/artifacts/rejection.txt +1 -0
  1137. package/packages/omo-codex/plugin/components/ulw-loop/test/fixtures/checkpoint-builders.ts +98 -0
  1138. package/packages/omo-codex/plugin/components/ulw-loop/test/fixtures/quality-gate-builder.ts +91 -0
  1139. package/packages/omo-codex/plugin/components/ulw-loop/test/fixtures/sample-quality-gate.json +110 -8
  1140. package/packages/omo-codex/plugin/components/ulw-loop/test/goal-status.test.ts +35 -0
  1141. package/packages/omo-codex/plugin/components/ulw-loop/test/plan-crud.test.ts +11 -1
  1142. package/packages/omo-codex/plugin/components/ulw-loop/test/quality-gate-blockers.test.ts +102 -0
  1143. package/packages/omo-codex/plugin/components/ulw-loop/test/quality-gate-doc.test.ts +38 -0
  1144. package/packages/omo-codex/plugin/components/ulw-loop/test/quality-gate-roles.test.ts +131 -0
  1145. package/packages/omo-codex/plugin/components/ulw-loop/test/quality-gate.test.ts +150 -176
  1146. package/packages/omo-codex/plugin/components/ulw-loop/test/skill-contract.test.ts +12 -0
  1147. package/packages/omo-codex/plugin/hooks/hooks.json +48 -16
  1148. package/packages/omo-codex/plugin/package-lock.json +327 -232
  1149. package/packages/omo-codex/plugin/package.json +4 -2
  1150. package/packages/omo-codex/plugin/scripts/auto-update-state.d.mts +20 -0
  1151. package/packages/omo-codex/plugin/scripts/auto-update.mjs +30 -8
  1152. package/packages/omo-codex/plugin/scripts/build-bundled-mcp-runtimes.mjs +0 -5
  1153. package/packages/omo-codex/plugin/scripts/build-components.mjs +60 -5
  1154. package/packages/omo-codex/plugin/scripts/hook-status-message.mjs +2 -0
  1155. package/packages/omo-codex/plugin/scripts/install-flow.mjs +43 -0
  1156. package/packages/omo-codex/plugin/scripts/migrate-omo-sot/editor.mjs +125 -0
  1157. package/packages/omo-codex/plugin/scripts/migrate-omo-sot/jsonc.mjs +43 -0
  1158. package/packages/omo-codex/plugin/scripts/migrate-omo-sot/scaffold.mjs +29 -0
  1159. package/packages/omo-codex/plugin/scripts/migrate-omo-sot.mjs +121 -0
  1160. package/packages/omo-codex/plugin/scripts/sync-skills.mjs +5 -5
  1161. package/packages/omo-codex/plugin/shared/package.json +24 -0
  1162. package/packages/omo-codex/plugin/shared/src/config-loader.ts +28 -0
  1163. package/packages/omo-codex/plugin/shared/test/config-loader.test.ts +105 -0
  1164. package/packages/omo-codex/plugin/shared/tsconfig.build.json +9 -0
  1165. package/packages/omo-codex/plugin/shared/tsconfig.json +16 -0
  1166. package/packages/omo-codex/plugin/skills/ast-grep/LICENSE +21 -0
  1167. package/packages/omo-codex/plugin/skills/ast-grep/README.md +136 -0
  1168. package/packages/omo-codex/plugin/skills/ast-grep/SKILL.md +272 -0
  1169. package/packages/omo-codex/plugin/skills/ast-grep/SOURCE +1 -0
  1170. package/packages/omo-codex/plugin/skills/ast-grep/install.ps1 +235 -0
  1171. package/packages/omo-codex/plugin/skills/ast-grep/install.sh +286 -0
  1172. package/packages/omo-codex/plugin/skills/ast-grep/references/cli.md +231 -0
  1173. package/packages/omo-codex/plugin/skills/ast-grep/references/install.md +166 -0
  1174. package/packages/omo-codex/plugin/skills/ast-grep/references/patterns.md +147 -0
  1175. package/packages/omo-codex/plugin/skills/ast-grep/references/pitfalls.md +303 -0
  1176. package/packages/omo-codex/plugin/skills/ast-grep/references/recipes.md +402 -0
  1177. package/packages/omo-codex/plugin/skills/ast-grep/references/sgconfig.md +248 -0
  1178. package/packages/omo-codex/plugin/skills/ast-grep/references/yaml-rules.md +509 -0
  1179. package/packages/omo-codex/plugin/skills/ast-grep/scripts/ast_grep_helper.py +748 -0
  1180. package/packages/omo-codex/plugin/skills/ast-grep/tests/smoke.ps1 +123 -0
  1181. package/packages/omo-codex/plugin/skills/ast-grep/tests/smoke.sh +212 -0
  1182. package/packages/omo-codex/plugin/skills/frontend/ATTRIBUTION.md +127 -0
  1183. package/packages/omo-codex/plugin/skills/frontend/LICENSE-Apache-2.0.txt +201 -0
  1184. package/packages/omo-codex/plugin/skills/frontend/SKILL.md +113 -0
  1185. package/packages/omo-codex/plugin/skills/frontend/references/design/README.md +240 -0
  1186. package/packages/omo-codex/plugin/skills/frontend/references/design/_INDEX.md +189 -0
  1187. package/packages/omo-codex/plugin/skills/frontend/references/design/airbnb.md +390 -0
  1188. package/packages/omo-codex/plugin/skills/frontend/references/design/airtable.md +89 -0
  1189. package/packages/omo-codex/plugin/skills/frontend/references/design/apple.md +247 -0
  1190. package/packages/omo-codex/plugin/skills/frontend/references/design/binance.md +345 -0
  1191. package/packages/omo-codex/plugin/skills/frontend/references/design/bmw.md +180 -0
  1192. package/packages/omo-codex/plugin/skills/frontend/references/design/brutalist-skill.md +92 -0
  1193. package/packages/omo-codex/plugin/skills/frontend/references/design/bugatti.md +268 -0
  1194. package/packages/omo-codex/plugin/skills/frontend/references/design/cal.md +259 -0
  1195. package/packages/omo-codex/plugin/skills/frontend/references/design/claude.md +312 -0
  1196. package/packages/omo-codex/plugin/skills/frontend/references/design/clay.md +304 -0
  1197. package/packages/omo-codex/plugin/skills/frontend/references/design/clickhouse.md +281 -0
  1198. package/packages/omo-codex/plugin/skills/frontend/references/design/cohere.md +266 -0
  1199. package/packages/omo-codex/plugin/skills/frontend/references/design/coinbase.md +129 -0
  1200. package/packages/omo-codex/plugin/skills/frontend/references/design/composio.md +307 -0
  1201. package/packages/omo-codex/plugin/skills/frontend/references/design/cursor.md +309 -0
  1202. package/packages/omo-codex/plugin/skills/frontend/references/design/design-system-architecture.md +217 -0
  1203. package/packages/omo-codex/plugin/skills/frontend/references/design/elevenlabs.md +265 -0
  1204. package/packages/omo-codex/plugin/skills/frontend/references/design/expo.md +281 -0
  1205. package/packages/omo-codex/plugin/skills/frontend/references/design/ferrari.md +314 -0
  1206. package/packages/omo-codex/plugin/skills/frontend/references/design/figma.md +220 -0
  1207. package/packages/omo-codex/plugin/skills/frontend/references/design/framer.md +246 -0
  1208. package/packages/omo-codex/plugin/skills/frontend/references/design/gpt-tasteskill.md +74 -0
  1209. package/packages/omo-codex/plugin/skills/frontend/references/design/hashicorp.md +278 -0
  1210. package/packages/omo-codex/plugin/skills/frontend/references/design/ibm.md +332 -0
  1211. package/packages/omo-codex/plugin/skills/frontend/references/design/image-to-code-skill.md +1228 -0
  1212. package/packages/omo-codex/plugin/skills/frontend/references/design/imagegen-brandkit.md +798 -0
  1213. package/packages/omo-codex/plugin/skills/frontend/references/design/imagegen-frontend-mobile.md +1465 -0
  1214. package/packages/omo-codex/plugin/skills/frontend/references/design/imagegen-frontend-web.md +686 -0
  1215. package/packages/omo-codex/plugin/skills/frontend/references/design/intercom.md +146 -0
  1216. package/packages/omo-codex/plugin/skills/frontend/references/design/kraken.md +125 -0
  1217. package/packages/omo-codex/plugin/skills/frontend/references/design/lamborghini.md +288 -0
  1218. package/packages/omo-codex/plugin/skills/frontend/references/design/linear.app.md +367 -0
  1219. package/packages/omo-codex/plugin/skills/frontend/references/design/lovable.md +298 -0
  1220. package/packages/omo-codex/plugin/skills/frontend/references/design/mastercard.md +365 -0
  1221. package/packages/omo-codex/plugin/skills/frontend/references/design/meta.md +366 -0
  1222. package/packages/omo-codex/plugin/skills/frontend/references/design/minimalist-skill.md +85 -0
  1223. package/packages/omo-codex/plugin/skills/frontend/references/design/minimax.md +257 -0
  1224. package/packages/omo-codex/plugin/skills/frontend/references/design/mintlify.md +326 -0
  1225. package/packages/omo-codex/plugin/skills/frontend/references/design/miro.md +108 -0
  1226. package/packages/omo-codex/plugin/skills/frontend/references/design/mistral.ai.md +261 -0
  1227. package/packages/omo-codex/plugin/skills/frontend/references/design/mongodb.md +266 -0
  1228. package/packages/omo-codex/plugin/skills/frontend/references/design/nike.md +363 -0
  1229. package/packages/omo-codex/plugin/skills/frontend/references/design/notion.md +309 -0
  1230. package/packages/omo-codex/plugin/skills/frontend/references/design/nvidia.md +293 -0
  1231. package/packages/omo-codex/plugin/skills/frontend/references/design/ollama.md +267 -0
  1232. package/packages/omo-codex/plugin/skills/frontend/references/design/opencode.ai.md +281 -0
  1233. package/packages/omo-codex/plugin/skills/frontend/references/design/output-skill.md +49 -0
  1234. package/packages/omo-codex/plugin/skills/frontend/references/design/pinterest.md +230 -0
  1235. package/packages/omo-codex/plugin/skills/frontend/references/design/playstation.md +364 -0
  1236. package/packages/omo-codex/plugin/skills/frontend/references/design/posthog.md +256 -0
  1237. package/packages/omo-codex/plugin/skills/frontend/references/design/raycast.md +268 -0
  1238. package/packages/omo-codex/plugin/skills/frontend/references/design/react-dev-tooling-skill.md +230 -0
  1239. package/packages/omo-codex/plugin/skills/frontend/references/design/redesign-skill.md +178 -0
  1240. package/packages/omo-codex/plugin/skills/frontend/references/design/renault.md +311 -0
  1241. package/packages/omo-codex/plugin/skills/frontend/references/design/replicate.md +261 -0
  1242. package/packages/omo-codex/plugin/skills/frontend/references/design/resend.md +303 -0
  1243. package/packages/omo-codex/plugin/skills/frontend/references/design/revolut.md +185 -0
  1244. package/packages/omo-codex/plugin/skills/frontend/references/design/runwayml.md +244 -0
  1245. package/packages/omo-codex/plugin/skills/frontend/references/design/sanity.md +357 -0
  1246. package/packages/omo-codex/plugin/skills/frontend/references/design/sentry.md +262 -0
  1247. package/packages/omo-codex/plugin/skills/frontend/references/design/shopify.md +350 -0
  1248. package/packages/omo-codex/plugin/skills/frontend/references/design/soft-skill.md +98 -0
  1249. package/packages/omo-codex/plugin/skills/frontend/references/design/spacex.md +194 -0
  1250. package/packages/omo-codex/plugin/skills/frontend/references/design/spotify.md +246 -0
  1251. package/packages/omo-codex/plugin/skills/frontend/references/design/starbucks.md +580 -0
  1252. package/packages/omo-codex/plugin/skills/frontend/references/design/stitch-skill.md +184 -0
  1253. package/packages/omo-codex/plugin/skills/frontend/references/design/stripe.md +322 -0
  1254. package/packages/omo-codex/plugin/skills/frontend/references/design/supabase.md +255 -0
  1255. package/packages/omo-codex/plugin/skills/frontend/references/design/superhuman.md +252 -0
  1256. package/packages/omo-codex/plugin/skills/frontend/references/design/taste-skill.md +226 -0
  1257. package/packages/omo-codex/plugin/skills/frontend/references/design/tesla.md +286 -0
  1258. package/packages/omo-codex/plugin/skills/frontend/references/design/theverge.md +339 -0
  1259. package/packages/omo-codex/plugin/skills/frontend/references/design/together.ai.md +263 -0
  1260. package/packages/omo-codex/plugin/skills/frontend/references/design/uber.md +295 -0
  1261. package/packages/omo-codex/plugin/skills/frontend/references/design/vercel.md +310 -0
  1262. package/packages/omo-codex/plugin/skills/frontend/references/design/vodafone.md +423 -0
  1263. package/packages/omo-codex/plugin/skills/frontend/references/design/voltagent.md +323 -0
  1264. package/packages/omo-codex/plugin/skills/frontend/references/design/warp.md +253 -0
  1265. package/packages/omo-codex/plugin/skills/frontend/references/design/webflow.md +92 -0
  1266. package/packages/omo-codex/plugin/skills/frontend/references/design/wired.md +278 -0
  1267. package/packages/omo-codex/plugin/skills/frontend/references/design/wise.md +173 -0
  1268. package/packages/omo-codex/plugin/skills/frontend/references/design/x.ai.md +257 -0
  1269. package/packages/omo-codex/plugin/skills/frontend/references/design/zapier.md +328 -0
  1270. package/packages/omo-codex/plugin/skills/frontend/references/perfection/README.md +160 -0
  1271. package/packages/omo-codex/plugin/skills/frontend/references/perfection/react-perf-tooling.md +127 -0
  1272. package/packages/omo-codex/plugin/skills/frontend/references/ui-ux-db/README.md +273 -0
  1273. package/packages/omo-codex/plugin/skills/frontend/references/ui-ux-db/data/charts.csv +26 -0
  1274. package/packages/omo-codex/plugin/skills/frontend/references/ui-ux-db/data/colors.csv +97 -0
  1275. package/packages/omo-codex/plugin/skills/frontend/references/ui-ux-db/data/icons.csv +101 -0
  1276. package/packages/omo-codex/plugin/skills/frontend/references/ui-ux-db/data/landing.csv +31 -0
  1277. package/packages/omo-codex/plugin/skills/frontend/references/ui-ux-db/data/products.csv +97 -0
  1278. package/packages/omo-codex/plugin/skills/frontend/references/ui-ux-db/data/react-performance.csv +45 -0
  1279. package/packages/omo-codex/plugin/skills/frontend/references/ui-ux-db/data/stacks/astro.csv +54 -0
  1280. package/packages/omo-codex/plugin/skills/frontend/references/ui-ux-db/data/stacks/flutter.csv +53 -0
  1281. package/packages/omo-codex/plugin/skills/frontend/references/ui-ux-db/data/stacks/html-tailwind.csv +56 -0
  1282. package/packages/omo-codex/plugin/skills/frontend/references/ui-ux-db/data/stacks/jetpack-compose.csv +53 -0
  1283. package/packages/omo-codex/plugin/skills/frontend/references/ui-ux-db/data/stacks/nextjs.csv +53 -0
  1284. package/packages/omo-codex/plugin/skills/frontend/references/ui-ux-db/data/stacks/nuxt-ui.csv +51 -0
  1285. package/packages/omo-codex/plugin/skills/frontend/references/ui-ux-db/data/stacks/nuxtjs.csv +59 -0
  1286. package/packages/omo-codex/plugin/skills/frontend/references/ui-ux-db/data/stacks/react-native.csv +52 -0
  1287. package/packages/omo-codex/plugin/skills/frontend/references/ui-ux-db/data/stacks/react.csv +54 -0
  1288. package/packages/omo-codex/plugin/skills/frontend/references/ui-ux-db/data/stacks/shadcn.csv +61 -0
  1289. package/packages/omo-codex/plugin/skills/frontend/references/ui-ux-db/data/stacks/svelte.csv +54 -0
  1290. package/packages/omo-codex/plugin/skills/frontend/references/ui-ux-db/data/stacks/swiftui.csv +51 -0
  1291. package/packages/omo-codex/plugin/skills/frontend/references/ui-ux-db/data/stacks/vue.csv +50 -0
  1292. package/packages/omo-codex/plugin/skills/frontend/references/ui-ux-db/data/styles.csv +68 -0
  1293. package/packages/omo-codex/plugin/skills/frontend/references/ui-ux-db/data/typography.csv +58 -0
  1294. package/packages/omo-codex/plugin/skills/frontend/references/ui-ux-db/data/ui-reasoning.csv +101 -0
  1295. package/packages/omo-codex/plugin/skills/frontend/references/ui-ux-db/data/ux-guidelines.csv +100 -0
  1296. package/packages/omo-codex/plugin/skills/frontend/references/ui-ux-db/data/web-interface.csv +31 -0
  1297. package/packages/omo-codex/plugin/skills/frontend/references/ui-ux-db/scripts/core.py +253 -0
  1298. package/packages/omo-codex/plugin/skills/frontend/references/ui-ux-db/scripts/design_system.py +1067 -0
  1299. package/packages/omo-codex/plugin/skills/frontend/references/ui-ux-db/scripts/search.py +114 -0
  1300. package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/lighthouse-audit.py +201 -0
  1301. package/packages/omo-codex/plugin/skills/init-deep/SKILL.md +3 -3
  1302. package/packages/omo-codex/plugin/skills/lcx-contribute-bug-fix/SKILL.md +79 -28
  1303. package/packages/omo-codex/plugin/skills/lcx-contribute-bug-fix/agents/openai.yaml +2 -2
  1304. package/packages/omo-codex/plugin/skills/lcx-report-bug/SKILL.md +7 -6
  1305. package/packages/omo-codex/plugin/skills/lcx-report-bug/agents/openai.yaml +1 -1
  1306. package/packages/omo-codex/plugin/skills/refactor/SKILL.md +14 -23
  1307. package/packages/omo-codex/plugin/skills/remove-ai-slops/SKILL.md +2 -2
  1308. package/packages/omo-codex/plugin/skills/review-work/SKILL.md +2 -2
  1309. package/packages/omo-codex/plugin/skills/start-work/SKILL.md +3 -3
  1310. package/packages/omo-codex/plugin/skills/ultraresearch/SKILL.md +2 -2
  1311. package/packages/omo-codex/plugin/skills/ulw-loop/references/full-workflow.md +17 -17
  1312. package/packages/omo-codex/plugin/skills/ulw-plan/SKILL.md +42 -47
  1313. package/packages/omo-codex/plugin/skills/ulw-plan/references/full-workflow.md +64 -102
  1314. package/packages/omo-codex/plugin/skills/ulw-plan/references/intent-clear.md +44 -0
  1315. package/packages/omo-codex/plugin/skills/ulw-plan/references/intent-unclear.md +44 -0
  1316. package/packages/omo-codex/plugin/skills/ulw-plan/scripts/scaffold-plan.mjs +301 -0
  1317. package/packages/omo-codex/plugin/skills/visual-qa/SKILL.md +19 -3
  1318. package/packages/omo-codex/plugin/skills/visual-qa/references/agent-browser-setup.md +44 -0
  1319. package/packages/omo-codex/plugin/test/aggregate-agents.test.mjs +119 -11
  1320. package/packages/omo-codex/plugin/test/aggregate-build.test.mjs +2 -4
  1321. package/packages/omo-codex/plugin/test/aggregate-hooks.test.mjs +29 -2
  1322. package/packages/omo-codex/plugin/test/aggregate-manifest.test.mjs +3 -0
  1323. package/packages/omo-codex/plugin/test/aggregate-mcp.test.mjs +12 -12
  1324. package/packages/omo-codex/plugin/test/auto-update.test.mjs +171 -0
  1325. package/packages/omo-codex/plugin/test/bootstrap-binlinks.test.mjs +250 -0
  1326. package/packages/omo-codex/plugin/test/bootstrap-hooks.test.mjs +166 -0
  1327. package/packages/omo-codex/plugin/test/bootstrap-orchestration.test.mjs +371 -0
  1328. package/packages/omo-codex/plugin/test/bootstrap-ps-guard.test.mjs +134 -0
  1329. package/packages/omo-codex/plugin/test/bootstrap-setup.test.mjs +249 -0
  1330. package/packages/omo-codex/plugin/test/component-bundled-cli.test.mjs +287 -0
  1331. package/packages/omo-codex/plugin/test/component-hook-contract-cases.mjs +199 -0
  1332. package/packages/omo-codex/plugin/test/hook-status-message.test.mjs +38 -2
  1333. package/packages/omo-codex/plugin/test/index.js +13 -0
  1334. package/packages/omo-codex/plugin/test/install-time-build-runtime.test.mjs +4 -5
  1335. package/packages/omo-codex/plugin/test/lcx-bug-skills.test.mjs +10 -1
  1336. package/packages/omo-codex/plugin/test/mcp-research-servers.test.mjs +5 -3
  1337. package/packages/omo-codex/plugin/test/migrate-omo-sot.test.mjs +179 -0
  1338. package/packages/omo-codex/plugin/test/payload-equivalence.test.mjs +109 -0
  1339. package/packages/omo-codex/plugin/test/scaffold-plan.test.mjs +165 -0
  1340. package/packages/omo-codex/plugin/test/sync-skills-orchestration.test.mjs +6 -6
  1341. package/packages/omo-codex/plugin/test/sync-skills-test-support.mjs +2 -3
  1342. package/packages/omo-codex/plugin/test/sync-skills.test.mjs +37 -1
  1343. package/packages/omo-codex/scripts/install-agent-links.test.mjs +41 -0
  1344. package/packages/omo-codex/scripts/install-bin-links.test.mjs +3 -3
  1345. package/packages/omo-codex/scripts/install-cache-copy.test.mjs +1 -1
  1346. package/packages/omo-codex/scripts/install-cli-args.test.mjs +1 -1
  1347. package/packages/omo-codex/scripts/install-config-autonomous-features.test.mjs +1 -1
  1348. package/packages/omo-codex/scripts/install-config-autonomous.test.mjs +1 -1
  1349. package/packages/omo-codex/scripts/install-config-git-bash.test.mjs +1 -1
  1350. package/packages/omo-codex/scripts/install-config-preservation.test.mjs +1 -1
  1351. package/packages/omo-codex/scripts/install-config-reasoning.test.mjs +1 -2
  1352. package/packages/omo-codex/scripts/install-config.test.mjs +8 -6
  1353. package/packages/omo-codex/scripts/install-delegated-command.test.mjs +1 -1
  1354. package/packages/omo-codex/scripts/install-dist/install-local.mjs +13377 -0
  1355. package/packages/omo-codex/scripts/install-generated-bundle.test.mjs +55 -0
  1356. package/packages/omo-codex/scripts/install-git-bash-mcp-env.test.mjs +3 -4
  1357. package/packages/omo-codex/scripts/install-hook-targets.test.mjs +1 -1
  1358. package/packages/omo-codex/scripts/install-local.mjs +54 -236
  1359. package/packages/omo-codex/scripts/install-local.test.mjs +8 -1
  1360. package/packages/omo-codex/scripts/install-marketplace-cache.test.mjs +3 -3
  1361. package/packages/omo-codex/scripts/install-mcp-runtime.test.mjs +34 -77
  1362. package/packages/omo-codex/scripts/install-packaged-local.test.mjs +8 -4
  1363. package/packages/omo-codex/scripts/install-project-local-cleanup.test.mjs +1 -1
  1364. package/packages/shared-skills/package.json +6 -1
  1365. package/packages/shared-skills/skills/ast-grep/LICENSE +21 -0
  1366. package/packages/shared-skills/skills/ast-grep/README.md +136 -0
  1367. package/packages/shared-skills/skills/ast-grep/SKILL.md +272 -0
  1368. package/packages/shared-skills/skills/ast-grep/SOURCE +1 -0
  1369. package/packages/shared-skills/skills/ast-grep/install.ps1 +235 -0
  1370. package/packages/shared-skills/skills/ast-grep/install.sh +286 -0
  1371. package/packages/shared-skills/skills/ast-grep/references/cli.md +231 -0
  1372. package/packages/shared-skills/skills/ast-grep/references/install.md +166 -0
  1373. package/packages/shared-skills/skills/ast-grep/references/patterns.md +147 -0
  1374. package/packages/shared-skills/skills/ast-grep/references/pitfalls.md +303 -0
  1375. package/packages/shared-skills/skills/ast-grep/references/recipes.md +402 -0
  1376. package/packages/shared-skills/skills/ast-grep/references/sgconfig.md +248 -0
  1377. package/packages/shared-skills/skills/ast-grep/references/yaml-rules.md +509 -0
  1378. package/packages/shared-skills/skills/ast-grep/scripts/ast_grep_helper.py +748 -0
  1379. package/packages/shared-skills/skills/ast-grep/tests/smoke.ps1 +123 -0
  1380. package/packages/shared-skills/skills/ast-grep/tests/smoke.sh +212 -0
  1381. package/packages/shared-skills/skills/frontend/ATTRIBUTION.md +127 -0
  1382. package/packages/shared-skills/skills/frontend/LICENSE-Apache-2.0.txt +201 -0
  1383. package/packages/shared-skills/skills/frontend/SKILL.md +113 -0
  1384. package/packages/shared-skills/skills/frontend/references/design/README.md +240 -0
  1385. package/packages/shared-skills/skills/frontend/references/design/_INDEX.md +189 -0
  1386. package/packages/shared-skills/skills/frontend/references/design/airbnb.md +390 -0
  1387. package/packages/shared-skills/skills/frontend/references/design/airtable.md +89 -0
  1388. package/packages/shared-skills/skills/frontend/references/design/apple.md +247 -0
  1389. package/packages/shared-skills/skills/frontend/references/design/binance.md +345 -0
  1390. package/packages/shared-skills/skills/frontend/references/design/bmw.md +180 -0
  1391. package/packages/shared-skills/skills/frontend/references/design/brutalist-skill.md +92 -0
  1392. package/packages/shared-skills/skills/frontend/references/design/bugatti.md +268 -0
  1393. package/packages/shared-skills/skills/frontend/references/design/cal.md +259 -0
  1394. package/packages/shared-skills/skills/frontend/references/design/claude.md +312 -0
  1395. package/packages/shared-skills/skills/frontend/references/design/clay.md +304 -0
  1396. package/packages/shared-skills/skills/frontend/references/design/clickhouse.md +281 -0
  1397. package/packages/shared-skills/skills/frontend/references/design/cohere.md +266 -0
  1398. package/packages/shared-skills/skills/frontend/references/design/coinbase.md +129 -0
  1399. package/packages/shared-skills/skills/frontend/references/design/composio.md +307 -0
  1400. package/packages/shared-skills/skills/frontend/references/design/cursor.md +309 -0
  1401. package/packages/shared-skills/skills/frontend/references/design/design-system-architecture.md +217 -0
  1402. package/packages/shared-skills/skills/frontend/references/design/elevenlabs.md +265 -0
  1403. package/packages/shared-skills/skills/frontend/references/design/expo.md +281 -0
  1404. package/packages/shared-skills/skills/frontend/references/design/ferrari.md +314 -0
  1405. package/packages/shared-skills/skills/frontend/references/design/figma.md +220 -0
  1406. package/packages/shared-skills/skills/frontend/references/design/framer.md +246 -0
  1407. package/packages/shared-skills/skills/frontend/references/design/gpt-tasteskill.md +74 -0
  1408. package/packages/shared-skills/skills/frontend/references/design/hashicorp.md +278 -0
  1409. package/packages/shared-skills/skills/frontend/references/design/ibm.md +332 -0
  1410. package/packages/shared-skills/skills/frontend/references/design/image-to-code-skill.md +1228 -0
  1411. package/packages/shared-skills/skills/frontend/references/design/imagegen-brandkit.md +798 -0
  1412. package/packages/shared-skills/skills/frontend/references/design/imagegen-frontend-mobile.md +1465 -0
  1413. package/packages/shared-skills/skills/frontend/references/design/imagegen-frontend-web.md +686 -0
  1414. package/packages/shared-skills/skills/frontend/references/design/intercom.md +146 -0
  1415. package/packages/shared-skills/skills/frontend/references/design/kraken.md +125 -0
  1416. package/packages/shared-skills/skills/frontend/references/design/lamborghini.md +288 -0
  1417. package/packages/shared-skills/skills/frontend/references/design/linear.app.md +367 -0
  1418. package/packages/shared-skills/skills/frontend/references/design/lovable.md +298 -0
  1419. package/packages/shared-skills/skills/frontend/references/design/mastercard.md +365 -0
  1420. package/packages/shared-skills/skills/frontend/references/design/meta.md +366 -0
  1421. package/packages/shared-skills/skills/frontend/references/design/minimalist-skill.md +85 -0
  1422. package/packages/shared-skills/skills/frontend/references/design/minimax.md +257 -0
  1423. package/packages/shared-skills/skills/frontend/references/design/mintlify.md +326 -0
  1424. package/packages/shared-skills/skills/frontend/references/design/miro.md +108 -0
  1425. package/packages/shared-skills/skills/frontend/references/design/mistral.ai.md +261 -0
  1426. package/packages/shared-skills/skills/frontend/references/design/mongodb.md +266 -0
  1427. package/packages/shared-skills/skills/frontend/references/design/nike.md +363 -0
  1428. package/packages/shared-skills/skills/frontend/references/design/notion.md +309 -0
  1429. package/packages/shared-skills/skills/frontend/references/design/nvidia.md +293 -0
  1430. package/packages/shared-skills/skills/frontend/references/design/ollama.md +267 -0
  1431. package/packages/shared-skills/skills/frontend/references/design/opencode.ai.md +281 -0
  1432. package/packages/shared-skills/skills/frontend/references/design/output-skill.md +49 -0
  1433. package/packages/shared-skills/skills/frontend/references/design/pinterest.md +230 -0
  1434. package/packages/shared-skills/skills/frontend/references/design/playstation.md +364 -0
  1435. package/packages/shared-skills/skills/frontend/references/design/posthog.md +256 -0
  1436. package/packages/shared-skills/skills/frontend/references/design/raycast.md +268 -0
  1437. package/packages/shared-skills/skills/frontend/references/design/react-dev-tooling-skill.md +230 -0
  1438. package/packages/shared-skills/skills/frontend/references/design/redesign-skill.md +178 -0
  1439. package/packages/shared-skills/skills/frontend/references/design/renault.md +311 -0
  1440. package/packages/shared-skills/skills/frontend/references/design/replicate.md +261 -0
  1441. package/packages/shared-skills/skills/frontend/references/design/resend.md +303 -0
  1442. package/packages/shared-skills/skills/frontend/references/design/revolut.md +185 -0
  1443. package/packages/shared-skills/skills/frontend/references/design/runwayml.md +244 -0
  1444. package/packages/shared-skills/skills/frontend/references/design/sanity.md +357 -0
  1445. package/packages/shared-skills/skills/frontend/references/design/sentry.md +262 -0
  1446. package/packages/shared-skills/skills/frontend/references/design/shopify.md +350 -0
  1447. package/packages/shared-skills/skills/frontend/references/design/soft-skill.md +98 -0
  1448. package/packages/shared-skills/skills/frontend/references/design/spacex.md +194 -0
  1449. package/packages/shared-skills/skills/frontend/references/design/spotify.md +246 -0
  1450. package/packages/shared-skills/skills/frontend/references/design/starbucks.md +580 -0
  1451. package/packages/shared-skills/skills/frontend/references/design/stitch-skill.md +184 -0
  1452. package/packages/shared-skills/skills/frontend/references/design/stripe.md +322 -0
  1453. package/packages/shared-skills/skills/frontend/references/design/supabase.md +255 -0
  1454. package/packages/shared-skills/skills/frontend/references/design/superhuman.md +252 -0
  1455. package/packages/shared-skills/skills/frontend/references/design/taste-skill.md +226 -0
  1456. package/packages/shared-skills/skills/frontend/references/design/tesla.md +286 -0
  1457. package/packages/shared-skills/skills/frontend/references/design/theverge.md +339 -0
  1458. package/packages/shared-skills/skills/frontend/references/design/together.ai.md +263 -0
  1459. package/packages/shared-skills/skills/frontend/references/design/uber.md +295 -0
  1460. package/packages/shared-skills/skills/frontend/references/design/vercel.md +310 -0
  1461. package/packages/shared-skills/skills/frontend/references/design/vodafone.md +423 -0
  1462. package/packages/shared-skills/skills/frontend/references/design/voltagent.md +323 -0
  1463. package/packages/shared-skills/skills/frontend/references/design/warp.md +253 -0
  1464. package/packages/shared-skills/skills/frontend/references/design/webflow.md +92 -0
  1465. package/packages/shared-skills/skills/frontend/references/design/wired.md +278 -0
  1466. package/packages/shared-skills/skills/frontend/references/design/wise.md +173 -0
  1467. package/packages/shared-skills/skills/frontend/references/design/x.ai.md +257 -0
  1468. package/packages/shared-skills/skills/frontend/references/design/zapier.md +328 -0
  1469. package/packages/shared-skills/skills/frontend/references/perfection/README.md +160 -0
  1470. package/packages/shared-skills/skills/frontend/references/perfection/react-perf-tooling.md +127 -0
  1471. package/packages/shared-skills/skills/frontend/references/ui-ux-db/README.md +273 -0
  1472. package/packages/shared-skills/skills/frontend/references/ui-ux-db/data/charts.csv +26 -0
  1473. package/packages/shared-skills/skills/frontend/references/ui-ux-db/data/colors.csv +97 -0
  1474. package/packages/shared-skills/skills/frontend/references/ui-ux-db/data/icons.csv +101 -0
  1475. package/packages/shared-skills/skills/frontend/references/ui-ux-db/data/landing.csv +31 -0
  1476. package/packages/shared-skills/skills/frontend/references/ui-ux-db/data/products.csv +97 -0
  1477. package/packages/shared-skills/skills/frontend/references/ui-ux-db/data/react-performance.csv +45 -0
  1478. package/packages/shared-skills/skills/frontend/references/ui-ux-db/data/stacks/astro.csv +54 -0
  1479. package/packages/shared-skills/skills/frontend/references/ui-ux-db/data/stacks/flutter.csv +53 -0
  1480. package/packages/shared-skills/skills/frontend/references/ui-ux-db/data/stacks/html-tailwind.csv +56 -0
  1481. package/packages/shared-skills/skills/frontend/references/ui-ux-db/data/stacks/jetpack-compose.csv +53 -0
  1482. package/packages/shared-skills/skills/frontend/references/ui-ux-db/data/stacks/nextjs.csv +53 -0
  1483. package/packages/shared-skills/skills/frontend/references/ui-ux-db/data/stacks/nuxt-ui.csv +51 -0
  1484. package/packages/shared-skills/skills/frontend/references/ui-ux-db/data/stacks/nuxtjs.csv +59 -0
  1485. package/packages/shared-skills/skills/frontend/references/ui-ux-db/data/stacks/react-native.csv +52 -0
  1486. package/packages/shared-skills/skills/frontend/references/ui-ux-db/data/stacks/react.csv +54 -0
  1487. package/packages/shared-skills/skills/frontend/references/ui-ux-db/data/stacks/shadcn.csv +61 -0
  1488. package/packages/shared-skills/skills/frontend/references/ui-ux-db/data/stacks/svelte.csv +54 -0
  1489. package/packages/shared-skills/skills/frontend/references/ui-ux-db/data/stacks/swiftui.csv +51 -0
  1490. package/packages/shared-skills/skills/frontend/references/ui-ux-db/data/stacks/vue.csv +50 -0
  1491. package/packages/shared-skills/skills/frontend/references/ui-ux-db/data/styles.csv +68 -0
  1492. package/packages/shared-skills/skills/frontend/references/ui-ux-db/data/typography.csv +58 -0
  1493. package/packages/shared-skills/skills/frontend/references/ui-ux-db/data/ui-reasoning.csv +101 -0
  1494. package/packages/shared-skills/skills/frontend/references/ui-ux-db/data/ux-guidelines.csv +100 -0
  1495. package/packages/shared-skills/skills/frontend/references/ui-ux-db/data/web-interface.csv +31 -0
  1496. package/packages/shared-skills/skills/frontend/references/ui-ux-db/scripts/core.py +253 -0
  1497. package/packages/shared-skills/skills/frontend/references/ui-ux-db/scripts/design_system.py +1067 -0
  1498. package/packages/shared-skills/skills/frontend/references/ui-ux-db/scripts/search.py +114 -0
  1499. package/packages/shared-skills/skills/frontend/scripts/perfection/lighthouse-audit.py +201 -0
  1500. package/packages/shared-skills/skills/init-deep/SKILL.md +1 -1
  1501. package/packages/shared-skills/skills/lcx-contribute-bug-fix/SKILL.md +79 -28
  1502. package/packages/shared-skills/skills/lcx-contribute-bug-fix/agents/openai.yaml +2 -2
  1503. package/packages/shared-skills/skills/lcx-report-bug/SKILL.md +7 -6
  1504. package/packages/shared-skills/skills/lcx-report-bug/agents/openai.yaml +1 -1
  1505. package/packages/shared-skills/skills/refactor/SKILL.md +12 -21
  1506. package/packages/shared-skills/skills/review-work/SKILL.md +11 -9
  1507. package/packages/shared-skills/skills/start-work/SKILL.md +5 -4
  1508. package/packages/shared-skills/skills/ultraresearch/SKILL.md +9 -8
  1509. package/packages/shared-skills/skills/ulw-plan/SKILL.md +69 -0
  1510. package/packages/shared-skills/skills/ulw-plan/agents/openai.yaml +7 -0
  1511. package/packages/shared-skills/skills/ulw-plan/references/full-workflow.md +99 -0
  1512. package/packages/shared-skills/skills/ulw-plan/references/intent-clear.md +44 -0
  1513. package/packages/shared-skills/skills/ulw-plan/references/intent-unclear.md +44 -0
  1514. package/packages/shared-skills/skills/ulw-plan/scripts/scaffold-plan.mjs +301 -0
  1515. package/packages/shared-skills/skills/visual-qa/SKILL.md +17 -1
  1516. package/packages/shared-skills/skills/visual-qa/references/agent-browser-setup.md +44 -0
  1517. package/packages/shared-skills/skills/visual-qa/scripts/skill-prompt-contract.test.ts +48 -4
  1518. package/dist/cli/doctor/constants.d.ts +0 -32
  1519. package/dist/cli/doctor/spawn-with-timeout.d.ts +0 -8
  1520. package/dist/cli/doctor/types.d.ts +0 -148
  1521. package/dist/features/builtin-skills/skills/frontend-ui-ux.d.ts +0 -2
  1522. package/dist/hooks/session-recovery/constants.d.ts +0 -4
  1523. package/dist/hooks/session-recovery/detect-error-type.d.ts +0 -4
  1524. package/dist/hooks/session-recovery/error-recovery.d.ts +0 -4
  1525. package/dist/hooks/session-recovery/hook-types.d.ts +0 -22
  1526. package/dist/hooks/session-recovery/hook.d.ts +0 -4
  1527. package/dist/hooks/session-recovery/index.d.ts +0 -5
  1528. package/dist/hooks/session-recovery/interrupted-idle-message-fetch-timeout.d.ts +0 -7
  1529. package/dist/hooks/session-recovery/interrupted-tool-results.d.ts +0 -3
  1530. package/dist/hooks/session-recovery/message-state.d.ts +0 -4
  1531. package/dist/hooks/session-recovery/recover-thinking-block-order.d.ts +0 -5
  1532. package/dist/hooks/session-recovery/recover-thinking-disabled-violation.d.ts +0 -5
  1533. package/dist/hooks/session-recovery/recover-tool-result-missing.d.ts +0 -10
  1534. package/dist/hooks/session-recovery/recover-unavailable-tool.d.ts +0 -5
  1535. package/dist/hooks/session-recovery/resume.d.ts +0 -7
  1536. package/dist/hooks/session-recovery/storage/latest-assistant-message.d.ts +0 -5
  1537. package/dist/hooks/session-recovery/storage/messages-reader.d.ts +0 -6
  1538. package/dist/hooks/session-recovery/storage/orphan-thinking-search.d.ts +0 -2
  1539. package/dist/hooks/session-recovery/storage/part-content.d.ts +0 -3
  1540. package/dist/hooks/session-recovery/storage/parts-reader.d.ts +0 -6
  1541. package/dist/hooks/session-recovery/storage/thinking-block-search.d.ts +0 -2
  1542. package/dist/hooks/session-recovery/storage/thinking-prepend.d.ts +0 -33
  1543. package/dist/hooks/session-recovery/storage/thinking-strip.d.ts +0 -11
  1544. package/dist/hooks/session-recovery/storage.d.ts +0 -20
  1545. package/dist/hooks/session-recovery/types.d.ts +0 -105
  1546. package/dist/mcp/ast-grep.d.ts +0 -11
  1547. package/dist/plugin/event-session-recovery.d.ts +0 -9
  1548. package/dist/plugin/user-abort-interrupted-recovery-guard.d.ts +0 -6
  1549. package/packages/ast-grep-mcp/dist/cli.js +0 -1126
  1550. package/packages/lsp-tools-mcp/dist/lsp/cleanup-errors.js +0 -6
  1551. package/packages/lsp-tools-mcp/dist/lsp/client-wrapper.js +0 -132
  1552. package/packages/lsp-tools-mcp/dist/lsp/client.js +0 -131
  1553. package/packages/lsp-tools-mcp/dist/lsp/config-loader.js +0 -220
  1554. package/packages/lsp-tools-mcp/dist/lsp/connection.js +0 -66
  1555. package/packages/lsp-tools-mcp/dist/lsp/constants.js +0 -10
  1556. package/packages/lsp-tools-mcp/dist/lsp/directory-diagnostics.js +0 -125
  1557. package/packages/lsp-tools-mcp/dist/lsp/effective-extension.js +0 -8
  1558. package/packages/lsp-tools-mcp/dist/lsp/errors.js +0 -56
  1559. package/packages/lsp-tools-mcp/dist/lsp/formatters.js +0 -106
  1560. package/packages/lsp-tools-mcp/dist/lsp/infer-extension.js +0 -59
  1561. package/packages/lsp-tools-mcp/dist/lsp/json-rpc-connection.js +0 -247
  1562. package/packages/lsp-tools-mcp/dist/lsp/language-mappings.js +0 -170
  1563. package/packages/lsp-tools-mcp/dist/lsp/process-signal-cleanup.js +0 -17
  1564. package/packages/lsp-tools-mcp/dist/lsp/process.js +0 -153
  1565. package/packages/lsp-tools-mcp/dist/lsp/server-definitions.js +0 -170
  1566. package/packages/lsp-tools-mcp/dist/lsp/server-install-state.js +0 -51
  1567. package/packages/lsp-tools-mcp/dist/lsp/server-installation.js +0 -40
  1568. package/packages/lsp-tools-mcp/dist/lsp/server-resolution.js +0 -86
  1569. package/packages/lsp-tools-mcp/dist/lsp/startup-failure.js +0 -35
  1570. package/packages/lsp-tools-mcp/dist/lsp/transport.js +0 -238
  1571. package/packages/lsp-tools-mcp/dist/lsp/types.js +0 -1
  1572. package/packages/lsp-tools-mcp/dist/lsp/workspace-edit.js +0 -175
  1573. package/packages/lsp-tools-mcp/dist/missing-dependency-result.js +0 -14
  1574. package/packages/omo-codex/plugin/components/comment-checker/dist/apply-patch.d.ts +0 -7
  1575. package/packages/omo-codex/plugin/components/comment-checker/dist/apply-patch.js +0 -173
  1576. package/packages/omo-codex/plugin/components/comment-checker/dist/codex-hook.d.ts +0 -22
  1577. package/packages/omo-codex/plugin/components/comment-checker/dist/codex-hook.js +0 -165
  1578. package/packages/omo-codex/plugin/components/comment-checker/dist/core-values.d.ts +0 -1
  1579. package/packages/omo-codex/plugin/components/comment-checker/dist/core-values.js +0 -1
  1580. package/packages/omo-codex/plugin/components/comment-checker/dist/core.d.ts +0 -5
  1581. package/packages/omo-codex/plugin/components/comment-checker/dist/core.js +0 -4
  1582. package/packages/omo-codex/plugin/components/comment-checker/dist/hook-input.d.ts +0 -6
  1583. package/packages/omo-codex/plugin/components/comment-checker/dist/hook-input.js +0 -10
  1584. package/packages/omo-codex/plugin/components/comment-checker/dist/record.d.ts +0 -2
  1585. package/packages/omo-codex/plugin/components/comment-checker/dist/record.js +0 -11
  1586. package/packages/omo-codex/plugin/components/comment-checker/dist/request-extractor.d.ts +0 -3
  1587. package/packages/omo-codex/plugin/components/comment-checker/dist/request-extractor.js +0 -104
  1588. package/packages/omo-codex/plugin/components/comment-checker/dist/runner.d.ts +0 -26
  1589. package/packages/omo-codex/plugin/components/comment-checker/dist/runner.js +0 -144
  1590. package/packages/omo-codex/plugin/components/comment-checker/dist/types.d.ts +0 -43
  1591. package/packages/omo-codex/plugin/components/comment-checker/dist/types.js +0 -1
  1592. package/packages/omo-codex/plugin/components/comment-checker/src/record.ts +0 -11
  1593. package/packages/omo-codex/plugin/components/rules/dist/codex-hook-options.d.ts +0 -5
  1594. package/packages/omo-codex/plugin/components/rules/dist/codex-hook-options.js +0 -1
  1595. package/packages/omo-codex/plugin/components/rules/dist/codex-hook.d.ts +0 -47
  1596. package/packages/omo-codex/plugin/components/rules/dist/codex-hook.js +0 -127
  1597. package/packages/omo-codex/plugin/components/rules/dist/config.d.ts +0 -2
  1598. package/packages/omo-codex/plugin/components/rules/dist/config.js +0 -100
  1599. package/packages/omo-codex/plugin/components/rules/dist/context-pressure.d.ts +0 -2
  1600. package/packages/omo-codex/plugin/components/rules/dist/context-pressure.js +0 -26
  1601. package/packages/omo-codex/plugin/components/rules/dist/debug-log.d.ts +0 -8
  1602. package/packages/omo-codex/plugin/components/rules/dist/debug-log.js +0 -36
  1603. package/packages/omo-codex/plugin/components/rules/dist/dynamic-target-fingerprints.d.ts +0 -7
  1604. package/packages/omo-codex/plugin/components/rules/dist/dynamic-target-fingerprints.js +0 -65
  1605. package/packages/omo-codex/plugin/components/rules/dist/event-budget.d.ts +0 -3
  1606. package/packages/omo-codex/plugin/components/rules/dist/event-budget.js +0 -14
  1607. package/packages/omo-codex/plugin/components/rules/dist/hook-output.d.ts +0 -2
  1608. package/packages/omo-codex/plugin/components/rules/dist/hook-output.js +0 -24
  1609. package/packages/omo-codex/plugin/components/rules/dist/path-utils.d.ts +0 -4
  1610. package/packages/omo-codex/plugin/components/rules/dist/path-utils.js +0 -24
  1611. package/packages/omo-codex/plugin/components/rules/dist/persistent-cache.d.ts +0 -13
  1612. package/packages/omo-codex/plugin/components/rules/dist/persistent-cache.js +0 -172
  1613. package/packages/omo-codex/plugin/components/rules/dist/post-compact-budget.d.ts +0 -6
  1614. package/packages/omo-codex/plugin/components/rules/dist/post-compact-budget.js +0 -74
  1615. package/packages/omo-codex/plugin/components/rules/dist/post-compact-claim.d.ts +0 -4
  1616. package/packages/omo-codex/plugin/components/rules/dist/post-compact-claim.js +0 -6
  1617. package/packages/omo-codex/plugin/components/rules/dist/post-compact-directive.d.ts +0 -1
  1618. package/packages/omo-codex/plugin/components/rules/dist/post-compact-directive.js +0 -32
  1619. package/packages/omo-codex/plugin/components/rules/dist/post-compact-state.d.ts +0 -13
  1620. package/packages/omo-codex/plugin/components/rules/dist/post-compact-state.js +0 -29
  1621. package/packages/omo-codex/plugin/components/rules/dist/rules/cache.d.ts +0 -9
  1622. package/packages/omo-codex/plugin/components/rules/dist/rules/cache.js +0 -51
  1623. package/packages/omo-codex/plugin/components/rules/dist/rules/constants.d.ts +0 -70
  1624. package/packages/omo-codex/plugin/components/rules/dist/rules/constants.js +0 -101
  1625. package/packages/omo-codex/plugin/components/rules/dist/rules/engine-dynamic-cache.d.ts +0 -5
  1626. package/packages/omo-codex/plugin/components/rules/dist/rules/engine-dynamic-cache.js +0 -60
  1627. package/packages/omo-codex/plugin/components/rules/dist/rules/engine-dynamic-loader.d.ts +0 -6
  1628. package/packages/omo-codex/plugin/components/rules/dist/rules/engine-dynamic-loader.js +0 -61
  1629. package/packages/omo-codex/plugin/components/rules/dist/rules/engine-loader.d.ts +0 -7
  1630. package/packages/omo-codex/plugin/components/rules/dist/rules/engine-loader.js +0 -60
  1631. package/packages/omo-codex/plugin/components/rules/dist/rules/engine-paths.d.ts +0 -11
  1632. package/packages/omo-codex/plugin/components/rules/dist/rules/engine-paths.js +0 -75
  1633. package/packages/omo-codex/plugin/components/rules/dist/rules/engine-static-loader.d.ts +0 -6
  1634. package/packages/omo-codex/plugin/components/rules/dist/rules/engine-static-loader.js +0 -29
  1635. package/packages/omo-codex/plugin/components/rules/dist/rules/engine-types.d.ts +0 -44
  1636. package/packages/omo-codex/plugin/components/rules/dist/rules/engine-types.js +0 -1
  1637. package/packages/omo-codex/plugin/components/rules/dist/rules/engine.d.ts +0 -5
  1638. package/packages/omo-codex/plugin/components/rules/dist/rules/engine.js +0 -85
  1639. package/packages/omo-codex/plugin/components/rules/dist/rules/errors.d.ts +0 -6
  1640. package/packages/omo-codex/plugin/components/rules/dist/rules/errors.js +0 -12
  1641. package/packages/omo-codex/plugin/components/rules/dist/rules/finder-cache.d.ts +0 -14
  1642. package/packages/omo-codex/plugin/components/rules/dist/rules/finder-cache.js +0 -51
  1643. package/packages/omo-codex/plugin/components/rules/dist/rules/finder-paths.d.ts +0 -6
  1644. package/packages/omo-codex/plugin/components/rules/dist/rules/finder-paths.js +0 -33
  1645. package/packages/omo-codex/plugin/components/rules/dist/rules/finder-sources.d.ts +0 -5
  1646. package/packages/omo-codex/plugin/components/rules/dist/rules/finder-sources.js +0 -40
  1647. package/packages/omo-codex/plugin/components/rules/dist/rules/finder.d.ts +0 -28
  1648. package/packages/omo-codex/plugin/components/rules/dist/rules/finder.js +0 -146
  1649. package/packages/omo-codex/plugin/components/rules/dist/rules/formatter.d.ts +0 -7
  1650. package/packages/omo-codex/plugin/components/rules/dist/rules/formatter.js +0 -112
  1651. package/packages/omo-codex/plugin/components/rules/dist/rules/matcher.d.ts +0 -18
  1652. package/packages/omo-codex/plugin/components/rules/dist/rules/matcher.js +0 -93
  1653. package/packages/omo-codex/plugin/components/rules/dist/rules/ordering.d.ts +0 -3
  1654. package/packages/omo-codex/plugin/components/rules/dist/rules/ordering.js +0 -27
  1655. package/packages/omo-codex/plugin/components/rules/dist/rules/parser-frontmatter.d.ts +0 -7
  1656. package/packages/omo-codex/plugin/components/rules/dist/rules/parser-frontmatter.js +0 -30
  1657. package/packages/omo-codex/plugin/components/rules/dist/rules/parser-yaml.d.ts +0 -2
  1658. package/packages/omo-codex/plugin/components/rules/dist/rules/parser-yaml.js +0 -237
  1659. package/packages/omo-codex/plugin/components/rules/dist/rules/parser.d.ts +0 -3
  1660. package/packages/omo-codex/plugin/components/rules/dist/rules/parser.js +0 -31
  1661. package/packages/omo-codex/plugin/components/rules/dist/rules/plugin-root.d.ts +0 -1
  1662. package/packages/omo-codex/plugin/components/rules/dist/rules/plugin-root.js +0 -48
  1663. package/packages/omo-codex/plugin/components/rules/dist/rules/project-root.d.ts +0 -1
  1664. package/packages/omo-codex/plugin/components/rules/dist/rules/project-root.js +0 -23
  1665. package/packages/omo-codex/plugin/components/rules/dist/rules/scanner.d.ts +0 -14
  1666. package/packages/omo-codex/plugin/components/rules/dist/rules/scanner.js +0 -111
  1667. package/packages/omo-codex/plugin/components/rules/dist/rules/sources.d.ts +0 -3
  1668. package/packages/omo-codex/plugin/components/rules/dist/rules/sources.js +0 -9
  1669. package/packages/omo-codex/plugin/components/rules/dist/rules/truncator.d.ts +0 -18
  1670. package/packages/omo-codex/plugin/components/rules/dist/rules/truncator.js +0 -59
  1671. package/packages/omo-codex/plugin/components/rules/dist/rules/types.d.ts +0 -126
  1672. package/packages/omo-codex/plugin/components/rules/dist/rules/types.js +0 -8
  1673. package/packages/omo-codex/plugin/components/rules/dist/rules-engine-factory.d.ts +0 -6
  1674. package/packages/omo-codex/plugin/components/rules/dist/rules-engine-factory.js +0 -20
  1675. package/packages/omo-codex/plugin/components/rules/dist/session-state-lock.d.ts +0 -3
  1676. package/packages/omo-codex/plugin/components/rules/dist/session-state-lock.js +0 -41
  1677. package/packages/omo-codex/plugin/components/rules/dist/sparkshell-awareness.d.ts +0 -10
  1678. package/packages/omo-codex/plugin/components/rules/dist/sparkshell-awareness.js +0 -90
  1679. package/packages/omo-codex/plugin/components/rules/dist/static-injection.d.ts +0 -3
  1680. package/packages/omo-codex/plugin/components/rules/dist/static-injection.js +0 -128
  1681. package/packages/omo-codex/plugin/components/rules/dist/tool-paths.d.ts +0 -6
  1682. package/packages/omo-codex/plugin/components/rules/dist/tool-paths.js +0 -168
  1683. package/packages/omo-codex/plugin/components/rules/dist/transcript-rule-filter.d.ts +0 -4
  1684. package/packages/omo-codex/plugin/components/rules/dist/transcript-rule-filter.js +0 -49
  1685. package/packages/omo-codex/plugin/components/rules/dist/transcript-search.d.ts +0 -4
  1686. package/packages/omo-codex/plugin/components/rules/dist/transcript-search.js +0 -91
  1687. package/packages/omo-codex/plugin/components/rules/src/rules/cache.ts +0 -64
  1688. package/packages/omo-codex/plugin/components/rules/src/rules/constants.ts +0 -122
  1689. package/packages/omo-codex/plugin/components/rules/src/rules/engine-dynamic-cache.ts +0 -87
  1690. package/packages/omo-codex/plugin/components/rules/src/rules/engine-dynamic-loader.ts +0 -94
  1691. package/packages/omo-codex/plugin/components/rules/src/rules/engine-loader.ts +0 -84
  1692. package/packages/omo-codex/plugin/components/rules/src/rules/engine-paths.ts +0 -103
  1693. package/packages/omo-codex/plugin/components/rules/src/rules/engine-static-loader.ts +0 -43
  1694. package/packages/omo-codex/plugin/components/rules/src/rules/engine-types.ts +0 -45
  1695. package/packages/omo-codex/plugin/components/rules/src/rules/engine.ts +0 -123
  1696. package/packages/omo-codex/plugin/components/rules/src/rules/errors.ts +0 -13
  1697. package/packages/omo-codex/plugin/components/rules/src/rules/finder-cache.ts +0 -73
  1698. package/packages/omo-codex/plugin/components/rules/src/rules/finder-paths.ts +0 -47
  1699. package/packages/omo-codex/plugin/components/rules/src/rules/finder-sources.ts +0 -45
  1700. package/packages/omo-codex/plugin/components/rules/src/rules/finder.ts +0 -220
  1701. package/packages/omo-codex/plugin/components/rules/src/rules/formatter.ts +0 -149
  1702. package/packages/omo-codex/plugin/components/rules/src/rules/matcher.ts +0 -142
  1703. package/packages/omo-codex/plugin/components/rules/src/rules/ordering.ts +0 -33
  1704. package/packages/omo-codex/plugin/components/rules/src/rules/parser-frontmatter.ts +0 -39
  1705. package/packages/omo-codex/plugin/components/rules/src/rules/parser-yaml.ts +0 -271
  1706. package/packages/omo-codex/plugin/components/rules/src/rules/parser.ts +0 -35
  1707. package/packages/omo-codex/plugin/components/rules/src/rules/plugin-root.ts +0 -55
  1708. package/packages/omo-codex/plugin/components/rules/src/rules/project-root.ts +0 -30
  1709. package/packages/omo-codex/plugin/components/rules/src/rules/scanner.ts +0 -162
  1710. package/packages/omo-codex/plugin/components/rules/src/rules/sources.ts +0 -13
  1711. package/packages/omo-codex/plugin/components/rules/src/rules/truncator.ts +0 -84
  1712. package/packages/omo-codex/plugin/components/rules/src/rules/types.ts +0 -141
  1713. package/packages/omo-codex/plugin/components/start-work-continuation/dist/boulder-reader.d.ts +0 -16
  1714. package/packages/omo-codex/plugin/components/start-work-continuation/dist/boulder-reader.js +0 -146
  1715. package/packages/omo-codex/plugin/components/start-work-continuation/dist/cli.d.ts +0 -2
  1716. package/packages/omo-codex/plugin/components/start-work-continuation/dist/codex-hook.d.ts +0 -2
  1717. package/packages/omo-codex/plugin/components/start-work-continuation/dist/codex-hook.js +0 -80
  1718. package/packages/omo-codex/plugin/components/start-work-continuation/dist/directive.d.ts +0 -1
  1719. package/packages/omo-codex/plugin/components/start-work-continuation/dist/directive.js +0 -2
  1720. package/packages/omo-codex/plugin/components/start-work-continuation/dist/index.d.ts +0 -5
  1721. package/packages/omo-codex/plugin/components/start-work-continuation/dist/index.js +0 -3
  1722. package/packages/omo-codex/plugin/components/start-work-continuation/dist/types.d.ts +0 -20
  1723. package/packages/omo-codex/plugin/components/start-work-continuation/dist/types.js +0 -1
  1724. package/packages/omo-codex/plugin/components/telemetry/dist/atomic-write.d.ts +0 -1
  1725. package/packages/omo-codex/plugin/components/telemetry/dist/atomic-write.js +0 -18
  1726. package/packages/omo-codex/plugin/components/telemetry/dist/cli.d.ts +0 -2
  1727. package/packages/omo-codex/plugin/components/telemetry/dist/codex-hook.d.ts +0 -15
  1728. package/packages/omo-codex/plugin/components/telemetry/dist/codex-hook.js +0 -42
  1729. package/packages/omo-codex/plugin/components/telemetry/dist/data-path.d.ts +0 -10
  1730. package/packages/omo-codex/plugin/components/telemetry/dist/data-path.js +0 -35
  1731. package/packages/omo-codex/plugin/components/telemetry/dist/diagnostics.d.ts +0 -12
  1732. package/packages/omo-codex/plugin/components/telemetry/dist/diagnostics.js +0 -108
  1733. package/packages/omo-codex/plugin/components/telemetry/dist/env-flags.d.ts +0 -4
  1734. package/packages/omo-codex/plugin/components/telemetry/dist/env-flags.js +0 -31
  1735. package/packages/omo-codex/plugin/components/telemetry/dist/posthog-activity-state.d.ts +0 -8
  1736. package/packages/omo-codex/plugin/components/telemetry/dist/posthog-activity-state.js +0 -68
  1737. package/packages/omo-codex/plugin/components/telemetry/dist/posthog.d.ts +0 -21
  1738. package/packages/omo-codex/plugin/components/telemetry/dist/product-identity.d.ts +0 -8
  1739. package/packages/omo-codex/plugin/components/telemetry/dist/product-identity.js +0 -29
  1740. package/packages/omo-codex/plugin/components/telemetry/src/atomic-write.ts +0 -22
  1741. package/packages/omo-codex/plugin/components/telemetry/src/data-path.ts +0 -45
  1742. package/packages/omo-codex/plugin/components/telemetry/src/diagnostics.ts +0 -154
  1743. package/packages/omo-codex/plugin/components/telemetry/src/env-flags.ts +0 -43
  1744. package/packages/omo-codex/plugin/components/telemetry/src/posthog-activity-state.ts +0 -97
  1745. package/packages/omo-codex/plugin/components/ultrawork/agents/codex-ultrawork-reviewer.toml +0 -21
  1746. package/packages/omo-codex/plugin/components/ultrawork/dist/cli.d.ts +0 -2
  1747. package/packages/omo-codex/plugin/components/ultrawork/dist/codex-hook.d.ts +0 -7
  1748. package/packages/omo-codex/plugin/components/ultrawork/dist/codex-hook.js +0 -122
  1749. package/packages/omo-codex/plugin/components/ultrawork/dist/directive.d.ts +0 -1
  1750. package/packages/omo-codex/plugin/components/ultrawork/dist/directive.js +0 -2
  1751. package/packages/omo-codex/plugin/skills/frontend-ui-ux/SKILL.md +0 -77
  1752. package/packages/omo-codex/plugin/test/start-work-skill.test.mjs +0 -85
  1753. package/packages/omo-codex/plugin/test/ulw-plan-skill.test.mjs +0 -43
  1754. package/packages/omo-codex/scripts/install/agent-source-roots.mjs +0 -13
  1755. package/packages/omo-codex/scripts/install/agents.mjs +0 -154
  1756. package/packages/omo-codex/scripts/install/bin-dir.mjs +0 -20
  1757. package/packages/omo-codex/scripts/install/bin-links.mjs +0 -276
  1758. package/packages/omo-codex/scripts/install/cache.mjs +0 -295
  1759. package/packages/omo-codex/scripts/install/cached-marketplace-manifest.mjs +0 -21
  1760. package/packages/omo-codex/scripts/install/cli-args.mjs +0 -149
  1761. package/packages/omo-codex/scripts/install/command-shim.mjs +0 -1
  1762. package/packages/omo-codex/scripts/install/config.mjs +0 -257
  1763. package/packages/omo-codex/scripts/install/delegated-command.mjs +0 -29
  1764. package/packages/omo-codex/scripts/install/git-bash-mcp-env.mjs +0 -28
  1765. package/packages/omo-codex/scripts/install/git-bash.mjs +0 -107
  1766. package/packages/omo-codex/scripts/install/git-bash.test.mjs +0 -209
  1767. package/packages/omo-codex/scripts/install/hook-targets.mjs +0 -46
  1768. package/packages/omo-codex/scripts/install/hook-trust.mjs +0 -84
  1769. package/packages/omo-codex/scripts/install/lazycodex-version-stamp.mjs +0 -102
  1770. package/packages/omo-codex/scripts/install/legacy-bins.mjs +0 -66
  1771. package/packages/omo-codex/scripts/install/marketplace.mjs +0 -104
  1772. package/packages/omo-codex/scripts/install/mcp-runtime-cache.mjs +0 -81
  1773. package/packages/omo-codex/scripts/install/model-catalog.mjs +0 -74
  1774. package/packages/omo-codex/scripts/install/multi-agent-v2-config.mjs +0 -50
  1775. package/packages/omo-codex/scripts/install/permissions.d.mts +0 -1
  1776. package/packages/omo-codex/scripts/install/permissions.mjs +0 -37
  1777. package/packages/omo-codex/scripts/install/process.mjs +0 -22
  1778. package/packages/omo-codex/scripts/install/project-local-cleanup.mjs +0 -228
  1779. package/packages/omo-codex/scripts/install/reasoning-config.mjs +0 -72
  1780. package/packages/omo-codex/scripts/install/snapshot.mjs +0 -53
  1781. package/packages/omo-codex/scripts/install/source-package-build.mjs +0 -20
  1782. package/packages/omo-codex/scripts/install/toml-editor.mjs +0 -64
  1783. package/packages/omo-codex/scripts/install/utils.mjs +0 -15
  1784. package/packages/omo-codex/scripts/sync-telemetry-component.mjs +0 -116
  1785. package/packages/omo-codex/scripts/sync-telemetry-component.test.mjs +0 -94
  1786. package/packages/shared-skills/skills/frontend-ui-ux/SKILL.md +0 -77
  1787. /package/dist/cli/doctor/{doctor-target.d.ts → framework/doctor-target.d.ts} +0 -0
  1788. /package/dist/cli/doctor/{format-default.d.ts → framework/format-default.d.ts} +0 -0
  1789. /package/dist/cli/doctor/{format-shared.d.ts → framework/format-shared.d.ts} +0 -0
  1790. /package/dist/cli/doctor/{format-status.d.ts → framework/format-status.d.ts} +0 -0
  1791. /package/dist/cli/doctor/{format-verbose.d.ts → framework/format-verbose.d.ts} +0 -0
  1792. /package/dist/cli/doctor/{formatter.d.ts → framework/formatter.d.ts} +0 -0
  1793. /package/dist/hooks/{session-recovery → anthropic-context-window-limit-recovery}/storage/empty-messages.d.ts +0 -0
  1794. /package/dist/hooks/{session-recovery → anthropic-context-window-limit-recovery}/storage/empty-text.d.ts +0 -0
  1795. /package/dist/hooks/{session-recovery → anthropic-context-window-limit-recovery}/storage/message-dir.d.ts +0 -0
  1796. /package/dist/hooks/{session-recovery → anthropic-context-window-limit-recovery}/storage/part-id.d.ts +0 -0
  1797. /package/dist/hooks/{session-recovery → anthropic-context-window-limit-recovery}/storage/text-part-injector.d.ts +0 -0
  1798. /package/packages/omo-codex/plugin/components/{comment-checker → codegraph}/dist/cli.d.ts +0 -0
  1799. /package/packages/omo-codex/plugin/components/{rules → lazycodex-executor-verify}/dist/cli.d.ts +0 -0
@@ -1,4 +1,4 @@
1
- // ../lsp-tools-mcp/dist/lsp/cleanup-errors.js
1
+ // ../lsp-core/src/lsp/cleanup-errors.ts
2
2
  function reportBestEffortCleanupError(operation, error) {
3
3
  if (process.env["CODEX_LSP_DEBUG_CLEANUP"] !== "1")
4
4
  return;
@@ -6,12 +6,12 @@ function reportBestEffortCleanupError(operation, error) {
6
6
  console.error(`[codex-lsp] ignored ${operation} failure during cleanup: ${message}`);
7
7
  }
8
8
 
9
- // ../lsp-tools-mcp/dist/lsp/client.js
9
+ // ../lsp-core/src/lsp/client.ts
10
10
  import { readFileSync } from "node:fs";
11
11
  import { resolve } from "node:path";
12
12
  import { pathToFileURL as pathToFileURL2 } from "node:url";
13
13
 
14
- // ../lsp-tools-mcp/dist/request-context.js
14
+ // ../lsp-core/src/request-context.ts
15
15
  import { AsyncLocalStorage } from "node:async_hooks";
16
16
  var storage = new AsyncLocalStorage;
17
17
  function runWithRequestContext(context, fn) {
@@ -27,10 +27,10 @@ function contextEnv(key) {
27
27
  return process.env[key];
28
28
  }
29
29
 
30
- // ../lsp-tools-mcp/dist/lsp/connection.js
30
+ // ../lsp-core/src/lsp/connection.ts
31
31
  import { pathToFileURL } from "node:url";
32
32
 
33
- // ../lsp-tools-mcp/dist/lsp/constants.js
33
+ // ../lsp-core/src/lsp/constants.ts
34
34
  var DEFAULT_MAX_REFERENCES = 200;
35
35
  var DEFAULT_MAX_SYMBOLS = 200;
36
36
  var DEFAULT_MAX_DIAGNOSTICS = 200;
@@ -42,17 +42,24 @@ var REAPER_INTERVAL_MS = 60000;
42
42
  var STOP_HARD_KILL_TIMEOUT_MS = 5000;
43
43
  var STOP_SIGKILL_GRACE_MS = 1000;
44
44
 
45
- // ../lsp-tools-mcp/dist/lsp/errors.js
45
+ // ../lsp-core/src/lsp/errors.ts
46
46
  class LspConnectionClosedError extends Error {
47
+ serverId;
48
+ root;
49
+ name = "LspConnectionClosedError";
47
50
  constructor(serverId, root, message) {
48
51
  super(message ?? `LSP connection closed for ${serverId} at ${root}`);
49
52
  this.serverId = serverId;
50
53
  this.root = root;
51
- this.name = "LspConnectionClosedError";
52
54
  }
53
55
  }
54
56
 
55
57
  class LspProcessExitedError extends Error {
58
+ serverId;
59
+ root;
60
+ exitCode;
61
+ stderrTail;
62
+ name = "LspProcessExitedError";
56
63
  constructor(serverId, root, exitCode, stderrTail) {
57
64
  const stderrSuffix = stderrTail ? `
58
65
  stderr tail: ${stderrTail}` : "";
@@ -61,54 +68,47 @@ stderr tail: ${stderrTail}` : "";
61
68
  this.root = root;
62
69
  this.exitCode = exitCode;
63
70
  this.stderrTail = stderrTail;
64
- this.name = "LspProcessExitedError";
65
71
  }
66
72
  }
67
73
 
68
74
  class LspRequestTimeoutError extends Error {
75
+ method;
76
+ stderrTail;
77
+ name = "LspRequestTimeoutError";
69
78
  constructor(method, stderrTail) {
70
79
  const stderrSuffix = stderrTail ? `
71
80
  recent stderr: ${stderrTail}` : "";
72
81
  super(`LSP request timeout (method: ${method})${stderrSuffix}`);
73
82
  this.method = method;
74
83
  this.stderrTail = stderrTail;
75
- this.name = "LspRequestTimeoutError";
76
84
  }
77
85
  }
78
86
 
79
87
  class LspInvalidPathError extends Error {
80
- constructor() {
81
- super(...arguments);
82
- this.name = "LspInvalidPathError";
83
- }
88
+ name = "LspInvalidPathError";
84
89
  }
85
90
 
86
91
  class LspServerLookupError extends Error {
87
- constructor() {
88
- super(...arguments);
89
- this.name = "LspServerLookupError";
90
- }
92
+ name = "LspServerLookupError";
91
93
  }
92
94
 
93
95
  class LspServerInitializingError extends Error {
96
+ originalError;
97
+ name = "LspServerInitializingError";
94
98
  constructor(originalError) {
95
99
  super(`LSP server is still initializing. Please retry in a few seconds. Original error: ${originalError.message}`);
96
100
  this.originalError = originalError;
97
- this.name = "LspServerInitializingError";
98
101
  }
99
102
  }
100
103
 
101
104
  class LspProcessSpawnError extends Error {
102
- constructor() {
103
- super(...arguments);
104
- this.name = "LspProcessSpawnError";
105
- }
105
+ name = "LspProcessSpawnError";
106
106
  }
107
107
  function isLspDeadConnectionError(err) {
108
108
  return err instanceof LspConnectionClosedError || err instanceof LspProcessExitedError;
109
109
  }
110
110
 
111
- // ../lsp-tools-mcp/dist/lsp/json-rpc-connection.js
111
+ // ../lsp-core/src/lsp/json-rpc-connection.ts
112
112
  var HEADER_SEPARATOR = `\r
113
113
  \r
114
114
  `;
@@ -118,31 +118,20 @@ var METHOD_NOT_FOUND = -32601;
118
118
  var INTERNAL_ERROR = -32603;
119
119
 
120
120
  class JsonRpcConnection {
121
+ reader;
122
+ writer;
123
+ pendingRequests = new Map;
124
+ notificationHandlers = new Map;
125
+ requestHandlers = new Map;
126
+ closeHandlers = [];
127
+ errorHandlers = [];
128
+ inputBuffer = Buffer.alloc(0);
129
+ nextRequestId = 1;
130
+ listening = false;
131
+ disposed = false;
121
132
  constructor(reader, writer) {
122
133
  this.reader = reader;
123
134
  this.writer = writer;
124
- this.pendingRequests = new Map;
125
- this.notificationHandlers = new Map;
126
- this.requestHandlers = new Map;
127
- this.closeHandlers = [];
128
- this.errorHandlers = [];
129
- this.inputBuffer = Buffer.alloc(0);
130
- this.nextRequestId = 1;
131
- this.listening = false;
132
- this.disposed = false;
133
- this.handleData = (chunk) => {
134
- const chunkBuffer = Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk, "utf8");
135
- this.inputBuffer = Buffer.concat([this.inputBuffer, chunkBuffer]);
136
- this.drainInputBuffer();
137
- };
138
- this.handleClose = () => {
139
- for (const handler of this.closeHandlers) {
140
- handler();
141
- }
142
- };
143
- this.handleStreamError = (error) => {
144
- this.emitError(error);
145
- };
146
135
  }
147
136
  listen() {
148
137
  if (this.listening)
@@ -210,6 +199,19 @@ class JsonRpcConnection {
210
199
  this.notificationHandlers.clear();
211
200
  this.requestHandlers.clear();
212
201
  }
202
+ handleData = (chunk) => {
203
+ const chunkBuffer = Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk, "utf8");
204
+ this.inputBuffer = Buffer.concat([this.inputBuffer, chunkBuffer]);
205
+ this.drainInputBuffer();
206
+ };
207
+ handleClose = () => {
208
+ for (const handler of this.closeHandlers) {
209
+ handler();
210
+ }
211
+ };
212
+ handleStreamError = (error) => {
213
+ this.emitError(error);
214
+ };
213
215
  drainInputBuffer() {
214
216
  while (true) {
215
217
  const headerEnd = this.inputBuffer.indexOf(HEADER_SEPARATOR);
@@ -357,7 +359,7 @@ function toError(error) {
357
359
  return error instanceof Error ? error : new Error(String(error));
358
360
  }
359
361
 
360
- // ../lsp-tools-mcp/dist/lsp/process.js
362
+ // ../lsp-core/src/lsp/process.ts
361
363
  import { spawn, spawnSync } from "node:child_process";
362
364
  import { existsSync, statSync } from "node:fs";
363
365
  import { delimiter, join } from "node:path";
@@ -503,7 +505,7 @@ function spawnProcess(command, options) {
503
505
  return wrap(proc);
504
506
  }
505
507
 
506
- // ../lsp-tools-mcp/dist/lsp/transport.js
508
+ // ../lsp-core/src/lsp/transport.ts
507
509
  function isRecord(value) {
508
510
  return typeof value === "object" && value !== null && !Array.isArray(value);
509
511
  }
@@ -527,14 +529,20 @@ function parseDiagnosticsParams(params) {
527
529
  }
528
530
 
529
531
  class LspClientTransport {
530
- constructor(root, server) {
532
+ root;
533
+ server;
534
+ proc = null;
535
+ connection = null;
536
+ stderrBuffer = [];
537
+ processExited = false;
538
+ diagnosticsStore = new Map;
539
+ requestTimeoutMs;
540
+ initializeTimeoutMs;
541
+ constructor(root, server, timeouts = {}) {
531
542
  this.root = root;
532
543
  this.server = server;
533
- this.proc = null;
534
- this.connection = null;
535
- this.stderrBuffer = [];
536
- this.processExited = false;
537
- this.diagnosticsStore = new Map;
544
+ this.requestTimeoutMs = timeouts.requestTimeoutMs ?? REQUEST_TIMEOUT_MS;
545
+ this.initializeTimeoutMs = timeouts.initializeTimeoutMs ?? INIT_TIMEOUT_MS;
538
546
  }
539
547
  pid() {
540
548
  return this.proc?.pid;
@@ -609,13 +617,14 @@ class LspClientTransport {
609
617
  `);
610
618
  throw new LspProcessExitedError(this.server.id, this.root, this.proc?.exitCode ?? null, stderrTail || undefined);
611
619
  }
620
+ const timeoutMs = args[1]?.timeoutMs ?? this.requestTimeoutMs;
612
621
  let timeoutHandle = null;
613
622
  const timeoutPromise = new Promise((_, reject) => {
614
623
  timeoutHandle = setTimeout(() => {
615
624
  const stderrTail = this.stderrBuffer.slice(-5).join(`
616
625
  `);
617
626
  reject(new LspRequestTimeoutError(method, stderrTail || undefined));
618
- }, REQUEST_TIMEOUT_MS);
627
+ }, timeoutMs);
619
628
  });
620
629
  try {
621
630
  const requestPromise = args.length === 0 ? this.connection.sendRequest(method) : this.connection.sendRequest(method, args[0]);
@@ -730,7 +739,7 @@ function isPosition(value) {
730
739
  return isRecord(value) && typeof value["line"] === "number" && typeof value["character"] === "number";
731
740
  }
732
741
 
733
- // ../lsp-tools-mcp/dist/lsp/connection.js
742
+ // ../lsp-core/src/lsp/connection.ts
734
743
  var INITIALIZE_SETTLE_MS = 300;
735
744
 
736
745
  class LspClientConnection extends LspClientTransport {
@@ -787,7 +796,7 @@ class LspClientConnection extends LspClientTransport {
787
796
  }
788
797
  },
789
798
  initializationOptions: this.server.initialization
790
- });
799
+ }, { timeoutMs: this.initializeTimeoutMs });
791
800
  await this.sendNotification("initialized");
792
801
  await this.sendNotification("workspace/didChangeConfiguration", {
793
802
  settings: { json: { validate: { enable: true } } }
@@ -796,7 +805,7 @@ class LspClientConnection extends LspClientTransport {
796
805
  }
797
806
  }
798
807
 
799
- // ../lsp-tools-mcp/dist/lsp/effective-extension.js
808
+ // ../lsp-core/src/lsp/effective-extension.ts
800
809
  import { basename, extname } from "node:path";
801
810
  var BASENAME_EXTENSIONS = {
802
811
  Dockerfile: ".dockerfile",
@@ -806,7 +815,7 @@ function effectiveExtension(filePath) {
806
815
  return BASENAME_EXTENSIONS[basename(filePath)] ?? extname(filePath);
807
816
  }
808
817
 
809
- // ../lsp-tools-mcp/dist/lsp/language-mappings.js
818
+ // ../lsp-core/src/lsp/language-mappings.ts
810
819
  var SYMBOL_KIND_MAP = {
811
820
  1: "File",
812
821
  2: "Module",
@@ -978,18 +987,15 @@ function getLanguageId(ext) {
978
987
  return EXT_TO_LANG[ext] ?? "plaintext";
979
988
  }
980
989
 
981
- // ../lsp-tools-mcp/dist/lsp/client.js
990
+ // ../lsp-core/src/lsp/client.ts
982
991
  var POST_OPEN_DELAY_MS = 1000;
983
992
  var POST_DIAGNOSTICS_WAIT_MS = 500;
984
993
 
985
994
  class LspClient extends LspClientConnection {
986
- constructor() {
987
- super(...arguments);
988
- this.openedFiles = new Set;
989
- this.documentVersions = new Map;
990
- this.lastSyncedText = new Map;
991
- this.diagnosticPullErrors = [];
992
- }
995
+ openedFiles = new Set;
996
+ documentVersions = new Map;
997
+ lastSyncedText = new Map;
998
+ diagnosticPullErrors = [];
993
999
  getDiagnosticPullErrors() {
994
1000
  return this.diagnosticPullErrors;
995
1001
  }
@@ -1104,7 +1110,7 @@ class LspClient extends LspClientConnection {
1104
1110
  }
1105
1111
  }
1106
1112
 
1107
- // ../lsp-tools-mcp/dist/lsp/process-signal-cleanup.js
1113
+ // ../lsp-core/src/lsp/process-signal-cleanup.ts
1108
1114
  function installProcessSignalCleanup(cleanup) {
1109
1115
  const signals = process.platform === "win32" ? ["SIGINT", "SIGTERM", "SIGBREAK"] : ["SIGINT", "SIGTERM"];
1110
1116
  const handler = () => {
@@ -1122,7 +1128,7 @@ function installProcessSignalCleanup(cleanup) {
1122
1128
  };
1123
1129
  }
1124
1130
 
1125
- // ../lsp-tools-mcp/dist/lsp/manager.js
1131
+ // ../lsp-core/src/lsp/manager.ts
1126
1132
  async function stopClientBestEffort(client) {
1127
1133
  try {
1128
1134
  await client.stop();
@@ -1163,11 +1169,16 @@ function awaitWithSignal(promise, signal) {
1163
1169
  }
1164
1170
 
1165
1171
  class LspManager {
1172
+ clients = new Map;
1173
+ reaperHandle = null;
1174
+ signalDisposer = null;
1175
+ disposed = false;
1176
+ idleTimeoutMs;
1177
+ initTimeoutMs;
1178
+ reaperIntervalMs;
1179
+ clientFactory;
1180
+ now;
1166
1181
  constructor(options = {}) {
1167
- this.clients = new Map;
1168
- this.reaperHandle = null;
1169
- this.signalDisposer = null;
1170
- this.disposed = false;
1171
1182
  this.idleTimeoutMs = options.idleTimeoutMs ?? IDLE_TIMEOUT_MS;
1172
1183
  this.initTimeoutMs = options.initTimeoutMs ?? INIT_TIMEOUT_MS;
1173
1184
  this.reaperIntervalMs = options.reaperIntervalMs ?? REAPER_INTERVAL_MS;
@@ -1608,14 +1619,217 @@ function resolveSocketPath(dir, version) {
1608
1619
  return join2(tmpdir(), `omo-lsp-${version}-${digest}.sock`);
1609
1620
  }
1610
1621
 
1611
- // ../lsp-tools-mcp/dist/tools.js
1612
- import { resolve as resolve5 } from "node:path";
1622
+ // ../mcp-stdio-core/src/record.ts
1623
+ function isPlainRecord(value) {
1624
+ return typeof value === "object" && value !== null && !Array.isArray(value);
1625
+ }
1626
+ // ../mcp-stdio-core/src/responses.ts
1627
+ function successResponse(id, result) {
1628
+ return { jsonrpc: "2.0", id, result };
1629
+ }
1630
+ function errorResponse(id, code, message, data) {
1631
+ return { jsonrpc: "2.0", id, error: data === undefined ? { code, message } : { code, message, data } };
1632
+ }
1633
+ function jsonRpcId(value) {
1634
+ return typeof value === "string" || typeof value === "number" || value === null ? value : null;
1635
+ }
1636
+ function messageFromError(error) {
1637
+ return error instanceof Error ? error.message : String(error);
1638
+ }
1639
+ // ../mcp-stdio-core/src/transport.ts
1640
+ var HEADER_SEPARATOR2 = Buffer.from(`\r
1641
+ \r
1642
+ `);
1643
+ async function* readStdioJsonRpcMessages(input) {
1644
+ let buffer = Buffer.alloc(0);
1645
+ for await (const chunk of input) {
1646
+ buffer = Buffer.concat([buffer, bufferFromChunk(chunk)]);
1647
+ while (true) {
1648
+ const result = readNextMessage(buffer);
1649
+ if (result.kind === "incomplete")
1650
+ break;
1651
+ buffer = result.remaining;
1652
+ if (result.message)
1653
+ yield result.message;
1654
+ }
1655
+ }
1656
+ const trailing = buffer.toString("utf8").trim();
1657
+ if (trailing.length > 0) {
1658
+ yield parseJsonPayload(trailing, "line");
1659
+ }
1660
+ }
1661
+ function writeStdioJsonRpcResponse(output, response, responseMode) {
1662
+ const body = JSON.stringify(response);
1663
+ if (responseMode === "framed") {
1664
+ output.write(`Content-Length: ${Buffer.byteLength(body, "utf8")}\r
1665
+ \r
1666
+ ${body}`);
1667
+ return;
1668
+ }
1669
+ output.write(`${body}
1670
+ `);
1671
+ }
1672
+ function readNextMessage(buffer) {
1673
+ if (buffer.length === 0)
1674
+ return { kind: "incomplete" };
1675
+ return startsWithContentLength(buffer) ? readFramedMessage(buffer) : readLineMessage(buffer);
1676
+ }
1677
+ function readLineMessage(buffer) {
1678
+ const newlineIndex = buffer.indexOf(10);
1679
+ if (newlineIndex === -1)
1680
+ return { kind: "incomplete" };
1681
+ const line = buffer.subarray(0, newlineIndex).toString("utf8").replace(/\r$/, "");
1682
+ if (line.trim().length === 0) {
1683
+ return { kind: "complete", remaining: buffer.subarray(newlineIndex + 1) };
1684
+ }
1685
+ return {
1686
+ kind: "complete",
1687
+ message: parseJsonPayload(line, "line"),
1688
+ remaining: buffer.subarray(newlineIndex + 1)
1689
+ };
1690
+ }
1691
+ function readFramedMessage(buffer) {
1692
+ const separatorIndex = buffer.indexOf(HEADER_SEPARATOR2);
1693
+ if (separatorIndex === -1)
1694
+ return { kind: "incomplete" };
1695
+ const headers = buffer.subarray(0, separatorIndex).toString("ascii");
1696
+ const contentLength = parseContentLength2(headers);
1697
+ const bodyStart = separatorIndex + HEADER_SEPARATOR2.length;
1698
+ if (contentLength === undefined) {
1699
+ return {
1700
+ kind: "complete",
1701
+ message: {
1702
+ kind: "parse_error",
1703
+ message: "Missing or invalid Content-Length header",
1704
+ responseMode: "framed"
1705
+ },
1706
+ remaining: buffer.subarray(bodyStart)
1707
+ };
1708
+ }
1709
+ const bodyEnd = bodyStart + contentLength;
1710
+ if (buffer.length < bodyEnd)
1711
+ return { kind: "incomplete" };
1712
+ const body = buffer.subarray(bodyStart, bodyEnd).toString("utf8");
1713
+ return {
1714
+ kind: "complete",
1715
+ message: parseJsonPayload(body, "framed"),
1716
+ remaining: buffer.subarray(bodyEnd)
1717
+ };
1718
+ }
1719
+ function startsWithContentLength(buffer) {
1720
+ const prefix = buffer.subarray(0, "content-length:".length).toString("ascii").toLowerCase();
1721
+ return prefix === "content-length:";
1722
+ }
1723
+ function parseContentLength2(headers) {
1724
+ for (const line of headers.split(`\r
1725
+ `)) {
1726
+ const match = /^content-length:\s*(\d+)$/i.exec(line);
1727
+ if (match === null)
1728
+ continue;
1729
+ const value = match[1];
1730
+ if (value === undefined)
1731
+ return;
1732
+ return Number(value);
1733
+ }
1734
+ return;
1735
+ }
1736
+ function parseJsonPayload(payload, responseMode) {
1737
+ try {
1738
+ return { kind: "request", payload: JSON.parse(payload), responseMode };
1739
+ } catch (error) {
1740
+ return { kind: "parse_error", message: error instanceof Error ? error.message : String(error), responseMode };
1741
+ }
1742
+ }
1743
+ function bufferFromChunk(chunk) {
1744
+ if (Buffer.isBuffer(chunk))
1745
+ return chunk;
1746
+ if (typeof chunk === "string")
1747
+ return Buffer.from(chunk);
1748
+ throw new TypeError(`Unsupported stdio chunk type: ${typeof chunk}`);
1749
+ }
1750
+
1751
+ // ../mcp-stdio-core/src/server.ts
1752
+ var DEFAULT_IDLE_TIMEOUT_MS = 10 * 60000;
1753
+ var noopLog = () => {};
1754
+ async function runJsonRpcStdioServer(config) {
1755
+ const log = config.log ?? noopLog;
1756
+ const idleTimeoutMs = config.idleTimeoutMs ?? DEFAULT_IDLE_TIMEOUT_MS;
1757
+ const idleTimer = createIdleTimer(idleTimeoutMs, log, config.onIdleTimeout);
1758
+ log("stdio_started", { cwd: process.cwd(), idle_timeout_ms: idleTimeoutMs });
1759
+ idleTimer.arm();
1760
+ try {
1761
+ for await (const message of readStdioJsonRpcMessages(config.input)) {
1762
+ if (idleTimer.closed())
1763
+ break;
1764
+ idleTimer.arm();
1765
+ if (message.kind === "parse_error") {
1766
+ handleParseError(message, config, log);
1767
+ continue;
1768
+ }
1769
+ await handleRequest(message, config, log);
1770
+ }
1771
+ } finally {
1772
+ idleTimer.clear();
1773
+ log("stdio_stopped");
1774
+ }
1775
+ }
1776
+ function handleParseError(message, config, log) {
1777
+ log("parse_error", { message: message.message });
1778
+ const response = config.parseErrorResponse?.(message.message) ?? errorResponse(null, -32700, "Parse error", message.message);
1779
+ if (response !== undefined) {
1780
+ writeStdioJsonRpcResponse(config.output, response, message.responseMode);
1781
+ }
1782
+ }
1783
+ async function handleRequest(message, config, log) {
1784
+ const parsed = message.payload;
1785
+ const id = isPlainRecord(parsed) ? jsonRpcId(parsed["id"]) : null;
1786
+ const method = isPlainRecord(parsed) && typeof parsed["method"] === "string" ? parsed["method"] : null;
1787
+ log("request", { id: id === null ? null : String(id), method });
1788
+ try {
1789
+ const response = await config.handler(parsed, config.handlerOptions);
1790
+ if (response === undefined)
1791
+ return;
1792
+ writeStdioJsonRpcResponse(config.output, response, message.responseMode);
1793
+ log("response", { id: String(response.id), method, is_error: response.error !== undefined });
1794
+ } catch (error) {
1795
+ if (config.onHandlerError === undefined)
1796
+ throw error;
1797
+ config.onHandlerError(error);
1798
+ }
1799
+ }
1800
+ function createIdleTimer(idleTimeoutMs, log, onIdleTimeout) {
1801
+ let timer = null;
1802
+ let isClosed = false;
1803
+ return {
1804
+ arm: () => {
1805
+ if (timer !== null)
1806
+ clearTimeout(timer);
1807
+ if (idleTimeoutMs <= 0)
1808
+ return;
1809
+ timer = setTimeout(() => {
1810
+ isClosed = true;
1811
+ log("idle_timeout", { idle_timeout_ms: idleTimeoutMs });
1812
+ onIdleTimeout?.();
1813
+ }, idleTimeoutMs);
1814
+ timer.unref();
1815
+ },
1816
+ clear: () => {
1817
+ if (timer === null)
1818
+ return;
1819
+ clearTimeout(timer);
1820
+ timer = null;
1821
+ },
1822
+ closed: () => isClosed
1823
+ };
1824
+ }
1825
+ // ../lsp-core/src/tools/diagnostics.ts
1826
+ import { resolve as resolve4 } from "node:path";
1613
1827
 
1614
- // ../lsp-tools-mcp/dist/lsp/client-wrapper.js
1828
+ // ../lsp-core/src/lsp/client-wrapper.ts
1615
1829
  import { existsSync as existsSync6, statSync as statSync2 } from "node:fs";
1616
1830
  import { dirname as dirname4, join as join6, resolve as resolve2 } from "node:path";
1617
1831
 
1618
- // ../lsp-tools-mcp/dist/lsp/server-install-state.js
1832
+ // ../lsp-core/src/lsp/server-install-state.ts
1619
1833
  import { existsSync as existsSync3, mkdirSync as mkdirSync3, readFileSync as readFileSync3, renameSync, writeFileSync } from "node:fs";
1620
1834
  import { homedir as homedir2 } from "node:os";
1621
1835
  import { dirname as dirname3, isAbsolute, join as join3 } from "node:path";
@@ -1667,12 +1881,12 @@ function isRecord2(value) {
1667
1881
  return typeof value === "object" && value !== null && !Array.isArray(value);
1668
1882
  }
1669
1883
 
1670
- // ../lsp-tools-mcp/dist/lsp/config-loader.js
1884
+ // ../lsp-core/src/lsp/config-loader.ts
1671
1885
  import { existsSync as existsSync4, readFileSync as readFileSync4 } from "node:fs";
1672
1886
  import { homedir as homedir3 } from "node:os";
1673
1887
  import { delimiter as delimiter2, isAbsolute as isAbsolute2, join as join4 } from "node:path";
1674
1888
 
1675
- // ../lsp-tools-mcp/dist/lsp/server-definitions.js
1889
+ // ../lsp-core/src/lsp/server-definitions.ts
1676
1890
  var LSP_INSTALL_HINTS = {
1677
1891
  typescript: "npm install -g typescript-language-server typescript",
1678
1892
  deno: "Install Deno from https://deno.land",
@@ -1770,7 +1984,7 @@ var BUILTIN_SERVERS = {
1770
1984
  zls: { command: ["zls"], extensions: [".zig", ".zon"] },
1771
1985
  csharp: { command: ["csharp-ls"], extensions: [".cs"] },
1772
1986
  fsharp: { command: ["fsautocomplete"], extensions: [".fs", ".fsi", ".fsx", ".fsscript"] },
1773
- "sourcekit-lsp": { command: ["sourcekit-lsp"], extensions: [".swift", ".objc", ".objcpp"] },
1987
+ "sourcekit-lsp": { command: ["sourcekit-lsp"], extensions: [".swift", ".m", ".mm"] },
1774
1988
  rust: { command: ["rust-analyzer"], extensions: [".rs"] },
1775
1989
  clangd: {
1776
1990
  command: ["clangd", "--background-index", "--clang-tidy"],
@@ -1808,7 +2022,7 @@ var BUILTIN_SERVERS = {
1808
2022
  command: ["haskell-language-server-wrapper", "--lsp"],
1809
2023
  extensions: [".hs", ".lhs"]
1810
2024
  },
1811
- "kotlin-ls": { command: ["kotlin-lsp"], extensions: [".kt", ".kts"] },
2025
+ "kotlin-ls": { command: ["kotlin-lsp", "--stdio"], extensions: [".kt", ".kts"] },
1812
2026
  julials: {
1813
2027
  command: ["julia", "--startup-file=no", "--history-file=no", "-e", "using LanguageServer; runserver()"],
1814
2028
  extensions: [".jl"]
@@ -1819,7 +2033,7 @@ var BUILTIN_SERVERS = {
1819
2033
  }
1820
2034
  };
1821
2035
 
1822
- // ../lsp-tools-mcp/dist/lsp/config-loader.js
2036
+ // ../lsp-core/src/lsp/config-loader.ts
1823
2037
  function resolveProjectConfigPath(path) {
1824
2038
  return isAbsolute2(path) ? path : join4(contextCwd(), path);
1825
2039
  }
@@ -1884,10 +2098,10 @@ function getMergedServers() {
1884
2098
  }
1885
2099
  if (seen.has(id))
1886
2100
  continue;
1887
- const server = createServerFromEntry(id, entry, source);
1888
- if (!server)
2101
+ const server2 = createServerFromEntry(id, entry, source);
2102
+ if (!server2)
1889
2103
  continue;
1890
- servers.push(server);
2104
+ servers.push(server2);
1891
2105
  seen.add(id);
1892
2106
  }
1893
2107
  }
@@ -1919,7 +2133,7 @@ function createServerFromEntry(id, entry, source) {
1919
2133
  if (source === "project") {
1920
2134
  if (!builtin)
1921
2135
  return null;
1922
- const server2 = createServer({
2136
+ const server3 = createServer({
1923
2137
  id,
1924
2138
  command: builtin.command,
1925
2139
  extensions: entry.extensions ?? builtin.extensions,
@@ -1927,35 +2141,35 @@ function createServerFromEntry(id, entry, source) {
1927
2141
  source
1928
2142
  });
1929
2143
  if (entry.initialization !== undefined) {
1930
- server2.initialization = entry.initialization;
2144
+ server3.initialization = entry.initialization;
1931
2145
  }
1932
- return server2;
2146
+ return server3;
1933
2147
  }
1934
2148
  if (entry.command && entry.extensions) {
1935
- const server2 = createServer({
2149
+ const server3 = createServer({
1936
2150
  id,
1937
2151
  command: entry.command,
1938
2152
  extensions: entry.extensions,
1939
2153
  priority: entry.priority ?? 0,
1940
2154
  source
1941
2155
  });
1942
- applyOptionalServerFields(server2, entry);
1943
- return server2;
2156
+ applyOptionalServerFields(server3, entry);
2157
+ return server3;
1944
2158
  }
1945
2159
  if (!builtin)
1946
2160
  return null;
1947
- const server = createServer({
2161
+ const server2 = createServer({
1948
2162
  id,
1949
2163
  command: entry.command ?? builtin.command,
1950
2164
  extensions: entry.extensions ?? builtin.extensions,
1951
2165
  priority: entry.priority ?? 0,
1952
2166
  source
1953
2167
  });
1954
- applyOptionalServerFields(server, entry);
1955
- return server;
2168
+ applyOptionalServerFields(server2, entry);
2169
+ return server2;
1956
2170
  }
1957
2171
  function createServer(input) {
1958
- const server = {
2172
+ const server2 = {
1959
2173
  id: input.id,
1960
2174
  command: input.command,
1961
2175
  extensions: input.extensions,
@@ -1963,19 +2177,19 @@ function createServer(input) {
1963
2177
  source: input.source
1964
2178
  };
1965
2179
  if (input.env !== undefined) {
1966
- server.env = input.env;
2180
+ server2.env = input.env;
1967
2181
  }
1968
2182
  if (input.initialization !== undefined) {
1969
- server.initialization = input.initialization;
2183
+ server2.initialization = input.initialization;
1970
2184
  }
1971
- return server;
2185
+ return server2;
1972
2186
  }
1973
- function applyOptionalServerFields(server, entry) {
2187
+ function applyOptionalServerFields(server2, entry) {
1974
2188
  if (entry.env !== undefined) {
1975
- server.env = entry.env;
2189
+ server2.env = entry.env;
1976
2190
  }
1977
2191
  if (entry.initialization !== undefined) {
1978
- server.initialization = entry.initialization;
2192
+ server2.initialization = entry.initialization;
1979
2193
  }
1980
2194
  }
1981
2195
  function isConfigJson(value) {
@@ -2024,7 +2238,7 @@ function getDisabledServerIds() {
2024
2238
  return disabled;
2025
2239
  }
2026
2240
 
2027
- // ../lsp-tools-mcp/dist/lsp/server-installation.js
2241
+ // ../lsp-core/src/lsp/server-installation.ts
2028
2242
  import { existsSync as existsSync5 } from "node:fs";
2029
2243
  import { delimiter as delimiter3, join as join5 } from "node:path";
2030
2244
  function isServerInstalled(command, _workingDirectory) {
@@ -2065,24 +2279,24 @@ function isServerInstalled(command, _workingDirectory) {
2065
2279
  return false;
2066
2280
  }
2067
2281
 
2068
- // ../lsp-tools-mcp/dist/lsp/server-resolution.js
2282
+ // ../lsp-core/src/lsp/server-resolution.ts
2069
2283
  function findServerForExtension(ext) {
2070
2284
  const servers = getMergedServers();
2071
- for (const server of servers) {
2072
- if (server.extensions.includes(ext) && isServerInstalled(server.command)) {
2285
+ for (const server2 of servers) {
2286
+ if (server2.extensions.includes(ext) && isServerInstalled(server2.command)) {
2073
2287
  const resolvedServer = {
2074
- id: server.id,
2075
- command: server.command,
2076
- extensions: server.extensions,
2077
- priority: server.priority
2288
+ id: server2.id,
2289
+ command: server2.command,
2290
+ extensions: server2.extensions,
2291
+ priority: server2.priority
2078
2292
  };
2079
- if (server.env !== undefined) {
2293
+ if (server2.env !== undefined) {
2080
2294
  return {
2081
2295
  status: "found",
2082
2296
  server: {
2083
2297
  ...resolvedServer,
2084
- env: server.env,
2085
- ...server.initialization === undefined ? {} : { initialization: server.initialization }
2298
+ env: server2.env,
2299
+ ...server2.initialization === undefined ? {} : { initialization: server2.initialization }
2086
2300
  }
2087
2301
  };
2088
2302
  }
@@ -2090,20 +2304,20 @@ function findServerForExtension(ext) {
2090
2304
  status: "found",
2091
2305
  server: {
2092
2306
  ...resolvedServer,
2093
- ...server.initialization === undefined ? {} : { initialization: server.initialization }
2307
+ ...server2.initialization === undefined ? {} : { initialization: server2.initialization }
2094
2308
  }
2095
2309
  };
2096
2310
  }
2097
2311
  }
2098
- for (const server of servers) {
2099
- if (server.extensions.includes(ext)) {
2100
- const installHint = LSP_INSTALL_HINTS[server.id] ?? `Install '${server.command[0]}' and ensure it's in your PATH`;
2312
+ for (const server2 of servers) {
2313
+ if (server2.extensions.includes(ext)) {
2314
+ const installHint = LSP_INSTALL_HINTS[server2.id] ?? `Install '${server2.command[0]}' and ensure it's in your PATH`;
2101
2315
  return {
2102
2316
  status: "not_installed",
2103
2317
  server: {
2104
- id: server.id,
2105
- command: server.command,
2106
- extensions: server.extensions
2318
+ id: server2.id,
2319
+ command: server2.command,
2320
+ extensions: server2.extensions
2107
2321
  },
2108
2322
  installHint
2109
2323
  };
@@ -2121,18 +2335,18 @@ function getAllServers() {
2121
2335
  const disabled = getDisabledServerIds();
2122
2336
  const result = [];
2123
2337
  const seen = new Set;
2124
- for (const server of servers) {
2125
- if (seen.has(server.id))
2338
+ for (const server2 of servers) {
2339
+ if (seen.has(server2.id))
2126
2340
  continue;
2127
2341
  result.push({
2128
- id: server.id,
2129
- installed: isServerInstalled(server.command),
2130
- extensions: server.extensions,
2342
+ id: server2.id,
2343
+ installed: isServerInstalled(server2.command),
2344
+ extensions: server2.extensions,
2131
2345
  disabled: false,
2132
- source: server.source,
2133
- priority: server.priority
2346
+ source: server2.source,
2347
+ priority: server2.priority
2134
2348
  });
2135
- seen.add(server.id);
2349
+ seen.add(server2.id);
2136
2350
  }
2137
2351
  for (const id of disabled) {
2138
2352
  if (seen.has(id))
@@ -2150,7 +2364,7 @@ function getAllServers() {
2150
2364
  return result;
2151
2365
  }
2152
2366
 
2153
- // ../lsp-tools-mcp/dist/lsp/client-wrapper.js
2367
+ // ../lsp-core/src/lsp/client-wrapper.ts
2154
2368
  var WORKSPACE_MARKERS = [".git", "package.json", "pyproject.toml", "Cargo.toml", "go.mod", "pom.xml", "build.gradle"];
2155
2369
  function isDirectoryPath(filePath) {
2156
2370
  try {
@@ -2199,16 +2413,16 @@ function formatServerLookupError(result) {
2199
2413
  `);
2200
2414
  }
2201
2415
  function formatNotInstalled(result) {
2202
- const { server, installHint } = result;
2203
- const extensions = server.extensions.join(", ");
2204
- const decision = loadInstallDecision(server.id)?.decision;
2416
+ const { server: server2, installHint } = result;
2417
+ const extensions = server2.extensions.join(", ");
2418
+ const decision = loadInstallDecision(server2.id)?.decision;
2205
2419
  if (decision === "declined") {
2206
- return `LSP server '${server.id}' (${extensions}) is NOT INSTALLED; user previously declined installation — proceed without LSP.`;
2420
+ return `LSP server '${server2.id}' (${extensions}) is NOT INSTALLED; user previously declined installation — proceed without LSP.`;
2207
2421
  }
2208
2422
  const header = [
2209
- `LSP server '${server.id}' for ${extensions} is NOT INSTALLED.`,
2423
+ `LSP server '${server2.id}' for ${extensions} is NOT INSTALLED.`,
2210
2424
  "",
2211
- `Command not found: ${server.command[0]}`,
2425
+ `Command not found: ${server2.command[0]}`,
2212
2426
  ""
2213
2427
  ];
2214
2428
  if (decision === "allowed") {
@@ -2227,7 +2441,7 @@ function formatNotInstalled(result) {
2227
2441
  "ACTION REQUIRED — ASK THE USER whether to install this LSP server.",
2228
2442
  "- If the user agrees: run the install command above, then retry this tool.",
2229
2443
  "- If the user declines, OR has NOT explicitly asked for LSP installation:",
2230
- ` call lsp_install_decision { server_id: "${server.id}", decision: "declined" },`,
2444
+ ` call lsp_install_decision { server_id: "${server2.id}", decision: "declined" },`,
2231
2445
  " then ignore this message and proceed WITHOUT LSP."
2232
2446
  ].join(`
2233
2447
  `);
@@ -2250,36 +2464,36 @@ async function withLspClient(filePath, fn, toolName, options = {}) {
2250
2464
  if (result.status !== "found") {
2251
2465
  throw new LspServerLookupError(formatServerLookupError(result));
2252
2466
  }
2253
- const server = result.server;
2467
+ const server2 = result.server;
2254
2468
  const root = findWorkspaceRoot(absPath);
2255
2469
  const manager = options.manager ?? getLspManager();
2256
2470
  const acquireAndCall = async (allowRetry) => {
2257
- const client = await manager.getClient(root, server, options.signal);
2471
+ const client = await manager.getClient(root, server2, options.signal);
2258
2472
  try {
2259
2473
  return await fn(client, root);
2260
2474
  } catch (err) {
2261
2475
  if (allowRetry && READ_ONLY_RETRY_TOOLS.has(toolName) && isLspDeadConnectionError(err)) {
2262
- manager.invalidateClient(root, server.id, client);
2476
+ manager.invalidateClient(root, server2.id, client);
2263
2477
  return acquireAndCall(false);
2264
2478
  }
2265
2479
  if (err instanceof LspRequestTimeoutError) {
2266
- if (manager.isServerInitializing(root, server.id)) {
2480
+ if (manager.isServerInitializing(root, server2.id)) {
2267
2481
  throw new LspServerInitializingError(err);
2268
2482
  }
2269
2483
  }
2270
2484
  throw err;
2271
2485
  } finally {
2272
- manager.releaseClient(root, server.id);
2486
+ manager.releaseClient(root, server2.id);
2273
2487
  }
2274
2488
  };
2275
2489
  return acquireAndCall(true);
2276
2490
  }
2277
2491
 
2278
- // ../lsp-tools-mcp/dist/lsp/directory-diagnostics.js
2492
+ // ../lsp-core/src/lsp/directory-diagnostics.ts
2279
2493
  import { existsSync as existsSync7, lstatSync, readdirSync } from "node:fs";
2280
2494
  import { join as join7, resolve as resolve3 } from "node:path";
2281
2495
 
2282
- // ../lsp-tools-mcp/dist/lsp/formatters.js
2496
+ // ../lsp-core/src/lsp/formatters.ts
2283
2497
  import { fileURLToPath as fileURLToPath2 } from "node:url";
2284
2498
  var DIAGNOSTIC_SEVERITY_FILTERS = {
2285
2499
  error: 1,
@@ -2387,7 +2601,7 @@ function formatApplyResult(result) {
2387
2601
  `);
2388
2602
  }
2389
2603
 
2390
- // ../lsp-tools-mcp/dist/lsp/directory-diagnostics.js
2604
+ // ../lsp-core/src/lsp/directory-diagnostics.ts
2391
2605
  var SKIP_DIRECTORIES = new Set(["node_modules", ".git", "dist", "build", ".next", "out"]);
2392
2606
  function collectFilesWithExtension(dir, extension, maxFiles) {
2393
2607
  const files = [];
@@ -2436,7 +2650,7 @@ async function aggregateDiagnosticsForDirectory(directory, extension, severity,
2436
2650
  if (serverResult.status !== "found") {
2437
2651
  throw new LspServerLookupError(formatServerLookupError(serverResult));
2438
2652
  }
2439
- const server = serverResult.server;
2653
+ const server2 = serverResult.server;
2440
2654
  const allFiles = collectFilesWithExtension(absDir, extension, maxFiles + 1);
2441
2655
  const wasCapped = allFiles.length > maxFiles;
2442
2656
  const filesToProcess = allFiles.slice(0, maxFiles);
@@ -2453,7 +2667,7 @@ async function aggregateDiagnosticsForDirectory(directory, extension, severity,
2453
2667
  const manager = getLspManager();
2454
2668
  const allDiagnostics = [];
2455
2669
  const fileErrors = [];
2456
- const client = await manager.getClient(root, server);
2670
+ const client = await manager.getClient(root, server2);
2457
2671
  try {
2458
2672
  for (const file of filesToProcess) {
2459
2673
  try {
@@ -2471,7 +2685,7 @@ async function aggregateDiagnosticsForDirectory(directory, extension, severity,
2471
2685
  }
2472
2686
  }
2473
2687
  } finally {
2474
- manager.releaseClient(root, server.id);
2688
+ manager.releaseClient(root, server2.id);
2475
2689
  }
2476
2690
  const displayDiagnostics = allDiagnostics.slice(0, DEFAULT_MAX_DIAGNOSTICS);
2477
2691
  const wasDiagCapped = allDiagnostics.length > DEFAULT_MAX_DIAGNOSTICS;
@@ -2501,7 +2715,7 @@ async function aggregateDiagnosticsForDirectory(directory, extension, severity,
2501
2715
  `);
2502
2716
  }
2503
2717
 
2504
- // ../lsp-tools-mcp/dist/lsp/infer-extension.js
2718
+ // ../lsp-core/src/lsp/infer-extension.ts
2505
2719
  import { lstatSync as lstatSync2, readdirSync as readdirSync2 } from "node:fs";
2506
2720
  import { join as join8 } from "node:path";
2507
2721
  var SKIP_DIRECTORIES2 = new Set(["node_modules", ".git", "dist", "build", ".next", "out"]);
@@ -2557,175 +2771,7 @@ function inferExtensionFromDirectory(directory) {
2557
2771
  return maxExt || null;
2558
2772
  }
2559
2773
 
2560
- // ../lsp-tools-mcp/dist/lsp/workspace-edit.js
2561
- import { existsSync as existsSync8, readFileSync as readFileSync5, realpathSync, unlinkSync as unlinkSync2, writeFileSync as writeFileSync2 } from "node:fs";
2562
- import { dirname as dirname5, isAbsolute as isAbsolute3, relative, resolve as resolve4 } from "node:path";
2563
- import { fileURLToPath as fileURLToPath3 } from "node:url";
2564
- function errorMessage(error) {
2565
- return error instanceof Error ? error.message : String(error);
2566
- }
2567
- function isPathInsideWorkspace(filePath, workspaceRoot) {
2568
- const relativePath = relative(workspaceRoot, filePath);
2569
- return relativePath === "" || !relativePath.startsWith("..") && !isAbsolute3(relativePath);
2570
- }
2571
- function realpathForValidation(filePath) {
2572
- if (existsSync8(filePath))
2573
- return realpathSync(filePath);
2574
- const parent = dirname5(filePath);
2575
- return resolve4(realpathSync(parent), relative(parent, filePath));
2576
- }
2577
- function uriToWorkspacePath(uri, workspaceRoot) {
2578
- let filePath;
2579
- try {
2580
- filePath = fileURLToPath3(uri);
2581
- } catch (error) {
2582
- return { success: false, error: `non-file URI ${uri}: ${errorMessage(error)}` };
2583
- }
2584
- let validatedPath;
2585
- try {
2586
- validatedPath = realpathForValidation(filePath);
2587
- } catch (error) {
2588
- return { success: false, error: `${filePath}: ${errorMessage(error)}` };
2589
- }
2590
- if (!isPathInsideWorkspace(validatedPath, workspaceRoot)) {
2591
- return { success: false, error: `${filePath}: outside workspace ${workspaceRoot}` };
2592
- }
2593
- return { success: true, path: filePath };
2594
- }
2595
- function applyTextEditsToFile(filePath, edits) {
2596
- try {
2597
- const content = readFileSync5(filePath, "utf-8");
2598
- const lines = content.split(`
2599
- `);
2600
- const sortedEdits = [...edits].sort((a, b) => {
2601
- if (b.range.start.line !== a.range.start.line) {
2602
- return b.range.start.line - a.range.start.line;
2603
- }
2604
- return b.range.start.character - a.range.start.character;
2605
- });
2606
- for (const edit of sortedEdits) {
2607
- const startLine = edit.range.start.line;
2608
- const startChar = edit.range.start.character;
2609
- const endLine = edit.range.end.line;
2610
- const endChar = edit.range.end.character;
2611
- if (startLine === endLine) {
2612
- const line = lines[startLine] ?? "";
2613
- lines[startLine] = line.substring(0, startChar) + edit.newText + line.substring(endChar);
2614
- } else {
2615
- const firstLine = lines[startLine] ?? "";
2616
- const lastLine = lines[endLine] ?? "";
2617
- const newContent = firstLine.substring(0, startChar) + edit.newText + lastLine.substring(endChar);
2618
- lines.splice(startLine, endLine - startLine + 1, ...newContent.split(`
2619
- `));
2620
- }
2621
- }
2622
- writeFileSync2(filePath, lines.join(`
2623
- `), "utf-8");
2624
- return { success: true, editCount: edits.length };
2625
- } catch (err) {
2626
- return {
2627
- success: false,
2628
- editCount: 0,
2629
- error: err instanceof Error ? err.message : String(err)
2630
- };
2631
- }
2632
- }
2633
- function applyWorkspaceEdit(edit, options = {}) {
2634
- if (!edit) {
2635
- return { success: false, filesModified: [], totalEdits: 0, errors: ["No edit provided"] };
2636
- }
2637
- const result = { success: true, filesModified: [], totalEdits: 0, errors: [] };
2638
- const workspaceRoot = realpathSync(options.workspaceRoot ?? contextCwd());
2639
- if (edit.changes) {
2640
- for (const [uri, edits] of Object.entries(edit.changes)) {
2641
- const validatedPath = uriToWorkspacePath(uri, workspaceRoot);
2642
- if (!validatedPath.success) {
2643
- result.success = false;
2644
- result.errors.push(validatedPath.error);
2645
- continue;
2646
- }
2647
- const applyResult = applyTextEditsToFile(validatedPath.path, edits);
2648
- if (applyResult.success) {
2649
- result.filesModified.push(validatedPath.path);
2650
- result.totalEdits += applyResult.editCount;
2651
- } else {
2652
- result.success = false;
2653
- result.errors.push(`${validatedPath.path}: ${applyResult.error}`);
2654
- }
2655
- }
2656
- }
2657
- if (edit.documentChanges) {
2658
- for (const change of edit.documentChanges) {
2659
- if (!("kind" in change)) {
2660
- const validatedPath = uriToWorkspacePath(change.textDocument.uri, workspaceRoot);
2661
- if (!validatedPath.success) {
2662
- result.success = false;
2663
- result.errors.push(validatedPath.error);
2664
- continue;
2665
- }
2666
- const applyResult = applyTextEditsToFile(validatedPath.path, change.edits);
2667
- if (applyResult.success) {
2668
- result.filesModified.push(validatedPath.path);
2669
- result.totalEdits += applyResult.editCount;
2670
- } else {
2671
- result.success = false;
2672
- result.errors.push(`${validatedPath.path}: ${applyResult.error}`);
2673
- }
2674
- continue;
2675
- }
2676
- if (change.kind === "create") {
2677
- try {
2678
- const validatedPath = uriToWorkspacePath(change.uri, workspaceRoot);
2679
- if (!validatedPath.success) {
2680
- result.success = false;
2681
- result.errors.push(`Create ${change.uri}: ${validatedPath.error}`);
2682
- continue;
2683
- }
2684
- writeFileSync2(validatedPath.path, "", "utf-8");
2685
- result.filesModified.push(validatedPath.path);
2686
- } catch (err) {
2687
- result.success = false;
2688
- result.errors.push(`Create ${change.uri}: ${String(err)}`);
2689
- }
2690
- } else if (change.kind === "rename") {
2691
- try {
2692
- const oldPath = uriToWorkspacePath(change.oldUri, workspaceRoot);
2693
- const newPath = uriToWorkspacePath(change.newUri, workspaceRoot);
2694
- if (!oldPath.success || !newPath.success) {
2695
- const error = oldPath.success ? newPath.success ? "invalid URI" : newPath.error : oldPath.error;
2696
- result.success = false;
2697
- result.errors.push(`Rename ${change.oldUri}: ${error}`);
2698
- continue;
2699
- }
2700
- const content = readFileSync5(oldPath.path, "utf-8");
2701
- writeFileSync2(newPath.path, content, "utf-8");
2702
- unlinkSync2(oldPath.path);
2703
- result.filesModified.push(newPath.path);
2704
- } catch (err) {
2705
- result.success = false;
2706
- result.errors.push(`Rename ${change.oldUri}: ${String(err)}`);
2707
- }
2708
- } else if (change.kind === "delete") {
2709
- try {
2710
- const validatedPath = uriToWorkspacePath(change.uri, workspaceRoot);
2711
- if (!validatedPath.success) {
2712
- result.success = false;
2713
- result.errors.push(`Delete ${change.uri}: ${validatedPath.error}`);
2714
- continue;
2715
- }
2716
- unlinkSync2(validatedPath.path);
2717
- result.filesModified.push(validatedPath.path);
2718
- } catch (err) {
2719
- result.success = false;
2720
- result.errors.push(`Delete ${change.uri}: ${String(err)}`);
2721
- }
2722
- }
2723
- }
2724
- }
2725
- return result;
2726
- }
2727
-
2728
- // ../lsp-tools-mcp/dist/lsp/startup-failure.js
2774
+ // ../lsp-core/src/lsp/utils.ts
2729
2775
  var RUST_SRC_REPAIR_MESSAGE = [
2730
2776
  "rust-analyzer exited while loading Rust standard library sources.",
2731
2777
  "",
@@ -2733,7 +2779,7 @@ var RUST_SRC_REPAIR_MESSAGE = [
2733
2779
  " rustup component remove rust-src",
2734
2780
  " rustup component add rust-src"
2735
2781
  ];
2736
- function errorMessage2(error) {
2782
+ function errorMessage(error) {
2737
2783
  return error instanceof Error ? error.message : String(error);
2738
2784
  }
2739
2785
  function formatKnownLspStartupFailure(error) {
@@ -2753,11 +2799,10 @@ function handleMissingDependencyError(error) {
2753
2799
  const knownStartupFailure = formatKnownLspStartupFailure(error);
2754
2800
  if (knownStartupFailure)
2755
2801
  return knownStartupFailure;
2756
- const message = errorMessage2(error);
2802
+ const message = errorMessage(error);
2757
2803
  return message.includes("NOT INSTALLED") || message.includes("No LSP server configured") ? message : null;
2758
2804
  }
2759
-
2760
- // ../lsp-tools-mcp/dist/missing-dependency-result.js
2805
+ // ../lsp-core/src/missing-dependency-result.ts
2761
2806
  function missingDependencyResult(error, details) {
2762
2807
  const message = handleMissingDependencyError(error);
2763
2808
  if (!message)
@@ -2772,15 +2817,7 @@ function missingDependencyResult(error, details) {
2772
2817
  };
2773
2818
  }
2774
2819
 
2775
- // ../lsp-tools-mcp/dist/tools.js
2776
- var objectSchema = (properties, required = []) => ({
2777
- type: "object",
2778
- properties,
2779
- required
2780
- });
2781
- function text(text2, details, isError = false) {
2782
- return { content: [{ type: "text", text: text2 }], details, isError };
2783
- }
2820
+ // ../lsp-core/src/tools/parameters.ts
2784
2821
  function isRecord4(value) {
2785
2822
  return typeof value === "object" && value !== null && !Array.isArray(value);
2786
2823
  }
@@ -2810,18 +2847,23 @@ function optionalBoolean(params, key) {
2810
2847
  const value = params[key];
2811
2848
  return typeof value === "boolean" ? value : undefined;
2812
2849
  }
2813
- function isSeverityFilter(value) {
2814
- return value === "error" || value === "warning" || value === "information" || value === "hint" || value === "all";
2815
- }
2816
2850
  function severityFilter(params) {
2817
2851
  const value = params["severity"];
2818
- if (isSeverityFilter(value))
2852
+ if (value === "error" || value === "warning" || value === "information" || value === "hint" || value === "all") {
2819
2853
  return value;
2854
+ }
2820
2855
  return "all";
2821
2856
  }
2822
2857
  function clientOptions(signal) {
2823
2858
  return signal === undefined ? {} : { signal };
2824
2859
  }
2860
+
2861
+ // ../lsp-core/src/tools/result.ts
2862
+ function text(text2, details, isError = false) {
2863
+ return { content: [{ type: "text", text: text2 }], details, isError };
2864
+ }
2865
+
2866
+ // ../lsp-core/src/tools/diagnostics.ts
2825
2867
  function asDiagnosticArray(result) {
2826
2868
  if (!result)
2827
2869
  return [];
@@ -2829,38 +2871,11 @@ function asDiagnosticArray(result) {
2829
2871
  return result;
2830
2872
  return result.items ?? [];
2831
2873
  }
2832
- function isDocumentSymbol(symbol) {
2833
- return "range" in symbol;
2834
- }
2835
- async function executeLspStatus() {
2836
- const servers = getAllServers();
2837
- const snapshots = getLspManager().getSnapshot();
2838
- const installed = servers.filter((server) => server.installed && !server.disabled);
2839
- const configuredLines = servers.map((server) => {
2840
- const state = server.disabled ? "disabled" : server.installed ? "installed" : "missing";
2841
- return `- ${server.id}: ${state}; source=${server.source}; extensions=${server.extensions.join(", ")}`;
2842
- });
2843
- const activeLines = snapshots.map((snapshot) => {
2844
- const state = snapshot.alive ? snapshot.isInitializing ? "initializing" : "alive" : "dead";
2845
- return `- ${snapshot.serverId}: ${state}; root=${snapshot.root}; refs=${snapshot.refCount}`;
2846
- });
2847
- const lines = [
2848
- `Configured LSP servers: ${servers.length}`,
2849
- `Installed LSP servers: ${installed.length}`,
2850
- "",
2851
- ...configuredLines,
2852
- "",
2853
- `Active LSP clients: ${snapshots.length}`,
2854
- ...activeLines
2855
- ];
2856
- return text(lines.join(`
2857
- `), { servers, snapshots });
2858
- }
2859
2874
  async function executeLspDiagnostics(params, signal) {
2860
2875
  const filePath = requireString(params, "filePath");
2861
2876
  const severity = severityFilter(params);
2862
2877
  try {
2863
- const absPath = resolve5(contextCwd(), filePath);
2878
+ const absPath = resolve4(contextCwd(), filePath);
2864
2879
  if (isDirectoryPath(absPath)) {
2865
2880
  const extension = inferExtensionFromDirectory(absPath);
2866
2881
  if (!extension) {
@@ -2921,6 +2936,29 @@ async function executeLspDiagnostics(params, signal) {
2921
2936
  throw error;
2922
2937
  }
2923
2938
  }
2939
+ // ../lsp-core/src/tools/install-decision.ts
2940
+ async function executeLspInstallDecision(params) {
2941
+ const serverId = requireString(params, "server_id");
2942
+ const decision = params["decision"];
2943
+ if (!isInstallDecision(decision)) {
2944
+ return text(`Invalid decision '${String(decision)}'. Expected "declined" or "allowed".`, { serverId, errorKind: "invalid_decision" }, true);
2945
+ }
2946
+ const serverIds = [...new Set(getMergedServers().map((server2) => server2.id))];
2947
+ if (!serverIds.includes(serverId)) {
2948
+ const preview = serverIds.slice(0, 20).join(", ");
2949
+ return text(`Unknown LSP server '${serverId}'. Known servers: ${preview}${serverIds.length > 20 ? "..." : ""}`, { serverId, errorKind: "unknown_server" }, true);
2950
+ }
2951
+ recordInstallDecision(serverId, decision);
2952
+ return text(`Recorded install decision for '${serverId}': ${decision}. ${decisionFollowUp(decision)}`, {
2953
+ serverId,
2954
+ decision
2955
+ });
2956
+ }
2957
+ function decisionFollowUp(decision) {
2958
+ return decision === "declined" ? "Future LSP lookups for this server stay quiet; proceed without LSP." : "Future LSP lookups keep install instructions without asking the user.";
2959
+ }
2960
+
2961
+ // ../lsp-core/src/tools/navigation.ts
2924
2962
  async function executeLspGotoDefinition(params, signal) {
2925
2963
  const filePath = requireString(params, "filePath");
2926
2964
  const line = requireNumber(params, "line");
@@ -2986,6 +3024,263 @@ async function executeLspFindReferences(params, signal) {
2986
3024
  throw error;
2987
3025
  }
2988
3026
  }
3027
+
3028
+ // ../lsp-core/src/lsp/workspace-edit.ts
3029
+ import { existsSync as existsSync8, readFileSync as readFileSync5, realpathSync, unlinkSync as unlinkSync2, writeFileSync as writeFileSync2 } from "node:fs";
3030
+ import { dirname as dirname5, isAbsolute as isAbsolute3, relative, resolve as resolve5 } from "node:path";
3031
+ import { fileURLToPath as fileURLToPath3 } from "node:url";
3032
+ function errorMessage2(error) {
3033
+ return error instanceof Error ? error.message : String(error);
3034
+ }
3035
+ function isPathInsideWorkspace(filePath, workspaceRoot) {
3036
+ const relativePath = relative(workspaceRoot, filePath);
3037
+ return relativePath === "" || !relativePath.startsWith("..") && !isAbsolute3(relativePath);
3038
+ }
3039
+ function realpathForValidation(filePath) {
3040
+ if (existsSync8(filePath))
3041
+ return realpathSync(filePath);
3042
+ const parent = dirname5(filePath);
3043
+ return resolve5(realpathSync(parent), relative(parent, filePath));
3044
+ }
3045
+ function uriToWorkspacePath(uri, workspaceRoot) {
3046
+ let filePath;
3047
+ try {
3048
+ filePath = fileURLToPath3(uri);
3049
+ } catch (error) {
3050
+ return { success: false, error: `non-file URI ${uri}: ${errorMessage2(error)}` };
3051
+ }
3052
+ let validatedPath;
3053
+ try {
3054
+ validatedPath = realpathForValidation(filePath);
3055
+ } catch (error) {
3056
+ return { success: false, error: `${filePath}: ${errorMessage2(error)}` };
3057
+ }
3058
+ if (!isPathInsideWorkspace(validatedPath, workspaceRoot)) {
3059
+ return { success: false, error: `${filePath}: outside workspace ${workspaceRoot}` };
3060
+ }
3061
+ return { success: true, path: filePath };
3062
+ }
3063
+ function applyTextEditsToFile(filePath, edits) {
3064
+ try {
3065
+ const content = readFileSync5(filePath, "utf-8");
3066
+ const lines = content.split(`
3067
+ `);
3068
+ const sortedEdits = [...edits].sort((a, b) => {
3069
+ if (b.range.start.line !== a.range.start.line) {
3070
+ return b.range.start.line - a.range.start.line;
3071
+ }
3072
+ return b.range.start.character - a.range.start.character;
3073
+ });
3074
+ for (const edit of sortedEdits) {
3075
+ const startLine = edit.range.start.line;
3076
+ const startChar = edit.range.start.character;
3077
+ const endLine = edit.range.end.line;
3078
+ const endChar = edit.range.end.character;
3079
+ if (startLine === endLine) {
3080
+ const line = lines[startLine] ?? "";
3081
+ lines[startLine] = line.substring(0, startChar) + edit.newText + line.substring(endChar);
3082
+ } else {
3083
+ const firstLine = lines[startLine] ?? "";
3084
+ const lastLine = lines[endLine] ?? "";
3085
+ const newContent = firstLine.substring(0, startChar) + edit.newText + lastLine.substring(endChar);
3086
+ lines.splice(startLine, endLine - startLine + 1, ...newContent.split(`
3087
+ `));
3088
+ }
3089
+ }
3090
+ writeFileSync2(filePath, lines.join(`
3091
+ `), "utf-8");
3092
+ return { success: true, editCount: edits.length };
3093
+ } catch (err) {
3094
+ return {
3095
+ success: false,
3096
+ editCount: 0,
3097
+ error: err instanceof Error ? err.message : String(err)
3098
+ };
3099
+ }
3100
+ }
3101
+ function applyWorkspaceEdit(edit, options = {}) {
3102
+ if (!edit) {
3103
+ return { success: false, filesModified: [], totalEdits: 0, errors: ["No edit provided"] };
3104
+ }
3105
+ const result = { success: true, filesModified: [], totalEdits: 0, errors: [] };
3106
+ const workspaceRoot = realpathSync(options.workspaceRoot ?? contextCwd());
3107
+ if (edit.changes) {
3108
+ for (const [uri, edits] of Object.entries(edit.changes)) {
3109
+ const validatedPath = uriToWorkspacePath(uri, workspaceRoot);
3110
+ if (!validatedPath.success) {
3111
+ result.success = false;
3112
+ result.errors.push(validatedPath.error);
3113
+ continue;
3114
+ }
3115
+ const applyResult = applyTextEditsToFile(validatedPath.path, edits);
3116
+ if (applyResult.success) {
3117
+ result.filesModified.push(validatedPath.path);
3118
+ result.totalEdits += applyResult.editCount;
3119
+ } else {
3120
+ result.success = false;
3121
+ result.errors.push(`${validatedPath.path}: ${applyResult.error}`);
3122
+ }
3123
+ }
3124
+ }
3125
+ if (edit.documentChanges) {
3126
+ for (const change of edit.documentChanges) {
3127
+ if (!("kind" in change)) {
3128
+ const validatedPath = uriToWorkspacePath(change.textDocument.uri, workspaceRoot);
3129
+ if (!validatedPath.success) {
3130
+ result.success = false;
3131
+ result.errors.push(validatedPath.error);
3132
+ continue;
3133
+ }
3134
+ const applyResult = applyTextEditsToFile(validatedPath.path, change.edits);
3135
+ if (applyResult.success) {
3136
+ result.filesModified.push(validatedPath.path);
3137
+ result.totalEdits += applyResult.editCount;
3138
+ } else {
3139
+ result.success = false;
3140
+ result.errors.push(`${validatedPath.path}: ${applyResult.error}`);
3141
+ }
3142
+ continue;
3143
+ }
3144
+ if (change.kind === "create") {
3145
+ try {
3146
+ const validatedPath = uriToWorkspacePath(change.uri, workspaceRoot);
3147
+ if (!validatedPath.success) {
3148
+ result.success = false;
3149
+ result.errors.push(`Create ${change.uri}: ${validatedPath.error}`);
3150
+ continue;
3151
+ }
3152
+ writeFileSync2(validatedPath.path, "", "utf-8");
3153
+ result.filesModified.push(validatedPath.path);
3154
+ } catch (err) {
3155
+ result.success = false;
3156
+ result.errors.push(`Create ${change.uri}: ${String(err)}`);
3157
+ }
3158
+ } else if (change.kind === "rename") {
3159
+ try {
3160
+ const oldPath = uriToWorkspacePath(change.oldUri, workspaceRoot);
3161
+ const newPath = uriToWorkspacePath(change.newUri, workspaceRoot);
3162
+ if (!oldPath.success || !newPath.success) {
3163
+ const error = oldPath.success ? newPath.success ? "invalid URI" : newPath.error : oldPath.error;
3164
+ result.success = false;
3165
+ result.errors.push(`Rename ${change.oldUri}: ${error}`);
3166
+ continue;
3167
+ }
3168
+ const content = readFileSync5(oldPath.path, "utf-8");
3169
+ writeFileSync2(newPath.path, content, "utf-8");
3170
+ unlinkSync2(oldPath.path);
3171
+ result.filesModified.push(newPath.path);
3172
+ } catch (err) {
3173
+ result.success = false;
3174
+ result.errors.push(`Rename ${change.oldUri}: ${String(err)}`);
3175
+ }
3176
+ } else if (change.kind === "delete") {
3177
+ try {
3178
+ const validatedPath = uriToWorkspacePath(change.uri, workspaceRoot);
3179
+ if (!validatedPath.success) {
3180
+ result.success = false;
3181
+ result.errors.push(`Delete ${change.uri}: ${validatedPath.error}`);
3182
+ continue;
3183
+ }
3184
+ unlinkSync2(validatedPath.path);
3185
+ result.filesModified.push(validatedPath.path);
3186
+ } catch (err) {
3187
+ result.success = false;
3188
+ result.errors.push(`Delete ${change.uri}: ${String(err)}`);
3189
+ }
3190
+ }
3191
+ }
3192
+ }
3193
+ return result;
3194
+ }
3195
+
3196
+ // ../lsp-core/src/tools/rename.ts
3197
+ async function executeLspPrepareRename(params, signal) {
3198
+ const filePath = requireString(params, "filePath");
3199
+ const line = requireNumber(params, "line");
3200
+ const character = requireNumber(params, "character");
3201
+ try {
3202
+ const result = await withLspClient(filePath, async (client) => client.prepareRename(filePath, line, character), "prepareRename", clientOptions(signal));
3203
+ const details = { filePath, line, character, result };
3204
+ return text(formatPrepareRenameResult(result), details);
3205
+ } catch (error) {
3206
+ const missingDependency = missingDependencyResult(error, {
3207
+ filePath,
3208
+ line,
3209
+ character,
3210
+ result: null
3211
+ });
3212
+ if (missingDependency)
3213
+ return missingDependency;
3214
+ throw error;
3215
+ }
3216
+ }
3217
+ async function executeLspRename(params, signal) {
3218
+ const filePath = requireString(params, "filePath");
3219
+ const line = requireNumber(params, "line");
3220
+ const character = requireNumber(params, "character");
3221
+ const newName = requireString(params, "newName");
3222
+ try {
3223
+ const edit = await withLspClient(filePath, async (client, workspaceRoot) => ({
3224
+ edit: await client.rename(filePath, line, character, newName),
3225
+ workspaceRoot
3226
+ }), "rename", clientOptions(signal));
3227
+ const apply = applyWorkspaceEdit(edit.edit, { workspaceRoot: edit.workspaceRoot });
3228
+ const details = { filePath, line, character, newName, apply, edit: edit.edit };
3229
+ return text(formatApplyResult(apply), details, !apply.success);
3230
+ } catch (error) {
3231
+ const missingDependency = missingDependencyResult(error, {
3232
+ filePath,
3233
+ line,
3234
+ character,
3235
+ newName,
3236
+ apply: null,
3237
+ edit: null
3238
+ });
3239
+ if (missingDependency)
3240
+ return missingDependency;
3241
+ throw error;
3242
+ }
3243
+ }
3244
+
3245
+ // ../lsp-core/src/tools/schema.ts
3246
+ function objectSchema(properties, required = []) {
3247
+ return {
3248
+ type: "object",
3249
+ properties,
3250
+ required
3251
+ };
3252
+ }
3253
+
3254
+ // ../lsp-core/src/tools/status.ts
3255
+ async function executeLspStatus() {
3256
+ const servers = getAllServers();
3257
+ const snapshots = getLspManager().getSnapshot();
3258
+ const installed = servers.filter((server2) => server2.installed && !server2.disabled);
3259
+ const configuredLines = servers.map((server2) => {
3260
+ const state = server2.disabled ? "disabled" : server2.installed ? "installed" : "missing";
3261
+ return `- ${server2.id}: ${state}; source=${server2.source}; extensions=${server2.extensions.join(", ")}`;
3262
+ });
3263
+ const activeLines = snapshots.map((snapshot) => {
3264
+ const state = snapshot.alive ? snapshot.isInitializing ? "initializing" : "alive" : "dead";
3265
+ return `- ${snapshot.serverId}: ${state}; root=${snapshot.root}; refs=${snapshot.refCount}`;
3266
+ });
3267
+ const lines = [
3268
+ `Configured LSP servers: ${servers.length}`,
3269
+ `Installed LSP servers: ${installed.length}`,
3270
+ "",
3271
+ ...configuredLines,
3272
+ "",
3273
+ `Active LSP clients: ${snapshots.length}`,
3274
+ ...activeLines
3275
+ ];
3276
+ return text(lines.join(`
3277
+ `), { servers, snapshots });
3278
+ }
3279
+
3280
+ // ../lsp-core/src/tools/symbols.ts
3281
+ function isDocumentSymbol(symbol) {
3282
+ return "range" in symbol;
3283
+ }
2989
3284
  async function executeLspSymbols(params, signal) {
2990
3285
  const filePath = requireString(params, "filePath");
2991
3286
  const rawScope = optionalString(params, "scope") ?? "document";
@@ -3052,85 +3347,8 @@ function formatSymbolsResult(filePath, scope, symbols, limit, query) {
3052
3347
  return text(lines.join(`
3053
3348
  `), details);
3054
3349
  }
3055
- async function executeLspPrepareRename(params, signal) {
3056
- const filePath = requireString(params, "filePath");
3057
- const line = requireNumber(params, "line");
3058
- const character = requireNumber(params, "character");
3059
- try {
3060
- const result = await withLspClient(filePath, async (client) => client.prepareRename(filePath, line, character), "prepareRename", clientOptions(signal));
3061
- const details = { filePath, line, character, result };
3062
- return text(formatPrepareRenameResult(result), details);
3063
- } catch (error) {
3064
- const missingDependency = missingDependencyResult(error, {
3065
- filePath,
3066
- line,
3067
- character,
3068
- result: null
3069
- });
3070
- if (missingDependency)
3071
- return missingDependency;
3072
- throw error;
3073
- }
3074
- }
3075
- async function executeLspRename(params, signal) {
3076
- const filePath = requireString(params, "filePath");
3077
- const line = requireNumber(params, "line");
3078
- const character = requireNumber(params, "character");
3079
- const newName = requireString(params, "newName");
3080
- try {
3081
- const edit = await withLspClient(filePath, async (client, workspaceRoot) => ({
3082
- edit: await client.rename(filePath, line, character, newName),
3083
- workspaceRoot
3084
- }), "rename", clientOptions(signal));
3085
- const apply = applyWorkspaceEdit(edit.edit, { workspaceRoot: edit.workspaceRoot });
3086
- const details = { filePath, line, character, newName, apply, edit: edit.edit };
3087
- return text(formatApplyResult(apply), details, !apply.success);
3088
- } catch (error) {
3089
- const missingDependency = missingDependencyResult(error, {
3090
- filePath,
3091
- line,
3092
- character,
3093
- newName,
3094
- apply: null,
3095
- edit: null
3096
- });
3097
- if (missingDependency)
3098
- return missingDependency;
3099
- throw error;
3100
- }
3101
- }
3102
- async function executeLspInstallDecision(params) {
3103
- const serverId = requireString(params, "server_id");
3104
- const decision = params["decision"];
3105
- if (!isInstallDecision(decision)) {
3106
- return text(`Invalid decision '${String(decision)}'. Expected "declined" or "allowed".`, { serverId, errorKind: "invalid_decision" }, true);
3107
- }
3108
- const serverIds = [...new Set(getMergedServers().map((server) => server.id))];
3109
- if (!serverIds.includes(serverId)) {
3110
- const preview = serverIds.slice(0, 20).join(", ");
3111
- return text(`Unknown LSP server '${serverId}'. Known servers: ${preview}${serverIds.length > 20 ? "..." : ""}`, { serverId, errorKind: "unknown_server" }, true);
3112
- }
3113
- recordInstallDecision(serverId, decision);
3114
- return text(`Recorded install decision for '${serverId}': ${decision}. ${decisionFollowUp(decision)}`, {
3115
- serverId,
3116
- decision
3117
- });
3118
- }
3119
- function decisionFollowUp(decision) {
3120
- return decision === "declined" ? "Future LSP lookups for this server stay quiet; proceed without LSP." : "Future LSP lookups keep install instructions without asking the user.";
3121
- }
3122
- async function executeLspTool(name, params, signal) {
3123
- const tool = LSP_MCP_TOOLS.find((candidate) => matchesToolName(candidate, name));
3124
- if (!tool)
3125
- throw new Error(`Unknown LSP tool: ${name}`);
3126
- return tool.execute(params, signal);
3127
- }
3128
- function matchesToolName(tool, name) {
3129
- return tool.name === name || (tool.aliases?.includes(name) ?? false);
3130
- }
3131
- function coerceToolArguments(value) {
3132
- return isRecord4(value) ? value : {};
3133
- }
3350
+
3351
+ // ../lsp-core/src/tools/definitions.ts
3134
3352
  var LSP_MCP_TOOLS = [
3135
3353
  {
3136
3354
  name: "status",
@@ -3241,12 +3459,24 @@ var LSP_MCP_TOOLS = [
3241
3459
  execute: executeLspInstallDecision
3242
3460
  }
3243
3461
  ];
3244
-
3245
- // ../lsp-tools-mcp/dist/mcp.js
3462
+ // ../lsp-core/src/tools/runtime.ts
3463
+ async function executeLspTool(name, params, signal) {
3464
+ const tool = LSP_MCP_TOOLS.find((candidate) => matchesToolName(candidate, name));
3465
+ if (!tool)
3466
+ throw new Error(`Unknown LSP tool: ${name}`);
3467
+ return tool.execute(params, signal);
3468
+ }
3469
+ function matchesToolName(tool, name) {
3470
+ return tool.name === name || (tool.aliases?.includes(name) ?? false);
3471
+ }
3472
+ function coerceToolArguments(value) {
3473
+ return isRecord4(value) ? value : {};
3474
+ }
3475
+ // ../lsp-core/src/mcp.ts
3246
3476
  var SERVER_NAME = "lsp";
3247
3477
  var SERVER_VERSION = "0.1.0";
3248
3478
  async function handleLspMcpRequest(input) {
3249
- if (!isRecord5(input)) {
3479
+ if (!isPlainRecord(input)) {
3250
3480
  return errorResponse(null, -32600, "Invalid Request");
3251
3481
  }
3252
3482
  const id = jsonRpcId(input["id"]);
@@ -3272,7 +3502,7 @@ async function handleLspMcpRequest(input) {
3272
3502
  return errorResponse(id, -32601, `Method not found: ${String(method)}`);
3273
3503
  }
3274
3504
  async function handleToolCall(id, params) {
3275
- if (!isRecord5(params) || typeof params["name"] !== "string") {
3505
+ if (!isPlainRecord(params) || typeof params["name"] !== "string") {
3276
3506
  return errorResponse(id, -32602, "tools/call requires params.name");
3277
3507
  }
3278
3508
  try {
@@ -3297,37 +3527,22 @@ function describeTool(tool) {
3297
3527
  inputSchema: tool.inputSchema
3298
3528
  };
3299
3529
  }
3300
- function successResponse(id, result) {
3301
- return { jsonrpc: "2.0", id, result };
3302
- }
3303
- function errorResponse(id, code, message, data) {
3304
- return { jsonrpc: "2.0", id, error: data === undefined ? { code, message } : { code, message, data } };
3305
- }
3306
3530
  function requestedProtocolVersion(params) {
3307
- if (!isRecord5(params) || typeof params["protocolVersion"] !== "string")
3531
+ if (!isPlainRecord(params) || typeof params["protocolVersion"] !== "string")
3308
3532
  return "2024-11-05";
3309
3533
  return params["protocolVersion"];
3310
3534
  }
3311
- function jsonRpcId(value) {
3312
- return typeof value === "string" || typeof value === "number" || value === null ? value : null;
3313
- }
3314
- function isRecord5(value) {
3315
- return typeof value === "object" && value !== null && !Array.isArray(value);
3316
- }
3317
- function messageFromError(error) {
3318
- return error instanceof Error ? error.message : String(error);
3319
- }
3320
3535
 
3321
3536
  // src/request-routing.ts
3322
3537
  var CONTEXT_KEY = "_context";
3323
3538
  function extractRequestContext(raw) {
3324
- if (!isRecord6(raw) || raw["method"] !== "tools/call")
3539
+ if (!isRecord5(raw) || raw["method"] !== "tools/call")
3325
3540
  return { input: raw, context: undefined };
3326
3541
  const params = raw["params"];
3327
- if (!isRecord6(params))
3542
+ if (!isRecord5(params))
3328
3543
  return { input: raw, context: undefined };
3329
3544
  const args = params["arguments"];
3330
- if (!isRecord6(args))
3545
+ if (!isRecord5(args))
3331
3546
  return { input: raw, context: undefined };
3332
3547
  const context = parseContext(args[CONTEXT_KEY]);
3333
3548
  if (!context)
@@ -3344,7 +3559,7 @@ function handleDaemonMessage(raw) {
3344
3559
  return handleLspMcpRequest(input);
3345
3560
  }
3346
3561
  function parseContext(value) {
3347
- if (!isRecord6(value))
3562
+ if (!isRecord5(value))
3348
3563
  return;
3349
3564
  const context = {};
3350
3565
  const cwd = value["cwd"];
@@ -3355,11 +3570,11 @@ function parseContext(value) {
3355
3570
  context.env = env;
3356
3571
  return context.cwd === undefined && context.env === undefined ? undefined : context;
3357
3572
  }
3358
- function isRecord6(value) {
3573
+ function isRecord5(value) {
3359
3574
  return typeof value === "object" && value !== null && !Array.isArray(value);
3360
3575
  }
3361
3576
  function isStringRecord2(value) {
3362
- return isRecord6(value) && Object.values(value).every((item) => typeof item === "string");
3577
+ return isRecord5(value) && Object.values(value).every((item) => typeof item === "string");
3363
3578
  }
3364
3579
 
3365
3580
  // src/socket-jsonrpc.ts
@@ -3486,10 +3701,10 @@ function sendToolCall(socketPath, name, args, timeoutMs) {
3486
3701
  });
3487
3702
  }
3488
3703
  function toToolResult(message) {
3489
- if (!isRecord7(message) || message["id"] !== REQUEST_ID)
3704
+ if (!isRecord6(message) || message["id"] !== REQUEST_ID)
3490
3705
  return null;
3491
3706
  const result = message["result"];
3492
- if (!isRecord7(result) || !Array.isArray(result["content"]))
3707
+ if (!isRecord6(result) || !Array.isArray(result["content"]))
3493
3708
  return null;
3494
3709
  return {
3495
3710
  content: result["content"],
@@ -3497,70 +3712,45 @@ function toToolResult(message) {
3497
3712
  details: result["details"]
3498
3713
  };
3499
3714
  }
3500
- function isRecord7(value) {
3715
+ function isRecord6(value) {
3501
3716
  return typeof value === "object" && value !== null && !Array.isArray(value);
3502
3717
  }
3503
3718
  function errorText(error) {
3504
3719
  return error instanceof Error ? error.message : String(error);
3505
3720
  }
3506
3721
  // src/proxy.ts
3507
- import { createInterface } from "node:readline";
3508
3722
  async function runMcpStdioProxy(options = {}) {
3509
3723
  const input = options.input ?? process.stdin;
3510
3724
  const output = options.output ?? process.stdout;
3511
3725
  const paths = options.paths ?? daemonPaths();
3512
3726
  const context = options.context ?? currentRequestContext();
3513
3727
  const callOptions = { paths, context, ...options.ensure ? { ensure: options.ensure } : {} };
3514
- const lines = createInterface({ input, crlfDelay: Number.POSITIVE_INFINITY });
3515
- for await (const line of lines) {
3516
- if (!line.trim())
3517
- continue;
3518
- try {
3519
- const response = await handleLine(line, callOptions);
3520
- if (response)
3521
- output.write(`${JSON.stringify(response)}
3522
- `);
3523
- } catch (error) {
3728
+ await runJsonRpcStdioServer({
3729
+ input,
3730
+ output,
3731
+ handler: handleProxyRequest,
3732
+ handlerOptions: callOptions,
3733
+ onHandlerError: (error) => {
3524
3734
  process.stderr.write(`[lsp-daemon] proxy error: ${error instanceof Error ? error.message : String(error)}
3525
3735
  `);
3526
3736
  }
3527
- }
3737
+ });
3528
3738
  }
3529
- async function handleLine(line, callOptions) {
3530
- let parsed;
3531
- try {
3532
- parsed = JSON.parse(line);
3533
- } catch (error) {
3534
- return parseErrorResponse(error);
3535
- }
3739
+ async function handleProxyRequest(parsed, callOptions) {
3536
3740
  const toolCall = asToolCall(parsed);
3537
3741
  if (!toolCall)
3538
3742
  return handleLspMcpRequest(parsed);
3539
3743
  const result = await callToolViaDaemon(toolCall.name, toolCall.args, callOptions);
3540
- return {
3541
- jsonrpc: "2.0",
3542
- id: toolCall.id,
3543
- result: { content: result.content, isError: result.isError ?? false, details: result.details }
3544
- };
3744
+ return successResponse(toolCall.id, { content: result.content, isError: result.isError ?? false, details: result.details });
3545
3745
  }
3546
3746
  function asToolCall(parsed) {
3547
- if (!isRecord8(parsed) || parsed["method"] !== "tools/call")
3747
+ if (!isPlainRecord(parsed) || parsed["method"] !== "tools/call")
3548
3748
  return null;
3549
3749
  const params = parsed["params"];
3550
- if (!isRecord8(params) || typeof params["name"] !== "string")
3750
+ if (!isPlainRecord(params) || typeof params["name"] !== "string")
3551
3751
  return null;
3552
3752
  const args = params["arguments"];
3553
- return { id: jsonRpcId2(parsed["id"]), name: params["name"], args: isRecord8(args) ? args : {} };
3554
- }
3555
- function jsonRpcId2(value) {
3556
- return typeof value === "string" || typeof value === "number" || value === null ? value : null;
3557
- }
3558
- function parseErrorResponse(error) {
3559
- const message = error instanceof Error ? error.message : String(error);
3560
- return { jsonrpc: "2.0", id: null, error: { code: -32700, message: "Parse error", data: message } };
3561
- }
3562
- function isRecord8(value) {
3563
- return typeof value === "object" && value !== null && !Array.isArray(value);
3753
+ return { id: jsonRpcId(parsed["id"]), name: params["name"], args: isPlainRecord(args) ? args : {} };
3564
3754
  }
3565
3755
  export {
3566
3756
  runMcpStdioProxy,