thursday-agent 0.3.0 → 0.4.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 (197) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/build-manifest.json +3 -3
  3. package/.next/prerender-manifest.json +3 -3
  4. package/.next/server/app/_global-error.html +1 -1
  5. package/.next/server/app/_global-error.rsc +1 -1
  6. package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  7. package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  8. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  9. package/.next/server/app/_not-found/page.js.nft.json +1 -1
  10. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  11. package/.next/server/app/_not-found.html +1 -1
  12. package/.next/server/app/_not-found.rsc +2 -2
  13. package/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
  14. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
  15. package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  16. package/.next/server/app/api/artifact/route.js.nft.json +1 -1
  17. package/.next/server/app/api/bot/memory/files/route.js.nft.json +1 -1
  18. package/.next/server/app/api/bot/memory/route.js.nft.json +1 -1
  19. package/.next/server/app/api/bot/route.js.nft.json +1 -1
  20. package/.next/server/app/api/bot/task/[id]/route.js.nft.json +1 -1
  21. package/.next/server/app/api/bot/task/route.js.nft.json +1 -1
  22. package/.next/server/app/api/config/route.js.nft.json +1 -1
  23. package/.next/server/app/api/events/route.js.nft.json +1 -1
  24. package/.next/server/app/api/file/[...path]/route.js.nft.json +1 -1
  25. package/.next/server/app/api/llm-model/catalog/route.js.nft.json +1 -1
  26. package/.next/server/app/api/llm-model/credits/route.js.nft.json +1 -1
  27. package/.next/server/app/api/llm-model/route.js.nft.json +1 -1
  28. package/.next/server/app/api/llm-model/subscription/route.js.nft.json +1 -1
  29. package/.next/server/app/api/mcp/[name]/route.js.nft.json +1 -1
  30. package/.next/server/app/api/mcp/oauth/callback/route.js.nft.json +1 -1
  31. package/.next/server/app/api/mcp/route.js.nft.json +1 -1
  32. package/.next/server/app/api/mcp/tools/route.js.nft.json +1 -1
  33. package/.next/server/app/api/memory/edit/route.js.nft.json +1 -1
  34. package/.next/server/app/api/memory/route.js.nft.json +1 -1
  35. package/.next/server/app/api/skills/[source]/[name]/route.js.nft.json +1 -1
  36. package/.next/server/app/api/skills/route.js.nft.json +1 -1
  37. package/.next/server/app/api/thursday/call/route.js.nft.json +1 -1
  38. package/.next/server/app/api/thursday/skills/route.js.nft.json +1 -1
  39. package/.next/server/app/api/thursday/tool-call/route.js.nft.json +1 -1
  40. package/.next/server/app/api/workspace/route.js.nft.json +1 -1
  41. package/.next/server/app/artifact/[...path]/page/server-reference-manifest.json +1 -1
  42. package/.next/server/app/artifact/[...path]/page.js.nft.json +1 -1
  43. package/.next/server/app/artifact/[...path]/page_client-reference-manifest.js +1 -1
  44. package/.next/server/app/page/server-reference-manifest.json +40 -40
  45. package/.next/server/app/page.js +2 -2
  46. package/.next/server/app/page.js.nft.json +1 -1
  47. package/.next/server/app/page_client-reference-manifest.js +1 -1
  48. package/.next/server/chunks/[root-of-the-server]__02va5wz._.js +1 -1
  49. package/.next/server/chunks/[root-of-the-server]__0ls6_8y._.js +4 -4
  50. package/.next/server/chunks/[root-of-the-server]__0ncs9uu._.js +1 -1
  51. package/.next/server/chunks/[root-of-the-server]__1-ga0kh._.js +2 -2
  52. package/.next/server/chunks/[root-of-the-server]__1_04mcf._.js +2 -2
  53. package/.next/server/chunks/[root-of-the-server]__1anc1p9._.js +1 -1
  54. package/.next/server/chunks/[root-of-the-server]__1ccon1w._.js +3 -3
  55. package/.next/server/chunks/[root-of-the-server]__1orn-5b._.js +4 -3
  56. package/.next/server/chunks/[root-of-the-server]__1wa1k7r._.js +3 -3
  57. package/.next/server/chunks/_0-fjql4._.js +5 -5
  58. package/.next/server/chunks/_00xh_q0._.js +3 -5
  59. package/.next/server/chunks/_05h2cii._.js +1 -1
  60. package/.next/server/chunks/_0fzqt2y._.js +48 -44
  61. package/.next/server/chunks/_0mecv0f._.js +5 -5
  62. package/.next/server/chunks/_0mh8j4m._.js +1 -1
  63. package/.next/server/chunks/_0wp4le3._.js +1 -1
  64. package/.next/server/chunks/_0y5fg-x._.js +1 -1
  65. package/.next/server/chunks/_1230wbx._.js +3 -3
  66. package/.next/server/chunks/_15hq89o._.js +1 -1
  67. package/.next/server/chunks/{_03kp0jp._.js → _1c78vw5._.js} +58 -56
  68. package/.next/server/chunks/_1j8k_j5._.js +1 -1
  69. package/.next/server/chunks/_1krd9rf._.js +1 -1
  70. package/.next/server/chunks/_1php4eq._.js +1 -1
  71. package/.next/server/chunks/config_ts_1g4sz5o._.js +1 -1
  72. package/.next/server/chunks/features_1qf3cei._.js +1 -1
  73. package/.next/server/chunks/features_memory_1uqvksn._.js +2 -2
  74. package/.next/server/chunks/ssr/[root-of-the-server]__092knlj._.js +3 -0
  75. package/.next/server/chunks/ssr/{[root-of-the-server]__1eh7hid._.js → [root-of-the-server]__0s9dq5u._.js} +1 -1
  76. package/.next/server/chunks/ssr/{[root-of-the-server]__1cyjywu._.js → [root-of-the-server]__0s9l2sv._.js} +1 -1
  77. package/.next/server/chunks/ssr/{[root-of-the-server]__0zkv7z_._.js → [root-of-the-server]__0xsog8n._.js} +2 -2
  78. package/.next/server/chunks/ssr/[root-of-the-server]__10-dz5o._.js +13 -9
  79. package/.next/server/chunks/ssr/[root-of-the-server]__1gtlw6v._.js +2 -2
  80. package/.next/server/chunks/ssr/[root-of-the-server]__1mzi-ju._.js +1 -1
  81. package/.next/server/chunks/ssr/[root-of-the-server]__1ox7hbk._.js +1 -1
  82. package/.next/server/chunks/ssr/{[root-of-the-server]__0_69wqr._.js → [root-of-the-server]__202p40z._.js} +1 -1
  83. package/.next/server/chunks/ssr/_001_ms1._.js +1 -1
  84. package/.next/server/chunks/ssr/{_0c-ql2m._.js → _0fz4mf_._.js} +2 -2
  85. package/.next/server/chunks/ssr/{_07uchnc._.js → _0gb4gmf._.js} +2 -2
  86. package/.next/server/chunks/ssr/_0i_6q1w._.js +2 -2
  87. package/.next/server/chunks/ssr/{_20kd_n0._.js → _0ilna52._.js} +3 -3
  88. package/.next/server/chunks/ssr/{_0mo2w06._.js → _0n3toaw._.js} +2 -2
  89. package/.next/server/chunks/ssr/{_0mb8zc8._.js → _0s99bgb._.js} +2 -2
  90. package/.next/server/chunks/ssr/_0zcjrbg._.js +3 -0
  91. package/.next/server/chunks/ssr/{_13z3f85._.js → _1-_etts._.js} +2 -2
  92. package/.next/server/chunks/ssr/_13fke0x._.js +1 -1
  93. package/.next/server/chunks/ssr/{_01_6m32._.js → _1b2mjwr._.js} +2 -2
  94. package/.next/server/chunks/ssr/{_1eoqg_g._.js → _1f-dg-6._.js} +2 -2
  95. package/.next/server/chunks/ssr/{_0y0tiht._.js → _1fojd41._.js} +3 -3
  96. package/.next/server/chunks/ssr/_1gd8q8l._.js +3 -0
  97. package/.next/server/chunks/ssr/{_1xvgn77._.js → _1h0rw11._.js} +2 -2
  98. package/.next/server/chunks/ssr/_1jhd09t._.js +3 -0
  99. package/.next/server/chunks/ssr/{_0u2jv_x._.js → _1lz_cq2._.js} +46 -44
  100. package/.next/server/chunks/ssr/{_0kbkmar._.js → _1nnsk7z._.js} +2 -2
  101. package/.next/server/chunks/ssr/_1sji22n._.js +1 -1
  102. package/.next/server/chunks/ssr/_1vyd1ji._.js +1 -1
  103. package/.next/server/chunks/ssr/features_config_components_config-setting_tsx_0xfwqdg._.js +1 -1
  104. package/.next/server/chunks/ssr/features_connectors_components_mcp-setting_tsx_0jmbgvp._.js +1 -1
  105. package/.next/server/chunks/ssr/{node_modules_0z5tsu8._.js → node_modules_00etblx._.js} +1 -1
  106. package/.next/server/chunks/ssr/{node_modules_1h4a4pp._.js → node_modules_04jf_m8._.js} +1 -1
  107. package/.next/server/chunks/ssr/{node_modules_0h5hnr1._.js → node_modules_08dhkiq._.js} +1 -1
  108. package/.next/server/chunks/ssr/{node_modules_1vqb6po._.js → node_modules_0940ns5._.js} +1 -1
  109. package/.next/server/chunks/ssr/{node_modules_1i7u1ia._.js → node_modules_09q35v_._.js} +1 -1
  110. package/.next/server/chunks/ssr/{node_modules_124bue5._.js → node_modules_0_-_a--._.js} +1 -1
  111. package/.next/server/chunks/ssr/{node_modules_0h7u60n._.js → node_modules_0arus10._.js} +1 -1
  112. package/.next/server/chunks/ssr/{node_modules_0rjg6t1._.js → node_modules_0b__sgl._.js} +1 -1
  113. package/.next/server/chunks/ssr/{node_modules_113tz0l._.js → node_modules_0cxaxk9._.js} +1 -1
  114. package/.next/server/chunks/ssr/{node_modules_0lm7_vm._.js → node_modules_0g7fzk3._.js} +1 -1
  115. package/.next/server/chunks/ssr/{node_modules_0h50b8n._.js → node_modules_0had7xd._.js} +1 -1
  116. package/.next/server/chunks/ssr/{node_modules_1-hc6uv._.js → node_modules_0pvd7q-._.js} +1 -1
  117. package/.next/server/chunks/ssr/{node_modules_1bc7gu8._.js → node_modules_0yugy6m._.js} +1 -1
  118. package/.next/server/chunks/ssr/{node_modules_0y_cded._.js → node_modules_14om4ar._.js} +1 -1
  119. package/.next/server/chunks/ssr/{node_modules_0zp9r92._.js → node_modules_14q6g4n._.js} +1 -1
  120. package/.next/server/chunks/ssr/{node_modules_0eu1va6._.js → node_modules_198nmll._.js} +1 -1
  121. package/.next/server/chunks/ssr/{node_modules_1t9cyee._.js → node_modules_1_pc9kq._.js} +1 -1
  122. package/.next/server/chunks/ssr/{node_modules_063xwpp._.js → node_modules_1aaxuef._.js} +1 -1
  123. package/.next/server/chunks/ssr/{node_modules_0bvraul._.js → node_modules_1cx_ql6._.js} +1 -1
  124. package/.next/server/chunks/ssr/{node_modules_1xx28h1._.js → node_modules_1cz2hle._.js} +1 -1
  125. package/.next/server/chunks/ssr/{node_modules_1l0qtdu._.js → node_modules_1efrqxi._.js} +1 -1
  126. package/.next/server/chunks/ssr/{node_modules_1juq3hs._.js → node_modules_1eg7m6c._.js} +1 -1
  127. package/.next/server/chunks/ssr/{node_modules_1_n3ztw._.js → node_modules_1gdh31p._.js} +1 -1
  128. package/.next/server/chunks/ssr/{node_modules_0mwym0g._.js → node_modules_1hpopmo._.js} +1 -1
  129. package/.next/server/chunks/ssr/{node_modules_1bgb6-f._.js → node_modules_1qpjvy5._.js} +1 -1
  130. package/.next/server/chunks/ssr/{node_modules_1uuj9x1._.js → node_modules_1vh5ntv._.js} +1 -1
  131. package/.next/server/chunks/ssr/{node_modules_@mermaid-js_parser_dist_chunks_mermaid-parser_core_0d3skpl._.js → node_modules_@mermaid-js_parser_dist_chunks_mermaid-parser_core_1b748ic._.js} +1 -1
  132. package/.next/server/chunks/ssr/{node_modules_@mermaid-js_parser_dist_chunks_mermaid-parser_core_0i44kk5._.js → node_modules_@mermaid-js_parser_dist_chunks_mermaid-parser_core_1z4hm5e._.js} +1 -1
  133. package/.next/server/chunks/ssr/{node_modules_@vercel_oidc_dist_0qe30a_._.js → node_modules_@vercel_oidc_dist_06mk8id._.js} +1 -1
  134. package/.next/server/middleware-build-manifest.js +3 -3
  135. package/.next/server/pages/404.html +1 -1
  136. package/.next/server/pages/500.html +1 -1
  137. package/.next/server/server-reference-manifest.js +1 -1
  138. package/.next/server/server-reference-manifest.json +41 -41
  139. package/.next/static/chunks/00rd4-v8r7axp.js +1 -0
  140. package/.next/static/chunks/{0tmgrnlje14-s.js → 08qe4as2q428z.js} +2 -2
  141. package/.next/static/chunks/{3ok9_x74rip3v.js → 0fl3gwe4-l6tz.js} +1 -1
  142. package/.next/static/chunks/{2a0k6jlq0_v1u.js → 0gnqdjn2lvdad.js} +2 -2
  143. package/.next/static/chunks/{1okqiww3pnwka.js → 0hwap1-p0m5sa.js} +1 -1
  144. package/.next/static/chunks/{1ekc7ul556kbl.js → 0w52rrrmuj9r9.js} +1 -1
  145. package/.next/static/chunks/{3agpgkwaa321p.js → 0wcprt5ot5she.js} +1 -1
  146. package/.next/static/chunks/{3xpbkl66ssib5.js → 15m575979un5f.js} +6 -6
  147. package/.next/static/chunks/{2fzs9fm8yarvq.js → 17p6tk6k88dq6.js} +1 -1
  148. package/.next/static/chunks/{26-pr2c9ro222.js → 1jd09sxcjddu1.js} +1 -1
  149. package/.next/static/chunks/{280t0_e99i276.js → 1w73ece_6bheu.js} +1 -1
  150. package/.next/static/chunks/{1grhjo7a5a0_-.js → 214ya3n5gxeih.js} +1 -1
  151. package/.next/static/chunks/22_zkas21rpna.js +1 -0
  152. package/.next/static/chunks/{0x79tx04dxbpp.js → 2u7xt6mxg44lf.js} +1 -1
  153. package/.next/static/chunks/{17donp69y4do7.js → 39j0fvpybzabl.js} +8 -8
  154. package/.next/static/chunks/{28cizcdaabd4h.js → 3akmqm77muj4-.js} +1 -1
  155. package/.next/static/chunks/3cq5g494yuke8.css +1 -0
  156. package/.next/static/chunks/3woj-xd7ki5_i.js +1 -0
  157. package/.next/static/chunks/{3cfi_q6d_wtci.js → 3zmcsnuo25zvq.js} +1 -1
  158. package/README.md +46 -23
  159. package/app/api/events/app-event.ts +0 -2
  160. package/bin/port.mjs +65 -0
  161. package/bin/thursday.mjs +2 -33
  162. package/docs/how-it-works.md +11 -7
  163. package/docs/images/face-dark.png +0 -0
  164. package/docs/images/face-light.png +0 -0
  165. package/docs/images/keeps-going.png +0 -0
  166. package/features/ai/chatgpt.ts +42 -20
  167. package/features/ai/load-tools.ts +20 -14
  168. package/features/ai/prompts/bot.prompt.ts +90 -88
  169. package/features/ai/prompts/thursday.prompt.ts +48 -41
  170. package/features/ai/tools/memory.tool.ts +65 -62
  171. package/features/ai/tools/tool-name.ts +0 -1
  172. package/features/ai/tools/workspace.tool.ts +3 -0
  173. package/features/bot/bot.action.ts +6 -1
  174. package/features/bot/bot.run.ts +11 -7
  175. package/features/bot/bot.runner.ts +34 -16
  176. package/features/bot/bot.schema.ts +25 -0
  177. package/features/bot/components/bot-room.tsx +57 -4
  178. package/features/bot/components/bot-tool.tsx +0 -1
  179. package/features/bot/task.query.ts +25 -6
  180. package/features/bot/task.store.ts +23 -4
  181. package/features/memory/components/memory-edit.tsx +7 -5
  182. package/features/thursday/components/thursday.tsx +0 -3
  183. package/features/thursday/tool-line.ts +0 -1
  184. package/features/thursday/use-thursday.ts +1 -1
  185. package/package.json +1 -1
  186. package/.next/server/chunks/ssr/[root-of-the-server]__1pduf5n._.js +0 -3
  187. package/.next/server/chunks/ssr/_14_lw10._.js +0 -3
  188. package/.next/server/chunks/ssr/_1spzm8z._.js +0 -3
  189. package/.next/server/chunks/ssr/lib_date-like_ts_02is0pw._.js +0 -3
  190. package/.next/static/chunks/0xzgvc0fkdb6t.js +0 -1
  191. package/.next/static/chunks/14hgtsjg-kael.css +0 -1
  192. package/.next/static/chunks/2hw2f6zmt7fmt.js +0 -1
  193. package/.next/static/chunks/3111pj5wnjgos.js +0 -1
  194. package/features/memory/components/memory-view.tsx +0 -84
  195. /package/.next/static/{x1cCqY0kWpR_VcYx_lWO5 → kaTO0UHqF1bMnWgCDik2f}/_buildManifest.js +0 -0
  196. /package/.next/static/{x1cCqY0kWpR_VcYx_lWO5 → kaTO0UHqF1bMnWgCDik2f}/_clientMiddlewareManifest.js +0 -0
  197. /package/.next/static/{x1cCqY0kWpR_VcYx_lWO5 → kaTO0UHqF1bMnWgCDik2f}/_ssgManifest.js +0 -0
@@ -0,0 +1,3 @@
1
+ module.exports=[199169,a=>{"use strict";var b=a.i(256711),c=a.i(42724),d=a.i(934754),e=a.i(57270),f=a.i(367638);function g(a,b,c){let[d,g]=(0,e.normalizeDates)(c?.in,a,b);return+(0,f.startOfDay)(d)==+(0,f.startOfDay)(g)}var h=a.i(774016),i=a.i(156757);let j=i.z.union([i.z.date(),i.z.iso.datetime()]),k=a=>new Date(a);a.s(["DateLikeSchema",0,j,"shortAgo",0,function(a,b=Date.now()){let c=Math.max(0,Math.round((b-k(a).getTime())/1e3));if(c<60)return"now";let d=Math.round(c/60);if(d<60)return`${d}m`;let e=Math.round(d/60);return e<24?`${e}h`:`${Math.round(e/24)}d`},"toDate",0,k,"whenOf",0,function(a){let e=k(a),f=(0,b.format)(e,"HH:mm");return g((0,c.constructFrom)(e,e),(0,d.constructNow)(e))?f:!function(a){var b,e;let f;return g((0,c.constructFrom)(a,a),(b=(0,d.constructNow)(a),e=void 0,f=(0,h.toDate)(b,e?.in),isNaN(-1)?(0,c.constructFrom)(e?.in||b,NaN):(f.setDate(f.getDate()+-1),f)))}(e)?`${(0,b.format)(e,"MMM d")} \xb7 ${f}`:`Yesterday ${f}`}],199169)},256711,367638,a=>{"use strict";var b=a.i(244513),c=a.i(852587),d=a.i(23464),e=a.i(57270),f=a.i(959296),g=a.i(774016);function h(a,b){let c=(0,g.toDate)(a,b?.in);return c.setHours(0,0,0,0),c}function i(a,b){let d=(0,c.getDefaultOptions)(),e=b?.weekStartsOn??b?.locale?.options?.weekStartsOn??d.weekStartsOn??d.locale?.options?.weekStartsOn??0,f=(0,g.toDate)(a,b?.in),h=f.getDay();return f.setDate(f.getDate()-(7*(h<e)+h-e)),f.setHours(0,0,0,0),f}function j(a,b){return i(a,{...b,weekStartsOn:1})}a.s(["startOfDay",0,h],367638);var k=a.i(42724);function l(a,b){let c=(0,g.toDate)(a,b?.in),d=c.getFullYear(),e=(0,k.constructFrom)(c,0);e.setFullYear(d+1,0,4),e.setHours(0,0,0,0);let f=j(e),h=(0,k.constructFrom)(c,0);h.setFullYear(d,0,4),h.setHours(0,0,0,0);let i=j(h);return c.getTime()>=f.getTime()?d+1:c.getTime()>=i.getTime()?d:d-1}function m(a,b){let d=(0,g.toDate)(a,b?.in),e=d.getFullYear(),f=(0,c.getDefaultOptions)(),h=b?.firstWeekContainsDate??b?.locale?.options?.firstWeekContainsDate??f.firstWeekContainsDate??f.locale?.options?.firstWeekContainsDate??1,j=(0,k.constructFrom)(b?.in||a,0);j.setFullYear(e+1,0,h),j.setHours(0,0,0,0);let l=i(j,b),m=(0,k.constructFrom)(b?.in||a,0);m.setFullYear(e,0,h),m.setHours(0,0,0,0);let n=i(m,b);return+d>=+l?e+1:+d>=+n?e:e-1}function n(a,b){let c=Math.abs(a).toString().padStart(b,"0");return(a<0?"-":"")+c}let o={y(a,b){let c=a.getFullYear(),d=c>0?c:1-c;return n("yy"===b?d%100:d,b.length)},M(a,b){let c=a.getMonth();return"M"===b?String(c+1):n(c+1,2)},d:(a,b)=>n(a.getDate(),b.length),a(a,b){let c=a.getHours()/12>=1?"pm":"am";switch(b){case"a":case"aa":return c.toUpperCase();case"aaa":return c;case"aaaaa":return c[0];default:return"am"===c?"a.m.":"p.m."}},h:(a,b)=>n(a.getHours()%12||12,b.length),H:(a,b)=>n(a.getHours(),b.length),m:(a,b)=>n(a.getMinutes(),b.length),s:(a,b)=>n(a.getSeconds(),b.length),S(a,b){let c=b.length;return n(Math.trunc(a.getMilliseconds()*Math.pow(10,c-3)),b.length)}},p={G:function(a,b,c){let d=+(a.getFullYear()>0);switch(b){case"G":case"GG":case"GGG":return c.era(d,{width:"abbreviated"});case"GGGGG":return c.era(d,{width:"narrow"});default:return c.era(d,{width:"wide"})}},y:function(a,b,c){if("yo"===b){let b=a.getFullYear();return c.ordinalNumber(b>0?b:1-b,{unit:"year"})}return o.y(a,b)},Y:function(a,b,c,d){let e=m(a,d),f=e>0?e:1-e;return"YY"===b?n(f%100,2):"Yo"===b?c.ordinalNumber(f,{unit:"year"}):n(f,b.length)},R:function(a,b){return n(l(a),b.length)},u:function(a,b){return n(a.getFullYear(),b.length)},Q:function(a,b,c){let d=Math.ceil((a.getMonth()+1)/3);switch(b){case"Q":return String(d);case"QQ":return n(d,2);case"Qo":return c.ordinalNumber(d,{unit:"quarter"});case"QQQ":return c.quarter(d,{width:"abbreviated",context:"formatting"});case"QQQQQ":return c.quarter(d,{width:"narrow",context:"formatting"});default:return c.quarter(d,{width:"wide",context:"formatting"})}},q:function(a,b,c){let d=Math.ceil((a.getMonth()+1)/3);switch(b){case"q":return String(d);case"qq":return n(d,2);case"qo":return c.ordinalNumber(d,{unit:"quarter"});case"qqq":return c.quarter(d,{width:"abbreviated",context:"standalone"});case"qqqqq":return c.quarter(d,{width:"narrow",context:"standalone"});default:return c.quarter(d,{width:"wide",context:"standalone"})}},M:function(a,b,c){let d=a.getMonth();switch(b){case"M":case"MM":return o.M(a,b);case"Mo":return c.ordinalNumber(d+1,{unit:"month"});case"MMM":return c.month(d,{width:"abbreviated",context:"formatting"});case"MMMMM":return c.month(d,{width:"narrow",context:"formatting"});default:return c.month(d,{width:"wide",context:"formatting"})}},L:function(a,b,c){let d=a.getMonth();switch(b){case"L":return String(d+1);case"LL":return n(d+1,2);case"Lo":return c.ordinalNumber(d+1,{unit:"month"});case"LLL":return c.month(d,{width:"abbreviated",context:"standalone"});case"LLLLL":return c.month(d,{width:"narrow",context:"standalone"});default:return c.month(d,{width:"wide",context:"standalone"})}},w:function(a,b,d,e){let h,j,l,o,p,q=Math.round((i(h=(0,g.toDate)(a,e?.in),e)-(j=(0,c.getDefaultOptions)(),l=e?.firstWeekContainsDate??e?.locale?.options?.firstWeekContainsDate??j.firstWeekContainsDate??j.locale?.options?.firstWeekContainsDate??1,o=m(h,e),(p=(0,k.constructFrom)(e?.in||h,0)).setFullYear(o,0,l),p.setHours(0,0,0,0),i(p,e)))/f.millisecondsInWeek)+1;return"wo"===b?d.ordinalNumber(q,{unit:"week"}):n(q,b.length)},I:function(a,b,c){let d,e,h,i=Math.round((j(d=(0,g.toDate)(a,void 0))-(e=l(d,void 0),(h=(0,k.constructFrom)(d,0)).setFullYear(e,0,4),h.setHours(0,0,0,0),j(h)))/f.millisecondsInWeek)+1;return"Io"===b?c.ordinalNumber(i,{unit:"week"}):n(i,b.length)},d:function(a,b,c){return"do"===b?c.ordinalNumber(a.getDate(),{unit:"date"}):o.d(a,b)},D:function(a,b,c){let i,j,k=function(a,b){let[c,g]=(0,e.normalizeDates)(void 0,a,b),i=h(c),j=h(g);return Math.round((i-(0,d.getTimezoneOffsetInMilliseconds)(i)-(j-(0,d.getTimezoneOffsetInMilliseconds)(j)))/f.millisecondsInDay)}(i=(0,g.toDate)(a,void 0),((j=(0,g.toDate)(i,void 0)).setFullYear(j.getFullYear(),0,1),j.setHours(0,0,0,0),j))+1;return"Do"===b?c.ordinalNumber(k,{unit:"dayOfYear"}):n(k,b.length)},E:function(a,b,c){let d=a.getDay();switch(b){case"E":case"EE":case"EEE":return c.day(d,{width:"abbreviated",context:"formatting"});case"EEEEE":return c.day(d,{width:"narrow",context:"formatting"});case"EEEEEE":return c.day(d,{width:"short",context:"formatting"});default:return c.day(d,{width:"wide",context:"formatting"})}},e:function(a,b,c,d){let e=a.getDay(),f=(e-d.weekStartsOn+8)%7||7;switch(b){case"e":return String(f);case"ee":return n(f,2);case"eo":return c.ordinalNumber(f,{unit:"day"});case"eee":return c.day(e,{width:"abbreviated",context:"formatting"});case"eeeee":return c.day(e,{width:"narrow",context:"formatting"});case"eeeeee":return c.day(e,{width:"short",context:"formatting"});default:return c.day(e,{width:"wide",context:"formatting"})}},c:function(a,b,c,d){let e=a.getDay(),f=(e-d.weekStartsOn+8)%7||7;switch(b){case"c":return String(f);case"cc":return n(f,b.length);case"co":return c.ordinalNumber(f,{unit:"day"});case"ccc":return c.day(e,{width:"abbreviated",context:"standalone"});case"ccccc":return c.day(e,{width:"narrow",context:"standalone"});case"cccccc":return c.day(e,{width:"short",context:"standalone"});default:return c.day(e,{width:"wide",context:"standalone"})}},i:function(a,b,c){let d=a.getDay(),e=0===d?7:d;switch(b){case"i":return String(e);case"ii":return n(e,b.length);case"io":return c.ordinalNumber(e,{unit:"day"});case"iii":return c.day(d,{width:"abbreviated",context:"formatting"});case"iiiii":return c.day(d,{width:"narrow",context:"formatting"});case"iiiiii":return c.day(d,{width:"short",context:"formatting"});default:return c.day(d,{width:"wide",context:"formatting"})}},a:function(a,b,c){let d=a.getHours()/12>=1?"pm":"am";switch(b){case"a":case"aa":return c.dayPeriod(d,{width:"abbreviated",context:"formatting"});case"aaa":return c.dayPeriod(d,{width:"abbreviated",context:"formatting"}).toLowerCase();case"aaaaa":return c.dayPeriod(d,{width:"narrow",context:"formatting"});default:return c.dayPeriod(d,{width:"wide",context:"formatting"})}},b:function(a,b,c){let d,e=a.getHours();switch(d=12===e?"noon":0===e?"midnight":e/12>=1?"pm":"am",b){case"b":case"bb":return c.dayPeriod(d,{width:"abbreviated",context:"formatting"});case"bbb":return c.dayPeriod(d,{width:"abbreviated",context:"formatting"}).toLowerCase();case"bbbbb":return c.dayPeriod(d,{width:"narrow",context:"formatting"});default:return c.dayPeriod(d,{width:"wide",context:"formatting"})}},B:function(a,b,c){let d,e=a.getHours();switch(d=e>=17?"evening":e>=12?"afternoon":e>=4?"morning":"night",b){case"B":case"BB":case"BBB":return c.dayPeriod(d,{width:"abbreviated",context:"formatting"});case"BBBBB":return c.dayPeriod(d,{width:"narrow",context:"formatting"});default:return c.dayPeriod(d,{width:"wide",context:"formatting"})}},h:function(a,b,c){if("ho"===b){let b=a.getHours()%12;return 0===b&&(b=12),c.ordinalNumber(b,{unit:"hour"})}return o.h(a,b)},H:function(a,b,c){return"Ho"===b?c.ordinalNumber(a.getHours(),{unit:"hour"}):o.H(a,b)},K:function(a,b,c){let d=a.getHours()%12;return"Ko"===b?c.ordinalNumber(d,{unit:"hour"}):n(d,b.length)},k:function(a,b,c){let d=a.getHours();return(0===d&&(d=24),"ko"===b)?c.ordinalNumber(d,{unit:"hour"}):n(d,b.length)},m:function(a,b,c){return"mo"===b?c.ordinalNumber(a.getMinutes(),{unit:"minute"}):o.m(a,b)},s:function(a,b,c){return"so"===b?c.ordinalNumber(a.getSeconds(),{unit:"second"}):o.s(a,b)},S:function(a,b){return o.S(a,b)},X:function(a,b,c){let d=a.getTimezoneOffset();if(0===d)return"Z";switch(b){case"X":return r(d);case"XXXX":case"XX":return s(d);default:return s(d,":")}},x:function(a,b,c){let d=a.getTimezoneOffset();switch(b){case"x":return r(d);case"xxxx":case"xx":return s(d);default:return s(d,":")}},O:function(a,b,c){let d=a.getTimezoneOffset();switch(b){case"O":case"OO":case"OOO":return"GMT"+q(d,":");default:return"GMT"+s(d,":")}},z:function(a,b,c){let d=a.getTimezoneOffset();switch(b){case"z":case"zz":case"zzz":return"GMT"+q(d,":");default:return"GMT"+s(d,":")}},t:function(a,b,c){return n(Math.trunc(a/1e3),b.length)},T:function(a,b,c){return n(+a,b.length)}};function q(a,b=""){let c=a>0?"-":"+",d=Math.abs(a),e=Math.trunc(d/60),f=d%60;return 0===f?c+String(e):c+String(e)+b+n(f,2)}function r(a,b){return a%60==0?(a>0?"-":"+")+n(Math.abs(a)/60,2):s(a,b)}function s(a,b=""){let c=Math.abs(a);return(a>0?"-":"+")+n(Math.trunc(c/60),2)+b+n(c%60,2)}let t=(a,b)=>{switch(a){case"P":return b.date({width:"short"});case"PP":return b.date({width:"medium"});case"PPP":return b.date({width:"long"});default:return b.date({width:"full"})}},u=(a,b)=>{switch(a){case"p":return b.time({width:"short"});case"pp":return b.time({width:"medium"});case"ppp":return b.time({width:"long"});default:return b.time({width:"full"})}},v={p:u,P:(a,b)=>{let c,d=a.match(/(P+)(p+)?/)||[],e=d[1],f=d[2];if(!f)return t(a,b);switch(e){case"P":c=b.dateTime({width:"short"});break;case"PP":c=b.dateTime({width:"medium"});break;case"PPP":c=b.dateTime({width:"long"});break;default:c=b.dateTime({width:"full"})}return c.replace("{{date}}",t(e,b)).replace("{{time}}",u(f,b))}},w=/^D+$/,x=/^Y+$/,y=["D","DD","YY","YYYY"],z=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,A=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,B=/^'([^]*?)'?$/,C=/''/g,D=/[a-zA-Z]/;a.s(["format",0,function(a,d,e){let f=(0,c.getDefaultOptions)(),h=e?.locale??f.locale??b.defaultLocale,i=e?.firstWeekContainsDate??e?.locale?.options?.firstWeekContainsDate??f.firstWeekContainsDate??f.locale?.options?.firstWeekContainsDate??1,j=e?.weekStartsOn??e?.locale?.options?.weekStartsOn??f.weekStartsOn??f.locale?.options?.weekStartsOn??0,k=(0,g.toDate)(a,e?.in);if(!(k instanceof Date||"object"==typeof k&&"[object Date]"===Object.prototype.toString.call(k))&&"number"!=typeof k||isNaN(+(0,g.toDate)(k)))throw RangeError("Invalid time value");let l=d.match(A).map(a=>{let b=a[0];return"p"===b||"P"===b?(0,v[b])(a,h.formatLong):a}).join("").match(z).map(a=>{if("''"===a)return{isToken:!1,value:"'"};let b=a[0];if("'"===b){var c;let b;return{isToken:!1,value:(b=(c=a).match(B))?b[1].replace(C,"'"):c}}if(p[b])return{isToken:!0,value:a};if(b.match(D))throw RangeError("Format string contains an unescaped latin alphabet character `"+b+"`");return{isToken:!1,value:a}});h.localize.preprocessor&&(l=h.localize.preprocessor(k,l));let m={firstWeekContainsDate:i,weekStartsOn:j,locale:h};return l.map(b=>{if(!b.isToken)return b.value;let c=b.value;return(!e?.useAdditionalWeekYearTokens&&x.test(c)||!e?.useAdditionalDayOfYearTokens&&w.test(c))&&function(a,b,c){var d,e,f;let g,h=(d=a,e=b,f=c,g="Y"===d[0]?"years":"days of the month",`Use \`${d.toLowerCase()}\` instead of \`${d}\` (in \`${e}\`) for formatting ${g} to the input \`${f}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`);if(console.warn(h),y.includes(a))throw RangeError(h)}(c,d,String(a)),(0,p[c[0]])(k,c,h.localize,m)}).join("")}],256711)}];
2
+
3
+ //# sourceMappingURL=_0zcjrbg._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[901729,a=>a.a(async(b,c)=>{try{var d=a.i(187924),e=a.i(707963),f=a.i(141146),g=a.i(168370),h=a.i(998697),i=a.i(572327),j=a.i(707938),k=a.i(483138),l=a.i(69095),m=a.i(844561),n=a.i(71215),o=a.i(649268),p=a.i(239025),q=a.i(951675),r=a.i(586446),s=a.i(572131),t=a.i(767561),u=a.i(340695),v=a.i(446181),w=a.i(287702),x=a.i(619477),y=a.i(369768),z=a.i(447478),A=a.i(432628),B=a.i(935220),C=a.i(199169),D=a.i(313237),E=a.i(759497),F=a.i(497895),G=b([y]);[y]=G.then?(await G)():G;let M={markdown:k.FileText,csv:p.Sheet,json:j.FileJson,text:k.FileText,frame:i.FileCode2,image:n.Image,audio:o.Music,video:r.Video,none:h.File};function H({label:a,rows:b,children:c}){return 0===b.length?null:(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("span",{className:"px-3 pt-3 pb-1 font-mono text-[10px] text-muted-foreground/60",children:a}),c]})}function I({entry:a,active:b,onPick:c}){let e="dir"===a.kind?l.Folder:M[a.view];return(0,d.jsxs)("button",{type:"button",onClick:c,title:"file"===a.kind?`${a.name} \xb7 ${(0,C.shortAgo)(a.at)}`:a.name,className:(0,F.cn)("mx-2 flex items-center gap-2 rounded-md px-2 py-1.5 text-left text-[13px] outline-none focus-visible:ring-3 focus-visible:ring-ring/50 focus-visible:ring-inset",b?"bg-secondary font-medium text-foreground":"text-muted-foreground hover:bg-muted/60 hover:text-foreground"),children:[(0,d.jsx)(e,{className:"size-3.5 shrink-0 opacity-70"}),(0,d.jsx)("span",{className:"min-w-0 flex-1 truncate",children:a.name}),"file"===a.kind?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("span",{className:"shrink-0 font-mono text-[11px] text-muted-foreground/75",children:(0,F.formatBytes)(a.bytes)}),(0,d.jsx)("span",{className:"w-3.5 shrink-0"})]}):(0,d.jsx)(f.ChevronRight,{className:"size-3.5 shrink-0 text-muted-foreground/50"})]})}function J({empty:a,onReveal:b}){return(0,d.jsxs)("div",{className:"space-y-4 p-8",children:[a?(0,d.jsxs)("p",{className:"max-w-lg text-sm leading-relaxed text-muted-foreground",children:["Nothing here yet. What a bot writes during a call lands in"," ",(0,d.jsx)("span",{className:"font-mono text-[13px] text-foreground",children:"artifacts/"})," ","— a page, a table, a picture — and shows up here to open."]}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("p",{className:"text-sm leading-relaxed text-muted-foreground",children:"Pick a file on the left."}),(0,d.jsx)("p",{className:"max-w-lg text-sm leading-relaxed text-muted-foreground",children:"Only what the app can open is listed — a page, a table, a picture, a note. Installed packages and tool leftovers are left out, and no folder is measured, so a folder opens as fast as it lists. Reveal folder for everything else."})]}),(0,d.jsxs)(u.Button,{variant:"outline",onClick:b,children:[(0,d.jsx)(m.FolderOpen,{}),"Reveal folder"]})]})}function K({file:a,onGone:b}){let c=a.path,[e]=(0,D.useServerAction)(B.openFileAction),[f,h]=(0,D.useServerAction)(z.deleteWorkspaceFileAction,{okMessage:"File deleted",onOk:()=>{(0,E.revalidate)(t.queryKey.workspace),b()}}),i=async()=>{await v.notify.confirm({title:`Delete ${c.split("/").pop()}?`,description:"It is deleted from disk for good.",okText:"Delete",destructive:!0})&&f(c)};return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:"flex shrink-0 items-center gap-3 border-b border-border/60 px-6 py-2",children:[(0,d.jsx)(L,{path:c}),(0,d.jsxs)("span",{className:"shrink-0 font-mono text-[11px] text-muted-foreground/70",children:[(0,F.formatBytes)(a.bytes)," · ",(0,C.shortAgo)(a.at)]}),(0,d.jsx)("a",{href:t.queryKey.fileView(c),target:"_blank",rel:"noreferrer","aria-label":"Open in a new tab",className:"grid size-7 shrink-0 place-items-center rounded-md text-muted-foreground outline-none transition-colors hover:bg-muted/60 hover:text-foreground focus-visible:ring-3 focus-visible:ring-ring/50",children:(0,d.jsx)(g.ExternalLink,{className:"size-4"})}),(0,d.jsx)(u.Button,{size:"icon-sm",variant:"ghost","aria-label":"Reveal in the file manager",className:"text-muted-foreground",onClick:()=>e(c),children:(0,d.jsx)(m.FolderOpen,{})}),(0,d.jsx)(u.Button,{size:"icon-sm",variant:"ghost","aria-label":"Delete",loading:h,className:"text-muted-foreground",onClick:i,children:(0,d.jsx)(q.Trash2,{})})]}),(0,d.jsx)("div",{className:"min-h-0 flex-1 overflow-auto",children:(0,d.jsx)(y.FilePreview,{path:c,bytes:a.bytes})})]})}function L({path:a}){let b=["workspace",...a.split("/").filter(Boolean)];return(0,d.jsx)("span",{className:"flex min-w-0 flex-1 items-center gap-1 font-mono text-[11px] text-muted-foreground",children:b.map((a,c)=>(0,d.jsxs)("span",{className:"flex min-w-0 items-center gap-1",children:[c>0&&(0,d.jsx)(f.ChevronRight,{className:"size-3 shrink-0 opacity-50"}),(0,d.jsx)("span",{className:(0,F.cn)("truncate",c===b.length-1&&"text-foreground"),children:a})]},`${c}-${a}`))})}a.s(["WorkspaceSetting",0,function(){let[a,b]=(0,s.useState)(""),[c,f]=(0,s.useState)(w.WORKSPACE_VIEW.rows),[g,h]=(0,s.useState)(null),[i,j]=(0,s.useState)(""),{data:k,isLoading:l,error:n}=(0,E.useServerRoute)(t.queryKey.workspaceFolder(a,c),{keepPreviousData:!0}),o=a=>{b(a),f(w.WORKSPACE_VIEW.rows)},[p,q]=(0,D.useServerAction)(A.emptyScratchAction,{okMessage:"Scratch emptied",onOk:()=>(0,E.revalidate)(t.queryKey.workspace)}),[r]=(0,D.useServerAction)(B.openFileAction),y=async()=>{await v.notify.confirm({title:"Empty scratch?",description:"Everything under scratch/ is deleted for good. artifacts/ and projects/ are untouched.",okText:"Empty",destructive:!0})&&p()};if(l)return(0,d.jsx)(x.SettingPanesSkeleton,{});if(n)return(0,d.jsx)(x.SettingError,{message:n.message});let z=k?.entries??[],C=k?.total??0,F=i.trim().toLowerCase(),G=F?z.filter(a=>a.name.toLowerCase().includes(F)):z,L=G.filter(a=>"dir"===a.kind),M=G.filter(a=>"file"===a.kind),N=z.find(a=>"file"===a.kind&&a.path===g?.path)??g;return(0,d.jsx)(x.SettingPanes,{footer:(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(x.SettingRailNote,{children:(0,d.jsxs)("span",{className:"font-mono",children:[(0,d.jsx)("span",{className:"font-medium text-foreground",children:`.ai-workspace${a?`/${a}`:""}`}),` \xb7 ${function(a,b){let c=a.filter(a=>"dir"===a.kind).length,d=a.length-c,e=[c&&`${c} ${1===c?"folder":"folders"}`,d&&`${d} ${1===d?"file":"files"}`].filter(Boolean);if(!e.length)return"empty";let f=e.join(" · ");return b>a.length?`${f} of ${b.toLocaleString("en")}`:f}(z,C)}`]})}),(0,d.jsxs)(u.Button,{variant:"outline",size:"sm",onClick:()=>r(a||"."),children:[(0,d.jsx)(m.FolderOpen,{}),"Reveal folder"]}),(0,d.jsx)(u.Button,{variant:"outline",size:"sm",loading:q,onClick:y,className:"text-destructive hover:text-destructive",children:"Empty scratch"})]}),left:(0,d.jsxs)("div",{className:"flex flex-col py-2",children:[(0,d.jsx)(x.SettingFilter,{value:i,onChange:j,placeholder:"Filter this folder",className:"mx-2 mb-1.5 w-auto"}),a&&(0,d.jsxs)("button",{type:"button",onClick:()=>o(a.split("/").slice(0,-1).join("/")),className:"mx-2 mb-1 flex items-center gap-1 rounded-md px-2 py-1 text-left font-mono text-[11px] text-muted-foreground outline-none hover:bg-muted/60 hover:text-foreground focus-visible:ring-3 focus-visible:ring-ring/50 focus-visible:ring-inset",children:[(0,d.jsx)(e.ChevronLeft,{className:"size-3 shrink-0"}),(0,d.jsx)("span",{className:"truncate",children:a.split("/").slice(0,-1).pop()??"workspace"})]}),0===G.length?(0,d.jsx)("p",{className:"px-4 py-3 text-xs text-muted-foreground/60",children:F?"Nothing matches":"Empty folder"}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(H,{label:"folders",rows:L,children:L.map(a=>(0,d.jsx)(I,{entry:a,onPick:()=>o(a.path)},a.path))}),(0,d.jsx)(H,{label:"files",rows:M,children:M.map(a=>(0,d.jsx)(I,{entry:a,active:a.path===g?.path,onPick:()=>"file"===a.kind&&h(a)},a.path))})]}),C>z.length&&(0,d.jsx)("button",{type:"button",onClick:()=>f(c+w.WORKSPACE_VIEW.rows),className:"mx-2 mt-2 rounded-md px-2 py-1.5 text-left font-mono text-[11px] text-muted-foreground outline-none hover:bg-muted/60 hover:text-foreground focus-visible:ring-3 focus-visible:ring-ring/50 focus-visible:ring-inset",children:`Show ${Math.min(w.WORKSPACE_VIEW.rows,C-z.length)} more of ${C.toLocaleString("en")}`})]}),right:N?.kind==="file"?(0,d.jsx)(K,{file:N,onGone:()=>h(null)},N.path):(0,d.jsx)(J,{empty:!a&&0===z.length,onReveal:()=>r(".")})})}]),c()}catch(a){c(a)}},!1),447478,a=>{"use strict";var b=a.i(405050);let c=(0,b.createServerReference)("7f194293e4c1ab83ed63877cc9d8b7aebf42b46bb8",b.callServer,void 0,b.findSourceMapURL,"deleteWorkspaceFileAction");a.s(["deleteWorkspaceFileAction",0,c])},432628,a=>{"use strict";var b=a.i(405050);let c=(0,b.createServerReference)("7f8836b516d90511f9ac2025e946c291a9cd0d8174",b.callServer,void 0,b.findSourceMapURL,"emptyScratchAction");a.s(["emptyScratchAction",0,c])},572327,a=>{"use strict";var b=a.i(164831);let c={name:"file-code-corner",size:24,node:[["path",{d:"M4 12.15V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2h-3.35",key:"1wthlu"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"m5 16-3 3 3 3",key:"331omg"}],["path",{d:"m9 22 3-3-3-3",key:"lsp7cz"}]],aliases:["file-code-2"]};c.node;let d=(0,b.default)(c);a.s(["FileCode2",0,d],572327)},69095,a=>{"use strict";var b=a.i(164831);let c={name:"folder",size:24,node:[["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]]};c.node;let d=(0,b.default)(c);a.s(["Folder",0,d],69095)},649268,a=>{"use strict";var b=a.i(164831);let c={name:"music",size:24,node:[["path",{d:"M9 18V5l12-2v13",key:"1jmyc2"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}],["circle",{cx:"18",cy:"16",r:"3",key:"1hluhg"}]]};c.node;let d=(0,b.default)(c);a.s(["Music",0,d],649268)},239025,a=>{"use strict";var b=a.i(164831);let c={name:"sheet",size:24,node:[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}],["line",{x1:"3",x2:"21",y1:"9",y2:"9",key:"1vqk6q"}],["line",{x1:"3",x2:"21",y1:"15",y2:"15",key:"o2sbyz"}],["line",{x1:"9",x2:"9",y1:"9",y2:"21",key:"1ib60c"}],["line",{x1:"15",x2:"15",y1:"9",y2:"21",key:"1n26ft"}]]};c.node;let d=(0,b.default)(c);a.s(["Sheet",0,d],239025)},951675,a=>{"use strict";var b=a.i(164831);let c={name:"trash",size:24,node:[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]],aliases:["trash-2"]};c.node;let d=(0,b.default)(c);a.s(["Trash2",0,d],951675)},586446,a=>{"use strict";var b=a.i(164831);let c={name:"video",size:24,node:[["path",{d:"m16 13 5.223 3.482a.5.5 0 0 0 .777-.416V7.87a.5.5 0 0 0-.752-.432L16 10.5",key:"ftymec"}],["rect",{x:"2",y:"6",width:"14",height:"12",rx:"2",key:"158x01"}]]};c.node;let d=(0,b.default)(c);a.s(["Video",0,d],586446)}];
1
+ module.exports=[901729,a=>a.a(async(b,c)=>{try{var d=a.i(187924),e=a.i(707963),f=a.i(141146),g=a.i(168370),h=a.i(998697),i=a.i(572327),j=a.i(707938),k=a.i(483138),l=a.i(69095),m=a.i(844561),n=a.i(71215),o=a.i(649268),p=a.i(239025),q=a.i(951675),r=a.i(586446),s=a.i(572131),t=a.i(767561),u=a.i(340695),v=a.i(446181),w=a.i(287702),x=a.i(619477),y=a.i(369768),z=a.i(246812),A=a.i(966256),B=a.i(337967),C=a.i(199169),D=a.i(313237),E=a.i(759497),F=a.i(497895),G=b([y]);[y]=G.then?(await G)():G;let M={markdown:k.FileText,csv:p.Sheet,json:j.FileJson,text:k.FileText,frame:i.FileCode2,image:n.Image,audio:o.Music,video:r.Video,none:h.File};function H({label:a,rows:b,children:c}){return 0===b.length?null:(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("span",{className:"px-3 pt-3 pb-1 font-mono text-[10px] text-muted-foreground/60",children:a}),c]})}function I({entry:a,active:b,onPick:c}){let e="dir"===a.kind?l.Folder:M[a.view];return(0,d.jsxs)("button",{type:"button",onClick:c,title:"file"===a.kind?`${a.name} \xb7 ${(0,C.shortAgo)(a.at)}`:a.name,className:(0,F.cn)("mx-2 flex items-center gap-2 rounded-md px-2 py-1.5 text-left text-[13px] outline-none focus-visible:ring-3 focus-visible:ring-ring/50 focus-visible:ring-inset",b?"bg-secondary font-medium text-foreground":"text-muted-foreground hover:bg-muted/60 hover:text-foreground"),children:[(0,d.jsx)(e,{className:"size-3.5 shrink-0 opacity-70"}),(0,d.jsx)("span",{className:"min-w-0 flex-1 truncate",children:a.name}),"file"===a.kind?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("span",{className:"shrink-0 font-mono text-[11px] text-muted-foreground/75",children:(0,F.formatBytes)(a.bytes)}),(0,d.jsx)("span",{className:"w-3.5 shrink-0"})]}):(0,d.jsx)(f.ChevronRight,{className:"size-3.5 shrink-0 text-muted-foreground/50"})]})}function J({empty:a,onReveal:b}){return(0,d.jsxs)("div",{className:"space-y-4 p-8",children:[a?(0,d.jsxs)("p",{className:"max-w-lg text-sm leading-relaxed text-muted-foreground",children:["Nothing here yet. What a bot writes during a call lands in"," ",(0,d.jsx)("span",{className:"font-mono text-[13px] text-foreground",children:"artifacts/"})," ","— a page, a table, a picture — and shows up here to open."]}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("p",{className:"text-sm leading-relaxed text-muted-foreground",children:"Pick a file on the left."}),(0,d.jsx)("p",{className:"max-w-lg text-sm leading-relaxed text-muted-foreground",children:"Only what the app can open is listed — a page, a table, a picture, a note. Installed packages and tool leftovers are left out, and no folder is measured, so a folder opens as fast as it lists. Reveal folder for everything else."})]}),(0,d.jsxs)(u.Button,{variant:"outline",onClick:b,children:[(0,d.jsx)(m.FolderOpen,{}),"Reveal folder"]})]})}function K({file:a,onGone:b}){let c=a.path,[e]=(0,D.useServerAction)(B.openFileAction),[f,h]=(0,D.useServerAction)(z.deleteWorkspaceFileAction,{okMessage:"File deleted",onOk:()=>{(0,E.revalidate)(t.queryKey.workspace),b()}}),i=async()=>{await v.notify.confirm({title:`Delete ${c.split("/").pop()}?`,description:"It is deleted from disk for good.",okText:"Delete",destructive:!0})&&f(c)};return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:"flex shrink-0 items-center gap-3 border-b border-border/60 px-6 py-2",children:[(0,d.jsx)(L,{path:c}),(0,d.jsxs)("span",{className:"shrink-0 font-mono text-[11px] text-muted-foreground/70",children:[(0,F.formatBytes)(a.bytes)," · ",(0,C.shortAgo)(a.at)]}),(0,d.jsx)("a",{href:t.queryKey.fileView(c),target:"_blank",rel:"noreferrer","aria-label":"Open in a new tab",className:"grid size-7 shrink-0 place-items-center rounded-md text-muted-foreground outline-none transition-colors hover:bg-muted/60 hover:text-foreground focus-visible:ring-3 focus-visible:ring-ring/50",children:(0,d.jsx)(g.ExternalLink,{className:"size-4"})}),(0,d.jsx)(u.Button,{size:"icon-sm",variant:"ghost","aria-label":"Reveal in the file manager",className:"text-muted-foreground",onClick:()=>e(c),children:(0,d.jsx)(m.FolderOpen,{})}),(0,d.jsx)(u.Button,{size:"icon-sm",variant:"ghost","aria-label":"Delete",loading:h,className:"text-muted-foreground",onClick:i,children:(0,d.jsx)(q.Trash2,{})})]}),(0,d.jsx)("div",{className:"min-h-0 flex-1 overflow-auto",children:(0,d.jsx)(y.FilePreview,{path:c,bytes:a.bytes})})]})}function L({path:a}){let b=["workspace",...a.split("/").filter(Boolean)];return(0,d.jsx)("span",{className:"flex min-w-0 flex-1 items-center gap-1 font-mono text-[11px] text-muted-foreground",children:b.map((a,c)=>(0,d.jsxs)("span",{className:"flex min-w-0 items-center gap-1",children:[c>0&&(0,d.jsx)(f.ChevronRight,{className:"size-3 shrink-0 opacity-50"}),(0,d.jsx)("span",{className:(0,F.cn)("truncate",c===b.length-1&&"text-foreground"),children:a})]},`${c}-${a}`))})}a.s(["WorkspaceSetting",0,function(){let[a,b]=(0,s.useState)(""),[c,f]=(0,s.useState)(w.WORKSPACE_VIEW.rows),[g,h]=(0,s.useState)(null),[i,j]=(0,s.useState)(""),{data:k,isLoading:l,error:n}=(0,E.useServerRoute)(t.queryKey.workspaceFolder(a,c),{keepPreviousData:!0}),o=a=>{b(a),f(w.WORKSPACE_VIEW.rows)},[p,q]=(0,D.useServerAction)(A.emptyScratchAction,{okMessage:"Scratch emptied",onOk:()=>(0,E.revalidate)(t.queryKey.workspace)}),[r]=(0,D.useServerAction)(B.openFileAction),y=async()=>{await v.notify.confirm({title:"Empty scratch?",description:"Everything under scratch/ is deleted for good. artifacts/ and projects/ are untouched.",okText:"Empty",destructive:!0})&&p()};if(l)return(0,d.jsx)(x.SettingPanesSkeleton,{});if(n)return(0,d.jsx)(x.SettingError,{message:n.message});let z=k?.entries??[],C=k?.total??0,F=i.trim().toLowerCase(),G=F?z.filter(a=>a.name.toLowerCase().includes(F)):z,L=G.filter(a=>"dir"===a.kind),M=G.filter(a=>"file"===a.kind),N=z.find(a=>"file"===a.kind&&a.path===g?.path)??g;return(0,d.jsx)(x.SettingPanes,{footer:(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(x.SettingRailNote,{children:(0,d.jsxs)("span",{className:"font-mono",children:[(0,d.jsx)("span",{className:"font-medium text-foreground",children:`.ai-workspace${a?`/${a}`:""}`}),` \xb7 ${function(a,b){let c=a.filter(a=>"dir"===a.kind).length,d=a.length-c,e=[c&&`${c} ${1===c?"folder":"folders"}`,d&&`${d} ${1===d?"file":"files"}`].filter(Boolean);if(!e.length)return"empty";let f=e.join(" · ");return b>a.length?`${f} of ${b.toLocaleString("en")}`:f}(z,C)}`]})}),(0,d.jsxs)(u.Button,{variant:"outline",size:"sm",onClick:()=>r(a||"."),children:[(0,d.jsx)(m.FolderOpen,{}),"Reveal folder"]}),(0,d.jsx)(u.Button,{variant:"outline",size:"sm",loading:q,onClick:y,className:"text-destructive hover:text-destructive",children:"Empty scratch"})]}),left:(0,d.jsxs)("div",{className:"flex flex-col py-2",children:[(0,d.jsx)(x.SettingFilter,{value:i,onChange:j,placeholder:"Filter this folder",className:"mx-2 mb-1.5 w-auto"}),a&&(0,d.jsxs)("button",{type:"button",onClick:()=>o(a.split("/").slice(0,-1).join("/")),className:"mx-2 mb-1 flex items-center gap-1 rounded-md px-2 py-1 text-left font-mono text-[11px] text-muted-foreground outline-none hover:bg-muted/60 hover:text-foreground focus-visible:ring-3 focus-visible:ring-ring/50 focus-visible:ring-inset",children:[(0,d.jsx)(e.ChevronLeft,{className:"size-3 shrink-0"}),(0,d.jsx)("span",{className:"truncate",children:a.split("/").slice(0,-1).pop()??"workspace"})]}),0===G.length?(0,d.jsx)("p",{className:"px-4 py-3 text-xs text-muted-foreground/60",children:F?"Nothing matches":"Empty folder"}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(H,{label:"folders",rows:L,children:L.map(a=>(0,d.jsx)(I,{entry:a,onPick:()=>o(a.path)},a.path))}),(0,d.jsx)(H,{label:"files",rows:M,children:M.map(a=>(0,d.jsx)(I,{entry:a,active:a.path===g?.path,onPick:()=>"file"===a.kind&&h(a)},a.path))})]}),C>z.length&&(0,d.jsx)("button",{type:"button",onClick:()=>f(c+w.WORKSPACE_VIEW.rows),className:"mx-2 mt-2 rounded-md px-2 py-1.5 text-left font-mono text-[11px] text-muted-foreground outline-none hover:bg-muted/60 hover:text-foreground focus-visible:ring-3 focus-visible:ring-ring/50 focus-visible:ring-inset",children:`Show ${Math.min(w.WORKSPACE_VIEW.rows,C-z.length)} more of ${C.toLocaleString("en")}`})]}),right:N?.kind==="file"?(0,d.jsx)(K,{file:N,onGone:()=>h(null)},N.path):(0,d.jsx)(J,{empty:!a&&0===z.length,onReveal:()=>r(".")})})}]),c()}catch(a){c(a)}},!1),966256,a=>{"use strict";var b=a.i(405050);let c=(0,b.createServerReference)("7f1261b41219e5808ae0097ce1333efd5b440b6888",b.callServer,void 0,b.findSourceMapURL,"emptyScratchAction");a.s(["emptyScratchAction",0,c])},246812,a=>{"use strict";var b=a.i(405050);let c=(0,b.createServerReference)("7f965a01991fcb050dbcedafae89c62f2e9244fc36",b.callServer,void 0,b.findSourceMapURL,"deleteWorkspaceFileAction");a.s(["deleteWorkspaceFileAction",0,c])},572327,a=>{"use strict";var b=a.i(164831);let c={name:"file-code-corner",size:24,node:[["path",{d:"M4 12.15V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2h-3.35",key:"1wthlu"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"m5 16-3 3 3 3",key:"331omg"}],["path",{d:"m9 22 3-3-3-3",key:"lsp7cz"}]],aliases:["file-code-2"]};c.node;let d=(0,b.default)(c);a.s(["FileCode2",0,d],572327)},69095,a=>{"use strict";var b=a.i(164831);let c={name:"folder",size:24,node:[["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]]};c.node;let d=(0,b.default)(c);a.s(["Folder",0,d],69095)},649268,a=>{"use strict";var b=a.i(164831);let c={name:"music",size:24,node:[["path",{d:"M9 18V5l12-2v13",key:"1jmyc2"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}],["circle",{cx:"18",cy:"16",r:"3",key:"1hluhg"}]]};c.node;let d=(0,b.default)(c);a.s(["Music",0,d],649268)},239025,a=>{"use strict";var b=a.i(164831);let c={name:"sheet",size:24,node:[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}],["line",{x1:"3",x2:"21",y1:"9",y2:"9",key:"1vqk6q"}],["line",{x1:"3",x2:"21",y1:"15",y2:"15",key:"o2sbyz"}],["line",{x1:"9",x2:"9",y1:"9",y2:"21",key:"1ib60c"}],["line",{x1:"15",x2:"15",y1:"9",y2:"21",key:"1n26ft"}]]};c.node;let d=(0,b.default)(c);a.s(["Sheet",0,d],239025)},951675,a=>{"use strict";var b=a.i(164831);let c={name:"trash",size:24,node:[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]],aliases:["trash-2"]};c.node;let d=(0,b.default)(c);a.s(["Trash2",0,d],951675)},586446,a=>{"use strict";var b=a.i(164831);let c={name:"video",size:24,node:[["path",{d:"m16 13 5.223 3.482a.5.5 0 0 0 .777-.416V7.87a.5.5 0 0 0-.752-.432L16 10.5",key:"ftymec"}],["rect",{x:"2",y:"6",width:"14",height:"12",rx:"2",key:"158x01"}]]};c.node;let d=(0,b.default)(c);a.s(["Video",0,d],586446)}];
2
2
 
3
- //# sourceMappingURL=_13z3f85._.js.map
3
+ //# sourceMappingURL=_1-_etts._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[647509,a=>{"use strict";a.s(["ALPHA_TOP",0,.82,"CHAR_RATE",0,2.2,"EMOJI_CHAR_RATE",0,.6,"EMOJI_MIN_LEVEL",0,6,"EMOJI_POOL",0,["🍎","🌹","🍓","❤️","🎈","🧨","🔴","🍊","🔥","🦊","🏀","🧡","🍑","⭐","🍋","🌻","💛","🐥","🌟","🍌","🍀","🌿","🐸","🥝","💚","🌵","🥑","💧","🌊","🫐","🐳","💙","🔵","🧊","🍇","💜","🔮","🟣","🪻","🍆","🌸","🌷","💗","🦩","🩷","🍫","🐻","🌰","🥐","🤍","☁️","🖤","⚪","⚫","🦢","🌈","🦜","🎨","🪩","🦄","✨","🍬","🎡"],"EMOJI_RATIO",0,.11,"RAMP",0,[[" "],[" ",".","`"],[".",",","·","'"],[":",";","-","^"],["=","+","~",'"'],["*","?","◦","j"],["c","v","○","7"],["o","x","◇","い"],["s","y","t","あ"],["e","a","u","な"],["k","w","z","や"],["q","h","n","米"]],"hash",0,function(a,b){let c=43758.5453*Math.sin(127.1*a+311.7*b);return c-Math.floor(c)},"smoothstep",0,function(a,b,c){let d=Math.min(1,Math.max(0,(c-a)/(b-a)));return d*d*(3-2*d)}])},445432,a=>{"use strict";var b=a.i(187924),c=a.i(572131),d=a.i(913834),e=a.i(287702),f=a.i(396398),g=a.i(647509);let h=[235,235,235],i=["████ ███ ███ ██ ███ ","█ █ █ █ █ █ █ █ █","███ ███ ███ █ █ ███ ","█ █ █ █ █ █ █ █ █ ","████ █ █ █ █ ██ █ █"],j={happy:[".....................",".....................","....███.......███....","...█████.....█████...","...█████.....█████...","....███.......███....",".....................",".....................","█...................█",".██...............██.","...███.........███...","......█████████......","....................."],sad:[".....................",".....................","....███.......███....","...█████.....█████...","...█████.....█████...","....███.......███....",".....................",".....................","......█████████......","...███.........███...",".██...............██.","█...................█","....................."],love:[".....................","...██.██.....██.██...","..███████...███████..","..███████...███████..","...█████.....█████...","....███.......███....",".....█.........█.....",".....................","█...................█",".██...............██.","...███.........███...","......█████████......","....................."]};function k(a,b){let c=1-(0,g.smoothstep)(104.50000000000001,190,a.dist);return(.58+.2*Math.sin(.05*a.dist-.4*b)+.07*Math.sin(.35*b))*c}function l(a,b,c,d,e){switch(a){case"idle":return k(b,c)*(0,g.smoothstep)(0,1,Math.min(1,d/1.5));case"connecting":{let a=(0,g.smoothstep)(0,1,Math.min(1,d/1.8)),e=b.dist-235*a;return Math.exp(-(e*e)/6e3)*(.2+.85*(0,g.hash)(Math.floor(b.dist/9),Math.floor(11*b.angle))+.5*(0,g.hash)(137*b.seed,7))*a+k(b,c)*(1-a)}case"speaking":{var f;let a=(0,g.smoothstep)(0,1,Math.min(1,d/.8)),h=190+(-6+40*e.phrase+120*e.bob)*a;for(let c=0;c<4;c++)h+=34*e.amp[c]*Math.sin((c+2)*b.angle+e.phase[c])*a;let i=(f=h)<=244?Math.max(130,f):244+34*Math.tanh((f-244)/34),j=(b.grain-.5)*20+20*Math.sin(5*b.angle+.9*c+6.283*b.seed)*.3,k=b.dist-(i+j),l=Math.exp(-(k*k)/800),m=.5*Math.exp(-(b.dist*b.dist)/6e3),n=b.dist<i?.3*(1-b.dist/i)**.6*(.75+.25*Math.sin(.05*b.dist-1.2*c)):0,o=0;if(b.speck<.22){let a=90*(.6+.9*b.grain);for(let d=0;d<e.rings.length;d++){let f=e.rings[d],g=c-f.born,h=b.dist-(i+6+g*a);o+=Math.exp(-(h*h)/500)*f.power*Math.max(0,1-g/.7)}}return l+m+n+o}case"working":{let a=(0,g.smoothstep)(0,1,Math.min(1,d/.7)),e=b.dist-238,f=Math.exp(-(e*e)/1100),h=b.angle-3*c,i=Math.atan2(Math.sin(h),Math.cos(h));return f*Math.exp(-(i*i)/(i<0?2.8:.16))*a+k(b,c)*(1-a)}case"error":{if(b.letter<0)return 0;let a=d%9.2,e=b.letter,f=.12*b.seed;return Math.max(0,(0,g.smoothstep)(0,1,(a-.65*e-f)/.8)-(0,g.smoothstep)(0,1,(a-5.6-.5*e-f)/.7))*(.86+.14*Math.sin(3.5*c+6*b.seed))}}}function m({className:a,mode:d="idle",charset:k=e.ASCII_FACE.charset,emotion:n=null,fontSize:o=e.ASCII_FACE.fontSize.default,density:p=e.ASCII_FACE.density.default,size:q=680,color:r=h,getSpectrum:s}){let t=(0,c.useRef)(null),u=(0,c.useRef)(null),v=(0,c.useRef)([]),w=(0,c.useRef)(null),x=(0,c.useRef)(k),y=(0,c.useRef)({cur:[...r],target:r}),z=(0,c.useRef)({cw:1,ch:1,errScale:3,faceScale:3,size:0}),A=(0,c.useRef)({cur:n,prev:null,start:-1/0}),B=(0,c.useRef)(s);B.current=s;let C=(0,c.useRef)({phrase:0,bob:0,bobVel:0,amp:[,,,,].fill(0),phase:Array.from({length:4},(a,b)=>2.1*b),rings:[]}),D=(0,c.useRef)({mode:d,start:0}),E=(0,c.useRef)(null),F=(0,c.useRef)(-1/0);return(0,c.useEffect)(()=>{let a=t.current;if(!a)return;let b=.95*o/p,c=1.25*o/p,d=680/q,e=b*d,f=c*d,h=Math.max(1,Math.floor(625.6/(i[0].length*e))),j=Math.max(1,Math.floor(557.6/(21*e)));z.current={cw:e,ch:f,errScale:h,faceScale:j,size:q};let k=[],l=Math.ceil(q/b),m=Math.ceil(q/c);for(let a=0;a<m;a++)for(let j=0;j<l;j++){let l=j*b,m=a*c,n=(l-q/2)*d,o=(m-q/2)*d,p=Math.hypot(n,o),r=function(a,b,c,d,e){let f=i.length,g=Math.floor(a/(c*e)+i[0].length/2),h=Math.floor(b/(d*e)+f/2);if(h<0||h>=f)return -1;let j=i[h];return g<0||g>=j.length||"█"!==j[g]?-1:Math.floor(g/5)}(n,o,e,f,h);r<0&&p>328||k.push({x:l+b/2,y:m+c/2,dx:n,dy:o,dist:p,angle:Math.atan2(o,n),seed:(0,g.hash)(j,a),grain:(0,g.hash)(5.7*j+19,2.3*a+53),gap:.05+.3*(0,g.hash)(7.3*j+11,3.1*a+5),birth:(0,g.hash)(3.1*j+7,5.7*a+2),death:(0,g.hash)(9.4*j+3,2.6*a+8),emoji:(0,g.hash)(2.7*j+31,5.9*a+17)<g.EMOJI_RATIO,speck:(0,g.hash)(4.1*j+23,6.3*a+41),letter:r})}v.current=k,w.current={ascii:Array.from({length:g.RAMP.length},()=>new Int32Array(k.length)),emoji:Array.from({length:g.RAMP.length},()=>new Int32Array(k.length)),asciiN:new Int32Array(g.RAMP.length),emojiN:new Int32Array(g.RAMP.length),glyph:Array(k.length)};let n=Math.min(2,window.devicePixelRatio||1);a.width=q*n,a.height=q*n,a.style.width=`${q}px`,a.style.height=`${q}px`;let r=a.getContext("2d");return r&&(r.setTransform(n,0,0,n,0,0),r.font=`700 ${o}px ui-monospace,SFMono-Regular,Menlo,monospace`,r.textAlign="center",r.textBaseline="middle",u.current=r),()=>{r?.clearRect(0,0,q,q),v.current=[],w.current=null}},[o,p,q]),(0,c.useEffect)(()=>{let a=A.current;a.cur!==n&&(A.current={cur:n,prev:a.cur,start:.001*performance.now()})},[n]),(0,c.useEffect)(()=>{x.current=k},[k]),(0,c.useEffect)(()=>{y.current.target=r},[r]),(0,c.useEffect)(()=>{let a=.001*performance.now();D.current.mode!==d?(E.current={...D.current},D.current={mode:d,start:a},F.current=a):D.current={mode:d,start:a}},[d]),(0,c.useEffect)(()=>{let a=0,b=(0,f.createVoiceFollower)(),c=Array(f.SPECTRUM_BANDS).fill(0),d=.001*performance.now(),e=f=>{let h=.001*f,i=Math.min(.05,Math.max(0,h-d));d=h;let k=u.current,m=w.current;if(!k||!m){a=requestAnimationFrame(e);return}let n=x.current,{cw:o,ch:p,faceScale:q,size:r}=z.current;m.asciiN.fill(0),m.emojiN.fill(0);let s=B.current?.();if(!s||s.length<2){for(let a=0;a<c.length;a++){let b=.5*Math.sin(1.7*h+1.7*a)+.3*Math.sin(.8*h+.6*a)+.2*Math.sin(3*h+2.9*a);c[a]=.5*b+.5}s=c}let t=C.current,G=b.read(s,i);t.phrase=G.phrase,G.onset>0&&(t.bobVel+=.06*G.onset,t.rings.push({born:h,power:G.onset}),t.rings.length>5&&t.rings.shift()),t.bobVel+=-(.012*t.bob)-.09*t.bobVel,t.bob+=t.bobVel;for(let a=0;a<4;a++){let b=Math.floor(a*G.bands.length/4),c=Math.max(b+1,Math.floor((a+1)*G.bands.length/4)),d=0;for(let a=b;a<c;a++)d+=G.bands[a];d/=c-b;let e=.7+.6*(0,g.hash)((.9*h|0)+31*a,a);t.amp[a]+=(d*e-t.amp[a])*(.05+.02*a),t.phase[a]+=i*(.5+.37*a)*(a%2?-1:1)}for(;t.rings.length>0&&h-t.rings[0].born>.7;)t.rings.shift();let H=D.current,I=E.current,J=(0,g.smoothstep)(0,1,Math.min(1,(h-F.current)/1.5)),K=null!==I&&J<1,L="error"===H.mode||K&&I?.mode==="error",M=A.current,N=h-M.start,O=Math.min(1,Math.max(0,N/.36)),P=Math.min(1,Math.max(0,(N-.36-.14)/.95)),Q=null!==M.cur||N<1.45,R=(a,b)=>{var c,d;let e,f;return c=b.dx,d=b.dy,e=Math.floor(c/(o*q)+10.5),(f=Math.floor(d/(p*q)+6.5))<0||f>=13||e<0||e>=21||"█"!==j[a][f][e]?0:f<7?1:2},S=(a,b)=>0===a?0:(1===a?1:.88)*(.74+.26*(1-Math.min(1,b.dist/270)))*(.42+.85*(0,g.hash)(Math.floor(.09*b.dx+.25*h),Math.floor(.09*b.dy-.18*h))),T=a=>{if(a.seed<.976)return 0;let b=195+160*(0,g.hash)(311*a.seed,9);return Math.exp(-((a.dist-b)**2)/7e3)*(.5+.5*Math.sin(h*(.5+1.5*(0,g.hash)(47*a.seed,21))+300*a.seed))*.36},U=v.current;for(let a=0;a<U.length;a++){let b=U[a],c=l(H.mode,b,h,h-H.start,t);if(K&&I){let a=l(I.mode,b,h,h-I.start,t);c=a+(c-a)*J}!(L&&b.letter>=0)&&((c*=(.66+.72*b.grain)*(.8+.4*(0,g.hash)(Math.floor(.05*b.dx+.5*h),Math.floor(.05*b.dy-.3*h))))>.3&&(0,g.hash)(31.7*Math.floor(1.6*h),613*b.seed)>.992&&(c=Math.max(c,.9)),c<b.gap+.05*Math.sin(.28*h+6.283*b.seed)&&(c=0));let d=!1;if(Q){let a=(0,g.smoothstep)(0,1,(1.1*O-b.death)/.08),e=(0,g.smoothstep)(0,1,(1.1*P-b.birth)/.08),f=M.cur?R(M.cur,b):0,h=M.prev?R(M.prev,b):0,i=T(b);c=(M.prev?S(h,b)+i:c)*(1-a)+(M.cur?S(f,b)+i:c)*e,d=f>0&&e>.05||h>0&&a<.95}let e=(c=c<0?0:c>1?1:c)*(g.RAMP.length-1)|0;if(0===e)continue;let f=h*(d?.75:"emojiOnly"===n?g.EMOJI_CHAR_RATE:g.CHAR_RATE)+7*b.seed|0;if("emojiOnly"===n||"emoji"===n&&b.emoji&&e>=g.EMOJI_MIN_LEVEL){let c=((b.seed*g.EMOJI_POOL.length|0)+f)%g.EMOJI_POOL.length;m.glyph[a]=g.EMOJI_POOL[c],m.emoji[e][m.emojiN[e]++]=a}else{let c=g.RAMP[e],d=((b.seed*c.length|0)+f)%c.length;m.glyph[a]=c[d],m.ascii[e][m.asciiN[e]++]=a}}k.clearRect(0,0,r,r);let V=v.current,W=g.RAMP.length-1,X=y.current;for(let a=0;a<3;a++)X.cur[a]+=(X.target[a]-X.cur[a])*.05;k.fillStyle=`rgb(${0|X.cur[0]},${0|X.cur[1]},${0|X.cur[2]})`;for(let a=1;a<=W;a++){let b=m.asciiN[a];if(0===b)continue;k.globalAlpha=g.ALPHA_TOP*(a/W);let c=m.ascii[a];for(let a=0;a<b;a++){let b=V[c[a]];k.fillText(m.glyph[c[a]],b.x,b.y)}}for(let a=1;a<=W;a++){let b=m.emojiN[a];if(0===b)continue;k.globalAlpha=.35+a/W*.65;let c=m.emoji[a];for(let a=0;a<b;a++){let b=V[c[a]];k.fillText(m.glyph[c[a]],b.x,b.y)}}k.globalAlpha=1,!K&&I&&(E.current=null),a=requestAnimationFrame(e)};return a=requestAnimationFrame(e),()=>cancelAnimationFrame(a)},[]),(0,b.jsx)("canvas",{ref:t,className:a,"aria-hidden":!0,style:{display:"block",pointerEvents:"none"}})}var n=a.i(730357),o=a.i(497895);let p={idle:"idle",connecting:"connecting",listening:"listening",speaking:"speaking",working:"thinking",delegating:"delegating"},q={ripple:18,bandEase:.03,pulse:0,punch:.05,stretch:0},r={idle:"idle",connecting:"connecting",listening:"connecting",speaking:"speaking",working:"working",delegating:"working"},s=[247,247,247],t=[10,10,10],u={mark:{label:"Mark",hint:"A silhouette with eyes. Blinks, glances, leans into a voice.",render:function({status:a,size:c,getSpectrum:e,look:f,className:g}){return(0,b.jsx)(d.BotMark,{size:c,seed:"thursday",color:f.color,shape:f.shape,outline:f.outline,state:p[a],getSpectrum:e,options:q,notify:!1,className:g})}},ascii:{label:"Ascii",hint:"A field of characters. No eyes — the whole orb is the expression.",render:function({status:a,size:c,getSpectrum:d,look:e,className:f}){let g="dark"===(0,n.useResolvedTheme)();return(0,b.jsx)(m,{mode:r[a],size:c,color:g?s:t,getSpectrum:d,charset:e.charset,fontSize:e.fontSize,density:e.density,className:f})}}},v=(0,c.memo)(function({look:a,status:d="idle",size:e=448,className:f,...g}){let h=(0,c.useRef)(null),[i,j]=(0,c.useState)(e),[k,l]=(0,c.useState)(!1);(0,c.useEffect)(()=>{let a=h.current;if(!a)return;let b=new ResizeObserver(([a])=>{let b=Math.round(a.contentRect.width);b>0&&j(b)});return b.observe(a),()=>b.disconnect()},[]),(0,c.useEffect)(()=>{let a=requestAnimationFrame(()=>l(!0));return()=>cancelAnimationFrame(a)},[]);let m=u[a.kind].render;return(0,b.jsx)("div",{ref:h,className:(0,o.cn)("aspect-square transition-opacity duration-700 ease-out",k?"opacity-100":"opacity-0",f),children:(0,b.jsx)(m,{...g,look:a,status:d,size:i})})});a.s(["FACES",0,u,"Face",0,v],445432)},359006,a=>{"use strict";let b,c;var d=a.i(920226);let e=a=>b=>{try{let c=a(b);if(c instanceof Promise)return c;return{then:a=>e(a)(c),catch(a){return this}}}catch(a){return{then(a){return this},catch:b=>e(b)(a)}}};var f=a.i(461512);let g=f.ThursdaySettingsSchema.extend({wake:f.WakeSchema.catch(f.WAKE_DEFAULT),hotkey:f.HotkeySchema.catch(f.HOTKEY_DEFAULT),callBack:f.CallBackSchema.catch(f.CALL_BACK_DEFAULT),captionView:f.CaptionViewSchema.catch("center")}),h={systemPrompt:null,model:null,wake:f.WAKE_DEFAULT,hotkey:f.HOTKEY_DEFAULT,callBack:f.CALL_BACK_DEFAULT,captionView:"center"},i=(0,d.create)()((b=a=>({...h,patch:b=>a(b)}),c={name:"thursday.settings",merge:(a,b)=>{let c=g.safeParse(a);return{...b,...c.success?c.data:h}}},(a,d,f)=>{let g,h={storage:function(a){let b;try{b=a()}catch(a){return}return{getItem:a=>{var c;let d=a=>null===a?null:JSON.parse(a,void 0),e=null!=(c=b.getItem(a))?c:null;return e instanceof Promise?e.then(d):d(e)},setItem:(a,c)=>b.setItem(a,JSON.stringify(c,void 0)),removeItem:a=>b.removeItem(a)}}(()=>window.localStorage),partialize:a=>a,version:0,merge:(a,b)=>({...b,...a}),...c},i=!1,j=0,k=new Set,l=new Set,m=h.storage;if(!m)return b((...b)=>{console.warn(`[zustand persist middleware] Unable to update item '${h.name}', the given storage is currently unavailable.`),a(...b)});let n=()=>{let a=h.partialize({...d()});return m.setItem(h.name,{state:a,version:h.version})},o=f.setState;f.setState=(a,b)=>(o(a,b),n());let p=b((...b)=>(a(...b),n()));f.getInitialState=()=>p;let q=()=>{var b,c;if(!m)return;let f=++j;i=!1,k.forEach(a=>{var b;return a(null!=(b=d())?b:p)});let o=(null==(c=h.onRehydrateStorage)?void 0:c.call(h,null!=(b=d())?b:p))||void 0;return e(m.getItem.bind(m))(h.name).then(a=>{if(a)if("number"!=typeof a.version||a.version===h.version)return[!1,a.state];else{if(h.migrate){let b=h.migrate(a.state,a.version);return b instanceof Promise?b.then(a=>[!0,a]):[!0,b]}console.error("State loaded from storage couldn't be migrated since no migrate function was provided")}return[!1,void 0]}).then(b=>{var c;if(f!==j)return;let[e,i]=b;if(a(g=h.merge(i,null!=(c=d())?c:p),!0),e)return n()}).then(()=>{f===j&&(null==o||o(d(),void 0),g=d(),i=!0,l.forEach(a=>a(g)))}).catch(a=>{f===j&&(null==o||o(void 0,a))})};return f.persist={setOptions:a=>{h={...h,...a},a.storage&&(m=a.storage)},clearStorage:()=>{++j,null==m||m.removeItem(h.name)},getOptions:()=>h,rehydrate:()=>q(),hasHydrated:()=>i,onHydrate:a=>(k.add(a),()=>{k.delete(a)}),onFinishHydration:a=>(l.add(a),()=>{l.delete(a)})},h.skipHydration||q(),g||p}));a.s(["thursdaySettings",0,()=>{let{systemPrompt:a,model:b}=i.getState();return{systemPrompt:a,model:b,locale:"u"<typeof navigator?null:navigator.language??null}},"useThursdayStore",0,i],359006)},27418,a=>{"use strict";var b=a.i(421042);let c={[b.TOOL_NAMES.memory_recall]:"Checking your notes",[b.TOOL_NAMES.memory_remember]:"Noting that down",[b.TOOL_NAMES.memory_forget]:"Forgetting that",[b.TOOL_NAMES.memory_show]:"Putting your notes on screen",[b.TOOL_NAMES.bash]:"Doing it on this computer",[b.TOOL_NAMES.web_search]:"Searching the web",[b.TOOL_NAMES.load_skill]:"Reading how to do this",[b.TOOL_NAMES.end_call]:"Ending the call"};function d(a){if(!a)return null;try{let b=JSON.parse(a);if(b&&"object"==typeof b&&!Array.isArray(b))return b}catch{}return null}a.s(["delegatedLabel",0,function(a,c){if(a!==b.TOOL_NAMES.delegate)return null;try{let a=JSON.parse(c);return"string"==typeof a.label?a.label:null}catch{return null}},"toolBot",0,function(a,c){if(a!==b.TOOL_NAMES.delegate&&a!==b.TOOL_NAMES.ask_bot)return null;let e=d(c)?.bot;return"string"==typeof e&&e.trim()?e.trim():null},"toolLine",0,function(a,e){let f;if(a===b.TOOL_NAMES.tool_search||a===b.TOOL_NAMES.tool_call)return"Reaching a connected service";let g=d(e);return(g&&function(a,c){if(a===b.TOOL_NAMES.memory_remember){let a="string"==typeof c.path?c.path.trim():"",b=function(a){if(!Array.isArray(a.facts))return null;let b=a.facts.map(a=>a&&"object"==typeof a&&"string"==typeof a.text?a.text.trim():"").filter(Boolean);return b.length?{text:b[0],more:b.length-1}:null}(c);if(!a)return null;if(!b)return`Noting that under ${a}`;let d=b.more>0?` (+${b.more})`:"";return`Noting under ${a}: ${function(a){let b=a.trim().replace(/\s+/g," ");if(b.length<=28)return b;let c=b.slice(0,28),d=c.lastIndexOf(" ");return`${(d>14?c.slice(0,d):c).trimEnd()}…`}(b.text)}${d}`}if(a===b.TOOL_NAMES.delegate){let a="string"==typeof c.bot?c.bot.trim():"";return a?`Handing this to ${a}`:"Handing this over"}if(a===b.TOOL_NAMES.task){let a="string"==typeof c.task?c.task.trim():"";return"answer"===c.action?"Passing that back":"cancel"===c.action?"Stopping that":a?`Checking on ${a}`:"Checking the jobs"}return null}(a,g))??c[a]??((f=a.indexOf("__"))<=0?null:`Reaching ${a.slice(0,f).replace(/[-_]/g," ")}`)}])},332033,a=>{"use strict";var b=a.i(572131);let c=["ctrl","alt","meta"],d=/^(Control|Alt|Shift|Meta|OS)/,e=/^(input|textarea|select)$/i;function f(a){let{code:b,ctrlKey:c,altKey:e,shiftKey:f,metaKey:g}=a;if(!b||d.test(b)||!c&&!e&&!g)return null;let h=[];return c&&h.push("ctrl"),e&&h.push("alt"),f&&h.push("shift"),g&&h.push("meta"),[...h,b].join("+")}let g={ctrl:["Ctrl","⌃"],alt:["Alt","⌥"],shift:["Shift","⇧"],meta:["Meta","⌘"]};a.s(["HOTKEY_CAPTURE",0,{"data-hotkey-capture":""},"comboOf",0,f,"isCombo",0,a=>{let b=a.split("+"),e=b.at(-1);return!!(e&&!d.test(e)&&b.slice(0,-1).some(a=>c.includes(a)))},"useHotkey",0,function({enabled:a,combo:c,onPress:d}){let g=(0,b.useRef)(d);g.current=d,(0,b.useEffect)(()=>{if(!a||!c)return;let b=a=>{var b;a.repeat||(b=a.target)&&(e.test(b.tagName)||b.isContentEditable||b.closest?.("[data-hotkey-capture]"))||f(a)===c&&(a.preventDefault(),g.current())};return window.addEventListener("keydown",b),()=>window.removeEventListener("keydown",b)},[a,c])},"useHotkeyLabel",0,function(a){let[c,d]=(0,b.useState)(!1);return(0,b.useEffect)(()=>d(/mac/i.test(navigator.userAgent)),[]),a?function(a,b=!1){let c=a.split("+"),d=c.at(-1)??"",e=c.slice(0,-1).map(a=>g[a]?.[+!!b]??a),f=d.replace(/^(Key|Digit|Numpad)/,"").replace(/([a-z])([A-Z])/g,"$1 $2")||d;return b?[...e,f].join(""):[...e,f].join(" + ")}(a,c):null}])}];
1
+ module.exports=[647509,a=>{"use strict";a.s(["ALPHA_TOP",0,.82,"CHAR_RATE",0,2.2,"EMOJI_CHAR_RATE",0,.6,"EMOJI_MIN_LEVEL",0,6,"EMOJI_POOL",0,["🍎","🌹","🍓","❤️","🎈","🧨","🔴","🍊","🔥","🦊","🏀","🧡","🍑","⭐","🍋","🌻","💛","🐥","🌟","🍌","🍀","🌿","🐸","🥝","💚","🌵","🥑","💧","🌊","🫐","🐳","💙","🔵","🧊","🍇","💜","🔮","🟣","🪻","🍆","🌸","🌷","💗","🦩","🩷","🍫","🐻","🌰","🥐","🤍","☁️","🖤","⚪","⚫","🦢","🌈","🦜","🎨","🪩","🦄","✨","🍬","🎡"],"EMOJI_RATIO",0,.11,"RAMP",0,[[" "],[" ",".","`"],[".",",","·","'"],[":",";","-","^"],["=","+","~",'"'],["*","?","◦","j"],["c","v","○","7"],["o","x","◇","い"],["s","y","t","あ"],["e","a","u","な"],["k","w","z","や"],["q","h","n","米"]],"hash",0,function(a,b){let c=43758.5453*Math.sin(127.1*a+311.7*b);return c-Math.floor(c)},"smoothstep",0,function(a,b,c){let d=Math.min(1,Math.max(0,(c-a)/(b-a)));return d*d*(3-2*d)}])},445432,a=>{"use strict";var b=a.i(187924),c=a.i(572131),d=a.i(913834),e=a.i(287702),f=a.i(396398),g=a.i(647509);let h=[235,235,235],i=["████ ███ ███ ██ ███ ","█ █ █ █ █ █ █ █ █","███ ███ ███ █ █ ███ ","█ █ █ █ █ █ █ █ █ ","████ █ █ █ █ ██ █ █"],j={happy:[".....................",".....................","....███.......███....","...█████.....█████...","...█████.....█████...","....███.......███....",".....................",".....................","█...................█",".██...............██.","...███.........███...","......█████████......","....................."],sad:[".....................",".....................","....███.......███....","...█████.....█████...","...█████.....█████...","....███.......███....",".....................",".....................","......█████████......","...███.........███...",".██...............██.","█...................█","....................."],love:[".....................","...██.██.....██.██...","..███████...███████..","..███████...███████..","...█████.....█████...","....███.......███....",".....█.........█.....",".....................","█...................█",".██...............██.","...███.........███...","......█████████......","....................."]};function k(a,b){let c=1-(0,g.smoothstep)(104.50000000000001,190,a.dist);return(.58+.2*Math.sin(.05*a.dist-.4*b)+.07*Math.sin(.35*b))*c}function l(a,b,c,d,e){switch(a){case"idle":return k(b,c)*(0,g.smoothstep)(0,1,Math.min(1,d/1.5));case"connecting":{let a=(0,g.smoothstep)(0,1,Math.min(1,d/1.8)),e=b.dist-235*a;return Math.exp(-(e*e)/6e3)*(.2+.85*(0,g.hash)(Math.floor(b.dist/9),Math.floor(11*b.angle))+.5*(0,g.hash)(137*b.seed,7))*a+k(b,c)*(1-a)}case"speaking":{var f;let a=(0,g.smoothstep)(0,1,Math.min(1,d/.8)),h=190+(-6+40*e.phrase+120*e.bob)*a;for(let c=0;c<4;c++)h+=34*e.amp[c]*Math.sin((c+2)*b.angle+e.phase[c])*a;let i=(f=h)<=244?Math.max(130,f):244+34*Math.tanh((f-244)/34),j=(b.grain-.5)*20+20*Math.sin(5*b.angle+.9*c+6.283*b.seed)*.3,k=b.dist-(i+j),l=Math.exp(-(k*k)/800),m=.5*Math.exp(-(b.dist*b.dist)/6e3),n=b.dist<i?.3*(1-b.dist/i)**.6*(.75+.25*Math.sin(.05*b.dist-1.2*c)):0,o=0;if(b.speck<.22){let a=90*(.6+.9*b.grain);for(let d=0;d<e.rings.length;d++){let f=e.rings[d],g=c-f.born,h=b.dist-(i+6+g*a);o+=Math.exp(-(h*h)/500)*f.power*Math.max(0,1-g/.7)}}return l+m+n+o}case"working":{let a=(0,g.smoothstep)(0,1,Math.min(1,d/.7)),e=b.dist-238,f=Math.exp(-(e*e)/1100),h=b.angle-3*c,i=Math.atan2(Math.sin(h),Math.cos(h));return f*Math.exp(-(i*i)/(i<0?2.8:.16))*a+k(b,c)*(1-a)}case"error":{if(b.letter<0)return 0;let a=d%9.2,e=b.letter,f=.12*b.seed;return Math.max(0,(0,g.smoothstep)(0,1,(a-.65*e-f)/.8)-(0,g.smoothstep)(0,1,(a-5.6-.5*e-f)/.7))*(.86+.14*Math.sin(3.5*c+6*b.seed))}}}function m({className:a,mode:d="idle",charset:k=e.ASCII_FACE.charset,emotion:n=null,fontSize:o=e.ASCII_FACE.fontSize.default,density:p=e.ASCII_FACE.density.default,size:q=680,color:r=h,getSpectrum:s}){let t=(0,c.useRef)(null),u=(0,c.useRef)(null),v=(0,c.useRef)([]),w=(0,c.useRef)(null),x=(0,c.useRef)(k),y=(0,c.useRef)({cur:[...r],target:r}),z=(0,c.useRef)({cw:1,ch:1,errScale:3,faceScale:3,size:0}),A=(0,c.useRef)({cur:n,prev:null,start:-1/0}),B=(0,c.useRef)(s);B.current=s;let C=(0,c.useRef)({phrase:0,bob:0,bobVel:0,amp:[,,,,].fill(0),phase:Array.from({length:4},(a,b)=>2.1*b),rings:[]}),D=(0,c.useRef)({mode:d,start:0}),E=(0,c.useRef)(null),F=(0,c.useRef)(-1/0);return(0,c.useEffect)(()=>{let a=t.current;if(!a)return;let b=.95*o/p,c=1.25*o/p,d=680/q,e=b*d,f=c*d,h=Math.max(1,Math.floor(625.6/(i[0].length*e))),j=Math.max(1,Math.floor(557.6/(21*e)));z.current={cw:e,ch:f,errScale:h,faceScale:j,size:q};let k=[],l=Math.ceil(q/b),m=Math.ceil(q/c);for(let a=0;a<m;a++)for(let j=0;j<l;j++){let l=j*b,m=a*c,n=(l-q/2)*d,o=(m-q/2)*d,p=Math.hypot(n,o),r=function(a,b,c,d,e){let f=i.length,g=Math.floor(a/(c*e)+i[0].length/2),h=Math.floor(b/(d*e)+f/2);if(h<0||h>=f)return -1;let j=i[h];return g<0||g>=j.length||"█"!==j[g]?-1:Math.floor(g/5)}(n,o,e,f,h);r<0&&p>328||k.push({x:l+b/2,y:m+c/2,dx:n,dy:o,dist:p,angle:Math.atan2(o,n),seed:(0,g.hash)(j,a),grain:(0,g.hash)(5.7*j+19,2.3*a+53),gap:.05+.3*(0,g.hash)(7.3*j+11,3.1*a+5),birth:(0,g.hash)(3.1*j+7,5.7*a+2),death:(0,g.hash)(9.4*j+3,2.6*a+8),emoji:(0,g.hash)(2.7*j+31,5.9*a+17)<g.EMOJI_RATIO,speck:(0,g.hash)(4.1*j+23,6.3*a+41),letter:r})}v.current=k,w.current={ascii:Array.from({length:g.RAMP.length},()=>new Int32Array(k.length)),emoji:Array.from({length:g.RAMP.length},()=>new Int32Array(k.length)),asciiN:new Int32Array(g.RAMP.length),emojiN:new Int32Array(g.RAMP.length),glyph:Array(k.length)};let n=Math.min(2,window.devicePixelRatio||1);a.width=q*n,a.height=q*n,a.style.width=`${q}px`,a.style.height=`${q}px`;let r=a.getContext("2d");return r&&(r.setTransform(n,0,0,n,0,0),r.font=`700 ${o}px ui-monospace,SFMono-Regular,Menlo,monospace`,r.textAlign="center",r.textBaseline="middle",u.current=r),()=>{r?.clearRect(0,0,q,q),v.current=[],w.current=null}},[o,p,q]),(0,c.useEffect)(()=>{let a=A.current;a.cur!==n&&(A.current={cur:n,prev:a.cur,start:.001*performance.now()})},[n]),(0,c.useEffect)(()=>{x.current=k},[k]),(0,c.useEffect)(()=>{y.current.target=r},[r]),(0,c.useEffect)(()=>{let a=.001*performance.now();D.current.mode!==d?(E.current={...D.current},D.current={mode:d,start:a},F.current=a):D.current={mode:d,start:a}},[d]),(0,c.useEffect)(()=>{let a=0,b=(0,f.createVoiceFollower)(),c=Array(f.SPECTRUM_BANDS).fill(0),d=.001*performance.now(),e=f=>{let h=.001*f,i=Math.min(.05,Math.max(0,h-d));d=h;let k=u.current,m=w.current;if(!k||!m){a=requestAnimationFrame(e);return}let n=x.current,{cw:o,ch:p,faceScale:q,size:r}=z.current;m.asciiN.fill(0),m.emojiN.fill(0);let s=B.current?.();if(!s||s.length<2){for(let a=0;a<c.length;a++){let b=.5*Math.sin(1.7*h+1.7*a)+.3*Math.sin(.8*h+.6*a)+.2*Math.sin(3*h+2.9*a);c[a]=.5*b+.5}s=c}let t=C.current,G=b.read(s,i);t.phrase=G.phrase,G.onset>0&&(t.bobVel+=.06*G.onset,t.rings.push({born:h,power:G.onset}),t.rings.length>5&&t.rings.shift()),t.bobVel+=-(.012*t.bob)-.09*t.bobVel,t.bob+=t.bobVel;for(let a=0;a<4;a++){let b=Math.floor(a*G.bands.length/4),c=Math.max(b+1,Math.floor((a+1)*G.bands.length/4)),d=0;for(let a=b;a<c;a++)d+=G.bands[a];d/=c-b;let e=.7+.6*(0,g.hash)((.9*h|0)+31*a,a);t.amp[a]+=(d*e-t.amp[a])*(.05+.02*a),t.phase[a]+=i*(.5+.37*a)*(a%2?-1:1)}for(;t.rings.length>0&&h-t.rings[0].born>.7;)t.rings.shift();let H=D.current,I=E.current,J=(0,g.smoothstep)(0,1,Math.min(1,(h-F.current)/1.5)),K=null!==I&&J<1,L="error"===H.mode||K&&I?.mode==="error",M=A.current,N=h-M.start,O=Math.min(1,Math.max(0,N/.36)),P=Math.min(1,Math.max(0,(N-.36-.14)/.95)),Q=null!==M.cur||N<1.45,R=(a,b)=>{var c,d;let e,f;return c=b.dx,d=b.dy,e=Math.floor(c/(o*q)+10.5),(f=Math.floor(d/(p*q)+6.5))<0||f>=13||e<0||e>=21||"█"!==j[a][f][e]?0:f<7?1:2},S=(a,b)=>0===a?0:(1===a?1:.88)*(.74+.26*(1-Math.min(1,b.dist/270)))*(.42+.85*(0,g.hash)(Math.floor(.09*b.dx+.25*h),Math.floor(.09*b.dy-.18*h))),T=a=>{if(a.seed<.976)return 0;let b=195+160*(0,g.hash)(311*a.seed,9);return Math.exp(-((a.dist-b)**2)/7e3)*(.5+.5*Math.sin(h*(.5+1.5*(0,g.hash)(47*a.seed,21))+300*a.seed))*.36},U=v.current;for(let a=0;a<U.length;a++){let b=U[a],c=l(H.mode,b,h,h-H.start,t);if(K&&I){let a=l(I.mode,b,h,h-I.start,t);c=a+(c-a)*J}!(L&&b.letter>=0)&&((c*=(.66+.72*b.grain)*(.8+.4*(0,g.hash)(Math.floor(.05*b.dx+.5*h),Math.floor(.05*b.dy-.3*h))))>.3&&(0,g.hash)(31.7*Math.floor(1.6*h),613*b.seed)>.992&&(c=Math.max(c,.9)),c<b.gap+.05*Math.sin(.28*h+6.283*b.seed)&&(c=0));let d=!1;if(Q){let a=(0,g.smoothstep)(0,1,(1.1*O-b.death)/.08),e=(0,g.smoothstep)(0,1,(1.1*P-b.birth)/.08),f=M.cur?R(M.cur,b):0,h=M.prev?R(M.prev,b):0,i=T(b);c=(M.prev?S(h,b)+i:c)*(1-a)+(M.cur?S(f,b)+i:c)*e,d=f>0&&e>.05||h>0&&a<.95}let e=(c=c<0?0:c>1?1:c)*(g.RAMP.length-1)|0;if(0===e)continue;let f=h*(d?.75:"emojiOnly"===n?g.EMOJI_CHAR_RATE:g.CHAR_RATE)+7*b.seed|0;if("emojiOnly"===n||"emoji"===n&&b.emoji&&e>=g.EMOJI_MIN_LEVEL){let c=((b.seed*g.EMOJI_POOL.length|0)+f)%g.EMOJI_POOL.length;m.glyph[a]=g.EMOJI_POOL[c],m.emoji[e][m.emojiN[e]++]=a}else{let c=g.RAMP[e],d=((b.seed*c.length|0)+f)%c.length;m.glyph[a]=c[d],m.ascii[e][m.asciiN[e]++]=a}}k.clearRect(0,0,r,r);let V=v.current,W=g.RAMP.length-1,X=y.current;for(let a=0;a<3;a++)X.cur[a]+=(X.target[a]-X.cur[a])*.05;k.fillStyle=`rgb(${0|X.cur[0]},${0|X.cur[1]},${0|X.cur[2]})`;for(let a=1;a<=W;a++){let b=m.asciiN[a];if(0===b)continue;k.globalAlpha=g.ALPHA_TOP*(a/W);let c=m.ascii[a];for(let a=0;a<b;a++){let b=V[c[a]];k.fillText(m.glyph[c[a]],b.x,b.y)}}for(let a=1;a<=W;a++){let b=m.emojiN[a];if(0===b)continue;k.globalAlpha=.35+a/W*.65;let c=m.emoji[a];for(let a=0;a<b;a++){let b=V[c[a]];k.fillText(m.glyph[c[a]],b.x,b.y)}}k.globalAlpha=1,!K&&I&&(E.current=null),a=requestAnimationFrame(e)};return a=requestAnimationFrame(e),()=>cancelAnimationFrame(a)},[]),(0,b.jsx)("canvas",{ref:t,className:a,"aria-hidden":!0,style:{display:"block",pointerEvents:"none"}})}var n=a.i(730357),o=a.i(497895);let p={idle:"idle",connecting:"connecting",listening:"listening",speaking:"speaking",working:"thinking",delegating:"delegating"},q={ripple:18,bandEase:.03,pulse:0,punch:.05,stretch:0},r={idle:"idle",connecting:"connecting",listening:"connecting",speaking:"speaking",working:"working",delegating:"working"},s=[247,247,247],t=[10,10,10],u={mark:{label:"Mark",hint:"A silhouette with eyes. Blinks, glances, leans into a voice.",render:function({status:a,size:c,getSpectrum:e,look:f,className:g}){return(0,b.jsx)(d.BotMark,{size:c,seed:"thursday",color:f.color,shape:f.shape,outline:f.outline,state:p[a],getSpectrum:e,options:q,notify:!1,className:g})}},ascii:{label:"Ascii",hint:"A field of characters. No eyes — the whole orb is the expression.",render:function({status:a,size:c,getSpectrum:d,look:e,className:f}){let g="dark"===(0,n.useResolvedTheme)();return(0,b.jsx)(m,{mode:r[a],size:c,color:g?s:t,getSpectrum:d,charset:e.charset,fontSize:e.fontSize,density:e.density,className:f})}}},v=(0,c.memo)(function({look:a,status:d="idle",size:e=448,className:f,...g}){let h=(0,c.useRef)(null),[i,j]=(0,c.useState)(e),[k,l]=(0,c.useState)(!1);(0,c.useEffect)(()=>{let a=h.current;if(!a)return;let b=new ResizeObserver(([a])=>{let b=Math.round(a.contentRect.width);b>0&&j(b)});return b.observe(a),()=>b.disconnect()},[]),(0,c.useEffect)(()=>{let a=requestAnimationFrame(()=>l(!0));return()=>cancelAnimationFrame(a)},[]);let m=u[a.kind].render;return(0,b.jsx)("div",{ref:h,className:(0,o.cn)("aspect-square transition-opacity duration-700 ease-out",k?"opacity-100":"opacity-0",f),children:(0,b.jsx)(m,{...g,look:a,status:d,size:i})})});a.s(["FACES",0,u,"Face",0,v],445432)},359006,a=>{"use strict";let b,c;var d=a.i(920226);let e=a=>b=>{try{let c=a(b);if(c instanceof Promise)return c;return{then:a=>e(a)(c),catch(a){return this}}}catch(a){return{then(a){return this},catch:b=>e(b)(a)}}};var f=a.i(461512);let g=f.ThursdaySettingsSchema.extend({wake:f.WakeSchema.catch(f.WAKE_DEFAULT),hotkey:f.HotkeySchema.catch(f.HOTKEY_DEFAULT),callBack:f.CallBackSchema.catch(f.CALL_BACK_DEFAULT),captionView:f.CaptionViewSchema.catch("center")}),h={systemPrompt:null,model:null,wake:f.WAKE_DEFAULT,hotkey:f.HOTKEY_DEFAULT,callBack:f.CALL_BACK_DEFAULT,captionView:"center"},i=(0,d.create)()((b=a=>({...h,patch:b=>a(b)}),c={name:"thursday.settings",merge:(a,b)=>{let c=g.safeParse(a);return{...b,...c.success?c.data:h}}},(a,d,f)=>{let g,h={storage:function(a){let b;try{b=a()}catch(a){return}return{getItem:a=>{var c;let d=a=>null===a?null:JSON.parse(a,void 0),e=null!=(c=b.getItem(a))?c:null;return e instanceof Promise?e.then(d):d(e)},setItem:(a,c)=>b.setItem(a,JSON.stringify(c,void 0)),removeItem:a=>b.removeItem(a)}}(()=>window.localStorage),partialize:a=>a,version:0,merge:(a,b)=>({...b,...a}),...c},i=!1,j=0,k=new Set,l=new Set,m=h.storage;if(!m)return b((...b)=>{console.warn(`[zustand persist middleware] Unable to update item '${h.name}', the given storage is currently unavailable.`),a(...b)});let n=()=>{let a=h.partialize({...d()});return m.setItem(h.name,{state:a,version:h.version})},o=f.setState;f.setState=(a,b)=>(o(a,b),n());let p=b((...b)=>(a(...b),n()));f.getInitialState=()=>p;let q=()=>{var b,c;if(!m)return;let f=++j;i=!1,k.forEach(a=>{var b;return a(null!=(b=d())?b:p)});let o=(null==(c=h.onRehydrateStorage)?void 0:c.call(h,null!=(b=d())?b:p))||void 0;return e(m.getItem.bind(m))(h.name).then(a=>{if(a)if("number"!=typeof a.version||a.version===h.version)return[!1,a.state];else{if(h.migrate){let b=h.migrate(a.state,a.version);return b instanceof Promise?b.then(a=>[!0,a]):[!0,b]}console.error("State loaded from storage couldn't be migrated since no migrate function was provided")}return[!1,void 0]}).then(b=>{var c;if(f!==j)return;let[e,i]=b;if(a(g=h.merge(i,null!=(c=d())?c:p),!0),e)return n()}).then(()=>{f===j&&(null==o||o(d(),void 0),g=d(),i=!0,l.forEach(a=>a(g)))}).catch(a=>{f===j&&(null==o||o(void 0,a))})};return f.persist={setOptions:a=>{h={...h,...a},a.storage&&(m=a.storage)},clearStorage:()=>{++j,null==m||m.removeItem(h.name)},getOptions:()=>h,rehydrate:()=>q(),hasHydrated:()=>i,onHydrate:a=>(k.add(a),()=>{k.delete(a)}),onFinishHydration:a=>(l.add(a),()=>{l.delete(a)})},h.skipHydration||q(),g||p}));a.s(["thursdaySettings",0,()=>{let{systemPrompt:a,model:b}=i.getState();return{systemPrompt:a,model:b,locale:"u"<typeof navigator?null:navigator.language??null}},"useThursdayStore",0,i],359006)},27418,a=>{"use strict";var b=a.i(421042);let c={[b.TOOL_NAMES.memory_recall]:"Checking your notes",[b.TOOL_NAMES.memory_remember]:"Noting that down",[b.TOOL_NAMES.memory_forget]:"Forgetting that",[b.TOOL_NAMES.bash]:"Doing it on this computer",[b.TOOL_NAMES.web_search]:"Searching the web",[b.TOOL_NAMES.load_skill]:"Reading how to do this",[b.TOOL_NAMES.end_call]:"Ending the call"};function d(a){if(!a)return null;try{let b=JSON.parse(a);if(b&&"object"==typeof b&&!Array.isArray(b))return b}catch{}return null}a.s(["delegatedLabel",0,function(a,c){if(a!==b.TOOL_NAMES.delegate)return null;try{let a=JSON.parse(c);return"string"==typeof a.label?a.label:null}catch{return null}},"toolBot",0,function(a,c){if(a!==b.TOOL_NAMES.delegate&&a!==b.TOOL_NAMES.ask_bot)return null;let e=d(c)?.bot;return"string"==typeof e&&e.trim()?e.trim():null},"toolLine",0,function(a,e){let f;if(a===b.TOOL_NAMES.tool_search||a===b.TOOL_NAMES.tool_call)return"Reaching a connected service";let g=d(e);return(g&&function(a,c){if(a===b.TOOL_NAMES.memory_remember){let a="string"==typeof c.path?c.path.trim():"",b=function(a){if(!Array.isArray(a.facts))return null;let b=a.facts.map(a=>a&&"object"==typeof a&&"string"==typeof a.text?a.text.trim():"").filter(Boolean);return b.length?{text:b[0],more:b.length-1}:null}(c);if(!a)return null;if(!b)return`Noting that under ${a}`;let d=b.more>0?` (+${b.more})`:"";return`Noting under ${a}: ${function(a){let b=a.trim().replace(/\s+/g," ");if(b.length<=28)return b;let c=b.slice(0,28),d=c.lastIndexOf(" ");return`${(d>14?c.slice(0,d):c).trimEnd()}…`}(b.text)}${d}`}if(a===b.TOOL_NAMES.delegate){let a="string"==typeof c.bot?c.bot.trim():"";return a?`Handing this to ${a}`:"Handing this over"}if(a===b.TOOL_NAMES.task){let a="string"==typeof c.task?c.task.trim():"";return"answer"===c.action?"Passing that back":"cancel"===c.action?"Stopping that":a?`Checking on ${a}`:"Checking the jobs"}return null}(a,g))??c[a]??((f=a.indexOf("__"))<=0?null:`Reaching ${a.slice(0,f).replace(/[-_]/g," ")}`)}])},332033,a=>{"use strict";var b=a.i(572131);let c=["ctrl","alt","meta"],d=/^(Control|Alt|Shift|Meta|OS)/,e=/^(input|textarea|select)$/i;function f(a){let{code:b,ctrlKey:c,altKey:e,shiftKey:f,metaKey:g}=a;if(!b||d.test(b)||!c&&!e&&!g)return null;let h=[];return c&&h.push("ctrl"),e&&h.push("alt"),f&&h.push("shift"),g&&h.push("meta"),[...h,b].join("+")}let g={ctrl:["Ctrl","⌃"],alt:["Alt","⌥"],shift:["Shift","⇧"],meta:["Meta","⌘"]};a.s(["HOTKEY_CAPTURE",0,{"data-hotkey-capture":""},"comboOf",0,f,"isCombo",0,a=>{let b=a.split("+"),e=b.at(-1);return!!(e&&!d.test(e)&&b.slice(0,-1).some(a=>c.includes(a)))},"useHotkey",0,function({enabled:a,combo:c,onPress:d}){let g=(0,b.useRef)(d);g.current=d,(0,b.useEffect)(()=>{if(!a||!c)return;let b=a=>{var b;a.repeat||(b=a.target)&&(e.test(b.tagName)||b.isContentEditable||b.closest?.("[data-hotkey-capture]"))||f(a)===c&&(a.preventDefault(),g.current())};return window.addEventListener("keydown",b),()=>window.removeEventListener("keydown",b)},[a,c])},"useHotkeyLabel",0,function(a){let[c,d]=(0,b.useState)(!1);return(0,b.useEffect)(()=>d(/mac/i.test(navigator.userAgent)),[]),a?function(a,b=!1){let c=a.split("+"),d=c.at(-1)??"",e=c.slice(0,-1).map(a=>g[a]?.[+!!b]??a),f=d.replace(/^(Key|Digit|Numpad)/,"").replace(/([a-z])([A-Z])/g,"$1 $2")||d;return b?[...e,f].join(""):[...e,f].join(" + ")}(a,c):null}])}];
2
2
 
3
3
  //# sourceMappingURL=_13fke0x._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[102306,a=>a.a(async(b,c)=>{try{var d=a.i(187924),e=a.i(141146),f=a.i(866491),g=a.i(951675),h=a.i(572131),i=a.i(767561),j=a.i(340695),k=a.i(446181),l=a.i(545097),m=a.i(950463),n=a.i(287702),o=a.i(8468),p=a.i(619477),q=a.i(199169),r=a.i(313237),s=a.i(862966),t=a.i(497895),u=a.i(479461),v=a.i(464013),w=a.i(27418),x=a.i(346075),y=b([o]);[o]=y.then?(await y)():y;let F={running:"working",waiting:"waiting on you",done:"done",failed:"failed"},G={running:"text-muted-foreground",waiting:t.WAITING_INK,done:"text-muted-foreground",failed:"text-destructive"},H="h-[min(34rem,58vh)] min-h-64 px-1";function z(){let{items:a,isLoading:b,isLoadingMore:c,error:e,hasMore:f,sentinelRef:l,refresh:m}=(0,s.useServerPages)({key:(a,b)=>{if(0===a)return i.queryKey.callHistory(null);let c=b?.at(-1);return c?i.queryKey.callHistory((0,q.toDate)(c.startedAt).toISOString()):null},size:n.CALL_HISTORY_PAGE,swr:{revalidateOnFocus:!1}}),o=(0,h.useMemo)(()=>[...a].reverse(),[a]),[u,w]=(0,r.useServerAction)(v.deleteEndedCallsAction,{okMessage:a=>1===a?"1 call deleted":`${a} calls deleted`,onOk:m}),x=async()=>{await k.notify.confirm({title:"Delete every call?",description:"Every turn of every call goes — and she stops reading any of it back into the next call. A call still on the line stays.",okText:"Delete all",destructive:!0})&&u()},y=(0,h.useRef)(null),z=(0,h.useRef)(!1),C=(0,h.useRef)(0);return((0,h.useLayoutEffect)(()=>{let a=y.current;a&&0!==o.length&&(z.current?a.scrollTop=a.scrollHeight-C.current:(z.current=!0,a.scrollTop=a.scrollHeight),C.current=a.scrollHeight-a.scrollTop)},[o]),b)?(0,d.jsx)("div",{className:(0,t.cn)(H,"overflow-hidden"),children:(0,d.jsx)(A,{})}):e?(0,d.jsx)(p.SettingError,{message:e.message}):(0,d.jsx)(d.Fragment,{children:0===o.length?(0,d.jsx)("p",{className:"px-1 text-sm leading-relaxed text-muted-foreground",children:"No calls yet. Everything said on the line is kept here — hers and yours, in the order it was said."}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{ref:y,onScroll:a=>{let b=a.currentTarget;C.current=b.scrollHeight-b.scrollTop},className:(0,t.cn)(H,"overflow-y-auto overscroll-contain pb-6"),children:[(0,d.jsx)(p.SettingMore,{hasMore:f,loading:c,sentinelRef:l,count:1,ghost:(0,d.jsx)(A,{})}),o.map((a,b)=>(0,d.jsx)(B,{call:a,first:0===b,onDropped:m},a.id))]}),(0,d.jsx)("div",{className:"flex justify-end",children:(0,d.jsxs)(j.Button,{variant:"ghost",loading:w,onClick:x,className:"text-muted-foreground hover:text-destructive",children:[(0,d.jsx)(g.Trash2,{}),"Delete all"]})})]})})}function A(){return(0,d.jsxs)("div",{className:"pb-3",children:[(0,d.jsxs)("div",{className:"flex h-7 items-center gap-2.5",children:[(0,d.jsx)(m.Skeleton,{className:"h-3 w-24"}),(0,d.jsx)(m.Skeleton,{className:"h-3 w-10"})]}),(0,d.jsx)("div",{className:"mt-2 mb-[18px] h-px bg-border/60"}),(0,d.jsx)("div",{className:"flex justify-end",children:(0,d.jsx)(m.Skeleton,{className:"h-9 w-3/5 rounded-2xl rounded-br-sm"})}),(0,d.jsxs)("div",{className:"mt-3 flex items-start gap-2",children:[(0,d.jsx)(m.Skeleton,{className:"mt-0.5 size-[18px] shrink-0 rounded-full"}),(0,d.jsx)(m.Skeleton,{className:"mt-1 h-3.5 w-2/3"})]})]})}let I=a=>"user"===a.role?"user":"her";function B({call:a,first:b,onDropped:c}){let[e,f]=(0,r.useServerAction)(u.deleteCallAction,{okMessage:"Call deleted",onOk:c}),h=(0,q.toDate)(a.startedAt),i=a.turns.at(-1),l=a.endedAt&&i?function(a,b){let c=Math.max(0,Math.round((b.getTime()-a.getTime())/1e3));if(c<60)return`${c}s`;let d=Math.floor(c/60);return d<60?`${d}m ${String(c%60).padStart(2,"0")}s`:`${Math.floor(d/60)}h ${String(d%60).padStart(2,"0")}m`}(h,(0,q.toDate)(i.at)):"on the line",m=async()=>{await k.notify.confirm({title:`Delete the call from ${(0,q.whenOf)(h)}?`,description:"Every turn of it goes — and she stops reading it back into the next call.",okText:"Delete",destructive:!0})&&e(a.id)};return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:(0,t.cn)("group flex items-center gap-2.5",b?"mt-1":"mt-11"),children:[(0,d.jsx)("span",{title:`${a.provider} \xb7 ${a.model}`,className:"font-mono text-[10px] tracking-[0.14em] uppercase",children:(0,q.whenOf)(h)}),(0,d.jsx)("span",{className:"font-mono text-[10px] text-muted-foreground",children:l}),(0,d.jsx)("span",{className:"ml-auto flex size-7 shrink-0 items-center justify-center",children:a.endedAt&&(0,d.jsx)(j.Button,{size:"icon-sm",variant:"ghost",loading:f,"aria-label":"Delete this call",onClick:m,className:"text-muted-foreground/60 opacity-0 transition-opacity group-hover:opacity-100 hover:text-destructive focus-visible:opacity-100",children:(0,d.jsx)(g.Trash2,{})})})]}),(0,d.jsx)("div",{className:"mt-2 mb-[18px] h-px bg-border/60"}),(function(a){let b=[];for(let c of a){let a=b.at(-1);if(a&&"tool"===c.role&&"tool"===a.turn.role&&a.turn.tool===c.tool&&a.turn.text===c.text){a.repeats+=1;continue}b.push({turn:c,repeats:1})}return b})(a.turns).map(({turn:b,repeats:c},e,f)=>{var g,h;let i,j=f[e-1]?.turn,k=f[e+1]?.turn;return(0,d.jsx)(C,{turn:b,job:(g=a,h=b,(i=(0,w.delegatedLabel)(h.tool,h.text))?g.jobs.find(a=>a.label===i):void 0),repeats:c,opensRun:!j||I(j)!==I(b),closesRun:!k||I(k)!==I(b)},b.id)})]})}function C({turn:a,job:b,opensRun:c,closesRun:e,repeats:f=1}){return"tool"===a.role?(0,d.jsx)(E,{turn:a,job:b,repeats:f,opensRun:c}):"user"===a.role?(0,d.jsx)("div",{className:(0,t.cn)("flex justify-end",c?"mt-3":"mt-1"),children:(0,d.jsx)("p",{className:(0,t.cn)("max-w-[min(34rem,78%)] rounded-2xl bg-muted px-3.5 py-2 text-[13.5px] leading-relaxed break-keep whitespace-pre-wrap",e&&"rounded-br-sm"),children:a.text})}):(0,d.jsxs)("div",{className:(0,t.cn)("flex items-start gap-2",c?"mt-3":"mt-1"),children:[(0,d.jsx)(D,{face:c,className:"mt-0.5"}),(0,d.jsx)("p",{className:"max-w-[min(34rem,78%)] text-[13.5px] leading-relaxed break-keep whitespace-pre-wrap",children:a.text})]})}function D({face:a,className:b}){return(0,d.jsx)("span",{className:(0,t.cn)("grid size-[18px] shrink-0 place-items-center",b),children:a&&(0,d.jsx)(x.ThursdayMark,{size:18})})}function E({turn:a,job:b,repeats:c,opensRun:e}){let f=a.tool??"",g=(0,o.toolIcon)(f),h=(0,w.toolLine)(f,a.text);return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:(0,t.cn)("flex items-center gap-2",e?"mt-3":"mt-1.5"),children:[(0,d.jsx)(D,{face:e}),(0,d.jsxs)("span",{className:"flex min-w-0 items-center gap-1.5 text-muted-foreground",children:[(0,d.jsx)(g,{className:"size-3 shrink-0"}),h&&(0,d.jsx)("span",{className:"truncate text-[11px] break-keep",children:h}),(0,d.jsx)("span",{className:"shrink-0 font-mono text-[10px] text-muted-foreground/60",children:f}),c>1&&(0,d.jsxs)("span",{className:"shrink-0 font-mono text-[10px] text-muted-foreground/70",children:["×",c]})]})]}),b&&(0,d.jsxs)("p",{className:"mt-0.5 ml-[26px] flex min-w-0 items-baseline gap-1.5 text-[11px]",children:["running"===b.status?(0,d.jsx)(l.ShinyText,{text:F.running,className:"shrink-0 font-mono text-[10px]"}):(0,d.jsx)("span",{className:(0,t.cn)("shrink-0 font-mono text-[10px]",G[b.status]),children:F[b.status]}),b.outcome&&"running"!==b.status&&(0,d.jsx)("span",{className:"truncate text-muted-foreground",children:(0,t.plainText)(b.outcome)})]})]})}a.s(["CallHistoryRow",0,function(){return(0,d.jsx)(p.SettingGroup,{label:"Transcripts",children:(0,d.jsx)(p.SettingItems,{children:(0,d.jsxs)("button",{type:"button",onClick:()=>k.notify.component({className:"sm:max-w-3xl",renderer:()=>(0,d.jsx)(p.SettingDialogContent,{title:"Call history",description:"Everything said on the line, oldest at the top. Scroll up for older calls.",children:(0,d.jsx)(z,{})})}),className:"flex w-full items-center gap-3 p-4 text-left outline-none transition-colors hover:bg-muted/50 focus-visible:ring-3 focus-visible:ring-ring/50 focus-visible:ring-inset",children:[(0,d.jsx)("span",{className:"grid size-10 shrink-0 place-items-center rounded-lg bg-muted text-muted-foreground",children:(0,d.jsx)(f.Phone,{className:"size-4"})}),(0,d.jsxs)("span",{className:"min-w-0 flex-1 space-y-0.5",children:[(0,d.jsx)("span",{className:"block text-sm font-medium",children:"Call history"}),(0,d.jsx)("span",{className:"block text-xs text-muted-foreground",children:"Every call, word for word — hers and yours"})]}),(0,d.jsx)(e.ChevronRight,{className:"size-4 shrink-0 text-muted-foreground"})]})})})}]),c()}catch(a){c(a)}},!1),922056,a=>a.a(async(b,c)=>{try{var d=a.i(187924),e=a.i(752562),f=a.i(26268),g=a.i(572131),h=a.i(767561),i=a.i(340695),j=a.i(825715),k=a.i(205522),l=a.i(446181),m=a.i(777794),n=a.i(546893),o=a.i(287702),p=a.i(379630),q=a.i(61876),r=a.i(626280),s=a.i(324835),t=a.i(619477),u=a.i(102306),v=a.i(445432),w=a.i(334392),x=a.i(759399),y=a.i(635892),z=a.i(703799),A=a.i(461512),B=a.i(359006),C=a.i(888396),D=a.i(332033),E=a.i(616682),F=a.i(313237),G=a.i(759497),H=a.i(497895),I=b([u]);function J(){let{data:a}=(0,G.useServerRoute)(h.queryKey.callSkills),[b]=(0,F.useServerAction)(z.setCallSkillsAction,{onOk:()=>(0,G.revalidate)(h.queryKey.callSkills)});return(0,d.jsx)(t.SettingGroup,{label:"Skills",children:(0,d.jsx)(t.SettingToggle,{label:"Read a skill herself",description:"A skill is how a thing is done here, written down. On, she opens one mid-call and follows it; off, only bots read them.",checked:a??!1,disabled:void 0===a,onChange:a=>b(a),children:(0,d.jsx)(K,{})})})}function K(){let{data:a}=(0,G.useServerRoute)(h.queryKey.skills);return a?(0,d.jsx)(t.SettingNote,{className:(0,H.cn)(!a.length&&H.WAITING_INK),children:a.length?`The same ${a.length} a bot reads. Each one she opens spends a page of the call on it.`:"Nothing installed yet — there is nothing for her to read."}):null}function L(){let[a,b]=(0,F.useServerAction)(y.resetHistoryAction,{okMessage:({calls:a,tasks:b,notes:c})=>`Wiped ${a} calls, ${b} jobs, ${c} notes`,onOk:()=>{(0,G.revalidate)(h.queryKey.memory),(0,G.revalidate)(h.queryKey.tasks),(0,G.revalidate)(h.queryKey.callHistory(null))}}),c=async()=>{await l.notify.confirm({title:"Reset history?",description:"Every call, every job and everything she remembers is deleted for good. Keys, bots and connectors stay.",okText:"Reset",destructive:!0})&&a()};return(0,d.jsx)(t.SettingGroup,{label:"Danger zone",note:"Keys, bots and connectors stay.",children:(0,d.jsx)(t.SettingItems,{children:(0,d.jsxs)("div",{className:"flex items-center gap-3 p-4",children:[(0,d.jsx)("span",{className:"grid size-10 shrink-0 place-items-center rounded-lg bg-muted text-muted-foreground",children:(0,d.jsx)(f.TriangleAlert,{className:"size-4"})}),(0,d.jsxs)("span",{className:"min-w-0 flex-1 space-y-0.5",children:[(0,d.jsx)("span",{className:"block text-sm font-medium",children:"Reset history"}),(0,d.jsx)("span",{className:"block text-xs text-muted-foreground",children:"Every call, every job and everything she remembers"})]}),(0,d.jsx)(i.Button,{variant:"outline",size:"sm",loading:b,onClick:c,className:"shrink-0 text-destructive hover:text-destructive",children:"Reset"})]})})})}function M({value:a,onChange:b}){let c=c=>b({...a,...c});return(0,d.jsx)(t.SettingGroup,{label:"Face",children:(0,d.jsxs)("div",{className:"space-y-5 py-2",children:[(0,d.jsxs)("div",{className:"flex flex-col items-center gap-4 pt-2",children:[(0,d.jsx)(v.Face,{look:a,size:176,className:"w-44"}),(0,d.jsx)(m.Segmented,{"aria-label":"Face",options:w.FACE_KINDS.map(a=>({value:a,label:v.FACES[a].label})),value:a.kind,onChange:a=>c({kind:a})}),(0,d.jsx)("p",{className:"max-w-sm text-center text-xs text-muted-foreground",children:v.FACES[a.kind].hint})]}),"mark"===a.kind&&(0,d.jsx)(r.MarkPalette,{color:a.color,themePicked:!a.color,onTheme:()=>c({color:void 0}),onPick:a=>c({color:a})}),"mark"===a.kind&&(0,d.jsx)(N,{label:"Shape",children:(0,d.jsx)(m.Segmented,{"aria-label":"Shape",options:s.MARK_SHAPES.map(a=>({value:a,label:(0,d.jsx)("span",{className:"capitalize",children:a})})),value:a.shape??"blob",onChange:a=>c({shape:a})})}),"mark"===a.kind&&(0,d.jsx)(N,{label:"Style",children:(0,d.jsx)(m.Segmented,{"aria-label":"Style",options:[{value:"solid",label:"Solid"},{value:"outline",label:"Outline"}],value:a.outline?"outline":"solid",onChange:a=>c({outline:"outline"===a||void 0})})}),"ascii"===a.kind&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(N,{label:"Glyphs",children:(0,d.jsx)(m.Segmented,{"aria-label":"Glyphs",options:w.ASCII_CHARSETS.map(a=>({value:a,label:V[a]})),value:a.charset,onChange:a=>c({charset:a})})}),(0,d.jsx)(N,{label:"Size",children:(0,d.jsx)(O,{min:o.ASCII_FACE.fontSize.min,max:o.ASCII_FACE.fontSize.max,step:1,value:a.fontSize,format:a=>`${a}px`,onChange:a=>c({fontSize:a})})}),(0,d.jsx)(N,{label:"Density",children:(0,d.jsx)(O,{min:o.ASCII_FACE.density.min,max:o.ASCII_FACE.density.max,step:.1,value:a.density,format:a=>`${a.toFixed(1)}x`,onChange:a=>c({density:a})})})]})]})})}[u]=I.then?(await I)():I;let V={ascii:"Characters",emoji:"Sprinkled",emojiOnly:"All emoji"};function N({label:a,children:b}){return(0,d.jsxs)("div",{className:"flex items-center gap-3",children:[(0,d.jsx)("span",{className:"w-16 shrink-0 font-mono text-[11px] text-muted-foreground",children:a}),b]})}function O({value:a,onChange:b,format:c,...e}){return(0,d.jsxs)("span",{className:"flex min-w-0 flex-1 items-center gap-3",children:[(0,d.jsx)("input",{type:"range",...e,value:a,onChange:a=>b(Number(a.target.value)),className:"min-w-0 flex-1 accent-foreground"}),(0,d.jsx)("span",{className:"w-10 shrink-0 text-right font-mono text-[11px] text-muted-foreground tabular-nums",children:c(a)})]})}function P({provider:a,value:b,hasKey:c,onPick:g}){let h=!!b,i=b?.voice??a.defaultVoice,k=b?.model??"";return(0,d.jsxs)("div",{className:(0,H.cn)("p-4",h&&"bg-muted/40"),children:[(0,d.jsxs)("button",{type:"button",disabled:h,onClick:()=>g({voice:null,model:null}),className:"flex w-full items-center gap-3 text-left outline-none focus-visible:ring-3 focus-visible:ring-ring/50 disabled:cursor-default",children:[(0,d.jsx)(p.ProviderIcon,{provider:a.id,className:"size-4 shrink-0"}),(0,d.jsxs)("span",{className:"min-w-0 flex-1 space-y-0.5",children:[(0,d.jsx)("span",{className:"block truncate text-sm font-medium",children:a.label}),(0,d.jsx)("span",{className:"block truncate font-mono text-xs text-muted-foreground",children:k||a.models[0].id})]}),c?h&&(0,d.jsx)(e.Check,{className:"size-4 shrink-0"}):(0,d.jsxs)("span",{className:"flex shrink-0 items-center gap-1 font-mono text-[11px] text-muted-foreground",children:[(0,d.jsx)(f.TriangleAlert,{className:"size-3"}),"No key"]})]}),h&&(0,d.jsxs)("div",{className:"space-y-3 pt-3",children:[(0,d.jsx)(j.Combobox,{value:k,onChange:a=>g({voice:b?.voice??null,model:a||null}),options:a.models.map(a=>({value:a.id,label:a.label,hint:a.id})),"aria-label":`${a.label} realtime model`,placeholder:a.models[0].id,empty:"Not on the list — it still runs"}),(0,d.jsx)("div",{className:"flex flex-wrap gap-1.5",children:a.voices.map(a=>(0,d.jsx)("button",{type:"button",onClick:()=>g({voice:a,model:b?.model??null}),className:(0,H.cn)("rounded-full border px-2.5 py-1 font-mono text-[11px] transition-colors outline-none focus-visible:ring-3 focus-visible:ring-ring/50",a===i?"border-foreground/40 text-foreground":"border-border/60 text-muted-foreground hover:text-foreground"),children:a},a))})]})]})}let W={center:{label:"Her last line",hint:"One caption under the mark — only what she said."},sides:{label:"Last three turns",hint:"Hers on the left, yours on the right, beside the mark."}};function Q({value:a,onChange:b}){return(0,d.jsx)(t.SettingGroup,{label:"Calls you",note:"off"!==a&&"Needs this tab open. A tab that has been silent since it loaded may not be allowed to make a sound — the desktop notification covers that.",children:(0,d.jsx)(t.SettingChoiceRows,{options:A.CALL_BACK_MODES.map(a=>({value:a,label:A.CALL_BACK_LABEL[a],hint:X[a]})),value:a,onChange:b})})}let X={off:"Nothing opens a call but you.",waiting:"A job that stopped to ask gets her to ring you.",any:"Anything a bot finishes, she opens a line to tell you."};function R({value:a,onChange:b}){return(0,d.jsx)(t.SettingGroup,{label:"Captions",children:(0,d.jsx)(t.SettingChoiceRows,{options:A.CAPTION_VIEWS.map(a=>({value:a,label:W[a].label,hint:W[a].hint})),value:a,onChange:b})})}function S({value:a,onChange:b}){let c=(0,C.useDraft)(a.phrase,c=>b({...a,phrase:c}),{min:A.WAKE_PHRASE.min}),e=c.value.trim().split(/\s+/).length<2;return(0,d.jsx)(t.SettingGroup,{label:"Wake",children:(0,d.jsx)(t.SettingToggle,{label:"Answer to her name",description:"Between calls, the browser listens for the phrase below and picks up when it hears it.",checked:a.enabled,onChange:c=>b({...a,enabled:c}),children:(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsx)(k.Input,{value:c.value,maxLength:A.WAKE_PHRASE.max,spellCheck:!1,onChange:a=>c.set(a.target.value),onBlur:c.commit,onKeyDown:c.onKeyDown,"aria-label":"Wake phrase",className:"font-mono text-sm"}),(0,d.jsx)(t.SettingNote,{children:e?"One word will wake her by accident — say hello first.":"Heard loosely, in English. Near misses count."})]})})})}function T({value:a,onChange:b}){let[c,e]=(0,g.useState)(!1),[f,h]=(0,g.useState)(!1),i=(0,D.useHotkeyLabel)((0,D.isCombo)(a.combo)?a.combo:null);return(0,d.jsx)(t.SettingGroup,{label:"Shortcut",children:(0,d.jsx)(t.SettingToggle,{label:"Answer to a key",description:"With this tab in front, the key below starts a call — and ends the one that is running.",checked:a.enabled,onChange:c=>b({...a,enabled:c}),children:(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsx)("button",{type:"button",...D.HOTKEY_CAPTURE,onClick:()=>{h(!1),e(!0)},onBlur:()=>e(!1),onKeyDown:c?c=>{if("Tab"===c.key)return;if(c.preventDefault(),c.stopPropagation(),"Escape"===c.key)return e(!1);let d=(0,D.comboOf)(c.nativeEvent);if(!d)return h(!0);h(!1),e(!1),b({...a,combo:d})}:void 0,className:(0,H.cn)("w-full rounded-lg border px-3 py-2 font-mono text-sm outline-none transition-colors focus-visible:ring-3 focus-visible:ring-ring/50",c?"border-foreground/40 text-muted-foreground":"border-border/60 hover:bg-muted/50"),children:c?"Press the keys…":i??"Set a shortcut"}),(0,d.jsx)(t.SettingNote,{children:f?"Hold Ctrl, Alt or Cmd — a plain key is typing.":c?"Esc to keep the one you have.":"Only while this tab has focus. Not while you are typing."})]})})})}function U({value:a,onSave:b}){let[c,e]=(0,g.useState)(a);return(0,d.jsx)(t.SettingGroup,{label:"Instructions",right:`${c.length}/${E.COMMON_VALIDATE.prompt.max}`,children:(0,d.jsxs)("div",{className:"space-y-3",children:[(0,d.jsx)(n.Textarea,{value:c,maxLength:E.COMMON_VALIDATE.prompt.max,onChange:a=>e(a.target.value),placeholder:"Anything else she should know before the first word — how to address you, what to skip.",className:"min-h-28"}),(0,d.jsx)("div",{className:"flex justify-end",children:(0,d.jsx)(i.Button,{size:"sm",disabled:c===a,onClick:()=>b(c),children:"Save"})})]})})}a.s(["ThursdaySetting",0,function(){let a=(0,B.useThursdayStore)(),b=(0,B.useThursdayStore)(a=>a.patch),{data:c=[],isLoading:e,error:f}=(0,G.useServerRoute)(h.queryKey.llmModel),g=(0,x.useThursdayFace)();if(e)return(0,d.jsx)(t.SettingSkeleton,{rows:4});if(f)return(0,d.jsx)(t.SettingError,{message:f.message});let i=a.model?.provider??null;return(0,d.jsxs)(t.SettingScreen,{footer:(0,d.jsx)(t.SettingRailNote,{children:"Her prompt is assembled fresh on every call — memory, the roster and your skills go in."}),children:[(0,d.jsx)(M,{value:g,onChange:x.setThursdayFace}),(0,d.jsx)(u.CallHistoryRow,{}),(0,d.jsx)(t.SettingGroup,{label:"Voice",note:!i&&"Nothing picked — calls run on whichever key is set.",children:(0,d.jsx)(t.SettingItems,{children:q.SPEACH_MODEL_PROVIDER_LIST.map(e=>{let f;return(0,d.jsx)(P,{provider:e,value:i===e.id?a.model:null,hasKey:(f=e.apiKeyName,c.some(a=>a.apiKeyName===f&&a.hasKey)),onPick:a=>b({model:{provider:e.id,...a}})},e.id)})})}),(0,d.jsx)(R,{value:a.captionView,onChange:a=>b({captionView:a})}),(0,d.jsx)(S,{value:a.wake,onChange:a=>b({wake:a})}),(0,d.jsx)(Q,{value:a.callBack,onChange:a=>b({callBack:a})}),(0,d.jsx)(T,{value:a.hotkey,onChange:a=>b({hotkey:a})}),(0,d.jsx)(J,{}),(0,d.jsx)(U,{value:a.systemPrompt??"",onSave:a=>b({systemPrompt:a})}),(0,d.jsx)(L,{})]})}]),c()}catch(a){c(a)}},!1),635892,a=>{"use strict";var b=a.i(405050);let c=(0,b.createServerReference)("7f50cfd7d0e623e886552f9994a05a234251f6b400",b.callServer,void 0,b.findSourceMapURL,"resetHistoryAction");a.s(["resetHistoryAction",0,c])},703799,a=>{"use strict";var b=a.i(405050);let c=(0,b.createServerReference)("7fb326617fb6fe0d74f20b79af1e912238def02960",b.callServer,void 0,b.findSourceMapURL,"setCallSkillsAction");a.s(["setCallSkillsAction",0,c])},479461,a=>{"use strict";var b=a.i(405050);let c=(0,b.createServerReference)("7fa0f05df10fadbdbc32f656a9d5c05cd146302f7a",b.callServer,void 0,b.findSourceMapURL,"deleteCallAction");a.s(["deleteCallAction",0,c])},464013,a=>{"use strict";var b=a.i(405050);let c=(0,b.createServerReference)("7fe2a2ec036940cdf16482cfbd7aecf01f5571fe5a",b.callServer,void 0,b.findSourceMapURL,"deleteEndedCallsAction");a.s(["deleteEndedCallsAction",0,c])},866491,a=>{"use strict";var b=a.i(164831);let c={name:"phone",size:24,node:[["path",{d:"M13.832 16.568a1 1 0 0 0 1.213-.303l.355-.465A2 2 0 0 1 17 15h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2A18 18 0 0 1 2 4a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v3a2 2 0 0 1-.8 1.6l-.468.351a1 1 0 0 0-.292 1.233 14 14 0 0 0 6.392 6.384",key:"9njp5v"}]]};c.node;let d=(0,b.default)(c);a.s(["Phone",0,d],866491)}];
1
+ module.exports=[102306,a=>a.a(async(b,c)=>{try{var d=a.i(187924),e=a.i(141146),f=a.i(866491),g=a.i(951675),h=a.i(572131),i=a.i(767561),j=a.i(340695),k=a.i(446181),l=a.i(545097),m=a.i(950463),n=a.i(287702),o=a.i(8468),p=a.i(619477),q=a.i(199169),r=a.i(313237),s=a.i(862966),t=a.i(497895),u=a.i(168793),v=a.i(717978),w=a.i(27418),x=a.i(346075),y=b([o]);[o]=y.then?(await y)():y;let F={running:"working",waiting:"waiting on you",done:"done",failed:"failed"},G={running:"text-muted-foreground",waiting:t.WAITING_INK,done:"text-muted-foreground",failed:"text-destructive"},H="h-[min(34rem,58vh)] min-h-64 px-1";function z(){let{items:a,isLoading:b,isLoadingMore:c,error:e,hasMore:f,sentinelRef:l,refresh:m}=(0,s.useServerPages)({key:(a,b)=>{if(0===a)return i.queryKey.callHistory(null);let c=b?.at(-1);return c?i.queryKey.callHistory((0,q.toDate)(c.startedAt).toISOString()):null},size:n.CALL_HISTORY_PAGE,swr:{revalidateOnFocus:!1}}),o=(0,h.useMemo)(()=>[...a].reverse(),[a]),[u,w]=(0,r.useServerAction)(v.deleteEndedCallsAction,{okMessage:a=>1===a?"1 call deleted":`${a} calls deleted`,onOk:m}),x=async()=>{await k.notify.confirm({title:"Delete every call?",description:"Every turn of every call goes — and she stops reading any of it back into the next call. A call still on the line stays.",okText:"Delete all",destructive:!0})&&u()},y=(0,h.useRef)(null),z=(0,h.useRef)(!1),C=(0,h.useRef)(0);return((0,h.useLayoutEffect)(()=>{let a=y.current;a&&0!==o.length&&(z.current?a.scrollTop=a.scrollHeight-C.current:(z.current=!0,a.scrollTop=a.scrollHeight),C.current=a.scrollHeight-a.scrollTop)},[o]),b)?(0,d.jsx)("div",{className:(0,t.cn)(H,"overflow-hidden"),children:(0,d.jsx)(A,{})}):e?(0,d.jsx)(p.SettingError,{message:e.message}):(0,d.jsx)(d.Fragment,{children:0===o.length?(0,d.jsx)("p",{className:"px-1 text-sm leading-relaxed text-muted-foreground",children:"No calls yet. Everything said on the line is kept here — hers and yours, in the order it was said."}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{ref:y,onScroll:a=>{let b=a.currentTarget;C.current=b.scrollHeight-b.scrollTop},className:(0,t.cn)(H,"overflow-y-auto overscroll-contain pb-6"),children:[(0,d.jsx)(p.SettingMore,{hasMore:f,loading:c,sentinelRef:l,count:1,ghost:(0,d.jsx)(A,{})}),o.map((a,b)=>(0,d.jsx)(B,{call:a,first:0===b,onDropped:m},a.id))]}),(0,d.jsx)("div",{className:"flex justify-end",children:(0,d.jsxs)(j.Button,{variant:"ghost",loading:w,onClick:x,className:"text-muted-foreground hover:text-destructive",children:[(0,d.jsx)(g.Trash2,{}),"Delete all"]})})]})})}function A(){return(0,d.jsxs)("div",{className:"pb-3",children:[(0,d.jsxs)("div",{className:"flex h-7 items-center gap-2.5",children:[(0,d.jsx)(m.Skeleton,{className:"h-3 w-24"}),(0,d.jsx)(m.Skeleton,{className:"h-3 w-10"})]}),(0,d.jsx)("div",{className:"mt-2 mb-[18px] h-px bg-border/60"}),(0,d.jsx)("div",{className:"flex justify-end",children:(0,d.jsx)(m.Skeleton,{className:"h-9 w-3/5 rounded-2xl rounded-br-sm"})}),(0,d.jsxs)("div",{className:"mt-3 flex items-start gap-2",children:[(0,d.jsx)(m.Skeleton,{className:"mt-0.5 size-[18px] shrink-0 rounded-full"}),(0,d.jsx)(m.Skeleton,{className:"mt-1 h-3.5 w-2/3"})]})]})}let I=a=>"user"===a.role?"user":"her";function B({call:a,first:b,onDropped:c}){let[e,f]=(0,r.useServerAction)(u.deleteCallAction,{okMessage:"Call deleted",onOk:c}),h=(0,q.toDate)(a.startedAt),i=a.turns.at(-1),l=a.endedAt&&i?function(a,b){let c=Math.max(0,Math.round((b.getTime()-a.getTime())/1e3));if(c<60)return`${c}s`;let d=Math.floor(c/60);return d<60?`${d}m ${String(c%60).padStart(2,"0")}s`:`${Math.floor(d/60)}h ${String(d%60).padStart(2,"0")}m`}(h,(0,q.toDate)(i.at)):"on the line",m=async()=>{await k.notify.confirm({title:`Delete the call from ${(0,q.whenOf)(h)}?`,description:"Every turn of it goes — and she stops reading it back into the next call.",okText:"Delete",destructive:!0})&&e(a.id)};return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:(0,t.cn)("group flex items-center gap-2.5",b?"mt-1":"mt-11"),children:[(0,d.jsx)("span",{title:`${a.provider} \xb7 ${a.model}`,className:"font-mono text-[10px] tracking-[0.14em] uppercase",children:(0,q.whenOf)(h)}),(0,d.jsx)("span",{className:"font-mono text-[10px] text-muted-foreground",children:l}),(0,d.jsx)("span",{className:"ml-auto flex size-7 shrink-0 items-center justify-center",children:a.endedAt&&(0,d.jsx)(j.Button,{size:"icon-sm",variant:"ghost",loading:f,"aria-label":"Delete this call",onClick:m,className:"text-muted-foreground/60 opacity-0 transition-opacity group-hover:opacity-100 hover:text-destructive focus-visible:opacity-100",children:(0,d.jsx)(g.Trash2,{})})})]}),(0,d.jsx)("div",{className:"mt-2 mb-[18px] h-px bg-border/60"}),(function(a){let b=[];for(let c of a){let a=b.at(-1);if(a&&"tool"===c.role&&"tool"===a.turn.role&&a.turn.tool===c.tool&&a.turn.text===c.text){a.repeats+=1;continue}b.push({turn:c,repeats:1})}return b})(a.turns).map(({turn:b,repeats:c},e,f)=>{var g,h;let i,j=f[e-1]?.turn,k=f[e+1]?.turn;return(0,d.jsx)(C,{turn:b,job:(g=a,h=b,(i=(0,w.delegatedLabel)(h.tool,h.text))?g.jobs.find(a=>a.label===i):void 0),repeats:c,opensRun:!j||I(j)!==I(b),closesRun:!k||I(k)!==I(b)},b.id)})]})}function C({turn:a,job:b,opensRun:c,closesRun:e,repeats:f=1}){return"tool"===a.role?(0,d.jsx)(E,{turn:a,job:b,repeats:f,opensRun:c}):"user"===a.role?(0,d.jsx)("div",{className:(0,t.cn)("flex justify-end",c?"mt-3":"mt-1"),children:(0,d.jsx)("p",{className:(0,t.cn)("max-w-[min(34rem,78%)] rounded-2xl bg-muted px-3.5 py-2 text-[13.5px] leading-relaxed break-keep whitespace-pre-wrap",e&&"rounded-br-sm"),children:a.text})}):(0,d.jsxs)("div",{className:(0,t.cn)("flex items-start gap-2",c?"mt-3":"mt-1"),children:[(0,d.jsx)(D,{face:c,className:"mt-0.5"}),(0,d.jsx)("p",{className:"max-w-[min(34rem,78%)] text-[13.5px] leading-relaxed break-keep whitespace-pre-wrap",children:a.text})]})}function D({face:a,className:b}){return(0,d.jsx)("span",{className:(0,t.cn)("grid size-[18px] shrink-0 place-items-center",b),children:a&&(0,d.jsx)(x.ThursdayMark,{size:18})})}function E({turn:a,job:b,repeats:c,opensRun:e}){let f=a.tool??"",g=(0,o.toolIcon)(f),h=(0,w.toolLine)(f,a.text);return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:(0,t.cn)("flex items-center gap-2",e?"mt-3":"mt-1.5"),children:[(0,d.jsx)(D,{face:e}),(0,d.jsxs)("span",{className:"flex min-w-0 items-center gap-1.5 text-muted-foreground",children:[(0,d.jsx)(g,{className:"size-3 shrink-0"}),h&&(0,d.jsx)("span",{className:"truncate text-[11px] break-keep",children:h}),(0,d.jsx)("span",{className:"shrink-0 font-mono text-[10px] text-muted-foreground/60",children:f}),c>1&&(0,d.jsxs)("span",{className:"shrink-0 font-mono text-[10px] text-muted-foreground/70",children:["×",c]})]})]}),b&&(0,d.jsxs)("p",{className:"mt-0.5 ml-[26px] flex min-w-0 items-baseline gap-1.5 text-[11px]",children:["running"===b.status?(0,d.jsx)(l.ShinyText,{text:F.running,className:"shrink-0 font-mono text-[10px]"}):(0,d.jsx)("span",{className:(0,t.cn)("shrink-0 font-mono text-[10px]",G[b.status]),children:F[b.status]}),b.outcome&&"running"!==b.status&&(0,d.jsx)("span",{className:"truncate text-muted-foreground",children:(0,t.plainText)(b.outcome)})]})]})}a.s(["CallHistoryRow",0,function(){return(0,d.jsx)(p.SettingGroup,{label:"Transcripts",children:(0,d.jsx)(p.SettingItems,{children:(0,d.jsxs)("button",{type:"button",onClick:()=>k.notify.component({className:"sm:max-w-3xl",renderer:()=>(0,d.jsx)(p.SettingDialogContent,{title:"Call history",description:"Everything said on the line, oldest at the top. Scroll up for older calls.",children:(0,d.jsx)(z,{})})}),className:"flex w-full items-center gap-3 p-4 text-left outline-none transition-colors hover:bg-muted/50 focus-visible:ring-3 focus-visible:ring-ring/50 focus-visible:ring-inset",children:[(0,d.jsx)("span",{className:"grid size-10 shrink-0 place-items-center rounded-lg bg-muted text-muted-foreground",children:(0,d.jsx)(f.Phone,{className:"size-4"})}),(0,d.jsxs)("span",{className:"min-w-0 flex-1 space-y-0.5",children:[(0,d.jsx)("span",{className:"block text-sm font-medium",children:"Call history"}),(0,d.jsx)("span",{className:"block text-xs text-muted-foreground",children:"Every call, word for word — hers and yours"})]}),(0,d.jsx)(e.ChevronRight,{className:"size-4 shrink-0 text-muted-foreground"})]})})})}]),c()}catch(a){c(a)}},!1),922056,a=>a.a(async(b,c)=>{try{var d=a.i(187924),e=a.i(752562),f=a.i(26268),g=a.i(572131),h=a.i(767561),i=a.i(340695),j=a.i(825715),k=a.i(205522),l=a.i(446181),m=a.i(777794),n=a.i(546893),o=a.i(287702),p=a.i(379630),q=a.i(61876),r=a.i(626280),s=a.i(324835),t=a.i(619477),u=a.i(102306),v=a.i(445432),w=a.i(334392),x=a.i(759399),y=a.i(262284),z=a.i(621666),A=a.i(461512),B=a.i(359006),C=a.i(888396),D=a.i(332033),E=a.i(616682),F=a.i(313237),G=a.i(759497),H=a.i(497895),I=b([u]);function J(){let{data:a}=(0,G.useServerRoute)(h.queryKey.callSkills),[b]=(0,F.useServerAction)(z.setCallSkillsAction,{onOk:()=>(0,G.revalidate)(h.queryKey.callSkills)});return(0,d.jsx)(t.SettingGroup,{label:"Skills",children:(0,d.jsx)(t.SettingToggle,{label:"Read a skill herself",description:"A skill is how a thing is done here, written down. On, she opens one mid-call and follows it; off, only bots read them.",checked:a??!1,disabled:void 0===a,onChange:a=>b(a),children:(0,d.jsx)(K,{})})})}function K(){let{data:a}=(0,G.useServerRoute)(h.queryKey.skills);return a?(0,d.jsx)(t.SettingNote,{className:(0,H.cn)(!a.length&&H.WAITING_INK),children:a.length?`The same ${a.length} a bot reads. Each one she opens spends a page of the call on it.`:"Nothing installed yet — there is nothing for her to read."}):null}function L(){let[a,b]=(0,F.useServerAction)(y.resetHistoryAction,{okMessage:({calls:a,tasks:b,notes:c})=>`Wiped ${a} calls, ${b} jobs, ${c} notes`,onOk:()=>{(0,G.revalidate)(h.queryKey.memory),(0,G.revalidate)(h.queryKey.tasks),(0,G.revalidate)(h.queryKey.callHistory(null))}}),c=async()=>{await l.notify.confirm({title:"Reset history?",description:"Every call, every job and everything she remembers is deleted for good. Keys, bots and connectors stay.",okText:"Reset",destructive:!0})&&a()};return(0,d.jsx)(t.SettingGroup,{label:"Danger zone",note:"Keys, bots and connectors stay.",children:(0,d.jsx)(t.SettingItems,{children:(0,d.jsxs)("div",{className:"flex items-center gap-3 p-4",children:[(0,d.jsx)("span",{className:"grid size-10 shrink-0 place-items-center rounded-lg bg-muted text-muted-foreground",children:(0,d.jsx)(f.TriangleAlert,{className:"size-4"})}),(0,d.jsxs)("span",{className:"min-w-0 flex-1 space-y-0.5",children:[(0,d.jsx)("span",{className:"block text-sm font-medium",children:"Reset history"}),(0,d.jsx)("span",{className:"block text-xs text-muted-foreground",children:"Every call, every job and everything she remembers"})]}),(0,d.jsx)(i.Button,{variant:"outline",size:"sm",loading:b,onClick:c,className:"shrink-0 text-destructive hover:text-destructive",children:"Reset"})]})})})}function M({value:a,onChange:b}){let c=c=>b({...a,...c});return(0,d.jsx)(t.SettingGroup,{label:"Face",children:(0,d.jsxs)("div",{className:"space-y-5 py-2",children:[(0,d.jsxs)("div",{className:"flex flex-col items-center gap-4 pt-2",children:[(0,d.jsx)(v.Face,{look:a,size:176,className:"w-44"}),(0,d.jsx)(m.Segmented,{"aria-label":"Face",options:w.FACE_KINDS.map(a=>({value:a,label:v.FACES[a].label})),value:a.kind,onChange:a=>c({kind:a})}),(0,d.jsx)("p",{className:"max-w-sm text-center text-xs text-muted-foreground",children:v.FACES[a.kind].hint})]}),"mark"===a.kind&&(0,d.jsx)(r.MarkPalette,{color:a.color,themePicked:!a.color,onTheme:()=>c({color:void 0}),onPick:a=>c({color:a})}),"mark"===a.kind&&(0,d.jsx)(N,{label:"Shape",children:(0,d.jsx)(m.Segmented,{"aria-label":"Shape",options:s.MARK_SHAPES.map(a=>({value:a,label:(0,d.jsx)("span",{className:"capitalize",children:a})})),value:a.shape??"blob",onChange:a=>c({shape:a})})}),"mark"===a.kind&&(0,d.jsx)(N,{label:"Style",children:(0,d.jsx)(m.Segmented,{"aria-label":"Style",options:[{value:"solid",label:"Solid"},{value:"outline",label:"Outline"}],value:a.outline?"outline":"solid",onChange:a=>c({outline:"outline"===a||void 0})})}),"ascii"===a.kind&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(N,{label:"Glyphs",children:(0,d.jsx)(m.Segmented,{"aria-label":"Glyphs",options:w.ASCII_CHARSETS.map(a=>({value:a,label:V[a]})),value:a.charset,onChange:a=>c({charset:a})})}),(0,d.jsx)(N,{label:"Size",children:(0,d.jsx)(O,{min:o.ASCII_FACE.fontSize.min,max:o.ASCII_FACE.fontSize.max,step:1,value:a.fontSize,format:a=>`${a}px`,onChange:a=>c({fontSize:a})})}),(0,d.jsx)(N,{label:"Density",children:(0,d.jsx)(O,{min:o.ASCII_FACE.density.min,max:o.ASCII_FACE.density.max,step:.1,value:a.density,format:a=>`${a.toFixed(1)}x`,onChange:a=>c({density:a})})})]})]})})}[u]=I.then?(await I)():I;let V={ascii:"Characters",emoji:"Sprinkled",emojiOnly:"All emoji"};function N({label:a,children:b}){return(0,d.jsxs)("div",{className:"flex items-center gap-3",children:[(0,d.jsx)("span",{className:"w-16 shrink-0 font-mono text-[11px] text-muted-foreground",children:a}),b]})}function O({value:a,onChange:b,format:c,...e}){return(0,d.jsxs)("span",{className:"flex min-w-0 flex-1 items-center gap-3",children:[(0,d.jsx)("input",{type:"range",...e,value:a,onChange:a=>b(Number(a.target.value)),className:"min-w-0 flex-1 accent-foreground"}),(0,d.jsx)("span",{className:"w-10 shrink-0 text-right font-mono text-[11px] text-muted-foreground tabular-nums",children:c(a)})]})}function P({provider:a,value:b,hasKey:c,onPick:g}){let h=!!b,i=b?.voice??a.defaultVoice,k=b?.model??"";return(0,d.jsxs)("div",{className:(0,H.cn)("p-4",h&&"bg-muted/40"),children:[(0,d.jsxs)("button",{type:"button",disabled:h,onClick:()=>g({voice:null,model:null}),className:"flex w-full items-center gap-3 text-left outline-none focus-visible:ring-3 focus-visible:ring-ring/50 disabled:cursor-default",children:[(0,d.jsx)(p.ProviderIcon,{provider:a.id,className:"size-4 shrink-0"}),(0,d.jsxs)("span",{className:"min-w-0 flex-1 space-y-0.5",children:[(0,d.jsx)("span",{className:"block truncate text-sm font-medium",children:a.label}),(0,d.jsx)("span",{className:"block truncate font-mono text-xs text-muted-foreground",children:k||a.models[0].id})]}),c?h&&(0,d.jsx)(e.Check,{className:"size-4 shrink-0"}):(0,d.jsxs)("span",{className:"flex shrink-0 items-center gap-1 font-mono text-[11px] text-muted-foreground",children:[(0,d.jsx)(f.TriangleAlert,{className:"size-3"}),"No key"]})]}),h&&(0,d.jsxs)("div",{className:"space-y-3 pt-3",children:[(0,d.jsx)(j.Combobox,{value:k,onChange:a=>g({voice:b?.voice??null,model:a||null}),options:a.models.map(a=>({value:a.id,label:a.label,hint:a.id})),"aria-label":`${a.label} realtime model`,placeholder:a.models[0].id,empty:"Not on the list — it still runs"}),(0,d.jsx)("div",{className:"flex flex-wrap gap-1.5",children:a.voices.map(a=>(0,d.jsx)("button",{type:"button",onClick:()=>g({voice:a,model:b?.model??null}),className:(0,H.cn)("rounded-full border px-2.5 py-1 font-mono text-[11px] transition-colors outline-none focus-visible:ring-3 focus-visible:ring-ring/50",a===i?"border-foreground/40 text-foreground":"border-border/60 text-muted-foreground hover:text-foreground"),children:a},a))})]})]})}let W={center:{label:"Her last line",hint:"One caption under the mark — only what she said."},sides:{label:"Last three turns",hint:"Hers on the left, yours on the right, beside the mark."}};function Q({value:a,onChange:b}){return(0,d.jsx)(t.SettingGroup,{label:"Calls you",note:"off"!==a&&"Needs this tab open. A tab that has been silent since it loaded may not be allowed to make a sound — the desktop notification covers that.",children:(0,d.jsx)(t.SettingChoiceRows,{options:A.CALL_BACK_MODES.map(a=>({value:a,label:A.CALL_BACK_LABEL[a],hint:X[a]})),value:a,onChange:b})})}let X={off:"Nothing opens a call but you.",waiting:"A job that stopped to ask gets her to ring you.",any:"Anything a bot finishes, she opens a line to tell you."};function R({value:a,onChange:b}){return(0,d.jsx)(t.SettingGroup,{label:"Captions",children:(0,d.jsx)(t.SettingChoiceRows,{options:A.CAPTION_VIEWS.map(a=>({value:a,label:W[a].label,hint:W[a].hint})),value:a,onChange:b})})}function S({value:a,onChange:b}){let c=(0,C.useDraft)(a.phrase,c=>b({...a,phrase:c}),{min:A.WAKE_PHRASE.min}),e=c.value.trim().split(/\s+/).length<2;return(0,d.jsx)(t.SettingGroup,{label:"Wake",children:(0,d.jsx)(t.SettingToggle,{label:"Answer to her name",description:"Between calls, the browser listens for the phrase below and picks up when it hears it.",checked:a.enabled,onChange:c=>b({...a,enabled:c}),children:(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsx)(k.Input,{value:c.value,maxLength:A.WAKE_PHRASE.max,spellCheck:!1,onChange:a=>c.set(a.target.value),onBlur:c.commit,onKeyDown:c.onKeyDown,"aria-label":"Wake phrase",className:"font-mono text-sm"}),(0,d.jsx)(t.SettingNote,{children:e?"One word will wake her by accident — say hello first.":"Heard loosely, in English. Near misses count."})]})})})}function T({value:a,onChange:b}){let[c,e]=(0,g.useState)(!1),[f,h]=(0,g.useState)(!1),i=(0,D.useHotkeyLabel)((0,D.isCombo)(a.combo)?a.combo:null);return(0,d.jsx)(t.SettingGroup,{label:"Shortcut",children:(0,d.jsx)(t.SettingToggle,{label:"Answer to a key",description:"With this tab in front, the key below starts a call — and ends the one that is running.",checked:a.enabled,onChange:c=>b({...a,enabled:c}),children:(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsx)("button",{type:"button",...D.HOTKEY_CAPTURE,onClick:()=>{h(!1),e(!0)},onBlur:()=>e(!1),onKeyDown:c?c=>{if("Tab"===c.key)return;if(c.preventDefault(),c.stopPropagation(),"Escape"===c.key)return e(!1);let d=(0,D.comboOf)(c.nativeEvent);if(!d)return h(!0);h(!1),e(!1),b({...a,combo:d})}:void 0,className:(0,H.cn)("w-full rounded-lg border px-3 py-2 font-mono text-sm outline-none transition-colors focus-visible:ring-3 focus-visible:ring-ring/50",c?"border-foreground/40 text-muted-foreground":"border-border/60 hover:bg-muted/50"),children:c?"Press the keys…":i??"Set a shortcut"}),(0,d.jsx)(t.SettingNote,{children:f?"Hold Ctrl, Alt or Cmd — a plain key is typing.":c?"Esc to keep the one you have.":"Only while this tab has focus. Not while you are typing."})]})})})}function U({value:a,onSave:b}){let[c,e]=(0,g.useState)(a);return(0,d.jsx)(t.SettingGroup,{label:"Instructions",right:`${c.length}/${E.COMMON_VALIDATE.prompt.max}`,children:(0,d.jsxs)("div",{className:"space-y-3",children:[(0,d.jsx)(n.Textarea,{value:c,maxLength:E.COMMON_VALIDATE.prompt.max,onChange:a=>e(a.target.value),placeholder:"Anything else she should know before the first word — how to address you, what to skip.",className:"min-h-28"}),(0,d.jsx)("div",{className:"flex justify-end",children:(0,d.jsx)(i.Button,{size:"sm",disabled:c===a,onClick:()=>b(c),children:"Save"})})]})})}a.s(["ThursdaySetting",0,function(){let a=(0,B.useThursdayStore)(),b=(0,B.useThursdayStore)(a=>a.patch),{data:c=[],isLoading:e,error:f}=(0,G.useServerRoute)(h.queryKey.llmModel),g=(0,x.useThursdayFace)();if(e)return(0,d.jsx)(t.SettingSkeleton,{rows:4});if(f)return(0,d.jsx)(t.SettingError,{message:f.message});let i=a.model?.provider??null;return(0,d.jsxs)(t.SettingScreen,{footer:(0,d.jsx)(t.SettingRailNote,{children:"Her prompt is assembled fresh on every call — memory, the roster and your skills go in."}),children:[(0,d.jsx)(M,{value:g,onChange:x.setThursdayFace}),(0,d.jsx)(u.CallHistoryRow,{}),(0,d.jsx)(t.SettingGroup,{label:"Voice",note:!i&&"Nothing picked — calls run on whichever key is set.",children:(0,d.jsx)(t.SettingItems,{children:q.SPEACH_MODEL_PROVIDER_LIST.map(e=>{let f;return(0,d.jsx)(P,{provider:e,value:i===e.id?a.model:null,hasKey:(f=e.apiKeyName,c.some(a=>a.apiKeyName===f&&a.hasKey)),onPick:a=>b({model:{provider:e.id,...a}})},e.id)})})}),(0,d.jsx)(R,{value:a.captionView,onChange:a=>b({captionView:a})}),(0,d.jsx)(S,{value:a.wake,onChange:a=>b({wake:a})}),(0,d.jsx)(Q,{value:a.callBack,onChange:a=>b({callBack:a})}),(0,d.jsx)(T,{value:a.hotkey,onChange:a=>b({hotkey:a})}),(0,d.jsx)(J,{}),(0,d.jsx)(U,{value:a.systemPrompt??"",onSave:a=>b({systemPrompt:a})}),(0,d.jsx)(L,{})]})}]),c()}catch(a){c(a)}},!1),168793,a=>{"use strict";var b=a.i(405050);let c=(0,b.createServerReference)("7fc555b36b5925e2051ec959344746fb3809426d0d",b.callServer,void 0,b.findSourceMapURL,"deleteCallAction");a.s(["deleteCallAction",0,c])},717978,a=>{"use strict";var b=a.i(405050);let c=(0,b.createServerReference)("7f21d91d9d40f7a3f34d6c13a113858f03876152a7",b.callServer,void 0,b.findSourceMapURL,"deleteEndedCallsAction");a.s(["deleteEndedCallsAction",0,c])},262284,a=>{"use strict";var b=a.i(405050);let c=(0,b.createServerReference)("7f1d36b0d1eafa4f7bbf1208f18183bcc64c3ec7e0",b.callServer,void 0,b.findSourceMapURL,"resetHistoryAction");a.s(["resetHistoryAction",0,c])},621666,a=>{"use strict";var b=a.i(405050);let c=(0,b.createServerReference)("7f163845a4428ceeeb912bcaf5c0c9eef6f501b473",b.callServer,void 0,b.findSourceMapURL,"setCallSkillsAction");a.s(["setCallSkillsAction",0,c])},866491,a=>{"use strict";var b=a.i(164831);let c={name:"phone",size:24,node:[["path",{d:"M13.832 16.568a1 1 0 0 0 1.213-.303l.355-.465A2 2 0 0 1 17 15h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2A18 18 0 0 1 2 4a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v3a2 2 0 0 1-.8 1.6l-.468.351a1 1 0 0 0-.292 1.233 14 14 0 0 0 6.392 6.384",key:"9njp5v"}]]};c.node;let d=(0,b.default)(c);a.s(["Phone",0,d],866491)}];
2
2
 
3
- //# sourceMappingURL=_01_6m32._.js.map
3
+ //# sourceMappingURL=_1b2mjwr._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[964665,a=>a.a(async(b,c)=>{try{var d=a.i(187924),e=a.i(707963),f=a.i(168370),g=a.i(998697),h=a.i(572327),i=a.i(707938),j=a.i(483138),k=a.i(844561),l=a.i(71215),m=a.i(595775),n=a.i(649268),o=a.i(239025),p=a.i(951675),q=a.i(586446),r=a.i(572131),s=a.i(767561),t=a.i(340695),u=a.i(446181),v=a.i(950463),w=a.i(287702),x=a.i(681475),y=a.i(619477),z=a.i(369768),A=a.i(935220),B=a.i(199169),C=a.i(313237),D=a.i(759497),E=a.i(497895),F=b([z]);[z]=F.then?(await F)():F;let L={markdown:j.FileText,csv:o.Sheet,json:i.FileJson,text:j.FileText,frame:h.FileCode2,image:l.Image,audio:n.Music,video:q.Video,none:g.File};function G({entry:a,active:b,onPick:c}){let e="set"===a.kind?m.Images:L[a.view];return(0,d.jsxs)("button",{type:"button",onClick:c,title:`${a.name} \xb7 ${(0,B.shortAgo)(a.at)}`,className:(0,E.cn)("mx-2 flex items-center gap-2 rounded-md px-2 py-1.5 text-left text-[13px] outline-none focus-visible:ring-3 focus-visible:ring-ring/50 focus-visible:ring-inset",b?"bg-secondary font-medium text-foreground":"text-muted-foreground hover:bg-muted/60 hover:text-foreground"),children:[(0,d.jsx)(e,{className:"size-3.5 shrink-0 opacity-70"}),(0,d.jsx)("span",{className:"min-w-0 flex-1 truncate",children:a.name}),(0,d.jsx)("span",{className:"shrink-0 font-mono text-[11px] text-muted-foreground/75",children:"set"===a.kind?a.count:(0,E.formatBytes)(a.bytes)})]})}function H({row:a,file:b,onOpen:c,onBack:g,onGone:h}){let[i]=(0,C.useServerAction)(A.openFileAction),[j,l]=(0,C.useServerAction)(x.deleteArtifactAction,{okMessage:"Deleted",onOk:()=>{(0,D.revalidate)(s.queryKey.artifacts),b?g():h()}}),m=b?{path:b.path,bytes:b.bytes,at:b.at}:"file"===a.kind?{path:a.path,bytes:a.bytes,at:a.at}:null,n=async a=>{await u.notify.confirm({title:`Delete ${a.split("/").pop()}?`,description:"It is deleted from disk for good.",okText:"Delete",destructive:!0})&&j(a)};return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:"flex h-11 shrink-0 items-center gap-3 border-b border-border/60 px-6",children:[b&&(0,d.jsxs)("button",{type:"button",onClick:g,className:"-ml-1 flex shrink-0 items-center gap-1 rounded-md px-1.5 py-1 font-mono text-[11px] text-muted-foreground outline-none hover:bg-muted/60 hover:text-foreground focus-visible:ring-3 focus-visible:ring-ring/50",children:[(0,d.jsx)(e.ChevronLeft,{className:"size-3"}),a.name]}),(0,d.jsx)("span",{className:"min-w-0 flex-1 truncate font-mono text-[11px] text-foreground",children:m?m.path.split("/").pop()??a.name:a.name}),(0,d.jsx)("span",{className:"shrink-0 font-mono text-[11px] text-muted-foreground/70",children:m?`${(0,E.formatBytes)(m.bytes)} \xb7 ${(0,B.shortAgo)(m.at)}`:`${a.count} ${1===a.count?"file":"files"} \xb7 ${(0,B.shortAgo)(a.at)}`}),m&&(0,d.jsx)("a",{href:s.queryKey.fileView(m.path),target:"_blank",rel:"noreferrer","aria-label":"Open in a new tab",className:"grid size-7 shrink-0 place-items-center rounded-md text-muted-foreground outline-none transition-colors hover:bg-muted/60 hover:text-foreground focus-visible:ring-3 focus-visible:ring-ring/50",children:(0,d.jsx)(f.ExternalLink,{className:"size-4"})}),(0,d.jsx)(t.Button,{size:"icon-sm",variant:"ghost","aria-label":"Reveal in the file manager",className:"text-muted-foreground",onClick:()=>i(m?.path??a.path),children:(0,d.jsx)(k.FolderOpen,{})}),m&&(0,d.jsx)(t.Button,{size:"icon-sm",variant:"ghost","aria-label":"Delete",loading:l,className:"text-muted-foreground",onClick:()=>n(m.path),children:(0,d.jsx)(p.Trash2,{})})]}),(0,d.jsx)("div",{className:"min-h-0 flex-1 overflow-auto",children:m?(0,d.jsx)(z.FilePreview,{path:m.path,bytes:m.bytes}):(0,d.jsx)(I,{name:a.name,onOpen:c})})]})}function I({name:a,onOpen:b}){let{data:c,isLoading:e,error:f}=(0,D.useServerRoute)(s.queryKey.artifactSet(a,w.ARTIFACT_VIEW.setFiles));if(e)return(0,d.jsx)("div",{className:"grid grid-cols-4 gap-3 p-5",children:Array.from({length:8},(a,b)=>(0,d.jsx)(v.Skeleton,{className:"aspect-4/3 w-full rounded-xl"},b))});if(f)return(0,d.jsx)(y.SettingError,{message:f.message});let g=c?.files??[];return 0===g.length?(0,d.jsx)("p",{className:"p-5 text-xs text-muted-foreground/60",children:"Nothing in here the app can open."}):(0,d.jsxs)("div",{className:"p-5",children:[(0,d.jsx)("div",{className:"grid grid-cols-4 gap-3",children:g.map(a=>(0,d.jsxs)("button",{type:"button",onClick:()=>b(a),title:`${a.name} \xb7 ${(0,E.formatBytes)(a.bytes)}`,className:"flex flex-col gap-1.5 text-left outline-none focus-visible:ring-3 focus-visible:ring-ring/50 focus-visible:ring-offset-2",children:[(0,d.jsx)(J,{file:a}),(0,d.jsx)("span",{className:"truncate font-mono text-[11px] text-muted-foreground",children:a.name})]},a.path))}),c&&c.total>g.length&&(0,d.jsx)("p",{className:"pt-4 font-mono text-[11px] text-muted-foreground/60",children:`${g.length} of ${c.total.toLocaleString("en")} — the rest are in the folder`})]})}function J({file:a}){if("image"===a.view&&a.bytes<=w.WORKSPACE_VIEW.elementMax)return(0,d.jsx)("img",{src:s.queryKey.file(a.path),alt:a.name,loading:"lazy",decoding:"async",className:"aspect-4/3 w-full rounded-xl object-cover"});let b=L[a.view];return(0,d.jsx)("span",{className:"grid aspect-4/3 w-full place-items-center rounded-xl bg-muted/40 text-muted-foreground",children:(0,d.jsx)(b,{className:"size-5"})})}function K({empty:a,onReveal:b}){return(0,d.jsxs)("div",{className:"space-y-4 p-8",children:[(0,d.jsx)("p",{className:"max-w-lg text-sm leading-relaxed text-muted-foreground",children:a?"Nothing finished yet. When a bot ends a job with something to hand over — a page, a report, a set of pictures — it lands here.":"Pick something on the left. A folder a bot filled is one row, and opens as a sheet."}),(0,d.jsxs)(t.Button,{variant:"outline",onClick:b,children:[(0,d.jsx)(k.FolderOpen,{}),"Reveal folder"]})]})}a.s(["ArtifactSetting",0,function(){let[a,b]=(0,r.useState)(null),[c,e]=(0,r.useState)(""),[f,g]=(0,r.useState)(w.ARTIFACT_VIEW.rows),{data:h,isLoading:i,error:j}=(0,D.useServerRoute)(s.queryKey.artifactShelf(f),{keepPreviousData:!0}),[l]=(0,C.useServerAction)(A.openFileAction);if(i)return(0,d.jsx)(y.SettingPanesSkeleton,{});if(j)return(0,d.jsx)(y.SettingError,{message:j.message});let m=h?.entries??[],n=h?.total??0,o=c.trim().toLowerCase(),p=o?m.filter(a=>a.name.toLowerCase().includes(o)):m,q=m.find(b=>b.path===a?.row.path)??a?.row;return(0,d.jsx)(y.SettingPanes,{footer:(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(y.SettingRailNote,{children:(0,d.jsxs)("span",{className:"font-mono",children:[(0,d.jsx)("span",{className:"font-medium text-foreground",children:"artifacts"}),` \xb7 ${function(a,b,c){if(0===b)return"empty";let d=b>a.length?`${a.length} of ${b.toLocaleString("en")} artifacts`:`${b} ${1===b?"artifact":"artifacts"}`;return c>b?`${d} \xb7 ${c.toLocaleString("en")} files`:d}(m,n,h?.files??0)}`]})}),(0,d.jsxs)(t.Button,{variant:"outline",size:"sm",onClick:()=>l("artifacts"),children:[(0,d.jsx)(k.FolderOpen,{}),"Reveal folder"]})]}),left:(0,d.jsxs)("div",{className:"flex flex-col py-2",children:[(0,d.jsx)(y.SettingFilter,{value:c,onChange:e,placeholder:"Filter artifacts",className:"mx-2 mb-1.5 w-auto"}),0===p.length?(0,d.jsx)("p",{className:"px-4 py-3 text-xs text-muted-foreground/60",children:o?"Nothing matches":"Nothing here yet"}):p.map(a=>(0,d.jsx)(G,{entry:a,active:a.path===q?.path,onPick:()=>b({row:a,file:null})},a.path)),n>m.length&&(0,d.jsx)("button",{type:"button",onClick:()=>g(f+w.ARTIFACT_VIEW.rows),className:"mx-2 mt-2 rounded-md px-2 py-1.5 text-left font-mono text-[11px] text-muted-foreground outline-none hover:bg-muted/60 hover:text-foreground focus-visible:ring-3 focus-visible:ring-ring/50 focus-visible:ring-inset",children:`Show ${Math.min(w.ARTIFACT_VIEW.rows,n-m.length)} more of ${n.toLocaleString("en")}`})]}),right:q?(0,d.jsx)(H,{row:q,file:a?.file??null,onOpen:a=>b({row:q,file:a}),onBack:()=>b({row:q,file:null}),onGone:()=>b(null)},q.path):(0,d.jsx)(K,{empty:0===n,onReveal:()=>l("artifacts")})})}]),c()}catch(a){c(a)}},!1),681475,a=>{"use strict";var b=a.i(405050);let c=(0,b.createServerReference)("7fcb8973f9c88ffb3dd3e12eeeb7dfe80f2f1eb188",b.callServer,void 0,b.findSourceMapURL,"deleteArtifactAction");a.s(["deleteArtifactAction",0,c])},572327,a=>{"use strict";var b=a.i(164831);let c={name:"file-code-corner",size:24,node:[["path",{d:"M4 12.15V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2h-3.35",key:"1wthlu"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"m5 16-3 3 3 3",key:"331omg"}],["path",{d:"m9 22 3-3-3-3",key:"lsp7cz"}]],aliases:["file-code-2"]};c.node;let d=(0,b.default)(c);a.s(["FileCode2",0,d],572327)},595775,a=>{"use strict";var b=a.i(164831);let c={name:"images",size:24,node:[["path",{d:"m22 11-1.296-1.296a2.4 2.4 0 0 0-3.408 0L11 16",key:"9kzy35"}],["path",{d:"M4 8a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2",key:"1t0f0t"}],["circle",{cx:"13",cy:"7",r:"1",fill:"currentColor",key:"1obus6"}],["rect",{x:"8",y:"2",width:"14",height:"14",rx:"2",key:"1gvhby"}]]};c.node;let d=(0,b.default)(c);a.s(["Images",0,d],595775)},649268,a=>{"use strict";var b=a.i(164831);let c={name:"music",size:24,node:[["path",{d:"M9 18V5l12-2v13",key:"1jmyc2"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}],["circle",{cx:"18",cy:"16",r:"3",key:"1hluhg"}]]};c.node;let d=(0,b.default)(c);a.s(["Music",0,d],649268)},239025,a=>{"use strict";var b=a.i(164831);let c={name:"sheet",size:24,node:[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}],["line",{x1:"3",x2:"21",y1:"9",y2:"9",key:"1vqk6q"}],["line",{x1:"3",x2:"21",y1:"15",y2:"15",key:"o2sbyz"}],["line",{x1:"9",x2:"9",y1:"9",y2:"21",key:"1ib60c"}],["line",{x1:"15",x2:"15",y1:"9",y2:"21",key:"1n26ft"}]]};c.node;let d=(0,b.default)(c);a.s(["Sheet",0,d],239025)},951675,a=>{"use strict";var b=a.i(164831);let c={name:"trash",size:24,node:[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]],aliases:["trash-2"]};c.node;let d=(0,b.default)(c);a.s(["Trash2",0,d],951675)},586446,a=>{"use strict";var b=a.i(164831);let c={name:"video",size:24,node:[["path",{d:"m16 13 5.223 3.482a.5.5 0 0 0 .777-.416V7.87a.5.5 0 0 0-.752-.432L16 10.5",key:"ftymec"}],["rect",{x:"2",y:"6",width:"14",height:"12",rx:"2",key:"158x01"}]]};c.node;let d=(0,b.default)(c);a.s(["Video",0,d],586446)}];
1
+ module.exports=[964665,a=>a.a(async(b,c)=>{try{var d=a.i(187924),e=a.i(707963),f=a.i(168370),g=a.i(998697),h=a.i(572327),i=a.i(707938),j=a.i(483138),k=a.i(844561),l=a.i(71215),m=a.i(595775),n=a.i(649268),o=a.i(239025),p=a.i(951675),q=a.i(586446),r=a.i(572131),s=a.i(767561),t=a.i(340695),u=a.i(446181),v=a.i(950463),w=a.i(287702),x=a.i(881380),y=a.i(619477),z=a.i(369768),A=a.i(337967),B=a.i(199169),C=a.i(313237),D=a.i(759497),E=a.i(497895),F=b([z]);[z]=F.then?(await F)():F;let L={markdown:j.FileText,csv:o.Sheet,json:i.FileJson,text:j.FileText,frame:h.FileCode2,image:l.Image,audio:n.Music,video:q.Video,none:g.File};function G({entry:a,active:b,onPick:c}){let e="set"===a.kind?m.Images:L[a.view];return(0,d.jsxs)("button",{type:"button",onClick:c,title:`${a.name} \xb7 ${(0,B.shortAgo)(a.at)}`,className:(0,E.cn)("mx-2 flex items-center gap-2 rounded-md px-2 py-1.5 text-left text-[13px] outline-none focus-visible:ring-3 focus-visible:ring-ring/50 focus-visible:ring-inset",b?"bg-secondary font-medium text-foreground":"text-muted-foreground hover:bg-muted/60 hover:text-foreground"),children:[(0,d.jsx)(e,{className:"size-3.5 shrink-0 opacity-70"}),(0,d.jsx)("span",{className:"min-w-0 flex-1 truncate",children:a.name}),(0,d.jsx)("span",{className:"shrink-0 font-mono text-[11px] text-muted-foreground/75",children:"set"===a.kind?a.count:(0,E.formatBytes)(a.bytes)})]})}function H({row:a,file:b,onOpen:c,onBack:g,onGone:h}){let[i]=(0,C.useServerAction)(A.openFileAction),[j,l]=(0,C.useServerAction)(x.deleteArtifactAction,{okMessage:"Deleted",onOk:()=>{(0,D.revalidate)(s.queryKey.artifacts),b?g():h()}}),m=b?{path:b.path,bytes:b.bytes,at:b.at}:"file"===a.kind?{path:a.path,bytes:a.bytes,at:a.at}:null,n=async a=>{await u.notify.confirm({title:`Delete ${a.split("/").pop()}?`,description:"It is deleted from disk for good.",okText:"Delete",destructive:!0})&&j(a)};return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:"flex h-11 shrink-0 items-center gap-3 border-b border-border/60 px-6",children:[b&&(0,d.jsxs)("button",{type:"button",onClick:g,className:"-ml-1 flex shrink-0 items-center gap-1 rounded-md px-1.5 py-1 font-mono text-[11px] text-muted-foreground outline-none hover:bg-muted/60 hover:text-foreground focus-visible:ring-3 focus-visible:ring-ring/50",children:[(0,d.jsx)(e.ChevronLeft,{className:"size-3"}),a.name]}),(0,d.jsx)("span",{className:"min-w-0 flex-1 truncate font-mono text-[11px] text-foreground",children:m?m.path.split("/").pop()??a.name:a.name}),(0,d.jsx)("span",{className:"shrink-0 font-mono text-[11px] text-muted-foreground/70",children:m?`${(0,E.formatBytes)(m.bytes)} \xb7 ${(0,B.shortAgo)(m.at)}`:`${a.count} ${1===a.count?"file":"files"} \xb7 ${(0,B.shortAgo)(a.at)}`}),m&&(0,d.jsx)("a",{href:s.queryKey.fileView(m.path),target:"_blank",rel:"noreferrer","aria-label":"Open in a new tab",className:"grid size-7 shrink-0 place-items-center rounded-md text-muted-foreground outline-none transition-colors hover:bg-muted/60 hover:text-foreground focus-visible:ring-3 focus-visible:ring-ring/50",children:(0,d.jsx)(f.ExternalLink,{className:"size-4"})}),(0,d.jsx)(t.Button,{size:"icon-sm",variant:"ghost","aria-label":"Reveal in the file manager",className:"text-muted-foreground",onClick:()=>i(m?.path??a.path),children:(0,d.jsx)(k.FolderOpen,{})}),m&&(0,d.jsx)(t.Button,{size:"icon-sm",variant:"ghost","aria-label":"Delete",loading:l,className:"text-muted-foreground",onClick:()=>n(m.path),children:(0,d.jsx)(p.Trash2,{})})]}),(0,d.jsx)("div",{className:"min-h-0 flex-1 overflow-auto",children:m?(0,d.jsx)(z.FilePreview,{path:m.path,bytes:m.bytes}):(0,d.jsx)(I,{name:a.name,onOpen:c})})]})}function I({name:a,onOpen:b}){let{data:c,isLoading:e,error:f}=(0,D.useServerRoute)(s.queryKey.artifactSet(a,w.ARTIFACT_VIEW.setFiles));if(e)return(0,d.jsx)("div",{className:"grid grid-cols-4 gap-3 p-5",children:Array.from({length:8},(a,b)=>(0,d.jsx)(v.Skeleton,{className:"aspect-4/3 w-full rounded-xl"},b))});if(f)return(0,d.jsx)(y.SettingError,{message:f.message});let g=c?.files??[];return 0===g.length?(0,d.jsx)("p",{className:"p-5 text-xs text-muted-foreground/60",children:"Nothing in here the app can open."}):(0,d.jsxs)("div",{className:"p-5",children:[(0,d.jsx)("div",{className:"grid grid-cols-4 gap-3",children:g.map(a=>(0,d.jsxs)("button",{type:"button",onClick:()=>b(a),title:`${a.name} \xb7 ${(0,E.formatBytes)(a.bytes)}`,className:"flex flex-col gap-1.5 text-left outline-none focus-visible:ring-3 focus-visible:ring-ring/50 focus-visible:ring-offset-2",children:[(0,d.jsx)(J,{file:a}),(0,d.jsx)("span",{className:"truncate font-mono text-[11px] text-muted-foreground",children:a.name})]},a.path))}),c&&c.total>g.length&&(0,d.jsx)("p",{className:"pt-4 font-mono text-[11px] text-muted-foreground/60",children:`${g.length} of ${c.total.toLocaleString("en")} — the rest are in the folder`})]})}function J({file:a}){if("image"===a.view&&a.bytes<=w.WORKSPACE_VIEW.elementMax)return(0,d.jsx)("img",{src:s.queryKey.file(a.path),alt:a.name,loading:"lazy",decoding:"async",className:"aspect-4/3 w-full rounded-xl object-cover"});let b=L[a.view];return(0,d.jsx)("span",{className:"grid aspect-4/3 w-full place-items-center rounded-xl bg-muted/40 text-muted-foreground",children:(0,d.jsx)(b,{className:"size-5"})})}function K({empty:a,onReveal:b}){return(0,d.jsxs)("div",{className:"space-y-4 p-8",children:[(0,d.jsx)("p",{className:"max-w-lg text-sm leading-relaxed text-muted-foreground",children:a?"Nothing finished yet. When a bot ends a job with something to hand over — a page, a report, a set of pictures — it lands here.":"Pick something on the left. A folder a bot filled is one row, and opens as a sheet."}),(0,d.jsxs)(t.Button,{variant:"outline",onClick:b,children:[(0,d.jsx)(k.FolderOpen,{}),"Reveal folder"]})]})}a.s(["ArtifactSetting",0,function(){let[a,b]=(0,r.useState)(null),[c,e]=(0,r.useState)(""),[f,g]=(0,r.useState)(w.ARTIFACT_VIEW.rows),{data:h,isLoading:i,error:j}=(0,D.useServerRoute)(s.queryKey.artifactShelf(f),{keepPreviousData:!0}),[l]=(0,C.useServerAction)(A.openFileAction);if(i)return(0,d.jsx)(y.SettingPanesSkeleton,{});if(j)return(0,d.jsx)(y.SettingError,{message:j.message});let m=h?.entries??[],n=h?.total??0,o=c.trim().toLowerCase(),p=o?m.filter(a=>a.name.toLowerCase().includes(o)):m,q=m.find(b=>b.path===a?.row.path)??a?.row;return(0,d.jsx)(y.SettingPanes,{footer:(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(y.SettingRailNote,{children:(0,d.jsxs)("span",{className:"font-mono",children:[(0,d.jsx)("span",{className:"font-medium text-foreground",children:"artifacts"}),` \xb7 ${function(a,b,c){if(0===b)return"empty";let d=b>a.length?`${a.length} of ${b.toLocaleString("en")} artifacts`:`${b} ${1===b?"artifact":"artifacts"}`;return c>b?`${d} \xb7 ${c.toLocaleString("en")} files`:d}(m,n,h?.files??0)}`]})}),(0,d.jsxs)(t.Button,{variant:"outline",size:"sm",onClick:()=>l("artifacts"),children:[(0,d.jsx)(k.FolderOpen,{}),"Reveal folder"]})]}),left:(0,d.jsxs)("div",{className:"flex flex-col py-2",children:[(0,d.jsx)(y.SettingFilter,{value:c,onChange:e,placeholder:"Filter artifacts",className:"mx-2 mb-1.5 w-auto"}),0===p.length?(0,d.jsx)("p",{className:"px-4 py-3 text-xs text-muted-foreground/60",children:o?"Nothing matches":"Nothing here yet"}):p.map(a=>(0,d.jsx)(G,{entry:a,active:a.path===q?.path,onPick:()=>b({row:a,file:null})},a.path)),n>m.length&&(0,d.jsx)("button",{type:"button",onClick:()=>g(f+w.ARTIFACT_VIEW.rows),className:"mx-2 mt-2 rounded-md px-2 py-1.5 text-left font-mono text-[11px] text-muted-foreground outline-none hover:bg-muted/60 hover:text-foreground focus-visible:ring-3 focus-visible:ring-ring/50 focus-visible:ring-inset",children:`Show ${Math.min(w.ARTIFACT_VIEW.rows,n-m.length)} more of ${n.toLocaleString("en")}`})]}),right:q?(0,d.jsx)(H,{row:q,file:a?.file??null,onOpen:a=>b({row:q,file:a}),onBack:()=>b({row:q,file:null}),onGone:()=>b(null)},q.path):(0,d.jsx)(K,{empty:0===n,onReveal:()=>l("artifacts")})})}]),c()}catch(a){c(a)}},!1),881380,a=>{"use strict";var b=a.i(405050);let c=(0,b.createServerReference)("7fc5826b1ab07dadbb3ec995a5171fff0a4fab8c7a",b.callServer,void 0,b.findSourceMapURL,"deleteArtifactAction");a.s(["deleteArtifactAction",0,c])},572327,a=>{"use strict";var b=a.i(164831);let c={name:"file-code-corner",size:24,node:[["path",{d:"M4 12.15V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2h-3.35",key:"1wthlu"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"m5 16-3 3 3 3",key:"331omg"}],["path",{d:"m9 22 3-3-3-3",key:"lsp7cz"}]],aliases:["file-code-2"]};c.node;let d=(0,b.default)(c);a.s(["FileCode2",0,d],572327)},595775,a=>{"use strict";var b=a.i(164831);let c={name:"images",size:24,node:[["path",{d:"m22 11-1.296-1.296a2.4 2.4 0 0 0-3.408 0L11 16",key:"9kzy35"}],["path",{d:"M4 8a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2",key:"1t0f0t"}],["circle",{cx:"13",cy:"7",r:"1",fill:"currentColor",key:"1obus6"}],["rect",{x:"8",y:"2",width:"14",height:"14",rx:"2",key:"1gvhby"}]]};c.node;let d=(0,b.default)(c);a.s(["Images",0,d],595775)},649268,a=>{"use strict";var b=a.i(164831);let c={name:"music",size:24,node:[["path",{d:"M9 18V5l12-2v13",key:"1jmyc2"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}],["circle",{cx:"18",cy:"16",r:"3",key:"1hluhg"}]]};c.node;let d=(0,b.default)(c);a.s(["Music",0,d],649268)},239025,a=>{"use strict";var b=a.i(164831);let c={name:"sheet",size:24,node:[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}],["line",{x1:"3",x2:"21",y1:"9",y2:"9",key:"1vqk6q"}],["line",{x1:"3",x2:"21",y1:"15",y2:"15",key:"o2sbyz"}],["line",{x1:"9",x2:"9",y1:"9",y2:"21",key:"1ib60c"}],["line",{x1:"15",x2:"15",y1:"9",y2:"21",key:"1n26ft"}]]};c.node;let d=(0,b.default)(c);a.s(["Sheet",0,d],239025)},951675,a=>{"use strict";var b=a.i(164831);let c={name:"trash",size:24,node:[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]],aliases:["trash-2"]};c.node;let d=(0,b.default)(c);a.s(["Trash2",0,d],951675)},586446,a=>{"use strict";var b=a.i(164831);let c={name:"video",size:24,node:[["path",{d:"m16 13 5.223 3.482a.5.5 0 0 0 .777-.416V7.87a.5.5 0 0 0-.752-.432L16 10.5",key:"ftymec"}],["rect",{x:"2",y:"6",width:"14",height:"12",rx:"2",key:"158x01"}]]};c.node;let d=(0,b.default)(c);a.s(["Video",0,d],586446)}];
2
2
 
3
- //# sourceMappingURL=_1eoqg_g._.js.map
3
+ //# sourceMappingURL=_1f-dg-6._.js.map