pi-roundtable-web 0.27.1 → 0.29.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 (257) hide show
  1. package/CHANGELOG.md +53 -0
  2. package/README.md +25 -9
  3. package/dist/chunk-account-9616x405.js +1 -0
  4. package/dist/chunk-action-menu-q5y7xpry.js +1 -0
  5. package/dist/chunk-agent-x74xezyt.js +1 -0
  6. package/dist/chunk-arranged-rooms-9prq46vh.js +1 -0
  7. package/dist/chunk-bulk-actions-5dc4m9ad.js +1 -0
  8. package/dist/chunk-character-creator-wf02eg0h.js +1 -0
  9. package/dist/chunk-codeeditor-239ss6a2.js +2 -0
  10. package/dist/chunk-confirm-bhrx9195.js +1 -0
  11. package/dist/chunk-connectors-k77pd9by.js +37 -0
  12. package/dist/chunk-conversations-ftcpaqw1.js +1 -0
  13. package/dist/chunk-council-sheet-a5e6tspr.js +2 -0
  14. package/dist/chunk-council-view-6593rqbr.js +1 -0
  15. package/dist/chunk-drag-7873fvzw.js +1 -0
  16. package/dist/chunk-entry-5zmjxadx.js +1 -0
  17. package/dist/chunk-folder-list-h9hmbm8e.js +1 -0
  18. package/dist/chunk-folds-vxq86t1s.js +1 -0
  19. package/dist/chunk-gate-fa6za28z.js +1 -0
  20. package/dist/chunk-host-icons-y6frbzqt.js +1 -0
  21. package/dist/chunk-host-picture-fqg55rbr.js +1 -0
  22. package/dist/chunk-host-state-65tdhkyq.js +1 -0
  23. package/dist/chunk-host-ui-233kz7qp.js +1 -0
  24. package/dist/{chunk-index-j4x9dq30.css → chunk-index-1652v386.css} +1 -1
  25. package/dist/chunk-index-2c00zf3z.js +2 -0
  26. package/dist/chunk-index-2dhrqvba.js +2 -0
  27. package/dist/chunk-index-2s4bkrz3.js +2 -0
  28. package/dist/chunk-index-2ypaqwjy.js +2 -0
  29. package/dist/{chunk-index-k0z507h3.js → chunk-index-35zqk1zr.js} +2 -2
  30. package/dist/chunk-index-39qq37j5.js +2 -0
  31. package/dist/{chunk-index-j7pgphx3.js → chunk-index-3tjmyd1h.js} +2 -2
  32. package/dist/chunk-index-4eag6s50.js +2 -0
  33. package/dist/chunk-index-4jnn2g09.js +2 -0
  34. package/dist/{chunk-index-y60x5jbh.js → chunk-index-4krm48hm.js} +1 -1
  35. package/dist/{chunk-index-w42rcbx1.js → chunk-index-4re5prfp.js} +2 -2
  36. package/dist/chunk-index-57teqgct.js +2 -0
  37. package/dist/{chunk-index-3d8s3565.js → chunk-index-5ssncptg.js} +2 -2
  38. package/dist/{chunk-index-yrmqcay4.js → chunk-index-7c9fn21n.js} +2 -2
  39. package/dist/chunk-index-7k5895sn.js +14 -0
  40. package/dist/chunk-index-93f3e06v.js +2 -0
  41. package/dist/chunk-index-9m9v1p7s.js +2 -0
  42. package/dist/chunk-index-a8c0ap8g.js +2 -0
  43. package/dist/chunk-index-a8nqn3y0.js +3 -0
  44. package/dist/chunk-index-am7ghh75.js +120 -0
  45. package/dist/chunk-index-amspdq2j.js +4 -0
  46. package/dist/chunk-index-amxa2bn3.js +2 -0
  47. package/dist/{chunk-index-nsvwbjfe.js → chunk-index-aycxt14t.js} +2 -2
  48. package/dist/{chunk-index-n05yw5wd.js → chunk-index-bjeg3e2j.js} +2 -2
  49. package/dist/chunk-index-cttrqfm8.js +2 -0
  50. package/dist/chunk-index-dajanzxc.js +1 -0
  51. package/dist/chunk-index-e2eeckhh.js +2 -0
  52. package/dist/chunk-index-e46652wf.js +2 -0
  53. package/dist/chunk-index-ek98d2rn.js +2 -0
  54. package/dist/{chunk-index-f500nw4w.js → chunk-index-en5dm1zv.js} +2 -2
  55. package/dist/chunk-index-evhaaqzk.js +13 -0
  56. package/dist/chunk-index-f4gqzfkv.js +2 -0
  57. package/dist/{chunk-index-ak6ecqy3.js → chunk-index-gj3n4dh5.js} +2 -2
  58. package/dist/chunk-index-gp4chnp3.js +2 -0
  59. package/dist/{chunk-index-af4ebmkr.js → chunk-index-h2a42p6s.js} +3 -3
  60. package/dist/{chunk-index-4z4chg7v.js → chunk-index-haac6nbt.js} +2 -2
  61. package/dist/{chunk-index-3pnvpppa.js → chunk-index-hef4gwtb.js} +2 -2
  62. package/dist/chunk-index-mg96sqpk.js +2 -0
  63. package/dist/chunk-index-nsya88fn.js +1 -0
  64. package/dist/{chunk-index-ben4gv45.js → chunk-index-ntt3em2k.js} +1 -1
  65. package/dist/chunk-index-pcbkp62w.js +2 -0
  66. package/dist/chunk-index-pfs6rm6w.js +2 -0
  67. package/dist/chunk-index-pgxgq61x.js +2 -0
  68. package/dist/{chunk-index-9z13jw6q.js → chunk-index-q33ppq0j.js} +3 -3
  69. package/dist/chunk-index-r0hk9kyd.js +47 -0
  70. package/dist/{chunk-index-0ye10vk3.js → chunk-index-rr73h4kc.js} +3 -3
  71. package/dist/{chunk-index-983dmeaa.js → chunk-index-rtz4936v.js} +3 -3
  72. package/dist/chunk-index-smz90j6p.js +2 -0
  73. package/dist/chunk-index-teyx2hz7.js +2 -0
  74. package/dist/{chunk-index-sm7m4fej.js → chunk-index-v6h43553.js} +2 -2
  75. package/dist/chunk-index-vzqwn3wp.js +2 -0
  76. package/dist/chunk-index-wt2asefx.js +50 -0
  77. package/dist/chunk-index-x4tq9btg.js +2 -0
  78. package/dist/chunk-index-y6p8j3zv.js +2 -0
  79. package/dist/chunk-index-yvcdg5hh.js +2 -0
  80. package/dist/{chunk-index-afrhnrxj.js → chunk-index-zdzzf3fp.js} +2 -2
  81. package/dist/chunk-index-zeqfnkty.js +2 -0
  82. package/dist/chunk-index-zpwb8mkk.js +2 -0
  83. package/dist/chunk-lang-css-avzhvm72.js +1 -0
  84. package/dist/{chunk-lang-dockerfile-cnwqn660.js → chunk-lang-dockerfile-2p7e3ssz.js} +1 -1
  85. package/dist/{chunk-lang-go-yy6kgsxv.js → chunk-lang-go-zxp9k517.js} +3 -3
  86. package/dist/chunk-lang-html-red02gep.js +1 -0
  87. package/dist/chunk-lang-javascript-n33kmjcx.js +1 -0
  88. package/dist/chunk-lang-json-zmym50rg.js +1 -0
  89. package/dist/chunk-lang-markdown-ww2kcs85.js +6 -0
  90. package/dist/chunk-lang-python-ng1zdtd4.js +3 -0
  91. package/dist/chunk-lang-rust-6ynhxjdd.js +1 -0
  92. package/dist/{chunk-lang-shell-1rpgtepw.js → chunk-lang-shell-39t9bz2s.js} +1 -1
  93. package/dist/chunk-lang-sql-w875ejpg.js +2 -0
  94. package/dist/{chunk-lang-toml-tbj7467c.js → chunk-lang-toml-b8ckgkg5.js} +1 -1
  95. package/dist/chunk-lang-typescript-qf8acbb2.js +1 -0
  96. package/dist/chunk-lang-xml-bz91cjp1.js +1 -0
  97. package/dist/chunk-lang-yaml-g9zy0tdv.js +1 -0
  98. package/dist/chunk-layout-actions-fyzzzeyp.js +1 -0
  99. package/dist/chunk-menu-items-yvnk3vds.js +1 -0
  100. package/dist/chunk-mode-toggle-ccv271hm.js +1 -0
  101. package/dist/chunk-note-row-314py1pp.js +204 -0
  102. package/dist/chunk-notes-4rnrddzw.js +1 -0
  103. package/dist/chunk-notice-bell-z9wgamnz.js +1 -0
  104. package/dist/chunk-notices-mtn7pg1z.js +1 -0
  105. package/dist/chunk-onboarding-f3hhxgg4.js +1 -0
  106. package/dist/chunk-overview-qmepntrr.js +1 -0
  107. package/dist/chunk-palette-edkn1ypq.js +1 -0
  108. package/dist/chunk-placement-items-trsa5t23.js +1 -0
  109. package/dist/chunk-profile-pwfq0wns.js +1 -0
  110. package/dist/chunk-prompt-history-xp9hmeqt.js +1 -0
  111. package/dist/chunk-prompts-a56qvytg.js +1 -0
  112. package/dist/chunk-room-confirms-gqpkz4h0.js +1 -0
  113. package/dist/chunk-room-menu-1m2c2ekt.js +1 -0
  114. package/dist/chunk-rooms-menu-button-tcvda1gq.js +1 -0
  115. package/dist/chunk-schedules-kwnw7p8v.js +1 -0
  116. package/dist/{chunk-seat-menu-kwtjnpjj.js → chunk-seat-menu-m2n9nvv0.js} +1 -1
  117. package/dist/chunk-sheet-hosts-pr8xktyq.js +29 -0
  118. package/dist/{chunk-shortcut-help-g5cpqjjj.js → chunk-shortcut-help-sbvrds1m.js} +2 -2
  119. package/dist/chunk-shortcuts-8705p7q3.js +1 -0
  120. package/dist/chunk-skill-editor-7xy09sq1.js +8 -0
  121. package/dist/chunk-skills-cnc25x7q.js +1 -0
  122. package/dist/chunk-start-over-line-97zdd9pb.js +16 -0
  123. package/dist/chunk-switcher-list-ehsn2wsk.js +1 -0
  124. package/dist/{chunk-tab-dot-yse6wcfp.js → chunk-tab-dot-gkpe06q8.js} +1 -1
  125. package/dist/chunk-table-av3kh3tt.js +1 -0
  126. package/dist/chunk-table2d-5x3jptp9.js +1 -0
  127. package/dist/chunk-table3d-rsvajx7r.js +4220 -0
  128. package/dist/chunk-thread-actions-7xtkegwm.js +1 -0
  129. package/dist/{chunk-thread-cards-36rckyg7.js → chunk-thread-cards-grzszfha.js} +1 -1
  130. package/dist/chunk-thread-list-9bjjac3j.js +217 -0
  131. package/dist/chunk-transcript-t5szb8r0.js +1 -0
  132. package/dist/chunk-waiting-chip-d8b6a0p8.js +28 -0
  133. package/dist/chunk-waiting-ts3kxjvv.js +1 -0
  134. package/dist/chunk-where-3d3ncsa5.js +1 -0
  135. package/dist/chunk-workspace-ct6hvn0z.js +578 -0
  136. package/dist/chunk-zh-tw-v9v1eerm.js +1 -0
  137. package/dist/index.html +1 -1
  138. package/dist/sw.js +1 -1
  139. package/package.json +3 -3
  140. package/src/api-types.ts +137 -1
  141. package/src/app/app.ts +4 -7
  142. package/src/app/desk.ts +19 -4
  143. package/src/app/room-log.ts +66 -18
  144. package/src/app/rooms.ts +45 -7
  145. package/src/app/routes.ts +86 -11
  146. package/src/app/skill-doc-routes.ts +12 -2
  147. package/src/app/skill-group-routes.ts +126 -0
  148. package/src/app/surface.ts +26 -2
  149. package/src/app/team-routes.ts +3 -7
  150. package/src/authz.ts +2 -0
  151. package/src/cleanup-api.ts +9 -2
  152. package/src/connector-manage-api.ts +257 -0
  153. package/src/console-api.ts +60 -2
  154. package/src/features.ts +91 -0
  155. package/src/host/reads.ts +10 -1
  156. package/src/i18n/zh-tw.ts +137 -5
  157. package/src/push/channel.ts +1 -0
  158. package/src/web-plugin.ts +8 -1
  159. package/dist/chunk-account-83crfbn4.js +0 -1
  160. package/dist/chunk-action-menu-qw7h03x0.js +0 -1
  161. package/dist/chunk-agent-t1632ktv.js +0 -1
  162. package/dist/chunk-arranged-rooms-sb6tbsxw.js +0 -1
  163. package/dist/chunk-bulk-actions-v1g2bzk7.js +0 -1
  164. package/dist/chunk-character-creator-ye69w0kx.js +0 -1
  165. package/dist/chunk-codeeditor-5j6abj8k.js +0 -2
  166. package/dist/chunk-confirm-x8w877bz.js +0 -1
  167. package/dist/chunk-connectors-t7qbc6nk.js +0 -1
  168. package/dist/chunk-conversations-kmt6qzym.js +0 -1
  169. package/dist/chunk-council-sheet-bxvn7vza.js +0 -2
  170. package/dist/chunk-drag-03zgvd66.js +0 -1
  171. package/dist/chunk-entry-y5vwp5e5.js +0 -1
  172. package/dist/chunk-folder-list-h3vnjzpb.js +0 -1
  173. package/dist/chunk-folds-a3e22m7x.js +0 -1
  174. package/dist/chunk-gate-qzephvdv.js +0 -1
  175. package/dist/chunk-group-scene-w1ycabrm.js +0 -1
  176. package/dist/chunk-group-table-9nvmja8w.js +0 -1
  177. package/dist/chunk-host-icons-fccg3b2d.js +0 -1
  178. package/dist/chunk-host-picture-jaqz127q.js +0 -1
  179. package/dist/chunk-host-state-r01v1ywg.js +0 -1
  180. package/dist/chunk-host-ui-n54mh5af.js +0 -1
  181. package/dist/chunk-index-0a81da8z.js +0 -2
  182. package/dist/chunk-index-1kwp3spy.js +0 -2
  183. package/dist/chunk-index-47vq85ye.js +0 -2
  184. package/dist/chunk-index-5zmswz4s.js +0 -2
  185. package/dist/chunk-index-64rsz6pf.js +0 -2
  186. package/dist/chunk-index-6vcs0h0m.js +0 -2
  187. package/dist/chunk-index-6xqz6mg2.js +0 -2
  188. package/dist/chunk-index-83v0c9x6.js +0 -2
  189. package/dist/chunk-index-8xd6anam.js +0 -2
  190. package/dist/chunk-index-b73y2gc0.js +0 -47
  191. package/dist/chunk-index-bhqczxr3.js +0 -2
  192. package/dist/chunk-index-c44p8q87.js +0 -2
  193. package/dist/chunk-index-cbqhzf40.js +0 -13
  194. package/dist/chunk-index-db8zh8e6.js +0 -2
  195. package/dist/chunk-index-dvfkb699.js +0 -2
  196. package/dist/chunk-index-e02ddp46.js +0 -1
  197. package/dist/chunk-index-ebg48jgy.js +0 -2
  198. package/dist/chunk-index-ek5mek4j.js +0 -14
  199. package/dist/chunk-index-em7vndrb.js +0 -2
  200. package/dist/chunk-index-eq161yvp.js +0 -4
  201. package/dist/chunk-index-f5x2srr0.js +0 -2
  202. package/dist/chunk-index-fg42egv9.js +0 -50
  203. package/dist/chunk-index-h3v1d3nt.js +0 -2
  204. package/dist/chunk-index-kbgykazq.js +0 -2
  205. package/dist/chunk-index-n8ghdvxb.js +0 -2
  206. package/dist/chunk-index-p5jcwjx8.js +0 -2
  207. package/dist/chunk-index-qfgkfq86.js +0 -2
  208. package/dist/chunk-index-rcwdqn50.js +0 -7
  209. package/dist/chunk-index-s72hmse6.js +0 -2
  210. package/dist/chunk-index-sv9qpmhv.js +0 -1
  211. package/dist/chunk-index-x4enmj72.js +0 -2
  212. package/dist/chunk-index-xevnf9ew.js +0 -2
  213. package/dist/chunk-index-xx8jq73q.js +0 -2
  214. package/dist/chunk-index-ypkgw7gq.js +0 -2
  215. package/dist/chunk-lang-css-y9133ktr.js +0 -1
  216. package/dist/chunk-lang-html-r2xmryek.js +0 -1
  217. package/dist/chunk-lang-javascript-1r6wd177.js +0 -1
  218. package/dist/chunk-lang-json-dx56g11y.js +0 -1
  219. package/dist/chunk-lang-markdown-fpcf2dfq.js +0 -6
  220. package/dist/chunk-lang-python-zzp95955.js +0 -3
  221. package/dist/chunk-lang-rust-214fh7sp.js +0 -1
  222. package/dist/chunk-lang-sql-vvp46hpj.js +0 -2
  223. package/dist/chunk-lang-typescript-y5w4tt4g.js +0 -1
  224. package/dist/chunk-lang-xml-tbcqmedk.js +0 -1
  225. package/dist/chunk-lang-yaml-jh56t3sv.js +0 -1
  226. package/dist/chunk-layout-actions-8dzvysym.js +0 -1
  227. package/dist/chunk-menu-items-3jhya205.js +0 -2
  228. package/dist/chunk-mode-toggle-js49gvpd.js +0 -1
  229. package/dist/chunk-note-row-kv061030.js +0 -75
  230. package/dist/chunk-notes-sdkqz5hr.js +0 -1
  231. package/dist/chunk-notice-bell-r012f2zy.js +0 -1
  232. package/dist/chunk-notices-h4rk1zxc.js +0 -1
  233. package/dist/chunk-onboarding-a18cvkph.js +0 -1
  234. package/dist/chunk-overview-ynaqn4fp.js +0 -1
  235. package/dist/chunk-palette-jm79gb5q.js +0 -1
  236. package/dist/chunk-placement-items-mwm9q1zn.js +0 -1
  237. package/dist/chunk-profile-ajw6pp4r.js +0 -1
  238. package/dist/chunk-prompt-history-zcfvr3r8.js +0 -1
  239. package/dist/chunk-prompts-m5rzdk24.js +0 -1
  240. package/dist/chunk-room-confirms-ftsj15ja.js +0 -1
  241. package/dist/chunk-room-menu-b9ktw9pw.js +0 -1
  242. package/dist/chunk-rooms-menu-button-qe62t6nx.js +0 -1
  243. package/dist/chunk-schedules-t8yxnf8q.js +0 -1
  244. package/dist/chunk-sheet-hosts-yj5wszgj.js +0 -1
  245. package/dist/chunk-shortcuts-9ft5sqdw.js +0 -1
  246. package/dist/chunk-skill-editor-xdfq2708.js +0 -8
  247. package/dist/chunk-skills-9wa4mwdc.js +0 -1
  248. package/dist/chunk-switcher-list-vpg6wvtw.js +0 -1
  249. package/dist/chunk-table-1y76m54h.js +0 -1
  250. package/dist/chunk-table2d-g57vr6h0.js +0 -1
  251. package/dist/chunk-table3d-cv6069hy.js +0 -4220
  252. package/dist/chunk-thread-actions-xjhpdjk7.js +0 -1
  253. package/dist/chunk-thread-list-fd6agz77.js +0 -217
  254. package/dist/chunk-transcript-5nfn3r35.js +0 -1
  255. package/dist/chunk-where-ha8pc3cg.js +0 -1
  256. package/dist/chunk-workspace-e85twv32.js +0 -578
  257. package/dist/chunk-zh-tw-z5p5mpph.js +0 -1
@@ -0,0 +1 @@
1
+ import{jr,Kr,Jr}from"./chunk-index-pfs6rm6w.js";import"./chunk-index-aycxt14t.js";export{Kr as clearAcross,Jr as clearFinished,jr as dismissThread};
@@ -1 +1 @@
1
- import{t,Le,pe,mn,Fo,Xn,Wi}from"./chunk-index-fg42egv9.js";import{Nr,Xr}from"./chunk-index-6vcs0h0m.js";import{gr}from"./chunk-index-f5x2srr0.js";import"./chunk-index-nsvwbjfe.js";var E=12,R=24,y=180,L=150,C=100,w=".thread-card",h=".thread-group",g=(e)=>e instanceof Element?e.closest(w):null,B=(e)=>e.closest("li"),m=(e)=>e.dataset.closed==="",I=(e)=>new Promise((i)=>setTimeout(i,e));function X(e){return[...e.closest(h)?.querySelectorAll(`${w}[data-closed]`)??[]].flatMap((n)=>n.dataset.thread?[n.dataset.thread]:[])}function q(e){let i=B(e);if(delete e.dataset.armed,e.style.transition="",e.style.transform="",e.style.opacity="",i)i.style.transition="",i.style.height="",i.style.marginBottom="",i.style.opacity=""}async function F(e){let i=B(e);if(!i||Le())return;e.dataset.leaving="",e.style.transition=`transform ${y}ms var(--ease-out), opacity ${y}ms var(--ease-out)`,e.style.transform="translate3d(110%, 0, 0)",e.style.opacity="0",await I(y),i.style.height=`${i.offsetHeight}px`,i.getBoundingClientRect(),i.style.transition=`height ${L}ms var(--ease-out), margin-bottom ${L}ms var(--ease-out)`,i.style.height="0px",i.style.marginBottom="calc(var(--space-1) * -1)",await I(L)}function _(e){let i=[...e.closest(h)?.querySelectorAll(`${w} .thread-link`)??[]],n=e.querySelector(".thread-link"),o=n?i.indexOf(n):-1;if(document.activeElement&&!e.contains(document.activeElement))return;(i[o+1]??i[o-1]??e.closest(h)?.querySelector("summary"))?.closest("a, summary")?.focus()}async function T(e){let i=e.dataset.thread;if(!i||!m(e)||e.dataset.leaving!==void 0)return;if(_(e),await F(e),!await Nr(i))q(e);delete e.dataset.leaving}function M(e,i,n){let o=[];if(m(e))o.push({id:"clear",label:t("Clear this thread"),icon:"trash",tone:"danger",run:()=>T(e)});let l=X(e),f=e.closest(h)?.dataset.parent||void 0;if(l.length>0)o.push({id:"clear-all",label:t("Clear all finished"),icon:"trash",tone:"danger",run:()=>Xr(f,l)});pe({title:e.querySelector(".thread-title")?.textContent??"",items:o,at:i,via:n,source:e.querySelector(".thread-link")??e})}var O=(e)=>{if(e.cancelable)e.preventDefault()};function W(e,i){let n=e.at(-1);if(!n||i-n.t>C)return 0;let o=e.find((l)=>n.t-l.t<=C);if(!o||n.t<=o.t)return 0;return(n.x-o.x)/(n.t-o.t)}function z(e){let i=gr(),n,o=!1,l=()=>{n?.press.cancel(),window.removeEventListener("touchmove",O),n=void 0},f=(s)=>{if(o=!1,s.pointerType==="mouse"||!s.isPrimary)return;let r=g(s.target);if(!r||s.target.closest(".thread-more"))return;l();let a={x:s.clientX,y:s.clientY},c=new mn((d)=>{if(o=!0,typeof navigator.vibrate==="function")navigator.vibrate(10);if(n)n.state="reject";v(r),M(r,d,"hold")});c.begin(a.x,a.y),n={id:s.pointerId,card:r,origin:a,press:c,swipes:!Xn(a.x,window.innerWidth),state:"wait",offset:0,samples:[{x:a.x,t:s.timeStamp}]}},v=(s)=>{if(s.dataset.leaving!==void 0)return;delete s.dataset.armed,s.style.transition=`transform ${Le()?0:y}ms var(--ease-out)`,s.style.transform=""},x=(s)=>{if(!n||n.id!==s.pointerId)return;let{card:r}=n,a=s.clientX-n.origin.x,c=s.clientY-n.origin.y;if(n.state==="wait"){n.press.move(s.clientX,s.clientY);let p=Math.abs(a);if(!n.swipes)return;if(p>=E&&p>Fo*Math.abs(c)){if(n.state=a>0?"drag":"reject",n.state==="drag")n.press.cancel(),r.style.transition="none",window.addEventListener("touchmove",O,{passive:!1})}else if(Math.abs(c)>=E)n.state="reject";if(n.state!=="drag")return}if(n.state!=="drag")return;let d=Math.max(0,a-E),u=r.offsetWidth||1;if(n.offset=m(r)?Math.min(d,u):Math.min(R,d*0.3),n.samples.push({x:s.clientX,t:s.timeStamp}),r.style.transform=`translate3d(${n.offset}px, 0, 0)`,m(r))if(Wi(n.offset/u,0))r.dataset.armed="";else delete r.dataset.armed},H=(s)=>{if(!n||n.id!==s.pointerId)return;let{card:r,state:a,offset:c,samples:d}=n,u=n.press.end();if(l(),u)o=!0;if(a!=="drag")return;o=!0;let p=r.offsetWidth||1,A=W(d,s.timeStamp);if(m(r)&&c>E&&Wi(c/p,A))T(r);else v(r)},b=(s)=>{if(!n||n.id!==s.pointerId)return;let{card:r,state:a}=n;if(l(),a==="drag")v(r)},S=(s)=>{let r=g(s.target);if(!r)return;if(s.preventDefault(),o)return;n?.press.cancel(),M(r,{x:s.clientX,y:s.clientY},"contextmenu")},P=(s)=>{o=!1;let r=g(s.target);if(!r)return;if(s.key==="Delete"&&m(r))s.preventDefault(),T(r);else if(s.key==="ContextMenu"||s.key==="F10"&&s.shiftKey){s.preventDefault();let a=r.getBoundingClientRect();M(r,{x:a.left+Math.min(a.width/2,48),y:a.top+24},"key")}},k=(s)=>{if(!o)return;o=!1,s.preventDefault(),s.stopPropagation()},D=(s)=>{if(g(s.target))s.preventDefault()};return e.addEventListener("pointerdown",f),e.addEventListener("pointermove",x),e.addEventListener("pointerup",H),e.addEventListener("pointercancel",b),e.addEventListener("contextmenu",S),e.addEventListener("keydown",P),e.addEventListener("click",k,!0),e.addEventListener("dragstart",D),()=>{l(),i(),e.removeEventListener("pointerdown",f),e.removeEventListener("pointermove",x),e.removeEventListener("pointerup",H),e.removeEventListener("pointercancel",b),e.removeEventListener("contextmenu",S),e.removeEventListener("keydown",P),e.removeEventListener("click",k,!0),e.removeEventListener("dragstart",D)}}export{z as attachThreadCards,M as openCardMenu};
1
+ import{t,Me,ge,yn,ls,Fn,ur}from"./chunk-index-wt2asefx.js";import{jr,Jr}from"./chunk-index-pfs6rm6w.js";import{Pr}from"./chunk-index-4eag6s50.js";import"./chunk-index-aycxt14t.js";var E=12,R=24,y=180,L=150,C=100,w=".thread-card",h=".thread-group",g=(e)=>e instanceof Element?e.closest(w):null,B=(e)=>e.closest("li"),m=(e)=>e.dataset.closed==="",I=(e)=>new Promise((i)=>setTimeout(i,e));function X(e){return[...e.closest(h)?.querySelectorAll(`${w}[data-closed]`)??[]].flatMap((n)=>n.dataset.thread?[n.dataset.thread]:[])}function q(e){let i=B(e);if(delete e.dataset.armed,e.style.transition="",e.style.transform="",e.style.opacity="",i)i.style.transition="",i.style.height="",i.style.marginBottom="",i.style.opacity=""}async function F(e){let i=B(e);if(!i||Me())return;e.dataset.leaving="",e.style.transition=`transform ${y}ms var(--ease-out), opacity ${y}ms var(--ease-out)`,e.style.transform="translate3d(110%, 0, 0)",e.style.opacity="0",await I(y),i.style.height=`${i.offsetHeight}px`,i.getBoundingClientRect(),i.style.transition=`height ${L}ms var(--ease-out), margin-bottom ${L}ms var(--ease-out)`,i.style.height="0px",i.style.marginBottom="calc(var(--space-1) * -1)",await I(L)}function _(e){let i=[...e.closest(h)?.querySelectorAll(`${w} .thread-link`)??[]],n=e.querySelector(".thread-link"),o=n?i.indexOf(n):-1;if(document.activeElement&&!e.contains(document.activeElement))return;(i[o+1]??i[o-1]??e.closest(h)?.querySelector("summary"))?.closest("a, summary")?.focus()}async function T(e){let i=e.dataset.thread;if(!i||!m(e)||e.dataset.leaving!==void 0)return;if(_(e),await F(e),!await jr(i))q(e);delete e.dataset.leaving}function M(e,i,n){let o=[];if(m(e))o.push({id:"clear",label:t("Clear this thread"),icon:"trash",tone:"danger",run:()=>T(e)});let l=X(e),f=e.closest(h)?.dataset.parent||void 0;if(l.length>0)o.push({id:"clear-all",label:t("Clear all finished"),icon:"trash",tone:"danger",run:()=>Jr(f,l)});ge({title:e.querySelector(".thread-title")?.textContent??"",items:o,at:i,via:n,source:e.querySelector(".thread-link")??e})}var O=(e)=>{if(e.cancelable)e.preventDefault()};function W(e,i){let n=e.at(-1);if(!n||i-n.t>C)return 0;let o=e.find((l)=>n.t-l.t<=C);if(!o||n.t<=o.t)return 0;return(n.x-o.x)/(n.t-o.t)}function z(e){let i=Pr(),n,o=!1,l=()=>{n?.press.cancel(),window.removeEventListener("touchmove",O),n=void 0},f=(s)=>{if(o=!1,s.pointerType==="mouse"||!s.isPrimary)return;let r=g(s.target);if(!r||s.target.closest(".thread-more"))return;l();let a={x:s.clientX,y:s.clientY},c=new yn((d)=>{if(o=!0,typeof navigator.vibrate==="function")navigator.vibrate(10);if(n)n.state="reject";v(r),M(r,d,"hold")});c.begin(a.x,a.y),n={id:s.pointerId,card:r,origin:a,press:c,swipes:!Fn(a.x,window.innerWidth),state:"wait",offset:0,samples:[{x:a.x,t:s.timeStamp}]}},v=(s)=>{if(s.dataset.leaving!==void 0)return;delete s.dataset.armed,s.style.transition=`transform ${Me()?0:y}ms var(--ease-out)`,s.style.transform=""},x=(s)=>{if(!n||n.id!==s.pointerId)return;let{card:r}=n,a=s.clientX-n.origin.x,c=s.clientY-n.origin.y;if(n.state==="wait"){n.press.move(s.clientX,s.clientY);let p=Math.abs(a);if(!n.swipes)return;if(p>=E&&p>ls*Math.abs(c)){if(n.state=a>0?"drag":"reject",n.state==="drag")n.press.cancel(),r.style.transition="none",window.addEventListener("touchmove",O,{passive:!1})}else if(Math.abs(c)>=E)n.state="reject";if(n.state!=="drag")return}if(n.state!=="drag")return;let d=Math.max(0,a-E),u=r.offsetWidth||1;if(n.offset=m(r)?Math.min(d,u):Math.min(R,d*0.3),n.samples.push({x:s.clientX,t:s.timeStamp}),r.style.transform=`translate3d(${n.offset}px, 0, 0)`,m(r))if(ur(n.offset/u,0))r.dataset.armed="";else delete r.dataset.armed},H=(s)=>{if(!n||n.id!==s.pointerId)return;let{card:r,state:a,offset:c,samples:d}=n,u=n.press.end();if(l(),u)o=!0;if(a!=="drag")return;o=!0;let p=r.offsetWidth||1,A=W(d,s.timeStamp);if(m(r)&&c>E&&ur(c/p,A))T(r);else v(r)},b=(s)=>{if(!n||n.id!==s.pointerId)return;let{card:r,state:a}=n;if(l(),a==="drag")v(r)},S=(s)=>{let r=g(s.target);if(!r)return;if(s.preventDefault(),o)return;n?.press.cancel(),M(r,{x:s.clientX,y:s.clientY},"contextmenu")},P=(s)=>{o=!1;let r=g(s.target);if(!r)return;if(s.key==="Delete"&&m(r))s.preventDefault(),T(r);else if(s.key==="ContextMenu"||s.key==="F10"&&s.shiftKey){s.preventDefault();let a=r.getBoundingClientRect();M(r,{x:a.left+Math.min(a.width/2,48),y:a.top+24},"key")}},k=(s)=>{if(!o)return;o=!1,s.preventDefault(),s.stopPropagation()},D=(s)=>{if(g(s.target))s.preventDefault()};return e.addEventListener("pointerdown",f),e.addEventListener("pointermove",x),e.addEventListener("pointerup",H),e.addEventListener("pointercancel",b),e.addEventListener("contextmenu",S),e.addEventListener("keydown",P),e.addEventListener("click",k,!0),e.addEventListener("dragstart",D),()=>{l(),i(),e.removeEventListener("pointerdown",f),e.removeEventListener("pointermove",x),e.removeEventListener("pointerup",H),e.removeEventListener("pointercancel",b),e.removeEventListener("contextmenu",S),e.removeEventListener("keydown",P),e.removeEventListener("click",k,!0),e.removeEventListener("dragstart",D)}}export{z as attachThreadCards,M as openCardMenu};
@@ -0,0 +1,217 @@
1
+ import{p,j,o,a,t,K,g,e,n,s,x,d,M,_,Se,J,er,Ue,Ht,Gn,kn,Lt}from"./chunk-index-wt2asefx.js";var C="roundtable-console:helpers-folded";function Z(){try{let i=localStorage.getItem(C),r=i?JSON.parse(i):{};if(typeof r!=="object"||r===null||Array.isArray(r))return{};return Object.fromEntries(Object.entries(r).filter((l)=>typeof l[1]==="boolean"))}catch{return{}}}var N,{emit:z,use:O}=M(),H=()=>(N??=Z(),N);function E(i,r){return O(H)[i]??!r}function L(i,r){N={...H(),[i]:r};try{localStorage.setItem(C,JSON.stringify(N))}catch{}z()}var T=!1;function D(){if(T||typeof document>"u")return;if(T=!0,typeof CSSStyleSheet<"u"&&"adoptedStyleSheets"in Document.prototype)try{let r=new CSSStyleSheet;r.replaceSync(`
2
+ .helper-group {
3
+ display: flex;
4
+ flex-direction: column;
5
+ gap: var(--space-1);
6
+ margin: var(--space-2) 0 var(--space-2) var(--space-5);
7
+ }
8
+
9
+ .helper-head {
10
+ display: flex;
11
+ align-items: center;
12
+ gap: var(--space-2);
13
+ min-height: 2rem;
14
+ padding: 0 var(--space-2);
15
+ border: 0;
16
+ background: transparent;
17
+ color: var(--muted);
18
+ font-size: var(--text-xs);
19
+ font-weight: var(--weight-medium);
20
+ text-align: left;
21
+ }
22
+
23
+ .helper-head::before {
24
+ content: "";
25
+ flex: none;
26
+ width: 0.5rem;
27
+ height: 0.5rem;
28
+ border-right: 2px solid currentColor;
29
+ border-bottom: 2px solid currentColor;
30
+ transform: rotate(-45deg);
31
+ transition: transform 120ms var(--ease-out);
32
+ }
33
+
34
+ .helper-head[aria-expanded="true"]::before {
35
+ transform: rotate(45deg);
36
+ }
37
+
38
+ .helper-list {
39
+ display: flex;
40
+ flex-direction: column;
41
+ gap: 2px;
42
+ margin: 0;
43
+ padding: 0;
44
+ list-style: none;
45
+ }
46
+
47
+ .helper-link {
48
+ display: flex;
49
+ align-items: center;
50
+ gap: var(--space-2);
51
+ min-width: 0;
52
+ min-height: var(--touch);
53
+ padding: 0 var(--space-3);
54
+ border-radius: var(--radius);
55
+ color: inherit;
56
+ text-decoration: none;
57
+ }
58
+
59
+ .helper-link:hover {
60
+ background: var(--surface-2);
61
+ }
62
+
63
+ .helper-link[aria-current="page"] {
64
+ background: var(--accent-soft);
65
+ }
66
+
67
+ .helper-link strong {
68
+ min-width: 0;
69
+ overflow: hidden;
70
+ font-weight: var(--weight-medium);
71
+ text-overflow: ellipsis;
72
+ white-space: nowrap;
73
+ }
74
+
75
+ .helper-state {
76
+ display: flex;
77
+ flex: none;
78
+ align-items: center;
79
+ gap: var(--space-2);
80
+ margin-left: auto;
81
+ color: var(--muted);
82
+ font-size: var(--text-xs);
83
+ }
84
+
85
+ .helper-link[data-finished] strong,
86
+ .helper-link[data-finished] .helper-state {
87
+ opacity: 0.6;
88
+ }
89
+
90
+ .helper-dot {
91
+ width: 0.5rem;
92
+ height: 0.5rem;
93
+ border-radius: 50%;
94
+ background: var(--accent);
95
+ animation: helper-pulse 1.2s ease-in-out infinite;
96
+ }
97
+
98
+ @keyframes helper-pulse {
99
+ 50% {
100
+ opacity: 0.35;
101
+ }
102
+ }
103
+
104
+ @media (prefers-reduced-motion: reduce) {
105
+ .helper-dot {
106
+ animation: none;
107
+ }
108
+ }
109
+ `),document.adoptedStyleSheets=[...document.adoptedStyleSheets,r];return}catch{}let i=document.createElement("style");i.textContent=`
110
+ .helper-group {
111
+ display: flex;
112
+ flex-direction: column;
113
+ gap: var(--space-1);
114
+ margin: var(--space-2) 0 var(--space-2) var(--space-5);
115
+ }
116
+
117
+ .helper-head {
118
+ display: flex;
119
+ align-items: center;
120
+ gap: var(--space-2);
121
+ min-height: 2rem;
122
+ padding: 0 var(--space-2);
123
+ border: 0;
124
+ background: transparent;
125
+ color: var(--muted);
126
+ font-size: var(--text-xs);
127
+ font-weight: var(--weight-medium);
128
+ text-align: left;
129
+ }
130
+
131
+ .helper-head::before {
132
+ content: "";
133
+ flex: none;
134
+ width: 0.5rem;
135
+ height: 0.5rem;
136
+ border-right: 2px solid currentColor;
137
+ border-bottom: 2px solid currentColor;
138
+ transform: rotate(-45deg);
139
+ transition: transform 120ms var(--ease-out);
140
+ }
141
+
142
+ .helper-head[aria-expanded="true"]::before {
143
+ transform: rotate(45deg);
144
+ }
145
+
146
+ .helper-list {
147
+ display: flex;
148
+ flex-direction: column;
149
+ gap: 2px;
150
+ margin: 0;
151
+ padding: 0;
152
+ list-style: none;
153
+ }
154
+
155
+ .helper-link {
156
+ display: flex;
157
+ align-items: center;
158
+ gap: var(--space-2);
159
+ min-width: 0;
160
+ min-height: var(--touch);
161
+ padding: 0 var(--space-3);
162
+ border-radius: var(--radius);
163
+ color: inherit;
164
+ text-decoration: none;
165
+ }
166
+
167
+ .helper-link:hover {
168
+ background: var(--surface-2);
169
+ }
170
+
171
+ .helper-link[aria-current="page"] {
172
+ background: var(--accent-soft);
173
+ }
174
+
175
+ .helper-link strong {
176
+ min-width: 0;
177
+ overflow: hidden;
178
+ font-weight: var(--weight-medium);
179
+ text-overflow: ellipsis;
180
+ white-space: nowrap;
181
+ }
182
+
183
+ .helper-state {
184
+ display: flex;
185
+ flex: none;
186
+ align-items: center;
187
+ gap: var(--space-2);
188
+ margin-left: auto;
189
+ color: var(--muted);
190
+ font-size: var(--text-xs);
191
+ }
192
+
193
+ .helper-link[data-finished] strong,
194
+ .helper-link[data-finished] .helper-state {
195
+ opacity: 0.6;
196
+ }
197
+
198
+ .helper-dot {
199
+ width: 0.5rem;
200
+ height: 0.5rem;
201
+ border-radius: 50%;
202
+ background: var(--accent);
203
+ animation: helper-pulse 1.2s ease-in-out infinite;
204
+ }
205
+
206
+ @keyframes helper-pulse {
207
+ 50% {
208
+ opacity: 0.35;
209
+ }
210
+ }
211
+
212
+ @media (prefers-reduced-motion: reduce) {
213
+ .helper-dot {
214
+ animation: none;
215
+ }
216
+ }
217
+ `,document.head.append(i)}D();var P=j(function(r){let{view:l}=r,m=l.helper?.finished===!0;return e("li",{children:n("a",{className:"helper-link",href:x("room",l.key),"data-helper":l.name,"data-finished":m?"":void 0,"aria-current":r.active?"page":void 0,children:[e(Ue,{view:l,size:20}),e("strong",{children:l.displayName}),e(Ht,{room:l.key}),n("span",{className:"helper-state",children:[r.waiting?e(kn,{count:r.waiting}):null,!m&&!r.waiting?e("span",{className:"helper-dot",role:"img","aria-label":t("Working")}):null,m?e("span",{children:t("Ended")}):null,m&&r.at?e("span",{className:"room-row-time",children:Se(r.at,r.now,r.timeZone)}):null]})]})})});function F(i){let{now:r}=J(),{timeZone:l}=_(),m=Lt(i.keys),w=m.some((h)=>h.view.helper?.finished!==!0),u=i.parent??"",y=!E(u,w)||m.some((h)=>h.key===i.active)?m:[];if(m.length===0)return null;return n("div",{className:"helper-group","data-parent":i.parent,children:[e("button",{type:"button",className:"helper-head","aria-expanded":y.length>0,onClick:()=>L(u,y.length>0),children:K(m.length,"{count} temp knight","{count} temp knights")}),y.length>0?e("ul",{className:"helper-list",children:y.map(({key:h,...v})=>e(P,{...v,active:h===i.active,now:r,timeZone:l},h))}):null]})}var I=j(function(r){let{view:l,parent:m}=r,w=er(l.key),u=Boolean(l.closed);return n("li",{className:"thread-item",children:[u?n("span",{className:"thread-reveal","aria-hidden":"true",children:[e(s,{name:"trash",size:18}),t("Clear")]}):null,n("div",{className:"thread-card","data-hold":"row","data-thread":l.key,"data-closed":u?"":void 0,style:w,children:[n("a",{className:"thread-link",href:x("room",l.key),"aria-current":r.active?"page":void 0,children:[m?e(Ue,{view:m,size:36}):e(s,{name:"conversations",size:20,className:"thread-row-icon"}),n("span",{className:"thread-card-main",children:[n("span",{className:"thread-card-top",children:[e("strong",{className:"thread-title",children:l.displayName}),e(Ht,{room:l.key})]}),n("span",{className:"thread-card-meta",children:[r.typing?e(Gn,{}):null,e("span",{className:u?"badge":"badge badge-accent",children:u?t("Finished"):t("In progress")}),r.waiting?e(kn,{count:r.waiting}):null,e("span",{className:"room-row-time",children:r.at?Se(r.at,r.now,r.timeZone):""})]})]})]}),u?e("button",{type:"button",className:"thread-more","aria-haspopup":"menu","aria-label":t("More actions for {name}",{name:l.displayName}),onClick:(f)=>{let y=f.currentTarget,h=y.closest(".thread-card"),v=y.getBoundingClientRect();if(h)(p("grzszfha"),import("./chunk-thread-cards-grzszfha.js")).then((k)=>k.openCardMenu(h,{x:v.right,y:v.bottom},"key"))},children:e(s,{name:"more",size:18})}):null]})]})});function A(i){let{now:r}=J(),{timeZone:l}=_(),m=Lt(i.open),w=m.filter((c)=>c.view.helper).map((c)=>c.key),u=m.filter((c)=>!c.view.helper),f=Lt(i.closed),y=d((c)=>i.parent?c.rooms[i.parent]?.view:void 0,i.parent??""),h=a(null),v=u.length+f.length>0;if(o(()=>{let c=h.current;if(!v||!c)return;let b=!1,S;return (p("grzszfha"),import("./chunk-thread-cards-grzszfha.js")).then((R)=>{if(!b)S=R.attachThreadCards(c)}),()=>{b=!0,S?.()}},[v]),!v&&w.length===0)return null;let k=({key:c,...b})=>e(I,{...b,active:c===i.active,now:r,timeZone:l,parent:y},c);if(!v)return e(F,{keys:w,parent:i.parent,active:i.active});return n(g,{children:[w.length?e(F,{keys:w,parent:i.parent,active:i.active}):null,n("div",{className:"thread-group",ref:h,"data-parent":i.parent,children:[u.length?e("ul",{className:"thread-list","aria-label":t("Dispatch threads"),children:u.map(k)}):null,f.length?n("div",{className:"thread-finished",children:[n("details",{className:"thread-closed",...f.some((c)=>c.key===i.active)?{open:!0}:{},children:[e("summary",{children:K(f.length,"{count} finished thread","{count} finished threads")}),e("ul",{className:"thread-list",children:f.map(k)})]}),e("button",{type:"button",className:"thread-clear",onClick:()=>(p("7xtkegwm"),import("./chunk-thread-actions-7xtkegwm.js")).then((c)=>c.clearFinished(i.parent,f.map((b)=>b.key))),children:t("Clear finished")})]}):null]})]})}export{A as default};
@@ -0,0 +1 @@
1
+ import{o,L,a,r,t,u,g,e,n,x,y,v,m,k,T,_,re,wi}from"./chunk-index-wt2asefx.js";import{xe}from"./chunk-index-ek98d2rn.js";import{Te}from"./chunk-index-rtz4936v.js";function U({conversationKey:s}){let[c,N]=r(),p=L(),d=a(!1),{data:i,error:h}=xe(()=>y.transcript(s,c),`${s}|${c??""}`);o(()=>{if(i&&!d.current)d.current=!0,window.scrollTo(0,document.body.scrollHeight)},[i]);let w=n("a",{className:"back",href:x("conversations"),children:["← ",t("Conversations")]});if(!i)return n(g,{children:[w,h?e(m,{message:h}):e(v,{})]});let{conversation:f}=i,E=f.kind==="outside"?t("Outside AI client · {id}",{id:f.id.slice(0,8)}):wi(f);return n(g,{children:[w,n("section",{className:"stack",children:[n("div",{className:"card-head",children:[e("h2",{children:E}),f.busy>0?e(T,{tone:"busy",children:t("running")}):null]}),i.archives.length>0?n("label",{className:"inline",htmlFor:p,children:[t("Showing")," ",n(Te,{id:p,value:c??"",onChange:(l)=>{d.current=!1,N(l.target.value||void 0)},children:[e("option",{value:"",children:t("Current conversation")}),i.archives.map((l)=>e("option",{value:l,children:t("Archived {name}",{name:l})},l))]})]}):null,h?e(m,{message:h}):null,i.truncated?e("p",{className:"hint",children:t("This conversation is longer than the console reads; the oldest entries are not shown.")}):null,i.entries.length===0?e(k,{children:t("Nothing to show.")}):null,e("ol",{className:"transcript",children:i.entries.map((l,b)=>e(S,{entry:l},b))})]})]})}function S({entry:s}){let{timeZone:c}=_(),N=s.at?re(s.at,c):"";if(s.role==="tool")return e("li",{className:"entry entry-tool",children:n("details",{children:[n("summary",{children:[s.failed?t("Tool failed"):t("Tool result"),s.tool?` · ${s.tool}`:""]}),e("pre",{children:s.text||t("(empty)")})]})});return n("li",{className:`entry entry-${s.role}`,children:[n("div",{className:"entry-head",children:[e("span",{className:"role",children:t(A[s.role])}),e("span",{className:"meta",children:N})]}),s.text?e("p",{className:"text",children:s.text}):null,s.calls?.map((p,d)=>n("code",{className:"call",children:[p.name," ",p.preview]},d))]})}var A={user:u("User"),assistant:u("Knight"),tool:u("Tool"),compaction:u("Summary of earlier conversation")};export{U as TranscriptPage};
@@ -0,0 +1,28 @@
1
+ import{o,r,K,e,n,s,d}from"./chunk-index-wt2asefx.js";import{cn,Nr,Lr,gi,Wi}from"./chunk-index-zpwb8mkk.js";import{se}from"./chunk-index-amxa2bn3.js";var M=1500,E=`
2
+ .waiting-chip-slot {
3
+ position: relative;
4
+ z-index: 3;
5
+ height: 0;
6
+ }
7
+
8
+ .waiting-chip {
9
+ position: absolute;
10
+ top: var(--space-2);
11
+ left: 50%;
12
+ min-height: 2.25rem;
13
+ padding: 0 var(--space-3);
14
+ border-radius: var(--radius-full);
15
+ border-color: transparent;
16
+ background: var(--warn);
17
+ color: var(--bg);
18
+ box-shadow: var(--shadow-2);
19
+ transform: translateX(-50%);
20
+ animation: toast-in var(--dur-slow) var(--ease-spring) both;
21
+ }
22
+
23
+ .slot[data-lit] > .prompt {
24
+ outline: 3px solid var(--warn);
25
+ outline-offset: 3px;
26
+ transition: outline-color var(--dur-slow) var(--ease-out);
27
+ }
28
+ `;function I(S){se("waiting",E);let{roomKey:b,scroller:p,loaded:w}=S,c=d((t)=>cn(t).filter((a)=>a.card.room===b).map((a)=>a.id).join(" "),b),l=Nr(),[T,y]=r([]);o(()=>{let t=p.current;if(!t||!w||typeof IntersectionObserver>"u")return;let a=new Map,m=new IntersectionObserver((u)=>{for(let i of u){let f=i.target.dataset.card;if(f)a.set(f,i.isIntersecting)}y([...a].flatMap(([i,f])=>f?[]:[i]))},{root:t});for(let u of c.split(" ")){let i=u?gi(t,u):void 0;if(i)m.observe(i)}return()=>m.disconnect()},[c,p,w]),o(()=>{let t=p.current;if(!t||!w||!l||!c.split(" ").includes(l))return;let a,m=()=>{let g=gi(t,l);if(!g||g===a)return;a=g,Wi(t,l)},u=requestAnimationFrame(m),i=typeof MutationObserver>"u"?void 0:new MutationObserver(m);i?.observe(t,{childList:!0,subtree:!0});let f=setTimeout(()=>Lr(l),M);return()=>{cancelAnimationFrame(u),i?.disconnect(),clearTimeout(f)}},[w,l,c,p]);let h=c?c.split(" ").length:0,[v]=T;return e("div",{className:"waiting-chip-slot",children:v&&h?n("button",{type:"button",className:"waiting-chip",onClick:()=>Wi(p.current,v),children:[e(s,{name:"shield",size:16}),K(h,"{count} card waiting for an answer","{count} cards waiting for an answer")]}):null})}export{I as default};
@@ -0,0 +1 @@
1
+ import{cn,ia,Gi,$r,Zi,Nr,Lr,gi,Wi}from"./chunk-index-zpwb8mkk.js";export{gi as cardSlot,Gi as closeWaitingList,Zi as jumpToCard,ia as openWaiting,Wi as showCard,Lr as targetShown,Nr as useTarget,$r as useWaitingList,cn as waitingList};
@@ -0,0 +1 @@
1
+ import{Ln,Ar}from"./chunk-index-haac6nbt.js";export{Ln as currentQuery,Ar as followUrl};