Skip to content

[sync] ide: 5 commits from Forge#1

Open
Snider wants to merge 5 commits intomainfrom
dev
Open

[sync] ide: 5 commits from Forge#1
Snider wants to merge 5 commits intomainfrom
dev

Conversation

@Snider
Copy link
Contributor

@Snider Snider commented Mar 17, 2026

Forge → GitHub Sync

Commits: 5
Files changed: 16

Automated sync from Forge. Mark as ready for review when CodeRabbit should process.


Co-Authored-By: Virgil virgil@lethean.io

Summary by CodeRabbit

  • New Features

    • Added Core API system with functions for inter-service communication, asset retrieval, configuration access, and task/query handling.
  • Chores

    • Updated multiple Go module dependencies to newer versions.
    • Modified development server configuration.
    • Disabled Angular CLI analytics.
    • Removed obsolete binding functions.

Snider and others added 5 commits March 15, 2026 15:11
Add brain.NewDirect() and agentic.NewPrep() to MCP service.
Update go.mod to core/mcp v0.2.0. Regenerated wails bindings.

Co-Authored-By: Virgil <virgil@lethean.io>
Co-Authored-By: Virgil <virgil@lethean.io>
Co-Authored-By: Virgil <virgil@lethean.io>
Co-Authored-By: Virgil <virgil@lethean.io>
Co-Authored-By: Virgil <virgil@lethean.io>
@coderabbitai
Copy link

coderabbitai bot commented Mar 17, 2026

📝 Walkthrough

Walkthrough

This pull request modernises the project build configuration, removes legacy service bindings, introduces a new Core IPC API binding suite with embedded filesystem support, updates Go module dependencies comprehensively, and refactors the main application initialisation to use direct brain and agentic MCP subsystems.

Changes

Cohort / File(s) Summary
Configuration & Build
.gitignore, build/Taskfile.yml, frontend/angular.json
Added "ide" to .gitignore ignore rules. Removed --strictPort flag from Vite dev command. Disabled Angular CLI analytics via new cli configuration object.
Legacy Service Bindings - Removal
frontend/bindings/changeme/greetservice.ts, frontend/bindings/github.com/host-uk/core/internal/core-ide/greetservice.ts, frontend/bindings/github.com/host-uk/core/internal/core-ide/index.ts
Deleted deprecated Greet function bindings and their re-exports from legacy module paths. Eliminated public GreetService exposure through index modules.
Embed Models
frontend/bindings/embed/index.ts, frontend/bindings/embed/models.ts
Replaced GreetService export with new FS class export from models. Introduced FS class wrapping a virtual filesystem with JSON deserialisation support and createFrom static factory method.
Core IPC API Bindings
frontend/bindings/forge.lthn.ai/core/go/pkg/core/core.ts, frontend/bindings/forge.lthn.ai/core/go/pkg/core/models.ts, frontend/bindings/forge.lthn.ai/core/go/pkg/core/index.ts
Added comprehensive Core API bindings exposing IPC functions (ACTION, QUERY, PERFORM, service registration/retrieval). Introduced Core, Features, and data-contract types (Config, Crypt, Display, Message, Query, Task, Workspace). Central index provides consolidated re-exports with type helpers for deserialisation.
Go Dependencies
go.mod
Updated core module versions across forge.lthn.ai packages (api, config, go, go-process, go-scm, go-ws, gui, mcp). Refreshed indirect dependencies including libc, sqlite, protobuf, gRPC, OpenTelemetry, golang.org/x packages, and go-openapi components to newer versions.
Main Application
main.go
Added mcp/agentic import. Refactored MCP subsystem initialisation: replaced brain.New(bridge) with brain.NewDirect() and introduced new agentic.NewPrep() subsystem alongside GUI configuration.
🚥 Pre-merge checks | ✅ 2 | ❌ 1

❌ Failed checks (1 inconclusive)

Check name Status Explanation Resolution
Title check ❓ Inconclusive The title '[sync] ide: 5 commits from Forge' is vague and provides minimal meaningful information about the changeset, using a generic '[sync]' prefix without conveying specific details about the substantial changes across bindings, dependencies, and MCP subsystems. Consider using a more descriptive title that highlights the primary changes, such as 'Regenerate Wails bindings and update MCP subsystems with NewDirect/NewPrep' or similar, to better communicate the main purpose to reviewers scanning the history.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Docstring Coverage ✅ Passed Docstring coverage is 94.74% which is sufficient. The required threshold is 80.00%.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

📝 Coding Plan
  • Generate coding plan for human review comments

Comment @coderabbitai help to get the list of available commands and usage tips.

@Snider Snider marked this pull request as ready for review March 17, 2026 17:02
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🧹 Nitpick comments (1)
build/Taskfile.yml (1)

81-81: Removal of --strictPort changes dev server behaviour.

Without --strictPort, Vite will silently fall back to another port if {{.VITE_PORT}} is occupied. This improves resilience but may cause confusion if developers expect a specific port. Ensure this aligns with the intended workflow.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@build/Taskfile.yml` at line 81, The dev server command "npm run dev -- --port
{{.VITE_PORT}}" in Taskfile.yml now omits --strictPort which lets Vite pick a
different port if the requested one is busy; decide and enforce the intended
workflow: if you require the exact port, restore the flag by changing the
command to include --strictPort (i.e., "npm run dev -- --port {{.VITE_PORT}}
--strictPort"); otherwise, keep the current command but update
documentation/README to explicitly note that Vite may fall back to another port
so developers aren't confused.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In @.gitignore:
- Line 7: The ignore pattern
"build/windows/nsis/MicrosoftEdgeWebview2Setup.exeide" is malformed; replace
that string with "build/windows/nsis/MicrosoftEdgeWebview2Setup.exe" so the
WebView2 installer executable is properly ignored by Git—locate the bad pattern
in the .gitignore and correct the trailing "exeide" to ".exe".

---

Nitpick comments:
In `@build/Taskfile.yml`:
- Line 81: The dev server command "npm run dev -- --port {{.VITE_PORT}}" in
Taskfile.yml now omits --strictPort which lets Vite pick a different port if the
requested one is busy; decide and enforce the intended workflow: if you require
the exact port, restore the flag by changing the command to include --strictPort
(i.e., "npm run dev -- --port {{.VITE_PORT}} --strictPort"); otherwise, keep the
current command but update documentation/README to explicitly note that Vite may
fall back to another port so developers aren't confused.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 4e255333-5bca-45f7-a92b-535bf527d8a9

📥 Commits

Reviewing files that changed from the base of the PR and between d145612 and 5efd2c6.

⛔ Files ignored due to path filters (1)
  • go.sum is excluded by !**/*.sum
📒 Files selected for processing (15)
  • .gitignore
  • build/Taskfile.yml
  • build/darwin/Assets.car
  • build/darwin/icons.icns
  • frontend/angular.json
  • frontend/bindings/changeme/greetservice.ts
  • frontend/bindings/embed/index.ts
  • frontend/bindings/embed/models.ts
  • frontend/bindings/forge.lthn.ai/core/go/pkg/core/core.ts
  • frontend/bindings/forge.lthn.ai/core/go/pkg/core/index.ts
  • frontend/bindings/forge.lthn.ai/core/go/pkg/core/models.ts
  • frontend/bindings/github.com/host-uk/core/internal/core-ide/greetservice.ts
  • frontend/bindings/github.com/host-uk/core/internal/core-ide/index.ts
  • go.mod
  • main.go
💤 Files with no reviewable changes (3)
  • frontend/bindings/github.com/host-uk/core/internal/core-ide/greetservice.ts
  • frontend/bindings/github.com/host-uk/core/internal/core-ide/index.ts
  • frontend/bindings/changeme/greetservice.ts

@@ -7,3 +7,4 @@ build/linux/appimage/build
build/windows/nsis/MicrosoftEdgeWebview2Setup.exeide
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical

Fix the malformed ignore pattern.

Line 7 ends with exeide instead of .exe, which appears to be a concatenation error. This malformed pattern prevents the executable from being properly ignored by Git. Please correct it to end with .exe:

🐛 Proposed fix for the malformed pattern
-build/windows/nsis/MicrosoftEdgeWebview2Setup.exeide
+build/windows/nsis/MicrosoftEdgeWebview2Setup.exe
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
build/windows/nsis/MicrosoftEdgeWebview2Setup.exeide
build/windows/nsis/MicrosoftEdgeWebview2Setup.exe
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.gitignore at line 7, The ignore pattern
"build/windows/nsis/MicrosoftEdgeWebview2Setup.exeide" is malformed; replace
that string with "build/windows/nsis/MicrosoftEdgeWebview2Setup.exe" so the
WebView2 installer executable is properly ignored by Git—locate the bad pattern
in the .gitignore and correct the trailing "exeide" to ".exe".

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant