@code-yeongyu/lazycodex 0.1.1
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/.agents/command/get-unpublished-changes.md +148 -0
- package/.agents/command/omomomo.md +37 -0
- package/.agents/command/publish.md +376 -0
- package/.agents/command/remove-deadcode.md +221 -0
- package/.agents/command/security-research.md +16 -0
- package/.agents/skills/get-unpublished-changes/SKILL.md +24 -0
- package/.agents/skills/github-triage/SKILL.md +587 -0
- package/.agents/skills/github-triage/scripts/gh_fetch.py +398 -0
- package/.agents/skills/hyperplan/SKILL.md +450 -0
- package/.agents/skills/omomomo/SKILL.md +36 -0
- package/.agents/skills/pre-publish-review/SKILL.md +407 -0
- package/.agents/skills/publish/SKILL.md +428 -0
- package/.agents/skills/remove-deadcode/SKILL.md +216 -0
- package/.agents/skills/security-research/SKILL.md +204 -0
- package/.agents/skills/work-with-pr/SKILL.md +360 -0
- package/.agents/skills/work-with-pr-workspace/evals/evals.json +76 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/benchmark.json +138 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/benchmark.md +42 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/eval-1/eval_metadata.json +57 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/eval-1/with_skill/grading.json +15 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/eval-1/with_skill/outputs/code-changes.md +454 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/eval-1/with_skill/outputs/execution-plan.md +136 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/eval-1/with_skill/outputs/pr-description.md +47 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/eval-1/with_skill/outputs/verification-strategy.md +163 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/eval-1/with_skill/timing.json +1 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/eval-1/without_skill/grading.json +15 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/eval-1/without_skill/outputs/code-changes.md +615 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/eval-1/without_skill/outputs/execution-plan.md +99 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/eval-1/without_skill/outputs/pr-description.md +50 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/eval-1/without_skill/outputs/verification-strategy.md +111 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/eval-1/without_skill/timing.json +1 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/eval-2/eval_metadata.json +37 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/eval-2/with_skill/grading.json +11 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/eval-2/with_skill/outputs/code-changes.md +205 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/eval-2/with_skill/outputs/execution-plan.md +78 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/eval-2/with_skill/outputs/pr-description.md +42 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/eval-2/with_skill/outputs/verification-strategy.md +87 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/eval-2/with_skill/timing.json +1 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/eval-2/without_skill/grading.json +11 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/eval-2/without_skill/outputs/code-changes.md +334 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/eval-2/without_skill/outputs/execution-plan.md +86 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/eval-2/without_skill/outputs/pr-description.md +23 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/eval-2/without_skill/outputs/verification-strategy.md +119 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/eval-2/without_skill/timing.json +1 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/eval-3/eval_metadata.json +32 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/eval-3/with_skill/grading.json +10 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/eval-3/with_skill/outputs/code-changes.md +221 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/eval-3/with_skill/outputs/execution-plan.md +104 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/eval-3/with_skill/outputs/pr-description.md +41 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/eval-3/with_skill/outputs/verification-strategy.md +84 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/eval-3/with_skill/timing.json +1 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/eval-3/without_skill/grading.json +10 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/eval-3/without_skill/outputs/code-changes.md +342 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/eval-3/without_skill/outputs/execution-plan.md +131 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/eval-3/without_skill/outputs/pr-description.md +39 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/eval-3/without_skill/outputs/verification-strategy.md +128 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/eval-3/without_skill/timing.json +1 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/eval-4/eval_metadata.json +32 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/eval-4/with_skill/grading.json +10 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/eval-4/with_skill/outputs/code-changes.md +143 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/eval-4/with_skill/outputs/execution-plan.md +82 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/eval-4/with_skill/outputs/pr-description.md +51 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/eval-4/with_skill/outputs/verification-strategy.md +69 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/eval-4/with_skill/timing.json +1 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/eval-4/without_skill/grading.json +10 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/eval-4/without_skill/outputs/code-changes.md +252 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/eval-4/without_skill/outputs/execution-plan.md +83 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/eval-4/without_skill/outputs/pr-description.md +33 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/eval-4/without_skill/outputs/verification-strategy.md +101 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/eval-4/without_skill/timing.json +1 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/eval-5/eval_metadata.json +32 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/eval-5/with_skill/grading.json +10 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/eval-5/with_skill/outputs/code-changes.md +387 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/eval-5/with_skill/outputs/execution-plan.md +112 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/eval-5/with_skill/outputs/pr-description.md +51 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/eval-5/with_skill/outputs/verification-strategy.md +75 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/eval-5/with_skill/timing.json +1 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/eval-5/without_skill/grading.json +10 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/eval-5/without_skill/outputs/code-changes.md +529 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/eval-5/without_skill/outputs/execution-plan.md +127 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/eval-5/without_skill/outputs/pr-description.md +42 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/eval-5/without_skill/outputs/verification-strategy.md +120 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/eval-5/without_skill/timing.json +1 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/review.html +1326 -0
- package/.opencode/command/get-unpublished-changes.md +148 -0
- package/.opencode/command/omomomo.md +37 -0
- package/.opencode/command/publish.md +376 -0
- package/.opencode/command/remove-deadcode.md +221 -0
- package/.opencode/command/security-research.md +16 -0
- package/.opencode/skills/github-triage/SKILL.md +587 -0
- package/.opencode/skills/github-triage/scripts/gh_fetch.py +398 -0
- package/.opencode/skills/hyperplan/SKILL.md +450 -0
- package/.opencode/skills/pre-publish-review/SKILL.md +407 -0
- package/.opencode/skills/work-with-pr/SKILL.md +360 -0
- package/.opencode/skills/work-with-pr-workspace/evals/evals.json +76 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/benchmark.json +138 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/benchmark.md +42 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-1/eval_metadata.json +57 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-1/with_skill/grading.json +15 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-1/with_skill/outputs/code-changes.md +454 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-1/with_skill/outputs/execution-plan.md +136 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-1/with_skill/outputs/pr-description.md +47 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-1/with_skill/outputs/verification-strategy.md +163 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-1/with_skill/timing.json +1 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-1/without_skill/grading.json +15 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-1/without_skill/outputs/code-changes.md +615 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-1/without_skill/outputs/execution-plan.md +99 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-1/without_skill/outputs/pr-description.md +50 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-1/without_skill/outputs/verification-strategy.md +111 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-1/without_skill/timing.json +1 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-2/eval_metadata.json +37 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-2/with_skill/grading.json +11 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-2/with_skill/outputs/code-changes.md +205 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-2/with_skill/outputs/execution-plan.md +78 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-2/with_skill/outputs/pr-description.md +42 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-2/with_skill/outputs/verification-strategy.md +87 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-2/with_skill/timing.json +1 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-2/without_skill/grading.json +11 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-2/without_skill/outputs/code-changes.md +334 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-2/without_skill/outputs/execution-plan.md +86 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-2/without_skill/outputs/pr-description.md +23 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-2/without_skill/outputs/verification-strategy.md +119 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-2/without_skill/timing.json +1 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-3/eval_metadata.json +32 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-3/with_skill/grading.json +10 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-3/with_skill/outputs/code-changes.md +221 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-3/with_skill/outputs/execution-plan.md +104 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-3/with_skill/outputs/pr-description.md +41 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-3/with_skill/outputs/verification-strategy.md +84 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-3/with_skill/timing.json +1 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-3/without_skill/grading.json +10 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-3/without_skill/outputs/code-changes.md +342 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-3/without_skill/outputs/execution-plan.md +131 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-3/without_skill/outputs/pr-description.md +39 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-3/without_skill/outputs/verification-strategy.md +128 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-3/without_skill/timing.json +1 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-4/eval_metadata.json +32 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-4/with_skill/grading.json +10 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-4/with_skill/outputs/code-changes.md +143 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-4/with_skill/outputs/execution-plan.md +82 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-4/with_skill/outputs/pr-description.md +51 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-4/with_skill/outputs/verification-strategy.md +69 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-4/with_skill/timing.json +1 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-4/without_skill/grading.json +10 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-4/without_skill/outputs/code-changes.md +252 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-4/without_skill/outputs/execution-plan.md +83 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-4/without_skill/outputs/pr-description.md +33 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-4/without_skill/outputs/verification-strategy.md +101 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-4/without_skill/timing.json +1 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-5/eval_metadata.json +32 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-5/with_skill/grading.json +10 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-5/with_skill/outputs/code-changes.md +387 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-5/with_skill/outputs/execution-plan.md +112 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-5/with_skill/outputs/pr-description.md +51 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-5/with_skill/outputs/verification-strategy.md +75 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-5/with_skill/timing.json +1 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-5/without_skill/grading.json +10 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-5/without_skill/outputs/code-changes.md +529 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-5/without_skill/outputs/execution-plan.md +127 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-5/without_skill/outputs/pr-description.md +42 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-5/without_skill/outputs/verification-strategy.md +120 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-5/without_skill/timing.json +1 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/review.html +1326 -0
- package/LICENSE.md +82 -0
- package/README.ja.md +446 -0
- package/README.ko.md +447 -0
- package/README.md +496 -0
- package/README.ru.md +448 -0
- package/README.zh-cn.md +452 -0
- package/bin/oh-my-opencode.js +220 -0
- package/bin/oh-my-opencode.test.ts +78 -0
- package/bin/platform.d.ts +18 -0
- package/bin/platform.js +96 -0
- package/bin/platform.test.ts +258 -0
- package/dist/__tests__/perf/fixtures/in-tree/packages/pkg-one/src/file-16.d.ts +1 -0
- package/dist/__tests__/perf/fixtures/in-tree/packages/pkg-one/src/file-17.d.ts +1 -0
- package/dist/__tests__/perf/fixtures/in-tree/packages/pkg-one/src/file-18.d.ts +1 -0
- package/dist/__tests__/perf/fixtures/in-tree/packages/pkg-one/src/file-19.d.ts +1 -0
- package/dist/__tests__/perf/fixtures/in-tree/packages/pkg-one/src/file-20.d.ts +1 -0
- package/dist/__tests__/perf/fixtures/in-tree/src/app/file-01.d.ts +1 -0
- package/dist/__tests__/perf/fixtures/in-tree/src/app/file-02.d.ts +1 -0
- package/dist/__tests__/perf/fixtures/in-tree/src/app/file-03.d.ts +1 -0
- package/dist/__tests__/perf/fixtures/in-tree/src/app/file-04.d.ts +1 -0
- package/dist/__tests__/perf/fixtures/in-tree/src/app/file-05.d.ts +1 -0
- package/dist/__tests__/perf/fixtures/in-tree/src/app/file-06.d.ts +1 -0
- package/dist/__tests__/perf/fixtures/in-tree/src/app/file-07.d.ts +1 -0
- package/dist/__tests__/perf/fixtures/in-tree/src/app/file-08.d.ts +1 -0
- package/dist/__tests__/perf/fixtures/in-tree/src/app/file-09.d.ts +1 -0
- package/dist/__tests__/perf/fixtures/in-tree/src/app/file-10.d.ts +1 -0
- package/dist/__tests__/perf/fixtures/in-tree/src/lib/file-11.d.ts +1 -0
- package/dist/__tests__/perf/fixtures/in-tree/src/lib/file-12.d.ts +1 -0
- package/dist/__tests__/perf/fixtures/in-tree/src/lib/file-13.d.ts +1 -0
- package/dist/__tests__/perf/fixtures/in-tree/src/lib/file-14.d.ts +1 -0
- package/dist/__tests__/perf/fixtures/in-tree/src/lib/file-15.d.ts +1 -0
- package/dist/agents/agent-builder.d.ts +6 -0
- package/dist/agents/agent-skill-resolution.d.ts +8 -0
- package/dist/agents/atlas/agent.d.ts +30 -0
- package/dist/agents/atlas/index.d.ts +2 -0
- package/dist/agents/atlas/prompt-section-builder.d.ts +13 -0
- package/dist/agents/builtin-agents/agent-overrides.d.ts +12 -0
- package/dist/agents/builtin-agents/atlas-agent.d.ts +17 -0
- package/dist/agents/builtin-agents/available-skills.d.ts +4 -0
- package/dist/agents/builtin-agents/environment-context.d.ts +6 -0
- package/dist/agents/builtin-agents/general-agents.d.ts +26 -0
- package/dist/agents/builtin-agents/hephaestus-agent.d.ts +18 -0
- package/dist/agents/builtin-agents/model-resolution.d.ts +24 -0
- package/dist/agents/builtin-agents/resolve-file-uri.d.ts +1 -0
- package/dist/agents/builtin-agents/sisyphus-agent.d.ts +20 -0
- package/dist/agents/builtin-agents.d.ts +6 -0
- package/dist/agents/custom-agent-summaries.d.ts +8 -0
- package/dist/agents/dynamic-agent-category-skills-guide.d.ts +2 -0
- package/dist/agents/dynamic-agent-core-sections.d.ts +18 -0
- package/dist/agents/dynamic-agent-policy-sections.d.ts +6 -0
- package/dist/agents/dynamic-agent-prompt-builder.d.ts +5 -0
- package/dist/agents/dynamic-agent-prompt-types.d.ts +20 -0
- package/dist/agents/dynamic-agent-tool-categorization.d.ts +3 -0
- package/dist/agents/env-context.d.ts +7 -0
- package/dist/agents/explore.d.ts +7 -0
- package/dist/agents/frontier-tool-schema-guard.d.ts +3 -0
- package/dist/agents/gpt-apply-patch-guard.d.ts +2 -0
- package/dist/agents/hephaestus/agent.d.ts +19 -0
- package/dist/agents/hephaestus/gpt-5-3-codex.d.ts +20 -0
- package/dist/agents/hephaestus/gpt-5-4.d.ts +24 -0
- package/dist/agents/hephaestus/gpt-5-5.d.ts +2 -0
- package/dist/agents/hephaestus/gpt.d.ts +3 -0
- package/dist/agents/hephaestus/index.d.ts +2 -0
- package/dist/agents/index.d.ts +5 -0
- package/dist/agents/librarian.d.ts +7 -0
- package/dist/agents/metis.d.ts +21 -0
- package/dist/agents/momus.d.ts +25 -0
- package/dist/agents/multimodal-looker.d.ts +7 -0
- package/dist/agents/oracle.d.ts +7 -0
- package/dist/agents/prometheus/gemini.d.ts +1 -0
- package/dist/agents/prometheus/gpt.d.ts +1 -0
- package/dist/agents/prometheus/index.d.ts +2 -0
- package/dist/agents/prometheus/system-prompt.d.ts +10 -0
- package/dist/agents/sisyphus/claude-opus-4-7.d.ts +20 -0
- package/dist/agents/sisyphus/default.d.ts +9 -0
- package/dist/agents/sisyphus/gemini.d.ts +20 -0
- package/dist/agents/sisyphus/gpt-5-4.d.ts +26 -0
- package/dist/agents/sisyphus/gpt-5-5.d.ts +6 -0
- package/dist/agents/sisyphus/index.d.ts +16 -0
- package/dist/agents/sisyphus/kimi-k2-6.d.ts +32 -0
- package/dist/agents/sisyphus-junior/agent.d.ts +27 -0
- package/dist/agents/sisyphus-junior/default.d.ts +9 -0
- package/dist/agents/sisyphus-junior/gemini.d.ts +10 -0
- package/dist/agents/sisyphus-junior/gpt-5-3-codex.d.ts +8 -0
- package/dist/agents/sisyphus-junior/gpt-5-4.d.ts +11 -0
- package/dist/agents/sisyphus-junior/gpt-5-5.d.ts +5 -0
- package/dist/agents/sisyphus-junior/gpt.d.ts +9 -0
- package/dist/agents/sisyphus-junior/index.d.ts +9 -0
- package/dist/agents/sisyphus-junior/kimi-k2-6.d.ts +13 -0
- package/dist/agents/sisyphus.d.ts +8 -0
- package/dist/agents/types.d.ts +71 -0
- package/dist/cli/boulder/boulder.d.ts +2 -0
- package/dist/cli/boulder/formatter.d.ts +5 -0
- package/dist/cli/boulder/index.d.ts +1 -0
- package/dist/cli/boulder/types.d.ts +30 -0
- package/dist/cli/cli-installer.d.ts +2 -0
- package/dist/cli/cli-program.d.ts +19 -0
- package/dist/cli/config-manager/add-plugin-to-opencode-config.d.ts +2 -0
- package/dist/cli/config-manager/backup-config.d.ts +6 -0
- package/dist/cli/config-manager/bun-install.d.ts +14 -0
- package/dist/cli/config-manager/config-context.d.ts +13 -0
- package/dist/cli/config-manager/deep-merge-record.d.ts +1 -0
- package/dist/cli/config-manager/detect-current-config.d.ts +2 -0
- package/dist/cli/config-manager/ensure-config-directory-exists.d.ts +1 -0
- package/dist/cli/config-manager/format-error-with-suggestion.d.ts +1 -0
- package/dist/cli/config-manager/generate-omo-config.d.ts +2 -0
- package/dist/cli/config-manager/npm-dist-tags.d.ts +7 -0
- package/dist/cli/config-manager/opencode-binary.d.ts +2 -0
- package/dist/cli/config-manager/opencode-config-format.d.ts +5 -0
- package/dist/cli/config-manager/parse-opencode-config-file.d.ts +10 -0
- package/dist/cli/config-manager/plugin-name-with-version.d.ts +1 -0
- package/dist/cli/config-manager/version-compatibility.d.ts +9 -0
- package/dist/cli/config-manager/write-omo-config.d.ts +2 -0
- package/dist/cli/config-manager.d.ts +15 -0
- package/dist/cli/doctor/checks/config.d.ts +2 -0
- package/dist/cli/doctor/checks/dependencies.d.ts +4 -0
- package/dist/cli/doctor/checks/index.d.ts +7 -0
- package/dist/cli/doctor/checks/model-resolution-cache.d.ts +2 -0
- package/dist/cli/doctor/checks/model-resolution-config.d.ts +2 -0
- package/dist/cli/doctor/checks/model-resolution-details.d.ts +6 -0
- package/dist/cli/doctor/checks/model-resolution-effective-model.d.ts +3 -0
- package/dist/cli/doctor/checks/model-resolution-types.d.ts +40 -0
- package/dist/cli/doctor/checks/model-resolution-variant.d.ts +5 -0
- package/dist/cli/doctor/checks/model-resolution.d.ts +11 -0
- package/dist/cli/doctor/checks/system-binary.d.ts +15 -0
- package/dist/cli/doctor/checks/system-loaded-version.d.ts +10 -0
- package/dist/cli/doctor/checks/system-plugin.d.ts +15 -0
- package/dist/cli/doctor/checks/system.d.ts +16 -0
- package/dist/cli/doctor/checks/team-mode.d.ts +2 -0
- package/dist/cli/doctor/checks/tools-gh.d.ts +10 -0
- package/dist/cli/doctor/checks/tools-lsp.d.ts +9 -0
- package/dist/cli/doctor/checks/tools-mcp.d.ts +3 -0
- package/dist/cli/doctor/checks/tools.d.ts +3 -0
- package/dist/cli/doctor/checks/tui-plugin-config.d.ts +14 -0
- package/dist/cli/doctor/constants.d.ts +31 -0
- package/dist/cli/doctor/format-default.d.ts +2 -0
- package/dist/cli/doctor/format-shared.d.ts +6 -0
- package/dist/cli/doctor/format-status.d.ts +2 -0
- package/dist/cli/doctor/format-verbose.d.ts +2 -0
- package/dist/cli/doctor/formatter.d.ts +3 -0
- package/dist/cli/doctor/index.d.ts +5 -0
- package/dist/cli/doctor/runner.d.ts +5 -0
- package/dist/cli/doctor/spawn-with-timeout.d.ts +8 -0
- package/dist/cli/doctor/types.d.ts +120 -0
- package/dist/cli/fallback-chain-resolution.d.ts +10 -0
- package/dist/cli/get-local-version/formatter.d.ts +3 -0
- package/dist/cli/get-local-version/get-local-version.d.ts +2 -0
- package/dist/cli/get-local-version/index.d.ts +2 -0
- package/dist/cli/get-local-version/types.d.ts +13 -0
- package/dist/cli/index.d.ts +2 -0
- package/dist/cli/index.js +87209 -0
- package/dist/cli/install-codex/codex-cache-bundled-mcps.d.ts +5 -0
- package/dist/cli/install-codex/codex-cache-command-shim.d.ts +1 -0
- package/dist/cli/install-codex/codex-cache-legacy-bins.d.ts +3 -0
- package/dist/cli/install-codex/codex-cache-local-dependencies.d.ts +1 -0
- package/dist/cli/install-codex/codex-cache-paths.d.ts +2 -0
- package/dist/cli/install-codex/codex-cache.d.ts +31 -0
- package/dist/cli/install-codex/codex-config-toml.d.ts +11 -0
- package/dist/cli/install-codex/codex-hook-trust.d.ts +6 -0
- package/dist/cli/install-codex/codex-marketplace-snapshot.d.ts +15 -0
- package/dist/cli/install-codex/codex-marketplace.d.ts +9 -0
- package/dist/cli/install-codex/codex-multi-agent-v2-config.d.ts +1 -0
- package/dist/cli/install-codex/codex-process.d.ts +2 -0
- package/dist/cli/install-codex/detect-omx-conflict.d.ts +26 -0
- package/dist/cli/install-codex/index.d.ts +7 -0
- package/dist/cli/install-codex/install-codex.d.ts +10 -0
- package/dist/cli/install-codex/link-cached-plugin-agents.d.ts +12 -0
- package/dist/cli/install-codex/toml-section-editor.d.ts +9 -0
- package/dist/cli/install-codex/types.d.ts +56 -0
- package/dist/cli/install-validators.d.ts +34 -0
- package/dist/cli/install.d.ts +2 -0
- package/dist/cli/lazycodex-feature-flag.d.ts +7 -0
- package/dist/cli/mcp-oauth/index.d.ts +6 -0
- package/dist/cli/mcp-oauth/login.d.ts +11 -0
- package/dist/cli/mcp-oauth/logout.d.ts +4 -0
- package/dist/cli/mcp-oauth/status.d.ts +1 -0
- package/dist/cli/minimum-opencode-version.d.ts +1 -0
- package/dist/cli/model-fallback-requirements.d.ts +3 -0
- package/dist/cli/model-fallback-types.d.ts +31 -0
- package/dist/cli/model-fallback.d.ts +5 -0
- package/dist/cli/openai-only-model-catalog.d.ts +3 -0
- package/dist/cli/provider-availability.d.ts +4 -0
- package/dist/cli/provider-model-id-transform.d.ts +1 -0
- package/dist/cli/refresh-model-capabilities.d.ts +15 -0
- package/dist/cli/run/agent-profile-colors.d.ts +2 -0
- package/dist/cli/run/agent-resolver.d.ts +5 -0
- package/dist/cli/run/completion.d.ts +2 -0
- package/dist/cli/run/continuation-state.d.ts +11 -0
- package/dist/cli/run/display-chars.d.ts +5 -0
- package/dist/cli/run/event-formatting.d.ts +3 -0
- package/dist/cli/run/event-handlers.d.ts +11 -0
- package/dist/cli/run/event-state.d.ts +47 -0
- package/dist/cli/run/event-stream-processor.d.ts +3 -0
- package/dist/cli/run/events.d.ts +4 -0
- package/dist/cli/run/index.d.ts +10 -0
- package/dist/cli/run/json-output.d.ts +12 -0
- package/dist/cli/run/model-resolver.d.ts +4 -0
- package/dist/cli/run/on-complete-hook.d.ts +7 -0
- package/dist/cli/run/opencode-binary-resolver.d.ts +5 -0
- package/dist/cli/run/output-renderer.d.ts +7 -0
- package/dist/cli/run/poll-for-completion.d.ts +10 -0
- package/dist/cli/run/runner.d.ts +5 -0
- package/dist/cli/run/server-connection.d.ts +36 -0
- package/dist/cli/run/session-resolver.d.ts +6 -0
- package/dist/cli/run/stdin-suppression.d.ts +12 -0
- package/dist/cli/run/timestamp-output.d.ts +5 -0
- package/dist/cli/run/tool-input-preview.d.ts +6 -0
- package/dist/cli/run/types.d.ts +131 -0
- package/dist/cli/star-request.d.ts +2 -0
- package/dist/cli/tui-install-prompts.d.ts +3 -0
- package/dist/cli/tui-installer.d.ts +2 -0
- package/dist/cli/types.d.ts +54 -0
- package/dist/config/index.d.ts +2 -0
- package/dist/config/schema/agent-definitions.d.ts +3 -0
- package/dist/config/schema/agent-names.d.ts +56 -0
- package/dist/config/schema/agent-overrides.d.ts +2117 -0
- package/dist/config/schema/babysitting.d.ts +5 -0
- package/dist/config/schema/background-task.d.ts +20 -0
- package/dist/config/schema/browser-automation.d.ts +17 -0
- package/dist/config/schema/categories.d.ts +172 -0
- package/dist/config/schema/claude-code.d.ts +11 -0
- package/dist/config/schema/commands.d.ts +12 -0
- package/dist/config/schema/comment-checker.d.ts +5 -0
- package/dist/config/schema/default-mode.d.ts +6 -0
- package/dist/config/schema/dynamic-context-pruning.d.ts +28 -0
- package/dist/config/schema/experimental.d.ts +41 -0
- package/dist/config/schema/fallback-models.d.ts +118 -0
- package/dist/config/schema/git-env-prefix.d.ts +5 -0
- package/dist/config/schema/git-master.d.ts +7 -0
- package/dist/config/schema/hooks.d.ts +60 -0
- package/dist/config/schema/i18n.d.ts +5 -0
- package/dist/config/schema/internal/permission.d.ts +44 -0
- package/dist/config/schema/keyword-detector.d.ts +29 -0
- package/dist/config/schema/model-capabilities.d.ts +8 -0
- package/dist/config/schema/notification.d.ts +5 -0
- package/dist/config/schema/oh-my-opencode-config.d.ts +2344 -0
- package/dist/config/schema/openclaw.d.ts +64 -0
- package/dist/config/schema/ralph-loop.d.ts +11 -0
- package/dist/config/schema/runtime-fallback.d.ts +10 -0
- package/dist/config/schema/sisyphus-agent.d.ts +9 -0
- package/dist/config/schema/sisyphus.d.ts +15 -0
- package/dist/config/schema/skills.d.ts +58 -0
- package/dist/config/schema/start-work.d.ts +5 -0
- package/dist/config/schema/team-mode.d.ts +16 -0
- package/dist/config/schema/tmux.d.ts +34 -0
- package/dist/config/schema/websearch.d.ts +13 -0
- package/dist/config/schema.d.ts +30 -0
- package/dist/create-hooks.d.ts +92 -0
- package/dist/create-managers.d.ts +38 -0
- package/dist/create-runtime-tmux-config.d.ts +10 -0
- package/dist/create-tools.d.ts +21 -0
- package/dist/features/background-agent/abort-with-timeout.d.ts +2 -0
- package/dist/features/background-agent/attempt-lifecycle.d.ts +12 -0
- package/dist/features/background-agent/background-task-notification-template.d.ts +17 -0
- package/dist/features/background-agent/compaction-aware-message-resolver.d.ts +21 -0
- package/dist/features/background-agent/concurrency.d.ts +27 -0
- package/dist/features/background-agent/constants.d.ts +51 -0
- package/dist/features/background-agent/duration-formatter.d.ts +1 -0
- package/dist/features/background-agent/error-classifier.d.ts +11 -0
- package/dist/features/background-agent/fallback-retry-handler.d.ts +42 -0
- package/dist/features/background-agent/index.d.ts +4 -0
- package/dist/features/background-agent/loop-detector.d.ts +16 -0
- package/dist/features/background-agent/manager.d.ts +196 -0
- package/dist/features/background-agent/opencode-client.d.ts +2 -0
- package/dist/features/background-agent/parent-wake-dedupe.d.ts +19 -0
- package/dist/features/background-agent/parent-wake-message-activity.d.ts +23 -0
- package/dist/features/background-agent/parent-wake-notifier.d.ts +67 -0
- package/dist/features/background-agent/process-cleanup.d.ts +14 -0
- package/dist/features/background-agent/process-cleanup.test-helpers.d.ts +4 -0
- package/dist/features/background-agent/remove-task-toast-tracking.d.ts +1 -0
- package/dist/features/background-agent/session-activity.d.ts +12 -0
- package/dist/features/background-agent/session-existence.d.ts +5 -0
- package/dist/features/background-agent/session-idle-event-handler.d.ts +10 -0
- package/dist/features/background-agent/session-route.d.ts +12 -0
- package/dist/features/background-agent/session-status-classifier.d.ts +2 -0
- package/dist/features/background-agent/session-stream-activity.d.ts +18 -0
- package/dist/features/background-agent/spawner/parent-directory-resolver.d.ts +6 -0
- package/dist/features/background-agent/spawner.d.ts +19 -0
- package/dist/features/background-agent/state.d.ts +35 -0
- package/dist/features/background-agent/subagent-spawn-limits.d.ts +16 -0
- package/dist/features/background-agent/task-activity-refresh.d.ts +11 -0
- package/dist/features/background-agent/task-history.d.ts +19 -0
- package/dist/features/background-agent/task-poller.d.ts +26 -0
- package/dist/features/background-agent/task-registry.d.ts +6 -0
- package/dist/features/background-agent/types.d.ts +127 -0
- package/dist/features/background-agent/wait-for-task-session.d.ts +17 -0
- package/dist/features/boulder-state/constants.d.ts +1 -0
- package/dist/features/boulder-state/format-duration.d.ts +1 -0
- package/dist/features/boulder-state/index.d.ts +5 -0
- package/dist/features/boulder-state/storage.d.ts +1 -0
- package/dist/features/boulder-state/top-level-task.d.ts +1 -0
- package/dist/features/boulder-state/types.d.ts +1 -0
- package/dist/features/builtin-commands/commands.d.ts +7 -0
- package/dist/features/builtin-commands/index.d.ts +2 -0
- package/dist/features/builtin-commands/templates/handoff.d.ts +1 -0
- package/dist/features/builtin-commands/templates/hyperplan.d.ts +1 -0
- package/dist/features/builtin-commands/templates/init-deep.d.ts +1 -0
- package/dist/features/builtin-commands/templates/ralph-loop.d.ts +3 -0
- package/dist/features/builtin-commands/templates/refactor.d.ts +2 -0
- package/dist/features/builtin-commands/templates/remove-ai-slops.d.ts +2 -0
- package/dist/features/builtin-commands/templates/start-work.d.ts +1 -0
- package/dist/features/builtin-commands/templates/stop-continuation.d.ts +1 -0
- package/dist/features/builtin-commands/types.d.ts +6 -0
- package/dist/features/builtin-skills/index.d.ts +2 -0
- package/dist/features/builtin-skills/skill-file-loader.d.ts +4 -0
- package/dist/features/builtin-skills/skills/dev-browser.d.ts +2 -0
- package/dist/features/builtin-skills/skills/frontend-ui-ux.d.ts +2 -0
- package/dist/features/builtin-skills/skills/git-master-sections/commit-workflow.d.ts +1 -0
- package/dist/features/builtin-skills/skills/git-master-sections/history-search-workflow.d.ts +1 -0
- package/dist/features/builtin-skills/skills/git-master-sections/overview.d.ts +1 -0
- package/dist/features/builtin-skills/skills/git-master-sections/quick-reference.d.ts +1 -0
- package/dist/features/builtin-skills/skills/git-master-sections/rebase-workflow.d.ts +1 -0
- package/dist/features/builtin-skills/skills/git-master-skill-metadata.d.ts +2 -0
- package/dist/features/builtin-skills/skills/git-master.d.ts +2 -0
- package/dist/features/builtin-skills/skills/index.d.ts +9 -0
- package/dist/features/builtin-skills/skills/init-deep.d.ts +2 -0
- package/dist/features/builtin-skills/skills/playwright-cli.d.ts +10 -0
- package/dist/features/builtin-skills/skills/playwright.d.ts +3 -0
- package/dist/features/builtin-skills/skills/remove-ai-slops.d.ts +2 -0
- package/dist/features/builtin-skills/skills/review-work.d.ts +2 -0
- package/dist/features/builtin-skills/skills/team-mode.d.ts +2 -0
- package/dist/features/builtin-skills/skills.d.ts +8 -0
- package/dist/features/builtin-skills/types.d.ts +15 -0
- package/dist/features/claude-code-agent-loader/agent-definitions-loader.d.ts +3 -0
- package/dist/features/claude-code-agent-loader/claude-model-mapper.d.ts +4 -0
- package/dist/features/claude-code-agent-loader/index.d.ts +5 -0
- package/dist/features/claude-code-agent-loader/json-agent-loader.d.ts +2 -0
- package/dist/features/claude-code-agent-loader/loader.d.ts +5 -0
- package/dist/features/claude-code-agent-loader/opencode-config-agents-reader.d.ts +2 -0
- package/dist/features/claude-code-agent-loader/types.d.ts +29 -0
- package/dist/features/claude-code-command-loader/index.d.ts +2 -0
- package/dist/features/claude-code-command-loader/loader-cache.d.ts +6 -0
- package/dist/features/claude-code-command-loader/loader.d.ts +8 -0
- package/dist/features/claude-code-command-loader/types.d.ts +42 -0
- package/dist/features/claude-code-mcp-loader/configure-allowed-env-vars.d.ts +5 -0
- package/dist/features/claude-code-mcp-loader/env-expander.d.ts +5 -0
- package/dist/features/claude-code-mcp-loader/index.d.ts +11 -0
- package/dist/features/claude-code-mcp-loader/loader.d.ts +4 -0
- package/dist/features/claude-code-mcp-loader/scope-filter.d.ts +2 -0
- package/dist/features/claude-code-mcp-loader/transformer.d.ts +2 -0
- package/dist/features/claude-code-mcp-loader/types.d.ts +43 -0
- package/dist/features/claude-code-plugin-loader/agent-loader.d.ts +3 -0
- package/dist/features/claude-code-plugin-loader/command-loader.d.ts +3 -0
- package/dist/features/claude-code-plugin-loader/discovery.d.ts +4 -0
- package/dist/features/claude-code-plugin-loader/hook-loader.d.ts +2 -0
- package/dist/features/claude-code-plugin-loader/index.d.ts +10 -0
- package/dist/features/claude-code-plugin-loader/loader.d.ts +36 -0
- package/dist/features/claude-code-plugin-loader/mcp-server-loader.d.ts +3 -0
- package/dist/features/claude-code-plugin-loader/plugin-path-resolver.d.ts +2 -0
- package/dist/features/claude-code-plugin-loader/scope-filter.d.ts +2 -0
- package/dist/features/claude-code-plugin-loader/skill-loader.d.ts +3 -0
- package/dist/features/claude-code-plugin-loader/types.d.ts +236 -0
- package/dist/features/claude-code-session-state/index.d.ts +1 -0
- package/dist/features/claude-code-session-state/state.d.ts +13 -0
- package/dist/features/claude-tasks/session-storage.d.ts +9 -0
- package/dist/features/claude-tasks/storage.d.ts +14 -0
- package/dist/features/claude-tasks/types.d.ts +25 -0
- package/dist/features/context-injector/collector.d.ts +12 -0
- package/dist/features/context-injector/index.d.ts +3 -0
- package/dist/features/context-injector/injector.d.ts +39 -0
- package/dist/features/context-injector/types.d.ts +83 -0
- package/dist/features/hook-message-injector/constants.d.ts +1 -0
- package/dist/features/hook-message-injector/index.d.ts +4 -0
- package/dist/features/hook-message-injector/injector.d.ts +69 -0
- package/dist/features/hook-message-injector/types.d.ts +46 -0
- package/dist/features/mcp-oauth/callback-server.d.ts +11 -0
- package/dist/features/mcp-oauth/dcr.d.ts +34 -0
- package/dist/features/mcp-oauth/discovery.d.ts +8 -0
- package/dist/features/mcp-oauth/oauth-authorization-flow.d.ts +26 -0
- package/dist/features/mcp-oauth/provider.d.ts +30 -0
- package/dist/features/mcp-oauth/refresh-mutex.d.ts +26 -0
- package/dist/features/mcp-oauth/resource-indicator.d.ts +2 -0
- package/dist/features/mcp-oauth/schema.d.ts +6 -0
- package/dist/features/mcp-oauth/step-up.d.ts +8 -0
- package/dist/features/mcp-oauth/storage.d.ts +17 -0
- package/dist/features/opencode-skill-loader/allowed-tools-parser.d.ts +1 -0
- package/dist/features/opencode-skill-loader/async-loader.d.ts +6 -0
- package/dist/features/opencode-skill-loader/blocking.d.ts +2 -0
- package/dist/features/opencode-skill-loader/config-source-discovery.d.ts +7 -0
- package/dist/features/opencode-skill-loader/discover-worker.d.ts +1 -0
- package/dist/features/opencode-skill-loader/git-master-template-injection.d.ts +20 -0
- package/dist/features/opencode-skill-loader/index.d.ts +15 -0
- package/dist/features/opencode-skill-loader/loaded-skill-from-path.d.ts +9 -0
- package/dist/features/opencode-skill-loader/loaded-skill-template-extractor.d.ts +2 -0
- package/dist/features/opencode-skill-loader/loader.d.ts +21 -0
- package/dist/features/opencode-skill-loader/merger/builtin-skill-converter.d.ts +3 -0
- package/dist/features/opencode-skill-loader/merger/config-skill-entry-loader.d.ts +3 -0
- package/dist/features/opencode-skill-loader/merger/scope-priority.d.ts +2 -0
- package/dist/features/opencode-skill-loader/merger/skill-definition-merger.d.ts +3 -0
- package/dist/features/opencode-skill-loader/merger/skills-config-normalizer.d.ts +11 -0
- package/dist/features/opencode-skill-loader/merger.d.ts +7 -0
- package/dist/features/opencode-skill-loader/skill-content.d.ts +5 -0
- package/dist/features/opencode-skill-loader/skill-deduplication.d.ts +2 -0
- package/dist/features/opencode-skill-loader/skill-definition-record.d.ts +3 -0
- package/dist/features/opencode-skill-loader/skill-directory-loader.d.ts +8 -0
- package/dist/features/opencode-skill-loader/skill-discovery.d.ts +4 -0
- package/dist/features/opencode-skill-loader/skill-mcp-config.d.ts +3 -0
- package/dist/features/opencode-skill-loader/skill-resolution-options.d.ts +9 -0
- package/dist/features/opencode-skill-loader/skill-template-resolver.d.ts +11 -0
- package/dist/features/opencode-skill-loader/types.d.ts +34 -0
- package/dist/features/run-continuation-state/constants.d.ts +1 -0
- package/dist/features/run-continuation-state/index.d.ts +3 -0
- package/dist/features/run-continuation-state/storage.d.ts +6 -0
- package/dist/features/run-continuation-state/types.d.ts +12 -0
- package/dist/features/skill-mcp-manager/cleanup.d.ts +8 -0
- package/dist/features/skill-mcp-manager/connection-type.d.ts +7 -0
- package/dist/features/skill-mcp-manager/connection.d.ts +14 -0
- package/dist/features/skill-mcp-manager/env-cleaner.d.ts +2 -0
- package/dist/features/skill-mcp-manager/error-redaction.d.ts +10 -0
- package/dist/features/skill-mcp-manager/http-client.d.ts +17 -0
- package/dist/features/skill-mcp-manager/index.d.ts +2 -0
- package/dist/features/skill-mcp-manager/manager.d.ts +23 -0
- package/dist/features/skill-mcp-manager/oauth-handler.d.ts +17 -0
- package/dist/features/skill-mcp-manager/stdio-client.d.ts +16 -0
- package/dist/features/skill-mcp-manager/types.d.ts +79 -0
- package/dist/features/task-toast-manager/index.d.ts +2 -0
- package/dist/features/task-toast-manager/manager.d.ts +64 -0
- package/dist/features/task-toast-manager/types.d.ts +25 -0
- package/dist/features/team-mode/deps.d.ts +6 -0
- package/dist/features/team-mode/index.d.ts +2 -0
- package/dist/features/team-mode/member-guidance.d.ts +2 -0
- package/dist/features/team-mode/member-parser.d.ts +16 -0
- package/dist/features/team-mode/member-session-resolution.d.ts +6 -0
- package/dist/features/team-mode/member-session-routing.d.ts +19 -0
- package/dist/features/team-mode/resolve-caller-team-lead.d.ts +8 -0
- package/dist/features/team-mode/team-layout-tmux/close-team-member-pane.d.ts +4 -0
- package/dist/features/team-mode/team-layout-tmux/index.d.ts +1 -0
- package/dist/features/team-mode/team-layout-tmux/layout.d.ts +35 -0
- package/dist/features/team-mode/team-layout-tmux/rebalance-team-window.d.ts +9 -0
- package/dist/features/team-mode/team-layout-tmux/resolve-caller-tmux-session.d.ts +9 -0
- package/dist/features/team-mode/team-layout-tmux/sweep-stale-team-sessions.d.ts +8 -0
- package/dist/features/team-mode/team-mailbox/ack.d.ts +2 -0
- package/dist/features/team-mode/team-mailbox/inbox.d.ts +3 -0
- package/dist/features/team-mode/team-mailbox/index.d.ts +7 -0
- package/dist/features/team-mode/team-mailbox/poll.d.ts +10 -0
- package/dist/features/team-mode/team-mailbox/reservation.d.ts +11 -0
- package/dist/features/team-mode/team-mailbox/send.d.ts +27 -0
- package/dist/features/team-mode/team-registry/index.d.ts +3 -0
- package/dist/features/team-mode/team-registry/loader.d.ts +12 -0
- package/dist/features/team-mode/team-registry/paths.d.ts +13 -0
- package/dist/features/team-mode/team-registry/team-spec-input-normalizer.d.ts +6 -0
- package/dist/features/team-mode/team-registry/validator.d.ts +10 -0
- package/dist/features/team-mode/team-runtime/activate-team-layout.d.ts +4 -0
- package/dist/features/team-mode/team-runtime/cleanup-team-run-resources.d.ts +17 -0
- package/dist/features/team-mode/team-runtime/create.d.ts +25 -0
- package/dist/features/team-mode/team-runtime/delete-team.d.ts +16 -0
- package/dist/features/team-mode/team-runtime/index.d.ts +2 -0
- package/dist/features/team-mode/team-runtime/resolve-member-dependencies.d.ts +3 -0
- package/dist/features/team-mode/team-runtime/resolve-member.d.ts +17 -0
- package/dist/features/team-mode/team-runtime/session-cleanup.d.ts +21 -0
- package/dist/features/team-mode/team-runtime/session-team-run-registry.d.ts +4 -0
- package/dist/features/team-mode/team-runtime/shutdown-helpers.d.ts +11 -0
- package/dist/features/team-mode/team-runtime/shutdown-test-fixtures.d.ts +46 -0
- package/dist/features/team-mode/team-runtime/shutdown.d.ts +5 -0
- package/dist/features/team-mode/team-runtime/status.d.ts +36 -0
- package/dist/features/team-mode/team-session-registry.d.ts +11 -0
- package/dist/features/team-mode/team-state-store/index.d.ts +1 -0
- package/dist/features/team-mode/team-state-store/locks.d.ts +15 -0
- package/dist/features/team-mode/team-state-store/resume.d.ts +10 -0
- package/dist/features/team-mode/team-state-store/store.d.ts +21 -0
- package/dist/features/team-mode/team-tasklist/claim.d.ts +10 -0
- package/dist/features/team-mode/team-tasklist/dependencies.d.ts +2 -0
- package/dist/features/team-mode/team-tasklist/get.d.ts +3 -0
- package/dist/features/team-mode/team-tasklist/index.d.ts +6 -0
- package/dist/features/team-mode/team-tasklist/list.d.ts +8 -0
- package/dist/features/team-mode/team-tasklist/store.d.ts +3 -0
- package/dist/features/team-mode/team-tasklist/test-support.d.ts +9 -0
- package/dist/features/team-mode/team-tasklist/update.d.ts +9 -0
- package/dist/features/team-mode/team-worktree/cleanup.d.ts +3 -0
- package/dist/features/team-mode/team-worktree/index.d.ts +2 -0
- package/dist/features/team-mode/team-worktree/manager.d.ts +15 -0
- package/dist/features/team-mode/tools/index.d.ts +1 -0
- package/dist/features/team-mode/tools/lifecycle-test-fixture.d.ts +188 -0
- package/dist/features/team-mode/tools/lifecycle.d.ts +37 -0
- package/dist/features/team-mode/tools/messaging.d.ts +32 -0
- package/dist/features/team-mode/tools/query.d.ts +16 -0
- package/dist/features/team-mode/tools/tasks.d.ts +18 -0
- package/dist/features/team-mode/types.d.ts +342 -0
- package/dist/features/tmux-subagent/action-executor-core.d.ts +22 -0
- package/dist/features/tmux-subagent/action-executor.d.ts +21 -0
- package/dist/features/tmux-subagent/attachable-session-status.d.ts +4 -0
- package/dist/features/tmux-subagent/cleanup.d.ts +10 -0
- package/dist/features/tmux-subagent/decision-engine.d.ts +7 -0
- package/dist/features/tmux-subagent/event-handlers.d.ts +2 -0
- package/dist/features/tmux-subagent/grid-planning.d.ts +21 -0
- package/dist/features/tmux-subagent/index.d.ts +13 -0
- package/dist/features/tmux-subagent/manager.d.ts +117 -0
- package/dist/features/tmux-subagent/oldest-agent-pane.d.ts +7 -0
- package/dist/features/tmux-subagent/pane-split-availability.d.ts +8 -0
- package/dist/features/tmux-subagent/pane-state-parser.d.ts +10 -0
- package/dist/features/tmux-subagent/pane-state-querier.d.ts +12 -0
- package/dist/features/tmux-subagent/polling-constants.d.ts +3 -0
- package/dist/features/tmux-subagent/polling-manager.d.ts +23 -0
- package/dist/features/tmux-subagent/polling.d.ts +20 -0
- package/dist/features/tmux-subagent/session-created-event.d.ts +14 -0
- package/dist/features/tmux-subagent/session-created-handler.d.ts +23 -0
- package/dist/features/tmux-subagent/session-deleted-handler.d.ts +16 -0
- package/dist/features/tmux-subagent/session-message-count.d.ts +1 -0
- package/dist/features/tmux-subagent/session-ready-waiter.d.ts +7 -0
- package/dist/features/tmux-subagent/session-status-parser.d.ts +5 -0
- package/dist/features/tmux-subagent/spawn-action-decider.d.ts +4 -0
- package/dist/features/tmux-subagent/spawn-target-finder.d.ts +6 -0
- package/dist/features/tmux-subagent/tmux-grid-constants.d.ts +11 -0
- package/dist/features/tmux-subagent/tracked-session-state.d.ts +8 -0
- package/dist/features/tmux-subagent/types.d.ts +63 -0
- package/dist/features/tool-metadata-store/index.d.ts +9 -0
- package/dist/features/tool-metadata-store/publish-tool-metadata.d.ts +9 -0
- package/dist/features/tool-metadata-store/recover-tool-metadata.d.ts +3 -0
- package/dist/features/tool-metadata-store/resolve-tool-call-id.d.ts +6 -0
- package/dist/features/tool-metadata-store/store.d.ts +39 -0
- package/dist/features/tool-metadata-store/task-metadata-contract.d.ts +10 -0
- package/dist/help/schema/acp.d.ts +95 -0
- package/dist/help/schema/doctor.d.ts +147 -0
- package/dist/help/schema/sandbox.d.ts +74 -0
- package/dist/help/schema/status.d.ts +139 -0
- package/dist/hooks/agent-usage-reminder/constants.d.ts +4 -0
- package/dist/hooks/agent-usage-reminder/hook.d.ts +22 -0
- package/dist/hooks/agent-usage-reminder/index.d.ts +1 -0
- package/dist/hooks/agent-usage-reminder/storage.d.ts +4 -0
- package/dist/hooks/agent-usage-reminder/types.d.ts +6 -0
- package/dist/hooks/anthropic-context-window-limit-recovery/aggressive-truncation-strategy.d.ts +14 -0
- package/dist/hooks/anthropic-context-window-limit-recovery/client.d.ts +29 -0
- package/dist/hooks/anthropic-context-window-limit-recovery/deduplication-recovery.d.ts +6 -0
- package/dist/hooks/anthropic-context-window-limit-recovery/empty-content-recovery-sdk.d.ts +11 -0
- package/dist/hooks/anthropic-context-window-limit-recovery/empty-content-recovery.d.ts +8 -0
- package/dist/hooks/anthropic-context-window-limit-recovery/executor.d.ts +6 -0
- package/dist/hooks/anthropic-context-window-limit-recovery/index.d.ts +8 -0
- package/dist/hooks/anthropic-context-window-limit-recovery/message-builder.d.ts +10 -0
- package/dist/hooks/anthropic-context-window-limit-recovery/message-storage-directory.d.ts +6 -0
- package/dist/hooks/anthropic-context-window-limit-recovery/parser.d.ts +2 -0
- package/dist/hooks/anthropic-context-window-limit-recovery/pruning-deduplication.d.ts +10 -0
- package/dist/hooks/anthropic-context-window-limit-recovery/pruning-tool-output-truncation.d.ts +6 -0
- package/dist/hooks/anthropic-context-window-limit-recovery/pruning-types.d.ts +36 -0
- package/dist/hooks/anthropic-context-window-limit-recovery/recovery-hook.d.ts +24 -0
- package/dist/hooks/anthropic-context-window-limit-recovery/recovery-hook.test-support.d.ts +29 -0
- package/dist/hooks/anthropic-context-window-limit-recovery/recovery-strategy.d.ts +2 -0
- package/dist/hooks/anthropic-context-window-limit-recovery/session-timeout-map.d.ts +2 -0
- package/dist/hooks/anthropic-context-window-limit-recovery/state.d.ts +8 -0
- package/dist/hooks/anthropic-context-window-limit-recovery/storage-paths.d.ts +3 -0
- package/dist/hooks/anthropic-context-window-limit-recovery/storage.d.ts +4 -0
- package/dist/hooks/anthropic-context-window-limit-recovery/summarize-retry-strategy.d.ts +13 -0
- package/dist/hooks/anthropic-context-window-limit-recovery/target-token-truncation.d.ts +5 -0
- package/dist/hooks/anthropic-context-window-limit-recovery/tool-part-types.d.ts +39 -0
- package/dist/hooks/anthropic-context-window-limit-recovery/tool-result-storage-sdk.d.ts +29 -0
- package/dist/hooks/anthropic-context-window-limit-recovery/tool-result-storage.d.ts +10 -0
- package/dist/hooks/anthropic-context-window-limit-recovery/types.d.ts +39 -0
- package/dist/hooks/anthropic-effort/hook.d.ts +26 -0
- package/dist/hooks/anthropic-effort/index.d.ts +1 -0
- package/dist/hooks/atlas/atlas-hook.d.ts +19 -0
- package/dist/hooks/atlas/background-launch-session-tracking.d.ts +11 -0
- package/dist/hooks/atlas/boulder-continuation-injector.d.ts +17 -0
- package/dist/hooks/atlas/boulder-session-lineage.d.ts +6 -0
- package/dist/hooks/atlas/event-handler.d.ts +13 -0
- package/dist/hooks/atlas/final-wave-approval-gate.d.ts +6 -0
- package/dist/hooks/atlas/final-wave-plan-state.d.ts +5 -0
- package/dist/hooks/atlas/hook-name.d.ts +1 -0
- package/dist/hooks/atlas/idle-event.d.ts +8 -0
- package/dist/hooks/atlas/index.d.ts +3 -0
- package/dist/hooks/atlas/is-abort-error.d.ts +1 -0
- package/dist/hooks/atlas/omo-path.d.ts +6 -0
- package/dist/hooks/atlas/recent-model-resolver.d.ts +17 -0
- package/dist/hooks/atlas/resolve-active-boulder-session.d.ts +11 -0
- package/dist/hooks/atlas/session-last-agent.d.ts +20 -0
- package/dist/hooks/atlas/subagent-session-id.d.ts +8 -0
- package/dist/hooks/atlas/system-reminder-templates.d.ts +7 -0
- package/dist/hooks/atlas/task-context.d.ts +7 -0
- package/dist/hooks/atlas/tool-execute-after.d.ts +15 -0
- package/dist/hooks/atlas/tool-execute-before.d.ts +16 -0
- package/dist/hooks/atlas/tool-progress.d.ts +14 -0
- package/dist/hooks/atlas/types.d.ts +64 -0
- package/dist/hooks/atlas/verification-reminders.d.ts +10 -0
- package/dist/hooks/atlas/write-edit-tool-policy.d.ts +1 -0
- package/dist/hooks/auto-slash-command/constants.d.ts +5 -0
- package/dist/hooks/auto-slash-command/detector.d.ts +15 -0
- package/dist/hooks/auto-slash-command/executor.d.ts +15 -0
- package/dist/hooks/auto-slash-command/hook.d.ts +19 -0
- package/dist/hooks/auto-slash-command/index.d.ts +6 -0
- package/dist/hooks/auto-slash-command/processed-command-store.d.ts +7 -0
- package/dist/hooks/auto-slash-command/types.d.ts +48 -0
- package/dist/hooks/auto-update-checker/cache.d.ts +10 -0
- package/dist/hooks/auto-update-checker/checker/cached-version.d.ts +8 -0
- package/dist/hooks/auto-update-checker/checker/check-for-update.d.ts +2 -0
- package/dist/hooks/auto-update-checker/checker/config-paths.d.ts +1 -0
- package/dist/hooks/auto-update-checker/checker/jsonc-strip.d.ts +1 -0
- package/dist/hooks/auto-update-checker/checker/latest-version.d.ts +1 -0
- package/dist/hooks/auto-update-checker/checker/local-dev-path.d.ts +2 -0
- package/dist/hooks/auto-update-checker/checker/local-dev-version.d.ts +1 -0
- package/dist/hooks/auto-update-checker/checker/package-json-locator.d.ts +1 -0
- package/dist/hooks/auto-update-checker/checker/pinned-version-updater.d.ts +2 -0
- package/dist/hooks/auto-update-checker/checker/plugin-entry.d.ts +7 -0
- package/dist/hooks/auto-update-checker/checker/sync-package-json.d.ts +7 -0
- package/dist/hooks/auto-update-checker/checker.d.ts +10 -0
- package/dist/hooks/auto-update-checker/constants.d.ts +26 -0
- package/dist/hooks/auto-update-checker/hook/background-update-check.d.ts +30 -0
- package/dist/hooks/auto-update-checker/hook/config-errors-toast.d.ts +2 -0
- package/dist/hooks/auto-update-checker/hook/connected-providers-status.d.ts +2 -0
- package/dist/hooks/auto-update-checker/hook/deferred-startup-check.d.ts +1 -0
- package/dist/hooks/auto-update-checker/hook/model-cache-warning.d.ts +2 -0
- package/dist/hooks/auto-update-checker/hook/model-capabilities-status.d.ts +2 -0
- package/dist/hooks/auto-update-checker/hook/spinner-toast.d.ts +2 -0
- package/dist/hooks/auto-update-checker/hook/startup-toasts.d.ts +3 -0
- package/dist/hooks/auto-update-checker/hook/update-toasts.d.ts +3 -0
- package/dist/hooks/auto-update-checker/hook.d.ts +31 -0
- package/dist/hooks/auto-update-checker/index.d.ts +5 -0
- package/dist/hooks/auto-update-checker/types.d.ts +27 -0
- package/dist/hooks/auto-update-checker/version-channel.d.ts +4 -0
- package/dist/hooks/background-notification/hook.d.ts +23 -0
- package/dist/hooks/background-notification/index.d.ts +2 -0
- package/dist/hooks/background-notification/types.d.ts +4 -0
- package/dist/hooks/bash-file-read-guard.d.ts +2 -0
- package/dist/hooks/category-skill-reminder/formatter.d.ts +2 -0
- package/dist/hooks/category-skill-reminder/hook.d.ts +23 -0
- package/dist/hooks/category-skill-reminder/index.d.ts +1 -0
- package/dist/hooks/claude-code-hooks/claude-code-hooks-hook.d.ts +49 -0
- package/dist/hooks/claude-code-hooks/config-loader.d.ts +21 -0
- package/dist/hooks/claude-code-hooks/config.d.ts +7 -0
- package/dist/hooks/claude-code-hooks/dispatch-hook.d.ts +4 -0
- package/dist/hooks/claude-code-hooks/execute-http-hook.d.ts +4 -0
- package/dist/hooks/claude-code-hooks/handlers/chat-message-handler.d.ts +19 -0
- package/dist/hooks/claude-code-hooks/handlers/pre-compact-handler.d.ts +7 -0
- package/dist/hooks/claude-code-hooks/handlers/session-event-handler.d.ts +10 -0
- package/dist/hooks/claude-code-hooks/handlers/tool-execute-after-handler.d.ts +11 -0
- package/dist/hooks/claude-code-hooks/handlers/tool-execute-before-handler.d.ts +9 -0
- package/dist/hooks/claude-code-hooks/hook-text.d.ts +2 -0
- package/dist/hooks/claude-code-hooks/index.d.ts +1 -0
- package/dist/hooks/claude-code-hooks/plugin-config.d.ts +8 -0
- package/dist/hooks/claude-code-hooks/post-tool-use.d.ts +40 -0
- package/dist/hooks/claude-code-hooks/pre-compact.d.ts +16 -0
- package/dist/hooks/claude-code-hooks/pre-tool-use.d.ts +25 -0
- package/dist/hooks/claude-code-hooks/session-hook-state.d.ts +10 -0
- package/dist/hooks/claude-code-hooks/stop.d.ts +20 -0
- package/dist/hooks/claude-code-hooks/todo.d.ts +12 -0
- package/dist/hooks/claude-code-hooks/tool-input-cache.d.ts +7 -0
- package/dist/hooks/claude-code-hooks/transcript.d.ts +27 -0
- package/dist/hooks/claude-code-hooks/types.d.ts +207 -0
- package/dist/hooks/claude-code-hooks/user-prompt-submit.d.ts +22 -0
- package/dist/hooks/comment-checker/cli-runner.d.ts +22 -0
- package/dist/hooks/comment-checker/cli.d.ts +32 -0
- package/dist/hooks/comment-checker/downloader.d.ts +25 -0
- package/dist/hooks/comment-checker/hook.d.ts +21 -0
- package/dist/hooks/comment-checker/index.d.ts +1 -0
- package/dist/hooks/comment-checker/initialization-gate.d.ts +2 -0
- package/dist/hooks/comment-checker/pending-calls.d.ts +5 -0
- package/dist/hooks/comment-checker/types.d.ts +1 -0
- package/dist/hooks/compaction-context-injector/compaction-context-prompt.d.ts +1 -0
- package/dist/hooks/compaction-context-injector/constants.d.ts +5 -0
- package/dist/hooks/compaction-context-injector/hook.d.ts +6 -0
- package/dist/hooks/compaction-context-injector/index.d.ts +1 -0
- package/dist/hooks/compaction-context-injector/recovery-prompt-config.d.ts +6 -0
- package/dist/hooks/compaction-context-injector/recovery.d.ts +6 -0
- package/dist/hooks/compaction-context-injector/session-id.d.ts +2 -0
- package/dist/hooks/compaction-context-injector/session-prompt-config-resolver.d.ts +16 -0
- package/dist/hooks/compaction-context-injector/tail-monitor.d.ts +13 -0
- package/dist/hooks/compaction-context-injector/types.d.ts +45 -0
- package/dist/hooks/compaction-context-injector/validated-model.d.ts +13 -0
- package/dist/hooks/compaction-todo-preserver/hook.d.ts +22 -0
- package/dist/hooks/compaction-todo-preserver/index.d.ts +2 -0
- package/dist/hooks/context-window-monitor.d.ts +19 -0
- package/dist/hooks/delegate-task-retry/guidance.d.ts +2 -0
- package/dist/hooks/delegate-task-retry/hook.d.ts +12 -0
- package/dist/hooks/delegate-task-retry/index.d.ts +4 -0
- package/dist/hooks/delegate-task-retry/patterns.d.ts +11 -0
- package/dist/hooks/directory-agents-injector/constants.d.ts +2 -0
- package/dist/hooks/directory-agents-injector/finder.d.ts +2 -0
- package/dist/hooks/directory-agents-injector/hook.d.ts +28 -0
- package/dist/hooks/directory-agents-injector/index.d.ts +1 -0
- package/dist/hooks/directory-agents-injector/injector.d.ts +1 -0
- package/dist/hooks/directory-agents-injector/storage.d.ts +1 -0
- package/dist/hooks/directory-readme-injector/constants.d.ts +2 -0
- package/dist/hooks/directory-readme-injector/finder.d.ts +5 -0
- package/dist/hooks/directory-readme-injector/hook.d.ts +28 -0
- package/dist/hooks/directory-readme-injector/index.d.ts +1 -0
- package/dist/hooks/directory-readme-injector/injector.d.ts +16 -0
- package/dist/hooks/directory-readme-injector/storage.d.ts +1 -0
- package/dist/hooks/edit-error-recovery/hook.d.ts +31 -0
- package/dist/hooks/edit-error-recovery/index.d.ts +1 -0
- package/dist/hooks/empty-task-response-detector.d.ts +12 -0
- package/dist/hooks/fsync-skip-warning/index.d.ts +18 -0
- package/dist/hooks/hashline-edit-diff-enhancer/hook.d.ts +28 -0
- package/dist/hooks/hashline-read-enhancer/hook.d.ts +18 -0
- package/dist/hooks/hashline-read-enhancer/index.d.ts +1 -0
- package/dist/hooks/index.d.ts +60 -0
- package/dist/hooks/interactive-bash-session/constants.d.ts +3 -0
- package/dist/hooks/interactive-bash-session/hook.d.ts +23 -0
- package/dist/hooks/interactive-bash-session/index.d.ts +3 -0
- package/dist/hooks/interactive-bash-session/interactive-bash-session-tracker.d.ts +21 -0
- package/dist/hooks/interactive-bash-session/parser.d.ts +26 -0
- package/dist/hooks/interactive-bash-session/state-manager.d.ts +4 -0
- package/dist/hooks/interactive-bash-session/storage.d.ts +4 -0
- package/dist/hooks/interactive-bash-session/tmux-command-parser.d.ts +4 -0
- package/dist/hooks/interactive-bash-session/types.d.ts +10 -0
- package/dist/hooks/json-error-recovery/hook.d.ts +15 -0
- package/dist/hooks/json-error-recovery/index.d.ts +1 -0
- package/dist/hooks/keyword-detector/analyze/default.d.ts +12 -0
- package/dist/hooks/keyword-detector/analyze/index.d.ts +1 -0
- package/dist/hooks/keyword-detector/constants.d.ts +21 -0
- package/dist/hooks/keyword-detector/detector.d.ts +14 -0
- package/dist/hooks/keyword-detector/hook.d.ts +24 -0
- package/dist/hooks/keyword-detector/hyperplan/default.d.ts +18 -0
- package/dist/hooks/keyword-detector/hyperplan/index.d.ts +1 -0
- package/dist/hooks/keyword-detector/index.d.ts +4 -0
- package/dist/hooks/keyword-detector/search/default.d.ts +12 -0
- package/dist/hooks/keyword-detector/search/index.d.ts +1 -0
- package/dist/hooks/keyword-detector/team/default.d.ts +8 -0
- package/dist/hooks/keyword-detector/team/index.d.ts +1 -0
- package/dist/hooks/keyword-detector/types.d.ts +4 -0
- package/dist/hooks/keyword-detector/ultrawork/default.d.ts +2 -0
- package/dist/hooks/keyword-detector/ultrawork/gemini.d.ts +2 -0
- package/dist/hooks/keyword-detector/ultrawork/gpt.d.ts +2 -0
- package/dist/hooks/keyword-detector/ultrawork/index.d.ts +19 -0
- package/dist/hooks/keyword-detector/ultrawork/planner.d.ts +2 -0
- package/dist/hooks/keyword-detector/ultrawork/source-detector.d.ts +27 -0
- package/dist/hooks/legacy-plugin-toast/auto-migrate-runner.d.ts +2 -0
- package/dist/hooks/legacy-plugin-toast/auto-migrate.d.ts +7 -0
- package/dist/hooks/legacy-plugin-toast/hook.d.ts +18 -0
- package/dist/hooks/legacy-plugin-toast/index.d.ts +1 -0
- package/dist/hooks/legacy-plugin-toast/plugin-entry-migrator.d.ts +1 -0
- package/dist/hooks/model-fallback/chat-message-fallback-handler.d.ts +23 -0
- package/dist/hooks/model-fallback/controller-accessor.d.ts +9 -0
- package/dist/hooks/model-fallback/fallback-state-controller.d.ts +27 -0
- package/dist/hooks/model-fallback/hook.d.ts +71 -0
- package/dist/hooks/model-fallback/index.d.ts +2 -0
- package/dist/hooks/model-fallback/next-fallback.d.ts +14 -0
- package/dist/hooks/no-hephaestus-non-gpt/hook.d.ts +20 -0
- package/dist/hooks/no-hephaestus-non-gpt/index.d.ts +1 -0
- package/dist/hooks/no-sisyphus-gpt/hook.d.ts +16 -0
- package/dist/hooks/no-sisyphus-gpt/index.d.ts +1 -0
- package/dist/hooks/non-interactive-env/constants.d.ts +34 -0
- package/dist/hooks/non-interactive-env/detector.d.ts +1 -0
- package/dist/hooks/non-interactive-env/index.d.ts +4 -0
- package/dist/hooks/non-interactive-env/non-interactive-env-hook.d.ts +14 -0
- package/dist/hooks/non-interactive-env/types.d.ts +3 -0
- package/dist/hooks/notepad-write-guard/index.d.ts +2 -0
- package/dist/hooks/plan-format-validator/hook.d.ts +21 -0
- package/dist/hooks/plan-format-validator/index.d.ts +1 -0
- package/dist/hooks/preemptive-compaction-degradation-monitor.d.ts +56 -0
- package/dist/hooks/preemptive-compaction-no-text-tail.d.ts +19 -0
- package/dist/hooks/preemptive-compaction-trigger.d.ts +13 -0
- package/dist/hooks/preemptive-compaction-types.d.ts +53 -0
- package/dist/hooks/preemptive-compaction.d.ts +20 -0
- package/dist/hooks/prometheus-md-only/agent-matcher.d.ts +1 -0
- package/dist/hooks/prometheus-md-only/agent-resolution.d.ts +16 -0
- package/dist/hooks/prometheus-md-only/constants.d.ts +15 -0
- package/dist/hooks/prometheus-md-only/hook.d.ts +11 -0
- package/dist/hooks/prometheus-md-only/index.d.ts +2 -0
- package/dist/hooks/prometheus-md-only/path-policy.d.ts +10 -0
- package/dist/hooks/question-label-truncator/hook.d.ts +7 -0
- package/dist/hooks/question-label-truncator/index.d.ts +1 -0
- package/dist/hooks/ralph-loop/command-arguments.d.ts +8 -0
- package/dist/hooks/ralph-loop/completion-handler.d.ts +14 -0
- package/dist/hooks/ralph-loop/completion-promise-detector-test-input.d.ts +11 -0
- package/dist/hooks/ralph-loop/completion-promise-detector.d.ts +9 -0
- package/dist/hooks/ralph-loop/constants.d.ts +7 -0
- package/dist/hooks/ralph-loop/continuation-prompt-builder.d.ts +3 -0
- package/dist/hooks/ralph-loop/continuation-prompt-injector.d.ts +18 -0
- package/dist/hooks/ralph-loop/index.d.ts +5 -0
- package/dist/hooks/ralph-loop/iteration-continuation.d.ts +25 -0
- package/dist/hooks/ralph-loop/loop-session-recovery.d.ts +7 -0
- package/dist/hooks/ralph-loop/loop-state-controller.d.ts +24 -0
- package/dist/hooks/ralph-loop/message-storage-directory.d.ts +1 -0
- package/dist/hooks/ralph-loop/no-progress-turn-detector.d.ts +7 -0
- package/dist/hooks/ralph-loop/oracle-verification-detector.d.ts +8 -0
- package/dist/hooks/ralph-loop/pending-verification-handler.d.ts +22 -0
- package/dist/hooks/ralph-loop/ralph-loop-event-handler.d.ts +28 -0
- package/dist/hooks/ralph-loop/ralph-loop-hook.d.ts +20 -0
- package/dist/hooks/ralph-loop/session-event-handler.d.ts +8 -0
- package/dist/hooks/ralph-loop/session-reset-strategy.d.ts +3 -0
- package/dist/hooks/ralph-loop/storage.d.ts +6 -0
- package/dist/hooks/ralph-loop/types.d.ts +34 -0
- package/dist/hooks/ralph-loop/verification-failure-handler.d.ts +14 -0
- package/dist/hooks/ralph-loop/with-timeout.d.ts +1 -0
- package/dist/hooks/read-image-resizer/hook.d.ts +12 -0
- package/dist/hooks/read-image-resizer/image-dimensions.d.ts +2 -0
- package/dist/hooks/read-image-resizer/image-resizer.d.ts +5 -0
- package/dist/hooks/read-image-resizer/index.d.ts +1 -0
- package/dist/hooks/read-image-resizer/png-fallback-resizer.d.ts +2 -0
- package/dist/hooks/read-image-resizer/types.d.ts +14 -0
- package/dist/hooks/rules-injector/cache.d.ts +13 -0
- package/dist/hooks/rules-injector/constants.d.ts +2 -0
- package/dist/hooks/rules-injector/finder.d.ts +3 -0
- package/dist/hooks/rules-injector/hook.d.ts +30 -0
- package/dist/hooks/rules-injector/index.d.ts +2 -0
- package/dist/hooks/rules-injector/injector.d.ts +47 -0
- package/dist/hooks/rules-injector/matcher.d.ts +5 -0
- package/dist/hooks/rules-injector/output-path.d.ts +5 -0
- package/dist/hooks/rules-injector/parser.d.ts +2 -0
- package/dist/hooks/rules-injector/project-root-finder.d.ts +1 -0
- package/dist/hooks/rules-injector/rule-distance.d.ts +1 -0
- package/dist/hooks/rules-injector/rule-file-finder.d.ts +2 -0
- package/dist/hooks/rules-injector/rule-file-scanner.d.ts +3 -0
- package/dist/hooks/rules-injector/rule-scan-cache.d.ts +2 -0
- package/dist/hooks/rules-injector/storage.d.ts +9 -0
- package/dist/hooks/rules-injector/transcript-hydration.d.ts +18 -0
- package/dist/hooks/rules-injector/types.d.ts +18 -0
- package/dist/hooks/runtime-fallback/agent-resolver.d.ts +5 -0
- package/dist/hooks/runtime-fallback/auto-retry-signal.d.ts +4 -0
- package/dist/hooks/runtime-fallback/auto-retry.d.ts +10 -0
- package/dist/hooks/runtime-fallback/chat-message-handler.d.ts +20 -0
- package/dist/hooks/runtime-fallback/constants.d.ts +29 -0
- package/dist/hooks/runtime-fallback/error-classifier.d.ts +14 -0
- package/dist/hooks/runtime-fallback/event-handler.d.ts +8 -0
- package/dist/hooks/runtime-fallback/fallback-bootstrap-model.d.ts +10 -0
- package/dist/hooks/runtime-fallback/fallback-models.d.ts +14 -0
- package/dist/hooks/runtime-fallback/fallback-retry-dispatcher.d.ts +11 -0
- package/dist/hooks/runtime-fallback/fallback-state.d.ts +6 -0
- package/dist/hooks/runtime-fallback/first-prompt-watchdog.d.ts +25 -0
- package/dist/hooks/runtime-fallback/hook.d.ts +15 -0
- package/dist/hooks/runtime-fallback/index.d.ts +2 -0
- package/dist/hooks/runtime-fallback/last-user-retry-parts.d.ts +12 -0
- package/dist/hooks/runtime-fallback/message-update-handler.d.ts +4 -0
- package/dist/hooks/runtime-fallback/retry-model-payload.d.ts +11 -0
- package/dist/hooks/runtime-fallback/session-messages.d.ts +9 -0
- package/dist/hooks/runtime-fallback/session-status-handler.d.ts +3 -0
- package/dist/hooks/runtime-fallback/types.d.ts +124 -0
- package/dist/hooks/runtime-fallback/visible-assistant-response.d.ts +3 -0
- package/dist/hooks/session-notification-content.d.ts +30 -0
- package/dist/hooks/session-notification-event-properties.d.ts +5 -0
- package/dist/hooks/session-notification-formatting.d.ts +3 -0
- package/dist/hooks/session-notification-init.d.ts +7 -0
- package/dist/hooks/session-notification-scheduler.d.ts +22 -0
- package/dist/hooks/session-notification-sender.d.ts +6 -0
- package/dist/hooks/session-notification-utils.d.ts +11 -0
- package/dist/hooks/session-notification.d.ts +25 -0
- package/dist/hooks/session-recovery/constants.d.ts +4 -0
- package/dist/hooks/session-recovery/detect-error-type.d.ts +4 -0
- package/dist/hooks/session-recovery/hook.d.ts +21 -0
- package/dist/hooks/session-recovery/index.d.ts +5 -0
- package/dist/hooks/session-recovery/interrupted-idle-message-fetch-timeout.d.ts +7 -0
- package/dist/hooks/session-recovery/recover-empty-content-message-sdk.d.ts +13 -0
- package/dist/hooks/session-recovery/recover-thinking-block-order.d.ts +5 -0
- package/dist/hooks/session-recovery/recover-thinking-disabled-violation.d.ts +5 -0
- package/dist/hooks/session-recovery/recover-tool-result-missing.d.ts +10 -0
- package/dist/hooks/session-recovery/recover-unavailable-tool.d.ts +5 -0
- package/dist/hooks/session-recovery/resume.d.ts +7 -0
- package/dist/hooks/session-recovery/storage/empty-messages.d.ts +3 -0
- package/dist/hooks/session-recovery/storage/empty-text.d.ts +7 -0
- package/dist/hooks/session-recovery/storage/latest-assistant-message.d.ts +5 -0
- package/dist/hooks/session-recovery/storage/message-dir.d.ts +1 -0
- package/dist/hooks/session-recovery/storage/messages-reader.d.ts +6 -0
- package/dist/hooks/session-recovery/storage/orphan-thinking-search.d.ts +2 -0
- package/dist/hooks/session-recovery/storage/part-content.d.ts +3 -0
- package/dist/hooks/session-recovery/storage/part-id.d.ts +1 -0
- package/dist/hooks/session-recovery/storage/parts-reader.d.ts +6 -0
- package/dist/hooks/session-recovery/storage/text-part-injector.d.ts +5 -0
- package/dist/hooks/session-recovery/storage/thinking-block-search.d.ts +2 -0
- package/dist/hooks/session-recovery/storage/thinking-prepend.d.ts +33 -0
- package/dist/hooks/session-recovery/storage/thinking-strip.d.ts +5 -0
- package/dist/hooks/session-recovery/storage.d.ts +20 -0
- package/dist/hooks/session-recovery/types.d.ts +105 -0
- package/dist/hooks/session-todo-status.d.ts +3 -0
- package/dist/hooks/shared/compaction-model-resolver.d.ts +5 -0
- package/dist/hooks/shared/prompt-async-gate.d.ts +1 -0
- package/dist/hooks/shared/session-idle-settle.d.ts +1 -0
- package/dist/hooks/sisyphus-junior-notepad/constants.d.ts +2 -0
- package/dist/hooks/sisyphus-junior-notepad/hook.d.ts +11 -0
- package/dist/hooks/sisyphus-junior-notepad/index.d.ts +2 -0
- package/dist/hooks/start-work/context-info-builder.d.ts +13 -0
- package/dist/hooks/start-work/index.d.ts +4 -0
- package/dist/hooks/start-work/parse-user-request.d.ts +5 -0
- package/dist/hooks/start-work/session-plan-affinity.d.ts +7 -0
- package/dist/hooks/start-work/start-work-hook.d.ts +23 -0
- package/dist/hooks/start-work/worktree-block.d.ts +1 -0
- package/dist/hooks/start-work/worktree-detector.d.ts +8 -0
- package/dist/hooks/stop-continuation-guard/hook.d.ts +21 -0
- package/dist/hooks/stop-continuation-guard/index.d.ts +2 -0
- package/dist/hooks/task-reminder/hook.d.ts +19 -0
- package/dist/hooks/task-reminder/index.d.ts +1 -0
- package/dist/hooks/task-resume-info/hook.d.ts +11 -0
- package/dist/hooks/task-resume-info/index.d.ts +1 -0
- package/dist/hooks/tasks-todowrite-disabler/constants.d.ts +3 -0
- package/dist/hooks/tasks-todowrite-disabler/hook.d.ts +14 -0
- package/dist/hooks/tasks-todowrite-disabler/index.d.ts +2 -0
- package/dist/hooks/team-mailbox-injector/hook.d.ts +31 -0
- package/dist/hooks/team-mailbox-injector/index.d.ts +2 -0
- package/dist/hooks/team-mode-status-injector/hook.d.ts +29 -0
- package/dist/hooks/team-mode-status-injector/index.d.ts +1 -0
- package/dist/hooks/team-session-events/team-idle-wake-hint.d.ts +42 -0
- package/dist/hooks/team-session-events/team-lead-orphan-handler.d.ts +12 -0
- package/dist/hooks/team-session-events/team-member-error-handler.d.ts +23 -0
- package/dist/hooks/team-session-events/team-member-status-handler.d.ts +10 -0
- package/dist/hooks/team-tool-gating/hook.d.ts +3 -0
- package/dist/hooks/team-tool-gating/index.d.ts +1 -0
- package/dist/hooks/think-mode/detector.d.ts +5 -0
- package/dist/hooks/think-mode/hook.d.ts +23 -0
- package/dist/hooks/think-mode/index.d.ts +4 -0
- package/dist/hooks/think-mode/switcher.d.ts +19 -0
- package/dist/hooks/think-mode/types.d.ts +7 -0
- package/dist/hooks/thinking-block-validator/hook.d.ts +12 -0
- package/dist/hooks/thinking-block-validator/index.d.ts +1 -0
- package/dist/hooks/todo-continuation-enforcer/abort-detection.d.ts +4 -0
- package/dist/hooks/todo-continuation-enforcer/compaction-guard.d.ts +4 -0
- package/dist/hooks/todo-continuation-enforcer/constants.d.ts +12 -0
- package/dist/hooks/todo-continuation-enforcer/continuation-injection.d.ts +13 -0
- package/dist/hooks/todo-continuation-enforcer/countdown.d.ts +15 -0
- package/dist/hooks/todo-continuation-enforcer/handler.d.ts +15 -0
- package/dist/hooks/todo-continuation-enforcer/idle-event.d.ts +11 -0
- package/dist/hooks/todo-continuation-enforcer/index.d.ts +4 -0
- package/dist/hooks/todo-continuation-enforcer/message-directory.d.ts +1 -0
- package/dist/hooks/todo-continuation-enforcer/non-idle-events.d.ts +6 -0
- package/dist/hooks/todo-continuation-enforcer/pending-question-detection.d.ts +20 -0
- package/dist/hooks/todo-continuation-enforcer/resolve-message-info.d.ts +3 -0
- package/dist/hooks/todo-continuation-enforcer/session-state.d.ts +20 -0
- package/dist/hooks/todo-continuation-enforcer/stagnation-detection.d.ts +6 -0
- package/dist/hooks/todo-continuation-enforcer/todo.d.ts +2 -0
- package/dist/hooks/todo-continuation-enforcer/token-limit-detection.d.ts +4 -0
- package/dist/hooks/todo-continuation-enforcer/types.d.ts +83 -0
- package/dist/hooks/todo-description-override/description.d.ts +1 -0
- package/dist/hooks/todo-description-override/hook.d.ts +8 -0
- package/dist/hooks/todo-description-override/index.d.ts +1 -0
- package/dist/hooks/tool-output-truncator.d.ts +21 -0
- package/dist/hooks/tool-pair-validator/hook.d.ts +38 -0
- package/dist/hooks/tool-pair-validator/index.d.ts +1 -0
- package/dist/hooks/unstable-agent-babysitter/index.d.ts +2 -0
- package/dist/hooks/unstable-agent-babysitter/task-message-analyzer.d.ts +26 -0
- package/dist/hooks/unstable-agent-babysitter/unstable-agent-babysitter-hook.d.ts +54 -0
- package/dist/hooks/webfetch-redirect-guard/constants.d.ts +6 -0
- package/dist/hooks/webfetch-redirect-guard/hook.d.ts +19 -0
- package/dist/hooks/webfetch-redirect-guard/index.d.ts +1 -0
- package/dist/hooks/webfetch-redirect-guard/redirect-resolution.d.ts +16 -0
- package/dist/hooks/write-existing-file-guard/hook.d.ts +20 -0
- package/dist/hooks/write-existing-file-guard/index.d.ts +1 -0
- package/dist/hooks/write-existing-file-guard/session-read-permissions.d.ts +3 -0
- package/dist/hooks/write-existing-file-guard/tool-execute-before-handler.d.ts +17 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.js +142869 -0
- package/dist/locales/en.d.ts +18 -0
- package/dist/locales/index.d.ts +6 -0
- package/dist/locales/zh.d.ts +17 -0
- package/dist/mcp/ast-grep.d.ts +11 -0
- package/dist/mcp/cli-suffix.d.ts +1 -0
- package/dist/mcp/context7.d.ts +9 -0
- package/dist/mcp/grep-app.d.ts +6 -0
- package/dist/mcp/index.d.ts +17 -0
- package/dist/mcp/lsp.d.ts +15 -0
- package/dist/mcp/runtime-executable.d.ts +11 -0
- package/dist/mcp/types.d.ts +11 -0
- package/dist/mcp/websearch.d.ts +11 -0
- package/dist/oh-my-opencode.schema.json +6677 -0
- package/dist/openclaw/config.d.ts +8 -0
- package/dist/openclaw/daemon.d.ts +1 -0
- package/dist/openclaw/dispatcher.d.ts +12 -0
- package/dist/openclaw/gateway-url-validation.d.ts +1 -0
- package/dist/openclaw/index.d.ts +5 -0
- package/dist/openclaw/reply-listener-discord.d.ts +4 -0
- package/dist/openclaw/reply-listener-injection.d.ts +10 -0
- package/dist/openclaw/reply-listener-log.d.ts +2 -0
- package/dist/openclaw/reply-listener-paths.d.ts +7 -0
- package/dist/openclaw/reply-listener-process.d.ts +4 -0
- package/dist/openclaw/reply-listener-spawn.d.ts +5 -0
- package/dist/openclaw/reply-listener-startup.d.ts +12 -0
- package/dist/openclaw/reply-listener-state.d.ts +29 -0
- package/dist/openclaw/reply-listener-telegram.d.ts +4 -0
- package/dist/openclaw/reply-listener.d.ts +18 -0
- package/dist/openclaw/runtime-dispatch.d.ts +17 -0
- package/dist/openclaw/session-registry.d.ts +17 -0
- package/dist/openclaw/tmux.d.ts +8 -0
- package/dist/openclaw/types.d.ts +42 -0
- package/dist/plugin/available-categories.d.ts +3 -0
- package/dist/plugin/build-team-idle-wake-hint-client.d.ts +12 -0
- package/dist/plugin/chat-headers.d.ts +4 -0
- package/dist/plugin/chat-message.d.ts +31 -0
- package/dist/plugin/chat-params.d.ts +33 -0
- package/dist/plugin/command-execute-before.d.ts +19 -0
- package/dist/plugin/event.d.ts +22 -0
- package/dist/plugin/hooks/create-continuation-hooks.d.ts +27 -0
- package/dist/plugin/hooks/create-core-hooks.d.ts +64 -0
- package/dist/plugin/hooks/create-session-hooks.d.ts +42 -0
- package/dist/plugin/hooks/create-skill-hooks.d.ts +17 -0
- package/dist/plugin/hooks/create-tool-guard-hooks.d.ts +31 -0
- package/dist/plugin/hooks/create-transform-hooks.d.ts +21 -0
- package/dist/plugin/messages-transform.d.ts +13 -0
- package/dist/plugin/normalize-tool-arg-schemas.d.ts +3 -0
- package/dist/plugin/recent-synthetic-idles.d.ts +7 -0
- package/dist/plugin/session-agent-resolver.d.ts +19 -0
- package/dist/plugin/session-compacting.d.ts +31 -0
- package/dist/plugin/session-status-normalizer.d.ts +8 -0
- package/dist/plugin/skill-context.d.ts +14 -0
- package/dist/plugin/system-transform.d.ts +11 -0
- package/dist/plugin/tool-definition.d.ts +9 -0
- package/dist/plugin/tool-execute-after.d.ts +20 -0
- package/dist/plugin/tool-execute-before.d.ts +12 -0
- package/dist/plugin/tool-registry.d.ts +55 -0
- package/dist/plugin/types.d.ts +19 -0
- package/dist/plugin/ultrawork-db-model-override.d.ts +11 -0
- package/dist/plugin/ultrawork-model-override.d.ts +23 -0
- package/dist/plugin/ultrawork-variant-availability.d.ts +6 -0
- package/dist/plugin/unstable-agent-babysitter.d.ts +15 -0
- package/dist/plugin-config.d.ts +5 -0
- package/dist/plugin-dispose.d.ts +10 -0
- package/dist/plugin-handlers/agent-config-handler.d.ts +11 -0
- package/dist/plugin-handlers/agent-key-remapper.d.ts +5 -0
- package/dist/plugin-handlers/agent-override-protection.d.ts +3 -0
- package/dist/plugin-handlers/agent-priority-order.d.ts +12 -0
- package/dist/plugin-handlers/category-config-resolver.d.ts +2 -0
- package/dist/plugin-handlers/command-config-handler.d.ts +10 -0
- package/dist/plugin-handlers/config-handler.d.ts +12 -0
- package/dist/plugin-handlers/hook-config-handler.d.ts +7 -0
- package/dist/plugin-handlers/index.d.ts +11 -0
- package/dist/plugin-handlers/mcp-config-handler.d.ts +10 -0
- package/dist/plugin-handlers/plan-model-inheritance.d.ts +1 -0
- package/dist/plugin-handlers/plugin-components-loader.d.ts +21 -0
- package/dist/plugin-handlers/prometheus-agent-config-builder.d.ts +24 -0
- package/dist/plugin-handlers/provider-config-handler.d.ts +6 -0
- package/dist/plugin-handlers/tool-config-handler.d.ts +6 -0
- package/dist/plugin-interface.d.ts +21 -0
- package/dist/plugin-state.d.ts +10 -0
- package/dist/shared/agent-display-names.d.ts +51 -0
- package/dist/shared/agent-ordering.d.ts +8 -0
- package/dist/shared/agent-sort-shim.d.ts +29 -0
- package/dist/shared/agent-tool-restrictions.d.ts +6 -0
- package/dist/shared/agent-variant.d.ts +9 -0
- package/dist/shared/archive-entry-validator.d.ts +6 -0
- package/dist/shared/background-output-consumption.d.ts +5 -0
- package/dist/shared/binary-downloader.d.ts +10 -0
- package/dist/shared/bun-file-shim.d.ts +8 -0
- package/dist/shared/bun-hash-shim.d.ts +1 -0
- package/dist/shared/bun-spawn-shim.d.ts +43 -0
- package/dist/shared/bun-which-shim.d.ts +1 -0
- package/dist/shared/classify-path-environment.d.ts +3 -0
- package/dist/shared/claude-config-dir.d.ts +1 -0
- package/dist/shared/command-executor/embedded-commands.d.ts +7 -0
- package/dist/shared/command-executor/execute-command.d.ts +1 -0
- package/dist/shared/command-executor/execute-hook-command.d.ts +14 -0
- package/dist/shared/command-executor/home-directory.d.ts +1 -0
- package/dist/shared/command-executor/resolve-commands-in-text.d.ts +1 -0
- package/dist/shared/command-executor/shell-path.d.ts +2 -0
- package/dist/shared/command-executor.d.ts +4 -0
- package/dist/shared/compaction-agent-config-checkpoint.d.ts +11 -0
- package/dist/shared/compaction-marker.d.ts +13 -0
- package/dist/shared/config-errors.d.ts +7 -0
- package/dist/shared/connected-providers-cache.d.ts +68 -0
- package/dist/shared/contains-path.d.ts +1 -0
- package/dist/shared/context-limit-resolver.d.ts +2 -0
- package/dist/shared/data-path.d.ts +30 -0
- package/dist/shared/deep-merge.d.ts +1 -0
- package/dist/shared/delegated-child-session-bootstrap.d.ts +25 -0
- package/dist/shared/disabled-providers.d.ts +14 -0
- package/dist/shared/disabled-tools.d.ts +2 -0
- package/dist/shared/dynamic-truncator.d.ts +29 -0
- package/dist/shared/event-session-id.d.ts +2 -0
- package/dist/shared/excluded-dirs.d.ts +1 -0
- package/dist/shared/external-plugin-detector.d.ts +40 -0
- package/dist/shared/extract-semver.d.ts +1 -0
- package/dist/shared/fallback-chain-from-models.d.ts +1 -0
- package/dist/shared/fallback-model-availability.d.ts +12 -0
- package/dist/shared/file-reference-resolver.d.ts +2 -0
- package/dist/shared/file-utils.d.ts +1 -0
- package/dist/shared/first-message-variant.d.ts +11 -0
- package/dist/shared/frontmatter.d.ts +1 -0
- package/dist/shared/fsync-skip-tracker.d.ts +12 -0
- package/dist/shared/fsync-skip-warning-formatter.d.ts +2 -0
- package/dist/shared/git-worktree/collect-git-diff-stats.d.ts +2 -0
- package/dist/shared/git-worktree/format-file-changes.d.ts +2 -0
- package/dist/shared/git-worktree/index.d.ts +7 -0
- package/dist/shared/git-worktree/parse-diff-numstat.d.ts +2 -0
- package/dist/shared/git-worktree/parse-status-porcelain-line.d.ts +6 -0
- package/dist/shared/git-worktree/parse-status-porcelain.d.ts +2 -0
- package/dist/shared/git-worktree/types.d.ts +7 -0
- package/dist/shared/hook-disabled.d.ts +2 -0
- package/dist/shared/host-skill-config.d.ts +2 -0
- package/dist/shared/i18n.d.ts +9 -0
- package/dist/shared/index.d.ts +79 -0
- package/dist/shared/internal-initiator-marker.d.ts +39 -0
- package/dist/shared/is-abort-error.d.ts +1 -0
- package/dist/shared/json-file-cache-store.d.ts +16 -0
- package/dist/shared/jsonc-parser.d.ts +1 -0
- package/dist/shared/legacy-plugin-warning.d.ts +7 -0
- package/dist/shared/legacy-workspace-migration.d.ts +5 -0
- package/dist/shared/load-opencode-plugins.d.ts +2 -0
- package/dist/shared/log-legacy-plugin-startup-warning.d.ts +10 -0
- package/dist/shared/logger.d.ts +14 -0
- package/dist/shared/merge-categories.d.ts +6 -0
- package/dist/shared/migrate-legacy-config-file.d.ts +1 -0
- package/dist/shared/migrate-legacy-plugin-entry.d.ts +1 -0
- package/dist/shared/migration/agent-category.d.ts +19 -0
- package/dist/shared/migration/agent-names.d.ts +6 -0
- package/dist/shared/migration/config-migration.d.ts +1 -0
- package/dist/shared/migration/hook-names.d.ts +6 -0
- package/dist/shared/migration/migrations-sidecar.d.ts +41 -0
- package/dist/shared/migration/model-versions.d.ts +19 -0
- package/dist/shared/migration.d.ts +5 -0
- package/dist/shared/model-availability.d.ts +28 -0
- package/dist/shared/model-capabilities/index.d.ts +6 -0
- package/dist/shared/model-capabilities-cache.d.ts +16 -0
- package/dist/shared/model-error-classifier.d.ts +5 -0
- package/dist/shared/model-format-normalizer.d.ts +1 -0
- package/dist/shared/model-normalization.d.ts +1 -0
- package/dist/shared/model-requirements.d.ts +2 -0
- package/dist/shared/model-resolution-pipeline.d.ts +5 -0
- package/dist/shared/model-resolution-types.d.ts +1 -0
- package/dist/shared/model-resolver.d.ts +8 -0
- package/dist/shared/model-sanitizer.d.ts +1 -0
- package/dist/shared/model-settings-compatibility.d.ts +2 -0
- package/dist/shared/model-string-parser.d.ts +1 -0
- package/dist/shared/model-suggestion-retry.d.ts +23 -0
- package/dist/shared/normalize-sdk-response.d.ts +4 -0
- package/dist/shared/opencode-command-dirs.d.ts +3 -0
- package/dist/shared/opencode-config-dir-types.d.ts +13 -0
- package/dist/shared/opencode-config-dir.d.ts +9 -0
- package/dist/shared/opencode-http-api.d.ts +12 -0
- package/dist/shared/opencode-message-dir.d.ts +1 -0
- package/dist/shared/opencode-provider-auth.d.ts +3 -0
- package/dist/shared/opencode-server-auth.d.ts +19 -0
- package/dist/shared/opencode-storage-detection.d.ts +2 -0
- package/dist/shared/opencode-storage-paths.d.ts +4 -0
- package/dist/shared/opencode-version.d.ts +37 -0
- package/dist/shared/parse-tools-config.d.ts +6 -0
- package/dist/shared/pattern-matcher.d.ts +3 -0
- package/dist/shared/permission-compat.d.ts +27 -0
- package/dist/shared/plugin-command-discovery.d.ts +6 -0
- package/dist/shared/plugin-entry-migrator.d.ts +3 -0
- package/dist/shared/plugin-identity.d.ts +8 -0
- package/dist/shared/port-utils.d.ts +1 -0
- package/dist/shared/posthog-activity-state.d.ts +6 -0
- package/dist/shared/posthog.d.ts +20 -0
- package/dist/shared/process-stream-reader.d.ts +3 -0
- package/dist/shared/project-discovery-dirs.d.ts +7 -0
- package/dist/shared/prompt-async-gate/message-inspection-error.d.ts +1 -0
- package/dist/shared/prompt-async-gate/pending-tool-turn.d.ts +11 -0
- package/dist/shared/prompt-async-gate/prompt-message-state.d.ts +8 -0
- package/dist/shared/prompt-async-gate/queue.d.ts +8 -0
- package/dist/shared/prompt-async-gate/reservations.d.ts +9 -0
- package/dist/shared/prompt-async-gate/session-idle-dispatch.d.ts +15 -0
- package/dist/shared/prompt-async-gate/timing.d.ts +8 -0
- package/dist/shared/prompt-async-gate/types.d.ts +121 -0
- package/dist/shared/prompt-async-gate.d.ts +7 -0
- package/dist/shared/prompt-failure-classifier.d.ts +9 -0
- package/dist/shared/prompt-timeout-context.d.ts +15 -0
- package/dist/shared/prompt-tools.d.ts +3 -0
- package/dist/shared/provider-model-id-transform.d.ts +1 -0
- package/dist/shared/question-denied-session-permission.d.ts +6 -0
- package/dist/shared/record-type-guard.d.ts +1 -0
- package/dist/shared/replace-tool-args.d.ts +1 -0
- package/dist/shared/resolve-agent-definition-paths.d.ts +1 -0
- package/dist/shared/retry-status-utils.d.ts +2 -0
- package/dist/shared/ripgrep-cli.d.ts +8 -0
- package/dist/shared/safe-create-hook.d.ts +5 -0
- package/dist/shared/session-category-registry.d.ts +8 -0
- package/dist/shared/session-cursor.d.ts +19 -0
- package/dist/shared/session-directory-resolver.d.ts +7 -0
- package/dist/shared/session-idle-settle.d.ts +12 -0
- package/dist/shared/session-injected-paths.d.ts +10 -0
- package/dist/shared/session-model-state.d.ts +7 -0
- package/dist/shared/session-prompt-params-helpers.d.ts +12 -0
- package/dist/shared/session-prompt-params-state.d.ts +10 -0
- package/dist/shared/session-route.d.ts +18 -0
- package/dist/shared/session-tools-store.d.ts +4 -0
- package/dist/shared/session-utils.d.ts +2 -0
- package/dist/shared/shell-env.d.ts +75 -0
- package/dist/shared/skill-path-resolver.d.ts +1 -0
- package/dist/shared/snake-case.d.ts +1 -0
- package/dist/shared/spawn-with-windows-hide.d.ts +15 -0
- package/dist/shared/system-directive.d.ts +45 -0
- package/dist/shared/task-system-enabled.d.ts +6 -0
- package/dist/shared/tmux/cmux-detect.d.ts +8 -0
- package/dist/shared/tmux/constants.d.ts +5 -0
- package/dist/shared/tmux/index.d.ts +5 -0
- package/dist/shared/tmux/runner.d.ts +13 -0
- package/dist/shared/tmux/tmux-utils/environment.d.ts +4 -0
- package/dist/shared/tmux/tmux-utils/index.d.ts +1 -0
- package/dist/shared/tmux/tmux-utils/layout.d.ts +18 -0
- package/dist/shared/tmux/tmux-utils/pane-activate.d.ts +1 -0
- package/dist/shared/tmux/tmux-utils/pane-close.d.ts +11 -0
- package/dist/shared/tmux/tmux-utils/pane-command.d.ts +2 -0
- package/dist/shared/tmux/tmux-utils/pane-dimensions.d.ts +5 -0
- package/dist/shared/tmux/tmux-utils/pane-replace.d.ts +13 -0
- package/dist/shared/tmux/tmux-utils/pane-spawn.d.ts +16 -0
- package/dist/shared/tmux/tmux-utils/server-health.d.ts +14 -0
- package/dist/shared/tmux/tmux-utils/session-kill.d.ts +1 -0
- package/dist/shared/tmux/tmux-utils/session-spawn.d.ts +16 -0
- package/dist/shared/tmux/tmux-utils/spawn-process.d.ts +1 -0
- package/dist/shared/tmux/tmux-utils/stale-session-sweep.d.ts +18 -0
- package/dist/shared/tmux/tmux-utils/window-spawn.d.ts +15 -0
- package/dist/shared/tmux/tmux-utils.d.ts +15 -0
- package/dist/shared/tmux/types.d.ts +4 -0
- package/dist/shared/tolerant-fsync.d.ts +5 -0
- package/dist/shared/tool-name.d.ts +1 -0
- package/dist/shared/truncate-description.d.ts +1 -0
- package/dist/shared/vision-capable-models-cache.d.ts +4 -0
- package/dist/shared/write-file-atomically.d.ts +4 -0
- package/dist/shared/zip-entry-listing/powershell-zip-entry-listing.d.ts +4 -0
- package/dist/shared/zip-entry-listing/python-zip-entry-listing.d.ts +3 -0
- package/dist/shared/zip-entry-listing/read-zip-symlink-target.d.ts +1 -0
- package/dist/shared/zip-entry-listing/tar-zip-entry-listing.d.ts +3 -0
- package/dist/shared/zip-entry-listing/zipinfo-zip-entry-listing.d.ts +4 -0
- package/dist/shared/zip-entry-listing.d.ts +4 -0
- package/dist/shared/zip-extractor.d.ts +1 -0
- package/dist/testing/create-plugin-module.d.ts +45 -0
- package/dist/testing/module-mock-lifecycle.d.ts +21 -0
- package/dist/tools/background-task/clients.d.ts +46 -0
- package/dist/tools/background-task/constants.d.ts +3 -0
- package/dist/tools/background-task/create-background-cancel.d.ts +4 -0
- package/dist/tools/background-task/create-background-output.d.ts +3 -0
- package/dist/tools/background-task/create-background-task.d.ts +3 -0
- package/dist/tools/background-task/delay.d.ts +1 -0
- package/dist/tools/background-task/full-session-format.d.ts +9 -0
- package/dist/tools/background-task/index.d.ts +3 -0
- package/dist/tools/background-task/message-dir.d.ts +1 -0
- package/dist/tools/background-task/session-messages.d.ts +3 -0
- package/dist/tools/background-task/task-result-format.d.ts +3 -0
- package/dist/tools/background-task/task-status-format.d.ts +2 -0
- package/dist/tools/background-task/time-format.d.ts +2 -0
- package/dist/tools/background-task/tools.d.ts +4 -0
- package/dist/tools/background-task/truncate-text.d.ts +1 -0
- package/dist/tools/background-task/types.d.ts +90 -0
- package/dist/tools/background-task/with-sdk-call-timeout.d.ts +7 -0
- package/dist/tools/call-omo-agent/agent-resolver.d.ts +10 -0
- package/dist/tools/call-omo-agent/background-agent-executor.d.ts +5 -0
- package/dist/tools/call-omo-agent/background-executor.d.ts +15 -0
- package/dist/tools/call-omo-agent/completion-poller.d.ts +11 -0
- package/dist/tools/call-omo-agent/constants.d.ts +2 -0
- package/dist/tools/call-omo-agent/index.d.ts +3 -0
- package/dist/tools/call-omo-agent/message-dir.d.ts +1 -0
- package/dist/tools/call-omo-agent/message-processor.d.ts +2 -0
- package/dist/tools/call-omo-agent/message-storage-directory.d.ts +1 -0
- package/dist/tools/call-omo-agent/session-creator.d.ts +16 -0
- package/dist/tools/call-omo-agent/subagent-session-creator.d.ts +10 -0
- package/dist/tools/call-omo-agent/sync-executor.d.ts +29 -0
- package/dist/tools/call-omo-agent/tool-context-with-metadata.d.ts +10 -0
- package/dist/tools/call-omo-agent/tools.d.ts +5 -0
- package/dist/tools/call-omo-agent/types.d.ts +34 -0
- package/dist/tools/delegate-task/anthropic-categories.d.ts +2 -0
- package/dist/tools/delegate-task/available-models.d.ts +2 -0
- package/dist/tools/delegate-task/background-continuation.d.ts +3 -0
- package/dist/tools/delegate-task/background-task.d.ts +4 -0
- package/dist/tools/delegate-task/builtin-categories.d.ts +5 -0
- package/dist/tools/delegate-task/builtin-category-definition.d.ts +8 -0
- package/dist/tools/delegate-task/cancel-unstable-agent-task.d.ts +2 -0
- package/dist/tools/delegate-task/categories.d.ts +18 -0
- package/dist/tools/delegate-task/category-resolver.d.ts +17 -0
- package/dist/tools/delegate-task/constants.d.ts +50 -0
- package/dist/tools/delegate-task/delegated-model-config.d.ts +3 -0
- package/dist/tools/delegate-task/error-formatting.d.ts +15 -0
- package/dist/tools/delegate-task/executor-types.d.ts +56 -0
- package/dist/tools/delegate-task/executor.d.ts +11 -0
- package/dist/tools/delegate-task/fallback-entry-resolution.d.ts +12 -0
- package/dist/tools/delegate-task/fallback-entry-settings.d.ts +7 -0
- package/dist/tools/delegate-task/google-categories.d.ts +2 -0
- package/dist/tools/delegate-task/index.d.ts +4 -0
- package/dist/tools/delegate-task/kimi-categories.d.ts +2 -0
- package/dist/tools/delegate-task/model-selection.d.ts +17 -0
- package/dist/tools/delegate-task/model-string-parser.d.ts +9 -0
- package/dist/tools/delegate-task/openai-categories.d.ts +6 -0
- package/dist/tools/delegate-task/parent-context-resolver.d.ts +4 -0
- package/dist/tools/delegate-task/prompt-builder.d.ts +7 -0
- package/dist/tools/delegate-task/resolve-call-id.d.ts +2 -0
- package/dist/tools/delegate-task/resolve-metadata-model.d.ts +9 -0
- package/dist/tools/delegate-task/sisyphus-junior-agent.d.ts +1 -0
- package/dist/tools/delegate-task/skill-resolver.d.ts +19 -0
- package/dist/tools/delegate-task/subagent-discovery.d.ts +17 -0
- package/dist/tools/delegate-task/subagent-resolver.d.ts +14 -0
- package/dist/tools/delegate-task/sync-continuation-deps.d.ts +7 -0
- package/dist/tools/delegate-task/sync-continuation.d.ts +4 -0
- package/dist/tools/delegate-task/sync-prompt-sender.d.ts +21 -0
- package/dist/tools/delegate-task/sync-result-fetcher.d.ts +10 -0
- package/dist/tools/delegate-task/sync-session-creator.d.ts +16 -0
- package/dist/tools/delegate-task/sync-session-poller.d.ts +13 -0
- package/dist/tools/delegate-task/sync-task-deps.d.ts +11 -0
- package/dist/tools/delegate-task/sync-task-fallback.d.ts +15 -0
- package/dist/tools/delegate-task/sync-task.d.ts +5 -0
- package/dist/tools/delegate-task/task-id.d.ts +2 -0
- package/dist/tools/delegate-task/time-formatter.d.ts +4 -0
- package/dist/tools/delegate-task/timing.d.ts +13 -0
- package/dist/tools/delegate-task/token-limiter.d.ts +4 -0
- package/dist/tools/delegate-task/tool-argument-preparation.d.ts +2 -0
- package/dist/tools/delegate-task/tool-description.d.ts +9 -0
- package/dist/tools/delegate-task/tools.d.ts +6 -0
- package/dist/tools/delegate-task/types.d.ts +114 -0
- package/dist/tools/delegate-task/unstable-agent-task.d.ts +3 -0
- package/dist/tools/glob/cli.d.ts +13 -0
- package/dist/tools/glob/constants.d.ts +6 -0
- package/dist/tools/glob/index.d.ts +1 -0
- package/dist/tools/glob/result-formatter.d.ts +2 -0
- package/dist/tools/glob/tools.d.ts +3 -0
- package/dist/tools/glob/types.d.ts +21 -0
- package/dist/tools/grep/cli.d.ts +6 -0
- package/dist/tools/grep/constants.d.ts +9 -0
- package/dist/tools/grep/downloader.d.ts +3 -0
- package/dist/tools/grep/index.d.ts +1 -0
- package/dist/tools/grep/result-formatter.d.ts +3 -0
- package/dist/tools/grep/tools.d.ts +3 -0
- package/dist/tools/grep/types.d.ts +39 -0
- package/dist/tools/hashline-edit/autocorrect-replacement-lines.d.ts +1 -0
- package/dist/tools/hashline-edit/constants.d.ts +1 -0
- package/dist/tools/hashline-edit/diff-utils.d.ts +1 -0
- package/dist/tools/hashline-edit/edit-deduplication.d.ts +1 -0
- package/dist/tools/hashline-edit/edit-operation-primitives.d.ts +1 -0
- package/dist/tools/hashline-edit/edit-operations.d.ts +2 -0
- package/dist/tools/hashline-edit/edit-ordering.d.ts +1 -0
- package/dist/tools/hashline-edit/edit-text-normalization.d.ts +1 -0
- package/dist/tools/hashline-edit/file-text-canonicalization.d.ts +2 -0
- package/dist/tools/hashline-edit/formatter-trigger.d.ts +38 -0
- package/dist/tools/hashline-edit/hash-computation.d.ts +2 -0
- package/dist/tools/hashline-edit/hashline-chunk-formatter.d.ts +2 -0
- package/dist/tools/hashline-edit/hashline-edit-diff.d.ts +1 -0
- package/dist/tools/hashline-edit/hashline-edit-executor.d.ts +11 -0
- package/dist/tools/hashline-edit/index.d.ts +7 -0
- package/dist/tools/hashline-edit/normalize-edits.d.ts +2 -0
- package/dist/tools/hashline-edit/tool-description.d.ts +1 -0
- package/dist/tools/hashline-edit/tools.d.ts +3 -0
- package/dist/tools/hashline-edit/types.d.ts +1 -0
- package/dist/tools/hashline-edit/validation.d.ts +2 -0
- package/dist/tools/index.d.ts +18 -0
- package/dist/tools/interactive-bash/constants.d.ts +4 -0
- package/dist/tools/interactive-bash/index.d.ts +3 -0
- package/dist/tools/interactive-bash/tmux-path-resolver.d.ts +4 -0
- package/dist/tools/interactive-bash/tools.d.ts +12 -0
- package/dist/tools/look-at/assistant-message-extractor.d.ts +8 -0
- package/dist/tools/look-at/constants.d.ts +2 -0
- package/dist/tools/look-at/image-converter.d.ts +7 -0
- package/dist/tools/look-at/index.d.ts +3 -0
- package/dist/tools/look-at/look-at-arguments.d.ts +6 -0
- package/dist/tools/look-at/look-at-input-preparer.d.ts +22 -0
- package/dist/tools/look-at/look-at-prompt.d.ts +2 -0
- package/dist/tools/look-at/look-at-session-runner.d.ts +12 -0
- package/dist/tools/look-at/mime-type-inference.d.ts +3 -0
- package/dist/tools/look-at/missing-file-error.d.ts +2 -0
- package/dist/tools/look-at/multimodal-agent-metadata.d.ts +11 -0
- package/dist/tools/look-at/multimodal-fallback-chain.d.ts +4 -0
- package/dist/tools/look-at/session-poller.d.ts +16 -0
- package/dist/tools/look-at/tools.d.ts +3 -0
- package/dist/tools/look-at/types.d.ts +5 -0
- package/dist/tools/session-manager/constants.d.ts +9 -0
- package/dist/tools/session-manager/file-storage.d.ts +8 -0
- package/dist/tools/session-manager/index.d.ts +3 -0
- package/dist/tools/session-manager/sdk-storage.d.ts +8 -0
- package/dist/tools/session-manager/sdk-unavailable.d.ts +1 -0
- package/dist/tools/session-manager/session-formatter.d.ts +11 -0
- package/dist/tools/session-manager/storage.d.ts +15 -0
- package/dist/tools/session-manager/tools.d.ts +21 -0
- package/dist/tools/session-manager/types.d.ts +89 -0
- package/dist/tools/shared/search-process-output.d.ts +7 -0
- package/dist/tools/shared/semaphore.d.ts +14 -0
- package/dist/tools/skill/constants.d.ts +3 -0
- package/dist/tools/skill/description-formatter.d.ts +3 -0
- package/dist/tools/skill/index.d.ts +3 -0
- package/dist/tools/skill/mcp-capability-formatter.d.ts +3 -0
- package/dist/tools/skill/native-skills.d.ts +12 -0
- package/dist/tools/skill/scope-priority.d.ts +4 -0
- package/dist/tools/skill/session-skill-cache.d.ts +1 -0
- package/dist/tools/skill/skill-body.d.ts +2 -0
- package/dist/tools/skill/skill-matcher.d.ts +5 -0
- package/dist/tools/skill/tools.d.ts +4 -0
- package/dist/tools/skill/types.d.ts +69 -0
- package/dist/tools/skill-mcp/constants.d.ts +3 -0
- package/dist/tools/skill-mcp/index.d.ts +3 -0
- package/dist/tools/skill-mcp/parse-skill-mcp-arguments.d.ts +1 -0
- package/dist/tools/skill-mcp/tools.d.ts +11 -0
- package/dist/tools/skill-mcp/types.d.ts +8 -0
- package/dist/tools/slashcommand/command-discovery-deps.d.ts +6 -0
- package/dist/tools/slashcommand/command-discovery.d.ts +6 -0
- package/dist/tools/slashcommand/command-output-formatter.d.ts +3 -0
- package/dist/tools/slashcommand/index.d.ts +2 -0
- package/dist/tools/slashcommand/types.d.ts +18 -0
- package/dist/tools/task/index.d.ts +7 -0
- package/dist/tools/task/task-create.d.ts +4 -0
- package/dist/tools/task/task-get.d.ts +3 -0
- package/dist/tools/task/task-list.d.ts +3 -0
- package/dist/tools/task/task-update.d.ts +4 -0
- package/dist/tools/task/todo-sync.d.ts +16 -0
- package/dist/tools/task/types.d.ts +97 -0
- package/package.json +160 -0
- package/packages/ast-grep-mcp/dist/cli.js +1090 -0
- package/packages/lsp-tools-mcp/dist/cli.d.ts +2 -0
- package/packages/lsp-tools-mcp/dist/cli.js +30 -0
- package/packages/lsp-tools-mcp/dist/lsp/cleanup-errors.d.ts +1 -0
- package/packages/lsp-tools-mcp/dist/lsp/cleanup-errors.js +6 -0
- package/packages/lsp-tools-mcp/dist/lsp/client-wrapper.d.ts +13 -0
- package/packages/lsp-tools-mcp/dist/lsp/client-wrapper.js +109 -0
- package/packages/lsp-tools-mcp/dist/lsp/client.d.ts +20 -0
- package/packages/lsp-tools-mcp/dist/lsp/client.js +129 -0
- package/packages/lsp-tools-mcp/dist/lsp/config-loader.d.ts +16 -0
- package/packages/lsp-tools-mcp/dist/lsp/config-loader.js +155 -0
- package/packages/lsp-tools-mcp/dist/lsp/connection.d.ts +4 -0
- package/packages/lsp-tools-mcp/dist/lsp/connection.js +66 -0
- package/packages/lsp-tools-mcp/dist/lsp/constants.d.ts +10 -0
- package/packages/lsp-tools-mcp/dist/lsp/constants.js +10 -0
- package/packages/lsp-tools-mcp/dist/lsp/directory-diagnostics.d.ts +3 -0
- package/packages/lsp-tools-mcp/dist/lsp/directory-diagnostics.js +123 -0
- package/packages/lsp-tools-mcp/dist/lsp/errors.d.ts +35 -0
- package/packages/lsp-tools-mcp/dist/lsp/errors.js +56 -0
- package/packages/lsp-tools-mcp/dist/lsp/formatters.d.ts +12 -0
- package/packages/lsp-tools-mcp/dist/lsp/formatters.js +106 -0
- package/packages/lsp-tools-mcp/dist/lsp/infer-extension.d.ts +1 -0
- package/packages/lsp-tools-mcp/dist/lsp/infer-extension.js +58 -0
- package/packages/lsp-tools-mcp/dist/lsp/json-rpc-connection.d.ts +36 -0
- package/packages/lsp-tools-mcp/dist/lsp/json-rpc-connection.js +247 -0
- package/packages/lsp-tools-mcp/dist/lsp/language-mappings.d.ts +4 -0
- package/packages/lsp-tools-mcp/dist/lsp/language-mappings.js +169 -0
- package/packages/lsp-tools-mcp/dist/lsp/manager.d.ts +46 -0
- package/packages/lsp-tools-mcp/dist/lsp/manager.js +291 -0
- package/packages/lsp-tools-mcp/dist/lsp/process-signal-cleanup.d.ts +1 -0
- package/packages/lsp-tools-mcp/dist/lsp/process-signal-cleanup.js +17 -0
- package/packages/lsp-tools-mcp/dist/lsp/process.d.ts +25 -0
- package/packages/lsp-tools-mcp/dist/lsp/process.js +153 -0
- package/packages/lsp-tools-mcp/dist/lsp/server-definitions.d.ts +4 -0
- package/packages/lsp-tools-mcp/dist/lsp/server-definitions.js +158 -0
- package/packages/lsp-tools-mcp/dist/lsp/server-installation.d.ts +2 -0
- package/packages/lsp-tools-mcp/dist/lsp/server-installation.js +50 -0
- package/packages/lsp-tools-mcp/dist/lsp/server-resolution.d.ts +11 -0
- package/packages/lsp-tools-mcp/dist/lsp/server-resolution.js +86 -0
- package/packages/lsp-tools-mcp/dist/lsp/transport.d.ts +25 -0
- package/packages/lsp-tools-mcp/dist/lsp/transport.js +243 -0
- package/packages/lsp-tools-mcp/dist/lsp/types.d.ts +124 -0
- package/packages/lsp-tools-mcp/dist/lsp/types.js +1 -0
- package/packages/lsp-tools-mcp/dist/lsp/utils.d.ts +3 -0
- package/packages/lsp-tools-mcp/dist/lsp/utils.js +35 -0
- package/packages/lsp-tools-mcp/dist/lsp/workspace-edit.d.ts +8 -0
- package/packages/lsp-tools-mcp/dist/lsp/workspace-edit.js +113 -0
- package/packages/lsp-tools-mcp/dist/mcp-lifecycle-log.d.ts +4 -0
- package/packages/lsp-tools-mcp/dist/mcp-lifecycle-log.js +32 -0
- package/packages/lsp-tools-mcp/dist/mcp-stdio-transport.d.ts +13 -0
- package/packages/lsp-tools-mcp/dist/mcp-stdio-transport.js +111 -0
- package/packages/lsp-tools-mcp/dist/mcp.d.ts +37 -0
- package/packages/lsp-tools-mcp/dist/mcp.js +167 -0
- package/packages/lsp-tools-mcp/dist/tools.d.ts +90 -0
- package/packages/lsp-tools-mcp/dist/tools.js +460 -0
- package/packages/omo-codex/marketplace.json +17 -0
- package/packages/omo-codex/plugin/.codex-plugin/plugin.json +35 -0
- package/packages/omo-codex/plugin/.mcp.json +14 -0
- package/packages/omo-codex/plugin/README.md +13 -0
- package/packages/omo-codex/plugin/components/comment-checker/.gitattributes +13 -0
- package/packages/omo-codex/plugin/components/comment-checker/.github/CODEOWNERS +12 -0
- package/packages/omo-codex/plugin/components/comment-checker/.github/ISSUE_TEMPLATE/bug.yml +40 -0
- package/packages/omo-codex/plugin/components/comment-checker/.github/ISSUE_TEMPLATE/feature.yml +27 -0
- package/packages/omo-codex/plugin/components/comment-checker/.github/branch-ruleset.json +45 -0
- package/packages/omo-codex/plugin/components/comment-checker/.github/dependabot.yml +16 -0
- package/packages/omo-codex/plugin/components/comment-checker/.github/pull_request_template.md +19 -0
- package/packages/omo-codex/plugin/components/comment-checker/.github/workflows/ci.yml +47 -0
- package/packages/omo-codex/plugin/components/comment-checker/.github/workflows/publish.yml +51 -0
- package/packages/omo-codex/plugin/components/comment-checker/AGENTS.md +35 -0
- package/packages/omo-codex/plugin/components/comment-checker/CHANGELOG.md +33 -0
- package/packages/omo-codex/plugin/components/comment-checker/LICENSE +21 -0
- package/packages/omo-codex/plugin/components/comment-checker/NOTICE +6 -0
- package/packages/omo-codex/plugin/components/comment-checker/README.md +87 -0
- package/packages/omo-codex/plugin/components/comment-checker/biome.json +48 -0
- package/packages/omo-codex/plugin/components/comment-checker/dist/cli.d.ts +2 -0
- package/packages/omo-codex/plugin/components/comment-checker/dist/cli.js +10 -0
- package/packages/omo-codex/plugin/components/comment-checker/dist/codex-hook.d.ts +22 -0
- package/packages/omo-codex/plugin/components/comment-checker/dist/codex-hook.js +165 -0
- package/packages/omo-codex/plugin/components/comment-checker/dist/core.d.ts +52 -0
- package/packages/omo-codex/plugin/components/comment-checker/dist/core.js +294 -0
- package/packages/omo-codex/plugin/components/comment-checker/dist/runner.d.ts +26 -0
- package/packages/omo-codex/plugin/components/comment-checker/dist/runner.js +144 -0
- package/packages/omo-codex/plugin/components/comment-checker/hooks/hooks.json +17 -0
- package/packages/omo-codex/plugin/components/comment-checker/package.json +57 -0
- package/packages/omo-codex/plugin/components/comment-checker/skills/comment-checker/SKILL.md +16 -0
- package/packages/omo-codex/plugin/components/comment-checker/src/cli.ts +12 -0
- package/packages/omo-codex/plugin/components/comment-checker/src/codex-hook.ts +205 -0
- package/packages/omo-codex/plugin/components/comment-checker/src/core.ts +361 -0
- package/packages/omo-codex/plugin/components/comment-checker/src/runner.ts +195 -0
- package/packages/omo-codex/plugin/components/comment-checker/test/codex-hook-newline.test.ts +52 -0
- package/packages/omo-codex/plugin/components/comment-checker/test/codex-hook.test.ts +368 -0
- package/packages/omo-codex/plugin/components/comment-checker/test/fixtures/post-tool-use.json +15 -0
- package/packages/omo-codex/plugin/components/comment-checker/test/package-smoke.test.ts +93 -0
- package/packages/omo-codex/plugin/components/comment-checker/test/runner.test.ts +66 -0
- package/packages/omo-codex/plugin/components/comment-checker/tsconfig.build.json +12 -0
- package/packages/omo-codex/plugin/components/comment-checker/tsconfig.json +27 -0
- package/packages/omo-codex/plugin/components/comment-checker/vitest.config.ts +9 -0
- package/packages/omo-codex/plugin/components/lsp/.gitattributes +13 -0
- package/packages/omo-codex/plugin/components/lsp/.github/CODEOWNERS +1 -0
- package/packages/omo-codex/plugin/components/lsp/.github/ISSUE_TEMPLATE/bug.yml +26 -0
- package/packages/omo-codex/plugin/components/lsp/.github/ISSUE_TEMPLATE/feature.yml +19 -0
- package/packages/omo-codex/plugin/components/lsp/.github/branch-ruleset.json +45 -0
- package/packages/omo-codex/plugin/components/lsp/.github/dependabot.yml +11 -0
- package/packages/omo-codex/plugin/components/lsp/.github/pull_request_template.md +11 -0
- package/packages/omo-codex/plugin/components/lsp/.github/workflows/ci.yml +56 -0
- package/packages/omo-codex/plugin/components/lsp/.github/workflows/publish.yml +60 -0
- package/packages/omo-codex/plugin/components/lsp/.mcp.json +9 -0
- package/packages/omo-codex/plugin/components/lsp/AGENTS.md +25 -0
- package/packages/omo-codex/plugin/components/lsp/CHANGELOG.md +25 -0
- package/packages/omo-codex/plugin/components/lsp/LICENSE +21 -0
- package/packages/omo-codex/plugin/components/lsp/NOTICE +3 -0
- package/packages/omo-codex/plugin/components/lsp/README.md +148 -0
- package/packages/omo-codex/plugin/components/lsp/biome.json +48 -0
- package/packages/omo-codex/plugin/components/lsp/dist/cli.d.ts +2 -0
- package/packages/omo-codex/plugin/components/lsp/dist/cli.js +38 -0
- package/packages/omo-codex/plugin/components/lsp/dist/codex-hook.d.ts +11 -0
- package/packages/omo-codex/plugin/components/lsp/dist/codex-hook.js +247 -0
- package/packages/omo-codex/plugin/components/lsp/hooks/hooks.json +17 -0
- package/packages/omo-codex/plugin/components/lsp/package.json +64 -0
- package/packages/omo-codex/plugin/components/lsp/scripts/build-lsp-tools.mjs +42 -0
- package/packages/omo-codex/plugin/components/lsp/scripts/build-lsp-tools.test.mjs +86 -0
- package/packages/omo-codex/plugin/components/lsp/scripts/clean-dist.mjs +5 -0
- package/packages/omo-codex/plugin/components/lsp/scripts/test.mjs +8 -0
- package/packages/omo-codex/plugin/components/lsp/skills/lsp/SKILL.md +35 -0
- package/packages/omo-codex/plugin/components/lsp/src/cli.ts +44 -0
- package/packages/omo-codex/plugin/components/lsp/src/codex-hook.ts +285 -0
- package/packages/omo-codex/plugin/components/lsp/test/codex-hook.test.ts +358 -0
- package/packages/omo-codex/plugin/components/lsp/test/fixtures/broken.py +1 -0
- package/packages/omo-codex/plugin/components/lsp/test/fixtures/post-tool-use.json +15 -0
- package/packages/omo-codex/plugin/components/lsp/test/package-smoke.test.ts +149 -0
- package/packages/omo-codex/plugin/components/lsp/tsconfig.build.json +12 -0
- package/packages/omo-codex/plugin/components/lsp/tsconfig.json +27 -0
- package/packages/omo-codex/plugin/components/lsp/vitest.config.ts +9 -0
- package/packages/omo-codex/plugin/components/rules/.codex-plugin/plugin.json +3 -0
- package/packages/omo-codex/plugin/components/rules/.gitattributes +13 -0
- package/packages/omo-codex/plugin/components/rules/.github/CODEOWNERS +12 -0
- package/packages/omo-codex/plugin/components/rules/.github/ISSUE_TEMPLATE/bug.yml +49 -0
- package/packages/omo-codex/plugin/components/rules/.github/ISSUE_TEMPLATE/feature.yml +27 -0
- package/packages/omo-codex/plugin/components/rules/.github/branch-ruleset.json +45 -0
- package/packages/omo-codex/plugin/components/rules/.github/dependabot.yml +16 -0
- package/packages/omo-codex/plugin/components/rules/.github/pull_request_template.md +20 -0
- package/packages/omo-codex/plugin/components/rules/.github/workflows/ci.yml +47 -0
- package/packages/omo-codex/plugin/components/rules/.github/workflows/publish.yml +51 -0
- package/packages/omo-codex/plugin/components/rules/AGENTS.md +34 -0
- package/packages/omo-codex/plugin/components/rules/CHANGELOG.md +19 -0
- package/packages/omo-codex/plugin/components/rules/LICENSE +21 -0
- package/packages/omo-codex/plugin/components/rules/NOTICE +15 -0
- package/packages/omo-codex/plugin/components/rules/README.md +124 -0
- package/packages/omo-codex/plugin/components/rules/biome.json +48 -0
- package/packages/omo-codex/plugin/components/rules/bundled-rules/hephaestus.md +209 -0
- package/packages/omo-codex/plugin/components/rules/dist/cli.d.ts +2 -0
- package/packages/omo-codex/plugin/components/rules/dist/cli.js +118 -0
- package/packages/omo-codex/plugin/components/rules/dist/codex-hook-options.d.ts +4 -0
- package/packages/omo-codex/plugin/components/rules/dist/codex-hook-options.js +1 -0
- package/packages/omo-codex/plugin/components/rules/dist/codex-hook.d.ts +47 -0
- package/packages/omo-codex/plugin/components/rules/dist/codex-hook.js +125 -0
- package/packages/omo-codex/plugin/components/rules/dist/config.d.ts +2 -0
- package/packages/omo-codex/plugin/components/rules/dist/config.js +93 -0
- package/packages/omo-codex/plugin/components/rules/dist/context-pressure.d.ts +2 -0
- package/packages/omo-codex/plugin/components/rules/dist/context-pressure.js +26 -0
- package/packages/omo-codex/plugin/components/rules/dist/debug-log.d.ts +8 -0
- package/packages/omo-codex/plugin/components/rules/dist/debug-log.js +36 -0
- package/packages/omo-codex/plugin/components/rules/dist/dynamic-target-fingerprints.d.ts +7 -0
- package/packages/omo-codex/plugin/components/rules/dist/dynamic-target-fingerprints.js +72 -0
- package/packages/omo-codex/plugin/components/rules/dist/hook-output.d.ts +2 -0
- package/packages/omo-codex/plugin/components/rules/dist/hook-output.js +14 -0
- package/packages/omo-codex/plugin/components/rules/dist/path-utils.d.ts +4 -0
- package/packages/omo-codex/plugin/components/rules/dist/path-utils.js +24 -0
- package/packages/omo-codex/plugin/components/rules/dist/persistent-cache.d.ts +13 -0
- package/packages/omo-codex/plugin/components/rules/dist/persistent-cache.js +169 -0
- package/packages/omo-codex/plugin/components/rules/dist/post-compact-budget.d.ts +6 -0
- package/packages/omo-codex/plugin/components/rules/dist/post-compact-budget.js +77 -0
- package/packages/omo-codex/plugin/components/rules/dist/post-compact-claim.d.ts +4 -0
- package/packages/omo-codex/plugin/components/rules/dist/post-compact-claim.js +6 -0
- package/packages/omo-codex/plugin/components/rules/dist/post-compact-state.d.ts +13 -0
- package/packages/omo-codex/plugin/components/rules/dist/post-compact-state.js +29 -0
- package/packages/omo-codex/plugin/components/rules/dist/rules/cache.d.ts +9 -0
- package/packages/omo-codex/plugin/components/rules/dist/rules/cache.js +51 -0
- package/packages/omo-codex/plugin/components/rules/dist/rules/constants.d.ts +58 -0
- package/packages/omo-codex/plugin/components/rules/dist/rules/constants.js +98 -0
- package/packages/omo-codex/plugin/components/rules/dist/rules/engine.d.ts +37 -0
- package/packages/omo-codex/plugin/components/rules/dist/rules/engine.js +354 -0
- package/packages/omo-codex/plugin/components/rules/dist/rules/errors.d.ts +6 -0
- package/packages/omo-codex/plugin/components/rules/dist/rules/errors.js +12 -0
- package/packages/omo-codex/plugin/components/rules/dist/rules/finder-cache.d.ts +14 -0
- package/packages/omo-codex/plugin/components/rules/dist/rules/finder-cache.js +51 -0
- package/packages/omo-codex/plugin/components/rules/dist/rules/finder-paths.d.ts +6 -0
- package/packages/omo-codex/plugin/components/rules/dist/rules/finder-paths.js +33 -0
- package/packages/omo-codex/plugin/components/rules/dist/rules/finder-sources.d.ts +5 -0
- package/packages/omo-codex/plugin/components/rules/dist/rules/finder-sources.js +45 -0
- package/packages/omo-codex/plugin/components/rules/dist/rules/finder.d.ts +26 -0
- package/packages/omo-codex/plugin/components/rules/dist/rules/finder.js +137 -0
- package/packages/omo-codex/plugin/components/rules/dist/rules/formatter.d.ts +7 -0
- package/packages/omo-codex/plugin/components/rules/dist/rules/formatter.js +89 -0
- package/packages/omo-codex/plugin/components/rules/dist/rules/matcher.d.ts +18 -0
- package/packages/omo-codex/plugin/components/rules/dist/rules/matcher.js +93 -0
- package/packages/omo-codex/plugin/components/rules/dist/rules/ordering.d.ts +3 -0
- package/packages/omo-codex/plugin/components/rules/dist/rules/ordering.js +27 -0
- package/packages/omo-codex/plugin/components/rules/dist/rules/parser.d.ts +3 -0
- package/packages/omo-codex/plugin/components/rules/dist/rules/parser.js +288 -0
- package/packages/omo-codex/plugin/components/rules/dist/rules/plugin-root.d.ts +1 -0
- package/packages/omo-codex/plugin/components/rules/dist/rules/plugin-root.js +48 -0
- package/packages/omo-codex/plugin/components/rules/dist/rules/project-root.d.ts +1 -0
- package/packages/omo-codex/plugin/components/rules/dist/rules/project-root.js +23 -0
- package/packages/omo-codex/plugin/components/rules/dist/rules/scanner.d.ts +14 -0
- package/packages/omo-codex/plugin/components/rules/dist/rules/scanner.js +111 -0
- package/packages/omo-codex/plugin/components/rules/dist/rules/truncator.d.ts +17 -0
- package/packages/omo-codex/plugin/components/rules/dist/rules/truncator.js +45 -0
- package/packages/omo-codex/plugin/components/rules/dist/rules/types.d.ts +122 -0
- package/packages/omo-codex/plugin/components/rules/dist/rules/types.js +8 -0
- package/packages/omo-codex/plugin/components/rules/dist/rules-engine-factory.d.ts +5 -0
- package/packages/omo-codex/plugin/components/rules/dist/rules-engine-factory.js +19 -0
- package/packages/omo-codex/plugin/components/rules/dist/session-state-lock.d.ts +3 -0
- package/packages/omo-codex/plugin/components/rules/dist/session-state-lock.js +41 -0
- package/packages/omo-codex/plugin/components/rules/dist/static-injection.d.ts +3 -0
- package/packages/omo-codex/plugin/components/rules/dist/static-injection.js +35 -0
- package/packages/omo-codex/plugin/components/rules/dist/tool-paths.d.ts +6 -0
- package/packages/omo-codex/plugin/components/rules/dist/tool-paths.js +168 -0
- package/packages/omo-codex/plugin/components/rules/dist/transcript-rule-filter.d.ts +3 -0
- package/packages/omo-codex/plugin/components/rules/dist/transcript-rule-filter.js +31 -0
- package/packages/omo-codex/plugin/components/rules/dist/transcript-search.d.ts +4 -0
- package/packages/omo-codex/plugin/components/rules/dist/transcript-search.js +91 -0
- package/packages/omo-codex/plugin/components/rules/hooks/hooks.json +54 -0
- package/packages/omo-codex/plugin/components/rules/package.json +62 -0
- package/packages/omo-codex/plugin/components/rules/scripts/bench-codex-rules.mjs +268 -0
- package/packages/omo-codex/plugin/components/rules/skills/rules/SKILL.md +34 -0
- package/packages/omo-codex/plugin/components/rules/src/cli.ts +143 -0
- package/packages/omo-codex/plugin/components/rules/src/codex-hook-options.ts +4 -0
- package/packages/omo-codex/plugin/components/rules/src/codex-hook.ts +238 -0
- package/packages/omo-codex/plugin/components/rules/src/config.ts +107 -0
- package/packages/omo-codex/plugin/components/rules/src/context-pressure.ts +26 -0
- package/packages/omo-codex/plugin/components/rules/src/debug-log.ts +65 -0
- package/packages/omo-codex/plugin/components/rules/src/dynamic-target-fingerprints.ts +98 -0
- package/packages/omo-codex/plugin/components/rules/src/hook-output.ts +19 -0
- package/packages/omo-codex/plugin/components/rules/src/path-utils.ts +29 -0
- package/packages/omo-codex/plugin/components/rules/src/persistent-cache.ts +234 -0
- package/packages/omo-codex/plugin/components/rules/src/post-compact-budget.ts +104 -0
- package/packages/omo-codex/plugin/components/rules/src/post-compact-claim.ts +13 -0
- package/packages/omo-codex/plugin/components/rules/src/post-compact-state.ts +45 -0
- package/packages/omo-codex/plugin/components/rules/src/rules/cache.ts +64 -0
- package/packages/omo-codex/plugin/components/rules/src/rules/constants.ts +115 -0
- package/packages/omo-codex/plugin/components/rules/src/rules/engine.ts +535 -0
- package/packages/omo-codex/plugin/components/rules/src/rules/errors.ts +13 -0
- package/packages/omo-codex/plugin/components/rules/src/rules/finder-cache.ts +73 -0
- package/packages/omo-codex/plugin/components/rules/src/rules/finder-paths.ts +47 -0
- package/packages/omo-codex/plugin/components/rules/src/rules/finder-sources.ts +50 -0
- package/packages/omo-codex/plugin/components/rules/src/rules/finder.ts +207 -0
- package/packages/omo-codex/plugin/components/rules/src/rules/formatter.ts +123 -0
- package/packages/omo-codex/plugin/components/rules/src/rules/matcher.ts +142 -0
- package/packages/omo-codex/plugin/components/rules/src/rules/ordering.ts +33 -0
- package/packages/omo-codex/plugin/components/rules/src/rules/parser.ts +326 -0
- package/packages/omo-codex/plugin/components/rules/src/rules/plugin-root.ts +55 -0
- package/packages/omo-codex/plugin/components/rules/src/rules/project-root.ts +30 -0
- package/packages/omo-codex/plugin/components/rules/src/rules/scanner.ts +162 -0
- package/packages/omo-codex/plugin/components/rules/src/rules/truncator.ts +67 -0
- package/packages/omo-codex/plugin/components/rules/src/rules/types.ts +141 -0
- package/packages/omo-codex/plugin/components/rules/src/rules-engine-factory.ts +24 -0
- package/packages/omo-codex/plugin/components/rules/src/session-state-lock.ts +47 -0
- package/packages/omo-codex/plugin/components/rules/src/static-injection.ts +56 -0
- package/packages/omo-codex/plugin/components/rules/src/tool-paths.ts +192 -0
- package/packages/omo-codex/plugin/components/rules/src/transcript-rule-filter.ts +44 -0
- package/packages/omo-codex/plugin/components/rules/src/transcript-search.ts +108 -0
- package/packages/omo-codex/plugin/components/rules/test/bundled-rules-priority.test.ts +107 -0
- package/packages/omo-codex/plugin/components/rules/test/bundled-rules.test.ts +268 -0
- package/packages/omo-codex/plugin/components/rules/test/codex-hook-context-pressure.test.ts +243 -0
- package/packages/omo-codex/plugin/components/rules/test/codex-hook-performance.test.ts +99 -0
- package/packages/omo-codex/plugin/components/rules/test/codex-hook-post-compact-budget.test.ts +132 -0
- package/packages/omo-codex/plugin/components/rules/test/codex-hook-post-compact-context.test.ts +156 -0
- package/packages/omo-codex/plugin/components/rules/test/codex-hook-post-compact-dedup.test.ts +299 -0
- package/packages/omo-codex/plugin/components/rules/test/codex-hook-post-compact-lock.test.ts +46 -0
- package/packages/omo-codex/plugin/components/rules/test/codex-hook-post-compact-process.test.ts +83 -0
- package/packages/omo-codex/plugin/components/rules/test/codex-hook.test.ts +667 -0
- package/packages/omo-codex/plugin/components/rules/test/engine.test.ts +192 -0
- package/packages/omo-codex/plugin/components/rules/test/finder.test.ts +102 -0
- package/packages/omo-codex/plugin/components/rules/test/formatter.test.ts +168 -0
- package/packages/omo-codex/plugin/components/rules/test/hook-output.test.ts +42 -0
- package/packages/omo-codex/plugin/components/rules/test/matcher.test.ts +206 -0
- package/packages/omo-codex/plugin/components/rules/test/package-smoke.test.ts +151 -0
- package/packages/omo-codex/plugin/components/rules/test/persistent-cache.test.ts +63 -0
- package/packages/omo-codex/plugin/components/rules/test/post-compact-budget.test.ts +172 -0
- package/packages/omo-codex/plugin/components/rules/test/post-compact-test-fixture.ts +196 -0
- package/packages/omo-codex/plugin/components/rules/test/scanner.test.ts +63 -0
- package/packages/omo-codex/plugin/components/rules/test/tool-paths.test.ts +198 -0
- package/packages/omo-codex/plugin/components/rules/tsconfig.build.json +12 -0
- package/packages/omo-codex/plugin/components/rules/tsconfig.json +27 -0
- package/packages/omo-codex/plugin/components/rules/vitest.config.ts +8 -0
- package/packages/omo-codex/plugin/components/start-work-continuation/.gitattributes +13 -0
- package/packages/omo-codex/plugin/components/start-work-continuation/AGENTS.md +43 -0
- package/packages/omo-codex/plugin/components/start-work-continuation/CHANGELOG.md +5 -0
- package/packages/omo-codex/plugin/components/start-work-continuation/LICENSE +21 -0
- package/packages/omo-codex/plugin/components/start-work-continuation/NOTICE +5 -0
- package/packages/omo-codex/plugin/components/start-work-continuation/README.md +55 -0
- package/packages/omo-codex/plugin/components/start-work-continuation/biome.json +48 -0
- package/packages/omo-codex/plugin/components/start-work-continuation/directive.md +51 -0
- package/packages/omo-codex/plugin/components/start-work-continuation/dist/boulder-reader.d.ts +16 -0
- package/packages/omo-codex/plugin/components/start-work-continuation/dist/boulder-reader.js +146 -0
- package/packages/omo-codex/plugin/components/start-work-continuation/dist/cli.d.ts +2 -0
- package/packages/omo-codex/plugin/components/start-work-continuation/dist/cli.js +49 -0
- package/packages/omo-codex/plugin/components/start-work-continuation/dist/codex-hook.d.ts +2 -0
- package/packages/omo-codex/plugin/components/start-work-continuation/dist/codex-hook.js +58 -0
- package/packages/omo-codex/plugin/components/start-work-continuation/dist/directive.d.ts +1 -0
- package/packages/omo-codex/plugin/components/start-work-continuation/dist/directive.js +2 -0
- package/packages/omo-codex/plugin/components/start-work-continuation/dist/index.d.ts +5 -0
- package/packages/omo-codex/plugin/components/start-work-continuation/dist/index.js +3 -0
- package/packages/omo-codex/plugin/components/start-work-continuation/dist/types.d.ts +20 -0
- package/packages/omo-codex/plugin/components/start-work-continuation/dist/types.js +1 -0
- package/packages/omo-codex/plugin/components/start-work-continuation/hooks/hooks.json +28 -0
- package/packages/omo-codex/plugin/components/start-work-continuation/package-lock.json +1409 -0
- package/packages/omo-codex/plugin/components/start-work-continuation/package.json +53 -0
- package/packages/omo-codex/plugin/components/start-work-continuation/src/boulder-reader.ts +167 -0
- package/packages/omo-codex/plugin/components/start-work-continuation/src/cli.ts +52 -0
- package/packages/omo-codex/plugin/components/start-work-continuation/src/codex-hook.ts +66 -0
- package/packages/omo-codex/plugin/components/start-work-continuation/src/directive.ts +6 -0
- package/packages/omo-codex/plugin/components/start-work-continuation/src/index.ts +5 -0
- package/packages/omo-codex/plugin/components/start-work-continuation/src/types.ts +23 -0
- package/packages/omo-codex/plugin/components/start-work-continuation/test/boulder-reader.test.ts +63 -0
- package/packages/omo-codex/plugin/components/start-work-continuation/test/cli.test.ts +124 -0
- package/packages/omo-codex/plugin/components/start-work-continuation/test/codex-hook.test.ts +160 -0
- package/packages/omo-codex/plugin/components/start-work-continuation/test/fixtures/boulder-completed.json +19 -0
- package/packages/omo-codex/plugin/components/start-work-continuation/test/fixtures/boulder-mixed-platforms.json +27 -0
- package/packages/omo-codex/plugin/components/start-work-continuation/test/fixtures/boulder-single-codex-work.json +19 -0
- package/packages/omo-codex/plugin/components/start-work-continuation/test/fixtures/plan-all-done.md +5 -0
- package/packages/omo-codex/plugin/components/start-work-continuation/test/fixtures/plan-with-nested-checkboxes.md +11 -0
- package/packages/omo-codex/plugin/components/start-work-continuation/test/fixtures/plan-with-unchecked.md +6 -0
- package/packages/omo-codex/plugin/components/start-work-continuation/test/fixtures/plans/complete-plan.md +8 -0
- package/packages/omo-codex/plugin/components/start-work-continuation/test/fixtures/plans/incomplete-plan.md +13 -0
- package/packages/omo-codex/plugin/components/start-work-continuation/test/fixtures/plans/mixed-sections-plan.md +13 -0
- package/packages/omo-codex/plugin/components/start-work-continuation/test/fixtures/plans/no-todos-plan.md +7 -0
- package/packages/omo-codex/plugin/components/start-work-continuation/tsconfig.build.json +12 -0
- package/packages/omo-codex/plugin/components/start-work-continuation/tsconfig.json +27 -0
- package/packages/omo-codex/plugin/components/start-work-continuation/vitest.config.ts +10 -0
- package/packages/omo-codex/plugin/components/telemetry/AGENTS.md +37 -0
- package/packages/omo-codex/plugin/components/telemetry/README.md +102 -0
- package/packages/omo-codex/plugin/components/telemetry/biome.json +48 -0
- package/packages/omo-codex/plugin/components/telemetry/dist/atomic-write.d.ts +1 -0
- package/packages/omo-codex/plugin/components/telemetry/dist/atomic-write.js +18 -0
- package/packages/omo-codex/plugin/components/telemetry/dist/cli.d.ts +2 -0
- package/packages/omo-codex/plugin/components/telemetry/dist/cli.js +62 -0
- package/packages/omo-codex/plugin/components/telemetry/dist/codex-hook.d.ts +15 -0
- package/packages/omo-codex/plugin/components/telemetry/dist/codex-hook.js +24 -0
- package/packages/omo-codex/plugin/components/telemetry/dist/data-path.d.ts +10 -0
- package/packages/omo-codex/plugin/components/telemetry/dist/data-path.js +35 -0
- package/packages/omo-codex/plugin/components/telemetry/dist/env-flags.d.ts +4 -0
- package/packages/omo-codex/plugin/components/telemetry/dist/env-flags.js +31 -0
- package/packages/omo-codex/plugin/components/telemetry/dist/posthog-activity-state.d.ts +8 -0
- package/packages/omo-codex/plugin/components/telemetry/dist/posthog-activity-state.js +57 -0
- package/packages/omo-codex/plugin/components/telemetry/dist/posthog.d.ts +21 -0
- package/packages/omo-codex/plugin/components/telemetry/dist/posthog.js +128 -0
- package/packages/omo-codex/plugin/components/telemetry/dist/product-identity.d.ts +8 -0
- package/packages/omo-codex/plugin/components/telemetry/dist/product-identity.js +29 -0
- package/packages/omo-codex/plugin/components/telemetry/hooks/hooks.json +16 -0
- package/packages/omo-codex/plugin/components/telemetry/package.json +56 -0
- package/packages/omo-codex/plugin/components/telemetry/src/atomic-write.ts +22 -0
- package/packages/omo-codex/plugin/components/telemetry/src/cli.ts +69 -0
- package/packages/omo-codex/plugin/components/telemetry/src/codex-hook.ts +49 -0
- package/packages/omo-codex/plugin/components/telemetry/src/data-path.ts +45 -0
- package/packages/omo-codex/plugin/components/telemetry/src/env-flags.ts +43 -0
- package/packages/omo-codex/plugin/components/telemetry/src/posthog-activity-state.ts +81 -0
- package/packages/omo-codex/plugin/components/telemetry/src/posthog.ts +165 -0
- package/packages/omo-codex/plugin/components/telemetry/src/product-identity.ts +35 -0
- package/packages/omo-codex/plugin/components/telemetry/test/codex-hook.test.ts +270 -0
- package/packages/omo-codex/plugin/components/telemetry/tsconfig.build.json +12 -0
- package/packages/omo-codex/plugin/components/telemetry/tsconfig.json +27 -0
- package/packages/omo-codex/plugin/components/telemetry/vitest.config.ts +8 -0
- package/packages/omo-codex/plugin/components/ultrawork/AGENTS.md +41 -0
- package/packages/omo-codex/plugin/components/ultrawork/CHANGELOG.md +25 -0
- package/packages/omo-codex/plugin/components/ultrawork/LICENSE +21 -0
- package/packages/omo-codex/plugin/components/ultrawork/NOTICE +5 -0
- package/packages/omo-codex/plugin/components/ultrawork/README.md +60 -0
- package/packages/omo-codex/plugin/components/ultrawork/agents/codex-ultrawork-reviewer.toml +17 -0
- package/packages/omo-codex/plugin/components/ultrawork/agents/explorer.toml +82 -0
- package/packages/omo-codex/plugin/components/ultrawork/agents/librarian.toml +221 -0
- package/packages/omo-codex/plugin/components/ultrawork/agents/metis.toml +65 -0
- package/packages/omo-codex/plugin/components/ultrawork/agents/momus.toml +69 -0
- package/packages/omo-codex/plugin/components/ultrawork/agents/plan.toml +163 -0
- package/packages/omo-codex/plugin/components/ultrawork/biome.json +48 -0
- package/packages/omo-codex/plugin/components/ultrawork/directive.md +264 -0
- package/packages/omo-codex/plugin/components/ultrawork/dist/cli.d.ts +2 -0
- package/packages/omo-codex/plugin/components/ultrawork/dist/cli.js +48 -0
- package/packages/omo-codex/plugin/components/ultrawork/dist/codex-hook.d.ts +7 -0
- package/packages/omo-codex/plugin/components/ultrawork/dist/codex-hook.js +66 -0
- package/packages/omo-codex/plugin/components/ultrawork/dist/directive.d.ts +1 -0
- package/packages/omo-codex/plugin/components/ultrawork/dist/directive.js +2 -0
- package/packages/omo-codex/plugin/components/ultrawork/hooks/hooks.json +16 -0
- package/packages/omo-codex/plugin/components/ultrawork/package.json +54 -0
- package/packages/omo-codex/plugin/components/ultrawork/src/cli.ts +50 -0
- package/packages/omo-codex/plugin/components/ultrawork/src/codex-hook.ts +84 -0
- package/packages/omo-codex/plugin/components/ultrawork/src/directive.ts +3 -0
- package/packages/omo-codex/plugin/components/ultrawork/test/codex-hook.test.ts +252 -0
- package/packages/omo-codex/plugin/components/ultrawork/test/package-smoke.test.ts +78 -0
- package/packages/omo-codex/plugin/components/ultrawork/tsconfig.build.json +12 -0
- package/packages/omo-codex/plugin/components/ultrawork/tsconfig.json +27 -0
- package/packages/omo-codex/plugin/components/ulw-loop/.gitattributes +13 -0
- package/packages/omo-codex/plugin/components/ulw-loop/AGENTS.md +48 -0
- package/packages/omo-codex/plugin/components/ulw-loop/CHANGELOG.md +7 -0
- package/packages/omo-codex/plugin/components/ulw-loop/LICENSE +21 -0
- package/packages/omo-codex/plugin/components/ulw-loop/NOTICE +6 -0
- package/packages/omo-codex/plugin/components/ulw-loop/README.md +74 -0
- package/packages/omo-codex/plugin/components/ulw-loop/biome.json +48 -0
- package/packages/omo-codex/plugin/components/ulw-loop/dist/checkpoint.d.ts +16 -0
- package/packages/omo-codex/plugin/components/ulw-loop/dist/checkpoint.js +186 -0
- package/packages/omo-codex/plugin/components/ulw-loop/dist/cli-arg-parser.d.ts +17 -0
- package/packages/omo-codex/plugin/components/ulw-loop/dist/cli-arg-parser.js +97 -0
- package/packages/omo-codex/plugin/components/ulw-loop/dist/cli-commands.d.ts +1 -0
- package/packages/omo-codex/plugin/components/ulw-loop/dist/cli-commands.js +175 -0
- package/packages/omo-codex/plugin/components/ulw-loop/dist/cli-output.d.ts +6 -0
- package/packages/omo-codex/plugin/components/ulw-loop/dist/cli-output.js +55 -0
- package/packages/omo-codex/plugin/components/ulw-loop/dist/cli-steering.d.ts +12 -0
- package/packages/omo-codex/plugin/components/ulw-loop/dist/cli-steering.js +145 -0
- package/packages/omo-codex/plugin/components/ulw-loop/dist/cli.d.ts +2 -0
- package/packages/omo-codex/plugin/components/ulw-loop/dist/cli.js +37 -0
- package/packages/omo-codex/plugin/components/ulw-loop/dist/codex-goal-instruction.d.ts +14 -0
- package/packages/omo-codex/plugin/components/ulw-loop/dist/codex-goal-instruction.js +100 -0
- package/packages/omo-codex/plugin/components/ulw-loop/dist/codex-goal-snapshot.d.ts +26 -0
- package/packages/omo-codex/plugin/components/ulw-loop/dist/codex-goal-snapshot.js +97 -0
- package/packages/omo-codex/plugin/components/ulw-loop/dist/codex-hook.d.ts +28 -0
- package/packages/omo-codex/plugin/components/ulw-loop/dist/codex-hook.js +145 -0
- package/packages/omo-codex/plugin/components/ulw-loop/dist/evidence.d.ts +31 -0
- package/packages/omo-codex/plugin/components/ulw-loop/dist/evidence.js +119 -0
- package/packages/omo-codex/plugin/components/ulw-loop/dist/goal-status.d.ts +12 -0
- package/packages/omo-codex/plugin/components/ulw-loop/dist/goal-status.js +69 -0
- package/packages/omo-codex/plugin/components/ulw-loop/dist/paths.d.ts +16 -0
- package/packages/omo-codex/plugin/components/ulw-loop/dist/paths.js +59 -0
- package/packages/omo-codex/plugin/components/ulw-loop/dist/plan-crud.d.ts +48 -0
- package/packages/omo-codex/plugin/components/ulw-loop/dist/plan-crud.js +108 -0
- package/packages/omo-codex/plugin/components/ulw-loop/dist/plan-io.d.ts +8 -0
- package/packages/omo-codex/plugin/components/ulw-loop/dist/plan-io.js +89 -0
- package/packages/omo-codex/plugin/components/ulw-loop/dist/quality-gate.d.ts +6 -0
- package/packages/omo-codex/plugin/components/ulw-loop/dist/quality-gate.js +94 -0
- package/packages/omo-codex/plugin/components/ulw-loop/dist/review-blockers.d.ts +16 -0
- package/packages/omo-codex/plugin/components/ulw-loop/dist/review-blockers.js +70 -0
- package/packages/omo-codex/plugin/components/ulw-loop/dist/steering.d.ts +6 -0
- package/packages/omo-codex/plugin/components/ulw-loop/dist/steering.js +292 -0
- package/packages/omo-codex/plugin/components/ulw-loop/dist/types.d.ts +213 -0
- package/packages/omo-codex/plugin/components/ulw-loop/dist/types.js +54 -0
- package/packages/omo-codex/plugin/components/ulw-loop/hooks/hooks.json +29 -0
- package/packages/omo-codex/plugin/components/ulw-loop/package.json +55 -0
- package/packages/omo-codex/plugin/components/ulw-loop/skills/ulw-loop/.gitkeep +0 -0
- package/packages/omo-codex/plugin/components/ulw-loop/skills/ulw-loop/SKILL.md +222 -0
- package/packages/omo-codex/plugin/components/ulw-loop/skills/ulw-loop/agents/openai.yaml +6 -0
- package/packages/omo-codex/plugin/components/ulw-loop/src/.gitkeep +0 -0
- package/packages/omo-codex/plugin/components/ulw-loop/src/checkpoint.ts +155 -0
- package/packages/omo-codex/plugin/components/ulw-loop/src/cli-arg-parser.ts +95 -0
- package/packages/omo-codex/plugin/components/ulw-loop/src/cli-commands.ts +156 -0
- package/packages/omo-codex/plugin/components/ulw-loop/src/cli-output.ts +63 -0
- package/packages/omo-codex/plugin/components/ulw-loop/src/cli-steering.ts +94 -0
- package/packages/omo-codex/plugin/components/ulw-loop/src/cli.ts +40 -0
- package/packages/omo-codex/plugin/components/ulw-loop/src/codex-goal-instruction.ts +129 -0
- package/packages/omo-codex/plugin/components/ulw-loop/src/codex-goal-snapshot.ts +139 -0
- package/packages/omo-codex/plugin/components/ulw-loop/src/codex-hook.ts +177 -0
- package/packages/omo-codex/plugin/components/ulw-loop/src/evidence.ts +122 -0
- package/packages/omo-codex/plugin/components/ulw-loop/src/goal-status.ts +88 -0
- package/packages/omo-codex/plugin/components/ulw-loop/src/paths.ts +73 -0
- package/packages/omo-codex/plugin/components/ulw-loop/src/plan-crud.ts +113 -0
- package/packages/omo-codex/plugin/components/ulw-loop/src/plan-io.ts +124 -0
- package/packages/omo-codex/plugin/components/ulw-loop/src/quality-gate.ts +102 -0
- package/packages/omo-codex/plugin/components/ulw-loop/src/review-blockers.ts +81 -0
- package/packages/omo-codex/plugin/components/ulw-loop/src/steering.ts +270 -0
- package/packages/omo-codex/plugin/components/ulw-loop/src/types.ts +277 -0
- package/packages/omo-codex/plugin/components/ulw-loop/test/checkpoint.test.ts +213 -0
- package/packages/omo-codex/plugin/components/ulw-loop/test/cli-commands.test.ts +375 -0
- package/packages/omo-codex/plugin/components/ulw-loop/test/cli-helpers.test.ts +250 -0
- package/packages/omo-codex/plugin/components/ulw-loop/test/cli-steering.test.ts +407 -0
- package/packages/omo-codex/plugin/components/ulw-loop/test/codex-goal-instruction.test.ts +169 -0
- package/packages/omo-codex/plugin/components/ulw-loop/test/codex-goal-snapshot.test.ts +156 -0
- package/packages/omo-codex/plugin/components/ulw-loop/test/codex-hook.test.ts +275 -0
- package/packages/omo-codex/plugin/components/ulw-loop/test/evidence-criteria-gate.test.ts +100 -0
- package/packages/omo-codex/plugin/components/ulw-loop/test/evidence.test.ts +263 -0
- package/packages/omo-codex/plugin/components/ulw-loop/test/fixtures/.gitkeep +0 -0
- package/packages/omo-codex/plugin/components/ulw-loop/test/fixtures/codex-goal-snapshot.json +1 -0
- package/packages/omo-codex/plugin/components/ulw-loop/test/fixtures/sample-brief.md +5 -0
- package/packages/omo-codex/plugin/components/ulw-loop/test/fixtures/sample-plan.json +108 -0
- package/packages/omo-codex/plugin/components/ulw-loop/test/fixtures/sample-quality-gate.json +18 -0
- package/packages/omo-codex/plugin/components/ulw-loop/test/fixtures/steering-proposal.json +8 -0
- package/packages/omo-codex/plugin/components/ulw-loop/test/fixtures/user-prompt-submit.json +10 -0
- package/packages/omo-codex/plugin/components/ulw-loop/test/goal-status.test.ts +327 -0
- package/packages/omo-codex/plugin/components/ulw-loop/test/package-smoke.test.ts +164 -0
- package/packages/omo-codex/plugin/components/ulw-loop/test/paths.test.ts +62 -0
- package/packages/omo-codex/plugin/components/ulw-loop/test/plan-crud.test.ts +256 -0
- package/packages/omo-codex/plugin/components/ulw-loop/test/plan-io.test.ts +239 -0
- package/packages/omo-codex/plugin/components/ulw-loop/test/quality-gate.test.ts +203 -0
- package/packages/omo-codex/plugin/components/ulw-loop/test/review-blockers.test.ts +180 -0
- package/packages/omo-codex/plugin/components/ulw-loop/test/steering.test.ts +353 -0
- package/packages/omo-codex/plugin/components/ulw-loop/test/types.test.ts +79 -0
- package/packages/omo-codex/plugin/components/ulw-loop/tsconfig.build.json +12 -0
- package/packages/omo-codex/plugin/components/ulw-loop/tsconfig.json +27 -0
- package/packages/omo-codex/plugin/components/ulw-loop/vitest.config.ts +10 -0
- package/packages/omo-codex/plugin/hooks/hooks.json +138 -0
- package/packages/omo-codex/plugin/package-lock.json +1765 -0
- package/packages/omo-codex/plugin/package.json +26 -0
- package/packages/omo-codex/plugin/scripts/build-components.mjs +23 -0
- package/packages/omo-codex/plugin/scripts/hook-status-message.mjs +46 -0
- package/packages/omo-codex/plugin/scripts/sync-skills.mjs +75 -0
- package/packages/omo-codex/plugin/skills/comment-checker/SKILL.md +16 -0
- package/packages/omo-codex/plugin/skills/debugging/SKILL.md +116 -0
- package/packages/omo-codex/plugin/skills/debugging/references/methodology/00-setup.md +108 -0
- package/packages/omo-codex/plugin/skills/debugging/references/methodology/02-investigate.md +130 -0
- package/packages/omo-codex/plugin/skills/debugging/references/methodology/04-oracle-triple.md +136 -0
- package/packages/omo-codex/plugin/skills/debugging/references/methodology/05-escalate.md +69 -0
- package/packages/omo-codex/plugin/skills/debugging/references/methodology/06-fix.md +116 -0
- package/packages/omo-codex/plugin/skills/debugging/references/methodology/08-qa.md +94 -0
- package/packages/omo-codex/plugin/skills/debugging/references/methodology/09-cleanup.md +164 -0
- package/packages/omo-codex/plugin/skills/debugging/references/methodology/partial-runtime-evidence.md +229 -0
- package/packages/omo-codex/plugin/skills/debugging/references/runtimes/bundled-js-binary.md +415 -0
- package/packages/omo-codex/plugin/skills/debugging/references/runtimes/go.md +252 -0
- package/packages/omo-codex/plugin/skills/debugging/references/runtimes/native-binary.md +484 -0
- package/packages/omo-codex/plugin/skills/debugging/references/runtimes/node.md +260 -0
- package/packages/omo-codex/plugin/skills/debugging/references/runtimes/python.md +248 -0
- package/packages/omo-codex/plugin/skills/debugging/references/runtimes/rust.md +234 -0
- package/packages/omo-codex/plugin/skills/debugging/references/tools/ghidra.md +212 -0
- package/packages/omo-codex/plugin/skills/debugging/references/tools/playwright-cli.md +194 -0
- package/packages/omo-codex/plugin/skills/debugging/references/tools/pwndbg.md +263 -0
- package/packages/omo-codex/plugin/skills/debugging/references/tools/pwntools.md +265 -0
- package/packages/omo-codex/plugin/skills/frontend-ui-ux/SKILL.md +77 -0
- package/packages/omo-codex/plugin/skills/init-deep/SKILL.md +325 -0
- package/packages/omo-codex/plugin/skills/lsp/SKILL.md +35 -0
- package/packages/omo-codex/plugin/skills/programming/SKILL.md +463 -0
- package/packages/omo-codex/plugin/skills/programming/references/go/README.md +90 -0
- package/packages/omo-codex/plugin/skills/programming/references/go/backend-stack.md +641 -0
- package/packages/omo-codex/plugin/skills/programming/references/go/bootstrap.md +328 -0
- package/packages/omo-codex/plugin/skills/programming/references/go/bubbletea-v2.md +360 -0
- package/packages/omo-codex/plugin/skills/programming/references/go/cobra-stack.md +468 -0
- package/packages/omo-codex/plugin/skills/programming/references/go/concurrency.md +362 -0
- package/packages/omo-codex/plugin/skills/programming/references/go/data-modeling.md +329 -0
- package/packages/omo-codex/plugin/skills/programming/references/go/error-handling.md +359 -0
- package/packages/omo-codex/plugin/skills/programming/references/go/golangci-strict.md +236 -0
- package/packages/omo-codex/plugin/skills/programming/references/go/grpc-connect.md +375 -0
- package/packages/omo-codex/plugin/skills/programming/references/go/libraries.md +337 -0
- package/packages/omo-codex/plugin/skills/programming/references/go/one-liners.md +202 -0
- package/packages/omo-codex/plugin/skills/programming/references/go/sqlc-pgx.md +471 -0
- package/packages/omo-codex/plugin/skills/programming/references/go/testing.md +467 -0
- package/packages/omo-codex/plugin/skills/programming/references/go/type-patterns.md +298 -0
- package/packages/omo-codex/plugin/skills/programming/references/python/README.md +314 -0
- package/packages/omo-codex/plugin/skills/programming/references/python/async-anyio.md +442 -0
- package/packages/omo-codex/plugin/skills/programming/references/python/data-modeling.md +233 -0
- package/packages/omo-codex/plugin/skills/programming/references/python/data-processing.md +133 -0
- package/packages/omo-codex/plugin/skills/programming/references/python/error-handling.md +218 -0
- package/packages/omo-codex/plugin/skills/programming/references/python/fastapi-stack.md +316 -0
- package/packages/omo-codex/plugin/skills/programming/references/python/httpx2-optimization.md +360 -0
- package/packages/omo-codex/plugin/skills/programming/references/python/libraries.md +307 -0
- package/packages/omo-codex/plugin/skills/programming/references/python/one-liners.md +268 -0
- package/packages/omo-codex/plugin/skills/programming/references/python/orjson-stack.md +378 -0
- package/packages/omo-codex/plugin/skills/programming/references/python/pydantic-ai.md +285 -0
- package/packages/omo-codex/plugin/skills/programming/references/python/pyproject-strict.md +232 -0
- package/packages/omo-codex/plugin/skills/programming/references/python/textual-tui.md +201 -0
- package/packages/omo-codex/plugin/skills/programming/references/python/type-patterns.md +176 -0
- package/packages/omo-codex/plugin/skills/programming/references/rust/README.md +317 -0
- package/packages/omo-codex/plugin/skills/programming/references/rust/async-tokio.md +299 -0
- package/packages/omo-codex/plugin/skills/programming/references/rust/axum-stack.md +467 -0
- package/packages/omo-codex/plugin/skills/programming/references/rust/cargo-strict.md +317 -0
- package/packages/omo-codex/plugin/skills/programming/references/rust/clap-stack.md +409 -0
- package/packages/omo-codex/plugin/skills/programming/references/rust/concurrency.md +375 -0
- package/packages/omo-codex/plugin/skills/programming/references/rust/libraries.md +439 -0
- package/packages/omo-codex/plugin/skills/programming/references/rust/one-liners.md +291 -0
- package/packages/omo-codex/plugin/skills/programming/references/rust/proptest-insta.md +429 -0
- package/packages/omo-codex/plugin/skills/programming/references/rust/type-state.md +354 -0
- package/packages/omo-codex/plugin/skills/programming/references/rust/unsafe-discipline.md +250 -0
- package/packages/omo-codex/plugin/skills/programming/references/rust/zero-cost-safety.md +527 -0
- package/packages/omo-codex/plugin/skills/programming/references/rust-ub/README.md +289 -0
- package/packages/omo-codex/plugin/skills/programming/references/rust-ub/miri-sanitizers-loom.md +411 -0
- package/packages/omo-codex/plugin/skills/programming/references/rust-ub/ub-taxonomy.md +269 -0
- package/packages/omo-codex/plugin/skills/programming/references/typescript/README.md +195 -0
- package/packages/omo-codex/plugin/skills/programming/references/typescript/backend-hono.md +672 -0
- package/packages/omo-codex/plugin/skills/programming/references/typescript/bootstrap.md +199 -0
- package/packages/omo-codex/plugin/skills/programming/references/typescript/data-modeling.md +202 -0
- package/packages/omo-codex/plugin/skills/programming/references/typescript/error-handling.md +169 -0
- package/packages/omo-codex/plugin/skills/programming/references/typescript/tsconfig-strict.md +152 -0
- package/packages/omo-codex/plugin/skills/programming/references/typescript/type-patterns.md +196 -0
- package/packages/omo-codex/plugin/skills/programming/scripts/go/check-no-excuse-rules.sh +173 -0
- package/packages/omo-codex/plugin/skills/programming/scripts/go/new-project.py +138 -0
- package/packages/omo-codex/plugin/skills/programming/scripts/go/templates/.editorconfig +13 -0
- package/packages/omo-codex/plugin/skills/programming/scripts/go/templates/.golangci.yml +95 -0
- package/packages/omo-codex/plugin/skills/programming/scripts/go/templates/AGENTS.md.tmpl +24 -0
- package/packages/omo-codex/plugin/skills/programming/scripts/go/templates/README.md.tmpl +12 -0
- package/packages/omo-codex/plugin/skills/programming/scripts/go/templates/Taskfile.yml +40 -0
- package/packages/omo-codex/plugin/skills/programming/scripts/go/templates/ci.yml +37 -0
- package/packages/omo-codex/plugin/skills/programming/scripts/go/templates/config.go +24 -0
- package/packages/omo-codex/plugin/skills/programming/scripts/go/templates/gitignore +15 -0
- package/packages/omo-codex/plugin/skills/programming/scripts/go/templates/main.go.tmpl +22 -0
- package/packages/omo-codex/plugin/skills/programming/scripts/go/templates/run.go +15 -0
- package/packages/omo-codex/plugin/skills/programming/scripts/python/check-no-excuse-rules.py +687 -0
- package/packages/omo-codex/plugin/skills/programming/scripts/python/new-project.py +172 -0
- package/packages/omo-codex/plugin/skills/programming/scripts/python/new-script.py +116 -0
- package/packages/omo-codex/plugin/skills/programming/scripts/rust/check-no-excuse-rules.py +296 -0
- package/packages/omo-codex/plugin/skills/programming/scripts/rust/check-no-excuse-rules.sh +158 -0
- package/packages/omo-codex/plugin/skills/programming/scripts/rust/new-project.py +175 -0
- package/packages/omo-codex/plugin/skills/programming/scripts/typescript/check-no-excuse-rules.ts +282 -0
- package/packages/omo-codex/plugin/skills/programming/scripts/typescript/new-project.ts +177 -0
- package/packages/omo-codex/plugin/skills/refactor/SKILL.md +779 -0
- package/packages/omo-codex/plugin/skills/remove-ai-slops/SKILL.md +333 -0
- package/packages/omo-codex/plugin/skills/review-work/SKILL.md +549 -0
- package/packages/omo-codex/plugin/skills/rules/SKILL.md +34 -0
- package/packages/omo-codex/plugin/skills/start-work/SKILL.md +129 -0
- package/packages/omo-codex/plugin/skills/ulw-loop/.gitkeep +0 -0
- package/packages/omo-codex/plugin/skills/ulw-loop/SKILL.md +222 -0
- package/packages/omo-codex/plugin/skills/ulw-loop/agents/openai.yaml +6 -0
- package/packages/omo-codex/plugin/skills/ulw-plan/SKILL.md +399 -0
- package/packages/omo-codex/plugin/test/aggregate.test.mjs +329 -0
- package/packages/omo-codex/plugin/test/component-bin-names.test.mjs +66 -0
- package/packages/omo-codex/plugin/test/hook-status-message.test.mjs +149 -0
- package/packages/omo-codex/plugin/test/sync-skills.test.mjs +199 -0
- package/packages/omo-codex/scripts/install/agents.mjs +84 -0
- package/packages/omo-codex/scripts/install/cache.mjs +245 -0
- package/packages/omo-codex/scripts/install/command-shim.mjs +1 -0
- package/packages/omo-codex/scripts/install/config.mjs +229 -0
- package/packages/omo-codex/scripts/install/hook-trust.mjs +84 -0
- package/packages/omo-codex/scripts/install/legacy-bins.mjs +57 -0
- package/packages/omo-codex/scripts/install/marketplace.mjs +104 -0
- package/packages/omo-codex/scripts/install/mcp-runtime-cache.mjs +77 -0
- package/packages/omo-codex/scripts/install/multi-agent-v2-config.mjs +32 -0
- package/packages/omo-codex/scripts/install/process.mjs +19 -0
- package/packages/omo-codex/scripts/install/snapshot.mjs +54 -0
- package/packages/omo-codex/scripts/install/toml-editor.mjs +47 -0
- package/packages/omo-codex/scripts/install/utils.mjs +15 -0
- package/packages/omo-codex/scripts/install-agent-links.test.mjs +104 -0
- package/packages/omo-codex/scripts/install-bin-links.test.mjs +123 -0
- package/packages/omo-codex/scripts/install-cache-copy.test.mjs +30 -0
- package/packages/omo-codex/scripts/install-config.test.mjs +118 -0
- package/packages/omo-codex/scripts/install-local.mjs +192 -0
- package/packages/omo-codex/scripts/install-local.test.mjs +378 -0
- package/packages/omo-codex/scripts/install-mcp-runtime.test.mjs +173 -0
- package/packages/omo-codex/scripts/install-test-fixtures.mjs +58 -0
- package/packages/omo-codex/scripts/sync-telemetry-component.mjs +111 -0
- package/packages/omo-codex/scripts/sync-telemetry-component.test.mjs +70 -0
- package/packages/shared-skills/index.mjs +5 -0
- package/packages/shared-skills/package.json +14 -0
- package/packages/shared-skills/skills/debugging/SKILL.md +116 -0
- package/packages/shared-skills/skills/debugging/references/methodology/00-setup.md +108 -0
- package/packages/shared-skills/skills/debugging/references/methodology/02-investigate.md +130 -0
- package/packages/shared-skills/skills/debugging/references/methodology/04-oracle-triple.md +136 -0
- package/packages/shared-skills/skills/debugging/references/methodology/05-escalate.md +69 -0
- package/packages/shared-skills/skills/debugging/references/methodology/06-fix.md +116 -0
- package/packages/shared-skills/skills/debugging/references/methodology/08-qa.md +94 -0
- package/packages/shared-skills/skills/debugging/references/methodology/09-cleanup.md +164 -0
- package/packages/shared-skills/skills/debugging/references/methodology/partial-runtime-evidence.md +229 -0
- package/packages/shared-skills/skills/debugging/references/runtimes/bundled-js-binary.md +415 -0
- package/packages/shared-skills/skills/debugging/references/runtimes/go.md +252 -0
- package/packages/shared-skills/skills/debugging/references/runtimes/native-binary.md +484 -0
- package/packages/shared-skills/skills/debugging/references/runtimes/node.md +260 -0
- package/packages/shared-skills/skills/debugging/references/runtimes/python.md +248 -0
- package/packages/shared-skills/skills/debugging/references/runtimes/rust.md +234 -0
- package/packages/shared-skills/skills/debugging/references/tools/ghidra.md +212 -0
- package/packages/shared-skills/skills/debugging/references/tools/playwright-cli.md +194 -0
- package/packages/shared-skills/skills/debugging/references/tools/pwndbg.md +263 -0
- package/packages/shared-skills/skills/debugging/references/tools/pwntools.md +265 -0
- package/packages/shared-skills/skills/frontend-ui-ux/SKILL.md +77 -0
- package/packages/shared-skills/skills/init-deep/SKILL.md +309 -0
- package/packages/shared-skills/skills/programming/SKILL.md +463 -0
- package/packages/shared-skills/skills/programming/references/go/README.md +90 -0
- package/packages/shared-skills/skills/programming/references/go/backend-stack.md +641 -0
- package/packages/shared-skills/skills/programming/references/go/bootstrap.md +328 -0
- package/packages/shared-skills/skills/programming/references/go/bubbletea-v2.md +360 -0
- package/packages/shared-skills/skills/programming/references/go/cobra-stack.md +468 -0
- package/packages/shared-skills/skills/programming/references/go/concurrency.md +362 -0
- package/packages/shared-skills/skills/programming/references/go/data-modeling.md +329 -0
- package/packages/shared-skills/skills/programming/references/go/error-handling.md +359 -0
- package/packages/shared-skills/skills/programming/references/go/golangci-strict.md +236 -0
- package/packages/shared-skills/skills/programming/references/go/grpc-connect.md +375 -0
- package/packages/shared-skills/skills/programming/references/go/libraries.md +337 -0
- package/packages/shared-skills/skills/programming/references/go/one-liners.md +202 -0
- package/packages/shared-skills/skills/programming/references/go/sqlc-pgx.md +471 -0
- package/packages/shared-skills/skills/programming/references/go/testing.md +467 -0
- package/packages/shared-skills/skills/programming/references/go/type-patterns.md +298 -0
- package/packages/shared-skills/skills/programming/references/python/README.md +314 -0
- package/packages/shared-skills/skills/programming/references/python/async-anyio.md +442 -0
- package/packages/shared-skills/skills/programming/references/python/data-modeling.md +233 -0
- package/packages/shared-skills/skills/programming/references/python/data-processing.md +133 -0
- package/packages/shared-skills/skills/programming/references/python/error-handling.md +218 -0
- package/packages/shared-skills/skills/programming/references/python/fastapi-stack.md +316 -0
- package/packages/shared-skills/skills/programming/references/python/httpx2-optimization.md +360 -0
- package/packages/shared-skills/skills/programming/references/python/libraries.md +307 -0
- package/packages/shared-skills/skills/programming/references/python/one-liners.md +268 -0
- package/packages/shared-skills/skills/programming/references/python/orjson-stack.md +378 -0
- package/packages/shared-skills/skills/programming/references/python/pydantic-ai.md +285 -0
- package/packages/shared-skills/skills/programming/references/python/pyproject-strict.md +232 -0
- package/packages/shared-skills/skills/programming/references/python/textual-tui.md +201 -0
- package/packages/shared-skills/skills/programming/references/python/type-patterns.md +176 -0
- package/packages/shared-skills/skills/programming/references/rust/README.md +317 -0
- package/packages/shared-skills/skills/programming/references/rust/async-tokio.md +299 -0
- package/packages/shared-skills/skills/programming/references/rust/axum-stack.md +467 -0
- package/packages/shared-skills/skills/programming/references/rust/cargo-strict.md +317 -0
- package/packages/shared-skills/skills/programming/references/rust/clap-stack.md +409 -0
- package/packages/shared-skills/skills/programming/references/rust/concurrency.md +375 -0
- package/packages/shared-skills/skills/programming/references/rust/libraries.md +439 -0
- package/packages/shared-skills/skills/programming/references/rust/one-liners.md +291 -0
- package/packages/shared-skills/skills/programming/references/rust/proptest-insta.md +429 -0
- package/packages/shared-skills/skills/programming/references/rust/type-state.md +354 -0
- package/packages/shared-skills/skills/programming/references/rust/unsafe-discipline.md +250 -0
- package/packages/shared-skills/skills/programming/references/rust/zero-cost-safety.md +527 -0
- package/packages/shared-skills/skills/programming/references/rust-ub/README.md +289 -0
- package/packages/shared-skills/skills/programming/references/rust-ub/miri-sanitizers-loom.md +411 -0
- package/packages/shared-skills/skills/programming/references/rust-ub/ub-taxonomy.md +269 -0
- package/packages/shared-skills/skills/programming/references/typescript/README.md +195 -0
- package/packages/shared-skills/skills/programming/references/typescript/backend-hono.md +672 -0
- package/packages/shared-skills/skills/programming/references/typescript/bootstrap.md +199 -0
- package/packages/shared-skills/skills/programming/references/typescript/data-modeling.md +202 -0
- package/packages/shared-skills/skills/programming/references/typescript/error-handling.md +169 -0
- package/packages/shared-skills/skills/programming/references/typescript/tsconfig-strict.md +152 -0
- package/packages/shared-skills/skills/programming/references/typescript/type-patterns.md +196 -0
- package/packages/shared-skills/skills/programming/scripts/go/check-no-excuse-rules.sh +173 -0
- package/packages/shared-skills/skills/programming/scripts/go/new-project.py +138 -0
- package/packages/shared-skills/skills/programming/scripts/go/templates/.editorconfig +13 -0
- package/packages/shared-skills/skills/programming/scripts/go/templates/.golangci.yml +95 -0
- package/packages/shared-skills/skills/programming/scripts/go/templates/AGENTS.md.tmpl +24 -0
- package/packages/shared-skills/skills/programming/scripts/go/templates/README.md.tmpl +12 -0
- package/packages/shared-skills/skills/programming/scripts/go/templates/Taskfile.yml +40 -0
- package/packages/shared-skills/skills/programming/scripts/go/templates/ci.yml +37 -0
- package/packages/shared-skills/skills/programming/scripts/go/templates/config.go +24 -0
- package/packages/shared-skills/skills/programming/scripts/go/templates/gitignore +15 -0
- package/packages/shared-skills/skills/programming/scripts/go/templates/main.go.tmpl +22 -0
- package/packages/shared-skills/skills/programming/scripts/go/templates/run.go +15 -0
- package/packages/shared-skills/skills/programming/scripts/python/check-no-excuse-rules.py +687 -0
- package/packages/shared-skills/skills/programming/scripts/python/new-project.py +172 -0
- package/packages/shared-skills/skills/programming/scripts/python/new-script.py +116 -0
- package/packages/shared-skills/skills/programming/scripts/rust/check-no-excuse-rules.py +296 -0
- package/packages/shared-skills/skills/programming/scripts/rust/check-no-excuse-rules.sh +158 -0
- package/packages/shared-skills/skills/programming/scripts/rust/new-project.py +175 -0
- package/packages/shared-skills/skills/programming/scripts/typescript/check-no-excuse-rules.ts +282 -0
- package/packages/shared-skills/skills/programming/scripts/typescript/new-project.ts +177 -0
- package/packages/shared-skills/skills/refactor/SKILL.md +763 -0
- package/packages/shared-skills/skills/remove-ai-slops/SKILL.md +317 -0
- package/packages/shared-skills/skills/review-work/SKILL.md +549 -0
- package/packages/shared-skills/skills/start-work/SKILL.md +129 -0
- package/packages/shared-skills/skills/ulw-plan/SKILL.md +383 -0
- package/postinstall.mjs +137 -0
|
@@ -0,0 +1,362 @@
|
|
|
1
|
+
# Concurrency
|
|
2
|
+
|
|
3
|
+
Goroutines, context, errgroup, channels, locks, and the discipline that keeps them from leaking. Go makes concurrency *easy to start* and *easy to get wrong*. This document is the boring rule set.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## The four non-negotiables
|
|
8
|
+
|
|
9
|
+
1. **`ctx context.Context` is the first parameter of every public function that does I/O or can be cancelled.**
|
|
10
|
+
2. **No goroutine without a shutdown path.** Every `go` keyword must answer "how does this stop?".
|
|
11
|
+
3. **`-race` on every test run.** The `Taskfile.yml` and CI both enforce it.
|
|
12
|
+
4. **`goleak` in `TestMain`** for every package that spawns goroutines. Catches leaks the race detector cannot.
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## `context.Context` — the cancellation backbone
|
|
17
|
+
|
|
18
|
+
```go
|
|
19
|
+
// GOOD — ctx as first param, propagated through
|
|
20
|
+
func (s *UserService) Create(ctx context.Context, email Email) (User, error) {
|
|
21
|
+
user, err := s.store.Insert(ctx, email)
|
|
22
|
+
if err != nil {
|
|
23
|
+
return User{}, fmt.Errorf("insert: %w", err)
|
|
24
|
+
}
|
|
25
|
+
if err := s.notifier.Welcome(ctx, user); err != nil {
|
|
26
|
+
return User{}, fmt.Errorf("notify: %w", err)
|
|
27
|
+
}
|
|
28
|
+
return user, nil
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
// BAD — creates a fresh ctx, breaks request cancellation
|
|
32
|
+
func (s *UserService) Create(email Email) (User, error) {
|
|
33
|
+
ctx := context.Background() // ← contextcheck linter rejects this
|
|
34
|
+
// ...
|
|
35
|
+
}
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
The `contextcheck` linter (enabled in `golangci-strict.md`) refuses any function that has `ctx context.Context` available but uses `context.Background()` instead.
|
|
39
|
+
|
|
40
|
+
### `context.Value` — use sparingly
|
|
41
|
+
|
|
42
|
+
```go
|
|
43
|
+
// Typed key — never use a bare string
|
|
44
|
+
type ctxKey struct{ name string }
|
|
45
|
+
var requestIDKey = ctxKey{"request_id"}
|
|
46
|
+
|
|
47
|
+
func WithRequestID(ctx context.Context, id string) context.Context {
|
|
48
|
+
return context.WithValue(ctx, requestIDKey, id)
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
func RequestID(ctx context.Context) string {
|
|
52
|
+
v, _ := ctx.Value(requestIDKey).(string)
|
|
53
|
+
return v
|
|
54
|
+
}
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
**Rules**:
|
|
58
|
+
- Keys are unexported struct types, not strings. Prevents collisions across packages.
|
|
59
|
+
- `context.Value` is for *request-scoped metadata* (request ID, auth subject, trace span), NEVER for application-scoped dependencies.
|
|
60
|
+
- Dependencies (loggers, DB pools, config) go in your service struct, not in `context.Value`.
|
|
61
|
+
|
|
62
|
+
### `WithTimeout` / `WithCancel` — always pair with `defer cancel()`
|
|
63
|
+
|
|
64
|
+
```go
|
|
65
|
+
ctx, cancel := context.WithTimeout(ctx, 5*time.Second)
|
|
66
|
+
defer cancel() // ← MUST be deferred. fatcontext linter catches misses.
|
|
67
|
+
|
|
68
|
+
if err := slow(ctx); err != nil { ... }
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
Forgetting `defer cancel()` leaks a context goroutine until the parent expires — the `lostcancel` vet check catches it.
|
|
72
|
+
|
|
73
|
+
---
|
|
74
|
+
|
|
75
|
+
## `errgroup` — the structured concurrency primitive
|
|
76
|
+
|
|
77
|
+
`golang.org/x/sync/errgroup` is Go's answer to Python's `asyncio.TaskGroup` or Rust's `JoinSet`. Use it instead of raw `go` for any group of related goroutines.
|
|
78
|
+
|
|
79
|
+
```go
|
|
80
|
+
import "golang.org/x/sync/errgroup"
|
|
81
|
+
|
|
82
|
+
func FetchAll(ctx context.Context, urls []string) ([][]byte, error) {
|
|
83
|
+
g, ctx := errgroup.WithContext(ctx)
|
|
84
|
+
g.SetLimit(8) // concurrency cap — leave unbounded = production outage
|
|
85
|
+
|
|
86
|
+
results := make([][]byte, len(urls))
|
|
87
|
+
for i, u := range urls {
|
|
88
|
+
g.Go(func() error {
|
|
89
|
+
body, err := fetch(ctx, u)
|
|
90
|
+
if err != nil {
|
|
91
|
+
return fmt.Errorf("fetch %s: %w", u, err)
|
|
92
|
+
}
|
|
93
|
+
results[i] = body
|
|
94
|
+
return nil
|
|
95
|
+
})
|
|
96
|
+
}
|
|
97
|
+
if err := g.Wait(); err != nil {
|
|
98
|
+
return nil, err
|
|
99
|
+
}
|
|
100
|
+
return results, nil
|
|
101
|
+
}
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
Properties:
|
|
105
|
+
|
|
106
|
+
- `WithContext(parent)` returns a child ctx that gets cancelled on **first non-nil error**. All in-flight goroutines see `ctx.Done()` and bail.
|
|
107
|
+
- `SetLimit(n)` blocks `g.Go(...)` when the in-flight count hits `n`. **Always set this.** Unbounded fan-out is how services die.
|
|
108
|
+
- `g.Wait()` returns the **first** non-nil error. Others are dropped. If you need all errors, accumulate them manually:
|
|
109
|
+
```go
|
|
110
|
+
var mu sync.Mutex
|
|
111
|
+
var errs []error
|
|
112
|
+
// inside g.Go:
|
|
113
|
+
// mu.Lock(); errs = append(errs, err); mu.Unlock()
|
|
114
|
+
// after Wait, errors.Join(errs...)
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
---
|
|
118
|
+
|
|
119
|
+
## Goroutine leaks — `goleak`
|
|
120
|
+
|
|
121
|
+
```go
|
|
122
|
+
package store_test
|
|
123
|
+
|
|
124
|
+
import (
|
|
125
|
+
"testing"
|
|
126
|
+
"go.uber.org/goleak"
|
|
127
|
+
)
|
|
128
|
+
|
|
129
|
+
func TestMain(m *testing.M) {
|
|
130
|
+
goleak.VerifyTestMain(m)
|
|
131
|
+
}
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
This single line at the top of `*_test.go` runs goleak's check after every test in the package. If a test leaks a goroutine, the run fails — pointing at which goroutine.
|
|
135
|
+
|
|
136
|
+
**The bug it catches**: starting a goroutine in `setUp` and never joining it. Common in DB connection pools, background workers, ticker loops. The race detector does NOT catch this.
|
|
137
|
+
|
|
138
|
+
If you have a known long-lived goroutine (a singleton background worker, a metrics exporter), use `goleak.IgnoreTopFunction`:
|
|
139
|
+
|
|
140
|
+
```go
|
|
141
|
+
goleak.VerifyTestMain(m,
|
|
142
|
+
goleak.IgnoreTopFunction("github.com/prometheus/client_golang/prometheus.(*Registry).Push"),
|
|
143
|
+
)
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
---
|
|
147
|
+
|
|
148
|
+
## Channels — the rules that hold
|
|
149
|
+
|
|
150
|
+
### Direction
|
|
151
|
+
|
|
152
|
+
```go
|
|
153
|
+
// GOOD — direction in signatures
|
|
154
|
+
func produce(out chan<- Item)
|
|
155
|
+
func consume(in <-chan Item)
|
|
156
|
+
func pipeline(in <-chan Item, out chan<- Item)
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
Direction restricts misuse. A consumer cannot close the producer's channel.
|
|
160
|
+
|
|
161
|
+
### Closing
|
|
162
|
+
|
|
163
|
+
- **The sender closes.** Always. Never the receiver, never multiple senders.
|
|
164
|
+
- **Multiple senders → use a `sync.WaitGroup` + one closer.**
|
|
165
|
+
- **Closing a closed channel panics.** Closing a `nil` channel panics. Sending on a closed channel panics. Receiving from a closed channel returns zero value with `ok = false`.
|
|
166
|
+
|
|
167
|
+
```go
|
|
168
|
+
// Canonical fan-in: multiple producers, one closer
|
|
169
|
+
func fanIn(ctx context.Context, sources ...<-chan Item) <-chan Item {
|
|
170
|
+
out := make(chan Item)
|
|
171
|
+
var wg sync.WaitGroup
|
|
172
|
+
wg.Add(len(sources))
|
|
173
|
+
for _, src := range sources {
|
|
174
|
+
go func() {
|
|
175
|
+
defer wg.Done()
|
|
176
|
+
for item := range src {
|
|
177
|
+
select {
|
|
178
|
+
case out <- item:
|
|
179
|
+
case <-ctx.Done():
|
|
180
|
+
return
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
}()
|
|
184
|
+
}
|
|
185
|
+
go func() { wg.Wait(); close(out) }()
|
|
186
|
+
return out
|
|
187
|
+
}
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
### Selecting
|
|
191
|
+
|
|
192
|
+
```go
|
|
193
|
+
select {
|
|
194
|
+
case msg := <-incoming:
|
|
195
|
+
handle(msg)
|
|
196
|
+
case <-ctx.Done():
|
|
197
|
+
return ctx.Err()
|
|
198
|
+
case <-time.After(5 * time.Second):
|
|
199
|
+
return ErrTimeout
|
|
200
|
+
}
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
- `time.After` allocates a timer each call — fine for occasional selects, **NOT for hot loops**. Use `time.NewTimer` + `timer.Reset` for repeat selects.
|
|
204
|
+
- A `default:` case makes `select` non-blocking. Use deliberately, not by accident.
|
|
205
|
+
|
|
206
|
+
### Buffered vs unbuffered
|
|
207
|
+
|
|
208
|
+
- **Unbuffered** (`make(chan T)`) = synchronous handoff. Sender blocks until receiver is ready. Use for *coordination*.
|
|
209
|
+
- **Buffered** (`make(chan T, n)`) = asynchronous up to `n`. Use for *decoupling producer rate from consumer rate*.
|
|
210
|
+
|
|
211
|
+
A buffered channel of size 1 acts as a **non-blocking signal**:
|
|
212
|
+
|
|
213
|
+
```go
|
|
214
|
+
ready := make(chan struct{}, 1)
|
|
215
|
+
// Producer
|
|
216
|
+
select {
|
|
217
|
+
case ready <- struct{}{}: // signal once, non-blocking
|
|
218
|
+
default: // already signaled, skip
|
|
219
|
+
}
|
|
220
|
+
// Consumer
|
|
221
|
+
<-ready
|
|
222
|
+
```
|
|
223
|
+
|
|
224
|
+
---
|
|
225
|
+
|
|
226
|
+
## Locks — the pyramid
|
|
227
|
+
|
|
228
|
+
```
|
|
229
|
+
Highest level (preferred)
|
|
230
|
+
channels (message passing — "share memory by communicating")
|
|
231
|
+
errgroup / wait group
|
|
232
|
+
|
|
233
|
+
sync.RWMutex (many readers, occasional writer)
|
|
234
|
+
sync.Mutex (mutual exclusion)
|
|
235
|
+
|
|
236
|
+
atomic.Int64 / atomic.Pointer (single-word lock-free)
|
|
237
|
+
|
|
238
|
+
Lowest level (rare)
|
|
239
|
+
unsafe.Pointer + barriers (custom lock-free; needs -race AND review)
|
|
240
|
+
```
|
|
241
|
+
|
|
242
|
+
### `sync.Mutex` — embed, don't expose
|
|
243
|
+
|
|
244
|
+
```go
|
|
245
|
+
type Cache struct {
|
|
246
|
+
mu sync.RWMutex
|
|
247
|
+
items map[string]Entry
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
func (c *Cache) Get(key string) (Entry, bool) {
|
|
251
|
+
c.mu.RLock()
|
|
252
|
+
defer c.mu.RUnlock()
|
|
253
|
+
e, ok := c.items[key]
|
|
254
|
+
return e, ok
|
|
255
|
+
}
|
|
256
|
+
|
|
257
|
+
func (c *Cache) Set(key string, e Entry) {
|
|
258
|
+
c.mu.Lock()
|
|
259
|
+
defer c.mu.Unlock()
|
|
260
|
+
c.items[key] = e
|
|
261
|
+
}
|
|
262
|
+
```
|
|
263
|
+
|
|
264
|
+
- `sync.Mutex` is **not** copyable. The `copylocks` vet check catches `var c2 = c1` where `c1` has a mutex.
|
|
265
|
+
- Always `defer mu.Unlock()` immediately after `Lock()`. Forgetting is the #1 deadlock cause.
|
|
266
|
+
- Never call user code (callbacks, listener notifications) while holding the lock. Drop the lock, snapshot the data, release, then call out.
|
|
267
|
+
|
|
268
|
+
### `sync.OnceValue` / `sync.OnceFunc` (Go 1.21+)
|
|
269
|
+
|
|
270
|
+
Replacement for `sync.Once` for typed lazy init:
|
|
271
|
+
|
|
272
|
+
```go
|
|
273
|
+
var loadConfig = sync.OnceValue(func() Config {
|
|
274
|
+
var cfg Config
|
|
275
|
+
if err := env.Parse(&cfg); err != nil { panic(err) }
|
|
276
|
+
return cfg
|
|
277
|
+
})
|
|
278
|
+
|
|
279
|
+
func handler() { cfg := loadConfig(); ... }
|
|
280
|
+
```
|
|
281
|
+
|
|
282
|
+
Type-safe, no `sync.Once` + global variable boilerplate.
|
|
283
|
+
|
|
284
|
+
### Atomics — the typed API only
|
|
285
|
+
|
|
286
|
+
```go
|
|
287
|
+
// Go 1.19+ — use the typed atomic.* family
|
|
288
|
+
var counter atomic.Int64
|
|
289
|
+
counter.Add(1)
|
|
290
|
+
n := counter.Load()
|
|
291
|
+
|
|
292
|
+
// NEVER — the old function-style is type-unsafe
|
|
293
|
+
atomic.AddInt64(&counter, 1) // ← rejected
|
|
294
|
+
```
|
|
295
|
+
|
|
296
|
+
---
|
|
297
|
+
|
|
298
|
+
## Time — inject a clock for testability
|
|
299
|
+
|
|
300
|
+
```go
|
|
301
|
+
type Clock interface {
|
|
302
|
+
Now() time.Time
|
|
303
|
+
}
|
|
304
|
+
|
|
305
|
+
type realClock struct{}
|
|
306
|
+
func (realClock) Now() time.Time { return time.Now() }
|
|
307
|
+
|
|
308
|
+
type Service struct {
|
|
309
|
+
clock Clock
|
|
310
|
+
}
|
|
311
|
+
|
|
312
|
+
// Tests
|
|
313
|
+
import "github.com/benbjohnson/clock"
|
|
314
|
+
fake := clock.NewMock()
|
|
315
|
+
fake.Set(time.Date(2026, 1, 1, 0, 0, 0, 0, time.UTC))
|
|
316
|
+
svc := &Service{clock: fake}
|
|
317
|
+
```
|
|
318
|
+
|
|
319
|
+
**Never call `time.Now()` in domain or service code.** The `time` package becomes a hidden dependency — tests become flaky, retries become time-of-day-dependent, expirations cannot be tested.
|
|
320
|
+
|
|
321
|
+
`time.Sleep` in production code is a code smell. Use:
|
|
322
|
+
- `time.NewTicker` for periodic work (and a `<-ctx.Done()` exit).
|
|
323
|
+
- `time.NewTimer` for one-shot delays.
|
|
324
|
+
- `time.After` ONLY in select statements, ONLY in non-hot paths.
|
|
325
|
+
|
|
326
|
+
---
|
|
327
|
+
|
|
328
|
+
## Race detector — non-negotiable in CI
|
|
329
|
+
|
|
330
|
+
```bash
|
|
331
|
+
go test -race -shuffle=on -count=1 ./...
|
|
332
|
+
```
|
|
333
|
+
|
|
334
|
+
- `-race` instruments memory accesses; catches data races at runtime. ~10x slow-down — acceptable for tests, not production.
|
|
335
|
+
- `-shuffle=on` randomizes test order; catches hidden ordering dependencies.
|
|
336
|
+
- `-count=1` defeats the test cache. Without it, "passing" might mean "ran 3 weeks ago".
|
|
337
|
+
|
|
338
|
+
If a test ONLY fails under `-race`, the bug is real. Don't disable the test; fix the race.
|
|
339
|
+
|
|
340
|
+
---
|
|
341
|
+
|
|
342
|
+
## Common antipatterns
|
|
343
|
+
|
|
344
|
+
| Bad | Why | Good |
|
|
345
|
+
|---|---|---|
|
|
346
|
+
| `go func() { ... }()` with no `ctx` plumbing | Leaks on shutdown | `errgroup.WithContext` or pass ctx |
|
|
347
|
+
| Bare `time.Sleep(d)` in production | Untestable, blocks | `time.NewTimer` + select with `ctx.Done()` |
|
|
348
|
+
| Channel of `interface{}` | Loses type | Typed channel; use sealed interface if variants needed |
|
|
349
|
+
| `sync.Mutex` in a struct passed by value | Locked copies, undefined behavior | Embed in pointer-receiver type; copylocks catches it |
|
|
350
|
+
| Locking around an entire request handler | Serializes the whole API | Lock only the smallest critical section |
|
|
351
|
+
| `for { select { ... } }` without `<-ctx.Done()` | Cannot stop | Add ctx case in every long-lived select |
|
|
352
|
+
| `sync.WaitGroup.Add(1)` inside the goroutine | Race: Wait can return before Add | Add **before** `go` |
|
|
353
|
+
|
|
354
|
+
---
|
|
355
|
+
|
|
356
|
+
## Sources
|
|
357
|
+
|
|
358
|
+
- Go memory model: https://go.dev/ref/mem
|
|
359
|
+
- `errgroup` package: https://pkg.go.dev/golang.org/x/sync/errgroup
|
|
360
|
+
- `goleak`: https://github.com/uber-go/goleak
|
|
361
|
+
- "Go concurrency patterns" (Pike): https://go.dev/blog/pipelines
|
|
362
|
+
- Sync.OnceValue blog: https://go.dev/blog/synctest (1.24+ note: `testing/synctest` for time-controlled tests is now experimental)
|
|
@@ -0,0 +1,329 @@
|
|
|
1
|
+
# Data Modeling — Three Layers of Validation
|
|
2
|
+
|
|
3
|
+
Go has no Pydantic. Go has no Zod. **You do not need them**, but only if you wire three layers correctly. This document is the canonical pattern.
|
|
4
|
+
|
|
5
|
+
## The three layers
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
9
|
+
│ HTTP / RPC / CLI │
|
|
10
|
+
│ Raw bytes, strings, untrusted input │
|
|
11
|
+
│ │
|
|
12
|
+
│ Layer 1: validator/v10 (struct tags) ◄── parse-once │
|
|
13
|
+
│ OR protovalidate (proto) │
|
|
14
|
+
│ │
|
|
15
|
+
└──────────────────────────┬──────────────────────────────────┘
|
|
16
|
+
│ raw req → domain.X
|
|
17
|
+
▼
|
|
18
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
19
|
+
│ Domain (internal/domain) │
|
|
20
|
+
│ │
|
|
21
|
+
│ Layer 2: Smart constructors + unexported fields │
|
|
22
|
+
│ NewEmail(s) → (Email, error) │
|
|
23
|
+
│ NewUserID(s) → (UserID, error) │
|
|
24
|
+
│ │
|
|
25
|
+
│ Once inside this layer, NO further validation. │
|
|
26
|
+
│ The types prove correctness. │
|
|
27
|
+
└──────────────────────────┬──────────────────────────────────┘
|
|
28
|
+
│ domain.X (proven valid)
|
|
29
|
+
▼
|
|
30
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
31
|
+
│ Storage (internal/store) │
|
|
32
|
+
│ │
|
|
33
|
+
│ Layer 3: sqlc-generated row structs ↔ domain types │
|
|
34
|
+
│ Hand-written mappers, NOT struct tags │
|
|
35
|
+
└─────────────────────────────────────────────────────────────┘
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
Each layer parses once, into the next layer's types. **A function in the domain layer should never receive a raw string and validate it.** If it does, the boundary above failed.
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
## Layer 1: HTTP boundary — `go-playground/validator/v10`
|
|
43
|
+
|
|
44
|
+
```go
|
|
45
|
+
package handlers
|
|
46
|
+
|
|
47
|
+
import (
|
|
48
|
+
"github.com/gin-gonic/gin"
|
|
49
|
+
"github.com/go-playground/validator/v10"
|
|
50
|
+
)
|
|
51
|
+
|
|
52
|
+
// CreateUserRequest is the wire format. Tags drive validation.
|
|
53
|
+
type CreateUserRequest struct {
|
|
54
|
+
Email string `json:"email" binding:"required,email"`
|
|
55
|
+
Username string `json:"username" binding:"required,alphanum,min=3,max=32"`
|
|
56
|
+
Age int `json:"age" binding:"required,gte=13,lte=130"`
|
|
57
|
+
Country string `json:"country" binding:"required,iso3166_1_alpha2"`
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
func (h *Handler) CreateUser(c *gin.Context) {
|
|
61
|
+
var req CreateUserRequest
|
|
62
|
+
if err := c.ShouldBindJSON(&req); err != nil {
|
|
63
|
+
// validator returns ValidationErrors with field-by-field detail
|
|
64
|
+
var vErr validator.ValidationErrors
|
|
65
|
+
if errors.As(err, &vErr) {
|
|
66
|
+
c.JSON(400, gin.H{"errors": fieldErrors(vErr)})
|
|
67
|
+
return
|
|
68
|
+
}
|
|
69
|
+
c.JSON(400, gin.H{"error": "invalid json"})
|
|
70
|
+
return
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
// Cross into domain — single point of failure
|
|
74
|
+
email, err := domain.NewEmail(req.Email)
|
|
75
|
+
if err != nil {
|
|
76
|
+
c.JSON(400, gin.H{"error": err.Error()})
|
|
77
|
+
return
|
|
78
|
+
}
|
|
79
|
+
username, err := domain.NewUsername(req.Username)
|
|
80
|
+
if err != nil {
|
|
81
|
+
c.JSON(400, gin.H{"error": err.Error()})
|
|
82
|
+
return
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
user, err := h.svc.Create(c.Request.Context(), email, username, req.Age)
|
|
86
|
+
if err != nil {
|
|
87
|
+
h.writeServiceError(c, err)
|
|
88
|
+
return
|
|
89
|
+
}
|
|
90
|
+
c.JSON(201, user)
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
func fieldErrors(vErr validator.ValidationErrors) map[string]string {
|
|
94
|
+
out := make(map[string]string, len(vErr))
|
|
95
|
+
for _, fe := range vErr {
|
|
96
|
+
out[fe.Field()] = fe.Tag() + "(" + fe.Param() + ")"
|
|
97
|
+
}
|
|
98
|
+
return out
|
|
99
|
+
}
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
**Tag reference — the tags you actually use**:
|
|
103
|
+
|
|
104
|
+
| Tag | Meaning |
|
|
105
|
+
|---|---|
|
|
106
|
+
| `required` | Non-zero value |
|
|
107
|
+
| `omitempty` (json) | Skip if zero |
|
|
108
|
+
| `min=N` / `max=N` | Length (strings/slices) or value (numbers) |
|
|
109
|
+
| `gte=N` / `lte=N` / `gt=N` / `lt=N` | Numeric comparison |
|
|
110
|
+
| `email` | RFC 5322-ish email |
|
|
111
|
+
| `url` | Valid URL |
|
|
112
|
+
| `uuid` / `uuid4` / `uuid7` | UUID format |
|
|
113
|
+
| `alphanum` / `alpha` / `numeric` | Character class |
|
|
114
|
+
| `iso3166_1_alpha2` | Country code (US, KR, JP) |
|
|
115
|
+
| `iso4217` | Currency code (USD, KRW) |
|
|
116
|
+
| `oneof=a b c` | Enum of literal values |
|
|
117
|
+
| `dive` | Apply rules to each element of slice/map |
|
|
118
|
+
| `eqfield=Field` | Cross-field equality (e.g., password confirm) |
|
|
119
|
+
|
|
120
|
+
### Custom validators — register at startup
|
|
121
|
+
|
|
122
|
+
```go
|
|
123
|
+
func init() {
|
|
124
|
+
if v, ok := binding.Validator.Engine().(*validator.Validate); ok {
|
|
125
|
+
_ = v.RegisterValidation("strongpassword", validateStrongPassword)
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
func validateStrongPassword(fl validator.FieldLevel) bool {
|
|
130
|
+
s := fl.Field().String()
|
|
131
|
+
return len(s) >= 12 && hasUpper(s) && hasDigit(s) && hasSymbol(s)
|
|
132
|
+
}
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
Use sparingly. Most domain rules belong in smart constructors, not validators.
|
|
136
|
+
|
|
137
|
+
---
|
|
138
|
+
|
|
139
|
+
## Layer 2: Domain — smart constructors
|
|
140
|
+
|
|
141
|
+
Covered in detail in `type-patterns.md`. Recap:
|
|
142
|
+
|
|
143
|
+
```go
|
|
144
|
+
package domain
|
|
145
|
+
|
|
146
|
+
type Username struct{ raw string }
|
|
147
|
+
|
|
148
|
+
func NewUsername(s string) (Username, error) {
|
|
149
|
+
s = strings.TrimSpace(s)
|
|
150
|
+
if len(s) < 3 || len(s) > 32 {
|
|
151
|
+
return Username{}, ErrInvalidUsername
|
|
152
|
+
}
|
|
153
|
+
if !isAlphanum(s) {
|
|
154
|
+
return Username{}, ErrInvalidUsername
|
|
155
|
+
}
|
|
156
|
+
return Username{raw: s}, nil
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
func (u Username) String() string { return u.raw }
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
**Rule**: every domain type that has invariants has:
|
|
163
|
+
|
|
164
|
+
1. An unexported field holding the raw form.
|
|
165
|
+
2. A `New<Type>(raw) (<Type>, error)` constructor as the sole entry point.
|
|
166
|
+
3. A `String() string` for printing.
|
|
167
|
+
4. `MarshalJSON` / `UnmarshalJSON` if it crosses a JSON boundary outside HTTP handlers (e.g., logging payloads, queue messages).
|
|
168
|
+
5. Optionally: `Scan` and `Value` for `database/sql` interop (rare with sqlc).
|
|
169
|
+
|
|
170
|
+
---
|
|
171
|
+
|
|
172
|
+
## Layer 3: Storage — sqlc rows ↔ domain types
|
|
173
|
+
|
|
174
|
+
sqlc generates row structs from `.sql` files. **Do not put validation tags on them.** Map between sqlc rows and domain types explicitly:
|
|
175
|
+
|
|
176
|
+
```go
|
|
177
|
+
// internal/store/user_store.go
|
|
178
|
+
package store
|
|
179
|
+
|
|
180
|
+
import "myservice/internal/domain"
|
|
181
|
+
|
|
182
|
+
func (s *UserStore) Get(ctx context.Context, id domain.UserID) (domain.User, error) {
|
|
183
|
+
row, err := s.q.GetUser(ctx, string(id))
|
|
184
|
+
if err != nil {
|
|
185
|
+
return domain.User{}, err
|
|
186
|
+
}
|
|
187
|
+
return rowToUser(row)
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
func rowToUser(r sqlc.UserRow) (domain.User, error) {
|
|
191
|
+
email, err := domain.NewEmail(r.Email)
|
|
192
|
+
if err != nil {
|
|
193
|
+
// DB invariant broken — this is a programmer error, not a user error
|
|
194
|
+
return domain.User{}, fmt.Errorf("db invariant: invalid email for user %s: %w", r.ID, err)
|
|
195
|
+
}
|
|
196
|
+
username, err := domain.NewUsername(r.Username)
|
|
197
|
+
if err != nil {
|
|
198
|
+
return domain.User{}, fmt.Errorf("db invariant: invalid username: %w", err)
|
|
199
|
+
}
|
|
200
|
+
return domain.User{
|
|
201
|
+
ID: domain.UserID(r.ID),
|
|
202
|
+
Email: email,
|
|
203
|
+
Username: username,
|
|
204
|
+
Created: r.CreatedAt,
|
|
205
|
+
}, nil
|
|
206
|
+
}
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
The mapping is verbose. **That is the point.** Each field is a deliberate choice; refactors flag every site.
|
|
210
|
+
|
|
211
|
+
---
|
|
212
|
+
|
|
213
|
+
## Discriminated unions (sum types) at the boundary
|
|
214
|
+
|
|
215
|
+
When a wire payload has variants (e.g., `{"type": "user.created", ...}` vs `{"type": "user.deleted", ...}`):
|
|
216
|
+
|
|
217
|
+
```go
|
|
218
|
+
// Wire DTO with raw discriminator
|
|
219
|
+
type EventDTO struct {
|
|
220
|
+
Type string `json:"type" binding:"required,oneof=created deleted updated"`
|
|
221
|
+
Payload json.RawMessage `json:"payload" binding:"required"`
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
// Parse into the sealed domain type
|
|
225
|
+
func ParseEvent(dto EventDTO) (event.Event, error) {
|
|
226
|
+
switch dto.Type {
|
|
227
|
+
case "created":
|
|
228
|
+
var c event.Created
|
|
229
|
+
if err := json.Unmarshal(dto.Payload, &c); err != nil {
|
|
230
|
+
return nil, fmt.Errorf("decode created: %w", err)
|
|
231
|
+
}
|
|
232
|
+
return c, nil
|
|
233
|
+
case "deleted":
|
|
234
|
+
var d event.Deleted
|
|
235
|
+
if err := json.Unmarshal(dto.Payload, &d); err != nil {
|
|
236
|
+
return nil, fmt.Errorf("decode deleted: %w", err)
|
|
237
|
+
}
|
|
238
|
+
return d, nil
|
|
239
|
+
case "updated":
|
|
240
|
+
var u event.Updated
|
|
241
|
+
if err := json.Unmarshal(dto.Payload, &u); err != nil {
|
|
242
|
+
return nil, fmt.Errorf("decode updated: %w", err)
|
|
243
|
+
}
|
|
244
|
+
return u, nil
|
|
245
|
+
default:
|
|
246
|
+
return nil, fmt.Errorf("unknown event type %q", dto.Type)
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
```
|
|
250
|
+
|
|
251
|
+
The `exhaustive` linter on the switch + the `oneof` validation tag together cover both "unknown type" and "unhandled variant".
|
|
252
|
+
|
|
253
|
+
---
|
|
254
|
+
|
|
255
|
+
## Enums — typed string consts, not iota
|
|
256
|
+
|
|
257
|
+
```go
|
|
258
|
+
// GOOD — string-based, JSON-serializes correctly, debuggable
|
|
259
|
+
type Status string
|
|
260
|
+
|
|
261
|
+
const (
|
|
262
|
+
StatusPending Status = "pending"
|
|
263
|
+
StatusActive Status = "active"
|
|
264
|
+
StatusClosed Status = "closed"
|
|
265
|
+
)
|
|
266
|
+
|
|
267
|
+
func (s Status) IsValid() bool {
|
|
268
|
+
switch s {
|
|
269
|
+
case StatusPending, StatusActive, StatusClosed:
|
|
270
|
+
return true
|
|
271
|
+
}
|
|
272
|
+
return false
|
|
273
|
+
}
|
|
274
|
+
|
|
275
|
+
func (s *Status) UnmarshalJSON(data []byte) error {
|
|
276
|
+
var raw string
|
|
277
|
+
if err := json.Unmarshal(data, &raw); err != nil { return err }
|
|
278
|
+
parsed := Status(raw)
|
|
279
|
+
if !parsed.IsValid() { return fmt.Errorf("invalid status %q", raw) }
|
|
280
|
+
*s = parsed
|
|
281
|
+
return nil
|
|
282
|
+
}
|
|
283
|
+
```
|
|
284
|
+
|
|
285
|
+
**Never use `iota` enums for anything that crosses a wire boundary.** They serialize as integers, which (a) breaks debuggability, (b) makes reordering enum values a silent breaking change.
|
|
286
|
+
|
|
287
|
+
Use the validator tag `binding:"oneof=pending active closed"` to enforce at the HTTP boundary.
|
|
288
|
+
|
|
289
|
+
---
|
|
290
|
+
|
|
291
|
+
## Nullable fields — `*T` vs sentinel
|
|
292
|
+
|
|
293
|
+
Three choices, in order of preference:
|
|
294
|
+
|
|
295
|
+
1. **Sentinel zero value**: `Age int` with `0` meaning "unknown". Works when zero is genuinely unreachable as a valid value.
|
|
296
|
+
2. **`sql.Null<T>`** for DB columns: `sql.NullString`, `sql.NullInt64`, `sql.NullTime`. sqlc generates these for nullable columns.
|
|
297
|
+
3. **`*T`**: only when you need to distinguish "not provided" from "set to zero" in a JSON payload (PATCH semantics).
|
|
298
|
+
|
|
299
|
+
```go
|
|
300
|
+
// PATCH payload — `*string` discriminates absent vs empty
|
|
301
|
+
type UpdateUserRequest struct {
|
|
302
|
+
Email *string `json:"email,omitempty"`
|
|
303
|
+
Username *string `json:"username,omitempty"`
|
|
304
|
+
}
|
|
305
|
+
```
|
|
306
|
+
|
|
307
|
+
Avoid `*T` in domain types — it bloats every consumer with nil checks. Keep `*T` at the boundary, unwrap on the way in.
|
|
308
|
+
|
|
309
|
+
---
|
|
310
|
+
|
|
311
|
+
## Common AI-generated antipatterns this rejects
|
|
312
|
+
|
|
313
|
+
| Bad | Why | Good |
|
|
314
|
+
|---|---|---|
|
|
315
|
+
| `func handle(req map[string]any)` | No types, no validation | Define a struct, parse with `validator` |
|
|
316
|
+
| `if email != "" { ... }` inside domain | Validation in the wrong layer | Make `email Email`, no check needed |
|
|
317
|
+
| `type Status int` with `iota` for wire field | Silent breaking on reorder | `type Status string` with const literals |
|
|
318
|
+
| Struct tags `json:"email,string"` (the `,string` coercion) | Magic coercion hides bad input | Strict parsing, fail-fast |
|
|
319
|
+
| `json.Unmarshal` then range-check after | Two-step "validate after parse" | Use `validator` tags or custom `UnmarshalJSON` |
|
|
320
|
+
| Reusing handler DTO as the domain type | Couples wire format to business logic | Two distinct types, explicit mapping |
|
|
321
|
+
|
|
322
|
+
---
|
|
323
|
+
|
|
324
|
+
## Sources
|
|
325
|
+
|
|
326
|
+
- go-playground/validator: https://github.com/go-playground/validator
|
|
327
|
+
- gin binding internals: https://github.com/gin-gonic/gin/blob/master/binding/json.go
|
|
328
|
+
- Parse, don't validate: https://lexi-lambda.github.io/blog/2019/11/05/parse-don-t-validate/
|
|
329
|
+
- sqlc with custom types: https://docs.sqlc.dev/en/latest/howto/overrides.html
|