@researai/deepscientist 1.5.15 → 1.5.17

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 (202) hide show
  1. package/README.md +385 -104
  2. package/bin/ds.js +1241 -110
  3. package/docs/en/00_QUICK_START.md +100 -19
  4. package/docs/en/01_SETTINGS_REFERENCE.md +34 -1
  5. package/docs/en/02_START_RESEARCH_GUIDE.md +7 -0
  6. package/docs/en/05_TUI_GUIDE.md +6 -0
  7. package/docs/en/06_RUNTIME_AND_CANVAS.md +4 -3
  8. package/docs/en/09_DOCTOR.md +25 -8
  9. package/docs/en/14_PROMPT_SKILLS_AND_MCP_GUIDE.md +63 -13
  10. package/docs/en/15_CODEX_PROVIDER_SETUP.md +37 -11
  11. package/docs/en/19_EXTERNAL_CONTROLLER_GUIDE.md +226 -0
  12. package/docs/en/19_LOCAL_BROWSER_AUTH.md +70 -0
  13. package/docs/en/20_WORKSPACE_MODES_GUIDE.md +250 -0
  14. package/docs/en/21_LOCAL_MODEL_BACKENDS_GUIDE.md +283 -0
  15. package/docs/en/91_DEVELOPMENT.md +237 -0
  16. package/docs/en/README.md +24 -2
  17. package/docs/zh/00_QUICK_START.md +89 -19
  18. package/docs/zh/01_SETTINGS_REFERENCE.md +34 -1
  19. package/docs/zh/02_START_RESEARCH_GUIDE.md +7 -0
  20. package/docs/zh/05_TUI_GUIDE.md +6 -0
  21. package/docs/zh/09_DOCTOR.md +26 -9
  22. package/docs/zh/14_PROMPT_SKILLS_AND_MCP_GUIDE.md +63 -13
  23. package/docs/zh/15_CODEX_PROVIDER_SETUP.md +37 -11
  24. package/docs/zh/19_EXTERNAL_CONTROLLER_GUIDE.md +226 -0
  25. package/docs/zh/19_LOCAL_BROWSER_AUTH.md +68 -0
  26. package/docs/zh/20_WORKSPACE_MODES_GUIDE.md +251 -0
  27. package/docs/zh/21_LOCAL_MODEL_BACKENDS_GUIDE.md +281 -0
  28. package/docs/zh/README.md +24 -2
  29. package/install.sh +46 -4
  30. package/package.json +2 -1
  31. package/pyproject.toml +1 -1
  32. package/src/deepscientist/__init__.py +1 -1
  33. package/src/deepscientist/acp/envelope.py +6 -0
  34. package/src/deepscientist/artifact/service.py +647 -22
  35. package/src/deepscientist/bash_exec/service.py +234 -9
  36. package/src/deepscientist/bridges/connectors.py +8 -2
  37. package/src/deepscientist/cli.py +115 -19
  38. package/src/deepscientist/codex_cli_compat.py +367 -22
  39. package/src/deepscientist/config/models.py +2 -1
  40. package/src/deepscientist/config/service.py +183 -13
  41. package/src/deepscientist/daemon/api/handlers.py +255 -31
  42. package/src/deepscientist/daemon/api/router.py +9 -0
  43. package/src/deepscientist/daemon/app.py +1146 -105
  44. package/src/deepscientist/diagnostics/__init__.py +6 -0
  45. package/src/deepscientist/diagnostics/runner_failures.py +130 -0
  46. package/src/deepscientist/doctor.py +207 -3
  47. package/src/deepscientist/gitops/__init__.py +10 -1
  48. package/src/deepscientist/gitops/diff.py +129 -0
  49. package/src/deepscientist/gitops/service.py +4 -1
  50. package/src/deepscientist/mcp/server.py +39 -0
  51. package/src/deepscientist/prompts/builder.py +275 -34
  52. package/src/deepscientist/quest/layout.py +15 -2
  53. package/src/deepscientist/quest/service.py +707 -55
  54. package/src/deepscientist/quest/stage_views.py +6 -1
  55. package/src/deepscientist/runners/codex.py +143 -43
  56. package/src/deepscientist/shared.py +19 -0
  57. package/src/deepscientist/skills/__init__.py +2 -2
  58. package/src/deepscientist/skills/installer.py +196 -5
  59. package/src/deepscientist/skills/registry.py +66 -0
  60. package/src/prompts/connectors/qq.md +18 -8
  61. package/src/prompts/connectors/weixin.md +16 -6
  62. package/src/prompts/contracts/shared_interaction.md +14 -2
  63. package/src/prompts/system.md +23 -5
  64. package/src/prompts/system_copilot.md +56 -0
  65. package/src/skills/analysis-campaign/SKILL.md +1 -0
  66. package/src/skills/baseline/SKILL.md +8 -0
  67. package/src/skills/decision/SKILL.md +8 -0
  68. package/src/skills/experiment/SKILL.md +8 -0
  69. package/src/skills/figure-polish/SKILL.md +1 -0
  70. package/src/skills/finalize/SKILL.md +1 -0
  71. package/src/skills/idea/SKILL.md +1 -0
  72. package/src/skills/intake-audit/SKILL.md +8 -0
  73. package/src/skills/mentor/SKILL.md +217 -0
  74. package/src/skills/mentor/references/correction-rules.md +210 -0
  75. package/src/skills/mentor/references/knowledge-profile.md +91 -0
  76. package/src/skills/mentor/references/persona-profile.md +138 -0
  77. package/src/skills/mentor/references/taste-profile.md +128 -0
  78. package/src/skills/mentor/references/thought-style-profile.md +138 -0
  79. package/src/skills/mentor/references/work-profile.md +289 -0
  80. package/src/skills/mentor/references/workflow-profile.md +240 -0
  81. package/src/skills/optimize/SKILL.md +1 -0
  82. package/src/skills/rebuttal/SKILL.md +1 -0
  83. package/src/skills/review/SKILL.md +1 -0
  84. package/src/skills/scout/SKILL.md +8 -0
  85. package/src/skills/write/SKILL.md +1 -0
  86. package/src/tui/dist/app/AppContainer.js +19 -11
  87. package/src/tui/dist/index.js +4 -1
  88. package/src/tui/dist/lib/api.js +33 -3
  89. package/src/tui/package.json +1 -1
  90. package/src/ui/dist/assets/AiManusChatView-Bv-Z8YpU.js +204 -0
  91. package/src/ui/dist/assets/AnalysisPlugin-BCKAfjba.js +1 -0
  92. package/src/ui/dist/assets/CliPlugin-BCKcpc35.js +109 -0
  93. package/src/ui/dist/assets/CodeEditorPlugin-DbOfSJ8K.js +2 -0
  94. package/src/ui/dist/assets/CodeViewerPlugin-CbaFRrUU.js +270 -0
  95. package/src/ui/dist/assets/DocViewerPlugin-DAjLVeQD.js +7 -0
  96. package/src/ui/dist/assets/GitCommitViewerPlugin-CIUqbUDO.js +1 -0
  97. package/src/ui/dist/assets/GitDiffViewerPlugin-CQACjoAA.js +6 -0
  98. package/src/ui/dist/assets/GitSnapshotViewer-0r4nLPke.js +30 -0
  99. package/src/ui/dist/assets/ImageViewerPlugin-nBOmI2v_.js +26 -0
  100. package/src/ui/dist/assets/LabCopilotPanel-BHxOxF4z.js +14 -0
  101. package/src/ui/dist/assets/LabPlugin-BKoZGs95.js +22 -0
  102. package/src/ui/dist/assets/LatexPlugin-ZwtV8pIp.js +25 -0
  103. package/src/ui/dist/assets/MarkdownViewerPlugin-DKqVfKyW.js +128 -0
  104. package/src/ui/dist/assets/MarketplacePlugin-BwxStZ9D.js +13 -0
  105. package/src/ui/dist/assets/NotebookEditor-BEQhaQbt.js +81 -0
  106. package/src/ui/dist/assets/{NotebookEditor-CccQYZjX.css → NotebookEditor-BHH8rdGj.css} +1 -1
  107. package/src/ui/dist/assets/NotebookEditor-BOr3x3Ej.css +1 -0
  108. package/src/ui/dist/assets/NotebookEditor-DB9N_T9q.js +361 -0
  109. package/src/ui/dist/assets/PdfLoader-Cy5jtWrr.css +1 -0
  110. package/src/ui/dist/assets/PdfLoader-eWBONbQP.js +16 -0
  111. package/src/ui/dist/assets/PdfMarkdownPlugin-D22YOZL3.js +1 -0
  112. package/src/ui/dist/assets/PdfViewerPlugin-c-RK9DLM.js +17 -0
  113. package/src/ui/dist/assets/PdfViewerPlugin-nwwE-fjJ.css +1 -0
  114. package/src/ui/dist/assets/SearchPlugin-CxF9ytAx.js +16 -0
  115. package/src/ui/dist/assets/SearchPlugin-DA4en4hK.css +1 -0
  116. package/src/ui/dist/assets/TextViewerPlugin-C5xqeeUH.js +54 -0
  117. package/src/ui/dist/assets/VNCViewer-BoLGLnHz.js +11 -0
  118. package/src/ui/dist/assets/bot-DREQOxzP.js +6 -0
  119. package/src/ui/dist/assets/browser-CTB2jwNe.js +8 -0
  120. package/src/ui/dist/assets/chevron-up-C9Qpx4DE.js +6 -0
  121. package/src/ui/dist/assets/code-WlFHE7z_.js +6 -0
  122. package/src/ui/dist/assets/file-content-BZMz3RYp.js +1 -0
  123. package/src/ui/dist/assets/file-diff-panel-CQhw0jS2.js +1 -0
  124. package/src/ui/dist/assets/file-jump-queue-DA-SdG__.js +1 -0
  125. package/src/ui/dist/assets/file-socket-CfQPKQKj.js +1 -0
  126. package/src/ui/dist/assets/git-commit-horizontal-DxZ8DCZh.js +6 -0
  127. package/src/ui/dist/assets/image-Bgl4VIyx.js +6 -0
  128. package/src/ui/dist/assets/index-BpV6lusQ.css +33 -0
  129. package/src/ui/dist/assets/index-CBNVuWcP.js +2496 -0
  130. package/src/ui/dist/assets/index-CwNu1aH4.js +11 -0
  131. package/src/ui/dist/assets/index-DrUnlf6K.js +1 -0
  132. package/src/ui/dist/assets/index-NW-h8VzN.js +1 -0
  133. package/src/ui/dist/assets/monaco-CiHMMNH_.js +1 -0
  134. package/src/ui/dist/assets/pdf-effect-queue-J8OnM0jE.js +6 -0
  135. package/src/ui/dist/assets/plugin-monaco-C8UgLomw.js +19 -0
  136. package/src/ui/dist/assets/plugin-notebook-HbW2K-1c.js +169 -0
  137. package/src/ui/dist/assets/plugin-pdf-CR8hgQBV.js +357 -0
  138. package/src/ui/dist/assets/plugin-terminal-MXFIPun8.js +227 -0
  139. package/src/ui/dist/assets/popover-CLc0pPP8.js +1 -0
  140. package/src/ui/dist/assets/project-sync-C9IdzdZW.js +1 -0
  141. package/src/ui/dist/assets/select-Cs2PmzwL.js +11 -0
  142. package/src/ui/dist/assets/sigma-ClKcHAXm.js +6 -0
  143. package/src/ui/dist/assets/trash-DwpbFr3w.js +11 -0
  144. package/src/ui/dist/assets/useCliAccess-NQ8m0Let.js +1 -0
  145. package/src/ui/dist/assets/useFileDiffOverlay-FuhcnKiw.js +1 -0
  146. package/src/ui/dist/assets/wrap-text-BC-Hltpd.js +11 -0
  147. package/src/ui/dist/assets/zoom-out-E_gaeAxL.js +11 -0
  148. package/src/ui/dist/index.html +5 -2
  149. package/src/ui/dist/assets/AiManusChatView-DDjbFnbt.js +0 -26597
  150. package/src/ui/dist/assets/AnalysisPlugin-Yb5IdmaU.js +0 -123
  151. package/src/ui/dist/assets/CliPlugin-e64sreyu.js +0 -31037
  152. package/src/ui/dist/assets/CodeEditorPlugin-C4D2TIkU.js +0 -427
  153. package/src/ui/dist/assets/CodeViewerPlugin-BVoNZIvC.js +0 -905
  154. package/src/ui/dist/assets/DocViewerPlugin-CLChbllo.js +0 -278
  155. package/src/ui/dist/assets/GitDiffViewerPlugin-C4xeFyFQ.js +0 -2661
  156. package/src/ui/dist/assets/ImageViewerPlugin-OiMUAcLi.js +0 -500
  157. package/src/ui/dist/assets/LabCopilotPanel-BjD2ThQF.js +0 -4104
  158. package/src/ui/dist/assets/LabPlugin-DQPg-NrB.js +0 -2677
  159. package/src/ui/dist/assets/LatexPlugin-CI05XAV9.js +0 -1792
  160. package/src/ui/dist/assets/MarkdownViewerPlugin-DpeBLYZf.js +0 -308
  161. package/src/ui/dist/assets/MarketplacePlugin-DolE58Q2.js +0 -413
  162. package/src/ui/dist/assets/NotebookEditor-7Qm2rSWD.js +0 -4214
  163. package/src/ui/dist/assets/NotebookEditor-C1kWaxKi.js +0 -84873
  164. package/src/ui/dist/assets/NotebookEditor-C3VQ7ylN.css +0 -1405
  165. package/src/ui/dist/assets/PdfLoader-BfOHw8Zw.js +0 -25468
  166. package/src/ui/dist/assets/PdfLoader-C-Y707R3.css +0 -49
  167. package/src/ui/dist/assets/PdfMarkdownPlugin-BulDREv1.js +0 -409
  168. package/src/ui/dist/assets/PdfViewerPlugin-C-daaOaL.js +0 -3095
  169. package/src/ui/dist/assets/PdfViewerPlugin-DQ11QcSf.css +0 -3627
  170. package/src/ui/dist/assets/SearchPlugin-CjpaiJ3A.js +0 -741
  171. package/src/ui/dist/assets/SearchPlugin-DDMrGDkh.css +0 -379
  172. package/src/ui/dist/assets/TextViewerPlugin-BxIyqPQC.js +0 -472
  173. package/src/ui/dist/assets/VNCViewer-HAg9mF7M.js +0 -18821
  174. package/src/ui/dist/assets/awareness-C0NPR2Dj.js +0 -292
  175. package/src/ui/dist/assets/bot-0DYntytV.js +0 -21
  176. package/src/ui/dist/assets/browser-BAcuE0Xj.js +0 -2895
  177. package/src/ui/dist/assets/code-B20Slj_w.js +0 -17
  178. package/src/ui/dist/assets/file-content-DT24KFma.js +0 -377
  179. package/src/ui/dist/assets/file-diff-panel-DK13YPql.js +0 -92
  180. package/src/ui/dist/assets/file-jump-queue-r5XKgJEV.js +0 -16
  181. package/src/ui/dist/assets/file-socket-B4T2o4nR.js +0 -58
  182. package/src/ui/dist/assets/function-B5QZkkHC.js +0 -1895
  183. package/src/ui/dist/assets/image-DSeR_sDS.js +0 -18
  184. package/src/ui/dist/assets/index-BrFje2Uk.js +0 -120
  185. package/src/ui/dist/assets/index-BwRJaoTl.js +0 -25
  186. package/src/ui/dist/assets/index-D_E4281X.js +0 -221322
  187. package/src/ui/dist/assets/index-DnYB3xb1.js +0 -159
  188. package/src/ui/dist/assets/index-G7AcWcMu.css +0 -12594
  189. package/src/ui/dist/assets/monaco-LExaAN3Y.js +0 -623
  190. package/src/ui/dist/assets/pdf-effect-queue-BJk5okWJ.js +0 -47
  191. package/src/ui/dist/assets/pdf_viewer-e0g1is2C.js +0 -8206
  192. package/src/ui/dist/assets/popover-D3Gg_FoV.js +0 -476
  193. package/src/ui/dist/assets/project-sync-C_ygLlVU.js +0 -297
  194. package/src/ui/dist/assets/select-CpAK6uWm.js +0 -1690
  195. package/src/ui/dist/assets/sigma-DEccaSgk.js +0 -22
  196. package/src/ui/dist/assets/square-check-big-uUfyVsbD.js +0 -17
  197. package/src/ui/dist/assets/trash-CXvwwSe8.js +0 -32
  198. package/src/ui/dist/assets/useCliAccess-Bnop4mgR.js +0 -957
  199. package/src/ui/dist/assets/useFileDiffOverlay-B8eUAX0I.js +0 -53
  200. package/src/ui/dist/assets/wrap-text-9vbOBpkW.js +0 -35
  201. package/src/ui/dist/assets/yjs-DncrqiZ8.js +0 -11243
  202. package/src/ui/dist/assets/zoom-out-BgVMmOW4.js +0 -34
@@ -0,0 +1,6 @@
1
+ import{y as t}from"./index-CBNVuWcP.js";/**
2
+ * @license lucide-react v0.511.0 - ISC
3
+ *
4
+ * This source code is licensed under the ISC license.
5
+ * See the LICENSE file in the root directory of this source tree.
6
+ */const e=[["path",{d:"M12 8V4H8",key:"hb8ula"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2",key:"enze0r"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M15 13v2",key:"1xurst"}],["path",{d:"M9 13v2",key:"rq6x2g"}]],a=t("bot",e);export{a as B};
@@ -0,0 +1,8 @@
1
+ function St(e,t){for(var i=0;i<t.length;i++){const r=t[i];if(typeof r!="string"&&!Array.isArray(r)){for(const n in r)if(n!=="default"&&!(n in e)){const o=Object.getOwnPropertyDescriptor(r,n);o&&Object.defineProperty(e,n,o.get?o:{enumerable:!0,get:()=>r[n]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}var _={},Rt=function(){return typeof Promise=="function"&&Promise.prototype&&Promise.prototype.then},dt={},I={};let it;const Lt=[0,26,44,70,100,134,172,196,242,292,346,404,466,532,581,655,733,815,901,991,1085,1156,1258,1364,1474,1588,1706,1828,1921,2051,2185,2323,2465,2611,2761,2876,3034,3196,3362,3532,3706];I.getSymbolSize=function(t){if(!t)throw new Error('"version" cannot be null or undefined');if(t<1||t>40)throw new Error('"version" should be in range from 1 to 40');return t*4+17};I.getSymbolTotalCodewords=function(t){return Lt[t]};I.getBCHDigit=function(e){let t=0;for(;e!==0;)t++,e>>>=1;return t};I.setToSJISFunction=function(t){if(typeof t!="function")throw new Error('"toSJISFunc" is not a valid function.');it=t};I.isKanjiModeEnabled=function(){return typeof it<"u"};I.toSJIS=function(t){return it(t)};var j={};(function(e){e.L={bit:1},e.M={bit:0},e.Q={bit:3},e.H={bit:2};function t(i){if(typeof i!="string")throw new Error("Param is not a string");switch(i.toLowerCase()){case"l":case"low":return e.L;case"m":case"medium":return e.M;case"q":case"quartile":return e.Q;case"h":case"high":return e.H;default:throw new Error("Unknown EC Level: "+i)}}e.isValid=function(r){return r&&typeof r.bit<"u"&&r.bit>=0&&r.bit<4},e.from=function(r,n){if(e.isValid(r))return r;try{return t(r)}catch{return n}}})(j);function ht(){this.buffer=[],this.length=0}ht.prototype={get:function(e){const t=Math.floor(e/8);return(this.buffer[t]>>>7-e%8&1)===1},put:function(e,t){for(let i=0;i<t;i++)this.putBit((e>>>t-i-1&1)===1)},getLengthInBits:function(){return this.length},putBit:function(e){const t=Math.floor(this.length/8);this.buffer.length<=t&&this.buffer.push(0),e&&(this.buffer[t]|=128>>>this.length%8),this.length++}};var _t=ht;function H(e){if(!e||e<1)throw new Error("BitMatrix size must be defined and greater than 0");this.size=e,this.data=new Uint8Array(e*e),this.reservedBit=new Uint8Array(e*e)}H.prototype.set=function(e,t,i,r){const n=e*this.size+t;this.data[n]=i,r&&(this.reservedBit[n]=!0)};H.prototype.get=function(e,t){return this.data[e*this.size+t]};H.prototype.xor=function(e,t,i){this.data[e*this.size+t]^=i};H.prototype.isReserved=function(e,t){return this.reservedBit[e*this.size+t]};var Dt=H,wt={};(function(e){const t=I.getSymbolSize;e.getRowColCoords=function(r){if(r===1)return[];const n=Math.floor(r/7)+2,o=t(r),s=o===145?26:Math.ceil((o-13)/(2*n-2))*2,c=[o-7];for(let u=1;u<n-1;u++)c[u]=c[u-1]-s;return c.push(6),c.reverse()},e.getPositions=function(r){const n=[],o=e.getRowColCoords(r),s=o.length;for(let c=0;c<s;c++)for(let u=0;u<s;u++)c===0&&u===0||c===0&&u===s-1||c===s-1&&u===0||n.push([o[c],o[u]]);return n}})(wt);var mt={};const Ut=I.getSymbolSize,lt=7;mt.getPositions=function(t){const i=Ut(t);return[[0,0],[i-lt,0],[0,i-lt]]};var yt={};(function(e){e.Patterns={PATTERN000:0,PATTERN001:1,PATTERN010:2,PATTERN011:3,PATTERN100:4,PATTERN101:5,PATTERN110:6,PATTERN111:7};const t={N1:3,N2:3,N3:40,N4:10};e.isValid=function(n){return n!=null&&n!==""&&!isNaN(n)&&n>=0&&n<=7},e.from=function(n){return e.isValid(n)?parseInt(n,10):void 0},e.getPenaltyN1=function(n){const o=n.size;let s=0,c=0,u=0,a=null,l=null;for(let p=0;p<o;p++){c=u=0,a=l=null;for(let w=0;w<o;w++){let f=n.get(p,w);f===a?c++:(c>=5&&(s+=t.N1+(c-5)),a=f,c=1),f=n.get(w,p),f===l?u++:(u>=5&&(s+=t.N1+(u-5)),l=f,u=1)}c>=5&&(s+=t.N1+(c-5)),u>=5&&(s+=t.N1+(u-5))}return s},e.getPenaltyN2=function(n){const o=n.size;let s=0;for(let c=0;c<o-1;c++)for(let u=0;u<o-1;u++){const a=n.get(c,u)+n.get(c,u+1)+n.get(c+1,u)+n.get(c+1,u+1);(a===4||a===0)&&s++}return s*t.N2},e.getPenaltyN3=function(n){const o=n.size;let s=0,c=0,u=0;for(let a=0;a<o;a++){c=u=0;for(let l=0;l<o;l++)c=c<<1&2047|n.get(a,l),l>=10&&(c===1488||c===93)&&s++,u=u<<1&2047|n.get(l,a),l>=10&&(u===1488||u===93)&&s++}return s*t.N3},e.getPenaltyN4=function(n){let o=0;const s=n.data.length;for(let u=0;u<s;u++)o+=n.data[u];return Math.abs(Math.ceil(o*100/s/5)-10)*t.N4};function i(r,n,o){switch(r){case e.Patterns.PATTERN000:return(n+o)%2===0;case e.Patterns.PATTERN001:return n%2===0;case e.Patterns.PATTERN010:return o%3===0;case e.Patterns.PATTERN011:return(n+o)%3===0;case e.Patterns.PATTERN100:return(Math.floor(n/2)+Math.floor(o/3))%2===0;case e.Patterns.PATTERN101:return n*o%2+n*o%3===0;case e.Patterns.PATTERN110:return(n*o%2+n*o%3)%2===0;case e.Patterns.PATTERN111:return(n*o%3+(n+o)%2)%2===0;default:throw new Error("bad maskPattern:"+r)}}e.applyMask=function(n,o){const s=o.size;for(let c=0;c<s;c++)for(let u=0;u<s;u++)o.isReserved(u,c)||o.xor(u,c,i(n,u,c))},e.getBestMask=function(n,o){const s=Object.keys(e.Patterns).length;let c=0,u=1/0;for(let a=0;a<s;a++){o(a),e.applyMask(a,n);const l=e.getPenaltyN1(n)+e.getPenaltyN2(n)+e.getPenaltyN3(n)+e.getPenaltyN4(n);e.applyMask(a,n),l<u&&(u=l,c=a)}return c}})(yt);var G={};const R=j,K=[1,1,1,1,1,1,1,1,1,1,2,2,1,2,2,4,1,2,4,4,2,4,4,4,2,4,6,5,2,4,6,6,2,5,8,8,4,5,8,8,4,5,8,11,4,8,10,11,4,9,12,16,4,9,16,16,6,10,12,18,6,10,17,16,6,11,16,19,6,13,18,21,7,14,21,25,8,16,20,25,8,17,23,25,9,17,23,34,9,18,25,30,10,20,27,32,12,21,29,35,12,23,34,37,12,25,34,40,13,26,35,42,14,28,38,45,15,29,40,48,16,31,43,51,17,33,45,54,18,35,48,57,19,37,51,60,19,38,53,63,20,40,56,66,21,43,59,70,22,45,62,74,24,47,65,77,25,49,68,81],J=[7,10,13,17,10,16,22,28,15,26,36,44,20,36,52,64,26,48,72,88,36,64,96,112,40,72,108,130,48,88,132,156,60,110,160,192,72,130,192,224,80,150,224,264,96,176,260,308,104,198,288,352,120,216,320,384,132,240,360,432,144,280,408,480,168,308,448,532,180,338,504,588,196,364,546,650,224,416,600,700,224,442,644,750,252,476,690,816,270,504,750,900,300,560,810,960,312,588,870,1050,336,644,952,1110,360,700,1020,1200,390,728,1050,1260,420,784,1140,1350,450,812,1200,1440,480,868,1290,1530,510,924,1350,1620,540,980,1440,1710,570,1036,1530,1800,570,1064,1590,1890,600,1120,1680,1980,630,1204,1770,2100,660,1260,1860,2220,720,1316,1950,2310,750,1372,2040,2430];G.getBlocksCount=function(t,i){switch(i){case R.L:return K[(t-1)*4+0];case R.M:return K[(t-1)*4+1];case R.Q:return K[(t-1)*4+2];case R.H:return K[(t-1)*4+3];default:return}};G.getTotalCodewordsCount=function(t,i){switch(i){case R.L:return J[(t-1)*4+0];case R.M:return J[(t-1)*4+1];case R.Q:return J[(t-1)*4+2];case R.H:return J[(t-1)*4+3];default:return}};var Et={},Q={};const z=new Uint8Array(512),O=new Uint8Array(256);(function(){let t=1;for(let i=0;i<255;i++)z[i]=t,O[t]=i,t<<=1,t&256&&(t^=285);for(let i=255;i<512;i++)z[i]=z[i-255]})();Q.log=function(t){if(t<1)throw new Error("log("+t+")");return O[t]};Q.exp=function(t){return z[t]};Q.mul=function(t,i){return t===0||i===0?0:z[O[t]+O[i]]};(function(e){const t=Q;e.mul=function(r,n){const o=new Uint8Array(r.length+n.length-1);for(let s=0;s<r.length;s++)for(let c=0;c<n.length;c++)o[s+c]^=t.mul(r[s],n[c]);return o},e.mod=function(r,n){let o=new Uint8Array(r);for(;o.length-n.length>=0;){const s=o[0];for(let u=0;u<n.length;u++)o[u]^=t.mul(n[u],s);let c=0;for(;c<o.length&&o[c]===0;)c++;o=o.slice(c)}return o},e.generateECPolynomial=function(r){let n=new Uint8Array([1]);for(let o=0;o<r;o++)n=e.mul(n,new Uint8Array([1,t.exp(o)]));return n}})(Et);const Ct=Et;function st(e){this.genPoly=void 0,this.degree=e,this.degree&&this.initialize(this.degree)}st.prototype.initialize=function(t){this.degree=t,this.genPoly=Ct.generateECPolynomial(this.degree)};st.prototype.encode=function(t){if(!this.genPoly)throw new Error("Encoder not initialized");const i=new Uint8Array(t.length+this.degree);i.set(t);const r=Ct.mod(i,this.genPoly),n=this.degree-r.length;if(n>0){const o=new Uint8Array(this.degree);return o.set(r,n),o}return r};var Ft=st,pt={},L={},ut={};ut.isValid=function(t){return!isNaN(t)&&t>=1&&t<=40};var M={};const Bt="[0-9]+",kt="[A-Z $%*+\\-./:]+";let V="(?:[u3000-u303F]|[u3040-u309F]|[u30A0-u30FF]|[uFF00-uFFEF]|[u4E00-u9FAF]|[u2605-u2606]|[u2190-u2195]|u203B|[u2010u2015u2018u2019u2025u2026u201Cu201Du2225u2260]|[u0391-u0451]|[u00A7u00A8u00B1u00B4u00D7u00F7])+";V=V.replace(/u/g,"\\u");const vt="(?:(?![A-Z0-9 $%*+\\-./:]|"+V+`)(?:.|[\r
2
+ ]))+`;M.KANJI=new RegExp(V,"g");M.BYTE_KANJI=new RegExp("[^A-Z0-9 $%*+\\-./:]+","g");M.BYTE=new RegExp(vt,"g");M.NUMERIC=new RegExp(Bt,"g");M.ALPHANUMERIC=new RegExp(kt,"g");const zt=new RegExp("^"+V+"$"),Vt=new RegExp("^"+Bt+"$"),Ht=new RegExp("^[A-Z0-9 $%*+\\-./:]+$");M.testKanji=function(t){return zt.test(t)};M.testNumeric=function(t){return Vt.test(t)};M.testAlphanumeric=function(t){return Ht.test(t)};(function(e){const t=ut,i=M;e.NUMERIC={id:"Numeric",bit:1,ccBits:[10,12,14]},e.ALPHANUMERIC={id:"Alphanumeric",bit:2,ccBits:[9,11,13]},e.BYTE={id:"Byte",bit:4,ccBits:[8,16,16]},e.KANJI={id:"Kanji",bit:8,ccBits:[8,10,12]},e.MIXED={bit:-1},e.getCharCountIndicator=function(o,s){if(!o.ccBits)throw new Error("Invalid mode: "+o);if(!t.isValid(s))throw new Error("Invalid version: "+s);return s>=1&&s<10?o.ccBits[0]:s<27?o.ccBits[1]:o.ccBits[2]},e.getBestModeForData=function(o){return i.testNumeric(o)?e.NUMERIC:i.testAlphanumeric(o)?e.ALPHANUMERIC:i.testKanji(o)?e.KANJI:e.BYTE},e.toString=function(o){if(o&&o.id)return o.id;throw new Error("Invalid mode")},e.isValid=function(o){return o&&o.bit&&o.ccBits};function r(n){if(typeof n!="string")throw new Error("Param is not a string");switch(n.toLowerCase()){case"numeric":return e.NUMERIC;case"alphanumeric":return e.ALPHANUMERIC;case"kanji":return e.KANJI;case"byte":return e.BYTE;default:throw new Error("Unknown mode: "+n)}}e.from=function(o,s){if(e.isValid(o))return o;try{return r(o)}catch{return s}}})(L);(function(e){const t=I,i=G,r=j,n=L,o=ut,s=7973,c=t.getBCHDigit(s);function u(w,f,m){for(let y=1;y<=40;y++)if(f<=e.getCapacity(y,m,w))return y}function a(w,f){return n.getCharCountIndicator(w,f)+4}function l(w,f){let m=0;return w.forEach(function(y){const T=a(y.mode,f);m+=T+y.getBitsLength()}),m}function p(w,f){for(let m=1;m<=40;m++)if(l(w,m)<=e.getCapacity(m,f,n.MIXED))return m}e.from=function(f,m){return o.isValid(f)?parseInt(f,10):m},e.getCapacity=function(f,m,y){if(!o.isValid(f))throw new Error("Invalid QR Code version");typeof y>"u"&&(y=n.BYTE);const T=t.getSymbolTotalCodewords(f),h=i.getTotalCodewordsCount(f,m),E=(T-h)*8;if(y===n.MIXED)return E;const d=E-a(y,f);switch(y){case n.NUMERIC:return Math.floor(d/10*3);case n.ALPHANUMERIC:return Math.floor(d/11*2);case n.KANJI:return Math.floor(d/13);case n.BYTE:default:return Math.floor(d/8)}},e.getBestVersionForData=function(f,m){let y;const T=r.from(m,r.M);if(Array.isArray(f)){if(f.length>1)return p(f,T);if(f.length===0)return 1;y=f[0]}else y=f;return u(y.mode,y.getLength(),T)},e.getEncodedBits=function(f){if(!o.isValid(f)||f<7)throw new Error("Invalid QR Code version");let m=f<<12;for(;t.getBCHDigit(m)-c>=0;)m^=s<<t.getBCHDigit(m)-c;return f<<12|m}})(pt);var At={};const et=I,Tt=1335,Kt=21522,ft=et.getBCHDigit(Tt);At.getEncodedBits=function(t,i){const r=t.bit<<3|i;let n=r<<10;for(;et.getBCHDigit(n)-ft>=0;)n^=Tt<<et.getBCHDigit(n)-ft;return(r<<10|n)^Kt};var It={};const Jt=L;function D(e){this.mode=Jt.NUMERIC,this.data=e.toString()}D.getBitsLength=function(t){return 10*Math.floor(t/3)+(t%3?t%3*3+1:0)};D.prototype.getLength=function(){return this.data.length};D.prototype.getBitsLength=function(){return D.getBitsLength(this.data.length)};D.prototype.write=function(t){let i,r,n;for(i=0;i+3<=this.data.length;i+=3)r=this.data.substr(i,3),n=parseInt(r,10),t.put(n,10);const o=this.data.length-i;o>0&&(r=this.data.substr(i),n=parseInt(r,10),t.put(n,o*3+1))};var Ot=D;const Yt=L,Z=["0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"," ","$","%","*","+","-",".","/",":"];function U(e){this.mode=Yt.ALPHANUMERIC,this.data=e}U.getBitsLength=function(t){return 11*Math.floor(t/2)+6*(t%2)};U.prototype.getLength=function(){return this.data.length};U.prototype.getBitsLength=function(){return U.getBitsLength(this.data.length)};U.prototype.write=function(t){let i;for(i=0;i+2<=this.data.length;i+=2){let r=Z.indexOf(this.data[i])*45;r+=Z.indexOf(this.data[i+1]),t.put(r,11)}this.data.length%2&&t.put(Z.indexOf(this.data[i]),6)};var jt=U;const Gt=L;function F(e){this.mode=Gt.BYTE,typeof e=="string"?this.data=new TextEncoder().encode(e):this.data=new Uint8Array(e)}F.getBitsLength=function(t){return t*8};F.prototype.getLength=function(){return this.data.length};F.prototype.getBitsLength=function(){return F.getBitsLength(this.data.length)};F.prototype.write=function(e){for(let t=0,i=this.data.length;t<i;t++)e.put(this.data[t],8)};var Qt=F;const qt=L,Wt=I;function k(e){this.mode=qt.KANJI,this.data=e}k.getBitsLength=function(t){return t*13};k.prototype.getLength=function(){return this.data.length};k.prototype.getBitsLength=function(){return k.getBitsLength(this.data.length)};k.prototype.write=function(e){let t;for(t=0;t<this.data.length;t++){let i=Wt.toSJIS(this.data[t]);if(i>=33088&&i<=40956)i-=33088;else if(i>=57408&&i<=60351)i-=49472;else throw new Error("Invalid SJIS character: "+this.data[t]+`
3
+ Make sure your charset is UTF-8`);i=(i>>>8&255)*192+(i&255),e.put(i,13)}};var Zt=k,Nt={exports:{}};(function(e){var t={single_source_shortest_paths:function(i,r,n){var o={},s={};s[r]=0;var c=t.PriorityQueue.make();c.push(r,0);for(var u,a,l,p,w,f,m,y,T;!c.empty();){u=c.pop(),a=u.value,p=u.cost,w=i[a]||{};for(l in w)w.hasOwnProperty(l)&&(f=w[l],m=p+f,y=s[l],T=typeof s[l]>"u",(T||y>m)&&(s[l]=m,c.push(l,m),o[l]=a))}if(typeof n<"u"&&typeof s[n]>"u"){var h=["Could not find a path from ",r," to ",n,"."].join("");throw new Error(h)}return o},extract_shortest_path_from_predecessor_list:function(i,r){for(var n=[],o=r;o;)n.push(o),i[o],o=i[o];return n.reverse(),n},find_path:function(i,r,n){var o=t.single_source_shortest_paths(i,r,n);return t.extract_shortest_path_from_predecessor_list(o,n)},PriorityQueue:{make:function(i){var r=t.PriorityQueue,n={},o;i=i||{};for(o in r)r.hasOwnProperty(o)&&(n[o]=r[o]);return n.queue=[],n.sorter=i.sorter||r.default_sorter,n},default_sorter:function(i,r){return i.cost-r.cost},push:function(i,r){var n={value:i,cost:r};this.queue.push(n),this.queue.sort(this.sorter)},pop:function(){return this.queue.shift()},empty:function(){return this.queue.length===0}}};e.exports=t})(Nt);var Xt=Nt.exports;(function(e){const t=L,i=Ot,r=jt,n=Qt,o=Zt,s=M,c=I,u=Xt;function a(h){return unescape(encodeURIComponent(h)).length}function l(h,E,d){const g=[];let C;for(;(C=h.exec(d))!==null;)g.push({data:C[0],index:C.index,mode:E,length:C[0].length});return g}function p(h){const E=l(s.NUMERIC,t.NUMERIC,h),d=l(s.ALPHANUMERIC,t.ALPHANUMERIC,h);let g,C;return c.isKanjiModeEnabled()?(g=l(s.BYTE,t.BYTE,h),C=l(s.KANJI,t.KANJI,h)):(g=l(s.BYTE_KANJI,t.BYTE,h),C=[]),E.concat(d,g,C).sort(function(A,N){return A.index-N.index}).map(function(A){return{data:A.data,mode:A.mode,length:A.length}})}function w(h,E){switch(E){case t.NUMERIC:return i.getBitsLength(h);case t.ALPHANUMERIC:return r.getBitsLength(h);case t.KANJI:return o.getBitsLength(h);case t.BYTE:return n.getBitsLength(h)}}function f(h){return h.reduce(function(E,d){const g=E.length-1>=0?E[E.length-1]:null;return g&&g.mode===d.mode?(E[E.length-1].data+=d.data,E):(E.push(d),E)},[])}function m(h){const E=[];for(let d=0;d<h.length;d++){const g=h[d];switch(g.mode){case t.NUMERIC:E.push([g,{data:g.data,mode:t.ALPHANUMERIC,length:g.length},{data:g.data,mode:t.BYTE,length:g.length}]);break;case t.ALPHANUMERIC:E.push([g,{data:g.data,mode:t.BYTE,length:g.length}]);break;case t.KANJI:E.push([g,{data:g.data,mode:t.BYTE,length:a(g.data)}]);break;case t.BYTE:E.push([{data:g.data,mode:t.BYTE,length:a(g.data)}])}}return E}function y(h,E){const d={},g={start:{}};let C=["start"];for(let B=0;B<h.length;B++){const A=h[B],N=[];for(let S=0;S<A.length;S++){const b=A[S],v=""+B+S;N.push(v),d[v]={node:b,lastCount:0},g[v]={};for(let W=0;W<C.length;W++){const P=C[W];d[P]&&d[P].node.mode===b.mode?(g[P][v]=w(d[P].lastCount+b.length,b.mode)-w(d[P].lastCount,b.mode),d[P].lastCount+=b.length):(d[P]&&(d[P].lastCount=b.length),g[P][v]=w(b.length,b.mode)+4+t.getCharCountIndicator(b.mode,E))}}C=N}for(let B=0;B<C.length;B++)g[C[B]].end=0;return{map:g,table:d}}function T(h,E){let d;const g=t.getBestModeForData(h);if(d=t.from(E,g),d!==t.BYTE&&d.bit<g.bit)throw new Error('"'+h+'" cannot be encoded with mode '+t.toString(d)+`.
4
+ Suggested mode is: `+t.toString(g));switch(d===t.KANJI&&!c.isKanjiModeEnabled()&&(d=t.BYTE),d){case t.NUMERIC:return new i(h);case t.ALPHANUMERIC:return new r(h);case t.KANJI:return new o(h);case t.BYTE:return new n(h)}}e.fromArray=function(E){return E.reduce(function(d,g){return typeof g=="string"?d.push(T(g,null)):g.data&&d.push(T(g.data,g.mode)),d},[])},e.fromString=function(E,d){const g=p(E,c.isKanjiModeEnabled()),C=m(g),B=y(C,d),A=u.find_path(B.map,"start","end"),N=[];for(let S=1;S<A.length-1;S++)N.push(B.table[A[S]].node);return e.fromArray(f(N))},e.rawSplit=function(E){return e.fromArray(p(E,c.isKanjiModeEnabled()))}})(It);const q=I,X=j,xt=_t,$t=Dt,te=wt,ee=mt,nt=yt,rt=G,ne=Ft,Y=pt,re=At,oe=L,x=It;function ie(e,t){const i=e.size,r=ee.getPositions(t);for(let n=0;n<r.length;n++){const o=r[n][0],s=r[n][1];for(let c=-1;c<=7;c++)if(!(o+c<=-1||i<=o+c))for(let u=-1;u<=7;u++)s+u<=-1||i<=s+u||(c>=0&&c<=6&&(u===0||u===6)||u>=0&&u<=6&&(c===0||c===6)||c>=2&&c<=4&&u>=2&&u<=4?e.set(o+c,s+u,!0,!0):e.set(o+c,s+u,!1,!0))}}function se(e){const t=e.size;for(let i=8;i<t-8;i++){const r=i%2===0;e.set(i,6,r,!0),e.set(6,i,r,!0)}}function ue(e,t){const i=te.getPositions(t);for(let r=0;r<i.length;r++){const n=i[r][0],o=i[r][1];for(let s=-2;s<=2;s++)for(let c=-2;c<=2;c++)s===-2||s===2||c===-2||c===2||s===0&&c===0?e.set(n+s,o+c,!0,!0):e.set(n+s,o+c,!1,!0)}}function ce(e,t){const i=e.size,r=Y.getEncodedBits(t);let n,o,s;for(let c=0;c<18;c++)n=Math.floor(c/3),o=c%3+i-8-3,s=(r>>c&1)===1,e.set(n,o,s,!0),e.set(o,n,s,!0)}function $(e,t,i){const r=e.size,n=re.getEncodedBits(t,i);let o,s;for(o=0;o<15;o++)s=(n>>o&1)===1,o<6?e.set(o,8,s,!0):o<8?e.set(o+1,8,s,!0):e.set(r-15+o,8,s,!0),o<8?e.set(8,r-o-1,s,!0):o<9?e.set(8,15-o-1+1,s,!0):e.set(8,15-o-1,s,!0);e.set(r-8,8,1,!0)}function ae(e,t){const i=e.size;let r=-1,n=i-1,o=7,s=0;for(let c=i-1;c>0;c-=2)for(c===6&&c--;;){for(let u=0;u<2;u++)if(!e.isReserved(n,c-u)){let a=!1;s<t.length&&(a=(t[s]>>>o&1)===1),e.set(n,c-u,a),o--,o===-1&&(s++,o=7)}if(n+=r,n<0||i<=n){n-=r,r=-r;break}}}function le(e,t,i){const r=new xt;i.forEach(function(u){r.put(u.mode.bit,4),r.put(u.getLength(),oe.getCharCountIndicator(u.mode,e)),u.write(r)});const n=q.getSymbolTotalCodewords(e),o=rt.getTotalCodewordsCount(e,t),s=(n-o)*8;for(r.getLengthInBits()+4<=s&&r.put(0,4);r.getLengthInBits()%8!==0;)r.putBit(0);const c=(s-r.getLengthInBits())/8;for(let u=0;u<c;u++)r.put(u%2?17:236,8);return fe(r,e,t)}function fe(e,t,i){const r=q.getSymbolTotalCodewords(t),n=rt.getTotalCodewordsCount(t,i),o=r-n,s=rt.getBlocksCount(t,i),c=r%s,u=s-c,a=Math.floor(r/s),l=Math.floor(o/s),p=l+1,w=a-l,f=new ne(w);let m=0;const y=new Array(s),T=new Array(s);let h=0;const E=new Uint8Array(e.buffer);for(let A=0;A<s;A++){const N=A<u?l:p;y[A]=E.slice(m,m+N),T[A]=f.encode(y[A]),m+=N,h=Math.max(h,N)}const d=new Uint8Array(r);let g=0,C,B;for(C=0;C<h;C++)for(B=0;B<s;B++)C<y[B].length&&(d[g++]=y[B][C]);for(C=0;C<w;C++)for(B=0;B<s;B++)d[g++]=T[B][C];return d}function ge(e,t,i,r){let n;if(Array.isArray(e))n=x.fromArray(e);else if(typeof e=="string"){let a=t;if(!a){const l=x.rawSplit(e);a=Y.getBestVersionForData(l,i)}n=x.fromString(e,a||40)}else throw new Error("Invalid data");const o=Y.getBestVersionForData(n,i);if(!o)throw new Error("The amount of data is too big to be stored in a QR Code");if(!t)t=o;else if(t<o)throw new Error(`
5
+ The chosen QR Code version cannot contain this amount of data.
6
+ Minimum version required to store current data is: `+o+`.
7
+ `);const s=le(t,i,n),c=q.getSymbolSize(t),u=new $t(c);return ie(u,t),se(u),ue(u,t),$(u,i,0),t>=7&&ce(u,t),ae(u,s),isNaN(r)&&(r=nt.getBestMask(u,$.bind(null,u,i))),nt.applyMask(r,u),$(u,i,r),{modules:u,version:t,errorCorrectionLevel:i,maskPattern:r,segments:n}}dt.create=function(t,i){if(typeof t>"u"||t==="")throw new Error("No input text");let r=X.M,n,o;return typeof i<"u"&&(r=X.from(i.errorCorrectionLevel,X.M),n=Y.from(i.version),o=nt.from(i.maskPattern),i.toSJISFunc&&q.setToSJISFunction(i.toSJISFunc)),ge(t,n,r,o)};var bt={},ct={};(function(e){function t(i){if(typeof i=="number"&&(i=i.toString()),typeof i!="string")throw new Error("Color should be defined as hex string");let r=i.slice().replace("#","").split("");if(r.length<3||r.length===5||r.length>8)throw new Error("Invalid hex color: "+i);(r.length===3||r.length===4)&&(r=Array.prototype.concat.apply([],r.map(function(o){return[o,o]}))),r.length===6&&r.push("F","F");const n=parseInt(r.join(""),16);return{r:n>>24&255,g:n>>16&255,b:n>>8&255,a:n&255,hex:"#"+r.slice(0,6).join("")}}e.getOptions=function(r){r||(r={}),r.color||(r.color={});const n=typeof r.margin>"u"||r.margin===null||r.margin<0?4:r.margin,o=r.width&&r.width>=21?r.width:void 0,s=r.scale||4;return{width:o,scale:o?4:s,margin:n,color:{dark:t(r.color.dark||"#000000ff"),light:t(r.color.light||"#ffffffff")},type:r.type,rendererOpts:r.rendererOpts||{}}},e.getScale=function(r,n){return n.width&&n.width>=r+n.margin*2?n.width/(r+n.margin*2):n.scale},e.getImageWidth=function(r,n){const o=e.getScale(r,n);return Math.floor((r+n.margin*2)*o)},e.qrToImageData=function(r,n,o){const s=n.modules.size,c=n.modules.data,u=e.getScale(s,o),a=Math.floor((s+o.margin*2)*u),l=o.margin*u,p=[o.color.light,o.color.dark];for(let w=0;w<a;w++)for(let f=0;f<a;f++){let m=(w*a+f)*4,y=o.color.light;if(w>=l&&f>=l&&w<a-l&&f<a-l){const T=Math.floor((w-l)/u),h=Math.floor((f-l)/u);y=p[c[T*s+h]?1:0]}r[m++]=y.r,r[m++]=y.g,r[m++]=y.b,r[m]=y.a}}})(ct);(function(e){const t=ct;function i(n,o,s){n.clearRect(0,0,o.width,o.height),o.style||(o.style={}),o.height=s,o.width=s,o.style.height=s+"px",o.style.width=s+"px"}function r(){try{return document.createElement("canvas")}catch{throw new Error("You need to specify a canvas element")}}e.render=function(o,s,c){let u=c,a=s;typeof u>"u"&&(!s||!s.getContext)&&(u=s,s=void 0),s||(a=r()),u=t.getOptions(u);const l=t.getImageWidth(o.modules.size,u),p=a.getContext("2d"),w=p.createImageData(l,l);return t.qrToImageData(w.data,o,u),i(p,a,l),p.putImageData(w,0,0),a},e.renderToDataURL=function(o,s,c){let u=c;typeof u>"u"&&(!s||!s.getContext)&&(u=s,s=void 0),u||(u={});const a=e.render(o,s,u),l=u.type||"image/png",p=u.rendererOpts||{};return a.toDataURL(l,p.quality)}})(bt);var Mt={};const de=ct;function gt(e,t){const i=e.a/255,r=t+'="'+e.hex+'"';return i<1?r+" "+t+'-opacity="'+i.toFixed(2).slice(1)+'"':r}function tt(e,t,i){let r=e+t;return typeof i<"u"&&(r+=" "+i),r}function he(e,t,i){let r="",n=0,o=!1,s=0;for(let c=0;c<e.length;c++){const u=Math.floor(c%t),a=Math.floor(c/t);!u&&!o&&(o=!0),e[c]?(s++,c>0&&u>0&&e[c-1]||(r+=o?tt("M",u+i,.5+a+i):tt("m",n,0),n=0,o=!1),u+1<t&&e[c+1]||(r+=tt("h",s),s=0)):n++}return r}Mt.render=function(t,i,r){const n=de.getOptions(i),o=t.modules.size,s=t.modules.data,c=o+n.margin*2,u=n.color.light.a?"<path "+gt(n.color.light,"fill")+' d="M0 0h'+c+"v"+c+'H0z"/>':"",a="<path "+gt(n.color.dark,"stroke")+' d="'+he(s,o,n.margin)+'"/>',l='viewBox="0 0 '+c+" "+c+'"',w='<svg xmlns="http://www.w3.org/2000/svg" '+(n.width?'width="'+n.width+'" height="'+n.width+'" ':"")+l+' shape-rendering="crispEdges">'+u+a+`</svg>
8
+ `;return typeof r=="function"&&r(null,w),w};const we=Rt,ot=dt,Pt=bt,me=Mt;function at(e,t,i,r,n){const o=[].slice.call(arguments,1),s=o.length,c=typeof o[s-1]=="function";if(!c&&!we())throw new Error("Callback required as last argument");if(c){if(s<2)throw new Error("Too few arguments provided");s===2?(n=i,i=t,t=r=void 0):s===3&&(t.getContext&&typeof n>"u"?(n=r,r=void 0):(n=r,r=i,i=t,t=void 0))}else{if(s<1)throw new Error("Too few arguments provided");return s===1?(i=t,t=r=void 0):s===2&&!t.getContext&&(r=i,i=t,t=void 0),new Promise(function(u,a){try{const l=ot.create(i,r);u(e(l,t,r))}catch(l){a(l)}})}try{const u=ot.create(i,r);n(null,e(u,t,r))}catch(u){n(u)}}var ye=_.create=ot.create,Ee=_.toCanvas=at.bind(null,Pt.render),Ce=_.toDataURL=at.bind(null,Pt.renderToDataURL),pe=_.toString=at.bind(null,function(e,t,i){return me.render(e,i)});const Be=St({__proto__:null,create:ye,default:_,toCanvas:Ee,toDataURL:Ce,toString:pe},[_]);export{Be as b};
@@ -0,0 +1,6 @@
1
+ import{y as o}from"./index-CBNVuWcP.js";/**
2
+ * @license lucide-react v0.511.0 - ISC
3
+ *
4
+ * This source code is licensed under the ISC license.
5
+ * See the LICENSE file in the root directory of this source tree.
6
+ */const e=[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]],n=o("chevron-up",e);export{n as C};
@@ -0,0 +1,6 @@
1
+ import{y as o}from"./index-CBNVuWcP.js";/**
2
+ * @license lucide-react v0.511.0 - ISC
3
+ *
4
+ * This source code is licensed under the ISC license.
5
+ * See the LICENSE file in the root directory of this source tree.
6
+ */const e=[["path",{d:"m16 18 6-6-6-6",key:"eg8j8"}],["path",{d:"m8 6-6 6 6 6",key:"ppft3o"}]],c=o("code",e);export{c as C};
@@ -0,0 +1 @@
1
+ import{aa as x,Z as E,Y as w}from"./index-CBNVuWcP.js";function z({dbName:o,version:c,storeName:e}){return new Promise((n,r)=>{const s=indexedDB.open(o,c);s.onupgradeneeded=()=>{const y=s.result;y.objectStoreNames.contains(e)||y.createObjectStore(e)},s.onsuccess=()=>n(s.result),s.onerror=()=>r(s.error??new Error("Failed to open IndexedDB"))})}function D(o){return new Promise((c,e)=>{o.onsuccess=()=>c(o.result),o.onerror=()=>e(o.error??new Error("IndexedDB request failed"))})}function T(o){let c=null;const e=()=>(c||(c=z(o)),c),n=async(r,s)=>{const y=await e();return await new Promise((a,t)=>{const d=y.transaction(o.storeName,r),u=d.objectStore(o.storeName);Promise.resolve(s(u)).then(i=>{i instanceof IDBRequest?D(i).then(a).catch(t):a(i)}).catch(t),d.onabort=()=>t(d.error??new Error("IndexedDB transaction aborted"))})};return{async get(r){return await n("readonly",s=>s.get(r))},async set(r,s){await n("readwrite",y=>y.put(s,r))},async del(r){await n("readwrite",s=>s.delete(r))},async keys(){const y=(await e()).transaction(o.storeName,"readonly").objectStore(o.storeName);return(await D(y.getAllKeys())).map(String)}}}const k=1*1024*1024,b=20*1024*1024;function m(o,c){return`${o}:${c}`}function B(o){try{return new TextEncoder().encode(o).byteLength}catch{return o.length}}function p(o){return(o.sizeBytes??B(o.content))<=k}const S=T({dbName:"ds-file-cache",version:1,storeName:"files"}),g=x((o,c)=>({entries:{},totalBytes:0,loadingKeys:{},getKey:m,getEntry:(e,n)=>c().entries[m(e,n)],ensureLoaded:async({projectId:e,fileId:n,updatedAt:r,mimeType:s,sizeBytes:y})=>{const a=m(e,n),t=c().entries[a],d=i=>o(l=>({loadingKeys:{...l.loadingKeys,[a]:i}})),u=i=>(o(l=>{const A=l.entries[a],v=A?A.sizeBytes??B(A.content):0,f=i.sizeBytes??B(i.content);return{entries:{...l.entries,[a]:{...i,key:a}},totalBytes:Math.max(0,l.totalBytes-v+f)}}),c().evictIfNeeded(),c().entries[a]);if(t){if(t.isDirty)return c().touch({projectId:e,fileId:n}),t;if(!(t.updatedAt&&r&&t.updatedAt!==r))return c().touch({projectId:e,fileId:n}),t}d(!0);try{const i=await S.get(a);if(i){const f={key:a,projectId:i.projectId,fileId:i.fileId,mimeType:i.mimeType,sizeBytes:i.sizeBytes??B(i.content),updatedAt:i.updatedAt,content:i.content,isDirty:i.isDirty,saveState:"idle",conflict:void 0,lastAccessedAt:Date.now(),lastSavedAt:i.lastSavedAt,saveError:void 0};if(!(r&&f.updatedAt&&f.updatedAt!==r&&!f.isDirty))return u(f)}const l=await w(n),A=y??B(l),v=u({projectId:e,fileId:n,mimeType:s,sizeBytes:A,updatedAt:r,content:l,isDirty:!1,saveState:"idle",saveError:void 0,conflict:void 0,lastAccessedAt:Date.now(),lastSavedAt:void 0});if(p(v)){const f={v:1,projectId:e,fileId:n,mimeType:s,sizeBytes:v.sizeBytes,updatedAt:v.updatedAt,content:v.content,isDirty:v.isDirty,lastAccessedAt:v.lastAccessedAt,lastSavedAt:v.lastSavedAt,conflict:v.conflict};await S.set(a,f)}return v}finally{d(!1)}},reload:async({projectId:e,fileId:n,updatedAt:r,mimeType:s,sizeBytes:y,ignoreDirty:a})=>{const t=m(e,n),d=c().entries[t];if(d?.isDirty&&!a)return c().touch({projectId:e,fileId:n}),d;const u=i=>o(l=>({loadingKeys:{...l.loadingKeys,[t]:i}}));u(!0);try{const i=await w(n),l=y??B(i);return c().applyServerSnapshot({projectId:e,fileId:n,content:i,updatedAt:r,sizeBytes:l,mimeType:s}),c().entries[t]}finally{u(!1)}},setContent:({projectId:e,fileId:n,content:r})=>{const s=m(e,n),y=Date.now();o(t=>{const d=t.entries[s],u=B(r),i=d?d.sizeBytes??B(d.content):0,l={key:s,projectId:e,fileId:n,mimeType:d?.mimeType,sizeBytes:u,updatedAt:d?.updatedAt,content:r,isDirty:!0,saveState:d?.saveState??"idle",saveError:void 0,conflict:d?.conflict,lastAccessedAt:y,lastSavedAt:d?.lastSavedAt};return{entries:{...t.entries,[s]:l},totalBytes:Math.max(0,t.totalBytes-i+u)}});const a=c().entries[s];if(a&&p(a)){const t={v:1,projectId:e,fileId:n,mimeType:a.mimeType,sizeBytes:a.sizeBytes,updatedAt:a.updatedAt,content:a.content,isDirty:a.isDirty,lastAccessedAt:a.lastAccessedAt,lastSavedAt:a.lastSavedAt,conflict:a.conflict};S.set(s,t).catch(()=>{})}},touch:({projectId:e,fileId:n})=>{const r=m(e,n);o(s=>{const y=s.entries[r];return y?{entries:{...s.entries,[r]:{...y,lastAccessedAt:Date.now()}}}:s})},save:async({projectId:e,fileId:n})=>{const r=m(e,n),s=c().entries[r];if(!s)return await c().ensureLoaded({projectId:e,fileId:n});o(y=>({entries:{...y.entries,[r]:{...y.entries[r],saveState:"saving",saveError:void 0}}}));try{const a=(await E(n,s.content)).updated_at,t={...c().entries[r],isDirty:!1,saveState:"idle",updatedAt:a,lastSavedAt:Date.now(),saveError:void 0,conflict:void 0};if(o(d=>({entries:{...d.entries,[r]:t}})),p(t)){const d={v:1,projectId:e,fileId:n,mimeType:t.mimeType,sizeBytes:t.sizeBytes,updatedAt:t.updatedAt,content:t.content,isDirty:t.isDirty,lastAccessedAt:t.lastAccessedAt,lastSavedAt:t.lastSavedAt,conflict:t.conflict};await S.set(r,d)}return t}catch(y){const a=y instanceof Error?y.message:"Save failed";return o(t=>({entries:{...t.entries,[r]:{...t.entries[r],saveState:"error",saveError:a}}})),c().entries[r]}},applyServerSnapshot:({projectId:e,fileId:n,content:r,updatedAt:s,sizeBytes:y,mimeType:a,keepDirty:t})=>{const d=m(e,n),u=Date.now();o(l=>{const A=l.entries[d],v=A?A.sizeBytes??B(A.content):0,f=y??B(r),h={key:d,projectId:e,fileId:n,mimeType:a??A?.mimeType,sizeBytes:f,updatedAt:s??A?.updatedAt,content:r,isDirty:t?!!A?.isDirty:!1,saveState:"idle",saveError:void 0,conflict:void 0,lastAccessedAt:u,lastSavedAt:t?A?.lastSavedAt:u};return{entries:{...l.entries,[d]:h},totalBytes:Math.max(0,l.totalBytes-v+f)}});const i=c().entries[d];if(i&&p(i)){const l={v:1,projectId:e,fileId:n,mimeType:i.mimeType,sizeBytes:i.sizeBytes,updatedAt:i.updatedAt,content:i.content,isDirty:i.isDirty,lastAccessedAt:i.lastAccessedAt,lastSavedAt:i.lastSavedAt,conflict:void 0};S.set(d,l).catch(()=>{})}},evictIfNeeded:()=>{const{totalBytes:e,entries:n}=c();if(e<=b)return;const r=Object.values(n).slice().sort((a,t)=>a.lastAccessedAt-t.lastAccessedAt);let s=e;const y={...n};for(const a of r){if(s<=b)break;if(a.isDirty)continue;const t=a.sizeBytes??B(a.content);delete y[a.key],s-=t}s!==e&&o({entries:y,totalBytes:Math.max(0,s)})}}));function M(o,c){const e=o&&c?m(o,c):null;return g(n=>e?!!n.loadingKeys[e]:!1)}export{M as a,g as u};
@@ -0,0 +1 @@
1
+ import{j as e,X as b,b as c}from"./index-CBNVuWcP.js";import{r as A}from"./plugin-monaco-C8UgLomw.js";const C={create:"Created",update:"Updated",delete:"Deleted"};function E(s){const i=s.startsWith("@@"),d=s.startsWith("+")&&!s.startsWith("+++"),t=s.startsWith("-")&&!s.startsWith("---"),l=!i&&!d&&!t,n=i?"@@":d?"+":t?"-":" ",a=i?s.slice(2).trimStart():s.slice(1);return{isHunk:i,isAdd:d,isDel:t,isContext:l,prefix:n,text:a}}function k(s){let i=0,d=0;return s.forEach(t=>{t.startsWith("+")&&!t.startsWith("+++")&&(i+=1),t.startsWith("-")&&!t.startsWith("---")&&(d+=1)}),{added:i,removed:d}}function U({diff:s,changeType:i,title:d,subtitle:t,compact:l,showHeader:n=!0,onClose:a,className:o}){const r=A.useMemo(()=>k(s.lines),[s.lines]),m=s.added??r.added,x=s.removed??r.removed,h=i?C[i]??"Updated":"Updated";return e.jsxs("div",{className:c("ds-file-diff-panel",l&&"is-compact",o),children:[n?e.jsxs("div",{className:"ds-file-diff-header",children:[e.jsxs("div",{className:"ds-file-diff-header-text",children:[e.jsx("div",{className:"ds-file-diff-title",children:d??"AI Change"}),e.jsxs("div",{className:"ds-file-diff-subtitle",children:[e.jsx("span",{className:"ds-file-diff-tag",children:h}),e.jsxs("span",{className:"ds-file-diff-meta",children:["+",m]}),e.jsxs("span",{className:"ds-file-diff-meta",children:["-",x]}),t?e.jsx("span",{className:"ds-file-diff-muted",children:t}):null]})]}),a?e.jsx("button",{type:"button",className:"ds-file-diff-close",onClick:a,"aria-label":"Dismiss diff",children:e.jsx(b,{size:14})}):null]}):null,e.jsx("div",{className:"ds-file-diff-body",children:s.lines.map((u,p)=>{const{isHunk:j,isAdd:N,isDel:v,isContext:W,prefix:f,text:D}=E(u);return e.jsxs("div",{className:c("ds-file-diff-line",j&&"is-hunk",N&&"is-add",v&&"is-del",W&&"is-context"),children:[e.jsx("span",{className:"ds-file-diff-prefix",children:f}),e.jsx("span",{className:"ds-file-diff-text",children:D})]},`${f}-${p}`)})}),s.truncated?e.jsx("div",{className:"ds-file-diff-footer",children:"Diff truncated. Open file for full details."}):null]})}export{U as F};
@@ -0,0 +1 @@
1
+ const n=new Map;function i(t){const e=t.data?.fileId;if(!e)return;const s=n.get(e)??[];s.push(t),n.set(e,s)}function u(t){const e=n.get(t);return!e||e.length===0?[]:(n.delete(t),e)}export{u as c,i as q};
@@ -0,0 +1 @@
1
+ import{t as r,v as a,w as i,x as u}from"./index-CBNVuWcP.js";const k=i,n=new Map;function f(){const e={connected:!1,connect:()=>e,disconnect:()=>e,on:()=>e,off:()=>e,emit:()=>!0,emitWithAck:async()=>({data:void 0})};return e}function p(){if(!r())return{socket:f(),release:()=>{}};const e=k();let t=n.get(e);return t||(t={socket:a(e,{path:"/ws/socket.io",autoConnect:!1,transports:["websocket","polling"],auth:c=>{const s=u.getState().accessToken||(typeof window<"u"?window.localStorage.getItem("ds_access_token"):null);c({token:s})}}),refCount:0},n.set(e,t)),t.refCount+=1,t.socket.connected||t.socket.connect(),{socket:t.socket,release:()=>{const o=n.get(e);o&&(o.refCount-=1,o.refCount<=0&&(o.socket.disconnect(),n.delete(e)))}}}export{p as a};
@@ -0,0 +1,6 @@
1
+ import{y as o}from"./index-CBNVuWcP.js";/**
2
+ * @license lucide-react v0.511.0 - ISC
3
+ *
4
+ * This source code is licensed under the ISC license.
5
+ * See the LICENSE file in the root directory of this source tree.
6
+ */const i=[["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}],["line",{x1:"3",x2:"9",y1:"12",y2:"12",key:"1dyftd"}],["line",{x1:"15",x2:"21",y1:"12",y2:"12",key:"oup4p8"}]],c=o("git-commit-horizontal",i);export{c as G};
@@ -0,0 +1,6 @@
1
+ import{y as e}from"./index-CBNVuWcP.js";/**
2
+ * @license lucide-react v0.511.0 - ISC
3
+ *
4
+ * This source code is licensed under the ISC license.
5
+ * See the LICENSE file in the root directory of this source tree.
6
+ */const c=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}],["circle",{cx:"9",cy:"9",r:"2",key:"af1f0g"}],["path",{d:"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21",key:"1xmnt7"}]],a=e("image",c);export{a as I};