sliccy 6.105.2 → 6.106.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 (97) hide show
  1. package/README.md +22 -20
  2. package/dist/node-server/electron-federated-cdp.d.ts +6 -4
  3. package/dist/ui/.vite/manifest.json +118 -118
  4. package/dist/ui/assets/{account-store-BaTmqQCH.js → account-store-B8Pfw-0V.js} +1 -1
  5. package/dist/ui/assets/account-store-Ll7wax8m.js +95 -0
  6. package/dist/ui/assets/adobe-BO7x6BuH.js +1 -0
  7. package/dist/ui/assets/{adobe-CH2DsFrY.js → adobe-BxRSM1Pj.js} +1 -1
  8. package/dist/ui/assets/{agent-panels-OnTGHQkG.js → agent-panels-g8G49oRT.js} +1 -1
  9. package/dist/ui/assets/{apply-layout-B4zUEdwn.js → apply-layout-C0TQPoEe.js} +1 -1
  10. package/dist/ui/assets/{apps-KhIC51KH.js → apps-PymeL9Xa.js} +1 -1
  11. package/dist/ui/assets/{azure-openai-DzFu6LbW.js → azure-openai-C7os7J_U.js} +1 -1
  12. package/dist/ui/assets/{azure-openai-uxQv3w4B.js → azure-openai-CAoXuOs-.js} +2 -2
  13. package/dist/ui/assets/{cerebras-uwqZLHdF.js → cerebras-cGiD1OCz.js} +1 -1
  14. package/dist/ui/assets/{cerebras-r-in8Inh.js → cerebras-xgGcVRkO.js} +1 -1
  15. package/dist/ui/assets/{connect-surface-COZ8qeD4.js → connect-surface-BAyj8na7.js} +1 -1
  16. package/dist/ui/assets/{fs-CiufgGRG.js → fs-BYPE2GBU.js} +2 -2
  17. package/dist/ui/assets/{fs-B7WAwF-q.js → fs-BjD4IFcY.js} +1 -1
  18. package/dist/ui/assets/{github-CUPlgkJ4.js → github-D54uhROe.js} +2 -2
  19. package/dist/ui/assets/github-DRjUqzVj.js +1 -0
  20. package/dist/ui/assets/{github-copilot-DnK9K-w0.js → github-copilot-QrDT0dY9.js} +1 -1
  21. package/dist/ui/assets/{github-copilot-BGah-ri-.js → github-copilot-bhxJ4Fea.js} +1 -1
  22. package/dist/ui/assets/{github-install-B3PxKIA9.js → github-install-gnC0Lqek.js} +1 -1
  23. package/dist/ui/assets/{github-zip-DlpU53sL.js → github-zip-BoeQELUI.js} +1 -1
  24. package/dist/ui/assets/{js-realm-worker-zKU0v1vE.js → js-realm-worker-DJSXeKmZ.js} +1 -1
  25. package/dist/ui/assets/{kernel-worker-v5zxjG5E.js → kernel-worker-BVymbN6I.js} +635 -635
  26. package/dist/ui/assets/{local-llm-D-etSg11.js → local-llm-ClcJIUQm.js} +1 -1
  27. package/dist/ui/assets/{local-llm-M_xiCmuW.js → local-llm-TTukOow-.js} +1 -1
  28. package/dist/ui/assets/{main-BcfY0APV.js → main-C_KLKdNT.js} +3 -3
  29. package/dist/ui/assets/{mount-Bx3D0gVr.js → mount-61x7SRyO.js} +2 -2
  30. package/dist/ui/assets/{mount-CHtLYCJk.js → mount-Rg_DgJfZ.js} +1 -1
  31. package/dist/ui/assets/{mount-recovery-DL9GlfHA.js → mount-recovery-X_7jd5Ca.js} +1 -1
  32. package/dist/ui/assets/{new-session-COA3q4w7.js → new-session-aYj3zOSa.js} +2 -2
  33. package/dist/ui/assets/{oauth-bootstrap-BPR0IgmZ.js → oauth-bootstrap-CdnaQjEw.js} +2 -2
  34. package/dist/ui/assets/{onboarding-orchestrator-5WhumpNJ.js → onboarding-orchestrator-BMcTSuyD.js} +1 -1
  35. package/dist/ui/assets/{openai-codex-pUiCqrNz.js → openai-codex-Dmivo_Gp.js} +1 -1
  36. package/dist/ui/assets/{openai-codex-CjwoH0Hy.js → openai-codex-x88G9BUn.js} +1 -1
  37. package/dist/ui/assets/{openrouter-CdL4vTyx.js → openrouter-BH2ZLksk.js} +1 -1
  38. package/dist/ui/assets/{openrouter-BCxd8O71.js → openrouter-BLqPXsSy.js} +1 -1
  39. package/dist/ui/assets/{openrouter-oauth-Dj48fB3X.js → openrouter-oauth-BnLCn_80.js} +1 -1
  40. package/dist/ui/assets/{openrouter-oauth-CsUVNT2k.js → openrouter-oauth-sxiHJdE7.js} +1 -1
  41. package/dist/ui/assets/{panel-rpc-handlers-QwtLrbX7.js → panel-rpc-handlers-dknr7VAo.js} +2 -2
  42. package/dist/ui/assets/{panelize-shell-CPME7tYP.js → panelize-shell-CiIlvObk.js} +1 -1
  43. package/dist/ui/assets/{provider-CR46uvW6.js → provider-BZRMPYnW.js} +1 -1
  44. package/dist/ui/assets/{provider-CKVeq844.js → provider-CU36fK-N.js} +2 -2
  45. package/dist/ui/assets/provider-settings-BjYnLtEv.js +1 -0
  46. package/dist/ui/assets/provider-store-access-JEOqKjQY.js +1 -0
  47. package/dist/ui/assets/provider-store-access-imP4Yxar.js +1 -0
  48. package/dist/ui/assets/{providers-Bpgm6hcR.js → providers-BHS1IUoy.js} +1 -1
  49. package/dist/ui/assets/{providers-N-GzEZuq.js → providers-DWrWxGe2.js} +2 -2
  50. package/dist/ui/assets/{quick-llm-Dx10uCk3.js → quick-llm-BMCZ2LzV.js} +1 -1
  51. package/dist/ui/assets/{recovery-screen-Xm3PO1gX.js → recovery-screen-DvgY0yhj.js} +1 -1
  52. package/dist/ui/assets/redirect-uri-DwIRNp6Y.js +1 -0
  53. package/dist/ui/assets/{run-Bu6cgQMI.js → run-BsDhczkr.js} +1 -1
  54. package/dist/ui/assets/{setup-feature-flags-remote-Cf37xnQ1.js → setup-feature-flags-remote-DvwkLrAn.js} +1 -1
  55. package/dist/ui/assets/sidecar-repair-VvVQ6ToZ.js +1 -0
  56. package/dist/ui/assets/{skills-Bm5AxgzO.js → skills-DKYOl-F5.js} +1 -1
  57. package/dist/ui/assets/slicc-version-Hr_m9p8L.js +1 -0
  58. package/dist/ui/assets/{state-CJZU3MUJ.js → state-DuedGt2p.js} +1 -1
  59. package/dist/ui/assets/{store-ByoR63_A.js → store-CHCgbnT-.js} +1 -1
  60. package/dist/ui/assets/{store-CKhg-xXm.js → store-QC-CzXzQ.js} +1 -1
  61. package/dist/ui/assets/{sudo-gXakxwpD.js → sudo-BJ8CEK3P.js} +1 -1
  62. package/dist/ui/assets/{sync-dialog-CtrrU_-X.js → sync-dialog-Qehw3mQD.js} +1 -1
  63. package/dist/ui/assets/{tray-sidecar-DP-OKeYT.js → tray-sidecar-DtT9uU9g.js} +1 -1
  64. package/dist/ui/assets/{upgrade-detection-4KedpK0u.js → upgrade-detection-C8jf14L4.js} +1 -1
  65. package/dist/ui/assets/{voice-reply-DJDzh5c_.js → voice-reply-B1kVlbBj.js} +1 -1
  66. package/dist/ui/assets/{wc-attach-CHoh_npa.js → wc-attach-XdX6eYQo.js} +2 -2
  67. package/dist/ui/assets/{wc-extension-DinzzE-u.js → wc-extension-CPwHtPzV.js} +2 -2
  68. package/dist/ui/assets/{wc-float-label-_5Qu7XYI.js → wc-float-label-CPvJ4KqB.js} +1 -1
  69. package/dist/ui/assets/{wc-floatbar-online-DdJjsUiB.js → wc-floatbar-online-xb8_BJUU.js} +1 -1
  70. package/dist/ui/assets/{wc-follower-orVLyho6.js → wc-follower-DCdJC8jL.js} +3 -3
  71. package/dist/ui/assets/{wc-follower-oauth-CQymgqdo.js → wc-follower-oauth-qVlXsjVO.js} +1 -1
  72. package/dist/ui/assets/{wc-live-Y30MNXP6.js → wc-live-CIvj4K_5.js} +6 -6
  73. package/dist/ui/assets/{wc-nav-CObJ1-cm.js → wc-nav-BNsPnWV1.js} +2 -2
  74. package/dist/ui/assets/{wc-onboarding-13bz6Y1P.js → wc-onboarding-BVAq5ev-.js} +2 -2
  75. package/dist/ui/assets/{wc-placeholder-DEerShZk.js → wc-placeholder-CgUmZZyG.js} +3 -3
  76. package/dist/ui/assets/{wc-settings-S7sjuH3z.js → wc-settings-DuWB_OaV.js} +3 -3
  77. package/dist/ui/assets/{wc-shell-DHFdDKPB.js → wc-shell-DMynRWff.js} +6 -6
  78. package/dist/ui/assets/{wc-shortcut-config-CY9y5JD2.js → wc-shortcut-config-GlDHZhHy.js} +1 -1
  79. package/dist/ui/assets/{wc-sprinkles-BX0o3VdV.js → wc-sprinkles-Dr1Lkgq8.js} +2 -2
  80. package/dist/ui/assets/{wc-transcript-export-BS7RBV-1.js → wc-transcript-export-BWRBvTzT.js} +2 -2
  81. package/dist/ui/assets/{wc-tray-CdT1k5xd.js → wc-tray-Cdy44C5u.js} +2 -2
  82. package/dist/ui/assets/welcome-detection-CmWVDuGh.js +1 -0
  83. package/dist/ui/assets/{xai-grok-DaoF-Hq_.js → xai-grok-CokTFH0m.js} +1 -1
  84. package/dist/ui/assets/{xai-grok-_z4Y3sUx.js → xai-grok-D5CjF6cu.js} +1 -1
  85. package/dist/ui/index.html +3 -3
  86. package/dist/ui/packages/webapp/index.html +3 -3
  87. package/package.json +2 -2
  88. package/dist/ui/assets/account-store-CHgSp6SB.js +0 -95
  89. package/dist/ui/assets/adobe-CpalWkIK.js +0 -1
  90. package/dist/ui/assets/github-C3CflEFq.js +0 -1
  91. package/dist/ui/assets/provider-settings-e94aWkxT.js +0 -1
  92. package/dist/ui/assets/provider-store-access-CamE9gn8.js +0 -1
  93. package/dist/ui/assets/provider-store-access-wSpMHw1M.js +0 -1
  94. package/dist/ui/assets/redirect-uri-BiQsjA10.js +0 -1
  95. package/dist/ui/assets/sidecar-repair-6yH0jK3Q.js +0 -1
  96. package/dist/ui/assets/slicc-version-rYLQXBjd.js +0 -1
  97. package/dist/ui/assets/welcome-detection-DbHTpMYI.js +0 -1
package/README.md CHANGED
@@ -187,29 +187,31 @@ Why the name? SLICC stands for **Self-Licking Ice Cream Cone**: a recursive syst
187
187
 
188
188
  ## Keyboard mode
189
189
 
190
- SLICC's main control is a text field, so it has no always-on shortcuts to collide with your typing. Instead it has a **mode**, like vim: press <kbd>Esc</kbd> to leave the composer and enter keyboard mode, and every key below is a bare letter. Press <kbd>Esc</kbd> again to leave (a second press is also what exits full screen the first one belongs to the mode). While the mode is on, a pill above the composer says so.
191
-
192
- | Key | Action |
193
- | ------------------------------------------ | ----------------------------------------------------------- |
194
- | <kbd>Esc</kbd> | Enter keyboard mode press again to leave |
195
- | <kbd>1</kbd>…<kbd>9</kbd> | Switch to that agent in the tab strip (<kbd>9</kbd> = last) |
196
- | <kbd>d</kbd> | Next agent, looping |
197
- | <kbd>c</kbd> or <kbd>⏎</kbd> | Back to the composer |
198
- | <kbd>n</kbd> | New conversation |
199
- | <kbd>b</kbd> | Toggle the left rail |
200
- | <kbd>x</kbd> | Toggle the right panel |
201
- | <kbd>f</kbd> | File browser |
202
- | <kbd>t</kbd> | Browser tabs |
203
- | <kbd>e</kbd> | Terminal |
204
- | <kbd>m</kbd> | Memory |
205
- | <kbd>s</kbd> | Sprinkles, looping |
206
- | <kbd>l</kbd> | Model picker |
207
- | <kbd>a</kbd> | Accounts |
208
- | <kbd>h</kbd>, <kbd>?</kbd> or <kbd>/</kbd> | This list, in an overlay |
190
+ SLICC's main control is a text field, so it has no always-on shortcuts to collide with your typing. Instead it has a **mode**, like vim and, like vim, the mode is where you rest: keyboard mode is on whenever nothing is focused for typing, and every key below is a bare letter. Press <kbd>Esc</kbd> to leave the composer for it, or just click somewhere that is not a text field. To type again, press <kbd>⏎</kbd> or <kbd>c</kbd> (or click into the composer). While the mode is on, a pill above the composer says so.
191
+
192
+ | Key | Action |
193
+ | ------------------------------------------ | -------------------------------------------------------------- |
194
+ | <kbd>Esc</kbd> | Leave the composer for keyboard mode (again: exit full screen) |
195
+ | <kbd>1</kbd>…<kbd>9</kbd> | Switch to that agent in the tab strip (<kbd>9</kbd> = last) |
196
+ | <kbd>d</kbd> | Next agent, looping |
197
+ | <kbd>c</kbd> or <kbd>⏎</kbd> | Back to the composer |
198
+ | <kbd>n</kbd> | New conversation |
199
+ | <kbd>b</kbd> | Toggle the left rail |
200
+ | <kbd>x</kbd> | Toggle the right panel |
201
+ | <kbd>f</kbd> | File browser |
202
+ | <kbd>t</kbd> | Browser tabs |
203
+ | <kbd>e</kbd> | Terminal |
204
+ | <kbd>m</kbd> | Memory |
205
+ | <kbd>s</kbd> | Sprinkles, looping |
206
+ | <kbd>l</kbd> | Model picker |
207
+ | <kbd>a</kbd> | Accounts |
208
+ | <kbd>h</kbd>, <kbd>?</kbd> or <kbd>/</kbd> | This list, in an overlay |
209
209
 
210
210
  Every key you press shows up as a cap on the pill — dimmed if it was not bound to anything, so a mistyped key reads as "that did nothing" rather than as a dead keyboard. The strip clears after a moment of quiet.
211
211
 
212
- Keys that navigate, or toggle chrome (digits, <kbd>d</kbd>, <kbd>b</kbd>, <kbd>x</kbd>, <kbd>s</kbd>, help), keep the mode on; anything that hands focus to a surface leaves it, as does clicking into any text field. Outside the mode nothing is intercepted at all. The overlay is also in the avatar menu, under **Keyboard mode**.
212
+ Keys that navigate, or toggle chrome (digits, <kbd>d</kbd>, <kbd>b</kbd>, <kbd>x</kbd>, <kbd>s</kbd>, help), keep the mode on; anything that hands focus to a text field leaves it, whether that is a shortcut, a click, or a panel that opens with a field ready. Inside a text field nothing is intercepted at all, and a focused button keeps its own <kbd>⏎</kbd> and <kbd>Space</kbd>. The overlay is also in the avatar menu, under **Keyboard mode**.
213
+
214
+ **Switching agents keeps your place.** The mode you were in when you left a cone is the mode you land back in: leave it typing and the caret is waiting in the new cone's composer, leave it in keyboard mode and the pill is still up. A scoop's transcript is read-only and has no composer at all, so it always puts you in keyboard mode — but it does not overwrite what you left behind, so cone → scoop → cone gives your caret back.
213
215
 
214
216
  **Rebinding.** The keys live in `/etc/slicc/keys.json` in the VFS, written the first time SLICC starts and never touched again — edit it and reload the tab. Each entry maps a key to a command (`"q": "terminal"`) and several keys can share one command. The file is applied _over_ the built-in keymap, so `null` removes a binding while deleting the line just restores its default — which is also how you inherit any keys a later version adds. The file lists every command it accepts. <kbd>Esc</kbd> and the digits are reserved. A bad line is skipped with a warning rather than costing you the rest of the file, and the help overlay always shows what is actually bound.
215
217
 
@@ -1,4 +1,4 @@
1
- import { type FollowerToLeaderMessage } from './_shared/index.js';
1
+ import { type CDPPayload, type FollowerToLeaderMessage } from './_shared/index.js';
2
2
  /** A CDP target as returned by `/json/list`. */
3
3
  export interface FederatedCdpInspectableTarget {
4
4
  id: string;
@@ -12,7 +12,8 @@ export interface FederatedCdpRequest {
12
12
  requestId: string;
13
13
  localTargetId: string;
14
14
  method: string;
15
- params?: Record<string, unknown>;
15
+ /** Per-method CDP params; shape is known only to the caller that issued the method. */
16
+ params?: CDPPayload;
16
17
  sessionId?: string;
17
18
  }
18
19
  /**
@@ -30,7 +31,7 @@ export declare function buildTargetsAdvertise(runtimeId: string, targets: Federa
30
31
  * oversize result is split into `chunkData` frames the leader reassembles.
31
32
  */
32
33
  export declare function buildCdpResponses(requestId: string, outcome: {
33
- result?: Record<string, unknown>;
34
+ result?: CDPPayload;
34
35
  error?: string;
35
36
  }): Array<Extract<FollowerToLeaderMessage, {
36
37
  type: 'cdp.response';
@@ -38,7 +39,8 @@ export declare function buildCdpResponses(requestId: string, outcome: {
38
39
  /** Translate a raw CDP event frame into a `cdp.event` tray-sync message. */
39
40
  export declare function buildCdpEvent(frame: {
40
41
  method: string;
41
- params?: Record<string, unknown>;
42
+ /** Per-method CDP event params; shape depends on `method`. */
43
+ params?: CDPPayload;
42
44
  sessionId?: string;
43
45
  }): Extract<FollowerToLeaderMessage, {
44
46
  type: 'cdp.event';