[PR #30] [MERGED] fix: detect antigravity .json files and use async io in parser #30

Closed
opened 2026-03-04 01:39:20 +03:00 by kerem · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/yigitkonur/cli-continues/pull/30
Author: @yigitkonur
Created: 3/2/2026
Status: Merged
Merged: 3/2/2026
Merged by: @yigitkonur

Base: mainHead: fix/antigravity-json-extension


📝 Commits (1)

  • e0b0ccb fix: detect Antigravity .json files, async IO, recursive search, correct project name

📊 Changes

1 file changed (+63 additions, -53 deletions)

View changed files

📝 src/parsers/antigravity.ts (+63 -53)

📄 Description

fixes #23

hey @DaveW001 — good catch on the extension mismatch. this pr fixes all the issues you identified plus a few more that were lurking:

what changed

  • file extension: parser now accepts both .json and .jsonl (was only .jsonl)
  • recursive search: switched to recursive: true so files inside nested active/<project>/ dirs are found
  • session id: properly strips both .json and .jsonl extensions
  • async io: replaced readFileSync with readline.createInterface streaming, statSync with fsp.stat
  • project names: strips trailing _<hex-hash> suffixes (e.g. marketing_c6b0a246...marketing)
  • lint: isNaNNumber.isNaN

all 688 tests pass, build + biome lint clean.


Open with Devin

Review all of them with eye of John Carmack-like simplicity with elegeance approach and apply the one only if required

Greptile Summary

Fixes Antigravity parser to detect both .json and .jsonl files with recursive search, and migrates to async I/O (streaming). The async conversion is solid — follows the "streaming-large-files" rule properly.

Major changes:

  • antigravity.ts: Streaming with readline (good), recursive file search (fixes nested active/<project>/), extension handling (both .json/.jsonl), project name hash stripping
  • resume.ts: Fixes Node 22 DEP0190 deprecation by refactoring Windows spawn to quote args manually — but has a command quoting bug (see inline comment)
  • registry.ts: Updates Gemini (--continue--resume) and OpenCode (['--prompt', prompt]['run', prompt]) args — these fixes aren't mentioned in the PR description

Issues:

  • Windows command quoting bug in resume.ts:172 will break if the command path contains spaces
  • Registry changes are bundled without explanation (should be in description or separate PR)

Confidence Score: 3/5

  • Safe to merge after fixing Windows command quoting bug in resume.ts
  • Antigravity parser changes are solid (async I/O, proper streaming, extension handling). Windows spawn refactor addresses Node 22 deprecation but introduces a command quoting bug that breaks with space-containing paths. Registry changes look correct but aren't explained. Fix the quoting bug before merging.
  • Pay close attention to src/utils/resume.ts (Windows command quoting)

Important Files Changed

Filename Overview
src/parsers/antigravity.ts Proper async I/O conversion, streaming for large files, fixes file extension and recursion issues. Logic is sound.
src/utils/resume.ts Fixes Node 22 deprecation with Windows spawn refactor, but has a command quoting bug that breaks with space-containing paths.
src/parsers/registry.ts Updates Gemini and OpenCode CLI args — appears correct but unrelated to PR description (fixes #23 is about Antigravity).

Last reviewed commit: ae26442


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/yigitkonur/cli-continues/pull/30 **Author:** [@yigitkonur](https://github.com/yigitkonur) **Created:** 3/2/2026 **Status:** ✅ Merged **Merged:** 3/2/2026 **Merged by:** [@yigitkonur](https://github.com/yigitkonur) **Base:** `main` ← **Head:** `fix/antigravity-json-extension` --- ### 📝 Commits (1) - [`e0b0ccb`](https://github.com/yigitkonur/cli-continues/commit/e0b0ccb195c25de6f2763e5372bff40dce20965e) fix: detect Antigravity .json files, async IO, recursive search, correct project name ### 📊 Changes **1 file changed** (+63 additions, -53 deletions) <details> <summary>View changed files</summary> 📝 `src/parsers/antigravity.ts` (+63 -53) </details> ### 📄 Description fixes #23 hey @DaveW001 — good catch on the extension mismatch. this pr fixes all the issues you identified plus a few more that were lurking: ### what changed - **file extension**: parser now accepts both `.json` and `.jsonl` (was only `.jsonl`) - **recursive search**: switched to `recursive: true` so files inside nested `active/<project>/` dirs are found - **session id**: properly strips both `.json` and `.jsonl` extensions - **async io**: replaced `readFileSync` with `readline.createInterface` streaming, `statSync` with `fsp.stat` - **project names**: strips trailing `_<hex-hash>` suffixes (e.g. `marketing_c6b0a246...` → `marketing`) - **lint**: `isNaN` → `Number.isNaN` all 688 tests pass, build + biome lint clean. <!-- devin-review-badge-begin --> --- <a href="https://app.devin.ai/review/yigitkonur/cli-continues/pull/30" target="_blank"> <picture> <source media="(prefers-color-scheme: dark)" srcset="https://static.devin.ai/assets/gh-open-in-devin-review-dark.svg?v=1"> <img src="https://static.devin.ai/assets/gh-open-in-devin-review-light.svg?v=1" alt="Open with Devin"> </picture> </a> <!-- devin-review-badge-end --> <!-- greptile_comment --> # Review all of them with eye of John Carmack-like simplicity with elegeance approach and apply the one only if required <h3>Greptile Summary</h3> Fixes Antigravity parser to detect both `.json` and `.jsonl` files with recursive search, and migrates to async I/O (streaming). The async conversion is solid — follows the "streaming-large-files" rule properly. **Major changes:** - `antigravity.ts`: Streaming with readline (good), recursive file search (fixes nested `active/<project>/`), extension handling (both `.json`/`.jsonl`), project name hash stripping - `resume.ts`: Fixes Node 22 DEP0190 deprecation by refactoring Windows spawn to quote args manually — but has a **command quoting bug** (see inline comment) - `registry.ts`: Updates Gemini (`--continue` → `--resume`) and OpenCode (`['--prompt', prompt]` → `['run', prompt]`) args — these fixes aren't mentioned in the PR description **Issues:** - Windows command quoting bug in `resume.ts:172` will break if the command path contains spaces - Registry changes are bundled without explanation (should be in description or separate PR) <details><summary><h3>Confidence Score: 3/5</h3></summary> - Safe to merge after fixing Windows command quoting bug in resume.ts - Antigravity parser changes are solid (async I/O, proper streaming, extension handling). Windows spawn refactor addresses Node 22 deprecation but introduces a command quoting bug that breaks with space-containing paths. Registry changes look correct but aren't explained. Fix the quoting bug before merging. - Pay close attention to src/utils/resume.ts (Windows command quoting) </details> <details open><summary><h3>Important Files Changed</h3></summary> | Filename | Overview | |----------|----------| | src/parsers/antigravity.ts | Proper async I/O conversion, streaming for large files, fixes file extension and recursion issues. Logic is sound. | | src/utils/resume.ts | Fixes Node 22 deprecation with Windows spawn refactor, but has a command quoting bug that breaks with space-containing paths. | | src/parsers/registry.ts | Updates Gemini and OpenCode CLI args — appears correct but unrelated to PR description (fixes #23 is about Antigravity). | </details> </details> <sub>Last reviewed commit: ae26442</sub> <!-- greptile_other_comments_section --> <!-- /greptile_comment --> --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
kerem 2026-03-04 01:39:20 +03:00
Sign in to join this conversation.
No labels
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/cli-continues#30
No description provided.