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,27 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://biomejs.dev/schemas/2.5.9/schema.json",
|
|
3
3
|
"linter": {
|
|
4
|
-
"enabled":
|
|
5
|
-
"rules": {
|
|
6
|
-
"preset": "recommended",
|
|
7
|
-
"style": {
|
|
8
|
-
"noDefaultExport": "error",
|
|
9
|
-
"noEnum": "error",
|
|
10
|
-
"noNonNullAssertion": "error",
|
|
11
|
-
"useImportType": "error",
|
|
12
|
-
"useConst": "error",
|
|
13
|
-
"useNodejsImportProtocol": "off"
|
|
14
|
-
},
|
|
15
|
-
"complexity": {
|
|
16
|
-
"useLiteralKeys": "off"
|
|
17
|
-
},
|
|
18
|
-
"suspicious": {
|
|
19
|
-
"noExplicitAny": "error",
|
|
20
|
-
"noTsIgnore": "error",
|
|
21
|
-
"noControlCharactersInRegex": "off",
|
|
22
|
-
"noEmptyInterface": "off"
|
|
23
|
-
}
|
|
24
|
-
}
|
|
4
|
+
"enabled": false
|
|
25
5
|
},
|
|
26
6
|
"formatter": {
|
|
27
7
|
"enabled": true,
|
|
@@ -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.1.
|
|
11
|
+
"statusMessage": "(OmO 5.1.45) Verifying LazyCodex Executor Evidence"
|
|
12
12
|
}
|
|
13
13
|
]
|
|
14
14
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@code-yeongyu/codex-lazycodex-executor-verify",
|
|
3
|
-
"version": "5.1.
|
|
3
|
+
"version": "5.1.45",
|
|
4
4
|
"description": "Codex SubagentStop evidence verifier for LazyCodex executor completions.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"packageManager": "npm@11.12.1",
|
|
@@ -20,9 +20,9 @@
|
|
|
20
20
|
"test": "npm run build --silent && vitest --run",
|
|
21
21
|
"test:watch": "vitest",
|
|
22
22
|
"typecheck": "tsc --noEmit",
|
|
23
|
-
"lint": "biome
|
|
24
|
-
"lint:fix": "biome
|
|
25
|
-
"check": "tsc --noEmit && biome
|
|
23
|
+
"lint": "biome format .",
|
|
24
|
+
"lint:fix": "biome format --write .",
|
|
25
|
+
"check": "tsc --noEmit && biome format . && npm run build"
|
|
26
26
|
},
|
|
27
27
|
"files": [
|
|
28
28
|
"dist",
|
|
@@ -1,27 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://biomejs.dev/schemas/2.5.9/schema.json",
|
|
3
3
|
"linter": {
|
|
4
|
-
"enabled":
|
|
5
|
-
"rules": {
|
|
6
|
-
"preset": "recommended",
|
|
7
|
-
"style": {
|
|
8
|
-
"noDefaultExport": "error",
|
|
9
|
-
"noEnum": "error",
|
|
10
|
-
"noNonNullAssertion": "error",
|
|
11
|
-
"useImportType": "error",
|
|
12
|
-
"useConst": "error",
|
|
13
|
-
"useNodejsImportProtocol": "off"
|
|
14
|
-
},
|
|
15
|
-
"complexity": {
|
|
16
|
-
"useLiteralKeys": "off"
|
|
17
|
-
},
|
|
18
|
-
"suspicious": {
|
|
19
|
-
"noExplicitAny": "error",
|
|
20
|
-
"noTsIgnore": "error",
|
|
21
|
-
"noControlCharactersInRegex": "off",
|
|
22
|
-
"noEmptyInterface": "off"
|
|
23
|
-
}
|
|
24
|
-
}
|
|
4
|
+
"enabled": false
|
|
25
5
|
},
|
|
26
6
|
"formatter": {
|
|
27
7
|
"enabled": true,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": 1,
|
|
3
|
-
"version": "5.1.
|
|
4
|
-
"inputDigest": "sha256:
|
|
3
|
+
"version": "5.1.45",
|
|
4
|
+
"inputDigest": "sha256:1dfcf866d737eda759d86d37d2c6e945010a7591f33c463dff7fb2dc50640bd0",
|
|
5
5
|
"outputs": [
|
|
6
6
|
{
|
|
7
7
|
"path": "cli.d.ts",
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
},
|
|
10
10
|
{
|
|
11
11
|
"path": "cli.js",
|
|
12
|
-
"sha256": "
|
|
12
|
+
"sha256": "93e248d2fb5ccb0bdc1a01e2ac7c6e05184a919093dd3ab979a1a48af27b8dcd"
|
|
13
13
|
},
|
|
14
14
|
{
|
|
15
15
|
"path": "codex-hook-cli.d.ts",
|
|
@@ -4553,7 +4553,7 @@ function formatInstallOptions(serverId, installHint) {
|
|
|
4553
4553
|
return ["To install, run:", ` ${installHint}`];
|
|
4554
4554
|
}
|
|
4555
4555
|
return [
|
|
4556
|
-
"To install in THIS repository (preferred
|
|
4556
|
+
"To install in THIS repository (preferred, no global install needed):",
|
|
4557
4557
|
` ${localHint}`,
|
|
4558
4558
|
"",
|
|
4559
4559
|
"Or install it globally:",
|
|
@@ -4566,7 +4566,7 @@ function formatNotInstalled(result) {
|
|
|
4566
4566
|
const decision = loadInstallDecision(server.id)?.decision;
|
|
4567
4567
|
const context = lspRequestContext();
|
|
4568
4568
|
if (decision === "declined") {
|
|
4569
|
-
return `LSP server '${server.id}' (${extensions}) is NOT INSTALLED; user previously declined installation
|
|
4569
|
+
return `LSP server '${server.id}' (${extensions}) is NOT INSTALLED; user previously declined installation: proceed without LSP.`;
|
|
4570
4570
|
}
|
|
4571
4571
|
const header = [
|
|
4572
4572
|
`LSP server '${server.id}' for ${extensions} is NOT INSTALLED.`,
|
|
@@ -4588,7 +4588,7 @@ function formatNotInstalled(result) {
|
|
|
4588
4588
|
...header,
|
|
4589
4589
|
...installOptions,
|
|
4590
4590
|
"",
|
|
4591
|
-
"ACTION REQUIRED
|
|
4591
|
+
"ACTION REQUIRED: ASK THE USER whether to install this LSP server.",
|
|
4592
4592
|
"Install-decision recording is unavailable in this harness; proceed without LSP if the user declines."
|
|
4593
4593
|
].join(`
|
|
4594
4594
|
`);
|
|
@@ -4597,7 +4597,7 @@ function formatNotInstalled(result) {
|
|
|
4597
4597
|
...header,
|
|
4598
4598
|
...installOptions,
|
|
4599
4599
|
"",
|
|
4600
|
-
"ACTION REQUIRED
|
|
4600
|
+
"ACTION REQUIRED: ASK THE USER whether to install this LSP server.",
|
|
4601
4601
|
"- If the user agrees: run the install command above, then retry this tool.",
|
|
4602
4602
|
"- If the user declines, OR has NOT explicitly asked for LSP installation:",
|
|
4603
4603
|
` call lsp_install_decision { server_id: "${server.id}", decision: "declined" },`,
|
|
@@ -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.1.
|
|
11
|
+
"statusMessage": "(OmO 5.1.45) 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.1.
|
|
24
|
+
"statusMessage": "(OmO 5.1.45) Resetting LSP Diagnostics Cache"
|
|
25
25
|
}
|
|
26
26
|
]
|
|
27
27
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@code-yeongyu/codex-lsp",
|
|
3
|
-
"version": "5.1.
|
|
3
|
+
"version": "5.1.45",
|
|
4
4
|
"description": "Codex plugin that exposes Language Server Protocol tools and post-edit diagnostics.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"packageManager": "npm@11.12.1",
|
|
@@ -44,10 +44,10 @@
|
|
|
44
44
|
"test:watch": "vitest",
|
|
45
45
|
"pretypecheck": "node scripts/build-lsp-tools.mjs && node scripts/build-lsp-daemon.mjs",
|
|
46
46
|
"typecheck": "tsc --noEmit",
|
|
47
|
-
"lint": "biome
|
|
48
|
-
"lint:fix": "biome
|
|
47
|
+
"lint": "biome format src test",
|
|
48
|
+
"lint:fix": "biome format --write src test",
|
|
49
49
|
"precheck": "node scripts/build-lsp-tools.mjs && node scripts/build-lsp-daemon.mjs",
|
|
50
|
-
"check": "tsc --noEmit && biome
|
|
50
|
+
"check": "tsc --noEmit && biome format src test && tsc -p tsconfig.build.json"
|
|
51
51
|
},
|
|
52
52
|
"dependencies": {
|
|
53
53
|
"@oh-my-opencode/lsp-core": "file:../../../../lsp-core",
|
|
@@ -30,7 +30,7 @@ const UNDECIDED_TEXT = [
|
|
|
30
30
|
" npm install -g @biomejs/biome",
|
|
31
31
|
].join("\n");
|
|
32
32
|
const DECLINED_TEXT =
|
|
33
|
-
"LSP server 'biome' (.json, .jsonc) is NOT INSTALLED; user previously declined installation
|
|
33
|
+
"LSP server 'biome' (.json, .jsonc) is NOT INSTALLED; user previously declined installation: proceed without LSP.";
|
|
34
34
|
const TS_ERROR = "error[typescript] (2322) at 1:7: Type 'string' is not assignable to type 'number'.";
|
|
35
35
|
|
|
36
36
|
const tempDirs: string[] = [];
|
|
@@ -1,27 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://biomejs.dev/schemas/2.5.9/schema.json",
|
|
3
3
|
"linter": {
|
|
4
|
-
"enabled":
|
|
5
|
-
"rules": {
|
|
6
|
-
"preset": "recommended",
|
|
7
|
-
"style": {
|
|
8
|
-
"noDefaultExport": "error",
|
|
9
|
-
"noEnum": "error",
|
|
10
|
-
"noNonNullAssertion": "error",
|
|
11
|
-
"useImportType": "error",
|
|
12
|
-
"useConst": "error",
|
|
13
|
-
"useNodejsImportProtocol": "off"
|
|
14
|
-
},
|
|
15
|
-
"complexity": {
|
|
16
|
-
"useLiteralKeys": "off"
|
|
17
|
-
},
|
|
18
|
-
"suspicious": {
|
|
19
|
-
"noExplicitAny": "error",
|
|
20
|
-
"noTsIgnore": "error",
|
|
21
|
-
"noControlCharactersInRegex": "off",
|
|
22
|
-
"noEmptyInterface": "off"
|
|
23
|
-
}
|
|
24
|
-
}
|
|
4
|
+
"enabled": false
|
|
25
5
|
},
|
|
26
6
|
"formatter": {
|
|
27
7
|
"enabled": true,
|
|
@@ -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.1.
|
|
10
|
+
"statusMessage": "(OmO 5.1.45) 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.1.
|
|
22
|
+
"statusMessage": "(OmO 5.1.45) 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.1.
|
|
35
|
+
"statusMessage": "(OmO 5.1.45) 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.1.
|
|
48
|
+
"statusMessage": "(OmO 5.1.45) Resetting Project Rule Cache"
|
|
49
49
|
}
|
|
50
50
|
]
|
|
51
51
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@code-yeongyu/codex-rules",
|
|
3
|
-
"version": "5.1.
|
|
3
|
+
"version": "5.1.45",
|
|
4
4
|
"description": "Codex plugin that injects project rule files into model context through lifecycle hooks.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"packageManager": "npm@11.12.1",
|
|
@@ -42,9 +42,9 @@
|
|
|
42
42
|
"test:watch": "vitest",
|
|
43
43
|
"bench": "npm run build --silent && node scripts/bench-codex-rules.mjs",
|
|
44
44
|
"typecheck": "tsc --noEmit",
|
|
45
|
-
"lint": "biome
|
|
46
|
-
"lint:fix": "biome
|
|
47
|
-
"check": "tsc --noEmit && biome
|
|
45
|
+
"lint": "biome format .",
|
|
46
|
+
"lint:fix": "biome format --write .",
|
|
47
|
+
"check": "tsc --noEmit && biome format . && npm run build"
|
|
48
48
|
},
|
|
49
49
|
"dependencies": {
|
|
50
50
|
"picomatch": "^4.0.7"
|
|
@@ -1,27 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://biomejs.dev/schemas/2.5.9/schema.json",
|
|
3
3
|
"linter": {
|
|
4
|
-
"enabled":
|
|
5
|
-
"rules": {
|
|
6
|
-
"preset": "recommended",
|
|
7
|
-
"style": {
|
|
8
|
-
"noDefaultExport": "error",
|
|
9
|
-
"noEnum": "error",
|
|
10
|
-
"noNonNullAssertion": "error",
|
|
11
|
-
"useImportType": "error",
|
|
12
|
-
"useConst": "error",
|
|
13
|
-
"useNodejsImportProtocol": "off"
|
|
14
|
-
},
|
|
15
|
-
"complexity": {
|
|
16
|
-
"useLiteralKeys": "off"
|
|
17
|
-
},
|
|
18
|
-
"suspicious": {
|
|
19
|
-
"noExplicitAny": "error",
|
|
20
|
-
"noTsIgnore": "error",
|
|
21
|
-
"noControlCharactersInRegex": "off",
|
|
22
|
-
"noEmptyInterface": "off"
|
|
23
|
-
}
|
|
24
|
-
}
|
|
4
|
+
"enabled": false
|
|
25
5
|
},
|
|
26
6
|
"formatter": {
|
|
27
7
|
"enabled": true,
|
|
@@ -1,4 +1,79 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
+
var __esm = (fn, res, err) => () => {
|
|
3
|
+
if (fn)
|
|
4
|
+
try {
|
|
5
|
+
res = fn(fn = 0);
|
|
6
|
+
} catch (e) {
|
|
7
|
+
err = [e];
|
|
8
|
+
}
|
|
9
|
+
if (err)
|
|
10
|
+
throw err[0];
|
|
11
|
+
return res;
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
// ../../telemetry-core/src/telemetry-delivery-error.ts
|
|
15
|
+
var PERMANENT_STATUSES, TelemetryDeliveryError;
|
|
16
|
+
var init_telemetry_delivery_error = __esm(() => {
|
|
17
|
+
PERMANENT_STATUSES = new Set([400, 413]);
|
|
18
|
+
TelemetryDeliveryError = class TelemetryDeliveryError extends Error {
|
|
19
|
+
permanent;
|
|
20
|
+
status;
|
|
21
|
+
constructor(status, cause) {
|
|
22
|
+
super(status === undefined ? "telemetry event was not delivered (no response)" : `telemetry event was rejected with HTTP ${status}`, { cause });
|
|
23
|
+
this.name = "TelemetryDeliveryError";
|
|
24
|
+
this.status = status;
|
|
25
|
+
this.permanent = status !== undefined && PERMANENT_STATUSES.has(status);
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
});
|
|
29
|
+
|
|
30
|
+
// ../../telemetry-core/src/posthog-immediate-send.ts
|
|
31
|
+
function createImmediateSender(apiKey, options, PostHogClient) {
|
|
32
|
+
const baseFetch = options.fetch ?? ((url, init) => fetch(url, init));
|
|
33
|
+
let current;
|
|
34
|
+
const trackedFetch = async (url, init) => {
|
|
35
|
+
const attempt = current;
|
|
36
|
+
try {
|
|
37
|
+
const response = await baseFetch(url, init);
|
|
38
|
+
if (attempt !== undefined)
|
|
39
|
+
attempt.status = response.status;
|
|
40
|
+
return response;
|
|
41
|
+
} catch (error) {
|
|
42
|
+
if (attempt !== undefined)
|
|
43
|
+
attempt.error = error;
|
|
44
|
+
throw error;
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
const client = new PostHogClient(apiKey, { ...options, fetch: trackedFetch, fetchRetryCount: 0 });
|
|
48
|
+
let queue = Promise.resolve();
|
|
49
|
+
const sendOne = async (message) => {
|
|
50
|
+
const attempt = {};
|
|
51
|
+
current = attempt;
|
|
52
|
+
try {
|
|
53
|
+
await client.captureImmediate(message);
|
|
54
|
+
} finally {
|
|
55
|
+
current = undefined;
|
|
56
|
+
}
|
|
57
|
+
const { status } = attempt;
|
|
58
|
+
if (status === undefined || status < 200 || status >= 300)
|
|
59
|
+
throw new TelemetryDeliveryError(status, attempt.error);
|
|
60
|
+
};
|
|
61
|
+
return {
|
|
62
|
+
send(message) {
|
|
63
|
+
const result = queue.then(() => sendOne(message));
|
|
64
|
+
queue = result.catch(() => {
|
|
65
|
+
return;
|
|
66
|
+
});
|
|
67
|
+
return result;
|
|
68
|
+
},
|
|
69
|
+
async shutdown() {
|
|
70
|
+
await client.shutdown();
|
|
71
|
+
}
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
var init_posthog_immediate_send = __esm(() => {
|
|
75
|
+
init_telemetry_delivery_error();
|
|
76
|
+
});
|
|
2
77
|
|
|
3
78
|
// components/telemetry/src/cli.ts
|
|
4
79
|
import { stdin as processStdin, stdout as processStdout } from "node:process";
|
|
@@ -9608,17 +9683,31 @@ class PostHog extends PostHogBackendClient {
|
|
|
9608
9683
|
// ../../telemetry-core/src/posthog-transport.ts
|
|
9609
9684
|
class PostHogTelemetryTransport {
|
|
9610
9685
|
#client;
|
|
9686
|
+
#apiKey;
|
|
9687
|
+
#options;
|
|
9688
|
+
#immediate;
|
|
9611
9689
|
constructor(apiKey, options) {
|
|
9612
9690
|
this.#client = new PostHog(apiKey, options);
|
|
9691
|
+
this.#apiKey = apiKey;
|
|
9692
|
+
this.#options = options;
|
|
9613
9693
|
}
|
|
9614
9694
|
capture(message) {
|
|
9615
9695
|
this.#client.capture(message);
|
|
9616
9696
|
}
|
|
9697
|
+
captureImmediate(message) {
|
|
9698
|
+
this.#immediate ??= Promise.resolve().then(() => (init_posthog_immediate_send(), {})).then(({}) => createImmediateSender(this.#apiKey, this.#options, PostHog)).catch((error) => {
|
|
9699
|
+
this.#immediate = undefined;
|
|
9700
|
+
throw error;
|
|
9701
|
+
});
|
|
9702
|
+
return this.#immediate.then((sender) => sender.send(message));
|
|
9703
|
+
}
|
|
9617
9704
|
async flush() {
|
|
9618
9705
|
await this.#client.flush();
|
|
9619
9706
|
}
|
|
9620
9707
|
async shutdown() {
|
|
9621
|
-
await this.#client.shutdown()
|
|
9708
|
+
await Promise.all([this.#client.shutdown(), this.#immediate?.then((sender) => sender.shutdown(), () => {
|
|
9709
|
+
return;
|
|
9710
|
+
})]);
|
|
9622
9711
|
}
|
|
9623
9712
|
}
|
|
9624
9713
|
function createDefaultPostHogTransport(apiKey, options) {
|
|
@@ -1,3 +1,79 @@
|
|
|
1
|
+
var __esm = (fn, res, err) => () => {
|
|
2
|
+
if (fn)
|
|
3
|
+
try {
|
|
4
|
+
res = fn(fn = 0);
|
|
5
|
+
} catch (e) {
|
|
6
|
+
err = [e];
|
|
7
|
+
}
|
|
8
|
+
if (err)
|
|
9
|
+
throw err[0];
|
|
10
|
+
return res;
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
// ../../../../telemetry-core/src/telemetry-delivery-error.ts
|
|
14
|
+
var PERMANENT_STATUSES, TelemetryDeliveryError;
|
|
15
|
+
var init_telemetry_delivery_error = __esm(() => {
|
|
16
|
+
PERMANENT_STATUSES = new Set([400, 413]);
|
|
17
|
+
TelemetryDeliveryError = class TelemetryDeliveryError extends Error {
|
|
18
|
+
permanent;
|
|
19
|
+
status;
|
|
20
|
+
constructor(status, cause) {
|
|
21
|
+
super(status === undefined ? "telemetry event was not delivered (no response)" : `telemetry event was rejected with HTTP ${status}`, { cause });
|
|
22
|
+
this.name = "TelemetryDeliveryError";
|
|
23
|
+
this.status = status;
|
|
24
|
+
this.permanent = status !== undefined && PERMANENT_STATUSES.has(status);
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
});
|
|
28
|
+
|
|
29
|
+
// ../../../../telemetry-core/src/posthog-immediate-send.ts
|
|
30
|
+
function createImmediateSender(apiKey, options, PostHogClient) {
|
|
31
|
+
const baseFetch = options.fetch ?? ((url, init) => fetch(url, init));
|
|
32
|
+
let current;
|
|
33
|
+
const trackedFetch = async (url, init) => {
|
|
34
|
+
const attempt = current;
|
|
35
|
+
try {
|
|
36
|
+
const response = await baseFetch(url, init);
|
|
37
|
+
if (attempt !== undefined)
|
|
38
|
+
attempt.status = response.status;
|
|
39
|
+
return response;
|
|
40
|
+
} catch (error) {
|
|
41
|
+
if (attempt !== undefined)
|
|
42
|
+
attempt.error = error;
|
|
43
|
+
throw error;
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
const client = new PostHogClient(apiKey, { ...options, fetch: trackedFetch, fetchRetryCount: 0 });
|
|
47
|
+
let queue = Promise.resolve();
|
|
48
|
+
const sendOne = async (message) => {
|
|
49
|
+
const attempt = {};
|
|
50
|
+
current = attempt;
|
|
51
|
+
try {
|
|
52
|
+
await client.captureImmediate(message);
|
|
53
|
+
} finally {
|
|
54
|
+
current = undefined;
|
|
55
|
+
}
|
|
56
|
+
const { status } = attempt;
|
|
57
|
+
if (status === undefined || status < 200 || status >= 300)
|
|
58
|
+
throw new TelemetryDeliveryError(status, attempt.error);
|
|
59
|
+
};
|
|
60
|
+
return {
|
|
61
|
+
send(message) {
|
|
62
|
+
const result = queue.then(() => sendOne(message));
|
|
63
|
+
queue = result.catch(() => {
|
|
64
|
+
return;
|
|
65
|
+
});
|
|
66
|
+
return result;
|
|
67
|
+
},
|
|
68
|
+
async shutdown() {
|
|
69
|
+
await client.shutdown();
|
|
70
|
+
}
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
var init_posthog_immediate_send = __esm(() => {
|
|
74
|
+
init_telemetry_delivery_error();
|
|
75
|
+
});
|
|
76
|
+
|
|
1
77
|
// ../../../../telemetry-core/src/activity-state.ts
|
|
2
78
|
import { existsSync, mkdirSync as mkdirSync3, readFileSync } from "node:fs";
|
|
3
79
|
import { basename, join as join2 } from "node:path";
|
|
@@ -9603,17 +9679,31 @@ class PostHog extends PostHogBackendClient {
|
|
|
9603
9679
|
// ../../../../telemetry-core/src/posthog-transport.ts
|
|
9604
9680
|
class PostHogTelemetryTransport {
|
|
9605
9681
|
#client;
|
|
9682
|
+
#apiKey;
|
|
9683
|
+
#options;
|
|
9684
|
+
#immediate;
|
|
9606
9685
|
constructor(apiKey, options) {
|
|
9607
9686
|
this.#client = new PostHog(apiKey, options);
|
|
9687
|
+
this.#apiKey = apiKey;
|
|
9688
|
+
this.#options = options;
|
|
9608
9689
|
}
|
|
9609
9690
|
capture(message) {
|
|
9610
9691
|
this.#client.capture(message);
|
|
9611
9692
|
}
|
|
9693
|
+
captureImmediate(message) {
|
|
9694
|
+
this.#immediate ??= Promise.resolve().then(() => (init_posthog_immediate_send(), {})).then(({}) => createImmediateSender(this.#apiKey, this.#options, PostHog)).catch((error) => {
|
|
9695
|
+
this.#immediate = undefined;
|
|
9696
|
+
throw error;
|
|
9697
|
+
});
|
|
9698
|
+
return this.#immediate.then((sender) => sender.send(message));
|
|
9699
|
+
}
|
|
9612
9700
|
async flush() {
|
|
9613
9701
|
await this.#client.flush();
|
|
9614
9702
|
}
|
|
9615
9703
|
async shutdown() {
|
|
9616
|
-
await this.#client.shutdown()
|
|
9704
|
+
await Promise.all([this.#client.shutdown(), this.#immediate?.then((sender) => sender.shutdown(), () => {
|
|
9705
|
+
return;
|
|
9706
|
+
})]);
|
|
9617
9707
|
}
|
|
9618
9708
|
}
|
|
9619
9709
|
function createDefaultPostHogTransport(apiKey, options) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@code-yeongyu/codex-telemetry",
|
|
3
|
-
"version": "5.1.
|
|
3
|
+
"version": "5.1.45",
|
|
4
4
|
"description": "Codex plugin component that emits omo-codex anonymous daily-active telemetry on SessionStart.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"packageManager": "npm@11.12.1",
|
|
@@ -38,9 +38,9 @@
|
|
|
38
38
|
"test": "vitest --run",
|
|
39
39
|
"test:watch": "vitest",
|
|
40
40
|
"typecheck": "tsc --noEmit",
|
|
41
|
-
"lint": "biome
|
|
42
|
-
"lint:fix": "biome
|
|
43
|
-
"check": "tsc --noEmit && biome
|
|
41
|
+
"lint": "biome format .",
|
|
42
|
+
"lint:fix": "biome format --write .",
|
|
43
|
+
"check": "tsc --noEmit && biome format . && npm run build"
|
|
44
44
|
},
|
|
45
45
|
"devDependencies": {
|
|
46
46
|
"@vitest/coverage-v8": "5.0.1",
|
|
@@ -17,7 +17,7 @@ Before approval, load or consult `remove-ai-slops` and `programming` when availa
|
|
|
17
17
|
|
|
18
18
|
Write your report artifact to `<attemptDir>/<goalId>-gate-review.md`, where you read `currentAttemptDir` from `omo-agent-toolkit ulw-loop status --json` (`.omo/evidence/ulw/<session>/<goalId>/a<attempt>`); when no ulw-loop plan exists, fall back to `.omo/evidence/<goal>-gate-review.md`. Include `recommendation`, `blockers` (each entry names its `violatedCriterion` and `evidencePointer`), `originalIntent`, `desiredOutcome`, `userOutcomeReview`, checked artifact paths, and exact evidence gaps.
|
|
19
19
|
|
|
20
|
-
Return the recommendation (APPROVE/REJECT) AND, on REJECT, the top blockers inline in your final message
|
|
20
|
+
Return the recommendation (APPROVE/REJECT) AND, on REJECT, the top blockers inline in your final message: each with its violated criterion id, a one-line observation, and an evidence pointer. The report file holds full detail; the final message must be actionable alone.
|
|
21
21
|
|
|
22
|
-
APPROVE unless you can cite a specific success criterion the artifact fails, with the evidence that proves it (including an exact artifact a criterion requires but that is missing). A gap you cannot tie to a stated criterion
|
|
22
|
+
APPROVE unless you can cite a specific success criterion the artifact fails, with the evidence that proves it (including an exact artifact a criterion requires but that is missing). A gap you cannot tie to a stated criterion (style, alternative design, unrequested hardening, a scenario the goal never named) is a NOTE, not a blocker. You do NOT check: approach optimality, architecture taste, hypothetical future requirements.
|
|
23
23
|
"""
|
|
@@ -1,27 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://biomejs.dev/schemas/2.5.9/schema.json",
|
|
3
3
|
"linter": {
|
|
4
|
-
"enabled":
|
|
5
|
-
"rules": {
|
|
6
|
-
"preset": "recommended",
|
|
7
|
-
"style": {
|
|
8
|
-
"noDefaultExport": "error",
|
|
9
|
-
"noEnum": "error",
|
|
10
|
-
"noNonNullAssertion": "error",
|
|
11
|
-
"useImportType": "error",
|
|
12
|
-
"useConst": "error",
|
|
13
|
-
"useNodejsImportProtocol": "off"
|
|
14
|
-
},
|
|
15
|
-
"complexity": {
|
|
16
|
-
"useLiteralKeys": "off"
|
|
17
|
-
},
|
|
18
|
-
"suspicious": {
|
|
19
|
-
"noExplicitAny": "error",
|
|
20
|
-
"noTsIgnore": "error",
|
|
21
|
-
"noControlCharactersInRegex": "off",
|
|
22
|
-
"noEmptyInterface": "off"
|
|
23
|
-
}
|
|
24
|
-
}
|
|
4
|
+
"enabled": false
|
|
25
5
|
},
|
|
26
6
|
"formatter": {
|
|
27
7
|
"enabled": true,
|