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
@@ -0,0 +1,2205 @@
1
+ #!/usr/bin/env node
2
+
3
+ // components/codegraph/src/cli.ts
4
+ import { realpathSync as realpathSync3 } from "node:fs";
5
+ import { basename as basename5, resolve as resolve4 } from "node:path";
6
+ import { stderr as processStderr3 } from "node:process";
7
+ import { fileURLToPath as fileURLToPath3 } from "node:url";
8
+
9
+ // components/codegraph/src/hook.ts
10
+ import { spawn } from "node:child_process";
11
+ import { homedir as homedir7 } from "node:os";
12
+ import { cwd as processCwd2, env as processEnv2, stdin as processStdin, stdout as processStdout } from "node:process";
13
+ import { fileURLToPath } from "node:url";
14
+
15
+ // ../../utils/src/omo-config/loader.ts
16
+ import { existsSync as existsSync2, readFileSync } from "node:fs";
17
+ import { homedir } from "node:os";
18
+
19
+ // ../../utils/src/deep-merge.ts
20
+ var DANGEROUS_KEYS = new Set(["__proto__", "constructor", "prototype"]);
21
+ function isUnsafeObjectKey(key) {
22
+ return DANGEROUS_KEYS.has(key);
23
+ }
24
+ function isPlainObject(value) {
25
+ return typeof value === "object" && value !== null && !Array.isArray(value) && Object.prototype.toString.call(value) === "[object Object]";
26
+ }
27
+
28
+ // ../../../node_modules/.bun/jsonc-parser@3.3.1/node_modules/jsonc-parser/lib/esm/impl/scanner.js
29
+ function createScanner(text, ignoreTrivia = false) {
30
+ const len = text.length;
31
+ let pos = 0, value = "", tokenOffset = 0, token = 16, lineNumber = 0, lineStartOffset = 0, tokenLineStartOffset = 0, prevTokenLineStartOffset = 0, scanError = 0;
32
+ function scanHexDigits(count, exact) {
33
+ let digits = 0;
34
+ let value2 = 0;
35
+ while (digits < count || !exact) {
36
+ let ch = text.charCodeAt(pos);
37
+ if (ch >= 48 && ch <= 57) {
38
+ value2 = value2 * 16 + ch - 48;
39
+ } else if (ch >= 65 && ch <= 70) {
40
+ value2 = value2 * 16 + ch - 65 + 10;
41
+ } else if (ch >= 97 && ch <= 102) {
42
+ value2 = value2 * 16 + ch - 97 + 10;
43
+ } else {
44
+ break;
45
+ }
46
+ pos++;
47
+ digits++;
48
+ }
49
+ if (digits < count) {
50
+ value2 = -1;
51
+ }
52
+ return value2;
53
+ }
54
+ function setPosition(newPosition) {
55
+ pos = newPosition;
56
+ value = "";
57
+ tokenOffset = 0;
58
+ token = 16;
59
+ scanError = 0;
60
+ }
61
+ function scanNumber() {
62
+ let start = pos;
63
+ if (text.charCodeAt(pos) === 48) {
64
+ pos++;
65
+ } else {
66
+ pos++;
67
+ while (pos < text.length && isDigit(text.charCodeAt(pos))) {
68
+ pos++;
69
+ }
70
+ }
71
+ if (pos < text.length && text.charCodeAt(pos) === 46) {
72
+ pos++;
73
+ if (pos < text.length && isDigit(text.charCodeAt(pos))) {
74
+ pos++;
75
+ while (pos < text.length && isDigit(text.charCodeAt(pos))) {
76
+ pos++;
77
+ }
78
+ } else {
79
+ scanError = 3;
80
+ return text.substring(start, pos);
81
+ }
82
+ }
83
+ let end = pos;
84
+ if (pos < text.length && (text.charCodeAt(pos) === 69 || text.charCodeAt(pos) === 101)) {
85
+ pos++;
86
+ if (pos < text.length && text.charCodeAt(pos) === 43 || text.charCodeAt(pos) === 45) {
87
+ pos++;
88
+ }
89
+ if (pos < text.length && isDigit(text.charCodeAt(pos))) {
90
+ pos++;
91
+ while (pos < text.length && isDigit(text.charCodeAt(pos))) {
92
+ pos++;
93
+ }
94
+ end = pos;
95
+ } else {
96
+ scanError = 3;
97
+ }
98
+ }
99
+ return text.substring(start, end);
100
+ }
101
+ function scanString() {
102
+ let result = "", start = pos;
103
+ while (true) {
104
+ if (pos >= len) {
105
+ result += text.substring(start, pos);
106
+ scanError = 2;
107
+ break;
108
+ }
109
+ const ch = text.charCodeAt(pos);
110
+ if (ch === 34) {
111
+ result += text.substring(start, pos);
112
+ pos++;
113
+ break;
114
+ }
115
+ if (ch === 92) {
116
+ result += text.substring(start, pos);
117
+ pos++;
118
+ if (pos >= len) {
119
+ scanError = 2;
120
+ break;
121
+ }
122
+ const ch2 = text.charCodeAt(pos++);
123
+ switch (ch2) {
124
+ case 34:
125
+ result += '"';
126
+ break;
127
+ case 92:
128
+ result += "\\";
129
+ break;
130
+ case 47:
131
+ result += "/";
132
+ break;
133
+ case 98:
134
+ result += "\b";
135
+ break;
136
+ case 102:
137
+ result += "\f";
138
+ break;
139
+ case 110:
140
+ result += `
141
+ `;
142
+ break;
143
+ case 114:
144
+ result += "\r";
145
+ break;
146
+ case 116:
147
+ result += "\t";
148
+ break;
149
+ case 117:
150
+ const ch3 = scanHexDigits(4, true);
151
+ if (ch3 >= 0) {
152
+ result += String.fromCharCode(ch3);
153
+ } else {
154
+ scanError = 4;
155
+ }
156
+ break;
157
+ default:
158
+ scanError = 5;
159
+ }
160
+ start = pos;
161
+ continue;
162
+ }
163
+ if (ch >= 0 && ch <= 31) {
164
+ if (isLineBreak(ch)) {
165
+ result += text.substring(start, pos);
166
+ scanError = 2;
167
+ break;
168
+ } else {
169
+ scanError = 6;
170
+ }
171
+ }
172
+ pos++;
173
+ }
174
+ return result;
175
+ }
176
+ function scanNext() {
177
+ value = "";
178
+ scanError = 0;
179
+ tokenOffset = pos;
180
+ lineStartOffset = lineNumber;
181
+ prevTokenLineStartOffset = tokenLineStartOffset;
182
+ if (pos >= len) {
183
+ tokenOffset = len;
184
+ return token = 17;
185
+ }
186
+ let code = text.charCodeAt(pos);
187
+ if (isWhiteSpace(code)) {
188
+ do {
189
+ pos++;
190
+ value += String.fromCharCode(code);
191
+ code = text.charCodeAt(pos);
192
+ } while (isWhiteSpace(code));
193
+ return token = 15;
194
+ }
195
+ if (isLineBreak(code)) {
196
+ pos++;
197
+ value += String.fromCharCode(code);
198
+ if (code === 13 && text.charCodeAt(pos) === 10) {
199
+ pos++;
200
+ value += `
201
+ `;
202
+ }
203
+ lineNumber++;
204
+ tokenLineStartOffset = pos;
205
+ return token = 14;
206
+ }
207
+ switch (code) {
208
+ case 123:
209
+ pos++;
210
+ return token = 1;
211
+ case 125:
212
+ pos++;
213
+ return token = 2;
214
+ case 91:
215
+ pos++;
216
+ return token = 3;
217
+ case 93:
218
+ pos++;
219
+ return token = 4;
220
+ case 58:
221
+ pos++;
222
+ return token = 6;
223
+ case 44:
224
+ pos++;
225
+ return token = 5;
226
+ case 34:
227
+ pos++;
228
+ value = scanString();
229
+ return token = 10;
230
+ case 47:
231
+ const start = pos - 1;
232
+ if (text.charCodeAt(pos + 1) === 47) {
233
+ pos += 2;
234
+ while (pos < len) {
235
+ if (isLineBreak(text.charCodeAt(pos))) {
236
+ break;
237
+ }
238
+ pos++;
239
+ }
240
+ value = text.substring(start, pos);
241
+ return token = 12;
242
+ }
243
+ if (text.charCodeAt(pos + 1) === 42) {
244
+ pos += 2;
245
+ const safeLength = len - 1;
246
+ let commentClosed = false;
247
+ while (pos < safeLength) {
248
+ const ch = text.charCodeAt(pos);
249
+ if (ch === 42 && text.charCodeAt(pos + 1) === 47) {
250
+ pos += 2;
251
+ commentClosed = true;
252
+ break;
253
+ }
254
+ pos++;
255
+ if (isLineBreak(ch)) {
256
+ if (ch === 13 && text.charCodeAt(pos) === 10) {
257
+ pos++;
258
+ }
259
+ lineNumber++;
260
+ tokenLineStartOffset = pos;
261
+ }
262
+ }
263
+ if (!commentClosed) {
264
+ pos++;
265
+ scanError = 1;
266
+ }
267
+ value = text.substring(start, pos);
268
+ return token = 13;
269
+ }
270
+ value += String.fromCharCode(code);
271
+ pos++;
272
+ return token = 16;
273
+ case 45:
274
+ value += String.fromCharCode(code);
275
+ pos++;
276
+ if (pos === len || !isDigit(text.charCodeAt(pos))) {
277
+ return token = 16;
278
+ }
279
+ case 48:
280
+ case 49:
281
+ case 50:
282
+ case 51:
283
+ case 52:
284
+ case 53:
285
+ case 54:
286
+ case 55:
287
+ case 56:
288
+ case 57:
289
+ value += scanNumber();
290
+ return token = 11;
291
+ default:
292
+ while (pos < len && isUnknownContentCharacter(code)) {
293
+ pos++;
294
+ code = text.charCodeAt(pos);
295
+ }
296
+ if (tokenOffset !== pos) {
297
+ value = text.substring(tokenOffset, pos);
298
+ switch (value) {
299
+ case "true":
300
+ return token = 8;
301
+ case "false":
302
+ return token = 9;
303
+ case "null":
304
+ return token = 7;
305
+ }
306
+ return token = 16;
307
+ }
308
+ value += String.fromCharCode(code);
309
+ pos++;
310
+ return token = 16;
311
+ }
312
+ }
313
+ function isUnknownContentCharacter(code) {
314
+ if (isWhiteSpace(code) || isLineBreak(code)) {
315
+ return false;
316
+ }
317
+ switch (code) {
318
+ case 125:
319
+ case 93:
320
+ case 123:
321
+ case 91:
322
+ case 34:
323
+ case 58:
324
+ case 44:
325
+ case 47:
326
+ return false;
327
+ }
328
+ return true;
329
+ }
330
+ function scanNextNonTrivia() {
331
+ let result;
332
+ do {
333
+ result = scanNext();
334
+ } while (result >= 12 && result <= 15);
335
+ return result;
336
+ }
337
+ return {
338
+ setPosition,
339
+ getPosition: () => pos,
340
+ scan: ignoreTrivia ? scanNextNonTrivia : scanNext,
341
+ getToken: () => token,
342
+ getTokenValue: () => value,
343
+ getTokenOffset: () => tokenOffset,
344
+ getTokenLength: () => pos - tokenOffset,
345
+ getTokenStartLine: () => lineStartOffset,
346
+ getTokenStartCharacter: () => tokenOffset - prevTokenLineStartOffset,
347
+ getTokenError: () => scanError
348
+ };
349
+ }
350
+ function isWhiteSpace(ch) {
351
+ return ch === 32 || ch === 9;
352
+ }
353
+ function isLineBreak(ch) {
354
+ return ch === 10 || ch === 13;
355
+ }
356
+ function isDigit(ch) {
357
+ return ch >= 48 && ch <= 57;
358
+ }
359
+ var CharacterCodes;
360
+ (function(CharacterCodes2) {
361
+ CharacterCodes2[CharacterCodes2["lineFeed"] = 10] = "lineFeed";
362
+ CharacterCodes2[CharacterCodes2["carriageReturn"] = 13] = "carriageReturn";
363
+ CharacterCodes2[CharacterCodes2["space"] = 32] = "space";
364
+ CharacterCodes2[CharacterCodes2["_0"] = 48] = "_0";
365
+ CharacterCodes2[CharacterCodes2["_1"] = 49] = "_1";
366
+ CharacterCodes2[CharacterCodes2["_2"] = 50] = "_2";
367
+ CharacterCodes2[CharacterCodes2["_3"] = 51] = "_3";
368
+ CharacterCodes2[CharacterCodes2["_4"] = 52] = "_4";
369
+ CharacterCodes2[CharacterCodes2["_5"] = 53] = "_5";
370
+ CharacterCodes2[CharacterCodes2["_6"] = 54] = "_6";
371
+ CharacterCodes2[CharacterCodes2["_7"] = 55] = "_7";
372
+ CharacterCodes2[CharacterCodes2["_8"] = 56] = "_8";
373
+ CharacterCodes2[CharacterCodes2["_9"] = 57] = "_9";
374
+ CharacterCodes2[CharacterCodes2["a"] = 97] = "a";
375
+ CharacterCodes2[CharacterCodes2["b"] = 98] = "b";
376
+ CharacterCodes2[CharacterCodes2["c"] = 99] = "c";
377
+ CharacterCodes2[CharacterCodes2["d"] = 100] = "d";
378
+ CharacterCodes2[CharacterCodes2["e"] = 101] = "e";
379
+ CharacterCodes2[CharacterCodes2["f"] = 102] = "f";
380
+ CharacterCodes2[CharacterCodes2["g"] = 103] = "g";
381
+ CharacterCodes2[CharacterCodes2["h"] = 104] = "h";
382
+ CharacterCodes2[CharacterCodes2["i"] = 105] = "i";
383
+ CharacterCodes2[CharacterCodes2["j"] = 106] = "j";
384
+ CharacterCodes2[CharacterCodes2["k"] = 107] = "k";
385
+ CharacterCodes2[CharacterCodes2["l"] = 108] = "l";
386
+ CharacterCodes2[CharacterCodes2["m"] = 109] = "m";
387
+ CharacterCodes2[CharacterCodes2["n"] = 110] = "n";
388
+ CharacterCodes2[CharacterCodes2["o"] = 111] = "o";
389
+ CharacterCodes2[CharacterCodes2["p"] = 112] = "p";
390
+ CharacterCodes2[CharacterCodes2["q"] = 113] = "q";
391
+ CharacterCodes2[CharacterCodes2["r"] = 114] = "r";
392
+ CharacterCodes2[CharacterCodes2["s"] = 115] = "s";
393
+ CharacterCodes2[CharacterCodes2["t"] = 116] = "t";
394
+ CharacterCodes2[CharacterCodes2["u"] = 117] = "u";
395
+ CharacterCodes2[CharacterCodes2["v"] = 118] = "v";
396
+ CharacterCodes2[CharacterCodes2["w"] = 119] = "w";
397
+ CharacterCodes2[CharacterCodes2["x"] = 120] = "x";
398
+ CharacterCodes2[CharacterCodes2["y"] = 121] = "y";
399
+ CharacterCodes2[CharacterCodes2["z"] = 122] = "z";
400
+ CharacterCodes2[CharacterCodes2["A"] = 65] = "A";
401
+ CharacterCodes2[CharacterCodes2["B"] = 66] = "B";
402
+ CharacterCodes2[CharacterCodes2["C"] = 67] = "C";
403
+ CharacterCodes2[CharacterCodes2["D"] = 68] = "D";
404
+ CharacterCodes2[CharacterCodes2["E"] = 69] = "E";
405
+ CharacterCodes2[CharacterCodes2["F"] = 70] = "F";
406
+ CharacterCodes2[CharacterCodes2["G"] = 71] = "G";
407
+ CharacterCodes2[CharacterCodes2["H"] = 72] = "H";
408
+ CharacterCodes2[CharacterCodes2["I"] = 73] = "I";
409
+ CharacterCodes2[CharacterCodes2["J"] = 74] = "J";
410
+ CharacterCodes2[CharacterCodes2["K"] = 75] = "K";
411
+ CharacterCodes2[CharacterCodes2["L"] = 76] = "L";
412
+ CharacterCodes2[CharacterCodes2["M"] = 77] = "M";
413
+ CharacterCodes2[CharacterCodes2["N"] = 78] = "N";
414
+ CharacterCodes2[CharacterCodes2["O"] = 79] = "O";
415
+ CharacterCodes2[CharacterCodes2["P"] = 80] = "P";
416
+ CharacterCodes2[CharacterCodes2["Q"] = 81] = "Q";
417
+ CharacterCodes2[CharacterCodes2["R"] = 82] = "R";
418
+ CharacterCodes2[CharacterCodes2["S"] = 83] = "S";
419
+ CharacterCodes2[CharacterCodes2["T"] = 84] = "T";
420
+ CharacterCodes2[CharacterCodes2["U"] = 85] = "U";
421
+ CharacterCodes2[CharacterCodes2["V"] = 86] = "V";
422
+ CharacterCodes2[CharacterCodes2["W"] = 87] = "W";
423
+ CharacterCodes2[CharacterCodes2["X"] = 88] = "X";
424
+ CharacterCodes2[CharacterCodes2["Y"] = 89] = "Y";
425
+ CharacterCodes2[CharacterCodes2["Z"] = 90] = "Z";
426
+ CharacterCodes2[CharacterCodes2["asterisk"] = 42] = "asterisk";
427
+ CharacterCodes2[CharacterCodes2["backslash"] = 92] = "backslash";
428
+ CharacterCodes2[CharacterCodes2["closeBrace"] = 125] = "closeBrace";
429
+ CharacterCodes2[CharacterCodes2["closeBracket"] = 93] = "closeBracket";
430
+ CharacterCodes2[CharacterCodes2["colon"] = 58] = "colon";
431
+ CharacterCodes2[CharacterCodes2["comma"] = 44] = "comma";
432
+ CharacterCodes2[CharacterCodes2["dot"] = 46] = "dot";
433
+ CharacterCodes2[CharacterCodes2["doubleQuote"] = 34] = "doubleQuote";
434
+ CharacterCodes2[CharacterCodes2["minus"] = 45] = "minus";
435
+ CharacterCodes2[CharacterCodes2["openBrace"] = 123] = "openBrace";
436
+ CharacterCodes2[CharacterCodes2["openBracket"] = 91] = "openBracket";
437
+ CharacterCodes2[CharacterCodes2["plus"] = 43] = "plus";
438
+ CharacterCodes2[CharacterCodes2["slash"] = 47] = "slash";
439
+ CharacterCodes2[CharacterCodes2["formFeed"] = 12] = "formFeed";
440
+ CharacterCodes2[CharacterCodes2["tab"] = 9] = "tab";
441
+ })(CharacterCodes || (CharacterCodes = {}));
442
+
443
+ // ../../../node_modules/.bun/jsonc-parser@3.3.1/node_modules/jsonc-parser/lib/esm/impl/string-intern.js
444
+ var cachedSpaces = new Array(20).fill(0).map((_, index) => {
445
+ return " ".repeat(index);
446
+ });
447
+ var maxCachedValues = 200;
448
+ var cachedBreakLinesWithSpaces = {
449
+ " ": {
450
+ "\n": new Array(maxCachedValues).fill(0).map((_, index) => {
451
+ return `
452
+ ` + " ".repeat(index);
453
+ }),
454
+ "\r": new Array(maxCachedValues).fill(0).map((_, index) => {
455
+ return "\r" + " ".repeat(index);
456
+ }),
457
+ "\r\n": new Array(maxCachedValues).fill(0).map((_, index) => {
458
+ return `\r
459
+ ` + " ".repeat(index);
460
+ })
461
+ },
462
+ "\t": {
463
+ "\n": new Array(maxCachedValues).fill(0).map((_, index) => {
464
+ return `
465
+ ` + "\t".repeat(index);
466
+ }),
467
+ "\r": new Array(maxCachedValues).fill(0).map((_, index) => {
468
+ return "\r" + "\t".repeat(index);
469
+ }),
470
+ "\r\n": new Array(maxCachedValues).fill(0).map((_, index) => {
471
+ return `\r
472
+ ` + "\t".repeat(index);
473
+ })
474
+ }
475
+ };
476
+
477
+ // ../../../node_modules/.bun/jsonc-parser@3.3.1/node_modules/jsonc-parser/lib/esm/impl/parser.js
478
+ var ParseOptions;
479
+ (function(ParseOptions2) {
480
+ ParseOptions2.DEFAULT = {
481
+ allowTrailingComma: false
482
+ };
483
+ })(ParseOptions || (ParseOptions = {}));
484
+ function parse(text, errors = [], options = ParseOptions.DEFAULT) {
485
+ let currentProperty = null;
486
+ let currentParent = [];
487
+ const previousParents = [];
488
+ function onValue(value) {
489
+ if (Array.isArray(currentParent)) {
490
+ currentParent.push(value);
491
+ } else if (currentProperty !== null) {
492
+ currentParent[currentProperty] = value;
493
+ }
494
+ }
495
+ const visitor = {
496
+ onObjectBegin: () => {
497
+ const object = {};
498
+ onValue(object);
499
+ previousParents.push(currentParent);
500
+ currentParent = object;
501
+ currentProperty = null;
502
+ },
503
+ onObjectProperty: (name) => {
504
+ currentProperty = name;
505
+ },
506
+ onObjectEnd: () => {
507
+ currentParent = previousParents.pop();
508
+ },
509
+ onArrayBegin: () => {
510
+ const array = [];
511
+ onValue(array);
512
+ previousParents.push(currentParent);
513
+ currentParent = array;
514
+ currentProperty = null;
515
+ },
516
+ onArrayEnd: () => {
517
+ currentParent = previousParents.pop();
518
+ },
519
+ onLiteralValue: onValue,
520
+ onError: (error, offset, length) => {
521
+ errors.push({ error, offset, length });
522
+ }
523
+ };
524
+ visit(text, visitor, options);
525
+ return currentParent[0];
526
+ }
527
+ function visit(text, visitor, options = ParseOptions.DEFAULT) {
528
+ const _scanner = createScanner(text, false);
529
+ const _jsonPath = [];
530
+ let suppressedCallbacks = 0;
531
+ function toNoArgVisit(visitFunction) {
532
+ return visitFunction ? () => suppressedCallbacks === 0 && visitFunction(_scanner.getTokenOffset(), _scanner.getTokenLength(), _scanner.getTokenStartLine(), _scanner.getTokenStartCharacter()) : () => true;
533
+ }
534
+ function toOneArgVisit(visitFunction) {
535
+ return visitFunction ? (arg) => suppressedCallbacks === 0 && visitFunction(arg, _scanner.getTokenOffset(), _scanner.getTokenLength(), _scanner.getTokenStartLine(), _scanner.getTokenStartCharacter()) : () => true;
536
+ }
537
+ function toOneArgVisitWithPath(visitFunction) {
538
+ return visitFunction ? (arg) => suppressedCallbacks === 0 && visitFunction(arg, _scanner.getTokenOffset(), _scanner.getTokenLength(), _scanner.getTokenStartLine(), _scanner.getTokenStartCharacter(), () => _jsonPath.slice()) : () => true;
539
+ }
540
+ function toBeginVisit(visitFunction) {
541
+ return visitFunction ? () => {
542
+ if (suppressedCallbacks > 0) {
543
+ suppressedCallbacks++;
544
+ } else {
545
+ let cbReturn = visitFunction(_scanner.getTokenOffset(), _scanner.getTokenLength(), _scanner.getTokenStartLine(), _scanner.getTokenStartCharacter(), () => _jsonPath.slice());
546
+ if (cbReturn === false) {
547
+ suppressedCallbacks = 1;
548
+ }
549
+ }
550
+ } : () => true;
551
+ }
552
+ function toEndVisit(visitFunction) {
553
+ return visitFunction ? () => {
554
+ if (suppressedCallbacks > 0) {
555
+ suppressedCallbacks--;
556
+ }
557
+ if (suppressedCallbacks === 0) {
558
+ visitFunction(_scanner.getTokenOffset(), _scanner.getTokenLength(), _scanner.getTokenStartLine(), _scanner.getTokenStartCharacter());
559
+ }
560
+ } : () => true;
561
+ }
562
+ const onObjectBegin = toBeginVisit(visitor.onObjectBegin), onObjectProperty = toOneArgVisitWithPath(visitor.onObjectProperty), onObjectEnd = toEndVisit(visitor.onObjectEnd), onArrayBegin = toBeginVisit(visitor.onArrayBegin), onArrayEnd = toEndVisit(visitor.onArrayEnd), onLiteralValue = toOneArgVisitWithPath(visitor.onLiteralValue), onSeparator = toOneArgVisit(visitor.onSeparator), onComment = toNoArgVisit(visitor.onComment), onError = toOneArgVisit(visitor.onError);
563
+ const disallowComments = options && options.disallowComments;
564
+ const allowTrailingComma = options && options.allowTrailingComma;
565
+ function scanNext() {
566
+ while (true) {
567
+ const token = _scanner.scan();
568
+ switch (_scanner.getTokenError()) {
569
+ case 4:
570
+ handleError(14);
571
+ break;
572
+ case 5:
573
+ handleError(15);
574
+ break;
575
+ case 3:
576
+ handleError(13);
577
+ break;
578
+ case 1:
579
+ if (!disallowComments) {
580
+ handleError(11);
581
+ }
582
+ break;
583
+ case 2:
584
+ handleError(12);
585
+ break;
586
+ case 6:
587
+ handleError(16);
588
+ break;
589
+ }
590
+ switch (token) {
591
+ case 12:
592
+ case 13:
593
+ if (disallowComments) {
594
+ handleError(10);
595
+ } else {
596
+ onComment();
597
+ }
598
+ break;
599
+ case 16:
600
+ handleError(1);
601
+ break;
602
+ case 15:
603
+ case 14:
604
+ break;
605
+ default:
606
+ return token;
607
+ }
608
+ }
609
+ }
610
+ function handleError(error, skipUntilAfter = [], skipUntil = []) {
611
+ onError(error);
612
+ if (skipUntilAfter.length + skipUntil.length > 0) {
613
+ let token = _scanner.getToken();
614
+ while (token !== 17) {
615
+ if (skipUntilAfter.indexOf(token) !== -1) {
616
+ scanNext();
617
+ break;
618
+ } else if (skipUntil.indexOf(token) !== -1) {
619
+ break;
620
+ }
621
+ token = scanNext();
622
+ }
623
+ }
624
+ }
625
+ function parseString(isValue) {
626
+ const value = _scanner.getTokenValue();
627
+ if (isValue) {
628
+ onLiteralValue(value);
629
+ } else {
630
+ onObjectProperty(value);
631
+ _jsonPath.push(value);
632
+ }
633
+ scanNext();
634
+ return true;
635
+ }
636
+ function parseLiteral() {
637
+ switch (_scanner.getToken()) {
638
+ case 11:
639
+ const tokenValue = _scanner.getTokenValue();
640
+ let value = Number(tokenValue);
641
+ if (isNaN(value)) {
642
+ handleError(2);
643
+ value = 0;
644
+ }
645
+ onLiteralValue(value);
646
+ break;
647
+ case 7:
648
+ onLiteralValue(null);
649
+ break;
650
+ case 8:
651
+ onLiteralValue(true);
652
+ break;
653
+ case 9:
654
+ onLiteralValue(false);
655
+ break;
656
+ default:
657
+ return false;
658
+ }
659
+ scanNext();
660
+ return true;
661
+ }
662
+ function parseProperty() {
663
+ if (_scanner.getToken() !== 10) {
664
+ handleError(3, [], [2, 5]);
665
+ return false;
666
+ }
667
+ parseString(false);
668
+ if (_scanner.getToken() === 6) {
669
+ onSeparator(":");
670
+ scanNext();
671
+ if (!parseValue()) {
672
+ handleError(4, [], [2, 5]);
673
+ }
674
+ } else {
675
+ handleError(5, [], [2, 5]);
676
+ }
677
+ _jsonPath.pop();
678
+ return true;
679
+ }
680
+ function parseObject() {
681
+ onObjectBegin();
682
+ scanNext();
683
+ let needsComma = false;
684
+ while (_scanner.getToken() !== 2 && _scanner.getToken() !== 17) {
685
+ if (_scanner.getToken() === 5) {
686
+ if (!needsComma) {
687
+ handleError(4, [], []);
688
+ }
689
+ onSeparator(",");
690
+ scanNext();
691
+ if (_scanner.getToken() === 2 && allowTrailingComma) {
692
+ break;
693
+ }
694
+ } else if (needsComma) {
695
+ handleError(6, [], []);
696
+ }
697
+ if (!parseProperty()) {
698
+ handleError(4, [], [2, 5]);
699
+ }
700
+ needsComma = true;
701
+ }
702
+ onObjectEnd();
703
+ if (_scanner.getToken() !== 2) {
704
+ handleError(7, [2], []);
705
+ } else {
706
+ scanNext();
707
+ }
708
+ return true;
709
+ }
710
+ function parseArray() {
711
+ onArrayBegin();
712
+ scanNext();
713
+ let isFirstElement = true;
714
+ let needsComma = false;
715
+ while (_scanner.getToken() !== 4 && _scanner.getToken() !== 17) {
716
+ if (_scanner.getToken() === 5) {
717
+ if (!needsComma) {
718
+ handleError(4, [], []);
719
+ }
720
+ onSeparator(",");
721
+ scanNext();
722
+ if (_scanner.getToken() === 4 && allowTrailingComma) {
723
+ break;
724
+ }
725
+ } else if (needsComma) {
726
+ handleError(6, [], []);
727
+ }
728
+ if (isFirstElement) {
729
+ _jsonPath.push(0);
730
+ isFirstElement = false;
731
+ } else {
732
+ _jsonPath[_jsonPath.length - 1]++;
733
+ }
734
+ if (!parseValue()) {
735
+ handleError(4, [], [4, 5]);
736
+ }
737
+ needsComma = true;
738
+ }
739
+ onArrayEnd();
740
+ if (!isFirstElement) {
741
+ _jsonPath.pop();
742
+ }
743
+ if (_scanner.getToken() !== 4) {
744
+ handleError(8, [4], []);
745
+ } else {
746
+ scanNext();
747
+ }
748
+ return true;
749
+ }
750
+ function parseValue() {
751
+ switch (_scanner.getToken()) {
752
+ case 3:
753
+ return parseArray();
754
+ case 1:
755
+ return parseObject();
756
+ case 10:
757
+ return parseString(true);
758
+ default:
759
+ return parseLiteral();
760
+ }
761
+ }
762
+ scanNext();
763
+ if (_scanner.getToken() === 17) {
764
+ if (options.allowEmptyContent) {
765
+ return true;
766
+ }
767
+ handleError(4, [], []);
768
+ return false;
769
+ }
770
+ if (!parseValue()) {
771
+ handleError(4, [], []);
772
+ return false;
773
+ }
774
+ if (_scanner.getToken() !== 17) {
775
+ handleError(9, [], []);
776
+ }
777
+ return true;
778
+ }
779
+
780
+ // ../../../node_modules/.bun/jsonc-parser@3.3.1/node_modules/jsonc-parser/lib/esm/main.js
781
+ var ScanError;
782
+ (function(ScanError2) {
783
+ ScanError2[ScanError2["None"] = 0] = "None";
784
+ ScanError2[ScanError2["UnexpectedEndOfComment"] = 1] = "UnexpectedEndOfComment";
785
+ ScanError2[ScanError2["UnexpectedEndOfString"] = 2] = "UnexpectedEndOfString";
786
+ ScanError2[ScanError2["UnexpectedEndOfNumber"] = 3] = "UnexpectedEndOfNumber";
787
+ ScanError2[ScanError2["InvalidUnicode"] = 4] = "InvalidUnicode";
788
+ ScanError2[ScanError2["InvalidEscapeCharacter"] = 5] = "InvalidEscapeCharacter";
789
+ ScanError2[ScanError2["InvalidCharacter"] = 6] = "InvalidCharacter";
790
+ })(ScanError || (ScanError = {}));
791
+ var SyntaxKind;
792
+ (function(SyntaxKind2) {
793
+ SyntaxKind2[SyntaxKind2["OpenBraceToken"] = 1] = "OpenBraceToken";
794
+ SyntaxKind2[SyntaxKind2["CloseBraceToken"] = 2] = "CloseBraceToken";
795
+ SyntaxKind2[SyntaxKind2["OpenBracketToken"] = 3] = "OpenBracketToken";
796
+ SyntaxKind2[SyntaxKind2["CloseBracketToken"] = 4] = "CloseBracketToken";
797
+ SyntaxKind2[SyntaxKind2["CommaToken"] = 5] = "CommaToken";
798
+ SyntaxKind2[SyntaxKind2["ColonToken"] = 6] = "ColonToken";
799
+ SyntaxKind2[SyntaxKind2["NullKeyword"] = 7] = "NullKeyword";
800
+ SyntaxKind2[SyntaxKind2["TrueKeyword"] = 8] = "TrueKeyword";
801
+ SyntaxKind2[SyntaxKind2["FalseKeyword"] = 9] = "FalseKeyword";
802
+ SyntaxKind2[SyntaxKind2["StringLiteral"] = 10] = "StringLiteral";
803
+ SyntaxKind2[SyntaxKind2["NumericLiteral"] = 11] = "NumericLiteral";
804
+ SyntaxKind2[SyntaxKind2["LineCommentTrivia"] = 12] = "LineCommentTrivia";
805
+ SyntaxKind2[SyntaxKind2["BlockCommentTrivia"] = 13] = "BlockCommentTrivia";
806
+ SyntaxKind2[SyntaxKind2["LineBreakTrivia"] = 14] = "LineBreakTrivia";
807
+ SyntaxKind2[SyntaxKind2["Trivia"] = 15] = "Trivia";
808
+ SyntaxKind2[SyntaxKind2["Unknown"] = 16] = "Unknown";
809
+ SyntaxKind2[SyntaxKind2["EOF"] = 17] = "EOF";
810
+ })(SyntaxKind || (SyntaxKind = {}));
811
+ var parse2 = parse;
812
+ var ParseErrorCode;
813
+ (function(ParseErrorCode2) {
814
+ ParseErrorCode2[ParseErrorCode2["InvalidSymbol"] = 1] = "InvalidSymbol";
815
+ ParseErrorCode2[ParseErrorCode2["InvalidNumberFormat"] = 2] = "InvalidNumberFormat";
816
+ ParseErrorCode2[ParseErrorCode2["PropertyNameExpected"] = 3] = "PropertyNameExpected";
817
+ ParseErrorCode2[ParseErrorCode2["ValueExpected"] = 4] = "ValueExpected";
818
+ ParseErrorCode2[ParseErrorCode2["ColonExpected"] = 5] = "ColonExpected";
819
+ ParseErrorCode2[ParseErrorCode2["CommaExpected"] = 6] = "CommaExpected";
820
+ ParseErrorCode2[ParseErrorCode2["CloseBraceExpected"] = 7] = "CloseBraceExpected";
821
+ ParseErrorCode2[ParseErrorCode2["CloseBracketExpected"] = 8] = "CloseBracketExpected";
822
+ ParseErrorCode2[ParseErrorCode2["EndOfFileExpected"] = 9] = "EndOfFileExpected";
823
+ ParseErrorCode2[ParseErrorCode2["InvalidCommentToken"] = 10] = "InvalidCommentToken";
824
+ ParseErrorCode2[ParseErrorCode2["UnexpectedEndOfComment"] = 11] = "UnexpectedEndOfComment";
825
+ ParseErrorCode2[ParseErrorCode2["UnexpectedEndOfString"] = 12] = "UnexpectedEndOfString";
826
+ ParseErrorCode2[ParseErrorCode2["UnexpectedEndOfNumber"] = 13] = "UnexpectedEndOfNumber";
827
+ ParseErrorCode2[ParseErrorCode2["InvalidUnicode"] = 14] = "InvalidUnicode";
828
+ ParseErrorCode2[ParseErrorCode2["InvalidEscapeCharacter"] = 15] = "InvalidEscapeCharacter";
829
+ ParseErrorCode2[ParseErrorCode2["InvalidCharacter"] = 16] = "InvalidCharacter";
830
+ })(ParseErrorCode || (ParseErrorCode = {}));
831
+ function printParseErrorCode(code) {
832
+ switch (code) {
833
+ case 1:
834
+ return "InvalidSymbol";
835
+ case 2:
836
+ return "InvalidNumberFormat";
837
+ case 3:
838
+ return "PropertyNameExpected";
839
+ case 4:
840
+ return "ValueExpected";
841
+ case 5:
842
+ return "ColonExpected";
843
+ case 6:
844
+ return "CommaExpected";
845
+ case 7:
846
+ return "CloseBraceExpected";
847
+ case 8:
848
+ return "CloseBracketExpected";
849
+ case 9:
850
+ return "EndOfFileExpected";
851
+ case 10:
852
+ return "InvalidCommentToken";
853
+ case 11:
854
+ return "UnexpectedEndOfComment";
855
+ case 12:
856
+ return "UnexpectedEndOfString";
857
+ case 13:
858
+ return "UnexpectedEndOfNumber";
859
+ case 14:
860
+ return "InvalidUnicode";
861
+ case 15:
862
+ return "InvalidEscapeCharacter";
863
+ case 16:
864
+ return "InvalidCharacter";
865
+ }
866
+ return "<unknown ParseErrorCode>";
867
+ }
868
+
869
+ // ../../utils/src/jsonc-parser.ts
870
+ var pluginConfigFileDetectionCache = new Map;
871
+ function stripBom(content) {
872
+ return content.charCodeAt(0) === 65279 ? content.slice(1) : content;
873
+ }
874
+ function parseJsoncSafe(content) {
875
+ const errors = [];
876
+ const data = parse2(stripBom(content), errors, {
877
+ allowTrailingComma: true,
878
+ disallowComments: false
879
+ });
880
+ return {
881
+ data: errors.length > 0 ? null : data,
882
+ errors: errors.map((e) => ({
883
+ message: printParseErrorCode(e.error),
884
+ offset: e.offset,
885
+ length: e.length
886
+ }))
887
+ };
888
+ }
889
+
890
+ // ../../utils/src/omo-config.ts
891
+ var HARNESS_IDS = ["codex", "opencode", "omo"];
892
+ var SETTING_HARNESS_SUPPORT = {
893
+ "codegraph.auto_provision": HARNESS_IDS,
894
+ "codegraph.enabled": HARNESS_IDS,
895
+ "codegraph.install_dir": HARNESS_IDS,
896
+ "codegraph.telemetry": HARNESS_IDS,
897
+ "codegraph.watch_debounce_ms": ["opencode", "omo"]
898
+ };
899
+
900
+ // ../../utils/src/omo-config/env-overrides.ts
901
+ var CODEGRAPH_ENV_KEYS = [
902
+ ["auto_provision", "AUTO_PROVISION", "boolean"],
903
+ ["enabled", "ENABLED", "boolean"],
904
+ ["install_dir", "INSTALL_DIR", "string"],
905
+ ["telemetry", "TELEMETRY", "boolean"],
906
+ ["watch_debounce_ms", "WATCH_DEBOUNCE_MS", "number"]
907
+ ];
908
+ function parseBooleanEnv(value) {
909
+ const normalized = value.trim().toLowerCase();
910
+ if (["1", "true", "yes", "on"].includes(normalized))
911
+ return true;
912
+ if (["0", "false", "no", "off"].includes(normalized))
913
+ return false;
914
+ return null;
915
+ }
916
+ function parseEnvValue(value, kind) {
917
+ if (kind === "boolean")
918
+ return parseBooleanEnv(value);
919
+ if (kind === "number") {
920
+ const parsed = Number(value);
921
+ return Number.isFinite(parsed) && parsed >= 0 ? parsed : null;
922
+ }
923
+ return value;
924
+ }
925
+ function setCodegraphSetting(config, key, value) {
926
+ switch (key) {
927
+ case "auto_provision":
928
+ if (typeof value === "boolean")
929
+ config.auto_provision = value;
930
+ return;
931
+ case "enabled":
932
+ if (typeof value === "boolean")
933
+ config.enabled = value;
934
+ return;
935
+ case "install_dir":
936
+ if (typeof value === "string")
937
+ config.install_dir = value;
938
+ return;
939
+ case "telemetry":
940
+ if (typeof value === "boolean")
941
+ config.telemetry = value;
942
+ return;
943
+ case "watch_debounce_ms":
944
+ if (typeof value === "number")
945
+ config.watch_debounce_ms = value;
946
+ return;
947
+ }
948
+ }
949
+ function buildEnvOverrides(harness, env, warnings, merge) {
950
+ let config = {};
951
+ for (const prefix of ["OMO", harness.toUpperCase()]) {
952
+ const codegraph = {};
953
+ for (const [settingKey, envSuffix, kind] of CODEGRAPH_ENV_KEYS) {
954
+ const envKey = `${prefix}_CODEGRAPH_${envSuffix}`;
955
+ const rawValue = env[envKey];
956
+ if (rawValue === undefined)
957
+ continue;
958
+ const parsed = parseEnvValue(rawValue, kind);
959
+ if (parsed === null) {
960
+ warnings.push(`${envKey} has invalid ${kind} value "${rawValue}"`);
961
+ continue;
962
+ }
963
+ setCodegraphSetting(codegraph, settingKey, parsed);
964
+ }
965
+ if (Object.keys(codegraph).length > 0) {
966
+ config = merge(config, { codegraph });
967
+ }
968
+ }
969
+ return config;
970
+ }
971
+
972
+ // ../../utils/src/omo-config/resolve.ts
973
+ import { existsSync } from "node:fs";
974
+ import { dirname, isAbsolute, join, relative, resolve } from "node:path";
975
+ function containsPath(parent, child) {
976
+ const pathToChild = relative(parent, child);
977
+ return pathToChild === "" || !pathToChild.startsWith("..") && !isAbsolute(pathToChild);
978
+ }
979
+ function findProjectConfigPathsNearestFirst(cwd, homeDir) {
980
+ const startDir = resolve(cwd);
981
+ const stopBeforeDir = containsPath(resolve(homeDir), startDir) ? resolve(homeDir) : null;
982
+ const paths = [];
983
+ let currentDir = startDir;
984
+ while (true) {
985
+ if (stopBeforeDir !== null && currentDir === stopBeforeDir)
986
+ break;
987
+ const configPath = join(currentDir, ".omo", "config.jsonc");
988
+ if (existsSync(configPath)) {
989
+ paths.push(configPath);
990
+ }
991
+ const parentDir = dirname(currentDir);
992
+ if (parentDir === currentDir)
993
+ break;
994
+ currentDir = parentDir;
995
+ }
996
+ return paths;
997
+ }
998
+ function resolveOmoConfigPaths(options) {
999
+ const globalPath = join(resolve(options.homeDir), ".omo", "config.jsonc");
1000
+ const projectPathsFarthestFirst = findProjectConfigPathsNearestFirst(options.cwd, options.homeDir).reverse();
1001
+ return [
1002
+ { path: globalPath, scope: "global" },
1003
+ ...projectPathsFarthestFirst.map((path) => ({ path, scope: "project" }))
1004
+ ];
1005
+ }
1006
+ function toMissingSource(candidate) {
1007
+ return {
1008
+ exists: false,
1009
+ loaded: false,
1010
+ path: candidate.path,
1011
+ scope: candidate.scope
1012
+ };
1013
+ }
1014
+
1015
+ // ../../utils/src/omo-config/loader.ts
1016
+ var BUILT_IN_DEFAULTS = {
1017
+ codegraph: {
1018
+ auto_provision: true,
1019
+ enabled: true,
1020
+ telemetry: false
1021
+ }
1022
+ };
1023
+ var HARNESS_BLOCK_KEYS = HARNESS_IDS.map((harness) => `[${harness}]`);
1024
+ var CODEGRAPH_SETTING_KEYS = [
1025
+ "auto_provision",
1026
+ "enabled",
1027
+ "install_dir",
1028
+ "telemetry",
1029
+ "watch_debounce_ms"
1030
+ ];
1031
+ function isRecord(value) {
1032
+ return isPlainObject(value);
1033
+ }
1034
+ function hasOwn(record, key) {
1035
+ return Object.prototype.hasOwnProperty.call(record, key);
1036
+ }
1037
+ function isCodegraphSettingKey(key) {
1038
+ return CODEGRAPH_SETTING_KEYS.some((candidate) => candidate === key);
1039
+ }
1040
+ function mergeValues(base, override) {
1041
+ if (override === undefined)
1042
+ return base;
1043
+ if (Array.isArray(base) && Array.isArray(override)) {
1044
+ return [...new Set([...base, ...override])];
1045
+ }
1046
+ if (isPlainObject(base) && isPlainObject(override)) {
1047
+ const result = { ...base };
1048
+ for (const [key, value] of Object.entries(override)) {
1049
+ if (isUnsafeObjectKey(key))
1050
+ continue;
1051
+ result[key] = mergeValues(result[key], value);
1052
+ }
1053
+ return result;
1054
+ }
1055
+ return override;
1056
+ }
1057
+ function mergeCodegraphConfig(base, override) {
1058
+ const merged = mergeValues(base, override);
1059
+ if (!isRecord(merged))
1060
+ return;
1061
+ const codegraph = {};
1062
+ for (const key of CODEGRAPH_SETTING_KEYS) {
1063
+ if (!hasOwn(merged, key))
1064
+ continue;
1065
+ setCodegraphSetting2(codegraph, key, merged[key]);
1066
+ }
1067
+ return Object.keys(codegraph).length > 0 ? codegraph : undefined;
1068
+ }
1069
+ function mergeOmoConfig(base, override) {
1070
+ const codegraph = mergeCodegraphConfig(base.codegraph, override.codegraph);
1071
+ return {
1072
+ ...codegraph === undefined ? {} : { codegraph }
1073
+ };
1074
+ }
1075
+ function isHarnessBlockKey(key) {
1076
+ return key.startsWith("[") && key.endsWith("]");
1077
+ }
1078
+ function isKnownHarnessBlockKey(key) {
1079
+ return HARNESS_BLOCK_KEYS.includes(key);
1080
+ }
1081
+ function validateCodegraphValue(key, value) {
1082
+ if (key === "install_dir")
1083
+ return typeof value === "string" ? null : "must be a string";
1084
+ if (key === "watch_debounce_ms") {
1085
+ return typeof value === "number" && Number.isFinite(value) && value >= 0 ? null : "must be a non-negative finite number";
1086
+ }
1087
+ return typeof value === "boolean" ? null : "must be a boolean";
1088
+ }
1089
+ function setCodegraphSetting2(config, key, value) {
1090
+ switch (key) {
1091
+ case "auto_provision":
1092
+ if (typeof value === "boolean")
1093
+ config.auto_provision = value;
1094
+ return;
1095
+ case "enabled":
1096
+ if (typeof value === "boolean")
1097
+ config.enabled = value;
1098
+ return;
1099
+ case "install_dir":
1100
+ if (typeof value === "string")
1101
+ config.install_dir = value;
1102
+ return;
1103
+ case "telemetry":
1104
+ if (typeof value === "boolean")
1105
+ config.telemetry = value;
1106
+ return;
1107
+ case "watch_debounce_ms":
1108
+ if (typeof value === "number")
1109
+ config.watch_debounce_ms = value;
1110
+ return;
1111
+ }
1112
+ }
1113
+ function normalizeCodegraphSection(section, pathPrefix, warnings) {
1114
+ if (!isRecord(section)) {
1115
+ warnings.push(`${pathPrefix} must be an object`);
1116
+ return {};
1117
+ }
1118
+ const codegraph = {};
1119
+ for (const [key, value] of Object.entries(section)) {
1120
+ if (!isCodegraphSettingKey(key)) {
1121
+ warnings.push(`${pathPrefix}.${key} is not a supported setting`);
1122
+ continue;
1123
+ }
1124
+ const error = validateCodegraphValue(key, value);
1125
+ if (error !== null) {
1126
+ warnings.push(`${pathPrefix}.${key} ${error}`);
1127
+ continue;
1128
+ }
1129
+ setCodegraphSetting2(codegraph, key, value);
1130
+ }
1131
+ return codegraph;
1132
+ }
1133
+ function normalizeConfigBody(value, pathPrefix, warnings) {
1134
+ if (!isRecord(value)) {
1135
+ warnings.push(`${pathPrefix} must be an object`);
1136
+ return {};
1137
+ }
1138
+ const config = {};
1139
+ for (const [key, section] of Object.entries(value)) {
1140
+ if (key === "codegraph") {
1141
+ config.codegraph = normalizeCodegraphSection(section, `${pathPrefix}.codegraph`, warnings);
1142
+ continue;
1143
+ }
1144
+ if (isHarnessBlockKey(key)) {
1145
+ if (!isKnownHarnessBlockKey(key)) {
1146
+ warnings.push(`Unknown harness override block "${key}"`);
1147
+ }
1148
+ continue;
1149
+ }
1150
+ warnings.push(`${pathPrefix}.${key} is not a supported setting`);
1151
+ }
1152
+ return config;
1153
+ }
1154
+ function normalizeActiveHarnessBlock(value, harness, pathPrefix, warnings) {
1155
+ if (!isRecord(value))
1156
+ return {};
1157
+ const blockKey = `[${harness}]`;
1158
+ if (!hasOwn(value, blockKey))
1159
+ return {};
1160
+ return normalizeConfigBody(value[blockKey], `${pathPrefix}.${blockKey}`, warnings);
1161
+ }
1162
+ function loadConfigFile(path, harness) {
1163
+ try {
1164
+ const content = readFileSync(path, "utf-8");
1165
+ const parsed = parseJsoncSafe(content);
1166
+ if (parsed.errors.length > 0) {
1167
+ return {
1168
+ config: {},
1169
+ loaded: false,
1170
+ warnings: parsed.errors.map((error) => `JSONC parse error in ${path}: ${error.message} at offset ${error.offset}`)
1171
+ };
1172
+ }
1173
+ const warnings = [];
1174
+ const baseConfig = normalizeConfigBody(parsed.data, "config", warnings);
1175
+ const harnessConfig = normalizeActiveHarnessBlock(parsed.data, harness, "config", warnings);
1176
+ return {
1177
+ config: mergeOmoConfig(baseConfig, harnessConfig),
1178
+ loaded: true,
1179
+ warnings
1180
+ };
1181
+ } catch (error) {
1182
+ const message = error instanceof Error ? error.message : String(error);
1183
+ return {
1184
+ config: {},
1185
+ loaded: false,
1186
+ warnings: [`Failed to read ${path}: ${message}`]
1187
+ };
1188
+ }
1189
+ }
1190
+ function validateHarnessApplicability(config, harness) {
1191
+ const warnings = [];
1192
+ const codegraph = config.codegraph;
1193
+ if (codegraph === undefined)
1194
+ return warnings;
1195
+ for (const key of Object.keys(codegraph)) {
1196
+ if (!isCodegraphSettingKey(key))
1197
+ continue;
1198
+ const settingPath = `codegraph.${key}`;
1199
+ const supportedHarnesses = SETTING_HARNESS_SUPPORT[settingPath];
1200
+ if (supportedHarnesses === undefined)
1201
+ continue;
1202
+ if (!supportedHarnesses.includes(harness)) {
1203
+ warnings.push(`${settingPath} is not supported for harness ${harness}`);
1204
+ }
1205
+ }
1206
+ return warnings;
1207
+ }
1208
+ function loadOmoConfig(options) {
1209
+ const cwd = options.cwd ?? process.cwd();
1210
+ const homeDir = options.homeDir ?? process.env["HOME"] ?? process.env["USERPROFILE"] ?? homedir();
1211
+ const env = options.env ?? process.env;
1212
+ let config = BUILT_IN_DEFAULTS;
1213
+ const sources = [];
1214
+ const warnings = [];
1215
+ for (const candidate of resolveOmoConfigPaths({ cwd, homeDir })) {
1216
+ if (!existsSync2(candidate.path)) {
1217
+ if (candidate.scope === "global") {
1218
+ sources.push(toMissingSource(candidate));
1219
+ }
1220
+ continue;
1221
+ }
1222
+ const result = loadConfigFile(candidate.path, options.harness);
1223
+ sources.push({
1224
+ exists: true,
1225
+ loaded: result.loaded,
1226
+ path: candidate.path,
1227
+ scope: candidate.scope
1228
+ });
1229
+ warnings.push(...result.warnings);
1230
+ config = mergeOmoConfig(config, result.config);
1231
+ }
1232
+ const envOverrides = buildEnvOverrides(options.harness, env, warnings, mergeOmoConfig);
1233
+ config = mergeOmoConfig(config, envOverrides);
1234
+ warnings.push(...validateHarnessApplicability(config, options.harness));
1235
+ return { config, sources, warnings };
1236
+ }
1237
+
1238
+ // shared/src/config-loader.ts
1239
+ function getCodexOmoConfig(options = {}) {
1240
+ const result = loadOmoConfig({
1241
+ ...options.cwd === undefined ? {} : { cwd: options.cwd },
1242
+ ...options.env === undefined ? {} : { env: options.env },
1243
+ ...options.homeDir === undefined ? {} : { homeDir: options.homeDir },
1244
+ harness: "codex"
1245
+ });
1246
+ return {
1247
+ ...result.config,
1248
+ sources: result.sources,
1249
+ warnings: result.warnings
1250
+ };
1251
+ }
1252
+
1253
+ // components/codegraph/src/session-start-worker.ts
1254
+ import { execFile as execFile2 } from "node:child_process";
1255
+ import { appendFileSync as appendFileSync2, existsSync as existsSync6, mkdirSync as mkdirSync2 } from "node:fs";
1256
+ import { homedir as homedir6 } from "node:os";
1257
+ import { extname, join as join7 } from "node:path";
1258
+ import { cwd as processCwd, env as processEnv, stderr as processStderr } from "node:process";
1259
+
1260
+ // ../../utils/src/codegraph/env.ts
1261
+ import { homedir as homedir2 } from "node:os";
1262
+ import { join as join2 } from "node:path";
1263
+ var CODEGRAPH_INSTALL_DIR_ENV = "CODEGRAPH_INSTALL_DIR";
1264
+ var CODEGRAPH_NO_DOWNLOAD_ENV = "CODEGRAPH_NO_DOWNLOAD";
1265
+ var CODEGRAPH_TELEMETRY_ENV = "CODEGRAPH_TELEMETRY";
1266
+ var DO_NOT_TRACK_ENV = "DO_NOT_TRACK";
1267
+ function buildCodegraphEnv(options = {}) {
1268
+ const homeDir = options.homeDir ?? homedir2();
1269
+ return {
1270
+ [CODEGRAPH_INSTALL_DIR_ENV]: join2(homeDir, ".omo", "codegraph"),
1271
+ [CODEGRAPH_NO_DOWNLOAD_ENV]: "1",
1272
+ [CODEGRAPH_TELEMETRY_ENV]: "0",
1273
+ [DO_NOT_TRACK_ENV]: "1"
1274
+ };
1275
+ }
1276
+
1277
+ // ../../utils/src/codegraph/node-support.ts
1278
+ var CODEGRAPH_MIN_NODE_MAJOR = 20;
1279
+ var CODEGRAPH_BLOCKED_NODE_MAJOR = 25;
1280
+ var CODEGRAPH_UNSAFE_NODE_ENV = "CODEGRAPH_ALLOW_UNSAFE_NODE";
1281
+ var CODEGRAPH_NODE_BIN_ENV = "CODEGRAPH_NODE_BIN";
1282
+ function evaluateCodegraphNodeSupport(options = {}) {
1283
+ const nodeVersion = options.nodeVersion ?? process.versions.node;
1284
+ const env = options.env ?? process.env;
1285
+ const override = (env[CODEGRAPH_UNSAFE_NODE_ENV]?.trim().length ?? 0) > 0;
1286
+ const major = parseNodeMajor(nodeVersion);
1287
+ if (major >= CODEGRAPH_BLOCKED_NODE_MAJOR) {
1288
+ return { major, override, reason: "too-new", supported: override };
1289
+ }
1290
+ if (major < CODEGRAPH_MIN_NODE_MAJOR) {
1291
+ return { major, override, reason: "too-old", supported: override };
1292
+ }
1293
+ return { major, override, supported: true };
1294
+ }
1295
+ function buildCodegraphNodeSkipHint(support) {
1296
+ const detail = support.reason === "too-new" ? `Node ${support.major} is unsupported (>= ${CODEGRAPH_BLOCKED_NODE_MAJOR} crashes CodeGraph mid-indexing)` : `Node ${support.major} is too old (CodeGraph requires >= ${CODEGRAPH_MIN_NODE_MAJOR})`;
1297
+ return `CodeGraph MCP skipped: ${detail}. Use Node ${CODEGRAPH_MIN_NODE_MAJOR}-${CODEGRAPH_BLOCKED_NODE_MAJOR - 1} (e.g. Node 22 LTS) or set ${CODEGRAPH_UNSAFE_NODE_ENV}=1 to override.
1298
+ `;
1299
+ }
1300
+ function parseNodeMajor(version) {
1301
+ const normalized = version.startsWith("v") ? version.slice(1) : version;
1302
+ const major = Number.parseInt(normalized.split(".")[0] ?? "", 10);
1303
+ return Number.isNaN(major) ? 0 : major;
1304
+ }
1305
+
1306
+ // ../../utils/src/codegraph/provision.ts
1307
+ import { createHash, randomUUID } from "node:crypto";
1308
+ import { execFile } from "node:child_process";
1309
+ import { chmod, mkdir, readdir, readFile, rename, rm, rmdir, stat, writeFile } from "node:fs/promises";
1310
+ import { existsSync as existsSync3 } from "node:fs";
1311
+ import { homedir as homedir3, hostname } from "node:os";
1312
+ import { basename, join as join3 } from "node:path";
1313
+ import { promisify } from "node:util";
1314
+
1315
+ // ../../utils/src/codegraph/manifest.ts
1316
+ var CODEGRAPH_PROVISION_MANIFEST = {
1317
+ assets: {
1318
+ "darwin-arm64": {
1319
+ executableName: "codegraph",
1320
+ sha256: "95bb27bf6382b69659e158e0c04d71cc394778951e1317d582be7807e7866908",
1321
+ url: "https://github.com/colbymchenry/codegraph/releases/download/v1.0.1/codegraph-darwin-arm64.tar.gz"
1322
+ },
1323
+ "darwin-x64": {
1324
+ executableName: "codegraph",
1325
+ sha256: "3311cc1d1f0f0ad742709b6a43d8a9187b1ef0af0dd30e0b58008dc673e29478",
1326
+ url: "https://github.com/colbymchenry/codegraph/releases/download/v1.0.1/codegraph-darwin-x64.tar.gz"
1327
+ },
1328
+ "linux-arm64": {
1329
+ executableName: "codegraph",
1330
+ sha256: "e16f612bc96c2ebccd04574cbed500c9939147c80666ad6bb024398dff7992ae",
1331
+ url: "https://github.com/colbymchenry/codegraph/releases/download/v1.0.1/codegraph-linux-arm64.tar.gz"
1332
+ },
1333
+ "linux-x64": {
1334
+ executableName: "codegraph",
1335
+ sha256: "d45a068f44596a85c7ba7d0ef924eaf7103fbbf3cafbeb668127daff60a52228",
1336
+ url: "https://github.com/colbymchenry/codegraph/releases/download/v1.0.1/codegraph-linux-x64.tar.gz"
1337
+ },
1338
+ "win32-arm64": {
1339
+ executableName: "codegraph.cmd",
1340
+ sha256: "8d57ced73b24d35f758f2ede2318e80e1d7241987f37a999e3d80edb6fddf961",
1341
+ url: "https://registry.npmjs.org/@colbymchenry/codegraph-win32-arm64/-/codegraph-win32-arm64-1.0.1.tgz"
1342
+ },
1343
+ "win32-x64": {
1344
+ executableName: "codegraph.cmd",
1345
+ sha256: "52607fe73b05e741fd1087da2ceca9d3c8f565e36bf1a7070600bdbdf3931e32",
1346
+ url: "https://registry.npmjs.org/@colbymchenry/codegraph-win32-x64/-/codegraph-win32-x64-1.0.1.tgz"
1347
+ }
1348
+ },
1349
+ version: "1.0.1"
1350
+ };
1351
+
1352
+ // ../../utils/src/codegraph/provision.ts
1353
+ var DEFAULT_LOCK_WAIT_MS = 5000;
1354
+ var DEFAULT_LOCK_STALE_MS = 120000;
1355
+ var DEFAULT_DOWNLOAD_TIMEOUT_MS = 60000;
1356
+ var execFileAsync = promisify(execFile);
1357
+ function platformKey() {
1358
+ return `${process.platform}-${process.arch}`;
1359
+ }
1360
+ function markerPath(installDir, version) {
1361
+ return join3(installDir, ".provisioned", `codegraph-${version}.json`);
1362
+ }
1363
+ function defaultInstallDir() {
1364
+ return join3(homedir3(), ".omo", "codegraph");
1365
+ }
1366
+ function sha256(bytes) {
1367
+ return createHash("sha256").update(bytes).digest("hex");
1368
+ }
1369
+ function isErrnoException(error) {
1370
+ return error instanceof Error && "code" in error;
1371
+ }
1372
+ async function removeEmptyDirectory(path) {
1373
+ try {
1374
+ await rmdir(path);
1375
+ } catch (error) {
1376
+ if (isErrnoException(error) && error.code === "ENOENT")
1377
+ return;
1378
+ if (isErrnoException(error) && error.code === "ENOTEMPTY")
1379
+ return;
1380
+ throw error;
1381
+ }
1382
+ }
1383
+ function sleep(ms) {
1384
+ return new Promise((resolve2) => setTimeout(resolve2, ms));
1385
+ }
1386
+ async function defaultDownloader(asset, timeoutMs = DEFAULT_DOWNLOAD_TIMEOUT_MS) {
1387
+ const response = await fetch(asset.url, { signal: AbortSignal.timeout(timeoutMs) });
1388
+ if (!response.ok)
1389
+ throw new Error(`download failed with HTTP ${response.status}`);
1390
+ return new Uint8Array(await response.arrayBuffer());
1391
+ }
1392
+ function forcedBadChecksumOptions(options) {
1393
+ if (options.forceBadChecksum !== true)
1394
+ return null;
1395
+ const key = options.platformKey ?? platformKey();
1396
+ return {
1397
+ downloader: async () => new TextEncoder().encode("checksum mismatch"),
1398
+ installDir: options.installDir ?? join3(options.lockDir, "codegraph-force-bad-checksum"),
1399
+ manifest: {
1400
+ assets: {
1401
+ [key]: { executableName: process.platform === "win32" ? "codegraph.cmd" : "codegraph", sha256: "0000", url: "memory://bad" }
1402
+ },
1403
+ version: options.version
1404
+ },
1405
+ platformKey: key
1406
+ };
1407
+ }
1408
+ async function readMarker(path) {
1409
+ if (!existsSync3(path))
1410
+ return null;
1411
+ try {
1412
+ const raw = JSON.parse(await readFile(path, "utf8"));
1413
+ if (typeof raw === "object" && raw !== null && "binPath" in raw) {
1414
+ const value = raw.binPath;
1415
+ return typeof value === "string" && existsSync3(value) ? value : null;
1416
+ }
1417
+ return null;
1418
+ } catch (error) {
1419
+ if (error instanceof Error)
1420
+ return null;
1421
+ throw error;
1422
+ }
1423
+ }
1424
+ async function acquireLock(lockPath, waitMs, staleMs) {
1425
+ const startedAt = Date.now();
1426
+ await mkdir(join3(lockPath, ".."), { recursive: true });
1427
+ while (Date.now() - startedAt <= waitMs) {
1428
+ try {
1429
+ await mkdir(lockPath);
1430
+ return () => rm(lockPath, { force: true, recursive: true });
1431
+ } catch (error) {
1432
+ if (!isErrnoException(error) || error.code !== "EEXIST")
1433
+ throw error;
1434
+ const lockStat = await stat(lockPath).catch(() => null);
1435
+ if (lockStat !== null && Date.now() - lockStat.mtimeMs > staleMs) {
1436
+ await rm(lockPath, { force: true, recursive: true });
1437
+ continue;
1438
+ }
1439
+ await sleep(25);
1440
+ }
1441
+ }
1442
+ return null;
1443
+ }
1444
+ async function extractTarGz(archivePath, destinationDir) {
1445
+ await execFileAsync("tar", ["-xzf", archivePath, "-C", destinationDir]);
1446
+ }
1447
+ async function installExtractedBundle(extractDir, installDir, executableName) {
1448
+ const roots = await readdir(extractDir);
1449
+ if (roots.length !== 1)
1450
+ throw new Error(`CodeGraph archive should contain one root directory, found ${roots.length}`);
1451
+ const bundleDir = join3(extractDir, roots[0] ?? "");
1452
+ const bundleEntries = await readdir(bundleDir);
1453
+ await mkdir(installDir, { recursive: true });
1454
+ for (const entry of bundleEntries) {
1455
+ await rm(join3(installDir, entry), { force: true, recursive: true });
1456
+ await rename(join3(bundleDir, entry), join3(installDir, entry));
1457
+ }
1458
+ const destination = join3(installDir, "bin", executableName);
1459
+ if (!existsSync3(destination))
1460
+ throw new Error(`CodeGraph archive did not contain bin/${executableName}`);
1461
+ await chmod(destination, 493);
1462
+ return destination;
1463
+ }
1464
+ async function installAsset(layout) {
1465
+ const { asset, downloader, installDir, version } = layout;
1466
+ const stagingDir = join3(installDir, ".staging", randomUUID());
1467
+ const archivePath = join3(stagingDir, basename(asset.url));
1468
+ const extractDir = join3(stagingDir, "extract");
1469
+ try {
1470
+ await mkdir(extractDir, { recursive: true });
1471
+ const bytes = await downloader(asset);
1472
+ const actualChecksum = sha256(bytes);
1473
+ if (actualChecksum !== asset.sha256) {
1474
+ throw new Error(`checksum mismatch for ${basename(asset.url)}: expected ${asset.sha256}, got ${actualChecksum}`);
1475
+ }
1476
+ if (!asset.url.endsWith(".tar.gz") && !asset.url.endsWith(".tgz")) {
1477
+ throw new Error(`unsupported CodeGraph archive type for ${basename(asset.url)}`);
1478
+ }
1479
+ await writeFile(archivePath, bytes);
1480
+ await extractTarGz(archivePath, extractDir);
1481
+ const destination = await installExtractedBundle(extractDir, installDir, asset.executableName);
1482
+ await mkdir(join3(installDir, ".provisioned"), { recursive: true });
1483
+ await writeFile(markerPath(installDir, version), `${JSON.stringify({ binPath: destination, version })}
1484
+ `);
1485
+ return destination;
1486
+ } finally {
1487
+ await rm(stagingDir, { force: true, recursive: true });
1488
+ await removeEmptyDirectory(join3(installDir, ".staging"));
1489
+ }
1490
+ }
1491
+ async function ensureCodegraphProvisioned(options) {
1492
+ const forced = forcedBadChecksumOptions(options);
1493
+ const installDir = forced?.installDir ?? options.installDir ?? defaultInstallDir();
1494
+ const manifest = forced?.manifest ?? options.manifest ?? CODEGRAPH_PROVISION_MANIFEST;
1495
+ const activePlatformKey = forced?.platformKey ?? options.platformKey ?? platformKey();
1496
+ const downloader = forced?.downloader ?? options.downloader ?? ((asset) => defaultDownloader(asset, options.downloadTimeoutMs));
1497
+ const marker = markerPath(installDir, options.version);
1498
+ const existing = await readMarker(marker);
1499
+ if (existing !== null)
1500
+ return { binPath: existing, provisioned: true };
1501
+ const lockPath = join3(options.lockDir, `codegraph-${hostname()}.lock`);
1502
+ const release = await acquireLock(lockPath, options.lockWaitMs ?? DEFAULT_LOCK_WAIT_MS, options.lockStaleMs ?? DEFAULT_LOCK_STALE_MS);
1503
+ if (release === null)
1504
+ return { error: "timed out waiting for codegraph provisioning lock", provisioned: false };
1505
+ try {
1506
+ const lockedExisting = await readMarker(marker);
1507
+ if (lockedExisting !== null)
1508
+ return { binPath: lockedExisting, provisioned: true };
1509
+ if (manifest.version !== options.version) {
1510
+ return { error: `manifest version ${manifest.version} does not match requested ${options.version}`, provisioned: false };
1511
+ }
1512
+ const asset = manifest.assets[activePlatformKey];
1513
+ if (asset === undefined) {
1514
+ return { error: `no CodeGraph ${options.version} asset for ${activePlatformKey}`, provisioned: false };
1515
+ }
1516
+ const binPath = await installAsset({ asset, downloader, installDir, version: options.version });
1517
+ return { binPath, provisioned: true };
1518
+ } catch (error) {
1519
+ return { error: error instanceof Error ? error.message : String(error), provisioned: false };
1520
+ } finally {
1521
+ await release();
1522
+ }
1523
+ }
1524
+
1525
+ // ../../utils/src/codegraph/resolve.ts
1526
+ import { existsSync as existsSync4 } from "node:fs";
1527
+ import { homedir as homedir4 } from "node:os";
1528
+ import { spawnSync } from "node:child_process";
1529
+ import { basename as basename2, dirname as dirname2, join as join5 } from "node:path";
1530
+ import { createRequire } from "node:module";
1531
+
1532
+ // ../../utils/src/runtime/which.ts
1533
+ import { accessSync, constants } from "node:fs";
1534
+ import { delimiter, join as join4 } from "node:path";
1535
+ var runtime = globalThis;
1536
+ function isUnsafeCommandName(commandName) {
1537
+ if (commandName.includes("/") || commandName.includes("\\"))
1538
+ return true;
1539
+ if (commandName === "." || commandName === ".." || commandName.includes(".."))
1540
+ return true;
1541
+ if (/^[a-zA-Z]:/.test(commandName))
1542
+ return true;
1543
+ if (commandName.includes("\x00"))
1544
+ return true;
1545
+ return false;
1546
+ }
1547
+ function isExecutable(filePath) {
1548
+ try {
1549
+ accessSync(filePath, process.platform === "win32" ? constants.F_OK : constants.X_OK);
1550
+ return true;
1551
+ } catch (error) {
1552
+ if (!(error instanceof Error) && Object.prototype.toString.call(error) !== "[object Error]") {
1553
+ throw error;
1554
+ }
1555
+ return false;
1556
+ }
1557
+ }
1558
+ function resolvePathValue() {
1559
+ if (process.platform === "win32")
1560
+ return process.env["Path"] ?? process.env["PATH"];
1561
+ return process.env["PATH"];
1562
+ }
1563
+ function getWindowsCandidates(commandName) {
1564
+ if (process.platform !== "win32")
1565
+ return [commandName];
1566
+ if (/\.[^\\/]+$/.test(commandName))
1567
+ return [commandName];
1568
+ return [commandName, `${commandName}.exe`, `${commandName}.cmd`, `${commandName}.bat`, `${commandName}.com`];
1569
+ }
1570
+ function bunWhich(commandName) {
1571
+ if (!commandName)
1572
+ return null;
1573
+ if (isUnsafeCommandName(commandName))
1574
+ return null;
1575
+ const candidateNames = getWindowsCandidates(commandName);
1576
+ for (const candidateName of candidateNames) {
1577
+ const resolvedPath = runtime.Bun?.which(candidateName) ?? null;
1578
+ if (resolvedPath !== null)
1579
+ return resolvedPath;
1580
+ }
1581
+ const pathValue = resolvePathValue();
1582
+ if (!pathValue)
1583
+ return null;
1584
+ const pathEntries = pathValue.split(delimiter).filter((pathEntry) => pathEntry.length > 0);
1585
+ if (pathEntries.length === 0)
1586
+ return null;
1587
+ for (const pathEntry of pathEntries) {
1588
+ for (const candidateName of candidateNames) {
1589
+ const candidatePath = join4(pathEntry, candidateName);
1590
+ if (isExecutable(candidatePath))
1591
+ return candidatePath;
1592
+ }
1593
+ }
1594
+ return null;
1595
+ }
1596
+
1597
+ // ../../utils/src/codegraph/resolve.ts
1598
+ var CODEGRAPH_PACKAGE = "@colbymchenry/codegraph";
1599
+ var CODEGRAPH_ENV_BIN = "OMO_CODEGRAPH_BIN";
1600
+ var CODEGRAPH_LEGACY_ENV_BIN = "CODEGRAPH_BIN";
1601
+ var CODEGRAPH_NODE_CANDIDATES = ["node24", "node22", "node20", "node"];
1602
+ var requireFromHere = createRequire(import.meta.url);
1603
+ function defaultRequireResolve(specifier) {
1604
+ return requireFromHere.resolve(specifier);
1605
+ }
1606
+ function defaultNodeVersion(nodePath) {
1607
+ if (nodePath === process.execPath && isNodeExecutableName(nodePath))
1608
+ return process.versions.node;
1609
+ try {
1610
+ const result = spawnSync(nodePath, ["--version"], {
1611
+ encoding: "utf8",
1612
+ timeout: 2000,
1613
+ windowsHide: true
1614
+ });
1615
+ if (result.error !== undefined || result.status !== 0)
1616
+ return null;
1617
+ const version = `${result.stdout}
1618
+ ${result.stderr}`.trim().split(/\s+/)[0];
1619
+ return version === undefined || version.length === 0 ? null : version;
1620
+ } catch (error) {
1621
+ if (error instanceof Error)
1622
+ return null;
1623
+ throw error;
1624
+ }
1625
+ }
1626
+ function isNodeExecutableName(filePath) {
1627
+ const executable = basename2(filePath).toLowerCase();
1628
+ return executable === "node" || executable === "node.exe" || /^node\d+(\.exe)?$/.test(executable);
1629
+ }
1630
+ function looksLikePath(command) {
1631
+ return command.includes("/") || command.includes("\\") || /^[a-zA-Z]:/.test(command);
1632
+ }
1633
+ function resolveConfiguredNodeRuntime(configured, fileExists, which) {
1634
+ if (looksLikePath(configured))
1635
+ return fileExists(configured) ? configured : null;
1636
+ return which(configured);
1637
+ }
1638
+ function supportsCodegraphNodeRuntime(nodePath, env, nodeVersion) {
1639
+ const version = nodeVersion(nodePath);
1640
+ if (version === null)
1641
+ return false;
1642
+ return evaluateCodegraphNodeSupport({ env, nodeVersion: version }).supported;
1643
+ }
1644
+ function defaultNodeRuntime(env, fileExists, which, nodeVersion) {
1645
+ const configured = env[CODEGRAPH_NODE_BIN_ENV]?.trim();
1646
+ if (configured !== undefined && configured.length > 0) {
1647
+ const resolved = resolveConfiguredNodeRuntime(configured, fileExists, which);
1648
+ return resolved !== null && supportsCodegraphNodeRuntime(resolved, env, nodeVersion) ? resolved : null;
1649
+ }
1650
+ const candidates = [
1651
+ ...isNodeExecutableName(process.execPath) ? [process.execPath] : [],
1652
+ ...CODEGRAPH_NODE_CANDIDATES.map((commandName) => which(commandName)).filter((candidate) => candidate !== null)
1653
+ ];
1654
+ const seen = new Set;
1655
+ for (const candidate of candidates) {
1656
+ if (seen.has(candidate))
1657
+ continue;
1658
+ seen.add(candidate);
1659
+ if (supportsCodegraphNodeRuntime(candidate, env, nodeVersion))
1660
+ return candidate;
1661
+ }
1662
+ return null;
1663
+ }
1664
+ function defaultProvisionedBin(homeDir, fileExists) {
1665
+ const binaryName = process.platform === "win32" ? "codegraph.cmd" : "codegraph";
1666
+ const candidates = [
1667
+ join5(homeDir, ".omo", "codegraph", "bin", binaryName),
1668
+ join5(homeDir, ".omo", "codegraph", "node-servers", "node_modules", ".bin", binaryName)
1669
+ ];
1670
+ return candidates.find((candidate) => fileExists(candidate)) ?? null;
1671
+ }
1672
+ function resolveBundledShim(requireResolve, fileExists) {
1673
+ try {
1674
+ const packageJson = requireResolve(`${CODEGRAPH_PACKAGE}/package.json`);
1675
+ const packageRoot = dirname2(packageJson);
1676
+ const candidates = [join5(packageRoot, "bin", "codegraph.js"), join5(packageRoot, "npm-shim.js")];
1677
+ return candidates.find((candidate) => fileExists(candidate)) ?? null;
1678
+ } catch (error) {
1679
+ if (error instanceof Error)
1680
+ return null;
1681
+ if (error === null || error === undefined)
1682
+ return null;
1683
+ if (typeof error === "object" || typeof error === "string" || typeof error === "number")
1684
+ return null;
1685
+ if (typeof error === "boolean" || typeof error === "bigint" || typeof error === "symbol")
1686
+ return null;
1687
+ return null;
1688
+ }
1689
+ }
1690
+ function resolveCodegraphCommand(options = {}) {
1691
+ const env = options.env ?? process.env;
1692
+ const fileExists = options.fileExists ?? existsSync4;
1693
+ const configuredBin = env[CODEGRAPH_ENV_BIN]?.trim() || env[CODEGRAPH_LEGACY_ENV_BIN]?.trim();
1694
+ if (configuredBin !== undefined && configuredBin.length > 0) {
1695
+ return { argsPrefix: [], command: configuredBin, exists: fileExists(configuredBin), source: "env" };
1696
+ }
1697
+ const which = options.which ?? bunWhich;
1698
+ const nodeRuntime = options.nodeRuntime ?? (() => defaultNodeRuntime(env, fileExists, which, options.nodeVersion ?? defaultNodeVersion));
1699
+ const bundled = resolveBundledShim(options.requireResolve ?? defaultRequireResolve, fileExists);
1700
+ const runtime2 = nodeRuntime();
1701
+ if (bundled !== null && runtime2 !== null) {
1702
+ return { argsPrefix: [bundled], command: runtime2, exists: true, source: "bundled" };
1703
+ }
1704
+ const provisioned = options.provisioned?.() ?? defaultProvisionedBin(options.homeDir ?? homedir4(), fileExists);
1705
+ if (provisioned !== null && fileExists(provisioned)) {
1706
+ return { argsPrefix: [], command: provisioned, exists: true, source: "provisioned" };
1707
+ }
1708
+ const pathCommand = which("codegraph");
1709
+ return {
1710
+ argsPrefix: [],
1711
+ command: pathCommand ?? "codegraph",
1712
+ exists: pathCommand !== null,
1713
+ source: "path"
1714
+ };
1715
+ }
1716
+
1717
+ // ../../utils/src/codegraph/workspace.ts
1718
+ import { createHash as createHash2 } from "node:crypto";
1719
+ import {
1720
+ appendFileSync,
1721
+ existsSync as existsSync5,
1722
+ lstatSync,
1723
+ mkdirSync,
1724
+ readFileSync as readFileSync2,
1725
+ readdirSync,
1726
+ realpathSync,
1727
+ rmSync,
1728
+ statSync,
1729
+ symlinkSync
1730
+ } from "node:fs";
1731
+ import { homedir as homedir5 } from "node:os";
1732
+ import { basename as basename3, join as join6, resolve as resolve2 } from "node:path";
1733
+ function sanitizeBase(value) {
1734
+ const sanitized = value.replace(/[^A-Za-z0-9._-]/g, "-").replace(/-+/g, "-");
1735
+ return sanitized.length > 0 ? sanitized : "workspace";
1736
+ }
1737
+ function codegraphDataRoot(homeDir) {
1738
+ return join6(homeDir, ".omo", "codegraph");
1739
+ }
1740
+ function workspaceStorageName(workspace) {
1741
+ const resolved = resolve2(workspace);
1742
+ const hash = createHash2("sha256").update(resolved).digest("hex").slice(0, 16);
1743
+ return `${sanitizeBase(basename3(resolved))}-${hash}`;
1744
+ }
1745
+ function fallbackResult(dataRoot, projectLink, reason) {
1746
+ return { dataDir: projectLink, dataRoot, linked: false, mode: "in-place-fallback", projectLink, reason };
1747
+ }
1748
+ function isSameFilesystem(workspace, dataRoot, override) {
1749
+ if (override !== undefined)
1750
+ return override;
1751
+ return statSync(workspace).dev === statSync(dataRoot).dev;
1752
+ }
1753
+ function ensureInPlaceFallback(projectLink) {
1754
+ if (!existsSync5(projectLink))
1755
+ mkdirSync(projectLink, { recursive: true });
1756
+ }
1757
+ function prepareCodegraphWorkspace(workspace, options = {}) {
1758
+ const resolvedWorkspace = resolve2(workspace);
1759
+ const dataRoot = codegraphDataRoot(options.homeDir ?? homedir5());
1760
+ const dataDir = join6(dataRoot, "projects", workspaceStorageName(resolvedWorkspace));
1761
+ const projectLink = join6(resolvedWorkspace, ".codegraph");
1762
+ try {
1763
+ mkdirSync(dataDir, { recursive: true });
1764
+ if (existsSync5(projectLink)) {
1765
+ const linkStat = lstatSync(projectLink);
1766
+ if (!linkStat.isSymbolicLink()) {
1767
+ return { dataDir: projectLink, dataRoot, linked: false, mode: "in-project", projectLink };
1768
+ }
1769
+ if (realpathSync(projectLink) === realpathSync(dataDir)) {
1770
+ return { dataDir, dataRoot, linked: true, mode: "global-linked", projectLink };
1771
+ }
1772
+ return fallbackResult(dataRoot, projectLink, "existing .codegraph symlink points outside OMO store");
1773
+ }
1774
+ if (!isSameFilesystem(resolvedWorkspace, dataRoot, options.sameFilesystem)) {
1775
+ ensureInPlaceFallback(projectLink);
1776
+ return fallbackResult(dataRoot, projectLink, "workspace and OMO store are on different filesystems");
1777
+ }
1778
+ const symlink = options.symlink ?? symlinkSync;
1779
+ symlink(dataDir, projectLink, (options.platform ?? process.platform) === "win32" ? "junction" : "dir");
1780
+ return { dataDir, dataRoot, linked: true, mode: "global-linked", projectLink };
1781
+ } catch (error) {
1782
+ const reason = error instanceof Error ? error.message : String(error);
1783
+ try {
1784
+ ensureInPlaceFallback(projectLink);
1785
+ } catch (fallbackError) {
1786
+ return fallbackResult(dataRoot, projectLink, `${reason}; fallback failed: ${String(fallbackError)}`);
1787
+ }
1788
+ return fallbackResult(dataRoot, projectLink, reason);
1789
+ }
1790
+ }
1791
+ function ensureCodegraphGitignored(workspace) {
1792
+ const gitDir = join6(workspace, ".git");
1793
+ if (!existsSync5(gitDir))
1794
+ return false;
1795
+ const excludePath = join6(gitDir, "info", "exclude");
1796
+ try {
1797
+ mkdirSync(join6(gitDir, "info"), { recursive: true });
1798
+ const existing = existsSync5(excludePath) ? readFileSync2(excludePath, "utf8") : "";
1799
+ if (existing.split(/\r?\n/).includes(".codegraph"))
1800
+ return true;
1801
+ appendFileSync(excludePath, `${existing.endsWith(`
1802
+ `) || existing.length === 0 ? "" : `
1803
+ `}.codegraph
1804
+ `);
1805
+ return true;
1806
+ } catch (error) {
1807
+ if (error instanceof Error)
1808
+ return false;
1809
+ throw error;
1810
+ }
1811
+ }
1812
+
1813
+ // components/codegraph/src/session-start-worker.ts
1814
+ var SESSION_START_CWD_ENV = "OMO_CODEGRAPH_SESSION_START_CWD";
1815
+ var CODEGRAPH_VERSION = "1.0.1";
1816
+ var COMMAND_TIMEOUT_MS = 60000;
1817
+ var WINDOWS_CMD_EXTENSIONS = new Set([".bat", ".cmd"]);
1818
+ var defaultDeps = {
1819
+ ensureGitignored: ensureCodegraphGitignored,
1820
+ ensureProvisioned: ensureCodegraphProvisioned,
1821
+ prepareWorkspace: prepareCodegraphWorkspace,
1822
+ resolveCommand: resolveCodegraphCommand,
1823
+ runCommand: runCodegraphCommand
1824
+ };
1825
+ async function runCodegraphSessionStartWorker(options = {}) {
1826
+ const env = options.env ?? processEnv;
1827
+ const homeDir = resolveHomeDir(env);
1828
+ const projectRoot = options.cwd ?? env[SESSION_START_CWD_ENV] ?? processCwd();
1829
+ const config = options.config ?? getCodexOmoConfig({ cwd: projectRoot, env, homeDir });
1830
+ const logOutcome = options.logOutcome ?? ((outcome) => appendOutcome(homeDir, outcome));
1831
+ if (config.codegraph?.enabled === false) {
1832
+ return finish("skipped-disabled", { projectRoot }, logOutcome);
1833
+ }
1834
+ const nodeSupport = evaluateCodegraphNodeSupport({ env, nodeVersion: options.nodeVersion });
1835
+ return runBootstrap(projectRoot, config.codegraph ?? {}, env, homeDir, nodeSupport, { ...defaultDeps, ...options.deps }, logOutcome);
1836
+ }
1837
+ async function runBootstrap(projectRoot, config, env, homeDir, nodeSupport, deps, logOutcome) {
1838
+ try {
1839
+ const command = await resolveOrProvisionCommand(deps, config, env, homeDir, nodeSupport);
1840
+ if (command.kind === "unavailable") {
1841
+ return finish("skipped-unavailable", { error: command.error, projectRoot, source: command.source }, logOutcome);
1842
+ }
1843
+ if (command.kind === "unsupported-node") {
1844
+ return finish("skipped-unsupported-node", { projectRoot }, logOutcome);
1845
+ }
1846
+ deps.prepareWorkspace(projectRoot, { homeDir });
1847
+ deps.ensureGitignored(projectRoot);
1848
+ const codegraphEnv = config.install_dir === undefined ? buildCodegraphEnv({ homeDir }) : { ...buildCodegraphEnv({ homeDir }), CODEGRAPH_INSTALL_DIR: config.install_dir };
1849
+ const status = await deps.runCommand(projectRoot, command.resolution.command, [...command.resolution.argsPrefix, "status", "--json"], { env: codegraphEnv, timeoutMs: COMMAND_TIMEOUT_MS });
1850
+ const decision = decideStartupAction(status);
1851
+ if (decision.kind === "skip")
1852
+ return finish("skipped-status", { error: decision.reason, projectRoot }, logOutcome);
1853
+ const actionArgs = command.resolution.argsPrefix.concat(decision.kind === "init" ? ["init"] : ["sync"]);
1854
+ const action = await deps.runCommand(projectRoot, command.resolution.command, actionArgs, { env: codegraphEnv, timeoutMs: COMMAND_TIMEOUT_MS });
1855
+ return finish(decision.kind === "init" ? "initialized" : "synced", { exitCode: action.exitCode, projectRoot, source: command.resolution.source, timedOut: action.timedOut }, logOutcome);
1856
+ } catch (error) {
1857
+ return finish("failed", { error: error instanceof Error ? error.message : String(error), projectRoot }, logOutcome);
1858
+ }
1859
+ }
1860
+ function finish(action, detail, logOutcome) {
1861
+ safeLogOutcome(logOutcome, { ...detail, action });
1862
+ return { action };
1863
+ }
1864
+ async function resolveOrProvisionCommand(deps, config, env, homeDir, nodeSupport) {
1865
+ const resolved = deps.resolveCommand({ env, homeDir, provisioned: () => provisionedBinFromInstallDir(config.install_dir) });
1866
+ if (resolved.exists) {
1867
+ if (resolved.source !== "bundled" && resolved.source !== "env" && !nodeSupport.supported) {
1868
+ return { kind: "unsupported-node" };
1869
+ }
1870
+ return { kind: "resolved", resolution: resolved };
1871
+ }
1872
+ if (!nodeSupport.supported)
1873
+ return { kind: "unsupported-node" };
1874
+ if (config.auto_provision === false)
1875
+ return { error: "codegraph binary unavailable and auto_provision is disabled", kind: "unavailable", source: resolved.source };
1876
+ const installDir = config.install_dir ?? join7(homeDir, ".omo", "codegraph");
1877
+ const provisioned = await deps.ensureProvisioned({ installDir, lockDir: join7(installDir, "locks"), version: CODEGRAPH_VERSION });
1878
+ if (!provisioned.provisioned || provisioned.binPath === undefined) {
1879
+ return { error: provisioned.error ?? "provisioning did not produce a binary", kind: "unavailable", source: resolved.source };
1880
+ }
1881
+ return { kind: "resolved", resolution: { argsPrefix: [], command: provisioned.binPath, exists: true, source: "provisioned" } };
1882
+ }
1883
+ function decideStartupAction(status) {
1884
+ if (status.timedOut)
1885
+ return { kind: "skip", reason: "status timed out" };
1886
+ const text = `${status.stdout}
1887
+ ${status.stderr ?? ""}`.toLowerCase();
1888
+ if (text.includes("not initialized") || text.includes("uninitialized"))
1889
+ return { kind: "init" };
1890
+ const initialized = jsonSaysInitialized(parseJson(status.stdout));
1891
+ if (initialized === false)
1892
+ return { kind: "init" };
1893
+ if (initialized === true)
1894
+ return { kind: "sync" };
1895
+ if (status.exitCode !== 0)
1896
+ return { kind: "skip", reason: `status exited ${status.exitCode}` };
1897
+ return { kind: "sync" };
1898
+ }
1899
+ function jsonSaysInitialized(value) {
1900
+ if (!isRecord2(value))
1901
+ return;
1902
+ const initialized = value["initialized"] ?? value["isInitialized"] ?? value["ready"];
1903
+ if (typeof initialized === "boolean")
1904
+ return initialized;
1905
+ const status = value["status"];
1906
+ if (typeof status !== "string")
1907
+ return;
1908
+ const normalized = status.toLowerCase();
1909
+ if (normalized.includes("not initialized") || normalized.includes("uninitialized"))
1910
+ return false;
1911
+ if (normalized.includes("initialized") || normalized.includes("ready"))
1912
+ return true;
1913
+ return;
1914
+ }
1915
+ async function runCodegraphCommand(projectRoot, command, args, options) {
1916
+ const invocation = resolveCodegraphCommandInvocation(command, args);
1917
+ return new Promise((resolvePromise) => {
1918
+ execFile2(invocation.command, [...invocation.args], { cwd: projectRoot, encoding: "utf8", env: { ...process.env, ...options.env }, maxBuffer: 1024 * 1024, timeout: options.timeoutMs, windowsHide: true }, (error, stdout, stderr) => {
1919
+ if (error === null) {
1920
+ resolvePromise({ exitCode: 0, stderr: toOutputText(stderr), stdout: toOutputText(stdout), timedOut: false });
1921
+ return;
1922
+ }
1923
+ resolvePromise({ exitCode: resolveExitCode(error), stderr: toOutputText(stderr), stdout: toOutputText(stdout), timedOut: error.killed === true });
1924
+ });
1925
+ });
1926
+ }
1927
+ function resolveCodegraphCommandInvocation(command, args, platform = process.platform) {
1928
+ if (platform !== "win32")
1929
+ return { args: [...args], command };
1930
+ if (!WINDOWS_CMD_EXTENSIONS.has(extname(command).toLowerCase()))
1931
+ return { args: [...args], command };
1932
+ return { args: ["/d", "/s", "/c", command, ...args], command: "cmd.exe" };
1933
+ }
1934
+ function appendOutcome(homeDir, outcome) {
1935
+ const logDir = join7(homeDir, ".omo", "codegraph");
1936
+ mkdirSync2(logDir, { recursive: true });
1937
+ appendFileSync2(join7(logDir, "session-start.jsonl"), `${JSON.stringify({ ...outcome, timestamp: new Date().toISOString() })}
1938
+ `);
1939
+ }
1940
+ function safeLogOutcome(logOutcome, outcome) {
1941
+ try {
1942
+ logOutcome(outcome);
1943
+ } catch (error) {
1944
+ if (error instanceof Error)
1945
+ processStderr.write(`[codegraph-session-start] failed to write outcome: ${error.message}
1946
+ `);
1947
+ else
1948
+ throw error;
1949
+ }
1950
+ }
1951
+ function provisionedBinFromInstallDir(installDir) {
1952
+ if (installDir === undefined)
1953
+ return null;
1954
+ const candidate = join7(installDir, "bin", process.platform === "win32" ? "codegraph.cmd" : "codegraph");
1955
+ return existsSync6(candidate) ? candidate : null;
1956
+ }
1957
+ function resolveExitCode(error) {
1958
+ if ("code" in error && typeof error.code === "number")
1959
+ return error.code;
1960
+ return 1;
1961
+ }
1962
+ function toOutputText(value) {
1963
+ return Buffer.isBuffer(value) ? value.toString("utf8") : value;
1964
+ }
1965
+ function resolveHomeDir(env) {
1966
+ return env["HOME"] ?? env["USERPROFILE"] ?? homedir6();
1967
+ }
1968
+ function parseJson(text) {
1969
+ try {
1970
+ return JSON.parse(text);
1971
+ } catch (error) {
1972
+ if (error instanceof SyntaxError)
1973
+ return;
1974
+ throw error;
1975
+ }
1976
+ }
1977
+ function isRecord2(value) {
1978
+ return typeof value === "object" && value !== null;
1979
+ }
1980
+
1981
+ // components/codegraph/src/hook.ts
1982
+ var CODEGRAPH_SESSION_START_NOTICE = "LazyCodex CodeGraph bootstrap scheduled in background";
1983
+ async function runCodegraphSessionStartHook(options = {}) {
1984
+ return (await executeCodegraphSessionStartHook(options)).exitCode;
1985
+ }
1986
+ async function executeCodegraphSessionStartHook(options = {}) {
1987
+ const env = options.env ?? processEnv2;
1988
+ const input = await readHookInput(options.stdin ?? processStdin);
1989
+ const projectRoot = resolveProjectRoot(input, options.cwd ?? processCwd2());
1990
+ const homeDir = resolveHomeDir2(env);
1991
+ const config = options.config ?? getCodexOmoConfig({ cwd: projectRoot, env, homeDir });
1992
+ if (config.codegraph?.enabled === false) {
1993
+ writeHookJson(options.stdout ?? processStdout, "skipped-disabled");
1994
+ return { action: "skipped-disabled", exitCode: 0 };
1995
+ }
1996
+ (options.spawnWorker ?? spawnDetachedWorker)({
1997
+ args: [options.workerCliPath ?? defaultWorkerCliPath(), "hook", "session-start-worker"],
1998
+ command: process.execPath,
1999
+ env: { ...env, [SESSION_START_CWD_ENV]: projectRoot }
2000
+ });
2001
+ writeHookJson(options.stdout ?? processStdout, "spawned");
2002
+ return { action: "spawned", exitCode: 0 };
2003
+ }
2004
+ function writeHookJson(stdout, action) {
2005
+ const output = action === "spawned" ? { hookSpecificOutput: { hookEventName: "SessionStart", additionalContext: CODEGRAPH_SESSION_START_NOTICE }, codegraph: { action } } : { hookSpecificOutput: { hookEventName: "SessionStart" }, codegraph: { action } };
2006
+ stdout.write(`${JSON.stringify(output)}
2007
+ `);
2008
+ }
2009
+ function spawnDetachedWorker(invocation) {
2010
+ const child = spawn(invocation.command, [...invocation.args], { detached: true, env: invocation.env, stdio: "ignore" });
2011
+ child.unref();
2012
+ }
2013
+ function resolveHomeDir2(env) {
2014
+ return env["HOME"] ?? env["USERPROFILE"] ?? homedir7();
2015
+ }
2016
+ function resolveProjectRoot(input, fallback) {
2017
+ if (!isRecord3(input))
2018
+ return fallback;
2019
+ const cwd = input["cwd"];
2020
+ return typeof cwd === "string" && cwd.trim().length > 0 ? cwd : fallback;
2021
+ }
2022
+ async function readHookInput(stdin) {
2023
+ if (stdin.isTTY === true)
2024
+ return;
2025
+ let text = "";
2026
+ for await (const chunk of stdin)
2027
+ text += typeof chunk === "string" ? chunk : String(chunk);
2028
+ if (text.trim().length === 0)
2029
+ return;
2030
+ return parseJson2(text);
2031
+ }
2032
+ function parseJson2(text) {
2033
+ try {
2034
+ return JSON.parse(text);
2035
+ } catch (error) {
2036
+ if (error instanceof SyntaxError)
2037
+ return;
2038
+ throw error;
2039
+ }
2040
+ }
2041
+ function isRecord3(value) {
2042
+ return typeof value === "object" && value !== null;
2043
+ }
2044
+ function defaultWorkerCliPath() {
2045
+ return fileURLToPath(import.meta.url);
2046
+ }
2047
+
2048
+ // components/codegraph/src/serve.ts
2049
+ import { spawn as spawn2 } from "node:child_process";
2050
+ import { existsSync as existsSync7, realpathSync as realpathSync2 } from "node:fs";
2051
+ import { homedir as homedir8 } from "node:os";
2052
+ import { basename as basename4, extname as extname2, join as join8, resolve as resolve3 } from "node:path";
2053
+ import {
2054
+ cwd as processCwd3,
2055
+ env as processEnv3,
2056
+ execPath as processExecPath,
2057
+ stderr as processStderr2
2058
+ } from "node:process";
2059
+ import { fileURLToPath as fileURLToPath2 } from "node:url";
2060
+ var CODEGRAPH_SKIP_HINT = `CodeGraph MCP skipped: codegraph binary not found. Install CodeGraph or set OMO_CODEGRAPH_BIN.
2061
+ `;
2062
+ var CODEGRAPH_DISABLED_HINT = `CodeGraph MCP skipped: disabled by OMO SOT config. Set [codex].codegraph.enabled=true to enable it.
2063
+ `;
2064
+ var WINDOWS_CMD_EXTENSIONS2 = new Set([".bat", ".cmd"]);
2065
+ var WINDOWS_NODE_SCRIPT_EXTENSIONS = new Set([".cjs", ".js", ".mjs"]);
2066
+ async function runCodegraphServe(options = {}) {
2067
+ const env = options.env ?? processEnv3;
2068
+ const homeDir = options.homeDir ?? homedir8();
2069
+ const config = options.config ?? getCodexOmoConfig({ cwd: options.cwd ?? processCwd3(), env, homeDir });
2070
+ const codegraphConfig = config.codegraph ?? {};
2071
+ if (codegraphConfig.enabled === false) {
2072
+ (options.stderr ?? processStderr2).write(CODEGRAPH_DISABLED_HINT);
2073
+ return 1;
2074
+ }
2075
+ const resolutionOptions = {
2076
+ env,
2077
+ homeDir,
2078
+ provisioned: () => provisionedBinFromInstallDir2(codegraphConfig.install_dir)
2079
+ };
2080
+ const resolution = options.resolve?.(resolutionOptions) ?? resolveCodegraphCommand(resolutionOptions);
2081
+ if (!resolution.exists || shouldSkipResolvedCommand(resolution, options.commandExists ?? existsSync7)) {
2082
+ (options.stderr ?? processStderr2).write(CODEGRAPH_SKIP_HINT);
2083
+ return 1;
2084
+ }
2085
+ const nodeSupport = evaluateCodegraphNodeSupport({ env, nodeVersion: options.nodeVersion });
2086
+ if (resolution.source !== "bundled" && resolution.source !== "env" && !nodeSupport.supported) {
2087
+ (options.stderr ?? processStderr2).write(buildCodegraphNodeSkipHint(nodeSupport));
2088
+ return 1;
2089
+ }
2090
+ const runProcess = options.runProcess ?? runChildProcess;
2091
+ const codegraphEnv = codegraphEnvForConfig(codegraphConfig, homeDir, options.buildEnv);
2092
+ const mergedEnv = {
2093
+ ...env,
2094
+ ...codegraphEnv
2095
+ };
2096
+ return runProcess(resolution.command, [...resolution.argsPrefix, "serve", "--mcp"], {
2097
+ env: mergedEnv,
2098
+ stdio: "inherit"
2099
+ });
2100
+ }
2101
+ function shouldSkipResolvedCommand(resolution, commandExists) {
2102
+ if (resolution.source !== "env")
2103
+ return false;
2104
+ if (!looksLikePath2(resolution.command))
2105
+ return false;
2106
+ return !commandExists(resolution.command);
2107
+ }
2108
+ function looksLikePath2(command) {
2109
+ return command.includes("/") || command.includes("\\");
2110
+ }
2111
+ function codegraphEnvForConfig(config, homeDir, buildEnv) {
2112
+ const env = buildEnv?.({ homeDir }) ?? buildCodegraphEnv({ homeDir });
2113
+ return config.install_dir === undefined ? env : { ...env, CODEGRAPH_INSTALL_DIR: config.install_dir };
2114
+ }
2115
+ function provisionedBinFromInstallDir2(installDir) {
2116
+ if (installDir === undefined)
2117
+ return null;
2118
+ const candidate = join8(installDir, "bin", process.platform === "win32" ? "codegraph.cmd" : "codegraph");
2119
+ return existsSync7(candidate) ? candidate : null;
2120
+ }
2121
+ async function runCodegraphServeCli() {
2122
+ process.exitCode = await runCodegraphServe();
2123
+ }
2124
+ async function runChildProcess(command, args, options) {
2125
+ const invocation = resolveServeProcessInvocation(command, args);
2126
+ const child = spawn2(invocation.command, invocation.args, { env: options.env, stdio: options.stdio });
2127
+ return new Promise((resolve4, reject) => {
2128
+ child.once("error", reject);
2129
+ child.once("exit", (code, signal) => {
2130
+ if (code !== null) {
2131
+ resolve4(code);
2132
+ return;
2133
+ }
2134
+ resolve4(signal === null ? 0 : 1);
2135
+ });
2136
+ });
2137
+ }
2138
+ function resolveServeProcessInvocation(command, args, platform = process.platform) {
2139
+ if (platform !== "win32")
2140
+ return { args: [...args], command };
2141
+ const extension = extname2(command).toLowerCase();
2142
+ if (WINDOWS_NODE_SCRIPT_EXTENSIONS.has(extension)) {
2143
+ return { args: [command, ...args], command: processExecPath };
2144
+ }
2145
+ if (WINDOWS_CMD_EXTENSIONS2.has(extension)) {
2146
+ return { args: ["/d", "/s", "/c", command, ...args], command: "cmd.exe" };
2147
+ }
2148
+ return { args: [...args], command };
2149
+ }
2150
+ if (isDirectInvocation(process.argv[1])) {
2151
+ runCodegraphServeCli().catch((error) => {
2152
+ processStderr2.write(`${error instanceof Error ? error.stack ?? error.message : String(error)}
2153
+ `);
2154
+ process.exitCode = 1;
2155
+ });
2156
+ }
2157
+ function isDirectInvocation(argvPath) {
2158
+ if (argvPath === undefined)
2159
+ return false;
2160
+ const modulePath = fileURLToPath2(import.meta.url);
2161
+ const moduleName = basename4(modulePath);
2162
+ if (moduleName !== "serve.js" && moduleName !== "serve.ts")
2163
+ return false;
2164
+ return realpathSync2(resolve3(argvPath)) === realpathSync2(modulePath);
2165
+ }
2166
+
2167
+ // components/codegraph/src/cli.ts
2168
+ async function runCodegraphCli(options = {}) {
2169
+ const argv = options.argv ?? process.argv;
2170
+ const command = argv[2];
2171
+ const subcommand = argv[3];
2172
+ if (command === "hook" && subcommand === "session-start") {
2173
+ return runCodegraphSessionStartHook(options);
2174
+ }
2175
+ if (command === "hook" && subcommand === "session-start-worker") {
2176
+ const workerOptions = {
2177
+ ...options.workerOptions,
2178
+ ...options.workerOptions?.cwd === undefined && options.cwd !== undefined ? { cwd: options.cwd } : {},
2179
+ ...options.workerOptions?.env === undefined && options.env !== undefined ? { env: options.env } : {}
2180
+ };
2181
+ await runCodegraphSessionStartWorker(workerOptions);
2182
+ return 0;
2183
+ }
2184
+ await runCodegraphServeCli();
2185
+ return process.exitCode === undefined ? 0 : Number(process.exitCode);
2186
+ }
2187
+ if (isDirectInvocation2(process.argv[1])) {
2188
+ runCodegraphCli().catch((error) => {
2189
+ processStderr3.write(`${error instanceof Error ? error.stack ?? error.message : String(error)}
2190
+ `);
2191
+ process.exitCode = 1;
2192
+ });
2193
+ }
2194
+ function isDirectInvocation2(argvPath) {
2195
+ if (argvPath === undefined)
2196
+ return false;
2197
+ const modulePath = fileURLToPath3(import.meta.url);
2198
+ const moduleName = basename5(modulePath);
2199
+ if (moduleName !== "cli.js" && moduleName !== "cli.ts")
2200
+ return false;
2201
+ return realpathSync3(resolve4(argvPath)) === realpathSync3(modulePath);
2202
+ }
2203
+ export {
2204
+ runCodegraphCli
2205
+ };