lazycodex-ai 4.19.2 → 4.19.3

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 (110) hide show
  1. package/dist/cli/config-migrate.d.ts +8 -0
  2. package/dist/cli/doctor/checks/legacy-config-leftovers.d.ts +10 -0
  3. package/dist/cli/doctor/checks/model-resolution-config.d.ts +1 -1
  4. package/dist/cli/doctor/checks/tools-lsp.d.ts +1 -1
  5. package/dist/cli/doctor/framework/constants.d.ts +1 -1
  6. package/dist/cli/index.js +95557 -92944
  7. package/dist/cli-node/index.js +95539 -92926
  8. package/package.json +1 -1
  9. package/packages/omo-codex/plugin/.codex-plugin/plugin.json +1 -1
  10. package/packages/omo-codex/plugin/components/bootstrap/hooks/hooks.json +1 -1
  11. package/packages/omo-codex/plugin/components/bootstrap/package.json +1 -1
  12. package/packages/omo-codex/plugin/components/codegraph/AGENTS.md +11 -5
  13. package/packages/omo-codex/plugin/components/codegraph/NOTICE +1 -1
  14. package/packages/omo-codex/plugin/components/codegraph/dist/cli.js +10153 -2571
  15. package/packages/omo-codex/plugin/components/codegraph/dist/serve.js +7311 -572
  16. package/packages/omo-codex/plugin/components/codegraph/package.json +2 -2
  17. package/packages/omo-codex/plugin/components/codegraph/src/hook-input.ts +33 -0
  18. package/packages/omo-codex/plugin/components/codegraph/src/hook-types.ts +36 -10
  19. package/packages/omo-codex/plugin/components/codegraph/src/hook.ts +164 -159
  20. package/packages/omo-codex/plugin/components/codegraph/src/post-tool-use-hook.ts +34 -0
  21. package/packages/omo-codex/plugin/components/codegraph/src/serve.ts +20 -2
  22. package/packages/omo-codex/plugin/components/codegraph/src/session-start-command.ts +106 -0
  23. package/packages/omo-codex/plugin/components/codegraph/src/session-start-cooldown.ts +145 -0
  24. package/packages/omo-codex/plugin/components/codegraph/src/session-start-hook-runtime.ts +21 -0
  25. package/packages/omo-codex/plugin/components/codegraph/src/session-start-lock.ts +139 -0
  26. package/packages/omo-codex/plugin/components/codegraph/src/session-start-outcome.ts +15 -0
  27. package/packages/omo-codex/plugin/components/codegraph/src/session-start-paths.ts +32 -0
  28. package/packages/omo-codex/plugin/components/codegraph/src/session-start-project.ts +109 -0
  29. package/packages/omo-codex/plugin/components/codegraph/src/session-start-worker-result.ts +148 -0
  30. package/packages/omo-codex/plugin/components/codegraph/src/session-start-worker.ts +126 -175
  31. package/packages/omo-codex/plugin/components/codegraph/test/hook-exclusion.test.ts +4 -4
  32. package/packages/omo-codex/plugin/components/codegraph/test/hook-session-start-guard.test.ts +160 -0
  33. package/packages/omo-codex/plugin/components/codegraph/test/hook-store-upgrade.test.ts +12 -138
  34. package/packages/omo-codex/plugin/components/codegraph/test/hook.test.ts +28 -24
  35. package/packages/omo-codex/plugin/components/codegraph/test/mcp-bridge-fixtures.ts +3 -3
  36. package/packages/omo-codex/plugin/components/codegraph/test/package-runtime.test.ts +2 -2
  37. package/packages/omo-codex/plugin/components/codegraph/test/provisioned-node-guard.test.ts +5 -5
  38. package/packages/omo-codex/plugin/components/codegraph/test/serve-mcp-bridge.test.ts +3 -3
  39. package/packages/omo-codex/plugin/components/codegraph/test/serve-mcp-facade.test.ts +1 -1
  40. package/packages/omo-codex/plugin/components/codegraph/test/serve-provision.test.ts +45 -0
  41. package/packages/omo-codex/plugin/components/codegraph/test/serve-unavailable.test.ts +2 -2
  42. package/packages/omo-codex/plugin/components/codegraph/test/session-start-node-support.test.ts +70 -13
  43. package/packages/omo-codex/plugin/components/codegraph/test/session-start-project.test.ts +58 -0
  44. package/packages/omo-codex/plugin/components/codegraph/test/session-start-state.test.ts +104 -0
  45. package/packages/omo-codex/plugin/components/codegraph/test/session-start-trust-boundary.test.ts +4 -2
  46. package/packages/omo-codex/plugin/components/codegraph/test/session-start-worker-cooldown.test.ts +116 -0
  47. package/packages/omo-codex/plugin/components/codegraph/test/session-start-worker-flow.test.ts +58 -57
  48. package/packages/omo-codex/plugin/components/comment-checker/hooks/hooks.json +1 -1
  49. package/packages/omo-codex/plugin/components/comment-checker/package.json +1 -1
  50. package/packages/omo-codex/plugin/components/git-bash/hooks/hooks.json +2 -2
  51. package/packages/omo-codex/plugin/components/git-bash/package.json +1 -1
  52. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/hooks/hooks.json +1 -1
  53. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/package.json +1 -1
  54. package/packages/omo-codex/plugin/components/lsp/dist/.omo-runtime-manifest.json +2 -2
  55. package/packages/omo-codex/plugin/components/lsp/hooks/hooks.json +2 -2
  56. package/packages/omo-codex/plugin/components/lsp/package.json +1 -1
  57. package/packages/omo-codex/plugin/components/rules/dist/cli.js +31 -14
  58. package/packages/omo-codex/plugin/components/rules/hooks/hooks.json +4 -4
  59. package/packages/omo-codex/plugin/components/rules/package.json +1 -1
  60. package/packages/omo-codex/plugin/components/start-work-continuation/hooks/hooks.json +2 -2
  61. package/packages/omo-codex/plugin/components/start-work-continuation/package.json +1 -1
  62. package/packages/omo-codex/plugin/components/teammode/hooks/hooks.json +1 -1
  63. package/packages/omo-codex/plugin/components/teammode/package.json +1 -1
  64. package/packages/omo-codex/plugin/components/telemetry/hooks/hooks.json +1 -1
  65. package/packages/omo-codex/plugin/components/telemetry/package.json +1 -1
  66. package/packages/omo-codex/plugin/components/ultrawork/hooks/hooks.json +1 -1
  67. package/packages/omo-codex/plugin/components/ultrawork/package.json +1 -1
  68. package/packages/omo-codex/plugin/components/ulw-loop/hooks/hooks.json +4 -4
  69. package/packages/omo-codex/plugin/components/ulw-loop/package.json +1 -1
  70. package/packages/omo-codex/plugin/components/ulw-loop/skills/ulw-loop/SKILL.md +17 -0
  71. package/packages/omo-codex/plugin/hooks/post-compact-resetting-git-bash-mcp-reminder.json +1 -1
  72. package/packages/omo-codex/plugin/hooks/post-compact-resetting-lsp-diagnostics-cache.json +1 -1
  73. package/packages/omo-codex/plugin/hooks/post-compact-resetting-project-rule-cache.json +1 -1
  74. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-codegraph-init-guidance.json +1 -1
  75. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-comments.json +1 -1
  76. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-lsp-diagnostics.json +1 -1
  77. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-thread-title-hygiene.json +1 -1
  78. package/packages/omo-codex/plugin/hooks/post-tool-use-matching-project-rules.json +1 -1
  79. package/packages/omo-codex/plugin/hooks/pre-tool-use-enforcing-unlimited-goal-budget.json +1 -1
  80. package/packages/omo-codex/plugin/hooks/pre-tool-use-guarding-ulw-loop-spawns.json +1 -1
  81. package/packages/omo-codex/plugin/hooks/pre-tool-use-recommending-git-bash-mcp.json +1 -1
  82. package/packages/omo-codex/plugin/hooks/session-start-checking-auto-update.json +1 -1
  83. package/packages/omo-codex/plugin/hooks/session-start-checking-bootstrap-provisioning.json +1 -1
  84. package/packages/omo-codex/plugin/hooks/session-start-checking-codegraph-bootstrap.json +1 -1
  85. package/packages/omo-codex/plugin/hooks/session-start-loading-project-rules.json +1 -1
  86. package/packages/omo-codex/plugin/hooks/session-start-recording-session-telemetry.json +1 -1
  87. package/packages/omo-codex/plugin/hooks/stop-checking-start-work-continuation.json +1 -1
  88. package/packages/omo-codex/plugin/hooks/stop-checking-ulw-loop-resume.json +1 -1
  89. package/packages/omo-codex/plugin/hooks/subagent-stop-checking-start-work-continuation.json +1 -1
  90. package/packages/omo-codex/plugin/hooks/subagent-stop-verifying-lazycodex-executor-evidence.json +1 -1
  91. package/packages/omo-codex/plugin/hooks/user-prompt-submit-checking-ultrawork-trigger.json +1 -1
  92. package/packages/omo-codex/plugin/hooks/user-prompt-submit-checking-ulw-loop-steering.json +1 -1
  93. package/packages/omo-codex/plugin/hooks/user-prompt-submit-loading-project-rules.json +1 -1
  94. package/packages/omo-codex/plugin/package-lock.json +42 -41
  95. package/packages/omo-codex/plugin/package.json +1 -1
  96. package/packages/omo-codex/plugin/shared/src/config-loader.ts +165 -16
  97. package/packages/omo-codex/plugin/shared/src/config-migration.ts +162 -0
  98. package/packages/omo-codex/plugin/shared/test/config-loader.test.ts +186 -9
  99. package/packages/omo-codex/plugin/skills/frontend/ATTRIBUTION.md +7 -0
  100. package/packages/omo-codex/plugin/skills/frontend/SKILL.md +4 -1
  101. package/packages/omo-codex/plugin/skills/frontend/references/design/README.md +8 -0
  102. package/packages/omo-codex/plugin/skills/frontend/references/design/_INDEX.md +14 -1
  103. package/packages/omo-codex/plugin/skills/frontend/references/design/interaction-skill.md +144 -0
  104. package/packages/omo-codex/plugin/skills/ulw-loop/SKILL.md +17 -0
  105. package/packages/omo-codex/scripts/install-dist/install-local.mjs +1 -1
  106. package/packages/shared-skills/skills/frontend/ATTRIBUTION.md +7 -0
  107. package/packages/shared-skills/skills/frontend/SKILL.md +4 -1
  108. package/packages/shared-skills/skills/frontend/references/design/README.md +8 -0
  109. package/packages/shared-skills/skills/frontend/references/design/_INDEX.md +14 -1
  110. package/packages/shared-skills/skills/frontend/references/design/interaction-skill.md +144 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lazycodex-ai",
3
- "version": "4.19.2",
3
+ "version": "4.19.3",
4
4
  "description": "The Best AI Agent Harness - Batteries-Included OpenCode Plugin with Multi-Model Orchestration, Parallel Background Agents, and Crafted LSP/AST Tools",
5
5
  "main": "./dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "omo",
3
- "version": "4.19.2",
3
+ "version": "4.19.3",
4
4
  "description": "One Codex plugin namespace for Yeongyu's local Codex components.",
5
5
  "author": {
6
6
  "name": "Yeongyu Kim",
@@ -8,7 +8,7 @@
8
8
  "command": "node \"${PLUGIN_ROOT}/components/bootstrap/dist/cli.js\" hook session-start",
9
9
  "commandWindows": "powershell -NoProfile -ExecutionPolicy Bypass -File \"${PLUGIN_ROOT}\\components\\bootstrap\\scripts\\bootstrap.ps1\"",
10
10
  "timeout": 30,
11
- "statusMessage": "(OmO 4.19.2) Checking Bootstrap Provisioning"
11
+ "statusMessage": "(OmO 4.19.3) Checking Bootstrap Provisioning"
12
12
  }
13
13
  ]
14
14
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sisyphuslabs/codex-bootstrap",
3
- "version": "4.19.2",
3
+ "version": "4.19.3",
4
4
  "description": "Codex SessionStart bootstrap component that provisions LazyCodex runtime dependencies from a detached worker.",
5
5
  "type": "module",
6
6
  "private": true,
@@ -4,7 +4,7 @@
4
4
 
5
5
  ## OVERVIEW
6
6
 
7
- `@sisyphuslabs/codex-codegraph` (private, Node >=20, bin `omo-codegraph`). Wraps the external CodeGraph CLI (`@colbymchenry/codegraph`, pinned `1.0.1` as optionalDependency + `CODEGRAPH_VERSION` constant) behind a stdio MCP server plus Codex lifecycle hooks. Two committed dists ship in the published payload; rebuild `dist/` in the same change as `src/` edits.
7
+ `@sisyphuslabs/codex-codegraph` (private, Node >=20, bin `omo-codegraph`). Wraps the external CodeGraph CLI (`@colbymchenry/codegraph`, pinned `1.5.0` through the shared `CODEGRAPH_PINNED_VERSION` and the component optionalDependency) behind a stdio MCP server plus Codex lifecycle hooks. Two committed dists ship in the published payload; rebuild `dist/` in the same change as `src/` edits.
8
8
 
9
9
  Codex wiring (all repo-relative to `packages/omo-codex/plugin/`):
10
10
  - **MCP:** `.mcp.json` server `codegraph` → `node components/codegraph/dist/serve.js` (`required: false`).
@@ -14,7 +14,7 @@ Codex wiring (all repo-relative to `packages/omo-codex/plugin/`):
14
14
 
15
15
  Serve pipeline (`src/serve.ts`): OMO SOT config gate (`[codex].codegraph.enabled=false` → unavailable stub) → resolve binary (`OMO_CODEGRAPH_BIN` env → bundled → provisioned `~/.omo/codegraph/bin` → PATH) → Node support gate (major 20-24; >=25 crashes CodeGraph mid-indexing; `CODEGRAPH_ALLOW_UNSAFE_NODE=1` overrides) → auto-provision into `~/.omo/codegraph` unless `codegraph.auto_provision=false` → bridge JSON-RPC to `codegraph serve --mcp`. Project cwd resolved from `OMO_CODEGRAPH_PROJECT_CWD` → `OMO_CODEGRAPH_SESSION_START_CWD` → `PWD` → wrapper cwd. When the binary is missing/disabled, `mcp-unavailable.ts` still answers `initialize`/`tools/*` with the skip reason so Codex startup never fails.
16
16
 
17
- Hook pipeline (`src/hook.ts` + `src/session-start-worker.ts`): `hook session-start` probes `status --json` (2s timeout); uninitialized project spawns a detached `hook session-start-worker` (prepare workspace + gitignore `status --json` `init` or `sync`, 60s per command) and emits a SessionStart `additionalContext` notice. Worker outcomes append to `~/.omo/codegraph/session-start.jsonl`. `hook post-tool-use` emits init guidance when a codegraph tool result indicates an uninitialized project. `cli.js` with no hook subcommand falls through to serve.
17
+ Hook pipeline (`src/hook.ts` + `src/session-start-*.ts`): `hook session-start` checks only the exact filesystem marker `<projectRoot>/.codegraph/codegraph.db`; it never invokes the upstream CLI for status. An exact database skips as initialized, an ancestor database records `skipped-nested-root`, and only a definitive no-database result may acquire the per-project atomic lock and spawn `hook session-start-worker`. Live locks record `skipped-locked`; stale locks recover into an exponential cooldown instead of spawning immediately. Worker failures and skips persist a cooldown stamp (15 minutes by default, doubling to a 24-hour cap; configurable with Codex-only `codegraph.session_start_cooldown_ms`, minimum 60000), while success clears it. The worker prepares the workspace, invokes only `codegraph init` with a 60-second tree timeout, and records success only after the exact project database appears. Hook suppressions and worker outcomes append to `~/.omo/codegraph/session-start.jsonl`. `hook post-tool-use` emits init guidance when a codegraph tool result indicates an uninitialized project. `cli.js` with no hook subcommand falls through to serve.
18
18
 
19
19
  ## includeCode CONTRACT (commit 4cf383c5b)
20
20
 
@@ -26,8 +26,14 @@ Hook pipeline (`src/hook.ts` + `src/session-start-worker.ts`): `hook session-sta
26
26
  |------|---------|
27
27
  | `src/serve.ts` | MCP entry: config/resolution/Node gates, provisioning, bridge or unavailable stub |
28
28
  | `src/cli.ts` | Hook CLI router: `hook session-start` / `hook post-tool-use` / `hook session-start-worker` / serve fallback |
29
- | `src/hook.ts` | SessionStart probe + detached worker spawn, PostToolUse guidance emission |
30
- | `src/session-start-worker.ts` | Background bootstrap: provision → workspace prep → `init`/`sync`, jsonl outcome log |
29
+ | `src/hook.ts` | SessionStart exact-root decision pipeline + detached worker spawn |
30
+ | `src/post-tool-use-hook.ts` | PostToolUse init guidance emission |
31
+ | `src/session-start-project.ts` | Exact database and ancestor-coverage filesystem probes |
32
+ | `src/session-start-lock.ts` | Atomic per-project worker lock + stale recovery |
33
+ | `src/session-start-cooldown.ts` | Persistent exponential failure cooldown state |
34
+ | `src/session-start-worker.ts` | Background bootstrap orchestration and lock lifecycle |
35
+ | `src/session-start-command.ts` | Provision/resolve + bounded `codegraph init` invocation |
36
+ | `src/session-start-outcome.ts` | `session-start.jsonl` outcome writer |
31
37
  | `src/mcp-bridge.ts` | Stdio JSON-RPC forwarder; per-request framed/line response-mode tracking; codegraph_node contract rewrites; awaits stdio writes and SIGKILLs the child on response-forwarding failure |
32
38
  | `src/mcp-unavailable.ts` | Reason-bearing stub MCP server for disabled/missing binary |
33
39
  | `src/serve-invocation.ts` | win32 invocation shim: `.cmd`/`.bat` via `cmd.exe /d /s /c`, `.js`/`.mjs`/`.cjs` via `process.execPath` (mirrored by `resolveCodegraphCommandInvocation` in session-start-worker) |
@@ -46,7 +52,7 @@ Hook pipeline (`src/hook.ts` + `src/session-start-worker.ts`): `hook session-sta
46
52
 
47
53
  - This component tests with `bun test` (unlike the vitest-based `lsp` sibling); given/when/then style.
48
54
  - `src/` imports reach sibling packages via relative paths (`../../../../../utils/src/...`); they are inlined by `bun build`, so runtime `dist/` has zero deps beyond Node.
49
- - `CODEGRAPH_VERSION` is duplicated in `serve.ts` and `session-start-worker.ts` and must match the `@colbymchenry/codegraph` optionalDependency version.
55
+ - `serve.ts` and SessionStart command provisioning derive their version from the shared `CODEGRAPH_PINNED_VERSION`; the component optionalDependency must match that pin.
50
56
  - `trustedCodegraphInstallDir` overrides the `~/.omo/codegraph` install dir and is forwarded to children as `CODEGRAPH_INSTALL_DIR`.
51
57
  - `resolution.source === "env"` is never auto-provisioned over: a user-set `OMO_CODEGRAPH_BIN` pointing at a missing file skips the MCP instead of silently substituting a download.
52
58
  - `runBridgedCodegraphProcess` awaits every stdio write and races `childExit` against response forwarding; a forwarding error (e.g. parent stdout `EPIPE`) rejects the serve promise, destroys the child pipes, and `SIGKILL`s the codegraph child if still alive so a held-open child is never orphaned. Pinned by `test/serve-mcp-bridge-lifecycle.test.ts` and the held-open case in `test/serve-mcp-bridge.test.ts`.
@@ -1,6 +1,6 @@
1
1
  codex-codegraph adapts the CodeGraph MCP runtime for the Codex plugin surface.
2
2
 
3
- This component optionally installs @colbymchenry/codegraph@1.0.1. That package
3
+ This component optionally installs @colbymchenry/codegraph@1.5.0. That package
4
4
  selects platform bundles for darwin, linux, and win32 on arm64 and x64. The
5
5
  CodeGraph packages declare MIT license metadata.
6
6