lazycodex-ai 5.1.44 → 5.1.45
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 +948 -416
- package/dist/cli/service-auth/keystore.d.ts +4 -2
- package/dist/cli-node/index.js +948 -416
- package/docs/reference/web-terminal-visual-qa.md +8 -0
- package/package.json +1 -1
- package/packages/lsp-daemon/dist/cli.js +4 -4
- package/packages/lsp-daemon/dist/client.js +4 -4
- package/packages/lsp-daemon/dist/index.js +4 -4
- package/packages/lsp-daemon/package.json +3 -3
- package/packages/lsp-tools-mcp/dist/cli.js +4 -4
- package/packages/lsp-tools-mcp/dist/mcp.js +4 -4
- package/packages/lsp-tools-mcp/dist/tools.js +4 -4
- package/packages/lsp-tools-mcp/package.json +3 -3
- package/packages/omo-codex/plugin/.codex-plugin/plugin.json +1 -1
- package/packages/omo-codex/plugin/components/bootstrap/dist/cli.js +62 -21
- 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/bootstrap/src/hook.ts +1 -1
- package/packages/omo-codex/plugin/components/comment-checker/biome.json +1 -21
- package/packages/omo-codex/plugin/components/comment-checker/hooks/hooks.json +1 -1
- package/packages/omo-codex/plugin/components/comment-checker/package.json +4 -4
- 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/biome.json +1 -21
- 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 +4 -4
- package/packages/omo-codex/plugin/components/lsp/biome.json +1 -21
- package/packages/omo-codex/plugin/components/lsp/dist/.omo-runtime-manifest.json +3 -3
- package/packages/omo-codex/plugin/components/lsp/dist/cli.js +4 -4
- package/packages/omo-codex/plugin/components/lsp/hooks/hooks.json +2 -2
- package/packages/omo-codex/plugin/components/lsp/package.json +4 -4
- package/packages/omo-codex/plugin/components/lsp/scripts/build-runtime.mjs +0 -1
- package/packages/omo-codex/plugin/components/lsp/test/codex-hook-not-installed.test.ts +1 -1
- package/packages/omo-codex/plugin/components/rules/biome.json +1 -21
- package/packages/omo-codex/plugin/components/rules/hooks/hooks.json +4 -4
- package/packages/omo-codex/plugin/components/rules/package.json +4 -4
- 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/biome.json +1 -21
- package/packages/omo-codex/plugin/components/telemetry/dist/cli.js +90 -1
- package/packages/omo-codex/plugin/components/telemetry/dist/posthog.js +91 -1
- package/packages/omo-codex/plugin/components/telemetry/hooks/hooks.json +1 -1
- package/packages/omo-codex/plugin/components/telemetry/package.json +4 -4
- package/packages/omo-codex/plugin/components/ultrawork/agents/lazycodex-gate-reviewer.toml +2 -2
- package/packages/omo-codex/plugin/components/ultrawork/biome.json +1 -21
- package/packages/omo-codex/plugin/components/ultrawork/hooks/hooks.json +1 -1
- package/packages/omo-codex/plugin/components/ultrawork/package.json +4 -4
- package/packages/omo-codex/plugin/components/ulw-execute-continuation/biome.json +1 -21
- package/packages/omo-codex/plugin/components/ulw-execute-continuation/directive.md +1 -1
- package/packages/omo-codex/plugin/components/ulw-execute-continuation/hooks/hooks.json +1 -1
- package/packages/omo-codex/plugin/components/ulw-execute-continuation/package.json +4 -4
- package/packages/omo-codex/plugin/components/ulw-loop/biome.json +1 -21
- package/packages/omo-codex/plugin/components/ulw-loop/dist/checkpoint.js +1 -1
- package/packages/omo-codex/plugin/components/ulw-loop/dist/cli.js +7 -7
- package/packages/omo-codex/plugin/components/ulw-loop/dist/codex-goal-instruction.js +5 -5
- package/packages/omo-codex/plugin/components/ulw-loop/dist/stop-resume-hook.js +1 -1
- package/packages/omo-codex/plugin/components/ulw-loop/hooks/hooks.json +5 -5
- package/packages/omo-codex/plugin/components/ulw-loop/package.json +4 -4
- package/packages/omo-codex/plugin/components/ulw-loop/src/checkpoint.ts +1 -1
- package/packages/omo-codex/plugin/components/ulw-loop/src/codex-goal-instruction.ts +5 -5
- package/packages/omo-codex/plugin/components/ulw-loop/src/stop-resume-hook.ts +1 -1
- package/packages/omo-codex/plugin/components/ulw-loop/test/fixtures/commit-mutations.mjs +2 -0
- 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-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/post-tool-use-recording-spawn-admission.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-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-ulw-execute-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-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 +12 -12
- package/packages/omo-codex/plugin/package.json +1 -1
- package/packages/omo-codex/plugin/scripts/sync-skills.mjs +7 -7
- package/packages/omo-codex/plugin/shared/test/config-loader.test.ts +2 -0
- package/packages/omo-codex/plugin/skills/browser/SKILL.md +21 -22
- package/packages/omo-codex/plugin/skills/browser/references/commands.md +2 -9
- package/packages/omo-codex/plugin/skills/browser/references/install.md +1 -2
- package/packages/omo-codex/plugin/skills/browser/runtime/omowright/manifest.json +1 -1
- package/packages/omo-codex/plugin/skills/browser/scripts/browser-doctor.mjs +2 -2
- package/packages/omo-codex/plugin/skills/browser/scripts/browser-engine-guard.mjs +63 -487
- package/packages/omo-codex/plugin/skills/browser/scripts/browser-install.mjs +1 -1
- package/packages/omo-codex/plugin/skills/browser/scripts/omowright.mjs +1 -10
- package/packages/omo-codex/plugin/skills/frontend/SKILL.md +79 -118
- package/packages/omo-codex/plugin/skills/frontend/references/design/README.md +75 -224
- package/packages/omo-codex/plugin/skills/frontend/references/design/stylegallery.md +32 -27
- package/packages/omo-codex/plugin/skills/frontend/references/perfection/README.md +2 -2
- package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/check-accent-stripes.ts +8 -24
- package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/check-draft-guard.ts +40 -0
- package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/collect-files.ts +53 -0
- package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/draft-guard/findings.ts +16 -0
- package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/draft-guard/lint.ts +38 -0
- package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/draft-guard/rules.ts +69 -0
- package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/draft-guard/text-nodes.ts +121 -0
- package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/fixtures/draft-guard/negative/attr-lookalikes.tsx +10 -0
- package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/fixtures/draft-guard/negative/bound-values.tsx +12 -0
- package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/fixtures/draft-guard/negative/const-generics.tsx +3 -0
- package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/fixtures/draft-guard/negative/generics.tsx +7 -0
- package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/fixtures/draft-guard/negative/measured-stats.html +6 -0
- package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/fixtures/draft-guard/negative/plain-copy.html +9 -0
- package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/fixtures/draft-guard/negative/state-copy.html +11 -0
- package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/fixtures/draft-guard/positive/attribute-edges.html +7 -0
- package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/fixtures/draft-guard/positive/components.tsx +16 -0
- package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/fixtures/draft-guard/positive/decorative-badge.vue +7 -0
- package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/fixtures/draft-guard/positive/emoji-icons.tsx +9 -0
- package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/fixtures/draft-guard/positive/jsx-edges.tsx +1 -0
- package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/fixtures/draft-guard/positive/promo-copy.html +6 -0
- package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/fixtures/draft-guard/positive/promo-copy.tsx +8 -0
- package/packages/omo-codex/plugin/skills/frontend/scripts/perfection/fixtures/draft-guard/positive/vanity-stats.html +5 -0
- package/packages/omo-codex/plugin/skills/init-deep/SKILL.md +1 -1
- package/packages/omo-codex/plugin/skills/programming/SKILL.md +10 -7
- package/packages/omo-codex/plugin/skills/programming/references/typescript/README.md +10 -7
- package/packages/omo-codex/plugin/skills/programming/references/typescript/bootstrap.md +9 -23
- package/packages/omo-codex/plugin/skills/programming/references/typescript/oxc-lint.md +130 -0
- package/packages/omo-codex/plugin/skills/programming/references/typescript/tsconfig-strict.md +6 -62
- package/packages/omo-codex/plugin/skills/programming/scripts/typescript/check-no-excuse-rules.ts +12 -12
- package/packages/omo-codex/plugin/skills/programming/scripts/typescript/new-project.ts +20 -81
- package/packages/omo-codex/plugin/skills/programming/scripts/typescript/oxc/.oxfmtrc.json +9 -0
- package/packages/omo-codex/plugin/skills/programming/scripts/typescript/oxc/.oxlintrc.json +46 -0
- package/packages/omo-codex/plugin/skills/programming/scripts/typescript/oxc/lint/oxlint-plugin/LICENSE +21 -0
- package/packages/omo-codex/plugin/skills/programming/scripts/typescript/oxc/lint/oxlint-plugin/index.js +10 -0
- package/packages/omo-codex/plugin/skills/programming/scripts/typescript/oxc/lint/oxlint-plugin/no-em-dash-copy.js +28 -0
- package/packages/omo-codex/plugin/skills/programming/scripts/typescript/oxc/lint/oxlint-plugin/require-suppression-reason.js +62 -0
- package/packages/omo-codex/plugin/skills/programming/scripts/typescript/oxc/tsconfig.json +29 -0
- package/packages/omo-codex/plugin/skills/refactor/SKILL.md +14 -14
- package/packages/omo-codex/plugin/skills/remove-ai-slops/SKILL.md +1 -1
- package/packages/omo-codex/plugin/skills/review-work/SKILL.md +2 -2
- package/packages/omo-codex/plugin/skills/ulw-execute/SKILL.md +2 -2
- package/packages/omo-codex/plugin/skills/ulw-loop/SKILL.md +1 -1
- package/packages/omo-codex/plugin/skills/ulw-research/AGENTS.md +9 -3
- package/packages/omo-codex/plugin/skills/ulw-research/SKILL.md +2 -2
- package/packages/omo-codex/plugin/skills/ulw-research/references/deliverable-phase.md +7 -6
- package/packages/omo-codex/plugin/skills/ulw-research/references/fact-ledger-grammar.md +116 -0
- package/packages/omo-codex/plugin/skills/ulw-research/references/report-gates.md +51 -3
- package/packages/omo-codex/plugin/skills/ulw-research/scripts/claims-index.mjs +125 -0
- package/packages/omo-codex/plugin/skills/ulw-research/scripts/contracts.mjs +68 -3
- package/packages/omo-codex/plugin/skills/ulw-research/scripts/fact-ledger-kinds.mjs +136 -0
- package/packages/omo-codex/plugin/skills/ulw-research/scripts/fact-ledger-schema.mjs +204 -0
- package/packages/omo-codex/plugin/skills/ulw-research/scripts/fact-ledger.mjs +103 -0
- package/packages/omo-codex/plugin/skills/ulw-research/scripts/fidelity-brief.mjs +145 -0
- package/packages/omo-codex/plugin/skills/ulw-research/scripts/fidelity-state.mjs +63 -0
- package/packages/omo-codex/plugin/skills/ulw-research/scripts/gates-static.mjs +1 -1
- package/packages/omo-codex/plugin/skills/ulw-research/scripts/gates-structure.mjs +1 -1
- package/packages/omo-codex/plugin/skills/ulw-research/scripts/gates-text.mjs +1 -27
- package/packages/omo-codex/plugin/skills/ulw-research/scripts/lexicon.mjs +47 -0
- package/packages/omo-codex/plugin/skills/ulw-research/scripts/numerals.mjs +226 -0
- package/packages/omo-codex/plugin/skills/ulw-research/scripts/outcome.mjs +2 -3
- package/packages/omo-codex/plugin/skills/ulw-research/scripts/particles-ko.mjs +108 -0
- package/packages/omo-codex/plugin/skills/ulw-research/scripts/rational.mjs +139 -0
- package/packages/omo-codex/plugin/skills/ulw-research/scripts/report-tools-commands.mjs +2 -2
- package/packages/omo-codex/plugin/skills/ulw-research/scripts/sentence-split.mjs +77 -0
- package/packages/omo-codex/plugin/skills/ulw-research/scripts/text-normalize.mjs +82 -0
- package/packages/omo-codex/plugin/skills/ulw-research/scripts/text-similarity.mjs +28 -0
- package/packages/omo-codex/plugin/skills/ulw-research/scripts/units.mjs +105 -0
- package/packages/omo-codex/plugin/skills/visual-qa/SKILL.md +71 -64
- package/packages/omo-codex/plugin/test/component-bundled-cli.test.mjs +4 -1
- package/packages/omo-codex/plugin/test/sync-skills-test-support.mjs +6 -6
- package/packages/omo-codex/scripts/install-dist/install-local.mjs +152 -23
- package/packages/shared-skills/skills/browser/SKILL.md +21 -22
- package/packages/shared-skills/skills/browser/references/commands.md +2 -9
- package/packages/shared-skills/skills/browser/references/install.md +1 -2
- package/packages/shared-skills/skills/browser/runtime/omowright/manifest.json +1 -1
- package/packages/shared-skills/skills/browser/scripts/browser-doctor.mjs +2 -2
- package/packages/shared-skills/skills/browser/scripts/browser-engine-guard.mjs +63 -487
- package/packages/shared-skills/skills/browser/scripts/browser-install.mjs +1 -1
- package/packages/shared-skills/skills/browser/scripts/omowright.mjs +1 -10
- package/packages/shared-skills/skills/frontend/SKILL.md +79 -118
- package/packages/shared-skills/skills/frontend/references/design/README.md +75 -224
- package/packages/shared-skills/skills/frontend/references/design/stylegallery.md +32 -27
- package/packages/shared-skills/skills/frontend/references/perfection/README.md +2 -2
- package/packages/shared-skills/skills/frontend/scripts/perfection/check-accent-stripes.ts +8 -24
- package/packages/shared-skills/skills/frontend/scripts/perfection/check-draft-guard.test.ts +101 -0
- package/packages/shared-skills/skills/frontend/scripts/perfection/check-draft-guard.ts +40 -0
- package/packages/shared-skills/skills/frontend/scripts/perfection/collect-files.test.ts +50 -0
- package/packages/shared-skills/skills/frontend/scripts/perfection/collect-files.ts +53 -0
- package/packages/shared-skills/skills/frontend/scripts/perfection/draft-guard/findings.ts +16 -0
- package/packages/shared-skills/skills/frontend/scripts/perfection/draft-guard/lint.ts +38 -0
- package/packages/shared-skills/skills/frontend/scripts/perfection/draft-guard/rules.ts +69 -0
- package/packages/shared-skills/skills/frontend/scripts/perfection/draft-guard/text-nodes.ts +121 -0
- package/packages/shared-skills/skills/frontend/scripts/perfection/fixtures/draft-guard/negative/attr-lookalikes.tsx +10 -0
- package/packages/shared-skills/skills/frontend/scripts/perfection/fixtures/draft-guard/negative/bound-values.tsx +12 -0
- package/packages/shared-skills/skills/frontend/scripts/perfection/fixtures/draft-guard/negative/const-generics.tsx +3 -0
- package/packages/shared-skills/skills/frontend/scripts/perfection/fixtures/draft-guard/negative/generics.tsx +7 -0
- package/packages/shared-skills/skills/frontend/scripts/perfection/fixtures/draft-guard/negative/measured-stats.html +6 -0
- package/packages/shared-skills/skills/frontend/scripts/perfection/fixtures/draft-guard/negative/plain-copy.html +9 -0
- package/packages/shared-skills/skills/frontend/scripts/perfection/fixtures/draft-guard/negative/state-copy.html +11 -0
- package/packages/shared-skills/skills/frontend/scripts/perfection/fixtures/draft-guard/positive/attribute-edges.html +7 -0
- package/packages/shared-skills/skills/frontend/scripts/perfection/fixtures/draft-guard/positive/components.tsx +16 -0
- package/packages/shared-skills/skills/frontend/scripts/perfection/fixtures/draft-guard/positive/decorative-badge.vue +7 -0
- package/packages/shared-skills/skills/frontend/scripts/perfection/fixtures/draft-guard/positive/emoji-icons.tsx +9 -0
- package/packages/shared-skills/skills/frontend/scripts/perfection/fixtures/draft-guard/positive/jsx-edges.tsx +1 -0
- package/packages/shared-skills/skills/frontend/scripts/perfection/fixtures/draft-guard/positive/promo-copy.html +6 -0
- package/packages/shared-skills/skills/frontend/scripts/perfection/fixtures/draft-guard/positive/promo-copy.tsx +8 -0
- package/packages/shared-skills/skills/frontend/scripts/perfection/fixtures/draft-guard/positive/vanity-stats.html +5 -0
- package/packages/shared-skills/skills/programming/SKILL.md +10 -7
- package/packages/shared-skills/skills/programming/references/typescript/README.md +10 -7
- package/packages/shared-skills/skills/programming/references/typescript/bootstrap.md +9 -23
- package/packages/shared-skills/skills/programming/references/typescript/oxc-lint.md +130 -0
- package/packages/shared-skills/skills/programming/references/typescript/tsconfig-strict.md +6 -62
- package/packages/shared-skills/skills/programming/scripts/typescript/check-no-excuse-rules.ts +12 -12
- package/packages/shared-skills/skills/programming/scripts/typescript/new-project.test.ts +162 -0
- package/packages/shared-skills/skills/programming/scripts/typescript/new-project.ts +20 -81
- package/packages/shared-skills/skills/programming/scripts/typescript/oxc/.oxfmtrc.json +9 -0
- package/packages/shared-skills/skills/programming/scripts/typescript/oxc/.oxlintrc.json +46 -0
- package/packages/shared-skills/skills/programming/scripts/typescript/oxc/lint/oxlint-plugin/LICENSE +21 -0
- package/packages/shared-skills/skills/programming/scripts/typescript/oxc/lint/oxlint-plugin/index.js +10 -0
- package/packages/shared-skills/skills/programming/scripts/typescript/oxc/lint/oxlint-plugin/no-em-dash-copy.js +28 -0
- package/packages/shared-skills/skills/programming/scripts/typescript/oxc/lint/oxlint-plugin/require-suppression-reason.js +62 -0
- package/packages/shared-skills/skills/programming/scripts/typescript/oxc/tsconfig.json +29 -0
- package/packages/shared-skills/skills/refactor/SKILL.md +13 -13
- package/packages/shared-skills/skills/ulw-execute/SKILL.md +1 -1
- package/packages/shared-skills/skills/ulw-research/AGENTS.md +9 -3
- package/packages/shared-skills/skills/ulw-research/SKILL.md +2 -2
- package/packages/shared-skills/skills/ulw-research/references/deliverable-phase.md +7 -6
- package/packages/shared-skills/skills/ulw-research/references/fact-ledger-grammar.md +116 -0
- package/packages/shared-skills/skills/ulw-research/references/report-gates.md +51 -3
- package/packages/shared-skills/skills/ulw-research/scripts/claims-index.mjs +125 -0
- package/packages/shared-skills/skills/ulw-research/scripts/claims-index.test.ts +149 -0
- package/packages/shared-skills/skills/ulw-research/scripts/contracts.mjs +68 -3
- package/packages/shared-skills/skills/ulw-research/scripts/contracts.test.ts +97 -12
- package/packages/shared-skills/skills/ulw-research/scripts/fact-ledger-grammar.test.ts +190 -0
- package/packages/shared-skills/skills/ulw-research/scripts/fact-ledger-kinds.mjs +136 -0
- package/packages/shared-skills/skills/ulw-research/scripts/fact-ledger-kinds.test.ts +141 -0
- package/packages/shared-skills/skills/ulw-research/scripts/fact-ledger-schema.mjs +204 -0
- package/packages/shared-skills/skills/ulw-research/scripts/fact-ledger-schema.test.ts +43 -0
- package/packages/shared-skills/skills/ulw-research/scripts/fact-ledger.mjs +103 -0
- package/packages/shared-skills/skills/ulw-research/scripts/fact-ledger.test.ts +252 -0
- package/packages/shared-skills/skills/ulw-research/scripts/fidelity-brief.mjs +145 -0
- package/packages/shared-skills/skills/ulw-research/scripts/fidelity-brief.test.ts +179 -0
- package/packages/shared-skills/skills/ulw-research/scripts/fidelity-state.mjs +63 -0
- package/packages/shared-skills/skills/ulw-research/scripts/fidelity-state.test.ts +46 -0
- package/packages/shared-skills/skills/ulw-research/scripts/gates-context.test.ts +64 -0
- package/packages/shared-skills/skills/ulw-research/scripts/gates-static.mjs +1 -1
- package/packages/shared-skills/skills/ulw-research/scripts/gates-structure.mjs +1 -1
- package/packages/shared-skills/skills/ulw-research/scripts/gates-text.mjs +1 -27
- package/packages/shared-skills/skills/ulw-research/scripts/lexicon.mjs +47 -0
- package/packages/shared-skills/skills/ulw-research/scripts/lexicon.test.ts +57 -0
- package/packages/shared-skills/skills/ulw-research/scripts/numerals.mjs +226 -0
- package/packages/shared-skills/skills/ulw-research/scripts/numerals.test.ts +120 -0
- package/packages/shared-skills/skills/ulw-research/scripts/outcome.mjs +2 -3
- package/packages/shared-skills/skills/ulw-research/scripts/outcome.test.ts +29 -0
- package/packages/shared-skills/skills/ulw-research/scripts/particles-ko.mjs +108 -0
- package/packages/shared-skills/skills/ulw-research/scripts/particles-ko.test.ts +86 -0
- package/packages/shared-skills/skills/ulw-research/scripts/rational.mjs +139 -0
- package/packages/shared-skills/skills/ulw-research/scripts/rational.test.ts +46 -0
- package/packages/shared-skills/skills/ulw-research/scripts/report-tools-commands.mjs +2 -2
- package/packages/shared-skills/skills/ulw-research/scripts/sentence-split.mjs +77 -0
- package/packages/shared-skills/skills/ulw-research/scripts/sentence-split.test.ts +109 -0
- package/packages/shared-skills/skills/ulw-research/scripts/tests/fixtures/fidelity/claim-graph.md +13 -0
- package/packages/shared-skills/skills/ulw-research/scripts/tests/fixtures/fidelity-brief-locked.md +17 -0
- package/packages/shared-skills/skills/ulw-research/scripts/tests/fixtures/fidelity-brief-pending.md +17 -0
- package/packages/shared-skills/skills/ulw-research/scripts/text-normalize.mjs +82 -0
- package/packages/shared-skills/skills/ulw-research/scripts/text-normalize.test.ts +73 -0
- package/packages/shared-skills/skills/ulw-research/scripts/text-similarity.mjs +28 -0
- package/packages/shared-skills/skills/ulw-research/scripts/text-similarity.test.ts +38 -0
- package/packages/shared-skills/skills/ulw-research/scripts/units.mjs +105 -0
- package/packages/shared-skills/skills/ulw-research/scripts/units.test.ts +83 -0
- package/packages/shared-skills/skills/visual-qa/SKILL.md +70 -63
- package/packages/shared-skills/skills/visual-qa/scripts/skill-doc-fields.test.ts +34 -0
- package/script/qa/web-terminal-visual-qa.mjs +6 -2
- package/script/qa/xterm-live-terminal.mjs +26 -3
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
// omo-codex-install:
|
|
2
|
+
// omo-codex-install:a13cf7e9a95d881bd59c4cfee5cc6277e0ded2733a57e61020e6786ef72839f4:5b4bab0a0600c1ff722c498ab18fcef7cf291fd3a13f074cb2d5ca4db8ecbec4
|
|
3
3
|
var __esm = (fn, res, err) => () => {
|
|
4
4
|
if (fn)
|
|
5
5
|
try {
|
|
@@ -9982,20 +9982,98 @@ var init_index_node = __esm(() => {
|
|
|
9982
9982
|
};
|
|
9983
9983
|
});
|
|
9984
9984
|
|
|
9985
|
+
// packages/telemetry-core/src/telemetry-delivery-error.ts
|
|
9986
|
+
var PERMANENT_STATUSES, TelemetryDeliveryError;
|
|
9987
|
+
var init_telemetry_delivery_error = __esm(() => {
|
|
9988
|
+
PERMANENT_STATUSES = new Set([400, 413]);
|
|
9989
|
+
TelemetryDeliveryError = class TelemetryDeliveryError extends Error {
|
|
9990
|
+
permanent;
|
|
9991
|
+
status;
|
|
9992
|
+
constructor(status, cause) {
|
|
9993
|
+
super(status === undefined ? "telemetry event was not delivered (no response)" : `telemetry event was rejected with HTTP ${status}`, { cause });
|
|
9994
|
+
this.name = "TelemetryDeliveryError";
|
|
9995
|
+
this.status = status;
|
|
9996
|
+
this.permanent = status !== undefined && PERMANENT_STATUSES.has(status);
|
|
9997
|
+
}
|
|
9998
|
+
};
|
|
9999
|
+
});
|
|
10000
|
+
|
|
10001
|
+
// packages/telemetry-core/src/posthog-immediate-send.ts
|
|
10002
|
+
function createImmediateSender(apiKey, options, PostHogClient) {
|
|
10003
|
+
const baseFetch = options.fetch ?? ((url, init) => fetch(url, init));
|
|
10004
|
+
let current;
|
|
10005
|
+
const trackedFetch = async (url, init) => {
|
|
10006
|
+
const attempt = current;
|
|
10007
|
+
try {
|
|
10008
|
+
const response = await baseFetch(url, init);
|
|
10009
|
+
if (attempt !== undefined)
|
|
10010
|
+
attempt.status = response.status;
|
|
10011
|
+
return response;
|
|
10012
|
+
} catch (error) {
|
|
10013
|
+
if (attempt !== undefined)
|
|
10014
|
+
attempt.error = error;
|
|
10015
|
+
throw error;
|
|
10016
|
+
}
|
|
10017
|
+
};
|
|
10018
|
+
const client = new PostHogClient(apiKey, { ...options, fetch: trackedFetch, fetchRetryCount: 0 });
|
|
10019
|
+
let queue = Promise.resolve();
|
|
10020
|
+
const sendOne = async (message) => {
|
|
10021
|
+
const attempt = {};
|
|
10022
|
+
current = attempt;
|
|
10023
|
+
try {
|
|
10024
|
+
await client.captureImmediate(message);
|
|
10025
|
+
} finally {
|
|
10026
|
+
current = undefined;
|
|
10027
|
+
}
|
|
10028
|
+
const { status } = attempt;
|
|
10029
|
+
if (status === undefined || status < 200 || status >= 300)
|
|
10030
|
+
throw new TelemetryDeliveryError(status, attempt.error);
|
|
10031
|
+
};
|
|
10032
|
+
return {
|
|
10033
|
+
send(message) {
|
|
10034
|
+
const result = queue.then(() => sendOne(message));
|
|
10035
|
+
queue = result.catch(() => {
|
|
10036
|
+
return;
|
|
10037
|
+
});
|
|
10038
|
+
return result;
|
|
10039
|
+
},
|
|
10040
|
+
async shutdown() {
|
|
10041
|
+
await client.shutdown();
|
|
10042
|
+
}
|
|
10043
|
+
};
|
|
10044
|
+
}
|
|
10045
|
+
var init_posthog_immediate_send = __esm(() => {
|
|
10046
|
+
init_telemetry_delivery_error();
|
|
10047
|
+
});
|
|
10048
|
+
|
|
9985
10049
|
// packages/telemetry-core/src/posthog-transport.ts
|
|
9986
10050
|
class PostHogTelemetryTransport {
|
|
9987
10051
|
#client;
|
|
10052
|
+
#apiKey;
|
|
10053
|
+
#options;
|
|
10054
|
+
#immediate;
|
|
9988
10055
|
constructor(apiKey, options) {
|
|
9989
10056
|
this.#client = new PostHog(apiKey, options);
|
|
10057
|
+
this.#apiKey = apiKey;
|
|
10058
|
+
this.#options = options;
|
|
9990
10059
|
}
|
|
9991
10060
|
capture(message) {
|
|
9992
10061
|
this.#client.capture(message);
|
|
9993
10062
|
}
|
|
10063
|
+
captureImmediate(message) {
|
|
10064
|
+
this.#immediate ??= Promise.resolve().then(() => (init_posthog_immediate_send(), {})).then(({}) => createImmediateSender(this.#apiKey, this.#options, PostHog)).catch((error) => {
|
|
10065
|
+
this.#immediate = undefined;
|
|
10066
|
+
throw error;
|
|
10067
|
+
});
|
|
10068
|
+
return this.#immediate.then((sender) => sender.send(message));
|
|
10069
|
+
}
|
|
9994
10070
|
async flush() {
|
|
9995
10071
|
await this.#client.flush();
|
|
9996
10072
|
}
|
|
9997
10073
|
async shutdown() {
|
|
9998
|
-
await this.#client.shutdown()
|
|
10074
|
+
await Promise.all([this.#client.shutdown(), this.#immediate?.then((sender) => sender.shutdown(), () => {
|
|
10075
|
+
return;
|
|
10076
|
+
})]);
|
|
9999
10077
|
}
|
|
10000
10078
|
}
|
|
10001
10079
|
function createDefaultPostHogTransport(apiKey, options) {
|
|
@@ -10020,6 +10098,12 @@ var init_posthog_client = __esm(() => {
|
|
|
10020
10098
|
// packages/telemetry-core/src/record-daily-active.ts
|
|
10021
10099
|
var init_record_daily_active = () => {};
|
|
10022
10100
|
|
|
10101
|
+
// packages/telemetry-core/src/turn-trace-bridge.ts
|
|
10102
|
+
var REGISTRY;
|
|
10103
|
+
var init_turn_trace_bridge = __esm(() => {
|
|
10104
|
+
REGISTRY = Symbol.for("omo.telemetry.turn-traceparent.v1");
|
|
10105
|
+
});
|
|
10106
|
+
|
|
10023
10107
|
// packages/telemetry-core/src/index.ts
|
|
10024
10108
|
var init_src = __esm(() => {
|
|
10025
10109
|
init_activity_state();
|
|
@@ -10031,6 +10115,7 @@ var init_src = __esm(() => {
|
|
|
10031
10115
|
init_machine_id();
|
|
10032
10116
|
init_posthog_client();
|
|
10033
10117
|
init_record_daily_active();
|
|
10118
|
+
init_turn_trace_bridge();
|
|
10034
10119
|
});
|
|
10035
10120
|
|
|
10036
10121
|
// packages/omo-codex/package.json
|
|
@@ -10038,7 +10123,7 @@ var package_default;
|
|
|
10038
10123
|
var init_package = __esm(() => {
|
|
10039
10124
|
package_default = {
|
|
10040
10125
|
name: "@oh-my-opencode/omo-codex",
|
|
10041
|
-
version: "5.1.
|
|
10126
|
+
version: "5.1.45",
|
|
10042
10127
|
type: "module",
|
|
10043
10128
|
private: true,
|
|
10044
10129
|
description: "Codex harness adapter for oh-my-openagent. Vendored Codex plugin namespace (omo) + TypeScript installer + telemetry.",
|
|
@@ -10069,6 +10154,7 @@ var init_package = __esm(() => {
|
|
|
10069
10154
|
"sync:skills": "node plugin/scripts/sync-skills.mjs"
|
|
10070
10155
|
},
|
|
10071
10156
|
dependencies: {
|
|
10157
|
+
"@oh-my-opencode/model-core": "workspace:*",
|
|
10072
10158
|
"@oh-my-opencode/shared-skills": "workspace:*",
|
|
10073
10159
|
"@oh-my-opencode/utils": "workspace:*"
|
|
10074
10160
|
},
|
|
@@ -12917,9 +13003,27 @@ function isRootSetting(line, key) {
|
|
|
12917
13003
|
// packages/omo-codex/src/install/codex-model-catalog.ts
|
|
12918
13004
|
import { readFile as readFile10 } from "node:fs/promises";
|
|
12919
13005
|
import { join as join15 } from "node:path";
|
|
13006
|
+
|
|
13007
|
+
// packages/model-core/src/latest-models.ts
|
|
13008
|
+
var LATEST_MODEL_BY_FAMILY = {
|
|
13009
|
+
claudeOpus: "claude-opus-5-5",
|
|
13010
|
+
claudeSonnet: "claude-sonnet-5-5",
|
|
13011
|
+
claudeHaiku: "claude-haiku-5-5",
|
|
13012
|
+
claudeFable: "claude-fable-5-1",
|
|
13013
|
+
gptAstra: "gpt-6-astra",
|
|
13014
|
+
gptSol: "gpt-6.1-sol",
|
|
13015
|
+
gptSolFast: "gpt-6.1-sol-fast",
|
|
13016
|
+
gptLunaFast: "gpt-6-luna-fast",
|
|
13017
|
+
glm: "glm-5.3",
|
|
13018
|
+
glmFlash: "glm-5.3-flash",
|
|
13019
|
+
kimi: "kimi-k3",
|
|
13020
|
+
geminiPro: "gemini-4-argon"
|
|
13021
|
+
};
|
|
13022
|
+
|
|
13023
|
+
// packages/omo-codex/src/install/codex-model-catalog.ts
|
|
12920
13024
|
var FALLBACK_CODEX_MODEL_CATALOG = {
|
|
12921
13025
|
current: {
|
|
12922
|
-
model:
|
|
13026
|
+
model: LATEST_MODEL_BY_FAMILY.gptAstra,
|
|
12923
13027
|
modelContextWindow: 600000,
|
|
12924
13028
|
modelReasoningEffort: "high",
|
|
12925
13029
|
planModeReasoningEffort: "xhigh"
|
|
@@ -19477,7 +19581,7 @@ var OmoGitMasterSettingsShape = {
|
|
|
19477
19581
|
var OmoGitMasterSettingsLayerSchema = object(OmoGitMasterSettingsShape).partial().strict();
|
|
19478
19582
|
var OmoGitMasterSettingsSchema = OmoGitMasterSettingsLayerSchema.extend({
|
|
19479
19583
|
commit_footer: union([boolean2(), string2()]).default(false),
|
|
19480
|
-
include_co_authored_by: boolean2().default(
|
|
19584
|
+
include_co_authored_by: boolean2().default(true),
|
|
19481
19585
|
git_env_prefix: GitEnvPrefixSchema.default("GIT_MASTER=1")
|
|
19482
19586
|
}).strict();
|
|
19483
19587
|
|
|
@@ -19537,6 +19641,14 @@ var OmoMemoryRecallSchema = object({
|
|
|
19537
19641
|
tool_budget: number2().int().positive().default(8),
|
|
19538
19642
|
query_expansion: boolean2().default(false)
|
|
19539
19643
|
}).strict();
|
|
19644
|
+
var OmoMemoryProjectScopeSchema = object({
|
|
19645
|
+
nudge: boolean2().default(true),
|
|
19646
|
+
recall: boolean2().default(true)
|
|
19647
|
+
}).strict();
|
|
19648
|
+
var OmoMemoryProjectScopeLayerSchema = object({
|
|
19649
|
+
nudge: boolean2().optional(),
|
|
19650
|
+
recall: boolean2().optional()
|
|
19651
|
+
}).strict();
|
|
19540
19652
|
var OmoMemoryNudgeSchema = object({
|
|
19541
19653
|
enabled: boolean2().default(true),
|
|
19542
19654
|
every_user_turns: number2().int().min(1).default(10)
|
|
@@ -19692,6 +19804,7 @@ var OmoMemorySettingsSchema = object({
|
|
|
19692
19804
|
tool_budget: 8,
|
|
19693
19805
|
query_expansion: false
|
|
19694
19806
|
}),
|
|
19807
|
+
project_scope: OmoMemoryProjectScopeSchema.default({ nudge: true, recall: true }),
|
|
19695
19808
|
projection: OmoMemoryProjectionSchema.default({ max_entries_per_directory: 40, max_bytes: 24576 }),
|
|
19696
19809
|
compile_warn_tokens: number2().int().positive().default(30000),
|
|
19697
19810
|
agents: record(string2(), OmoMemoryAgentOverridesSchema).default({})
|
|
@@ -19711,6 +19824,7 @@ var OmoMemorySettingsLayerSchema = object({
|
|
|
19711
19824
|
sync: OmoMemorySyncLayerSchema.optional(),
|
|
19712
19825
|
search: OmoMemorySearchLayerSchema.optional(),
|
|
19713
19826
|
recall: OmoMemoryRecallLayerSchema.optional(),
|
|
19827
|
+
project_scope: OmoMemoryProjectScopeLayerSchema.optional(),
|
|
19714
19828
|
projection: OmoMemoryProjectionLayerSchema.optional(),
|
|
19715
19829
|
compile_warn_tokens: number2().int().positive().optional(),
|
|
19716
19830
|
agents: record(string2(), OmoMemoryAgentOverridesSchema).optional()
|
|
@@ -19982,7 +20096,8 @@ var OmoTeamsConfigLayerSchema = record(string2(), OmoTeamSpecLayerSchema);
|
|
|
19982
20096
|
|
|
19983
20097
|
// packages/omo-config-core/src/schema/telemetry.ts
|
|
19984
20098
|
var OmoTelemetrySettingsShape = {
|
|
19985
|
-
enabled: boolean2()
|
|
20099
|
+
enabled: boolean2(),
|
|
20100
|
+
rawTurnSampleRate: number2().min(0).max(1)
|
|
19986
20101
|
};
|
|
19987
20102
|
var OmoTelemetrySettingsLayerSchema = object(OmoTelemetrySettingsShape).partial().strict();
|
|
19988
20103
|
var OmoTelemetrySettingsSchema = OmoTelemetrySettingsLayerSchema.extend({
|
|
@@ -20004,16 +20119,26 @@ var OmoFormatOnMutationSchema = OmoFormatOnMutationLayerSchema.extend({
|
|
|
20004
20119
|
timeoutMs: number2().int().positive().default(3000)
|
|
20005
20120
|
}).strict();
|
|
20006
20121
|
|
|
20007
|
-
// packages/omo-config-core/src/schema/
|
|
20008
|
-
var
|
|
20122
|
+
// packages/omo-config-core/src/schema/dori.ts
|
|
20123
|
+
var OmoDoriSectionSchema = record(string2(), unknown()).describe("Chat-surface dori settings, owned and validated by a separately installed dori package. omo accepts the key and never reads it.");
|
|
20124
|
+
|
|
20125
|
+
// packages/omo-config-core/src/schema/provenance.ts
|
|
20126
|
+
var OmoProvenanceSettingsSchema = object({
|
|
20127
|
+
workspaces: array(object({
|
|
20128
|
+
name: string2().trim().min(1).regex(/\S/),
|
|
20129
|
+
git_owners: array(string2().trim().min(1).regex(/\S/)).optional(),
|
|
20130
|
+
paths: array(string2().trim().min(1).regex(/\S/)).optional()
|
|
20131
|
+
}).strict()).optional()
|
|
20132
|
+
}).strict();
|
|
20009
20133
|
|
|
20010
20134
|
// packages/omo-config-core/src/schema/config.ts
|
|
20011
20135
|
var OmoOpenCodeHarnessConfigSchema = record(string2(), unknown());
|
|
20012
20136
|
var OmoDisabledSkillsSchema = array(string2());
|
|
20013
20137
|
var OmoExcludedModelsSchema = array(string2());
|
|
20014
20138
|
var OmoTypedHarnessConfigSchema = object({
|
|
20139
|
+
provenance: OmoProvenanceSettingsSchema.optional(),
|
|
20015
20140
|
formatOnMutation: OmoFormatOnMutationLayerSchema.optional(),
|
|
20016
|
-
|
|
20141
|
+
dori: OmoDoriSectionSchema.optional(),
|
|
20017
20142
|
categories: OmoCategoriesConfigSchema.optional(),
|
|
20018
20143
|
agents: OmoAgentsConfigSchema.optional(),
|
|
20019
20144
|
git_master: OmoGitMasterSettingsLayerSchema.optional(),
|
|
@@ -20030,7 +20155,9 @@ var OmoTypedHarnessConfigSchema = object({
|
|
|
20030
20155
|
exclude_models: OmoExcludedModelsSchema.optional()
|
|
20031
20156
|
}).strict();
|
|
20032
20157
|
var OmoConfigProfileSchema = object({
|
|
20158
|
+
provenance: OmoProvenanceSettingsSchema.optional(),
|
|
20033
20159
|
formatOnMutation: OmoFormatOnMutationLayerSchema.optional(),
|
|
20160
|
+
dori: OmoDoriSectionSchema.optional(),
|
|
20034
20161
|
categories: OmoCategoriesConfigSchema.optional(),
|
|
20035
20162
|
agents: OmoAgentsConfigSchema.optional(),
|
|
20036
20163
|
git_master: OmoGitMasterSettingsLayerSchema.optional(),
|
|
@@ -20051,8 +20178,9 @@ var OmoConfigProfileSchema = object({
|
|
|
20051
20178
|
"[codex]": OmoTypedHarnessConfigSchema.optional()
|
|
20052
20179
|
}).strict();
|
|
20053
20180
|
var OmoConfigSchema = object({
|
|
20181
|
+
provenance: OmoProvenanceSettingsSchema.optional(),
|
|
20054
20182
|
formatOnMutation: OmoFormatOnMutationSchema.optional(),
|
|
20055
|
-
|
|
20183
|
+
dori: OmoDoriSectionSchema.optional(),
|
|
20056
20184
|
$schema: string2().optional(),
|
|
20057
20185
|
categories: OmoCategoriesConfigSchema.optional(),
|
|
20058
20186
|
agents: OmoAgentsConfigSchema.optional(),
|
|
@@ -20077,8 +20205,9 @@ var OmoConfigSchema = object({
|
|
|
20077
20205
|
legacy_migrations: record(string2(), unknown()).optional()
|
|
20078
20206
|
}).strict();
|
|
20079
20207
|
var OmoConfigLayerSchema = object({
|
|
20208
|
+
provenance: OmoProvenanceSettingsSchema.optional(),
|
|
20080
20209
|
formatOnMutation: OmoFormatOnMutationLayerSchema.optional(),
|
|
20081
|
-
|
|
20210
|
+
dori: OmoDoriSectionSchema.optional(),
|
|
20082
20211
|
$schema: string2().optional(),
|
|
20083
20212
|
categories: OmoCategoriesConfigSchema.optional(),
|
|
20084
20213
|
agents: OmoAgentsConfigSchema.optional(),
|
|
@@ -21827,7 +21956,7 @@ var MANAGED_REASONING_DEFAULT_UPGRADES = new Map([
|
|
|
21827
21956
|
},
|
|
21828
21957
|
{
|
|
21829
21958
|
previous: { model: "gpt-5.6-luna", effort: "low" },
|
|
21830
|
-
current: { model:
|
|
21959
|
+
current: { model: LATEST_MODEL_BY_FAMILY.gptAstra, effort: "low" }
|
|
21831
21960
|
}
|
|
21832
21961
|
]
|
|
21833
21962
|
],
|
|
@@ -21844,7 +21973,7 @@ var MANAGED_REASONING_DEFAULT_UPGRADES = new Map([
|
|
|
21844
21973
|
},
|
|
21845
21974
|
{
|
|
21846
21975
|
previous: { model: "gpt-5.6-luna", effort: "low" },
|
|
21847
|
-
current: { model:
|
|
21976
|
+
current: { model: LATEST_MODEL_BY_FAMILY.gptAstra, effort: "low" }
|
|
21848
21977
|
}
|
|
21849
21978
|
]
|
|
21850
21979
|
],
|
|
@@ -21853,7 +21982,7 @@ var MANAGED_REASONING_DEFAULT_UPGRADES = new Map([
|
|
|
21853
21982
|
[
|
|
21854
21983
|
{
|
|
21855
21984
|
previous: { model: "gpt-5.6-sol", effort: "high" },
|
|
21856
|
-
current: { model:
|
|
21985
|
+
current: { model: LATEST_MODEL_BY_FAMILY.gptAstra, effort: "high" }
|
|
21857
21986
|
}
|
|
21858
21987
|
]
|
|
21859
21988
|
],
|
|
@@ -21862,7 +21991,7 @@ var MANAGED_REASONING_DEFAULT_UPGRADES = new Map([
|
|
|
21862
21991
|
[
|
|
21863
21992
|
{
|
|
21864
21993
|
previous: { model: "gpt-5.6-luna", effort: "high" },
|
|
21865
|
-
current: { model:
|
|
21994
|
+
current: { model: LATEST_MODEL_BY_FAMILY.gptAstra, effort: "high" }
|
|
21866
21995
|
}
|
|
21867
21996
|
]
|
|
21868
21997
|
],
|
|
@@ -21879,7 +22008,7 @@ var MANAGED_REASONING_DEFAULT_UPGRADES = new Map([
|
|
|
21879
22008
|
},
|
|
21880
22009
|
{
|
|
21881
22010
|
previous: { model: "gpt-5.6-terra", effort: "high" },
|
|
21882
|
-
current: { model:
|
|
22011
|
+
current: { model: LATEST_MODEL_BY_FAMILY.gptAstra, effort: "high" }
|
|
21883
22012
|
}
|
|
21884
22013
|
]
|
|
21885
22014
|
],
|
|
@@ -21896,7 +22025,7 @@ var MANAGED_REASONING_DEFAULT_UPGRADES = new Map([
|
|
|
21896
22025
|
},
|
|
21897
22026
|
{
|
|
21898
22027
|
previous: { model: "gpt-5.6-sol", effort: "high" },
|
|
21899
|
-
current: { model:
|
|
22028
|
+
current: { model: LATEST_MODEL_BY_FAMILY.gptAstra, effort: "high" }
|
|
21900
22029
|
}
|
|
21901
22030
|
]
|
|
21902
22031
|
],
|
|
@@ -21913,7 +22042,7 @@ var MANAGED_REASONING_DEFAULT_UPGRADES = new Map([
|
|
|
21913
22042
|
},
|
|
21914
22043
|
{
|
|
21915
22044
|
previous: { model: "gpt-5.6-terra", effort: "high" },
|
|
21916
|
-
current: { model:
|
|
22045
|
+
current: { model: LATEST_MODEL_BY_FAMILY.gptAstra, effort: "high" }
|
|
21917
22046
|
}
|
|
21918
22047
|
]
|
|
21919
22048
|
],
|
|
@@ -21926,7 +22055,7 @@ var MANAGED_REASONING_DEFAULT_UPGRADES = new Map([
|
|
|
21926
22055
|
},
|
|
21927
22056
|
{
|
|
21928
22057
|
previous: { model: "gpt-5.6-sol", effort: "medium" },
|
|
21929
|
-
current: { model:
|
|
22058
|
+
current: { model: LATEST_MODEL_BY_FAMILY.gptAstra, effort: "medium" }
|
|
21930
22059
|
}
|
|
21931
22060
|
]
|
|
21932
22061
|
],
|
|
@@ -21939,7 +22068,7 @@ var MANAGED_REASONING_DEFAULT_UPGRADES = new Map([
|
|
|
21939
22068
|
},
|
|
21940
22069
|
{
|
|
21941
22070
|
previous: { model: "gpt-5.6-terra", effort: "medium" },
|
|
21942
|
-
current: { model:
|
|
22071
|
+
current: { model: LATEST_MODEL_BY_FAMILY.gptAstra, effort: "medium" }
|
|
21943
22072
|
}
|
|
21944
22073
|
]
|
|
21945
22074
|
],
|
|
@@ -21952,7 +22081,7 @@ var MANAGED_REASONING_DEFAULT_UPGRADES = new Map([
|
|
|
21952
22081
|
},
|
|
21953
22082
|
{
|
|
21954
22083
|
previous: { model: "gpt-5.6-terra", effort: "high" },
|
|
21955
|
-
current: { model:
|
|
22084
|
+
current: { model: LATEST_MODEL_BY_FAMILY.gptAstra, effort: "high" }
|
|
21956
22085
|
}
|
|
21957
22086
|
]
|
|
21958
22087
|
],
|
|
@@ -21965,7 +22094,7 @@ var MANAGED_REASONING_DEFAULT_UPGRADES = new Map([
|
|
|
21965
22094
|
},
|
|
21966
22095
|
{
|
|
21967
22096
|
previous: { model: "gpt-5.6-luna", effort: "high" },
|
|
21968
|
-
current: { model:
|
|
22097
|
+
current: { model: LATEST_MODEL_BY_FAMILY.gptAstra, effort: "high" }
|
|
21969
22098
|
}
|
|
21970
22099
|
]
|
|
21971
22100
|
],
|
|
@@ -21982,7 +22111,7 @@ var MANAGED_REASONING_DEFAULT_UPGRADES = new Map([
|
|
|
21982
22111
|
},
|
|
21983
22112
|
{
|
|
21984
22113
|
previous: { model: "gpt-5.6-sol", effort: "low" },
|
|
21985
|
-
current: { model:
|
|
22114
|
+
current: { model: LATEST_MODEL_BY_FAMILY.gptAstra, effort: "low" }
|
|
21986
22115
|
}
|
|
21987
22116
|
]
|
|
21988
22117
|
]
|
|
@@ -18,29 +18,28 @@ 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 —
|
|
21
|
+
## Step 0 — inside OmO Desktop: everything above, plus the app's built-in browser
|
|
22
22
|
|
|
23
|
-
When `OMO_BROWSER_ENGINE` is set (the OmO desktop app sets it for every session),
|
|
23
|
+
When `OMO_BROWSER_ENGINE` is set (the OmO desktop app sets it for every session), everything above works exactly
|
|
24
|
+
as in the terminal: `connectBrowserSkill()` for the user's own browser, `connectPipe()` / `connectCloakProfile()` /
|
|
25
|
+
`connect()` for a browser of your own, with the same table to choose between them. The app adds one more option:
|
|
24
26
|
|
|
25
|
-
|
|
|
26
|
-
|
|
27
|
-
| `
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
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.
|
|
27
|
+
| Option | What it is | Use it when |
|
|
28
|
+
|---|---|---|
|
|
29
|
+
| `connectBuiltinBrowser()` | OmO's built-in browser for this thread: the tab the user sees beside the chat, which they can watch, take over and share | the user should see the page while you work, the task is QA of something in the app, or a sign-in the user should do themselves in a visible tab |
|
|
30
|
+
|
|
31
|
+
```js
|
|
32
|
+
const browser = await omowright.connectBuiltinBrowser()
|
|
33
|
+
const [tab] = await browser.listTargets()
|
|
34
|
+
const page = await browser.attachPage(tab.id)
|
|
35
|
+
await page.goto(url)
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
It is an OmOWright connection like `connect()`. Work in few calls: take `page.snapshot()` once, act on its refs,
|
|
39
|
+
and chain several actions in one eval cell (`page.locator(ref).fill()`, `.click()`, `.selectOption(value)`,
|
|
40
|
+
`.setInputFiles(path)`), snapshotting again only after the page changed. It has one tab: navigate it rather than
|
|
41
|
+
opening new ones. `BuiltinBrowserUnavailableError` permits another engine only for `unavailable`, `timeout`, or
|
|
42
|
+
`invalid_grant`. For `user_stopped` or any other app refusal, stop browser work and report it; do not open another browser.
|
|
44
43
|
|
|
45
44
|
## Step 1 — load omowright and prove the stack
|
|
46
45
|
|
|
@@ -118,7 +117,7 @@ changing the extension's automation settings.
|
|
|
118
117
|
out everywhere. No flow here needs it.
|
|
119
118
|
- **`focused: false` by default.** The browser belongs to someone who is probably using it.
|
|
120
119
|
- **One short, named session per task,** always stopped.
|
|
121
|
-
- **Bot-scored or WAF targets go to the owned engine
|
|
120
|
+
- **Bot-scored or WAF targets go to the owned engine**, in the terminal and inside OmO Desktop alike. The attached engine's daemon enables console
|
|
122
121
|
capture on every tab it drives, which is a known automation signal; CloakBrowser through
|
|
123
122
|
`connectCloakProfile()` is the stealth path.
|
|
124
123
|
|
|
@@ -98,17 +98,10 @@ 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 |
|
|
102
102
|
| `cdp_failed` | the page cannot be attached (restricted URL, DevTools open) | say which page and why |
|
|
103
103
|
|
|
104
|
-
|
|
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 |
|
|
104
|
+
Inside OmO Desktop (`OMO_BROWSER_ENGINE` set), `connectBuiltinBrowser()` throws `BuiltinBrowserUnavailableError` (`code` `browser_builtin_unavailable`). Reasons `unavailable`, `timeout`, and `invalid_grant` mean the built-in browser is unavailable; `invalid_grant` includes a missing or unreadable token file. For `user_stopped` or any other app refusal, stop browser work and report it without opening another browser. Refresh uses the new grant's endpoint and token together; every other call behaves as in the terminal.
|
|
112
105
|
|
|
113
106
|
Long calls can be cancelled: `const h = session.client.callWithHandle("tool.navigate", {...})`
|
|
114
107
|
then `await session.client.cancel(h.rpcId)`.
|
|
@@ -11,8 +11,7 @@ Three pieces. The onboarding script prepares all three; a human finishes exactly
|
|
|
11
11
|
## Inside the OmO desktop app
|
|
12
12
|
|
|
13
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
|
|
15
|
-
`OMO_BROWSER_ENGINE=builtin` or `none` never uses this skill's attached engine at all. `BSK_HOME` and `BSK_BIN`
|
|
14
|
+
Do not run `browser-install.mjs` there unless the doctor says the app's engine is missing. `BSK_HOME` and `BSK_BIN`
|
|
16
15
|
still decide where the CLI and daemon are found, here and everywhere else.
|
|
17
16
|
|
|
18
17
|
## Supported
|
|
@@ -19,7 +19,7 @@ const state = report.ready
|
|
|
19
19
|
|
|
20
20
|
const REMEDIES = {
|
|
21
21
|
ready: "Attached engine is live: const { connectBrowserSkill } = await import(omowrightEntry); const session = await connectBrowserSkill({ name: \"<task>\", focused: false })",
|
|
22
|
-
"no-cli": "Run node \"<skill-root>/scripts/browser-install.mjs\"
|
|
22
|
+
"no-cli": "Run node \"<skill-root>/scripts/browser-install.mjs\". It installs the CLI, starts the daemon and registers the extension; then tell the user the single step it prints.",
|
|
23
23
|
"no-daemon": "Run node \"<skill-root>/scripts/browser-install.mjs\" (it starts the daemon through `bsk status`), then re-run this doctor.",
|
|
24
24
|
"no-extension": report.nextStep ?? "Register the extension with browser-install.mjs, then relay its human step to the user and re-run this doctor.",
|
|
25
25
|
"choose-browser": `Do not install anything yet. First check your memory for the browser this user works in; if it names one of the candidates, re-run with --browser=<id>. Otherwise ask the user which browser they actually use (${report.identification.reason}), record the answer in memory, then run node "<skill-root>/scripts/browser-install.mjs" --browser=<id>.`,
|
|
@@ -47,7 +47,7 @@ if (process.argv.includes("--json")) {
|
|
|
47
47
|
console.log(`state: ${state}`)
|
|
48
48
|
console.log(`omowright: ${entry}`)
|
|
49
49
|
console.log(`cli: ${report.cli.installed ? `${report.cli.bskBin} (${report.cli.version})` : "not installed"}`)
|
|
50
|
-
console.log(`daemon: ${report.daemon.running ? `running (${report.daemon.version}, protocol ${report.daemon.protocolVersion})` : `not running${report.daemon.error ? `
|
|
50
|
+
console.log(`daemon: ${report.daemon.running ? `running (${report.daemon.version}, protocol ${report.daemon.protocolVersion})` : `not running${report.daemon.error ? ` - ${report.daemon.error}` : ""}`}`)
|
|
51
51
|
console.log(`browser the user uses: ${summary.browser ? `${summary.browser.label} [${summary.browser.id}] (${summary.browser.reason})` : `not identified (${report.identification.reason})`}`)
|
|
52
52
|
console.log(`candidates: ${summary.candidates.map((c) => `${c.id}${c.signals.length ? ` (${c.signals.join(", ")})` : ""}`).join(", ") || "none"}`)
|
|
53
53
|
if (summary.registeredElsewhere.length > 0) console.log(`extension entries left in other browsers: ${summary.registeredElsewhere.join(", ")} (not removed automatically)`)
|