trellis
Version:
Agentic State Engine — event-sourced causal graph with branching, decision traces, and realtime sync for AI-native applications
60 lines (58 loc) • 1.21 kB
JavaScript
import {
BroadcastChannelTransport,
MemoryHub,
MemoryRealtimeTransport,
RealtimeRoom,
WebSocketRelayTransport
} from "../chunk-SA67W3YM.js";
import "../chunk-KXAISKZT.js";
import {
BatchSignal,
Signal
} from "../chunk-UBGUDMUV.js";
import "../chunk-2ESYSVXG.js";
// src/vue/hooks.ts
import {
computed,
onScopeDispose,
shallowRef
} from "vue";
function useSignal(signal) {
const state = shallowRef(signal.peek());
const unsubscribe = signal.subscribe((value) => {
state.value = value;
});
onScopeDispose(unsubscribe);
return state;
}
function useRoom(create) {
const room = create();
const presence = shallowRef(room.getPresence());
const unsubscribe = room.presenceSignal.subscribe((peers) => {
presence.value = peers;
});
onScopeDispose(() => {
unsubscribe();
room.leave();
});
return {
room,
presence,
others: computed(() => presence.value.filter((p) => !p.self))
};
}
function usePresence(room) {
return useSignal(room.presenceSignal);
}
export {
BatchSignal,
BroadcastChannelTransport,
MemoryHub,
MemoryRealtimeTransport,
RealtimeRoom,
Signal,
WebSocketRelayTransport,
usePresence,
useRoom,
useSignal
};