sliccy 6.164.0 → 6.164.1

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 (128) hide show
  1. package/dist/node-server/electron-main.js +37 -17
  2. package/dist/node-server/electron-runtime.d.ts +30 -0
  3. package/dist/node-server/electron-runtime.js +35 -0
  4. package/dist/ui/.vite/manifest.json +177 -177
  5. package/dist/ui/assets/SKILL-Bpepfqq0.js +1 -0
  6. package/dist/ui/assets/{account-store-CBY3YyfE.js → account-store-CScbFg3i.js} +1 -1
  7. package/dist/ui/assets/{account-store-CdHGZrlz.js → account-store-DEob4Tob.js} +1 -1
  8. package/dist/ui/assets/{adobe-BfBiFeVe.js → adobe-CgamcTLU.js} +1 -1
  9. package/dist/ui/assets/{adobe-B8OzsBk9.js → adobe-CjAD_QGX.js} +1 -1
  10. package/dist/ui/assets/{agent-bridge-apAD2zlj.js → agent-bridge-D_5Sd3oe.js} +1 -1
  11. package/dist/ui/assets/{agent-panels-ip1QGM2Z.js → agent-panels-XcqgFmF4.js} +1 -1
  12. package/dist/ui/assets/{apply-layout-lC_dUgdi.js → apply-layout-BDanZxtJ.js} +1 -1
  13. package/dist/ui/assets/{apps-DlsgxgzE.js → apps-CU2dHbHf.js} +1 -1
  14. package/dist/ui/assets/{azure-openai-CtwkdSlx.js → azure-openai-Cl5VKD9d.js} +1 -1
  15. package/dist/ui/assets/{azure-openai-B5vUcH8a.js → azure-openai-kjz9Dci1.js} +1 -1
  16. package/dist/ui/assets/{backend-hostfs-BUEDPPgD.js → backend-hostfs-DU0NS-tW.js} +1 -1
  17. package/dist/ui/assets/{budget-usage-source-YQ65i6-0.js → budget-usage-source-BW8-RCSb.js} +1 -1
  18. package/dist/ui/assets/{cdp-DoY_Kygx.js → cdp-Cry6h07Z.js} +1 -1
  19. package/dist/ui/assets/{cerebras-ZsgaJTxK.js → cerebras-CWXTOiZB.js} +1 -1
  20. package/dist/ui/assets/{cerebras-BpTqV_us.js → cerebras-DrMQuNWj.js} +1 -1
  21. package/dist/ui/assets/{composer-speech-XYmw5J9s.js → composer-speech-HE7hDylv.js} +1 -1
  22. package/dist/ui/assets/{connect-surface-Csrk0RmL.js → connect-surface-DTj_-b2c.js} +1 -1
  23. package/dist/ui/assets/{directed-approval-BLxAPkhv.js → directed-approval-D9smLm9q.js} +1 -1
  24. package/dist/ui/assets/{ensure-speech-assets-BJ5pZN_L.js → ensure-speech-assets-Bdq2ASEA.js} +1 -1
  25. package/dist/ui/assets/{fs-BBRFOmUm.js → fs-DZGgOIET.js} +1 -1
  26. package/dist/ui/assets/{fs-Bz1JQgaR.js → fs-Dlit1SL1.js} +2 -2
  27. package/dist/ui/assets/{github-OTXe-LSP.js → github-C5AdaH2F.js} +2 -2
  28. package/dist/ui/assets/{github-BMeZhOFD.js → github-CGPZBKqk.js} +1 -1
  29. package/dist/ui/assets/{github-auth-DvP0_G2g.js → github-auth-BEjdODKn.js} +1 -1
  30. package/dist/ui/assets/{github-copilot-CWWFynkJ.js → github-copilot-6b_0-c1B.js} +1 -1
  31. package/dist/ui/assets/{github-copilot-C8J7IhHM.js → github-copilot-D5K0xdpB.js} +1 -1
  32. package/dist/ui/assets/{github-install-BTtzCoTn.js → github-install-DLv9ZHaT.js} +1 -1
  33. package/dist/ui/assets/{github-zip-WrO8Zo7T.js → github-zip-pP3IhiBQ.js} +1 -1
  34. package/dist/ui/assets/{hear-BD2ya55R.js → hear-CybMJQVi.js} +1 -1
  35. package/dist/ui/assets/{help-KDB-Vuh7.js → help-C1nN0w8V.js} +1 -1
  36. package/dist/ui/assets/{installer-CDIFffvi.js → installer-Chacgw8i.js} +1 -1
  37. package/dist/ui/assets/{js-realm-worker-DQg3PHgr.js → js-realm-worker-AwpbqZPU.js} +1 -1
  38. package/dist/ui/assets/{kernel-worker-D9te0WoI.js → kernel-worker-BAcS3WAP.js} +34 -34
  39. package/dist/ui/assets/{lick-ws-bridge-BW8Z4-9B.js → lick-ws-bridge-BMov8z0m.js} +1 -1
  40. package/dist/ui/assets/{local-llm-Dfc1vCO8.js → local-llm-B7zAVGSm.js} +1 -1
  41. package/dist/ui/assets/{local-llm-D7W-UJXw.js → local-llm-ByCXv2P-.js} +1 -1
  42. package/dist/ui/assets/{main-cherry-B9V86O0D.js → main-cherry-BNWE5vJO.js} +1 -1
  43. package/dist/ui/assets/{main-BVAL4kVz.js → main-yKaIA_zV.js} +3 -3
  44. package/dist/ui/assets/{memory-curation-seam-CihyJX63.js → memory-curation-seam-BAJK5Abp.js} +1 -1
  45. package/dist/ui/assets/{mount-CN_XxPzU.js → mount-CTTWc8xh.js} +1 -1
  46. package/dist/ui/assets/{mount-DuqTt5Sv.js → mount-DvrzOwsL.js} +3 -3
  47. package/dist/ui/assets/{mount-recovery-C5s0Y9Bc.js → mount-recovery-T6cjQxeX.js} +1 -1
  48. package/dist/ui/assets/{new-session-CfEKTb-M.js → new-session-C4AXW_7S.js} +2 -2
  49. package/dist/ui/assets/{oauth-bootstrap-D2OhjkGi.js → oauth-bootstrap-mNVnQZ_Q.js} +2 -2
  50. package/dist/ui/assets/{onboarding-orchestrator-Cda3rzLd.js → onboarding-orchestrator-BwCfbdlW.js} +1 -1
  51. package/dist/ui/assets/{openai-codex-BmpC6lwv.js → openai-codex-DRyLvc3I.js} +1 -1
  52. package/dist/ui/assets/{openai-codex-qe6-Ji5S.js → openai-codex-Subg_Vg8.js} +1 -1
  53. package/dist/ui/assets/{openrouter-BGPCG25M.js → openrouter-B52vd-zH.js} +1 -1
  54. package/dist/ui/assets/{openrouter-CSuJy5vD.js → openrouter-D5mJU1oF.js} +1 -1
  55. package/dist/ui/assets/{openrouter-free-BDA7XB3r.js → openrouter-free-CKmFPQ3y.js} +1 -1
  56. package/dist/ui/assets/{openrouter-free-JNDoylhm.js → openrouter-free-CYBINFem.js} +1 -1
  57. package/dist/ui/assets/{openrouter-oauth-BZOFMARO.js → openrouter-oauth-BML-cBKi.js} +1 -1
  58. package/dist/ui/assets/{openrouter-oauth-BJTR_zb5.js → openrouter-oauth-BUFYoKT3.js} +1 -1
  59. package/dist/ui/assets/{opfs-mount-DJtQSHrW.js → opfs-mount-DmOQi3qJ.js} +1 -1
  60. package/dist/ui/assets/{panel-rpc-handlers-CDEaDnPD.js → panel-rpc-handlers-BG91KHPa.js} +2 -2
  61. package/dist/ui/assets/{panelize-shell-C1LVumgI.js → panelize-shell-CJS6Q9hY.js} +1 -1
  62. package/dist/ui/assets/{pi-edit-execution-BaVkDYjq.js → pi-edit-execution-NnXkvjSi.js} +1 -1
  63. package/dist/ui/assets/{provider-DfGJrOoa.js → provider-CbAKIAon.js} +1 -1
  64. package/dist/ui/assets/{provider-CA_iRcAt.js → provider-G-FXP5U3.js} +2 -2
  65. package/dist/ui/assets/provider-settings-BuhBOwFs.js +1 -0
  66. package/dist/ui/assets/provider-store-access-CrH5offR.js +1 -0
  67. package/dist/ui/assets/provider-store-access-DgZnuRxY.js +1 -0
  68. package/dist/ui/assets/{providers-DhhuAtMl.js → providers-BT71Fchh.js} +2 -2
  69. package/dist/ui/assets/{providers-6VX79myF.js → providers-C1P4Z_in.js} +1 -1
  70. package/dist/ui/assets/{quick-llm-COZh2SSW.js → quick-llm-BOu12xbc.js} +1 -1
  71. package/dist/ui/assets/{realm-inprocess-Dh_AdHj7.js → realm-inprocess-Bmsz-kPh.js} +1 -1
  72. package/dist/ui/assets/{recovery-screen-BBbao6gN.js → recovery-screen-D_LwQpCA.js} +1 -1
  73. package/dist/ui/assets/{run-DfKDx8_s.js → run-BFLhWKKw.js} +1 -1
  74. package/dist/ui/assets/{run-Bl6L0GI-.js → run-BGSKahNd.js} +1 -1
  75. package/dist/ui/assets/{run-CbSH8Bdv.js → run-_2GCYBFU.js} +2 -2
  76. package/dist/ui/assets/{session-jsonl-DgQ6q2Fc.js → session-jsonl-MJMdfn6X.js} +1 -1
  77. package/dist/ui/assets/{setup-feature-flags-remote-BxaukW3r.js → setup-feature-flags-remote-KCi8ndrR.js} +1 -1
  78. package/dist/ui/assets/{silent-renew-backoff-BsGAQZeF.js → silent-renew-backoff-B06r5ZL-.js} +1 -1
  79. package/dist/ui/assets/{skills-D4btb3Wt.js → skills-DWkSI8sH.js} +1 -1
  80. package/dist/ui/assets/slicc-version-DAFTorvi.js +1 -0
  81. package/dist/ui/assets/{snapshot--UIDixaB.js → snapshot-BykuJ4wW.js} +1 -1
  82. package/dist/ui/assets/{snapshot-features-BZ_-D0M8.js → snapshot-features-vq3FCiv5.js} +1 -1
  83. package/dist/ui/assets/{soundscape-DPX90h_c.js → soundscape-DQGEZGwB.js} +1 -1
  84. package/dist/ui/assets/{speak-Cw5B_Q22.js → speak-DivfwK0_.js} +1 -1
  85. package/dist/ui/assets/{sprinkle-manager-CYXM6n0K.js → sprinkle-manager-rSxSSd0J.js} +1 -1
  86. package/dist/ui/assets/{sprinkle-renderer-B14-XUx3.js → sprinkle-renderer-Ul_GPDpn.js} +3 -3
  87. package/dist/ui/assets/{state-DIgJ_b69.js → state-CGafQVGp.js} +1 -1
  88. package/dist/ui/assets/{store-BYwpBQuW.js → store-BbZGuhdS.js} +1 -1
  89. package/dist/ui/assets/{store-Cphoe-uL.js → store-qzvn3yV9.js} +1 -1
  90. package/dist/ui/assets/{sudo-CogI68HI.js → sudo-BLaOJiyv.js} +1 -1
  91. package/dist/ui/assets/{sync-dialog-CMUn0HCf.js → sync-dialog-CfQLao_i.js} +1 -1
  92. package/dist/ui/assets/{transformers-env-kaoD8l7R.js → transformers-env-7c5cDYNs.js} +1 -1
  93. package/dist/ui/assets/{tray-leader-CgnvydLO.js → tray-leader-DqDL2jwl.js} +1 -1
  94. package/dist/ui/assets/{tray-leave-runtime-Ov5BNunR.js → tray-leave-runtime-Fs59e1NT.js} +1 -1
  95. package/dist/ui/assets/{tray-sidecar-DQ1xdTAn.js → tray-sidecar-DuSizsy1.js} +1 -1
  96. package/dist/ui/assets/{upgrade-detection-DYFWw0Do.js → upgrade-detection-CyCnJlGg.js} +1 -1
  97. package/dist/ui/assets/{upskill-lick-skip-BKXsIoVT.js → upskill-lick-skip-B0aTroa_.js} +1 -1
  98. package/dist/ui/assets/{voice-reply-HQTkEU3b.js → voice-reply-BDW4paEk.js} +1 -1
  99. package/dist/ui/assets/{wc-attach-DS0ymJIi.js → wc-attach-C1JExhF6.js} +2 -2
  100. package/dist/ui/assets/{wc-detached-4qBBKQfS.js → wc-detached-YxBsBh4A.js} +1 -1
  101. package/dist/ui/assets/{wc-extension-OdTRvKHr.js → wc-extension-CVnsFSuW.js} +2 -2
  102. package/dist/ui/assets/{wc-follower-CDYDEX3q.js → wc-follower-CUovZlpa.js} +3 -3
  103. package/dist/ui/assets/{wc-follower-oauth-FAJ-8oSh.js → wc-follower-oauth-Bxhy8p-W.js} +1 -1
  104. package/dist/ui/assets/{wc-gelatiere-Cyjy2lYC.js → wc-gelatiere-CxkjwV-m.js} +1 -1
  105. package/dist/ui/assets/{wc-live-CiDekqwq.js → wc-live-br4wUYv7.js} +5 -5
  106. package/dist/ui/assets/{wc-nav-BupyVhXl.js → wc-nav-ChrnrxPa.js} +2 -2
  107. package/dist/ui/assets/{wc-onboarding-y2liOG37.js → wc-onboarding-D2v396gn.js} +2 -2
  108. package/dist/ui/assets/{wc-placeholder-B8R5KaxD.js → wc-placeholder-Bw-g85Ke.js} +3 -3
  109. package/dist/ui/assets/{wc-secret-request-D6EOmLi3.js → wc-secret-request-BK3k0VlW.js} +1 -1
  110. package/dist/ui/assets/{wc-settings-CFWPn-fG.js → wc-settings-D84UzOS6.js} +3 -3
  111. package/dist/ui/assets/{wc-shell-o6rKQRgX.js → wc-shell-CKhQ3qyn.js} +3 -3
  112. package/dist/ui/assets/{wc-shortcut-config-DxEuZ9-s.js → wc-shortcut-config-DFPLI7su.js} +1 -1
  113. package/dist/ui/assets/{wc-sprinkles-DEsgE1CS.js → wc-sprinkles-Cf6JnkDK.js} +2 -2
  114. package/dist/ui/assets/{wc-transcript-export-C3Fxf2xc.js → wc-transcript-export-BbJ1QcHb.js} +2 -2
  115. package/dist/ui/assets/{wc-tray-Dt0eKBpj.js → wc-tray-BEzyYj77.js} +4 -4
  116. package/dist/ui/assets/welcome-detection-DjgSxU4V.js +1 -0
  117. package/dist/ui/assets/{whisper-session-BNzx48ly.js → whisper-session-Ch3Rub5j.js} +2 -2
  118. package/dist/ui/assets/{xai-grok-AdQsoChZ.js → xai-grok-BT_WDAT_.js} +1 -1
  119. package/dist/ui/assets/{xai-grok-BynYLUjf.js → xai-grok-D4lk5fCR.js} +1 -1
  120. package/dist/ui/index.html +3 -3
  121. package/dist/ui/packages/webapp/index.html +3 -3
  122. package/package.json +1 -1
  123. package/dist/ui/assets/SKILL-D3-Y0muu.js +0 -1
  124. package/dist/ui/assets/provider-settings-C_voLVi4.js +0 -1
  125. package/dist/ui/assets/provider-store-access-BYmgL2cD.js +0 -1
  126. package/dist/ui/assets/provider-store-access-C9sKy_qn.js +0 -1
  127. package/dist/ui/assets/slicc-version-CCmW6y0r.js +0 -1
  128. package/dist/ui/assets/welcome-detection-D11211iR.js +0 -1
@@ -5,7 +5,7 @@ import { resolve } from 'path';
5
5
  import { fileURLToPath } from 'url';
6
6
  import { mintBridgeToken } from './bridge-security.js';
7
7
  import { BRIDGE_ROLE_LEADER, buildThinOverlayAppUrl, resolveHostedLeaderOrigin, } from './electron-controller.js';
8
- import { buildElectronOverlayInjectionCall, buildElectronServerSpawnConfig, getElectronOverlayEntryDistPath, getElectronServeOrigin, parseElectronFloatFlags, } from './electron-runtime.js';
8
+ import { buildElectronChildWindowOptions, buildElectronOverlayInjectionCall, buildElectronServerSpawnConfig, ELECTRON_FLOAT_WINDOW_BOX, getElectronOverlayEntryDistPath, getElectronServeOrigin, parseElectronFloatFlags, } from './electron-runtime.js';
9
9
  const Dirname = fileURLToPath(new URL('.', import.meta.url));
10
10
  const PROJECT_ROOT = resolve(Dirname, '..', '..');
11
11
  const FLAGS = parseElectronFloatFlags(process.argv.slice(2));
@@ -92,27 +92,47 @@ function configureElectronSession() {
92
92
  callback({ responseHeaders });
93
93
  });
94
94
  }
95
+ const FLOAT_WEB_PREFERENCES = {
96
+ partition: ELECTRON_PARTITION,
97
+ contextIsolation: true,
98
+ nodeIntegration: false,
99
+ sandbox: true,
100
+ allowRunningInsecureContent: true,
101
+ };
102
+ /**
103
+ * Overlay reinjection plus renderer-opened child windows, applied to every
104
+ * float window and, recursively, to every window it opens.
105
+ *
106
+ * Child windows are ALLOWED, not denied-and-replaced: a `{ action: 'deny' }`
107
+ * handler makes `window.open()` return `null` in the renderer even when the
108
+ * main process spawns a lookalike, so a full-document sprinkle could never get
109
+ * a handle or a sized window (Codex P1 on #3250). With `allow`, Electron
110
+ * creates the child from the parsed `features` string (width/height) and the
111
+ * renderer gets the real `Window` back. The override only adds the float's
112
+ * web preferences and, for featureless `target="_blank"` links, the default
113
+ * float box.
114
+ */
115
+ function wireFloatWindow(window) {
116
+ wireOverlayReinjection(window);
117
+ window.webContents.setWindowOpenHandler(({ features }) => ({
118
+ action: 'allow',
119
+ overrideBrowserWindowOptions: {
120
+ ...buildElectronChildWindowOptions(features),
121
+ webPreferences: FLOAT_WEB_PREFERENCES,
122
+ },
123
+ }));
124
+ window.webContents.on('did-create-window', (child) => {
125
+ wireFloatWindow(child);
126
+ });
127
+ }
95
128
  async function createFloatWindow(targetUrl) {
96
129
  const window = new BrowserWindow({
97
- width: 1440,
98
- height: 960,
99
- minWidth: 1024,
100
- minHeight: 720,
130
+ ...ELECTRON_FLOAT_WINDOW_BOX,
101
131
  autoHideMenuBar: true,
102
132
  title: 'slicc electron float',
103
- webPreferences: {
104
- partition: ELECTRON_PARTITION,
105
- contextIsolation: true,
106
- nodeIntegration: false,
107
- sandbox: true,
108
- allowRunningInsecureContent: true,
109
- },
110
- });
111
- wireOverlayReinjection(window);
112
- window.webContents.setWindowOpenHandler(({ url }) => {
113
- void createFloatWindow(url);
114
- return { action: 'deny' };
133
+ webPreferences: FLOAT_WEB_PREFERENCES,
115
134
  });
135
+ wireFloatWindow(window);
116
136
  try {
117
137
  await window.loadURL(targetUrl);
118
138
  }
@@ -71,6 +71,36 @@ export declare function buildElectronServerSpawnConfig(projectRoot: string, opti
71
71
  cdpPort: number;
72
72
  nodePath?: string;
73
73
  }): ElectronServerSpawnConfig;
74
+ /** Default float window box; also applied to child windows opened without a size. */
75
+ export declare const ELECTRON_FLOAT_WINDOW_BOX: {
76
+ readonly width: 1440;
77
+ readonly height: 960;
78
+ readonly minWidth: 1024;
79
+ readonly minHeight: 720;
80
+ };
81
+ export interface ElectronChildWindowOptions {
82
+ autoHideMenuBar: true;
83
+ width?: number;
84
+ height?: number;
85
+ minWidth?: number;
86
+ minHeight?: number;
87
+ }
88
+ /**
89
+ * Does a `window.open()` features string ask for a window size? Electron parses
90
+ * `width`/`height` (and the `innerWidth`/`innerHeight` aliases) from the
91
+ * comma-separated `key=value` list into `BrowserWindowConstructorOptions`.
92
+ */
93
+ export declare function windowOpenFeaturesRequestSize(features: string): boolean;
94
+ /**
95
+ * Options the Electron float's `setWindowOpenHandler` layers over a
96
+ * renderer-opened child window. Handler options OUTRANK the parsed features
97
+ * string, so this must not name a size when the opener asked for one:
98
+ * `window.open(url, name, 'popup=yes,width=1280,height=800')` (a sprinkle
99
+ * opening a fixed-size capture window) has to come out exactly 1280×800 with
100
+ * no min-size clamp. A featureless `target="_blank"` link keeps the full float
101
+ * box it always had.
102
+ */
103
+ export declare function buildElectronChildWindowOptions(features: string): ElectronChildWindowOptions;
74
104
  export declare function getElectronServeOrigin(servePort: number): string;
75
105
  export declare function getElectronOverlayEntryDistPath(projectRoot: string): string;
76
106
  /** Payload passed to `window.__SLICC_ELECTRON_OVERLAY__.inject()` — mirrors spoon's `InjectSliccLauncherOptions`. */
@@ -227,6 +227,41 @@ export function buildElectronServerSpawnConfig(projectRoot, options) {
227
227
  ],
228
228
  };
229
229
  }
230
+ /** Default float window box; also applied to child windows opened without a size. */
231
+ export const ELECTRON_FLOAT_WINDOW_BOX = {
232
+ width: 1440,
233
+ height: 960,
234
+ minWidth: 1024,
235
+ minHeight: 720,
236
+ };
237
+ const WINDOW_OPEN_SIZE_FEATURES = new Set(['width', 'height', 'innerwidth', 'innerheight']);
238
+ /**
239
+ * Does a `window.open()` features string ask for a window size? Electron parses
240
+ * `width`/`height` (and the `innerWidth`/`innerHeight` aliases) from the
241
+ * comma-separated `key=value` list into `BrowserWindowConstructorOptions`.
242
+ */
243
+ export function windowOpenFeaturesRequestSize(features) {
244
+ for (const entry of features.split(',')) {
245
+ const key = entry.split('=')[0]?.trim().toLowerCase();
246
+ if (key && WINDOW_OPEN_SIZE_FEATURES.has(key))
247
+ return true;
248
+ }
249
+ return false;
250
+ }
251
+ /**
252
+ * Options the Electron float's `setWindowOpenHandler` layers over a
253
+ * renderer-opened child window. Handler options OUTRANK the parsed features
254
+ * string, so this must not name a size when the opener asked for one:
255
+ * `window.open(url, name, 'popup=yes,width=1280,height=800')` (a sprinkle
256
+ * opening a fixed-size capture window) has to come out exactly 1280×800 with
257
+ * no min-size clamp. A featureless `target="_blank"` link keeps the full float
258
+ * box it always had.
259
+ */
260
+ export function buildElectronChildWindowOptions(features) {
261
+ if (windowOpenFeaturesRequestSize(features))
262
+ return { autoHideMenuBar: true };
263
+ return { autoHideMenuBar: true, ...ELECTRON_FLOAT_WINDOW_BOX };
264
+ }
230
265
  export function getElectronServeOrigin(servePort) {
231
266
  return `http://${DEFAULT_ELECTRON_SERVE_HOST}:${servePort}`;
232
267
  }