Skip to content

feat: model-independent remote control with native Pi UI and ask_user support - #14

Merged
LIghtJUNction merged 10 commits into
mainfrom
feat/model-independent-remote-control
Oct 10, 2026
Merged

LIghtJUNction merged 10 commits into
mainfrom
feat/model-independent-remote-control

Conversation

@LIghtJUNction

Copy link
Copy Markdown
Contributor

What changes

Remote control is a Pi extension capability, not a model-provider side effect. Users can keep any provider/model selected. /lmm-remote on enables the account-owned, PIN-encrypted relay; /lmm-remote off disconnects and removes the session. The local enable preference persists, but PINs and encryption keys do not.

  • Separate remote credentials from LMM model/catalog refresh. Request explicit remote:control consent; never silently widen an older grant.
  • Send tasks, steer a running turn, stop Pi, and receive real acceptance/error acknowledgements.
  • Bridge Pi's public select/confirm/input/editor/custom UI. Custom tools receive real keyboard/paste input; results are produced by the original extension, not fabricated by the bridge.
  • Handle pending question IDs, stale/replayed commands, reconnect generation changes, bounded queues, safe cancellation, and local/remote response races.
  • Document installation, consent, compatibility boundaries and the paired server update.

Actual validation

  • TypeScript check, 124 tests, package checks and the official Pi CLI loader pass.
  • Official Pi 1.0.4 SDK + the published pi-ask-user 0.16.0 actually ran locally and in CI. A deterministic non-LMM provider invoked the real tool, received a remotely selected answer, and continued the model turn. Switching to another non-LMM model retained the remote session. Remote Stop interrupted a waiting real tool.
  • Assertions verify no LMM catalog/model/balance request, no plaintext/PIN in relay bodies, and session removal on disable.
  • Successful acceptance run: https://github.com/TokenNotIncluded/pi-lmm-provider/actions/runs/38013634252

Delivery boundary

Requires the companion TokenNotIncluded/api.lmm.best branch feat/pi-remote-control-commands. Existing users must approve the new remote permission with /login lmm; they do not need to select an LMM model. First enable remains an explicit local action. No npm release or production deployment was performed. This is not a claim that every third-party terminal UI, mouse-only interaction or paid live model has been tested.

The temporary source-transfer files were deleted after applying the source changes; the retained integration workflow has read-only permissions.

Copilot AI balanced review requested due to automatic review settings October 10, 2026 01:43

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
🔒 Security Review ✅ Completed 2026-10-10T01:51:12.869273Z 58f0d8b PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

Copy link
Copy Markdown
Contributor Author

Final verification — 2026-10-10

Final plugin commit: 62ecb6993a4e621dfb23d0e5aee7a5a705723bf6.
Companion main-project PR: TokenNotIncluded/lmm-api#691

All checks are now passing:

The browser test uses the production controller components, actual Pi and the published third-party tool with an isolated loopback relay. It is not a production-site login/deployment or paid live-model test. Browser screenshots and native execution logs are in the main workflow artifact. Only the named third-party extension was exercised end to end; generic Pi select/confirm/input/editor/custom interfaces are covered by the bridge/tests, not a claim of universal mouse-only/plugin compatibility.

After both projects are deployed/released, use /login lmm to approve the explicit remote permission and /lmm-remote on once locally. Keep any desired model selected. Later interactive sessions reconnect independently of the model. /lmm-remote off disables reconnect and deletes the active session. No merge, npm release or production deployment performed.

@LIghtJUNction
LIghtJUNction merged commit 681f33c into main Oct 10, 2026
7 checks passed
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.

2 participants