thursday-agent 0.28.0 → 0.29.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.next/BUILD_ID +1 -1
- package/.next/build-manifest.json +3 -3
- package/.next/prerender-manifest.json +3 -3
- package/.next/server/app/_global-error.html +1 -1
- package/.next/server/app/_global-error.rsc +1 -1
- package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/_not-found.html +1 -1
- package/.next/server/app/_not-found.rsc +1 -1
- package/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/api/artifact/route.js.nft.json +1 -1
- package/.next/server/app/api/bot/memory/files/route.js.nft.json +1 -1
- package/.next/server/app/api/bot/memory/route.js.nft.json +1 -1
- package/.next/server/app/api/bot/route.js.nft.json +1 -1
- package/.next/server/app/api/bot/thread/file/route.js.nft.json +1 -1
- package/.next/server/app/api/file/[...path]/route.js.nft.json +1 -1
- package/.next/server/app/api/memory/edit/route.js.nft.json +1 -1
- package/.next/server/app/api/reach/route.js.nft.json +1 -1
- package/.next/server/app/api/routine/route.js.nft.json +1 -1
- package/.next/server/app/api/signins/route.js.nft.json +1 -1
- package/.next/server/app/api/skills/[source]/[name]/route.js.nft.json +1 -1
- package/.next/server/app/api/skills/route.js.nft.json +1 -1
- package/.next/server/app/api/thursday/call/end/route.js.nft.json +1 -1
- package/.next/server/app/api/thursday/call/plan/route.js.nft.json +1 -1
- package/.next/server/app/api/thursday/text/route.js.nft.json +1 -1
- package/.next/server/app/api/thursday/tool-call/route.js.nft.json +1 -1
- package/.next/server/app/api/workspace/files/route.js.nft.json +1 -1
- package/.next/server/app/api/workspace/route.js.nft.json +1 -1
- package/.next/server/app/artifact/[...path]/page/server-reference-manifest.json +11 -11
- package/.next/server/app/artifact/[...path]/page.js.nft.json +1 -1
- package/.next/server/app/artifact/[...path]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/page/server-reference-manifest.json +68 -68
- package/.next/server/app/page.js.nft.json +1 -1
- package/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/server/chunks/_0tkzlv1._.js +11 -9
- package/.next/server/chunks/_1_0gehg._.js +11 -9
- package/.next/server/chunks/features_14kex_m._.js +3 -1
- package/.next/server/chunks/features_1xn6un-._.js +3 -1
- package/.next/server/chunks/ssr/{[root-of-the-server]__1ngprpi._.js → [root-of-the-server]__07mxab7._.js} +2 -2
- package/.next/server/chunks/ssr/[root-of-the-server]__0auk-ke._.js +13 -8
- package/.next/server/chunks/ssr/{[root-of-the-server]__11_ws3y._.js → [root-of-the-server]__0bgf9r2._.js} +2 -2
- package/.next/server/chunks/ssr/{[root-of-the-server]__1j2x83w._.js → [root-of-the-server]__0nfq6eh._.js} +2 -2
- package/.next/server/chunks/ssr/[root-of-the-server]__0utwbb5._.js +1 -1
- package/.next/server/chunks/ssr/{[root-of-the-server]__13xx3dr._.js → [root-of-the-server]__18l3o37._.js} +2 -2
- package/.next/server/chunks/ssr/{[root-of-the-server]__1qiq402._.js → [root-of-the-server]__1njrrpi._.js} +2 -2
- package/.next/server/chunks/ssr/[root-of-the-server]__1t38-p_._.js +1 -1
- package/.next/server/chunks/ssr/{[root-of-the-server]__02-kwsg._.js → [root-of-the-server]__1vgf-i-._.js} +2 -2
- package/.next/server/chunks/ssr/{_15zznka._.js → _01l1svp._.js} +2 -2
- package/.next/server/chunks/ssr/{_1e1qe7w._.js → _01m2s2p._.js} +2 -2
- package/.next/server/chunks/ssr/{_0a31ywo._.js → _06o_p34._.js} +2 -2
- package/.next/server/chunks/ssr/{_1nnl9sj._.js → _0ps83ki._.js} +2 -2
- package/.next/server/chunks/ssr/{_1tc_gbg._.js → _0tfponz._.js} +2 -2
- package/.next/server/chunks/ssr/{_0ldpw1q._.js → _0x9aecq._.js} +2 -2
- package/.next/server/chunks/ssr/_128r03g._.js +3 -1
- package/.next/server/chunks/ssr/{_0nans9v._.js → _16qphtt._.js} +2 -2
- package/.next/server/chunks/ssr/_17fa2ns._.js +5 -5
- package/.next/server/chunks/ssr/_1_px1o-._.js +1 -1
- package/.next/server/chunks/ssr/_1e_9qjr._.js +1 -1
- package/.next/server/chunks/ssr/{_19g10gj._.js → _1k5f6cg._.js} +2 -2
- package/.next/server/chunks/ssr/_1neoj22._.js +1 -1
- package/.next/server/chunks/ssr/_1rlfzdj._.js +6 -0
- package/.next/server/chunks/ssr/_1soynbw._.js +2 -2
- package/.next/server/chunks/ssr/{_1qtcl42._.js → _1tu2bpk._.js} +2 -2
- package/.next/server/chunks/ssr/{components_ui_markdown-body_tsx_13aa4_2._.js → components_ui_markdown-body_tsx_1ac61z0._.js} +2 -2
- package/.next/server/chunks/ssr/features_0rrgq_t._.js +1 -1
- package/.next/server/chunks/ssr/features_ai_components_model-picker_tsx_0ucb1y9._.js +1 -1
- package/.next/server/chunks/ssr/features_bot_components_01ye2wp._.js +1 -1
- package/.next/server/chunks/ssr/features_bot_components_bot-setting_tsx_01ajft6._.js +1 -1
- package/.next/server/chunks/ssr/features_bot_components_thread-setting_tsx_0yae7zy._.js +1 -1
- package/.next/server/chunks/ssr/features_config_components_config-setting_tsx_0xfwqdg._.js +1 -1
- package/.next/server/chunks/ssr/features_connectors_components_mcp-setting_tsx_0jmbgvp._.js +1 -1
- package/.next/server/chunks/ssr/features_memory_components_memory-setting_tsx_0oa43sw._.js +1 -1
- package/.next/server/chunks/ssr/features_routine_components_routine-setting_tsx_055fknz._.js +1 -1
- package/.next/server/chunks/ssr/features_skills_components_skills-setting_tsx_1wtuuip._.js +1 -1
- package/.next/server/chunks/ssr/features_thursday_components_thursday-setting_tsx_1_6ydrc._.js +1 -1
- package/.next/server/chunks/ssr/{node_modules_107hxun._.js → node_modules_0-8ygub._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_1v-un0n._.js → node_modules_012orll._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_1uyu3cc._.js → node_modules_02fw1bp._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0wa05ay._.js → node_modules_02t-i_c._.js} +2 -2
- package/.next/server/chunks/ssr/{node_modules_069gsbk._.js → node_modules_03ntdqv._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_150qjpq._.js → node_modules_04e__3n._.js} +2 -2
- package/.next/server/chunks/ssr/{node_modules_0kdc_b7._.js → node_modules_0507yvc._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_1xtd9ml._.js → node_modules_06oedzb._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_05fihwh._.js → node_modules_0b8revr._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0jrjbfv._.js → node_modules_0dfjba7._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0walxvo._.js → node_modules_0i3xlf-._.js} +2 -2
- package/.next/server/chunks/ssr/{node_modules_0ou72wu._.js → node_modules_0k-r85l._.js} +2 -2
- package/.next/server/chunks/ssr/{node_modules_19gok-9._.js → node_modules_0kdzuew._.js} +2 -2
- package/.next/server/chunks/ssr/{node_modules_1-vdt7b._.js → node_modules_0mbx677._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_1vh6nr-._.js → node_modules_0o5tzyn._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0z8o0-n._.js → node_modules_0pv4uha._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_17-v4n4._.js → node_modules_0qrh5xo._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0jqaiyb._.js → node_modules_0t4ep0l._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0ia9-w8._.js → node_modules_0tx0umb._.js} +2 -2
- package/.next/server/chunks/ssr/{node_modules_19acw__._.js → node_modules_0ukjqyk._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_050v667._.js → node_modules_0w-dsl0._.js} +2 -2
- package/.next/server/chunks/ssr/{node_modules_0gb732y._.js → node_modules_0x_do0y._.js} +2 -2
- package/.next/server/chunks/ssr/{node_modules_0q8xm6u._.js → node_modules_0x_r46g._.js} +2 -2
- package/.next/server/chunks/ssr/{node_modules_152bm83._.js → node_modules_0zw6cf-._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_1misalx._.js → node_modules_122hfb2._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_2045nus._.js → node_modules_13rr6rm._.js} +2 -2
- package/.next/server/chunks/ssr/{node_modules_0skzy7i._.js → node_modules_152kfg-._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0wsygp2._.js → node_modules_15f2sid._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_06b7g0r._.js → node_modules_162v3_m._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_1pt7o47._.js → node_modules_16wbh_d._.js} +2 -2
- package/.next/server/chunks/ssr/{node_modules_1x7napn._.js → node_modules_1838s3x._.js} +2 -2
- package/.next/server/chunks/ssr/{node_modules_0zi89fj._.js → node_modules_1_rbg_o._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_1jt8w7f._.js → node_modules_1awgatr._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_1n5ds4a._.js → node_modules_1g9_m7_._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_1fa_3_c._.js → node_modules_1hgqn53._.js} +2 -2
- package/.next/server/chunks/ssr/{node_modules_1si826e._.js → node_modules_1j59ehc._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0y_dhgi._.js → node_modules_1jvg854._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_140qn14._.js → node_modules_1k9u0x_._.js} +2 -2
- package/.next/server/chunks/ssr/{node_modules_06p_ayw._.js → node_modules_1kqsyd_._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_1jrlct1._.js → node_modules_1kv5-zo._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_1b45v66._.js → node_modules_1lwcjnq._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_13ccsqp._.js → node_modules_1mxdor4._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_04qcy8e._.js → node_modules_1o_q011._.js} +2 -2
- package/.next/server/chunks/ssr/{node_modules_0ljjw5o._.js → node_modules_1p5__vf._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0jaxs1q._.js → node_modules_1p_tdep._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0xetrwd._.js → node_modules_1qyanf-._.js} +2 -2
- package/.next/server/chunks/ssr/{node_modules_1861d28._.js → node_modules_1rrbt-g._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_1k0ygyl._.js → node_modules_1rtx020._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_12409ud._.js → node_modules_1rxd-pq._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0_uhcxd._.js → node_modules_1sum8sx._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_18uwehg._.js → node_modules_1tqxzmp._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0ob-uxg._.js → node_modules_1u5xb0j._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0-zy1_5._.js → node_modules_1umqska._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_20llbw8._.js → node_modules_1v065ct._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_1o1ud40._.js → node_modules_1w2-as3._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0v0l095._.js → node_modules_1ywecve._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_katex_dist_katex_mjs_0-moq-r._.js → node_modules_katex_dist_katex_mjs_1l3addz._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_katex_dist_katex_mjs_1bf0rdx._.js → node_modules_katex_dist_katex_mjs_1y07ypr._.js} +1 -1
- package/.next/server/middleware-build-manifest.js +3 -3
- package/.next/server/pages/404.html +1 -1
- package/.next/server/pages/500.html +1 -1
- package/.next/server/server-reference-manifest.js +1 -1
- package/.next/server/server-reference-manifest.json +69 -69
- package/.next/static/chunks/{0km5rjf8k0gst.js → 0eepme181mw6f.js} +1 -1
- package/.next/static/chunks/{25tttxgpn-fdl.js → 0rx67d-x-1mmv.js} +2 -2
- package/.next/static/chunks/{2tlvu360xbisx.js → 0wwq57j09skhy.js} +1 -1
- package/.next/static/chunks/0xlr5fmtxb42l.js +4 -0
- package/.next/static/chunks/{3f4aku2z0zdxp.js → 0yp1so_h9mfhf.js} +1 -1
- package/.next/static/chunks/{1vxq-0uxcm5yl.js → 14e3ie8pgxgdb.js} +1 -1
- package/.next/static/chunks/{0_o7o4-itqsz7.js → 1b-3utyj58fn1.js} +1 -1
- package/.next/static/chunks/{1o4z63f94c3r-.js → 1c3tarihhldvd.js} +1 -1
- package/.next/static/chunks/{2njcedjozdqm7.js → 1j2zjawu_2th7.js} +1 -1
- package/.next/static/chunks/{2zvo7b47hhxi5.js → 1l0_q-kf0cbaj.js} +1 -1
- package/.next/static/chunks/{1hwehpk3kk-pc.js → 1la1aeosxvwmz.js} +1 -1
- package/.next/static/chunks/{29fpns41ml485.js → 1n3a07w81jbc-.js} +1 -1
- package/.next/static/chunks/{3ul6m16ba_i3u.js → 227tjgj_th6uf.js} +1 -1
- package/.next/static/chunks/{1zwj72bhapocl.js → 29r_coa80ubpw.js} +1 -1
- package/.next/static/chunks/{06ymo4xf31ggh.js → 2adz3q18q052w.js} +1 -1
- package/.next/static/chunks/{1ki7x6-ehua0u.js → 2b08w7t0hc1fp.js} +1 -1
- package/.next/static/chunks/{0i4df8t5_6a-g.js → 2gl-fo_rmmmq0.js} +1 -1
- package/.next/static/chunks/{1e3karuzhh7ik.js → 2h5rvagz5wdhy.js} +1 -1
- package/.next/static/chunks/2jo02hrgs_zqm.js +1 -0
- package/.next/static/chunks/{3ymtwwxmbactm.js → 2voeol7_1tit_.js} +1 -1
- package/.next/static/chunks/{277zw6dp5yzks.js → 36hfkcfa5a6be.js} +5 -5
- package/.next/static/chunks/{17ow2tmvy65in.js → 3a98r51s8rjtt.js} +1 -1
- package/.next/static/chunks/{2jn9y4sol_low.js → 3hl237797_a8e.js} +2 -2
- package/.next/static/chunks/3sjv-rshh-98q.js +1 -0
- package/.next/static/chunks/{1pxe_gpjic1_h.js → 3tejx8kiotsia.js} +1 -1
- package/.next/static/chunks/{1vwqvgit8a1vm.js → 42xlx1decmn82.js} +1 -1
- package/guide/calls.md +3 -1
- package/package.json +1 -1
- package/.next/server/chunks/ssr/_131wmbl._.js +0 -6
- package/.next/static/chunks/0lc_77uhatqgd.js +0 -1
- package/.next/static/chunks/1gca5ia-a-3e2.js +0 -1
- package/.next/static/chunks/3qhhs3dk6cdbq.js +0 -4
- /package/.next/static/{pekZvsOZ3_8_ohluwgZtY → mTdCVAiiVKCutbZcekyHn}/_buildManifest.js +0 -0
- /package/.next/static/{pekZvsOZ3_8_ohluwgZtY → mTdCVAiiVKCutbZcekyHn}/_clientMiddlewareManifest.js +0 -0
- /package/.next/static/{pekZvsOZ3_8_ohluwgZtY → mTdCVAiiVKCutbZcekyHn}/_ssgManifest.js +0 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
module.exports=[539470,e=>e.a(async(t,r)=>{try{var n=e.i(588762),a=e.i(333925),o=e.i(5509),i=e.i(900533),s=e.i(64774),u=t([o]);async function c(){let e=await (0,o.listThreadOverview)();if(!e.length)return null;let t=e.map(e=>{let t=(0,n.formatDistanceToNowStrict)((0,i.toDate)(e.updatedAt),{addSuffix:!0}),r=e.room.questions[0],o="waiting"===e.status&&r?`waiting on the user since ${t} — ${r.bot} asked: ${(0,s.clip)(r.text,a.PROMPT_LINE.jobOutcome)}`:"waiting"===e.status?`stopped ${t}, not finished`:"running"===e.status?`running, last moved ${t}`:`${e.status} ${t}`;return`- "${e.label}" (${e.id}) — ${e.bot} — ${o}`});return`[The threads as this call opened, open work first. They move while you talk.]
|
|
2
|
-
${t.join("\n")}`}[o]=u.then?(await u)():u,e.s(["loadCallStanding",0,c]),r()}catch(e){r(e)}},!1),79290,e=>e.a(async(t,r)=>{try{var n=e.i(333925),a=e.i(973589),o=e.i(51083),i=e.i(799791),s=e.i(951056),u=e.i(5509),c=e.i(1363),l=e.i(232549),d=e.i(343229),f=e.i(520401),h=e.i(871096),p=e.i(340697),m=e.i(497287),g=e.i(636608),y=t([i,u,c,d,f,p]);async function b(e){var t,r,y,b,_,R,v,O;let
|
|
2
|
+
${t.join("\n")}`}[o]=u.then?(await u)():u,e.s(["loadCallStanding",0,c]),r()}catch(e){r(e)}},!1),79290,e=>e.a(async(t,r)=>{try{var n=e.i(333925),a=e.i(973589),o=e.i(51083),i=e.i(799791),s=e.i(951056),u=e.i(5509),c=e.i(1363),l=e.i(232549),d=e.i(343229),f=e.i(520401),h=e.i(871096),p=e.i(340697),m=e.i(497287),g=e.i(636608),y=t([i,u,c,d,f,p]);async function b(e){var t,r,y,b,_,R,v,O;let k,{backendPrompt:S,written:P=!1,phone:T=!1,readSkills:j}=e,D=await (0,h.openWorkspace)(),[A,x,N,M,C,$,I]=await Promise.all([(0,d.loadSkills)(D),(0,c.listNoteIndex)(),(0,c.readNotes)(l.MEMORY_ALWAYS_LISTED,{touch:!1}),(0,p.listConnectedToolNames)(),(0,i.listJobBots)(),(0,f.listRecentTurns)(n.RECENT_CALL.rows,e.callId),(0,i.readBotMemoryOn)()]),L=await (0,u.listCallJobs)($.map(e=>e.callId)),U=[(0,g.thursdayIdentity)(new Date,e.where),P?(0,m.personaLines)(e.persona):"",P?(0,g.styleLines)(e.stylePrompt):"",E(x,N.notes),(t=C,r=(0,g.reachNames)(j?[]:A,M),y=I,b=T,0===t.length?"":`## Background work
|
|
3
3
|
|
|
4
4
|
Who you hand work to — the names \`${o.TOOL_NAMES.thread_start}\` takes.
|
|
5
5
|
|
|
@@ -9,18 +9,20 @@ What bots can reach for: ${r}.`:""}
|
|
|
9
9
|
|
|
10
10
|
**A bot can take on almost anything, and anything that takes more than a few seconds is a bot's**; a note, a look at a file or one command is yours. A bot has this computer, a real browser, the web, a shell to build what is missing and far more time than a call; it signs in where it has to and carries work to the end, so something you do not know how to do is work for a bot, not a no. Bots bring each other in, so work that spans several things is still one thread.${y?" Each bot keeps its own memory from thread to thread: when the user says how a bot should work from now on, pass it to that bot to remember.":""}
|
|
11
11
|
|
|
12
|
-
**Work lives in threads.** A thread's bot remembers that thread and nothing else, so the same bot started on a new one begins from nothing. More about work already handed over — a correction, the next step once it finished, going on after it stopped — is said to that thread (\`${o.TOOL_NAMES.thread_tell}\`); only a request that stands on its own starts a new one (\`${o.TOOL_NAMES.thread_start}\`). The threads open as this call started come into the conversation at the start, and they move while you talk: \`${o.TOOL_NAMES.thread_status}\` reads them as they are now, before you answer about one or hand anything over. Ask the user which it is only when the request could be either. Write the request in the user's own words, with what it stands on — including how they told you they want work done — and nothing they did not say.
|
|
12
|
+
**Work lives in threads.** A thread's bot remembers that thread and nothing else, so the same bot started on a new one begins from nothing. More about work already handed over — a correction, the next step once it finished, going on after it stopped — is said to that thread (\`${o.TOOL_NAMES.thread_tell}\`); only a request that stands on its own starts a new one (\`${o.TOOL_NAMES.thread_start}\`). The threads open as this call started come into the conversation at the start, and they move while you talk: \`${o.TOOL_NAMES.thread_status}\` reads them as they are now, before you answer about one or hand anything over. Ask the user which it is only when the request could be either. Write the request in the user's own words, with what it stands on — including how they told you they want work done — and nothing they did not say.
|
|
13
|
+
|
|
14
|
+
**Ask before you start a thread.** Propose it first, even when they named the bot — which bot, and the request in a sentence — with what it needs from them that they have not said, and start it only on their yes to that proposal: a reply that goes on talking about the work is not a yes. Their answers go in the request, so the bot does not ask them again.
|
|
13
15
|
|
|
14
16
|
**Work that should start by itself — every morning, every few hours — is a routine.** \`${o.TOOL_NAMES.routine}\` makes one from a bot, the work in the user's own words, and when; from then on it starts a thread for it each time without being asked, and the result reaches the user like any thread's. Ask once for whichever of those they left out, and read the ones that exist before making, changing or deleting one.
|
|
15
17
|
|
|
16
|
-
Updates and questions from threads reach the conversation by themselves, naming their thread and the bot that asks; they come from bots, not the user, and a question is answered with \`${o.TOOL_NAMES.thread_answer}\`. ${b?"When the user wants to see what a thread made, name its files by their path in your answer: they are sent along with it.":`When the user wants to see what a thread made, \`${o.TOOL_NAMES.thread_show}\` puts it on their screen.`} Once you have told them how a thread ended, or when they ask you to clear what is finished, mark it with \`${o.TOOL_NAMES.thread_seen}\`.`),(_=D.cwd,R=j?A:[],
|
|
18
|
+
Updates and questions from threads reach the conversation by themselves, naming their thread and the bot that asks; they come from bots, not the user, and a question is answered with \`${o.TOOL_NAMES.thread_answer}\`. ${b?"When the user wants to see what a thread made, name its files by their path in your answer: they are sent along with it.":`When the user wants to see what a thread made, \`${o.TOOL_NAMES.thread_show}\` puts it on their screen.`} Once you have told them how a thread ended, or when they ask you to clear what is finished, mark it with \`${o.TOOL_NAMES.thread_seen}\`.`),(_=D.cwd,R=j?A:[],k=`## This computer
|
|
17
19
|
|
|
18
20
|
Current Cwd: ${_}
|
|
19
21
|
Platform: ${process.platform}
|
|
20
22
|
|
|
21
23
|
Where \`${o.TOOL_NAMES.bash}\` runs, and what the paths you get back are relative to. Each command is cut off after ${Math.round(n.CALL_EXEC_TIMEOUT_MS/1e3)} seconds; anything longer is a bot's.
|
|
22
24
|
|
|
23
|
-
${(0,a.guideLine)()}`,0===R.length?
|
|
25
|
+
${(0,a.guideLine)()}`,0===R.length?k:`${k}
|
|
24
26
|
|
|
25
27
|
Skills are written-down ways of doing things here. \`${o.TOOL_NAMES.load_skill}\` opens one, and what it says goes for you too: read one when it covers what was asked and the doing is a glance. Anything longer it describes is still work to hand over, with what the skill said.
|
|
26
28
|
|
|
@@ -34,7 +36,7 @@ What was said on the last calls, verbatim, newest last. It is the past: pick it
|
|
|
34
36
|
|
|
35
37
|
A \`${o.TOOL_NAMES.thread_start}\` line carries the thread's handle and how it ended; the handle is for the thread tools, never said aloud. What they ask for now is often one of these carried further.
|
|
36
38
|
|
|
37
|
-
${(0,g.recentCallLines)(v.map(e=>({...e,jobs:O.filter(t=>t.callId===e.callId)})),n.RECENT_CALL.tokens)}`:""),w(
|
|
39
|
+
${(0,g.recentCallLines)(v.map(e=>({...e,jobs:O.filter(t=>t.callId===e.callId)})),n.RECENT_CALL.tokens)}`:""),w(S)].filter(Boolean).join("\n\n");return(0,g.logPromptSize)("thursday",U),U}[i,u,c,d,f,p]=y.then?(await y)():y;let w=e=>e?.trim()?`## Additional instructions
|
|
38
40
|
|
|
39
41
|
Written by the user. Follow them together with everything above.
|
|
40
42
|
|
|
@@ -55,7 +57,7 @@ ${f}What tells you most about them comes first: what they loved or could not sta
|
|
|
55
57
|
**Keep memory clean as you write.** A fact that repeats, narrows or changes one already in the note replaces it, merged into one line, rather than sitting beside it. A later call finds a note only by its path and its line: give something new its own path below, and when a line no longer says what its note is about, \`${o.TOOL_NAMES.memory_describe}\` puts it right.
|
|
56
58
|
|
|
57
59
|
${l.MEMORY_PATHS.map(e=>`- ${e.path} — ${e.of}`).join("\n")}`;return[c,d,h].join("\n\n")}function _(e){let t=e.facts.map(e=>`- ${e.text} #${e.id}`);return`${e.path} — ${e.description}
|
|
58
|
-
${t.length?t.join("\n"):"- (nothing yet)"}`}e.s(["loadThursdayPrompt",0,b,"memoryChapter",0,E]),r()}catch(e){r(e)}},!1),181300,e=>e.a(async(t,r)=>{try{var n=e.i(912714),a=e.i(734732),o=e.i(749906),i=e.i(139886),s=e.i(333925),u=e.i(247839),c=e.i(113022),l=e.i(986507),d=e.i(864328),f=e.i(539470),h=e.i(79290),p=e.i(690285),m=e.i(51083),g=e.i(656719),y=e.i(724185),b=e.i(375814),E=e.i(426455),_=e.i(938281);e.i(825184);var w=e.i(212389),R=e.i(64774),v=e.i(520401),O=e.i(933395),S=e.i(293822),k=t([c,l,f,h,y,v]);async function P(){let e=await Promise.all(O.TEXT_CALL_PROVIDERS.map(async e=>await (0,y.readConfig)(e.apiKeyName)?e.apiKeyName:null));return(0,O.textCallRunsOn)(t=>e.includes(t))}async function T(e,t){if(t)return t;let r=await P();return r||(0,w.publicError)(V),{provider:r,model:e.backendModel}}async function j(e,t){if("chatgpt"!==e.provider||!(0,l.isPlanSpent)(t)||!await (0,y.readConfig)(u.LIVE_PROVIDER.apiKeyName))return null;let r=(await (0,v.readLiveSettings)()).backendModel,n=d.TEXT_MODEL_PROVIDERS.openai.suggestModels.find(e=>e.id===r)?.label??r,a=t instanceof Error?t.message:String(t);return{ref:{provider:"openai",model:r},why:a,line:`${a} Answering on your OpenAI key (${n}) until it resets.`}}async function D(e){if(!(0,l.isPlanSpent)(e))return e;let t=e instanceof Error?e.message:String(e);return new w.PublicError(await (0,y.readConfig)(u.LIVE_PROVIDER.apiKeyName)?`${t} Write again and she answers on your OpenAI key.`:`${t} With an OpenAI key in Settings › API keys, she answers on it until then.`)}async function A(e){let t=await T(await (0,v.readLiveSettings)(),e),[r,n]=await Promise.all([(0,v.insertCall)({provider:t.provider,model:s.TEXT_CALL.model,backendModel:t.model}),(0,f.loadCallStanding)()]);return{callId:r,standing:n}}[c,l,f,h,y,v]=k.then?(await k)():k,o.object({callId:o.string().min(1),standing:o.string().nullish(),runsOn:d.textModelRefSchema.nullish(),turn:o.string().min(1),messages:o.array(o.unknown()).min(1),where:o.unknown().optional()}),globalThis.__textCallTurns??=new Map;let $="workspace:",I=e=>({type:"file",mediaType:(0,b.mimeOf)(e),filename:e,data:{type:"url",url:new URL(`${$}${encodeURIComponent(e)}`)}}),L=e=>{let t=e.data,r=t instanceof URL?t:t?.type==="url"?t.url:null;return r instanceof URL&&r.protocol===$?decodeURIComponent(r.pathname):null},U=(e,t)=>t?.length?[{type:"text",text:e},...t.map(I)]:e;i.queryKey.file("");let B=new WeakMap,W=e=>e.map(e=>B.get(e)??e);async function x(e,t,r){if(t)return{missed:`${e} is a picture, and ${t} cannot see pictures, so it was not sent to you.`};let a=await (0,p.checkPicture)(e);if("missing"in a)return{missed:`There is no file at ${e} in the workspace, so no picture was sent to you.`};if("notPicture"in a)return{missed:`${e} is not a png, jpg, webp or gif, so it was not sent to you as a picture.`};if("tooBig"in a)return{missed:`${(0,p.tooBigToSee)(e,a.tooBig)} It was not sent to you.`};if(a.bytes>r)return{missed:`${e} is a picture not sent with this message: the pictures after it fill the ${(0,R.formatBytes)(s.LOOK.perRequest)} one message to you carries. Look at it with look_at to see it.`};let o=await (0,n.readFile)(a.full).catch(()=>null);return o?{data:o.toString("base64"),mediaType:a.mediaType,bytes:o.length}:{missed:`${e} could not be read, so no picture was sent to you.`}}async function N(e,t){let r=(0,l.seesToolImages)(t)?null:t.model,n=s.LOOK.perRequest-e.reduce((e,t)=>e+function(e){if("user"!==e.role||"string"==typeof e.content)return 0;let t=0;for(let r of e.content){if("file"!==r.type)continue;let e=r.data,n=e?.type==="data"?e.data:e;"string"==typeof n?t+=Math.floor(3*n.length/4):(n instanceof Uint8Array||n instanceof ArrayBuffer)&&(t+=n.byteLength)}return t}(t),0),a=[...e];for(let e=a.length-1;e>=0;e-=1){let t=a[e];if("user"!==t.role||"string"==typeof t.content||!t.content.some(e=>"file"===e.type&&null!==L(e)))continue;let o=[];for(let e of[...t.content].reverse()){let t="file"===e.type?L(e):null;if(!t){o.unshift(e);continue}let a=await x(t,r,n);if("missed"in a){o.unshift({type:"text",text:a.missed});continue}n-=a.bytes,o.unshift({type:"text",text:`${t}, as an image:`},{type:"file",mediaType:a.mediaType,data:{type:"data",data:a.data}})}let i={role:"user",content:o};B.set(i,t),a[e]=i}return a}async function M(e){var t;let r,n,{callId:o,standing:i,messages:u,said:c,signal:l}=e,[d,f]=await Promise.all([C(o,null,!0),(0,v.nextTurnSeq)(o)]);null!==c&&await (0,v.saveTurns)(o,[{id:crypto.randomUUID(),role:"user",text:c,seq:f}]);let h=(t=o,r=null===c?f:f+1,{step:async e=>{for(let n of e.content)if("tool-call"===n.type){let a=e.content.find(e=>"tool-result"===e.type&&e.toolCallId===n.toolCallId);await (0,v.saveTurns)(t,[{id:n.toolCallId,role:"tool",tool:n.toolName,text:n.toolName===m.TOOL_NAMES.web_search?function(e,t){let r=t??{},n=[(e??{}).query,r.action?.query].find(e=>"string"==typeof e&&!!e.trim()),a=Array.isArray(r.sources)?r.sources.flatMap(e=>e&&"object"==typeof e&&"url"in e&&"string"==typeof e.url?[{url:e.url,..."title"in e&&"string"==typeof e.title?{title:e.title}:{}}]:[]):[];return JSON.stringify({query:n??null,sources:a})}(n.input,a?.type==="tool-result"?a.output:null):JSON.stringify(n.input??{}),seq:r++}])}else"text"===n.type&&n.text.trim()?await (0,v.saveTurns)(t,[{id:crypto.randomUUID(),role:"assistant",text:n.text.trim(),seq:r++}]):"reasoning"===n.type&&n.text.trim()&&await (0,v.saveThought)(t,{id:crypto.randomUUID(),text:n.text.trim(),seq:r})},said:(e,n=crypto.randomUUID())=>(0,v.saveTurns)(t,[{id:n,role:"user",text:e,seq:r++}])}),p=X(i),g=u.at(-1),y=e.pictures?.length&&g?.role==="user"&&"string"==typeof g.content?[...u.slice(0,-1),{role:"user",content:U(g.content,e.pictures)}]:u,b=[...p,...y],E=0,w=async t=>(0,a.generateText)({model:t.model,instructions:t.system,messages:await N(W(b),t.ref),allowSystemInMessages:!0,tools:t.tools,providerOptions:t.providerOptions,stopWhen:(0,a.stepCountIs)(s.TEXT_CALL.maxSteps),abortSignal:l,prepareStep:async({stepNumber:r,messages:n})=>{let a=r>0?e.notes?.()??[]:[];for(let e of(b=[...n,...a.map(e=>({role:"user",content:U(e.text,e.pictures)}))],a))e.said&&await h.said(e.text);return a.length?{messages:await N(b,t.ref)}:void 0},onStepEnd:async e=>{E+=1,await h.step(e)}}),R=null;try{n=await w(d)}catch(t){let e=E?null:await j(d.ref,t);if(!e)throw await D(t);_.logger.info(`text call ${o}: ${e.line}`),R=e.line;try{n=await w(await C(o,e.ref,!0))}catch(e){throw await D(e)}}return{text:n.text.trim(),did:n.steps.flatMap(e=>e.toolCalls.map(e=>(0,S.toolLine)(e.toolName,JSON.stringify(e.input??{}))??e.toolName)),messages:W([...b.slice(p.length),...n.steps.at(-1)?.response.messages??[]]),moved:R}}let X=e=>e?[{role:"system",content:e}]:[];async function C(e,t,r=!1,n){let a=await (0,v.readLiveSettings)(),o=await T(a,t),i="openai"===o.provider||"chatgpt"===o.provider,[s,d,f,p,b]=await Promise.all([(0,l.getTextModel)(o),(0,h.loadThursdayPrompt)({backendPrompt:a.backendPrompt,written:!0,callId:e,phone:r,persona:a.persona,stylePrompt:a.stylePrompt,readSkills:a.readSkills,where:n}),(0,c.loadTools)({target:"thursday",callId:e,webSearch:a.webSearch,readSkills:a.readSkills,written:!0,model:o,phone:r}),(0,y.readConfig)(g.EXA_API_KEY),(0,y.readConfig)(u.LIVE_PROVIDER.apiKeyName)]),_=s.searchTools&&Object.values(s.searchTools)[0],w={...f,...a.webSearch&&!p&&_?{[m.TOOL_NAMES.web_search]:_}:{}},R=i?b?await (0,E.acceptedReasoning)({apiKey:b,model:o.model,effort:a.reasoningEffort}):(0,E.wantedReasoning)(a.reasoningEffort):null;return{ref:o,model:s.model,system:d,tools:w,providerOptions:{openai:{...R?.effort?{reasoningEffort:R.effort}:{},...R&&"summary"in R&&R.summary?{reasoningSummary:R.summary}:{}}}}}let V="Writing to Thursday needs a GPT subscription sign-in or an OpenAI key — Settings › API keys.";e.s(["answerInWriting",0,M,"openTextCall",0,A,"readTextCallProvider",0,P]),r()}catch(e){r(e)}},!1),426455,e=>{"use strict";var t=e.i(749906),r=e.i(333925),n=e.i(938281);e.i(556325),t.object({session:t.object({id:t.string().min(1)}),transport:t.object({type:t.literal("webrtc"),sdp:t.string().min(1)})});let a=new Map;function o(e){return"none"===e?{effort:e}:{...e?{effort:e}:{},summary:"auto"}}async function i(e){let{apiKey:t,model:i,effort:s}=e,u=`${i} ${s??"auto"}`,c=a.get(u);if(void 0!==c)return c;let l=o(s);for(;;){let e=await fetch("https://api.openai.com/v1/responses/input_tokens",{method:"POST",headers:{Authorization:`Bearer ${t}`,"Content-Type":"application/json"},signal:AbortSignal.timeout(r.LIVE_CALL.reasoningCheckMs),body:JSON.stringify({model:i,input:".",reasoning:l})}).catch(()=>null);if(!e)return l;let o=Object.keys(l).length?l:null;if(e.ok)return a.set(u,o),o;let s=await e.json().catch(()=>null),c=s?.error?.param?.replace(/^reasoning\./,"");if("effort"!==c&&"summary"!==c||!(c in l))return l;if(n.logger.warn(`${i} takes no reasoning ${c}; calls omit it`),delete l[c],!Object.keys(l).length)return a.set(u,null),null}}e.s(["acceptedReasoning",0,i,"wantedReasoning",0,o])},461067,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"ReadonlyURLSearchParams",{enumerable:!0,get:function(){return a}});class n extends Error{constructor(){super("Method unavailable on `ReadonlyURLSearchParams`. Read more: https://nextjs.org/docs/app/api-reference/functions/use-search-params#updating-searchparams"),Object.defineProperty(this,"__NEXT_ERROR_CODE",{value:"E1174",enumerable:!1,configurable:!0})}}class a extends URLSearchParams{append(){throw new n}delete(){throw new n}set(){throw new n}sort(){throw new n}}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},574542,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"RedirectStatusCode",{enumerable:!0,get:function(){return a}});var n,a=((n={})[n.SeeOther=303]="SeeOther",n[n.TemporaryRedirect=307]="TemporaryRedirect",n[n.PermanentRedirect=308]="PermanentRedirect",n);("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},4166,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={REDIRECT_ERROR_CODE:function(){return i},isRedirectError:function(){return s}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let o=e.r(574542),i="NEXT_REDIRECT";function s(e){if("object"!=typeof e||null===e||!("digest"in e)||"string"!=typeof e.digest)return!1;let t=e.digest.split(";"),[r,n]=t,a=t.slice(2,-2).join(";"),s=Number(t.at(-2));return r===i&&("replace"===n||"push"===n)&&"string"==typeof a&&!isNaN(s)&&s in o.RedirectStatusCode}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},845135,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={actionAsyncStorage:function(){return o.actionAsyncStorage},workAsyncStorage:function(){return i.workAsyncStorage},workUnitAsyncStorage:function(){return s.workUnitAsyncStorage}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let o=e.r(120635),i=e.r(556704),s=e.r(832319);("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},543212,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={getRedirectError:function(){return u},getRedirectStatusCodeFromError:function(){return h},getRedirectTypeFromError:function(){return f},getURLFromRedirectError:function(){return d},permanentRedirect:function(){return l},redirect:function(){return c}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let o=e.r(574542),i=e.r(4166),s=e.r(845135);function u(e,t,r=o.RedirectStatusCode.TemporaryRedirect){let n=Object.defineProperty(Error(i.REDIRECT_ERROR_CODE),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return n.digest=`${i.REDIRECT_ERROR_CODE};${t};${e};${r};`,n}function c(e,t){throw u(e,t??=s.actionAsyncStorage?.getStore()?.isAction?"push":"replace",o.RedirectStatusCode.TemporaryRedirect)}function l(e,t="replace"){throw u(e,t,o.RedirectStatusCode.PermanentRedirect)}function d(e){return(0,i.isRedirectError)(e)?e.digest.split(";").slice(2,-2).join(";"):null}function f(e){if(!(0,i.isRedirectError)(e))throw Object.defineProperty(Error("Not a redirect error"),"__NEXT_ERROR_CODE",{value:"E260",enumerable:!1,configurable:!0});return e.digest.split(";",2)[1]}function h(e){if(!(0,i.isRedirectError)(e))throw Object.defineProperty(Error("Not a redirect error"),"__NEXT_ERROR_CODE",{value:"E260",enumerable:!1,configurable:!0});return Number(e.digest.split(";").at(-2))}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},33394,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={HTTPAccessErrorStatus:function(){return o},HTTP_ERROR_FALLBACK_ERROR_CODE:function(){return s},getAccessFallbackErrorTypeByStatus:function(){return l},getAccessFallbackHTTPStatus:function(){return c},isHTTPAccessFallbackError:function(){return u}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let o={NOT_FOUND:404,FORBIDDEN:403,UNAUTHORIZED:401},i=new Set(Object.values(o)),s="NEXT_HTTP_ERROR_FALLBACK";function u(e){if("object"!=typeof e||null===e||!("digest"in e)||"string"!=typeof e.digest)return!1;let[t,r]=e.digest.split(";");return t===s&&i.has(Number(r))}function c(e){return Number(e.digest.split(";")[1])}function l(e){switch(e){case 401:return"unauthorized";case 403:return"forbidden";case 404:return"not-found";default:return}}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},944760,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"notFound",{enumerable:!0,get:function(){return o}});let n=e.r(33394),a=`${n.HTTP_ERROR_FALLBACK_ERROR_CODE};404`;function o(){let e=Object.defineProperty(Error(a),"__NEXT_ERROR_CODE",{value:"E1041",enumerable:!1,configurable:!0});throw e.digest=a,e}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},825345,(e,t,r)=>{"use strict";function n(){throw Object.defineProperty(Error("`forbidden()` is experimental and only allowed to be enabled when `experimental.authInterrupts` is enabled."),"__NEXT_ERROR_CODE",{value:"E488",enumerable:!1,configurable:!0})}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"forbidden",{enumerable:!0,get:function(){return n}}),e.r(33394).HTTP_ERROR_FALLBACK_ERROR_CODE,("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},452616,(e,t,r)=>{"use strict";function n(){throw Object.defineProperty(Error("`unauthorized()` is experimental and only allowed to be used when `experimental.authInterrupts` is enabled."),"__NEXT_ERROR_CODE",{value:"E411",enumerable:!1,configurable:!0})}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"unauthorized",{enumerable:!0,get:function(){return n}}),e.r(33394).HTTP_ERROR_FALLBACK_ERROR_CODE,("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},585346,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"InvariantError",{enumerable:!0,get:function(){return n}});class n extends Error{constructor(e,t){super(`Invariant: ${e.endsWith(".")?e:e+"."} This is a bug in Next.js.`,t),Object.defineProperty(this,"__NEXT_ERROR_CODE",{value:"E1179",enumerable:!1,configurable:!0}),this.name="InvariantError"}}},900338,(e,t,r)=>{"use strict";function n(){let e,t,r=new Promise((r,n)=>{e=r,t=n});return{resolve:e,reject:t,promise:r}}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"createPromiseWithResolvers",{enumerable:!0,get:function(){return n}})},865832,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n,a,o={RENDER_STAGE_ADVANCE_ORDER:function(){return l},RenderStage:function(){return c},StagedRenderingController:function(){return p},SyncIOMode:function(){return h},getNextStage:function(){return d},isAdvanceableRenderStage:function(){return f}};for(var i in o)Object.defineProperty(r,i,{enumerable:!0,get:o[i]});let s=e.r(585346),u=e.r(900338);var c=((n={})[n.Before=1]="Before",n[n.ShellStatic=11]="ShellStatic",n[n.Static=13]="Static",n[n.ShellRuntime=21]="ShellRuntime",n[n.Runtime=23]="Runtime",n[n.Dynamic=30]="Dynamic",n[n.Abandoned=40]="Abandoned",n);let l=[11,13,21,23,30];function d(e){return l[l.indexOf(e)+1]}function f(e){return 1<e&&e<=30}var h=((a={})[a.Untracked=1]="Untracked",a[a.AllowedInRuntimeOrDynamic=2]="AllowedInRuntimeOrDynamic",a[a.AllowedInDynamic=3]="AllowedInDynamic",a);class p{constructor({abortSignal:e,abandonController:t,syncIO:r,finalStage:n}){this.currentStage=1,this.syncInterruptReason=null,this.triggers={11:g(),13:g(),21:g(),23:g(),30:g()},this.abortSignal=e,this.abandonController=t,this.syncIOMode=r,this.finalStage=n,e&&e.addEventListener("abort",()=>{let{reason:t}=e;for(let e of Object.values(this.triggers)){var r,n;r=e,n=t,"pending"===r.state&&(r.state="cancelled",r._listeners.length=0,r.promise.catch(m),r._rejectPromise(n))}},{once:!0}),t&&t.signal.addEventListener("abort",()=>{this.abandonRender()},{once:!0})}onStage(e,t){var r,n;r=this.triggers[e],n=t,"pending"===r.state?r._listeners.push(n):n()}shouldTrackSyncInterrupt(){if(1===this.syncIOMode)return!1;switch(this.currentStage){case 1:return!1;case 11:case 13:return!0;case 21:case 23:switch(this.syncIOMode){case 2:return!1;case 3:return!0}case 30:case 40:return!1;default:return this.currentStage,!1}}syncInterruptCurrentStageWithReason(e){let{currentStage:t}=this;if(1!==t&&30!==t&&40!==t){if(this.abandonController)return void this.abandonController.abort();if(this.abortSignal){this.syncInterruptReason=e,this.currentStage=40;return}this.syncInterruptReason=e,this.advanceStage(30)}}getSyncInterruptReason(){return this.syncInterruptReason}getStageEndTime(e){return this.triggers[d(e)].triggeredAt??1/0}abandonRender(){let{currentStage:e}=this;if(1===e)throw Object.defineProperty(new s.InvariantError("A render that hasn't started yet cannot be abandoned"),"__NEXT_ERROR_CODE",{value:"E1300",enumerable:!1,configurable:!0});if(30===e||40===e)return;let t=l.indexOf(e)+1,r=l.indexOf(30);for(let e=t;e<r;e++)this.resolveStage(l[e]);this.currentStage=40}advanceStage(e){if(null!==this.finalStage&&e>this.finalStage)throw Object.defineProperty(new s.InvariantError(`Attempted to advance to stage ${c[e]} but the render is limited to ${c[this.finalStage]}`),"__NEXT_ERROR_CODE",{value:"E1302",enumerable:!1,configurable:!0});let{currentStage:t}=this;if(30===t||40===t||e<=t)return;this.currentStage=e;let r=1===t?0:l.indexOf(t)+1,n=l.indexOf(e);for(let e=r;e<=n;e++)this.resolveStage(l[e])}resolveStage(e){var t=this.triggers[e];if("pending"===t.state){t.state="triggered",t.triggeredAt=performance.now()+performance.timeOrigin;try{let{_listeners:e}=t;for(let t=0;t<e.length;t++)e[t]();e.length=0}finally{t._resolvePromise()}}}getStagePromise(e){return this.triggers[e].promise}waitForStage(e){return this.getStagePromise(e)}delayUntilStage(e,t,r){let n=this.getStagePromise(e).then(()=>r);return this.abortSignal&&n.catch(m),n}}function m(){}function g(){let{promise:e,resolve:t,reject:r}=(0,u.createPromiseWithResolvers)();return{state:"pending",triggeredAt:null,promise:e,_listeners:[],_resolvePromise:t,_rejectPromise:r}}},756725,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={ClientHookDynamicError:function(){return l},RENDER_STAGES_BY_DATA_KIND:function(){return k},applyOwnerStack:function(){return P},isClientHookDynamicError:function(){return d},isHangingPromiseRejectionError:function(){return i},makeClientHookHangingPromise:function(){return w},makeDevtoolsIOAwarePromise:function(){return S},makeDynamicHangingPromise:function(){return h},makeFallbackParamsHangingPromise:function(){return g},makePromiseFromTrigger:function(){return O},makeRuntimeHangingPromise:function(){return m},makeStageHangingPromise:function(){return y},makeUntrackedHangingPromise:function(){return p},trackFallbackParamsAccessed:function(){return E},trackRuntimeDataAccessed:function(){return b}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let o=e.r(865832);function i(e){return"object"==typeof e&&null!==e&&"digest"in e&&e.digest===s}e.r(832319),e.r(559043);let s="HANGING_PROMISE_REJECTION";class u extends Error{constructor(e,t){super(`During prerendering, ${t} rejects when the prerender is complete. Typically these errors are handled by React but if you move ${t} to a different context by using \`setTimeout\`, \`after\`, or similar functions you may observe this error and you should handle it in that context. This occurred at route "${e}".`),this.route=e,this.expression=t,this.digest=s}}let c="CLIENT_HOOK_DYNAMIC";class l extends Error{constructor(e,t){super(`Route "${e}": Next.js encountered URL data \`${t}\` in a Client Component outside of \`<Suspense>\`.
|
|
60
|
+
${t.length?t.join("\n"):"- (nothing yet)"}`}e.s(["loadThursdayPrompt",0,b,"memoryChapter",0,E]),r()}catch(e){r(e)}},!1),181300,e=>e.a(async(t,r)=>{try{var n=e.i(912714),a=e.i(734732),o=e.i(749906),i=e.i(139886),s=e.i(333925),u=e.i(247839),c=e.i(113022),l=e.i(986507),d=e.i(864328),f=e.i(539470),h=e.i(79290),p=e.i(690285),m=e.i(51083),g=e.i(656719),y=e.i(724185),b=e.i(375814),E=e.i(426455),_=e.i(938281);e.i(825184);var w=e.i(212389),R=e.i(64774),v=e.i(520401),O=e.i(933395),k=e.i(293822),S=t([c,l,f,h,y,v]);async function P(){let e=await Promise.all(O.TEXT_CALL_PROVIDERS.map(async e=>await (0,y.readConfig)(e.apiKeyName)?e.apiKeyName:null));return(0,O.textCallRunsOn)(t=>e.includes(t))}async function T(e,t){if(t)return t;let r=await P();return r||(0,w.publicError)(V),{provider:r,model:e.backendModel}}async function j(e,t){if("chatgpt"!==e.provider||!(0,l.isPlanSpent)(t)||!await (0,y.readConfig)(u.LIVE_PROVIDER.apiKeyName))return null;let r=(await (0,v.readLiveSettings)()).backendModel,n=d.TEXT_MODEL_PROVIDERS.openai.suggestModels.find(e=>e.id===r)?.label??r,a=t instanceof Error?t.message:String(t);return{ref:{provider:"openai",model:r},why:a,line:`${a} Answering on your OpenAI key (${n}) until it resets.`}}async function D(e){if(!(0,l.isPlanSpent)(e))return e;let t=e instanceof Error?e.message:String(e);return new w.PublicError(await (0,y.readConfig)(u.LIVE_PROVIDER.apiKeyName)?`${t} Write again and she answers on your OpenAI key.`:`${t} With an OpenAI key in Settings › API keys, she answers on it until then.`)}async function A(e){let t=await T(await (0,v.readLiveSettings)(),e),[r,n]=await Promise.all([(0,v.insertCall)({provider:t.provider,model:s.TEXT_CALL.model,backendModel:t.model}),(0,f.loadCallStanding)()]);return{callId:r,standing:n}}[c,l,f,h,y,v]=S.then?(await S)():S,o.object({callId:o.string().min(1),standing:o.string().nullish(),runsOn:d.textModelRefSchema.nullish(),turn:o.string().min(1),messages:o.array(o.unknown()).min(1),where:o.unknown().optional()}),globalThis.__textCallTurns??=new Map;let $="workspace:",I=e=>({type:"file",mediaType:(0,b.mimeOf)(e),filename:e,data:{type:"url",url:new URL(`${$}${encodeURIComponent(e)}`)}}),L=e=>{let t=e.data,r=t instanceof URL?t:t?.type==="url"?t.url:null;return r instanceof URL&&r.protocol===$?decodeURIComponent(r.pathname):null},U=(e,t)=>t?.length?[{type:"text",text:e},...t.map(I)]:e;i.queryKey.file("");let B=new WeakMap,W=e=>e.map(e=>B.get(e)??e);async function x(e,t,r){if(t)return{missed:`${e} is a picture, and ${t} cannot see pictures, so it was not sent to you.`};let a=await (0,p.checkPicture)(e);if("missing"in a)return{missed:`There is no file at ${e} in the workspace, so no picture was sent to you.`};if("notPicture"in a)return{missed:`${e} is not a png, jpg, webp or gif, so it was not sent to you as a picture.`};if("tooBig"in a)return{missed:`${(0,p.tooBigToSee)(e,a.tooBig)} It was not sent to you.`};if(a.bytes>r)return{missed:`${e} is a picture not sent with this message: the pictures after it fill the ${(0,R.formatBytes)(s.LOOK.perRequest)} one message to you carries. Look at it with look_at to see it.`};let o=await (0,n.readFile)(a.full).catch(()=>null);return o?{data:o.toString("base64"),mediaType:a.mediaType,bytes:o.length}:{missed:`${e} could not be read, so no picture was sent to you.`}}async function N(e,t){let r=(0,l.seesToolImages)(t)?null:t.model,n=s.LOOK.perRequest-e.reduce((e,t)=>e+function(e){if("user"!==e.role||"string"==typeof e.content)return 0;let t=0;for(let r of e.content){if("file"!==r.type)continue;let e=r.data,n=e?.type==="data"?e.data:e;"string"==typeof n?t+=Math.floor(3*n.length/4):(n instanceof Uint8Array||n instanceof ArrayBuffer)&&(t+=n.byteLength)}return t}(t),0),a=[...e];for(let e=a.length-1;e>=0;e-=1){let t=a[e];if("user"!==t.role||"string"==typeof t.content||!t.content.some(e=>"file"===e.type&&null!==L(e)))continue;let o=[];for(let e of[...t.content].reverse()){let t="file"===e.type?L(e):null;if(!t){o.unshift(e);continue}let a=await x(t,r,n);if("missed"in a){o.unshift({type:"text",text:a.missed});continue}n-=a.bytes,o.unshift({type:"text",text:`${t}, as an image:`},{type:"file",mediaType:a.mediaType,data:{type:"data",data:a.data}})}let i={role:"user",content:o};B.set(i,t),a[e]=i}return a}async function M(e){var t;let r,n,{callId:o,standing:i,messages:u,said:c,signal:l}=e,[d,f]=await Promise.all([C(o,null,!0),(0,v.nextTurnSeq)(o)]);null!==c&&await (0,v.saveTurns)(o,[{id:crypto.randomUUID(),role:"user",text:c,seq:f}]);let h=(t=o,r=null===c?f:f+1,{step:async e=>{for(let n of e.content)if("tool-call"===n.type){let a=e.content.find(e=>"tool-result"===e.type&&e.toolCallId===n.toolCallId);await (0,v.saveTurns)(t,[{id:n.toolCallId,role:"tool",tool:n.toolName,text:n.toolName===m.TOOL_NAMES.web_search?function(e,t){let r=t??{},n=[(e??{}).query,r.action?.query].find(e=>"string"==typeof e&&!!e.trim()),a=Array.isArray(r.sources)?r.sources.flatMap(e=>e&&"object"==typeof e&&"url"in e&&"string"==typeof e.url?[{url:e.url,..."title"in e&&"string"==typeof e.title?{title:e.title}:{}}]:[]):[];return JSON.stringify({query:n??null,sources:a})}(n.input,a?.type==="tool-result"?a.output:null):JSON.stringify(n.input??{}),seq:r++}])}else"text"===n.type&&n.text.trim()?await (0,v.saveTurns)(t,[{id:crypto.randomUUID(),role:"assistant",text:n.text.trim(),seq:r++}]):"reasoning"===n.type&&n.text.trim()&&await (0,v.saveThought)(t,{id:crypto.randomUUID(),text:n.text.trim(),seq:r})},said:(e,n=crypto.randomUUID())=>(0,v.saveTurns)(t,[{id:n,role:"user",text:e,seq:r++}])}),p=X(i),g=u.at(-1),y=e.pictures?.length&&g?.role==="user"&&"string"==typeof g.content?[...u.slice(0,-1),{role:"user",content:U(g.content,e.pictures)}]:u,b=[...p,...y],E=0,w=async t=>(0,a.generateText)({model:t.model,instructions:t.system,messages:await N(W(b),t.ref),allowSystemInMessages:!0,tools:t.tools,providerOptions:t.providerOptions,stopWhen:(0,a.stepCountIs)(s.TEXT_CALL.maxSteps),abortSignal:l,prepareStep:async({stepNumber:r,messages:n})=>{let a=r>0?e.notes?.()??[]:[];for(let e of(b=[...n,...a.map(e=>({role:"user",content:U(e.text,e.pictures)}))],a))e.said&&await h.said(e.text);return a.length?{messages:await N(b,t.ref)}:void 0},onStepEnd:async e=>{E+=1,await h.step(e)}}),R=null;try{n=await w(d)}catch(t){let e=E?null:await j(d.ref,t);if(!e)throw await D(t);_.logger.info(`text call ${o}: ${e.line}`),R=e.line;try{n=await w(await C(o,e.ref,!0))}catch(e){throw await D(e)}}return{text:n.text.trim(),did:n.steps.flatMap(e=>e.toolCalls.map(e=>(0,k.toolLine)(e.toolName,JSON.stringify(e.input??{}))??e.toolName)),messages:W([...b.slice(p.length),...n.steps.at(-1)?.response.messages??[]]),moved:R}}let X=e=>e?[{role:"system",content:e}]:[];async function C(e,t,r=!1,n){let a=await (0,v.readLiveSettings)(),o=await T(a,t),i="openai"===o.provider||"chatgpt"===o.provider,[s,d,f,p,b]=await Promise.all([(0,l.getTextModel)(o),(0,h.loadThursdayPrompt)({backendPrompt:a.backendPrompt,written:!0,callId:e,phone:r,persona:a.persona,stylePrompt:a.stylePrompt,readSkills:a.readSkills,where:n}),(0,c.loadTools)({target:"thursday",callId:e,webSearch:a.webSearch,readSkills:a.readSkills,written:!0,model:o,phone:r}),(0,y.readConfig)(g.EXA_API_KEY),(0,y.readConfig)(u.LIVE_PROVIDER.apiKeyName)]),_=s.searchTools&&Object.values(s.searchTools)[0],w={...f,...a.webSearch&&!p&&_?{[m.TOOL_NAMES.web_search]:_}:{}},R=i?b?await (0,E.acceptedReasoning)({apiKey:b,model:o.model,effort:a.reasoningEffort}):(0,E.wantedReasoning)(a.reasoningEffort):null;return{ref:o,model:s.model,system:d,tools:w,providerOptions:{openai:{...R?.effort?{reasoningEffort:R.effort}:{},...R&&"summary"in R&&R.summary?{reasoningSummary:R.summary}:{}}}}}let V="Writing to Thursday needs a GPT subscription sign-in or an OpenAI key — Settings › API keys.";e.s(["answerInWriting",0,M,"openTextCall",0,A,"readTextCallProvider",0,P]),r()}catch(e){r(e)}},!1),426455,e=>{"use strict";var t=e.i(749906),r=e.i(333925),n=e.i(938281);e.i(556325),t.object({session:t.object({id:t.string().min(1)}),transport:t.object({type:t.literal("webrtc"),sdp:t.string().min(1)})});let a=new Map;function o(e){return"none"===e?{effort:e}:{...e?{effort:e}:{},summary:"auto"}}async function i(e){let{apiKey:t,model:i,effort:s}=e,u=`${i} ${s??"auto"}`,c=a.get(u);if(void 0!==c)return c;let l=o(s);for(;;){let e=await fetch("https://api.openai.com/v1/responses/input_tokens",{method:"POST",headers:{Authorization:`Bearer ${t}`,"Content-Type":"application/json"},signal:AbortSignal.timeout(r.LIVE_CALL.reasoningCheckMs),body:JSON.stringify({model:i,input:".",reasoning:l})}).catch(()=>null);if(!e)return l;let o=Object.keys(l).length?l:null;if(e.ok)return a.set(u,o),o;let s=await e.json().catch(()=>null),c=s?.error?.param?.replace(/^reasoning\./,"");if("effort"!==c&&"summary"!==c||!(c in l))return l;if(n.logger.warn(`${i} takes no reasoning ${c}; calls omit it`),delete l[c],!Object.keys(l).length)return a.set(u,null),null}}e.s(["acceptedReasoning",0,i,"wantedReasoning",0,o])},461067,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"ReadonlyURLSearchParams",{enumerable:!0,get:function(){return a}});class n extends Error{constructor(){super("Method unavailable on `ReadonlyURLSearchParams`. Read more: https://nextjs.org/docs/app/api-reference/functions/use-search-params#updating-searchparams"),Object.defineProperty(this,"__NEXT_ERROR_CODE",{value:"E1174",enumerable:!1,configurable:!0})}}class a extends URLSearchParams{append(){throw new n}delete(){throw new n}set(){throw new n}sort(){throw new n}}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},574542,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"RedirectStatusCode",{enumerable:!0,get:function(){return a}});var n,a=((n={})[n.SeeOther=303]="SeeOther",n[n.TemporaryRedirect=307]="TemporaryRedirect",n[n.PermanentRedirect=308]="PermanentRedirect",n);("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},4166,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={REDIRECT_ERROR_CODE:function(){return i},isRedirectError:function(){return s}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let o=e.r(574542),i="NEXT_REDIRECT";function s(e){if("object"!=typeof e||null===e||!("digest"in e)||"string"!=typeof e.digest)return!1;let t=e.digest.split(";"),[r,n]=t,a=t.slice(2,-2).join(";"),s=Number(t.at(-2));return r===i&&("replace"===n||"push"===n)&&"string"==typeof a&&!isNaN(s)&&s in o.RedirectStatusCode}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},845135,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={actionAsyncStorage:function(){return o.actionAsyncStorage},workAsyncStorage:function(){return i.workAsyncStorage},workUnitAsyncStorage:function(){return s.workUnitAsyncStorage}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let o=e.r(120635),i=e.r(556704),s=e.r(832319);("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},543212,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={getRedirectError:function(){return u},getRedirectStatusCodeFromError:function(){return h},getRedirectTypeFromError:function(){return f},getURLFromRedirectError:function(){return d},permanentRedirect:function(){return l},redirect:function(){return c}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let o=e.r(574542),i=e.r(4166),s=e.r(845135);function u(e,t,r=o.RedirectStatusCode.TemporaryRedirect){let n=Object.defineProperty(Error(i.REDIRECT_ERROR_CODE),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return n.digest=`${i.REDIRECT_ERROR_CODE};${t};${e};${r};`,n}function c(e,t){throw u(e,t??=s.actionAsyncStorage?.getStore()?.isAction?"push":"replace",o.RedirectStatusCode.TemporaryRedirect)}function l(e,t="replace"){throw u(e,t,o.RedirectStatusCode.PermanentRedirect)}function d(e){return(0,i.isRedirectError)(e)?e.digest.split(";").slice(2,-2).join(";"):null}function f(e){if(!(0,i.isRedirectError)(e))throw Object.defineProperty(Error("Not a redirect error"),"__NEXT_ERROR_CODE",{value:"E260",enumerable:!1,configurable:!0});return e.digest.split(";",2)[1]}function h(e){if(!(0,i.isRedirectError)(e))throw Object.defineProperty(Error("Not a redirect error"),"__NEXT_ERROR_CODE",{value:"E260",enumerable:!1,configurable:!0});return Number(e.digest.split(";").at(-2))}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},33394,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={HTTPAccessErrorStatus:function(){return o},HTTP_ERROR_FALLBACK_ERROR_CODE:function(){return s},getAccessFallbackErrorTypeByStatus:function(){return l},getAccessFallbackHTTPStatus:function(){return c},isHTTPAccessFallbackError:function(){return u}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let o={NOT_FOUND:404,FORBIDDEN:403,UNAUTHORIZED:401},i=new Set(Object.values(o)),s="NEXT_HTTP_ERROR_FALLBACK";function u(e){if("object"!=typeof e||null===e||!("digest"in e)||"string"!=typeof e.digest)return!1;let[t,r]=e.digest.split(";");return t===s&&i.has(Number(r))}function c(e){return Number(e.digest.split(";")[1])}function l(e){switch(e){case 401:return"unauthorized";case 403:return"forbidden";case 404:return"not-found";default:return}}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},944760,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"notFound",{enumerable:!0,get:function(){return o}});let n=e.r(33394),a=`${n.HTTP_ERROR_FALLBACK_ERROR_CODE};404`;function o(){let e=Object.defineProperty(Error(a),"__NEXT_ERROR_CODE",{value:"E1041",enumerable:!1,configurable:!0});throw e.digest=a,e}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},825345,(e,t,r)=>{"use strict";function n(){throw Object.defineProperty(Error("`forbidden()` is experimental and only allowed to be enabled when `experimental.authInterrupts` is enabled."),"__NEXT_ERROR_CODE",{value:"E488",enumerable:!1,configurable:!0})}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"forbidden",{enumerable:!0,get:function(){return n}}),e.r(33394).HTTP_ERROR_FALLBACK_ERROR_CODE,("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},452616,(e,t,r)=>{"use strict";function n(){throw Object.defineProperty(Error("`unauthorized()` is experimental and only allowed to be used when `experimental.authInterrupts` is enabled."),"__NEXT_ERROR_CODE",{value:"E411",enumerable:!1,configurable:!0})}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"unauthorized",{enumerable:!0,get:function(){return n}}),e.r(33394).HTTP_ERROR_FALLBACK_ERROR_CODE,("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},585346,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"InvariantError",{enumerable:!0,get:function(){return n}});class n extends Error{constructor(e,t){super(`Invariant: ${e.endsWith(".")?e:e+"."} This is a bug in Next.js.`,t),Object.defineProperty(this,"__NEXT_ERROR_CODE",{value:"E1179",enumerable:!1,configurable:!0}),this.name="InvariantError"}}},900338,(e,t,r)=>{"use strict";function n(){let e,t,r=new Promise((r,n)=>{e=r,t=n});return{resolve:e,reject:t,promise:r}}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"createPromiseWithResolvers",{enumerable:!0,get:function(){return n}})},865832,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n,a,o={RENDER_STAGE_ADVANCE_ORDER:function(){return l},RenderStage:function(){return c},StagedRenderingController:function(){return p},SyncIOMode:function(){return h},getNextStage:function(){return d},isAdvanceableRenderStage:function(){return f}};for(var i in o)Object.defineProperty(r,i,{enumerable:!0,get:o[i]});let s=e.r(585346),u=e.r(900338);var c=((n={})[n.Before=1]="Before",n[n.ShellStatic=11]="ShellStatic",n[n.Static=13]="Static",n[n.ShellRuntime=21]="ShellRuntime",n[n.Runtime=23]="Runtime",n[n.Dynamic=30]="Dynamic",n[n.Abandoned=40]="Abandoned",n);let l=[11,13,21,23,30];function d(e){return l[l.indexOf(e)+1]}function f(e){return 1<e&&e<=30}var h=((a={})[a.Untracked=1]="Untracked",a[a.AllowedInRuntimeOrDynamic=2]="AllowedInRuntimeOrDynamic",a[a.AllowedInDynamic=3]="AllowedInDynamic",a);class p{constructor({abortSignal:e,abandonController:t,syncIO:r,finalStage:n}){this.currentStage=1,this.syncInterruptReason=null,this.triggers={11:g(),13:g(),21:g(),23:g(),30:g()},this.abortSignal=e,this.abandonController=t,this.syncIOMode=r,this.finalStage=n,e&&e.addEventListener("abort",()=>{let{reason:t}=e;for(let e of Object.values(this.triggers)){var r,n;r=e,n=t,"pending"===r.state&&(r.state="cancelled",r._listeners.length=0,r.promise.catch(m),r._rejectPromise(n))}},{once:!0}),t&&t.signal.addEventListener("abort",()=>{this.abandonRender()},{once:!0})}onStage(e,t){var r,n;r=this.triggers[e],n=t,"pending"===r.state?r._listeners.push(n):n()}shouldTrackSyncInterrupt(){if(1===this.syncIOMode)return!1;switch(this.currentStage){case 1:return!1;case 11:case 13:return!0;case 21:case 23:switch(this.syncIOMode){case 2:return!1;case 3:return!0}case 30:case 40:return!1;default:return this.currentStage,!1}}syncInterruptCurrentStageWithReason(e){let{currentStage:t}=this;if(1!==t&&30!==t&&40!==t){if(this.abandonController)return void this.abandonController.abort();if(this.abortSignal){this.syncInterruptReason=e,this.currentStage=40;return}this.syncInterruptReason=e,this.advanceStage(30)}}getSyncInterruptReason(){return this.syncInterruptReason}getStageEndTime(e){return this.triggers[d(e)].triggeredAt??1/0}abandonRender(){let{currentStage:e}=this;if(1===e)throw Object.defineProperty(new s.InvariantError("A render that hasn't started yet cannot be abandoned"),"__NEXT_ERROR_CODE",{value:"E1300",enumerable:!1,configurable:!0});if(30===e||40===e)return;let t=l.indexOf(e)+1,r=l.indexOf(30);for(let e=t;e<r;e++)this.resolveStage(l[e]);this.currentStage=40}advanceStage(e){if(null!==this.finalStage&&e>this.finalStage)throw Object.defineProperty(new s.InvariantError(`Attempted to advance to stage ${c[e]} but the render is limited to ${c[this.finalStage]}`),"__NEXT_ERROR_CODE",{value:"E1302",enumerable:!1,configurable:!0});let{currentStage:t}=this;if(30===t||40===t||e<=t)return;this.currentStage=e;let r=1===t?0:l.indexOf(t)+1,n=l.indexOf(e);for(let e=r;e<=n;e++)this.resolveStage(l[e])}resolveStage(e){var t=this.triggers[e];if("pending"===t.state){t.state="triggered",t.triggeredAt=performance.now()+performance.timeOrigin;try{let{_listeners:e}=t;for(let t=0;t<e.length;t++)e[t]();e.length=0}finally{t._resolvePromise()}}}getStagePromise(e){return this.triggers[e].promise}waitForStage(e){return this.getStagePromise(e)}delayUntilStage(e,t,r){let n=this.getStagePromise(e).then(()=>r);return this.abortSignal&&n.catch(m),n}}function m(){}function g(){let{promise:e,resolve:t,reject:r}=(0,u.createPromiseWithResolvers)();return{state:"pending",triggeredAt:null,promise:e,_listeners:[],_resolvePromise:t,_rejectPromise:r}}},756725,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={ClientHookDynamicError:function(){return l},RENDER_STAGES_BY_DATA_KIND:function(){return S},applyOwnerStack:function(){return P},isClientHookDynamicError:function(){return d},isHangingPromiseRejectionError:function(){return i},makeClientHookHangingPromise:function(){return w},makeDevtoolsIOAwarePromise:function(){return k},makeDynamicHangingPromise:function(){return h},makeFallbackParamsHangingPromise:function(){return g},makePromiseFromTrigger:function(){return O},makeRuntimeHangingPromise:function(){return m},makeStageHangingPromise:function(){return y},makeUntrackedHangingPromise:function(){return p},trackFallbackParamsAccessed:function(){return E},trackRuntimeDataAccessed:function(){return b}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let o=e.r(865832);function i(e){return"object"==typeof e&&null!==e&&"digest"in e&&e.digest===s}e.r(832319),e.r(559043);let s="HANGING_PROMISE_REJECTION";class u extends Error{constructor(e,t){super(`During prerendering, ${t} rejects when the prerender is complete. Typically these errors are handled by React but if you move ${t} to a different context by using \`setTimeout\`, \`after\`, or similar functions you may observe this error and you should handle it in that context. This occurred at route "${e}".`),this.route=e,this.expression=t,this.digest=s}}let c="CLIENT_HOOK_DYNAMIC";class l extends Error{constructor(e,t){super(`Route "${e}": Next.js encountered URL data \`${t}\` in a Client Component outside of \`<Suspense>\`.
|
|
59
61
|
|
|
60
62
|
This blocks prerendering because the value is only available at runtime.
|
|
61
63
|
|
|
@@ -63,7 +65,7 @@ Ways to fix this:
|
|
|
63
65
|
- [stream] Wrap the component in \`<Suspense fallback={...}>\` so the hook value streams in after prerendering
|
|
64
66
|
- [block] Set \`export const instant = false\` to allow a blocking route
|
|
65
67
|
|
|
66
|
-
Learn more: https://nextjs.org/docs/messages/blocking-prerender-client-hook`),this.digest=c,Object.defineProperty(this,"__NEXT_ERROR_CODE",{value:"E1433",enumerable:!1,configurable:!0})}}function d(e){return"object"==typeof e&&null!==e&&"digest"in e&&e.digest===c}let f=new WeakMap;function h(e,t,r){return R(e,new u(t,r))}function p(e,t,r){return R(e,new u(t,r))}function m(e,t,r,n){return null!==n&&b(n),R(e,new u(t,r))}function g(e,t,r,n){return null!==n&&E(n),R(e,new u(t,r))}function y(e,t,r,n){return b(n),R(e,new u(t,r))}function b(e){_(e,!1)}function E(e){_(e,!0)}function _(e,t){if("prerender"===e.type){var r;null==(r=e.runtimeDataAccessed)||r.resolve(!0);let n=e.shouldAttemptStaticPrefetch;null===n||t&&e.isFallbackUpgradeable||(n.current=!1)}}function w(e,t){return R(e,t)}function R(e,t){if(e.aborted)return Promise.reject(t);{let r=new Promise((r,n)=>{let a=n.bind(null,t),o=f.get(e);if(o)o.push(a);else{let t=[a];f.set(e,t),e.addEventListener("abort",()=>{for(let e=0;e<t.length;e++)t[e]()},{once:!0})}});return r.catch(v),r}}function v(){}function O(e,t){let r=e.then(()=>t);return r.catch(v),r}function
|
|
68
|
+
Learn more: https://nextjs.org/docs/messages/blocking-prerender-client-hook`),this.digest=c,Object.defineProperty(this,"__NEXT_ERROR_CODE",{value:"E1433",enumerable:!1,configurable:!0})}}function d(e){return"object"==typeof e&&null!==e&&"digest"in e&&e.digest===c}let f=new WeakMap;function h(e,t,r){return R(e,new u(t,r))}function p(e,t,r){return R(e,new u(t,r))}function m(e,t,r,n){return null!==n&&b(n),R(e,new u(t,r))}function g(e,t,r,n){return null!==n&&E(n),R(e,new u(t,r))}function y(e,t,r,n){return b(n),R(e,new u(t,r))}function b(e){_(e,!1)}function E(e){_(e,!0)}function _(e,t){if("prerender"===e.type){var r;null==(r=e.runtimeDataAccessed)||r.resolve(!0);let n=e.shouldAttemptStaticPrefetch;null===n||t&&e.isFallbackUpgradeable||(n.current=!1)}}function w(e,t){return R(e,t)}function R(e,t){if(e.aborted)return Promise.reject(t);{let r=new Promise((r,n)=>{let a=n.bind(null,t),o=f.get(e);if(o)o.push(a);else{let t=[a];f.set(e,t),e.addEventListener("abort",()=>{for(let e=0;e<t.length;e++)t[e]()},{once:!0})}});return r.catch(v),r}}function v(){}function O(e,t){let r=e.then(()=>t);return r.catch(v),r}function k(e,t,r){return t.stagedRendering?t.stagedRendering.delayUntilStage(r,void 0,e):new Promise(t=>{setTimeout(()=>{t(e)},0)})}let S={sessionData:o.RenderStage.ShellRuntime,staticLinkData:o.RenderStage.Static,runtimeLinkData:o.RenderStage.Runtime};function P(e){return e}},24380,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"isPostpone",{enumerable:!0,get:function(){return a}});let n=Symbol.for("react.postpone");function a(e){return"object"==typeof e&&null!==e&&e.$$typeof===n}},107703,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={BailoutToCSRError:function(){return i},isBailoutToCSRError:function(){return s}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let o="BAILOUT_TO_CLIENT_SIDE_RENDERING";class i extends Error{constructor(e){super(`Bail out to client-side rendering: ${e}`),this.reason=e,this.digest=o}}function s(e){return"object"==typeof e&&null!==e&&"digest"in e&&e.digest===o}},555134,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"isNextRouterError",{enumerable:!0,get:function(){return o}});let n=e.r(33394),a=e.r(4166);function o(e){return(0,a.isRedirectError)(e)||(0,n.isHTTPAccessFallbackError)(e)}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},307450,(e,t,r)=>{"use strict";t.exports=e.r(918622)},910931,(e,t,r)=>{"use strict";t.exports=e.r(307450).vendored["react-rsc"].React},243727,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={DynamicServerError:function(){return i},isDynamicServerError:function(){return s}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let o="DYNAMIC_SERVER_USAGE";class i extends Error{constructor(e){super(`Dynamic server usage: ${e}`),this.description=e,this.digest=o}}function s(e){return"object"==typeof e&&null!==e&&"digest"in e&&"string"==typeof e.digest&&e.digest===o}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},183589,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={StaticGenBailoutError:function(){return i},isStaticGenBailoutError:function(){return s}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let o="NEXT_STATIC_GEN_BAILOUT";class i extends Error{constructor(...e){super(...e),this.code=o}}function s(e){return"object"==typeof e&&null!==e&&"code"in e&&e.code===o}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},534103,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={METADATA_BOUNDARY_NAME:function(){return o},OUTLET_BOUNDARY_NAME:function(){return s},ROOT_LAYOUT_BOUNDARY_NAME:function(){return u},VIEWPORT_BOUNDARY_NAME:function(){return i}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let o="__next_metadata_boundary__",i="__next_viewport_boundary__",s="__next_outlet_boundary__",u="__next_root_layout_boundary__"},609975,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={atLeastOneTask:function(){return s},scheduleImmediate:function(){return i},scheduleOnNextTick:function(){return o},waitAtLeastOneReactRenderTask:function(){return u}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let o=e=>{Promise.resolve().then(()=>{process.nextTick(e)})},i=e=>{setImmediate(e)};function s(){return new Promise(e=>i(e))}function u(){return new Promise(e=>setImmediate(e))}},811525,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={createDynamicBodyError:function(){return i},createDynamicBodyErrorInNavigation:function(){return c},createDynamicMetadataError:function(){return h},createDynamicOrRuntimeBodyError:function(){return l},createDynamicOrRuntimeMetadataError:function(){return b},createDynamicOrRuntimeViewportError:function(){return y},createDynamicViewportError:function(){return g},createLinkBodyErrorInNavigation:function(){return u},createLinkMetadataError:function(){return d},createLinkViewportError:function(){return p},createRuntimeBodyError:function(){return o},createRuntimeBodyErrorInNavigation:function(){return s},createRuntimeMetadataError:function(){return f},createRuntimeViewportError:function(){return m},logBuildDebugHint:function(){return E}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});function o(e){return Object.defineProperty(Error(`Route "${e}": Next.js encountered runtime data during prerendering.
|
|
67
69
|
|
|
68
70
|
\`cookies()\`, \`headers()\`, \`params\`, or \`searchParams\` accessed outside of \`<Suspense>\` prevents the route from being prerendered, blocking the page load and leading to a slower user experience.
|
|
69
71
|
|
|
@@ -202,7 +204,7 @@ Ways to fix this:
|
|
|
202
204
|
- [disable] Remove \`prefetch={true}\` from the <Link> to use the default prefetch
|
|
203
205
|
- [ignore] Set \`export const instant = false\` to opt the route out of instant-navigation validation
|
|
204
206
|
|
|
205
|
-
Learn more: https://nextjs.org/docs/messages/instant-link-prefetch-partial`),"__NEXT_ERROR_CODE",{value:"E1435",enumerable:!1,configurable:!0})}},258200,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n,a,o,i={DynamicHoleKind:function(){return eo},Postpone:function(){return N},PreludeState:function(){return ef},abortAndThrowOnSynchronousRequestDataAccess:function(){return x},abortOnSynchronousPlatformIOAccess:function(){return A},accessedDynamicData:function(){return W},annotateDynamicAccess:function(){return K},consumeDynamicAccess:function(){return X},createDynamicTrackingState:function(){return v},createDynamicValidationState:function(){return O},createHangingInputAbortSignal:function(){return F},createInstantValidationState:function(){return ei},createRenderInBrowserAbortSignal:function(){return H},formatDynamicAPIAccesses:function(){return V},getFirstDynamicReason:function(){return
|
|
206
|
-
${t}`))}function H(){let e=new AbortController;return e.abort(Object.defineProperty(new g.BailoutToCSRError("Render in Browser"),"__NEXT_ERROR_CODE",{value:"E721",enumerable:!1,configurable:!0})),e.signal}function F(e){switch(e.type){case"prerender":case"prerender-runtime":let t=new AbortController;if(e.cacheSignal)e.cacheSignal.inputReady().then(()=>{t.abort()});else{let r=(0,d.getStagedRenderingController)(e);r&&null!==r.finalStage?r.waitForStage(r.finalStage).then(()=>(0,m.scheduleOnNextTick)(()=>t.abort()),q):(0,m.scheduleOnNextTick)(()=>t.abort())}return t.signal;case"prerender-client":case"validation-client":case"prerender-ppr":case"prerender-legacy":case"request":case"cache":case"private-cache":case"unstable-cache":case"generate-static-params":return}}function q(){}function K(e,t){let r=t.dynamicTracking;r&&r.dynamicAccesses.push({stack:r.isDebugDynamicAccesses?Error().stack:void 0,expression:e})}function Y(e){let t=f.workAsyncStorage.getStore(),r=d.workUnitAsyncStorage.getStore();if(t&&r)switch(r.type){case"prerender-client":{let n=r.fallbackRouteParams;n&&n.size>0&&u.default.use((0,h.makeClientHookHangingPromise)(r.renderSignal,new h.ClientHookDynamicError(t.route,e)));break}case"prerender":throw Object.defineProperty(new b.InvariantError(`\`${e}\` was called from a Server Component. Next.js should be preventing ${e} from being included in server components statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E795",enumerable:!1,configurable:!0});case"prerender-ppr":{let n=r.fallbackRouteParams;if(n&&n.size>0)return M(t.route,e,r.dynamicTracking);break}case"validation-client":case"prerender-legacy":case"request":case"unstable-cache":break;case"prerender-runtime":throw Object.defineProperty(new b.InvariantError(`\`${e}\` was called during a runtime prerender. Next.js should be preventing ${e} from being included in server components statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E771",enumerable:!1,configurable:!0});case"cache":case"private-cache":throw Object.defineProperty(new b.InvariantError(`\`${e}\` was called inside a cache scope. Next.js should be preventing ${e} from being included in server components statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E745",enumerable:!1,configurable:!0});case"generate-static-params":throw Object.defineProperty(new b.InvariantError(`\`${e}\` was called in \`generateStaticParams\`. Next.js should be preventing ${e} from being included in server component files statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E1130",enumerable:!1,configurable:!0})}}function G(e){let t=f.workAsyncStorage.getStore(),r=d.workUnitAsyncStorage.getStore();if(t)switch(!r&&(0,d.throwForMissingRequestStore)(e),r.type){case"validation-client":case"request":return;case"prerender-client":u.default.use((0,h.makeClientHookHangingPromise)(r.renderSignal,new h.ClientHookDynamicError(t.route,e)));break;case"prerender-legacy":case"prerender-ppr":if(t.forceStatic)return;throw Object.defineProperty(new g.BailoutToCSRError(e),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});case"prerender":case"prerender-runtime":throw Object.defineProperty(new b.InvariantError(`\`${e}\` was called from a Server Component. Next.js should be preventing ${e} from being included in server components statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E795",enumerable:!1,configurable:!0});case"cache":case"unstable-cache":case"private-cache":throw Object.defineProperty(new b.InvariantError(`\`${e}\` was called inside a cache scope. Next.js should be preventing ${e} from being included in server components statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E745",enumerable:!1,configurable:!0});case"generate-static-params":throw Object.defineProperty(new b.InvariantError(`\`${e}\` was called in \`generateStaticParams\`. Next.js should be preventing ${e} from being included in server component files statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E1130",enumerable:!1,configurable:!0})}}let z=/\n\s+at Suspense \(<anonymous>\)/,J=RegExp(`\\n\\s+at Suspense \\(<anonymous>\\)(?:(?!\\n\\s+at (?:body|div|main|section|article|aside|header|footer|nav|form|p|span|h1|h2|h3|h4|h5|h6) \\(<anonymous>\\))[\\s\\S])*?\\n\\s+at ${p.ROOT_LAYOUT_BOUNDARY_NAME} \\([^\\n]*\\)`),Z=RegExp(`\\n\\s+at ${p.METADATA_BOUNDARY_NAME}[\\n\\s]`),Q=RegExp(`\\n\\s+at ${p.VIEWPORT_BOUNDARY_NAME}[\\n\\s]`),ee=RegExp(`\\n\\s+at ${p.OUTLET_BOUNDARY_NAME}[\\n\\s]`),et=RegExp(`\\n\\s+at ${E.INSTANT_VALIDATION_BOUNDARY_NAME}[\\n\\s]`),er=RegExp(`\\n\\s+at ${E.INSTANT_SLOT_MARKER_PREFIX}(\\d+)${E.INSTANT_SLOT_MARKER_SUFFIX}[\\n\\s]`);function en(e,t){J.test(e)&&(t.hasSuspenseAboveBody=!0)}function ea(e,t,r,n,a){let o=S(a);if(ee.test(r))return void en(r,n);if(Z.test(r)){n.hasDynamicMetadata=!0;return}if(Q.test(r)){n.hasDynamicViewport=!0;return}if(J.test(r)){n.hasAllowedDynamic=!0,n.hasSuspenseAboveBody=!0;return}if(z.test(r)){n.hasAllowedDynamic=!0;return}else if(o)return void n.dynamicErrors.push(o);if((0,h.isClientHookDynamicError)(e))return void n.dynamicErrors.push(ed(e,r,null));let i=ed((0,y.createDynamicOrRuntimeBodyError)(t.route),r,null);n.dynamicErrors.push(i)}var eo=((a={})[a.Link=1]="Link",a[a.Runtime=2]="Runtime",a[a.Dynamic=3]="Dynamic",a);function ei(e){return{hasDynamicMetadata:!1,hasAllowedClientDynamicAboveBoundary:!1,dynamicMetadata:null,hasDynamicViewport:!1,hasAllowedDynamic:!1,dynamicErrors:[],validationPreventingErrors:[],thrownErrorsOutsideBoundary:[],slotStacks:e}}function es(e,t,r,n,a,o,i){let s=S(a);if(ee.test(r))return;let u=function(e,t){let{slotStacks:r}=t;if(r.length>1){let t=er.exec(e);if(t){let e=r[parseInt(t[1],10)+1];if(null!=e)return e}}return r[0]??null}(r,n);if(Z.test(r)){n.dynamicMetadata=ed(1===o?(0,y.createLinkMetadataError)(t.route):2===o?(0,y.createRuntimeMetadataError)(t.route):(0,y.createDynamicMetadataError)(t.route),r,u);return}if(Q.test(r)){let e=ed(1===o?(0,y.createLinkViewportError)(t.route):2===o?(0,y.createRuntimeViewportError)(t.route):(0,y.createDynamicViewportError)(t.route),r,u);n.dynamicErrors.push(e);return}let c=et.exec(r);if(c){let e=z.exec(r);if(e&&e.index<c.index){n.hasAllowedDynamic=!0;return}}else if((0,_.allRequiredBoundariesRendered)(i)){n.hasAllowedClientDynamicAboveBoundary=!0,n.hasAllowedDynamic=!0;return}else{let e=ed(Object.defineProperty(Error(`Route "${t.route}": Could not validate \`instant\` because a Client Component in a parent segment prevented the page from rendering.`),"__NEXT_ERROR_CODE",{value:"E1331",enumerable:!1,configurable:!0}),r,u);n.validationPreventingErrors.push(e);return}if(s){null!==u&&void 0===s.cause&&(s.cause=u()),n.dynamicErrors.push(s);return}if((0,h.isClientHookDynamicError)(e))return void n.dynamicErrors.push(ed(e,r,u));let l=ed(1===o?(0,y.createLinkBodyErrorInNavigation)(t.route):2===o?(0,y.createRuntimeBodyErrorInNavigation)(t.route):(0,y.createDynamicBodyErrorInNavigation)(t.route),r,u);n.dynamicErrors.push(l)}function eu(e,t,r,n){let a=et.exec(n);if(a){let o=z.exec(n);if(o&&o.index<a.index)return;let i=ed(Object.defineProperty(Error(`Route "${e.route}": Could not validate \`instant\` because an error prevented the target segment from rendering.`,{cause:r}),"__NEXT_ERROR_CODE",{value:"E1338",enumerable:!1,configurable:!0}),n,null);t.validationPreventingErrors.push(i)}else{let e=ed(Object.defineProperty(Error("An error occurred while attempting to validate instant UI. This error may be preventing the validation from completing.",{cause:r}),"__NEXT_ERROR_CODE",{value:"E1118",enumerable:!1,configurable:!0}),n,null);t.thrownErrorsOutsideBoundary.push(e)}}function ec(e,t,r,n,a){let o=S(a);if(ee.test(r))return void en(r,n);if(Z.test(r)){n.dynamicMetadata=ed((0,y.createDynamicMetadataError)(t.route),r,null);return}if(Q.test(r)){let e=ed((0,y.createDynamicViewportError)(t.route),r,null);n.dynamicErrors.push(e);return}if(J.test(r)){n.hasAllowedDynamic=!0,n.hasSuspenseAboveBody=!0;return}if(z.test(r)){n.hasAllowedDynamic=!0;return}else if(o)return void n.dynamicErrors.push(o);if((0,h.isClientHookDynamicError)(e))return void n.dynamicErrors.push(ed(e,r,null));let i=ed((0,y.createDynamicBodyError)(t.route),r,null);n.dynamicErrors.push(i)}function el(e,t,r,n,a){let o=S(a);if(ee.test(r))return void en(r,n);if(Z.test(r)){n.dynamicMetadata=ed((0,y.createRuntimeMetadataError)(t.route),r,null);return}if(Q.test(r)){let e=ed((0,y.createRuntimeViewportError)(t.route),r,null);n.dynamicErrors.push(e);return}if(J.test(r)){n.hasAllowedDynamic=!0,n.hasSuspenseAboveBody=!0;return}if(z.test(r)){n.hasAllowedDynamic=!0;return}else if(o)return void n.dynamicErrors.push(o);if((0,h.isClientHookDynamicError)(e))return void n.dynamicErrors.push(ed(e,r,null));let i=ed((0,y.createRuntimeBodyError)(t.route),r,null);n.dynamicErrors.push(i)}function ed(e,t,r){return null!==r&&(e.cause=r()),e.stack=e.name+": "+e.message+t,e}var ef=((o={})[o.Full=0]="Full",o[o.Empty=1]="Empty",o[o.Errored=2]="Errored",o);function eh(e,t){console.error(t),(0,y.logBuildDebugHint)(e.route)}function ep(e,t){if(t.syncDynamicErrorWithStack)throw eh(e,t.syncDynamicErrorWithStack),new l.StaticGenBailoutError}function em(e,t,r,n,a){if(ep(e,n),0===t&&!1===r.hasAllowedDynamic&&r.hasDynamicMetadata)throw console.error((0,y.createDynamicOrRuntimeMetadataError)(e.route).message),new l.StaticGenBailoutError;if(!a&&!r.hasSuspenseAboveBody&&0!==t){let n=r.dynamicErrors;if(n.length>0){for(let t=0;t<n.length;t++)eh(e,n[t]);throw new l.StaticGenBailoutError}if(r.hasDynamicViewport)throw console.error((0,y.createDynamicOrRuntimeViewportError)(e.route).message),new l.StaticGenBailoutError;if(1===t)throw console.error(`Route "${e.route}" did not produce a static shell and Next.js was unable to determine a reason. This is a bug in Next.js.`),new l.StaticGenBailoutError}}function eg(e,t,r,n){if(0===t&&!1===r.hasAllowedDynamic&&0===r.dynamicErrors.length&&r.dynamicMetadata)return[r.dynamicMetadata];if(n||r.hasSuspenseAboveBody)return[];if(0!==t){let n=r.dynamicErrors;if(n.length>0)return n;if(1===t)return[Object.defineProperty(new b.InvariantError(`Route "${e.route}" did not produce a static shell and Next.js was unable to determine a reason.`),"__NEXT_ERROR_CODE",{value:"E936",enumerable:!1,configurable:!0})]}return[]}function ey(e,t,r,n,a,o){if(n){let{missingSampleErrors:e}=n;if(e.length>0)return e}let{validationPreventingErrors:i}=r;if(i.length>0)return i;if(0!==t){let n=r.dynamicErrors;if(n.length>0)return n;if(1===t&&!r.hasAllowedClientDynamicAboveBoundary&&(0,_.allRequiredBoundariesRendered)(a))return Object.defineProperty(new b.InvariantError(`Route "${e.route}" failed to render during instant validation and Next.js was unable to determine a reason.`),"__NEXT_ERROR_CODE",{value:"E1055",enumerable:!1,configurable:!0})}else{let e=r.dynamicErrors;if(e.length>0)return e;if(!1===r.hasAllowedDynamic&&r.dynamicMetadata)return[r.dynamicMetadata]}if(!(0,_.allRequiredBoundariesRendered)(a)){let{thrownErrorsOutsideBoundary:t}=r,n=r.slotStacks[0];if(0===t.length){let t=[];for(let[e,r]of a.requiredIds)if(!a.renderedIds.has(e))for(let e of r){let r=e.replace(/^\[project\][\\/]?/,"").replace(process.cwd()+"/","").replace(process.cwd()+"\\","");t.push(r)}return t.sort(),(0,w.createUnrenderedSegmentError)(e.route,t)}if(1===t.length){let r=`Route "${e.route}": Could not validate \`instant\` because the target segment was prevented from rendering, likely due to the following error.`,a=null!==n?n():Error();return a.name="Error",a.message=r,AggregateError([a,t[0]])}{let r=`Route "${e.route}": Could not validate \`instant\` because the target segment was prevented from rendering, likely due to one of the following errors.`,a=null!==n?n():Error();return a.name="Error",a.message=r,AggregateError([a,...t])}}return[]}},725478,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"unstable_rethrow",{enumerable:!0,get:function(){return function e(t){if((0,i.isNextRouterError)(t)||(0,o.isBailoutToCSRError)(t)||(0,u.isDynamicServerError)(t)||(0,s.isDynamicPostpone)(t)||(0,a.isPostpone)(t)||(0,n.isHangingPromiseRejectionError)(t)||(0,s.isPrerenderInterruptedError)(t))throw t;t instanceof Error&&"cause"in t&&e(t.cause)}}});let n=e.r(756725),a=e.r(24380),o=e.r(107703),i=e.r(555134),s=e.r(258200),u=e.r(243727);("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},66389,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={ReadonlyURLSearchParams:function(){return o.ReadonlyURLSearchParams},RedirectType:function(){return f},forbidden:function(){return u.forbidden},notFound:function(){return s.notFound},permanentRedirect:function(){return i.permanentRedirect},redirect:function(){return i.redirect},unauthorized:function(){return c.unauthorized},unstable_isUnrecognizedActionError:function(){return d},unstable_rethrow:function(){return l.unstable_rethrow}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let o=e.r(461067),i=e.r(543212),s=e.r(944760),u=e.r(825345),c=e.r(452616),l=e.r(725478);function d(){throw Object.defineProperty(Error("`unstable_isUnrecognizedActionError` can only be used on the client."),"__NEXT_ERROR_CODE",{value:"E776",enumerable:!1,configurable:!0})}let f={push:"push",replace:"replace"};("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},825184,e=>{"use strict";e.i(66389),e.i(938281),e.s([],825184)}];
|
|
207
|
+
Learn more: https://nextjs.org/docs/messages/instant-link-prefetch-partial`),"__NEXT_ERROR_CODE",{value:"E1435",enumerable:!1,configurable:!0})}},258200,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n,a,o,i={DynamicHoleKind:function(){return eo},Postpone:function(){return N},PreludeState:function(){return ef},abortAndThrowOnSynchronousRequestDataAccess:function(){return x},abortOnSynchronousPlatformIOAccess:function(){return A},accessedDynamicData:function(){return W},annotateDynamicAccess:function(){return K},consumeDynamicAccess:function(){return X},createDynamicTrackingState:function(){return v},createDynamicValidationState:function(){return O},createHangingInputAbortSignal:function(){return F},createInstantValidationState:function(){return ei},createRenderInBrowserAbortSignal:function(){return H},formatDynamicAPIAccesses:function(){return V},getFirstDynamicReason:function(){return S},getNavigationDisallowedDynamicReasons:function(){return ey},getStaticShellDisallowedDynamicReasons:function(){return eg},isDynamicPostpone:function(){return $},isPrerenderInterruptedError:function(){return B},logDisallowedDynamicError:function(){return eh},markCurrentScopeAsDynamic:function(){return P},postponeWithTracking:function(){return M},throwIfDisallowedDynamic:function(){return em},throwIfSyncIOUsed:function(){return ep},throwToInterruptStaticGeneration:function(){return T},trackAllowedDynamicAccess:function(){return ea},trackDynamicDataInDynamicRender:function(){return j},trackDynamicHoleInNavigation:function(){return es},trackDynamicHoleInRuntimeShell:function(){return ec},trackDynamicHoleInStaticShell:function(){return el},trackThrownErrorInNavigation:function(){return eu},useDynamicRouteParams:function(){return Y},useDynamicSearchParams:function(){return G}};for(var s in i)Object.defineProperty(r,s,{enumerable:!0,get:i[s]});let u=(n=e.r(910931))&&n.__esModule?n:{default:n},c=e.r(243727),l=e.r(183589),d=e.r(832319),f=e.r(556704),h=e.r(756725),p=e.r(534103),m=e.r(609975),g=e.r(107703),y=e.r(811525),b=e.r(585346),E=e.r(100204),_=e.r(199776),w=e.r(47076),R="function"==typeof u.default.unstable_postpone;function v(e){return{isDebugDynamicAccesses:e,dynamicAccesses:[],syncDynamicErrorWithStack:null,syncDynamicErrorWithStackPostMicrotask:!1}}function O(){return{hasSuspenseAboveBody:!1,hasDynamicMetadata:!1,dynamicMetadata:null,hasDynamicViewport:!1,hasAllowedDynamic:!1,dynamicErrors:[]}}function k(e){return e.syncDynamicErrorWithStackPostMicrotask?null:e.syncDynamicErrorWithStack}function S(e){var t;return null==(t=e.dynamicAccesses[0])?void 0:t.expression}function P(e,t,r){if(t)switch(t.type){case"cache":case"unstable-cache":case"private-cache":return}if(!e.forceDynamic&&!e.forceStatic){if(e.dynamicShouldError)throw Object.defineProperty(new l.StaticGenBailoutError(`Route ${e.route} with \`dynamic = "error"\` couldn't be rendered statically because it used \`${r}\`. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`),"__NEXT_ERROR_CODE",{value:"E553",enumerable:!1,configurable:!0});if(t)switch(t.type){case"prerender-ppr":return M(e.route,r,t.dynamicTracking);case"prerender-legacy":t.revalidate=0;let n=Object.defineProperty(new c.DynamicServerError(`Route ${e.route} couldn't be rendered statically because it used ${r}. See more info here: https://nextjs.org/docs/messages/dynamic-server-error`),"__NEXT_ERROR_CODE",{value:"E550",enumerable:!1,configurable:!0});throw e.dynamicUsageDescription=r,e.dynamicUsageStack=n.stack,n}}}function T(e,t,r){let n=Object.defineProperty(new c.DynamicServerError(`Route ${t.route} couldn't be rendered statically because it used \`${e}\`. See more info here: https://nextjs.org/docs/messages/dynamic-server-error`),"__NEXT_ERROR_CODE",{value:"E558",enumerable:!1,configurable:!0});throw r.revalidate=0,t.dynamicUsageDescription=e,t.dynamicUsageStack=n.stack,n}function j(e){switch(e.type){case"cache":case"unstable-cache":case"private-cache":return}}function D(e,t,r){let n=U(`Route ${e} needs to bail out of prerendering at this point because it used ${t}.`);r.controller.abort(n);let a=r.dynamicTracking;a&&a.dynamicAccesses.push({stack:a.isDebugDynamicAccesses?Error().stack:void 0,expression:t})}function A(e,t,r,n){let a=n.dynamicTracking;a&&null===a.syncDynamicErrorWithStack&&(a.syncDynamicErrorWithStack=r,queueMicrotask(()=>{a.syncDynamicErrorWithStackPostMicrotask=!0})),D(e,t,n)}function x(e,t,r,n){if((0,h.trackRuntimeDataAccessed)(n),!1===n.controller.signal.aborted){D(e,t,n);let a=n.dynamicTracking;a&&null===a.syncDynamicErrorWithStack&&(a.syncDynamicErrorWithStack=r)}throw U(`Route ${e} needs to bail out of prerendering at this point because it used ${t}.`)}function N({reason:e,route:t}){let r=d.workUnitAsyncStorage.getStore();M(t,e,r&&"prerender-ppr"===r.type?r.dynamicTracking:null)}function M(e,t,r){(function(){if(!R)throw Object.defineProperty(Error("Invariant: React.unstable_postpone is not defined. This suggests the wrong version of React was loaded. This is a bug in Next.js"),"__NEXT_ERROR_CODE",{value:"E224",enumerable:!1,configurable:!0})})(),r&&r.dynamicAccesses.push({stack:r.isDebugDynamicAccesses?Error().stack:void 0,expression:t}),u.default.unstable_postpone(C(e,t))}function C(e,t){return`Route ${e} needs to bail out of prerendering at this point because it used ${t}. React throws this special object to indicate where. It should not be caught by your own try/catch. Learn more: https://nextjs.org/docs/messages/ppr-caught-error`}function $(e){return"object"==typeof e&&null!==e&&"string"==typeof e.message&&I(e.message)}function I(e){return e.includes("needs to bail out of prerendering at this point because it used")&&e.includes("Learn more: https://nextjs.org/docs/messages/ppr-caught-error")}if(!1===I(C("%%%","^^^")))throw Object.defineProperty(Error("Invariant: isDynamicPostpone misidentified a postpone reason. This is a bug in Next.js"),"__NEXT_ERROR_CODE",{value:"E296",enumerable:!1,configurable:!0});let L="NEXT_PRERENDER_INTERRUPTED";function U(e){let t=Object.defineProperty(Error(e),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return t.digest=L,t}function B(e){return"object"==typeof e&&null!==e&&e.digest===L&&"name"in e&&"message"in e&&e instanceof Error}function W(e){return e.length>0}function X(e,t){return e.dynamicAccesses.push(...t.dynamicAccesses),e.dynamicAccesses}function V(e){return e.filter(e=>"string"==typeof e.stack&&e.stack.length>0).map(({expression:e,stack:t})=>(t=t.split("\n").slice(4).filter(e=>!(e.includes("node_modules/next/")||e.includes(" (<anonymous>)")||e.includes(" (node:"))).join("\n"),`Dynamic API Usage Debug - ${e}:
|
|
208
|
+
${t}`))}function H(){let e=new AbortController;return e.abort(Object.defineProperty(new g.BailoutToCSRError("Render in Browser"),"__NEXT_ERROR_CODE",{value:"E721",enumerable:!1,configurable:!0})),e.signal}function F(e){switch(e.type){case"prerender":case"prerender-runtime":let t=new AbortController;if(e.cacheSignal)e.cacheSignal.inputReady().then(()=>{t.abort()});else{let r=(0,d.getStagedRenderingController)(e);r&&null!==r.finalStage?r.waitForStage(r.finalStage).then(()=>(0,m.scheduleOnNextTick)(()=>t.abort()),q):(0,m.scheduleOnNextTick)(()=>t.abort())}return t.signal;case"prerender-client":case"validation-client":case"prerender-ppr":case"prerender-legacy":case"request":case"cache":case"private-cache":case"unstable-cache":case"generate-static-params":return}}function q(){}function K(e,t){let r=t.dynamicTracking;r&&r.dynamicAccesses.push({stack:r.isDebugDynamicAccesses?Error().stack:void 0,expression:e})}function Y(e){let t=f.workAsyncStorage.getStore(),r=d.workUnitAsyncStorage.getStore();if(t&&r)switch(r.type){case"prerender-client":{let n=r.fallbackRouteParams;n&&n.size>0&&u.default.use((0,h.makeClientHookHangingPromise)(r.renderSignal,new h.ClientHookDynamicError(t.route,e)));break}case"prerender":throw Object.defineProperty(new b.InvariantError(`\`${e}\` was called from a Server Component. Next.js should be preventing ${e} from being included in server components statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E795",enumerable:!1,configurable:!0});case"prerender-ppr":{let n=r.fallbackRouteParams;if(n&&n.size>0)return M(t.route,e,r.dynamicTracking);break}case"validation-client":case"prerender-legacy":case"request":case"unstable-cache":break;case"prerender-runtime":throw Object.defineProperty(new b.InvariantError(`\`${e}\` was called during a runtime prerender. Next.js should be preventing ${e} from being included in server components statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E771",enumerable:!1,configurable:!0});case"cache":case"private-cache":throw Object.defineProperty(new b.InvariantError(`\`${e}\` was called inside a cache scope. Next.js should be preventing ${e} from being included in server components statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E745",enumerable:!1,configurable:!0});case"generate-static-params":throw Object.defineProperty(new b.InvariantError(`\`${e}\` was called in \`generateStaticParams\`. Next.js should be preventing ${e} from being included in server component files statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E1130",enumerable:!1,configurable:!0})}}function G(e){let t=f.workAsyncStorage.getStore(),r=d.workUnitAsyncStorage.getStore();if(t)switch(!r&&(0,d.throwForMissingRequestStore)(e),r.type){case"validation-client":case"request":return;case"prerender-client":u.default.use((0,h.makeClientHookHangingPromise)(r.renderSignal,new h.ClientHookDynamicError(t.route,e)));break;case"prerender-legacy":case"prerender-ppr":if(t.forceStatic)return;throw Object.defineProperty(new g.BailoutToCSRError(e),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});case"prerender":case"prerender-runtime":throw Object.defineProperty(new b.InvariantError(`\`${e}\` was called from a Server Component. Next.js should be preventing ${e} from being included in server components statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E795",enumerable:!1,configurable:!0});case"cache":case"unstable-cache":case"private-cache":throw Object.defineProperty(new b.InvariantError(`\`${e}\` was called inside a cache scope. Next.js should be preventing ${e} from being included in server components statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E745",enumerable:!1,configurable:!0});case"generate-static-params":throw Object.defineProperty(new b.InvariantError(`\`${e}\` was called in \`generateStaticParams\`. Next.js should be preventing ${e} from being included in server component files statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E1130",enumerable:!1,configurable:!0})}}let z=/\n\s+at Suspense \(<anonymous>\)/,J=RegExp(`\\n\\s+at Suspense \\(<anonymous>\\)(?:(?!\\n\\s+at (?:body|div|main|section|article|aside|header|footer|nav|form|p|span|h1|h2|h3|h4|h5|h6) \\(<anonymous>\\))[\\s\\S])*?\\n\\s+at ${p.ROOT_LAYOUT_BOUNDARY_NAME} \\([^\\n]*\\)`),Z=RegExp(`\\n\\s+at ${p.METADATA_BOUNDARY_NAME}[\\n\\s]`),Q=RegExp(`\\n\\s+at ${p.VIEWPORT_BOUNDARY_NAME}[\\n\\s]`),ee=RegExp(`\\n\\s+at ${p.OUTLET_BOUNDARY_NAME}[\\n\\s]`),et=RegExp(`\\n\\s+at ${E.INSTANT_VALIDATION_BOUNDARY_NAME}[\\n\\s]`),er=RegExp(`\\n\\s+at ${E.INSTANT_SLOT_MARKER_PREFIX}(\\d+)${E.INSTANT_SLOT_MARKER_SUFFIX}[\\n\\s]`);function en(e,t){J.test(e)&&(t.hasSuspenseAboveBody=!0)}function ea(e,t,r,n,a){let o=k(a);if(ee.test(r))return void en(r,n);if(Z.test(r)){n.hasDynamicMetadata=!0;return}if(Q.test(r)){n.hasDynamicViewport=!0;return}if(J.test(r)){n.hasAllowedDynamic=!0,n.hasSuspenseAboveBody=!0;return}if(z.test(r)){n.hasAllowedDynamic=!0;return}else if(o)return void n.dynamicErrors.push(o);if((0,h.isClientHookDynamicError)(e))return void n.dynamicErrors.push(ed(e,r,null));let i=ed((0,y.createDynamicOrRuntimeBodyError)(t.route),r,null);n.dynamicErrors.push(i)}var eo=((a={})[a.Link=1]="Link",a[a.Runtime=2]="Runtime",a[a.Dynamic=3]="Dynamic",a);function ei(e){return{hasDynamicMetadata:!1,hasAllowedClientDynamicAboveBoundary:!1,dynamicMetadata:null,hasDynamicViewport:!1,hasAllowedDynamic:!1,dynamicErrors:[],validationPreventingErrors:[],thrownErrorsOutsideBoundary:[],slotStacks:e}}function es(e,t,r,n,a,o,i){let s=k(a);if(ee.test(r))return;let u=function(e,t){let{slotStacks:r}=t;if(r.length>1){let t=er.exec(e);if(t){let e=r[parseInt(t[1],10)+1];if(null!=e)return e}}return r[0]??null}(r,n);if(Z.test(r)){n.dynamicMetadata=ed(1===o?(0,y.createLinkMetadataError)(t.route):2===o?(0,y.createRuntimeMetadataError)(t.route):(0,y.createDynamicMetadataError)(t.route),r,u);return}if(Q.test(r)){let e=ed(1===o?(0,y.createLinkViewportError)(t.route):2===o?(0,y.createRuntimeViewportError)(t.route):(0,y.createDynamicViewportError)(t.route),r,u);n.dynamicErrors.push(e);return}let c=et.exec(r);if(c){let e=z.exec(r);if(e&&e.index<c.index){n.hasAllowedDynamic=!0;return}}else if((0,_.allRequiredBoundariesRendered)(i)){n.hasAllowedClientDynamicAboveBoundary=!0,n.hasAllowedDynamic=!0;return}else{let e=ed(Object.defineProperty(Error(`Route "${t.route}": Could not validate \`instant\` because a Client Component in a parent segment prevented the page from rendering.`),"__NEXT_ERROR_CODE",{value:"E1331",enumerable:!1,configurable:!0}),r,u);n.validationPreventingErrors.push(e);return}if(s){null!==u&&void 0===s.cause&&(s.cause=u()),n.dynamicErrors.push(s);return}if((0,h.isClientHookDynamicError)(e))return void n.dynamicErrors.push(ed(e,r,u));let l=ed(1===o?(0,y.createLinkBodyErrorInNavigation)(t.route):2===o?(0,y.createRuntimeBodyErrorInNavigation)(t.route):(0,y.createDynamicBodyErrorInNavigation)(t.route),r,u);n.dynamicErrors.push(l)}function eu(e,t,r,n){let a=et.exec(n);if(a){let o=z.exec(n);if(o&&o.index<a.index)return;let i=ed(Object.defineProperty(Error(`Route "${e.route}": Could not validate \`instant\` because an error prevented the target segment from rendering.`,{cause:r}),"__NEXT_ERROR_CODE",{value:"E1338",enumerable:!1,configurable:!0}),n,null);t.validationPreventingErrors.push(i)}else{let e=ed(Object.defineProperty(Error("An error occurred while attempting to validate instant UI. This error may be preventing the validation from completing.",{cause:r}),"__NEXT_ERROR_CODE",{value:"E1118",enumerable:!1,configurable:!0}),n,null);t.thrownErrorsOutsideBoundary.push(e)}}function ec(e,t,r,n,a){let o=k(a);if(ee.test(r))return void en(r,n);if(Z.test(r)){n.dynamicMetadata=ed((0,y.createDynamicMetadataError)(t.route),r,null);return}if(Q.test(r)){let e=ed((0,y.createDynamicViewportError)(t.route),r,null);n.dynamicErrors.push(e);return}if(J.test(r)){n.hasAllowedDynamic=!0,n.hasSuspenseAboveBody=!0;return}if(z.test(r)){n.hasAllowedDynamic=!0;return}else if(o)return void n.dynamicErrors.push(o);if((0,h.isClientHookDynamicError)(e))return void n.dynamicErrors.push(ed(e,r,null));let i=ed((0,y.createDynamicBodyError)(t.route),r,null);n.dynamicErrors.push(i)}function el(e,t,r,n,a){let o=k(a);if(ee.test(r))return void en(r,n);if(Z.test(r)){n.dynamicMetadata=ed((0,y.createRuntimeMetadataError)(t.route),r,null);return}if(Q.test(r)){let e=ed((0,y.createRuntimeViewportError)(t.route),r,null);n.dynamicErrors.push(e);return}if(J.test(r)){n.hasAllowedDynamic=!0,n.hasSuspenseAboveBody=!0;return}if(z.test(r)){n.hasAllowedDynamic=!0;return}else if(o)return void n.dynamicErrors.push(o);if((0,h.isClientHookDynamicError)(e))return void n.dynamicErrors.push(ed(e,r,null));let i=ed((0,y.createRuntimeBodyError)(t.route),r,null);n.dynamicErrors.push(i)}function ed(e,t,r){return null!==r&&(e.cause=r()),e.stack=e.name+": "+e.message+t,e}var ef=((o={})[o.Full=0]="Full",o[o.Empty=1]="Empty",o[o.Errored=2]="Errored",o);function eh(e,t){console.error(t),(0,y.logBuildDebugHint)(e.route)}function ep(e,t){if(t.syncDynamicErrorWithStack)throw eh(e,t.syncDynamicErrorWithStack),new l.StaticGenBailoutError}function em(e,t,r,n,a){if(ep(e,n),0===t&&!1===r.hasAllowedDynamic&&r.hasDynamicMetadata)throw console.error((0,y.createDynamicOrRuntimeMetadataError)(e.route).message),new l.StaticGenBailoutError;if(!a&&!r.hasSuspenseAboveBody&&0!==t){let n=r.dynamicErrors;if(n.length>0){for(let t=0;t<n.length;t++)eh(e,n[t]);throw new l.StaticGenBailoutError}if(r.hasDynamicViewport)throw console.error((0,y.createDynamicOrRuntimeViewportError)(e.route).message),new l.StaticGenBailoutError;if(1===t)throw console.error(`Route "${e.route}" did not produce a static shell and Next.js was unable to determine a reason. This is a bug in Next.js.`),new l.StaticGenBailoutError}}function eg(e,t,r,n){if(0===t&&!1===r.hasAllowedDynamic&&0===r.dynamicErrors.length&&r.dynamicMetadata)return[r.dynamicMetadata];if(n||r.hasSuspenseAboveBody)return[];if(0!==t){let n=r.dynamicErrors;if(n.length>0)return n;if(1===t)return[Object.defineProperty(new b.InvariantError(`Route "${e.route}" did not produce a static shell and Next.js was unable to determine a reason.`),"__NEXT_ERROR_CODE",{value:"E936",enumerable:!1,configurable:!0})]}return[]}function ey(e,t,r,n,a,o){if(n){let{missingSampleErrors:e}=n;if(e.length>0)return e}let{validationPreventingErrors:i}=r;if(i.length>0)return i;if(0!==t){let n=r.dynamicErrors;if(n.length>0)return n;if(1===t&&!r.hasAllowedClientDynamicAboveBoundary&&(0,_.allRequiredBoundariesRendered)(a))return Object.defineProperty(new b.InvariantError(`Route "${e.route}" failed to render during instant validation and Next.js was unable to determine a reason.`),"__NEXT_ERROR_CODE",{value:"E1055",enumerable:!1,configurable:!0})}else{let e=r.dynamicErrors;if(e.length>0)return e;if(!1===r.hasAllowedDynamic&&r.dynamicMetadata)return[r.dynamicMetadata]}if(!(0,_.allRequiredBoundariesRendered)(a)){let{thrownErrorsOutsideBoundary:t}=r,n=r.slotStacks[0];if(0===t.length){let t=[];for(let[e,r]of a.requiredIds)if(!a.renderedIds.has(e))for(let e of r){let r=e.replace(/^\[project\][\\/]?/,"").replace(process.cwd()+"/","").replace(process.cwd()+"\\","");t.push(r)}return t.sort(),(0,w.createUnrenderedSegmentError)(e.route,t)}if(1===t.length){let r=`Route "${e.route}": Could not validate \`instant\` because the target segment was prevented from rendering, likely due to the following error.`,a=null!==n?n():Error();return a.name="Error",a.message=r,AggregateError([a,t[0]])}{let r=`Route "${e.route}": Could not validate \`instant\` because the target segment was prevented from rendering, likely due to one of the following errors.`,a=null!==n?n():Error();return a.name="Error",a.message=r,AggregateError([a,...t])}}return[]}},725478,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"unstable_rethrow",{enumerable:!0,get:function(){return function e(t){if((0,i.isNextRouterError)(t)||(0,o.isBailoutToCSRError)(t)||(0,u.isDynamicServerError)(t)||(0,s.isDynamicPostpone)(t)||(0,a.isPostpone)(t)||(0,n.isHangingPromiseRejectionError)(t)||(0,s.isPrerenderInterruptedError)(t))throw t;t instanceof Error&&"cause"in t&&e(t.cause)}}});let n=e.r(756725),a=e.r(24380),o=e.r(107703),i=e.r(555134),s=e.r(258200),u=e.r(243727);("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},66389,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={ReadonlyURLSearchParams:function(){return o.ReadonlyURLSearchParams},RedirectType:function(){return f},forbidden:function(){return u.forbidden},notFound:function(){return s.notFound},permanentRedirect:function(){return i.permanentRedirect},redirect:function(){return i.redirect},unauthorized:function(){return c.unauthorized},unstable_isUnrecognizedActionError:function(){return d},unstable_rethrow:function(){return l.unstable_rethrow}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let o=e.r(461067),i=e.r(543212),s=e.r(944760),u=e.r(825345),c=e.r(452616),l=e.r(725478);function d(){throw Object.defineProperty(Error("`unstable_isUnrecognizedActionError` can only be used on the client."),"__NEXT_ERROR_CODE",{value:"E776",enumerable:!1,configurable:!0})}let f={push:"push",replace:"replace"};("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},825184,e=>{"use strict";e.i(66389),e.i(938281),e.s([],825184)}];
|
|
207
209
|
|
|
208
210
|
//# sourceMappingURL=_1_0gehg._.js.map
|
|
@@ -8,7 +8,9 @@ What bots can reach for: ${a}.`:""}
|
|
|
8
8
|
|
|
9
9
|
**A bot can take on almost anything, and anything that takes more than a few seconds is a bot's**; a note, a look at a file or one command is yours. A bot has this computer, a real browser, the web, a shell to build what is missing and far more time than a call; it signs in where it has to and carries work to the end, so something you do not know how to do is work for a bot, not a no. Bots bring each other in, so work that spans several things is still one thread.${f?" Each bot keeps its own memory from thread to thread: when the user says how a bot should work from now on, pass it to that bot to remember.":""}
|
|
10
10
|
|
|
11
|
-
**Work lives in threads.** A thread's bot remembers that thread and nothing else, so the same bot started on a new one begins from nothing. More about work already handed over — a correction, the next step once it finished, going on after it stopped — is said to that thread (\`${r.TOOL_NAMES.thread_tell}\`); only a request that stands on its own starts a new one (\`${r.TOOL_NAMES.thread_start}\`). The threads open as this call started come into the conversation at the start, and they move while you talk: \`${r.TOOL_NAMES.thread_status}\` reads them as they are now, before you answer about one or hand anything over. Ask the user which it is only when the request could be either. Write the request in the user's own words, with what it stands on — including how they told you they want work done — and nothing they did not say.
|
|
11
|
+
**Work lives in threads.** A thread's bot remembers that thread and nothing else, so the same bot started on a new one begins from nothing. More about work already handed over — a correction, the next step once it finished, going on after it stopped — is said to that thread (\`${r.TOOL_NAMES.thread_tell}\`); only a request that stands on its own starts a new one (\`${r.TOOL_NAMES.thread_start}\`). The threads open as this call started come into the conversation at the start, and they move while you talk: \`${r.TOOL_NAMES.thread_status}\` reads them as they are now, before you answer about one or hand anything over. Ask the user which it is only when the request could be either. Write the request in the user's own words, with what it stands on — including how they told you they want work done — and nothing they did not say.
|
|
12
|
+
|
|
13
|
+
**Ask before you start a thread.** Propose it first, even when they named the bot — which bot, and the request in a sentence — with what it needs from them that they have not said, and start it only on their yes to that proposal: a reply that goes on talking about the work is not a yes. Their answers go in the request, so the bot does not ask them again.
|
|
12
14
|
|
|
13
15
|
**Work that should start by itself — every morning, every few hours — is a routine.** \`${r.TOOL_NAMES.routine}\` makes one from a bot, the work in the user's own words, and when; from then on it starts a thread for it each time without being asked, and the result reaches the user like any thread's. Ask once for whichever of those they left out, and read the ones that exist before making, changing or deleting one.
|
|
14
16
|
|
|
@@ -8,7 +8,9 @@ What bots can reach for: ${a}.`:""}
|
|
|
8
8
|
|
|
9
9
|
**A bot can take on almost anything, and anything that takes more than a few seconds is a bot's**; a note, a look at a file or one command is yours. A bot has this computer, a real browser, the web, a shell to build what is missing and far more time than a call; it signs in where it has to and carries work to the end, so something you do not know how to do is work for a bot, not a no. Bots bring each other in, so work that spans several things is still one thread.${f?" Each bot keeps its own memory from thread to thread: when the user says how a bot should work from now on, pass it to that bot to remember.":""}
|
|
10
10
|
|
|
11
|
-
**Work lives in threads.** A thread's bot remembers that thread and nothing else, so the same bot started on a new one begins from nothing. More about work already handed over — a correction, the next step once it finished, going on after it stopped — is said to that thread (\`${r.TOOL_NAMES.thread_tell}\`); only a request that stands on its own starts a new one (\`${r.TOOL_NAMES.thread_start}\`). The threads open as this call started come into the conversation at the start, and they move while you talk: \`${r.TOOL_NAMES.thread_status}\` reads them as they are now, before you answer about one or hand anything over. Ask the user which it is only when the request could be either. Write the request in the user's own words, with what it stands on — including how they told you they want work done — and nothing they did not say.
|
|
11
|
+
**Work lives in threads.** A thread's bot remembers that thread and nothing else, so the same bot started on a new one begins from nothing. More about work already handed over — a correction, the next step once it finished, going on after it stopped — is said to that thread (\`${r.TOOL_NAMES.thread_tell}\`); only a request that stands on its own starts a new one (\`${r.TOOL_NAMES.thread_start}\`). The threads open as this call started come into the conversation at the start, and they move while you talk: \`${r.TOOL_NAMES.thread_status}\` reads them as they are now, before you answer about one or hand anything over. Ask the user which it is only when the request could be either. Write the request in the user's own words, with what it stands on — including how they told you they want work done — and nothing they did not say.
|
|
12
|
+
|
|
13
|
+
**Ask before you start a thread.** Propose it first, even when they named the bot — which bot, and the request in a sentence — with what it needs from them that they have not said, and start it only on their yes to that proposal: a reply that goes on talking about the work is not a yes. Their answers go in the request, so the bot does not ask them again.
|
|
12
14
|
|
|
13
15
|
**Work that should start by itself — every morning, every few hours — is a routine.** \`${r.TOOL_NAMES.routine}\` makes one from a bot, the work in the user's own words, and when; from then on it starts a thread for it each time without being asked, and the result reaches the user like any thread's. Ask once for whichever of those they left out, and read the ones that exist before making, changing or deleting one.
|
|
14
16
|
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[750227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},59639,(a,b,c)=>{b.exports=a.x("node:process",()=>require("node:process"))},857764,(a,b,c)=>{b.exports=a.x("node:url",()=>require("node:url"))},236914,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[root-of-the-server]
|
|
1
|
+
module.exports=[750227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},59639,(a,b,c)=>{b.exports=a.x("node:process",()=>require("node:process"))},857764,(a,b,c)=>{b.exports=a.x("node:url",()=>require("node:url"))},236914,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[root-of-the-server]__18l3o37._.js","server/chunks/ssr/node_modules_1h9p77x._.js"].map(b=>a.l(b))).then(()=>b(391282)))},853409,a=>{"use strict";var b=a.i(173111);a.s([],676154),a.i(676154),a.s(["Mermaid",()=>b.l],853409)},172487,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[root-of-the-server]__07mxab7._.js","server/chunks/ssr/node_modules_1h9p77x._.js"].map(b=>a.l(b))).then(()=>b(853409)))}];
|
|
2
2
|
|
|
3
|
-
//# sourceMappingURL=%5Broot-of-the-server%
|
|
3
|
+
//# sourceMappingURL=%5Broot-of-the-server%5D__07mxab7._.js.map
|