chore(miner): migrate batch 2.3 utility modules to TypeScript - #7323
chore(miner): migrate batch 2.3 utility modules to TypeScript#7323joaovictor91123 wants to merge 2 commits into
Conversation
Converts env-file-indirection, deny-check, cli, chat-action-dispatch, ams-health-server, replay-task-bridge, chat-governor-actions, and chat-portfolio-actions from plain .js to real, compiler-verified TypeScript, following the in-place-emit pattern the Phase 1 build pipeline (JSONbored#7299) already wired up. Each file's hand-maintained .d.ts sibling is now tsc-generated instead. No behavior change; existing tests pass unmodified. Closes JSONbored#7300
Converts cross-repo-evaluation, version, slop-assessment, discovery-throttle, claim-ledger-expiry, prompt-injection-defense, execute-local-write, and portfolio-queue-expiry from plain .js to real, compiler-verified TypeScript, following the in-place-emit pattern the Phase 1 build pipeline (JSONbored#7299) already wired up. Each file's hand-maintained .d.ts sibling is now tsc-generated instead. Fixes two stale hand-written .d.ts signatures surfaced by real type checking: claim-ledger-expiry's and portfolio-queue-expiry's store interfaces were both missing the optional apiBaseUrl third parameter that expireClaim/reclaimStuckItem are always actually called with. No behavior change; existing tests pass unmodified (two pre-existing, unrelated Windows/path failures verified via git stash against a clean checkout: miner-cross-repo-evaluation.test.ts's known collection SyntaxError, and miner-execute-local-write.test.ts's sh -c path-format mismatch). Closes JSONbored#7302
|
Superagent didn't find any vulnerabilities or security issues in this PR. |
|
Superagent didn't find any vulnerabilities or security issues in this PR. |
|
Caution 🛑 LoopOver review result - reject/close recommendedReview updated: 2026-07-19 16:41:32 UTC
Review summary Blockers
Nits — 6 non-blocking
Why this is blocked
📋 Copy for AI agents — paste into your coding agentDecision drivers
Context & advisory signals — never blocks the verdict
Linked issue satisfactionAddressed Review context
Contributor next steps
Signal definitions
🧪 Chat with LoopOverAsk LoopOver a question about this PR directly in a comment — grounded only in the same cached, public-safe facts shown above, never a new claim.
Full command reference: https://loopover.ai/docs/loopover-commands 🧪 Experimental — new and may change. 🟩 Safe / merged · 🟦 Advisory · 🟨 Held for review · 🟥 Blocked / closed 💰 Earn for open-source contributions like this. Gittensor lets GitHub contributors earn for the work they already do — register to start earning →. Checked by LoopOver, a quiet PR intelligence layer for OSS maintainers.
|
|
LoopOver is closing this pull request on the maintainer's behalf (Linked issue #7302 is assigned to the maintainer (@JSONbored) — that work is reserved for the maintainer, so this PR cannot be auto-accepted.). This is an automated maintenance action — to pursue this change, please open a new pull request with the issues resolved. Closed PRs may be analyzed later to improve review accuracy, but they are not automatically reopened or re-reviewed. |
Closes #7302
Summary
packages/loopover-miner/libmodules from plain.jsto real, compiler-verified TypeScript:cross-repo-evaluation,version,slop-assessment,discovery-throttle,claim-ledger-expiry,prompt-injection-defense,execute-local-write,portfolio-queue-expiry.lib/foo.tscompiles tolib/foo.jsnext to it; no import-path changes for any consumer)..d.tssibling is nowtsc-generated instead of hand-written..d.tssignatures that real type-checking surfaced:claim-ledger-expiry's andportfolio-queue-expiry's store interfaces (expireClaim/reclaimStuckItem) were both missing the optionalapiBaseUrlthird parameter the code was already always calling them with.cross-repo-evaluationwere preserved exactly (not "fixed away") during conversion: non-string identity fields (repo/commitT/lastActivityAt) fall back tonull, and a malformed commit'sshastaysundefinedin theknownCommitShasarray rather than being filtered out — both verified against the existing test suite.Scope checklist
.js/.d.tsoutput)tsconfig.jsonchanges needed (existingincludeglob picks up new.tsfiles automatically)Validation checklist
npm run build --workspace @loopover/miner(tsc +node --checkon every compiled output) passes cleannpm run typecheck(repo-wide) passes cleanminer-version,miner-slop-assessment,miner-discovery-throttle,miner-claim-ledger-expiry,miner-prompt-injection-defense,miner-execute-local-write,miner-portfolio-queue-expiry,miner-cross-repo-evaluation(53 tests total)git stashagainst a clean checkout (reproduce identically without this PR's changes):miner-cross-repo-evaluation.test.ts's known Vitest-collectionSyntaxError, andminer-execute-local-write.test.ts's Windowssh -cpath-format mismatch (/tmp/...vsC:\...)Safety checklist
site/,CNAME, or**/lovable/**