oh-my-opencode 5.0.0-beta.8 → 5.0.0-beta.80

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 (1229) hide show
  1. package/.agents/command/publish.md +59 -23
  2. package/.agents/command/remove-deadcode.md +1 -1
  3. package/.agents/skills/codex-qa/scripts/lsp-e2e.sh +1 -3
  4. package/.agents/skills/hyperplan/SKILL.md +5 -5
  5. package/.agents/skills/opencode-qa/scripts/lsp-e2e.sh +1 -1
  6. package/.agents/skills/pre-publish-review/SKILL.md +9 -12
  7. package/.agents/skills/publish/SKILL.md +59 -23
  8. package/.agents/skills/remove-deadcode/SKILL.md +1 -1
  9. package/.agents/skills/security-research/SKILL.md +4 -4
  10. package/.agents/skills/senpi-qa/SKILL.md +80 -0
  11. package/.agents/skills/senpi-qa/scripts/resolve-evidence-dir.mjs +65 -0
  12. package/.agents/skills/senpi-qa/scripts/resolve-evidence-dir.test.mjs +171 -0
  13. package/.agents/skills/tech-debt-audit/SKILL.md +6 -76
  14. package/.opencode/command/publish.md +59 -23
  15. package/.opencode/skills/pre-publish-review/SKILL.md +9 -12
  16. package/README.ja.md +66 -61
  17. package/README.ko.md +67 -62
  18. package/README.md +108 -182
  19. package/README.ru.md +63 -61
  20. package/README.zh-cn.md +62 -61
  21. package/THIRD-PARTY-NOTICES.md +35 -105
  22. package/dist/agents/atlas/agent.d.ts +0 -1
  23. package/dist/agents/gpt-prompt-identity.d.ts +1 -1
  24. package/dist/agents/sisyphus-runtime-prompt-reconciler.d.ts +15 -4
  25. package/dist/agents/types.d.ts +4 -2
  26. package/dist/cli/config-manager/parse-opencode-config-file.d.ts +2 -1
  27. package/dist/cli/doctor/checks/browser-provider.d.ts +2 -0
  28. package/dist/cli/doctor/checks/index.d.ts +2 -0
  29. package/dist/cli/doctor/checks/latest-version.d.ts +11 -0
  30. package/dist/cli/doctor/checks/system-plugin.d.ts +4 -3
  31. package/dist/cli/doctor/framework/constants.d.ts +5 -0
  32. package/dist/cli/doctor/framework/types.d.ts +2 -0
  33. package/dist/cli/fallback-lane-policy.d.ts +1 -0
  34. package/dist/cli/index.js +50191 -58043
  35. package/dist/cli/install-codex/install-codex-test-fixtures.d.ts +1 -1
  36. package/dist/cli/run/on-complete-hook.d.ts +2 -0
  37. package/dist/cli/runtime-commands.d.ts +1 -1
  38. package/dist/cli/worktree-sweep/classify.d.ts +16 -0
  39. package/dist/cli/worktree-sweep/format.d.ts +8 -0
  40. package/dist/cli/worktree-sweep/git.d.ts +19 -0
  41. package/dist/cli/worktree-sweep/index.d.ts +7 -0
  42. package/dist/cli/worktree-sweep/options.d.ts +2 -0
  43. package/dist/cli/worktree-sweep/parse-worktree-list.d.ts +8 -0
  44. package/dist/cli/worktree-sweep/sweep.d.ts +2 -0
  45. package/dist/cli/worktree-sweep/types.d.ts +65 -0
  46. package/dist/cli/worktree-sweep/worktree-sweep.d.ts +2 -0
  47. package/dist/cli-node/index.js +51708 -59537
  48. package/dist/config/index.d.ts +1 -1
  49. package/dist/config/schema/agent-names.d.ts +0 -1
  50. package/dist/config/schema/background-task.d.ts +1 -0
  51. package/dist/config/schema/browser-automation.d.ts +0 -2
  52. package/dist/config/schema/commands.d.ts +1 -1
  53. package/dist/config/schema/hooks.d.ts +1 -2
  54. package/dist/config/schema/oh-my-opencode-config.d.ts +5 -12
  55. package/dist/config/schema/ulw-execute.d.ts +5 -0
  56. package/dist/config/schema.d.ts +0 -1
  57. package/dist/config/validate.d.ts +2 -0
  58. package/dist/config-migration/category-deep-split.d.ts +3 -0
  59. package/dist/config-migration/migration-plans.d.ts +1 -0
  60. package/dist/create-hooks.d.ts +3 -2
  61. package/dist/features/background-agent/compaction-aware-message-resolver.d.ts +1 -0
  62. package/dist/features/background-agent/constants.d.ts +0 -7
  63. package/dist/features/background-agent/error-classifier.d.ts +1 -0
  64. package/dist/features/background-agent/manager.d.ts +9 -1
  65. package/dist/features/background-agent/parent-wake-dispatched-tracker.d.ts +0 -1
  66. package/dist/features/background-agent/parent-wake-notifier-types.d.ts +1 -1
  67. package/dist/features/background-agent/parent-wake-prompt-dispatch.d.ts +1 -1
  68. package/dist/features/background-agent/parent-wake-session-inspector.d.ts +1 -1
  69. package/dist/features/background-agent/subagent-spawn-limits.d.ts +8 -0
  70. package/dist/features/background-agent/types.d.ts +4 -0
  71. package/dist/features/boulder-state/storage.d.ts +1 -1
  72. package/dist/features/btw-side/btw-command-draft.d.ts +7 -0
  73. package/dist/features/btw-side/context-injector.d.ts +15 -0
  74. package/dist/features/btw-side/index.d.ts +8 -0
  75. package/dist/features/btw-side/metadata.d.ts +15 -0
  76. package/dist/features/btw-side/parent-context-budget.d.ts +9 -0
  77. package/dist/features/btw-side/server-session-registry.d.ts +8 -0
  78. package/dist/features/btw-side/tui-adoption-cache.d.ts +13 -0
  79. package/dist/features/btw-side/tui-adoption-guard.d.ts +5 -0
  80. package/dist/features/btw-side/tui-controller-types.d.ts +68 -0
  81. package/dist/features/btw-side/tui-controller.d.ts +19 -0
  82. package/dist/features/btw-side/tui-escape-return.d.ts +12 -0
  83. package/dist/features/btw-side/tui-keymap.d.ts +17 -0
  84. package/dist/features/btw-side/tui-parent-validator.d.ts +6 -0
  85. package/dist/features/btw-side/tui-picker-options.d.ts +20 -0
  86. package/dist/features/btw-side/tui-picker.d.ts +9 -0
  87. package/dist/features/btw-side/tui-prompt-queue.d.ts +8 -0
  88. package/dist/features/btw-side/tui-session-bridge.d.ts +11 -0
  89. package/dist/features/btw-side/tui-session-catalog.d.ts +35 -0
  90. package/dist/features/btw-side/tui-side-removal.d.ts +11 -0
  91. package/dist/features/btw-side/tui-side-start.d.ts +9 -0
  92. package/dist/features/btw-side/tui-wiring.d.ts +8 -0
  93. package/dist/features/builtin-commands/templates/hyperplan.d.ts +1 -1
  94. package/dist/features/builtin-commands/templates/refactor-sections/team-mode-addendum.d.ts +1 -1
  95. package/dist/features/builtin-commands/templates/remove-ai-slops.d.ts +1 -1
  96. package/dist/features/builtin-commands/templates/ulw-execute.d.ts +1 -0
  97. package/dist/features/builtin-commands/types.d.ts +1 -1
  98. package/dist/features/claude-tasks/storage.d.ts +7 -2
  99. package/dist/features/hook-message-injector/index.d.ts +1 -0
  100. package/dist/features/hook-message-injector/sdk-message-lookup.d.ts +1 -0
  101. package/dist/features/monitor/manager-internals.d.ts +1 -1
  102. package/dist/features/monitor/output-injector-types.d.ts +1 -1
  103. package/dist/features/opengateway-provider/index.d.ts +13 -0
  104. package/dist/features/task-toast-manager/manager.d.ts +0 -24
  105. package/dist/features/team-mode/tools/messaging-fallback-wake.d.ts +17 -0
  106. package/dist/features/team-mode/tools/messaging-live-delivery-recipient.d.ts +3 -0
  107. package/dist/features/team-mode/tools/messaging-runtime.d.ts +7 -0
  108. package/dist/hooks/anthropic-context-window-limit-recovery/message-storage-directory.d.ts +0 -3
  109. package/dist/hooks/anthropic-context-window-limit-recovery/state.d.ts +1 -0
  110. package/dist/hooks/anthropic-context-window-limit-recovery/storage/empty-messages.d.ts +0 -1
  111. package/dist/hooks/anthropic-context-window-limit-recovery/tool-result-storage.d.ts +11 -0
  112. package/dist/hooks/atlas/atlas-hook.d.ts +1 -0
  113. package/dist/hooks/atlas/atlas-lifecycle-store.d.ts +50 -0
  114. package/dist/hooks/atlas/event-handler.d.ts +1 -0
  115. package/dist/hooks/atlas/final-wave-approval-gate.test-support.d.ts +50 -0
  116. package/dist/hooks/atlas/system-reminder-templates.d.ts +0 -1
  117. package/dist/hooks/atlas/tool-execute-before.d.ts +3 -0
  118. package/dist/hooks/atlas/types.d.ts +1 -0
  119. package/dist/hooks/claude-code-hooks/session-hook-state.d.ts +1 -0
  120. package/dist/hooks/claude-code-hooks/stop.d.ts +2 -0
  121. package/dist/hooks/claude-code-hooks/todo.d.ts +0 -1
  122. package/dist/hooks/claude-code-hooks/transcript.d.ts +2 -0
  123. package/dist/hooks/comment-checker/__fixtures__/download-probe.fixture.d.ts +1 -0
  124. package/dist/hooks/compaction-context-injector/validated-model.d.ts +2 -0
  125. package/dist/hooks/fsync-skip-warning/index.d.ts +4 -0
  126. package/dist/hooks/hashline-edit-diff-enhancer/hook.d.ts +1 -0
  127. package/dist/hooks/hashline-edit-diff-enhancer/pending-captures.d.ts +13 -0
  128. package/dist/hooks/index.d.ts +1 -2
  129. package/dist/hooks/keyword-detector/hook.d.ts +9 -0
  130. package/dist/hooks/keyword-detector/ultrawork/index.d.ts +2 -0
  131. package/dist/hooks/keyword-detector/ultrawork/source-detector.d.ts +0 -1
  132. package/dist/hooks/model-fallback/hook.d.ts +1 -1
  133. package/dist/hooks/plan-format-validator/hook.d.ts +19 -0
  134. package/dist/hooks/prometheus-md-only/agent-resolution.d.ts +2 -2
  135. package/dist/hooks/runtime-fallback/chat-message-handler.d.ts +2 -0
  136. package/dist/hooks/runtime-fallback/retry-model-payload.d.ts +1 -0
  137. package/dist/hooks/runtime-fallback/runtime-model-settings.d.ts +6 -0
  138. package/dist/hooks/runtime-fallback/session-status-handler.d.ts +1 -1
  139. package/dist/hooks/runtime-fallback/types.d.ts +3 -1
  140. package/dist/hooks/sisyphus-junior-notepad/constants.d.ts +1 -1
  141. package/dist/hooks/todo-continuation-enforcer/types.d.ts +1 -0
  142. package/dist/hooks/{start-work → ulw-execute}/context-info-builder.d.ts +1 -1
  143. package/dist/hooks/{start-work → ulw-execute}/index.d.ts +1 -1
  144. package/dist/hooks/ulw-execute/ulw-execute-hook.d.ts +23 -0
  145. package/dist/hooks/unstable-agent-babysitter/task-message-analyzer.d.ts +1 -0
  146. package/dist/index.js +30870 -27341
  147. package/dist/mcp/index.d.ts +0 -4
  148. package/dist/mcp/types.d.ts +0 -1
  149. package/dist/oh-my-opencode.schema.json +25 -52
  150. package/dist/plugin/chat-message/types.d.ts +6 -4
  151. package/dist/plugin/chat-message/ulw-execute-message.d.ts +5 -0
  152. package/dist/plugin/event-session-lifecycle.d.ts +1 -0
  153. package/dist/plugin/hooks/create-core-hooks.d.ts +2 -2
  154. package/dist/plugin/hooks/create-session-hooks.d.ts +2 -3
  155. package/dist/plugin/hooks/create-transform-hooks.d.ts +2 -0
  156. package/dist/plugin/messages-transform.d.ts +1 -0
  157. package/dist/plugin/stop-continuation.d.ts +3 -0
  158. package/dist/plugin/system-transform.d.ts +5 -1
  159. package/dist/plugin-config/omo-config-chain.d.ts +1 -0
  160. package/dist/plugin-dispose.d.ts +3 -0
  161. package/dist/shared/agent-tool-restrictions.d.ts +0 -1
  162. package/dist/shared/compaction-agent-config-checkpoint.d.ts +1 -0
  163. package/dist/shared/index.d.ts +2 -0
  164. package/dist/shared/legacy-plugin-warning.d.ts +2 -1
  165. package/dist/shared/omo-process-sweep.d.ts +2 -4
  166. package/dist/shared/plugin-entry-migrator.d.ts +4 -3
  167. package/dist/shared/plugin-entry-shape.d.ts +6 -0
  168. package/dist/shared/runtime-fallback-retry-marker.d.ts +16 -0
  169. package/dist/shared/shell-env.d.ts +1 -1
  170. package/dist/skills/ast-grep/AGENTS.md +51 -0
  171. package/dist/skills/ast-grep/SKILL.md +13 -1
  172. package/dist/skills/coding-agent-sessions/AGENTS.md +62 -0
  173. package/dist/skills/coding-agent-sessions/SKILL.md +1 -1
  174. package/dist/skills/data-scientist/SKILL.md +99 -239
  175. package/dist/skills/data-scientist/references/execution-surfaces.md +91 -0
  176. package/dist/skills/data-scientist/references/placement.md +74 -0
  177. package/dist/skills/data-scientist/references/polars-lane.md +95 -0
  178. package/dist/skills/data-scientist/references/uv-setup.md +1 -1
  179. package/dist/skills/data-scientist/references/visualization.md +64 -0
  180. package/dist/skills/data-scientist/scripts/ensure-js-deps.sh +28 -0
  181. package/dist/skills/data-scientist/scripts/ensure-py-deps.sh +37 -0
  182. package/dist/skills/debugging/SKILL.md +3 -1
  183. package/dist/skills/debugging/references/methodology/00-setup.md +12 -0
  184. package/dist/skills/debugging/references/methodology/02-investigate.md +26 -5
  185. package/dist/skills/debugging/references/runtimes/go.md +15 -1
  186. package/dist/skills/debugging/references/runtimes/native-binary.md +38 -0
  187. package/dist/skills/debugging/references/runtimes/node.md +25 -0
  188. package/dist/skills/debugging/references/runtimes/python.md +13 -0
  189. package/dist/skills/debugging/references/runtimes/rust.md +41 -0
  190. package/dist/skills/debugging/references/scripts/dap.mjs +267 -0
  191. package/dist/skills/debugging/references/scripts/dap.test.ts +86 -0
  192. package/dist/skills/debugging/references/scripts/fixture-adapter.mjs +59 -0
  193. package/dist/skills/debugging/references/tools/dap.md +103 -0
  194. package/dist/skills/debugging/references/tools/frida.md +193 -0
  195. package/dist/skills/debugging/references/tools/playwright-cli.md +79 -161
  196. package/dist/skills/frontend/ATTRIBUTION.md +10 -0
  197. package/dist/skills/frontend/SKILL.md +7 -3
  198. package/dist/skills/frontend/references/design/README.md +10 -2
  199. package/dist/skills/frontend/references/design/_INDEX.md +1 -0
  200. package/dist/skills/frontend/references/design/ambience-skill.md +145 -0
  201. package/dist/skills/frontend/references/design/aside.md +1 -1
  202. package/dist/skills/frontend/references/design/clone-from-url.md +1 -1
  203. package/dist/skills/frontend/references/design/interaction-skill.md +2 -0
  204. package/dist/skills/frontend/references/design/print-paged-media.md +76 -0
  205. package/dist/skills/frontend/references/designpowers/README.md +1 -1
  206. package/dist/skills/frontend/references/designpowers/lane-a-direction.md +1 -1
  207. package/dist/skills/frontend/references/designpowers/lane-b-execution.md +11 -11
  208. package/dist/skills/frontend/references/designpowers/lane-d-memory.md +3 -3
  209. package/dist/skills/frontend/references/designpowers/orchestration.md +1 -1
  210. package/dist/skills/frontend/references/designpowers/routing.md +5 -5
  211. package/dist/skills/frontend/scripts/perfection/lighthouse-audit.py +2 -2
  212. package/dist/skills/git-master/SKILL.md +1 -1
  213. package/dist/skills/init-deep/SKILL.md +14 -14
  214. package/dist/skills/lsp-setup/SKILL.md +1 -1
  215. package/dist/skills/programming/SKILL.md +1 -1
  216. package/dist/skills/refactor/SKILL.md +5 -5
  217. package/dist/skills/remove-ai-slops/SKILL.md +5 -5
  218. package/dist/skills/review-work/SKILL.md +101 -419
  219. package/dist/skills/ultimate-browsing/ATTRIBUTION.md +32 -86
  220. package/dist/skills/ultimate-browsing/SKILL.md +32 -27
  221. package/dist/skills/ultimate-browsing/engine/AGENTS.md +111 -0
  222. package/dist/skills/ultimate-browsing/engine/templates/package.json +2 -2
  223. package/dist/skills/ultimate-browsing/engine/templates/playwright_mobile_chrome.js +5 -2
  224. package/dist/skills/ultimate-browsing/engine/templates/playwright_real_chrome.js +8 -6
  225. package/dist/skills/ultimate-browsing/engine/tests/test_playwright_stealth.py +86 -0
  226. package/dist/skills/ultimate-browsing/engine/tests/test_playwright_templates.py +4 -7
  227. package/dist/skills/ultimate-browsing/references/chrome-stealth.md +86 -95
  228. package/dist/skills/ultimate-browsing/references/insane-search/README.md +18 -5
  229. package/dist/skills/ultimate-browsing/references/insane-search/playwright.md +16 -13
  230. package/dist/skills/ultimate-browsing/scripts/extract_cookies.py +3 -3
  231. package/dist/skills/{start-work → ulw-execute}/SKILL.md +24 -22
  232. package/dist/skills/ulw-plan/SKILL.md +5 -6
  233. package/dist/skills/ulw-plan/references/full-workflow.md +6 -5
  234. package/dist/skills/ulw-plan/references/intent-unclear.md +2 -2
  235. package/dist/skills/ulw-plan/scripts/scaffold-plan.mjs +2 -1
  236. package/dist/skills/ulw-research/SKILL.md +10 -5
  237. package/dist/skills/visual-qa/AGENTS.md +58 -0
  238. package/dist/skills/visual-qa/SKILL.md +4 -3
  239. package/dist/skills/visual-qa/references/browser-setup.md +75 -0
  240. package/dist/tools/delegate-task/builtin-categories.d.ts +3 -1
  241. package/dist/tools/delegate-task/builtin-category-definition.d.ts +2 -1
  242. package/dist/tools/delegate-task/constants.d.ts +2 -2
  243. package/dist/tools/delegate-task/openai-categories.d.ts +10 -3
  244. package/dist/tools/delegate-task/sync-session-cleanup.d.ts +3 -0
  245. package/dist/tools/delegate-task/sync-session-poller.d.ts +1 -0
  246. package/dist/tools/delegate-task/tool-description.d.ts +3 -1
  247. package/dist/tools/delegate-task/types.d.ts +4 -0
  248. package/dist/tools/session-manager/directory-filter.d.ts +2 -0
  249. package/dist/tui.d.ts +12 -0
  250. package/dist/tui.js +37073 -46672
  251. package/package.json +44 -45
  252. package/packages/git-bash-mcp/dist/cli.js +6 -1
  253. package/packages/git-bash-mcp/package.json +1 -1
  254. package/packages/lsp-core/src/index.ts +1 -0
  255. package/packages/lsp-core/src/lsp/client-diagnostics-concurrency.integration.test.ts +9 -1
  256. package/packages/lsp-core/src/lsp/client-diagnostics-freshness.integration.test.ts +100 -28
  257. package/packages/lsp-core/src/lsp/client-diagnostics-pull-timeout.test.ts +64 -0
  258. package/packages/lsp-core/src/lsp/client-wrapper-outside-cwd.test.ts +78 -0
  259. package/packages/lsp-core/src/lsp/client-wrapper.test.ts +103 -6
  260. package/packages/lsp-core/src/lsp/client-wrapper.ts +50 -16
  261. package/packages/lsp-core/src/lsp/client.ts +32 -3
  262. package/packages/lsp-core/src/lsp/connection.ts +16 -0
  263. package/packages/lsp-core/src/lsp/constants.ts +6 -0
  264. package/packages/lsp-core/src/lsp/controlled-clock-test-support.ts +90 -0
  265. package/packages/lsp-core/src/lsp/errors.ts +15 -0
  266. package/packages/lsp-core/src/lsp/fixtures/workspace-edit-server.mjs +10 -3
  267. package/packages/lsp-core/src/lsp/format-document.test.ts +143 -0
  268. package/packages/lsp-core/src/lsp/format-document.ts +90 -0
  269. package/packages/lsp-core/src/lsp/json-rpc-connection.ts +11 -6
  270. package/packages/lsp-core/src/lsp/manager-lifecycle.test.ts +262 -0
  271. package/packages/lsp-core/src/lsp/manager-max-clients.test.ts +151 -0
  272. package/packages/lsp-core/src/lsp/manager.ts +138 -12
  273. package/packages/lsp-core/src/lsp/outside-context-workspace.ts +33 -0
  274. package/packages/lsp-core/src/lsp/server-definitions.ts +29 -0
  275. package/packages/lsp-core/src/lsp/server-installation.test.ts +376 -0
  276. package/packages/lsp-core/src/lsp/server-installation.ts +200 -27
  277. package/packages/lsp-core/src/lsp/server-resolution-local-binary.test.ts +170 -0
  278. package/packages/lsp-core/src/lsp/server-resolution.ts +18 -5
  279. package/packages/lsp-core/src/lsp/timer-provider.ts +13 -0
  280. package/packages/lsp-core/src/lsp/transport-request-timeout.test.ts +73 -0
  281. package/packages/lsp-core/src/lsp/transport.ts +16 -2
  282. package/packages/lsp-core/src/lsp/types.ts +8 -0
  283. package/packages/lsp-core/src/lsp/workspace-apply-edit-test-support.ts +29 -1
  284. package/packages/lsp-core/src/lsp/workspace-document-state.test.ts +84 -1
  285. package/packages/lsp-core/src/lsp/workspace-document-state.ts +35 -11
  286. package/packages/lsp-core/src/lsp/workspace-markers.ts +18 -0
  287. package/packages/lsp-core/src/mcp.ts +3 -0
  288. package/packages/lsp-core/src/request-context.test.ts +29 -0
  289. package/packages/lsp-core/src/request-context.ts +1 -1
  290. package/packages/lsp-core/src/tool-surface.test.ts +13 -1
  291. package/packages/lsp-core/src/tools/definitions.ts +14 -0
  292. package/packages/lsp-core/src/tools/format.test.ts +56 -0
  293. package/packages/lsp-core/src/tools/format.ts +56 -0
  294. package/packages/lsp-core/src/tools/index.ts +1 -0
  295. package/packages/lsp-core/src/tools/parameters.test.ts +51 -0
  296. package/packages/lsp-core/src/tools/types.ts +10 -0
  297. package/packages/lsp-daemon/dist/cli.js +904 -479
  298. package/packages/lsp-daemon/dist/client.d.ts +10 -0
  299. package/packages/lsp-daemon/dist/client.js +922 -493
  300. package/packages/lsp-daemon/dist/daemon-client.d.ts +1 -0
  301. package/packages/lsp-daemon/dist/daemon-client.js +3 -0
  302. package/packages/lsp-daemon/dist/ensure-daemon.d.ts +6 -1
  303. package/packages/lsp-daemon/dist/ensure-daemon.js +10 -2
  304. package/packages/lsp-daemon/dist/index.js +826 -402
  305. package/packages/lsp-daemon/dist/ownership.js +2 -2
  306. package/packages/lsp-daemon/dist/proxy.js +3 -0
  307. package/packages/lsp-daemon/dist/version-reap.js +1 -1
  308. package/packages/lsp-daemon/package.json +1 -1
  309. package/packages/lsp-tools-mcp/dist/cli.js +764 -341
  310. package/packages/lsp-tools-mcp/dist/lsp/manager.js +274 -138
  311. package/packages/lsp-tools-mcp/dist/mcp.js +789 -368
  312. package/packages/lsp-tools-mcp/dist/request-context.js +12 -13
  313. package/packages/lsp-tools-mcp/dist/tools.js +719 -302
  314. package/packages/lsp-tools-mcp/package.json +1 -1
  315. package/packages/omo-codex/THIRD-PARTY-NOTICES.md +4 -21
  316. package/packages/omo-codex/plugin/.codex-plugin/plugin.json +4 -6
  317. package/packages/omo-codex/plugin/.mcp.json +0 -6
  318. package/packages/omo-codex/plugin/AGENTS.md +47 -0
  319. package/packages/omo-codex/plugin/README.md +6 -2
  320. package/packages/omo-codex/plugin/components/bootstrap/dist/cli.js +7175 -408
  321. package/packages/omo-codex/plugin/components/bootstrap/hooks/hooks.json +1 -1
  322. package/packages/omo-codex/plugin/components/bootstrap/package.json +1 -1
  323. package/packages/omo-codex/plugin/components/bootstrap/src/hook.ts +1 -0
  324. package/packages/omo-codex/plugin/components/bootstrap/src/setup.ts +7 -1
  325. package/packages/omo-codex/plugin/components/comment-checker/AGENTS.md +9 -0
  326. package/packages/omo-codex/plugin/components/comment-checker/biome.json +2 -2
  327. package/packages/omo-codex/plugin/components/comment-checker/dist/cli.js +2 -1
  328. package/packages/omo-codex/plugin/components/comment-checker/hooks/hooks.json +1 -1
  329. package/packages/omo-codex/plugin/components/comment-checker/package.json +5 -5
  330. package/packages/omo-codex/plugin/components/comment-checker/src/apply-patch.ts +2 -8
  331. package/packages/omo-codex/plugin/components/comment-checker/src/core.ts +1 -2
  332. package/packages/omo-codex/plugin/components/comment-checker/src/request-extractor.ts +1 -1
  333. package/packages/omo-codex/plugin/components/comment-checker/src/runner.ts +1 -0
  334. package/packages/omo-codex/plugin/components/git-bash/AGENTS.md +1 -1
  335. package/packages/omo-codex/plugin/components/git-bash/dist/cli.js +1 -1
  336. package/packages/omo-codex/plugin/components/git-bash/dist/codex-hook.js +2 -1
  337. package/packages/omo-codex/plugin/components/git-bash/hooks/hooks.json +2 -2
  338. package/packages/omo-codex/plugin/components/git-bash/package.json +3 -4
  339. package/packages/omo-codex/plugin/components/git-bash/src/codex-hook.ts +2 -1
  340. package/packages/omo-codex/plugin/components/git-bash/test/codex-hook.test.ts +6 -7
  341. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/AGENTS.md +2 -2
  342. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/biome.json +2 -2
  343. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/directive.md +2 -0
  344. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/dist/cli.js +36 -29
  345. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/dist/codex-hook.js +32 -26
  346. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/dist/types.d.ts +3 -0
  347. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/hooks/hooks.json +1 -1
  348. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/package.json +5 -5
  349. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/src/codex-hook.ts +32 -28
  350. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/src/types.ts +3 -0
  351. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/test/cli.test.ts +1 -1
  352. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/test/codex-hook.test.ts +137 -28
  353. package/packages/omo-codex/plugin/components/lcx/skills/lcx-doctor/SKILL.md +4 -2
  354. package/packages/omo-codex/plugin/components/lsp/AGENTS.md +30 -15
  355. package/packages/omo-codex/plugin/components/lsp/biome.json +2 -2
  356. package/packages/omo-codex/plugin/components/lsp/dist/.omo-runtime-manifest.json +4 -4
  357. package/packages/omo-codex/plugin/components/lsp/dist/cli.js +943 -540
  358. package/packages/omo-codex/plugin/components/lsp/dist/daemon-cli-path.js +1 -1
  359. package/packages/omo-codex/plugin/components/lsp/hooks/hooks.json +2 -2
  360. package/packages/omo-codex/plugin/components/lsp/package.json +5 -5
  361. package/packages/omo-codex/plugin/components/lsp/src/cli.ts +1 -1
  362. package/packages/omo-codex/plugin/components/lsp/src/codex-hook.ts +1 -1
  363. package/packages/omo-codex/plugin/components/lsp/src/daemon-cli-path.ts +1 -5
  364. package/packages/omo-codex/plugin/components/lsp/test/codex-hook-unavailable.test.ts +6 -7
  365. package/packages/omo-codex/plugin/components/lsp/test/codex-hook.test.ts +1 -2
  366. package/packages/omo-codex/plugin/components/lsp/test/package-smoke.test.ts +11 -1
  367. package/packages/omo-codex/plugin/components/rules/AGENTS.md +12 -0
  368. package/packages/omo-codex/plugin/components/rules/README.md +2 -0
  369. package/packages/omo-codex/plugin/components/rules/biome.json +2 -2
  370. package/packages/omo-codex/plugin/components/rules/bundled-rules/hephaestus/gpt-6.md +123 -0
  371. package/packages/omo-codex/plugin/components/rules/dist/cli.js +91 -68
  372. package/packages/omo-codex/plugin/components/rules/hooks/hooks.json +4 -4
  373. package/packages/omo-codex/plugin/components/rules/package.json +7 -7
  374. package/packages/omo-codex/plugin/components/rules/src/config.ts +1 -2
  375. package/packages/omo-codex/plugin/components/rules/src/persistent-cache.ts +1 -2
  376. package/packages/omo-codex/plugin/components/rules/src/post-compact-budget.ts +15 -5
  377. package/packages/omo-codex/plugin/components/rules/src/rules-engine-factory.ts +1 -4
  378. package/packages/omo-codex/plugin/components/rules/src/static-injection.ts +4 -9
  379. package/packages/omo-codex/plugin/components/rules/test/bundled-rules-priority.test.ts +11 -16
  380. package/packages/omo-codex/plugin/components/rules/test/bundled-rules.test.ts +17 -25
  381. package/packages/omo-codex/plugin/components/rules/test/codex-hook-post-compact-budget.test.ts +9 -7
  382. package/packages/omo-codex/plugin/components/rules/test/codex-hook-post-compact-context.test.ts +0 -6
  383. package/packages/omo-codex/plugin/components/rules/test/codex-hook-post-compact-dedup.test.ts +6 -4
  384. package/packages/omo-codex/plugin/components/rules/test/codex-hook-post-compact-directive.test.ts +12 -9
  385. package/packages/omo-codex/plugin/components/rules/test/codex-hook.test.ts +28 -37
  386. package/packages/omo-codex/plugin/components/rules/test/dynamic-target-fingerprints.test.ts +1 -2
  387. package/packages/omo-codex/plugin/components/rules/test/engine.test.ts +7 -4
  388. package/packages/omo-codex/plugin/components/rules/test/finder.test.ts +2 -3
  389. package/packages/omo-codex/plugin/components/rules/test/formatter.test.ts +39 -72
  390. package/packages/omo-codex/plugin/components/rules/test/hephaestus-model-variant.test.ts +38 -3
  391. package/packages/omo-codex/plugin/components/rules/test/hook-output.test.ts +2 -3
  392. package/packages/omo-codex/plugin/components/rules/test/matcher.test.ts +2 -3
  393. package/packages/omo-codex/plugin/components/rules/test/package-smoke.test.ts +1 -1
  394. package/packages/omo-codex/plugin/components/rules/test/parser.test.ts +1 -2
  395. package/packages/omo-codex/plugin/components/rules/test/post-compact-budget.test.ts +29 -6
  396. package/packages/omo-codex/plugin/components/rules/test/rules-engine-consumption.test.ts +3 -6
  397. package/packages/omo-codex/plugin/components/rules/test/scanner.test.ts +1 -2
  398. package/packages/omo-codex/plugin/components/rules/test/sources.test.ts +2 -5
  399. package/packages/omo-codex/plugin/components/rules/test/windows-git-bash-bundled-rule.test.ts +2 -17
  400. package/packages/omo-codex/plugin/components/teammode/hooks/hooks.json +1 -1
  401. package/packages/omo-codex/plugin/components/teammode/package.json +5 -5
  402. package/packages/omo-codex/plugin/components/teammode/test/thread-title-hook.test.ts +4 -10
  403. package/packages/omo-codex/plugin/components/telemetry/AGENTS.md +8 -0
  404. package/packages/omo-codex/plugin/components/telemetry/biome.json +2 -2
  405. package/packages/omo-codex/plugin/components/telemetry/dist/cli.js +2470 -701
  406. package/packages/omo-codex/plugin/components/telemetry/dist/posthog.js +2488 -720
  407. package/packages/omo-codex/plugin/components/telemetry/hooks/hooks.json +1 -1
  408. package/packages/omo-codex/plugin/components/telemetry/package.json +5 -5
  409. package/packages/omo-codex/plugin/components/telemetry/src/codex-hook.ts +1 -4
  410. package/packages/omo-codex/plugin/components/telemetry/src/posthog.ts +4 -14
  411. package/packages/omo-codex/plugin/components/telemetry/src/product-identity.ts +1 -1
  412. package/packages/omo-codex/plugin/components/telemetry/test/diagnostics.test.ts +2 -5
  413. package/packages/omo-codex/plugin/components/ultrawork/AGENTS.md +10 -4
  414. package/packages/omo-codex/plugin/components/ultrawork/README.md +2 -0
  415. package/packages/omo-codex/plugin/components/ultrawork/agents/explorer.toml +1 -1
  416. package/packages/omo-codex/plugin/components/ultrawork/agents/lazycodex-clone-fidelity-reviewer.toml +1 -1
  417. package/packages/omo-codex/plugin/components/ultrawork/agents/lazycodex-code-reviewer.toml +1 -1
  418. package/packages/omo-codex/plugin/components/ultrawork/agents/lazycodex-gate-reviewer.toml +1 -1
  419. package/packages/omo-codex/plugin/components/ultrawork/agents/lazycodex-qa-executor.toml +1 -1
  420. package/packages/omo-codex/plugin/components/ultrawork/agents/lazycodex-worker-high.toml +1 -1
  421. package/packages/omo-codex/plugin/components/ultrawork/agents/lazycodex-worker-low.toml +1 -1
  422. package/packages/omo-codex/plugin/components/ultrawork/agents/lazycodex-worker-medium.toml +1 -1
  423. package/packages/omo-codex/plugin/components/ultrawork/agents/librarian.toml +1 -1
  424. package/packages/omo-codex/plugin/components/ultrawork/agents/metis.toml +1 -1
  425. package/packages/omo-codex/plugin/components/ultrawork/agents/momus.toml +1 -1
  426. package/packages/omo-codex/plugin/components/ultrawork/agents/plan.toml +4 -4
  427. package/packages/omo-codex/plugin/components/ultrawork/biome.json +2 -2
  428. package/packages/omo-codex/plugin/components/ultrawork/dist/cli.js +500 -4
  429. package/packages/omo-codex/plugin/components/ultrawork/hooks/hooks.json +1 -1
  430. package/packages/omo-codex/plugin/components/ultrawork/package.json +5 -6
  431. package/packages/omo-codex/plugin/components/ultrawork/scripts/sync-directive.mjs +30 -14
  432. package/packages/omo-codex/plugin/components/ultrawork/skills/ulw-plan/SKILL.md +4 -5
  433. package/packages/omo-codex/plugin/components/ultrawork/skills/ulw-plan/references/full-workflow.md +5 -5
  434. package/packages/omo-codex/plugin/components/ultrawork/skills/ulw-plan/references/intent-unclear.md +2 -2
  435. package/packages/omo-codex/plugin/components/ultrawork/skills/ulw-plan/scripts/scaffold-plan.mjs +1 -0
  436. package/packages/omo-codex/plugin/components/ultrawork/src/directive-content.ts +4 -0
  437. package/packages/omo-codex/plugin/components/ultrawork/src/directive.ts +5 -2
  438. package/packages/omo-codex/plugin/components/ultrawork/test/codex-hook-trigger-policy.test.ts +9 -1
  439. package/packages/omo-codex/plugin/components/ultrawork/test/codex-hook.test.ts +0 -136
  440. package/packages/omo-codex/plugin/components/ultrawork/test/directive-source.test.ts +14 -8
  441. package/packages/omo-codex/plugin/components/ultrawork/test/package-smoke.test.ts +12 -1
  442. package/packages/omo-codex/plugin/components/ultrawork/test/skill-pointer.test.ts +0 -2
  443. package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/AGENTS.md +4 -4
  444. package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/NOTICE +1 -1
  445. package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/README.md +6 -6
  446. package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/biome.json +2 -2
  447. package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/directive.md +11 -11
  448. package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/dist/cli.js +16 -16
  449. package/packages/omo-codex/plugin/components/ulw-execute-continuation/hooks/hooks.json +16 -0
  450. package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/package.json +12 -12
  451. package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/src/boulder-reader.ts +1 -1
  452. package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/src/cli.ts +1 -1
  453. package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/src/codex-hook.ts +4 -4
  454. package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/src/directive.ts +1 -1
  455. package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/src/index.ts +1 -1
  456. package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/src/types.ts +1 -1
  457. package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/test/boulder-reader.test.ts +3 -3
  458. package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/test/cli.test.ts +4 -11
  459. package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/test/codex-hook.test.ts +24 -22
  460. package/packages/omo-codex/plugin/components/ulw-loop/AGENTS.md +19 -0
  461. package/packages/omo-codex/plugin/components/ulw-loop/CHANGELOG.md +17 -1
  462. package/packages/omo-codex/plugin/components/ulw-loop/README.md +12 -1
  463. package/packages/omo-codex/plugin/components/ulw-loop/biome.json +2 -2
  464. package/packages/omo-codex/plugin/components/ulw-loop/directive.md +44 -27
  465. package/packages/omo-codex/plugin/components/ulw-loop/dist/checkpoint-codex-validation.d.ts +18 -0
  466. package/packages/omo-codex/plugin/components/ulw-loop/dist/checkpoint-codex-validation.js +30 -0
  467. package/packages/omo-codex/plugin/components/ulw-loop/dist/checkpoint-continuation.js +10 -4
  468. package/packages/omo-codex/plugin/components/ulw-loop/dist/checkpoint-reconciliation.d.ts +2 -5
  469. package/packages/omo-codex/plugin/components/ulw-loop/dist/checkpoint-reconciliation.js +5 -78
  470. package/packages/omo-codex/plugin/components/ulw-loop/dist/checkpoint-template.d.ts +12 -0
  471. package/packages/omo-codex/plugin/components/ulw-loop/dist/checkpoint-template.js +114 -0
  472. package/packages/omo-codex/plugin/components/ulw-loop/dist/checkpoint.d.ts +7 -1
  473. package/packages/omo-codex/plugin/components/ulw-loop/dist/checkpoint.js +57 -46
  474. package/packages/omo-codex/plugin/components/ulw-loop/dist/cli-arg-parser.js +2 -2
  475. package/packages/omo-codex/plugin/components/ulw-loop/dist/cli-commands.js +21 -8
  476. package/packages/omo-codex/plugin/components/ulw-loop/dist/cli-output.d.ts +2 -1
  477. package/packages/omo-codex/plugin/components/ulw-loop/dist/cli-output.js +12 -1
  478. package/packages/omo-codex/plugin/components/ulw-loop/dist/cli-subcommands.d.ts +1 -1
  479. package/packages/omo-codex/plugin/components/ulw-loop/dist/cli-subcommands.js +40 -37
  480. package/packages/omo-codex/plugin/components/ulw-loop/dist/cli.js +2191 -737
  481. package/packages/omo-codex/plugin/components/ulw-loop/dist/codex-goal-instruction.d.ts +2 -0
  482. package/packages/omo-codex/plugin/components/ulw-loop/dist/codex-goal-instruction.js +28 -8
  483. package/packages/omo-codex/plugin/components/ulw-loop/dist/codex-goal-snapshot.d.ts +8 -5
  484. package/packages/omo-codex/plugin/components/ulw-loop/dist/codex-goal-snapshot.js +35 -23
  485. package/packages/omo-codex/plugin/components/ulw-loop/dist/constants.d.ts +1 -0
  486. package/packages/omo-codex/plugin/components/ulw-loop/dist/constants.js +1 -0
  487. package/packages/omo-codex/plugin/components/ulw-loop/dist/domain-types.d.ts +25 -9
  488. package/packages/omo-codex/plugin/components/ulw-loop/dist/driver-objective-ack.d.ts +4 -0
  489. package/packages/omo-codex/plugin/components/ulw-loop/dist/driver-objective-ack.js +18 -0
  490. package/packages/omo-codex/plugin/components/ulw-loop/dist/evidence-artifacts.d.ts +1 -0
  491. package/packages/omo-codex/plugin/components/ulw-loop/dist/evidence-artifacts.js +37 -0
  492. package/packages/omo-codex/plugin/components/ulw-loop/dist/evidence.d.ts +1 -0
  493. package/packages/omo-codex/plugin/components/ulw-loop/dist/evidence.js +24 -12
  494. package/packages/omo-codex/plugin/components/ulw-loop/dist/ledger.d.ts +4 -0
  495. package/packages/omo-codex/plugin/components/ulw-loop/dist/ledger.js +39 -0
  496. package/packages/omo-codex/plugin/components/ulw-loop/dist/paths.d.ts +2 -0
  497. package/packages/omo-codex/plugin/components/ulw-loop/dist/paths.js +19 -4
  498. package/packages/omo-codex/plugin/components/ulw-loop/dist/plan-commit.d.ts +19 -0
  499. package/packages/omo-codex/plugin/components/ulw-loop/dist/plan-commit.js +108 -0
  500. package/packages/omo-codex/plugin/components/ulw-loop/dist/plan-crud.d.ts +6 -2
  501. package/packages/omo-codex/plugin/components/ulw-loop/dist/plan-crud.js +54 -25
  502. package/packages/omo-codex/plugin/components/ulw-loop/dist/plan-goal-factory.d.ts +10 -3
  503. package/packages/omo-codex/plugin/components/ulw-loop/dist/plan-goal-factory.js +38 -31
  504. package/packages/omo-codex/plugin/components/ulw-loop/dist/plan-io.d.ts +10 -7
  505. package/packages/omo-codex/plugin/components/ulw-loop/dist/plan-io.js +121 -100
  506. package/packages/omo-codex/plugin/components/ulw-loop/dist/plan-log.d.ts +16 -0
  507. package/packages/omo-codex/plugin/components/ulw-loop/dist/plan-log.js +115 -0
  508. package/packages/omo-codex/plugin/components/ulw-loop/dist/plan-missing-recovery.d.ts +18 -0
  509. package/packages/omo-codex/plugin/components/ulw-loop/dist/plan-missing-recovery.js +41 -0
  510. package/packages/omo-codex/plugin/components/ulw-loop/dist/quality-gate-aggregate.d.ts +7 -0
  511. package/packages/omo-codex/plugin/components/ulw-loop/dist/quality-gate-aggregate.js +9 -0
  512. package/packages/omo-codex/plugin/components/ulw-loop/dist/quality-gate-artifacts.d.ts +12 -0
  513. package/packages/omo-codex/plugin/components/ulw-loop/dist/quality-gate-artifacts.js +104 -0
  514. package/packages/omo-codex/plugin/components/ulw-loop/dist/quality-gate-fields.d.ts +13 -1
  515. package/packages/omo-codex/plugin/components/ulw-loop/dist/quality-gate-fields.js +65 -9
  516. package/packages/omo-codex/plugin/components/ulw-loop/dist/quality-gate-verdicts.js +5 -1
  517. package/packages/omo-codex/plugin/components/ulw-loop/dist/quality-gate.d.ts +4 -2
  518. package/packages/omo-codex/plugin/components/ulw-loop/dist/quality-gate.js +72 -117
  519. package/packages/omo-codex/plugin/components/ulw-loop/dist/review-blockers.d.ts +2 -0
  520. package/packages/omo-codex/plugin/components/ulw-loop/dist/review-blockers.js +25 -13
  521. package/packages/omo-codex/plugin/components/ulw-loop/dist/sdk/factory.d.ts +2 -0
  522. package/packages/omo-codex/plugin/components/ulw-loop/dist/sdk/factory.js +157 -0
  523. package/packages/omo-codex/plugin/components/ulw-loop/dist/sdk/manifest.d.ts +381 -0
  524. package/packages/omo-codex/plugin/components/ulw-loop/dist/sdk/manifest.js +127 -0
  525. package/packages/omo-codex/plugin/components/ulw-loop/dist/sdk/types.d.ts +130 -0
  526. package/packages/omo-codex/plugin/components/ulw-loop/dist/sdk/types.js +1 -0
  527. package/packages/omo-codex/plugin/components/ulw-loop/dist/sdk.d.ts +3 -0
  528. package/packages/omo-codex/plugin/components/ulw-loop/dist/sdk.js +3 -0
  529. package/packages/omo-codex/plugin/components/ulw-loop/dist/spawn-budget-io.d.ts +5 -0
  530. package/packages/omo-codex/plugin/components/ulw-loop/dist/spawn-budget-io.js +67 -0
  531. package/packages/omo-codex/plugin/components/ulw-loop/dist/spawn-guard.d.ts +7 -1
  532. package/packages/omo-codex/plugin/components/ulw-loop/dist/spawn-guard.js +188 -59
  533. package/packages/omo-codex/plugin/components/ulw-loop/dist/spawn-role-guard.d.ts +2 -0
  534. package/packages/omo-codex/plugin/components/ulw-loop/dist/spawn-role-guard.js +22 -0
  535. package/packages/omo-codex/plugin/components/ulw-loop/dist/state-lock.d.ts +19 -0
  536. package/packages/omo-codex/plugin/components/ulw-loop/dist/state-lock.js +259 -0
  537. package/packages/omo-codex/plugin/components/ulw-loop/dist/status-next-actions.d.ts +7 -0
  538. package/packages/omo-codex/plugin/components/ulw-loop/dist/status-next-actions.js +41 -0
  539. package/packages/omo-codex/plugin/components/ulw-loop/dist/steering-batch.js +4 -4
  540. package/packages/omo-codex/plugin/components/ulw-loop/dist/steering-mutations.d.ts +3 -2
  541. package/packages/omo-codex/plugin/components/ulw-loop/dist/steering-mutations.js +4 -4
  542. package/packages/omo-codex/plugin/components/ulw-loop/dist/steering-types.d.ts +9 -1
  543. package/packages/omo-codex/plugin/components/ulw-loop/dist/steering.d.ts +3 -2
  544. package/packages/omo-codex/plugin/components/ulw-loop/dist/steering.js +11 -11
  545. package/packages/omo-codex/plugin/components/ulw-loop/dist/stop-resume-hook.js +28 -23
  546. package/packages/omo-codex/plugin/components/ulw-loop/dist/success-criteria-input.d.ts +9 -0
  547. package/packages/omo-codex/plugin/components/ulw-loop/dist/success-criteria-input.js +41 -0
  548. package/packages/omo-codex/plugin/components/ulw-loop/dist/surface.d.ts +19 -0
  549. package/packages/omo-codex/plugin/components/ulw-loop/dist/surface.js +83 -0
  550. package/packages/omo-codex/plugin/components/ulw-loop/hooks/hooks.json +18 -5
  551. package/packages/omo-codex/plugin/components/ulw-loop/package.json +6 -6
  552. package/packages/omo-codex/plugin/components/ulw-loop/skills/ulw-loop/SKILL.md +7 -2
  553. package/packages/omo-codex/plugin/components/ulw-loop/skills/ulw-loop/references/full-workflow.md +33 -10
  554. package/packages/omo-codex/plugin/components/ulw-loop/src/checkpoint-codex-validation.ts +52 -0
  555. package/packages/omo-codex/plugin/components/ulw-loop/src/checkpoint-continuation.ts +8 -6
  556. package/packages/omo-codex/plugin/components/ulw-loop/src/checkpoint-reconciliation.ts +5 -98
  557. package/packages/omo-codex/plugin/components/ulw-loop/src/checkpoint-template.ts +134 -0
  558. package/packages/omo-codex/plugin/components/ulw-loop/src/checkpoint.ts +59 -77
  559. package/packages/omo-codex/plugin/components/ulw-loop/src/cli-arg-parser.ts +10 -4
  560. package/packages/omo-codex/plugin/components/ulw-loop/src/cli-commands.ts +24 -8
  561. package/packages/omo-codex/plugin/components/ulw-loop/src/cli-output.ts +14 -1
  562. package/packages/omo-codex/plugin/components/ulw-loop/src/cli-subcommands.ts +52 -46
  563. package/packages/omo-codex/plugin/components/ulw-loop/src/cli.ts +8 -6
  564. package/packages/omo-codex/plugin/components/ulw-loop/src/codex-goal-instruction.ts +35 -7
  565. package/packages/omo-codex/plugin/components/ulw-loop/src/codex-goal-snapshot.ts +51 -33
  566. package/packages/omo-codex/plugin/components/ulw-loop/src/codex-hook.ts +3 -1
  567. package/packages/omo-codex/plugin/components/ulw-loop/src/constants.ts +1 -0
  568. package/packages/omo-codex/plugin/components/ulw-loop/src/domain-types.ts +27 -9
  569. package/packages/omo-codex/plugin/components/ulw-loop/src/driver-objective-ack.ts +20 -0
  570. package/packages/omo-codex/plugin/components/ulw-loop/src/evidence-artifacts.ts +45 -0
  571. package/packages/omo-codex/plugin/components/ulw-loop/src/evidence.ts +23 -16
  572. package/packages/omo-codex/plugin/components/ulw-loop/src/ledger.ts +38 -0
  573. package/packages/omo-codex/plugin/components/ulw-loop/src/paths.ts +32 -4
  574. package/packages/omo-codex/plugin/components/ulw-loop/src/plan-commit.ts +132 -0
  575. package/packages/omo-codex/plugin/components/ulw-loop/src/plan-crud.ts +67 -54
  576. package/packages/omo-codex/plugin/components/ulw-loop/src/plan-goal-factory.ts +63 -31
  577. package/packages/omo-codex/plugin/components/ulw-loop/src/plan-io.ts +140 -119
  578. package/packages/omo-codex/plugin/components/ulw-loop/src/plan-log.ts +112 -0
  579. package/packages/omo-codex/plugin/components/ulw-loop/src/plan-missing-recovery.ts +61 -0
  580. package/packages/omo-codex/plugin/components/ulw-loop/src/quality-gate-aggregate.ts +11 -0
  581. package/packages/omo-codex/plugin/components/ulw-loop/src/quality-gate-artifacts.ts +123 -0
  582. package/packages/omo-codex/plugin/components/ulw-loop/src/quality-gate-fields.ts +71 -15
  583. package/packages/omo-codex/plugin/components/ulw-loop/src/quality-gate-verdicts.ts +6 -1
  584. package/packages/omo-codex/plugin/components/ulw-loop/src/quality-gate.ts +92 -136
  585. package/packages/omo-codex/plugin/components/ulw-loop/src/review-blockers.ts +38 -13
  586. package/packages/omo-codex/plugin/components/ulw-loop/src/sdk/factory.ts +218 -0
  587. package/packages/omo-codex/plugin/components/ulw-loop/src/sdk/manifest.ts +156 -0
  588. package/packages/omo-codex/plugin/components/ulw-loop/src/sdk/types.ts +143 -0
  589. package/packages/omo-codex/plugin/components/ulw-loop/src/sdk.ts +3 -0
  590. package/packages/omo-codex/plugin/components/ulw-loop/src/spawn-budget-io.ts +59 -0
  591. package/packages/omo-codex/plugin/components/ulw-loop/src/spawn-guard.ts +196 -52
  592. package/packages/omo-codex/plugin/components/ulw-loop/src/spawn-role-guard.ts +22 -0
  593. package/packages/omo-codex/plugin/components/ulw-loop/src/state-lock.ts +257 -0
  594. package/packages/omo-codex/plugin/components/ulw-loop/src/status-next-actions.ts +45 -0
  595. package/packages/omo-codex/plugin/components/ulw-loop/src/steering-batch.ts +4 -4
  596. package/packages/omo-codex/plugin/components/ulw-loop/src/steering-mutations.ts +5 -4
  597. package/packages/omo-codex/plugin/components/ulw-loop/src/steering-types.ts +13 -1
  598. package/packages/omo-codex/plugin/components/ulw-loop/src/steering.ts +12 -10
  599. package/packages/omo-codex/plugin/components/ulw-loop/src/stop-resume-hook.ts +27 -22
  600. package/packages/omo-codex/plugin/components/ulw-loop/src/success-criteria-input.ts +56 -0
  601. package/packages/omo-codex/plugin/components/ulw-loop/src/surface.ts +115 -0
  602. package/packages/omo-codex/plugin/components/ulw-loop/test/checkpoint-continuation.test.ts +0 -1
  603. package/packages/omo-codex/plugin/components/ulw-loop/test/checkpoint-final.test.ts +131 -82
  604. package/packages/omo-codex/plugin/components/ulw-loop/test/checkpoint-template.test.ts +147 -0
  605. package/packages/omo-codex/plugin/components/ulw-loop/test/checkpoint.test.ts +16 -22
  606. package/packages/omo-codex/plugin/components/ulw-loop/test/cli-checkpoint-continuation.test.ts +4 -2
  607. package/packages/omo-codex/plugin/components/ulw-loop/test/cli-checkpoint.test.ts +31 -2
  608. package/packages/omo-codex/plugin/components/ulw-loop/test/cli-commands.test.ts +2 -0
  609. package/packages/omo-codex/plugin/components/ulw-loop/test/cli-complete-goals.test.ts +3 -1
  610. package/packages/omo-codex/plugin/components/ulw-loop/test/cli-create-goals.test.ts +35 -8
  611. package/packages/omo-codex/plugin/components/ulw-loop/test/cli-entrypoint.test.ts +38 -4
  612. package/packages/omo-codex/plugin/components/ulw-loop/test/cli-json-errors.test.ts +27 -0
  613. package/packages/omo-codex/plugin/components/ulw-loop/test/cli-scope-required.test.ts +144 -0
  614. package/packages/omo-codex/plugin/components/ulw-loop/test/cli-status-next-actions.test.ts +185 -0
  615. package/packages/omo-codex/plugin/components/ulw-loop/test/cli-steering-batch.test.ts +8 -3
  616. package/packages/omo-codex/plugin/components/ulw-loop/test/cli-validation-batch.test.ts +6 -0
  617. package/packages/omo-codex/plugin/components/ulw-loop/test/codex-goal-instruction.test.ts +37 -2
  618. package/packages/omo-codex/plugin/components/ulw-loop/test/codex-goal-snapshot.test.ts +88 -11
  619. package/packages/omo-codex/plugin/components/ulw-loop/test/codex-hook.test.ts +0 -3
  620. package/packages/omo-codex/plugin/components/ulw-loop/test/fixtures/barrier.ts +13 -0
  621. package/packages/omo-codex/plugin/components/ulw-loop/test/fixtures/cli-session.ts +4 -0
  622. package/packages/omo-codex/plugin/components/ulw-loop/test/fixtures/commit-child.ts +65 -0
  623. package/packages/omo-codex/plugin/components/ulw-loop/test/fixtures/commit-cli-qa.mjs +76 -0
  624. package/packages/omo-codex/plugin/components/ulw-loop/test/fixtures/commit-crash.ts +23 -0
  625. package/packages/omo-codex/plugin/components/ulw-loop/test/fixtures/commit-mutations.mjs +58 -0
  626. package/packages/omo-codex/plugin/components/ulw-loop/test/fixtures/commit-writer.ts +65 -0
  627. package/packages/omo-codex/plugin/components/ulw-loop/test/fixtures/lease-clock.ts +23 -0
  628. package/packages/omo-codex/plugin/components/ulw-loop/test/fixtures/quality-gate-builder.ts +9 -4
  629. package/packages/omo-codex/plugin/components/ulw-loop/test/guided-recovery.test.ts +67 -0
  630. package/packages/omo-codex/plugin/components/ulw-loop/test/package-smoke.test.ts +5 -37
  631. package/packages/omo-codex/plugin/components/ulw-loop/test/paths.test.ts +9 -0
  632. package/packages/omo-codex/plugin/components/ulw-loop/test/plan-commit-log.test.ts +252 -0
  633. package/packages/omo-codex/plugin/components/ulw-loop/test/plan-commit-recovery.test.ts +190 -0
  634. package/packages/omo-codex/plugin/components/ulw-loop/test/plan-io-cross-process.test.ts +106 -0
  635. package/packages/omo-codex/plugin/components/ulw-loop/test/plan-io.test.ts +74 -25
  636. package/packages/omo-codex/plugin/components/ulw-loop/test/plan-log-legacy-projection.test.ts +228 -0
  637. package/packages/omo-codex/plugin/components/ulw-loop/test/plan-log-newest.test.ts +72 -0
  638. package/packages/omo-codex/plugin/components/ulw-loop/test/quality-gate-aggregate-basics.test.ts +258 -0
  639. package/packages/omo-codex/plugin/components/ulw-loop/test/quality-gate-cap-and-dedupe.test.ts +22 -0
  640. package/packages/omo-codex/plugin/components/ulw-loop/test/quality-gate-fields-messages.test.ts +98 -0
  641. package/packages/omo-codex/plugin/components/ulw-loop/test/quality-gate-lazycodex-surface.test.ts +93 -0
  642. package/packages/omo-codex/plugin/components/ulw-loop/test/quality-gate-poisoning-cascades.test.ts +97 -0
  643. package/packages/omo-codex/plugin/components/ulw-loop/test/quality-gate-roles.test.ts +51 -2
  644. package/packages/omo-codex/plugin/components/ulw-loop/test/quality-gate-senpi-surface.test.ts +131 -0
  645. package/packages/omo-codex/plugin/components/ulw-loop/test/quality-gate-single-report.test.ts +241 -0
  646. package/packages/omo-codex/plugin/components/ulw-loop/test/quality-gate.test.ts +58 -3
  647. package/packages/omo-codex/plugin/components/ulw-loop/test/review-blockers.test.ts +9 -7
  648. package/packages/omo-codex/plugin/components/ulw-loop/test/sdk-completed-plan.test.ts +43 -0
  649. package/packages/omo-codex/plugin/components/ulw-loop/test/sdk-contract.test.ts +137 -0
  650. package/packages/omo-codex/plugin/components/ulw-loop/test/sdk-driver-states.test.ts +174 -0
  651. package/packages/omo-codex/plugin/components/ulw-loop/test/sdk-dx.test.ts +219 -0
  652. package/packages/omo-codex/plugin/components/ulw-loop/test/sdk-session-context.test.ts +169 -0
  653. package/packages/omo-codex/plugin/components/ulw-loop/test/spawn-guard.test.ts +450 -7
  654. package/packages/omo-codex/plugin/components/ulw-loop/test/spawn-role-matrix.test.ts +113 -0
  655. package/packages/omo-codex/plugin/components/ulw-loop/test/state-lock.test.ts +310 -0
  656. package/packages/omo-codex/plugin/components/ulw-loop/test/status-next-actions-surface.test.ts +133 -0
  657. package/packages/omo-codex/plugin/components/ulw-loop/test/steering-batch.test.ts +12 -12
  658. package/packages/omo-codex/plugin/components/ulw-loop/test/steering.test.ts +12 -6
  659. package/packages/omo-codex/plugin/components/ulw-loop/test/stop-resume-hook.test.ts +1 -1
  660. package/packages/omo-codex/plugin/components/ulw-loop/test/surface.test.ts +74 -0
  661. package/packages/omo-codex/plugin/components/ulw-loop/test/ultrawork-directive.test.ts +13 -8
  662. package/packages/omo-codex/plugin/components/ulw-loop/vitest.config.ts +1 -0
  663. package/packages/omo-codex/plugin/hooks/post-compact-resetting-git-bash-mcp-reminder.json +1 -1
  664. package/packages/omo-codex/plugin/hooks/post-compact-resetting-lsp-diagnostics-cache.json +1 -1
  665. package/packages/omo-codex/plugin/hooks/post-compact-resetting-project-rule-cache.json +1 -1
  666. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-comments.json +1 -1
  667. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-lsp-diagnostics.json +1 -1
  668. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-thread-title-hygiene.json +1 -1
  669. package/packages/omo-codex/plugin/hooks/post-tool-use-matching-project-rules.json +1 -1
  670. package/packages/omo-codex/plugin/hooks/post-tool-use-recording-spawn-admission.json +18 -0
  671. package/packages/omo-codex/plugin/hooks/pre-tool-use-enforcing-unlimited-goal-budget.json +1 -1
  672. package/packages/omo-codex/plugin/hooks/pre-tool-use-guarding-ulw-loop-spawns.json +1 -1
  673. package/packages/omo-codex/plugin/hooks/pre-tool-use-recommending-git-bash-mcp.json +1 -1
  674. package/packages/omo-codex/plugin/hooks/session-start-checking-auto-update.json +1 -1
  675. package/packages/omo-codex/plugin/hooks/session-start-checking-bootstrap-provisioning.json +1 -1
  676. package/packages/omo-codex/plugin/hooks/session-start-loading-project-rules.json +1 -1
  677. package/packages/omo-codex/plugin/hooks/session-start-recording-session-telemetry.json +1 -1
  678. package/packages/omo-codex/plugin/hooks/stop-checking-ulw-execute-continuation.json +17 -0
  679. package/packages/omo-codex/plugin/hooks/stop-checking-ulw-loop-resume.json +1 -1
  680. package/packages/omo-codex/plugin/hooks/subagent-stop-verifying-lazycodex-executor-evidence.json +1 -1
  681. package/packages/omo-codex/plugin/hooks/user-prompt-submit-checking-ultrawork-trigger.json +1 -1
  682. package/packages/omo-codex/plugin/hooks/user-prompt-submit-checking-ulw-loop-steering.json +1 -1
  683. package/packages/omo-codex/plugin/hooks/user-prompt-submit-loading-project-rules.json +1 -1
  684. package/packages/omo-codex/plugin/model-catalog.json +16 -7
  685. package/packages/omo-codex/plugin/package-lock.json +676 -524
  686. package/packages/omo-codex/plugin/package.json +2 -3
  687. package/packages/omo-codex/plugin/scripts/AGENTS.md +39 -0
  688. package/packages/omo-codex/plugin/scripts/auto-update-plan.mjs +1 -2
  689. package/packages/omo-codex/plugin/scripts/auto-update.mjs +0 -9
  690. package/packages/omo-codex/plugin/scripts/canonical-ultrawork-directive.mjs +17 -0
  691. package/packages/omo-codex/plugin/scripts/hook-status-message.mjs +0 -1
  692. package/packages/omo-codex/plugin/scripts/migrate-codex-config/catalog.mjs +16 -7
  693. package/packages/omo-codex/plugin/scripts/migrate-codex-config/multi-agent-v2-guard.mjs +8 -4
  694. package/packages/omo-codex/plugin/scripts/migrate-codex-config/subagent-limit-guard.mjs +19 -90
  695. package/packages/omo-codex/plugin/scripts/migrate-codex-config/toml-section-editor.mjs +1 -1
  696. package/packages/omo-codex/plugin/scripts/sync-skills.d.mts +4 -0
  697. package/packages/omo-codex/plugin/scripts/sync-skills.mjs +111 -64
  698. package/packages/omo-codex/plugin/shared/package.json +3 -4
  699. package/packages/omo-codex/plugin/shared/src/config-loader.ts +2 -102
  700. package/packages/omo-codex/plugin/shared/src/config-migration.ts +0 -1
  701. package/packages/omo-codex/plugin/shared/test/config-loader.test.ts +41 -130
  702. package/packages/omo-codex/plugin/skills/ast-grep/AGENTS.md +51 -0
  703. package/packages/omo-codex/plugin/skills/ast-grep/SKILL.md +13 -1
  704. package/packages/omo-codex/plugin/skills/coding-agent-sessions/AGENTS.md +62 -0
  705. package/packages/omo-codex/plugin/skills/coding-agent-sessions/SKILL.md +1 -1
  706. package/packages/omo-codex/plugin/skills/data-scientist/SKILL.md +99 -239
  707. package/packages/omo-codex/plugin/skills/data-scientist/references/execution-surfaces.md +91 -0
  708. package/packages/omo-codex/plugin/skills/data-scientist/references/placement.md +74 -0
  709. package/packages/omo-codex/plugin/skills/data-scientist/references/polars-lane.md +95 -0
  710. package/packages/omo-codex/plugin/skills/data-scientist/references/uv-setup.md +1 -1
  711. package/packages/omo-codex/plugin/skills/data-scientist/references/visualization.md +64 -0
  712. package/packages/omo-codex/plugin/skills/data-scientist/scripts/ensure-js-deps.sh +28 -0
  713. package/packages/omo-codex/plugin/skills/data-scientist/scripts/ensure-py-deps.sh +37 -0
  714. package/packages/omo-codex/plugin/skills/debugging/SKILL.md +3 -1
  715. package/packages/omo-codex/plugin/skills/debugging/references/methodology/00-setup.md +12 -0
  716. package/packages/omo-codex/plugin/skills/debugging/references/methodology/02-investigate.md +26 -5
  717. package/packages/omo-codex/plugin/skills/debugging/references/runtimes/go.md +15 -1
  718. package/packages/omo-codex/plugin/skills/debugging/references/runtimes/native-binary.md +38 -0
  719. package/packages/omo-codex/plugin/skills/debugging/references/runtimes/node.md +25 -0
  720. package/packages/omo-codex/plugin/skills/debugging/references/runtimes/python.md +13 -0
  721. package/packages/omo-codex/plugin/skills/debugging/references/runtimes/rust.md +41 -0
  722. package/packages/omo-codex/plugin/skills/debugging/references/scripts/dap.mjs +267 -0
  723. package/packages/omo-codex/plugin/skills/debugging/references/scripts/fixture-adapter.mjs +59 -0
  724. package/packages/omo-codex/plugin/skills/debugging/references/tools/dap.md +103 -0
  725. package/packages/omo-codex/plugin/skills/debugging/references/tools/frida.md +193 -0
  726. package/packages/omo-codex/plugin/skills/debugging/references/tools/playwright-cli.md +79 -161
  727. package/packages/omo-codex/plugin/skills/frontend/ATTRIBUTION.md +10 -0
  728. package/packages/omo-codex/plugin/skills/frontend/SKILL.md +7 -3
  729. package/packages/omo-codex/plugin/skills/frontend/references/design/README.md +10 -2
  730. package/packages/omo-codex/plugin/skills/frontend/references/design/_INDEX.md +1 -0
  731. package/packages/omo-codex/plugin/skills/frontend/references/design/ambience-skill.md +145 -0
  732. package/packages/omo-codex/plugin/skills/frontend/references/design/aside.md +1 -1
  733. package/packages/omo-codex/plugin/skills/frontend/references/design/clone-from-url.md +1 -1
  734. package/packages/omo-codex/plugin/skills/frontend/references/design/interaction-skill.md +2 -0
  735. package/packages/omo-codex/plugin/skills/frontend/references/design/print-paged-media.md +76 -0
  736. package/packages/omo-codex/plugin/skills/frontend/references/designpowers/README.md +1 -1
  737. package/packages/omo-codex/plugin/skills/frontend/references/designpowers/lane-a-direction.md +1 -1
  738. package/packages/omo-codex/plugin/skills/frontend/references/designpowers/lane-b-execution.md +11 -11
  739. package/packages/omo-codex/plugin/skills/frontend/references/designpowers/lane-d-memory.md +3 -3
  740. package/packages/omo-codex/plugin/skills/frontend/references/designpowers/orchestration.md +1 -1
  741. package/packages/omo-codex/plugin/skills/frontend/references/designpowers/routing.md +5 -5
  742. package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/lighthouse-audit.py +2 -2
  743. package/packages/omo-codex/plugin/skills/git-master/SKILL.md +1 -1
  744. package/packages/omo-codex/plugin/skills/init-deep/SKILL.md +20 -18
  745. package/packages/omo-codex/plugin/skills/lcx-doctor/SKILL.md +4 -2
  746. package/packages/omo-codex/plugin/skills/lsp-setup/SKILL.md +1 -1
  747. package/packages/omo-codex/plugin/skills/programming/SKILL.md +1 -1
  748. package/packages/omo-codex/plugin/skills/refactor/SKILL.md +11 -9
  749. package/packages/omo-codex/plugin/skills/remove-ai-slops/SKILL.md +11 -9
  750. package/packages/omo-codex/plugin/skills/review-work/SKILL.md +116 -424
  751. package/packages/omo-codex/plugin/skills/ultimate-browsing/ATTRIBUTION.md +32 -86
  752. package/packages/omo-codex/plugin/skills/ultimate-browsing/SKILL.md +32 -27
  753. package/packages/omo-codex/plugin/skills/ultimate-browsing/engine/AGENTS.md +111 -0
  754. package/packages/omo-codex/plugin/skills/ultimate-browsing/engine/templates/package.json +2 -2
  755. package/packages/omo-codex/plugin/skills/ultimate-browsing/engine/templates/playwright_mobile_chrome.js +5 -2
  756. package/packages/omo-codex/plugin/skills/ultimate-browsing/engine/templates/playwright_real_chrome.js +8 -6
  757. package/packages/omo-codex/plugin/skills/ultimate-browsing/engine/tests/test_playwright_stealth.py +86 -0
  758. package/packages/omo-codex/plugin/skills/ultimate-browsing/engine/tests/test_playwright_templates.py +4 -7
  759. package/packages/omo-codex/plugin/skills/ultimate-browsing/references/chrome-stealth.md +86 -95
  760. package/packages/omo-codex/plugin/skills/ultimate-browsing/references/insane-search/README.md +18 -5
  761. package/packages/omo-codex/plugin/skills/ultimate-browsing/references/insane-search/playwright.md +16 -13
  762. package/packages/omo-codex/plugin/skills/ultimate-browsing/scripts/extract_cookies.py +3 -3
  763. package/packages/omo-codex/plugin/skills/ultrawork/SKILL.md +44 -27
  764. package/packages/omo-codex/plugin/skills/{start-work → ulw-execute}/SKILL.md +35 -36
  765. package/packages/omo-codex/plugin/skills/ulw-execute/agents/openai.yaml +2 -0
  766. package/packages/omo-codex/plugin/skills/ulw-loop/SKILL.md +31 -2
  767. package/packages/omo-codex/plugin/skills/ulw-loop/references/full-workflow.md +33 -10
  768. package/packages/omo-codex/plugin/skills/ulw-plan/SKILL.md +4 -5
  769. package/packages/omo-codex/plugin/skills/ulw-plan/references/full-workflow.md +5 -5
  770. package/packages/omo-codex/plugin/skills/ulw-plan/references/intent-unclear.md +2 -2
  771. package/packages/omo-codex/plugin/skills/ulw-plan/scripts/scaffold-plan.mjs +1 -0
  772. package/packages/omo-codex/plugin/skills/ulw-research/SKILL.md +16 -9
  773. package/packages/omo-codex/plugin/skills/visual-qa/AGENTS.md +58 -0
  774. package/packages/omo-codex/plugin/skills/visual-qa/SKILL.md +10 -7
  775. package/packages/omo-codex/plugin/skills/visual-qa/references/browser-setup.md +75 -0
  776. package/packages/omo-codex/plugin/test/AGENTS.md +47 -0
  777. package/packages/omo-codex/plugin/test/aggregate-agents.test.mjs +19 -173
  778. package/packages/omo-codex/plugin/test/aggregate-hooks.test.mjs +16 -51
  779. package/packages/omo-codex/plugin/test/aggregate-manifest.test.mjs +2 -3
  780. package/packages/omo-codex/plugin/test/aggregate-mcp.test.mjs +2 -7
  781. package/packages/omo-codex/plugin/test/aggregate-model-catalog.test.mjs +14 -4
  782. package/packages/omo-codex/plugin/test/aggregate-plugin-fixture.mjs +175 -13
  783. package/packages/omo-codex/plugin/test/aggregate.test.mjs +78 -2
  784. package/packages/omo-codex/plugin/test/auto-update-release-notes.test.mjs +19 -33
  785. package/packages/omo-codex/plugin/test/auto-update.test.mjs +4 -29
  786. package/packages/omo-codex/plugin/test/bootstrap-default-role.test.mjs +66 -0
  787. package/packages/omo-codex/plugin/test/bootstrap-setup.test.mjs +0 -31
  788. package/packages/omo-codex/plugin/test/canonical-ultrawork-directive.test.mjs +53 -0
  789. package/packages/omo-codex/plugin/test/component-bin-names.test.mjs +2 -2
  790. package/packages/omo-codex/plugin/test/component-bundled-cli.test.mjs +1 -51
  791. package/packages/omo-codex/plugin/test/component-hook-contract-cases.mjs +100 -2
  792. package/packages/omo-codex/plugin/test/hook-status-message.test.mjs +5 -6
  793. package/packages/omo-codex/plugin/test/lcx-contribute-bug-fix-template.test.mjs +21 -27
  794. package/packages/omo-codex/plugin/test/mcp-research-servers.test.mjs +1 -3
  795. package/packages/omo-codex/plugin/test/migrate-codex-config.test.mjs +35 -35
  796. package/packages/omo-codex/plugin/test/multi-agent-v2-regression.test.mjs +1 -1
  797. package/packages/omo-codex/plugin/test/scaffold-plan.test.mjs +0 -36
  798. package/packages/omo-codex/plugin/test/subagent-limit-migration.test.mjs +107 -15
  799. package/packages/omo-codex/plugin/test/sync-skills-codex-compatibility.test.mjs +168 -0
  800. package/packages/omo-codex/plugin/test/sync-skills-test-support.mjs +54 -24
  801. package/packages/omo-codex/plugin/test/sync-skills.test.mjs +18 -119
  802. package/packages/omo-codex/plugin/test/teammode-archive-ambiguity.test.mjs +0 -40
  803. package/packages/omo-codex/plugin/test/teammode-communication.test.mjs +6 -62
  804. package/packages/omo-codex/plugin/test/teammode-thread-links.test.mjs +3 -36
  805. package/packages/omo-codex/plugin/test/teammode-transport.test.mjs +0 -44
  806. package/packages/omo-codex/plugin/test/teammode-worktree.test.mjs +2 -6
  807. package/packages/omo-codex/plugin/test/ultrawork-skill-pointer.test.mjs +5 -5
  808. package/packages/omo-codex/plugin/test/ulw-plan-review-state-contract.test.mjs +0 -3
  809. package/packages/omo-codex/scripts/AGENTS.md +36 -0
  810. package/packages/omo-codex/scripts/check-model-catalog-parity.mjs +42 -0
  811. package/packages/omo-codex/scripts/install-cache-copy.test.mjs +27 -1
  812. package/packages/omo-codex/scripts/install-config-autonomous-features.test.mjs +1 -1
  813. package/packages/omo-codex/scripts/install-config-autonomous.test.mjs +2 -1
  814. package/packages/omo-codex/scripts/install-config-git-bash.test.mjs +0 -23
  815. package/packages/omo-codex/scripts/install-config-reasoning.test.mjs +5 -5
  816. package/packages/omo-codex/scripts/install-config.test.mjs +15 -17
  817. package/packages/omo-codex/scripts/install-dist/install-local.mjs +9832 -1445
  818. package/packages/omo-codex/scripts/install-generated-bundle.test.mjs +3 -4
  819. package/packages/omo-codex/scripts/install-git-bash-mcp-env.test.mjs +1 -25
  820. package/packages/omo-codex/scripts/install-lazycodex-version-stamp.test.mjs +7 -2
  821. package/packages/omo-codex/scripts/install-mcp-runtime.test.mjs +0 -36
  822. package/packages/omo-codex/scripts/install-packaged-local.test.mjs +1 -6
  823. package/packages/{omo-codex/plugin/components/ultrawork/skills/ultrawork/SKILL.md → prompts-core/prompts/ultrawork/codex.md} +44 -34
  824. package/packages/shared-skills/package.json +7 -1
  825. package/packages/shared-skills/skill-source-filter.d.ts +16 -0
  826. package/packages/shared-skills/skill-source-filter.mjs +44 -0
  827. package/packages/shared-skills/skills/ast-grep/AGENTS.md +51 -0
  828. package/packages/shared-skills/skills/ast-grep/SKILL.md +13 -1
  829. package/packages/shared-skills/skills/coding-agent-sessions/AGENTS.md +62 -0
  830. package/packages/shared-skills/skills/coding-agent-sessions/SKILL.md +1 -1
  831. package/packages/shared-skills/skills/data-scientist/SKILL.md +99 -239
  832. package/packages/shared-skills/skills/data-scientist/references/execution-surfaces.md +91 -0
  833. package/packages/shared-skills/skills/data-scientist/references/placement.md +74 -0
  834. package/packages/shared-skills/skills/data-scientist/references/polars-lane.md +95 -0
  835. package/packages/shared-skills/skills/data-scientist/references/uv-setup.md +1 -1
  836. package/packages/shared-skills/skills/data-scientist/references/visualization.md +64 -0
  837. package/packages/shared-skills/skills/data-scientist/scripts/ensure-js-deps.sh +28 -0
  838. package/packages/shared-skills/skills/data-scientist/scripts/ensure-py-deps.sh +37 -0
  839. package/packages/shared-skills/skills/debugging/SKILL.md +3 -1
  840. package/packages/shared-skills/skills/debugging/references/methodology/00-setup.md +12 -0
  841. package/packages/shared-skills/skills/debugging/references/methodology/02-investigate.md +26 -5
  842. package/packages/shared-skills/skills/debugging/references/runtimes/go.md +15 -1
  843. package/packages/shared-skills/skills/debugging/references/runtimes/native-binary.md +38 -0
  844. package/packages/shared-skills/skills/debugging/references/runtimes/node.md +25 -0
  845. package/packages/shared-skills/skills/debugging/references/runtimes/python.md +13 -0
  846. package/packages/shared-skills/skills/debugging/references/runtimes/rust.md +41 -0
  847. package/packages/shared-skills/skills/debugging/references/scripts/dap.mjs +267 -0
  848. package/packages/shared-skills/skills/debugging/references/scripts/dap.test.ts +86 -0
  849. package/packages/shared-skills/skills/debugging/references/scripts/fixture-adapter.mjs +59 -0
  850. package/packages/shared-skills/skills/debugging/references/tools/dap.md +103 -0
  851. package/packages/shared-skills/skills/debugging/references/tools/frida.md +193 -0
  852. package/packages/shared-skills/skills/debugging/references/tools/playwright-cli.md +79 -161
  853. package/packages/shared-skills/skills/frontend/ATTRIBUTION.md +10 -0
  854. package/packages/shared-skills/skills/frontend/SKILL.md +7 -3
  855. package/packages/shared-skills/skills/frontend/references/design/README.md +10 -2
  856. package/packages/shared-skills/skills/frontend/references/design/_INDEX.md +1 -0
  857. package/packages/shared-skills/skills/frontend/references/design/ambience-skill.md +145 -0
  858. package/packages/shared-skills/skills/frontend/references/design/aside.md +1 -1
  859. package/packages/shared-skills/skills/frontend/references/design/clone-from-url.md +1 -1
  860. package/packages/shared-skills/skills/frontend/references/design/interaction-skill.md +2 -0
  861. package/packages/shared-skills/skills/frontend/references/design/print-paged-media.md +76 -0
  862. package/packages/shared-skills/skills/frontend/references/designpowers/README.md +1 -1
  863. package/packages/shared-skills/skills/frontend/references/designpowers/lane-a-direction.md +1 -1
  864. package/packages/shared-skills/skills/frontend/references/designpowers/lane-b-execution.md +11 -11
  865. package/packages/shared-skills/skills/frontend/references/designpowers/lane-d-memory.md +3 -3
  866. package/packages/shared-skills/skills/frontend/references/designpowers/orchestration.md +1 -1
  867. package/packages/shared-skills/skills/frontend/references/designpowers/routing.md +5 -5
  868. package/packages/shared-skills/skills/frontend/scripts/perfection/lighthouse-audit.py +2 -2
  869. package/packages/shared-skills/skills/git-master/SKILL.md +1 -1
  870. package/packages/shared-skills/skills/init-deep/SKILL.md +14 -14
  871. package/packages/shared-skills/skills/lsp-setup/SKILL.md +1 -1
  872. package/packages/shared-skills/skills/programming/SKILL.md +1 -1
  873. package/packages/shared-skills/skills/refactor/SKILL.md +5 -5
  874. package/packages/shared-skills/skills/remove-ai-slops/SKILL.md +5 -5
  875. package/packages/shared-skills/skills/review-work/SKILL.md +101 -419
  876. package/packages/shared-skills/skills/ultimate-browsing/ATTRIBUTION.md +32 -86
  877. package/packages/shared-skills/skills/ultimate-browsing/SKILL.md +32 -27
  878. package/packages/shared-skills/skills/ultimate-browsing/engine/AGENTS.md +111 -0
  879. package/packages/shared-skills/skills/ultimate-browsing/engine/templates/package.json +2 -2
  880. package/packages/shared-skills/skills/ultimate-browsing/engine/templates/playwright_mobile_chrome.js +5 -2
  881. package/packages/shared-skills/skills/ultimate-browsing/engine/templates/playwright_real_chrome.js +8 -6
  882. package/packages/shared-skills/skills/ultimate-browsing/engine/tests/test_playwright_stealth.py +86 -0
  883. package/packages/shared-skills/skills/ultimate-browsing/engine/tests/test_playwright_templates.py +4 -7
  884. package/packages/shared-skills/skills/ultimate-browsing/references/chrome-stealth.md +86 -95
  885. package/packages/shared-skills/skills/ultimate-browsing/references/insane-search/README.md +18 -5
  886. package/packages/shared-skills/skills/ultimate-browsing/references/insane-search/playwright.md +16 -13
  887. package/packages/shared-skills/skills/ultimate-browsing/scripts/extract_cookies.py +3 -3
  888. package/packages/shared-skills/skills/{start-work → ulw-execute}/SKILL.md +24 -22
  889. package/packages/shared-skills/skills/ulw-plan/SKILL.md +5 -6
  890. package/packages/shared-skills/skills/ulw-plan/references/full-workflow.md +6 -5
  891. package/packages/shared-skills/skills/ulw-plan/references/intent-unclear.md +2 -2
  892. package/packages/shared-skills/skills/ulw-plan/scripts/scaffold-plan.mjs +2 -1
  893. package/packages/shared-skills/skills/ulw-research/SKILL.md +10 -5
  894. package/packages/shared-skills/skills/visual-qa/AGENTS.md +58 -0
  895. package/packages/shared-skills/skills/visual-qa/SKILL.md +4 -3
  896. package/packages/shared-skills/skills/visual-qa/references/browser-setup.md +75 -0
  897. package/postinstall.mjs +2 -0
  898. package/script/qa/web-terminal-visual-qa.mjs +2 -0
  899. package/script/qa/xterm-live-terminal.mjs +18 -2
  900. package/.agents/skills/work-with-pr-workspace/evals/evals.json +0 -76
  901. package/.agents/skills/work-with-pr-workspace/iteration-1/benchmark.json +0 -138
  902. package/.agents/skills/work-with-pr-workspace/iteration-1/benchmark.md +0 -42
  903. package/.agents/skills/work-with-pr-workspace/iteration-1/eval-1/eval_metadata.json +0 -57
  904. package/.agents/skills/work-with-pr-workspace/iteration-1/eval-1/with_skill/grading.json +0 -15
  905. package/.agents/skills/work-with-pr-workspace/iteration-1/eval-1/with_skill/outputs/code-changes.md +0 -454
  906. package/.agents/skills/work-with-pr-workspace/iteration-1/eval-1/with_skill/outputs/execution-plan.md +0 -136
  907. package/.agents/skills/work-with-pr-workspace/iteration-1/eval-1/with_skill/outputs/pr-description.md +0 -47
  908. package/.agents/skills/work-with-pr-workspace/iteration-1/eval-1/with_skill/outputs/verification-strategy.md +0 -163
  909. package/.agents/skills/work-with-pr-workspace/iteration-1/eval-1/with_skill/timing.json +0 -1
  910. package/.agents/skills/work-with-pr-workspace/iteration-1/eval-1/without_skill/grading.json +0 -15
  911. package/.agents/skills/work-with-pr-workspace/iteration-1/eval-1/without_skill/outputs/code-changes.md +0 -615
  912. package/.agents/skills/work-with-pr-workspace/iteration-1/eval-1/without_skill/outputs/execution-plan.md +0 -99
  913. package/.agents/skills/work-with-pr-workspace/iteration-1/eval-1/without_skill/outputs/pr-description.md +0 -50
  914. package/.agents/skills/work-with-pr-workspace/iteration-1/eval-1/without_skill/outputs/verification-strategy.md +0 -111
  915. package/.agents/skills/work-with-pr-workspace/iteration-1/eval-1/without_skill/timing.json +0 -1
  916. package/.agents/skills/work-with-pr-workspace/iteration-1/eval-2/eval_metadata.json +0 -37
  917. package/.agents/skills/work-with-pr-workspace/iteration-1/eval-2/with_skill/grading.json +0 -11
  918. package/.agents/skills/work-with-pr-workspace/iteration-1/eval-2/with_skill/outputs/code-changes.md +0 -205
  919. package/.agents/skills/work-with-pr-workspace/iteration-1/eval-2/with_skill/outputs/execution-plan.md +0 -78
  920. package/.agents/skills/work-with-pr-workspace/iteration-1/eval-2/with_skill/outputs/pr-description.md +0 -42
  921. package/.agents/skills/work-with-pr-workspace/iteration-1/eval-2/with_skill/outputs/verification-strategy.md +0 -87
  922. package/.agents/skills/work-with-pr-workspace/iteration-1/eval-2/with_skill/timing.json +0 -1
  923. package/.agents/skills/work-with-pr-workspace/iteration-1/eval-2/without_skill/grading.json +0 -11
  924. package/.agents/skills/work-with-pr-workspace/iteration-1/eval-2/without_skill/outputs/code-changes.md +0 -334
  925. package/.agents/skills/work-with-pr-workspace/iteration-1/eval-2/without_skill/outputs/execution-plan.md +0 -86
  926. package/.agents/skills/work-with-pr-workspace/iteration-1/eval-2/without_skill/outputs/pr-description.md +0 -23
  927. package/.agents/skills/work-with-pr-workspace/iteration-1/eval-2/without_skill/outputs/verification-strategy.md +0 -119
  928. package/.agents/skills/work-with-pr-workspace/iteration-1/eval-2/without_skill/timing.json +0 -1
  929. package/.agents/skills/work-with-pr-workspace/iteration-1/eval-3/eval_metadata.json +0 -32
  930. package/.agents/skills/work-with-pr-workspace/iteration-1/eval-3/with_skill/grading.json +0 -10
  931. package/.agents/skills/work-with-pr-workspace/iteration-1/eval-3/with_skill/outputs/code-changes.md +0 -221
  932. package/.agents/skills/work-with-pr-workspace/iteration-1/eval-3/with_skill/outputs/execution-plan.md +0 -104
  933. package/.agents/skills/work-with-pr-workspace/iteration-1/eval-3/with_skill/outputs/pr-description.md +0 -41
  934. package/.agents/skills/work-with-pr-workspace/iteration-1/eval-3/with_skill/outputs/verification-strategy.md +0 -84
  935. package/.agents/skills/work-with-pr-workspace/iteration-1/eval-3/with_skill/timing.json +0 -1
  936. package/.agents/skills/work-with-pr-workspace/iteration-1/eval-3/without_skill/grading.json +0 -10
  937. package/.agents/skills/work-with-pr-workspace/iteration-1/eval-3/without_skill/outputs/code-changes.md +0 -342
  938. package/.agents/skills/work-with-pr-workspace/iteration-1/eval-3/without_skill/outputs/execution-plan.md +0 -131
  939. package/.agents/skills/work-with-pr-workspace/iteration-1/eval-3/without_skill/outputs/pr-description.md +0 -39
  940. package/.agents/skills/work-with-pr-workspace/iteration-1/eval-3/without_skill/outputs/verification-strategy.md +0 -128
  941. package/.agents/skills/work-with-pr-workspace/iteration-1/eval-3/without_skill/timing.json +0 -1
  942. package/.agents/skills/work-with-pr-workspace/iteration-1/eval-4/eval_metadata.json +0 -32
  943. package/.agents/skills/work-with-pr-workspace/iteration-1/eval-4/with_skill/grading.json +0 -10
  944. package/.agents/skills/work-with-pr-workspace/iteration-1/eval-4/with_skill/outputs/code-changes.md +0 -143
  945. package/.agents/skills/work-with-pr-workspace/iteration-1/eval-4/with_skill/outputs/execution-plan.md +0 -82
  946. package/.agents/skills/work-with-pr-workspace/iteration-1/eval-4/with_skill/outputs/pr-description.md +0 -51
  947. package/.agents/skills/work-with-pr-workspace/iteration-1/eval-4/with_skill/outputs/verification-strategy.md +0 -69
  948. package/.agents/skills/work-with-pr-workspace/iteration-1/eval-4/with_skill/timing.json +0 -1
  949. package/.agents/skills/work-with-pr-workspace/iteration-1/eval-4/without_skill/grading.json +0 -10
  950. package/.agents/skills/work-with-pr-workspace/iteration-1/eval-4/without_skill/outputs/code-changes.md +0 -252
  951. package/.agents/skills/work-with-pr-workspace/iteration-1/eval-4/without_skill/outputs/execution-plan.md +0 -83
  952. package/.agents/skills/work-with-pr-workspace/iteration-1/eval-4/without_skill/outputs/pr-description.md +0 -33
  953. package/.agents/skills/work-with-pr-workspace/iteration-1/eval-4/without_skill/outputs/verification-strategy.md +0 -101
  954. package/.agents/skills/work-with-pr-workspace/iteration-1/eval-4/without_skill/timing.json +0 -1
  955. package/.agents/skills/work-with-pr-workspace/iteration-1/eval-5/eval_metadata.json +0 -32
  956. package/.agents/skills/work-with-pr-workspace/iteration-1/eval-5/with_skill/grading.json +0 -10
  957. package/.agents/skills/work-with-pr-workspace/iteration-1/eval-5/with_skill/outputs/code-changes.md +0 -387
  958. package/.agents/skills/work-with-pr-workspace/iteration-1/eval-5/with_skill/outputs/execution-plan.md +0 -112
  959. package/.agents/skills/work-with-pr-workspace/iteration-1/eval-5/with_skill/outputs/pr-description.md +0 -51
  960. package/.agents/skills/work-with-pr-workspace/iteration-1/eval-5/with_skill/outputs/verification-strategy.md +0 -75
  961. package/.agents/skills/work-with-pr-workspace/iteration-1/eval-5/with_skill/timing.json +0 -1
  962. package/.agents/skills/work-with-pr-workspace/iteration-1/eval-5/without_skill/grading.json +0 -10
  963. package/.agents/skills/work-with-pr-workspace/iteration-1/eval-5/without_skill/outputs/code-changes.md +0 -529
  964. package/.agents/skills/work-with-pr-workspace/iteration-1/eval-5/without_skill/outputs/execution-plan.md +0 -127
  965. package/.agents/skills/work-with-pr-workspace/iteration-1/eval-5/without_skill/outputs/pr-description.md +0 -42
  966. package/.agents/skills/work-with-pr-workspace/iteration-1/eval-5/without_skill/outputs/verification-strategy.md +0 -120
  967. package/.agents/skills/work-with-pr-workspace/iteration-1/eval-5/without_skill/timing.json +0 -1
  968. package/.agents/skills/work-with-pr-workspace/iteration-1/review.html +0 -1326
  969. package/.opencode/skills/work-with-pr-workspace/evals/evals.json +0 -76
  970. package/.opencode/skills/work-with-pr-workspace/iteration-1/benchmark.json +0 -138
  971. package/.opencode/skills/work-with-pr-workspace/iteration-1/benchmark.md +0 -42
  972. package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-1/eval_metadata.json +0 -57
  973. package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-1/with_skill/grading.json +0 -15
  974. package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-1/with_skill/outputs/code-changes.md +0 -454
  975. package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-1/with_skill/outputs/execution-plan.md +0 -136
  976. package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-1/with_skill/outputs/pr-description.md +0 -47
  977. package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-1/with_skill/outputs/verification-strategy.md +0 -163
  978. package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-1/with_skill/timing.json +0 -1
  979. package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-1/without_skill/grading.json +0 -15
  980. package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-1/without_skill/outputs/code-changes.md +0 -615
  981. package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-1/without_skill/outputs/execution-plan.md +0 -99
  982. package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-1/without_skill/outputs/pr-description.md +0 -50
  983. package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-1/without_skill/outputs/verification-strategy.md +0 -111
  984. package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-1/without_skill/timing.json +0 -1
  985. package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-2/eval_metadata.json +0 -37
  986. package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-2/with_skill/grading.json +0 -11
  987. package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-2/with_skill/outputs/code-changes.md +0 -205
  988. package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-2/with_skill/outputs/execution-plan.md +0 -78
  989. package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-2/with_skill/outputs/pr-description.md +0 -42
  990. package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-2/with_skill/outputs/verification-strategy.md +0 -87
  991. package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-2/with_skill/timing.json +0 -1
  992. package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-2/without_skill/grading.json +0 -11
  993. package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-2/without_skill/outputs/code-changes.md +0 -334
  994. package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-2/without_skill/outputs/execution-plan.md +0 -86
  995. package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-2/without_skill/outputs/pr-description.md +0 -23
  996. package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-2/without_skill/outputs/verification-strategy.md +0 -119
  997. package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-2/without_skill/timing.json +0 -1
  998. package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-3/eval_metadata.json +0 -32
  999. package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-3/with_skill/grading.json +0 -10
  1000. package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-3/with_skill/outputs/code-changes.md +0 -221
  1001. package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-3/with_skill/outputs/execution-plan.md +0 -104
  1002. package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-3/with_skill/outputs/pr-description.md +0 -41
  1003. package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-3/with_skill/outputs/verification-strategy.md +0 -84
  1004. package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-3/with_skill/timing.json +0 -1
  1005. package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-3/without_skill/grading.json +0 -10
  1006. package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-3/without_skill/outputs/code-changes.md +0 -342
  1007. package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-3/without_skill/outputs/execution-plan.md +0 -131
  1008. package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-3/without_skill/outputs/pr-description.md +0 -39
  1009. package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-3/without_skill/outputs/verification-strategy.md +0 -128
  1010. package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-3/without_skill/timing.json +0 -1
  1011. package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-4/eval_metadata.json +0 -32
  1012. package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-4/with_skill/grading.json +0 -10
  1013. package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-4/with_skill/outputs/code-changes.md +0 -143
  1014. package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-4/with_skill/outputs/execution-plan.md +0 -82
  1015. package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-4/with_skill/outputs/pr-description.md +0 -51
  1016. package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-4/with_skill/outputs/verification-strategy.md +0 -69
  1017. package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-4/with_skill/timing.json +0 -1
  1018. package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-4/without_skill/grading.json +0 -10
  1019. package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-4/without_skill/outputs/code-changes.md +0 -252
  1020. package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-4/without_skill/outputs/execution-plan.md +0 -83
  1021. package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-4/without_skill/outputs/pr-description.md +0 -33
  1022. package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-4/without_skill/outputs/verification-strategy.md +0 -101
  1023. package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-4/without_skill/timing.json +0 -1
  1024. package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-5/eval_metadata.json +0 -32
  1025. package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-5/with_skill/grading.json +0 -10
  1026. package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-5/with_skill/outputs/code-changes.md +0 -387
  1027. package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-5/with_skill/outputs/execution-plan.md +0 -112
  1028. package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-5/with_skill/outputs/pr-description.md +0 -51
  1029. package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-5/with_skill/outputs/verification-strategy.md +0 -75
  1030. package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-5/with_skill/timing.json +0 -1
  1031. package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-5/without_skill/grading.json +0 -10
  1032. package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-5/without_skill/outputs/code-changes.md +0 -529
  1033. package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-5/without_skill/outputs/execution-plan.md +0 -127
  1034. package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-5/without_skill/outputs/pr-description.md +0 -42
  1035. package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-5/without_skill/outputs/verification-strategy.md +0 -120
  1036. package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-5/without_skill/timing.json +0 -1
  1037. package/.opencode/skills/work-with-pr-workspace/iteration-1/review.html +0 -1326
  1038. package/dist/config/schema/codegraph.d.ts +0 -12
  1039. package/dist/config/schema/start-work.d.ts +0 -5
  1040. package/dist/features/builtin-commands/templates/start-work.d.ts +0 -1
  1041. package/dist/features/builtin-skills/index.d.ts +0 -1
  1042. package/dist/features/builtin-skills/skill-file-loader.d.ts +0 -1
  1043. package/dist/features/builtin-skills/skills/agent-browser-skill.d.ts +0 -1
  1044. package/dist/features/builtin-skills/skills/agent-browser-template.d.ts +0 -1
  1045. package/dist/features/builtin-skills/skills/debugging.d.ts +0 -1
  1046. package/dist/features/builtin-skills/skills/dev-browser.d.ts +0 -1
  1047. package/dist/features/builtin-skills/skills/frontend.d.ts +0 -1
  1048. package/dist/features/builtin-skills/skills/git-master-sections/commit-atomic-planning.d.ts +0 -1
  1049. package/dist/features/builtin-skills/skills/git-master-sections/commit-context-analysis.d.ts +0 -1
  1050. package/dist/features/builtin-skills/skills/git-master-sections/commit-execution-verification.d.ts +0 -1
  1051. package/dist/features/builtin-skills/skills/git-master-sections/commit-workflow.d.ts +0 -1
  1052. package/dist/features/builtin-skills/skills/git-master-sections/history-search-workflow.d.ts +0 -1
  1053. package/dist/features/builtin-skills/skills/git-master-sections/overview.d.ts +0 -1
  1054. package/dist/features/builtin-skills/skills/git-master-sections/quick-reference.d.ts +0 -1
  1055. package/dist/features/builtin-skills/skills/git-master-sections/rebase-workflow.d.ts +0 -1
  1056. package/dist/features/builtin-skills/skills/git-master-skill-metadata.d.ts +0 -1
  1057. package/dist/features/builtin-skills/skills/git-master.d.ts +0 -1
  1058. package/dist/features/builtin-skills/skills/index.d.ts +0 -1
  1059. package/dist/features/builtin-skills/skills/init-deep.d.ts +0 -1
  1060. package/dist/features/builtin-skills/skills/playwright-cli.d.ts +0 -1
  1061. package/dist/features/builtin-skills/skills/playwright-mcp-skill.d.ts +0 -1
  1062. package/dist/features/builtin-skills/skills/playwright.d.ts +0 -1
  1063. package/dist/features/builtin-skills/skills/remove-ai-slops.d.ts +0 -1
  1064. package/dist/features/builtin-skills/skills/review-work.d.ts +0 -1
  1065. package/dist/features/builtin-skills/skills/security-research.d.ts +0 -1
  1066. package/dist/features/builtin-skills/skills/security-review.d.ts +0 -1
  1067. package/dist/features/builtin-skills/skills/team-mode.d.ts +0 -1
  1068. package/dist/features/builtin-skills/skills/visual-qa.d.ts +0 -1
  1069. package/dist/features/builtin-skills/skills.d.ts +0 -1
  1070. package/dist/features/builtin-skills/types.d.ts +0 -1
  1071. package/dist/features/claude-code-plugin-loader/agent-loader.d.ts +0 -1
  1072. package/dist/features/claude-code-plugin-loader/command-loader.d.ts +0 -1
  1073. package/dist/features/claude-code-plugin-loader/discovery-core.d.ts +0 -1
  1074. package/dist/features/claude-code-plugin-loader/discovery-paths.d.ts +0 -1
  1075. package/dist/features/claude-code-plugin-loader/discovery.d.ts +0 -1
  1076. package/dist/features/claude-code-plugin-loader/hook-loader.d.ts +0 -1
  1077. package/dist/features/claude-code-plugin-loader/index.d.ts +0 -1
  1078. package/dist/features/claude-code-plugin-loader/install-path-resolver.d.ts +0 -1
  1079. package/dist/features/claude-code-plugin-loader/installed-plugin-database.d.ts +0 -1
  1080. package/dist/features/claude-code-plugin-loader/loaded-plugin.d.ts +0 -1
  1081. package/dist/features/claude-code-plugin-loader/loader.d.ts +0 -1
  1082. package/dist/features/claude-code-plugin-loader/mcp-server-loader.d.ts +0 -1
  1083. package/dist/features/claude-code-plugin-loader/plugin-key.d.ts +0 -1
  1084. package/dist/features/claude-code-plugin-loader/plugin-manifest.d.ts +0 -1
  1085. package/dist/features/claude-code-plugin-loader/plugin-path-resolver.d.ts +0 -1
  1086. package/dist/features/claude-code-plugin-loader/plugin-settings.d.ts +0 -1
  1087. package/dist/features/claude-code-plugin-loader/scope-filter.d.ts +0 -1
  1088. package/dist/features/claude-code-plugin-loader/skill-loader.d.ts +0 -1
  1089. package/dist/features/claude-code-plugin-loader/types.d.ts +0 -1
  1090. package/dist/hooks/codegraph-bootstrap/command-runner.d.ts +0 -17
  1091. package/dist/hooks/codegraph-bootstrap/hook.d.ts +0 -35
  1092. package/dist/hooks/codegraph-bootstrap/index.d.ts +0 -1
  1093. package/dist/hooks/codegraph-bootstrap/project-root.d.ts +0 -1
  1094. package/dist/hooks/codegraph-bootstrap/status.d.ts +0 -11
  1095. package/dist/hooks/ralph-loop/completion-promise-detector-test-input.d.ts +0 -11
  1096. package/dist/hooks/ralph-loop/loop-session-recovery.d.ts +0 -7
  1097. package/dist/hooks/start-work/start-work-hook.d.ts +0 -23
  1098. package/dist/mcp/codegraph.d.ts +0 -16
  1099. package/dist/plugin/chat-message/start-work-message.d.ts +0 -5
  1100. package/dist/shared/prompt-async-gate/message-inspection-error.d.ts +0 -1
  1101. package/dist/shared/prompt-async-gate/pending-tool-turn.d.ts +0 -1
  1102. package/dist/shared/prompt-async-gate/prompt-message-state.d.ts +0 -1
  1103. package/dist/shared/prompt-async-gate/queue.d.ts +0 -1
  1104. package/dist/shared/prompt-async-gate/recent-dispatches.d.ts +0 -1
  1105. package/dist/shared/prompt-async-gate/reservations.d.ts +0 -1
  1106. package/dist/shared/prompt-async-gate/semantic-dedupe.d.ts +0 -1
  1107. package/dist/shared/prompt-async-gate/session-idle-dispatch.d.ts +0 -1
  1108. package/dist/shared/prompt-async-gate/timing.d.ts +0 -1
  1109. package/dist/shared/prompt-async-gate/types.d.ts +0 -1
  1110. package/dist/skills/data-scientist/references/common-scenarios.md +0 -176
  1111. package/dist/skills/data-scientist/references/execution-templates.md +0 -197
  1112. package/dist/skills/data-scientist/references/integration-patterns.md +0 -153
  1113. package/dist/skills/data-scientist/references/performance-benchmarks.md +0 -37
  1114. package/dist/skills/visual-qa/references/agent-browser-setup.md +0 -45
  1115. package/dist/tools/call-omo-agent/background-agent-executor.d.ts +0 -5
  1116. package/dist/tools/call-omo-agent/message-storage-directory.d.ts +0 -1
  1117. package/dist/tools/delegate-task/anthropic-categories.d.ts +0 -2
  1118. package/dist/tools/delegate-task/model-string-parser.d.ts +0 -1
  1119. package/packages/lsp-tools-mcp/dist/lsp/cleanup-errors.d.ts +0 -1
  1120. package/packages/lsp-tools-mcp/dist/lsp/constants.d.ts +0 -1
  1121. package/packages/lsp-tools-mcp/dist/lsp/language-mappings.d.ts +0 -1
  1122. package/packages/lsp-tools-mcp/dist/lsp/process-signal-cleanup.d.ts +0 -1
  1123. package/packages/lsp-tools-mcp/dist/missing-dependency-result.d.ts +0 -1
  1124. package/packages/omo-codex/plugin/components/codegraph/AGENTS.md +0 -58
  1125. package/packages/omo-codex/plugin/components/codegraph/NODE-RUNTIME-LICENSES.md +0 -2951
  1126. package/packages/omo-codex/plugin/components/codegraph/NOTICE +0 -16
  1127. package/packages/omo-codex/plugin/components/codegraph/dist/cli.js +0 -12244
  1128. package/packages/omo-codex/plugin/components/codegraph/dist/serve.js +0 -9842
  1129. package/packages/omo-codex/plugin/components/codegraph/package.json +0 -33
  1130. package/packages/omo-codex/plugin/components/codegraph/src/cache-gc.ts +0 -29
  1131. package/packages/omo-codex/plugin/components/codegraph/src/cli.ts +0 -79
  1132. package/packages/omo-codex/plugin/components/codegraph/src/hook-input.ts +0 -33
  1133. package/packages/omo-codex/plugin/components/codegraph/src/hook-sweep.ts +0 -25
  1134. package/packages/omo-codex/plugin/components/codegraph/src/hook-types.ts +0 -131
  1135. package/packages/omo-codex/plugin/components/codegraph/src/hook.ts +0 -258
  1136. package/packages/omo-codex/plugin/components/codegraph/src/mcp-bridge.ts +0 -309
  1137. package/packages/omo-codex/plugin/components/codegraph/src/mcp-unavailable.ts +0 -80
  1138. package/packages/omo-codex/plugin/components/codegraph/src/post-tool-use-hook.ts +0 -34
  1139. package/packages/omo-codex/plugin/components/codegraph/src/serve-invocation.ts +0 -29
  1140. package/packages/omo-codex/plugin/components/codegraph/src/serve.ts +0 -263
  1141. package/packages/omo-codex/plugin/components/codegraph/src/session-start-command.ts +0 -106
  1142. package/packages/omo-codex/plugin/components/codegraph/src/session-start-cooldown.ts +0 -145
  1143. package/packages/omo-codex/plugin/components/codegraph/src/session-start-hook-runtime.ts +0 -21
  1144. package/packages/omo-codex/plugin/components/codegraph/src/session-start-lock.ts +0 -139
  1145. package/packages/omo-codex/plugin/components/codegraph/src/session-start-outcome.ts +0 -15
  1146. package/packages/omo-codex/plugin/components/codegraph/src/session-start-paths.ts +0 -32
  1147. package/packages/omo-codex/plugin/components/codegraph/src/session-start-project.ts +0 -109
  1148. package/packages/omo-codex/plugin/components/codegraph/src/session-start-worker-result.ts +0 -148
  1149. package/packages/omo-codex/plugin/components/codegraph/src/session-start-worker.ts +0 -175
  1150. package/packages/omo-codex/plugin/components/codegraph/src/sweep-cli.ts +0 -81
  1151. package/packages/omo-codex/plugin/components/codegraph/test/cache-gc.test.ts +0 -34
  1152. package/packages/omo-codex/plugin/components/codegraph/test/hook-exclusion.test.ts +0 -112
  1153. package/packages/omo-codex/plugin/components/codegraph/test/hook-registration.test.ts +0 -26
  1154. package/packages/omo-codex/plugin/components/codegraph/test/hook-session-start-guard.test.ts +0 -160
  1155. package/packages/omo-codex/plugin/components/codegraph/test/hook-store-upgrade.test.ts +0 -50
  1156. package/packages/omo-codex/plugin/components/codegraph/test/hook-sweep.test.ts +0 -29
  1157. package/packages/omo-codex/plugin/components/codegraph/test/hook.test.ts +0 -320
  1158. package/packages/omo-codex/plugin/components/codegraph/test/mcp-bridge-fixtures.ts +0 -172
  1159. package/packages/omo-codex/plugin/components/codegraph/test/package-runtime.test.ts +0 -91
  1160. package/packages/omo-codex/plugin/components/codegraph/test/provisioned-node-guard.test.ts +0 -100
  1161. package/packages/omo-codex/plugin/components/codegraph/test/serve-built-wrapper.test.ts +0 -76
  1162. package/packages/omo-codex/plugin/components/codegraph/test/serve-mcp-bridge-lifecycle.test.ts +0 -133
  1163. package/packages/omo-codex/plugin/components/codegraph/test/serve-mcp-bridge.test.ts +0 -245
  1164. package/packages/omo-codex/plugin/components/codegraph/test/serve-mcp-facade.test.ts +0 -69
  1165. package/packages/omo-codex/plugin/components/codegraph/test/serve-node-support.test.ts +0 -43
  1166. package/packages/omo-codex/plugin/components/codegraph/test/serve-provision.test.ts +0 -147
  1167. package/packages/omo-codex/plugin/components/codegraph/test/serve-unavailable.test.ts +0 -175
  1168. package/packages/omo-codex/plugin/components/codegraph/test/serve.test.ts +0 -385
  1169. package/packages/omo-codex/plugin/components/codegraph/test/session-start-node-support.test.ts +0 -206
  1170. package/packages/omo-codex/plugin/components/codegraph/test/session-start-project.test.ts +0 -58
  1171. package/packages/omo-codex/plugin/components/codegraph/test/session-start-state.test.ts +0 -104
  1172. package/packages/omo-codex/plugin/components/codegraph/test/session-start-trust-boundary.test.ts +0 -65
  1173. package/packages/omo-codex/plugin/components/codegraph/test/session-start-worker-availability.test.ts +0 -106
  1174. package/packages/omo-codex/plugin/components/codegraph/test/session-start-worker-cooldown.test.ts +0 -116
  1175. package/packages/omo-codex/plugin/components/codegraph/test/session-start-worker-flow.test.ts +0 -258
  1176. package/packages/omo-codex/plugin/components/codegraph/test/sweep-cli.test.ts +0 -56
  1177. package/packages/omo-codex/plugin/components/codegraph/tsconfig.build.json +0 -13
  1178. package/packages/omo-codex/plugin/components/codegraph/tsconfig.json +0 -25
  1179. package/packages/omo-codex/plugin/components/start-work-continuation/LICENSE +0 -21
  1180. package/packages/omo-codex/plugin/components/start-work-continuation/hooks/hooks.json +0 -28
  1181. package/packages/omo-codex/plugin/components/ultrawork/directive.md +0 -477
  1182. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-codegraph-init-guidance.json +0 -18
  1183. package/packages/omo-codex/plugin/hooks/session-start-checking-codegraph-bootstrap.json +0 -17
  1184. package/packages/omo-codex/plugin/hooks/stop-checking-start-work-continuation.json +0 -17
  1185. package/packages/omo-codex/plugin/hooks/subagent-stop-checking-start-work-continuation.json +0 -17
  1186. package/packages/omo-codex/plugin/scripts/migrate-omo-sot/editor.mjs +0 -125
  1187. package/packages/omo-codex/plugin/scripts/migrate-omo-sot/jsonc.mjs +0 -43
  1188. package/packages/omo-codex/plugin/scripts/migrate-omo-sot/scaffold.mjs +0 -29
  1189. package/packages/omo-codex/plugin/scripts/migrate-omo-sot.mjs +0 -121
  1190. package/packages/omo-codex/plugin/skills/data-scientist/references/common-scenarios.md +0 -176
  1191. package/packages/omo-codex/plugin/skills/data-scientist/references/execution-templates.md +0 -197
  1192. package/packages/omo-codex/plugin/skills/data-scientist/references/integration-patterns.md +0 -153
  1193. package/packages/omo-codex/plugin/skills/data-scientist/references/performance-benchmarks.md +0 -37
  1194. package/packages/omo-codex/plugin/skills/start-work/agents/openai.yaml +0 -2
  1195. package/packages/omo-codex/plugin/skills/visual-qa/references/agent-browser-setup.md +0 -45
  1196. package/packages/omo-codex/plugin/test/aggregate-skills.test.mjs +0 -92
  1197. package/packages/omo-codex/plugin/test/component-codegraph-mcp-smoke.test.mjs +0 -76
  1198. package/packages/omo-codex/plugin/test/migrate-omo-sot.test.mjs +0 -179
  1199. package/packages/omo-codex/plugin/test/sync-skills-orchestration.test.mjs +0 -314
  1200. package/packages/omo-codex/plugin/test/ulw-plan-scope-contract.test.mjs +0 -24
  1201. package/packages/shared-skills/skills/data-scientist/references/common-scenarios.md +0 -176
  1202. package/packages/shared-skills/skills/data-scientist/references/execution-templates.md +0 -197
  1203. package/packages/shared-skills/skills/data-scientist/references/integration-patterns.md +0 -153
  1204. package/packages/shared-skills/skills/data-scientist/references/performance-benchmarks.md +0 -37
  1205. package/packages/shared-skills/skills/visual-qa/references/agent-browser-setup.md +0 -45
  1206. /package/dist/hooks/{start-work → ulw-execute}/context-info-formatters.d.ts +0 -0
  1207. /package/dist/hooks/{start-work → ulw-execute}/explicit-plan-context.d.ts +0 -0
  1208. /package/dist/hooks/{start-work → ulw-execute}/notepad-scaffold.d.ts +0 -0
  1209. /package/dist/hooks/{start-work → ulw-execute}/parse-user-request.d.ts +0 -0
  1210. /package/dist/hooks/{start-work → ulw-execute}/plan-discovery-context.d.ts +0 -0
  1211. /package/dist/hooks/{start-work → ulw-execute}/plan-selection.d.ts +0 -0
  1212. /package/dist/hooks/{start-work → ulw-execute}/session-plan-affinity.d.ts +0 -0
  1213. /package/dist/hooks/{start-work → ulw-execute}/work-initializer.d.ts +0 -0
  1214. /package/dist/hooks/{start-work → ulw-execute}/worktree-block.d.ts +0 -0
  1215. /package/dist/hooks/{start-work → ulw-execute}/worktree-detector.d.ts +0 -0
  1216. /package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/.gitattributes +0 -0
  1217. /package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/CHANGELOG.md +0 -0
  1218. /package/packages/omo-codex/plugin/components/{codegraph → ulw-execute-continuation}/LICENSE +0 -0
  1219. /package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/src/plan-checklist.ts +0 -0
  1220. /package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/test/fixtures/boulder-completed.json +0 -0
  1221. /package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/test/fixtures/boulder-mixed-platforms.json +0 -0
  1222. /package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/test/fixtures/boulder-single-codex-work.json +0 -0
  1223. /package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/test/fixtures/plan-all-done.md +0 -0
  1224. /package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/test/fixtures/plan-scaffold.md +0 -0
  1225. /package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/test/fixtures/plan-with-nested-checkboxes.md +0 -0
  1226. /package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/test/fixtures/plan-with-unchecked.md +0 -0
  1227. /package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/tsconfig.build.json +0 -0
  1228. /package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/tsconfig.json +0 -0
  1229. /package/packages/omo-codex/plugin/components/{start-work-continuation → ulw-execute-continuation}/vitest.config.ts +0 -0
@@ -1,320 +0,0 @@
1
- import { describe, expect, it } from "bun:test";
2
- import { mkdirSync, mkdtempSync, rmSync, writeFileSync } from "node:fs";
3
- import { tmpdir } from "node:os";
4
- import { join, resolve } from "node:path";
5
- import { Readable } from "node:stream";
6
- import { fileURLToPath } from "node:url";
7
-
8
- import { runCodegraphCli } from "../src/cli.ts";
9
- import {
10
- executeCodegraphSessionStartHook,
11
- runCodegraphPostToolUseHook,
12
- type WorkerSpawnInvocation,
13
- } from "../src/hook.ts";
14
-
15
- const pluginRoot = resolve(fileURLToPath(new URL("../../..", import.meta.url)));
16
-
17
- function createAllowedWorkspace(prefix: string): string {
18
- return mkdtempSync(join(pluginRoot, `.tmp-${prefix}-`));
19
- }
20
-
21
- function expectOmoCodegraphProjectStoreGuidance(context: string): void {
22
- expect(context).toContain(".omo");
23
- expect(context).toContain("codegraph");
24
- expect(context).toContain("projects");
25
- expect(context).toContain("project-");
26
- }
27
-
28
- describe("CodeGraph SessionStart hook", () => {
29
- it("#given hook session-start cli args #when invoked with empty JSON input #then it emits valid JSON and exits zero", async () => {
30
- // given
31
- const stdout: string[] = [];
32
- const spawned: WorkerSpawnInvocation[] = [];
33
- const homeDir = mkdtempSync(join(tmpdir(), "omo-codegraph-hook-home-"));
34
- try {
35
- // when
36
- const exitCode = await runCodegraphCli({
37
- argv: ["node", "cli.js", "hook", "session-start"],
38
- cwd: createAllowedWorkspace("codegraph-hook-workspace"),
39
- env: { HOME: homeDir },
40
- stdin: Readable.from(["{}"]),
41
- stdout: { write: (chunk) => stdout.push(chunk) },
42
- ancestorProbe: () => ({ kind: "uninitialized" }),
43
- spawnWorker: (invocation) => spawned.push(invocation),
44
- sweepZombies: () => undefined,
45
- });
46
-
47
- // then
48
- expect(exitCode).toBe(0);
49
- expect(spawned).toHaveLength(1);
50
- const parsed = JSON.parse(stdout.join(""));
51
- expect(parsed).toEqual({
52
- hookSpecificOutput: {
53
- hookEventName: "SessionStart",
54
- additionalContext: "LazyCodex CodeGraph bootstrap scheduled in background",
55
- },
56
- });
57
- } finally {
58
- rmSync(homeDir, { recursive: true, force: true });
59
- }
60
- });
61
-
62
- it("#given CodeGraph MCP reports an uninitialized project #when PostToolUse fires #then it emits OMO global-store init guidance", async () => {
63
- // given
64
- const output = runCodegraphPostToolUseHook(
65
- {
66
- cwd: "/Users/me/project",
67
- tool_name: "codegraph.codegraph_status",
68
- tool_response: {
69
- error: [
70
- "Tool execution failed: CodeGraph not initialized in /Users/me/project.",
71
- "Run 'codegraph init' in that project first.",
72
- ].join(" "),
73
- },
74
- },
75
- { homeDir: "/Users/me" },
76
- );
77
-
78
- // when
79
- const parsed = JSON.parse(output);
80
-
81
- // then
82
- expect(parsed.hookSpecificOutput.hookEventName).toBe("PostToolUse");
83
- expect(parsed.hookSpecificOutput.additionalContext).toContain('CodeGraph is not initialized for "/Users/me/project"');
84
- expectOmoCodegraphProjectStoreGuidance(parsed.hookSpecificOutput.additionalContext);
85
- expect(parsed.hookSpecificOutput.additionalContext).toContain('run `codegraph init` from "/Users/me/project"');
86
- });
87
-
88
- it("#given real CodeGraph status output has no MCP path phrase #when PostToolUse fires #then it emits OMO global-store init guidance", async () => {
89
- // given
90
- const output = runCodegraphPostToolUseHook(
91
- {
92
- cwd: "/Users/me/project",
93
- tool_name: "mcp__codegraph__codegraph_status",
94
- tool_response: ['Project: /Users/me/project', "Not initialized", 'Run "codegraph init" to initialize'].join("\n"),
95
- },
96
- { homeDir: "/Users/me" },
97
- );
98
-
99
- // when
100
- const parsed = JSON.parse(output);
101
-
102
- // then
103
- expect(parsed.hookSpecificOutput.additionalContext).toContain('CodeGraph is not initialized for "/Users/me/project"');
104
- expectOmoCodegraphProjectStoreGuidance(parsed.hookSpecificOutput.additionalContext);
105
- });
106
-
107
- it("#given CodeGraph is disabled by Codex SOT config #when SessionStart fires #then it skips without spawning", async () => {
108
- // given
109
- const stdout: string[] = [];
110
- const spawned: WorkerSpawnInvocation[] = [];
111
-
112
- // when
113
- const result = await executeCodegraphSessionStartHook({
114
- config: { codegraph: { enabled: false }, sources: [], warnings: [] },
115
- env: {},
116
- stdin: Readable.from(["{}"]),
117
- stdout: { write: (chunk) => stdout.push(chunk) },
118
- sweepZombies: () => undefined,
119
- spawnWorker: (invocation) => spawned.push(invocation),
120
- });
121
-
122
- // then
123
- expect(result).toEqual({ action: "skipped-disabled", exitCode: 0 });
124
- expect(spawned).toEqual([]);
125
- expect(stdout.join("")).toBe("");
126
- });
127
-
128
- it("#given HOME OMO config disables Codex CodeGraph #when SessionStart fires #then it skips without spawning", async () => {
129
- // given
130
- const homeDir = mkdtempSync(join(tmpdir(), "omo-codegraph-sot-home-"));
131
- const workspace = mkdtempSync(join(tmpdir(), "omo-codegraph-sot-workspace-"));
132
- const stdout: string[] = [];
133
- const spawned: WorkerSpawnInvocation[] = [];
134
- try {
135
- mkdirSync(join(homeDir, ".omo"), { recursive: true });
136
- writeFileSync(
137
- join(homeDir, ".omo", "omo.jsonc"),
138
- '{ "codegraph": { "enabled": true }, "[codex]": { "codegraph": { "enabled": false } } }\n',
139
- );
140
-
141
- // when
142
- const result = await executeCodegraphSessionStartHook({
143
- cwd: workspace,
144
- env: { HOME: homeDir },
145
- stdin: Readable.from(["{}"]),
146
- stdout: { write: (chunk) => stdout.push(chunk) },
147
- sweepZombies: () => undefined,
148
- spawnWorker: (invocation) => spawned.push(invocation),
149
- });
150
-
151
- // then
152
- expect(result).toEqual({ action: "skipped-disabled", exitCode: 0 });
153
- expect(spawned).toEqual([]);
154
- expect(stdout.join("")).toBe("");
155
- } finally {
156
- rmSync(homeDir, { recursive: true, force: true });
157
- rmSync(workspace, { recursive: true, force: true });
158
- }
159
- });
160
-
161
- it("#given project Codex SOT disables global CodeGraph enablement #when SessionStart fires #then project config wins", async () => {
162
- // given
163
- const homeDir = mkdtempSync(join(tmpdir(), "omo-codegraph-project-sot-home-"));
164
- const workspace = mkdtempSync(join(tmpdir(), "omo-codegraph-project-sot-workspace-"));
165
- const stdout: string[] = [];
166
- const spawned: WorkerSpawnInvocation[] = [];
167
- try {
168
- mkdirSync(join(homeDir, ".omo"), { recursive: true });
169
- mkdirSync(join(workspace, ".omo"), { recursive: true });
170
- writeFileSync(join(homeDir, ".omo", "omo.jsonc"), '{ "codegraph": { "enabled": true } }\n');
171
- writeFileSync(join(workspace, ".omo", "omo.jsonc"), '{ "[codex]": { "codegraph": { "enabled": false } } }\n');
172
-
173
- // when
174
- const result = await executeCodegraphSessionStartHook({
175
- cwd: workspace,
176
- env: { HOME: homeDir },
177
- stdin: Readable.from(["{}"]),
178
- stdout: { write: (chunk) => stdout.push(chunk) },
179
- sweepZombies: () => undefined,
180
- spawnWorker: (invocation) => spawned.push(invocation),
181
- });
182
-
183
- // then
184
- expect(result).toEqual({ action: "skipped-disabled", exitCode: 0 });
185
- expect(spawned).toEqual([]);
186
- expect(stdout.join("")).toBe("");
187
- } finally {
188
- rmSync(homeDir, { recursive: true, force: true });
189
- rmSync(workspace, { recursive: true, force: true });
190
- }
191
- });
192
-
193
- it("#given env disables CodeGraph over SOT enablement #when SessionStart fires #then it skips without spawning", async () => {
194
- // given
195
- const homeDir = mkdtempSync(join(tmpdir(), "omo-codegraph-env-home-"));
196
- const stdout: string[] = [];
197
- const spawned: WorkerSpawnInvocation[] = [];
198
- try {
199
- mkdirSync(join(homeDir, ".omo"), { recursive: true });
200
- writeFileSync(join(homeDir, ".omo", "omo.jsonc"), '{ "codegraph": { "enabled": true } }\n');
201
-
202
- // when
203
- const result = await executeCodegraphSessionStartHook({
204
- env: { CODEX_CODEGRAPH_ENABLED: "0", HOME: homeDir },
205
- stdin: Readable.from(["{}"]),
206
- stdout: { write: (chunk) => stdout.push(chunk) },
207
- sweepZombies: () => undefined,
208
- spawnWorker: (invocation) => spawned.push(invocation),
209
- });
210
-
211
- // then
212
- expect(result).toEqual({ action: "skipped-disabled", exitCode: 0 });
213
- expect(spawned).toEqual([]);
214
- } finally {
215
- rmSync(homeDir, { recursive: true, force: true });
216
- }
217
- });
218
-
219
- it("#given CodeGraph is enabled #when SessionStart fires #then it detaches a background worker immediately", async () => {
220
- // given
221
- const stdout: string[] = [];
222
- const spawned: WorkerSpawnInvocation[] = [];
223
- const workspace = createAllowedWorkspace("codegraph-workspace");
224
- const homeDir = mkdtempSync(join(tmpdir(), "omo-codegraph-spawn-home-"));
225
-
226
- try {
227
- // when
228
- const result = await executeCodegraphSessionStartHook({
229
- ancestorProbe: () => ({ kind: "uninitialized" }),
230
- config: { codegraph: { enabled: true }, sources: [], warnings: [] },
231
- cwd: workspace,
232
- env: { HOME: homeDir, KEEP: "1", OPENAI_API_KEY: "sk-test-secret" },
233
- stdin: Readable.from(["{}"]),
234
- stdout: { write: (chunk) => stdout.push(chunk) },
235
- spawnWorker: (invocation) => {
236
- spawned.push(invocation);
237
- },
238
- sweepZombies: () => undefined,
239
- workerCliPath: "/plugin/components/codegraph/dist/cli.js",
240
- });
241
-
242
- // then
243
- expect(result).toEqual({ action: "spawned", exitCode: 0 });
244
- expect(spawned).toHaveLength(1);
245
- expect(spawned[0]?.args).toEqual(["/plugin/components/codegraph/dist/cli.js", "hook", "session-start-worker"]);
246
- expect(spawned[0]?.command).toBe(process.execPath);
247
- expect(spawned[0]?.env["HOME"]).toBe(homeDir);
248
- expect(spawned[0]?.env["OMO_CODEGRAPH_SESSION_START_CWD"]).toBe(workspace);
249
- expect(spawned[0]?.env["OMO_CODEGRAPH_SESSION_START_LOCK_TOKEN"]).toMatch(/^[0-9a-f-]{36}$/);
250
- expect(spawned[0]?.env["OPENAI_API_KEY"]).toBeUndefined();
251
- expect(spawned[0]?.env["KEEP"]).toBeUndefined();
252
- expect(JSON.parse(stdout.join(""))).toEqual({
253
- hookSpecificOutput: {
254
- additionalContext: "LazyCodex CodeGraph bootstrap scheduled in background",
255
- hookEventName: "SessionStart",
256
- },
257
- });
258
- } finally {
259
- rmSync(homeDir, { recursive: true, force: true });
260
- rmSync(workspace, { recursive: true, force: true });
261
- }
262
- });
263
-
264
- it("#given CodeGraph is already initialized #when SessionStart fires #then it stays silent without spawning", async () => {
265
- // given
266
- const stdout: string[] = [];
267
- const spawned: WorkerSpawnInvocation[] = [];
268
- const workspace = createAllowedWorkspace("codegraph-initialized-workspace");
269
- const homeDir = mkdtempSync(join(tmpdir(), "omo-codegraph-initialized-home-"));
270
-
271
- try {
272
- mkdirSync(join(workspace, ".codegraph"), { recursive: true });
273
- writeFileSync(join(workspace, ".codegraph", "codegraph.db"), "fixture");
274
-
275
- // when
276
- const result = await executeCodegraphSessionStartHook({
277
- ancestorProbe: () => {
278
- throw new Error("an initialized exact root must not invoke any fallback probe");
279
- },
280
- config: { codegraph: { enabled: true }, sources: [], warnings: [] },
281
- cwd: workspace,
282
- env: { HOME: homeDir, KEEP: "1" },
283
- stdin: Readable.from(["{}"]),
284
- stdout: { write: (chunk) => stdout.push(chunk) },
285
- sweepZombies: () => undefined,
286
- spawnWorker: (invocation) => spawned.push(invocation),
287
- });
288
-
289
- // then
290
- expect(result).toEqual({ action: "skipped-initialized", exitCode: 0 });
291
- expect(spawned).toEqual([]);
292
- expect(stdout.join("")).toBe("");
293
- } finally {
294
- rmSync(homeDir, { recursive: true, force: true });
295
- rmSync(workspace, { recursive: true, force: true });
296
- }
297
- });
298
-
299
- it("#given malformed hook input with CodeGraph disabled #when SessionStart fires #then it stays silent and exits zero", async () => {
300
- // given
301
- const stdout: string[] = [];
302
- const spawned: WorkerSpawnInvocation[] = [];
303
-
304
- // when
305
- const result = await executeCodegraphSessionStartHook({
306
- config: { codegraph: { enabled: false }, sources: [], warnings: [] },
307
- env: {},
308
- stdin: Readable.from(["{not-json"]),
309
- stdout: { write: (chunk) => stdout.push(chunk) },
310
- sweepZombies: () => undefined,
311
- spawnWorker: (invocation) => spawned.push(invocation),
312
- });
313
-
314
- // then
315
- expect(result.exitCode).toBe(0);
316
- expect(spawned).toEqual([]);
317
- expect(stdout.join("")).toBe("");
318
- });
319
-
320
- });
@@ -1,172 +0,0 @@
1
- import { chmodSync, writeFileSync } from "node:fs";
2
-
3
- export const CODEGRAPH_150_DEFAULT_TOOLS: readonly Record<string, unknown>[] = [
4
- {
5
- name: "codegraph_explore",
6
- description:
7
- "PRIMARY TOOL — call FIRST for almost any question OR before an edit: how does X work, architecture, a bug, where/what is X, surveying an area, or the symbols you are about to change. Returns the verbatim source of the relevant symbols grouped by file in ONE capped call (Read-equivalent — treat the shown source as already Read; do NOT re-open those files), plus the call path among them. Query can be a natural-language question OR a bag of symbol/file names. Usually the ONLY call you need — more accurate context, in far fewer tokens and round-trips than a search/Read/Grep loop.",
8
- inputSchema: {
9
- type: "object",
10
- properties: {
11
- query: {
12
- type: "string",
13
- description:
14
- 'Symbol names, file names, or short code terms to explore (e.g., "AuthService loginUser session-manager", "GraphTraverser BFS impact traversal.ts"). For a flow question, name the symbols spanning the flow (e.g. "mutateElement renderScene"). A natural-language question works too — no prior codegraph_search needed.',
15
- },
16
- maxFiles: {
17
- type: "number",
18
- description: "Maximum number of files to include source code from (default: 12)",
19
- default: 12,
20
- },
21
- projectPath: {
22
- type: "string",
23
- description:
24
- "Absolute path to the project to query (or any directory inside it) — codegraph uses the nearest .codegraph/ index at or above that path. Omit to use this session's default project. Pass it to query a second codebase, or when the server root has no index of its own (e.g. a monorepo where only sub-projects are indexed, so there is no default project).",
25
- },
26
- },
27
- required: ["query"],
28
- },
29
- },
30
- ];
31
-
32
- export function writeFakeNewlineCodegraph(filePath: string): void {
33
- writeFileSync(
34
- filePath,
35
- [
36
- "#!/usr/bin/env node",
37
- "const fs = require('node:fs');",
38
- "const readline = require('node:readline');",
39
- "fs.writeFileSync(process.env.CODEGRAPH_FAKE_LOG, `cwd=${process.cwd()}\\n`);",
40
- "const rl = readline.createInterface({ input: process.stdin });",
41
- "rl.on('line', (line) => {",
42
- " const request = JSON.parse(line);",
43
- " if (request.method === 'initialize') {",
44
- " process.stdout.write(JSON.stringify({ jsonrpc: '2.0', id: request.id, result: { capabilities: { tools: { listChanged: false } }, protocolVersion: request.params.protocolVersion, serverInfo: { name: 'codegraph', version: '1.5.0' } } }) + '\\n');",
45
- " }",
46
- " if (request.method === 'tools/list') {",
47
- ` process.stdout.write(JSON.stringify({ jsonrpc: '2.0', id: request.id, result: { tools: ${JSON.stringify(CODEGRAPH_150_DEFAULT_TOOLS)} } }) + '\\n');`,
48
- " }",
49
- "});",
50
- ].join("\n"),
51
- );
52
- chmodSync(filePath, 0o755);
53
- }
54
-
55
- export function writeFakeContractCodegraph(filePath: string): void {
56
- writeFileSync(
57
- filePath,
58
- [
59
- "#!/usr/bin/env node",
60
- "const fs = require('node:fs');",
61
- "const readline = require('node:readline');",
62
- "fs.writeFileSync(process.env.CODEGRAPH_FAKE_LOG, `cwd=${process.cwd()}\\n`);",
63
- "const rl = readline.createInterface({ input: process.stdin });",
64
- "rl.on('line', (line) => {",
65
- " const request = JSON.parse(line);",
66
- " if (request.method === 'tools/list') {",
67
- " process.stdout.write(JSON.stringify({ jsonrpc: '2.0', id: request.id, result: { tools: [",
68
- " { name: 'codegraph_search', description: 'search stays unchanged' },",
69
- " { name: 'codegraph_node', description: 'ONE SYMBOL you can name - its location, signature, verbatim source (includeCode=true) and caller/callee trail in one call', inputSchema: { type: 'object', properties: { includeCode: { type: 'boolean', description: \"Symbol mode: include the symbol's full body (default: false).\" }, symbol: { type: 'string' } } } }",
70
- " ] } }) + '\\n');",
71
- " }",
72
- " if (request.method === 'tools/call') {",
73
- " process.stdout.write(JSON.stringify({ jsonrpc: '2.0', id: request.id, result: { content: [{ type: 'text', text: 'JsonlMCP\\nMembers (7)\\nStructural outline only. For full source, use the Read tool on this file or request a member.' }] } }) + '\\n');",
74
- " }",
75
- "});",
76
- ].join("\n"),
77
- );
78
- chmodSync(filePath, 0o755);
79
- }
80
-
81
- export function writeFakeHeldOpenCodegraph(filePath: string): void {
82
- writeFileSync(
83
- filePath,
84
- [
85
- "#!/usr/bin/env node",
86
- "const fs = require('node:fs');",
87
- "const readline = require('node:readline');",
88
- "fs.writeFileSync(process.env.CODEGRAPH_FAKE_LOG, String(process.pid));",
89
- "const rl = readline.createInterface({ input: process.stdin });",
90
- "rl.once('line', (line) => {",
91
- " const request = JSON.parse(line);",
92
- " process.stdout.write(JSON.stringify({ jsonrpc: '2.0', id: request.id, result: { ok: true } }) + '\\n');",
93
- "});",
94
- "setInterval(() => {}, 1000);",
95
- ].join("\n"),
96
- );
97
- chmodSync(filePath, 0o755);
98
- }
99
-
100
- export function writeFakeExitingCodegraph(filePath: string): void {
101
- writeFileSync(
102
- filePath,
103
- [
104
- "#!/usr/bin/env node",
105
- "const readline = require('node:readline');",
106
- "const rl = readline.createInterface({ input: process.stdin });",
107
- "rl.once('line', (line) => {",
108
- " const request = JSON.parse(line);",
109
- " process.stdout.write(JSON.stringify({ jsonrpc: '2.0', id: request.id, result: { ok: true } }) + '\\n', () => process.exit(0));",
110
- "});",
111
- ].join("\n"),
112
- );
113
- chmodSync(filePath, 0o755);
114
- }
115
-
116
- export function frameMcpRequest(request: {
117
- readonly id: number;
118
- readonly method: string;
119
- readonly params: Record<string, unknown>;
120
- }): string {
121
- const body = JSON.stringify({ jsonrpc: "2.0", ...request });
122
- return `Content-Length: ${Buffer.byteLength(body)}\r\n\r\n${body}`;
123
- }
124
-
125
- export function parseMcpBodies(transcript: string): readonly unknown[] {
126
- const bodies: unknown[] = [];
127
- let cursor = 0;
128
- while (cursor < transcript.length) {
129
- const headerEnd = transcript.indexOf("\r\n\r\n", cursor);
130
- if (headerEnd === -1) break;
131
- const header = transcript.slice(cursor, headerEnd);
132
- const match = /^Content-Length: (?<length>\d+)$/m.exec(header);
133
- if (match?.groups?.["length"] === undefined) break;
134
- const length = Number.parseInt(match.groups["length"], 10);
135
- const bodyStart = headerEnd + 4;
136
- const body = transcript.slice(bodyStart, bodyStart + length);
137
- bodies.push(JSON.parse(body));
138
- cursor = bodyStart + length;
139
- }
140
- return bodies;
141
- }
142
-
143
- export function findTool(tools: readonly unknown[], name: string): Record<string, unknown> {
144
- for (const tool of tools) {
145
- const record = recordValue(tool);
146
- if (record["name"] === name) return record;
147
- }
148
- throw new Error(`Missing tool ${name}`);
149
- }
150
-
151
- export function arrayProperty(record: Record<string, unknown>, key: string): readonly unknown[] {
152
- const value = record[key];
153
- if (!Array.isArray(value)) throw new Error(`Expected ${key} to be an array`);
154
- return value;
155
- }
156
-
157
- export function recordProperty(record: Record<string, unknown>, key: string): Record<string, unknown> {
158
- return recordValue(record[key]);
159
- }
160
-
161
- export function stringProperty(record: Record<string, unknown>, key: string): string {
162
- const value = record[key];
163
- if (typeof value !== "string") throw new Error(`Expected ${key} to be a string`);
164
- return value;
165
- }
166
-
167
- export function recordValue(value: unknown): Record<string, unknown> {
168
- if (typeof value !== "object" || value === null || Array.isArray(value)) {
169
- throw new Error("Expected record value");
170
- }
171
- return value as Record<string, unknown>;
172
- }
@@ -1,91 +0,0 @@
1
- import { describe, expect, it } from "bun:test";
2
- import { existsSync, readFileSync } from "node:fs";
3
- import { dirname, resolve } from "node:path";
4
- import { fileURLToPath } from "node:url";
5
-
6
- type CodegraphPackageJson = {
7
- readonly files?: readonly string[];
8
- readonly optionalDependencies?: Readonly<Record<string, string>>;
9
- };
10
-
11
- const componentRoot = resolve(dirname(fileURLToPath(import.meta.url)), "..");
12
- const repoRoot = resolve(componentRoot, "../../../../..");
13
-
14
- function readCodegraphPackageJson(): CodegraphPackageJson {
15
- const parsed: unknown = JSON.parse(readFileSync(resolve(componentRoot, "package.json"), "utf8"));
16
- if (!isCodegraphPackageJson(parsed)) throw new TypeError("Invalid CodeGraph package metadata");
17
- return parsed;
18
- }
19
-
20
- function isCodegraphPackageJson(value: unknown): value is CodegraphPackageJson {
21
- return isRecord(value) && maybeStringArray(value["files"]) && maybeStringRecord(value["optionalDependencies"]);
22
- }
23
-
24
- function maybeStringArray(value: unknown): value is readonly string[] | undefined {
25
- return value === undefined || (Array.isArray(value) && value.every((item) => typeof item === "string"));
26
- }
27
-
28
- function maybeStringRecord(value: unknown): value is Readonly<Record<string, string>> | undefined {
29
- return value === undefined || (isRecord(value) && Object.values(value).every((item) => typeof item === "string"));
30
- }
31
-
32
- function isRecord(value: unknown): value is Record<string, unknown> {
33
- return typeof value === "object" && value !== null && !Array.isArray(value);
34
- }
35
-
36
- describe("CodeGraph component runtime package metadata", () => {
37
- it("#given the CodeGraph component package #when validating runtime distribution metadata #then upstream CodeGraph installs optionally with shipped legal files", () => {
38
- // given
39
- const packageJson = readCodegraphPackageJson();
40
-
41
- // when
42
- const optionalDependencies = packageJson.optionalDependencies ?? {};
43
- const files = packageJson.files ?? [];
44
-
45
- // then
46
- expect(optionalDependencies["@colbymchenry/codegraph"]).toBe("1.5.0");
47
- expect(files).toContain("LICENSE");
48
- expect(files).toContain("NODE-RUNTIME-LICENSES.md");
49
- expect(files).toContain("NOTICE");
50
- expect(existsSync(resolve(componentRoot, "LICENSE"))).toBe(true);
51
- expect(existsSync(resolve(componentRoot, "NODE-RUNTIME-LICENSES.md"))).toBe(true);
52
- expect(existsSync(resolve(componentRoot, "NOTICE"))).toBe(true);
53
- expect(existsSync(resolve(componentRoot, "dist", "cli.d.ts"))).toBe(false);
54
- expect(existsSync(resolve(componentRoot, "dist", "serve.d.ts"))).toBe(false);
55
- });
56
-
57
- it("#given marketplace payload includes only the plugin tree #when reading CodeGraph NOTICE #then it is self-contained", () => {
58
- // given
59
- const notice = readFileSync(resolve(componentRoot, "NOTICE"), "utf8");
60
-
61
- expect(notice).toContain("@colbymchenry/codegraph@1.5.0");
62
- expect(notice).toContain("MIT license");
63
- expect(notice).toContain("Node.js v24.16.0 runtime");
64
- expect(notice).toContain("NODE-RUNTIME-LICENSES.md");
65
- expect(notice).not.toContain("packages/omo-codex/THIRD-PARTY-NOTICES.md");
66
- });
67
-
68
- it("#given CodeGraph platform bundles include Node #when reading runtime licenses #then Node license text ships with the component", () => {
69
- // given
70
- const licenseText = readFileSync(resolve(componentRoot, "NODE-RUNTIME-LICENSES.md"), "utf8");
71
-
72
- // then
73
- expect(licenseText).toContain("Node.js v24.16.0 LICENSE text");
74
- expect(licenseText).toContain("Copyright Node.js contributors");
75
- expect(licenseText).toContain("The externally maintained libraries used by Node.js are:");
76
- });
77
-
78
- it("#given third-party notices #when validating CodeGraph component notices #then aggregate Codex notices list CodeGraph as shipped", () => {
79
- // given
80
- const codexNotice = readFileSync(resolve(repoRoot, "packages/omo-codex/THIRD-PARTY-NOTICES.md"), "utf8");
81
-
82
- // when
83
- const listsCodegraphComponent = codexNotice.includes("@sisyphuslabs/codex-codegraph");
84
- const listsUpstreamRuntime = codexNotice.includes("@colbymchenry/codegraph");
85
-
86
- // then
87
- expect(listsCodegraphComponent).toBe(true);
88
- expect(listsUpstreamRuntime).toBe(true);
89
- expect(codexNotice).not.toContain("not currently an omo-codex plugin component");
90
- });
91
- });
@@ -1,100 +0,0 @@
1
- import { describe, expect, it } from "bun:test";
2
- import { mkdirSync, mkdtempSync, rmSync, writeFileSync } from "node:fs";
3
- import { tmpdir } from "node:os";
4
- import { join } from "node:path";
5
-
6
- import { CODEGRAPH_PINNED_VERSION } from "../../../../../utils/src/codegraph/manifest.ts";
7
- import { runCodegraphSessionStartWorker } from "../src/hook.ts";
8
- import { runCodegraphServe } from "../src/serve.ts";
9
-
10
- describe("CodeGraph provisioned launcher Node guard", () => {
11
- it("#given provisioned CodeGraph binary #when serve runs under unsupported local Node #then it trusts the launcher", async () => {
12
- // given
13
- const commandPath = "/home/test/.omo/codegraph/bin/codegraph";
14
- const spawned: Array<{ readonly args: readonly string[]; readonly command: string }> = [];
15
-
16
- // when
17
- const exitCode = await runCodegraphServe({
18
- env: {},
19
- nodeVersion: "26.3.0",
20
- buildEnv: () => ({}),
21
- resolve: () => ({ argsPrefix: [], command: commandPath, exists: true, source: "provisioned" }),
22
- runProcess: (command, args) => {
23
- spawned.push({ args, command });
24
- return Promise.resolve(0);
25
- },
26
- stderr: { write: () => undefined },
27
- });
28
-
29
- // then
30
- expect(exitCode).toBe(0);
31
- expect(spawned).toEqual([{ args: ["serve", "--mcp"], command: commandPath }]);
32
- });
33
-
34
- it("#given provisioned CodeGraph exists #when SessionStart worker runs under unsupported local Node #then it bootstraps through the launcher", async () => {
35
- // given
36
- const workspace = mkdtempSync(join(tmpdir(), "omo-codegraph-worker-node25-"));
37
- const homeDir = mkdtempSync(join(tmpdir(), "omo-codegraph-worker-node25-home-"));
38
- const installDir = mkdtempSync(join(tmpdir(), "omo-codegraph-worker-node25-install-"));
39
- const binPath = join(installDir, "bin", process.platform === "win32" ? "codegraph.cmd" : "codegraph");
40
- const calls: Array<{ readonly args: readonly string[]; readonly command: string }> = [];
41
- const outcomes: unknown[] = [];
42
-
43
- try {
44
- mkdirSync(join(installDir, "bin"), { recursive: true });
45
- mkdirSync(join(installDir, ".provisioned"), { recursive: true });
46
- writeFileSync(binPath, "");
47
- writeFileSync(
48
- join(installDir, ".provisioned", `codegraph-${CODEGRAPH_PINNED_VERSION}.json`),
49
- `${JSON.stringify({ binPath, version: CODEGRAPH_PINNED_VERSION })}\n`,
50
- );
51
-
52
- // when
53
- const result = await runCodegraphSessionStartWorker({
54
- config: { codegraph: { enabled: true, install_dir: installDir }, sources: [], trustedCodegraphInstallDir: installDir, warnings: [] },
55
- nodeVersion: "26.3.0",
56
- cwd: workspace,
57
- env: { HOME: homeDir },
58
- logOutcome: (outcome) => outcomes.push(outcome),
59
- deps: {
60
- ensureGitignored: () => true,
61
- ensureProvisioned: () => {
62
- throw new Error("provisioning should not run when install_dir binary exists");
63
- },
64
- prepareWorkspace: () => ({
65
- dataDir: join(homeDir, ".omo/codegraph/projects/test"),
66
- dataRoot: join(homeDir, ".omo/codegraph"),
67
- linked: true,
68
- mode: "global-linked",
69
- projectLink: join(workspace, ".codegraph"),
70
- }),
71
- resolveCommand: (options) => {
72
- const provisioned = options?.provisioned?.() ?? null;
73
- return {
74
- argsPrefix: [],
75
- command: provisioned ?? "missing-codegraph",
76
- exists: provisioned !== null,
77
- source: provisioned === null ? "path" : "provisioned",
78
- };
79
- },
80
- resolveManagedBin: () => binPath,
81
- runCommand: (_projectRoot, command, args) => {
82
- calls.push({ args, command });
83
- mkdirSync(join(workspace, ".codegraph"), { recursive: true });
84
- writeFileSync(join(workspace, ".codegraph", "codegraph.db"), "fixture");
85
- return Promise.resolve({ exitCode: 0, stdout: "", timedOut: false });
86
- },
87
- },
88
- });
89
-
90
- // then
91
- expect(result).toEqual({ action: "initialized" });
92
- expect(calls).toEqual([{ args: ["init"], command: binPath }]);
93
- expect(outcomes).toEqual([{ action: "initialized", exitCode: 0, projectRoot: workspace, source: "provisioned", timedOut: false }]);
94
- } finally {
95
- rmSync(workspace, { recursive: true, force: true });
96
- rmSync(homeDir, { recursive: true, force: true });
97
- rmSync(installDir, { recursive: true, force: true });
98
- }
99
- });
100
- });