lazycodex-ai 5.1.13 → 5.1.15

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 (69) hide show
  1. package/dist/cli/index.js +18 -17
  2. package/dist/cli-node/index.js +18 -17
  3. package/package.json +1 -1
  4. package/packages/omo-codex/plugin/.codex-plugin/plugin.json +1 -1
  5. package/packages/omo-codex/plugin/components/bootstrap/hooks/hooks.json +1 -1
  6. package/packages/omo-codex/plugin/components/bootstrap/package.json +1 -1
  7. package/packages/omo-codex/plugin/components/comment-checker/hooks/hooks.json +1 -1
  8. package/packages/omo-codex/plugin/components/comment-checker/package.json +1 -1
  9. package/packages/omo-codex/plugin/components/git-bash/hooks/hooks.json +2 -2
  10. package/packages/omo-codex/plugin/components/git-bash/package.json +1 -1
  11. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/hooks/hooks.json +1 -1
  12. package/packages/omo-codex/plugin/components/lazycodex-executor-verify/package.json +1 -1
  13. package/packages/omo-codex/plugin/components/lsp/dist/.omo-runtime-manifest.json +4 -4
  14. package/packages/omo-codex/plugin/components/lsp/dist/cli.js +33 -19
  15. package/packages/omo-codex/plugin/components/lsp/dist/codex-hook.js +27 -17
  16. package/packages/omo-codex/plugin/components/lsp/hooks/hooks.json +2 -2
  17. package/packages/omo-codex/plugin/components/lsp/package.json +1 -1
  18. package/packages/omo-codex/plugin/components/lsp/src/codex-hook.ts +36 -18
  19. package/packages/omo-codex/plugin/components/lsp/test/codex-hook-not-installed.test.ts +203 -0
  20. package/packages/omo-codex/plugin/components/rules/CHANGELOG.md +1 -0
  21. package/packages/omo-codex/plugin/components/rules/bundled-rules/hephaestus/gpt-6.md +1 -1
  22. package/packages/omo-codex/plugin/components/rules/hooks/hooks.json +4 -4
  23. package/packages/omo-codex/plugin/components/rules/package.json +1 -1
  24. package/packages/omo-codex/plugin/components/teammode/hooks/hooks.json +1 -1
  25. package/packages/omo-codex/plugin/components/teammode/package.json +1 -1
  26. package/packages/omo-codex/plugin/components/telemetry/hooks/hooks.json +1 -1
  27. package/packages/omo-codex/plugin/components/telemetry/package.json +1 -1
  28. package/packages/omo-codex/plugin/components/ultrawork/hooks/hooks.json +1 -1
  29. package/packages/omo-codex/plugin/components/ultrawork/package.json +1 -1
  30. package/packages/omo-codex/plugin/components/ulw-execute-continuation/hooks/hooks.json +1 -1
  31. package/packages/omo-codex/plugin/components/ulw-execute-continuation/package.json +1 -1
  32. package/packages/omo-codex/plugin/components/ulw-loop/hooks/hooks.json +5 -5
  33. package/packages/omo-codex/plugin/components/ulw-loop/package.json +1 -1
  34. package/packages/omo-codex/plugin/hooks/post-compact-resetting-git-bash-mcp-reminder.json +1 -1
  35. package/packages/omo-codex/plugin/hooks/post-compact-resetting-lsp-diagnostics-cache.json +1 -1
  36. package/packages/omo-codex/plugin/hooks/post-compact-resetting-project-rule-cache.json +1 -1
  37. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-comments.json +1 -1
  38. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-lsp-diagnostics.json +1 -1
  39. package/packages/omo-codex/plugin/hooks/post-tool-use-checking-thread-title-hygiene.json +1 -1
  40. package/packages/omo-codex/plugin/hooks/post-tool-use-matching-project-rules.json +1 -1
  41. package/packages/omo-codex/plugin/hooks/post-tool-use-recording-spawn-admission.json +1 -1
  42. package/packages/omo-codex/plugin/hooks/pre-tool-use-enforcing-unlimited-goal-budget.json +1 -1
  43. package/packages/omo-codex/plugin/hooks/pre-tool-use-guarding-ulw-loop-spawns.json +1 -1
  44. package/packages/omo-codex/plugin/hooks/pre-tool-use-recommending-git-bash-mcp.json +1 -1
  45. package/packages/omo-codex/plugin/hooks/session-start-checking-auto-update.json +1 -1
  46. package/packages/omo-codex/plugin/hooks/session-start-checking-bootstrap-provisioning.json +1 -1
  47. package/packages/omo-codex/plugin/hooks/session-start-loading-project-rules.json +1 -1
  48. package/packages/omo-codex/plugin/hooks/session-start-recording-session-telemetry.json +1 -1
  49. package/packages/omo-codex/plugin/hooks/stop-checking-ulw-execute-continuation.json +1 -1
  50. package/packages/omo-codex/plugin/hooks/stop-checking-ulw-loop-resume.json +1 -1
  51. package/packages/omo-codex/plugin/hooks/subagent-stop-verifying-lazycodex-executor-evidence.json +1 -1
  52. package/packages/omo-codex/plugin/hooks/user-prompt-submit-checking-ultrawork-trigger.json +1 -1
  53. package/packages/omo-codex/plugin/hooks/user-prompt-submit-checking-ulw-loop-steering.json +1 -1
  54. package/packages/omo-codex/plugin/hooks/user-prompt-submit-loading-project-rules.json +1 -1
  55. package/packages/omo-codex/plugin/package-lock.json +12 -12
  56. package/packages/omo-codex/plugin/package.json +1 -1
  57. package/packages/omo-codex/plugin/skills/browser/SKILL.md +26 -2
  58. package/packages/omo-codex/plugin/skills/browser/references/commands.md +10 -1
  59. package/packages/omo-codex/plugin/skills/browser/references/install.md +7 -0
  60. package/packages/omo-codex/plugin/skills/browser/runtime/omowright/manifest.json +1 -1
  61. package/packages/omo-codex/plugin/skills/browser/scripts/browser-engine-guard.mjs +506 -0
  62. package/packages/omo-codex/plugin/skills/browser/scripts/omowright.mjs +29 -2
  63. package/packages/omo-codex/scripts/install-dist/install-local.mjs +2 -2
  64. package/packages/shared-skills/skills/browser/SKILL.md +26 -2
  65. package/packages/shared-skills/skills/browser/references/commands.md +10 -1
  66. package/packages/shared-skills/skills/browser/references/install.md +7 -0
  67. package/packages/shared-skills/skills/browser/runtime/omowright/manifest.json +1 -1
  68. package/packages/shared-skills/skills/browser/scripts/browser-engine-guard.mjs +506 -0
  69. package/packages/shared-skills/skills/browser/scripts/omowright.mjs +29 -2
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@sisyphuslabs/omo-codex-plugin",
3
- "version": "5.1.13",
3
+ "version": "5.1.15",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "@sisyphuslabs/omo-codex-plugin",
9
- "version": "5.1.13",
9
+ "version": "5.1.15",
10
10
  "workspaces": [
11
11
  "components/comment-checker",
12
12
  "components/git-bash",
@@ -95,7 +95,7 @@
95
95
  },
96
96
  "components/comment-checker": {
97
97
  "name": "@code-yeongyu/codex-comment-checker",
98
- "version": "5.1.13",
98
+ "version": "5.1.15",
99
99
  "license": "MIT",
100
100
  "bin": {
101
101
  "omo-comment-checker": "dist/cli.js"
@@ -117,7 +117,7 @@
117
117
  },
118
118
  "components/git-bash": {
119
119
  "name": "@sisyphuslabs/codex-git-bash-hook",
120
- "version": "5.1.13",
120
+ "version": "5.1.15",
121
121
  "bin": {
122
122
  "omo-git-bash-hook": "dist/cli.js"
123
123
  },
@@ -131,7 +131,7 @@
131
131
  },
132
132
  "components/lazycodex-executor-verify": {
133
133
  "name": "@code-yeongyu/codex-lazycodex-executor-verify",
134
- "version": "5.1.13",
134
+ "version": "5.1.15",
135
135
  "license": "MIT",
136
136
  "bin": {
137
137
  "lazycodex-executor-verify": "dist/cli.js"
@@ -149,7 +149,7 @@
149
149
  },
150
150
  "components/lsp": {
151
151
  "name": "@code-yeongyu/codex-lsp",
152
- "version": "5.1.13",
152
+ "version": "5.1.15",
153
153
  "license": "MIT",
154
154
  "dependencies": {
155
155
  "@code-yeongyu/lsp-daemon": "file:../../../../lsp-daemon",
@@ -171,7 +171,7 @@
171
171
  },
172
172
  "components/rules": {
173
173
  "name": "@code-yeongyu/codex-rules",
174
- "version": "5.1.13",
174
+ "version": "5.1.15",
175
175
  "license": "MIT",
176
176
  "dependencies": {
177
177
  "picomatch": "^4.0.7"
@@ -194,7 +194,7 @@
194
194
  },
195
195
  "components/teammode": {
196
196
  "name": "@sisyphuslabs/codex-teammode",
197
- "version": "5.1.13",
197
+ "version": "5.1.15",
198
198
  "devDependencies": {
199
199
  "@types/node": "^26.6.2",
200
200
  "@vitest/coverage-v8": "5.0.1",
@@ -208,7 +208,7 @@
208
208
  },
209
209
  "components/telemetry": {
210
210
  "name": "@code-yeongyu/codex-telemetry",
211
- "version": "5.1.13",
211
+ "version": "5.1.15",
212
212
  "license": "MIT",
213
213
  "bin": {
214
214
  "omo-telemetry": "dist/cli.js"
@@ -227,7 +227,7 @@
227
227
  },
228
228
  "components/ultrawork": {
229
229
  "name": "@code-yeongyu/codex-ultrawork",
230
- "version": "5.1.13",
230
+ "version": "5.1.15",
231
231
  "license": "MIT",
232
232
  "bin": {
233
233
  "omo-ultrawork": "dist/cli.js"
@@ -246,7 +246,7 @@
246
246
  },
247
247
  "components/ulw-execute-continuation": {
248
248
  "name": "@code-yeongyu/codex-ulw-execute-continuation",
249
- "version": "5.1.13",
249
+ "version": "5.1.15",
250
250
  "license": "MIT",
251
251
  "bin": {
252
252
  "omo-ulw-execute-continuation": "dist/cli.js"
@@ -264,7 +264,7 @@
264
264
  },
265
265
  "components/ulw-loop": {
266
266
  "name": "@code-yeongyu/codex-ulw-loop",
267
- "version": "5.1.13",
267
+ "version": "5.1.15",
268
268
  "license": "MIT",
269
269
  "bin": {
270
270
  "omo-ulw-loop": "dist/cli.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sisyphuslabs/omo-codex-plugin",
3
- "version": "5.1.13",
3
+ "version": "5.1.15",
4
4
  "description": "Aggregate Codex plugin root for OMO components.",
5
5
  "type": "module",
6
6
  "packageManager": "npm@11.12.1",
@@ -18,7 +18,31 @@ one where a human is a single call away. Never substitute one engine for the oth
18
18
  the attached engine is not set up, run the onboarding script and tell the user its one remaining
19
19
  step.
20
20
 
21
- ## Step 0 — load omowright and prove the stack
21
+ ## Step 0 — which engine this session is allowed to use
22
+
23
+ When `OMO_BROWSER_ENGINE` is set (the OmO desktop app sets it for every session), it wins over the table above:
24
+
25
+ | Value | What you do |
26
+ |---|---|
27
+ | `connected` | Use `connectBrowserSkill()` only. If the user's browser is not connected you get a "Connect your browser" error: relay it and stop. Never open another browser |
28
+ | `builtin` | Do not call `connectBrowserSkill()`; use the app's in-app browser tools |
29
+ | `none` | Do not do browser work. Say that agent browser access is off for this project |
30
+ | unset | The table above, as before (terminal use) |
31
+
32
+ While any engine is set, `loadOmowright()` returns a guarded library. The owned engine (`connectPipe`,
33
+ `connectCloakProfile`, `connect`) and every other export that acts on a browser is refused, so the table above
34
+ does not apply: do not look for a way around it, and tell the user what the session allows. Under `connected`
35
+ the app sees what the browser is doing, and before a click, Enter or script that sends, posts, pays, orders,
36
+ subscribes, deletes or closes an account, and before Enter in a message box, it asks the user first. A "No" fails the action with
37
+ `BrowserActionDeclinedError`: report that, never retry it or go around it (`session.tool()` lets only reads
38
+ through; `evaluate` is guarded too). If the user presses Stop, the next call throws `BrowserUserStoppedError`: tell
39
+ the user browser use was stopped and start no new session this turn.
40
+
41
+ The guard prevents mistakes by a cooperating agent. It is not a security boundary: code that imports the raw
42
+ entry (`resolveOmowrightEntry()`) is not guarded, and a host without the `omo_browser_bridge` tool cannot show state or
43
+ honor Stop, though questions are still asked.
44
+
45
+ ## Step 1 — load omowright and prove the stack
22
46
 
23
47
  ```js
24
48
  const { loadOmowright } = await import("<skill-root>/scripts/omowright.mjs")
@@ -94,7 +118,7 @@ changing the extension's automation settings.
94
118
  out everywhere. No flow here needs it.
95
119
  - **`focused: false` by default.** The browser belongs to someone who is probably using it.
96
120
  - **One short, named session per task,** always stopped.
97
- - **Bot-scored or WAF targets go to the owned engine.** The attached engine's daemon enables console
121
+ - **Bot-scored or WAF targets go to the owned engine** (not while `OMO_BROWSER_ENGINE` is set: then say the site needs a browser the session does not allow). The attached engine's daemon enables console
98
122
  capture on every tab it drives, which is a known automation signal; CloakBrowser through
99
123
  `connectCloakProfile()` is the stealth path.
100
124
 
@@ -98,8 +98,17 @@ Every refusal is a `BskRpcError` with the daemon's own `code`:
98
98
  | `invalid_params` | wrong option shape | fix the call, do not retry as-is |
99
99
  | `permission_denied` | `evaluate` on a tab outside the Agent Window, or a denied borrow | stop; the user said no |
100
100
  | `timeout` | the tool did not finish in its budget | read the page state before retrying once |
101
- | `user_aborted` | the user pressed Stop in the browser | stop the task and report |
101
+ | `user_aborted` | the user pressed Stop in the browser | stop the task and report; under `OMO_BROWSER_ENGINE` this surfaces as `BrowserUserStoppedError` and no session starts again this turn |
102
102
  | `cdp_failed` | the page cannot be attached (restricted URL, DevTools open) | say which page and why |
103
103
 
104
+ Typed errors under `OMO_BROWSER_ENGINE` (see SKILL.md Step 0):
105
+
106
+ | Error | `code` | Meaning |
107
+ |---|---|---|
108
+ | `BrowserNotConnectedError` | `browser_not_connected` | the user's browser is not connected; ask them to connect it |
109
+ | `BrowserEngineRefusal` | `browser_engine_none` / `browser_engine_builtin` / `browser_engine_unsupported` / `browser_tool_blocked` | this engine setting does not allow that call |
110
+ | `BrowserActionDeclinedError` | `user_declined` | the user said no, or no question could be asked; do not retry |
111
+ | `BrowserUserStoppedError` | `user_stopped` | the user stopped browser use |
112
+
104
113
  Long calls can be cancelled: `const h = session.client.callWithHandle("tool.navigate", {...})`
105
114
  then `await session.client.cancel(h.rpcId)`.
@@ -8,6 +8,13 @@ Three pieces. The onboarding script prepares all three; a human finishes exactly
8
8
  | Browser extension | registered from the Web Store listing through Chrome's external-extension mechanism | **yes, up to one click** — the browser asks the user to enable it |
9
9
  | Daemon process | auto-starts on the first call | nothing to do |
10
10
 
11
+ ## Inside the OmO desktop app
12
+
13
+ The app installs the `bsk` CLI and starts its daemon itself, and keeps the daemon running when the app closes.
14
+ Do not run `browser-install.mjs` there unless the doctor says the app's engine is missing; a session set to
15
+ `OMO_BROWSER_ENGINE=builtin` or `none` never uses this skill's attached engine at all. `BSK_HOME` and `BSK_BIN`
16
+ still decide where the CLI and daemon are found, here and everywhere else.
17
+
11
18
  ## Supported
12
19
 
13
20
  | | |
@@ -5,5 +5,5 @@
5
5
  "index.js": "b6b064fab277031c6c51f5a58b84b31040f9960bf767bf646adc0540c1d25c1b",
6
6
  "page-bundle.js": "bfd51e8383cf47200d57387bbbed258bce5a3a3d00c38fc108034d2888e23f0c"
7
7
  },
8
- "stagedAtUtc": "2026-10-03T10:05:36.975Z"
8
+ "stagedAtUtc": "2026-10-04T05:23:33.182Z"
9
9
  }