thursday-agent 0.22.0 → 0.23.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 (455) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/build-manifest.json +3 -3
  3. package/.next/prerender-manifest.json +4 -4
  4. package/.next/server/app/_global-error/page.js.nft.json +1 -1
  5. package/.next/server/app/_global-error.html +1 -1
  6. package/.next/server/app/_global-error.rsc +1 -1
  7. package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  8. package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  9. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  10. package/.next/server/app/_not-found/page.js.nft.json +1 -1
  11. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  12. package/.next/server/app/_not-found.html +1 -1
  13. package/.next/server/app/_not-found.rsc +12 -12
  14. package/.next/server/app/_not-found.segments/_full.segment.rsc +12 -12
  15. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +11 -11
  16. package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  17. package/.next/server/app/api/artifact/route.js +6 -6
  18. package/.next/server/app/api/artifact/route.js.nft.json +1 -1
  19. package/.next/server/app/api/bot/memory/files/route.js +5 -4
  20. package/.next/server/app/api/bot/memory/files/route.js.nft.json +1 -1
  21. package/.next/server/app/api/bot/memory/route.js +9 -9
  22. package/.next/server/app/api/bot/memory/route.js.nft.json +1 -1
  23. package/.next/server/app/api/bot/route.js +9 -9
  24. package/.next/server/app/api/bot/route.js.nft.json +1 -1
  25. package/.next/server/app/api/bot/thread/[id]/route.js +2 -2
  26. package/.next/server/app/api/bot/thread/[id]/route.js.nft.json +1 -1
  27. package/.next/server/app/api/bot/thread/file/route.js +12 -12
  28. package/.next/server/app/api/bot/thread/file/route.js.nft.json +1 -1
  29. package/.next/server/app/api/bot/thread/route.js +2 -2
  30. package/.next/server/app/api/bot/thread/route.js.nft.json +1 -1
  31. package/.next/server/app/api/config/route.js +2 -2
  32. package/.next/server/app/api/config/route.js.nft.json +1 -1
  33. package/.next/server/app/api/events/route.js.nft.json +1 -1
  34. package/.next/server/app/api/favicon/[host]/route.js.nft.json +1 -1
  35. package/.next/server/app/api/file/[...path]/route.js +3 -3
  36. package/.next/server/app/api/file/[...path]/route.js.nft.json +1 -1
  37. package/.next/server/app/api/llm-model/automatic/route.js.nft.json +1 -1
  38. package/.next/server/app/api/llm-model/catalog/[provider]/route.js.nft.json +1 -1
  39. package/.next/server/app/api/llm-model/credits/[provider]/route.js.nft.json +1 -1
  40. package/.next/server/app/api/llm-model/route.js.nft.json +1 -1
  41. package/.next/server/app/api/llm-model/subscription/route.js.nft.json +1 -1
  42. package/.next/server/app/api/mcp/[name]/route.js.nft.json +1 -1
  43. package/.next/server/app/api/mcp/oauth/callback/route.js +2 -2
  44. package/.next/server/app/api/mcp/oauth/callback/route.js.nft.json +1 -1
  45. package/.next/server/app/api/mcp/route.js.nft.json +1 -1
  46. package/.next/server/app/api/mcp/tools/route.js.nft.json +1 -1
  47. package/.next/server/app/api/memory/edit/route.js +13 -13
  48. package/.next/server/app/api/memory/edit/route.js.nft.json +1 -1
  49. package/.next/server/app/api/memory/route.js +1 -1
  50. package/.next/server/app/api/memory/route.js.nft.json +1 -1
  51. package/.next/server/app/api/reach/route.js +11 -11
  52. package/.next/server/app/api/reach/route.js.nft.json +1 -1
  53. package/.next/server/app/api/routine/route.js +9 -9
  54. package/.next/server/app/api/routine/route.js.nft.json +1 -1
  55. package/.next/server/app/api/running/route.js.nft.json +1 -1
  56. package/.next/server/app/api/signins/route.js +7 -6
  57. package/.next/server/app/api/signins/route.js.nft.json +1 -1
  58. package/.next/server/app/api/skills/[source]/[name]/route.js +8 -8
  59. package/.next/server/app/api/skills/[source]/[name]/route.js.nft.json +1 -1
  60. package/.next/server/app/api/skills/route.js +8 -8
  61. package/.next/server/app/api/skills/route.js.nft.json +1 -1
  62. package/.next/server/app/api/thursday/call/end/route.js +6 -6
  63. package/.next/server/app/api/thursday/call/end/route.js.nft.json +1 -1
  64. package/.next/server/app/api/thursday/call/plan/route.js +16 -16
  65. package/.next/server/app/api/thursday/call/plan/route.js.nft.json +1 -1
  66. package/.next/server/app/api/thursday/call/route.js +6 -6
  67. package/.next/server/app/api/thursday/call/route.js.nft.json +1 -1
  68. package/.next/server/app/api/thursday/settings/route.js +6 -6
  69. package/.next/server/app/api/thursday/settings/route.js.nft.json +1 -1
  70. package/.next/server/app/api/thursday/text/route.js +16 -16
  71. package/.next/server/app/api/thursday/text/route.js.nft.json +1 -1
  72. package/.next/server/app/api/thursday/tool-call/route.js +10 -10
  73. package/.next/server/app/api/thursday/tool-call/route.js.nft.json +1 -1
  74. package/.next/server/app/api/workspace/files/route.js +1 -1
  75. package/.next/server/app/api/workspace/files/route.js.nft.json +1 -1
  76. package/.next/server/app/api/workspace/route.js +1 -1
  77. package/.next/server/app/api/workspace/route.js.nft.json +1 -1
  78. package/.next/server/app/artifact/[...path]/page/server-reference-manifest.json +11 -11
  79. package/.next/server/app/artifact/[...path]/page.js +5 -5
  80. package/.next/server/app/artifact/[...path]/page.js.nft.json +1 -1
  81. package/.next/server/app/artifact/[...path]/page_client-reference-manifest.js +1 -1
  82. package/.next/server/app/favicon.ico/route.js.nft.json +1 -1
  83. package/.next/server/app/manifest.webmanifest/route.js.nft.json +1 -1
  84. package/.next/server/app/page/react-loadable-manifest.json +2 -2
  85. package/.next/server/app/page/server-reference-manifest.json +162 -162
  86. package/.next/server/app/page.js +7 -7
  87. package/.next/server/app/page.js.nft.json +1 -1
  88. package/.next/server/app/page_client-reference-manifest.js +1 -1
  89. package/.next/server/chunks/[root-of-the-server]__019e1fy._.js +2 -2
  90. package/.next/server/chunks/[root-of-the-server]__01jpmcj._.js +2 -2
  91. package/.next/server/chunks/[root-of-the-server]__03bjojd._.js +2 -2
  92. package/.next/server/chunks/[root-of-the-server]__03vunn6._.js +1 -1
  93. package/.next/server/chunks/[root-of-the-server]__06kxzw-._.js +2 -2
  94. package/.next/server/chunks/[root-of-the-server]__0atwstu._.js +1 -1
  95. package/.next/server/chunks/{[root-of-the-server]__005onk_._.js → [root-of-the-server]__0cfv4rq._.js} +1 -1
  96. package/.next/server/chunks/[root-of-the-server]__0d-dfqm._.js +1 -1
  97. package/.next/server/chunks/{[root-of-the-server]__1-i6lgn._.js → [root-of-the-server]__0d00o4_._.js} +1 -1
  98. package/.next/server/chunks/{[root-of-the-server]__0itmdqy._.js → [root-of-the-server]__0e8y4ok._.js} +1 -1
  99. package/.next/server/chunks/{[root-of-the-server]__1tyftcr._.js → [root-of-the-server]__0eem_66._.js} +1 -1
  100. package/.next/server/chunks/{[root-of-the-server]__0xn7a8p._.js → [root-of-the-server]__0jn2qbf._.js} +1 -1
  101. package/.next/server/chunks/{[root-of-the-server]__08922kg._.js → [root-of-the-server]__0l563r8._.js} +1 -1
  102. package/.next/server/chunks/[root-of-the-server]__0mh1tgg._.js +1 -1
  103. package/.next/server/chunks/[root-of-the-server]__0mq0qmk._.js +3 -0
  104. package/.next/server/chunks/[root-of-the-server]__0ncs9uu._.js +1 -1
  105. package/.next/server/chunks/{[root-of-the-server]__1a7rgvy._.js → [root-of-the-server]__0pp2355._.js} +1 -1
  106. package/.next/server/chunks/{[root-of-the-server]__1g08s7l._.js → [root-of-the-server]__0r77huw._.js} +2 -2
  107. package/.next/server/chunks/[root-of-the-server]__10_v9ml._.js +3 -0
  108. package/.next/server/chunks/[root-of-the-server]__13hng6h._.js +1 -1
  109. package/.next/server/chunks/[root-of-the-server]__1478lu3._.js +1 -1
  110. package/.next/server/chunks/[root-of-the-server]__16xao_p._.js +5 -0
  111. package/.next/server/chunks/[root-of-the-server]__17kdjf6._.js +2 -2
  112. package/.next/server/chunks/[root-of-the-server]__17m7ag9._.js +1 -1
  113. package/.next/server/chunks/[root-of-the-server]__17yv6lg._.js +5 -0
  114. package/.next/server/chunks/[root-of-the-server]__19aqyg-._.js +1 -1
  115. package/.next/server/chunks/[root-of-the-server]__19imprr._.js +3 -0
  116. package/.next/server/chunks/[root-of-the-server]__1_04mcf._.js +2 -2
  117. package/.next/server/chunks/[root-of-the-server]__1ceammd._.js +1 -1
  118. package/.next/server/chunks/[root-of-the-server]__1fhule0._.js +3 -0
  119. package/.next/server/chunks/[root-of-the-server]__1hing45._.js +3 -0
  120. package/.next/server/chunks/{[root-of-the-server]__0mttntm._.js → [root-of-the-server]__1ivfglf._.js} +1 -1
  121. package/.next/server/chunks/[root-of-the-server]__1jcu_e9._.js +5 -0
  122. package/.next/server/chunks/{[root-of-the-server]__0m0qglo._.js → [root-of-the-server]__1kb-dkn._.js} +2 -2
  123. package/.next/server/chunks/{[root-of-the-server]__0eluax8._.js → [root-of-the-server]__1mowvzz._.js} +1 -1
  124. package/.next/server/chunks/[root-of-the-server]__1ndi14y._.js +1 -1
  125. package/.next/server/chunks/[root-of-the-server]__1o7z93z._.js +1 -1
  126. package/.next/server/chunks/[root-of-the-server]__1onvx8x._.js +1 -1
  127. package/.next/server/chunks/[root-of-the-server]__1q_d6dj._.js +3 -0
  128. package/.next/server/chunks/[root-of-the-server]__1u_6dhy._.js +1 -1
  129. package/.next/server/chunks/{[root-of-the-server]__1_wtn0q._.js → [root-of-the-server]__1yiqjfx._.js} +1 -1
  130. package/.next/server/chunks/[root-of-the-server]__1yr_vvq._.js +3 -0
  131. package/.next/server/chunks/_0-mqt2w._.js +3 -0
  132. package/.next/server/chunks/_0-qt5if._.js +1 -1
  133. package/.next/server/chunks/{_0fau3ya._.js → _00aztuo._.js} +2 -2
  134. package/.next/server/chunks/_021kabv._.js +53 -0
  135. package/.next/server/chunks/_032k4m6._.js +3 -0
  136. package/.next/server/chunks/_03p6r2-._.js +1 -1
  137. package/.next/server/chunks/_06b5b4-._.js +2 -2
  138. package/.next/server/chunks/_06u9yo-._.js +1 -1
  139. package/.next/server/chunks/_07mczew._.js +3 -0
  140. package/.next/server/chunks/_07pkeds._.js +1 -1
  141. package/.next/server/chunks/_08354bn._.js +22 -22
  142. package/.next/server/chunks/_083t_nr._.js +5 -0
  143. package/.next/server/chunks/_0c-s0ei._.js +3 -0
  144. package/.next/server/chunks/_0cq69mm._.js +1 -1
  145. package/.next/server/chunks/_0gifi_2._.js +7 -0
  146. package/.next/server/chunks/_0gxz_1b._.js +1 -1
  147. package/.next/server/chunks/{_1tjwvoz._.js → _0la8s6t._.js} +2 -2
  148. package/.next/server/chunks/_0p27in2._.js +1 -1
  149. package/.next/server/chunks/{_09rtyfn._.js → _0rn3c_0._.js} +24 -26
  150. package/.next/server/chunks/_0ue8nq-._.js +5 -1
  151. package/.next/server/chunks/{_1uu4wjr._.js → _0wkhub3._.js} +2 -2
  152. package/.next/server/chunks/_0wyh244._.js +22 -22
  153. package/.next/server/chunks/_0ynjnhl._.js +5 -0
  154. package/.next/server/chunks/_1-wp0r0._.js +1 -1
  155. package/.next/server/chunks/{_201k0ah._.js → _12-7atf._.js} +2 -2
  156. package/.next/server/chunks/{_02mn8d7._.js → _124q1p2._.js} +2 -2
  157. package/.next/server/chunks/{_14xuq46._.js → _13qoxq9._.js} +24 -26
  158. package/.next/server/chunks/{_11y8h29._.js → _15-_mie._.js} +2 -2
  159. package/.next/server/chunks/_1823_7a._.js +1 -1
  160. package/.next/server/chunks/{_0uir6hb._.js → _186uku9._.js} +2 -2
  161. package/.next/server/chunks/{_0ggqpiz._.js → _18sj4xf._.js} +2 -2
  162. package/.next/server/chunks/_19kea1l._.js +12 -12
  163. package/.next/server/chunks/_1ac33qw._.js +2 -2
  164. package/.next/server/chunks/{_18z965x._.js → _1chy-lk._.js} +2 -2
  165. package/.next/server/chunks/_1cw6-rv._.js +1 -1
  166. package/.next/server/chunks/_1evvnbp._.js +1 -1
  167. package/.next/server/chunks/_1f_x75d._.js +3 -0
  168. package/.next/server/chunks/_1gn2r2q._.js +7 -9
  169. package/.next/server/chunks/_1icgbi8._.js +1 -1
  170. package/.next/server/chunks/{_1ozcb6o._.js → _1k6bmez._.js} +2 -2
  171. package/.next/server/chunks/_1ko5shz._.js +1 -1
  172. package/.next/server/chunks/_1ksyu6r._.js +1 -1
  173. package/.next/server/chunks/_1kwmzab._.js +3 -0
  174. package/.next/server/chunks/_1lg0lsu._.js +1 -1
  175. package/.next/server/chunks/_1pv6xbq._.js +5 -0
  176. package/.next/server/chunks/_1q42187._.js +2 -2
  177. package/.next/server/chunks/_1q6e56i._.js +7 -9
  178. package/.next/server/chunks/_1t43w6q._.js +1 -1
  179. package/.next/server/chunks/_1t8fv7b._.js +1 -1
  180. package/.next/server/chunks/_1ufbxe1._.js +1 -1
  181. package/.next/server/chunks/_1wgae1c._.js +1 -1
  182. package/.next/server/chunks/_1xps4ob._.js +1 -1
  183. package/.next/server/chunks/_1znrlca._.js +3 -0
  184. package/.next/server/chunks/config_ts_1g4sz5o._.js +1 -1
  185. package/.next/server/chunks/features_14kex_m._.js +11 -11
  186. package/.next/server/chunks/features_bot_08z387_._.js +2 -2
  187. package/.next/server/chunks/features_bot_1d6ghh5._.js +41 -0
  188. package/.next/server/chunks/features_bot_1dfrdsb._.js +10 -6
  189. package/.next/server/chunks/{node_modules_consola_dist_chunks_prompt_mjs_0yd5xa0._.js → node_modules_consola_dist_chunks_prompt_mjs_0k--vqs._.js} +1 -1
  190. package/.next/server/chunks/node_modules_consola_dist_chunks_prompt_mjs_0ufuc3s._.js +3 -0
  191. package/.next/server/chunks/ssr/[root-of-the-server]__05qiosr._.js +3 -0
  192. package/.next/server/chunks/ssr/[root-of-the-server]__0y03pu0._.js +3 -0
  193. package/.next/server/chunks/ssr/[root-of-the-server]__0zt_au4._.js +3 -0
  194. package/.next/server/chunks/ssr/{[root-of-the-server]__0eloa6y._.js → [root-of-the-server]__17yeveo._.js} +5 -5
  195. package/.next/server/chunks/ssr/[root-of-the-server]__1867koj._.js +1 -1
  196. package/.next/server/chunks/ssr/[root-of-the-server]__1t38-p_._.js +3 -0
  197. package/.next/server/chunks/ssr/[root-of-the-server]__1u42eh0._.js +3 -0
  198. package/.next/server/chunks/ssr/[root-of-the-server]__203utm3._.js +1 -1
  199. package/.next/server/chunks/ssr/{_0xurp8n._.js → _0-s7ria._.js} +2 -2
  200. package/.next/server/chunks/ssr/_03vw3u5._.js +3 -0
  201. package/.next/server/chunks/ssr/_088qe9a._.js +162 -0
  202. package/.next/server/chunks/ssr/_09a6bpd._.js +1 -1
  203. package/.next/server/chunks/ssr/{_0u43zjx._.js → _0a_pedm._.js} +2 -2
  204. package/.next/server/chunks/ssr/_0ali_i8._.js +3 -0
  205. package/.next/server/chunks/ssr/_0cd6g3l._.js +3 -3
  206. package/.next/server/chunks/ssr/{_1nwey7a._.js → _0eprrig._.js} +2 -2
  207. package/.next/server/chunks/ssr/_0flnog5._.js +3 -0
  208. package/.next/server/chunks/ssr/_0iuvjnw._.js +1 -1
  209. package/.next/server/chunks/ssr/{_0t_e9rd._.js → _0k-gl8l._.js} +2 -2
  210. package/.next/server/chunks/ssr/_0kmldic._.js +41 -0
  211. package/.next/server/chunks/ssr/_0ks03l-._.js +3 -0
  212. package/.next/server/chunks/ssr/_0mng-y8._.js +6 -0
  213. package/.next/server/chunks/ssr/_0tg3o37._.js +1 -1
  214. package/.next/server/chunks/ssr/_0ugzm_0._.js +3 -0
  215. package/.next/server/chunks/ssr/{_0ntol64._.js → _0wnv6c0._.js} +2 -2
  216. package/.next/server/chunks/ssr/{_0-y08rv._.js → _0z9zkd-._.js} +2 -2
  217. package/.next/server/chunks/ssr/_11l9kc0._.js +1 -1
  218. package/.next/server/chunks/ssr/_12_ail7._.js +3 -0
  219. package/.next/server/chunks/ssr/_16_7zeo._.js +1 -1
  220. package/.next/server/chunks/ssr/_16wjbs2._.js +3 -0
  221. package/.next/server/chunks/ssr/{_16o81mn._.js → _18rmqqu._.js} +2 -2
  222. package/.next/server/chunks/ssr/_1bfrntd._.js +2 -2
  223. package/.next/server/chunks/ssr/{_0gn_i4s._.js → _1ckje8g._.js} +2 -2
  224. package/.next/server/chunks/ssr/_1crszf7._.js +1 -1
  225. package/.next/server/chunks/ssr/_1h3qetc._.js +3 -0
  226. package/.next/server/chunks/ssr/{_1gz4ov7._.js → _1kpvfmn._.js} +3 -3
  227. package/.next/server/chunks/ssr/{_12hdw8x._.js → _1l-3enz._.js} +26 -28
  228. package/.next/server/chunks/ssr/_1neoj22._.js +1 -1
  229. package/.next/server/chunks/ssr/_1soynbw._.js +2 -2
  230. package/.next/server/chunks/ssr/{_0ux4i2m._.js → _1v1pcoh._.js} +2 -2
  231. package/.next/server/chunks/ssr/features_ai_components_model-picker_tsx_0ucb1y9._.js +1 -1
  232. package/.next/server/chunks/ssr/{features_bot_06n7hmd._.js → features_bot_0-7flc-._.js} +2 -2
  233. package/.next/server/chunks/ssr/features_bot_0tb4ui-._.js +1 -1
  234. package/.next/server/chunks/ssr/features_bot_1stfytf._.js +41 -0
  235. package/.next/server/chunks/ssr/features_config_10xs4l1._.js +20 -0
  236. package/.next/server/chunks/ssr/features_connectors_components_mcp-setting_tsx_0jmbgvp._.js +1 -1
  237. package/.next/server/chunks/ssr/features_memory_components_memory-setting_tsx_0oa43sw._.js +1 -1
  238. package/.next/server/chunks/ssr/features_routine_components_routine-setting_tsx_055fknz._.js +1 -1
  239. package/.next/server/chunks/ssr/features_thursday_0cf9y0b._.js +1 -1
  240. package/.next/server/chunks/ssr/features_thursday_components_here-globe_tsx_055duhw._.js +1 -1
  241. package/.next/server/chunks/ssr/lib_utils_ts_0_f1xvm._.js +1 -1
  242. package/.next/server/chunks/ssr/{node_modules_1i-g3bz._.js → node_modules_00mh9o-._.js} +1 -1
  243. package/.next/server/chunks/ssr/{node_modules_1bvw77g._.js → node_modules_04f_uw2._.js} +1 -1
  244. package/.next/server/chunks/ssr/{node_modules_16tn8xu._.js → node_modules_07udd3z._.js} +1 -1
  245. package/.next/server/chunks/ssr/{node_modules_0ksqeyy._.js → node_modules_08-pj-2._.js} +1 -1
  246. package/.next/server/chunks/ssr/{node_modules_0e398ts._.js → node_modules_098h6h5._.js} +1 -1
  247. package/.next/server/chunks/ssr/{node_modules_19r9vjv._.js → node_modules_0_7yfem._.js} +1 -1
  248. package/.next/server/chunks/ssr/{node_modules_01v7ybp._.js → node_modules_0ayoorn._.js} +1 -1
  249. package/.next/server/chunks/ssr/{node_modules_0_zk6yd._.js → node_modules_0bp3vfu._.js} +1 -1
  250. package/.next/server/chunks/ssr/{node_modules_0m-dnm-._.js → node_modules_0ch5hqr._.js} +1 -1
  251. package/.next/server/chunks/ssr/{node_modules_0536cp2._.js → node_modules_0e-hyim._.js} +1 -1
  252. package/.next/server/chunks/ssr/{node_modules_0yn2z6s._.js → node_modules_0ffm9w3._.js} +1 -1
  253. package/.next/server/chunks/ssr/{node_modules_1jf8aik._.js → node_modules_0jzyuwk._.js} +1 -1
  254. package/.next/server/chunks/ssr/{node_modules_0m2oth3._.js → node_modules_0ln4iwf._.js} +1 -1
  255. package/.next/server/chunks/ssr/{node_modules_1dlue-g._.js → node_modules_0my2hph._.js} +1 -1
  256. package/.next/server/chunks/ssr/{node_modules_0cpegwf._.js → node_modules_0y_k4h5._.js} +1 -1
  257. package/.next/server/chunks/ssr/{node_modules_13dwal5._.js → node_modules_10bzndo._.js} +1 -1
  258. package/.next/server/chunks/ssr/{node_modules_1ctm_ju._.js → node_modules_1b5rxw5._.js} +1 -1
  259. package/.next/server/chunks/ssr/{node_modules_01fukqn._.js → node_modules_1b_h09q._.js} +1 -1
  260. package/.next/server/chunks/ssr/{node_modules_12hh0bx._.js → node_modules_1e83j9e._.js} +1 -1
  261. package/.next/server/chunks/ssr/{node_modules_08m1gvh._.js → node_modules_1e9ugfy._.js} +1 -1
  262. package/.next/server/chunks/ssr/{node_modules_06n6ruk._.js → node_modules_1hd66k0._.js} +1 -1
  263. package/.next/server/chunks/ssr/{node_modules_1zdz2zf._.js → node_modules_1inwr2m._.js} +1 -1
  264. package/.next/server/chunks/ssr/{node_modules_1zalmtr._.js → node_modules_1j9xx1k._.js} +1 -1
  265. package/.next/server/chunks/ssr/{node_modules_1kfbdfo._.js → node_modules_1k8kypa._.js} +1 -1
  266. package/.next/server/chunks/ssr/{node_modules_056xgci._.js → node_modules_1oeu85h._.js} +1 -1
  267. package/.next/server/chunks/ssr/{node_modules_0ie8g6a._.js → node_modules_1r2ghv5._.js} +2 -2
  268. package/.next/server/chunks/ssr/{node_modules_1fqgrh0._.js → node_modules_1ttpnib._.js} +1 -1
  269. package/.next/server/chunks/ssr/{node_modules_@mermaid-js_parser_dist_chunks_mermaid-parser_core_0nj1l8f._.js → node_modules_@mermaid-js_parser_dist_chunks_mermaid-parser_core_0ir6p7s._.js} +1 -1
  270. package/.next/server/chunks/ssr/{node_modules_@mermaid-js_parser_dist_chunks_mermaid-parser_core_17ok98u._.js → node_modules_@mermaid-js_parser_dist_chunks_mermaid-parser_core_1ejf5ye._.js} +1 -1
  271. package/.next/server/middleware-build-manifest.js +3 -3
  272. package/.next/server/pages/404.html +1 -1
  273. package/.next/server/pages/500.html +1 -1
  274. package/.next/server/server-reference-manifest.js +1 -1
  275. package/.next/server/server-reference-manifest.json +163 -163
  276. package/.next/static/chunks/02lze_e5sagjn.js +1 -0
  277. package/.next/static/chunks/{3866u-edsoyj3.js → 081kl7k8r6f8z.js} +1 -1
  278. package/.next/static/chunks/0_s4z70lx1tgs.js +1 -0
  279. package/.next/static/chunks/0fklfoj8o_msg.js +18 -0
  280. package/.next/static/chunks/0ve2gb0hw3wkq.js +1 -0
  281. package/.next/static/chunks/11c3uijgqik4m.js +39 -0
  282. package/.next/static/chunks/{0go5_9zqag7l0.js → 125lh2zzxk3r2.js} +1 -1
  283. package/.next/static/chunks/{3zv4wiqjl5kex.js → 166v36614ycsf.js} +1 -1
  284. package/.next/static/chunks/16np6727e61io.js +1 -0
  285. package/.next/static/chunks/18amidjlaqexf.js +1 -0
  286. package/.next/static/chunks/{35ehi-okrfot5.js → 1ettmta9iet7b.js} +1 -1
  287. package/.next/static/chunks/{1dy5xaxjdsy11.js → 1j4rndg17wgfk.js} +1 -1
  288. package/.next/static/chunks/{01r1uco3ikisc.js → 1mpz4epyg-7pz.js} +1 -1
  289. package/.next/static/chunks/{05blzta_1i7c2.js → 1oh4hbusfz97l.js} +1 -1
  290. package/.next/static/chunks/{3qfhjwd9yuijo.js → 1x1-44qmhu437.js} +1 -1
  291. package/.next/static/chunks/{0hpx0--bh7vld.js → 22jb4s3-8ckup.js} +1 -1
  292. package/.next/static/chunks/236le5kv_yj6a.css +1 -0
  293. package/.next/static/chunks/24op50z6sqi_5.js +1 -0
  294. package/.next/static/chunks/2eczs-lporqt6.js +1 -0
  295. package/.next/static/chunks/{2nbj2t9yp8ke9.js → 2sxclirl-c-um.js} +1 -1
  296. package/.next/static/chunks/2yfmmo4qr_f-m.js +1 -0
  297. package/.next/static/chunks/2z4sodeldj_86.js +1 -0
  298. package/.next/static/chunks/{3tyacy8fh5_18.js → 2zhiqxw61qowv.js} +2 -2
  299. package/.next/static/chunks/338dt83llhu5m.js +1 -0
  300. package/.next/static/chunks/3ezjz93yvzmop.js +4 -0
  301. package/.next/static/chunks/3h6rqjx92wva9.js +1 -0
  302. package/.next/static/chunks/3ph9u-51x6jhe.js +15 -0
  303. package/.next/static/chunks/{052u13mcoxt87.js → 3uf32hp_g9stz.js} +1 -1
  304. package/.next/static/chunks/3w7zt3xzyjn86.js +3 -0
  305. package/.next/static/chunks/3xkx7vqefm7on.js +2 -0
  306. package/.next/static/chunks/3ygk41pgsw7nv.js +1 -0
  307. package/.next/static/chunks/{3146sccz1j76i.js → 411uyd0is9u5s.js} +1 -1
  308. package/.next/static/chunks/4384atd5zerir.js +1 -0
  309. package/README.md +1 -1
  310. package/database/migrations/20260929121448_thread_started_by/migration.sql +1 -0
  311. package/database/migrations/20260929121448_thread_started_by/snapshot.json +1969 -0
  312. package/guide/bots.md +89 -44
  313. package/guide/calls.md +41 -25
  314. package/guide/index.md +5 -2
  315. package/guide/phone.md +7 -4
  316. package/guide/setup.md +12 -6
  317. package/guide/trouble.md +3 -2
  318. package/package.json +1 -1
  319. package/public/voices/intro/mic-b17ca82d.ogg +0 -0
  320. package/seed-skills/concierge/travel/SKILL.md +2 -1
  321. package/seed-skills/concierge/travel/page/itinerary.css +1009 -257
  322. package/seed-skills/concierge/travel/references/itinerary.md +95 -35
  323. package/seed-skills/concierge/travel/references/plan.md +11 -4
  324. package/seed-skills/concierge/travel/scripts/itinerary.mjs +754 -138
  325. package/skills/README.md +7 -4
  326. package/skills/artifact/SKILL.md +17 -13
  327. package/skills/artifact/references/canvas.md +4 -5
  328. package/skills/artifact/references/deck.md +93 -2
  329. package/skills/artifact/runtime/app/kit/src/index.css +35 -0
  330. package/skills/artifact/runtime/app/kit/tailwind.config.js +6 -0
  331. package/skills/artifact/runtime/deck/data.mjs +21 -0
  332. package/skills/artifact/runtime/deck/deck.css +254 -4
  333. package/skills/artifact/runtime/deck/deck.html +3 -0
  334. package/skills/artifact/runtime/deck/deck.js +88 -5
  335. package/skills/artifact/runtime/deck/deck.mjs +1 -17
  336. package/skills/artifact/runtime/document/quick.css +264 -89
  337. package/skills/artifact/runtime/document/quick.html +16 -7
  338. package/skills/artifact/runtime/document/quick.js +377 -98
  339. package/skills/artifact/runtime/render.mjs +52 -6
  340. package/skills/artifact/runtime/sheet/sheet.css +29 -21
  341. package/skills/artifact/runtime/shell/drafts.js +25 -0
  342. package/skills/artifact/runtime/shell/fonts/Geist-latin-ext.woff2 +0 -0
  343. package/skills/artifact/runtime/shell/fonts/Geist-latin.woff2 +0 -0
  344. package/skills/artifact/runtime/shell/fonts/GeistMono-latin-ext.woff2 +0 -0
  345. package/skills/artifact/runtime/shell/fonts/GeistMono-latin.woff2 +0 -0
  346. package/skills/artifact/runtime/shell/fonts/OFL.txt +93 -0
  347. package/skills/artifact/runtime/shell/head.html +27 -2
  348. package/skills/artifact/runtime/shell/shell.css +88 -8
  349. package/skills/artifact/runtime/shell/shell.js +318 -22
  350. package/skills/artifact/runtime/shell/wear.mjs +114 -12
  351. package/skills/artifact/scripts/app.mjs +5 -0
  352. package/skills/artifact/scripts/chart.mjs +20 -19
  353. package/skills/artifact/scripts/deck.mjs +276 -0
  354. package/skills/artifact/scripts/document.mjs +55 -2
  355. package/skills/artifact/scripts/media.mjs +1 -1
  356. package/skills/artifact/templates/boards/direction.html +55 -2
  357. package/skills/browser/SKILL.md +1 -1
  358. package/skills/browser/references/scripts.md +1 -1
  359. package/skills/daily-brief/SKILL.md +2 -0
  360. package/skills/daily-brief/page/brief.css +460 -302
  361. package/skills/daily-brief/references/brief.md +33 -7
  362. package/skills/daily-brief/scripts/page.mjs +241 -48
  363. package/skills/media-digest/SKILL.md +1 -0
  364. package/skills/media-digest/scripts/digest.mjs +57 -43
  365. package/.next/server/chunks/[root-of-the-server]__00f051a._.js +0 -7
  366. package/.next/server/chunks/[root-of-the-server]__0340k46._.js +0 -7
  367. package/.next/server/chunks/[root-of-the-server]__0ndw2yj._.js +0 -5
  368. package/.next/server/chunks/[root-of-the-server]__16y0k92._.js +0 -3
  369. package/.next/server/chunks/[root-of-the-server]__18e65_-._.js +0 -3
  370. package/.next/server/chunks/[root-of-the-server]__1a0xgyh._.js +0 -5
  371. package/.next/server/chunks/[root-of-the-server]__1dth047._.js +0 -5
  372. package/.next/server/chunks/[root-of-the-server]__1huywqp._.js +0 -5
  373. package/.next/server/chunks/[root-of-the-server]__1ij4h2a._.js +0 -3
  374. package/.next/server/chunks/[root-of-the-server]__1q1s4ls._.js +0 -3
  375. package/.next/server/chunks/[root-of-the-server]__1qa67zs._.js +0 -3
  376. package/.next/server/chunks/[root-of-the-server]__1t-mfa4._.js +0 -5
  377. package/.next/server/chunks/[root-of-the-server]__20ofm9t._.js +0 -3
  378. package/.next/server/chunks/_0483t_f._.js +0 -5
  379. package/.next/server/chunks/_0lcthk8._.js +0 -3
  380. package/.next/server/chunks/_0uv1gs1._.js +0 -3
  381. package/.next/server/chunks/_17fjc-7._.js +0 -5
  382. package/.next/server/chunks/_1dcbwn-._.js +0 -3
  383. package/.next/server/chunks/_1mgzs18._.js +0 -3
  384. package/.next/server/chunks/_20qn224._.js +0 -3
  385. package/.next/server/chunks/features_bot_0zy_q8y._.js +0 -37
  386. package/.next/server/chunks/ssr/[root-of-the-server]__04upd5v._.js +0 -3
  387. package/.next/server/chunks/ssr/[root-of-the-server]__0dy20eb._.js +0 -3
  388. package/.next/server/chunks/ssr/[root-of-the-server]__0yyxgt2._.js +0 -3
  389. package/.next/server/chunks/ssr/[root-of-the-server]__14j8gxy._.js +0 -3
  390. package/.next/server/chunks/ssr/[root-of-the-server]__20t_4l2._.js +0 -3
  391. package/.next/server/chunks/ssr/_00buy3i._.js +0 -162
  392. package/.next/server/chunks/ssr/_014_wjp._.js +0 -3
  393. package/.next/server/chunks/ssr/_07m4ii5._.js +0 -3
  394. package/.next/server/chunks/ssr/_0cv9tmv._.js +0 -3
  395. package/.next/server/chunks/ssr/_0j6rtjm._.js +0 -6
  396. package/.next/server/chunks/ssr/_0ogkeu-._.js +0 -3
  397. package/.next/server/chunks/ssr/_10sc7ab._.js +0 -3
  398. package/.next/server/chunks/ssr/_14nwim3._.js +0 -37
  399. package/.next/server/chunks/ssr/_1e01b-_._.js +0 -3
  400. package/.next/server/chunks/ssr/_1nfv27b._.js +0 -3
  401. package/.next/server/chunks/ssr/features_bot_1c56lew._.js +0 -37
  402. package/.next/server/chunks/ssr/features_bot_1knyan7._.js +0 -3
  403. package/.next/server/chunks/ssr/features_config_09wq1s9._.js +0 -20
  404. package/.next/static/chunks/01gkq9y6_xk4a.js +0 -1
  405. package/.next/static/chunks/09kwsjbmr_z1w.js +0 -1
  406. package/.next/static/chunks/0ynv7zu_bguve.js +0 -1
  407. package/.next/static/chunks/0zi59tghmg1lu.js +0 -18
  408. package/.next/static/chunks/1_ftsgxa-sia_.js +0 -1
  409. package/.next/static/chunks/1cg3torc90q5t.js +0 -1
  410. package/.next/static/chunks/1qnx1h5c8f93b.js +0 -1
  411. package/.next/static/chunks/1rwn3d9ji5w35.js +0 -1
  412. package/.next/static/chunks/1so3f5fi7e5g9.js +0 -35
  413. package/.next/static/chunks/1ya41wxfmp4s8.js +0 -1
  414. package/.next/static/chunks/27rwkfu7_xvs1.js +0 -4
  415. package/.next/static/chunks/2hueh8masqd91.js +0 -15
  416. package/.next/static/chunks/2jrt_752fqz2f.js +0 -1
  417. package/.next/static/chunks/2ogme4qydxnaq.js +0 -3
  418. package/.next/static/chunks/2r2tocw2rpvm2.js +0 -1
  419. package/.next/static/chunks/2t4kimg1lt-p7.js +0 -2
  420. package/.next/static/chunks/2w6y71o27my_z.js +0 -1
  421. package/.next/static/chunks/31_am8rtmk_tv.css +0 -1
  422. package/.next/static/chunks/337g9g_ux2gj-.js +0 -1
  423. package/public/voices/intro/heard-1f12cd45.ogg +0 -0
  424. package/public/voices/intro/mic-e561372a.ogg +0 -0
  425. package/skills/artifact/references/book.md +0 -163
  426. package/skills/artifact/runtime/book/book.css +0 -256
  427. package/skills/artifact/runtime/book/book.html +0 -38
  428. package/skills/artifact/runtime/book/book.js +0 -81
  429. package/skills/artifact/scripts/book-pdf.mjs +0 -73
  430. package/skills/artifact/scripts/book-video.mjs +0 -168
  431. package/skills/artifact/scripts/book.mjs +0 -291
  432. /package/.next/static/{8exfHAtcoebYtxjUC4ugl → 6tIYlzfG_5P4sIxxgmucO}/_buildManifest.js +0 -0
  433. /package/.next/static/{8exfHAtcoebYtxjUC4ugl → 6tIYlzfG_5P4sIxxgmucO}/_clientMiddlewareManifest.js +0 -0
  434. /package/.next/static/{8exfHAtcoebYtxjUC4ugl → 6tIYlzfG_5P4sIxxgmucO}/_ssgManifest.js +0 -0
  435. /package/seed-skills/{marketer → writer}/marketing/LICENSE +0 -0
  436. /package/seed-skills/{marketer → writer}/marketing/SKILL.md +0 -0
  437. /package/seed-skills/{marketer → writer}/marketing/references/copywriting-copy-frameworks.md +0 -0
  438. /package/seed-skills/{marketer → writer}/marketing/references/copywriting-natural-transitions.md +0 -0
  439. /package/seed-skills/{marketer → writer}/marketing/references/copywriting.md +0 -0
  440. /package/seed-skills/{marketer → writer}/marketing/references/emails-copy-guidelines.md +0 -0
  441. /package/seed-skills/{marketer → writer}/marketing/references/emails-email-types.md +0 -0
  442. /package/seed-skills/{marketer → writer}/marketing/references/emails-sequence-templates.md +0 -0
  443. /package/seed-skills/{marketer → writer}/marketing/references/emails.md +0 -0
  444. /package/seed-skills/{marketer → writer}/marketing/references/launch.md +0 -0
  445. /package/seed-skills/{marketer → writer}/marketing/references/product-marketing.md +0 -0
  446. /package/seed-skills/{marketer → writer}/marketing/references/seo-audit-ai-writing-detection.md +0 -0
  447. /package/seed-skills/{marketer → writer}/marketing/references/seo-audit-international-seo.md +0 -0
  448. /package/seed-skills/{marketer → writer}/marketing/references/seo-audit.md +0 -0
  449. /package/seed-skills/{marketer → writer}/marketing/references/social-carousel-frameworks.md +0 -0
  450. /package/seed-skills/{marketer → writer}/marketing/references/social-platform-limits.md +0 -0
  451. /package/seed-skills/{marketer → writer}/marketing/references/social-platforms.md +0 -0
  452. /package/seed-skills/{marketer → writer}/marketing/references/social-post-templates.md +0 -0
  453. /package/seed-skills/{marketer → writer}/marketing/references/social-reverse-engineering.md +0 -0
  454. /package/seed-skills/{marketer → writer}/marketing/references/social-short-form-video.md +0 -0
  455. /package/seed-skills/{marketer → writer}/marketing/references/social.md +0 -0
@@ -13,22 +13,30 @@
13
13
  --muted: color-mix(in srgb, var(--sh-ink) 58%, var(--sh-paper));
14
14
  --line: var(--sh-line);
15
15
  --soft: var(--sh-soft);
16
- --accent: var(--sh-brand);
16
+ /* The maker's colour (shell --sh-maker): a document says whose it is */
17
+ --accent: var(--sh-maker-text);
17
18
  --good: var(--sh-good);
18
19
  --warn: var(--sh-warn);
19
20
  --bad: var(--sh-bad);
21
+ /* A quiet ground for a note set apart, a step off the paper in either theme */
22
+ --callout: color-mix(in srgb, var(--sh-ink) 4.5%, var(--sh-paper));
23
+ --round: 12px;
20
24
  }
21
25
 
22
26
  body {
23
- display: flex;
24
- flex-direction: column;
25
27
  height: auto;
26
28
  min-height: 100%;
27
29
  }
30
+ /* The contents beside the column that is read: the paper, then who made it, in the flow, so
31
+ the signature comes after the last line and never stands over the page */
28
32
  .pg-page {
29
- flex: 1;
30
33
  display: flex;
31
34
  align-items: flex-start;
35
+ min-height: calc(100vh - var(--sh-head));
36
+ }
37
+ .pg-read {
38
+ flex: 1;
39
+ min-width: 0;
32
40
  }
33
41
 
34
42
  /* The contents, drawn from the headings (quick.js), marking the section being read. The
@@ -36,10 +44,12 @@ body {
36
44
  .pg-toc {
37
45
  position: sticky;
38
46
  top: var(--sh-head);
39
- width: 212px;
47
+ width: 232px;
40
48
  /* The whole height under the head, as a pane is, however short the list */
41
49
  height: calc(100vh - var(--sh-head));
42
- padding: 1rem 0.75rem;
50
+ padding: 2.5rem 0.75rem 1rem 1rem;
51
+ border-right: 0;
52
+ background: transparent;
43
53
  font-size: 13px;
44
54
  line-height: 1.5;
45
55
  }
@@ -63,7 +73,7 @@ body {
63
73
  white-space: nowrap;
64
74
  }
65
75
  .pg-toc a:hover {
66
- background: var(--sh-sunk);
76
+ background: var(--sh-soft);
67
77
  color: var(--sh-ink);
68
78
  }
69
79
  .pg-toc a.pg-on {
@@ -88,6 +98,8 @@ body.pg-toc-shut .pg-toc {
88
98
  left: 0;
89
99
  bottom: 0;
90
100
  height: auto;
101
+ border-right: 1px solid var(--sh-line);
102
+ background: var(--sh-paper);
91
103
  box-shadow: var(--sh-shadow);
92
104
  }
93
105
  }
@@ -97,7 +109,7 @@ body.pg-toc-shut .pg-toc {
97
109
  min-width: 0;
98
110
  max-width: 46rem;
99
111
  margin: 0 auto;
100
- padding: 2.5rem 1.5rem 6rem;
112
+ padding: 3rem 1.5rem 0;
101
113
  color: var(--fg);
102
114
  font: 16px / 1.7 var(--sh-font);
103
115
  }
@@ -111,22 +123,33 @@ body.pg-toc-shut .pg-toc {
111
123
  .sh-face .pg-paper {
112
124
  padding-top: 1.75rem;
113
125
  }
126
+ /* The signature ends the column the paper is read in */
127
+ .pg-read > .sh-sign {
128
+ max-width: 46rem;
129
+ margin: 0 auto;
130
+ }
114
131
 
132
+ /* Headings as the app sets them: bold, tight, and the words under them a quiet grey */
115
133
  :where(.pg-paper) h1 {
116
- margin: 0 0 0.4rem;
117
- font-size: 2rem;
118
- line-height: 1.2;
119
- letter-spacing: -0.02em;
134
+ margin: 0 0 0.75rem;
135
+ font-size: 2.375rem;
136
+ font-weight: 700;
137
+ line-height: 1.1;
138
+ letter-spacing: -0.035em;
139
+ text-wrap: balance;
120
140
  }
121
141
  :where(.pg-paper) h2 {
122
- margin: 2.6rem 0 0.7rem;
123
- font-size: 1.3rem;
124
- line-height: 1.3;
125
- letter-spacing: -0.01em;
142
+ margin: 3rem 0 0.75rem;
143
+ font-size: 1.375rem;
144
+ font-weight: 650;
145
+ line-height: 1.25;
146
+ letter-spacing: -0.022em;
126
147
  }
127
148
  :where(.pg-paper) h3 {
128
- margin: 1.8rem 0 0.4rem;
129
- font-size: 1.05rem;
149
+ margin: 1.75rem 0 0.375rem;
150
+ font-size: 1.0625rem;
151
+ font-weight: 650;
152
+ letter-spacing: -0.01em;
130
153
  }
131
154
  :where(.pg-paper) p,
132
155
  :where(.pg-paper) ul,
@@ -144,8 +167,11 @@ body.pg-toc-shut .pg-toc {
144
167
  :where(.pg-paper) li + li {
145
168
  margin-top: 0.25rem;
146
169
  }
170
+ /* A link is the ink, underlined in the maker's colour */
147
171
  :where(.pg-paper) a {
148
- color: var(--accent);
172
+ color: inherit;
173
+ text-decoration-color: var(--sh-maker);
174
+ text-decoration-thickness: 1.5px;
149
175
  text-underline-offset: 3px;
150
176
  }
151
177
  :where(.pg-paper) small,
@@ -173,14 +199,17 @@ body.pg-toc-shut .pg-toc {
173
199
  color: var(--muted);
174
200
  }
175
201
  :where(.pg-paper) blockquote {
176
- padding: 0.1rem 0 0.1rem 1rem;
177
- border-left: 3px solid var(--line);
178
- color: var(--muted);
202
+ padding: 0.1rem 0 0.1rem 1.1rem;
203
+ border-left: 2px solid var(--sh-ink);
204
+ font-size: 1.0625rem;
179
205
  }
180
206
  :where(.pg-paper) code,
181
- :where(.pg-paper) pre,
207
+ :where(.pg-paper) pre {
208
+ font-family: var(--sh-mono);
209
+ }
210
+ /* A figure lines up in the page's own type, each digit as wide as the next */
182
211
  :where(.pg-paper) .num {
183
- font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
212
+ font-variant-numeric: tabular-nums;
184
213
  }
185
214
  :where(.pg-paper) code {
186
215
  padding: 0.1em 0.35em;
@@ -205,58 +234,67 @@ body.pg-toc-shut .pg-toc {
205
234
  :where(.pg-paper) .scroll {
206
235
  overflow-x: auto;
207
236
  }
237
+ /* A table as the app draws one (components/ui/table.tsx): its heads small in the mono type,
238
+ and a hairline between rows */
208
239
  :where(.pg-paper) table {
209
240
  width: 100%;
210
241
  border-collapse: collapse;
211
- font-size: 0.93rem;
242
+ font-size: 0.9375rem;
212
243
  }
213
244
  :where(.pg-paper) th,
214
245
  :where(.pg-paper) td {
215
- padding: 0.55rem 0.7rem;
246
+ padding: 0.625rem 0.75rem;
216
247
  text-align: left;
217
248
  vertical-align: top;
218
249
  border-bottom: 1px solid var(--line);
219
250
  }
220
251
  :where(.pg-paper) th {
221
- font-size: 0.78rem;
222
- font-weight: 600;
252
+ padding-top: 0.5rem;
253
+ padding-bottom: 0.5rem;
223
254
  color: var(--muted);
255
+ font: 400 11px / 1.5 var(--sh-mono);
256
+ letter-spacing: 0.08em;
257
+ text-transform: uppercase;
224
258
  white-space: nowrap;
225
259
  }
260
+ :where(.pg-paper) tbody tr:last-child td {
261
+ border-bottom: 0;
262
+ }
226
263
  :where(.pg-paper) td.num,
227
264
  :where(.pg-paper) th.num {
228
265
  text-align: right;
229
266
  font-variant-numeric: tabular-nums;
230
267
  white-space: nowrap;
231
268
  }
269
+ /* The one the page recommends: the maker's colour, faintly */
232
270
  :where(.pg-paper) tr.best td {
233
- background: color-mix(in srgb, var(--accent) 8%, transparent);
271
+ background: color-mix(in srgb, var(--sh-maker) 7%, transparent);
234
272
  }
235
273
 
236
- /* Over the title, what kind of document this is: Report, Memo, Notes */
274
+ /* Over the title, what kind of document this is: Report, Memo, Notes — small, in the mono
275
+ type, as written, the way the app labels a thing */
237
276
  :where(.pg-paper) .kicker {
238
- margin: 0 0 0.5rem;
239
- color: var(--accent);
240
- font-size: 0.78rem;
241
- font-weight: 650;
242
- letter-spacing: 0.08em;
243
- text-transform: uppercase;
277
+ margin: 0 0 0.875rem;
278
+ color: var(--muted);
279
+ font: 400 13px / 1.4 var(--sh-mono);
244
280
  }
245
281
  /* Under the title: as of when, by whom, for whom — as chips, on one line. A line of
246
282
  words, not a flex row: the editor's caret has no place between a row's pieces. */
247
283
  :where(.pg-paper) .byline {
248
- margin: 0 0 1.2rem;
284
+ margin: 0 0 1.5rem;
249
285
  color: var(--muted);
250
286
  font-size: 0.85rem;
251
- line-height: 2.1;
287
+ line-height: 2.2;
252
288
  }
253
289
  :where(.pg-paper) .byline .chip {
254
290
  margin-right: 0.15rem;
255
291
  }
256
292
  /* The lead: what the reader should take away, in one or two sentences */
257
293
  :where(.pg-paper) .lede {
258
- margin-bottom: 2rem;
259
- font-size: 1.1rem;
294
+ margin-bottom: 2.25rem;
295
+ font-size: 1.1875rem;
296
+ line-height: 1.55;
297
+ letter-spacing: -0.01em;
260
298
  color: var(--muted);
261
299
  }
262
300
 
@@ -267,12 +305,12 @@ body.pg-toc-shut .pg-toc {
267
305
  /* Not inline-flex: in a page being edited, a caret put beside a flex box lands at
268
306
  the start of its words, so what is typed after a chip went in front of it */
269
307
  display: inline-block;
270
- padding: 0.1rem 0.6rem;
308
+ padding: 0.125rem 0.625rem;
271
309
  border: 1px solid var(--line);
272
310
  border-radius: 99px;
273
- background: var(--soft);
311
+ background: var(--bg);
274
312
  color: var(--fg);
275
- font-size: 0.82rem;
313
+ font-size: 0.8125rem;
276
314
  font-weight: 500;
277
315
  line-height: 1.5;
278
316
  white-space: nowrap;
@@ -287,7 +325,7 @@ body.pg-toc-shut .pg-toc {
287
325
  margin-right: 0.3rem;
288
326
  vertical-align: -0.1em;
289
327
  background: currentColor;
290
- opacity: 0.7;
328
+ opacity: 0.55;
291
329
  mask: center / contain no-repeat;
292
330
  }
293
331
  :where(.pg-paper) .chip.date::before {
@@ -374,11 +412,10 @@ body.pg-toc-shut .pg-toc {
374
412
  /* A section not written yet, or a fact still to come: what stands where it will go */
375
413
  :where(.pg-paper) .pending {
376
414
  margin: 0 0 1rem;
377
- padding: 0.9rem 1.1rem;
378
- border: 1px dashed var(--line);
379
- border-radius: 0.7rem;
415
+ padding: 1rem 1.125rem;
416
+ border: 1px dashed color-mix(in srgb, var(--sh-ink) 22%, transparent);
417
+ border-radius: var(--round);
380
418
  color: var(--muted);
381
- font-style: italic;
382
419
  }
383
420
 
384
421
  /* Sources at the end: <ol class="sources"><li><a href>…</a> · read 23 Sep</li> */
@@ -419,26 +456,48 @@ body.pg-toc-shut .pg-toc {
419
456
  #fn-card .fn-back {
420
457
  display: none;
421
458
  }
422
- /* A table's column put in order by a press on its heading, while reading (quick.js) */
423
- body:not(.pg-editing) :where(.pg-paper) th[data-sort] {
459
+ /* A table's column put in order by the button in its heading (quick.js): shown on the
460
+ heading under the pointer, and on the one the column is in order by. Its arrow is drawn,
461
+ so it holds no words of the heading's. */
462
+ .pg-sort {
463
+ float: right;
464
+ width: 1.25rem;
465
+ height: 1.25rem;
466
+ margin: 0 -0.25rem 0 0.25rem;
467
+ padding: 0;
468
+ border: 0;
469
+ border-radius: 4px;
470
+ background: none;
471
+ color: var(--muted);
472
+ font: inherit;
473
+ line-height: 1.25rem;
424
474
  cursor: pointer;
425
- user-select: none;
475
+ opacity: 0;
476
+ }
477
+ .pg-sort::before {
478
+ content: "↕";
479
+ }
480
+ th:hover > .pg-sort,
481
+ .pg-sort:focus-visible,
482
+ th[aria-sort] > .pg-sort {
483
+ opacity: 1;
426
484
  }
427
- body:not(.pg-editing) :where(.pg-paper) th[data-sort]:hover {
485
+ .pg-sort:hover {
486
+ background: var(--soft);
428
487
  color: var(--fg);
429
488
  }
430
- :where(.pg-paper) th[aria-sort]::after {
431
- content: "↑";
432
- margin-left: 0.3rem;
489
+ th[aria-sort] > .pg-sort {
433
490
  color: var(--accent, currentColor);
434
491
  }
435
- :where(.pg-paper) th[aria-sort="descending"]::after {
492
+ th[aria-sort="ascending"] > .pg-sort::before {
493
+ content: "↑";
494
+ }
495
+ th[aria-sort="descending"] > .pg-sort::before {
436
496
  content: "↓";
437
497
  }
438
498
  :where(.pg-paper) ol.footnotes {
439
- margin-top: 2.4rem;
440
- padding: 1rem 0 0 1.3rem;
441
- border-top: 1px solid var(--line);
499
+ margin-top: 2.5rem;
500
+ padding: 0 0 0 1.3rem;
442
501
  color: var(--muted);
443
502
  font-size: 0.85rem;
444
503
  }
@@ -468,6 +527,9 @@ body:not(.pg-editing) :where(.pg-paper) th[data-sort]:hover {
468
527
  color: var(--fg);
469
528
  border-bottom-color: var(--fg);
470
529
  }
530
+ :where(.pg-paper) .tabs [role="tab"]:first-child {
531
+ padding-left: 0;
532
+ }
471
533
  :where(.pg-paper) .tabs [role="tab"]:focus-visible {
472
534
  outline: 2px solid var(--accent);
473
535
  outline-offset: -2px;
@@ -502,10 +564,23 @@ body:not(.pg-editing) :where(.pg-paper) th[data-sort]:hover {
502
564
  :where(.pg-paper) .grid.three {
503
565
  grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr));
504
566
  }
567
+ /* A card is a thing that stands on its own — an option to choose — so it has an edge and a
568
+ corner and no shadow. A figure is not one: a card holding a .stat is the figure on the
569
+ paper under a hairline. What a card holds starts at its top and ends at its bottom,
570
+ whatever the first and last are. */
505
571
  :where(.pg-paper) .card {
506
- padding: 1.1rem 1.2rem;
572
+ padding: 1rem 1.125rem;
507
573
  border: 1px solid var(--line);
508
- border-radius: 0.8rem;
574
+ border-radius: var(--round);
575
+ }
576
+ :where(.pg-paper) .card:has(> .stat) {
577
+ padding: 0.875rem 0 0;
578
+ border: 0;
579
+ border-top: 1px solid var(--line);
580
+ border-radius: 0;
581
+ }
582
+ :where(.pg-paper) .card > :first-child {
583
+ margin-top: 0;
509
584
  }
510
585
  :where(.pg-paper) .card > :last-child {
511
586
  margin-bottom: 0;
@@ -513,22 +588,39 @@ body:not(.pg-editing) :where(.pg-paper) th[data-sort]:hover {
513
588
 
514
589
  /* One number that matters, with what it is under it */
515
590
  :where(.pg-paper) .stat {
516
- font-size: 2rem;
517
- font-weight: 650;
518
- line-height: 1.15;
519
- letter-spacing: -0.02em;
591
+ margin-bottom: 0.25rem;
592
+ font-size: 2.25rem;
593
+ font-weight: 700;
594
+ line-height: 1.1;
595
+ letter-spacing: -0.04em;
520
596
  font-variant-numeric: tabular-nums;
521
597
  }
522
598
  :where(.pg-paper) .stat + small {
523
599
  display: block;
524
- margin-top: 0.2rem;
600
+ line-height: 1.45;
525
601
  }
526
602
 
527
603
  /* A note set apart; .good .bad .warn tint it */
604
+ /* A note set apart as a callout: a quiet ground and a mark before it, or a tone's own wash
605
+ and mark. The mark hangs in the padding, so the note stays a block of words. */
528
606
  :where(.pg-paper) .note {
529
- padding: 0.9rem 1.1rem;
530
- border-radius: 0.7rem;
531
- background: var(--soft);
607
+ position: relative;
608
+ padding: 0.875rem 1.125rem 0.875rem 2.75rem;
609
+ border-radius: var(--round);
610
+ background: var(--callout);
611
+ print-color-adjust: exact;
612
+ }
613
+ :where(.pg-paper) .note::before {
614
+ content: "";
615
+ position: absolute;
616
+ top: calc(0.875rem + 0.2em);
617
+ left: 1rem;
618
+ width: 1.125rem;
619
+ height: 1.125rem;
620
+ background: var(--muted);
621
+ mask:
622
+ center / contain no-repeat
623
+ url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 11v5M12 7.5v.5'/%3E%3C/svg%3E");
532
624
  }
533
625
  :where(.pg-paper) .note > :last-child {
534
626
  margin-bottom: 0;
@@ -546,51 +638,64 @@ body:not(.pg-editing) :where(.pg-paper) th[data-sort]:hover {
546
638
  :where(.pg-paper) .note.bad,
547
639
  :where(.pg-paper) .note.warn {
548
640
  color: inherit;
549
- border-left: 3px solid currentColor;
550
641
  }
551
642
  :where(.pg-paper) .note.good {
552
- border-color: var(--good);
643
+ background: color-mix(in srgb, var(--good) 10%, var(--bg));
553
644
  }
554
645
  :where(.pg-paper) .note.bad {
555
- border-color: var(--bad);
646
+ background: color-mix(in srgb, var(--bad) 9%, var(--bg));
556
647
  }
557
648
  :where(.pg-paper) .note.warn {
558
- border-color: var(--warn);
649
+ background: color-mix(in srgb, var(--warn) 11%, var(--bg));
650
+ }
651
+ :where(.pg-paper) .note.good::before {
652
+ background: var(--good);
653
+ mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='m8 12.5 2.7 2.7L16 9.5'/%3E%3C/svg%3E");
654
+ }
655
+ :where(.pg-paper) .note.warn::before {
656
+ background: var(--warn);
657
+ mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10.3 4.2 2.6 17.5A2 2 0 0 0 4.3 20.5h15.4a2 2 0 0 0 1.7-3L13.7 4.2a2 2 0 0 0-3.4 0Z'/%3E%3Cpath d='M12 10v4M12 17.5v.01'/%3E%3C/svg%3E");
658
+ }
659
+ :where(.pg-paper) .note.bad::before {
660
+ background: var(--bad);
661
+ mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='m9 9 6 6M15 9l-6 6'/%3E%3C/svg%3E");
559
662
  }
560
663
  :where(.pg-paper) .tag {
561
664
  display: inline-block;
562
- padding: 0.05rem 0.5rem;
665
+ padding: 0.0625rem 0.5rem;
563
666
  border-radius: 99px;
564
- border: 1px solid var(--line);
667
+ background: var(--callout);
565
668
  font-size: 0.78rem;
566
- color: var(--muted);
669
+ color: var(--sh-ink-2);
567
670
  white-space: nowrap;
568
671
  }
569
672
 
570
673
  /* A bar for one value out of a whole: <div class="bar" style="--at: 62%"></div> */
571
674
  :where(.pg-paper) .bar {
572
- margin-bottom: 1rem;
573
- height: 0.5rem;
675
+ margin-bottom: 0.625rem;
676
+ height: 0.375rem;
574
677
  border-radius: 99px;
575
678
  background: linear-gradient(
576
679
  to right,
577
- var(--accent) var(--at, 0%),
578
- var(--soft) var(--at, 0%)
680
+ var(--sh-maker) var(--at, 0%),
681
+ var(--sh-sunk) var(--at, 0%)
579
682
  );
683
+ print-color-adjust: exact;
580
684
  }
581
685
 
686
+ /* A toggle: its line and the words it opens, no frame */
582
687
  :where(.pg-paper) details {
583
688
  margin-bottom: 1rem;
584
- border: 1px solid var(--line);
585
- border-radius: 0.7rem;
586
- padding: 0.7rem 1rem;
587
689
  }
588
690
  :where(.pg-paper) summary {
589
691
  cursor: pointer;
590
692
  font-weight: 600;
591
693
  }
592
694
  :where(.pg-paper) details[open] > summary {
593
- margin-bottom: 0.6rem;
695
+ margin-bottom: 0.5rem;
696
+ }
697
+ :where(.pg-paper) details > :not(summary) {
698
+ margin-left: 1.25rem;
594
699
  }
595
700
 
596
701
  /* Editing: a block under the pointer, its handle in the gutter, the formatting that
@@ -642,23 +747,91 @@ body.pg-editing .pg-paper > .pg-hot {
642
747
  .pg-popover[hidden] {
643
748
  display: none;
644
749
  }
645
- body.pg-editing .pg-paper a {
646
- cursor: text;
750
+ /* A link is pressed for its card, which opens it (quick.js) */
751
+ .pg-paper a[href] {
752
+ cursor: pointer;
647
753
  }
648
- /* A chip is one piece in the editor: a press opens its words, ringed while open */
649
- body.pg-editing .pg-paper .chip {
754
+ .pg-link {
755
+ max-width: min(28rem, calc(100vw - 8px));
756
+ }
757
+ .pg-link-to {
758
+ min-width: 0;
759
+ padding: 0 0.375rem;
760
+ overflow: hidden;
761
+ text-overflow: ellipsis;
762
+ white-space: nowrap;
763
+ color: var(--sh-ink-2);
764
+ font-size: 12px;
765
+ }
766
+ /* A chip is one piece in the words: a press opens its words, ringed while open */
767
+ .pg-paper .chip:not(.read) {
650
768
  cursor: pointer;
651
769
  }
652
- body.pg-editing .pg-paper .chip[contenteditable="true"] {
770
+ .pg-paper .chip[contenteditable="true"] {
653
771
  cursor: text;
654
772
  outline: 2px solid var(--sh-brand);
655
773
  outline-offset: 1px;
656
774
  }
657
775
 
776
+ /* Edits kept aside from another version of the file, over the paper until let go
777
+ (quick.js showKept): what they hold, set as the paper sets it, to copy back */
778
+ .pg-kept-list {
779
+ max-width: 46rem;
780
+ margin: 0 auto;
781
+ padding: 1.5rem 1.5rem 0;
782
+ }
783
+ .pg-kept-list[hidden] {
784
+ display: none;
785
+ }
786
+ .pg-kept {
787
+ margin-bottom: 0.75rem;
788
+ border: 1px solid var(--line);
789
+ border-radius: var(--round);
790
+ background: var(--callout);
791
+ }
792
+ .pg-kept-head {
793
+ display: flex;
794
+ flex-wrap: wrap;
795
+ align-items: center;
796
+ gap: 0.5rem 0.75rem;
797
+ padding: 0.75rem 0.875rem;
798
+ font-size: 13px;
799
+ line-height: 1.5;
800
+ }
801
+ .pg-kept-head p {
802
+ flex: 1 1 16rem;
803
+ margin: 0;
804
+ color: var(--sh-ink-2);
805
+ }
806
+ .pg-kept-head b {
807
+ color: var(--sh-warn);
808
+ font-weight: 600;
809
+ }
810
+ .pg-kept-tools {
811
+ display: flex;
812
+ gap: 0.25rem;
813
+ }
814
+ .pg-kept-words > :last-child {
815
+ margin-bottom: 0;
816
+ }
817
+ .pg-kept-words.pg-paper {
818
+ max-height: 20rem;
819
+ overflow: auto;
820
+ max-width: none;
821
+ margin: 0;
822
+ padding: 0.25rem 0.875rem 0.5rem;
823
+ border-top: 1px solid var(--line);
824
+ font-size: 14px;
825
+ }
826
+
658
827
  @media print {
659
828
  body {
660
829
  display: block;
661
830
  }
831
+ .pg-page {
832
+ display: block;
833
+ min-height: 0;
834
+ }
662
835
  .pg-paper {
663
836
  max-width: none;
664
837
  padding: 0;
@@ -669,6 +842,8 @@ body.pg-editing .pg-paper .chip[contenteditable="true"] {
669
842
  .pg-grip,
670
843
  .pg-bubble,
671
844
  .pg-popover,
845
+ .pg-kept-list,
846
+ th:not([aria-sort]) > .pg-sort,
672
847
  :where(.pg-paper) .tabs [role="tablist"] {
673
848
  display: none;
674
849
  }
@@ -4,6 +4,7 @@
4
4
  <meta charset="utf-8">
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1">
6
6
  {{shell.meta}}
7
+ <meta name="print" content="pdf">
7
8
  <title>{{title}}</title>
8
9
  <script>
9
10
  // shell.theme
@@ -20,14 +21,11 @@
20
21
  <span class="sh-sub" id="state"></span>
21
22
  <span class="sh-gap"></span>
22
23
  <span class="sh-tools">
23
- <button type="button" class="sh-b sh-outline" data-reload title="Show the page as it is now" hidden>Reload</button>
24
+ <button type="button" class="sh-b sh-outline" data-reload title="Show the page as it is now, with your edits beside it" hidden>Load new version</button>
25
+ <button type="button" class="sh-b sh-outline" data-discard title="Throw away the edits this browser keeps, and show the file as it is" hidden>Discard edits</button>
24
26
  <button type="button" class="sh-b sh-icon" data-toc aria-label="Contents" title="Contents" hidden>
25
27
  <svg viewBox="0 0 24 24" aria-hidden="true"><path d="M8 6h13M8 12h13M8 18h13M3 6h.01M3 12h.01M3 18h.01"/></svg>
26
28
  </button>
27
- <button type="button" class="sh-b sh-outline" data-edit>
28
- <svg viewBox="0 0 24 24" aria-hidden="true"><path d="M12 20h9M16.5 3.5a2.1 2.1 0 0 1 3 3L7 19l-4 1 1-4Z"/></svg>
29
- <span class="sh-word">Edit</span>
30
- </button>
31
29
  </span>
32
30
  <i class="sh-rule"></i>
33
31
  {{shell.theme}}
@@ -43,11 +41,15 @@
43
41
 
44
42
  <div class="pg-page">
45
43
  <nav class="sh-pane pg-toc" id="toc" aria-label="Contents"></nav>
46
- <main class="pg-paper" id="paper">
44
+ <div class="pg-read">
45
+ <div class="pg-kept-list" id="kept" hidden></div>
46
+ <main class="pg-paper" id="paper">
47
47
  <!-- put: start -->
48
48
  {{body}}
49
49
  <!-- put: end -->
50
- </main>
50
+ </main>
51
+ {{shell.sign}}
52
+ </div>
51
53
  </div>
52
54
 
53
55
  <div class="pg-grip" id="grip" hidden>
@@ -70,6 +72,13 @@
70
72
  <button type="button" class="sh-b sh-sm" data-table="drop-row" title="Delete this row">− Row</button>
71
73
  <button type="button" class="sh-b sh-sm" data-table="drop-column" title="Delete this column">− Column</button>
72
74
  </div>
75
+ <div class="pg-bubble pg-link" id="link-card" hidden>
76
+ <span class="pg-link-to"></span>
77
+ <i class="sh-rule"></i>
78
+ <button type="button" class="sh-b sh-sm" data-link="open" title="Open the link (or press it with ⌘ or Ctrl)">Open</button>
79
+ <button type="button" class="sh-b sh-sm" data-link="edit" title="Change where it goes">Edit</button>
80
+ <button type="button" class="sh-b sh-sm" data-link="remove" title="Keep the words, without the link">Remove</button>
81
+ </div>
73
82
  <div class="sh-list pg-popover" id="block-menu" hidden>
74
83
  <button type="button" class="sh-item" data-block="up">Move up</button>
75
84
  <button type="button" class="sh-item" data-block="down">Move down</button>