oh-my-opencode 5.0.0-beta.3 → 5.0.0-beta.4
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.
- package/dist/cli/index.js +17 -15
- package/dist/cli-node/index.js +17 -15
- package/dist/index.js +16 -14
- package/dist/skills/ultimate-browsing/engine/AGENTS.md +69 -0
- package/dist/tui.js +2 -0
- package/package.json +14 -14
- package/packages/omo-codex/plugin/.codex-plugin/plugin.json +1 -1
- package/packages/omo-codex/plugin/components/bootstrap/hooks/hooks.json +1 -1
- package/packages/omo-codex/plugin/components/bootstrap/package.json +1 -1
- package/packages/omo-codex/plugin/components/codegraph/dist/cli.js +2 -0
- package/packages/omo-codex/plugin/components/codegraph/dist/serve.js +2 -0
- package/packages/omo-codex/plugin/components/codegraph/package.json +1 -1
- package/packages/omo-codex/plugin/components/comment-checker/hooks/hooks.json +1 -1
- package/packages/omo-codex/plugin/components/comment-checker/package.json +1 -1
- package/packages/omo-codex/plugin/components/git-bash/hooks/hooks.json +2 -2
- package/packages/omo-codex/plugin/components/git-bash/package.json +1 -1
- package/packages/omo-codex/plugin/components/lazycodex-executor-verify/hooks/hooks.json +1 -1
- package/packages/omo-codex/plugin/components/lazycodex-executor-verify/package.json +1 -1
- package/packages/omo-codex/plugin/components/lsp/dist/.omo-runtime-manifest.json +2 -2
- package/packages/omo-codex/plugin/components/lsp/hooks/hooks.json +2 -2
- package/packages/omo-codex/plugin/components/lsp/package.json +1 -1
- package/packages/omo-codex/plugin/components/rules/hooks/hooks.json +4 -4
- package/packages/omo-codex/plugin/components/rules/package.json +1 -1
- package/packages/omo-codex/plugin/components/start-work-continuation/AGENTS.md +3 -2
- package/packages/omo-codex/plugin/components/start-work-continuation/hooks/hooks.json +2 -2
- package/packages/omo-codex/plugin/components/start-work-continuation/package.json +1 -1
- package/packages/omo-codex/plugin/components/teammode/hooks/hooks.json +1 -1
- package/packages/omo-codex/plugin/components/teammode/package.json +1 -1
- package/packages/omo-codex/plugin/components/telemetry/hooks/hooks.json +1 -1
- package/packages/omo-codex/plugin/components/telemetry/package.json +1 -1
- package/packages/omo-codex/plugin/components/ultrawork/hooks/hooks.json +1 -1
- package/packages/omo-codex/plugin/components/ultrawork/package.json +1 -1
- package/packages/omo-codex/plugin/components/ulw-loop/hooks/hooks.json +4 -4
- package/packages/omo-codex/plugin/components/ulw-loop/package.json +1 -1
- package/packages/omo-codex/plugin/hooks/post-compact-resetting-git-bash-mcp-reminder.json +1 -1
- package/packages/omo-codex/plugin/hooks/post-compact-resetting-lsp-diagnostics-cache.json +1 -1
- package/packages/omo-codex/plugin/hooks/post-compact-resetting-project-rule-cache.json +1 -1
- package/packages/omo-codex/plugin/hooks/post-tool-use-checking-codegraph-init-guidance.json +1 -1
- package/packages/omo-codex/plugin/hooks/post-tool-use-checking-comments.json +1 -1
- package/packages/omo-codex/plugin/hooks/post-tool-use-checking-lsp-diagnostics.json +1 -1
- package/packages/omo-codex/plugin/hooks/post-tool-use-checking-thread-title-hygiene.json +1 -1
- package/packages/omo-codex/plugin/hooks/post-tool-use-matching-project-rules.json +1 -1
- package/packages/omo-codex/plugin/hooks/pre-tool-use-enforcing-unlimited-goal-budget.json +1 -1
- package/packages/omo-codex/plugin/hooks/pre-tool-use-guarding-ulw-loop-spawns.json +1 -1
- package/packages/omo-codex/plugin/hooks/pre-tool-use-recommending-git-bash-mcp.json +1 -1
- package/packages/omo-codex/plugin/hooks/session-start-checking-auto-update.json +1 -1
- package/packages/omo-codex/plugin/hooks/session-start-checking-bootstrap-provisioning.json +1 -1
- package/packages/omo-codex/plugin/hooks/session-start-checking-codegraph-bootstrap.json +1 -1
- package/packages/omo-codex/plugin/hooks/session-start-loading-project-rules.json +1 -1
- package/packages/omo-codex/plugin/hooks/session-start-recording-session-telemetry.json +1 -1
- package/packages/omo-codex/plugin/hooks/stop-checking-start-work-continuation.json +1 -1
- package/packages/omo-codex/plugin/hooks/stop-checking-ulw-loop-resume.json +1 -1
- package/packages/omo-codex/plugin/hooks/subagent-stop-checking-start-work-continuation.json +1 -1
- package/packages/omo-codex/plugin/hooks/subagent-stop-verifying-lazycodex-executor-evidence.json +1 -1
- package/packages/omo-codex/plugin/hooks/user-prompt-submit-checking-ultrawork-trigger.json +1 -1
- package/packages/omo-codex/plugin/hooks/user-prompt-submit-checking-ulw-loop-steering.json +1 -1
- package/packages/omo-codex/plugin/hooks/user-prompt-submit-loading-project-rules.json +1 -1
- package/packages/omo-codex/plugin/package-lock.json +13 -13
- package/packages/omo-codex/plugin/package.json +1 -1
- package/packages/omo-codex/plugin/skills/ultimate-browsing/engine/AGENTS.md +69 -0
- package/packages/omo-codex/scripts/install-dist/install-local.mjs +2 -2
- package/packages/shared-skills/skills/ultimate-browsing/engine/AGENTS.md +69 -0
package/dist/cli/index.js
CHANGED
|
@@ -2145,7 +2145,7 @@ var package_default;
|
|
|
2145
2145
|
var init_package = __esm(() => {
|
|
2146
2146
|
package_default = {
|
|
2147
2147
|
name: "oh-my-opencode",
|
|
2148
|
-
version: "5.0.0-beta.
|
|
2148
|
+
version: "5.0.0-beta.4",
|
|
2149
2149
|
description: "The Best AI Agent Harness - Batteries-Included OpenCode Plugin with Multi-Model Orchestration, Parallel Background Agents, and Crafted LSP/AST Tools",
|
|
2150
2150
|
main: "./dist/index.js",
|
|
2151
2151
|
types: "dist/index.d.ts",
|
|
@@ -2325,7 +2325,7 @@ var init_package = __esm(() => {
|
|
|
2325
2325
|
zod: "^4.4.3"
|
|
2326
2326
|
},
|
|
2327
2327
|
devDependencies: {
|
|
2328
|
-
"@code-yeongyu/senpi": "2026.8.
|
|
2328
|
+
"@code-yeongyu/senpi": "2026.8.11",
|
|
2329
2329
|
"@oh-my-opencode/agents-md-core": "workspace:*",
|
|
2330
2330
|
"@oh-my-opencode/ast-grep-mcp": "workspace:*",
|
|
2331
2331
|
"@oh-my-opencode/boulder-state": "workspace:*",
|
|
@@ -2365,18 +2365,18 @@ var init_package = __esm(() => {
|
|
|
2365
2365
|
typescript: "^7.0.2"
|
|
2366
2366
|
},
|
|
2367
2367
|
optionalDependencies: {
|
|
2368
|
-
"oh-my-opencode-darwin-arm64": "5.0.0-beta.
|
|
2369
|
-
"oh-my-opencode-darwin-x64": "5.0.0-beta.
|
|
2370
|
-
"oh-my-opencode-darwin-x64-baseline": "5.0.0-beta.
|
|
2371
|
-
"oh-my-opencode-linux-arm64": "5.0.0-beta.
|
|
2372
|
-
"oh-my-opencode-linux-arm64-musl": "5.0.0-beta.
|
|
2373
|
-
"oh-my-opencode-linux-x64": "5.0.0-beta.
|
|
2374
|
-
"oh-my-opencode-linux-x64-baseline": "5.0.0-beta.
|
|
2375
|
-
"oh-my-opencode-linux-x64-musl": "5.0.0-beta.
|
|
2376
|
-
"oh-my-opencode-linux-x64-musl-baseline": "5.0.0-beta.
|
|
2377
|
-
"oh-my-opencode-windows-arm64": "5.0.0-beta.
|
|
2378
|
-
"oh-my-opencode-windows-x64": "5.0.0-beta.
|
|
2379
|
-
"oh-my-opencode-windows-x64-baseline": "5.0.0-beta.
|
|
2368
|
+
"oh-my-opencode-darwin-arm64": "5.0.0-beta.4",
|
|
2369
|
+
"oh-my-opencode-darwin-x64": "5.0.0-beta.4",
|
|
2370
|
+
"oh-my-opencode-darwin-x64-baseline": "5.0.0-beta.4",
|
|
2371
|
+
"oh-my-opencode-linux-arm64": "5.0.0-beta.4",
|
|
2372
|
+
"oh-my-opencode-linux-arm64-musl": "5.0.0-beta.4",
|
|
2373
|
+
"oh-my-opencode-linux-x64": "5.0.0-beta.4",
|
|
2374
|
+
"oh-my-opencode-linux-x64-baseline": "5.0.0-beta.4",
|
|
2375
|
+
"oh-my-opencode-linux-x64-musl": "5.0.0-beta.4",
|
|
2376
|
+
"oh-my-opencode-linux-x64-musl-baseline": "5.0.0-beta.4",
|
|
2377
|
+
"oh-my-opencode-windows-arm64": "5.0.0-beta.4",
|
|
2378
|
+
"oh-my-opencode-windows-x64": "5.0.0-beta.4",
|
|
2379
|
+
"oh-my-opencode-windows-x64-baseline": "5.0.0-beta.4"
|
|
2380
2380
|
},
|
|
2381
2381
|
overrides: {
|
|
2382
2382
|
"@earendil-works/pi-agent-core": "0.80.3",
|
|
@@ -22454,6 +22454,7 @@ var init_memory = __esm(() => {
|
|
|
22454
22454
|
OmoMemorySettingsSchema = object({
|
|
22455
22455
|
enabled: boolean2().default(true),
|
|
22456
22456
|
agent: string2().min(1).default("auto"),
|
|
22457
|
+
tool_exposure: _enum2(["direct", "search"]).default("direct"),
|
|
22457
22458
|
reflection: OmoMemoryReflectionSchema.default({
|
|
22458
22459
|
trigger: { step_count: 0, on_compaction: true },
|
|
22459
22460
|
merge: "auto",
|
|
@@ -22469,6 +22470,7 @@ var init_memory = __esm(() => {
|
|
|
22469
22470
|
OmoMemorySettingsLayerSchema = object({
|
|
22470
22471
|
enabled: boolean2().optional(),
|
|
22471
22472
|
agent: string2().min(1).optional(),
|
|
22473
|
+
tool_exposure: _enum2(["direct", "search"]).optional(),
|
|
22472
22474
|
reflection: OmoMemoryReflectionLayerSchema.optional(),
|
|
22473
22475
|
sync: OmoMemorySyncLayerSchema.optional(),
|
|
22474
22476
|
search: OmoMemorySearchLayerSchema.optional(),
|
|
@@ -94439,7 +94441,7 @@ var package_default2;
|
|
|
94439
94441
|
var init_package2 = __esm(() => {
|
|
94440
94442
|
package_default2 = {
|
|
94441
94443
|
name: "@oh-my-opencode/omo-codex",
|
|
94442
|
-
version: "5.0.0-beta.
|
|
94444
|
+
version: "5.0.0-beta.4",
|
|
94443
94445
|
type: "module",
|
|
94444
94446
|
private: true,
|
|
94445
94447
|
description: "Codex harness adapter for oh-my-openagent. Vendored Codex plugin namespace (omo) + TypeScript installer + telemetry.",
|
package/dist/cli-node/index.js
CHANGED
|
@@ -2146,7 +2146,7 @@ var package_default;
|
|
|
2146
2146
|
var init_package = __esm(() => {
|
|
2147
2147
|
package_default = {
|
|
2148
2148
|
name: "oh-my-opencode",
|
|
2149
|
-
version: "5.0.0-beta.
|
|
2149
|
+
version: "5.0.0-beta.4",
|
|
2150
2150
|
description: "The Best AI Agent Harness - Batteries-Included OpenCode Plugin with Multi-Model Orchestration, Parallel Background Agents, and Crafted LSP/AST Tools",
|
|
2151
2151
|
main: "./dist/index.js",
|
|
2152
2152
|
types: "dist/index.d.ts",
|
|
@@ -2326,7 +2326,7 @@ var init_package = __esm(() => {
|
|
|
2326
2326
|
zod: "^4.4.3"
|
|
2327
2327
|
},
|
|
2328
2328
|
devDependencies: {
|
|
2329
|
-
"@code-yeongyu/senpi": "2026.8.
|
|
2329
|
+
"@code-yeongyu/senpi": "2026.8.11",
|
|
2330
2330
|
"@oh-my-opencode/agents-md-core": "workspace:*",
|
|
2331
2331
|
"@oh-my-opencode/ast-grep-mcp": "workspace:*",
|
|
2332
2332
|
"@oh-my-opencode/boulder-state": "workspace:*",
|
|
@@ -2366,18 +2366,18 @@ var init_package = __esm(() => {
|
|
|
2366
2366
|
typescript: "^7.0.2"
|
|
2367
2367
|
},
|
|
2368
2368
|
optionalDependencies: {
|
|
2369
|
-
"oh-my-opencode-darwin-arm64": "5.0.0-beta.
|
|
2370
|
-
"oh-my-opencode-darwin-x64": "5.0.0-beta.
|
|
2371
|
-
"oh-my-opencode-darwin-x64-baseline": "5.0.0-beta.
|
|
2372
|
-
"oh-my-opencode-linux-arm64": "5.0.0-beta.
|
|
2373
|
-
"oh-my-opencode-linux-arm64-musl": "5.0.0-beta.
|
|
2374
|
-
"oh-my-opencode-linux-x64": "5.0.0-beta.
|
|
2375
|
-
"oh-my-opencode-linux-x64-baseline": "5.0.0-beta.
|
|
2376
|
-
"oh-my-opencode-linux-x64-musl": "5.0.0-beta.
|
|
2377
|
-
"oh-my-opencode-linux-x64-musl-baseline": "5.0.0-beta.
|
|
2378
|
-
"oh-my-opencode-windows-arm64": "5.0.0-beta.
|
|
2379
|
-
"oh-my-opencode-windows-x64": "5.0.0-beta.
|
|
2380
|
-
"oh-my-opencode-windows-x64-baseline": "5.0.0-beta.
|
|
2369
|
+
"oh-my-opencode-darwin-arm64": "5.0.0-beta.4",
|
|
2370
|
+
"oh-my-opencode-darwin-x64": "5.0.0-beta.4",
|
|
2371
|
+
"oh-my-opencode-darwin-x64-baseline": "5.0.0-beta.4",
|
|
2372
|
+
"oh-my-opencode-linux-arm64": "5.0.0-beta.4",
|
|
2373
|
+
"oh-my-opencode-linux-arm64-musl": "5.0.0-beta.4",
|
|
2374
|
+
"oh-my-opencode-linux-x64": "5.0.0-beta.4",
|
|
2375
|
+
"oh-my-opencode-linux-x64-baseline": "5.0.0-beta.4",
|
|
2376
|
+
"oh-my-opencode-linux-x64-musl": "5.0.0-beta.4",
|
|
2377
|
+
"oh-my-opencode-linux-x64-musl-baseline": "5.0.0-beta.4",
|
|
2378
|
+
"oh-my-opencode-windows-arm64": "5.0.0-beta.4",
|
|
2379
|
+
"oh-my-opencode-windows-x64": "5.0.0-beta.4",
|
|
2380
|
+
"oh-my-opencode-windows-x64-baseline": "5.0.0-beta.4"
|
|
2381
2381
|
},
|
|
2382
2382
|
overrides: {
|
|
2383
2383
|
"@earendil-works/pi-agent-core": "0.80.3",
|
|
@@ -22455,6 +22455,7 @@ var init_memory = __esm(() => {
|
|
|
22455
22455
|
OmoMemorySettingsSchema = object({
|
|
22456
22456
|
enabled: boolean2().default(true),
|
|
22457
22457
|
agent: string2().min(1).default("auto"),
|
|
22458
|
+
tool_exposure: _enum2(["direct", "search"]).default("direct"),
|
|
22458
22459
|
reflection: OmoMemoryReflectionSchema.default({
|
|
22459
22460
|
trigger: { step_count: 0, on_compaction: true },
|
|
22460
22461
|
merge: "auto",
|
|
@@ -22470,6 +22471,7 @@ var init_memory = __esm(() => {
|
|
|
22470
22471
|
OmoMemorySettingsLayerSchema = object({
|
|
22471
22472
|
enabled: boolean2().optional(),
|
|
22472
22473
|
agent: string2().min(1).optional(),
|
|
22474
|
+
tool_exposure: _enum2(["direct", "search"]).optional(),
|
|
22473
22475
|
reflection: OmoMemoryReflectionLayerSchema.optional(),
|
|
22474
22476
|
sync: OmoMemorySyncLayerSchema.optional(),
|
|
22475
22477
|
search: OmoMemorySearchLayerSchema.optional(),
|
|
@@ -94495,7 +94497,7 @@ var package_default2;
|
|
|
94495
94497
|
var init_package2 = __esm(() => {
|
|
94496
94498
|
package_default2 = {
|
|
94497
94499
|
name: "@oh-my-opencode/omo-codex",
|
|
94498
|
-
version: "5.0.0-beta.
|
|
94500
|
+
version: "5.0.0-beta.4",
|
|
94499
94501
|
type: "module",
|
|
94500
94502
|
private: true,
|
|
94501
94503
|
description: "Codex harness adapter for oh-my-openagent. Vendored Codex plugin namespace (omo) + TypeScript installer + telemetry.",
|
package/dist/index.js
CHANGED
|
@@ -5586,6 +5586,7 @@ var init_memory = __esm(() => {
|
|
|
5586
5586
|
OmoMemorySettingsSchema = z7.object({
|
|
5587
5587
|
enabled: z7.boolean().default(true),
|
|
5588
5588
|
agent: z7.string().min(1).default("auto"),
|
|
5589
|
+
tool_exposure: z7.enum(["direct", "search"]).default("direct"),
|
|
5589
5590
|
reflection: OmoMemoryReflectionSchema.default({
|
|
5590
5591
|
trigger: { step_count: 0, on_compaction: true },
|
|
5591
5592
|
merge: "auto",
|
|
@@ -5601,6 +5602,7 @@ var init_memory = __esm(() => {
|
|
|
5601
5602
|
OmoMemorySettingsLayerSchema = z7.object({
|
|
5602
5603
|
enabled: z7.boolean().optional(),
|
|
5603
5604
|
agent: z7.string().min(1).optional(),
|
|
5605
|
+
tool_exposure: z7.enum(["direct", "search"]).optional(),
|
|
5604
5606
|
reflection: OmoMemoryReflectionLayerSchema.optional(),
|
|
5605
5607
|
sync: OmoMemorySyncLayerSchema.optional(),
|
|
5606
5608
|
search: OmoMemorySearchLayerSchema.optional(),
|
|
@@ -98550,7 +98552,7 @@ function getCachedVersion(options = {}) {
|
|
|
98550
98552
|
// package.json
|
|
98551
98553
|
var package_default = {
|
|
98552
98554
|
name: "oh-my-opencode",
|
|
98553
|
-
version: "5.0.0-beta.
|
|
98555
|
+
version: "5.0.0-beta.4",
|
|
98554
98556
|
description: "The Best AI Agent Harness - Batteries-Included OpenCode Plugin with Multi-Model Orchestration, Parallel Background Agents, and Crafted LSP/AST Tools",
|
|
98555
98557
|
main: "./dist/index.js",
|
|
98556
98558
|
types: "dist/index.d.ts",
|
|
@@ -98730,7 +98732,7 @@ var package_default = {
|
|
|
98730
98732
|
zod: "^4.4.3"
|
|
98731
98733
|
},
|
|
98732
98734
|
devDependencies: {
|
|
98733
|
-
"@code-yeongyu/senpi": "2026.8.
|
|
98735
|
+
"@code-yeongyu/senpi": "2026.8.11",
|
|
98734
98736
|
"@oh-my-opencode/agents-md-core": "workspace:*",
|
|
98735
98737
|
"@oh-my-opencode/ast-grep-mcp": "workspace:*",
|
|
98736
98738
|
"@oh-my-opencode/boulder-state": "workspace:*",
|
|
@@ -98770,18 +98772,18 @@ var package_default = {
|
|
|
98770
98772
|
typescript: "^7.0.2"
|
|
98771
98773
|
},
|
|
98772
98774
|
optionalDependencies: {
|
|
98773
|
-
"oh-my-opencode-darwin-arm64": "5.0.0-beta.
|
|
98774
|
-
"oh-my-opencode-darwin-x64": "5.0.0-beta.
|
|
98775
|
-
"oh-my-opencode-darwin-x64-baseline": "5.0.0-beta.
|
|
98776
|
-
"oh-my-opencode-linux-arm64": "5.0.0-beta.
|
|
98777
|
-
"oh-my-opencode-linux-arm64-musl": "5.0.0-beta.
|
|
98778
|
-
"oh-my-opencode-linux-x64": "5.0.0-beta.
|
|
98779
|
-
"oh-my-opencode-linux-x64-baseline": "5.0.0-beta.
|
|
98780
|
-
"oh-my-opencode-linux-x64-musl": "5.0.0-beta.
|
|
98781
|
-
"oh-my-opencode-linux-x64-musl-baseline": "5.0.0-beta.
|
|
98782
|
-
"oh-my-opencode-windows-arm64": "5.0.0-beta.
|
|
98783
|
-
"oh-my-opencode-windows-x64": "5.0.0-beta.
|
|
98784
|
-
"oh-my-opencode-windows-x64-baseline": "5.0.0-beta.
|
|
98775
|
+
"oh-my-opencode-darwin-arm64": "5.0.0-beta.4",
|
|
98776
|
+
"oh-my-opencode-darwin-x64": "5.0.0-beta.4",
|
|
98777
|
+
"oh-my-opencode-darwin-x64-baseline": "5.0.0-beta.4",
|
|
98778
|
+
"oh-my-opencode-linux-arm64": "5.0.0-beta.4",
|
|
98779
|
+
"oh-my-opencode-linux-arm64-musl": "5.0.0-beta.4",
|
|
98780
|
+
"oh-my-opencode-linux-x64": "5.0.0-beta.4",
|
|
98781
|
+
"oh-my-opencode-linux-x64-baseline": "5.0.0-beta.4",
|
|
98782
|
+
"oh-my-opencode-linux-x64-musl": "5.0.0-beta.4",
|
|
98783
|
+
"oh-my-opencode-linux-x64-musl-baseline": "5.0.0-beta.4",
|
|
98784
|
+
"oh-my-opencode-windows-arm64": "5.0.0-beta.4",
|
|
98785
|
+
"oh-my-opencode-windows-x64": "5.0.0-beta.4",
|
|
98786
|
+
"oh-my-opencode-windows-x64-baseline": "5.0.0-beta.4"
|
|
98785
98787
|
},
|
|
98786
98788
|
overrides: {
|
|
98787
98789
|
"@earendil-works/pi-agent-core": "0.80.3",
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
# ultimate-browsing/engine — Generic WAF-Profile Fetch Chain (Python)
|
|
2
|
+
|
|
3
|
+
**Generated:** 2026-08-10 / 38d268995
|
|
4
|
+
|
|
5
|
+
## OVERVIEW
|
|
6
|
+
|
|
7
|
+
A 17-module Python package embedded in the `ultimate-browsing` skill: a site-agnostic fetch chain that escalates from a cheap curl probe to a real browser, with declarative WAF and surrogate registries. Not "optional scripts" — it has its own CLI entry (`python3 -m engine URL`), two YAML config schemas, a 4-file test suite, and a standalone CI guard. Package exports (`__init__.py`): `fetch`, `FetchResult`, `Attempt`, `Verdict`, `ValidationResult`, `validate`, `CHALLENGE_MARKERS`, `detect`, `TRANSFORMS`, `apply_transform`.
|
|
8
|
+
|
|
9
|
+
## THE NO-SITE-NAME RULE (enforced in CI)
|
|
10
|
+
|
|
11
|
+
`engine/**` must contain **zero** hard-coded site names, brands, or target domains. Site specifics belong to runtime hints or observations, never to code. `bias_check.py` is a standalone scanner enforcing this: a brand denylist, a URL regex scan, an allowlist for genuine infrastructure hosts (archive.org, r.jina.ai, google.com, httpbin.org, relay.invalid), and a `# NOTE-BIAS-OK` comment convention for legitimate exemptions such as test fixtures.
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
python3 engine/bias_check.py # fails on any site-specific leak
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
## FETCH CHAIN PHASES
|
|
18
|
+
|
|
19
|
+
```
|
|
20
|
+
fetch(url, ...) # fetch_chain.py
|
|
21
|
+
Phase 1 curl_probe.py — curl_cffi TLS-impersonation probe
|
|
22
|
+
Phase 2 grid — referer/transform/device attempt grid
|
|
23
|
+
Phase 2.5 surrogate.py — third-party archive/reader/proxy routes
|
|
24
|
+
Phase 3 executor.py — capability-matched Playwright fallback
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
Ordering is **not** hardcoded: each `waf_profiles.yaml` profile carries a `fallback_when_challenge` list that drives the ladder. `surrogate_wayback` precedes browser executors in every profile, so archives are tried before paying for a browser spin-up.
|
|
28
|
+
|
|
29
|
+
## PROVENANCE / TRUST CONTRACT
|
|
30
|
+
|
|
31
|
+
`result_schema.py` puts two literals on every `FetchResult`:
|
|
32
|
+
|
|
33
|
+
- `Provenance = "live" | "snapshot" | "proxy"`
|
|
34
|
+
- `Trust = "origin" | "archive" | "untrusted"`
|
|
35
|
+
|
|
36
|
+
A `snapshot` result carries `snapshot_timestamp` and **must** be cited with that timestamp — never presented as the live page. `surrogates.yaml` `kind` fixes these values: `archive` -> snapshot/archive, `reader` -> live, `proxy` -> proxy/untrusted.
|
|
37
|
+
|
|
38
|
+
## SURROGATE REGISTRY (`surrogates.yaml`)
|
|
39
|
+
|
|
40
|
+
Site-agnostic infrastructure only. Every entry carries `last_verified` (ISO date); entries older than 90 days are deprioritized and flagged, because surrogate routes rot (a 2026-08 probe found 4 of 6 known routes dead or stubbed). `proxy` routes are MITM by construction: they require the explicit `--allow-proxy` flag and never receive `Cookie` or `Authorization` headers. Every surrogate response is re-validated with `target_url` set, so an interstitial or a redirect stub is rejected instead of returned as content.
|
|
41
|
+
|
|
42
|
+
## VALIDATOR LAYERS (`validators.py`)
|
|
43
|
+
|
|
44
|
+
```
|
|
45
|
+
L1 challenge markers (CHALLENGE_MARKERS)
|
|
46
|
+
L1.5 surrogate dead ends — interstitial titles + AMP-style redirect stubs
|
|
47
|
+
(is_redirect_stub(), needs target_url)
|
|
48
|
+
L2 size/shape fingerprints
|
|
49
|
+
L3+ content checks
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
## CLI
|
|
53
|
+
|
|
54
|
+
```bash
|
|
55
|
+
python3 -m engine URL [--selector S] [--device auto|desktop|mobile]
|
|
56
|
+
[--timeout 25] [--max-attempts 12]
|
|
57
|
+
[--no-playwright] [--allow-proxy] [--json] [--trace]
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
## TESTS
|
|
61
|
+
|
|
62
|
+
`tests/` — `test_surrogate.py` (staleness, proxy gating, short-circuit), `test_surrogate_validators.py`, `test_fetch_chain.py`, `test_playwright_templates.py`, plus HTML/JSON fixtures under `tests/fixtures/`.
|
|
63
|
+
|
|
64
|
+
## NOTES
|
|
65
|
+
|
|
66
|
+
- `summary.py` emits an **R7 API-first hint** after >=3 challenge verdicts against a known WAF profile: look for `/api/`, `/graphql`, or `.json` endpoints, which usually carry weaker WAF protection than the HTML surface.
|
|
67
|
+
- `templates/` holds the Playwright JS templates (`playwright_real_chrome.js`, `playwright_mobile_chrome.js`) the executor drives.
|
|
68
|
+
- `url_transforms.py` transforms stay domain-agnostic (`mobile_subdomain`, `am_prefix`, `drop_www`).
|
|
69
|
+
- Parent: [`packages/shared-skills/AGENTS.md`](../../../AGENTS.md).
|
package/dist/tui.js
CHANGED
|
@@ -18887,6 +18887,7 @@ var init_memory = __esm(() => {
|
|
|
18887
18887
|
OmoMemorySettingsSchema = object({
|
|
18888
18888
|
enabled: boolean2().default(true),
|
|
18889
18889
|
agent: string2().min(1).default("auto"),
|
|
18890
|
+
tool_exposure: _enum2(["direct", "search"]).default("direct"),
|
|
18890
18891
|
reflection: OmoMemoryReflectionSchema.default({
|
|
18891
18892
|
trigger: { step_count: 0, on_compaction: true },
|
|
18892
18893
|
merge: "auto",
|
|
@@ -18902,6 +18903,7 @@ var init_memory = __esm(() => {
|
|
|
18902
18903
|
OmoMemorySettingsLayerSchema = object({
|
|
18903
18904
|
enabled: boolean2().optional(),
|
|
18904
18905
|
agent: string2().min(1).optional(),
|
|
18906
|
+
tool_exposure: _enum2(["direct", "search"]).optional(),
|
|
18905
18907
|
reflection: OmoMemoryReflectionLayerSchema.optional(),
|
|
18906
18908
|
sync: OmoMemorySyncLayerSchema.optional(),
|
|
18907
18909
|
search: OmoMemorySearchLayerSchema.optional(),
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "oh-my-opencode",
|
|
3
|
-
"version": "5.0.0-beta.
|
|
3
|
+
"version": "5.0.0-beta.4",
|
|
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",
|
|
@@ -180,7 +180,7 @@
|
|
|
180
180
|
"zod": "^4.4.3"
|
|
181
181
|
},
|
|
182
182
|
"devDependencies": {
|
|
183
|
-
"@code-yeongyu/senpi": "2026.8.
|
|
183
|
+
"@code-yeongyu/senpi": "2026.8.11",
|
|
184
184
|
"@oh-my-opencode/agents-md-core": "workspace:*",
|
|
185
185
|
"@oh-my-opencode/ast-grep-mcp": "workspace:*",
|
|
186
186
|
"@oh-my-opencode/boulder-state": "workspace:*",
|
|
@@ -220,18 +220,18 @@
|
|
|
220
220
|
"typescript": "^7.0.2"
|
|
221
221
|
},
|
|
222
222
|
"optionalDependencies": {
|
|
223
|
-
"oh-my-opencode-darwin-arm64": "5.0.0-beta.
|
|
224
|
-
"oh-my-opencode-darwin-x64": "5.0.0-beta.
|
|
225
|
-
"oh-my-opencode-darwin-x64-baseline": "5.0.0-beta.
|
|
226
|
-
"oh-my-opencode-linux-arm64": "5.0.0-beta.
|
|
227
|
-
"oh-my-opencode-linux-arm64-musl": "5.0.0-beta.
|
|
228
|
-
"oh-my-opencode-linux-x64": "5.0.0-beta.
|
|
229
|
-
"oh-my-opencode-linux-x64-baseline": "5.0.0-beta.
|
|
230
|
-
"oh-my-opencode-linux-x64-musl": "5.0.0-beta.
|
|
231
|
-
"oh-my-opencode-linux-x64-musl-baseline": "5.0.0-beta.
|
|
232
|
-
"oh-my-opencode-windows-arm64": "5.0.0-beta.
|
|
233
|
-
"oh-my-opencode-windows-x64": "5.0.0-beta.
|
|
234
|
-
"oh-my-opencode-windows-x64-baseline": "5.0.0-beta.
|
|
223
|
+
"oh-my-opencode-darwin-arm64": "5.0.0-beta.4",
|
|
224
|
+
"oh-my-opencode-darwin-x64": "5.0.0-beta.4",
|
|
225
|
+
"oh-my-opencode-darwin-x64-baseline": "5.0.0-beta.4",
|
|
226
|
+
"oh-my-opencode-linux-arm64": "5.0.0-beta.4",
|
|
227
|
+
"oh-my-opencode-linux-arm64-musl": "5.0.0-beta.4",
|
|
228
|
+
"oh-my-opencode-linux-x64": "5.0.0-beta.4",
|
|
229
|
+
"oh-my-opencode-linux-x64-baseline": "5.0.0-beta.4",
|
|
230
|
+
"oh-my-opencode-linux-x64-musl": "5.0.0-beta.4",
|
|
231
|
+
"oh-my-opencode-linux-x64-musl-baseline": "5.0.0-beta.4",
|
|
232
|
+
"oh-my-opencode-windows-arm64": "5.0.0-beta.4",
|
|
233
|
+
"oh-my-opencode-windows-x64": "5.0.0-beta.4",
|
|
234
|
+
"oh-my-opencode-windows-x64-baseline": "5.0.0-beta.4"
|
|
235
235
|
},
|
|
236
236
|
"overrides": {
|
|
237
237
|
"@earendil-works/pi-agent-core": "0.80.3",
|
|
@@ -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 5.0.0-beta.
|
|
11
|
+
"statusMessage": "(OmO 5.0.0-beta.4) Checking Bootstrap Provisioning"
|
|
12
12
|
}
|
|
13
13
|
]
|
|
14
14
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sisyphuslabs/codex-bootstrap",
|
|
3
|
-
"version": "5.0.0-beta.
|
|
3
|
+
"version": "5.0.0-beta.4",
|
|
4
4
|
"description": "Codex SessionStart bootstrap component that provisions LazyCodex runtime dependencies from a detached worker.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"private": true,
|
|
@@ -5597,6 +5597,7 @@ var OmoMemoryAgentOverridesSchema = object({
|
|
|
5597
5597
|
var OmoMemorySettingsSchema = object({
|
|
5598
5598
|
enabled: boolean2().default(true),
|
|
5599
5599
|
agent: string2().min(1).default("auto"),
|
|
5600
|
+
tool_exposure: _enum(["direct", "search"]).default("direct"),
|
|
5600
5601
|
reflection: OmoMemoryReflectionSchema.default({
|
|
5601
5602
|
trigger: { step_count: 0, on_compaction: true },
|
|
5602
5603
|
merge: "auto",
|
|
@@ -5612,6 +5613,7 @@ var OmoMemorySettingsSchema = object({
|
|
|
5612
5613
|
var OmoMemorySettingsLayerSchema = object({
|
|
5613
5614
|
enabled: boolean2().optional(),
|
|
5614
5615
|
agent: string2().min(1).optional(),
|
|
5616
|
+
tool_exposure: _enum(["direct", "search"]).optional(),
|
|
5615
5617
|
reflection: OmoMemoryReflectionLayerSchema.optional(),
|
|
5616
5618
|
sync: OmoMemorySyncLayerSchema.optional(),
|
|
5617
5619
|
search: OmoMemorySearchLayerSchema.optional(),
|
|
@@ -5863,6 +5863,7 @@ var OmoMemoryAgentOverridesSchema = object({
|
|
|
5863
5863
|
var OmoMemorySettingsSchema = object({
|
|
5864
5864
|
enabled: boolean2().default(true),
|
|
5865
5865
|
agent: string2().min(1).default("auto"),
|
|
5866
|
+
tool_exposure: _enum(["direct", "search"]).default("direct"),
|
|
5866
5867
|
reflection: OmoMemoryReflectionSchema.default({
|
|
5867
5868
|
trigger: { step_count: 0, on_compaction: true },
|
|
5868
5869
|
merge: "auto",
|
|
@@ -5878,6 +5879,7 @@ var OmoMemorySettingsSchema = object({
|
|
|
5878
5879
|
var OmoMemorySettingsLayerSchema = object({
|
|
5879
5880
|
enabled: boolean2().optional(),
|
|
5880
5881
|
agent: string2().min(1).optional(),
|
|
5882
|
+
tool_exposure: _enum(["direct", "search"]).optional(),
|
|
5881
5883
|
reflection: OmoMemoryReflectionLayerSchema.optional(),
|
|
5882
5884
|
sync: OmoMemorySyncLayerSchema.optional(),
|
|
5883
5885
|
search: OmoMemorySearchLayerSchema.optional(),
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
"type": "command",
|
|
9
9
|
"command": "node \"${PLUGIN_ROOT}/dist/cli.js\" hook pre-tool-use",
|
|
10
10
|
"timeout": 5,
|
|
11
|
-
"statusMessage": "(OmO 5.0.0-beta.
|
|
11
|
+
"statusMessage": "(OmO 5.0.0-beta.4) Recommending Git Bash MCP"
|
|
12
12
|
}
|
|
13
13
|
]
|
|
14
14
|
}
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
"type": "command",
|
|
21
21
|
"command": "node \"${PLUGIN_ROOT}/dist/cli.js\" hook post-compact",
|
|
22
22
|
"timeout": 5,
|
|
23
|
-
"statusMessage": "(OmO 5.0.0-beta.
|
|
23
|
+
"statusMessage": "(OmO 5.0.0-beta.4) Resetting Git Bash MCP Reminder"
|
|
24
24
|
}
|
|
25
25
|
]
|
|
26
26
|
}
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
"type": "command",
|
|
9
9
|
"command": "node \"${PLUGIN_ROOT}/components/lazycodex-executor-verify/dist/cli.js\" hook subagent-stop",
|
|
10
10
|
"timeout": 10,
|
|
11
|
-
"statusMessage": "(OmO 5.0.0-beta.
|
|
11
|
+
"statusMessage": "(OmO 5.0.0-beta.4) Verifying LazyCodex Executor Evidence"
|
|
12
12
|
}
|
|
13
13
|
]
|
|
14
14
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": 1,
|
|
3
|
-
"version": "5.0.0-beta.
|
|
4
|
-
"inputDigest": "sha256:
|
|
3
|
+
"version": "5.0.0-beta.4",
|
|
4
|
+
"inputDigest": "sha256:41e04f36fa735df54afa5c237d86393e1b319c48d402dadc7716a49b06f7f5a6",
|
|
5
5
|
"outputs": [
|
|
6
6
|
{
|
|
7
7
|
"path": "cli.d.ts",
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
"type": "command",
|
|
9
9
|
"command": "node \"${PLUGIN_ROOT}/dist/cli.js\" hook post-tool-use",
|
|
10
10
|
"timeout": 60,
|
|
11
|
-
"statusMessage": "(OmO 5.0.0-beta.
|
|
11
|
+
"statusMessage": "(OmO 5.0.0-beta.4) Checking LSP Diagnostics"
|
|
12
12
|
}
|
|
13
13
|
]
|
|
14
14
|
}
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
"type": "command",
|
|
22
22
|
"command": "node \"${PLUGIN_ROOT}/dist/cli.js\" hook post-compact",
|
|
23
23
|
"timeout": 5,
|
|
24
|
-
"statusMessage": "(OmO 5.0.0-beta.
|
|
24
|
+
"statusMessage": "(OmO 5.0.0-beta.4) Resetting LSP Diagnostics Cache"
|
|
25
25
|
}
|
|
26
26
|
]
|
|
27
27
|
}
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
"type": "command",
|
|
8
8
|
"command": "node \"${PLUGIN_ROOT}/dist/cli.js\" hook session-start",
|
|
9
9
|
"timeout": 10,
|
|
10
|
-
"statusMessage": "(OmO 5.0.0-beta.
|
|
10
|
+
"statusMessage": "(OmO 5.0.0-beta.4) Loading Project Rules"
|
|
11
11
|
}
|
|
12
12
|
]
|
|
13
13
|
}
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
"type": "command",
|
|
20
20
|
"command": "node \"${PLUGIN_ROOT}/dist/cli.js\" hook user-prompt-submit",
|
|
21
21
|
"timeout": 10,
|
|
22
|
-
"statusMessage": "(OmO 5.0.0-beta.
|
|
22
|
+
"statusMessage": "(OmO 5.0.0-beta.4) Loading Project Rules"
|
|
23
23
|
}
|
|
24
24
|
]
|
|
25
25
|
}
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
"type": "command",
|
|
33
33
|
"command": "node \"${PLUGIN_ROOT}/dist/cli.js\" hook post-tool-use",
|
|
34
34
|
"timeout": 10,
|
|
35
|
-
"statusMessage": "(OmO 5.0.0-beta.
|
|
35
|
+
"statusMessage": "(OmO 5.0.0-beta.4) Matching Project Rules"
|
|
36
36
|
}
|
|
37
37
|
]
|
|
38
38
|
}
|
|
@@ -45,7 +45,7 @@
|
|
|
45
45
|
"type": "command",
|
|
46
46
|
"command": "node \"${PLUGIN_ROOT}/dist/cli.js\" hook post-compact",
|
|
47
47
|
"timeout": 10,
|
|
48
|
-
"statusMessage": "(OmO 5.0.0-beta.
|
|
48
|
+
"statusMessage": "(OmO 5.0.0-beta.4) Resetting Project Rule Cache"
|
|
49
49
|
}
|
|
50
50
|
]
|
|
51
51
|
}
|
|
@@ -31,9 +31,10 @@ Conventions for human contributors and AI agents working on this repository.
|
|
|
31
31
|
|
|
32
32
|
## Layout
|
|
33
33
|
|
|
34
|
-
- `src/boulder-reader.ts`: reads `.omo/boulder.json`, resolves the active work for the session, re-exports `getPlanChecklist`/`PlanChecklist` from `plan-checklist.ts`. `readContinuationState` returns null
|
|
34
|
+
- `src/boulder-reader.ts`: reads `.omo/boulder.json`, resolves the active work for the session, re-exports `getPlanChecklist`/`PlanChecklist` from `plan-checklist.ts`. `readContinuationState` returns null in four cases: `boulder.json` is missing or unparseable, no work matches the session, the work status is not continuable (only `active` and `paused` continue - `completed`/`abandoned` stop), or `checklist.total === 0`.
|
|
35
35
|
- `src/plan-checklist.ts`: `PlanChecklist` (`completed`/`remaining`/`total`/`nextTaskLabel`) and `getPlanChecklist`/`parsePlanChecklist`. Counts structured `## TODOs` rows (`N. <title>`) and `## Final Verification Wave` rows (`F<number>. <title>`); falls back to simple top-level `- [ ]`/`- [x]` checkboxes. Skips fenced blocks and respects `#`/`##` section boundaries.
|
|
36
|
-
- `src/codex-hook.ts`: Stop/SubagentStop hook; fills `REMAINING_COUNT
|
|
36
|
+
- `src/codex-hook.ts`: Stop/SubagentStop hook; fills nine placeholders into `directive.md` - `PLAN_NAME`, `PLAN_PATH`, `BOULDER_PATH`, `REMAINING_COUNT`, `TOTAL_COUNT`, `NEXT_TASK_LABEL`, `WORKTREE_BLOCK`, `LEDGER_PATH`, `SESSION_ID`. `WORKTREE_BLOCK` renders empty when the work has no worktree. When `remaining === 0`, `nextTaskLabel` is null and renders as "none (final gate pending)".
|
|
37
|
+
- **Context-pressure suppression:** the hook reads `input.transcript_path` through the injected `ReadonlyFileSystem` and returns `""` (no continuation) when the transcript carries any context-pressure marker (`context compacted`, `context_length_exceeded`, `context_too_large`, `codex ran out of room in the model's context window`, and related phrasings). This is the safety valve against an infinite continuation loop once the context window is exhausted; it is pinned by a `#given context-window pressure` test.
|
|
37
38
|
- `directive.md`: directive template with placeholders, applied per invocation.
|
|
38
39
|
|
|
39
40
|
## Build and Hooks
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
"type": "command",
|
|
8
8
|
"command": "node \"${PLUGIN_ROOT}/components/start-work-continuation/dist/cli.js\" hook stop",
|
|
9
9
|
"timeout": 10,
|
|
10
|
-
"statusMessage": "(OmO 5.0.0-beta.
|
|
10
|
+
"statusMessage": "(OmO 5.0.0-beta.4) Checking Start-Work Continuation"
|
|
11
11
|
}
|
|
12
12
|
]
|
|
13
13
|
}
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
"type": "command",
|
|
20
20
|
"command": "node \"${PLUGIN_ROOT}/components/start-work-continuation/dist/cli.js\" hook subagent-stop",
|
|
21
21
|
"timeout": 10,
|
|
22
|
-
"statusMessage": "(OmO 5.0.0-beta.
|
|
22
|
+
"statusMessage": "(OmO 5.0.0-beta.4) Checking Start-Work Continuation"
|
|
23
23
|
}
|
|
24
24
|
]
|
|
25
25
|
}
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
"type": "command",
|
|
9
9
|
"command": "node \"${PLUGIN_ROOT}/dist/cli.js\" hook post-tool-use",
|
|
10
10
|
"timeout": 10,
|
|
11
|
-
"statusMessage": "(OmO 5.0.0-beta.
|
|
11
|
+
"statusMessage": "(OmO 5.0.0-beta.4) Checking Thread Title Hygiene"
|
|
12
12
|
}
|
|
13
13
|
]
|
|
14
14
|
}
|