sliccy 6.76.0 → 6.78.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 (124) hide show
  1. package/dist/node-server/_shared/agent-wire-types.d.ts +28 -0
  2. package/dist/node-server/_shared/agent-wire-types.d.ts.map +1 -1
  3. package/dist/node-server/bridge-security.js +1 -1
  4. package/dist/node-server/fetch-proxy-headers.d.ts +7 -0
  5. package/dist/node-server/fetch-proxy-headers.js +7 -0
  6. package/dist/node-server/routes/fetch-proxy.js +18 -1
  7. package/dist/ui/.vite/manifest.json +233 -233
  8. package/dist/ui/assets/{account-store-BxGdz4En.js → account-store-BYQKqAgp.js} +3 -3
  9. package/dist/ui/assets/{account-store-BOO_CzoH.js → account-store-DxVNrRBU.js} +2 -2
  10. package/dist/ui/assets/{adobe-BS726v5F.js → adobe-DgvyQkR3.js} +2 -2
  11. package/dist/ui/assets/{adobe-DRIeZ7SH.js → adobe-d0FS6rbN.js} +1 -1
  12. package/dist/ui/assets/{apply-layout-8FDKkAyS.js → apply-layout-BR2L_XAe.js} +1 -1
  13. package/dist/ui/assets/{apps-Dy99L1_j.js → apps-yCWHyFOJ.js} +1 -1
  14. package/dist/ui/assets/{azure-openai-CSLwIPI9.js → azure-openai-BzlubeJS.js} +1 -1
  15. package/dist/ui/assets/{azure-openai-2PeEIEpE.js → azure-openai-DUj5um3l.js} +1 -1
  16. package/dist/ui/assets/{cerebras-Ba7Z9duV.js → cerebras-GaJLd0iF.js} +1 -1
  17. package/dist/ui/assets/{cerebras-QV_fd2ps.js → cerebras-LxIEL_2m.js} +1 -1
  18. package/dist/ui/assets/{client-BGJKiXya.js → client-BTUV7dbh.js} +1 -1
  19. package/dist/ui/assets/{composer-speech-faUgsBUj.js → composer-speech-SNeD5SER.js} +1 -1
  20. package/dist/ui/assets/{connect-surface-CTu0wr2Y.js → connect-surface-n0EhwnRN.js} +1 -1
  21. package/dist/ui/assets/{cost-command-AOg9dLn6.js → cost-command-Be2VSQE-.js} +1 -1
  22. package/dist/ui/assets/{discovery-preference-DnRQbFjv.js → discovery-preference-fqUhjzeE.js} +1 -1
  23. package/dist/ui/assets/{dist-BC2_PL11.js → dist-BgBby8A3.js} +2 -2
  24. package/dist/ui/assets/{dist-R_O83owj.js → dist-CUNJrB-E.js} +2 -2
  25. package/dist/ui/assets/{dist-lsxvfsEu.js → dist-DflFofKs.js} +1 -1
  26. package/dist/ui/assets/{dist-CbS97zBQ.js → dist-lpaE9omP.js} +1 -1
  27. package/dist/ui/assets/{ensure-speech-assets-tfN1ILpq.js → ensure-speech-assets-DDGWBTuw.js} +1 -1
  28. package/dist/ui/assets/{float-topology-BX3WJDxo.js → float-topology-BgioAcOd.js} +1 -1
  29. package/dist/ui/assets/{follower-navigate-watcher-B9JWWBt4.js → follower-navigate-watcher-CNC7ybEv.js} +1 -1
  30. package/dist/ui/assets/fs-M8pR-IYy.js +1 -0
  31. package/dist/ui/assets/fs-k3SuP720.js +2 -0
  32. package/dist/ui/assets/{github-BjNCMOTH.js → github-CSrhTw9O.js} +1 -1
  33. package/dist/ui/assets/{github-copilot-7vobYWUU.js → github-copilot-BMoQjC4H.js} +1 -1
  34. package/dist/ui/assets/{github-copilot-DlzADrSr.js → github-copilot-Cr-fq2Ji.js} +1 -1
  35. package/dist/ui/assets/{github-DGwuCXij.js → github-hM4cqkpY.js} +2 -2
  36. package/dist/ui/assets/{github-install-B8nRAI8z.js → github-install-BQa8EEjK.js} +1 -1
  37. package/dist/ui/assets/{github-zip-7k6aGRi5.js → github-zip-BDtWVoGh.js} +1 -1
  38. package/dist/ui/assets/{hear-BUBmK8Kl.js → hear-D33CHppO.js} +1 -1
  39. package/dist/ui/assets/{host-command-CzRn3Wvz.js → host-command-BsHBnvjR.js} +1 -1
  40. package/dist/ui/assets/{js-realm-worker-BH_Uhjou.js → js-realm-worker-CN4kgXJf.js} +1 -1
  41. package/dist/ui/assets/{kernel-worker-COfVGbIN.js → kernel-worker-BH0rEmWC.js} +658 -657
  42. package/dist/ui/assets/{lick-urls-DEfVsxzt.js → lick-urls-AW0BSaf4.js} +1 -1
  43. package/dist/ui/assets/{lick-ws-bridge-DZ5pLaXa.js → lick-ws-bridge-CWRES2H2.js} +1 -1
  44. package/dist/ui/assets/{lick-ws-bridge-C5jpbwXT.js → lick-ws-bridge-DiPcVRfN.js} +1 -1
  45. package/dist/ui/assets/{local-llm-CDx8pQEL.js → local-llm-CiXCcmVr.js} +1 -1
  46. package/dist/ui/assets/{local-llm-Ca41QR9W.js → local-llm-D256GT_v.js} +1 -1
  47. package/dist/ui/assets/{main-CBjLDGjV.js → main-BS0D26py.js} +3 -3
  48. package/dist/ui/assets/{mount-BNWucV-S.js → mount-B9_3ZQzT.js} +2 -2
  49. package/dist/ui/assets/{mount-bridge-client-CdactLBz.js → mount-bridge-client-4blXuJO1.js} +1 -1
  50. package/dist/ui/assets/{mount-recovery-B1Eib3Wt.js → mount-recovery-BZ_CHinL.js} +1 -1
  51. package/dist/ui/assets/{mount-Dcl0CQrv.js → mount-tfINOI55.js} +1 -1
  52. package/dist/ui/assets/{new-session-CGv5e7P7.js → new-session-B-Hg54W3.js} +2 -2
  53. package/dist/ui/assets/{oauth-bootstrap-DBbtYdzz.js → oauth-bootstrap-Cm9RUT-G.js} +2 -2
  54. package/dist/ui/assets/{oauth-service-DNcIcWT8.js → oauth-service-Bbrrl8Mr.js} +1 -1
  55. package/dist/ui/assets/{oauth-service-C9Jn4g2n.js → oauth-service-Cy5ngmcU.js} +1 -1
  56. package/dist/ui/assets/{openai-codex-BTUlRTto.js → openai-codex-BwJnndoW.js} +1 -1
  57. package/dist/ui/assets/{openai-codex-CZs8JRSw.js → openai-codex-SI6Y9VIv.js} +1 -1
  58. package/dist/ui/assets/{openrouter-Bvd2Eqif.js → openrouter-75bG7oVb.js} +1 -1
  59. package/dist/ui/assets/{openrouter-DYhI1zom.js → openrouter-CCkgw1Hq.js} +1 -1
  60. package/dist/ui/assets/{openrouter-oauth-DK-5hp2X.js → openrouter-oauth-BsRxdUIm.js} +1 -1
  61. package/dist/ui/assets/{openrouter-oauth-C6mgQiRV.js → openrouter-oauth-CxKccPms.js} +1 -1
  62. package/dist/ui/assets/{page-approval-service-BwheP_IN.js → page-approval-service-Bbc3_KdK.js} +1 -1
  63. package/dist/ui/assets/{panel-rpc-handlers-BXCRWF2E.js → panel-rpc-handlers-PZanZLgN.js} +2 -2
  64. package/dist/ui/assets/{port-bridge-client-CqQzd6rs.js → port-bridge-client-BbVs1yhx.js} +1 -1
  65. package/dist/ui/assets/{port-bridge-client-VUdCD0pB.js → port-bridge-client-DxYLF2-N.js} +1 -1
  66. package/dist/ui/assets/{provider-xByUgvpM.js → provider-CCymriTA.js} +1 -1
  67. package/dist/ui/assets/{provider-DxVWgpTU.js → provider-D7o2EKwf.js} +2 -2
  68. package/dist/ui/assets/{provider-settings-BWmqGvFK.js → provider-settings-DEB4b4aJ.js} +1 -1
  69. package/dist/ui/assets/{provider-settings-DByKbVop.js → provider-settings-TzcAGHan.js} +2 -2
  70. package/dist/ui/assets/{provider-store-access-BQfEu3u9.js → provider-store-access-BAr3RNys.js} +2 -2
  71. package/dist/ui/assets/provider-store-access-DI_9BT-e.js +1 -0
  72. package/dist/ui/assets/{providers-Db_Doqrk.js → providers-COBW-XCJ.js} +2 -2
  73. package/dist/ui/assets/{providers-DH1Mhm__.js → providers-NPujfHKb.js} +1 -1
  74. package/dist/ui/assets/proxied-fetch-B4g-4VbQ.js +2 -0
  75. package/dist/ui/assets/proxied-fetch-n2pCvcgW.js +1 -0
  76. package/dist/ui/assets/{quick-llm-nv9Pz0pZ.js → quick-llm-DDn8RKhn.js} +1 -1
  77. package/dist/ui/assets/{recovery-screen-0OnsBXuN.js → recovery-screen-DIiiwxvZ.js} +1 -1
  78. package/dist/ui/assets/{redirect-uri-DVwxCbAH.js → redirect-uri-DMl66Kja.js} +1 -1
  79. package/dist/ui/assets/{secret-env-D-b2fLc6.js → secret-env-q4hxkt7Z.js} +1 -1
  80. package/dist/ui/assets/secret-topology-xLmXoozo.js +1 -0
  81. package/dist/ui/assets/{secrets-bridge-client-C6W2y020.js → secrets-bridge-client-cWDAnFqs.js} +1 -1
  82. package/dist/ui/assets/{session-freezer-BVmmPVzM.js → session-freezer-DEQ1yv8N.js} +3 -3
  83. package/dist/ui/assets/{setup-feature-flags-remote-DCYtiT5O.js → setup-feature-flags-remote-C5LY6I_m.js} +1 -1
  84. package/dist/ui/assets/{setup-standalone-prelude-C89-5Dtf.js → setup-standalone-prelude-BfNMCJt3.js} +2 -2
  85. package/dist/ui/assets/{setup-sudo-CHykhXbm.js → setup-sudo-BSuoDx7e.js} +2 -2
  86. package/dist/ui/assets/{skills-BKsLImdA.js → skills-DUSnM1rm.js} +1 -1
  87. package/dist/ui/assets/slicc-version-Jic4BOQq.js +1 -0
  88. package/dist/ui/assets/{speak-B7odF4tO.js → speak-BDT9rGzg.js} +1 -1
  89. package/dist/ui/assets/{store-CEccVDd7.js → store-BkhxqaNb.js} +1 -1
  90. package/dist/ui/assets/{store-CgULlP3e.js → store-CQG01Tk6.js} +1 -1
  91. package/dist/ui/assets/{sudo-Bi--9XjE.js → sudo-C8XByrIL.js} +1 -1
  92. package/dist/ui/assets/{transformers-env-Ca8O2jds.js → transformers-env-SL0zTs7S.js} +1 -1
  93. package/dist/ui/assets/{tray-leader-CXKotSM9.js → tray-leader-DcRtwWl-.js} +1 -1
  94. package/dist/ui/assets/{tray-leave-runtime-5MLCSmgw.js → tray-leave-runtime-BGfdX5KF.js} +1 -1
  95. package/dist/ui/assets/{tray-runtime-config-BoItLnrD.js → tray-runtime-config-B1LF8Kd4.js} +1 -1
  96. package/dist/ui/assets/{tray-runtime-config-DAGrwZQV.js → tray-runtime-config-CRGwg9SK.js} +1 -1
  97. package/dist/ui/assets/{upgrade-detection-Di65pY4y.js → upgrade-detection-DRU7F7my.js} +1 -1
  98. package/dist/ui/assets/{voice-reply-D0FE04Jw.js → voice-reply-CnP5wEO_.js} +1 -1
  99. package/dist/ui/assets/{wc-extension-CwbvHOae.js → wc-extension-B70bdD0p.js} +2 -2
  100. package/dist/ui/assets/{wc-float-label-BhT8N0Fl.js → wc-float-label-qqb_uM9y.js} +1 -1
  101. package/dist/ui/assets/{wc-follower-DfFkmNjM.js → wc-follower-8z-K6oOv.js} +3 -3
  102. package/dist/ui/assets/wc-live-DtPpvPYm.js +41 -0
  103. package/dist/ui/assets/{wc-nav-D4I71uQu.js → wc-nav-B6RzcW_X.js} +2 -2
  104. package/dist/ui/assets/{wc-onboarding-UrMxL1c-.js → wc-onboarding-CR0RV6sk.js} +2 -2
  105. package/dist/ui/assets/{wc-placeholder-zxd8RVYO.js → wc-placeholder-DBbTc5wU.js} +2 -2
  106. package/dist/ui/assets/{wc-settings-BcpEli20.js → wc-settings-BbxgKizd.js} +3 -3
  107. package/dist/ui/assets/{wc-shell-ClIw7Xp7.js → wc-shell-HRL75vOX.js} +13 -13
  108. package/dist/ui/assets/{wc-sprinkles-DmaQ6PZC.js → wc-sprinkles-DJI-9XkZ.js} +2 -2
  109. package/dist/ui/assets/{wc-tray-D8C4hzMc.js → wc-tray-DaIyyHwC.js} +2 -2
  110. package/dist/ui/assets/{wc-tray-scoops-CNqQ6-vb.js → wc-tray-scoops-bjahDti3.js} +1 -1
  111. package/dist/ui/assets/{whisper-session-SKAIZswP.js → whisper-session-Cf2gGkoR.js} +2 -2
  112. package/dist/ui/assets/{xai-grok-C4yc6t0c.js → xai-grok-B-djVuhX.js} +1 -1
  113. package/dist/ui/assets/{xai-grok-CTETAYca.js → xai-grok-LqyYZqJi.js} +1 -1
  114. package/dist/ui/index.html +12 -12
  115. package/dist/ui/packages/webapp/index.html +12 -12
  116. package/package.json +2 -2
  117. package/dist/ui/assets/fs-3kOP04jS.js +0 -2
  118. package/dist/ui/assets/fs-Boij2gPF.js +0 -1
  119. package/dist/ui/assets/provider-store-access-dlrRLglC.js +0 -1
  120. package/dist/ui/assets/proxied-fetch-5-UeqOh8.js +0 -2
  121. package/dist/ui/assets/proxied-fetch-CWqWgyRG.js +0 -1
  122. package/dist/ui/assets/secret-topology-DzxAuCnz.js +0 -1
  123. package/dist/ui/assets/slicc-version-DV1WF_eM.js +0 -1
  124. package/dist/ui/assets/wc-live-C5Y8LMGm.js +0 -41
@@ -43,6 +43,29 @@ export interface ChatMessageUsage {
43
43
  total: number;
44
44
  };
45
45
  }
46
+ /**
47
+ * One progress tick for a unit of work inside a tool call (a `sleep 30`, a
48
+ * download, a loop). Emitted by the webapp's bash progress overlay
49
+ * (`packages/webapp/src/shell/progress/`) as a `progress` partial tool result
50
+ * and forwarded to the chat UI as a `tool_progress` agent event. Mirrors what
51
+ * just-bash upstream would carry (vercel-labs/just-bash#319) so it can collapse
52
+ * onto that protocol later.
53
+ */
54
+ export interface ToolProgressEvent {
55
+ /** Stable id per running unit (command invocation or loop). */
56
+ id: string;
57
+ /** Human label: "sleep 30", "curl …/big.tar.gz", "for (3 of 12)". */
58
+ label: string;
59
+ /** 0..1 when determinate; undefined => indeterminate spinner. */
60
+ fraction?: number;
61
+ /** Best-effort remaining ms; undefined when unknown. */
62
+ etaMs?: number;
63
+ /** Optional unit counters, e.g. bytes or iterations. */
64
+ done?: number;
65
+ total?: number;
66
+ unit?: 'bytes' | 'iterations' | 'ms';
67
+ phase: 'start' | 'update' | 'end';
68
+ }
46
69
  export type AgentEvent = {
47
70
  type: 'message_start';
48
71
  messageId: string;
@@ -76,6 +99,11 @@ export type AgentEvent = {
76
99
  type: 'tool_ui_done';
77
100
  messageId: string;
78
101
  requestId: string;
102
+ } | {
103
+ type: 'tool_progress';
104
+ messageId: string;
105
+ toolName: string;
106
+ progress: ToolProgressEvent;
79
107
  } | {
80
108
  type: 'turn_end';
81
109
  messageId: string;
@@ -1 +1 @@
1
- {"version":3,"file":"agent-wire-types.d.ts","sourceRoot":"","sources":["../src/agent-wire-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-wire-types.d.ts","sourceRoot":"","sources":["../src/agent-wire-types.ts"],"names":[],"mappings":"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"}
@@ -112,7 +112,7 @@ const CORS_BASE_ALLOW_HEADERS = [
112
112
  * bridge (`decodeForbiddenResponseHeaders` reads `X-Proxy-Set-Cookie`). MCP
113
113
  * clients also read protocol negotiation/session headers from proxy responses.
114
114
  */
115
- const CORS_EXPOSE_HEADERS = 'Link, X-Proxy-Error, X-Proxy-Set-Cookie, Mcp-Session-Id, MCP-Protocol-Version';
115
+ const CORS_EXPOSE_HEADERS = 'Link, X-Proxy-Error, X-Proxy-Set-Cookie, X-Proxy-Content-Length, Mcp-Session-Id, MCP-Protocol-Version';
116
116
  /**
117
117
  * Methods exposed to the hosted leader. Must cover the FULL `/api/fetch-proxy`
118
118
  * verb set — `app.all('/api/fetch-proxy')` forwards any method, so the agent's
@@ -42,4 +42,11 @@ export declare const FETCH_PROXY_SKIP_RESPONSE_HEADERS: ReadonlySet<string>;
42
42
  * middleware remains the sole CORS authority. `x-proxy-` is the proxy's
43
43
  * own response-marker namespace — never echo an upstream value.
44
44
  */
45
+ /**
46
+ * Proxy-set response header carrying the upstream `content-length` when it is
47
+ * exact (identity encoding). Read by the webapp's `proxied-fetch.ts` to drive
48
+ * determinate download progress; never copied from upstream (the `x-proxy-`
49
+ * prefix below guarantees that).
50
+ */
51
+ export declare const FETCH_PROXY_CONTENT_LENGTH_HEADER = "X-Proxy-Content-Length";
45
52
  export declare const FETCH_PROXY_SKIP_RESPONSE_PREFIXES: readonly string[];
@@ -65,6 +65,13 @@ export const FETCH_PROXY_SKIP_RESPONSE_HEADERS = new Set([
65
65
  * middleware remains the sole CORS authority. `x-proxy-` is the proxy's
66
66
  * own response-marker namespace — never echo an upstream value.
67
67
  */
68
+ /**
69
+ * Proxy-set response header carrying the upstream `content-length` when it is
70
+ * exact (identity encoding). Read by the webapp's `proxied-fetch.ts` to drive
71
+ * determinate download progress; never copied from upstream (the `x-proxy-`
72
+ * prefix below guarantees that).
73
+ */
74
+ export const FETCH_PROXY_CONTENT_LENGTH_HEADER = 'X-Proxy-Content-Length';
68
75
  export const FETCH_PROXY_SKIP_RESPONSE_PREFIXES = [
69
76
  'access-control-',
70
77
  'x-proxy-',
@@ -1,7 +1,7 @@
1
1
  import { Readable, Transform } from 'node:stream';
2
2
  import { StringDecoder } from 'node:string_decoder';
3
3
  import { HMAC_SIGN_HEADER, isTextContentType } from '../_shared/index.js';
4
- import { FETCH_PROXY_SKIP_HEADERS, FETCH_PROXY_SKIP_RESPONSE_HEADERS, FETCH_PROXY_SKIP_RESPONSE_PREFIXES, } from '../fetch-proxy-headers.js';
4
+ import { FETCH_PROXY_CONTENT_LENGTH_HEADER, FETCH_PROXY_SKIP_HEADERS, FETCH_PROXY_SKIP_RESPONSE_HEADERS, FETCH_PROXY_SKIP_RESPONSE_PREFIXES, } from '../fetch-proxy-headers.js';
5
5
  import { AgentActivityTracker, registerAgentActivityRoute } from './agent-activity.js';
6
6
  /** Pick the first value of a possibly-multi-valued request header. */
7
7
  function firstHeaderValue(value) {
@@ -173,6 +173,23 @@ function forwardUpstreamHeaders(res, upstream, secretProxy) {
173
173
  if (setCookieValues.length > 0) {
174
174
  res.setHeader('X-Proxy-Set-Cookie', secretProxy.scrubResponse(JSON.stringify(setCookieValues)));
175
175
  }
176
+ // Byte-progress hint for the webapp's bash progress overlay (`curl`/`wget`
177
+ // bars). The real `content-length` is dropped above because the scrub
178
+ // transform re-chunks the body; the upstream size is still the best ETA
179
+ // input available. Exact only when upstream sent identity encoding —
180
+ // undici has already decompressed a `content-encoding` body, so its
181
+ // length would not match the bytes we forward.
182
+ //
183
+ // Cross-runtime parity: this hint is node-server-only. `swift-server`
184
+ // (Sliccstart) serves the same `/api/fetch-proxy` route and also strips
185
+ // `content-length` (`Sources/Server/APIRoutes.swift`), so a swift-backed
186
+ // leader simply falls back to the indeterminate download bar — a graceful
187
+ // degradation, not a break. Mirror this there if determinate download
188
+ // progress is wanted on that runtime.
189
+ const upstreamLength = upstream.headers.get('content-length');
190
+ if (upstreamLength && !upstream.headers.get('content-encoding') && /^\d+$/.test(upstreamLength)) {
191
+ res.setHeader(FETCH_PROXY_CONTENT_LENGTH_HEADER, upstreamLength);
192
+ }
176
193
  }
177
194
  /**
178
195
  * Buffer-aware UTF-8 secret scrubber. A `StringDecoder` keeps trailing partial