@runfusion/fusion 0.31.0 → 0.33.0

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 (77) hide show
  1. package/dist/bin.js +86685 -54527
  2. package/dist/client/.vite/manifest.json +549 -0
  3. package/dist/client/assets/{AgentDetailView-Dx7T1-gM.js → AgentDetailView-BACu9GYE.js} +3 -3
  4. package/dist/client/assets/{AgentPermissionPolicyEditor-Cbd6SG_T.css → AgentPermissionPolicyEditor-CGxjOr6G.css} +1 -1
  5. package/dist/client/assets/{AgentPermissionPolicyEditor-Ia7QkynK.js → AgentPermissionPolicyEditor-tNNlcCDk.js} +1 -1
  6. package/dist/client/assets/AgentsView-CPpHwjn3.js +29 -0
  7. package/dist/client/assets/ChatView-CCAUA7HB.js +6 -0
  8. package/dist/client/assets/DevServerView-BlxSS8Uu.js +1 -0
  9. package/dist/client/assets/{DevServerView-DlZpuAnj.css → DevServerView-VTQY28P7.css} +1 -1
  10. package/dist/client/assets/{DirectoryPicker-CIj3ZGKv.js → DirectoryPicker-ioTzF36r.js} +1 -1
  11. package/dist/client/assets/DocumentsView-CsDb8dPw.js +1 -0
  12. package/dist/client/assets/EvalsView-I0GhxVhm.js +1 -0
  13. package/dist/client/assets/{ExperimentalAgentOnboardingModal-U7fXDhhN.js → ExperimentalAgentOnboardingModal-Cr6g_jok.js} +2 -2
  14. package/dist/client/assets/GoalsView-Cg136Jcn.css +1 -0
  15. package/dist/client/assets/GoalsView-DXJxe6D4.js +1 -0
  16. package/dist/client/assets/InsightsView-BaIhzpvX.js +11 -0
  17. package/dist/client/assets/{InsightsView-B0J4mhzV.css → InsightsView-C9-mqVvf.css} +1 -1
  18. package/dist/client/assets/{MemoryView-D-HLtRrr.js → MemoryView-DlmcI0ca.js} +2 -2
  19. package/dist/client/assets/NodesView-vc4T0uCy.js +14 -0
  20. package/dist/client/assets/{PiExtensionsManager-DFAZAfNn.js → PiExtensionsManager-C0ljxGbt.js} +2 -2
  21. package/dist/client/assets/{PluginManager-DN1VG7Qm.js → PluginManager-D27abRF-.js} +1 -1
  22. package/dist/client/assets/ReliabilityView-C1C1j1SD.js +1 -0
  23. package/dist/client/assets/ReliabilityView-D9AsVv5l.css +1 -0
  24. package/dist/client/assets/ResearchView-BSpDz8YN.js +1 -0
  25. package/dist/client/assets/SecretsView-BmCemEu8.js +1 -0
  26. package/dist/client/assets/SecretsView-D5bHZ-wM.css +1 -0
  27. package/dist/client/assets/SettingsModal-0gevFhXV.css +1 -0
  28. package/dist/client/assets/{SettingsModal-1Y8N6MkL.css → SettingsModal-DZrJ5PFH.css} +1 -1
  29. package/dist/client/assets/{SettingsModal-BRRPoxku.js → SettingsModal-DvmwpEUE.js} +1 -1
  30. package/dist/client/assets/SettingsModal-m3KMs_uS.js +31 -0
  31. package/dist/client/assets/{SetupWizardModal-B4eA3bpz.js → SetupWizardModal-CDfZpkB7.js} +1 -1
  32. package/dist/client/assets/{SkillsView-DZIfZoF5.js → SkillsView-BCpa_vud.js} +1 -1
  33. package/dist/client/assets/{StashRecoveryView-mKXYsqam.js → StashRecoveryView-BYLja93K.js} +1 -1
  34. package/dist/client/assets/TodoView-lbnG-8cZ.js +6 -0
  35. package/dist/client/assets/{dashboard-view-DOY8-BIx.js → dashboard-view-CY6MGQbI.js} +1 -1
  36. package/dist/client/assets/{folder-open-C_fxRMq1.js → folder-open-CZghG0dv.js} +1 -1
  37. package/dist/client/assets/index-lDPXOH7J.css +1 -0
  38. package/dist/client/assets/index-tJzhtiGM.js +742 -0
  39. package/dist/client/assets/{upload-xjku_93-.js → upload-L7aDk8Xn.js} +1 -1
  40. package/dist/client/assets/{users-CbALDtDk.js → users-DoWKt94F.js} +1 -1
  41. package/dist/client/index.html +115 -28
  42. package/dist/client/version.json +1 -1
  43. package/dist/droid-cli/package.json +1 -1
  44. package/dist/extension.js +69752 -41465
  45. package/dist/pi-claude-cli/package.json +1 -1
  46. package/dist/plugins/fusion-plugin-cli-printing-press/package.json +1 -1
  47. package/dist/plugins/fusion-plugin-cursor-runtime/package.json +1 -1
  48. package/dist/plugins/fusion-plugin-dependency-graph/package.json +1 -1
  49. package/dist/plugins/fusion-plugin-droid-runtime/package.json +1 -1
  50. package/dist/plugins/fusion-plugin-hermes-runtime/package.json +1 -1
  51. package/dist/plugins/fusion-plugin-openclaw-runtime/package.json +1 -1
  52. package/dist/plugins/fusion-plugin-paperclip-runtime/package.json +1 -1
  53. package/dist/plugins/fusion-plugin-reports/package.json +1 -1
  54. package/dist/plugins/fusion-plugin-roadmap/package.json +1 -1
  55. package/dist/plugins/fusion-plugin-whatsapp-chat/package.json +1 -1
  56. package/package.json +1 -1
  57. package/skill/fusion/SKILL.md +1 -1
  58. package/skill/fusion/references/cli-commands.md +1 -1
  59. package/skill/fusion/references/engine-tools.md +1 -0
  60. package/skill/fusion/references/extension-tools.md +13 -2
  61. package/skill/fusion/references/fusion-capabilities.md +3 -2
  62. package/skill/fusion/workflows/task-management.md +1 -1
  63. package/dist/client/assets/AgentsView-DBbdPWV-.js +0 -34
  64. package/dist/client/assets/ChatView-DYpoWnCc.js +0 -1
  65. package/dist/client/assets/DevServerView-DotHOFZt.js +0 -1
  66. package/dist/client/assets/DocumentsView-Dt27gDYa.js +0 -1
  67. package/dist/client/assets/EvalsView-HfWTc8Uv.js +0 -1
  68. package/dist/client/assets/InsightsView-C8bsAlMv.js +0 -11
  69. package/dist/client/assets/NodesView-w3ms-XX2.js +0 -14
  70. package/dist/client/assets/ReliabilityView-D0Rtd7pX.css +0 -1
  71. package/dist/client/assets/ReliabilityView-DAuqE-zi.js +0 -1
  72. package/dist/client/assets/ResearchView-YoxEFtNB.js +0 -1
  73. package/dist/client/assets/SettingsModal-B86XhYB1.js +0 -31
  74. package/dist/client/assets/SettingsModal-sp7SNwS9.css +0 -1
  75. package/dist/client/assets/TodoView-C6sLLEQu.js +0 -6
  76. package/dist/client/assets/index-DTFPgu6_.js +0 -695
  77. package/dist/client/assets/index-DdvAZIzj.css +0 -1
@@ -1,4 +1,4 @@
1
- import{c as a}from"./index-DTFPgu6_.js";/**
1
+ import{c as a}from"./index-tJzhtiGM.js";/**
2
2
  * @license lucide-react v1.7.0 - ISC
3
3
  *
4
4
  * This source code is licensed under the ISC license.
@@ -1,4 +1,4 @@
1
- import{c as e}from"./index-DTFPgu6_.js";/**
1
+ import{c as e}from"./index-tJzhtiGM.js";/**
2
2
  * @license lucide-react v1.7.0 - ISC
3
3
  *
4
4
  * This source code is licensed under the ISC license.
@@ -3,7 +3,106 @@
3
3
  <head>
4
4
  <meta charset="UTF-8" />
5
5
  <!-- Viewport configured for Capacitor mobile webview: disables pinch-zoom for app-like feel -->
6
- <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no, viewport-fit=cover" />
6
+ <!-- interactive-widget=resizes-content: Android Chrome shrinks the layout
7
+ viewport when the soft keyboard opens, matching iOS behavior. Without
8
+ this, Chrome decouples layout viewport (innerHeight) from visual
9
+ viewport, leaving innerHeight stale and breaking keyboard-overlap math. -->
10
+ <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no, viewport-fit=cover, interactive-widget=resizes-content" />
11
+ <script>
12
+ // Android Chrome (multi-window / split-screen / certain WebView modes)
13
+ // can leave the initial containing block (window.innerWidth/Height)
14
+ // stuck larger than the actual rendered canvas, while the DOM,
15
+ // visualViewport, and body all report the true dimensions. JS cannot
16
+ // force Chrome to recompute the ICB (neither setAttribute nor full
17
+ // element replacement of <meta viewport> works on those builds). So
18
+ // we publish the ICB→visible-viewport delta as CSS variables and
19
+ // `position: fixed` elements (nav bar, status bar) compensate via
20
+ // `bottom: var(--icb-bottom-offset)` etc. Healthy browsers see 0px.
21
+ (function () {
22
+ if (typeof window === 'undefined') return;
23
+ var apply = function () {
24
+ var vv = window.visualViewport;
25
+ var de = document.documentElement;
26
+ if (!de) return;
27
+ var innerW = window.innerWidth;
28
+ var innerH = window.innerHeight;
29
+ // Position relative to the visual viewport (what the user actually
30
+ // sees). This works correctly across states:
31
+ // - Healthy: vv == ICB, offsets are 0.
32
+ // - Chrome ICB-stuck-large bug: vv smaller than ICB → offset > 0
33
+ // pulls fixed elements up/left into the visible area.
34
+ // - Pinch-zoom in: vv smaller than ICB → ditto.
35
+ // - Pinch-zoom out: vv larger than ICB → offsets clamp at 0.
36
+ var vvW = vv ? Math.round(vv.width) : innerW;
37
+ var vvH = vv ? Math.round(vv.height) : innerH;
38
+ var vvOffTop = vv ? vv.offsetTop : 0;
39
+ var vvOffLeft = vv ? vv.offsetLeft : 0;
40
+ var rightOffset = Math.max(0, innerW - vvOffLeft - vvW);
41
+ var bottomOffset = Math.max(0, innerH - vvOffTop - vvH);
42
+ de.style.setProperty('--icb-right-offset', rightOffset + 'px');
43
+ de.style.setProperty('--icb-bottom-offset', bottomOffset + 'px');
44
+ };
45
+ window.addEventListener('orientationchange', apply);
46
+ window.addEventListener('resize', apply);
47
+ if (window.visualViewport) {
48
+ window.visualViewport.addEventListener('resize', apply);
49
+ window.visualViewport.addEventListener('scroll', apply);
50
+ }
51
+ apply();
52
+ // Tail: ICB can drift after task content renders.
53
+ setTimeout(apply, 100);
54
+ setTimeout(apply, 500);
55
+ setTimeout(apply, 1500);
56
+ setTimeout(apply, 3000);
57
+ })();
58
+ </script>
59
+ <script>
60
+ // Append ?vpdebug to the URL to show a fixed overlay with live viewport
61
+ // + media-query state. Diagnostic only.
62
+ (function () {
63
+ if (!/[?&]vpdebug\b/.test(location.search)) return;
64
+ var box = document.createElement('div');
65
+ box.style.cssText =
66
+ 'position:fixed;top:0;right:0;z-index:2147483647;background:#000;color:#0f0;font:11px/1.3 monospace;padding:6px 8px;border:1px solid #0f0;white-space:pre;pointer-events:none;max-width:70vw;';
67
+ var update = function () {
68
+ if (document.body && box.parentNode !== document.body) document.body.appendChild(box);
69
+ var vv = window.visualViewport;
70
+ var nav = document.querySelector('.mobile-nav-bar');
71
+ var navInfo = 'null';
72
+ if (nav) {
73
+ var r = nav.getBoundingClientRect();
74
+ var cs = window.getComputedStyle(nav);
75
+ navInfo = Math.round(r.width) + 'x' + Math.round(r.height) + ' disp=' + cs.display + ' vis=' + cs.visibility;
76
+ }
77
+ var mqMobile768 = window.matchMedia('(max-width: 768px)').matches;
78
+ var mqMobileH = window.matchMedia('(max-height: 480px)').matches;
79
+ var mqMobileCombo = window.matchMedia('(max-width: 768px), (max-height: 480px)').matches;
80
+ var mqTablet = window.matchMedia('(min-width: 769px) and (max-width: 1024px)').matches;
81
+ box.textContent =
82
+ 'win ' + window.innerWidth + 'x' + window.innerHeight + '\n' +
83
+ 'vv ' + (vv ? Math.round(vv.width) + 'x' + Math.round(vv.height) + ' s' + vv.scale.toFixed(2) : 'n/a') + '\n' +
84
+ 'dpr ' + window.devicePixelRatio + '\n' +
85
+ 'html ' + document.documentElement.clientWidth + 'x' + document.documentElement.clientHeight + '\n' +
86
+ 'body ' + (document.body ? document.body.clientWidth + 'x' + document.body.clientHeight : 'n/a') + '\n' +
87
+ 'mq w<=768 ' + mqMobile768 + '\n' +
88
+ 'mq h<=480 ' + mqMobileH + '\n' +
89
+ 'mq combo ' + mqMobileCombo + '\n' +
90
+ 'mq tablet ' + mqTablet + '\n' +
91
+ 'nav ' + navInfo + '\n' +
92
+ 'orient ' + (screen.orientation ? screen.orientation.type : 'n/a');
93
+ };
94
+ var attach = function () {
95
+ if (!document.body) { requestAnimationFrame(attach); return; }
96
+ document.body.appendChild(box);
97
+ update();
98
+ setInterval(update, 500);
99
+ window.addEventListener('resize', update);
100
+ window.addEventListener('orientationchange', update);
101
+ if (window.visualViewport) window.visualViewport.addEventListener('resize', update);
102
+ };
103
+ attach();
104
+ })();
105
+ </script>
7
106
  <title>Fusion</title>
8
107
  <link rel="icon" type="image/svg+xml" href="/logo.svg" />
9
108
  <link rel="manifest" href="/manifest.json" />
@@ -38,8 +137,6 @@
38
137
  document.documentElement.setAttribute('data-theme', effectiveMode);
39
138
  document.documentElement.setAttribute('data-color-theme', colorTheme);
40
139
  document.documentElement.style.fontSize = fontScale + '%';
41
- // Load theme-data.css for non-default themes to prevent flash
42
- // This logic mirrors app/hooks/useTheme.ts#getThemeDataUrl()
43
140
  if (colorTheme !== 'default') {
44
141
  var base = document.baseURI || (document.location && document.location.href) || '';
45
142
  var themeDataUrl;
@@ -48,33 +145,20 @@
48
145
  } else if (base.indexOf('http://') === 0 || base.indexOf('https://') === 0) {
49
146
  themeDataUrl = new URL('/theme-data.css', base).toString();
50
147
  } else if (base.indexOf('file://') === 0) {
51
- themeDataUrl = base.endsWith('/')
52
- ? base.slice(0, -1) + '/theme-data.css'
53
- : base.replace(/\/[^\/]+$/, '/theme-data.css');
148
+ if (base.endsWith('/')) {
149
+ themeDataUrl = base.slice(0, -1) + '/theme-data.css';
150
+ } else {
151
+ var lastSlashIndex = base.lastIndexOf('/');
152
+ themeDataUrl = lastSlashIndex >= 0
153
+ ? base.slice(0, lastSlashIndex) + '/theme-data.css'
154
+ : '/theme-data.css';
155
+ }
54
156
  } else {
55
157
  themeDataUrl = '/theme-data.css';
56
158
  }
57
-
58
- // Check for existing link and update href if stale
59
159
  var existingLink = document.getElementById('theme-data');
60
- if (existingLink && existingLink.tagName === 'LINK') {
61
- // Update href if it differs (handles baseURI changes between loads)
62
- if (existingLink.href !== themeDataUrl) {
63
- existingLink.href = themeDataUrl;
64
- }
65
- // Move existing link to end of <head> for CSS cascade correctness.
66
- // This ensures color-theme rules take precedence over base token
67
- // redefinitions in subsequent stylesheets.
68
- if (existingLink.parentNode === document.head && document.head.lastChild !== existingLink) {
69
- document.head.appendChild(existingLink);
70
- }
71
- } else {
72
- // No existing link - create one
73
- var link = document.createElement('link');
74
- link.rel = 'stylesheet';
75
- link.href = themeDataUrl;
76
- link.id = 'theme-data';
77
- document.head.appendChild(link);
160
+ if (existingLink && existingLink.tagName === 'LINK' && existingLink.href !== themeDataUrl) {
161
+ existingLink.href = themeDataUrl;
78
162
  }
79
163
  }
80
164
  } catch (e) {
@@ -84,12 +168,15 @@
84
168
  }
85
169
  })();
86
170
  </script>
87
- <script type="module" crossorigin src="/assets/index-DTFPgu6_.js"></script>
171
+ <!-- fusion:view-preload -->
172
+
173
+ <script type="module" crossorigin src="/assets/index-tJzhtiGM.js"></script>
88
174
  <link rel="modulepreload" crossorigin href="/assets/vendor-react-K0fH_qHe.js">
89
175
  <link rel="modulepreload" crossorigin href="/assets/vendor-xterm-DzcZoU0P.js">
90
176
  <link rel="modulepreload" crossorigin href="/assets/vendor-codemirror-jBKmHyH0.js">
91
177
  <link rel="stylesheet" crossorigin href="/assets/vendor-xterm-LZoznX6r.css">
92
- <link rel="stylesheet" crossorigin href="/assets/index-DdvAZIzj.css">
178
+ <link rel="stylesheet" crossorigin href="/assets/index-lDPXOH7J.css">
179
+ <link rel="stylesheet" href="/theme-data.css" id="theme-data" />
93
180
  </head>
94
181
  <body>
95
182
  <div id="root"></div>
@@ -1 +1 @@
1
- {"version":"236ce62ef-f6a4fbd5"}
1
+ {"version":"8741ea0f5-f707ad90"}
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fusion/droid-cli",
3
- "version": "0.11.17",
3
+ "version": "0.11.19",
4
4
  "description": "First-party Fusion pi extension that routes LLM calls through the Droid CLI subprocess.",
5
5
  "license": "MIT",
6
6
  "private": true,