Commit graph

3 commits

Author SHA1 Message Date
Mikael Hugo
6698b2f247 fix(native): bind dev .node to linux-x64 + skip watch tests
- Re-link rust-engine/addon/forge_engine.linux-x64.node → forge_engine.dev.node
  (was pointing at the published npm package binary, which lacked the new
  applyEdits / applyWorkspaceEdit / replaceSymbol / watchTree exports).
  Native loader now picks up the freshly-built dev addon for tests.
- Skip watch.test.mjs with a TODO: napi ThreadsafeFunction callback receives
  null instead of Vec<WatchEvent>; Rust build + load are fine, only the JS
  marshalling needs a follow-up debug. edit + symbol suites are green.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-02 08:36:18 +02:00
Mikael Hugo
78ea18dbee feat(native): expose unified edit module with native ops
Adds applyEdits, applyWorkspaceEdit, replaceSymbol, insertAroundSymbol,
and watchTree to @singularity-forge/native via the new ./edit subpath.

- applyEdits / applyWorkspaceEdit: LSP-shaped TextEdit arrays applied via
  byte-level splice + atomic rename, two-phase commit across files.
- replaceSymbol / insertAroundSymbol: tree-sitter symbol resolution via
  forge-ast, TS/JS/TSX support; v1 replaces whole declaration.
- watchTree: notify-rs recursive watcher with native globset ignore + JS
  EventEmitter wrapper (drops chokidar dep).

Rust impl in rust-engine/crates/engine/src/{edit,symbol,watch}.rs.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-02 08:33:06 +02:00
Mikael Hugo
5f52680285 chore: snapshot in-flight work (mcp graph refactor, native edit module, misc)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-02 08:31:44 +02:00