@unoverse-platform/studio 0.1.103 → 0.1.104
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +4 -2
- package/screens/AtomsView.tsx +2 -1
- package/screens/ComponentsView.tsx +2 -1
- package/screens/NativeAppHost.tsx +1 -2
- package/screens/TemplatesLibraryView.tsx +14 -1
- package/screens/TemplatesView.tsx +2 -1
- package/screens/index.ts +4 -0
- package/screens/react/unoverse.tsx +281 -0
- package/vendor/base/src/agent-mcp/index.ts +1 -1
- package/vendor/base/src/agent-mcp/invoke.ts +6 -2
- package/vendor/base/src/agent-mcp/tools.ts +14 -5
- package/vendor/base/src/agent-mcp/types.ts +6 -0
- package/vendor/base/src/auth/auth.ts +90 -23
- package/vendor/base/src/definitions/load/compile/sections.ts +79 -0
- package/vendor/base/src/definitions/load/compile/template.ts +23 -2
- package/vendor/base/src/definitions/model.ts +9 -0
- package/vendor/base/src/definitions/registry/catalog.ts +6 -7
- package/vendor/base/src/executor.ts +25 -1
- package/vendor/base/src/manifests/executor/toolBridge.ts +25 -19
- package/vendor/base/src/manifests/runtime/channels/final.ts +4 -1
- package/vendor/base/src/manifests/runtime/duplex/session.ts +3 -9
- package/vendor/base/src/manifests/runtime/tools/toolloop.ts +28 -25
- package/vendor/base/src/platform/serviceCalls.ts +13 -0
- package/vendor/sdk/appEngine.ts +363 -0
- package/vendor/sdk/lib/actions.ts +36 -0
- package/vendor/sdk/lib/citations.ts +48 -0
- package/vendor/sdk/lib/core/apps.ts +18 -0
- package/vendor/sdk/lib/core/client.ts +3 -3
- package/vendor/sdk/lib/core/store.ts +6 -0
- package/vendor/sdk/lib/dom/app.ts +546 -0
- package/vendor/sdk/lib/dom/chrome.ts +125 -0
- package/vendor/sdk/lib/dom/component.ts +333 -0
- package/vendor/sdk/lib/dom/connection.ts +309 -0
- package/vendor/sdk/lib/dom/element.ts +69 -0
- package/vendor/sdk/lib/dom/isolate.ts +37 -0
- package/vendor/sdk/lib/dom/markdown.ts +388 -0
- package/vendor/sdk/lib/dom/markdownParse.ts +440 -0
- package/vendor/sdk/lib/dom/mounted.ts +29 -0
- package/vendor/sdk/lib/dom/primitives.ts +689 -0
- package/vendor/sdk/lib/dom/region.ts +195 -0
- package/vendor/sdk/lib/dom/render.ts +177 -0
- package/vendor/sdk/lib/dom/theme.ts +38 -0
- package/vendor/sdk/lib/dom/types.ts +36 -0
- package/vendor/sdk/lib/index.ts +26 -17
- package/vendor/sdk/lib/orb/canvas.ts +139 -0
- package/vendor/sdk/lib/orb/index.ts +8 -18
- package/vendor/sdk/lib/orb/presets.ts +1 -1
- package/vendor/sdk/lib/orb/{types.ts → states.ts} +0 -24
- package/vendor/sdk/lib/realtime/capture.ts +152 -0
- package/vendor/sdk/lib/realtime/playback.ts +129 -0
- package/vendor/sdk/lib/realtime/socket.ts +117 -0
- package/vendor/sdk/lib/style.ts +45 -37
- package/vendor/sdk/lib/voiceService.ts +344 -0
- package/vendor/sdk/main.ts +107 -0
- package/vendor/sdk/mcpAppBridge.ts +125 -102
- package/vendor/sdk/pageInterfaces.ts +452 -0
- package/vendor/sdk/responseView.ts +193 -0
- package/vite.config.ts +3 -3
- package/vendor/sdk/appEngine.tsx +0 -395
- package/vendor/sdk/lib/UnoverseComponent.tsx +0 -325
- package/vendor/sdk/lib/app.tsx +0 -730
- package/vendor/sdk/lib/connection.tsx +0 -433
- package/vendor/sdk/lib/isolate.tsx +0 -70
- package/vendor/sdk/lib/orb/ThinkingOrb.tsx +0 -131
- package/vendor/sdk/lib/orb/theme.ts +0 -83
- package/vendor/sdk/lib/primitives.tsx +0 -943
- package/vendor/sdk/lib/realtime/useAudioCapture.ts +0 -237
- package/vendor/sdk/lib/realtime/useAudioPlayback.ts +0 -157
- package/vendor/sdk/lib/realtime/useRealtimeWebSocket.ts +0 -164
- package/vendor/sdk/lib/render.tsx +0 -244
- package/vendor/sdk/lib/streamed.tsx +0 -30
- package/vendor/sdk/lib/theme.ts +0 -55
- package/vendor/sdk/lib/transition/MountArrangement.tsx +0 -71
- package/vendor/sdk/lib/transition/index.ts +0 -9
- package/vendor/sdk/lib/transition/viewTransition.ts +0 -29
- package/vendor/sdk/lib/voice.tsx +0 -422
- package/vendor/sdk/main.tsx +0 -125
- package/vendor/sdk/pageInterfaces.tsx +0 -388
- package/vendor/sdk/responseView.tsx +0 -82
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
// Theme resolution: explicit prop → ancestor data-theme/.dark|.light
|
|
2
|
-
// class (watched live) → prefers-color-scheme (subscribed live).
|
|
3
|
-
// SSR-safe: everything runs in effects; the pre-mount fallback is dark.
|
|
4
|
-
|
|
5
|
-
import type { RefObject } from 'react';
|
|
6
|
-
import { useEffect, useState } from 'react';
|
|
7
|
-
import type { OrbTheme } from './types';
|
|
8
|
-
|
|
9
|
-
function ancestorTheme(el: Element | null): boolean | null {
|
|
10
|
-
let node: Element | null = el;
|
|
11
|
-
while (node) {
|
|
12
|
-
const attr = node.getAttribute('data-theme');
|
|
13
|
-
if (attr === 'dark') return true;
|
|
14
|
-
if (attr === 'light') return false;
|
|
15
|
-
if (node.classList.contains('dark')) return true;
|
|
16
|
-
if (node.classList.contains('light')) return false;
|
|
17
|
-
node = node.parentElement;
|
|
18
|
-
}
|
|
19
|
-
return null;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
function systemDark(): boolean {
|
|
23
|
-
return typeof matchMedia === 'undefined' || matchMedia('(prefers-color-scheme: dark)').matches;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
/** Resolve the effective dark/light substrate for a mounted element. */
|
|
27
|
-
export function useResolvedDark(theme: OrbTheme, hostRef: RefObject<Element | null>): boolean {
|
|
28
|
-
const [dark, setDark] = useState(true);
|
|
29
|
-
|
|
30
|
-
useEffect(() => {
|
|
31
|
-
if (theme === 'dark') {
|
|
32
|
-
setDark(true);
|
|
33
|
-
return;
|
|
34
|
-
}
|
|
35
|
-
if (theme === 'light') {
|
|
36
|
-
setDark(false);
|
|
37
|
-
return;
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
const resolve = () => {
|
|
41
|
-
const fromTree = ancestorTheme(hostRef.current);
|
|
42
|
-
setDark(fromTree ?? systemDark());
|
|
43
|
-
};
|
|
44
|
-
resolve();
|
|
45
|
-
|
|
46
|
-
// live OS/browser theme switches
|
|
47
|
-
const mq = typeof matchMedia !== 'undefined' ? matchMedia('(prefers-color-scheme: dark)') : null;
|
|
48
|
-
const onMq = () => resolve();
|
|
49
|
-
mq?.addEventListener('change', onMq);
|
|
50
|
-
|
|
51
|
-
// live app-level toggles: watch class/data-theme flips on ancestors
|
|
52
|
-
let mo: MutationObserver | null = null;
|
|
53
|
-
if (typeof MutationObserver !== 'undefined' && hostRef.current) {
|
|
54
|
-
mo = new MutationObserver(resolve);
|
|
55
|
-
mo.observe(document.documentElement, {
|
|
56
|
-
attributes: true,
|
|
57
|
-
attributeFilter: ['class', 'data-theme'],
|
|
58
|
-
subtree: true
|
|
59
|
-
});
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
return () => {
|
|
63
|
-
mq?.removeEventListener('change', onMq);
|
|
64
|
-
mo?.disconnect();
|
|
65
|
-
};
|
|
66
|
-
}, [theme, hostRef]);
|
|
67
|
-
|
|
68
|
-
return dark;
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
/** Live `prefers-reduced-motion` — reduced users get a static frame. */
|
|
72
|
-
export function useReducedMotion(): boolean {
|
|
73
|
-
const [reduced, setReduced] = useState(false);
|
|
74
|
-
useEffect(() => {
|
|
75
|
-
if (typeof matchMedia === 'undefined') return;
|
|
76
|
-
const mq = matchMedia('(prefers-reduced-motion: reduce)');
|
|
77
|
-
setReduced(mq.matches);
|
|
78
|
-
const on = (e: MediaQueryListEvent) => setReduced(e.matches);
|
|
79
|
-
mq.addEventListener('change', on);
|
|
80
|
-
return () => mq.removeEventListener('change', on);
|
|
81
|
-
}, []);
|
|
82
|
-
return reduced;
|
|
83
|
-
}
|