shadow-claw 1.51.0 → 1.52.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (296) hide show
  1. package/.well-known/mcp/server-card.json +1 -1
  2. package/.well-known/mcp.json +1 -1
  3. package/README.md +1 -1
  4. package/dist/cli/{chunk-Dtse8rAn.js → chunk-5ryVpyup.js} +1 -1
  5. package/dist/cli/chunk-Aq3057Xo.js +1 -0
  6. package/dist/cli/{chunk-4CZJpLqA.js → chunk-BV9JBYpl.js} +2 -2
  7. package/dist/cli/{chunk-mbFAP9Ev.js → chunk-BZI3bWDA.js} +1 -1
  8. package/dist/cli/chunk-BaUCHRPD.js +1 -0
  9. package/dist/cli/{chunk-vzUrhBN5.js → chunk-BdbEt6gM.js} +1 -1
  10. package/dist/cli/{chunk-BU8UG4L_.js → chunk-BiWLawPV.js} +1 -1
  11. package/dist/cli/chunk-BkLnHJeo.js +1 -0
  12. package/dist/cli/{chunk-BqfPWIBf.js → chunk-BzWY1sKE.js} +1 -1
  13. package/dist/cli/{chunk-DajM7Kro.js → chunk-C79eIU-4.js} +1 -1
  14. package/dist/cli/{chunk-CI9r1AM5.js → chunk-CDw214Zi.js} +1 -1
  15. package/dist/cli/chunk-CNqc7LLn.js +1 -0
  16. package/dist/cli/{chunk-CEhU-Ah-.js → chunk-CWW7dqIv.js} +1 -1
  17. package/dist/cli/{chunk-BT_C3OlA.js → chunk-CcSTYHtR.js} +1 -1
  18. package/dist/cli/chunk-ClOfk6Ga.js +1 -0
  19. package/dist/cli/chunk-ComXUwW0.js +1 -0
  20. package/dist/cli/{chunk-lL1BhHVe.js → chunk-CooeO4UQ.js} +1 -1
  21. package/dist/cli/{chunk-khr7--yI.js → chunk-CtfWY4G6.js} +1 -1
  22. package/dist/cli/{chunk-C4iW1XuQ.js → chunk-DFgSiYMW.js} +1 -1
  23. package/dist/cli/chunk-DGBnjngK.js +1 -0
  24. package/dist/cli/{chunk-D7bFIUK3.js → chunk-DGu1OhJs.js} +1 -1
  25. package/dist/cli/{chunk-CzfOerQR.js → chunk-DIjCY0Wf.js} +1 -1
  26. package/dist/cli/{chunk-D-iqEY5G.js → chunk-DJ_LeQtz.js} +1 -1
  27. package/dist/cli/{chunk-BmEsDkRK.js → chunk-DQRu-9wO.js} +1 -1
  28. package/dist/cli/{chunk-DojiYody.js → chunk-DToVgO9a.js} +1 -1
  29. package/dist/cli/{chunk-De5a_Rlp.js → chunk-DVbNkQRL.js} +1 -1
  30. package/dist/cli/{chunk-c8MIYB2y.js → chunk-Ddtzaj43.js} +1 -1
  31. package/dist/cli/{chunk-aJ6fufe-.js → chunk-DiqS56rD.js} +1 -1
  32. package/dist/cli/{chunk-CeUEmZNt.js → chunk-DnRcu9b4.js} +1 -1
  33. package/dist/cli/chunk-DtgZDsJA.js +1 -0
  34. package/dist/cli/{chunk-DVMcK7g6.js → chunk-Du4qvxo_.js} +2 -2
  35. package/dist/cli/{chunk-CegcvNc9.js → chunk-Dz5_hgvL.js} +8 -8
  36. package/dist/cli/{chunk-Cd4Dv5Eq.js → chunk-I3mxEelq.js} +1 -1
  37. package/dist/cli/{chunk-Do3VICh1.js → chunk-IU2SH_ti.js} +1 -1
  38. package/dist/cli/{chunk-BQveaAaD.js → chunk-NC8XsSSA.js} +1 -1
  39. package/dist/cli/{chunk-D702W_Ry.js → chunk-Q4BZ9QN9.js} +1 -1
  40. package/dist/cli/chunk-WTlDd4Ou.js +1 -0
  41. package/dist/cli/chunk-XGzq5joC.js +1 -0
  42. package/dist/cli/{chunk-ar7eAlxK.js → chunk-aJfaGe2s.js} +8 -8
  43. package/dist/cli/chunk-bPVrFlmk.js +1 -0
  44. package/dist/cli/chunk-jXJHKxdR.js +1 -0
  45. package/dist/cli/{chunk-C3dTAmV_.js → chunk-rstVU7U0.js} +1 -1
  46. package/dist/cli/{chunk-DGfTzQui.js → chunk-t72uObQ7.js} +1 -1
  47. package/dist/cli/{chunk-DDgfljzN.js → chunk-vq8xlroY.js} +1 -1
  48. package/dist/cli/cli.js +1 -1
  49. package/dist/headless-agent.js +1 -1
  50. package/dist/lib/components/common/shadow-claw-provider-model-picker.js +1 -1
  51. package/dist/lib/components/index.js +27 -27
  52. package/dist/lib/components/settings/shadow-claw-accounts.js +1 -1
  53. package/dist/lib/components/settings/shadow-claw-channel-config.js +1 -1
  54. package/dist/lib/components/settings/shadow-claw-control-plane.js +1 -1
  55. package/dist/lib/components/settings/shadow-claw-git.js +1 -1
  56. package/dist/lib/components/settings/shadow-claw-integrations.js +1 -1
  57. package/dist/lib/components/settings/shadow-claw-llm/model-ranking.d.ts +12 -0
  58. package/dist/lib/components/settings/shadow-claw-llm.js +1 -1
  59. package/dist/lib/components/settings/shadow-claw-mcp-remote.js +1 -1
  60. package/dist/lib/components/settings/shadow-claw-networking.js +1 -1
  61. package/dist/lib/components/settings/shadow-claw-notifications.js +1 -1
  62. package/dist/lib/components/settings/shadow-claw-peerjs.js +1 -1
  63. package/dist/lib/components/settings/shadow-claw-storage.js +1 -1
  64. package/dist/lib/components/settings/shadow-claw-task-server.js +1 -1
  65. package/dist/lib/components/settings/shadow-claw-webvm.js +1 -1
  66. package/dist/lib/components/shadow-claw-a2ui.js +1 -1
  67. package/dist/lib/components/shadow-claw-accounts.js +1 -1
  68. package/dist/lib/components/shadow-claw-channel-config.js +1 -1
  69. package/dist/lib/components/shadow-claw-channels.js +1 -1
  70. package/dist/lib/components/shadow-claw-chat/shadow-claw-chat.d.ts +1 -0
  71. package/dist/lib/components/shadow-claw-chat.js +1 -1
  72. package/dist/lib/components/shadow-claw-control-plane.js +1 -1
  73. package/dist/lib/components/shadow-claw-conversations.js +1 -1
  74. package/dist/lib/components/shadow-claw-file-viewer.js +1 -1
  75. package/dist/lib/components/shadow-claw-files.js +1 -1
  76. package/dist/lib/components/shadow-claw-git.js +1 -1
  77. package/dist/lib/components/shadow-claw-integrations.js +1 -1
  78. package/dist/lib/components/shadow-claw-llm.js +1 -1
  79. package/dist/lib/components/shadow-claw-mcp-remote.js +1 -1
  80. package/dist/lib/components/shadow-claw-networking.js +1 -1
  81. package/dist/lib/components/shadow-claw-notifications.js +1 -1
  82. package/dist/lib/components/shadow-claw-page-header.js +1 -1
  83. package/dist/lib/components/shadow-claw-pages.js +1 -1
  84. package/dist/lib/components/shadow-claw-peerjs.js +1 -1
  85. package/dist/lib/components/shadow-claw-provider-model-picker.js +1 -1
  86. package/dist/lib/components/shadow-claw-settings.js +1 -1
  87. package/dist/lib/components/shadow-claw-storage.js +1 -1
  88. package/dist/lib/components/shadow-claw-task-server.js +1 -1
  89. package/dist/lib/components/shadow-claw-tasks.js +1 -1
  90. package/dist/lib/components/shadow-claw-terminal.js +1 -1
  91. package/dist/lib/components/shadow-claw-tools.js +1 -1
  92. package/dist/lib/components/shadow-claw-webvm.js +1 -1
  93. package/dist/lib/components/shadow-claw.js +1 -1
  94. package/dist/lib/config/config.d.ts +2 -1
  95. package/dist/lib/{config-DxDaVDTn.js → config-DFLs7eoC.js} +3 -2
  96. package/dist/lib/config-DFLs7eoC.js.map +1 -0
  97. package/dist/lib/{configurePeerJs-ScwZiGbF.js → configurePeerJs-DJ0H6e6s.js} +3 -3
  98. package/dist/lib/{configurePeerJs-ScwZiGbF.js.map → configurePeerJs-DJ0H6e6s.js.map} +1 -1
  99. package/dist/lib/{connections-D82zele0.js → connections-DT3nPylw.js} +2 -2
  100. package/dist/lib/{connections-D82zele0.js.map → connections-DT3nPylw.js.map} +1 -1
  101. package/dist/lib/{downloadGroupFile-D7-5y6NI.js → downloadGroupFile-DMnAiPj4.js} +2 -2
  102. package/dist/lib/{downloadGroupFile-D7-5y6NI.js.map → downloadGroupFile-DMnAiPj4.js.map} +1 -1
  103. package/dist/lib/{file-viewer-BMvvndPQ.js → file-viewer-OHmGC_l7.js} +5 -5
  104. package/dist/lib/{file-viewer-BMvvndPQ.js.map → file-viewer-OHmGC_l7.js.map} +1 -1
  105. package/dist/lib/{getGroupDir-BidwYPfP.js → getGroupDir-mTV2Iz2b.js} +3 -3
  106. package/dist/lib/{getGroupDir-BidwYPfP.js.map → getGroupDir-mTV2Iz2b.js.map} +1 -1
  107. package/dist/lib/{git-CXmWufWS.js → git-CGdKghMC.js} +3 -3
  108. package/dist/lib/{git-CXmWufWS.js.map → git-CGdKghMC.js.map} +1 -1
  109. package/dist/lib/index.js +28 -28
  110. package/dist/lib/{initChatSplitResize-tvUZ-wsp.js → initChatSplitResize-B8zHHQdm.js} +2 -2
  111. package/dist/lib/{initChatSplitResize-tvUZ-wsp.js.map → initChatSplitResize-B8zHHQdm.js.map} +1 -1
  112. package/dist/lib/{initControlPlane-Dnjkb-6J.js → initControlPlane-BczrlTf3.js} +14 -14
  113. package/dist/lib/{initControlPlane-Dnjkb-6J.js.map → initControlPlane-BczrlTf3.js.map} +1 -1
  114. package/dist/lib/{markdown-WCXar9C8.js → markdown-D-7Cjyye.js} +3 -3
  115. package/dist/lib/{markdown-WCXar9C8.js.map → markdown-D-7Cjyye.js.map} +1 -1
  116. package/dist/lib/{mcp-reconnect-WTOQONHZ.js → mcp-reconnect-Czf7QCCv.js} +2 -2
  117. package/dist/lib/{mcp-reconnect-WTOQONHZ.js.map → mcp-reconnect-Czf7QCCv.js.map} +1 -1
  118. package/dist/lib/{memoryStorage-Bo2Wpfmg.js → memoryStorage-CXyKsKMo.js} +2 -2
  119. package/dist/lib/{memoryStorage-Bo2Wpfmg.js.map → memoryStorage-CXyKsKMo.js.map} +1 -1
  120. package/dist/lib/model-ranking-Bo8CpGH1.js +116 -0
  121. package/dist/lib/model-ranking-Bo8CpGH1.js.map +1 -0
  122. package/dist/lib/{orchestrator-Crw4btGn.js → orchestrator-BK138MkV.js} +10 -10
  123. package/dist/lib/{orchestrator-Crw4btGn.js.map → orchestrator-BK138MkV.js.map} +1 -1
  124. package/dist/lib/{orchestrator-Dro541iH.js → orchestrator-BtbxiPQB.js} +17 -16
  125. package/dist/lib/{orchestrator-Dro541iH.js.map → orchestrator-BtbxiPQB.js.map} +1 -1
  126. package/dist/lib/{peerjs-D741bHrf.js → peerjs-QJr03K9F.js} +7 -7
  127. package/dist/lib/{peerjs-D741bHrf.js.map → peerjs-QJr03K9F.js.map} +1 -1
  128. package/dist/lib/{prompt-api-D9XdrCep.js → prompt-api-vf351sf2.js} +2 -19
  129. package/dist/lib/{prompt-api-D9XdrCep.js.map → prompt-api-vf351sf2.js.map} +1 -1
  130. package/dist/lib/{push-client-DKFUY_Ti.js → push-client-BOHgqHbk.js} +4 -4
  131. package/dist/lib/{push-client-DKFUY_Ti.js.map → push-client-BOHgqHbk.js.map} +1 -1
  132. package/dist/lib/{readGroupFileBytes-C8Xqlb8l.js → readGroupFileBytes-CRA6dmgT.js} +2 -2
  133. package/dist/lib/{readGroupFileBytes-C8Xqlb8l.js.map → readGroupFileBytes-CRA6dmgT.js.map} +1 -1
  134. package/dist/lib/{shadow-claw-a2ui-CPydWVdW.js → shadow-claw-a2ui-DbZa4Gxp.js} +2 -2
  135. package/dist/lib/{shadow-claw-a2ui-CPydWVdW.js.map → shadow-claw-a2ui-DbZa4Gxp.js.map} +1 -1
  136. package/dist/lib/{shadow-claw-accounts-CUypXc3I.js → shadow-claw-accounts-B6OW2NVD.js} +3 -3
  137. package/dist/lib/{shadow-claw-accounts-CUypXc3I.js.map → shadow-claw-accounts-B6OW2NVD.js.map} +1 -1
  138. package/dist/lib/{shadow-claw-channel-config-D_Vb2ous.js → shadow-claw-channel-config-F_EJ-uK2.js} +3 -3
  139. package/dist/lib/{shadow-claw-channel-config-D_Vb2ous.js.map → shadow-claw-channel-config-F_EJ-uK2.js.map} +1 -1
  140. package/dist/lib/{shadow-claw-channels-hgjjzvRr.js → shadow-claw-channels-XYylMpjg.js} +3 -3
  141. package/dist/lib/{shadow-claw-channels-hgjjzvRr.js.map → shadow-claw-channels-XYylMpjg.js.map} +1 -1
  142. package/dist/lib/{shadow-claw-chat-D69IiLXd.js → shadow-claw-chat-dbK_DGO_.js} +124 -38
  143. package/dist/lib/shadow-claw-chat-dbK_DGO_.js.map +1 -0
  144. package/dist/lib/{shadow-claw-control-plane-zBYlFvzQ.js → shadow-claw-control-plane-BJKkmahQ.js} +7 -7
  145. package/dist/lib/{shadow-claw-control-plane-zBYlFvzQ.js.map → shadow-claw-control-plane-BJKkmahQ.js.map} +1 -1
  146. package/dist/lib/{shadow-claw-conversations-1GW8_e8o.js → shadow-claw-conversations-BKSsMYTc.js} +6 -6
  147. package/dist/lib/{shadow-claw-conversations-1GW8_e8o.js.map → shadow-claw-conversations-BKSsMYTc.js.map} +1 -1
  148. package/dist/lib/{shadow-claw-D3z3tFyE.js → shadow-claw-eBB2dbpd.js} +11 -11
  149. package/dist/lib/{shadow-claw-D3z3tFyE.js.map → shadow-claw-eBB2dbpd.js.map} +1 -1
  150. package/dist/lib/{shadow-claw-file-viewer-DI4r7Th9.js → shadow-claw-file-viewer-BqChtTvM.js} +8 -8
  151. package/dist/lib/{shadow-claw-file-viewer-DI4r7Th9.js.map → shadow-claw-file-viewer-BqChtTvM.js.map} +1 -1
  152. package/dist/lib/{shadow-claw-files-BM7qW3TW.js → shadow-claw-files-Bu7VCQw6.js} +9 -9
  153. package/dist/lib/{shadow-claw-files-BM7qW3TW.js.map → shadow-claw-files-Bu7VCQw6.js.map} +1 -1
  154. package/dist/lib/{shadow-claw-git-BBTiTYIn.js → shadow-claw-git-CdPPN6Qb.js} +6 -6
  155. package/dist/lib/{shadow-claw-git-BBTiTYIn.js.map → shadow-claw-git-CdPPN6Qb.js.map} +1 -1
  156. package/dist/lib/{shadow-claw-integrations-DTY3E545.js → shadow-claw-integrations-DehqBSRe.js} +4 -4
  157. package/dist/lib/{shadow-claw-integrations-DTY3E545.js.map → shadow-claw-integrations-DehqBSRe.js.map} +1 -1
  158. package/dist/lib/{shadow-claw-llm-AJwzkOGo.js → shadow-claw-llm-COZkufA8.js} +13 -11
  159. package/dist/lib/shadow-claw-llm-COZkufA8.js.map +1 -0
  160. package/dist/lib/{shadow-claw-mcp-remote-n7YXKxmv.js → shadow-claw-mcp-remote-axF50-le.js} +4 -4
  161. package/dist/lib/{shadow-claw-mcp-remote-n7YXKxmv.js.map → shadow-claw-mcp-remote-axF50-le.js.map} +1 -1
  162. package/dist/lib/{shadow-claw-networking-B3leDgZ4.js → shadow-claw-networking-BT_Rxj36.js} +2 -2
  163. package/dist/lib/{shadow-claw-networking-B3leDgZ4.js.map → shadow-claw-networking-BT_Rxj36.js.map} +1 -1
  164. package/dist/lib/{shadow-claw-notifications-Bm2aHQ0U.js → shadow-claw-notifications-ClqAXDDN.js} +3 -3
  165. package/dist/lib/{shadow-claw-notifications-Bm2aHQ0U.js.map → shadow-claw-notifications-ClqAXDDN.js.map} +1 -1
  166. package/dist/lib/{shadow-claw-page-header-BBqSWlhP.js → shadow-claw-page-header-bigC_h6U.js} +2 -2
  167. package/dist/lib/{shadow-claw-page-header-BBqSWlhP.js.map → shadow-claw-page-header-bigC_h6U.js.map} +1 -1
  168. package/dist/lib/{shadow-claw-pages-BFOcluFY.js → shadow-claw-pages-kA2qa-4B.js} +9 -9
  169. package/dist/lib/{shadow-claw-pages-BFOcluFY.js.map → shadow-claw-pages-kA2qa-4B.js.map} +1 -1
  170. package/dist/lib/{shadow-claw-peerjs-BvD_MH_l.js → shadow-claw-peerjs-CvcH2DkA.js} +3 -3
  171. package/dist/lib/{shadow-claw-peerjs-BvD_MH_l.js.map → shadow-claw-peerjs-CvcH2DkA.js.map} +1 -1
  172. package/dist/lib/{shadow-claw-provider-model-picker-CsA-507a.js → shadow-claw-provider-model-picker-fcVQdDtQ.js} +2 -2
  173. package/dist/lib/{shadow-claw-provider-model-picker-CsA-507a.js.map → shadow-claw-provider-model-picker-fcVQdDtQ.js.map} +1 -1
  174. package/dist/lib/{shadow-claw-settings-CZgGMz0a.js → shadow-claw-settings-CkO6JjA4.js} +6 -6
  175. package/dist/lib/{shadow-claw-settings-CZgGMz0a.js.map → shadow-claw-settings-CkO6JjA4.js.map} +1 -1
  176. package/dist/lib/{shadow-claw-storage-BTUpEKO0.js → shadow-claw-storage-10w-y8vL.js} +5 -5
  177. package/dist/lib/{shadow-claw-storage-BTUpEKO0.js.map → shadow-claw-storage-10w-y8vL.js.map} +1 -1
  178. package/dist/lib/{shadow-claw-task-server-B1X2AYyZ.js → shadow-claw-task-server-U98sZxPu.js} +2 -2
  179. package/dist/lib/{shadow-claw-task-server-B1X2AYyZ.js.map → shadow-claw-task-server-U98sZxPu.js.map} +1 -1
  180. package/dist/lib/{shadow-claw-tasks-BYtaRUAd.js → shadow-claw-tasks-DrSVUOsP.js} +8 -8
  181. package/dist/lib/{shadow-claw-tasks-BYtaRUAd.js.map → shadow-claw-tasks-DrSVUOsP.js.map} +1 -1
  182. package/dist/lib/{shadow-claw-terminal-LGuXKu77.js → shadow-claw-terminal-B7HYLuce.js} +2 -2
  183. package/dist/lib/{shadow-claw-terminal-LGuXKu77.js.map → shadow-claw-terminal-B7HYLuce.js.map} +1 -1
  184. package/dist/lib/{shadow-claw-tools-C_S-xXVG.js → shadow-claw-tools-BKrXzZfF.js} +7 -7
  185. package/dist/lib/{shadow-claw-tools-C_S-xXVG.js.map → shadow-claw-tools-BKrXzZfF.js.map} +1 -1
  186. package/dist/lib/{shadow-claw-webvm-Cab1n1bu.js → shadow-claw-webvm-Duwa5oiW.js} +3 -3
  187. package/dist/lib/{shadow-claw-webvm-Cab1n1bu.js.map → shadow-claw-webvm-Duwa5oiW.js.map} +1 -1
  188. package/dist/lib/{syncWebMcpRegistration-Dy5NS_4G.js → syncWebMcpRegistration-BOx-0F6_.js} +5 -5
  189. package/dist/lib/{syncWebMcpRegistration-Dy5NS_4G.js.map → syncWebMcpRegistration-BOx-0F6_.js.map} +1 -1
  190. package/dist/lib/{tools-B7gC1eb_.js → tools-BEuBatUs.js} +4 -4
  191. package/dist/lib/{tools-B7gC1eb_.js.map → tools-BEuBatUs.js.map} +1 -1
  192. package/dist/lib/utils/index.js +1 -1
  193. package/dist/lib/utils/utils.js +1 -1
  194. package/dist/lib/{utils-D_ylqOY-.js → utils-D8AxCH6m.js} +2 -2
  195. package/dist/lib/{utils-D_ylqOY-.js.map → utils-D8AxCH6m.js.map} +1 -1
  196. package/dist/lib/{webmcp-CkYINKJj.js → webmcp-BjfVWX1K.js} +2 -2
  197. package/dist/lib/{webmcp-CkYINKJj.js.map → webmcp-BjfVWX1K.js.map} +1 -1
  198. package/dist/public/.well-known/mcp/server-card.json +1 -1
  199. package/dist/public/.well-known/mcp.json +1 -1
  200. package/dist/public/README.md +1 -1
  201. package/dist/public/agent.worker.js +1 -1
  202. package/dist/public/components/shadow-claw-chat/shadow-claw-chat.html +1 -1
  203. package/dist/public/config-071HSho8.js +1 -0
  204. package/dist/public/{configurePeerJs-DQQ6YL-5.js → configurePeerJs-DL-LurJY.js} +1 -1
  205. package/dist/public/{connections-CRNk2FxF.js → connections-Bb0rBpV-.js} +1 -1
  206. package/dist/public/{custom-element-security-3_FKCXcg.js → custom-element-security-Td4vrRc_.js} +1 -1
  207. package/dist/public/docs/example/article/index.html +1 -1
  208. package/dist/public/docs/example/article.html +1 -1
  209. package/dist/public/docs/publishing/index.html +1 -1
  210. package/dist/public/docs/publishing.html +1 -1
  211. package/dist/public/docs/skill-creator/index.html +1 -1
  212. package/dist/public/docs/skill-creator.html +1 -1
  213. package/dist/public/docs/subsystems/providers.md +1 -1
  214. package/dist/public/{downloadGroupFile-wkdhVgrZ.js → downloadGroupFile-Unq8_7D9.js} +1 -1
  215. package/dist/public/{e2e-bridge-DnFHPuwg.js → e2e-bridge-Dbc9fCDq.js} +1 -1
  216. package/dist/public/{file-viewer-C92v4Ggd.js → file-viewer-QkCuknFn.js} +1 -1
  217. package/dist/public/{getGroupDir-BGGIJL4Y.js → getGroupDir-Bj5XCflQ.js} +1 -1
  218. package/dist/public/{git-BH6qyToB.js → git-Bhz4YHc8.js} +2 -2
  219. package/dist/public/index.html +1 -1
  220. package/dist/public/index.js +1 -1
  221. package/dist/public/{initChatSplitResize--RH5kzVF.js → initChatSplitResize-KNL9Oh7s.js} +1 -1
  222. package/dist/public/{initControlPlane-yPJ3ajkj.js → initControlPlane-D2fVhRFC.js} +1 -1
  223. package/dist/public/main/index.html +1 -1
  224. package/dist/public/main/memory/index.html +1 -1
  225. package/dist/public/main/memory.html +1 -1
  226. package/dist/public/main.html +1 -1
  227. package/dist/public/{markdown-CA0v11cd.js → markdown-By6gdUvF.js} +1 -1
  228. package/dist/public/{mcp-reconnect-uyNSigzu.js → mcp-reconnect-CDRJPuoN.js} +1 -1
  229. package/dist/public/{memoryStorage-DjPNAT5t.js → memoryStorage-C-ao9y-j.js} +1 -1
  230. package/dist/public/model-ranking-DUdrFOcC.js +1 -0
  231. package/dist/public/{orchestrator-DTzgyL23.js → orchestrator-B7MpomoG.js} +2 -2
  232. package/dist/public/{orchestrator-Cmr69pMC.js → orchestrator-C8aIHbDy.js} +2 -2
  233. package/dist/public/{peerjs-Br38mUFC.js → peerjs-DwGjY5VX.js} +1 -1
  234. package/dist/public/prompt-api-BWe_j3Wg.js +1 -0
  235. package/dist/public/{push-client-CB8haOGC.js → push-client-o8g5_EOe.js} +1 -1
  236. package/dist/public/service-worker.js +1 -1
  237. package/dist/public/{shadow-claw-RuFQ2Ej5.js → shadow-claw-Ba2ZFE9m.js} +2 -2
  238. package/dist/public/{shadow-claw-accounts-BMsEItB6.js → shadow-claw-accounts-BbNPiiaV.js} +1 -1
  239. package/dist/public/{shadow-claw-channels-Q_AXuEaI.js → shadow-claw-channels-CHGtPkfY.js} +1 -1
  240. package/dist/public/{shadow-claw-chat-DZQ3OaH7.js → shadow-claw-chat-3TmjJA6-.js} +90 -23
  241. package/dist/public/{shadow-claw-control-plane-CyXA8tB8.js → shadow-claw-control-plane-BAFT06LL.js} +2 -2
  242. package/dist/public/{shadow-claw-conversations-BLKtlvHe.js → shadow-claw-conversations-DsQ_kxWm.js} +1 -1
  243. package/dist/public/{shadow-claw-file-viewer-CVLDfpZe.js → shadow-claw-file-viewer-hBxTknL2.js} +1 -1
  244. package/dist/public/{shadow-claw-files-DB6VVjir.js → shadow-claw-files-Daw6IIrJ.js} +1 -1
  245. package/dist/public/{shadow-claw-git-D57bTSMF.js → shadow-claw-git-CxGwyxim.js} +2 -2
  246. package/dist/public/{shadow-claw-integrations-BOwhUY-4.js → shadow-claw-integrations-DnIr6xp-.js} +1 -1
  247. package/dist/public/{shadow-claw-llm-CYenm-mm.js → shadow-claw-llm-Bc6tZ8kk.js} +3 -3
  248. package/dist/public/{shadow-claw-mcp-remote-CJ-Ckl0j.js → shadow-claw-mcp-remote-nGPpFpI-.js} +1 -1
  249. package/dist/public/{shadow-claw-networking-Cut76YQL.js → shadow-claw-networking-B6YgtiA7.js} +1 -1
  250. package/dist/public/{shadow-claw-notifications-C3kYCrIa.js → shadow-claw-notifications-BSxifptS.js} +1 -1
  251. package/dist/public/{shadow-claw-page-header-Dd7QafUk.js → shadow-claw-page-header-LzVgEn46.js} +1 -1
  252. package/dist/public/{shadow-claw-pages-BWtVtwTG.js → shadow-claw-pages-Cy6T0G9y.js} +1 -1
  253. package/dist/public/{shadow-claw-settings-Bj7jnngO.js → shadow-claw-settings-DGkwt1ge.js} +2 -2
  254. package/dist/public/{shadow-claw-storage-CMSzQs1-.js → shadow-claw-storage-DX_4T7KR.js} +1 -1
  255. package/dist/public/{shadow-claw-task-server-CFclo7UX.js → shadow-claw-task-server-DTsbEs5z.js} +1 -1
  256. package/dist/public/{shadow-claw-tasks-ClDdeB6Z.js → shadow-claw-tasks-rr6fMxAM.js} +1 -1
  257. package/dist/public/{shadow-claw-terminal-3ysWZJix.js → shadow-claw-terminal-C7DhrrX6.js} +1 -1
  258. package/dist/public/{shadow-claw-tools-DQVwpTcZ.js → shadow-claw-tools-DcQroojH.js} +1 -1
  259. package/dist/public/{shadow-claw-webvm-Cnxz04Fk.js → shadow-claw-webvm-bZj44Did.js} +1 -1
  260. package/dist/public/{syncWebMcpRegistration-QwnLMAK3.js → syncWebMcpRegistration-XJjIlDNO.js} +1 -1
  261. package/dist/public/{tools-DvQ_ngXn.js → tools-BpZh7hgB.js} +1 -1
  262. package/dist/public/{webmcp-CJymew4t.js → webmcp-CkfDZfZ0.js} +1 -1
  263. package/dist/server.js +1 -1
  264. package/package.json +1 -1
  265. package/src/components/settings/shadow-claw-llm/model-ranking.test.ts +121 -7
  266. package/src/components/settings/shadow-claw-llm/model-ranking.ts +97 -0
  267. package/src/components/settings/shadow-claw-llm/shadow-claw-llm.test.ts +35 -0
  268. package/src/components/settings/shadow-claw-llm/shadow-claw-llm.ts +15 -5
  269. package/src/components/shadow-claw-chat/shadow-claw-chat.html +81 -14
  270. package/src/components/shadow-claw-chat/shadow-claw-chat.test.ts +73 -0
  271. package/src/components/shadow-claw-chat/shadow-claw-chat.trusted-types.test.ts +3 -0
  272. package/src/components/shadow-claw-chat/shadow-claw-chat.ts +79 -32
  273. package/src/config/config.test.ts +4 -4
  274. package/src/config/config.ts +2 -1
  275. package/src/core/orchestrator/orchestrator.test.ts +2 -1
  276. package/src/core/orchestrator/utils/initTasks.ts +5 -4
  277. package/dist/cli/chunk-B3S061IE.js +0 -1
  278. package/dist/cli/chunk-BUJdF9o3.js +0 -1
  279. package/dist/cli/chunk-BX0R2gIY.js +0 -1
  280. package/dist/cli/chunk-BoiPfhwJ.js +0 -1
  281. package/dist/cli/chunk-BtJYj7vB.js +0 -1
  282. package/dist/cli/chunk-BwXrZVeU.js +0 -1
  283. package/dist/cli/chunk-CaWh9Pru.js +0 -1
  284. package/dist/cli/chunk-Ck4ePI8z.js +0 -1
  285. package/dist/cli/chunk-Ctg-SXcP.js +0 -1
  286. package/dist/cli/chunk-DTKv1-tk.js +0 -1
  287. package/dist/cli/chunk-DdYpd9Nu.js +0 -1
  288. package/dist/cli/chunk-DflhmBY2.js +0 -1
  289. package/dist/lib/config-DxDaVDTn.js.map +0 -1
  290. package/dist/lib/model-ranking-CDXs7hkK.js +0 -57
  291. package/dist/lib/model-ranking-CDXs7hkK.js.map +0 -1
  292. package/dist/lib/shadow-claw-chat-D69IiLXd.js.map +0 -1
  293. package/dist/lib/shadow-claw-llm-AJwzkOGo.js.map +0 -1
  294. package/dist/public/config-Dqn5OMfC.js +0 -1
  295. package/dist/public/model-ranking-DLIC9IDU.js +0 -1
  296. package/dist/public/prompt-api-B-8N-MRY.js +0 -11
@@ -1,30 +1,30 @@
1
1
  import { i as __toESM, r as __require, t as __commonJSMin } from "./rolldown-runtime-DwyhSnWe.js";
2
2
  import ShadowClawElement from "./components/shadow-claw-element.js";
3
3
  import { n as isSqliteDatabase, r as getDb, t as txPromise } from "./txPromise-DdeRXi7G.js";
4
- import { c as DEFAULT_PROMPT_API_FALLBACK_MODEL, l as DEFAULT_PROVIDER, r as CONFIG_KEYS } from "./config-DxDaVDTn.js";
4
+ import { C as PROVIDERS, c as DEFAULT_PROMPT_API_FALLBACK_MODEL, l as DEFAULT_PROVIDER, r as CONFIG_KEYS } from "./config-DFLs7eoC.js";
5
5
  import { i as decodePathSegment } from "./app-routes-BPhitqrT.js";
6
6
  import { t as getConfig } from "./getConfig-SElp6VJW.js";
7
- import { t as readGroupFileBytes } from "./readGroupFileBytes-C8Xqlb8l.js";
8
- import { t as fileViewerStore } from "./file-viewer-BMvvndPQ.js";
9
- import { bt as saveMessage, cn as getModelAttachmentCapabilities, on as formatModelAttachmentCapabilitySummary, s as clearGroupMessages, sn as getAttachmentCategory, t as orchestratorStore } from "./orchestrator-Crw4btGn.js";
7
+ import { t as readGroupFileBytes } from "./readGroupFileBytes-CRA6dmgT.js";
8
+ import { t as fileViewerStore } from "./file-viewer-OHmGC_l7.js";
9
+ import { bt as saveMessage, cn as getModelAttachmentCapabilities, on as formatModelAttachmentCapabilitySummary, s as clearGroupMessages, sn as getAttachmentCategory, t as orchestratorStore } from "./orchestrator-BK138MkV.js";
10
10
  import { inferAttachmentMimeType } from "./utils/mime.js";
11
11
  import { t as setConfig } from "./setConfig-8FMUTIJ1.js";
12
12
  import { t as require_browser } from "./browser-sqa-Vhnx.js";
13
- import { S as setSanitizedHtml, a as formatTimestamp, i as formatDateForFilename, o as handleSpecialLinkNavigation } from "./utils-D_ylqOY-.js";
13
+ import { S as setSanitizedHtml, a as formatTimestamp, i as formatDateForFilename, o as handleSpecialLinkNavigation } from "./utils-D8AxCH6m.js";
14
14
  import { t as require_buffer } from "./buffer-CyBrFbsO.js";
15
15
  import { isTruthyConfigValue } from "./utils/parseBooleanConfig.js";
16
16
  import { a as showSuccess, i as showInfo, r as showError, s as showWarning } from "./toast-Ck7OIKDf.js";
17
17
  import { getNamespacedItem } from "./utils/namespacedStorage.js";
18
- import { i as renderPromptApiStatusHtml, n as isNativePromptApiAvailable } from "./prompt-api-D9XdrCep.js";
19
18
  import { t as effect } from "./effect-DL6j9HJp.js";
20
- import { t as renderMarkdown } from "./markdown-WCXar9C8.js";
21
- import { a as shouldInlineAttachmentInChat, n as transferProgressSignal } from "./peerjs-D741bHrf.js";
22
- import { t as downloadGroupFile } from "./downloadGroupFile-D7-5y6NI.js";
23
- import { n as chatUiStore } from "./shadow-claw-a2ui-CPydWVdW.js";
19
+ import { t as renderMarkdown } from "./markdown-D-7Cjyye.js";
20
+ import { a as shouldInlineAttachmentInChat, n as transferProgressSignal } from "./peerjs-QJr03K9F.js";
21
+ import { t as downloadGroupFile } from "./downloadGroupFile-DMnAiPj4.js";
22
+ import { n as chatUiStore } from "./shadow-claw-a2ui-DbZa4Gxp.js";
23
+ import { i as renderTransformersJsBrowserModelOptions } from "./model-ranking-Bo8CpGH1.js";
24
24
  import "./shadow-claw-page-header-action-button-BXXm5b5N.js";
25
25
  import "./components/shadow-claw-a2ui-interceptor.js";
26
26
  import "./components/shadow-claw-dialog.js";
27
- import "./shadow-claw-page-header-BBqSWlhP.js";
27
+ import "./shadow-claw-page-header-bigC_h6U.js";
28
28
 
29
29
  //#region node_modules/jszip/dist/jszip.min.js
30
30
  var require_jszip_min = /* @__PURE__ */ __commonJSMin(((exports, module) => {
@@ -4920,14 +4920,14 @@ const doc = new DOMParser().parseFromString(`<template>
4920
4920
 
4921
4921
  <shadow-claw-dialog
4922
4922
  dialog-class="chat__prompt-api-dialog"
4923
- dialog-aria-label="Prompt API Onboarding"
4923
+ dialog-aria-label="Local AI Onboarding"
4924
4924
  >
4925
4925
  <form class="chat__prompt-api-form" method="dialog">
4926
4926
  <div class="chat__prompt-api-header">
4927
4927
  <div class="chat__prompt-api-icon" aria-hidden="true">&#10024;</div>
4928
4928
  <div>
4929
4929
  <h3 class="chat__prompt-api-title">
4930
- Welcome to Local AI (Prompt API)
4930
+ Welcome to Local AI (Transformers.js)
4931
4931
  </h3>
4932
4932
  <p class="chat__prompt-api-subtitle">
4933
4933
  On-device intelligence built directly into your browser.
@@ -4939,13 +4939,16 @@ const doc = new DOMParser().parseFromString(`<template>
4939
4939
  <section class="chat__prompt-api-card">
4940
4940
  <h4>&#128274; 100% On-Device</h4>
4941
4941
  <p>
4942
- ShadowClaw defaults to the browser-native
4943
- <strong>Prompt API</strong>. Models execute directly on your
4942
+ ShadowClaw defaults to
4943
+ <strong>Transformers.js</strong>. Models execute directly on your
4944
4944
  hardware with no API keys and no subscription costs.
4945
4945
  </p>
4946
4946
  </section>
4947
4947
 
4948
- <section class="chat__prompt-api-card chat__prompt-api-status-card">
4948
+ <section
4949
+ class="chat__prompt-api-card chat__prompt-api-status-card"
4950
+ hidden
4951
+ >
4949
4952
  <h4>&#127760; Browser Capabilities</h4>
4950
4953
  <div
4951
4954
  class="chat__prompt-api-status-content"
@@ -4966,11 +4969,10 @@ const doc = new DOMParser().parseFromString(`<template>
4966
4969
  </section>
4967
4970
 
4968
4971
  <section class="chat__prompt-api-card chat__prompt-api-fallback-card">
4969
- <h4>&#9881;&#65039; Default Prompt API Model</h4>
4972
+ <h4>&#9881;&#65039; Default Transformers.js Model</h4>
4970
4973
  <p class="chat__prompt-api-model-desc">
4971
- Choose your default Prompt API fallback model. If native browser
4972
- Prompt API is not enabled, ShadowClaw will run this local model
4973
- directly in the browser:
4974
+ Choose your default Transformers.js model. ShadowClaw will run
4975
+ this local model directly in the browser:
4974
4976
  </p>
4975
4977
  <div class="chat__prompt-api-select-group">
4976
4978
  <label class="form-label" for="prompt-api-fallback-model-select"
@@ -4997,6 +4999,71 @@ const doc = new DOMParser().parseFromString(`<template>
4997
4999
  onnx-community/gemma-4-E4B-it-ONNX &mdash; Alternative (4B
4998
5000
  Parameters, 128k Context)
4999
5001
  </option>
5002
+ <hr />
5003
+ <option value="HuggingFaceTB/SmolLM3-3B-ONNX">
5004
+ HuggingFaceTB/SmolLM3-3B-ONNX
5005
+ </option>
5006
+ <option value="LiquidAI/LFM2.5-1.2B-Thinking-ONNX">
5007
+ LiquidAI/LFM2.5-1.2B-Thinking-ONNX &#128736;&#65039;
5008
+ </option>
5009
+ <option
5010
+ value="onnx-community/DeepSeek-R1-Distill-Qwen-1.5B-ONNX"
5011
+ >
5012
+ onnx-community/DeepSeek-R1-Distill-Qwen-1.5B-ONNX
5013
+ &#128736;&#65039;
5014
+ </option>
5015
+ <option value="onnx-community/LFM2-1.2B-ONNX">
5016
+ onnx-community/LFM2-1.2B-ONNX
5017
+ </option>
5018
+ <option value="onnx-community/Llama-3.2-1B-Instruct-ONNX">
5019
+ onnx-community/Llama-3.2-1B-Instruct-ONNX &#128736;&#65039;
5020
+ </option>
5021
+ <option value="onnx-community/Llama-3.2-3B-Instruct-ONNX">
5022
+ onnx-community/Llama-3.2-3B-Instruct-ONNX &#128736;&#65039;
5023
+ </option>
5024
+ <option value="onnx-community/Phi-3.5-mini-instruct-onnx-web">
5025
+ onnx-community/Phi-3.5-mini-instruct-onnx-web
5026
+ &#128736;&#65039;
5027
+ </option>
5028
+ <option value="onnx-community/Phi-4-mini-instruct-ONNX">
5029
+ onnx-community/Phi-4-mini-instruct-ONNX &#128736;&#65039;
5030
+ </option>
5031
+ <option value="onnx-community/Qwen3.5-0.8B-ONNX-OPT">
5032
+ onnx-community/Qwen3.5-0.8B-ONNX-OPT
5033
+ </option>
5034
+ <option value="onnx-community/Qwen3.5-4B-ONNX-OPT">
5035
+ onnx-community/Qwen3.5-4B-ONNX-OPT
5036
+ </option>
5037
+ <option value="onnx-community/gemma-3-1b-it-ONNX">
5038
+ onnx-community/gemma-3-1b-it-ONNX &#128736;&#65039;
5039
+ </option>
5040
+ <option value="onnx-community/gemma-4-12B-it-ONNX">
5041
+ onnx-community/gemma-4-12B-it-ONNX &#128736;&#65039;
5042
+ </option>
5043
+ <option value="onnx-community/gemma-4-12B-it-qat-mobile-ONNX">
5044
+ onnx-community/gemma-4-12B-it-qat-mobile-ONNX
5045
+ &#128736;&#65039;
5046
+ </option>
5047
+ <option value="onnx-community/gemma-4-E27B-it-ONNX">
5048
+ onnx-community/gemma-4-E27B-it-ONNX &#128736;&#65039;
5049
+ </option>
5050
+ <option value="onnx-community/gemma-4-E2B-it-qat-mobile-ONNX">
5051
+ onnx-community/gemma-4-E2B-it-qat-mobile-ONNX
5052
+ &#128736;&#65039;
5053
+ </option>
5054
+ <option value="onnx-community/gemma-4-E4B-it-qat-mobile-ONNX">
5055
+ onnx-community/gemma-4-E4B-it-qat-mobile-ONNX
5056
+ &#128736;&#65039;
5057
+ </option>
5058
+ <option value="onnx-community/gemma-4-E9B-it-ONNX">
5059
+ onnx-community/gemma-4-E9B-it-ONNX &#128736;&#65039;
5060
+ </option>
5061
+ <option value="onnx-community/gpt-oss-20b-ONNX">
5062
+ onnx-community/gpt-oss-20b-ONNX
5063
+ </option>
5064
+ <option value="webgpu/Qwen3-4B-ONNX">
5065
+ webgpu/Qwen3-4B-ONNX
5066
+ </option>
5000
5067
  </select>
5001
5068
  </div>
5002
5069
  </section>
@@ -5004,10 +5071,10 @@ const doc = new DOMParser().parseFromString(`<template>
5004
5071
  <section class="chat__prompt-api-card">
5005
5072
  <h4>&#127760; Prefer Cloud AI or Another Provider?</h4>
5006
5073
  <p>
5007
- Local AI with Prompt API is free and private, but not your only
5008
- option. ShadowClaw also supports OpenRouter, Anthropic, OpenAI,
5009
- Google Gemini, and AWS Bedrock. You can configure any provider at
5010
- any time in Settings.
5074
+ Local AI with Transformers.js is free and private, but not your
5075
+ only option. ShadowClaw also supports OpenRouter, Anthropic,
5076
+ OpenAI, Google Gemini, and AWS Bedrock. You can configure any
5077
+ provider at any time in Settings.
5011
5078
  </p>
5012
5079
  </section>
5013
5080
  </div>
@@ -5025,7 +5092,7 @@ const doc = new DOMParser().parseFromString(`<template>
5025
5092
  class="chat__prompt-api-confirm-btn"
5026
5093
  data-action="confirm-prompt-api-onboarding"
5027
5094
  >
5028
- Continue with Prompt API
5095
+ Continue with Transformers.js
5029
5096
  </button>
5030
5097
  </div>
5031
5098
  </form>
@@ -6095,6 +6162,7 @@ var ShadowClawChat = class extends ShadowClawElement {
6095
6162
  if (!root) return;
6096
6163
  if (!this.db) this.db = await getDb();
6097
6164
  if (this.db) try {
6165
+ await setConfig(this.db, CONFIG_KEYS.TRANSFORMERS_JS_ONBOARDING_SEEN, "true");
6098
6166
  await setConfig(this.db, CONFIG_KEYS.PROMPT_API_ONBOARDING_SEEN, "true");
6099
6167
  } catch (err) {
6100
6168
  console.warn("Failed to persist Prompt API onboarding status:", err);
@@ -6117,24 +6185,30 @@ var ShadowClawChat = class extends ShadowClawElement {
6117
6185
  if (!this.db) return;
6118
6186
  try {
6119
6187
  const provider = await getConfig(this.db, CONFIG_KEYS.PROVIDER);
6120
- if ((typeof provider === "string" && provider.trim() ? provider.trim() : "prompt_api") !== "prompt_api") return;
6121
- const seen = await getConfig(this.db, CONFIG_KEYS.PROMPT_API_ONBOARDING_SEEN);
6188
+ if ((typeof provider === "string" && provider.trim() ? provider.trim() : "transformers_js_browser") !== "transformers_js_browser") return;
6189
+ const seen = await getConfig(this.db, CONFIG_KEYS.TRANSFORMERS_JS_ONBOARDING_SEEN) || await getConfig(this.db, CONFIG_KEYS.PROMPT_API_ONBOARDING_SEEN);
6122
6190
  if (isTruthyConfigValue(seen, false)) return;
6123
6191
  const root = this.shadowRoot;
6124
6192
  if (!root) return;
6125
6193
  this.ensureShadowDialogs();
6126
- const isNativeSupported = await isNativePromptApiAvailable();
6127
- const isAvailable = isNativeSupported;
6128
6194
  const statusCard = root.querySelector(".chat__prompt-api-status-card");
6129
- if (statusCard) statusCard.hidden = !isAvailable;
6130
- const statusEl = root.querySelector("[data-info=\"prompt-api-status\"]");
6131
- if (statusEl) setSanitizedHtml(statusEl, renderPromptApiStatusHtml(isNativeSupported));
6195
+ if (statusCard) statusCard.hidden = true;
6132
6196
  const fallbackCard = root.querySelector(".chat__prompt-api-fallback-card");
6133
- if (fallbackCard) fallbackCard.hidden = isAvailable;
6197
+ if (fallbackCard) fallbackCard.hidden = false;
6134
6198
  const modelSelect = root.querySelector("[data-setting=\"prompt-api-onboarding-fallback-model\"]");
6135
6199
  if (modelSelect) {
6136
- const storedFallbackModel = await getConfig(this.db, CONFIG_KEYS.PROMPT_API_FALLBACK_MODEL);
6137
- modelSelect.value = typeof storedFallbackModel === "string" && storedFallbackModel.trim() ? storedFallbackModel.trim() : DEFAULT_PROMPT_API_FALLBACK_MODEL;
6200
+ const storedModel = await getConfig(this.db, CONFIG_KEYS.MODEL) || await getConfig(this.db, CONFIG_KEYS.PROMPT_API_FALLBACK_MODEL);
6201
+ const currentModel = typeof storedModel === "string" && storedModel.trim() ? storedModel.trim() : PROVIDERS.transformers_js_browser?.defaultModel || "onnx-community/Qwen3-0.6B-ONNX";
6202
+ this.populateOnboardingModelSelect(modelSelect, currentModel);
6203
+ const modelsUrl = PROVIDERS.transformers_js_browser?.modelsUrl;
6204
+ if (modelsUrl && typeof fetch === "function") fetch(modelsUrl).then((r) => r.ok ? r.json() : null).then((data) => {
6205
+ if (!data) return;
6206
+ const items = Array.isArray(data) ? data : data.models || data.data || [];
6207
+ if (Array.isArray(items) && items.length > 0) {
6208
+ const currentSelected = modelSelect.value || currentModel;
6209
+ this.populateOnboardingModelSelect(modelSelect, currentSelected, items);
6210
+ }
6211
+ }).catch(() => {});
6138
6212
  }
6139
6213
  const shadowDialog = root.querySelector("shadow-claw-dialog[dialog-class=\"chat__prompt-api-dialog\"]");
6140
6214
  if (shadowDialog && typeof shadowDialog.showModal === "function") shadowDialog.showModal();
@@ -6149,24 +6223,36 @@ var ShadowClawChat = class extends ShadowClawElement {
6149
6223
  console.warn("Failed to check Prompt API onboarding:", err);
6150
6224
  }
6151
6225
  }
6226
+ populateOnboardingModelSelect(modelSelect, selectedModel, modelItems) {
6227
+ const html = renderTransformersJsBrowserModelOptions(selectedModel, modelItems);
6228
+ setSanitizedHtml(modelSelect, html);
6229
+ modelSelect.value = selectedModel;
6230
+ }
6152
6231
  async confirmPromptApiOnboarding() {
6153
6232
  const root = this.shadowRoot;
6154
6233
  if (!root) return;
6155
6234
  if (!this.db) this.db = await getDb();
6156
- const selectedModel = root.querySelector("[data-setting=\"prompt-api-onboarding-fallback-model\"]")?.value?.trim() || "onnx-community/Qwen3-0.6B-ONNX";
6235
+ const selectedModel = root.querySelector("[data-setting=\"prompt-api-onboarding-fallback-model\"]")?.value?.trim() || PROVIDERS.transformers_js_browser?.defaultModel || "onnx-community/Qwen3-0.6B-ONNX";
6157
6236
  if (this.db) try {
6237
+ await setConfig(this.db, CONFIG_KEYS.PROVIDER, "transformers_js_browser");
6238
+ await setConfig(this.db, CONFIG_KEYS.MODEL, selectedModel);
6158
6239
  await setConfig(this.db, CONFIG_KEYS.PROMPT_API_FALLBACK_MODEL, selectedModel);
6240
+ await setConfig(this.db, CONFIG_KEYS.TRANSFORMERS_JS_ONBOARDING_SEEN, "true");
6159
6241
  await setConfig(this.db, CONFIG_KEYS.PROMPT_API_ONBOARDING_SEEN, "true");
6160
6242
  } catch (err) {
6161
6243
  console.warn("Failed to persist Prompt API onboarding settings:", err);
6162
6244
  }
6245
+ if (orchestratorStore.orchestrator) {
6246
+ orchestratorStore.orchestrator.provider = "transformers_js_browser";
6247
+ orchestratorStore.orchestrator.model = selectedModel;
6248
+ }
6163
6249
  const shadowDialog = root.querySelector("shadow-claw-dialog[dialog-class=\"chat__prompt-api-dialog\"]");
6164
6250
  if (shadowDialog && typeof shadowDialog.close === "function") shadowDialog.close();
6165
6251
  else {
6166
6252
  const dialogEl = root.querySelector("dialog.chat__prompt-api-dialog");
6167
6253
  if (dialogEl instanceof HTMLDialogElement) dialogEl.close();
6168
6254
  }
6169
- showSuccess("Prompt API configured", 2500);
6255
+ showSuccess("Transformers.js configured", 2500);
6170
6256
  }
6171
6257
  async downloadAttachment(groupId, attachment) {
6172
6258
  if (!this.db || !attachment.path) return;
@@ -6592,4 +6678,4 @@ if (!customElements.get(elementName)) customElements.define(elementName, ShadowC
6592
6678
 
6593
6679
  //#endregion
6594
6680
  export { ShadowClawChat as t };
6595
- //# sourceMappingURL=shadow-claw-chat-D69IiLXd.js.map
6681
+ //# sourceMappingURL=shadow-claw-chat-dbK_DGO_.js.map