sliccy 6.148.5 → 6.149.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.
- package/README.md +1 -0
- package/dist/node-server/_shared/transcript-redaction.d.ts +12 -1
- package/dist/node-server/_shared/transcript-redaction.d.ts.map +1 -1
- package/dist/node-server/_shared/transcript-redaction.js +5 -5
- package/dist/node-server/_shared/transcript-redaction.js.map +1 -1
- package/dist/ui/.vite/manifest.json +202 -188
- package/dist/ui/assets/CLAUDE-C2sAF3Q0.js +1 -0
- package/dist/ui/assets/DREAMING-DKcamfu0.js +74 -0
- package/dist/ui/assets/GELATIERE-BnNVlnMz.js +1 -0
- package/dist/ui/assets/{MEMORY-BEEBDXkY.js → MEMORY-1jIGxLn4.js} +12 -3
- package/dist/ui/assets/SKILL-C9vwCrkC.js +1 -0
- package/dist/ui/assets/SKILL-Cc0Ep86w.js +1 -0
- package/dist/ui/assets/{SKILL-2Mi1pQ3F.js → SKILL-DJtLE66_.js} +5 -3
- package/dist/ui/assets/SKILL-DvHAkJSI.js +117 -0
- package/dist/ui/assets/SKILL-UcxSfshP.js +66 -0
- package/dist/ui/assets/WIKI-DoBxwf2u.js +1 -0
- package/dist/ui/assets/{account-store-BqpozF76.js → account-store-CA1A4MNg.js} +1 -1
- package/dist/ui/assets/{account-store-BFdqygW9.js → account-store-D5-EuwRH.js} +1 -1
- package/dist/ui/assets/{adobe-BZlLKRpc.js → adobe-DV-vFrsP.js} +1 -1
- package/dist/ui/assets/{adobe-B9ItXQ5M.js → adobe-DtbhCwKF.js} +1 -1
- package/dist/ui/assets/{agent-bridge-DPDHVVOY.js → agent-bridge-Bk8XJ8b8.js} +8 -8
- package/dist/ui/assets/{agent-panels-BY-TOGRi.js → agent-panels-DKzja1c3.js} +1 -1
- package/dist/ui/assets/{apply-layout-DAf9e3N1.js → apply-layout-y9wx9NT9.js} +1 -1
- package/dist/ui/assets/{approver-agent-O_C8F_lu.js → approver-agent-BA3dC9Lg.js} +1 -1
- package/dist/ui/assets/{apps-CzZi81uR.js → apps-yQbw27PS.js} +1 -1
- package/dist/ui/assets/archive-redaction-ByV7X5fs.js +1 -0
- package/dist/ui/assets/{azure-openai-DsV_7cZn.js → azure-openai-DHtO2E0K.js} +1 -1
- package/dist/ui/assets/{azure-openai-JsYTQIFD.js → azure-openai-yibXp_Bz.js} +1 -1
- package/dist/ui/assets/{budget-usage-source-vSeVEHUY.js → budget-usage-source-CsYOdKgf.js} +1 -1
- package/dist/ui/assets/{cdp-_4KexSSp.js → cdp-DvBgKWeM.js} +1 -1
- package/dist/ui/assets/{cerebras-DAFKv7al.js → cerebras-CS6Db07O.js} +1 -1
- package/dist/ui/assets/{cerebras-CTBvSrAQ.js → cerebras-CaDy2asW.js} +1 -1
- package/dist/ui/assets/{composer-speech-Tma9aWKt.js → composer-speech-DPiVvFU6.js} +1 -1
- package/dist/ui/assets/cone-memory-budget-ieIsscyt.js +15 -0
- package/dist/ui/assets/{connect-surface-CtsREIrn.js → connect-surface-DZZV0bKb.js} +1 -1
- package/dist/ui/assets/descriptor-D-6Koktu.js +1 -0
- package/dist/ui/assets/{directed-approval-DvO0Vcxa.js → directed-approval-zgdk1qJY.js} +1 -1
- package/dist/ui/assets/{dist-DHUrnmfJ.js → dist-5YOibBa4.js} +1 -1
- package/dist/ui/assets/{dist-JNEFgbaJ.js → dist-BX7il2y2.js} +1 -1
- package/dist/ui/assets/{dist-mw8ihHvD.js → dist-BpNPANbz.js} +1 -1
- package/dist/ui/assets/{dist-ClsOKwHy.js → dist-C-tO1Skg.js} +1 -1
- package/dist/ui/assets/feature-flags-BX-OhLDm.js +1 -0
- package/dist/ui/assets/feature-flags-CYCRk6Dq.js +1 -0
- package/dist/ui/assets/frozen-archive-writer--a4fMghf.js +8 -0
- package/dist/ui/assets/{fs-DFWNUwdz.js → fs-CeHAWOzG.js} +2 -2
- package/dist/ui/assets/{fs-BXYkh6TF.js → fs-ZsGKH6_S.js} +1 -1
- package/dist/ui/assets/gelatiere-constants-BYJlhm8R.js +1 -0
- package/dist/ui/assets/gelatiere-store-D36IMluj.js +1 -0
- package/dist/ui/assets/gelatiere-unit-7xZALH_i.js +1 -0
- package/dist/ui/assets/{github-BGGRLApl.js → github-CaKl6IqQ.js} +1 -1
- package/dist/ui/assets/{github-BXyKN5o4.js → github-EHGL5L1f.js} +2 -2
- package/dist/ui/assets/{github-copilot-CjIPQnHG.js → github-copilot-BHsKQLD0.js} +1 -1
- package/dist/ui/assets/{github-copilot-Cpi5Q3qU.js → github-copilot-Cjxeuomt.js} +1 -1
- package/dist/ui/assets/{github-install-D6vgXBt1.js → github-install-CZ0EukOV.js} +1 -1
- package/dist/ui/assets/{github-zip-DyxS1wt2.js → github-zip-CS4YNRru.js} +1 -1
- package/dist/ui/assets/{hear-BWNLkuLw.js → hear-Cbevfmh3.js} +1 -1
- package/dist/ui/assets/{help-CHSM04US.js → help-B7QDR4Te.js} +1 -1
- package/dist/ui/assets/instruction-frontmatter-Bk64dayp.js +3 -0
- package/dist/ui/assets/{js-realm-worker-rryILaHB.js → js-realm-worker-8iSCqCPx.js} +1 -1
- package/dist/ui/assets/{kernel-worker-DszwFb1b.js → kernel-worker-C_WWxLV9.js} +648 -662
- package/dist/ui/assets/key-DExP84Xm.js +1 -0
- package/dist/ui/assets/lick-target-env-8JxfVcIV.js +1 -0
- package/dist/ui/assets/{live-session-snapshot-BnA6Mq0G.js → live-session-snapshot-CpwRZg6K.js} +1 -1
- package/dist/ui/assets/{local-llm-BeW3X9vu.js → local-llm-0LkBgtj2.js} +1 -1
- package/dist/ui/assets/{local-llm-BrTSxpRt.js → local-llm-Dr2UbIXv.js} +1 -1
- package/dist/ui/assets/log-DEDI5t_h.js +1 -0
- package/dist/ui/assets/{main-CsZKfZnE.js → main-BAC0OCne.js} +3 -3
- package/dist/ui/assets/{main-cherry-nVeViIgv.js → main-cherry-CewPDwbT.js} +1 -1
- package/dist/ui/assets/manager-CstXzWYQ.js +1 -0
- package/dist/ui/assets/memory-budget-CIVoqHgl.js +1 -0
- package/dist/ui/assets/memory-curation-seam-Dhr-Lh0Q.js +1 -0
- package/dist/ui/assets/memory-health-MhSOmzAf.js +1 -0
- package/dist/ui/assets/memory-v2-flag-D50hE5F1.js +1 -0
- package/dist/ui/assets/{mount-CZ0-f4UR.js → mount-BLSZhkn-.js} +3 -3
- package/dist/ui/assets/{mount-DVMvOpUb.js → mount-C-ANRQIp.js} +1 -1
- package/dist/ui/assets/{mount-recovery-Ij_NR5fB.js → mount-recovery-DUczfSWq.js} +1 -1
- package/dist/ui/assets/new-session-BoS7dRsh.js +2 -0
- package/dist/ui/assets/{oauth-bootstrap-Bd8VokAp.js → oauth-bootstrap-Bxgy2Cqv.js} +2 -2
- package/dist/ui/assets/{onboarding-orchestrator-Hzwx60VW.js → onboarding-orchestrator-Dk1ohi_0.js} +1 -1
- package/dist/ui/assets/{openai-codex-Bpl4rFit.js → openai-codex-BknfgoBF.js} +1 -1
- package/dist/ui/assets/{openai-codex-B8H7MtBT.js → openai-codex-DMzQdrNm.js} +1 -1
- package/dist/ui/assets/{openrouter-CS12ZR8b.js → openrouter-CQPRB3mI.js} +1 -1
- package/dist/ui/assets/{openrouter-CmL13s85.js → openrouter-CRaR6ORa.js} +1 -1
- package/dist/ui/assets/{openrouter-free-WG7Wacze.js → openrouter-free-BCZac4lk.js} +1 -1
- package/dist/ui/assets/{openrouter-free-BS2Pl431.js → openrouter-free-CKjfWow9.js} +1 -1
- package/dist/ui/assets/{openrouter-oauth-CKZgxi-m.js → openrouter-oauth-DQ6_4qbW.js} +1 -1
- package/dist/ui/assets/{openrouter-oauth-B0frdF8s.js → openrouter-oauth-DZ-Abl0n.js} +1 -1
- package/dist/ui/assets/{panel-rpc-handlers-uMBttQpO.js → panel-rpc-handlers-l_wby7rY.js} +2 -2
- package/dist/ui/assets/{panelize-shell-B4BsvK7Q.js → panelize-shell-BExnoycZ.js} +1 -1
- package/dist/ui/assets/{provider-pJOpX4jK.js → provider-CHJuS3Eo.js} +2 -2
- package/dist/ui/assets/{provider-nCCcjm8u.js → provider-Ccwke1Gk.js} +1 -1
- package/dist/ui/assets/provider-settings-C9aYrpFT.js +1 -0
- package/dist/ui/assets/provider-store-access-Bvoy_8oD.js +1 -0
- package/dist/ui/assets/provider-store-access-C2g47uIb.js +1 -0
- package/dist/ui/assets/{providers-BH2FM5fr.js → providers-BYl2eNQm.js} +1 -1
- package/dist/ui/assets/{providers-BMz8PtWz.js → providers-Dx2Bx5aE.js} +2 -2
- package/dist/ui/assets/{quick-llm-evwqVzZT.js → quick-llm-DT2lt16M.js} +1 -1
- package/dist/ui/assets/{recovery-screen-CZ5BnAYZ.js → recovery-screen-BjiUo-AL.js} +1 -1
- package/dist/ui/assets/run-BY9if0Td.js +42 -0
- package/dist/ui/assets/{run-qgEWNnOh.js → run-BtmtVfUW.js} +1 -1
- package/dist/ui/assets/{run-DwcxlFrZ.js → run-BxzwgwS3.js} +2 -2
- package/dist/ui/assets/{run-DT1TwsVL.js → run-DLgsQ07W.js} +1 -1
- package/dist/ui/assets/run-tBUQGAj8.js +50 -0
- package/dist/ui/assets/{session-command-memory-Bh_U73Lu.js → session-command-memory-BTDKlIRk.js} +4 -3
- package/dist/ui/assets/session-jsonl-BigzXvfg.js +11 -0
- package/dist/ui/assets/{session-jsonl-BxhPJRfn.js → session-jsonl-eMNv3Qki.js} +1 -1
- package/dist/ui/assets/session-search-index-D2VtAM_Q.js +3 -0
- package/dist/ui/assets/{setup-feature-flags-remote-CLAqtyko.js → setup-feature-flags-remote-Ca2-hqlo.js} +1 -1
- package/dist/ui/assets/sidecar-repair-wcIxeWMP.js +1 -0
- package/dist/ui/assets/{silent-renew-backoff-C7jmWrPu.js → silent-renew-backoff-BHjNTQU2.js} +1 -1
- package/dist/ui/assets/{skills-iVeut8oO.js → skills-CJ8qNnZs.js} +1 -1
- package/dist/ui/assets/{slicc-editor-BZr2Xqmx.js → slicc-editor-BwV9b9S6.js} +3 -3
- package/dist/ui/assets/slicc-editor-abxGgeUl.js +1 -0
- package/dist/ui/assets/slicc-version-PYnMeU2R.js +1 -0
- package/dist/ui/assets/{snapshot-DgigGtQw.js → snapshot-DGK3m0L_.js} +1 -1
- package/dist/ui/assets/{snapshot-features-BcjYvYJo.js → snapshot-features-DluhSLEH.js} +1 -1
- package/dist/ui/assets/{soundscape-ZbkDG3bc.js → soundscape-BK9WmnUG.js} +1 -1
- package/dist/ui/assets/{speak-DrBGwIGP.js → speak-DZISsPxk.js} +1 -1
- package/dist/ui/assets/sprinkle-manager-BCrGJ7_g.js +1 -0
- package/dist/ui/assets/{sprinkle-renderer-BLm-ky4j.js → sprinkle-renderer-D-1PliuW.js} +3 -3
- package/dist/ui/assets/{state-DiCe9CFP.js → state-KlJITKEj.js} +1 -1
- package/dist/ui/assets/{store-CwOvHI-j.js → store-Bfm_2de6.js} +1 -1
- package/dist/ui/assets/{store-paARBDDZ.js → store-C4pwV1r3.js} +1 -1
- package/dist/ui/assets/{sudo-Cjfs2zCB.js → sudo-ClTWT5F4.js} +1 -1
- package/dist/ui/assets/suggestions-CFQTt8oo.js +329 -0
- package/dist/ui/assets/{sync-dialog-DrhKseb6.js → sync-dialog-Dlmp9or_.js} +1 -1
- package/dist/ui/assets/{transformers-env-DLSLhn7y.js → transformers-env-CKztDfUT.js} +1 -1
- package/dist/ui/assets/{tray-sidecar-DZolJLUw.js → tray-sidecar-izQ2ZF5D.js} +1 -1
- package/dist/ui/assets/{upgrade-detection-DiPpulbi.js → upgrade-detection-CNPzRkE7.js} +1 -1
- package/dist/ui/assets/{voice-reply-Gn2CzZ5c.js → voice-reply-JlXeQN7_.js} +1 -1
- package/dist/ui/assets/{wc-attach-C0XbU2dA.js → wc-attach-Cl4Hwieg.js} +2 -2
- package/dist/ui/assets/{wc-extension-BlNOBtRw.js → wc-extension-ChMc6MeX.js} +2 -2
- package/dist/ui/assets/wc-follower-CvdBVpCG.js +17 -0
- package/dist/ui/assets/wc-follower-oauth-C83SZJty.js +5 -0
- package/dist/ui/assets/wc-gelatiere-3y6MXjH6.js +1 -0
- package/dist/ui/assets/wc-live-xtrWHFoh.js +406 -0
- package/dist/ui/assets/{wc-nav-CNAXx0Cm.js → wc-nav-CDS_UeWj.js} +2 -2
- package/dist/ui/assets/wc-onboarding-DqB8019g.js +2 -0
- package/dist/ui/assets/{wc-placeholder-DmfRYTXX.js → wc-placeholder-CZw2rZaI.js} +3 -3
- package/dist/ui/assets/{wc-secret-request-Cm0_SPX5.js → wc-secret-request-CP500uCX.js} +1 -1
- package/dist/ui/assets/{wc-settings-DvrefMrW.js → wc-settings-yS0Tn1rR.js} +3 -3
- package/dist/ui/assets/wc-shell-CuK7bTlD.js +125 -0
- package/dist/ui/assets/{wc-shortcut-config-DloyGcA7.js → wc-shortcut-config-C-lIC8ic.js} +1 -1
- package/dist/ui/assets/{wc-shortcuts-DCGqDqJB.js → wc-shortcuts-DsrVa-7o.js} +192 -190
- package/dist/ui/assets/wc-sprinkles-CWvQ1c_3.js +2 -0
- package/dist/ui/assets/{wc-transcript-export-dxfbEsmf.js → wc-transcript-export-BIlHmS1O.js} +2 -2
- package/dist/ui/assets/wc-tray-PhDRuhzo.js +5 -0
- package/dist/ui/assets/{welcome-CyCMJDqG.js → welcome-BzW33ZtP.js} +10 -9
- package/dist/ui/assets/welcome-detection-DocFcHWj.js +1 -0
- package/dist/ui/assets/{whisper-session-DPzURbIZ.js → whisper-session-B0UflXuX.js} +2 -2
- package/dist/ui/assets/wiki-BXN4hgmw.js +7 -0
- package/dist/ui/assets/wiki-DA0qKUVC.js +307 -0
- package/dist/ui/assets/{xai-grok-_yV9fK7C.js → xai-grok-C_IBpHs8.js} +1 -1
- package/dist/ui/assets/{xai-grok-DAcXXsua.js → xai-grok-k1KZairZ.js} +1 -1
- package/dist/ui/index.html +4 -4
- package/dist/ui/packages/webapp/index.html +4 -4
- package/dist/ui/slicc-editor.js +1 -1
- package/package.json +1 -1
- package/dist/ui/assets/CLAUDE-DM1onrcU.js +0 -1
- package/dist/ui/assets/SKILL-D40-t9w0.js +0 -57
- package/dist/ui/assets/descriptor-DObnXZNI.js +0 -1
- package/dist/ui/assets/feature-flags-COdcJUhl.js +0 -1
- package/dist/ui/assets/feature-flags-a-IfHs0F.js +0 -1
- package/dist/ui/assets/frozen-archive-writer-cEYcj5un.js +0 -8
- package/dist/ui/assets/key-MwVo0KUb.js +0 -1
- package/dist/ui/assets/memory-v2-flag-C1duOEOb.js +0 -1
- package/dist/ui/assets/new-session-owmEOkJm.js +0 -2
- package/dist/ui/assets/provider-settings-CdONtB2Q.js +0 -1
- package/dist/ui/assets/provider-store-access-BMT7RDf_.js +0 -1
- package/dist/ui/assets/provider-store-access-CAyO8wUu.js +0 -1
- package/dist/ui/assets/session-jsonl-Dk1Af3Yl.js +0 -11
- package/dist/ui/assets/session-search-index-CYtd-I68.js +0 -3
- package/dist/ui/assets/sidecar-repair-DD3R41TW.js +0 -1
- package/dist/ui/assets/slicc-editor-BERLhlag.js +0 -1
- package/dist/ui/assets/slicc-version-KsFTedAd.js +0 -1
- package/dist/ui/assets/sprinkle-manager-BLKBBtRR.js +0 -1
- package/dist/ui/assets/wc-follower-b2oDYAYy.js +0 -17
- package/dist/ui/assets/wc-follower-oauth-DVkYhzkf.js +0 -5
- package/dist/ui/assets/wc-live-SmUSY4JS.js +0 -399
- package/dist/ui/assets/wc-onboarding-CwYUvyfo.js +0 -2
- package/dist/ui/assets/wc-shell-CAMOGaJh.js +0 -125
- package/dist/ui/assets/wc-sprinkles-C7uh7r47.js +0 -2
- package/dist/ui/assets/wc-tray-3wsPo9DM.js +0 -5
- package/dist/ui/assets/welcome-detection-DHy2Nyh1.js +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{t as e}from"./logger-DDBAeTLF.js";import"./navigation-watcher-BpA1OwJw.js";import"./wc-follower-oauth-DVkYhzkf.js";import{n as t,t as n}from"./pending-request-table-k-D7ZZsL.js";var r=e(`cdp`);function i(e){return e===4001?`CDP connection superseded by another SLICC tab/window on this instance`:e===4002?`CDP connection reset by proxy (upstream Chrome connection was re-established)`:`CDP connection closed`}var a=class{ws=null;nextId=1;_superseded=!1;pending=new n;listeners=new Map;_state=`disconnected`;stateListeners=new Set;lastNotifiedState=`disconnected`;lastNotifiedReason;get state(){return this._state}onStateChange(e){return this.stateListeners.add(e),()=>{this.stateListeners.delete(e)}}get superseded(){return this._superseded}async connect(e){if(this._state!==`disconnected`)throw Error(`Cannot connect: state is ${this._state}`);if(!e?.url)throw Error(`CDPClient.connect() requires a WebSocket URL`);let{url:t,timeout:n=5e3,protocols:i}=e;return this._state=`connecting`,new Promise((e,a)=>{let o=setTimeout(()=>{this.cleanup(),a(Error(`CDP connection timed out after ${n}ms`))},n);try{this.ws=i===void 0?new WebSocket(t):new WebSocket(t,i)}catch(e){clearTimeout(o),this._state=`disconnected`,a(e);return}this.ws.onopen=()=>{clearTimeout(o),this._state=`connected`,this._superseded=!1,r.info(`Connected`,{url:t}),this.notifyState(`connected`),e()},this.ws.onerror=e=>{clearTimeout(o),this._state===`connecting`&&(r.error(`Connection failed`,{url:t}),this.cleanup(),a(Error(`CDP WebSocket connection failed`)))},this.ws.onmessage=e=>{this.handleMessage(e.data)},this.ws.onclose=e=>{this.handleClose(e?.code)}})}disconnect(){this.ws&&(this.ws.onclose=null,this.ws.close()),this._superseded=!1,this.cleanup(),r.info(`Disconnected`)}async send(e,t,n,i=3e4){if(this._state!==`connected`||!this.ws)throw Error(`CDP client is not connected`);let a=this.nextId++,o={id:a,method:e};t&&(o.params=t),n&&(o.sessionId=n),r.debug(`Send`,{method:e,id:a,sessionId:n});let s=this.pending.issue(a,i,`CDP command timed out after ${i}ms: ${e}`);return this.ws.send(JSON.stringify(o)),s}on(e,t){let n=this.listeners.get(e);n||(n=new Set,this.listeners.set(e,n)),n.add(t)}off(e,t){let n=this.listeners.get(e);n&&(n.delete(t),n.size===0&&this.listeners.delete(e))}once(e,n=3e4){return t(t=>(this.on(e,t),()=>this.off(e,t)),n,`Timed out waiting for event: ${e}`)}handleMessage(e){let t;try{t=JSON.parse(e)}catch{return}if(`id`in t&&typeof t.id==`number`){let e=t;r.debug(`Response`,{id:e.id,hasError:!!e.error}),e.error?(r.error(`Command error`,{id:e.id,code:e.error.code,message:e.error.message}),this.pending.reject(e.id,Error(`CDP error: ${e.error.message} (${e.error.code})`))):this.pending.resolve(e.id,e.result??{});return}if(`method`in t){let e=t;r.debug(`Event`,{method:e.method,sessionId:e.sessionId});let n=this.listeners.get(e.method);if(n){let t=e.sessionId?{...e.params,sessionId:e.sessionId}:e.params??{};for(let e of n)try{e(t)}catch{}}}}handleClose(e){e===4001?(this._superseded=!0,r.warn(`CDP slot superseded by another SLICC tab/window on this instance`,{code:e})):e===4002?r.warn(`CDP proxy reset its upstream Chrome connection — sessions dropped`,{code:e,pendingCommands:this.pending.size}):r.error(`Connection closed unexpectedly`,{pendingCommands:this.pending.size}),this.cleanup(i(e))}cleanup(e=`CDP client disconnected`){this.ws=null,this._state=`disconnected`,this.pending.rejectAll(e),this.notifyState(`disconnected`,e)}notifyState(e,t){if(e!==this.lastNotifiedState||t!==this.lastNotifiedReason){this.lastNotifiedState=e,this.lastNotifiedReason=t;for(let n of this.stateListeners)try{n(e,t)}catch{}}}},o=class extends Error{step;name=`CommandAbortedError`;constructor(e){super(`Browser command aborted while ${e}. A CDP round trip already in flight cannot be cancelled, so it may still have been applied to the page; nothing after it was started.`),this.step=e}};function s(e,t){if(e?.aborted)throw new o(t)}function c(e,t){return e?{signal:e,error:()=>new o(t)}:void 0}function l(e,t,n){return new Promise((r,i)=>{if(t?.aborted){i(new o(n));return}let a=()=>{clearTimeout(s),i(new o(n))},s=setTimeout(()=>{t?.removeEventListener(`abort`,a),r()},e);t?.addEventListener(`abort`,a,{once:!0})})}function u(e,t,n){return t?t.aborted?Promise.reject(new o(n)):new Promise((r,i)=>{let a=()=>i(new o(n));t.addEventListener(`abort`,a,{once:!0}),e.then(()=>{t.removeEventListener(`abort`,a),r()},e=>{t.removeEventListener(`abort`,a),i(e instanceof Error?e:Error(String(e)))})}):e}var d=e(`har-recorder`),f=class{recordings=new Map;client;fs;eventCleanup=new Map;constructor(e,t){this.client=e,this.fs=t}async startRecording(e,t,n,r){let i=`rec-${Date.now()}-${Math.random().toString(36).slice(2,8)}`;s(r,`about to enable Network on tab ${e}`),await this.client.send(`Network.enable`,{},t),s(r,`about to enable Page on tab ${e}`),await this.client.send(`Page.enable`,{},t),s(r,`about to read the URL of tab ${e}`);let a=(await this.client.send(`Runtime.evaluate`,{expression:`location.href`,returnByValue:!0},t)).result?.value??`about:blank`,o={id:i,targetId:e,sessionId:t,filterCode:n,pendingRequests:new Map,entries:[],startTime:Date.now(),currentUrl:a,snapshotCount:0};return this.recordings.set(i,o),this.setupEventListeners(o),await this.ensureDir(`/recordings/${i}`),d.debug(`Started recording`,{recordingId:i,targetId:e,currentUrl:a}),i}setupEventListeners(e){let{sessionId:t,id:n}=e,r=n=>{let r=n;r.sessionId===t&&this.handleRequestWillBeSent(e,r)},i=n=>{let r=n;r.sessionId===t&&this.handleResponseReceived(e,r)},a=r=>{let i=r;i.sessionId===t&&this.handleLoadingFinished(e,i).catch(e=>{d.error(`Failed to process loadingFinished event`,{recordingId:n,requestId:i.requestId,error:e instanceof Error?e.message:String(e)})})},o=n=>{let r=n;r.sessionId===t&&this.handleLoadingFailed(e,r)},s=r=>{let i=r;if(i.sessionId!==t)return;let a=i.frame;if(!a?.parentId&&a?.url){let t=[...e.entries],r=e.currentUrl;e.currentUrl=a.url,e.entries=[],e.pendingRequests.clear(),this.saveSnapshotWithEntries(e,`navigation`,t,r).catch(e=>{d.error(`Failed to save navigation snapshot`,{recordingId:n,error:e instanceof Error?e.message:String(e)})})}};this.client.on(`Network.requestWillBeSent`,r),this.client.on(`Network.responseReceived`,i),this.client.on(`Network.loadingFinished`,a),this.client.on(`Network.loadingFailed`,o),this.client.on(`Page.frameNavigated`,s),this.eventCleanup.set(n,()=>{this.client.off(`Network.requestWillBeSent`,r),this.client.off(`Network.responseReceived`,i),this.client.off(`Network.loadingFinished`,a),this.client.off(`Network.loadingFailed`,o),this.client.off(`Page.frameNavigated`,s)})}handleRequestWillBeSent(e,t){let{requestId:n,request:r,timestamp:i}=t;!n||!r||i==null||e.pendingRequests.set(n,{requestId:n,startTime:i*1e3,request:{method:r.method,url:r.url,headers:r.headers,postData:r.postData}})}handleResponseReceived(e,t){let{requestId:n,response:r}=t;if(!n||!r)return;let i=e.pendingRequests.get(n);i&&(i.response={status:r.status,statusText:r.statusText,headers:r.headers,mimeType:r.mimeType},i.timing=r.timing)}async handleLoadingFinished(e,t){let{requestId:n,timestamp:r}=t;if(!n||r==null)return;let i=e.pendingRequests.get(n);if(!i)return;i.endTime=r*1e3;try{let t=await this.client.send(`Network.getResponseBody`,{requestId:n},e.sessionId);i.responseBody=t.body,i.responseBodyBase64=t.base64Encoded===!0}catch{}let a=this.buildHarEntry(i);a&&e.entries.push(a),e.pendingRequests.delete(n)}handleLoadingFailed(e,t){let{requestId:n}=t;n&&e.pendingRequests.delete(n)}buildHarEntry(e){if(!e.response)return null;let{request:t,response:n,timing:r,startTime:i,endTime:a,responseBody:o,responseBodyBase64:s}=e,c=a?a-i:0,l=[];try{let e=new URL(t.url);l=Array.from(e.searchParams.entries()).map(([e,t])=>({name:e,value:t}))}catch{}let u=r?(()=>{let e=(e,t)=>{if(e==null||t==null||e<0||t<0)return-1;let n=t-e;return n>=0?n:-1},t=r.dnsStart>=0?r.dnsStart:r.connectStart>=0?r.connectStart:0;return{blocked:t>0?t:-1,dns:e(r.dnsStart,r.dnsEnd),connect:e(r.connectStart,r.connectEnd),ssl:e(r.sslStart,r.sslEnd),send:e(r.sendStart,r.sendEnd),wait:e(r.sendEnd,r.receiveHeadersStart),receive:e(r.receiveHeadersStart,r.receiveHeadersEnd)}})():{blocked:-1,dns:-1,connect:-1,ssl:-1,send:0,wait:c,receive:0},d={size:o?.length??0,mimeType:n.mimeType??`application/octet-stream`};o&&(d.text=o,s&&(d.encoding=`base64`));let f;return t.postData&&(f={mimeType:t.headers[`content-type`]??t.headers[`Content-Type`]??`text/plain`,text:t.postData}),{startedDateTime:new Date(i).toISOString(),time:c,request:{method:t.method,url:t.url,httpVersion:`HTTP/1.1`,cookies:[],headers:Object.entries(t.headers).map(([e,t])=>({name:e,value:t})),queryString:l,postData:f,headersSize:-1,bodySize:t.postData?.length??0},response:{status:n.status,statusText:n.statusText,httpVersion:`HTTP/1.1`,cookies:[],headers:Object.entries(n.headers).map(([e,t])=>({name:e,value:t})),content:d,redirectURL:n.headers.location??n.headers.Location??``,headersSize:-1,bodySize:d.size},cache:{},timings:u}}async saveSnapshot(e,t){return this.saveSnapshotWithEntries(e,t,e.entries,e.currentUrl)}async applyFilter(e,t){return p(e,t)}async saveSnapshotWithEntries(e,t,n,r){if(n.length===0)return d.debug(`No entries to save`,{recordingId:e.id,trigger:t}),null;let i=e.filterCode?await this.applyFilter(n,e.filterCode):n;if(i.length===0)return d.debug(`All entries filtered out`,{recordingId:e.id,trigger:t}),null;e.snapshotCount++;let a=new Date().toISOString().replace(/[:.]/g,`-`),o=this.urlToSlug(r),s=`${e.snapshotCount.toString().padStart(3,`0`)}-${a}-${t}-${o}.har`,c=`/recordings/${e.id}/${s}`,l={log:{version:`1.2`,creator:{name:`SLICC HAR Recorder`,version:`1.0.0`},entries:i}};return await this.fs.writeFile(c,JSON.stringify(l,null,2)),d.debug(`Saved HAR snapshot`,{recordingId:e.id,path:c,entryCount:i.length}),c}urlToSlug(e){try{let t=new URL(e);return`${t.hostname}${t.pathname}`.replace(/[^a-zA-Z0-9]/g,`-`).replace(/-+/g,`-`).replace(/^-|-$/g,``).slice(0,50)||`page`}catch{return`page`}}async stopRecording(e){let t=this.recordings.get(e);if(!t)throw Error(`Recording not found: ${e}`);await this.saveSnapshot(t,`close`);let n=this.eventCleanup.get(e);n&&(n(),this.eventCleanup.delete(e));try{await this.client.send(`Network.disable`,{},t.sessionId)}catch{}this.recordings.delete(e);let r=`/recordings/${e}`;return d.debug(`Stopped recording`,{recordingId:e,snapshotCount:t.snapshotCount}),r}getRecording(e){return this.recordings.get(e)}getRecordingByTarget(e){for(let[t,n]of this.recordings)if(n.targetId===e)return t}async ensureDir(e){await this.fs.mkdir(e,{recursive:!0})}};function p(e,t){try{let n=Function(`entry`,`return (${t})(entry);`),r=[];for(let t of e)try{let e=n(t);if(e===!1)continue;typeof e==`object`&&e?r.push(e):r.push(t)}catch(e){d.error(`Filter function error on entry, keeping it`,{error:e instanceof Error?e.message:String(e)}),r.push(t)}return r}catch(t){return d.error(`Failed to compile filter, returning unfiltered`,{error:t instanceof Error?t.message:String(t)}),e}}var m=`(function() {
|
|
1
|
+
import{t as e}from"./logger-DDBAeTLF.js";import"./navigation-watcher-BpA1OwJw.js";import"./wc-follower-oauth-C83SZJty.js";import{n as t,t as n}from"./pending-request-table-k-D7ZZsL.js";var r=e(`cdp`);function i(e){return e===4001?`CDP connection superseded by another SLICC tab/window on this instance`:e===4002?`CDP connection reset by proxy (upstream Chrome connection was re-established)`:`CDP connection closed`}var a=class{ws=null;nextId=1;_superseded=!1;pending=new n;listeners=new Map;_state=`disconnected`;stateListeners=new Set;lastNotifiedState=`disconnected`;lastNotifiedReason;get state(){return this._state}onStateChange(e){return this.stateListeners.add(e),()=>{this.stateListeners.delete(e)}}get superseded(){return this._superseded}async connect(e){if(this._state!==`disconnected`)throw Error(`Cannot connect: state is ${this._state}`);if(!e?.url)throw Error(`CDPClient.connect() requires a WebSocket URL`);let{url:t,timeout:n=5e3,protocols:i}=e;return this._state=`connecting`,new Promise((e,a)=>{let o=setTimeout(()=>{this.cleanup(),a(Error(`CDP connection timed out after ${n}ms`))},n);try{this.ws=i===void 0?new WebSocket(t):new WebSocket(t,i)}catch(e){clearTimeout(o),this._state=`disconnected`,a(e);return}this.ws.onopen=()=>{clearTimeout(o),this._state=`connected`,this._superseded=!1,r.info(`Connected`,{url:t}),this.notifyState(`connected`),e()},this.ws.onerror=e=>{clearTimeout(o),this._state===`connecting`&&(r.error(`Connection failed`,{url:t}),this.cleanup(),a(Error(`CDP WebSocket connection failed`)))},this.ws.onmessage=e=>{this.handleMessage(e.data)},this.ws.onclose=e=>{this.handleClose(e?.code)}})}disconnect(){this.ws&&(this.ws.onclose=null,this.ws.close()),this._superseded=!1,this.cleanup(),r.info(`Disconnected`)}async send(e,t,n,i=3e4){if(this._state!==`connected`||!this.ws)throw Error(`CDP client is not connected`);let a=this.nextId++,o={id:a,method:e};t&&(o.params=t),n&&(o.sessionId=n),r.debug(`Send`,{method:e,id:a,sessionId:n});let s=this.pending.issue(a,i,`CDP command timed out after ${i}ms: ${e}`);return this.ws.send(JSON.stringify(o)),s}on(e,t){let n=this.listeners.get(e);n||(n=new Set,this.listeners.set(e,n)),n.add(t)}off(e,t){let n=this.listeners.get(e);n&&(n.delete(t),n.size===0&&this.listeners.delete(e))}once(e,n=3e4){return t(t=>(this.on(e,t),()=>this.off(e,t)),n,`Timed out waiting for event: ${e}`)}handleMessage(e){let t;try{t=JSON.parse(e)}catch{return}if(`id`in t&&typeof t.id==`number`){let e=t;r.debug(`Response`,{id:e.id,hasError:!!e.error}),e.error?(r.error(`Command error`,{id:e.id,code:e.error.code,message:e.error.message}),this.pending.reject(e.id,Error(`CDP error: ${e.error.message} (${e.error.code})`))):this.pending.resolve(e.id,e.result??{});return}if(`method`in t){let e=t;r.debug(`Event`,{method:e.method,sessionId:e.sessionId});let n=this.listeners.get(e.method);if(n){let t=e.sessionId?{...e.params,sessionId:e.sessionId}:e.params??{};for(let e of n)try{e(t)}catch{}}}}handleClose(e){e===4001?(this._superseded=!0,r.warn(`CDP slot superseded by another SLICC tab/window on this instance`,{code:e})):e===4002?r.warn(`CDP proxy reset its upstream Chrome connection — sessions dropped`,{code:e,pendingCommands:this.pending.size}):r.error(`Connection closed unexpectedly`,{pendingCommands:this.pending.size}),this.cleanup(i(e))}cleanup(e=`CDP client disconnected`){this.ws=null,this._state=`disconnected`,this.pending.rejectAll(e),this.notifyState(`disconnected`,e)}notifyState(e,t){if(e!==this.lastNotifiedState||t!==this.lastNotifiedReason){this.lastNotifiedState=e,this.lastNotifiedReason=t;for(let n of this.stateListeners)try{n(e,t)}catch{}}}},o=class extends Error{step;name=`CommandAbortedError`;constructor(e){super(`Browser command aborted while ${e}. A CDP round trip already in flight cannot be cancelled, so it may still have been applied to the page; nothing after it was started.`),this.step=e}};function s(e,t){if(e?.aborted)throw new o(t)}function c(e,t){return e?{signal:e,error:()=>new o(t)}:void 0}function l(e,t,n){return new Promise((r,i)=>{if(t?.aborted){i(new o(n));return}let a=()=>{clearTimeout(s),i(new o(n))},s=setTimeout(()=>{t?.removeEventListener(`abort`,a),r()},e);t?.addEventListener(`abort`,a,{once:!0})})}function u(e,t,n){return t?t.aborted?Promise.reject(new o(n)):new Promise((r,i)=>{let a=()=>i(new o(n));t.addEventListener(`abort`,a,{once:!0}),e.then(()=>{t.removeEventListener(`abort`,a),r()},e=>{t.removeEventListener(`abort`,a),i(e instanceof Error?e:Error(String(e)))})}):e}var d=e(`har-recorder`),f=class{recordings=new Map;client;fs;eventCleanup=new Map;constructor(e,t){this.client=e,this.fs=t}async startRecording(e,t,n,r){let i=`rec-${Date.now()}-${Math.random().toString(36).slice(2,8)}`;s(r,`about to enable Network on tab ${e}`),await this.client.send(`Network.enable`,{},t),s(r,`about to enable Page on tab ${e}`),await this.client.send(`Page.enable`,{},t),s(r,`about to read the URL of tab ${e}`);let a=(await this.client.send(`Runtime.evaluate`,{expression:`location.href`,returnByValue:!0},t)).result?.value??`about:blank`,o={id:i,targetId:e,sessionId:t,filterCode:n,pendingRequests:new Map,entries:[],startTime:Date.now(),currentUrl:a,snapshotCount:0};return this.recordings.set(i,o),this.setupEventListeners(o),await this.ensureDir(`/recordings/${i}`),d.debug(`Started recording`,{recordingId:i,targetId:e,currentUrl:a}),i}setupEventListeners(e){let{sessionId:t,id:n}=e,r=n=>{let r=n;r.sessionId===t&&this.handleRequestWillBeSent(e,r)},i=n=>{let r=n;r.sessionId===t&&this.handleResponseReceived(e,r)},a=r=>{let i=r;i.sessionId===t&&this.handleLoadingFinished(e,i).catch(e=>{d.error(`Failed to process loadingFinished event`,{recordingId:n,requestId:i.requestId,error:e instanceof Error?e.message:String(e)})})},o=n=>{let r=n;r.sessionId===t&&this.handleLoadingFailed(e,r)},s=r=>{let i=r;if(i.sessionId!==t)return;let a=i.frame;if(!a?.parentId&&a?.url){let t=[...e.entries],r=e.currentUrl;e.currentUrl=a.url,e.entries=[],e.pendingRequests.clear(),this.saveSnapshotWithEntries(e,`navigation`,t,r).catch(e=>{d.error(`Failed to save navigation snapshot`,{recordingId:n,error:e instanceof Error?e.message:String(e)})})}};this.client.on(`Network.requestWillBeSent`,r),this.client.on(`Network.responseReceived`,i),this.client.on(`Network.loadingFinished`,a),this.client.on(`Network.loadingFailed`,o),this.client.on(`Page.frameNavigated`,s),this.eventCleanup.set(n,()=>{this.client.off(`Network.requestWillBeSent`,r),this.client.off(`Network.responseReceived`,i),this.client.off(`Network.loadingFinished`,a),this.client.off(`Network.loadingFailed`,o),this.client.off(`Page.frameNavigated`,s)})}handleRequestWillBeSent(e,t){let{requestId:n,request:r,timestamp:i}=t;!n||!r||i==null||e.pendingRequests.set(n,{requestId:n,startTime:i*1e3,request:{method:r.method,url:r.url,headers:r.headers,postData:r.postData}})}handleResponseReceived(e,t){let{requestId:n,response:r}=t;if(!n||!r)return;let i=e.pendingRequests.get(n);i&&(i.response={status:r.status,statusText:r.statusText,headers:r.headers,mimeType:r.mimeType},i.timing=r.timing)}async handleLoadingFinished(e,t){let{requestId:n,timestamp:r}=t;if(!n||r==null)return;let i=e.pendingRequests.get(n);if(!i)return;i.endTime=r*1e3;try{let t=await this.client.send(`Network.getResponseBody`,{requestId:n},e.sessionId);i.responseBody=t.body,i.responseBodyBase64=t.base64Encoded===!0}catch{}let a=this.buildHarEntry(i);a&&e.entries.push(a),e.pendingRequests.delete(n)}handleLoadingFailed(e,t){let{requestId:n}=t;n&&e.pendingRequests.delete(n)}buildHarEntry(e){if(!e.response)return null;let{request:t,response:n,timing:r,startTime:i,endTime:a,responseBody:o,responseBodyBase64:s}=e,c=a?a-i:0,l=[];try{let e=new URL(t.url);l=Array.from(e.searchParams.entries()).map(([e,t])=>({name:e,value:t}))}catch{}let u=r?(()=>{let e=(e,t)=>{if(e==null||t==null||e<0||t<0)return-1;let n=t-e;return n>=0?n:-1},t=r.dnsStart>=0?r.dnsStart:r.connectStart>=0?r.connectStart:0;return{blocked:t>0?t:-1,dns:e(r.dnsStart,r.dnsEnd),connect:e(r.connectStart,r.connectEnd),ssl:e(r.sslStart,r.sslEnd),send:e(r.sendStart,r.sendEnd),wait:e(r.sendEnd,r.receiveHeadersStart),receive:e(r.receiveHeadersStart,r.receiveHeadersEnd)}})():{blocked:-1,dns:-1,connect:-1,ssl:-1,send:0,wait:c,receive:0},d={size:o?.length??0,mimeType:n.mimeType??`application/octet-stream`};o&&(d.text=o,s&&(d.encoding=`base64`));let f;return t.postData&&(f={mimeType:t.headers[`content-type`]??t.headers[`Content-Type`]??`text/plain`,text:t.postData}),{startedDateTime:new Date(i).toISOString(),time:c,request:{method:t.method,url:t.url,httpVersion:`HTTP/1.1`,cookies:[],headers:Object.entries(t.headers).map(([e,t])=>({name:e,value:t})),queryString:l,postData:f,headersSize:-1,bodySize:t.postData?.length??0},response:{status:n.status,statusText:n.statusText,httpVersion:`HTTP/1.1`,cookies:[],headers:Object.entries(n.headers).map(([e,t])=>({name:e,value:t})),content:d,redirectURL:n.headers.location??n.headers.Location??``,headersSize:-1,bodySize:d.size},cache:{},timings:u}}async saveSnapshot(e,t){return this.saveSnapshotWithEntries(e,t,e.entries,e.currentUrl)}async applyFilter(e,t){return p(e,t)}async saveSnapshotWithEntries(e,t,n,r){if(n.length===0)return d.debug(`No entries to save`,{recordingId:e.id,trigger:t}),null;let i=e.filterCode?await this.applyFilter(n,e.filterCode):n;if(i.length===0)return d.debug(`All entries filtered out`,{recordingId:e.id,trigger:t}),null;e.snapshotCount++;let a=new Date().toISOString().replace(/[:.]/g,`-`),o=this.urlToSlug(r),s=`${e.snapshotCount.toString().padStart(3,`0`)}-${a}-${t}-${o}.har`,c=`/recordings/${e.id}/${s}`,l={log:{version:`1.2`,creator:{name:`SLICC HAR Recorder`,version:`1.0.0`},entries:i}};return await this.fs.writeFile(c,JSON.stringify(l,null,2)),d.debug(`Saved HAR snapshot`,{recordingId:e.id,path:c,entryCount:i.length}),c}urlToSlug(e){try{let t=new URL(e);return`${t.hostname}${t.pathname}`.replace(/[^a-zA-Z0-9]/g,`-`).replace(/-+/g,`-`).replace(/^-|-$/g,``).slice(0,50)||`page`}catch{return`page`}}async stopRecording(e){let t=this.recordings.get(e);if(!t)throw Error(`Recording not found: ${e}`);await this.saveSnapshot(t,`close`);let n=this.eventCleanup.get(e);n&&(n(),this.eventCleanup.delete(e));try{await this.client.send(`Network.disable`,{},t.sessionId)}catch{}this.recordings.delete(e);let r=`/recordings/${e}`;return d.debug(`Stopped recording`,{recordingId:e,snapshotCount:t.snapshotCount}),r}getRecording(e){return this.recordings.get(e)}getRecordingByTarget(e){for(let[t,n]of this.recordings)if(n.targetId===e)return t}async ensureDir(e){await this.fs.mkdir(e,{recursive:!0})}};function p(e,t){try{let n=Function(`entry`,`return (${t})(entry);`),r=[];for(let t of e)try{let e=n(t);if(e===!1)continue;typeof e==`object`&&e?r.push(e):r.push(t)}catch(e){d.error(`Filter function error on entry, keeping it`,{error:e instanceof Error?e.message:String(e)}),r.push(t)}return r}catch(t){return d.error(`Failed to compile filter, returning unfiltered`,{error:t instanceof Error?t.message:String(t)}),e}}var m=`(function() {
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
4
|
// ===== DOM Utilities =====
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{_ as e}from"./account-store-
|
|
1
|
+
import{_ as e}from"./account-store-CA1A4MNg.js";import{a as t}from"./diagnostics-DN_idNHx.js";import{d as n}from"./claude-model-version-CSATLzrT.js";import{r,s as i}from"./legacy-api-aliases-bAJ0Klzq.js";var a=`cerebras`,o=`https://api.cerebras.ai/v1`,s=`openai-completions`,c=`${a}-openai`,l=`slicc-cerebras-models`,u=[],d=[{id:`gpt-oss-120b`,name:`GPT OSS 120B`,api:`openai`,reasoning:!0,input:[`text`],context_window:131072,max_tokens:40960},{id:`gemma-4-31b`,name:`Gemma 4 31B`,api:`openai`,reasoning:!1,input:[`text`,`image`],context_window:131072,max_tokens:40960},{id:`zai-glm-4.7`,name:`Z.AI GLM-4.7`,api:`openai`,reasoning:!1,input:[`text`],context_window:131072,max_tokens:40960}];function f(e){try{localStorage.setItem(l,JSON.stringify(e))}catch{}}function p(){try{let e=localStorage.getItem(l);if(!e)return[];let t=JSON.parse(e);return Array.isArray(t)&&t.length>0?t:[]}catch{return[]}}function m(e){let t=e.id??``,n=d.find(e=>e.id===t);return{id:t,name:e.name??n?.name??t,api:`openai`,reasoning:e.capabilities?.reasoning??n?.reasoning??!1,input:e.capabilities?.vision?[`text`,`image`]:n?.input??[`text`],context_window:e.limits?.max_context_length??n?.context_window??8192,max_tokens:e.limits?.max_completion_tokens??n?.max_tokens??4096}}async function h(e){let t=await fetch(`${o}/models`,{headers:{Authorization:`Bearer ${e}`}});if(!t.ok)throw Error(`GET /v1/models → ${t.status} ${t.statusText}`);let n=((await t.json()).data??[]).map(m).filter(e=>e.id.length>0);n.length>0&&(u=n,f(n))}function g(e,t){return{type:`error`,reason:`error`,error:{role:`assistant`,content:[],api:c,provider:a,model:e.id,usage:{input:0,output:0,cacheRead:0,cacheWrite:0,totalTokens:0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},stopReason:`error`,errorMessage:t instanceof Error?t.message:String(t),timestamp:Date.now()}}}function _(e){console.error(`[cerebras] Stream error:`,e instanceof Error?e.message:String(e))}var v=(e,n,r={})=>{let i=t();return y(i,e,n,r).catch(_),i};async function y(e,t,n,i){try{let a={...t,baseUrl:o,api:s},c=r(a,n,i);for await(let t of c)e.push(t);e.end()}catch(n){_(n),e.push(g(t,n)),e.end()}}var b=(e,n,r)=>{let i=t();return x(i,e,n,r).catch(_),i};async function x(e,t,n,r){try{let a={...t,baseUrl:o,api:s},c=i(a,n,r);for await(let t of c)e.push(t);e.end()}catch(n){_(n),e.push(g(t,n)),e.end()}}var S={id:a,name:`Cerebras`,description:`Ultra-fast inference on Cerebras hardware. Get an API key at cloud.cerebras.ai.`,requiresApiKey:!0,requiresBaseUrl:!1,getModelIds:()=>{if(u.length>0)return u;let e=p();return e.length>0?e:d},refreshModels:async t=>{let n=t??e(a)??``;if(n)try{await h(n)}catch(e){console.warn(`[cerebras] Failed to refresh model list:`,e instanceof Error?e.message:String(e))}}};function C(){n({api:c,stream:v,streamSimple:b})}export{S as config,C as register};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as e}from"./account-store-
|
|
1
|
+
import{a as e}from"./account-store-D5-EuwRH.js";import{a as t}from"./diagnostics-DN_idNHx.js";import{a as n}from"./compat-uEPf6-XW.js";import{r,s as i}from"./legacy-api-aliases-jKEvBgOL.js";const a=`cerebras`,o=`https://api.cerebras.ai/v1`,s=`openai-completions`,c=`${a}-openai`,l=`slicc-cerebras-models`;let u=[];const d=[{id:`gpt-oss-120b`,name:`GPT OSS 120B`,api:`openai`,reasoning:!0,input:[`text`],context_window:131072,max_tokens:40960},{id:`gemma-4-31b`,name:`Gemma 4 31B`,api:`openai`,reasoning:!1,input:[`text`,`image`],context_window:131072,max_tokens:40960},{id:`zai-glm-4.7`,name:`Z.AI GLM-4.7`,api:`openai`,reasoning:!1,input:[`text`],context_window:131072,max_tokens:40960}];function f(e){try{localStorage.setItem(l,JSON.stringify(e))}catch{}}function p(){try{let e=localStorage.getItem(l);if(!e)return[];let t=JSON.parse(e);return Array.isArray(t)&&t.length>0?t:[]}catch{return[]}}function m(e){let t=e.id??``,n=d.find(e=>e.id===t);return{id:t,name:e.name??n?.name??t,api:`openai`,reasoning:e.capabilities?.reasoning??n?.reasoning??!1,input:e.capabilities?.vision?[`text`,`image`]:n?.input??[`text`],context_window:e.limits?.max_context_length??n?.context_window??8192,max_tokens:e.limits?.max_completion_tokens??n?.max_tokens??4096}}async function h(e){let t=await fetch(`${o}/models`,{headers:{Authorization:`Bearer ${e}`}});if(!t.ok)throw Error(`GET /v1/models → ${t.status} ${t.statusText}`);let n=((await t.json()).data??[]).map(m).filter(e=>e.id.length>0);n.length>0&&(u=n,f(n))}function g(e,t){return{type:`error`,reason:`error`,error:{role:`assistant`,content:[],api:c,provider:a,model:e.id,usage:{input:0,output:0,cacheRead:0,cacheWrite:0,totalTokens:0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},stopReason:`error`,errorMessage:t instanceof Error?t.message:String(t),timestamp:Date.now()}}}function _(e){console.error(`[cerebras] Stream error:`,e instanceof Error?e.message:String(e))}const v=(e,n,r={})=>{let i=t();return y(i,e,n,r).catch(_),i};async function y(e,t,n,i){try{let a={...t,baseUrl:o,api:s},c=r(a,n,i);for await(let t of c)e.push(t);e.end()}catch(n){_(n),e.push(g(t,n)),e.end()}}const b=(e,n,r)=>{let i=t();return x(i,e,n,r).catch(_),i};async function x(e,t,n,r){try{let a={...t,baseUrl:o,api:s},c=i(a,n,r);for await(let t of c)e.push(t);e.end()}catch(n){_(n),e.push(g(t,n)),e.end()}}const S={id:a,name:`Cerebras`,description:`Ultra-fast inference on Cerebras hardware. Get an API key at cloud.cerebras.ai.`,requiresApiKey:!0,requiresBaseUrl:!1,getModelIds:()=>{if(u.length>0)return u;let e=p();return e.length>0?e:d},refreshModels:async t=>{let n=t??e(a)??``;if(n)try{await h(n)}catch(e){console.warn(`[cerebras] Failed to refresh model list:`,e instanceof Error?e.message:String(e))}}};function C(){n({api:c,stream:v,streamSimple:b})}export{S as config,C as register};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./logger-DDBAeTLF.js";import{q as t}from"./wc-shortcuts-
|
|
1
|
+
import{t as e}from"./logger-DDBAeTLF.js";import{q as t}from"./wc-shortcuts-DsrVa-7o.js";import{n}from"./runtime-env-Dlaokqg1.js";import{t as r}from"./permissions-surface-registry-CilCRwhh.js";import{t as i}from"./speech-assets-bridge-CFYafE89.js";import{o as a}from"./transformers-env-CKztDfUT.js";import{i as o,t as s}from"./whisper-session-B0UflXuX.js";var c=e(`speech:composer`),l=5e3,u=(e,t,n)=>new Promise((r,i)=>{let a=setTimeout(()=>i(Error(`${n} timed out after ${t}ms`)),t);e.then(e=>{clearTimeout(a),r(e)},e=>{clearTimeout(a),i(e)})}),d=class{#e;#t;#n;#r;#i;#a=null;#o=!1;#s={engine:`builtin`,state:`idle`};#c=a();#l=new Set;#u=null;constructor(e={}){this.#e=e.builtin??t(),this.#t=e.loadWhisper??o,this.#n=e.startSession??s,this.#r=e.getPermissionSurface??f,this.#i=e.ensureAssets??v}permission(){return this.#e.permission()}async requestPermission(){let e=this.#r();if(e)try{let t=await e.request(`microphone`);return t?(this.#p(t.stream),!0):!1}catch(e){return c.warn(`permission surface microphone request failed`,e),!1}return this.#e.requestPermission()}microphones(){return this.#e.microphones()}status(){return this.#s}onStatus(e){return this.#l.add(e),e(this.#s),()=>this.#l.delete(e)}warmup(){this.#o||(this.#o=!0,this.#c=a(),this.#_({engine:`builtin`,state:`downloading`}),this.#d().then(e=>{this.#a=e,this.#_({engine:`enhanced`,state:`ready`})},e=>{this.#o=!1,this.#_({engine:`builtin`,state:`unavailable`,message:m(e)}),c.warn(`enhanced speech engine unavailable`,e)}))}async#d(){let e=null;try{await this.#i(e=>this.#h(e))}catch(t){e=t,c.warn(`speech asset staging failed; trying already-present assets`,t)}try{return await this.#t(e=>this.#g(e))}catch(t){throw e??t}}async start(e){let t=this.#a;if(t){let n=null;try{return n=await this.#f(e.deviceId),await this.#n(t,{deviceId:e.deviceId,lang:e.lang,onPartial:e.onPartial,onError:e.onError,stream:n??void 0})}catch(e){if(n)for(let e of n.getTracks())e.stop();c.warn(`whisper session failed to start; falling back to builtin`,e)}}return this.#e.start(e)}async#f(e){let t=e&&e!=="default"?e:void 0,n=this.#m();if(n){if(!t&&p(n))return n;for(let e of n.getTracks())e.stop()}let r=this.#r();if(!r)return null;let i={audio:!t||{deviceId:{exact:t}}},a=await u(r.request(`microphone`,{constraints:i}),l,`microphone capture`);if(!a)throw Error(`microphone permission denied`);return a.stream}#p(e){if(this.#u&&this.#u!==e)for(let e of this.#u.getTracks())e.stop();this.#u=e}#m(){let e=this.#u;return this.#u=null,e}get enhancedReady(){return this.#a!==null}#h(e){if(this.#s.state!==`downloading`)return;(e.bytesTotal!=null||e.bytesLoaded!=null)&&this.#c.update(e.asset,e.bytesLoaded??0,e.bytesTotal??0);let t=this.#c.snapshot();t.total<=0||this.#_({engine:`builtin`,state:`downloading`,download:{loaded:t.loaded,total:t.total,etaSeconds:t.etaSeconds}})}#g(e){this.#s.state===`downloading`&&this.#_({engine:`builtin`,state:`downloading`,download:{loaded:e.loaded,total:e.total,etaSeconds:e.etaSeconds}})}#_(e){this.#s=e;for(let t of this.#l)t(e)}};function f(){let e=r();return e?{async request(t,n){let r=await e.request(t,n);return r?.kind===`microphone`?{kind:`microphone`,stream:r.stream}:null}}:null}function p(e){let t=e.getTracks();return t.length>0&&t.some(e=>e.readyState!==`ended`)}function m(e){return`Enhanced speech unavailable: ${e instanceof Error?e.message:String(e)}`}var h=n,g;function _(e){g=e}function v(e){return h()?Promise.resolve():i({instanceId:g,onProgress:e})}var y=null;function b(){return y??=new d,y}export{b as getComposerSpeech,_ as setComposerSpeechInstanceId};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import{t as e}from"./logger-LESFN7Hj.js";import{t}from"./compat-uEPf6-XW.js";import{n}from"./descriptor-D-6Koktu.js";import{t as r}from"./memory-budget-CIVoqHgl.js";const i=e(`cone-memory-budget`),a=n.memoryPath,o=/^## Auto-extracted/m;function s(e){let t=o.exec(e);if(!t)return{header:e,autoExtracted:``};let n=t.index;return{header:e.slice(0,n),autoExtracted:e.slice(n)}}async function c(e){try{let t=await e.readFile(`/sessions/index.json`,{encoding:`utf-8`}),n=typeof t==`string`?t:new TextDecoder().decode(t),r=JSON.parse(n);return Array.isArray(r)?r.length:0}catch{return 0}}async function l(e){let{header:n,autoExtracted:r}=s(e.currentContent);if(!r.trim())return e.currentContent;let i=`You are a memory consolidation assistant. You are given a markdown file's "auto-extracted" section — a list of memory bullets accumulated across sessions of an AI coding assistant. Your job is to rewrite that section as a tighter, deduplicated set of durable memories that fits well within ${e.budget} characters.
|
|
2
|
+
|
|
3
|
+
<auto-extracted>
|
|
4
|
+
${r}
|
|
5
|
+
</auto-extracted>`,a={role:`user`,content:[{type:`text`,text:`Consolidate the auto-extracted memory bullets below into a single tighter set of durable memories.
|
|
6
|
+
|
|
7
|
+
Rules:
|
|
8
|
+
- Output ONLY a single \`## Auto-extracted (consolidated)\` heading followed by markdown bullets.
|
|
9
|
+
- One fact per bullet. Drop duplicates and superseded facts. Keep the most recent / specific phrasing.
|
|
10
|
+
- Preserve concrete identifiers (file paths, URLs, IDs, names) verbatim.
|
|
11
|
+
- Be terse. Aim well under the original size.
|
|
12
|
+
- Do NOT add preamble, commentary, or any heading other than the single consolidated one.`}],timestamp:Date.now()},o=await t(e.model,{systemPrompt:i,messages:[a]},{apiKey:e.apiKey,maxTokens:4096,headers:e.headers,signal:e.signal});if(o.stopReason===`error`)throw Error(`Restructure call failed: ${o.errorMessage||`Unknown error`}`);let c=o.content.filter(e=>e.type===`text`).map(e=>e.text).join(`
|
|
13
|
+
`).trim();if(!c)throw Error(`Restructure call returned empty content`);return`${n}${n.length===0||n.endsWith(`
|
|
14
|
+
`)?``:`
|
|
15
|
+
`}${c}\n`}async function u(e){if(!e.model||!e.apiKey)return{restructured:!1,reason:`no-llm`};let t=e.memoryPath??a,n=``;try{let r=await e.vfs.readFile(t,{encoding:`utf-8`});n=typeof r==`string`?r:new TextDecoder().decode(r)}catch{return{restructured:!1,reason:`missing-file`}}let o=await c(e.vfs),s=r(o),u=s*1.25;if(n.length<=u)return{restructured:!1,reason:`under-threshold`};i.info(`Cone memory over threshold — restructuring`,{size:n.length,budget:s,threshold:u,sessionCount:o});try{let r=await l({currentContent:n,budget:s,model:e.model,apiKey:e.apiKey,headers:e.headers,signal:e.signal});return await e.vfs.writeFile(t,r),i.info(`Cone memory restructured`,{before:n.length,after:r.length}),{restructured:!0}}catch(e){return i.warn(`Cone memory restructure failed — leaving appended content in place`,{error:e instanceof Error?e.message:String(e)}),{restructured:!1,reason:`error`}}}export{u as n,a as t};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{T as e,f as t,p as n,z as r}from"./account-store-
|
|
1
|
+
import{T as e,f as t,p as n,z as r}from"./account-store-CA1A4MNg.js";import{n as i}from"./main-BAC0OCne.js";var a=`slicc_cloud_model_catalog`,o=`adobe`;function s(t){if(t===o)return!1;let n=e(t);return!(n.hidden||n.onOAuthLoginIntercepted)}function c(){try{let e=n().map(e=>({providerId:e.providerId,providerName:e.providerName,models:e.models.map(e=>({id:e.id,name:e.name}))}));localStorage.setItem(a,JSON.stringify(e))}catch{}}async function l(n){for(;n.firstChild;)n.removeChild(n.firstChild);n.className=`connect-surface`;let a=document.createElement(`h1`);a.className=`connect-surface__title`,a.textContent=`Connect providers`,n.appendChild(a);let l=document.createElement(`p`);l.className=`connect-surface__desc`,l.textContent=`Log in or add API keys for the providers your cone should use, then click Done to return to the dashboard.`,n.appendChild(l);let u=document.createElement(`div`);u.className=`connect-surface__accounts`,n.appendChild(u);function d(){for(;u.firstChild;)u.removeChild(u.firstChild);let n=t().filter(e=>e.providerId!==o);if(n.length===0){let e=document.createElement(`div`);e.className=`connect-surface__empty`,e.textContent=`No providers connected yet.`,u.appendChild(e)}else{let t=document.createElement(`div`);t.className=`connect-surface__accounts-list`;for(let i of n){let n=e(i.providerId),a=document.createElement(`div`);a.className=`connect-surface__account-row`;let o=document.createElement(`div`);o.className=`connect-surface__account-info`;let s=document.createElement(`div`);s.className=`connect-surface__account-name`,s.textContent=n.name,o.appendChild(s);let l=document.createElement(`div`);l.className=`connect-surface__account-detail`,l.textContent=i.userName?i.userName:i.accessToken?`Logged in`:i.apiKey?`API key set`:`No credentials`,o.appendChild(l),a.appendChild(o);let u=document.createElement(`button`);u.className=`connect-surface__remove-btn`,u.textContent=`Remove`,u.onclick=async()=>{await r(i.providerId),c(),d()},a.appendChild(u),t.appendChild(a)}u.appendChild(t)}let a=document.createElement(`button`);a.className=`connect-surface__add-btn`,a.textContent=n.length===0?`Add provider`:`Manage providers`,a.onclick=async()=>{await i({startInAddAccount:!0,providerFilter:s})&&(c(),d())},u.appendChild(a)}d(),c();let f=document.createElement(`div`);f.className=`connect-surface__footer`;let p=document.createElement(`button`);if(p.className=`connect-surface__done-btn`,p.textContent=`Done — return to dashboard`,p.onclick=()=>{c(),window.close()},f.appendChild(p),n.appendChild(f),!document.getElementById(`connect-surface-style`)){let e=document.createElement(`style`);e.id=`connect-surface-style`,e.textContent=`
|
|
2
2
|
.connect-surface {
|
|
3
3
|
padding: 2rem;
|
|
4
4
|
max-width: 560px;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{C as e,E as t,O as n,S as r,T as i,b as a,i as o,t as s,x as c}from"./record-YqlVEfh_.js";function l(e){switch(e){case`initializing`:return`creating`;case`processing`:return`running`;case`error`:return`failed`;case`ready`:return`ready`;default:return`creating`}}const u=`/cones`,d=`/workspace/skills`;function f(t){if(e(t)){if(o(t))return{root:`/workspace`,memoryPath:`/workspace/CLAUDE.md`,scratch:`/tmp`};let e=`${u}/${t.folder}`;return{root:`${e}/workspace`,memoryPath:`${e}/CLAUDE.md`,scratch:`/tmp`}}let n=`/scoops/${t.folder}`;return{root:`${n}/workspace`,memoryPath:`${n}/CLAUDE.md`,scratch:n}}const p=`/tmp`;function m(n,r){if(!r)return`${p}/${s}`;if(e(r))return`${p}/${r.folder}`;let a=[...n],o=i(a,r)??t(a)[0];return`${p}/${o?.folder??`cone`}/${r.folder}`}const h=Object.freeze(f({parentJid:null,folder:s}));function g(e,n){let r=[...e],a=i(r,n)??t(r)[0];return a?f(a):h}function _(e){let t=`${e.root}/`,n=`${d}/`;return n.startsWith(t)?[t]:[t,n]}function v(e,t,n,r){let i=`/scoops/${t}/`;return e===`private`?{visiblePaths:[],writablePaths:[i]}:{visiblePaths:_({root:r??n.root}),writablePaths:[i,`/shared/`]}}function y(e){let{root:t}=f(e);return{workspaceId:t,root:t,access:b(e)}}function b(t){if(e(t))return`shared-live`;let r=t.config?.workspaceMode;return r===`private`||r===`shared-readonly`||r===`snapshot`||r===`shared-live`?r:n}function x(t,n){let i=e(t);return{id:t.jid,parentId:t.parentJid,name:t.name,folder:t.folder,status:l(n?.status),display:{role:i?`primary`:`child`,label:t.assistantLabel},workspace:f(t),workspaceHandle:y(t),policy:r(t),completion:a(t),onParentClose:c(t)}}export{v as a,m as c,l as d,p as i,x as l,h as n,_ as o,d as r,g as s,u as t,f as u};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./logger-LESFN7Hj.js";import{t}from"./agent-bridge-
|
|
1
|
+
import{t as e}from"./logger-LESFN7Hj.js";import{t}from"./agent-bridge-Bk8XJ8b8.js";import{S as n}from"./record-YqlVEfh_.js";const r=e(`directed-approval`);function i(e,t){if(e.kind===`user`)return a(`the user tier is not a directed approval`);if(e.kind===`agent`)return a(`agent approvals are not enqueued to a unit`);let r=e.unitJid;if(!t.scoops.has(r))return a(`the requesting unit is not registered`);let i=t.ownerRootOf(r);if(!i)return a(`no owning cone for the requesting unit`);let o=e.kind===`cone`?i:[...t.scoops.values()].find(t=>t.parentJid===i.jid&&(t.name===e.scoopName||t.folder===e.scoopName));return o?n(o).canResolveApprovals?{ok:!0,requesterJid:r,approver:o}:a(`the named approver cannot resolve approvals`):a(`delegated approver not found under this cone`)}function a(e){return r.warn(`Directed approval failing closed`,{reason:e}),{ok:!1,reason:e}}const o={decision:`deny`};async function s(e,n){let a=e.approver;if(a?.kind===`agent`){let i=globalThis[t];if(!i)return r.warn(`No agent bridge available for an approver agent — denying`),o;let{approverRunnerFor:s}=await import(`./approver-agent-BA3dC9Lg.js`),c=n.getSharedFs(),l=await s({spawn:e=>i.spawn(e),readSharedFile:async e=>{if(!c)return null;try{let t=await c.readFile(e,{encoding:`utf-8`});return typeof t==`string`?t:null}catch{return null}},findUnit:e=>{let t=n.scoops.get(e);return t?{workspace:n.workspaceFor(t),folder:t.folder}:void 0}})({kind:e.kind===`guest-tool`?`guest-tool`:`guest-message`,requester:e.requester??`an unidentified requester`,detail:e.detail},a.unitJid);return r.info(`Approver agent verdict`,{decision:l.decision,reason:l.reason}),l.decision===`allow`?{decision:`allow`}:o}if(a&&a.kind!==`user`){let t=i(a,n);return t.ok?n.enqueue(t.requesterJid,e,{approver:t.approver}):o}return n.approveAsUser(e)}export{s as runDirectedApproval};
|