@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.
Files changed (79) hide show
  1. package/package.json +4 -2
  2. package/screens/AtomsView.tsx +2 -1
  3. package/screens/ComponentsView.tsx +2 -1
  4. package/screens/NativeAppHost.tsx +1 -2
  5. package/screens/TemplatesLibraryView.tsx +14 -1
  6. package/screens/TemplatesView.tsx +2 -1
  7. package/screens/index.ts +4 -0
  8. package/screens/react/unoverse.tsx +281 -0
  9. package/vendor/base/src/agent-mcp/index.ts +1 -1
  10. package/vendor/base/src/agent-mcp/invoke.ts +6 -2
  11. package/vendor/base/src/agent-mcp/tools.ts +14 -5
  12. package/vendor/base/src/agent-mcp/types.ts +6 -0
  13. package/vendor/base/src/auth/auth.ts +90 -23
  14. package/vendor/base/src/definitions/load/compile/sections.ts +79 -0
  15. package/vendor/base/src/definitions/load/compile/template.ts +23 -2
  16. package/vendor/base/src/definitions/model.ts +9 -0
  17. package/vendor/base/src/definitions/registry/catalog.ts +6 -7
  18. package/vendor/base/src/executor.ts +25 -1
  19. package/vendor/base/src/manifests/executor/toolBridge.ts +25 -19
  20. package/vendor/base/src/manifests/runtime/channels/final.ts +4 -1
  21. package/vendor/base/src/manifests/runtime/duplex/session.ts +3 -9
  22. package/vendor/base/src/manifests/runtime/tools/toolloop.ts +28 -25
  23. package/vendor/base/src/platform/serviceCalls.ts +13 -0
  24. package/vendor/sdk/appEngine.ts +363 -0
  25. package/vendor/sdk/lib/actions.ts +36 -0
  26. package/vendor/sdk/lib/citations.ts +48 -0
  27. package/vendor/sdk/lib/core/apps.ts +18 -0
  28. package/vendor/sdk/lib/core/client.ts +3 -3
  29. package/vendor/sdk/lib/core/store.ts +6 -0
  30. package/vendor/sdk/lib/dom/app.ts +546 -0
  31. package/vendor/sdk/lib/dom/chrome.ts +125 -0
  32. package/vendor/sdk/lib/dom/component.ts +333 -0
  33. package/vendor/sdk/lib/dom/connection.ts +309 -0
  34. package/vendor/sdk/lib/dom/element.ts +69 -0
  35. package/vendor/sdk/lib/dom/isolate.ts +37 -0
  36. package/vendor/sdk/lib/dom/markdown.ts +388 -0
  37. package/vendor/sdk/lib/dom/markdownParse.ts +440 -0
  38. package/vendor/sdk/lib/dom/mounted.ts +29 -0
  39. package/vendor/sdk/lib/dom/primitives.ts +689 -0
  40. package/vendor/sdk/lib/dom/region.ts +195 -0
  41. package/vendor/sdk/lib/dom/render.ts +177 -0
  42. package/vendor/sdk/lib/dom/theme.ts +38 -0
  43. package/vendor/sdk/lib/dom/types.ts +36 -0
  44. package/vendor/sdk/lib/index.ts +26 -17
  45. package/vendor/sdk/lib/orb/canvas.ts +139 -0
  46. package/vendor/sdk/lib/orb/index.ts +8 -18
  47. package/vendor/sdk/lib/orb/presets.ts +1 -1
  48. package/vendor/sdk/lib/orb/{types.ts → states.ts} +0 -24
  49. package/vendor/sdk/lib/realtime/capture.ts +152 -0
  50. package/vendor/sdk/lib/realtime/playback.ts +129 -0
  51. package/vendor/sdk/lib/realtime/socket.ts +117 -0
  52. package/vendor/sdk/lib/style.ts +45 -37
  53. package/vendor/sdk/lib/voiceService.ts +344 -0
  54. package/vendor/sdk/main.ts +107 -0
  55. package/vendor/sdk/mcpAppBridge.ts +125 -102
  56. package/vendor/sdk/pageInterfaces.ts +452 -0
  57. package/vendor/sdk/responseView.ts +193 -0
  58. package/vite.config.ts +3 -3
  59. package/vendor/sdk/appEngine.tsx +0 -395
  60. package/vendor/sdk/lib/UnoverseComponent.tsx +0 -325
  61. package/vendor/sdk/lib/app.tsx +0 -730
  62. package/vendor/sdk/lib/connection.tsx +0 -433
  63. package/vendor/sdk/lib/isolate.tsx +0 -70
  64. package/vendor/sdk/lib/orb/ThinkingOrb.tsx +0 -131
  65. package/vendor/sdk/lib/orb/theme.ts +0 -83
  66. package/vendor/sdk/lib/primitives.tsx +0 -943
  67. package/vendor/sdk/lib/realtime/useAudioCapture.ts +0 -237
  68. package/vendor/sdk/lib/realtime/useAudioPlayback.ts +0 -157
  69. package/vendor/sdk/lib/realtime/useRealtimeWebSocket.ts +0 -164
  70. package/vendor/sdk/lib/render.tsx +0 -244
  71. package/vendor/sdk/lib/streamed.tsx +0 -30
  72. package/vendor/sdk/lib/theme.ts +0 -55
  73. package/vendor/sdk/lib/transition/MountArrangement.tsx +0 -71
  74. package/vendor/sdk/lib/transition/index.ts +0 -9
  75. package/vendor/sdk/lib/transition/viewTransition.ts +0 -29
  76. package/vendor/sdk/lib/voice.tsx +0 -422
  77. package/vendor/sdk/main.tsx +0 -125
  78. package/vendor/sdk/pageInterfaces.tsx +0 -388
  79. 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
- }