mirror of
https://github.com/tinyhumansai/openhuman.git
synced 2026-07-30 15:03:57 +00:00
Update SkillsGrid and transport logic to utilize QuickJS runtime
- Changed the runtime specification in SkillsGrid from 'v8' to 'quickjs'. - Updated documentation in the SkillRuntime class to reflect the transition to QuickJS. - Modified transport logic to clarify that reverse RPC handling is now managed by QuickJS bridge globals, ensuring compatibility with the new runtime.
This commit is contained in:
@@ -190,7 +190,7 @@ function SkillActionButton({
|
||||
name: skill.name,
|
||||
version: '0.0.0',
|
||||
description: skill.description,
|
||||
runtime: 'v8',
|
||||
runtime: 'quickjs',
|
||||
});
|
||||
// If skill has setup, the manager will set setup_required status
|
||||
// and the grid will re-render with the "Setup" button
|
||||
|
||||
@@ -53,7 +53,7 @@ export class SkillRuntime {
|
||||
|
||||
/**
|
||||
* Send skill/load with manifest + data dir.
|
||||
* With V8, loading is handled by the Rust engine during start_skill,
|
||||
* Loading is handled by the Rust engine during start_skill,
|
||||
* so this sends a no-op skill/load RPC for protocol compatibility.
|
||||
*/
|
||||
async load(additionalParams?: Record<string, unknown>): Promise<void> {
|
||||
|
||||
@@ -1,13 +1,10 @@
|
||||
/**
|
||||
* JSON-RPC 2.0 transport over Tauri IPC commands.
|
||||
*
|
||||
* Routes JSON-RPC requests to the Rust V8 runtime engine via
|
||||
* `invoke('runtime_rpc', ...)`. Replaces the previous stdin/stdout
|
||||
* subprocess transport while keeping the same public API.
|
||||
*
|
||||
* Reverse RPC (state/get, state/set, data/read, data/write) is now
|
||||
* handled by bridge globals inside the V8 engine, so the transport
|
||||
* no longer needs to handle reverse RPC from the skill.
|
||||
* Routes JSON-RPC requests to the Rust QuickJS runtime engine via
|
||||
* `invoke('runtime_rpc', ...)`. Reverse RPC (state/get, state/set,
|
||||
* data/read, data/write) is handled by bridge globals inside the
|
||||
* QuickJS engine.
|
||||
*/
|
||||
|
||||
import { invoke } from '@tauri-apps/api/core';
|
||||
@@ -23,16 +20,16 @@ export class SkillTransport {
|
||||
|
||||
/**
|
||||
* Set a handler for reverse RPC calls from the skill process.
|
||||
* With V8, reverse RPC is handled by bridge globals, so this
|
||||
* With QuickJS, reverse RPC is handled by bridge globals, so this
|
||||
* is kept for API compatibility but is a no-op.
|
||||
*/
|
||||
onReverseRpc(_handler: ReverseRpcHandler): void {
|
||||
// No-op: V8 bridge globals handle state/data directly
|
||||
// No-op: QuickJS bridge globals handle state/data directly
|
||||
}
|
||||
|
||||
/**
|
||||
* Initialize the transport for a skill.
|
||||
* With V8, the skill process is managed by the Rust runtime engine,
|
||||
* With QuickJS, the skill process is managed by the Rust runtime engine,
|
||||
* so this just stores the skill ID for routing RPC calls.
|
||||
*
|
||||
* @param skillId - The skill ID to route requests to.
|
||||
@@ -100,7 +97,7 @@ export class SkillTransport {
|
||||
}
|
||||
|
||||
/**
|
||||
* Stop the transport. With V8, this is a no-op since the
|
||||
* Stop the transport. With QuickJS, this is a no-op since the
|
||||
* Rust engine manages skill lifecycle. Use runtime_stop_skill instead.
|
||||
*/
|
||||
async kill(): Promise<void> {
|
||||
|
||||
Reference in New Issue
Block a user