trellis
Version:
Agentic State Engine — event-sourced causal graph with branching, decision traces, and realtime sync for AI-native applications
32 lines (30 loc) • 708 B
JavaScript
import {
createPaletteCore
} from "../../chunk-NWMGJEEY.js";
import "../../chunk-EEQNVCWD.js";
import "../../chunk-2ESYSVXG.js";
// src/palette/react/index.ts
import { useRef, useSyncExternalStore } from "react";
function asPaletteCore(input) {
return "actions" in input ? input : createPaletteCore(input);
}
function usePalette(input) {
const ref = useRef(null);
if (ref.current === null) {
ref.current = asPaletteCore(input);
}
const palette = ref.current;
const state = useSyncExternalStore(
palette.subscribe,
() => palette.state,
() => palette.state
);
return {
state,
actions: palette.actions,
subscribe: palette.subscribe
};
}
export {
usePalette
};