tarsk 0.5.52 → 0.5.53

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 (78) hide show
  1. package/dist/index.js +1550 -1796
  2. package/dist/public/assets/{account-view-C5bYplbC.js → account-view-5qdPli2O.js} +1 -1
  3. package/dist/public/assets/{api-DDjBQKVp.js → api-DM6LtnPA.js} +1 -1
  4. package/dist/public/assets/browser-tab-B9KCHZ2L.js +8 -0
  5. package/dist/public/assets/commit-dialog-DeVXqj1Z.js +1 -0
  6. package/dist/public/assets/{context-menu-CyWNCdS8.js → context-menu-CHJI6MbC.js} +1 -1
  7. package/dist/public/assets/create-repo-dialog-ByIjJnh7.js +1 -0
  8. package/dist/public/assets/dialogs-config-DAMqiy-4.js +51 -0
  9. package/dist/public/assets/{diff-view-CUydKAcj.js → diff-view-DxSswxah.js} +2 -2
  10. package/dist/public/assets/{explorer-tab-view-DImsoaa7.js → explorer-tab-view-DMt-0Zcl.js} +2 -2
  11. package/dist/public/assets/{explorer-tree-C3N9yUX2.js → explorer-tree-D3nyQX1f.js} +1 -1
  12. package/dist/public/assets/explorer-view-BRBtKxsw.js +75 -0
  13. package/dist/public/assets/git-history-dialog-DJfkffd6.js +1 -0
  14. package/dist/public/assets/git-ops-button-0DrfLBkC.js +2 -0
  15. package/dist/public/assets/history-view-lvvTzW7O.js +9 -0
  16. package/dist/public/assets/index-C_iiobDl.js +81 -0
  17. package/dist/public/assets/index-DhnUeGIU.css +1 -0
  18. package/dist/public/assets/{mcp-server-card-euln08CV.js → mcp-server-card-DPMxJJU6.js} +1 -1
  19. package/dist/public/assets/merged-pr-dialog-BC9NMIet.js +1 -0
  20. package/dist/public/assets/model-star-rating-C4Ugsik_.js +1 -0
  21. package/dist/public/assets/onboarding-dys9Rwb5.js +1 -0
  22. package/dist/public/assets/project-settings-view-XGHhtLr_.js +1 -0
  23. package/dist/public/assets/providers-list-view-Cbndeobz.js +1 -0
  24. package/dist/public/assets/pull-request-dialog-kuaKjUle.js +1 -0
  25. package/dist/public/assets/pull-with-changes-dialog-CoxkFsGu.js +1 -0
  26. package/dist/public/assets/push-before-pr-dialog-C4cbgPuA.js +1 -0
  27. package/dist/public/assets/{radio-group-DZUWbeu6.js → radio-group-C6EDTFov.js} +1 -1
  28. package/dist/public/assets/{react-vendor-G5EdW8A3.js → react-vendor-U9lUQswz.js} +5 -5
  29. package/dist/public/assets/settings-general-view-BHj9qn0K.js +1 -0
  30. package/dist/public/assets/{settings-instructions-view-DdZptx3T.js → settings-instructions-view-CRUCeWUk.js} +1 -1
  31. package/dist/public/assets/{settings-list-CKN-l-Ee.js → settings-list-BapKAJV3.js} +1 -1
  32. package/dist/public/assets/settings-mcp-servers-view-M2DQPcpo.js +5 -0
  33. package/dist/public/assets/{settings-models-skeleton-bDHbKptW.js → settings-models-skeleton-B7TMwjxe.js} +1 -1
  34. package/dist/public/assets/{settings-models-view-Dm63snYH.js → settings-models-view-ObE_ktqH.js} +1 -1
  35. package/dist/public/assets/settings-rules-view-BhRBowk9.js +8 -0
  36. package/dist/public/assets/{settings-skills-view-DUq0nOrv.js → settings-skills-view-MZQjnD_g.js} +3 -3
  37. package/dist/public/assets/{settings-slash-commands-view-3UGw-rg7.js → settings-slash-commands-view-BYHthCEM.js} +1 -1
  38. package/dist/public/assets/settings-subagents-view-CmrFQcUF.js +2 -0
  39. package/dist/public/assets/{settings-system-prompt-view-C5zpTiRs.js → settings-system-prompt-view-CZe9uYNN.js} +1 -1
  40. package/dist/public/assets/{settings-view-BqDpwOQy.js → settings-view-BQL9vEvw.js} +2 -2
  41. package/dist/public/assets/{skeleton-jLDiBDMB.js → skeleton-rEPpLCqo.js} +1 -1
  42. package/dist/public/assets/{slug-utils-CKHx-ORv.js → slug-utils-DZ59sTAJ.js} +1 -1
  43. package/dist/public/assets/{tabs-BDis0z_E.js → tabs-D57g7ER1.js} +1 -1
  44. package/dist/public/assets/tasks-view-Bn9GiPNp.js +3 -0
  45. package/dist/public/assets/{terminal-panel-qSiost2C.js → terminal-panel-CrBP1KEj.js} +2 -2
  46. package/dist/public/assets/{ui-components-CxpS-7ye.js → ui-components-BPFbmhJA.js} +1 -1
  47. package/dist/public/assets/{use-deferred-search-BqzgL9XK.js → use-deferred-search-Bi99md6l.js} +1 -1
  48. package/dist/public/assets/{utils-DKzTCvnZ.js → utils-C-7eVelM.js} +1 -1
  49. package/dist/public/assets/{vosk-speech-Im3i-XDL.js → vosk-speech-DC3I453R.js} +1 -1
  50. package/dist/public/assets/{web-DE8zJOsF.js → web-CHeXRjkl.js} +1 -1
  51. package/dist/public/assets/{web-CY9AvMQI.js → web-DbVs7vzI.js} +1 -1
  52. package/dist/public/assets/{web-CtID-CpM.js → web-GowI_ZaX.js} +1 -1
  53. package/dist/public/assets/{web-D7a-Gt-K.js → web-t7m2rd8w.js} +1 -1
  54. package/dist/public/index.html +8 -8
  55. package/package.json +3 -3
  56. package/dist/public/assets/browser-tab-BLzy-OnY.js +0 -8
  57. package/dist/public/assets/commit-dialog-VaKgg0v7.js +0 -1
  58. package/dist/public/assets/create-repo-dialog-CxeBrzuI.js +0 -1
  59. package/dist/public/assets/dialogs-config-sFb6rmoV.js +0 -51
  60. package/dist/public/assets/explorer-view-t0Ubx-_E.js +0 -75
  61. package/dist/public/assets/git-history-dialog-BdFqU3-t.js +0 -1
  62. package/dist/public/assets/git-ops-button-DREYFquW.js +0 -2
  63. package/dist/public/assets/history-view-BaNsCvOG.js +0 -9
  64. package/dist/public/assets/index-BabXMhGR.js +0 -81
  65. package/dist/public/assets/index-CouJM3yT.css +0 -1
  66. package/dist/public/assets/merged-pr-dialog-CU3eepWu.js +0 -1
  67. package/dist/public/assets/model-star-rating-BeaqZyyn.js +0 -1
  68. package/dist/public/assets/onboarding-BtDZI4KL.js +0 -1
  69. package/dist/public/assets/project-settings-view-nULqYl1Q.js +0 -1
  70. package/dist/public/assets/providers-list-view-C_I7apJ0.js +0 -1
  71. package/dist/public/assets/pull-request-dialog-DPoyoAzR.js +0 -1
  72. package/dist/public/assets/pull-with-changes-dialog-BWeBUSvR.js +0 -1
  73. package/dist/public/assets/push-before-pr-dialog-CelqoZ3J.js +0 -1
  74. package/dist/public/assets/settings-general-view-BIpRxHjN.js +0 -1
  75. package/dist/public/assets/settings-mcp-servers-view-DThIXFIU.js +0 -5
  76. package/dist/public/assets/settings-rules-view-C8EhiuF6.js +0 -8
  77. package/dist/public/assets/settings-subagents-view-DjY_-Vkl.js +0 -2
  78. package/dist/public/assets/tasks-view-Chkg_CWm.js +0 -3
@@ -1 +1 @@
1
- import{g as e}from"./index-BabXMhGR.js";var t=class extends e{constructor(){super(...arguments),this.wakeLock=null,this._isSupported=typeof navigator<`u`&&`wakeLock`in navigator,this.handleVisibilityChange=()=>{document.visibilityState===`visible`&&this.keepAwake()}}async keepAwake(){this._isSupported||this.throwUnsupportedError(),this.wakeLock&&await this.allowSleep(),this.wakeLock=await navigator.wakeLock.request(`screen`),document.addEventListener(`visibilitychange`,this.handleVisibilityChange),document.addEventListener(`fullscreenchange`,this.handleVisibilityChange)}async allowSleep(){var e;this._isSupported||this.throwUnsupportedError(),(e=this.wakeLock)==null||e.release(),this.wakeLock=null,document.removeEventListener(`visibilitychange`,this.handleVisibilityChange),document.removeEventListener(`fullscreenchange`,this.handleVisibilityChange)}async isSupported(){return{isSupported:this._isSupported}}async isKeptAwake(){return this._isSupported||this.throwUnsupportedError(),{isKeptAwake:!!this.wakeLock}}throwUnsupportedError(){throw this.unavailable(`Screen Wake Lock API not available in this browser.`)}};export{t as KeepAwakeWeb};
1
+ import{g as e}from"./index-C_iiobDl.js";var t=class extends e{constructor(){super(...arguments),this.wakeLock=null,this._isSupported=typeof navigator<`u`&&`wakeLock`in navigator,this.handleVisibilityChange=()=>{document.visibilityState===`visible`&&this.keepAwake()}}async keepAwake(){this._isSupported||this.throwUnsupportedError(),this.wakeLock&&await this.allowSleep(),this.wakeLock=await navigator.wakeLock.request(`screen`),document.addEventListener(`visibilitychange`,this.handleVisibilityChange),document.addEventListener(`fullscreenchange`,this.handleVisibilityChange)}async allowSleep(){var e;this._isSupported||this.throwUnsupportedError(),(e=this.wakeLock)==null||e.release(),this.wakeLock=null,document.removeEventListener(`visibilitychange`,this.handleVisibilityChange),document.removeEventListener(`fullscreenchange`,this.handleVisibilityChange)}async isSupported(){return{isSupported:this._isSupported}}async isKeptAwake(){return this._isSupported||this.throwUnsupportedError(),{isKeptAwake:!!this.wakeLock}}throwUnsupportedError(){throw this.unavailable(`Screen Wake Lock API not available in this browser.`)}};export{t as KeepAwakeWeb};
@@ -1 +1 @@
1
- import{g as e}from"./index-BabXMhGR.js";var t=class extends e{constructor(){super(),this.handleVisibilityChange=()=>{let e={isActive:document.hidden!==!0};this.notifyListeners(`appStateChange`,e),document.hidden?this.notifyListeners(`pause`,null):this.notifyListeners(`resume`,null)},document.addEventListener(`visibilitychange`,this.handleVisibilityChange,!1)}exitApp(){throw this.unimplemented(`Not implemented on web.`)}async getInfo(){throw this.unimplemented(`Not implemented on web.`)}async getLaunchUrl(){return{url:``}}async getState(){return{isActive:document.hidden!==!0}}async minimizeApp(){throw this.unimplemented(`Not implemented on web.`)}async toggleBackButtonHandler(){throw this.unimplemented(`Not implemented on web.`)}async getAppLanguage(){return{value:navigator.language.split(`-`)[0].toLowerCase()}}};export{t as AppWeb};
1
+ import{g as e}from"./index-C_iiobDl.js";var t=class extends e{constructor(){super(),this.handleVisibilityChange=()=>{let e={isActive:document.hidden!==!0};this.notifyListeners(`appStateChange`,e),document.hidden?this.notifyListeners(`pause`,null):this.notifyListeners(`resume`,null)},document.addEventListener(`visibilitychange`,this.handleVisibilityChange,!1)}exitApp(){throw this.unimplemented(`Not implemented on web.`)}async getInfo(){throw this.unimplemented(`Not implemented on web.`)}async getLaunchUrl(){return{url:``}}async getState(){return{isActive:document.hidden!==!0}}async minimizeApp(){throw this.unimplemented(`Not implemented on web.`)}async toggleBackButtonHandler(){throw this.unimplemented(`Not implemented on web.`)}async getAppLanguage(){return{value:navigator.language.split(`-`)[0].toLowerCase()}}};export{t as AppWeb};
@@ -1 +1 @@
1
- import{g as e,i as t,n,r}from"./index-BabXMhGR.js";var i=class extends e{async stopAndHideScanner(){console.log(window.OSBarcodeWebScanner),window.OSBarcodeWebScanner&&(await window.OSBarcodeWebScanner.stop(),window.OSBarcodeWebScanner=null),document.getElementById(`cap-os-barcode-scanner-container-dialog`).style.display=`none`}buildScannerElement(){if(document.getElementById(`cap-os-barcode-scanner-container`)){document.getElementById(`cap-os-barcode-scanner-container`).className=`scanner-container-display`;return}let e=document.body.appendChild(document.createElement(`div`));e.id=`cap-os-barcode-scanner-container`;let t=document.createElement(`div`);t.id=`cap-os-barcode-scanner-container-dialog`,t.className=`scanner-dialog`;let n=document.createElement(`div`);n.className=`scanner-dialog-inner`;let r=document.createElement(`span`);r.id=`cap-os-barcode-scanner-close-button`,r.className=`close-button`,r.innerHTML=`&times;`,n.appendChild(r);let i=document.createElement(`p`);i.innerHTML=`&nbsp;`,n.appendChild(i);let a=document.createElement(`div`);a.className=`scanner-container-full-width`,a.id=`cap-os-barcode-scanner-container-scanner`,n.appendChild(a),t.appendChild(n),e.appendChild(t)}async scanBarcode(e){return this.buildScannerElement(),document.getElementById(`cap-os-barcode-scanner-container-dialog`).style.display=`block`,new Promise((i,a)=>{let o={facingMode:e.cameraDirection===1?`environment`:`user`,hasScannerButton:!1,scanButton:e.scanButton===void 0?!1:e.scanButton,showScanLine:!1,scanInstructions:e.scanInstructions?e.scanInstructions:``,orientation:e.scanOrientation?e.scanOrientation:n.PORTRAIT,showCameraSelection:e.web?.showCameraSelection?e.web.showCameraSelection:!1,typeHint:e.hint===17?void 0:e.hint,scannerFPS:e.web?.scannerFPS?e.web.scannerFPS:50},s=!1,c=document.getElementById(`cap-os-barcode-scanner-close-button`);c&&(c.onclick=async()=>{s||(s=!0,await this.stopAndHideScanner(),a(Error(`Couldn’t scan because the process was cancelled.`)))});let l=document.getElementById(`cap-os-barcode-scanner-container-scanner`);if(!l)throw Error(`Scanner Element is required for web`);window.OSBarcodeWebScanner=new t(l.id,{formatsToSupport:o.typeHint===void 0?void 0:[o.typeHint],verbose:void 0});let u={fps:o.scannerFPS,qrbox:l.getBoundingClientRect().width*(9/16)-10,aspectRatio:16/9,videoConstraints:{focusMode:`continuous`,height:{min:576,ideal:1920},deviceId:void 0,facingMode:o.facingMode}};window.OSBarcodeWebScanner.start({facingMode:o.facingMode},u,(e,t)=>{this.stopAndHideScanner(),i({ScanResult:e,format:t.result.format?.format??r.ALL})},e=>{[`NotFoundException`,`No barcode or QR code detected`,`No MultiFormat Readers were able to detect the code`].find(t=>e.indexOf(t)!==-1)||(this.stopAndHideScanner(),console.error(`[Scanner Web Error] ${e}`),a(e))})})}};export{i as CapacitorBarcodeScannerWeb};
1
+ import{g as e,i as t,n,r}from"./index-C_iiobDl.js";var i=class extends e{async stopAndHideScanner(){console.log(window.OSBarcodeWebScanner),window.OSBarcodeWebScanner&&(await window.OSBarcodeWebScanner.stop(),window.OSBarcodeWebScanner=null),document.getElementById(`cap-os-barcode-scanner-container-dialog`).style.display=`none`}buildScannerElement(){if(document.getElementById(`cap-os-barcode-scanner-container`)){document.getElementById(`cap-os-barcode-scanner-container`).className=`scanner-container-display`;return}let e=document.body.appendChild(document.createElement(`div`));e.id=`cap-os-barcode-scanner-container`;let t=document.createElement(`div`);t.id=`cap-os-barcode-scanner-container-dialog`,t.className=`scanner-dialog`;let n=document.createElement(`div`);n.className=`scanner-dialog-inner`;let r=document.createElement(`span`);r.id=`cap-os-barcode-scanner-close-button`,r.className=`close-button`,r.innerHTML=`&times;`,n.appendChild(r);let i=document.createElement(`p`);i.innerHTML=`&nbsp;`,n.appendChild(i);let a=document.createElement(`div`);a.className=`scanner-container-full-width`,a.id=`cap-os-barcode-scanner-container-scanner`,n.appendChild(a),t.appendChild(n),e.appendChild(t)}async scanBarcode(e){return this.buildScannerElement(),document.getElementById(`cap-os-barcode-scanner-container-dialog`).style.display=`block`,new Promise((i,a)=>{let o={facingMode:e.cameraDirection===1?`environment`:`user`,hasScannerButton:!1,scanButton:e.scanButton===void 0?!1:e.scanButton,showScanLine:!1,scanInstructions:e.scanInstructions?e.scanInstructions:``,orientation:e.scanOrientation?e.scanOrientation:n.PORTRAIT,showCameraSelection:e.web?.showCameraSelection?e.web.showCameraSelection:!1,typeHint:e.hint===17?void 0:e.hint,scannerFPS:e.web?.scannerFPS?e.web.scannerFPS:50},s=!1,c=document.getElementById(`cap-os-barcode-scanner-close-button`);c&&(c.onclick=async()=>{s||(s=!0,await this.stopAndHideScanner(),a(Error(`Couldn’t scan because the process was cancelled.`)))});let l=document.getElementById(`cap-os-barcode-scanner-container-scanner`);if(!l)throw Error(`Scanner Element is required for web`);window.OSBarcodeWebScanner=new t(l.id,{formatsToSupport:o.typeHint===void 0?void 0:[o.typeHint],verbose:void 0});let u={fps:o.scannerFPS,qrbox:l.getBoundingClientRect().width*(9/16)-10,aspectRatio:16/9,videoConstraints:{focusMode:`continuous`,height:{min:576,ideal:1920},deviceId:void 0,facingMode:o.facingMode}};window.OSBarcodeWebScanner.start({facingMode:o.facingMode},u,(e,t)=>{this.stopAndHideScanner(),i({ScanResult:e,format:t.result.format?.format??r.ALL})},e=>{[`NotFoundException`,`No barcode or QR code detected`,`No MultiFormat Readers were able to detect the code`].find(t=>e.indexOf(t)!==-1)||(this.stopAndHideScanner(),console.error(`[Scanner Web Error] ${e}`),a(e))})})}};export{i as CapacitorBarcodeScannerWeb};
@@ -1 +1 @@
1
- import{g as e,l as t,u as n}from"./index-BabXMhGR.js";var r=class extends e{constructor(){super(...arguments),this.selectionStarted=!1}async impact(e){let t=this.patternForImpact(e?.style);this.vibrateWithPattern(t)}async notification(e){let t=this.patternForNotification(e?.type);this.vibrateWithPattern(t)}async vibrate(e){let t=e?.duration||300;this.vibrateWithPattern([t])}async selectionStart(){this.selectionStarted=!0}async selectionChanged(){this.selectionStarted&&this.vibrateWithPattern([70])}async selectionEnd(){this.selectionStarted=!1}patternForImpact(e=t.Heavy){return e===t.Medium?[43]:e===t.Light?[20]:[61]}patternForNotification(e=n.Success){return e===n.Warning?[30,40,30,50,60]:e===n.Error?[27,45,50]:[35,65,21]}vibrateWithPattern(e){if(navigator.vibrate)navigator.vibrate(e);else throw this.unavailable(`Browser does not support the vibrate API`)}};export{r as HapticsWeb};
1
+ import{g as e,l as t,u as n}from"./index-C_iiobDl.js";var r=class extends e{constructor(){super(...arguments),this.selectionStarted=!1}async impact(e){let t=this.patternForImpact(e?.style);this.vibrateWithPattern(t)}async notification(e){let t=this.patternForNotification(e?.type);this.vibrateWithPattern(t)}async vibrate(e){let t=e?.duration||300;this.vibrateWithPattern([t])}async selectionStart(){this.selectionStarted=!0}async selectionChanged(){this.selectionStarted&&this.vibrateWithPattern([70])}async selectionEnd(){this.selectionStarted=!1}patternForImpact(e=t.Heavy){return e===t.Medium?[43]:e===t.Light?[20]:[61]}patternForNotification(e=n.Success){return e===n.Warning?[30,40,30,50,60]:e===n.Error?[27,45,50]:[35,65,21]}vibrateWithPattern(e){if(navigator.vibrate)navigator.vibrate(e);else throw this.unavailable(`Browser does not support the vibrate API`)}};export{r as HapticsWeb};
@@ -22,17 +22,17 @@
22
22
  <meta name="apple-mobile-web-app-title" content="Tarsk" />
23
23
 
24
24
  <title>Tarsk</title>
25
- <script type="module" crossorigin src="/assets/index-BabXMhGR.js"></script>
25
+ <script type="module" crossorigin src="/assets/index-C_iiobDl.js"></script>
26
26
  <link rel="modulepreload" crossorigin href="/assets/rolldown-runtime-aKtaBQYM.js">
27
27
  <link rel="modulepreload" crossorigin href="/assets/monaco-CZnIWXyV.js">
28
- <link rel="modulepreload" crossorigin href="/assets/dialogs-config-sFb6rmoV.js">
29
- <link rel="modulepreload" crossorigin href="/assets/history-view-BaNsCvOG.js">
30
- <link rel="modulepreload" crossorigin href="/assets/onboarding-BtDZI4KL.js">
31
- <link rel="modulepreload" crossorigin href="/assets/vosk-speech-Im3i-XDL.js">
32
- <link rel="modulepreload" crossorigin href="/assets/react-vendor-G5EdW8A3.js">
33
- <link rel="modulepreload" crossorigin href="/assets/utils-DKzTCvnZ.js">
28
+ <link rel="modulepreload" crossorigin href="/assets/dialogs-config-DAMqiy-4.js">
29
+ <link rel="modulepreload" crossorigin href="/assets/history-view-lvvTzW7O.js">
30
+ <link rel="modulepreload" crossorigin href="/assets/onboarding-dys9Rwb5.js">
31
+ <link rel="modulepreload" crossorigin href="/assets/vosk-speech-DC3I453R.js">
32
+ <link rel="modulepreload" crossorigin href="/assets/react-vendor-U9lUQswz.js">
33
+ <link rel="modulepreload" crossorigin href="/assets/utils-C-7eVelM.js">
34
34
  <link rel="stylesheet" crossorigin href="/assets/monaco-Br_kD0ds.css">
35
- <link rel="stylesheet" crossorigin href="/assets/index-CouJM3yT.css">
35
+ <link rel="stylesheet" crossorigin href="/assets/index-DhnUeGIU.css">
36
36
  </head>
37
37
  <body class="font-sans antialiased">
38
38
  <div id="root"></div>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tarsk",
3
- "version": "0.5.52",
3
+ "version": "0.5.53",
4
4
  "description": "CLI for Tarsk - Project Threads Manager",
5
5
  "keywords": [
6
6
  "cli",
@@ -22,9 +22,9 @@
22
22
  "scripts": {
23
23
  "build:app-assets": "cd ../app && bun run build",
24
24
  "build:server": "rm -rf dist && bun scripts/bundle.ts && cp src/scaffold-templates.json dist/ && cp recommended-models.txt dist/ && cp -R bundled-skills dist/bundled-skills",
25
- "dev": "bun run sync-models && bun run build:app-assets && electrobun dev",
25
+ "dev": "bun run sync-models && bun run build:app-assets && TARSK_ELECTROBUN_DEV=1 electrobun dev",
26
26
  "sync-models": "cd ../ai-data && bun run sync-models",
27
- "dev:watch": "bun run build:app-assets && electrobun dev --watch",
27
+ "dev:watch": "bun run build:app-assets && TARSK_ELECTROBUN_DEV=1 electrobun dev --watch",
28
28
  "build": "bun run build:app-assets && bun run build:server && electrobun build --targets macos-arm64",
29
29
  "build:npm": "bun run build:app-assets && bun run build:server",
30
30
  "start": "bun run dev",
@@ -1,8 +0,0 @@
1
- import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{Br as t,Ii as n,Ko as r,Lr as i,Ma as a,Ms as o,Na as s,Ps as c,Rr as l,Zr as u,bo as d,fs as f,ha as p,js as m,na as h,oa as g,on as _,rr as v,zr as y}from"./dialogs-config-sFb6rmoV.js";import{B as b,F as x,W as S,_ as ee,b as te,c as ne,o as re,s as ie,w as ae}from"./index-BabXMhGR.js";var C=o(),w=e(c(),1),T=m(),E=r(`app.browser-tab.ui`);function D(e){let t=e.trim();return t?(!t.startsWith(`http://`)&&!t.startsWith(`https://`)&&(t=`http://${t}`),t):``}function oe(e){return e?e.querySelector(`electrobun-webview`):null}function se(e){e.webviewId!=null&&(e.toggleHidden(!0),e.togglePassthrough(!0))}function O(e){e.webviewId!=null&&(e.toggleHidden(!1),e.togglePassthrough(!1),e.syncDimensions(!0))}function k(e,t){let n=!1,r=0;function i(){if(!n){if(e.webviewId==null){r=requestAnimationFrame(i);return}t&&e.getAttribute(`src`)!==t&&e.loadURL(t),O(e)}}return r=requestAnimationFrame(i),function(){n=!0,cancelAnimationFrame(r)}}function A(e,t=!1){return`(function () {
2
- const api = window.__tarskBrowserPreview;
3
- if (!api || typeof api.setSelectMode !== "function") {
4
- log.error("[browser-preview] selection API is not available");
5
- return;
6
- }
7
- api.setSelectMode(${e?`true`:`false`}, ${t?`true`:`false`});
8
- })();`}function ce(e,t,n=!1){if(typeof e.executeJavascript!=`function`)throw Error(`Browser preview webview JS execution is not available`);try{e.executeJavascript(A(t,n))}catch(r){throw E.error(`[browser-preview] Failed to toggle native preview selection mode`,{enabled:t,preserveSelection:n,src:e.src,webview_id:e.webviewId,error:r instanceof Error?r.message:String(r),stack:r instanceof Error?r.stack:void 0}),r}}function le(e,t,n=!1){let r=e.contentWindow;if(!r)throw Error(`Browser preview frame is not ready`);let i=r.__tarskBrowserPreview;if(!i?.setSelectMode)throw Error(`Browser preview selection API is not available in iframe preview`);i.setSelectMode(t,n)}function j(e){let r=(0,C.c)(16),{onClick:a,label:o,children:s,isActive:c,disabled:u,activeStyle:d}=e,f=c===void 0?!1:c,p=u===void 0?!1:u,m=d===void 0?`elevated`:d,h=p&&`cursor-not-allowed text-muted-foreground/50`,g=!p&&!f&&`text-muted-foreground hover:bg-background/50 hover:text-foreground`,_=!p&&f&&m===`depressed`&&`bg-muted text-primary shadow-[inset_0_2px_4px_rgba(0,0,0,0.14)] ring-1 ring-inset ring-border/80 dark:shadow-[inset_0_2px_4px_rgba(0,0,0,0.35)]`,v=!p&&f&&m===`elevated`&&`bg-background text-foreground shadow-sm`,y;r[0]!==h||r[1]!==g||r[2]!==_||r[3]!==v?(y=n(`rounded p-1.5 transition-all`,h,g,_,v),r[0]=h,r[1]=g,r[2]=_,r[3]=v,r[4]=y):y=r[4];let b;r[5]!==s||r[6]!==p||r[7]!==f||r[8]!==a||r[9]!==y?(b=(0,T.jsx)(t,{asChild:!0,children:(0,T.jsx)(`button`,{type:`button`,onClick:a,disabled:p,"aria-pressed":f,className:y,children:s})}),r[5]=s,r[6]=p,r[7]=f,r[8]=a,r[9]=y,r[10]=b):b=r[10];let x;r[11]===o?x=r[12]:(x=(0,T.jsx)(l,{children:o}),r[11]=o,r[12]=x);let S;return r[13]!==x||r[14]!==b?(S=(0,T.jsxs)(i,{children:[b,x]}),r[13]=x,r[14]=b,r[15]=S):S=r[15],S}function M(){let{activeMainTab:e}=x(),{devServerUrl:t}=ae(),{browserResetTrigger:r,browserDeviceMode:i,setBrowserDeviceMode:o,isSelectModeEnabled:c,setIsSelectModeEnabled:l,setSelectedBrowserElement:m,setIsSelectionPromptOpen:C,isSelectionPromptOpen:A,setBrowserAgentProcessingThreadId:M}=ne(),N=S(e=>e.selectedProjectId),P=S(e=>e.projects).find(e=>e.projectId===N),[ue,F]=(0,w.useState)(``),[I,L]=(0,w.useState)(``),[R,z]=(0,w.useState)(``),[B,V]=(0,w.useState)(i),H=(0,w.useRef)(null),U=(0,w.useRef)(R),W=(0,w.useRef)(null),G=(0,w.useRef)(null),K=v(),de=ee(),q=K&&e===`browser`&&!!I,[J,Y]=(0,w.useState)(q),[X,Z]=(0,w.useState)(null);U.current=R,(0,w.useEffect)(()=>{V(i)},[i]);function Q(e){V(e),o(e)}function $(){return H.current??oe(G.current)}(0,w.useLayoutEffect)(()=>{if(!K)return;if(q){Y(!0);return}let e=$();e&&se(e);let t=requestAnimationFrame(()=>{Y(!1)});return function(){cancelAnimationFrame(t)}},[q,K,I]),(0,w.useEffect)(()=>{L(``),z(``),F(``),Z(null),l(!1),m(null),C(!1),M(null);let e=H.current;e&&(e.src=``),W.current&&(W.current.src=``)},[r,M,l,C,m]),(0,w.useEffect)(()=>{if(!t)return;let e=D(t);F(e),L(e),z(e),Z(null),l(!1),m(null),C(!1),M(null)},[t,M,l,C,m]);let fe=(0,w.useCallback)(e=>{H.current=e,e&&k(e,U.current)},[]);(0,w.useLayoutEffect)(()=>{if(!K||!J)return;let e=$();!e||e.webviewId==null||O(e)},[J,K,I,B]),(0,w.useEffect)(()=>{let e=$();if(!(!K||!e||!R||!J))return k(e,R)},[R,K,I,J]),(0,w.useEffect)(()=>{let e=$();if(!K||!e||!J)return;function t(e){let t=typeof e.detail==`string`?e.detail:I;t&&(L(t),z(``),F(t))}function n(e){let t=typeof e.detail==`string`?e.detail:I;t&&(L(t),F(t))}function r(e){let t=e.detail,n=typeof t==`string`?t:typeof t==`object`&&t&&`url`in t?String(t.url):``;n&&_(n)}function i(e){let t=ie(e.detail);t&&(Z(null),re(t))}return e.on(`did-navigate`,t),e.on(`did-navigate-in-page`,n),e.on(`new-window-open`,r),e.on(`host-message`,i),function(){e.off(`did-navigate`,t),e.off(`did-navigate-in-page`,n),e.off(`new-window-open`,r),e.off(`host-message`,i)}},[I,K,J]);function pe(e){let t=D(e);t&&(F(t),L(t),z(t),Z(null),l(!1),m(null),C(!1))}function me(e){e.key===`Enter`&&pe(ue)}function he(){if(Z(null),l(!1),m(null),C(!1),K){let e=$();e&&e.reload();return}let e=W.current;if(!e)return;let t=e.src;e.src=``,requestAnimationFrame(()=>{e.src=t})}(0,w.useEffect)(()=>{if(!I){c&&l(!1);return}let e=!1,t=!c&&A;function n(){try{if(K){let e=$();if(!e||e.webviewId==null||!J)return;ce(e,c,t);return}let e=W.current;if(!e)return;le(e,c,t)}catch(t){if(e||!c)return;let n=t instanceof Error?t.message:`Could not enable element selection.`;E.error(`Failed to toggle browser selection mode:`,t),Z(n),l(!1),b({title:`Selection mode unavailable`,description:n,variant:`destructive`})}}return n(),function(){e=!0}},[I,c,A,J,l,K]);function ge(){Z(null),l(e=>!e)}let _e={desktop:{width:`100%`,height:`100%`},tablet:{width:`768px`,height:`1024px`},mobile:{width:`375px`,height:`667px`}}[B];function ve(){return K?J?(0,w.createElement)(`electrobun-webview`,{ref:fe,src:I,preload:de,renderer:`native`,className:`block h-full w-full bg-background`}):null:(0,T.jsx)(`iframe`,{ref:W,src:I,className:`h-full w-full border-none`,title:`Browser`,sandbox:`allow-same-origin allow-scripts allow-forms allow-popups allow-modals allow-downloads`})}return(0,T.jsx)(y,{children:(0,T.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col overflow-hidden`,children:[(0,T.jsx)(`div`,{className:`relative shrink-0 border-b border-border`,children:(0,T.jsxs)(`div`,{className:`flex items-center gap-2 px-3 py-2`,children:[(0,T.jsx)(u,{type:`text`,value:ue,onChange:e=>F(e.target.value),onKeyDown:me,placeholder:`Enter URL...`,className:n(`flex-1 rounded-full bg-muted font-mono`),spellCheck:!1}),I&&(0,T.jsx)(j,{onClick:he,label:`Refresh page`,children:(0,T.jsx)(p,{size:15})}),I&&(0,T.jsx)(j,{onClick:ge,label:X?`Select element unavailable: ${X}`:c?`Exit element selection`:`Select element from preview`,isActive:c,activeStyle:`depressed`,children:(0,T.jsx)(a,{size:15})}),I&&(0,T.jsxs)(`div`,{className:`flex items-center rounded-md bg-muted p-0.5`,children:[(0,T.jsx)(j,{onClick:()=>Q(`desktop`),label:`Desktop view`,isActive:B===`desktop`,children:(0,T.jsx)(s,{size:15})}),(0,T.jsx)(j,{onClick:()=>Q(`tablet`),label:`Tablet view`,isActive:B===`tablet`,children:(0,T.jsx)(h,{size:15})}),(0,T.jsx)(j,{onClick:()=>Q(`mobile`),label:`Mobile view`,isActive:B===`mobile`,children:(0,T.jsx)(g,{size:15})})]}),I&&(0,T.jsx)(j,{onClick:()=>void _(I),label:`Open in external browser`,children:(0,T.jsx)(d,{size:15})})]})}),I?(0,T.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col bg-background`,children:[X&&(0,T.jsxs)(`div`,{className:`border-b border-destructive/20 bg-destructive/5 px-3 py-2 text-sm text-destructive`,children:[`Element selection is unavailable: `,X]}),(0,T.jsx)(`div`,{ref:G,className:n(`flex min-h-0 flex-1 items-center justify-center bg-background`,c&&`cursor-crosshair`),children:(0,T.jsx)(`div`,{className:`overflow-hidden border border-border bg-background shadow-sm ${B===`desktop`?`h-full w-full rounded-none border-0 shadow-none`:`rounded-lg`}`,style:{width:_e.width,height:_e.height,maxWidth:`100%`,maxHeight:`100%`},children:ve()})})]}):(0,T.jsx)(`div`,{className:`flex flex-1 flex-col items-center justify-center gap-6 text-muted-foreground`,children:N&&P?.runCommand?(0,T.jsx)(te,{projectId:N,runCommand:P.runCommand,large:!0}):(0,T.jsx)(`p`,{className:f.body,children:`Enter a URL to browse`})})]})})}export{M as BrowserTab};
@@ -1 +0,0 @@
1
- import{Ba as e,Br as t,Lr as n,Ms as r,Pi as i,Qr as a,Rr as o,Yr as s,aa as c,ei as l,fs as u,ii as d,js as f,ni as p,ri as m,ti as h,zr as g}from"./dialogs-config-sFb6rmoV.js";import{a as _}from"./onboarding-BtDZI4KL.js";import{H as v}from"./index-BabXMhGR.js";var y=r(),b=f();function x(r){let f=(0,y.c)(47),{open:x,onOpenChange:S,commitMessage:C,onCommitMessageChange:w,autoGenerateCommitMessage:T,onAutoGenerateChange:E,isGeneratingMessage:D,isLoading:O,onGenerateMessage:k,onCommit:A,currentBranch:j}=r,M;f[0]===Symbol.for(`react.memo_cache_sentinel`)?(M=(0,b.jsx)(d,{children:`Commit Changes`}),f[0]=M):M=f[0];let N;f[1]===j?N=f[2]:(N=(0,b.jsxs)(m,{children:[M,(0,b.jsxs)(h,{children:[`Enter a commit message for your changes on branch `,j]})]}),f[1]=j,f[2]=N);let P;f[3]===Symbol.for(`react.memo_cache_sentinel`)?(P=(0,b.jsx)(s,{htmlFor:`commit-message`,children:`Commit Message`}),f[3]=P):P=f[3];let F;f[4]===w?F=f[5]:(F=e=>w(e.target.value),f[4]=w,f[5]=F);let I;f[6]!==C||f[7]!==F?(I=(0,b.jsx)(v,{id:`commit-message`,placeholder:`Enter commit message...`,value:C,onChange:F,className:`pr-10 h-full min-h-[14rem] resize-none`}),f[6]=C,f[7]=F,f[8]=I):I=f[8];let L=D||O,R;f[9]===D?R=f[10]:(R=D?(0,b.jsx)(e,{className:`h-3.5 w-3.5 animate-spin`}):(0,b.jsx)(c,{className:`h-3.5 w-3.5`}),f[9]=D,f[10]=R);let z;f[11]!==k||f[12]!==L||f[13]!==R?(z=(0,b.jsx)(t,{asChild:!0,children:(0,b.jsx)(i,{type:`button`,variant:`ghost`,size:`icon`,className:`absolute top-2 right-2 h-6 w-6`,onClick:k,disabled:L,children:R})}),f[11]=k,f[12]=L,f[13]=R,f[14]=z):z=f[14];let B=D?`Generating commit message...`:`Generate commit message with AI`,V;f[15]===B?V=f[16]:(V=(0,b.jsx)(o,{children:B}),f[15]=B,f[16]=V);let H;f[17]!==V||f[18]!==z?(H=(0,b.jsx)(g,{children:(0,b.jsxs)(n,{children:[z,V]})}),f[17]=V,f[18]=z,f[19]=H):H=f[19];let U;f[20]!==H||f[21]!==I?(U=(0,b.jsx)(`div`,{className:`grid gap-4 py-4 flex-1 min-h-0`,children:(0,b.jsxs)(`div`,{className:`grid gap-2 flex-1 min-h-0`,children:[P,(0,b.jsxs)(`div`,{className:`relative flex-1 min-h-0`,children:[I,H]})]})}),f[20]=H,f[21]=I,f[22]=U):U=f[22];let W;f[23]===E?W=f[24]:(W=e=>E(e===!0),f[23]=E,f[24]=W);let G;f[25]!==T||f[26]!==W?(G=(0,b.jsx)(_,{id:`auto-generate`,checked:T,onCheckedChange:W}),f[25]=T,f[26]=W,f[27]=G):G=f[27];let K;f[28]===Symbol.for(`react.memo_cache_sentinel`)?(K=(0,b.jsx)(s,{htmlFor:`auto-generate`,className:u.labelNormal,children:`Auto generate commit messages`}),f[28]=K):K=f[28];let q;f[29]===G?q=f[30]:(q=(0,b.jsxs)(`div`,{className:`flex items-center gap-2`,children:[G,K]}),f[29]=G,f[30]=q);let J;f[31]!==C||f[32]!==O?(J=O||!C.trim(),f[31]=C,f[32]=O,f[33]=J):J=f[33];let Y=O?`Committing...`:`Commit`,X;f[34]!==A||f[35]!==J||f[36]!==Y?(X=(0,b.jsx)(p,{children:(0,b.jsx)(i,{onClick:A,disabled:J,children:Y})}),f[34]=A,f[35]=J,f[36]=Y,f[37]=X):X=f[37];let Z;f[38]!==U||f[39]!==q||f[40]!==X||f[41]!==N?(Z=(0,b.jsxs)(l,{className:`flex max-w-2xl flex-col max-md:top-[max(1rem,env(safe-area-inset-top,0px))] max-md:max-h-[calc(100dvh-2rem)] max-md:translate-y-0 max-md:overflow-y-auto max-md:data-[state=closed]:slide-out-to-top max-md:data-[state=open]:slide-in-from-top max-md:data-[state=closed]:slide-out-to-left-0 max-md:data-[state=open]:slide-in-from-left-0 max-md:data-[state=closed]:zoom-out-100 max-md:data-[state=open]:zoom-in-100 md:h-[min(36rem,85dvh)]`,children:[N,U,q,X]}),f[38]=U,f[39]=q,f[40]=X,f[41]=N,f[42]=Z):Z=f[42];let Q;return f[43]!==S||f[44]!==x||f[45]!==Z?(Q=(0,b.jsx)(a,{open:x,onOpenChange:S,children:Z}),f[43]=S,f[44]=x,f[45]=Z,f[46]=Q):Q=f[46],Q}export{x as CommitDialog};
@@ -1 +0,0 @@
1
- import{Ms as e,Pi as t,Qr as n,Yr as r,Zr as i,ei as a,fs as o,ii as s,js as c,ni as l,ri as u,ti as d}from"./dialogs-config-sFb6rmoV.js";import{a as f}from"./onboarding-BtDZI4KL.js";import{H as p}from"./index-BabXMhGR.js";var m=e(),h=c();function g(e){let c=(0,m.c)(48),{open:g,onOpenChange:_,repoName:v,onRepoNameChange:y,repoDescription:b,onRepoDescriptionChange:x,isPrivateRepo:S,onPrivateRepoChange:C,isLoading:w,onCreateRepo:T}=e,E;c[0]!==_||c[1]!==x||c[2]!==y?(E=e=>{e||(y(``),x(``)),_(e)},c[0]=_,c[1]=x,c[2]=y,c[3]=E):E=c[3];let D;c[4]===Symbol.for(`react.memo_cache_sentinel`)?(D=(0,h.jsxs)(u,{children:[(0,h.jsx)(s,{children:`Create GitHub Repository`}),(0,h.jsx)(d,{children:`Create a new GitHub repository and push your local repository`})]}),c[4]=D):D=c[4];let O;c[5]===Symbol.for(`react.memo_cache_sentinel`)?(O=(0,h.jsx)(r,{htmlFor:`repo-name`,children:`Repository Name (optional)`}),c[5]=O):O=c[5];let k;c[6]===y?k=c[7]:(k=e=>y(e.target.value),c[6]=y,c[7]=k);let A;c[8]!==v||c[9]!==k?(A=(0,h.jsxs)(`div`,{className:`grid gap-2`,children:[O,(0,h.jsx)(i,{id:`repo-name`,placeholder:`Leave empty to use current folder name`,value:v,onChange:k})]}),c[8]=v,c[9]=k,c[10]=A):A=c[10];let j;c[11]===Symbol.for(`react.memo_cache_sentinel`)?(j=(0,h.jsx)(r,{htmlFor:`repo-description`,children:`Description (optional)`}),c[11]=j):j=c[11];let M;c[12]===x?M=c[13]:(M=e=>x(e.target.value),c[12]=x,c[13]=M);let N;c[14]!==b||c[15]!==M?(N=(0,h.jsxs)(`div`,{className:`grid gap-2`,children:[j,(0,h.jsx)(p,{id:`repo-description`,placeholder:`Enter repository description...`,value:b,onChange:M,rows:3})]}),c[14]=b,c[15]=M,c[16]=N):N=c[16];let P;c[17]===C?P=c[18]:(P=e=>C(e===!0),c[17]=C,c[18]=P);let F;c[19]!==S||c[20]!==P?(F=(0,h.jsx)(f,{id:`repo-private`,checked:S,onCheckedChange:P}),c[19]=S,c[20]=P,c[21]=F):F=c[21];let I;c[22]===Symbol.for(`react.memo_cache_sentinel`)?(I=(0,h.jsx)(r,{htmlFor:`repo-private`,className:o.labelNormal,children:`Private repository`}),c[22]=I):I=c[22];let L;c[23]===F?L=c[24]:(L=(0,h.jsxs)(`div`,{className:`flex items-center gap-2`,children:[F,I]}),c[23]=F,c[24]=L);let R;c[25]!==L||c[26]!==A||c[27]!==N?(R=(0,h.jsxs)(`div`,{className:`grid gap-4 py-4`,children:[A,N,L]}),c[25]=L,c[26]=A,c[27]=N,c[28]=R):R=c[28];let z;c[29]===_?z=c[30]:(z=()=>_(!1),c[29]=_,c[30]=z);let B;c[31]!==w||c[32]!==z?(B=(0,h.jsx)(t,{variant:`outline`,onClick:z,disabled:w,children:`Cancel`}),c[31]=w,c[32]=z,c[33]=B):B=c[33];let V=w?`Creating...`:`Create & Push`,H;c[34]!==w||c[35]!==T||c[36]!==V?(H=(0,h.jsx)(t,{onClick:T,disabled:w,children:V}),c[34]=w,c[35]=T,c[36]=V,c[37]=H):H=c[37];let U;c[38]!==B||c[39]!==H?(U=(0,h.jsxs)(l,{children:[B,H]}),c[38]=B,c[39]=H,c[40]=U):U=c[40];let W;c[41]!==R||c[42]!==U?(W=(0,h.jsxs)(a,{children:[D,R,U]}),c[41]=R,c[42]=U,c[43]=W):W=c[43];let G;return c[44]!==g||c[45]!==E||c[46]!==W?(G=(0,h.jsx)(n,{open:g,onOpenChange:E,children:W}),c[44]=g,c[45]=E,c[46]=W,c[47]=G):G=c[47],G}export{g as CreateRepoDialog};