thursday-agent 0.3.0 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (197) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/build-manifest.json +3 -3
  3. package/.next/prerender-manifest.json +3 -3
  4. package/.next/server/app/_global-error.html +1 -1
  5. package/.next/server/app/_global-error.rsc +1 -1
  6. package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  7. package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  8. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  9. package/.next/server/app/_not-found/page.js.nft.json +1 -1
  10. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  11. package/.next/server/app/_not-found.html +1 -1
  12. package/.next/server/app/_not-found.rsc +2 -2
  13. package/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
  14. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
  15. package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  16. package/.next/server/app/api/artifact/route.js.nft.json +1 -1
  17. package/.next/server/app/api/bot/memory/files/route.js.nft.json +1 -1
  18. package/.next/server/app/api/bot/memory/route.js.nft.json +1 -1
  19. package/.next/server/app/api/bot/route.js.nft.json +1 -1
  20. package/.next/server/app/api/bot/task/[id]/route.js.nft.json +1 -1
  21. package/.next/server/app/api/bot/task/route.js.nft.json +1 -1
  22. package/.next/server/app/api/config/route.js.nft.json +1 -1
  23. package/.next/server/app/api/events/route.js.nft.json +1 -1
  24. package/.next/server/app/api/file/[...path]/route.js.nft.json +1 -1
  25. package/.next/server/app/api/llm-model/catalog/route.js.nft.json +1 -1
  26. package/.next/server/app/api/llm-model/credits/route.js.nft.json +1 -1
  27. package/.next/server/app/api/llm-model/route.js.nft.json +1 -1
  28. package/.next/server/app/api/llm-model/subscription/route.js.nft.json +1 -1
  29. package/.next/server/app/api/mcp/[name]/route.js.nft.json +1 -1
  30. package/.next/server/app/api/mcp/oauth/callback/route.js.nft.json +1 -1
  31. package/.next/server/app/api/mcp/route.js.nft.json +1 -1
  32. package/.next/server/app/api/mcp/tools/route.js.nft.json +1 -1
  33. package/.next/server/app/api/memory/edit/route.js.nft.json +1 -1
  34. package/.next/server/app/api/memory/route.js.nft.json +1 -1
  35. package/.next/server/app/api/skills/[source]/[name]/route.js.nft.json +1 -1
  36. package/.next/server/app/api/skills/route.js.nft.json +1 -1
  37. package/.next/server/app/api/thursday/call/route.js.nft.json +1 -1
  38. package/.next/server/app/api/thursday/skills/route.js.nft.json +1 -1
  39. package/.next/server/app/api/thursday/tool-call/route.js.nft.json +1 -1
  40. package/.next/server/app/api/workspace/route.js.nft.json +1 -1
  41. package/.next/server/app/artifact/[...path]/page/server-reference-manifest.json +1 -1
  42. package/.next/server/app/artifact/[...path]/page.js.nft.json +1 -1
  43. package/.next/server/app/artifact/[...path]/page_client-reference-manifest.js +1 -1
  44. package/.next/server/app/page/server-reference-manifest.json +40 -40
  45. package/.next/server/app/page.js +2 -2
  46. package/.next/server/app/page.js.nft.json +1 -1
  47. package/.next/server/app/page_client-reference-manifest.js +1 -1
  48. package/.next/server/chunks/[root-of-the-server]__02va5wz._.js +1 -1
  49. package/.next/server/chunks/[root-of-the-server]__0ls6_8y._.js +4 -4
  50. package/.next/server/chunks/[root-of-the-server]__0ncs9uu._.js +1 -1
  51. package/.next/server/chunks/[root-of-the-server]__1-ga0kh._.js +2 -2
  52. package/.next/server/chunks/[root-of-the-server]__1_04mcf._.js +2 -2
  53. package/.next/server/chunks/[root-of-the-server]__1anc1p9._.js +1 -1
  54. package/.next/server/chunks/[root-of-the-server]__1ccon1w._.js +3 -3
  55. package/.next/server/chunks/[root-of-the-server]__1orn-5b._.js +4 -3
  56. package/.next/server/chunks/[root-of-the-server]__1wa1k7r._.js +3 -3
  57. package/.next/server/chunks/_0-fjql4._.js +5 -5
  58. package/.next/server/chunks/_00xh_q0._.js +3 -5
  59. package/.next/server/chunks/_05h2cii._.js +1 -1
  60. package/.next/server/chunks/_0fzqt2y._.js +48 -44
  61. package/.next/server/chunks/_0mecv0f._.js +5 -5
  62. package/.next/server/chunks/_0mh8j4m._.js +1 -1
  63. package/.next/server/chunks/_0wp4le3._.js +1 -1
  64. package/.next/server/chunks/_0y5fg-x._.js +1 -1
  65. package/.next/server/chunks/_1230wbx._.js +3 -3
  66. package/.next/server/chunks/_15hq89o._.js +1 -1
  67. package/.next/server/chunks/{_03kp0jp._.js → _1c78vw5._.js} +58 -56
  68. package/.next/server/chunks/_1j8k_j5._.js +1 -1
  69. package/.next/server/chunks/_1krd9rf._.js +1 -1
  70. package/.next/server/chunks/_1php4eq._.js +1 -1
  71. package/.next/server/chunks/config_ts_1g4sz5o._.js +1 -1
  72. package/.next/server/chunks/features_1qf3cei._.js +1 -1
  73. package/.next/server/chunks/features_memory_1uqvksn._.js +2 -2
  74. package/.next/server/chunks/ssr/[root-of-the-server]__092knlj._.js +3 -0
  75. package/.next/server/chunks/ssr/{[root-of-the-server]__1eh7hid._.js → [root-of-the-server]__0s9dq5u._.js} +1 -1
  76. package/.next/server/chunks/ssr/{[root-of-the-server]__1cyjywu._.js → [root-of-the-server]__0s9l2sv._.js} +1 -1
  77. package/.next/server/chunks/ssr/{[root-of-the-server]__0zkv7z_._.js → [root-of-the-server]__0xsog8n._.js} +2 -2
  78. package/.next/server/chunks/ssr/[root-of-the-server]__10-dz5o._.js +13 -9
  79. package/.next/server/chunks/ssr/[root-of-the-server]__1gtlw6v._.js +2 -2
  80. package/.next/server/chunks/ssr/[root-of-the-server]__1mzi-ju._.js +1 -1
  81. package/.next/server/chunks/ssr/[root-of-the-server]__1ox7hbk._.js +1 -1
  82. package/.next/server/chunks/ssr/{[root-of-the-server]__0_69wqr._.js → [root-of-the-server]__202p40z._.js} +1 -1
  83. package/.next/server/chunks/ssr/_001_ms1._.js +1 -1
  84. package/.next/server/chunks/ssr/{_0c-ql2m._.js → _0fz4mf_._.js} +2 -2
  85. package/.next/server/chunks/ssr/{_07uchnc._.js → _0gb4gmf._.js} +2 -2
  86. package/.next/server/chunks/ssr/_0i_6q1w._.js +2 -2
  87. package/.next/server/chunks/ssr/{_20kd_n0._.js → _0ilna52._.js} +3 -3
  88. package/.next/server/chunks/ssr/{_0mo2w06._.js → _0n3toaw._.js} +2 -2
  89. package/.next/server/chunks/ssr/{_0mb8zc8._.js → _0s99bgb._.js} +2 -2
  90. package/.next/server/chunks/ssr/_0zcjrbg._.js +3 -0
  91. package/.next/server/chunks/ssr/{_13z3f85._.js → _1-_etts._.js} +2 -2
  92. package/.next/server/chunks/ssr/_13fke0x._.js +1 -1
  93. package/.next/server/chunks/ssr/{_01_6m32._.js → _1b2mjwr._.js} +2 -2
  94. package/.next/server/chunks/ssr/{_1eoqg_g._.js → _1f-dg-6._.js} +2 -2
  95. package/.next/server/chunks/ssr/{_0y0tiht._.js → _1fojd41._.js} +3 -3
  96. package/.next/server/chunks/ssr/_1gd8q8l._.js +3 -0
  97. package/.next/server/chunks/ssr/{_1xvgn77._.js → _1h0rw11._.js} +2 -2
  98. package/.next/server/chunks/ssr/_1jhd09t._.js +3 -0
  99. package/.next/server/chunks/ssr/{_0u2jv_x._.js → _1lz_cq2._.js} +46 -44
  100. package/.next/server/chunks/ssr/{_0kbkmar._.js → _1nnsk7z._.js} +2 -2
  101. package/.next/server/chunks/ssr/_1sji22n._.js +1 -1
  102. package/.next/server/chunks/ssr/_1vyd1ji._.js +1 -1
  103. package/.next/server/chunks/ssr/features_config_components_config-setting_tsx_0xfwqdg._.js +1 -1
  104. package/.next/server/chunks/ssr/features_connectors_components_mcp-setting_tsx_0jmbgvp._.js +1 -1
  105. package/.next/server/chunks/ssr/{node_modules_0z5tsu8._.js → node_modules_00etblx._.js} +1 -1
  106. package/.next/server/chunks/ssr/{node_modules_1h4a4pp._.js → node_modules_04jf_m8._.js} +1 -1
  107. package/.next/server/chunks/ssr/{node_modules_0h5hnr1._.js → node_modules_08dhkiq._.js} +1 -1
  108. package/.next/server/chunks/ssr/{node_modules_1vqb6po._.js → node_modules_0940ns5._.js} +1 -1
  109. package/.next/server/chunks/ssr/{node_modules_1i7u1ia._.js → node_modules_09q35v_._.js} +1 -1
  110. package/.next/server/chunks/ssr/{node_modules_124bue5._.js → node_modules_0_-_a--._.js} +1 -1
  111. package/.next/server/chunks/ssr/{node_modules_0h7u60n._.js → node_modules_0arus10._.js} +1 -1
  112. package/.next/server/chunks/ssr/{node_modules_0rjg6t1._.js → node_modules_0b__sgl._.js} +1 -1
  113. package/.next/server/chunks/ssr/{node_modules_113tz0l._.js → node_modules_0cxaxk9._.js} +1 -1
  114. package/.next/server/chunks/ssr/{node_modules_0lm7_vm._.js → node_modules_0g7fzk3._.js} +1 -1
  115. package/.next/server/chunks/ssr/{node_modules_0h50b8n._.js → node_modules_0had7xd._.js} +1 -1
  116. package/.next/server/chunks/ssr/{node_modules_1-hc6uv._.js → node_modules_0pvd7q-._.js} +1 -1
  117. package/.next/server/chunks/ssr/{node_modules_1bc7gu8._.js → node_modules_0yugy6m._.js} +1 -1
  118. package/.next/server/chunks/ssr/{node_modules_0y_cded._.js → node_modules_14om4ar._.js} +1 -1
  119. package/.next/server/chunks/ssr/{node_modules_0zp9r92._.js → node_modules_14q6g4n._.js} +1 -1
  120. package/.next/server/chunks/ssr/{node_modules_0eu1va6._.js → node_modules_198nmll._.js} +1 -1
  121. package/.next/server/chunks/ssr/{node_modules_1t9cyee._.js → node_modules_1_pc9kq._.js} +1 -1
  122. package/.next/server/chunks/ssr/{node_modules_063xwpp._.js → node_modules_1aaxuef._.js} +1 -1
  123. package/.next/server/chunks/ssr/{node_modules_0bvraul._.js → node_modules_1cx_ql6._.js} +1 -1
  124. package/.next/server/chunks/ssr/{node_modules_1xx28h1._.js → node_modules_1cz2hle._.js} +1 -1
  125. package/.next/server/chunks/ssr/{node_modules_1l0qtdu._.js → node_modules_1efrqxi._.js} +1 -1
  126. package/.next/server/chunks/ssr/{node_modules_1juq3hs._.js → node_modules_1eg7m6c._.js} +1 -1
  127. package/.next/server/chunks/ssr/{node_modules_1_n3ztw._.js → node_modules_1gdh31p._.js} +1 -1
  128. package/.next/server/chunks/ssr/{node_modules_0mwym0g._.js → node_modules_1hpopmo._.js} +1 -1
  129. package/.next/server/chunks/ssr/{node_modules_1bgb6-f._.js → node_modules_1qpjvy5._.js} +1 -1
  130. package/.next/server/chunks/ssr/{node_modules_1uuj9x1._.js → node_modules_1vh5ntv._.js} +1 -1
  131. package/.next/server/chunks/ssr/{node_modules_@mermaid-js_parser_dist_chunks_mermaid-parser_core_0d3skpl._.js → node_modules_@mermaid-js_parser_dist_chunks_mermaid-parser_core_1b748ic._.js} +1 -1
  132. package/.next/server/chunks/ssr/{node_modules_@mermaid-js_parser_dist_chunks_mermaid-parser_core_0i44kk5._.js → node_modules_@mermaid-js_parser_dist_chunks_mermaid-parser_core_1z4hm5e._.js} +1 -1
  133. package/.next/server/chunks/ssr/{node_modules_@vercel_oidc_dist_0qe30a_._.js → node_modules_@vercel_oidc_dist_06mk8id._.js} +1 -1
  134. package/.next/server/middleware-build-manifest.js +3 -3
  135. package/.next/server/pages/404.html +1 -1
  136. package/.next/server/pages/500.html +1 -1
  137. package/.next/server/server-reference-manifest.js +1 -1
  138. package/.next/server/server-reference-manifest.json +41 -41
  139. package/.next/static/chunks/00rd4-v8r7axp.js +1 -0
  140. package/.next/static/chunks/{0tmgrnlje14-s.js → 08qe4as2q428z.js} +2 -2
  141. package/.next/static/chunks/{3ok9_x74rip3v.js → 0fl3gwe4-l6tz.js} +1 -1
  142. package/.next/static/chunks/{2a0k6jlq0_v1u.js → 0gnqdjn2lvdad.js} +2 -2
  143. package/.next/static/chunks/{1okqiww3pnwka.js → 0hwap1-p0m5sa.js} +1 -1
  144. package/.next/static/chunks/{1ekc7ul556kbl.js → 0w52rrrmuj9r9.js} +1 -1
  145. package/.next/static/chunks/{3agpgkwaa321p.js → 0wcprt5ot5she.js} +1 -1
  146. package/.next/static/chunks/{3xpbkl66ssib5.js → 15m575979un5f.js} +6 -6
  147. package/.next/static/chunks/{2fzs9fm8yarvq.js → 17p6tk6k88dq6.js} +1 -1
  148. package/.next/static/chunks/{26-pr2c9ro222.js → 1jd09sxcjddu1.js} +1 -1
  149. package/.next/static/chunks/{280t0_e99i276.js → 1w73ece_6bheu.js} +1 -1
  150. package/.next/static/chunks/{1grhjo7a5a0_-.js → 214ya3n5gxeih.js} +1 -1
  151. package/.next/static/chunks/22_zkas21rpna.js +1 -0
  152. package/.next/static/chunks/{0x79tx04dxbpp.js → 2u7xt6mxg44lf.js} +1 -1
  153. package/.next/static/chunks/{17donp69y4do7.js → 39j0fvpybzabl.js} +8 -8
  154. package/.next/static/chunks/{28cizcdaabd4h.js → 3akmqm77muj4-.js} +1 -1
  155. package/.next/static/chunks/3cq5g494yuke8.css +1 -0
  156. package/.next/static/chunks/3woj-xd7ki5_i.js +1 -0
  157. package/.next/static/chunks/{3cfi_q6d_wtci.js → 3zmcsnuo25zvq.js} +1 -1
  158. package/README.md +46 -23
  159. package/app/api/events/app-event.ts +0 -2
  160. package/bin/port.mjs +65 -0
  161. package/bin/thursday.mjs +2 -33
  162. package/docs/how-it-works.md +11 -7
  163. package/docs/images/face-dark.png +0 -0
  164. package/docs/images/face-light.png +0 -0
  165. package/docs/images/keeps-going.png +0 -0
  166. package/features/ai/chatgpt.ts +42 -20
  167. package/features/ai/load-tools.ts +20 -14
  168. package/features/ai/prompts/bot.prompt.ts +90 -88
  169. package/features/ai/prompts/thursday.prompt.ts +48 -41
  170. package/features/ai/tools/memory.tool.ts +65 -62
  171. package/features/ai/tools/tool-name.ts +0 -1
  172. package/features/ai/tools/workspace.tool.ts +3 -0
  173. package/features/bot/bot.action.ts +6 -1
  174. package/features/bot/bot.run.ts +11 -7
  175. package/features/bot/bot.runner.ts +34 -16
  176. package/features/bot/bot.schema.ts +25 -0
  177. package/features/bot/components/bot-room.tsx +57 -4
  178. package/features/bot/components/bot-tool.tsx +0 -1
  179. package/features/bot/task.query.ts +25 -6
  180. package/features/bot/task.store.ts +23 -4
  181. package/features/memory/components/memory-edit.tsx +7 -5
  182. package/features/thursday/components/thursday.tsx +0 -3
  183. package/features/thursday/tool-line.ts +0 -1
  184. package/features/thursday/use-thursday.ts +1 -1
  185. package/package.json +1 -1
  186. package/.next/server/chunks/ssr/[root-of-the-server]__1pduf5n._.js +0 -3
  187. package/.next/server/chunks/ssr/_14_lw10._.js +0 -3
  188. package/.next/server/chunks/ssr/_1spzm8z._.js +0 -3
  189. package/.next/server/chunks/ssr/lib_date-like_ts_02is0pw._.js +0 -3
  190. package/.next/static/chunks/0xzgvc0fkdb6t.js +0 -1
  191. package/.next/static/chunks/14hgtsjg-kael.css +0 -1
  192. package/.next/static/chunks/2hw2f6zmt7fmt.js +0 -1
  193. package/.next/static/chunks/3111pj5wnjgos.js +0 -1
  194. package/features/memory/components/memory-view.tsx +0 -84
  195. /package/.next/static/{x1cCqY0kWpR_VcYx_lWO5 → kaTO0UHqF1bMnWgCDik2f}/_buildManifest.js +0 -0
  196. /package/.next/static/{x1cCqY0kWpR_VcYx_lWO5 → kaTO0UHqF1bMnWgCDik2f}/_clientMiddlewareManifest.js +0 -0
  197. /package/.next/static/{x1cCqY0kWpR_VcYx_lWO5 → kaTO0UHqF1bMnWgCDik2f}/_ssgManifest.js +0 -0
@@ -1,3 +1,3 @@
1
- module.exports=[687388,e=>{"use strict";let t=process.env.THURSDAY_APP_DIR?.trim()||process.cwd(),r=process.env.THURSDAY_HOME?.trim()||process.cwd(),n=process.env.THURSDAY_URL?.trim()||`http://localhost:${process.env.PORT?.trim()||3e3}`,o=`file:${r}/local.db`,i=".ai-workspace",s={workspace:i,artifacts:"artifacts",projects:"projects",scratch:"scratch",bots:"bots",output:".output",skills:{default:"skills",custom:`${i}/.agents/skills`}};e.s(["APP_DIR",0,t,"APP_NAME",0,"Thursday","APP_URL",0,n,"ARTIFACT_VIEW",0,{rows:200,setFiles:120},"ASCII_FACE",0,{charset:"emojiOnly",fontSize:{default:8,min:4,max:16},density:{default:1.4,min:.6,max:2}},"BOT_MEMORY_LISTED",0,20,"BOT_RUN",0,{steps:100,compactAt:5e5,compactHeadroom:.8,summaryWords:{min:600,max:3e3,perTokens:200},depth:2,askBack:3,silenceMs:3e5,autoResumes:3,retryAfterMs:[3e4,12e4,3e5],overflowShrink:.6,compactFiles:40},"BROWSER_GONE_MS",0,1e4,"BROWSER_VIEWPORT",0,"700x700","CALL_HISTORY_PAGE",0,10,"CHATGPT_SIGN_IN",0,{waitMs:6e5,renewBeforeMs:3e5},"CHATGPT_USAGE_HIGH",0,80,"CONNECTED_TOOL_TIMEOUT_MS",0,6e5,"DATA_DIR",0,r,"DB_FILE_NAME",0,o,"EXEC_KILL_GRACE_MS",0,5e3,"EXEC_TIMEOUT_MS",0,18e4,"GATEWAY_LOW_CREDIT",0,1,"INBOX_FINISHED",0,3,"IS_DEV",0,!1,"MEMORY_CONVERSATION_PAGE",0,100,"MEMORY_LIMITS",0,{facts:400,factsPerNote:50,carried:20},"PAGE_SIZE",0,50,"PATHS",0,s,"PROMPT_BUDGET",0,6e3,"PROMPT_LINE",0,{skill:90,toolArgs:30,jobOutcome:160,callTurn:160,botMemory:100},"SEARCH",0,{sources:6,excerptChars:1200,timeoutMs:3e4},"STUDIO_SERVER",0,"studio","TOOL_OUTPUT",0,{max:8e3,head:5500,tail:1500},"WORKSPACE_KEEP",0,{forMs:2592e5,sweepEveryMs:36e5},"WORKSPACE_VIEW",0,{rows:200,textMax:524288,elementMax:0x3200000}])},915874,486618,127438,67021,e=>{"use strict";var t;let r;function n(e){return e}function o(e){return e}function i(){return e=>e}function s(e){}function a(e){throw Error("Unexpected value in exhaustive check")}function l(e){}function c(e){let t=Object.values(e).filter(e=>"number"==typeof e);return Object.entries(e).filter(([e,r])=>-1===t.indexOf(+e)).map(([e,t])=>t)}function u(e,t="|"){return e.map(e=>L(e)).join(t)}function f(e,t){return"bigint"==typeof t?t.toString():t}function p(e){return{get value(){{let t=e();return Object.defineProperty(this,"value",{value:t}),t}}}}function d(e){return null==e}function h(e){let t=+!!e.startsWith("^"),r=e.endsWith("$")?e.length-1:e.length;return e.slice(t,r)}function g(e,t){let r=e/t,n=Math.round(r),o=4*Number.EPSILON*Math.max(Math.abs(r),1);return Math.abs(r-n)<o?0:r-n}e.s(["$ZodAsyncError",()=>eI,"$ZodEncodeError",()=>eN,"$brand",()=>eR,"$constructor",()=>ez,"NEVER",()=>eS,"config",()=>eM,"globalConfig",()=>ek],127438),e.s(["BIGINT_FORMAT_RANGES",()=>Z,"CONSTANT_CATCH",()=>ej,"Class",()=>ey,"NUMBER_FORMAT_RANGES",()=>G,"aborted",()=>X,"allowsEval",()=>z,"assert",()=>l,"assertEqual",()=>n,"assertIs",()=>s,"assertNever",()=>a,"assertNotEqual",()=>o,"assignProp",()=>O,"attachSchema",()=>et,"base64ToUint8Array",()=>eu,"base64urlToUint8Array",()=>ep,"cached",()=>p,"captureStackTrace",()=>A,"cleanEnum",()=>ec,"cleanRegex",()=>h,"clone",()=>$,"cloneDef",()=>E,"codePointLength",()=>ei,"constantCatch",()=>ev,"createTransparentProxy",()=>D,"defineLazy",()=>b,"defineLazyInternal",()=>eP,"esc",()=>v,"escapeRegex",()=>C,"explicitlyAborted",()=>q,"extend",()=>H,"finalizeIssue",()=>er,"floatSafeRemainder",()=>g,"getElementAtPath",()=>P,"getEnumValues",()=>c,"getLengthableOrigin",()=>es,"getParsedType",()=>k,"getSizableOrigin",()=>en,"hexToUint8Array",()=>eh,"hide",()=>eO,"installLazyProp",()=>ew,"isObject",()=>T,"isPlainObject",()=>R,"issue",()=>el,"joinValues",()=>u,"jsonStringifyReplacer",()=>f,"members",()=>eb,"merge",()=>V,"mergeDefs",()=>_,"normalizeParams",()=>U,"nullish",()=>d,"numKeys",()=>N,"objectClone",()=>m,"omit",()=>K,"optionalKeys",()=>B,"own",()=>em,"parsedType",()=>ea,"partial",()=>Y,"pick",()=>F,"prefixIssues",()=>Q,"primitiveTypes",()=>x,"promiseAllObject",()=>w,"propertyKeyTypes",()=>M,"randomString",()=>j,"required",()=>J,"safeExtend",()=>W,"shallowClone",()=>I,"slugify",()=>S,"stringifyPrimitive",()=>L,"toZod",()=>i,"uint8ArrayToBase64",()=>ef,"uint8ArrayToBase64url",()=>ed,"uint8ArrayToHex",()=>eg,"unwrapMessage",()=>ee],486618);let y=Symbol("evaluating");function b(e,t,r){let n;Object.defineProperty(e,t,{get(){if(n!==y)return void 0===n&&(n=y,n=r()),n},set(r){Object.defineProperty(e,t,{value:r})},configurable:!0})}function m(e){return Object.create(Object.getPrototypeOf(e),Object.getOwnPropertyDescriptors(e))}function O(e,t,r){Object.defineProperty(e,t,{value:r,writable:!0,enumerable:!0,configurable:!0})}function _(...e){let t={};for(let r of e)Object.assign(t,Object.getOwnPropertyDescriptors(r));return Object.defineProperties({},t)}function E(e){return _(e._zod.def)}function P(e,t){return t?t.reduce((e,t)=>e?.[t],e):e}function w(e){let t=Object.keys(e);return Promise.all(t.map(t=>e[t])).then(e=>{let r={};for(let n=0;n<t.length;n++)r[t[n]]=e[n];return r})}function j(e=10){let t="abcdefghijklmnopqrstuvwxyz",r="";for(let n=0;n<e;n++)r+=t[Math.floor(Math.random()*t.length)];return r}function v(e){return JSON.stringify(e)}function S(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}let A="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};function T(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}let z=p(()=>{if(ek.jitless||"u">typeof navigator&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{return Function(""),!0}catch(e){return!1}});function R(e){if(!1===T(e))return!1;let t=e.constructor;if(void 0===t||"function"!=typeof t)return!0;let r=t.prototype;return!1!==T(r)&&!1!==Object.prototype.hasOwnProperty.call(r,"isPrototypeOf")}function I(e){return R(e)?{...e}:Array.isArray(e)?[...e]:e instanceof Map?new Map(e):e instanceof Set?new Set(e):e}function N(e){let t=0;for(let r in e)Object.prototype.hasOwnProperty.call(e,r)&&t++;return t}let k=e=>{let t=typeof e;switch(t){case"undefined":return"undefined";case"string":return"string";case"number":return Number.isNaN(e)?"nan":"number";case"boolean":return"boolean";case"function":return"function";case"bigint":return"bigint";case"symbol":return"symbol";case"object":if(Array.isArray(e))return"array";if(null===e)return"null";if(e.then&&"function"==typeof e.then&&e.catch&&"function"==typeof e.catch)return"promise";if("u">typeof Map&&e instanceof Map)return"map";if("u">typeof Set&&e instanceof Set)return"set";if("u">typeof Date&&e instanceof Date)return"date";if("u">typeof File&&e instanceof File)return"file";return"object";default:throw Error(`Unknown data type: ${t}`)}},M=new Set(["string","number","symbol"]),x=new Set(["string","number","bigint","boolean","symbol","undefined"]);function C(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function $(e,t,r){let n=new e._zod.constr(t??e._zod.def);return(!t||r?.parent)&&(n._zod.parent=e),n}function U(e){if(!e)return{};if("string"==typeof e)return{error:()=>e};if(e?.message!==void 0){if(e?.error!==void 0)throw Error("Cannot specify both `message` and `error` params");e.error=e.message}return(delete e.message,"string"==typeof e.error)?{...e,error:()=>e.error}:e}function D(e){let t;return new Proxy({},{get:(r,n,o)=>(t??(t=e()),Reflect.get(t,n,o)),set:(r,n,o,i)=>(t??(t=e()),Reflect.set(t,n,o,i)),has:(r,n)=>(t??(t=e()),Reflect.has(t,n)),deleteProperty:(r,n)=>(t??(t=e()),Reflect.deleteProperty(t,n)),ownKeys:r=>(t??(t=e()),Reflect.ownKeys(t)),getOwnPropertyDescriptor:(r,n)=>(t??(t=e()),Reflect.getOwnPropertyDescriptor(t,n)),defineProperty:(r,n,o)=>(t??(t=e()),Reflect.defineProperty(t,n,o))})}function L(e){return"bigint"==typeof e?e.toString()+"n":"string"==typeof e?`"${e}"`:`${e}`}function B(e){return Object.keys(e).filter(t=>void 0!==e[t]._zod.optin&&"optional"===e[t]._zod.optout)}let G={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-0x80000000,0x7fffffff],uint32:[0,0xffffffff],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]},Z={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};function F(e,t){let r=e._zod.def,n=r.checks;if(n&&n.length>0)throw Error(".pick() cannot be used on object schemas containing refinements");let o=_(e._zod.def,{get shape(){let e={};for(let n of Reflect.ownKeys(t)){if(!Object.prototype.hasOwnProperty.call(r.shape,n))throw Error(`Unrecognized key: "${String(n)}"`);t[n]&&O(e,n,r.shape[n])}return O(this,"shape",e),e},checks:[]});return $(e,o)}function K(e,t){let r=e._zod.def,n=r.checks;if(n&&n.length>0)throw Error(".omit() cannot be used on object schemas containing refinements");let o=_(e._zod.def,{get shape(){let n={...e._zod.def.shape};for(let e of Reflect.ownKeys(t)){if(!Object.prototype.hasOwnProperty.call(r.shape,e))throw Error(`Unrecognized key: "${String(e)}"`);t[e]&&delete n[e]}return O(this,"shape",n),n},checks:[]});return $(e,o)}function H(e,t){if(!R(t))throw Error("Invalid input to extend: expected a plain object");let r=e._zod.def.checks;if(r&&r.length>0){let r=e._zod.def.shape;for(let e of Reflect.ownKeys(t))if(void 0!==Object.getOwnPropertyDescriptor(r,e))throw Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}let n=_(e._zod.def,{get shape(){let r={...e._zod.def.shape,...t};return O(this,"shape",r),r}});return $(e,n)}function W(e,t){if(!R(t))throw Error("Invalid input to safeExtend: expected a plain object");let r=_(e._zod.def,{get shape(){let r={...e._zod.def.shape,...t};return O(this,"shape",r),r}});return $(e,r)}function V(e,t){if(!t?._zod?.def)throw Error("Invalid input to merge: expected an object schema. To merge a plain shape, use `.extend()`.");if(e._zod.def.checks?.length)throw Error(".merge() cannot be used on object schemas containing refinements. Use .safeExtend() instead.");let r=_(e._zod.def,{get shape(){let r={...e._zod.def.shape,...t._zod.def.shape};return O(this,"shape",r),r},get catchall(){return t._zod.def.catchall},checks:t._zod.def.checks??[]});return $(e,r)}function Y(e,t,r,n="partial"){let o=t._zod.def.checks;if(o&&o.length>0)throw Error(`.${n}() cannot be used on object schemas containing refinements`);let i=_(t._zod.def,{get shape(){let n=t._zod.def.shape,o={...n};if(r)for(let t of Reflect.ownKeys(r)){if(!Object.prototype.hasOwnProperty.call(n,t))throw Error(`Unrecognized key: "${String(t)}"`);r[t]&&(o[t]=e?new e({type:"optional",innerType:n[t]}):n[t])}else for(let t of Reflect.ownKeys(n))o[t]=e?new e({type:"optional",innerType:n[t]}):n[t];return O(this,"shape",o),o},checks:[]});return $(t,i)}function J(e,t,r){let n=_(t._zod.def,{get shape(){let n=t._zod.def.shape,o={...n};if(r)for(let t of Reflect.ownKeys(r)){if(!Object.prototype.hasOwnProperty.call(o,t))throw Error(`Unrecognized key: "${String(t)}"`);r[t]&&(o[t]=new e({type:"nonoptional",innerType:n[t]}))}else for(let t of Reflect.ownKeys(n))o[t]=new e({type:"nonoptional",innerType:n[t]});return O(this,"shape",o),o}});return $(t,n)}function X(e,t=0){if(!0===e.aborted)return!0;for(let r=t;r<e.issues.length;r++)if(e.issues[r]?.continue!==!0)return!0;return!1}function q(e,t=0){if(!0===e.aborted)return!0;for(let r=t;r<e.issues.length;r++)if(e.issues[r]?.continue===!1)return!0;return!1}function Q(e,t){return t.map(t=>(t.path??(t.path=[]),t.path.unshift(e),t))}function ee(e){return"string"==typeof e?e:e?.message}function et(e,t,r){var n;for(let o=t;o<e.length;o++)(n=e[o]).schema??(n.schema=r)}function er(e,t,r){let n=e.inst?._zod?.traits;n?.has("$ZodType")&&(n.has("$ZodCheck")?e.schema??(e.schema=e.inst):e.schema=e.inst);let o=e.schema!==e.inst?e.schema?._zod.def?.error:void 0,i=e.message?e.message:ee(e.inst?._zod.def?.error?.(e))??ee(o?.(e))??ee(t?.error?.(e))??ee(r.customError?.(e))??ee(r.localeError?.(e))??"Invalid input",{inst:s,schema:a,continue:l,input:c,...u}=e;return u.path??(u.path=[]),u.message=i,t?.reportInput&&(u.input=c),u}function en(e){return e instanceof Set?"set":e instanceof Map?"map":e instanceof File?"file":"unknown"}let eo=/[\uD800-\uDBFF]/;function ei(e){let t=e.length;if(!eo.test(e))return t;let r=t;for(let n=0;n<t-1;n++)(64512&e.charCodeAt(n))==55296&&(64512&e.charCodeAt(n+1))==56320&&(r--,n++);return r}function es(e){return Array.isArray(e)?"array":"string"==typeof e?"string":"unknown"}function ea(e){let t=typeof e;switch(t){case"number":return Number.isNaN(e)?"nan":"number";case"object":if(null===e)return"null";if(Array.isArray(e))return"array";if(e&&Object.getPrototypeOf(e)!==Object.prototype&&"constructor"in e&&e.constructor)return e.constructor.name}return t}function el(...e){let[t,r,n]=e;return"string"==typeof t?{message:t,code:"custom",input:r,inst:n}:{...t}}function ec(e){return Object.entries(e).filter(([e,t])=>Number.isNaN(Number.parseInt(e,10))).map(e=>e[1])}function eu(e){let t=atob(e),r=new Uint8Array(t.length);for(let e=0;e<t.length;e++)r[e]=t.charCodeAt(e);return r}function ef(e){let t="";for(let r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return btoa(t)}function ep(e){let t=e.replace(/-/g,"+").replace(/_/g,"/"),r="=".repeat((4-t.length%4)%4);return eu(t+r)}function ed(e){return ef(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function eh(e){let t=e.replace(/^0x/,"");if(t.length%2!=0)throw Error("Invalid hex string length");let r=new Uint8Array(t.length/2);for(let e=0;e<t.length;e+=2)r[e/2]=Number.parseInt(t.slice(e,e+2),16);return r}function eg(e){return Array.from(e).map(e=>e.toString(16).padStart(2,"0")).join("")}class ey{constructor(...e){}}function eb(e,t){for(let r in t){let n=Object.getOwnPropertyDescriptor(t,r);n.get?Object.defineProperty(e,r,{...n,enumerable:!1}):function(e,t,r){Object.defineProperty(e,t,{configurable:!0,get(){return this==null?r:em(this,t,r.bind(this))},set(e){em(this,t,e)}})}(e,r,n.value)}}function em(e,t,r,n=!0){return Object.defineProperty(e,t,{configurable:!0,writable:!0,enumerable:n,value:r}),r}function eO(e,t,r){return em(e,t,r,!1)}let e_=!1,eE={configurable:!0,get(){e_=!0}};function eP(e,t,n){let o=Object.getPrototypeOf(e._zod);if(t in o&&r!==e._zod){r=void 0;return}r=e._zod,Object.defineProperty(o,t,{configurable:!0,get(){Object.defineProperty(this,t,eE);let e=e_;e_=!1;try{let r=n(this);return e_?delete this[t]:Object.defineProperty(this,t,{configurable:!0,writable:!0,value:r}),e_=e_||e,r}catch(r){throw delete this[t],e_=e_||e,r}},set(e){Object.defineProperty(this,t,{configurable:!0,writable:!0,value:e})}})}function ew(e,t,r,n){let o,i=t in(o=Object.getPrototypeOf(e))?void 0:o;i&&Object.defineProperty(i,t,{configurable:!0,get(){let e={configurable:!0,writable:!0,enumerable:n,value:void 0};return Object.defineProperty(this,t,e),e.value=r(this),Object.defineProperty(this,t,e),e.value},set(e){Object.defineProperty(this,t,{configurable:!0,writable:!0,enumerable:n,value:e})}})}let ej="~constantCatch";function ev(e){let t=()=>e;return t[ej]=!0,t}let eS=Object.freeze({status:"aborted"}),eA={value:void 0,enumerable:!1},eT="captureStackTrace"in Error?Error:null;function ez(e,t,r,n){function o(e){this.def=e,this.constr=c,this.traits=new Set}o.prototype={};let i=r&&new WeakSet;function s(n,s){if(!n._zod){eA.value=new o(s);try{Object.defineProperty(n,"_zod",eA)}finally{eA.value=void 0}}if(n._zod.traits.has(e))return;if(n._zod.traits.add(e),t(n,s),i){let e=Object.getPrototypeOf(n),t=n._zod.constr.prototype,o=e;for(;o&&o!==t;)o=Object.getPrototypeOf(o);let s=o??e;i.has(s)||(i.add(s),eb(s,r))}let a=c.prototype;for(let e in a)Object.prototype.hasOwnProperty.call(a,e)&&(e in n||(n[e]=a[e].bind(n)))}let a=n?.Parent??Object;class l extends a{}function c(e){let t=n?.Parent?function(e){let t=eT;if(t){let r=t.stackTraceLimit;if("number"==typeof r){try{t.stackTraceLimit=0}catch{return eT=null,new e}try{return new e}finally{t.stackTraceLimit=r}}}return new e}(l):this;s(t,e);let r=t._zod.deferred;if(r){for(let e of r)e();t._zod.deferred=void 0}let o=globalThis.__zod_globalConfig?.postProcessor;return o&&o(t),t}return Object.defineProperty(l,"name",{value:e}),Object.defineProperty(c,"init",{value:s}),Object.defineProperty(c,Symbol.hasInstance,{value:t=>!!n?.Parent&&t instanceof n.Parent||t?._zod?.traits?.has(e)}),Object.defineProperty(c,"name",{value:e}),c}let eR=Symbol("zod_brand");class eI extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}class eN extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`),this.name="ZodEncodeError"}}(t=globalThis).__zod_globalConfig??(t.__zod_globalConfig={});let ek=globalThis.__zod_globalConfig;function eM(e){return e&&Object.assign(ek,e),ek}let ex={get:function(){let e=this._zod;return e.message??(e.message=JSON.stringify(e.def,f,2)),e.message},set:function(e){this._zod.message=e},enumerable:!0,configurable:!0},eC={value:void 0,enumerable:!1},e$={value:void 0,enumerable:!1},eU=new WeakSet([Object.prototype,Error.prototype]),eD=(e,t)=>{e.name="$ZodError",eC.value=e._zod,Object.defineProperty(e,"_zod",eC),e$.value=t,Object.defineProperty(e,"issues",e$),eC.value=void 0,e$.value=void 0,Object.defineProperty(e,"message",ex);let r=Object.getPrototypeOf(e);eU.has(r)||(eU.add(r),Object.defineProperty(r,"toString",{configurable:!0,enumerable:!1,get(){let e=()=>this.message;return Object.defineProperty(this,"toString",{value:e,configurable:!0,writable:!0}),e},set(e){Object.defineProperty(this,"toString",{value:e,configurable:!0,writable:!0})}}))},eL=ez("$ZodError",eD),eB=ez("$ZodError",eD,void 0,{Parent:Error});function eG(e,t=e=>e.message){let r={},n=[];for(let s of e.issues)if(s.path.length>0){var o,i;(o=s.path[0],i=()=>[],!Object.prototype.hasOwnProperty.call(r,o)&&("__proto__"===o?Object.defineProperty(r,o,{value:i(),writable:!0,enumerable:!0,configurable:!0}):r[o]=i()),r[o]).push(t(s))}else n.push(t(s));return{formErrors:n,fieldErrors:r}}function eZ(e,t=e=>e.message){let r={_errors:[]},n=(e,o=[])=>{for(let i of e.issues)if("invalid_union"===i.code&&i.errors.length)i.errors.map(e=>n({issues:e},[...o,...i.path]));else if("invalid_key"===i.code)n({issues:i.issues},[...o,...i.path]);else if("invalid_element"===i.code)n({issues:i.issues},[...o,...i.path]);else{let e=[...o,...i.path];if(0===e.length)r._errors.push(t(i));else{let n=r,o=0;for(;o<e.length;){let r=e[o],s=o===e.length-1;if("_errors"===r){s&&n._errors.push(t(i)),o++;continue}Object.prototype.hasOwnProperty.call(n,r)||Object.defineProperty(n,r,{value:{_errors:[]},enumerable:!0,writable:!0,configurable:!0});let a=n[r];s&&a._errors.push(t(i)),n=a,o++}}}};return n(e),r}function eF(e){let t=[];for(let r of e.map(e=>"object"==typeof e?e.key:e))"number"==typeof r?t.push(`[${r}]`):"symbol"==typeof r?t.push(`[${JSON.stringify(String(r))}]`):/[^\w$]/.test(r)?t.push(`[${JSON.stringify(r)}]`):(t.length&&t.push("."),t.push(r));return t.join("")}e.s(["$ZodError",0,eL,"$ZodRealError",0,eB,"flattenError",0,eG,"formatError",0,eZ,"prettifyError",0,function(e){let t=[];for(let r of[...e.issues].sort((e,t)=>(e.path??[]).length-(t.path??[]).length))t.push(`✖ ${r.message}`),r.path?.length&&t.push(` → at ${eF(r.path)}`);return t.join("\n")},"toDotPath",0,eF,"treeifyError",0,function(e,t=e=>e.message){let r={errors:[]},n=(e,o=[])=>{var i;for(let s of e.issues)if("invalid_union"===s.code&&s.errors.length)s.errors.map(e=>n({issues:e},[...o,...s.path]));else if("invalid_key"===s.code)n({issues:s.issues},[...o,...s.path]);else if("invalid_element"===s.code)n({issues:s.issues},[...o,...s.path]);else{let e=[...o,...s.path];if(0===e.length){r.errors.push(t(s));continue}let n=r,a=0;for(;a<e.length;){let r=e[a],o=a===e.length-1;"string"==typeof r?(n.properties??(n.properties={}),Object.prototype.hasOwnProperty.call(n.properties,r)||Object.defineProperty(n.properties,r,{value:{errors:[]},enumerable:!0,writable:!0,configurable:!0}),n=n.properties[r]):(n.items??(n.items=[]),(i=n.items)[r]??(i[r]={errors:[]}),n=n.items[r]),o&&n.errors.push(t(s)),a++}}};return n(e),r}],67021);let eK=new WeakSet([Object.prototype,Error.prototype]);function eH(e,t,r){Object.defineProperty(e,t,{configurable:!0,enumerable:!1,get(){let e=r(this);return Object.defineProperty(this,t,{value:e,configurable:!0,writable:!0}),e},set(e){Object.defineProperty(this,t,{value:e,configurable:!0,writable:!0})}})}let eW=(e,t)=>{eL.init(e,t),e.name="ZodError";let r=Object.getPrototypeOf(e);eK.has(r)||(eK.add(r),eH(r,"format",e=>t=>eZ(e,t)),eH(r,"flatten",e=>t=>eG(e,t)),eH(r,"addIssue",e=>t=>{e.issues.push(t),e.message=JSON.stringify(e.issues,f,2)}),eH(r,"addIssues",e=>t=>{e.issues.push(...t),e.message=JSON.stringify(e.issues,f,2)}),Object.defineProperty(r,"isEmpty",{configurable:!0,enumerable:!1,get(){return 0===this.issues.length}}))},eV=ez("ZodError",eW),eY=ez("ZodError",eW,void 0,{Parent:Error});e.s(["ZodError",0,eV,"ZodRealError",0,eY],915874)}];
1
+ module.exports=[687388,e=>{"use strict";let t=process.env.THURSDAY_APP_DIR?.trim()||process.cwd(),r=process.env.THURSDAY_HOME?.trim()||process.cwd(),n=process.env.THURSDAY_URL?.trim()||`http://localhost:${process.env.PORT?.trim()||3e3}`,o=`file:${r}/local.db`,i=".ai-workspace",s={workspace:i,artifacts:"artifacts",projects:"projects",scratch:"scratch",bots:"bots",output:".output",skills:{default:"skills",custom:`${i}/.agents/skills`}};e.s(["APP_DIR",0,t,"APP_NAME",0,"Thursday","APP_URL",0,n,"ARTIFACT_VIEW",0,{rows:200,setFiles:120},"ASCII_FACE",0,{charset:"emojiOnly",fontSize:{default:8,min:4,max:16},density:{default:1.4,min:.6,max:2}},"BOT_MEMORY_LISTED",0,20,"BOT_RUN",0,{steps:100,compactAt:5e5,compactHeadroom:.8,summaryWords:{min:600,max:3e3,perTokens:200},depth:2,askBack:3,silenceMs:3e5,autoResumes:3,retryAfterMs:[3e4,12e4,3e5],overflowShrink:.6,compactFiles:40},"BROWSER_GONE_MS",0,1e4,"BROWSER_VIEWPORT",0,"700x700","CALL_EXEC_TIMEOUT_MS",0,15e3,"CALL_HISTORY_PAGE",0,10,"CHATGPT_SIGN_IN",0,{waitMs:6e5,renewBeforeMs:3e5},"CHATGPT_USAGE_HIGH",0,80,"CONNECTED_TOOL_TIMEOUT_MS",0,6e5,"DATA_DIR",0,r,"DB_FILE_NAME",0,o,"EXEC_KILL_GRACE_MS",0,5e3,"EXEC_TIMEOUT_MS",0,18e4,"GATEWAY_LOW_CREDIT",0,1,"INBOX_FINISHED",0,3,"IS_DEV",0,!1,"MEMORY_CONVERSATION_PAGE",0,100,"MEMORY_LIMITS",0,{facts:400,factsPerNote:50,carried:20},"PAGE_SIZE",0,50,"PATHS",0,s,"PROMPT_BUDGET",0,6e3,"PROMPT_LINE",0,{skill:90,toolArgs:30,jobOutcome:160,callTurn:160,botMemory:100},"SEARCH",0,{sources:6,excerptChars:1200,timeoutMs:3e4},"STUDIO_SERVER",0,"studio","TOOL_OUTPUT",0,{max:8e3,head:5500,tail:1500},"WORKSPACE_KEEP",0,{forMs:2592e5,sweepEveryMs:36e5},"WORKSPACE_VIEW",0,{rows:200,textMax:524288,elementMax:0x3200000}])},915874,486618,127438,67021,e=>{"use strict";var t;let r;function n(e){return e}function o(e){return e}function i(){return e=>e}function s(e){}function a(e){throw Error("Unexpected value in exhaustive check")}function l(e){}function c(e){let t=Object.values(e).filter(e=>"number"==typeof e);return Object.entries(e).filter(([e,r])=>-1===t.indexOf(+e)).map(([e,t])=>t)}function u(e,t="|"){return e.map(e=>L(e)).join(t)}function f(e,t){return"bigint"==typeof t?t.toString():t}function p(e){return{get value(){{let t=e();return Object.defineProperty(this,"value",{value:t}),t}}}}function d(e){return null==e}function h(e){let t=+!!e.startsWith("^"),r=e.endsWith("$")?e.length-1:e.length;return e.slice(t,r)}function g(e,t){let r=e/t,n=Math.round(r),o=4*Number.EPSILON*Math.max(Math.abs(r),1);return Math.abs(r-n)<o?0:r-n}e.s(["$ZodAsyncError",()=>eI,"$ZodEncodeError",()=>eM,"$brand",()=>eR,"$constructor",()=>ez,"NEVER",()=>ev,"config",()=>ek,"globalConfig",()=>eN],127438),e.s(["BIGINT_FORMAT_RANGES",()=>Z,"CONSTANT_CATCH",()=>ej,"Class",()=>ey,"NUMBER_FORMAT_RANGES",()=>G,"aborted",()=>J,"allowsEval",()=>z,"assert",()=>l,"assertEqual",()=>n,"assertIs",()=>s,"assertNever",()=>a,"assertNotEqual",()=>o,"assignProp",()=>O,"attachSchema",()=>et,"base64ToUint8Array",()=>eu,"base64urlToUint8Array",()=>ep,"cached",()=>p,"captureStackTrace",()=>A,"cleanEnum",()=>ec,"cleanRegex",()=>h,"clone",()=>$,"cloneDef",()=>E,"codePointLength",()=>ei,"constantCatch",()=>eS,"createTransparentProxy",()=>D,"defineLazy",()=>b,"defineLazyInternal",()=>eP,"esc",()=>S,"escapeRegex",()=>C,"explicitlyAborted",()=>q,"extend",()=>H,"finalizeIssue",()=>er,"floatSafeRemainder",()=>g,"getElementAtPath",()=>P,"getEnumValues",()=>c,"getLengthableOrigin",()=>es,"getParsedType",()=>N,"getSizableOrigin",()=>en,"hexToUint8Array",()=>eh,"hide",()=>eO,"installLazyProp",()=>ew,"isObject",()=>T,"isPlainObject",()=>R,"issue",()=>el,"joinValues",()=>u,"jsonStringifyReplacer",()=>f,"members",()=>eb,"merge",()=>V,"mergeDefs",()=>_,"normalizeParams",()=>U,"nullish",()=>d,"numKeys",()=>M,"objectClone",()=>m,"omit",()=>K,"optionalKeys",()=>B,"own",()=>em,"parsedType",()=>ea,"partial",()=>Y,"pick",()=>F,"prefixIssues",()=>Q,"primitiveTypes",()=>x,"promiseAllObject",()=>w,"propertyKeyTypes",()=>k,"randomString",()=>j,"required",()=>X,"safeExtend",()=>W,"shallowClone",()=>I,"slugify",()=>v,"stringifyPrimitive",()=>L,"toZod",()=>i,"uint8ArrayToBase64",()=>ef,"uint8ArrayToBase64url",()=>ed,"uint8ArrayToHex",()=>eg,"unwrapMessage",()=>ee],486618);let y=Symbol("evaluating");function b(e,t,r){let n;Object.defineProperty(e,t,{get(){if(n!==y)return void 0===n&&(n=y,n=r()),n},set(r){Object.defineProperty(e,t,{value:r})},configurable:!0})}function m(e){return Object.create(Object.getPrototypeOf(e),Object.getOwnPropertyDescriptors(e))}function O(e,t,r){Object.defineProperty(e,t,{value:r,writable:!0,enumerable:!0,configurable:!0})}function _(...e){let t={};for(let r of e)Object.assign(t,Object.getOwnPropertyDescriptors(r));return Object.defineProperties({},t)}function E(e){return _(e._zod.def)}function P(e,t){return t?t.reduce((e,t)=>e?.[t],e):e}function w(e){let t=Object.keys(e);return Promise.all(t.map(t=>e[t])).then(e=>{let r={};for(let n=0;n<t.length;n++)r[t[n]]=e[n];return r})}function j(e=10){let t="abcdefghijklmnopqrstuvwxyz",r="";for(let n=0;n<e;n++)r+=t[Math.floor(Math.random()*t.length)];return r}function S(e){return JSON.stringify(e)}function v(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}let A="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};function T(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}let z=p(()=>{if(eN.jitless||"u">typeof navigator&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{return Function(""),!0}catch(e){return!1}});function R(e){if(!1===T(e))return!1;let t=e.constructor;if(void 0===t||"function"!=typeof t)return!0;let r=t.prototype;return!1!==T(r)&&!1!==Object.prototype.hasOwnProperty.call(r,"isPrototypeOf")}function I(e){return R(e)?{...e}:Array.isArray(e)?[...e]:e instanceof Map?new Map(e):e instanceof Set?new Set(e):e}function M(e){let t=0;for(let r in e)Object.prototype.hasOwnProperty.call(e,r)&&t++;return t}let N=e=>{let t=typeof e;switch(t){case"undefined":return"undefined";case"string":return"string";case"number":return Number.isNaN(e)?"nan":"number";case"boolean":return"boolean";case"function":return"function";case"bigint":return"bigint";case"symbol":return"symbol";case"object":if(Array.isArray(e))return"array";if(null===e)return"null";if(e.then&&"function"==typeof e.then&&e.catch&&"function"==typeof e.catch)return"promise";if("u">typeof Map&&e instanceof Map)return"map";if("u">typeof Set&&e instanceof Set)return"set";if("u">typeof Date&&e instanceof Date)return"date";if("u">typeof File&&e instanceof File)return"file";return"object";default:throw Error(`Unknown data type: ${t}`)}},k=new Set(["string","number","symbol"]),x=new Set(["string","number","bigint","boolean","symbol","undefined"]);function C(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function $(e,t,r){let n=new e._zod.constr(t??e._zod.def);return(!t||r?.parent)&&(n._zod.parent=e),n}function U(e){if(!e)return{};if("string"==typeof e)return{error:()=>e};if(e?.message!==void 0){if(e?.error!==void 0)throw Error("Cannot specify both `message` and `error` params");e.error=e.message}return(delete e.message,"string"==typeof e.error)?{...e,error:()=>e.error}:e}function D(e){let t;return new Proxy({},{get:(r,n,o)=>(t??(t=e()),Reflect.get(t,n,o)),set:(r,n,o,i)=>(t??(t=e()),Reflect.set(t,n,o,i)),has:(r,n)=>(t??(t=e()),Reflect.has(t,n)),deleteProperty:(r,n)=>(t??(t=e()),Reflect.deleteProperty(t,n)),ownKeys:r=>(t??(t=e()),Reflect.ownKeys(t)),getOwnPropertyDescriptor:(r,n)=>(t??(t=e()),Reflect.getOwnPropertyDescriptor(t,n)),defineProperty:(r,n,o)=>(t??(t=e()),Reflect.defineProperty(t,n,o))})}function L(e){return"bigint"==typeof e?e.toString()+"n":"string"==typeof e?`"${e}"`:`${e}`}function B(e){return Object.keys(e).filter(t=>void 0!==e[t]._zod.optin&&"optional"===e[t]._zod.optout)}let G={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-0x80000000,0x7fffffff],uint32:[0,0xffffffff],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]},Z={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};function F(e,t){let r=e._zod.def,n=r.checks;if(n&&n.length>0)throw Error(".pick() cannot be used on object schemas containing refinements");let o=_(e._zod.def,{get shape(){let e={};for(let n of Reflect.ownKeys(t)){if(!Object.prototype.hasOwnProperty.call(r.shape,n))throw Error(`Unrecognized key: "${String(n)}"`);t[n]&&O(e,n,r.shape[n])}return O(this,"shape",e),e},checks:[]});return $(e,o)}function K(e,t){let r=e._zod.def,n=r.checks;if(n&&n.length>0)throw Error(".omit() cannot be used on object schemas containing refinements");let o=_(e._zod.def,{get shape(){let n={...e._zod.def.shape};for(let e of Reflect.ownKeys(t)){if(!Object.prototype.hasOwnProperty.call(r.shape,e))throw Error(`Unrecognized key: "${String(e)}"`);t[e]&&delete n[e]}return O(this,"shape",n),n},checks:[]});return $(e,o)}function H(e,t){if(!R(t))throw Error("Invalid input to extend: expected a plain object");let r=e._zod.def.checks;if(r&&r.length>0){let r=e._zod.def.shape;for(let e of Reflect.ownKeys(t))if(void 0!==Object.getOwnPropertyDescriptor(r,e))throw Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}let n=_(e._zod.def,{get shape(){let r={...e._zod.def.shape,...t};return O(this,"shape",r),r}});return $(e,n)}function W(e,t){if(!R(t))throw Error("Invalid input to safeExtend: expected a plain object");let r=_(e._zod.def,{get shape(){let r={...e._zod.def.shape,...t};return O(this,"shape",r),r}});return $(e,r)}function V(e,t){if(!t?._zod?.def)throw Error("Invalid input to merge: expected an object schema. To merge a plain shape, use `.extend()`.");if(e._zod.def.checks?.length)throw Error(".merge() cannot be used on object schemas containing refinements. Use .safeExtend() instead.");let r=_(e._zod.def,{get shape(){let r={...e._zod.def.shape,...t._zod.def.shape};return O(this,"shape",r),r},get catchall(){return t._zod.def.catchall},checks:t._zod.def.checks??[]});return $(e,r)}function Y(e,t,r,n="partial"){let o=t._zod.def.checks;if(o&&o.length>0)throw Error(`.${n}() cannot be used on object schemas containing refinements`);let i=_(t._zod.def,{get shape(){let n=t._zod.def.shape,o={...n};if(r)for(let t of Reflect.ownKeys(r)){if(!Object.prototype.hasOwnProperty.call(n,t))throw Error(`Unrecognized key: "${String(t)}"`);r[t]&&(o[t]=e?new e({type:"optional",innerType:n[t]}):n[t])}else for(let t of Reflect.ownKeys(n))o[t]=e?new e({type:"optional",innerType:n[t]}):n[t];return O(this,"shape",o),o},checks:[]});return $(t,i)}function X(e,t,r){let n=_(t._zod.def,{get shape(){let n=t._zod.def.shape,o={...n};if(r)for(let t of Reflect.ownKeys(r)){if(!Object.prototype.hasOwnProperty.call(o,t))throw Error(`Unrecognized key: "${String(t)}"`);r[t]&&(o[t]=new e({type:"nonoptional",innerType:n[t]}))}else for(let t of Reflect.ownKeys(n))o[t]=new e({type:"nonoptional",innerType:n[t]});return O(this,"shape",o),o}});return $(t,n)}function J(e,t=0){if(!0===e.aborted)return!0;for(let r=t;r<e.issues.length;r++)if(e.issues[r]?.continue!==!0)return!0;return!1}function q(e,t=0){if(!0===e.aborted)return!0;for(let r=t;r<e.issues.length;r++)if(e.issues[r]?.continue===!1)return!0;return!1}function Q(e,t){return t.map(t=>(t.path??(t.path=[]),t.path.unshift(e),t))}function ee(e){return"string"==typeof e?e:e?.message}function et(e,t,r){var n;for(let o=t;o<e.length;o++)(n=e[o]).schema??(n.schema=r)}function er(e,t,r){let n=e.inst?._zod?.traits;n?.has("$ZodType")&&(n.has("$ZodCheck")?e.schema??(e.schema=e.inst):e.schema=e.inst);let o=e.schema!==e.inst?e.schema?._zod.def?.error:void 0,i=e.message?e.message:ee(e.inst?._zod.def?.error?.(e))??ee(o?.(e))??ee(t?.error?.(e))??ee(r.customError?.(e))??ee(r.localeError?.(e))??"Invalid input",{inst:s,schema:a,continue:l,input:c,...u}=e;return u.path??(u.path=[]),u.message=i,t?.reportInput&&(u.input=c),u}function en(e){return e instanceof Set?"set":e instanceof Map?"map":e instanceof File?"file":"unknown"}let eo=/[\uD800-\uDBFF]/;function ei(e){let t=e.length;if(!eo.test(e))return t;let r=t;for(let n=0;n<t-1;n++)(64512&e.charCodeAt(n))==55296&&(64512&e.charCodeAt(n+1))==56320&&(r--,n++);return r}function es(e){return Array.isArray(e)?"array":"string"==typeof e?"string":"unknown"}function ea(e){let t=typeof e;switch(t){case"number":return Number.isNaN(e)?"nan":"number";case"object":if(null===e)return"null";if(Array.isArray(e))return"array";if(e&&Object.getPrototypeOf(e)!==Object.prototype&&"constructor"in e&&e.constructor)return e.constructor.name}return t}function el(...e){let[t,r,n]=e;return"string"==typeof t?{message:t,code:"custom",input:r,inst:n}:{...t}}function ec(e){return Object.entries(e).filter(([e,t])=>Number.isNaN(Number.parseInt(e,10))).map(e=>e[1])}function eu(e){let t=atob(e),r=new Uint8Array(t.length);for(let e=0;e<t.length;e++)r[e]=t.charCodeAt(e);return r}function ef(e){let t="";for(let r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return btoa(t)}function ep(e){let t=e.replace(/-/g,"+").replace(/_/g,"/"),r="=".repeat((4-t.length%4)%4);return eu(t+r)}function ed(e){return ef(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function eh(e){let t=e.replace(/^0x/,"");if(t.length%2!=0)throw Error("Invalid hex string length");let r=new Uint8Array(t.length/2);for(let e=0;e<t.length;e+=2)r[e/2]=Number.parseInt(t.slice(e,e+2),16);return r}function eg(e){return Array.from(e).map(e=>e.toString(16).padStart(2,"0")).join("")}class ey{constructor(...e){}}function eb(e,t){for(let r in t){let n=Object.getOwnPropertyDescriptor(t,r);n.get?Object.defineProperty(e,r,{...n,enumerable:!1}):function(e,t,r){Object.defineProperty(e,t,{configurable:!0,get(){return this==null?r:em(this,t,r.bind(this))},set(e){em(this,t,e)}})}(e,r,n.value)}}function em(e,t,r,n=!0){return Object.defineProperty(e,t,{configurable:!0,writable:!0,enumerable:n,value:r}),r}function eO(e,t,r){return em(e,t,r,!1)}let e_=!1,eE={configurable:!0,get(){e_=!0}};function eP(e,t,n){let o=Object.getPrototypeOf(e._zod);if(t in o&&r!==e._zod){r=void 0;return}r=e._zod,Object.defineProperty(o,t,{configurable:!0,get(){Object.defineProperty(this,t,eE);let e=e_;e_=!1;try{let r=n(this);return e_?delete this[t]:Object.defineProperty(this,t,{configurable:!0,writable:!0,value:r}),e_=e_||e,r}catch(r){throw delete this[t],e_=e_||e,r}},set(e){Object.defineProperty(this,t,{configurable:!0,writable:!0,value:e})}})}function ew(e,t,r,n){let o,i=t in(o=Object.getPrototypeOf(e))?void 0:o;i&&Object.defineProperty(i,t,{configurable:!0,get(){let e={configurable:!0,writable:!0,enumerable:n,value:void 0};return Object.defineProperty(this,t,e),e.value=r(this),Object.defineProperty(this,t,e),e.value},set(e){Object.defineProperty(this,t,{configurable:!0,writable:!0,enumerable:n,value:e})}})}let ej="~constantCatch";function eS(e){let t=()=>e;return t[ej]=!0,t}let ev=Object.freeze({status:"aborted"}),eA={value:void 0,enumerable:!1},eT="captureStackTrace"in Error?Error:null;function ez(e,t,r,n){function o(e){this.def=e,this.constr=c,this.traits=new Set}o.prototype={};let i=r&&new WeakSet;function s(n,s){if(!n._zod){eA.value=new o(s);try{Object.defineProperty(n,"_zod",eA)}finally{eA.value=void 0}}if(n._zod.traits.has(e))return;if(n._zod.traits.add(e),t(n,s),i){let e=Object.getPrototypeOf(n),t=n._zod.constr.prototype,o=e;for(;o&&o!==t;)o=Object.getPrototypeOf(o);let s=o??e;i.has(s)||(i.add(s),eb(s,r))}let a=c.prototype;for(let e in a)Object.prototype.hasOwnProperty.call(a,e)&&(e in n||(n[e]=a[e].bind(n)))}let a=n?.Parent??Object;class l extends a{}function c(e){let t=n?.Parent?function(e){let t=eT;if(t){let r=t.stackTraceLimit;if("number"==typeof r){try{t.stackTraceLimit=0}catch{return eT=null,new e}try{return new e}finally{t.stackTraceLimit=r}}}return new e}(l):this;s(t,e);let r=t._zod.deferred;if(r){for(let e of r)e();t._zod.deferred=void 0}let o=globalThis.__zod_globalConfig?.postProcessor;return o&&o(t),t}return Object.defineProperty(l,"name",{value:e}),Object.defineProperty(c,"init",{value:s}),Object.defineProperty(c,Symbol.hasInstance,{value:t=>!!n?.Parent&&t instanceof n.Parent||t?._zod?.traits?.has(e)}),Object.defineProperty(c,"name",{value:e}),c}let eR=Symbol("zod_brand");class eI extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}class eM extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`),this.name="ZodEncodeError"}}(t=globalThis).__zod_globalConfig??(t.__zod_globalConfig={});let eN=globalThis.__zod_globalConfig;function ek(e){return e&&Object.assign(eN,e),eN}let ex={get:function(){let e=this._zod;return e.message??(e.message=JSON.stringify(e.def,f,2)),e.message},set:function(e){this._zod.message=e},enumerable:!0,configurable:!0},eC={value:void 0,enumerable:!1},e$={value:void 0,enumerable:!1},eU=new WeakSet([Object.prototype,Error.prototype]),eD=(e,t)=>{e.name="$ZodError",eC.value=e._zod,Object.defineProperty(e,"_zod",eC),e$.value=t,Object.defineProperty(e,"issues",e$),eC.value=void 0,e$.value=void 0,Object.defineProperty(e,"message",ex);let r=Object.getPrototypeOf(e);eU.has(r)||(eU.add(r),Object.defineProperty(r,"toString",{configurable:!0,enumerable:!1,get(){let e=()=>this.message;return Object.defineProperty(this,"toString",{value:e,configurable:!0,writable:!0}),e},set(e){Object.defineProperty(this,"toString",{value:e,configurable:!0,writable:!0})}}))},eL=ez("$ZodError",eD),eB=ez("$ZodError",eD,void 0,{Parent:Error});function eG(e,t=e=>e.message){let r={},n=[];for(let s of e.issues)if(s.path.length>0){var o,i;(o=s.path[0],i=()=>[],!Object.prototype.hasOwnProperty.call(r,o)&&("__proto__"===o?Object.defineProperty(r,o,{value:i(),writable:!0,enumerable:!0,configurable:!0}):r[o]=i()),r[o]).push(t(s))}else n.push(t(s));return{formErrors:n,fieldErrors:r}}function eZ(e,t=e=>e.message){let r={_errors:[]},n=(e,o=[])=>{for(let i of e.issues)if("invalid_union"===i.code&&i.errors.length)i.errors.map(e=>n({issues:e},[...o,...i.path]));else if("invalid_key"===i.code)n({issues:i.issues},[...o,...i.path]);else if("invalid_element"===i.code)n({issues:i.issues},[...o,...i.path]);else{let e=[...o,...i.path];if(0===e.length)r._errors.push(t(i));else{let n=r,o=0;for(;o<e.length;){let r=e[o],s=o===e.length-1;if("_errors"===r){s&&n._errors.push(t(i)),o++;continue}Object.prototype.hasOwnProperty.call(n,r)||Object.defineProperty(n,r,{value:{_errors:[]},enumerable:!0,writable:!0,configurable:!0});let a=n[r];s&&a._errors.push(t(i)),n=a,o++}}}};return n(e),r}function eF(e){let t=[];for(let r of e.map(e=>"object"==typeof e?e.key:e))"number"==typeof r?t.push(`[${r}]`):"symbol"==typeof r?t.push(`[${JSON.stringify(String(r))}]`):/[^\w$]/.test(r)?t.push(`[${JSON.stringify(r)}]`):(t.length&&t.push("."),t.push(r));return t.join("")}e.s(["$ZodError",0,eL,"$ZodRealError",0,eB,"flattenError",0,eG,"formatError",0,eZ,"prettifyError",0,function(e){let t=[];for(let r of[...e.issues].sort((e,t)=>(e.path??[]).length-(t.path??[]).length))t.push(`✖ ${r.message}`),r.path?.length&&t.push(` → at ${eF(r.path)}`);return t.join("\n")},"toDotPath",0,eF,"treeifyError",0,function(e,t=e=>e.message){let r={errors:[]},n=(e,o=[])=>{var i;for(let s of e.issues)if("invalid_union"===s.code&&s.errors.length)s.errors.map(e=>n({issues:e},[...o,...s.path]));else if("invalid_key"===s.code)n({issues:s.issues},[...o,...s.path]);else if("invalid_element"===s.code)n({issues:s.issues},[...o,...s.path]);else{let e=[...o,...s.path];if(0===e.length){r.errors.push(t(s));continue}let n=r,a=0;for(;a<e.length;){let r=e[a],o=a===e.length-1;"string"==typeof r?(n.properties??(n.properties={}),Object.prototype.hasOwnProperty.call(n.properties,r)||Object.defineProperty(n.properties,r,{value:{errors:[]},enumerable:!0,writable:!0,configurable:!0}),n=n.properties[r]):(n.items??(n.items=[]),(i=n.items)[r]??(i[r]={errors:[]}),n=n.items[r]),o&&n.errors.push(t(s)),a++}}};return n(e),r}],67021);let eK=new WeakSet([Object.prototype,Error.prototype]);function eH(e,t,r){Object.defineProperty(e,t,{configurable:!0,enumerable:!1,get(){let e=r(this);return Object.defineProperty(this,t,{value:e,configurable:!0,writable:!0}),e},set(e){Object.defineProperty(this,t,{value:e,configurable:!0,writable:!0})}})}let eW=(e,t)=>{eL.init(e,t),e.name="ZodError";let r=Object.getPrototypeOf(e);eK.has(r)||(eK.add(r),eH(r,"format",e=>t=>eZ(e,t)),eH(r,"flatten",e=>t=>eG(e,t)),eH(r,"addIssue",e=>t=>{e.issues.push(t),e.message=JSON.stringify(e.issues,f,2)}),eH(r,"addIssues",e=>t=>{e.issues.push(...t),e.message=JSON.stringify(e.issues,f,2)}),Object.defineProperty(r,"isEmpty",{configurable:!0,enumerable:!1,get(){return 0===this.issues.length}}))},eV=ez("ZodError",eW),eY=ez("ZodError",eW,void 0,{Parent:Error});e.s(["ZodError",0,eV,"ZodRealError",0,eY],915874)}];
2
2
 
3
3
  //# sourceMappingURL=_0wp4le3._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[864328,e=>{"use strict";var a=e.i(853205),l=e.i(333925);a.z.object({value:a.z.string().min(1),expires_at:a.z.number()});let i=a.z.enum(["openai","chatgpt","anthropic","google","xai","vercel-ai-gateway"]),t=a.z.object({provider:i,model:a.z.string().trim().min(1,"Model name is required").max(80)}),r=a.z.enum(["openai","xai"]),n=a.z.object({provider:r,voice:a.z.string().trim().min(1).max(64).nullish(),model:a.z.string().trim().min(1).max(80).nullish()}),d=a.z.enum(["openai","google","xai","vercel-ai-gateway"]),o=a.z.object({provider:d,model:a.z.string().trim().min(1,"Model name is required").max(120)}),s={openai:{label:"Open AI",apiKeyName:"OPENAI_API_KEY",models:{image:[{id:"gpt-image-1-mini",label:"GPT Image 1 mini",tier:"small"},{id:"gpt-image-2.5-flare",label:"GPT Image 2.5 Flare",tier:"mid"},{id:"gpt-image-2.5-sunburst",label:"GPT Image 2.5 Sunburst",tier:"large"}],video:[],speech:[{id:"tts-1",label:"TTS 1",tier:"small"},{id:"gpt-4o-mini-tts",label:"4o mini TTS",tier:"mid"},{id:"tts-1-hd",label:"TTS 1 HD",tier:"large"}],transcription:[{id:"gpt-4o-mini-transcribe",label:"4o mini Transcribe",tier:"small"},{id:"gpt-transcribe",label:"GPT Transcribe",tier:"mid"}]}},google:{label:"Gemini",apiKeyName:"GOOGLE_GENERATIVE_AI_API_KEY",models:{image:[{id:"gemini-3.1-flash-lite-image",label:"3.1 Flash Lite Image",tier:"small"},{id:"gemini-3.1-flash-image",label:"3.1 Flash Image",tier:"mid"},{id:"gemini-3-pro-image",label:"3 Pro Image",tier:"large"}],video:[{id:"veo-3.1-lite-generate-preview",label:"Veo 3.1 Lite",tier:"small"},{id:"veo-3.1-fast-generate-preview",label:"Veo 3.1 Fast",tier:"mid"},{id:"veo-3.1-generate-preview",label:"Veo 3.1",tier:"large"}],speech:[{id:"gemini-2.5-flash-preview-tts",label:"2.5 Flash TTS",tier:"small"},{id:"gemini-3.1-flash-tts-preview",label:"3.1 Flash TTS",tier:"mid"},{id:"gemini-2.5-pro-preview-tts",label:"2.5 Pro TTS",tier:"large"}],transcription:[{id:"gemini-3.5-transcribe",label:"3.5 Transcribe",tier:"mid"}]}},xai:{label:"xAI",apiKeyName:"XAI_API_KEY",models:{image:[{id:"grok-imagine-image",label:"Grok Imagine",tier:"small"},{id:"grok-imagine-image-2.0",label:"Grok Imagine 2.0",tier:"mid"}],video:[{id:"grok-imagine-video",label:"Grok Imagine Video",tier:"small"},{id:"grok-imagine-video-1.5",label:"Grok Imagine Video 1.5",tier:"mid"}],speech:[{id:"grok-tts",label:"Grok TTS",tier:"mid"}],transcription:[{id:"grok-stt",label:"Grok STT",tier:"mid"}]}},"vercel-ai-gateway":{label:"Vercel AI GateWay",apiKeyName:"AI_GATEWAY_API_KEY",models:{image:[{id:"bytedance/seedream-5.0-lite",label:"Seedream 5.0 Lite",tier:"small"},{id:"bfl/flux-2-klein-9b",label:"FLUX 2 Klein 9B",tier:"small"},{id:"spacexai/grok-imagine-image-2.0",label:"Grok Imagine 2.0",tier:"small"},{id:"google/gemini-3.1-flash-image",label:"Gemini 3.1 Flash Image",tier:"mid"},{id:"bfl/flux-2-pro",label:"FLUX 2 Pro",tier:"mid"},{id:"bytedance/seedream-5.0-pro",label:"Seedream 5.0 Pro",tier:"mid"},{id:"recraft/recraft-v4.1",label:"Recraft V4.1",tier:"mid"},{id:"google/gemini-3-pro-image",label:"Gemini 3 Pro Image",tier:"large"},{id:"openai/gpt-image-2.5-sunburst",label:"GPT Image 2.5 Sunburst",tier:"large"}],video:[{id:"bytedance/seedance-2.0-mini",label:"Seedance 2.0 Mini",tier:"small"},{id:"google/veo-3.1-lite-generate-001",label:"Veo 3.1 Lite",tier:"small"},{id:"alibaba/wan-v2.6-t2v",label:"Wan 2.6",tier:"small"},{id:"google/veo-3.1-fast-generate-001",label:"Veo 3.1 Fast",tier:"mid"},{id:"bytedance/seedance-2.5",label:"Seedance 2.5",tier:"mid"},{id:"spacexai/grok-imagine-video-1.5",label:"Grok Imagine Video 1.5",tier:"mid"},{id:"klingai/kling-v3.0-t2v",label:"Kling 3.0",tier:"large"},{id:"google/veo-3.1-generate-001",label:"Veo 3.1",tier:"large"}],speech:[{id:"fish-audio/s1",label:"Fish Audio S1",tier:"small"},{id:"openai/tts-1",label:"OpenAI TTS 1",tier:"small"},{id:"spacexai/grok-tts",label:"Grok TTS",tier:"mid"},{id:"fish-audio/s2.1-pro",label:"Fish Audio S2.1 Pro",tier:"mid"},{id:"openai/tts-1-hd",label:"OpenAI TTS 1 HD",tier:"large"}],transcription:[{id:"spacexai/grok-stt",label:"Grok STT",tier:"small"},{id:"fish-audio/transcribe-1",label:"Fish Transcribe 1",tier:"small"},{id:"openai/gpt-4o-mini-transcribe",label:"4o mini Transcribe",tier:"small"},{id:"openai/gpt-4o-transcribe",label:"4o Transcribe",tier:"mid"},{id:"google/gemini-3.5-transcribe",label:"Gemini 3.5 Transcribe",tier:"mid"}]}}},m=Object.keys(s).map(e=>({id:e,...s[e]})),u={openai:{label:"Open AI",apiKeyName:"OPENAI_API_KEY",suggestModels:[{id:"gpt-5.6-luna",label:"5.6 Luna",tier:"small",context:105e4},{id:"gpt-5.6-terra",label:"5.6 Terra",tier:"mid",context:105e4},{id:"gpt-5.6-sol",label:"5.6 Sol",tier:"large",context:105e4},{id:"gpt-6-astra",label:"6 Astra",tier:"large",context:105e4}]},chatgpt:{label:"GPT Subscription",apiKeyName:"CHATGPT_SIGN_IN",signIn:!0,suggestModels:[{id:"gpt-5.6-luna",label:"5.6 Luna",tier:"small",context:272e3},{id:"gpt-5.6-terra",label:"5.6 Terra",tier:"mid",context:272e3},{id:"gpt-5.6-sol",label:"5.6 Sol",tier:"large",context:272e3},{id:"gpt-6-astra",label:"6 Astra",tier:"large",context:272e3}]},anthropic:{label:"Claude",apiKeyName:"ANTHROPIC_API_KEY",suggestModels:[{id:"claude-haiku-4-5",label:"Haiku 4.5",tier:"small"},{id:"claude-sonnet-5",label:"Sonnet 5",tier:"mid",context:1e6},{id:"claude-opus-5",label:"Opus 5",tier:"large",context:1e6},{id:"claude-fable-5-1",label:"Fable 5.1",tier:"large"}]},google:{label:"Gemini",apiKeyName:"GOOGLE_GENERATIVE_AI_API_KEY",suggestModels:[{id:"gemini-3.5-flash-lite",label:"3.5 Flash Lite",tier:"small",context:1e6},{id:"gemini-3.8-flash",label:"3.8 Flash",tier:"mid",context:1e6}]},xai:{label:"xAI",apiKeyName:"XAI_API_KEY",suggestModels:[{id:"grok-4.6",label:"Grok 4.6",tier:"large",context:5e5}]},"vercel-ai-gateway":{label:"Vercel AI GateWay",apiKeyName:"AI_GATEWAY_API_KEY",suggestModels:[{id:"zai/glm-5.3-flash",label:"GLM 5.3 Flash",tier:"small"},{id:"google/gemini-3.8-flash",label:"Gemini 3.8 Flash",tier:"small"},{id:"openai/gpt-5.6-luna",label:"GPT 5.6 Luna",tier:"small",context:105e4},{id:"zai/glm-5.3",label:"GLM 5.3",tier:"mid"},{id:"spacexai/grok-4.6",label:"Grok 4.6",tier:"mid",context:5e5},{id:"anthropic/claude-sonnet-5",label:"Claude Sonnet 5",tier:"mid"},{id:"openai/gpt-5.6-terra",label:"GPT 5.6 Terra",tier:"mid",context:105e4},{id:"moonshotai/kimi-k3",label:"Kimi K3",tier:"mid"},{id:"openai/gpt-5.6-sol",label:"GPT 5.6 Sol",tier:"large",context:105e4},{id:"anthropic/claude-opus-5",label:"Claude Opus 5",tier:"large",context:1e6},{id:"openai/gpt-6-astra",label:"GPT 6 Astra",tier:"large",context:105e4}]}},g={openai:{apiKeyName:u.openai.apiKeyName,label:u.openai.label,keyPrefix:["sk-"],models:[{id:"gpt-realtime-2.1",label:"Realtime 2.1"},{id:"gpt-realtime-2.1-mini",label:"Realtime 2.1 mini"},{id:"gpt-realtime-2",label:"Realtime 2"}],voices:["marin","cedar","alloy","ash","ballad","coral","echo","sage","shimmer","verse"],defaultVoice:"marin"},xai:{apiKeyName:u.xai.apiKeyName,label:u.xai.label,keyPrefix:["xai-"],models:[{id:"grok-voice-think-fast-2.0",label:"Voice Think Fast 2.0"},{id:"grok-voice-latest",label:"Voice latest"}],voices:["eve","ara","leo","rex","sal"],defaultVoice:"eve"}},b=Object.keys(g).map(e=>({id:e,...g[e]})),c=Object.keys(u).map(e=>({id:e,...u[e]}));e.s(["GATEWAY_TEXT",0,"language","MEDIA_MODEL_PROVIDERS",0,s,"MEDIA_MODEL_PROVIDER_LIST",0,m,"SPEACH_MODEL_PROVIDERS",0,g,"SPEACH_MODEL_PROVIDER_LIST",0,b,"TEXT_MODEL_PROVIDERS",0,u,"TEXT_MODEL_PROVIDER_LIST",0,c,"canMakeKind",0,(e,a)=>(s[e]?.models[a]?.length??0)>0,"compactAtFor",0,e=>e&&e>0?Math.round(e*l.BOT_RUN.compactHeadroom):l.BOT_RUN.compactAt,"contextWindowOf",0,function(e,a,l=[]){if("vercel-ai-gateway"===e)return l.find(e=>e.id===a)?.contextWindow??null;let i=u[e].suggestModels;return i.find(e=>e.id===a)?.context??null},"defaultModelOf",0,e=>(e.suggestModels.find(e=>"mid"===e.tier)??e.suggestModels[0])?.id,"parseMediaModel",0,function(e){let[a,...l]=(e??"").trim().split("/"),i=o.safeParse({provider:a,model:l.join("/")});return i.success?i.data:null},"parseTextModel",0,function(e){let[a,...l]=(e??"").trim().split("/"),i=t.safeParse({provider:a,model:l.join("/")});return i.success?i.data:null},"speachModelRefSchema",0,n,"textModelProviderSchema",0,i],864328)},951056,986129,e=>{"use strict";var a=e.i(517435),l=e.i(333925),i=e.i(864328),t=e.i(900533);let r={name:{max:16},shortDescription:{max:60},description:{max:100},prompt:{max:4e3}};e.s(["COMMON_VALIDATE",0,r],986129);var n=e.i(64774);Array(8).fill(0);let d="currentColor",o=[{id:"system",label:"System",value:d},{id:"slate",label:"Slate",value:"#64748B"},{id:"indigo",label:"Indigo",value:"#6366F1"},{id:"blue",label:"Blue",value:"#3B82F6"},{id:"cyan",label:"Cyan",value:"#06B6D4"},{id:"teal",label:"Teal",value:"#14B8A6"},{id:"green",label:"Green",value:"#22C55E"},{id:"lime",label:"Lime",value:"#84CC16"},{id:"amber",label:"Amber",value:"#F59E0B"},{id:"orange",label:"Orange",value:"#F97316"},{id:"red",label:"Red",value:"#EF4444"},{id:"pink",label:"Pink",value:"#EC4899"},{id:"violet",label:"Violet",value:"#8B5CF6"},{id:"fuchsia",label:"Fuchsia",value:"#D946EF"},{id:"rose",label:"Rose",value:"#F43F5E"},{id:"sky",label:"Sky",value:"#0EA5E9"},{id:"emerald",label:"Emerald",value:"#10B981"},{id:"yellow",label:"Yellow",value:"#EAB308"},{id:"stone",label:"Stone",value:"#78716C"},{id:"navy",label:"Navy",value:"#1E3A8A",dark:!0},{id:"ocean",label:"Ocean",value:"#155E75",dark:!0},{id:"pine",label:"Pine",value:"#166534",dark:!0},{id:"moss",label:"Moss",value:"#3F6212",dark:!0},{id:"olive",label:"Olive",value:"#854D0E",dark:!0},{id:"rust",label:"Rust",value:"#9A3412",dark:!0},{id:"wine",label:"Wine",value:"#9F1239",dark:!0},{id:"plum",label:"Plum",value:"#6B21A8",dark:!0},{id:"grape",label:"Grape",value:"#5B21B6",dark:!0},{id:"iron",label:"Iron",value:"#334155",dark:!0}],s=Object.fromEntries(o.map(e=>[e.id,e.value]));o.filter(e=>e.value!==d).map(e=>e.value),s.amber,s.red,o.filter(e=>e.value!==d&&!("dark"in e)).map(e=>e.value),o.filter(e=>"dark"in e).map(e=>e.value);let m=a.default.object({color:a.default.string().regex(/^(#[0-9a-fA-F]{6}|currentColor)$/,"Hex color").optional(),shape:a.default.enum(["blob","poly","squircle"]).optional(),outline:a.default.boolean().optional()}),u=a.default.string().max(r.prompt.max),g=a.default.object({id:a.default.number(),name:a.default.string(),serverName:a.default.string()}),b=a.default.string().trim().transform(e=>e.replace(/\s+/g," ")).pipe(a.default.string().min(1,"A name is required").max(r.name.max)),c=a.default.object({input:a.default.number(),output:a.default.number()});a.default.object({name:a.default.string(),description:a.default.string(),systemPrompt:a.default.string().nullish(),icon:m.nullish(),provider:i.textModelProviderSchema.nullish(),model:a.default.string().nullish(),compactAt:a.default.number().nullish(),disabled:a.default.boolean(),createdAt:t.DateLikeSchema,tools:g.array().default([]),tokens:c,lastJobAt:t.DateLikeSchema.nullish()}),a.default.object({name:b,description:a.default.string().trim().min(1,"Say what this bot is for").max(r.description.max),systemPrompt:u.optional(),icon:m.optional(),provider:i.textModelProviderSchema.nullish(),model:a.default.string().trim().max(80).nullish(),compactAt:a.default.coerce.number().int().min(8e3,"At least 8k").nullish(),disabled:a.default.boolean().optional(),toolIds:a.default.number().int().array().max(10).default([])}),a.default.object({file:a.default.string(),path:a.default.string(),line:a.default.string(),at:t.DateLikeSchema,bytes:a.default.number()});let p=l.PAGE_SIZE,f=a.default.discriminatedUnion("type",[a.default.object({type:a.default.literal("text"),text:a.default.string()}),a.default.object({type:a.default.literal("image"),src:a.default.string()})]),v=a.default.object({id:a.default.string(),seq:a.default.number(),bot:a.default.string().nullable(),parent:a.default.string().nullable(),at:t.DateLikeSchema}),k=a.default.discriminatedUnion("kind",[v.extend({kind:a.default.literal("user"),text:a.default.string()}),v.extend({kind:a.default.literal("text"),text:a.default.string()}),v.extend({kind:a.default.literal("note"),text:a.default.string()}),v.extend({kind:a.default.literal("tool"),callId:a.default.string(),name:a.default.string(),input:a.default.string(),note:a.default.string().nullish(),path:a.default.string().nullish()}),v.extend({kind:a.default.literal("tool-result"),callId:a.default.string(),name:a.default.string(),results:f.array(),more:a.default.boolean()}),v.extend({kind:a.default.literal("ask"),callId:a.default.string(),to:a.default.string(),text:a.default.string()}),v.extend({kind:a.default.literal("ask-result"),callId:a.default.string(),text:a.default.string()}),v.extend({kind:a.default.literal("waiting"),callId:a.default.string(),question:a.default.string(),options:a.default.string().array()})]),x=a.default.object({question:a.default.string(),options:a.default.string().array(),auto:a.default.boolean()});a.default.object({id:a.default.string(),bot:a.default.string(),label:a.default.string(),request:a.default.string(),status:a.default.enum(["running","waiting","done","failed"]),outcome:a.default.string().nullable(),ask:x.nullable(),seen:a.default.boolean(),tokens:c,contextTokens:a.default.number(),contextBudget:a.default.number(),createdAt:t.DateLikeSchema,updatedAt:t.DateLikeSchema,lines:k.array()}),e.s(["BOT_MEMORY_KEY",0,"BOT_MEMORY","COMPACT_AT_MIN",0,8e3,"DEFAULT_BOT",0,{name:"Jarvis",description:"Anything — this computer, a browser, the web, files, services",systemPrompt:null,icon:{color:"#14B8A6",shape:"squircle"},provider:null,model:null,disabled:!1,compactAt:null},"NO_TOKENS",0,{input:0,output:0},"TASK_CONTINUE",0,"Continue","TASK_HISTORY_PAGE",0,p,"botIconSchema",0,m,"isBotMemoryOn",0,e=>e?.trim()!=="off","taskActivity",0,function(e,a=120){let l=null;for(let i=e.length-1;i>=0;i--){let t=e[i];if("tool"===t.kind)l??=`${t.name} ${t.note??t.input}`;else if("text"===t.kind)return(0,n.clip)(l?`${t.text} → ${l}`:t.text,a);else if("ask"===t.kind)return(0,n.clip)(t.parent?`asked ${t.to}: ${t.text}`:`asked ${t.to} for: ${t.text}`,a);else if("user"===t.kind||"waiting"===t.kind)break}return l?(0,n.clip)(l,a):null}],951056)},517435,e=>{"use strict";var a=e.i(794588);e.s(["default",0,a])}];
1
+ module.exports=[864328,e=>{"use strict";var a=e.i(853205),l=e.i(333925);a.z.object({value:a.z.string().min(1),expires_at:a.z.number()});let i=a.z.enum(["openai","chatgpt","anthropic","google","xai","vercel-ai-gateway"]),t=a.z.object({provider:i,model:a.z.string().trim().min(1,"Model name is required").max(80)}),r=a.z.enum(["openai","xai"]),n=a.z.object({provider:r,voice:a.z.string().trim().min(1).max(64).nullish(),model:a.z.string().trim().min(1).max(80).nullish()}),d=a.z.enum(["openai","google","xai","vercel-ai-gateway"]),o=a.z.object({provider:d,model:a.z.string().trim().min(1,"Model name is required").max(120)}),s={openai:{label:"Open AI",apiKeyName:"OPENAI_API_KEY",models:{image:[{id:"gpt-image-1-mini",label:"GPT Image 1 mini",tier:"small"},{id:"gpt-image-2.5-flare",label:"GPT Image 2.5 Flare",tier:"mid"},{id:"gpt-image-2.5-sunburst",label:"GPT Image 2.5 Sunburst",tier:"large"}],video:[],speech:[{id:"tts-1",label:"TTS 1",tier:"small"},{id:"gpt-4o-mini-tts",label:"4o mini TTS",tier:"mid"},{id:"tts-1-hd",label:"TTS 1 HD",tier:"large"}],transcription:[{id:"gpt-4o-mini-transcribe",label:"4o mini Transcribe",tier:"small"},{id:"gpt-transcribe",label:"GPT Transcribe",tier:"mid"}]}},google:{label:"Gemini",apiKeyName:"GOOGLE_GENERATIVE_AI_API_KEY",models:{image:[{id:"gemini-3.1-flash-lite-image",label:"3.1 Flash Lite Image",tier:"small"},{id:"gemini-3.1-flash-image",label:"3.1 Flash Image",tier:"mid"},{id:"gemini-3-pro-image",label:"3 Pro Image",tier:"large"}],video:[{id:"veo-3.1-lite-generate-preview",label:"Veo 3.1 Lite",tier:"small"},{id:"veo-3.1-fast-generate-preview",label:"Veo 3.1 Fast",tier:"mid"},{id:"veo-3.1-generate-preview",label:"Veo 3.1",tier:"large"}],speech:[{id:"gemini-2.5-flash-preview-tts",label:"2.5 Flash TTS",tier:"small"},{id:"gemini-3.1-flash-tts-preview",label:"3.1 Flash TTS",tier:"mid"},{id:"gemini-2.5-pro-preview-tts",label:"2.5 Pro TTS",tier:"large"}],transcription:[{id:"gemini-3.5-transcribe",label:"3.5 Transcribe",tier:"mid"}]}},xai:{label:"xAI",apiKeyName:"XAI_API_KEY",models:{image:[{id:"grok-imagine-image",label:"Grok Imagine",tier:"small"},{id:"grok-imagine-image-2.0",label:"Grok Imagine 2.0",tier:"mid"}],video:[{id:"grok-imagine-video",label:"Grok Imagine Video",tier:"small"},{id:"grok-imagine-video-1.5",label:"Grok Imagine Video 1.5",tier:"mid"}],speech:[{id:"grok-tts",label:"Grok TTS",tier:"mid"}],transcription:[{id:"grok-stt",label:"Grok STT",tier:"mid"}]}},"vercel-ai-gateway":{label:"Vercel AI GateWay",apiKeyName:"AI_GATEWAY_API_KEY",models:{image:[{id:"bytedance/seedream-5.0-lite",label:"Seedream 5.0 Lite",tier:"small"},{id:"bfl/flux-2-klein-9b",label:"FLUX 2 Klein 9B",tier:"small"},{id:"spacexai/grok-imagine-image-2.0",label:"Grok Imagine 2.0",tier:"small"},{id:"google/gemini-3.1-flash-image",label:"Gemini 3.1 Flash Image",tier:"mid"},{id:"bfl/flux-2-pro",label:"FLUX 2 Pro",tier:"mid"},{id:"bytedance/seedream-5.0-pro",label:"Seedream 5.0 Pro",tier:"mid"},{id:"recraft/recraft-v4.1",label:"Recraft V4.1",tier:"mid"},{id:"google/gemini-3-pro-image",label:"Gemini 3 Pro Image",tier:"large"},{id:"openai/gpt-image-2.5-sunburst",label:"GPT Image 2.5 Sunburst",tier:"large"}],video:[{id:"bytedance/seedance-2.0-mini",label:"Seedance 2.0 Mini",tier:"small"},{id:"google/veo-3.1-lite-generate-001",label:"Veo 3.1 Lite",tier:"small"},{id:"alibaba/wan-v2.6-t2v",label:"Wan 2.6",tier:"small"},{id:"google/veo-3.1-fast-generate-001",label:"Veo 3.1 Fast",tier:"mid"},{id:"bytedance/seedance-2.5",label:"Seedance 2.5",tier:"mid"},{id:"spacexai/grok-imagine-video-1.5",label:"Grok Imagine Video 1.5",tier:"mid"},{id:"klingai/kling-v3.0-t2v",label:"Kling 3.0",tier:"large"},{id:"google/veo-3.1-generate-001",label:"Veo 3.1",tier:"large"}],speech:[{id:"fish-audio/s1",label:"Fish Audio S1",tier:"small"},{id:"openai/tts-1",label:"OpenAI TTS 1",tier:"small"},{id:"spacexai/grok-tts",label:"Grok TTS",tier:"mid"},{id:"fish-audio/s2.1-pro",label:"Fish Audio S2.1 Pro",tier:"mid"},{id:"openai/tts-1-hd",label:"OpenAI TTS 1 HD",tier:"large"}],transcription:[{id:"spacexai/grok-stt",label:"Grok STT",tier:"small"},{id:"fish-audio/transcribe-1",label:"Fish Transcribe 1",tier:"small"},{id:"openai/gpt-4o-mini-transcribe",label:"4o mini Transcribe",tier:"small"},{id:"openai/gpt-4o-transcribe",label:"4o Transcribe",tier:"mid"},{id:"google/gemini-3.5-transcribe",label:"Gemini 3.5 Transcribe",tier:"mid"}]}}},m=Object.keys(s).map(e=>({id:e,...s[e]})),u={openai:{label:"Open AI",apiKeyName:"OPENAI_API_KEY",suggestModels:[{id:"gpt-5.6-luna",label:"5.6 Luna",tier:"small",context:105e4},{id:"gpt-5.6-terra",label:"5.6 Terra",tier:"mid",context:105e4},{id:"gpt-5.6-sol",label:"5.6 Sol",tier:"large",context:105e4},{id:"gpt-6-astra",label:"6 Astra",tier:"large",context:105e4}]},chatgpt:{label:"GPT Subscription",apiKeyName:"CHATGPT_SIGN_IN",signIn:!0,suggestModels:[{id:"gpt-5.6-luna",label:"5.6 Luna",tier:"small",context:272e3},{id:"gpt-5.6-terra",label:"5.6 Terra",tier:"mid",context:272e3},{id:"gpt-5.6-sol",label:"5.6 Sol",tier:"large",context:272e3},{id:"gpt-6-astra",label:"6 Astra",tier:"large",context:272e3}]},anthropic:{label:"Claude",apiKeyName:"ANTHROPIC_API_KEY",suggestModels:[{id:"claude-haiku-4-5",label:"Haiku 4.5",tier:"small"},{id:"claude-sonnet-5",label:"Sonnet 5",tier:"mid",context:1e6},{id:"claude-opus-5",label:"Opus 5",tier:"large",context:1e6},{id:"claude-fable-5-1",label:"Fable 5.1",tier:"large"}]},google:{label:"Gemini",apiKeyName:"GOOGLE_GENERATIVE_AI_API_KEY",suggestModels:[{id:"gemini-3.5-flash-lite",label:"3.5 Flash Lite",tier:"small",context:1e6},{id:"gemini-3.8-flash",label:"3.8 Flash",tier:"mid",context:1e6}]},xai:{label:"xAI",apiKeyName:"XAI_API_KEY",suggestModels:[{id:"grok-4.6",label:"Grok 4.6",tier:"large",context:5e5}]},"vercel-ai-gateway":{label:"Vercel AI GateWay",apiKeyName:"AI_GATEWAY_API_KEY",suggestModels:[{id:"zai/glm-5.3-flash",label:"GLM 5.3 Flash",tier:"small"},{id:"google/gemini-3.8-flash",label:"Gemini 3.8 Flash",tier:"small"},{id:"openai/gpt-5.6-luna",label:"GPT 5.6 Luna",tier:"small",context:105e4},{id:"zai/glm-5.3",label:"GLM 5.3",tier:"mid"},{id:"spacexai/grok-4.6",label:"Grok 4.6",tier:"mid",context:5e5},{id:"anthropic/claude-sonnet-5",label:"Claude Sonnet 5",tier:"mid"},{id:"openai/gpt-5.6-terra",label:"GPT 5.6 Terra",tier:"mid",context:105e4},{id:"moonshotai/kimi-k3",label:"Kimi K3",tier:"mid"},{id:"openai/gpt-5.6-sol",label:"GPT 5.6 Sol",tier:"large",context:105e4},{id:"anthropic/claude-opus-5",label:"Claude Opus 5",tier:"large",context:1e6},{id:"openai/gpt-6-astra",label:"GPT 6 Astra",tier:"large",context:105e4}]}},g={openai:{apiKeyName:u.openai.apiKeyName,label:u.openai.label,keyPrefix:["sk-"],models:[{id:"gpt-realtime-2.1",label:"Realtime 2.1"},{id:"gpt-realtime-2.1-mini",label:"Realtime 2.1 mini"},{id:"gpt-realtime-2",label:"Realtime 2"}],voices:["marin","cedar","alloy","ash","ballad","coral","echo","sage","shimmer","verse"],defaultVoice:"marin"},xai:{apiKeyName:u.xai.apiKeyName,label:u.xai.label,keyPrefix:["xai-"],models:[{id:"grok-voice-think-fast-2.0",label:"Voice Think Fast 2.0"},{id:"grok-voice-latest",label:"Voice latest"}],voices:["eve","ara","leo","rex","sal"],defaultVoice:"eve"}},b=Object.keys(g).map(e=>({id:e,...g[e]})),c=Object.keys(u).map(e=>({id:e,...u[e]}));e.s(["GATEWAY_TEXT",0,"language","MEDIA_MODEL_PROVIDERS",0,s,"MEDIA_MODEL_PROVIDER_LIST",0,m,"SPEACH_MODEL_PROVIDERS",0,g,"SPEACH_MODEL_PROVIDER_LIST",0,b,"TEXT_MODEL_PROVIDERS",0,u,"TEXT_MODEL_PROVIDER_LIST",0,c,"canMakeKind",0,(e,a)=>(s[e]?.models[a]?.length??0)>0,"compactAtFor",0,e=>e&&e>0?Math.round(e*l.BOT_RUN.compactHeadroom):l.BOT_RUN.compactAt,"contextWindowOf",0,function(e,a,l=[]){if("vercel-ai-gateway"===e)return l.find(e=>e.id===a)?.contextWindow??null;let i=u[e].suggestModels;return i.find(e=>e.id===a)?.context??null},"defaultModelOf",0,e=>(e.suggestModels.find(e=>"mid"===e.tier)??e.suggestModels[0])?.id,"parseMediaModel",0,function(e){let[a,...l]=(e??"").trim().split("/"),i=o.safeParse({provider:a,model:l.join("/")});return i.success?i.data:null},"parseTextModel",0,function(e){let[a,...l]=(e??"").trim().split("/"),i=t.safeParse({provider:a,model:l.join("/")});return i.success?i.data:null},"speachModelRefSchema",0,n,"textModelProviderSchema",0,i],864328)},951056,986129,e=>{"use strict";var a=e.i(517435),l=e.i(333925),i=e.i(864328),t=e.i(900533);let r={name:{max:16},shortDescription:{max:60},description:{max:100},prompt:{max:4e3}};e.s(["COMMON_VALIDATE",0,r],986129);var n=e.i(64774);Array(8).fill(0);let d="currentColor",o=[{id:"system",label:"System",value:d},{id:"slate",label:"Slate",value:"#64748B"},{id:"indigo",label:"Indigo",value:"#6366F1"},{id:"blue",label:"Blue",value:"#3B82F6"},{id:"cyan",label:"Cyan",value:"#06B6D4"},{id:"teal",label:"Teal",value:"#14B8A6"},{id:"green",label:"Green",value:"#22C55E"},{id:"lime",label:"Lime",value:"#84CC16"},{id:"amber",label:"Amber",value:"#F59E0B"},{id:"orange",label:"Orange",value:"#F97316"},{id:"red",label:"Red",value:"#EF4444"},{id:"pink",label:"Pink",value:"#EC4899"},{id:"violet",label:"Violet",value:"#8B5CF6"},{id:"fuchsia",label:"Fuchsia",value:"#D946EF"},{id:"rose",label:"Rose",value:"#F43F5E"},{id:"sky",label:"Sky",value:"#0EA5E9"},{id:"emerald",label:"Emerald",value:"#10B981"},{id:"yellow",label:"Yellow",value:"#EAB308"},{id:"stone",label:"Stone",value:"#78716C"},{id:"navy",label:"Navy",value:"#1E3A8A",dark:!0},{id:"ocean",label:"Ocean",value:"#155E75",dark:!0},{id:"pine",label:"Pine",value:"#166534",dark:!0},{id:"moss",label:"Moss",value:"#3F6212",dark:!0},{id:"olive",label:"Olive",value:"#854D0E",dark:!0},{id:"rust",label:"Rust",value:"#9A3412",dark:!0},{id:"wine",label:"Wine",value:"#9F1239",dark:!0},{id:"plum",label:"Plum",value:"#6B21A8",dark:!0},{id:"grape",label:"Grape",value:"#5B21B6",dark:!0},{id:"iron",label:"Iron",value:"#334155",dark:!0}],s=Object.fromEntries(o.map(e=>[e.id,e.value]));o.filter(e=>e.value!==d).map(e=>e.value),s.amber,s.red,o.filter(e=>e.value!==d&&!("dark"in e)).map(e=>e.value),o.filter(e=>"dark"in e).map(e=>e.value);let m=a.default.object({color:a.default.string().regex(/^(#[0-9a-fA-F]{6}|currentColor)$/,"Hex color").optional(),shape:a.default.enum(["blob","poly","squircle"]).optional(),outline:a.default.boolean().optional()}),u=a.default.string().max(r.prompt.max),g=a.default.object({id:a.default.number(),name:a.default.string(),serverName:a.default.string()}),b=a.default.string().trim().transform(e=>e.replace(/\s+/g," ")).pipe(a.default.string().min(1,"A name is required").max(r.name.max)),c=a.default.object({input:a.default.number(),output:a.default.number()});a.default.object({name:a.default.string(),description:a.default.string(),systemPrompt:a.default.string().nullish(),icon:m.nullish(),provider:i.textModelProviderSchema.nullish(),model:a.default.string().nullish(),compactAt:a.default.number().nullish(),disabled:a.default.boolean(),createdAt:t.DateLikeSchema,tools:g.array().default([]),tokens:c,lastJobAt:t.DateLikeSchema.nullish()}),a.default.object({name:b,description:a.default.string().trim().min(1,"Say what this bot is for").max(r.description.max),systemPrompt:u.optional(),icon:m.optional(),provider:i.textModelProviderSchema.nullish(),model:a.default.string().trim().max(80).nullish(),compactAt:a.default.coerce.number().int().min(8e3,"At least 8k").nullish(),disabled:a.default.boolean().optional(),toolIds:a.default.number().int().array().max(10).default([])}),a.default.object({file:a.default.string(),path:a.default.string(),line:a.default.string(),at:t.DateLikeSchema,bytes:a.default.number()});let p=l.PAGE_SIZE,f={thursday:"Thursday, on the call:",user:"The user, on screen:"},v=a.default.discriminatedUnion("type",[a.default.object({type:a.default.literal("text"),text:a.default.string()}),a.default.object({type:a.default.literal("image"),src:a.default.string()})]),k=a.default.object({id:a.default.string(),seq:a.default.number(),bot:a.default.string().nullable(),parent:a.default.string().nullable(),at:t.DateLikeSchema}),x=a.default.discriminatedUnion("kind",[k.extend({kind:a.default.literal("user"),text:a.default.string()}),k.extend({kind:a.default.literal("text"),text:a.default.string()}),k.extend({kind:a.default.literal("note"),text:a.default.string()}),k.extend({kind:a.default.literal("stop"),text:a.default.string()}),k.extend({kind:a.default.literal("tool"),callId:a.default.string(),name:a.default.string(),input:a.default.string(),note:a.default.string().nullish(),path:a.default.string().nullish()}),k.extend({kind:a.default.literal("tool-result"),callId:a.default.string(),name:a.default.string(),results:v.array(),more:a.default.boolean()}),k.extend({kind:a.default.literal("ask"),callId:a.default.string(),to:a.default.string(),text:a.default.string()}),k.extend({kind:a.default.literal("ask-result"),callId:a.default.string(),text:a.default.string()}),k.extend({kind:a.default.literal("waiting"),callId:a.default.string(),question:a.default.string(),options:a.default.string().array()})]),h=a.default.object({question:a.default.string(),options:a.default.string().array(),auto:a.default.boolean()});a.default.object({id:a.default.string(),bot:a.default.string(),label:a.default.string(),request:a.default.string(),status:a.default.enum(["running","waiting","done","failed"]),outcome:a.default.string().nullable(),ask:h.nullable(),seen:a.default.boolean(),tokens:c,contextTokens:a.default.number(),contextBudget:a.default.number(),createdAt:t.DateLikeSchema,updatedAt:t.DateLikeSchema,lines:x.array()}),e.s(["BOT_MEMORY_KEY",0,"BOT_MEMORY","COMPACT_AT_MIN",0,8e3,"DEFAULT_BOT",0,{name:"Jarvis",description:"Anything — this computer, a browser, the web, files, services",systemPrompt:null,icon:{color:"#14B8A6",shape:"squircle"},provider:null,model:null,disabled:!1,compactAt:null},"NO_TOKENS",0,{input:0,output:0},"TASK_CONTINUE",0,"Continue","TASK_HISTORY_PAGE",0,p,"botIconSchema",0,m,"isBotMemoryOn",0,e=>e?.trim()!=="off","tagSpeaker",0,(e,a)=>`${f[e]} ${a}`,"taskActivity",0,function(e,a=120){let l=null;for(let i=e.length-1;i>=0;i--){let t=e[i];if("tool"===t.kind)l??=`${t.name} ${t.note??t.input}`;else if("text"===t.kind)return(0,n.clip)(l?`${t.text} → ${l}`:t.text,a);else if("ask"===t.kind)return(0,n.clip)(t.parent?`asked ${t.to}: ${t.text}`:`asked ${t.to} for: ${t.text}`,a);else if("user"===t.kind||"waiting"===t.kind)break}return l?(0,n.clip)(l,a):null},"untagSpeaker",0,e=>{for(let a of Object.values(f))if(e.startsWith(`${a} `))return e.slice(a.length+1);return e}],951056)},517435,e=>{"use strict";var a=e.i(794588);e.s(["default",0,a])}];
2
2
 
3
3
  //# sourceMappingURL=_0y5fg-x._.js.map
@@ -1,10 +1,10 @@
1
1
  module.exports=[232347,e=>{"use strict";let t,r,a,i,n,s;var o,l=e.i(333925),c=e.i(938281);let u={tasks:!0,memory:!0,mcp:!0,config:!0},d=globalThis,p=d.__appEvents??=(t=new Set,{emit(e){for(let r of[...t])try{r(e)}catch(e){console.error("event listener failed",e)}},subscribe:e=>(t.add(e),()=>{t.delete(e)})}),f=d.__presence??=(o=l.BROWSER_GONE_MS,r=!1,a=null,i=new Set,n=new Set,s=e=>{for(let t of[...e])try{t()}catch(e){console.error("presence listener failed",e)}},{get watching(){return r},track(e){if(e>0){a&&clearTimeout(a),a=null,r||(r=!0,s(n));return}!a&&r&&(a=setTimeout(()=>{a=null,r=!1,s(i)},o))},onGone:e=>(i.add(e),()=>i.delete(e)),onBack:e=>(n.add(e),()=>n.delete(e))}),m=d.__appEventStream??=function(e,t={}){let r=new TextEncoder,a=t.heartbeatMs??2e4,i=0;return{respond:(n,s)=>{let o=()=>{};return new Response(new ReadableStream({async start(l){let u=!1,d=new Map,p=[],f=e=>{if(!u)try{l.enqueue(r.encode(e))}catch{o()}},m=e=>f(`data: ${JSON.stringify(e)}
2
2
 
3
- `),h=e=>{let r=t.coalesce?.keyOf(e)??null;if(null===r)return m(e);let a=d.get(r);a&&clearTimeout(a),d.set(r,setTimeout(()=>{d.delete(r),m(e)},t.coalesce?.ms))},w=e.subscribe(e=>p?p.push(e):h(e)),T=setInterval(()=>f(": ping\n\n"),a);i+=1,t.onWatchers?.(i),o=()=>{if(!u){for(let e of(u=!0,i-=1,t.onWatchers?.(i),w(),clearInterval(T),d.values()))clearTimeout(e);try{l.close()}catch{}}},n.addEventListener("abort",o);try{for(let e of await s?.()??[])m(e)}catch(e){c.logger.error("event stream opening failed",e),o();return}let S=p;for(let e of(p=null,S))h(e)},cancel(){o()}}),{headers:{"Content-Type":"text/event-stream; charset=utf-8","Cache-Control":"no-store","X-Accel-Buffering":"no"}})},get watchers(){return i}}}(p,{coalesce:{ms:150,keyOf:e=>e.type in u?e.type:null},onWatchers:f.track});d.__bootId??=crypto.randomUUID(),e.s(["appEventStream",0,m,"appEvents",0,p,"presence",0,f],232347)},333925,e=>{"use strict";let t=process.env.THURSDAY_APP_DIR?.trim()||process.cwd(),r=process.env.THURSDAY_HOME?.trim()||process.cwd(),a=process.env.THURSDAY_URL?.trim()||`http://localhost:${process.env.PORT?.trim()||3e3}`,i=`file:${r}/local.db`,n=".ai-workspace",s={workspace:n,artifacts:"artifacts",projects:"projects",scratch:"scratch",bots:"bots",output:".output",skills:{default:"skills",custom:`${n}/.agents/skills`}};e.s(["APP_DIR",0,t,"APP_NAME",0,"Thursday","APP_URL",0,a,"ASCII_FACE",0,{charset:"emojiOnly",fontSize:{default:8,min:4,max:16},density:{default:1.4,min:.6,max:2}},"BOT_MEMORY_LISTED",0,20,"BOT_RUN",0,{steps:100,compactAt:5e5,compactHeadroom:.8,summaryWords:{min:600,max:3e3,perTokens:200},depth:2,askBack:3,silenceMs:3e5,autoResumes:3,retryAfterMs:[3e4,12e4,3e5],overflowShrink:.6,compactFiles:40},"BROWSER_GONE_MS",0,1e4,"BROWSER_VIEWPORT",0,"700x700","CHATGPT_SIGN_IN",0,{waitMs:6e5,renewBeforeMs:3e5},"CONNECTED_TOOL_TIMEOUT_MS",0,6e5,"DATA_DIR",0,r,"DB_FILE_NAME",0,i,"EXEC_KILL_GRACE_MS",0,5e3,"EXEC_TIMEOUT_MS",0,18e4,"INBOX_FINISHED",0,3,"IS_DEV",0,!1,"MEMORY_CONVERSATION_PAGE",0,100,"MEMORY_LIMITS",0,{facts:400,factsPerNote:50,carried:20},"PAGE_SIZE",0,50,"PATHS",0,s,"PROMPT_BUDGET",0,6e3,"PROMPT_LINE",0,{skill:90,toolArgs:30,jobOutcome:160,callTurn:160,botMemory:100},"SEARCH",0,{sources:6,excerptChars:1200,timeoutMs:3e4},"STUDIO_SERVER",0,"studio","TOOL_OUTPUT",0,{max:8e3,head:5500,tail:1500},"WORKSPACE_KEEP",0,{forMs:2592e5,sweepEveryMs:36e5}])},871096,e=>{"use strict";var t=e.i(912714),r=e.i(750227),a=e.i(333925),i=e.i(938281),n=e.i(874533),s=a;let o=new Set(["node_modules",".git",".next","dist","build",".venv","__pycache__",".turbo","coverage"]);async function*l(e){let a;try{a=await (0,t.readdir)(e,{withFileTypes:!0})}catch{return}for(let t of a){if(o.has(t.name)||t.name.startsWith("."))continue;let a=(0,r.join)(e,t.name);t.isDirectory()?yield*l(a):t.isFile()&&(yield a)}}async function c(e,a,i,n){if(e.length<=n.max)return e;let s=(0,r.join)(i,n.dir),o=(0,r.join)(s,`${new Date().toISOString().replace(/[:.]/g,"-")}-${a.replace(/[^a-zA-Z0-9_-]+/g,"_")}.txt`),l=o;try{await (0,t.mkdir)(s,{recursive:!0}),await (0,t.writeFile)(o,e),l=(0,r.relative)(i,o)||o}catch{l="(could not be written to a file)"}let c=(e.match(/\n/g)?.length??0)+1;return`${e.slice(0,n.head).trimEnd()}
3
+ `),h=e=>{let r=t.coalesce?.keyOf(e)??null;if(null===r)return m(e);let a=d.get(r);a&&clearTimeout(a),d.set(r,setTimeout(()=>{d.delete(r),m(e)},t.coalesce?.ms))},w=e.subscribe(e=>p?p.push(e):h(e)),T=setInterval(()=>f(": ping\n\n"),a);i+=1,t.onWatchers?.(i),o=()=>{if(!u){for(let e of(u=!0,i-=1,t.onWatchers?.(i),w(),clearInterval(T),d.values()))clearTimeout(e);try{l.close()}catch{}}},n.addEventListener("abort",o);try{for(let e of await s?.()??[])m(e)}catch(e){c.logger.error("event stream opening failed",e),o();return}let S=p;for(let e of(p=null,S))h(e)},cancel(){o()}}),{headers:{"Content-Type":"text/event-stream; charset=utf-8","Cache-Control":"no-store","X-Accel-Buffering":"no"}})},get watchers(){return i}}}(p,{coalesce:{ms:150,keyOf:e=>e.type in u?e.type:null},onWatchers:f.track});d.__bootId??=crypto.randomUUID(),e.s(["appEventStream",0,m,"appEvents",0,p,"presence",0,f],232347)},333925,e=>{"use strict";let t=process.env.THURSDAY_APP_DIR?.trim()||process.cwd(),r=process.env.THURSDAY_HOME?.trim()||process.cwd(),a=process.env.THURSDAY_URL?.trim()||`http://localhost:${process.env.PORT?.trim()||3e3}`,i=`file:${r}/local.db`,n=".ai-workspace",s={workspace:n,artifacts:"artifacts",projects:"projects",scratch:"scratch",bots:"bots",output:".output",skills:{default:"skills",custom:`${n}/.agents/skills`}};e.s(["APP_DIR",0,t,"APP_NAME",0,"Thursday","APP_URL",0,a,"ASCII_FACE",0,{charset:"emojiOnly",fontSize:{default:8,min:4,max:16},density:{default:1.4,min:.6,max:2}},"BOT_MEMORY_LISTED",0,20,"BOT_RUN",0,{steps:100,compactAt:5e5,compactHeadroom:.8,summaryWords:{min:600,max:3e3,perTokens:200},depth:2,askBack:3,silenceMs:3e5,autoResumes:3,retryAfterMs:[3e4,12e4,3e5],overflowShrink:.6,compactFiles:40},"BROWSER_GONE_MS",0,1e4,"BROWSER_VIEWPORT",0,"700x700","CALL_EXEC_TIMEOUT_MS",0,15e3,"CHATGPT_SIGN_IN",0,{waitMs:6e5,renewBeforeMs:3e5},"CONNECTED_TOOL_TIMEOUT_MS",0,6e5,"DATA_DIR",0,r,"DB_FILE_NAME",0,i,"EXEC_KILL_GRACE_MS",0,5e3,"EXEC_TIMEOUT_MS",0,18e4,"INBOX_FINISHED",0,3,"IS_DEV",0,!1,"MEMORY_CONVERSATION_PAGE",0,100,"MEMORY_LIMITS",0,{facts:400,factsPerNote:50,carried:20},"PAGE_SIZE",0,50,"PATHS",0,s,"PROMPT_BUDGET",0,6e3,"PROMPT_LINE",0,{skill:90,toolArgs:30,jobOutcome:160,callTurn:160,botMemory:100},"SEARCH",0,{sources:6,excerptChars:1200,timeoutMs:3e4},"STUDIO_SERVER",0,"studio","TOOL_OUTPUT",0,{max:8e3,head:5500,tail:1500},"WORKSPACE_KEEP",0,{forMs:2592e5,sweepEveryMs:36e5}])},871096,e=>{"use strict";var t=e.i(912714),r=e.i(750227),a=e.i(333925),i=e.i(938281),n=e.i(874533),s=a;let o=new Set(["node_modules",".git",".next","dist","build",".venv","__pycache__",".turbo","coverage"]);async function*l(e){let a;try{a=await (0,t.readdir)(e,{withFileTypes:!0})}catch{return}for(let t of a){if(o.has(t.name)||t.name.startsWith("."))continue;let a=(0,r.join)(e,t.name);t.isDirectory()?yield*l(a):t.isFile()&&(yield a)}}async function c(e,a,i,n){if(e.length<=n.max)return e;let s=(0,r.join)(i,n.dir),o=(0,r.join)(s,`${new Date().toISOString().replace(/[:.]/g,"-")}-${a.replace(/[^a-zA-Z0-9_-]+/g,"_")}.txt`),l=o;try{await (0,t.mkdir)(s,{recursive:!0}),await (0,t.writeFile)(o,e),l=(0,r.relative)(i,o)||o}catch{l="(could not be written to a file)"}let c=(e.match(/\n/g)?.length??0)+1;return`${e.slice(0,n.head).trimEnd()}
4
4
 
5
5
  [${a} cut at ${n.max.toLocaleString("en")} chars — the whole thing (${c} lines) is at ${l}. Read the part you need with \`sed -n\`.]
6
6
 
7
- ${e.slice(-n.tail).trimStart()}`}let u=a.APP_DIR,d=(0,r.join)(a.DATA_DIR,a.PATHS.workspace),p=(process.env.THURSDAY_TOOL_PATH?.split(":")??[(0,r.join)(u,"node_modules",".bin")]).filter(Boolean);(0,r.join)(d,a.PATHS.artifacts);let f=[a.PATHS.artifacts,a.PATHS.projects,a.PATHS.scratch,a.PATHS.bots],m=new Set([...f,".agents"]),h=(e,t)=>t===e||t.startsWith(e+r.sep),w=e=>(0,t.realpath)(e).catch(()=>null);async function T(e){let t=await w(d)??d,a=(0,r.resolve)(d,e);if(!h(d,a))return null;let i=a,n=await w(i);for(;null===n&&(0,r.dirname)(i)!==i;)i=(0,r.dirname)(i),n=await w(i);if(null===n)return null;let s=(0,r.relative)(i,a),o=s?(0,r.join)(n,s):n;return h(t,o)?o:null}function S(e,t){let r=t.trim().toLowerCase().replace(/[^\p{L}\p{N}]+/gu,"-").replace(/^-+|-+$/g,"").slice(0,40)||"job";return`${a.PATHS.scratch}/${r}-${e.slice(0,6)}`}let E=e=>`${a.PATHS.bots}/${e.replace(/[^\p{L}\p{N}_-]+/gu,"-")}`;async function _(e){let a=E(e);return await (0,t.mkdir)((0,r.join)(d,a),{recursive:!0}),a}async function y(e,a){let i=S(e,a);return await (0,t.mkdir)((0,r.join)(d,i),{recursive:!0}),i}let A=e=>e?{PLAYWRIGHT_CLI_SESSION:`task-${e}`,PLAYWRIGHT_MCP_VIEWPORT_SIZE:a.BROWSER_VIEWPORT}:{},P=null,R={runtimes:["node","python3","uv","bun","deno"],managers:["pnpm","npm","yarn"]};async function g(e){let t=Object.values(R).flat(),{stdout:r}=await e.exec(t.map(e=>`command -v ${e} >/dev/null 2>&1 && printf '%s ' ${e}`).join("; "),{timeoutMs:1e4}),a=new Set(r.trim().split(/\s+/).filter(Boolean)),i=e=>({found:e.filter(e=>a.has(e)),missing:e.filter(e=>!a.has(e))});return{runtimes:i(R.runtimes),managers:i(R.managers),browser:P}}async function O(){if(process.env.THURSDAY_SKIP_BROWSER)return;let e=await D(),t=await e.exec("playwright-cli install-browser chromium").catch(e=>({exitCode:1,stderr:String(e)}));(P=0===t.exitCode)||i.logger.warn(`no browser — bots cannot open a page until \`playwright-cli install-browser chromium\` succeeds: ${t.stderr.trim().split("\n").at(-1)??""}`)}async function v(){await k(),await M()}async function I(e){let t,r=await D(),a=A(e),i=await r.exec("playwright-cli list --json",{env:a,timeoutMs:15e3}).catch(()=>null);try{let{browsers:e}=JSON.parse(i?.stdout??"");t=e?.find(e=>e.name===a.PLAYWRIGHT_CLI_SESSION)}catch{}t?.headed!==!1||t.attached||await r.exec("playwright-cli close",{env:a,timeoutMs:15e3}).catch(()=>{}),await v()}async function b(e){let t=await D();await t.exec("playwright-cli close",{env:A(e),timeoutMs:15e3}).catch(()=>{}),await v()}let M=()=>$(a.PATHS.output),k=()=>$(".playwright-cli");async function $(e){let i=(0,r.join)(d,e),n=await (0,t.readdir)(i,{withFileTypes:!0}).catch(()=>[]),s=Date.now()-a.WORKSPACE_KEEP.forMs;for(let e of n){if(!e.isFile())continue;let a=(0,r.join)(i,e.name),n=await (0,t.stat)(a).catch(()=>null);n&&n.mtimeMs<s&&await (0,t.unlink)(a).catch(()=>{})}}async function j(){return(await (0,t.readdir)((0,r.join)(d,a.PATHS.scratch),{withFileTypes:!0}).catch(()=>[])).filter(e=>e.isDirectory()).map(e=>`${a.PATHS.scratch}/${e.name}`)}async function H(e){let i=Date.now()-a.WORKSPACE_KEEP.forMs,n=[];for(let a of e){let e=(0,r.join)(d,a),s=await (0,t.stat)(e).catch(()=>null);s?.isDirectory()&&!(s.mtimeMs>=i)&&(await (0,t.rm)(e,{recursive:!0,force:!0}).catch(()=>{}),n.push(a))}return n}let C={"pnpm-workspace.yaml":"packages:\n - '**'\n",".npmrc":"recursive-install=false\n"};async function D(){for(let e of f)await (0,t.mkdir)((0,r.join)(d,e),{recursive:!0});for(let[e,a]of Object.entries(C))await (0,t.writeFile)((0,r.join)(d,e),a,{flag:"wx"}).catch(()=>{});return(({workingDirectory:e,spill:a,toolPath:i})=>{let o=(0,r.resolve)(e),u=(i??[]).filter(Boolean).join(":"),d=e=>e.startsWith("/")||/^[A-Za-z]:/.test(e)?e:(0,r.resolve)(o,e);return{cwd:o,resolve:d,readFile:(e,r)=>(0,t.readFile)(d(e),r),async writeFile(e,a){let i=d(e);await (0,t.mkdir)((0,r.join)(i,".."),{recursive:!0}),await (0,t.writeFile)(i,a)},readdir:(e,r)=>(0,t.readdir)(d(e),r),fold:(e,t="output")=>c(e,t,o,a),async glob(e,{path:t=".",limit:a=200}={}){let i=d(t),n=RegExp("^"+e.replace(/[.+^${}()|[\]\\]/g,"\\$&").replace(/\*\*\//g,"(?:.*/)?").replace(/\*/g,"[^/]*").replace(/\?/g,"[^/]")+"$"),s=[];for await(let e of l(i)){let t=(0,r.relative)(i,e).split(r.sep).join("/");if((n.test(t)||n.test(e))&&s.push(e),s.length>=a)break}return s},exec:(e,{cwd:t,timeoutMs:r=s.EXEC_TIMEOUT_MS,signal:i,env:l}={})=>new Promise(p=>{let f,m,h=function(){let e={...process.env};for(let t of Object.keys(e))/KEY|TOKEN|SECRET|PASSWORD|CREDENTIAL|_AUTH/i.test(t)&&delete e[t];return e.TERM="dumb",e.PAGER="cat",e.GIT_PAGER="cat",e}();u&&(h.PATH=`${h.PATH??""}:${u}`);let w=(0,n.spawn)(e,{shell:!0,cwd:t?d(t):o,env:{...h,...l},detached:!0}),T="",S="";w.stdout?.on("data",e=>T+=e),w.stderr?.on("data",e=>S+=e);let E=e=>{try{w.pid&&process.kill(-w.pid,e)}catch{w.kill(e)}},_=!1,y=async e=>{_||(_=!0,clearTimeout(P),clearTimeout(f),clearTimeout(m),i?.removeEventListener("abort",R),p({...e,stdout:await c(e.stdout,"stdout",o,a),stderr:await c(e.stderr,"stderr",o,a)}))},A=e=>{f||_||(S+=`
8
- [${e}]`,E("SIGTERM"),f=setTimeout(()=>{S+="\n[Killed: it did not exit on SIGTERM]",E("SIGKILL"),m=setTimeout(()=>{w.stdout?.destroy(),w.stderr?.destroy(),y({stdout:T,stderr:S,exitCode:-1})},1e3)},s.EXEC_KILL_GRACE_MS))},P=setTimeout(()=>A(`Timed out after ${r}ms`),r),R=()=>A("Aborted");i?.aborted?R():i?.addEventListener("abort",R,{once:!0}),w.on("close",e=>y({stdout:T,stderr:S,exitCode:e??-1})),w.on("error",e=>y({stdout:T,stderr:S+String(e),exitCode:-1}))})}})({workingDirectory:d,spill:{dir:a.PATHS.output,...a.TOOL_OUTPUT},toolPath:p})}async function L(e,a){let i=e.map(e=>(0,r.resolve)(d,e));if(a){let e=0;for await(let t of l((0,r.join)(d,a)))if(i.push(t),(e+=1)>=500)break}let n=new Map;for(let e of i){let a=await (0,t.stat)(e).catch(()=>null);if(!a?.isFile())continue;let i=(0,r.relative)(d,e);n.set(i&&!i.startsWith("..")?i:e,a.mtimeMs)}return[...n].sort((e,t)=>e[1]-t[1]).map(([e])=>e)}async function x(e,a){await (0,t.rm)((0,r.join)(d,S(e,a)),{recursive:!0,force:!0}).catch(()=>{})}e.s(["WORKSPACE",0,d,"botFolder",0,E,"closeHiddenBrowser",0,I,"closeJobShell",0,b,"ensureBrowser",0,O,"filesOnDisk",0,L,"insideWorkspace",0,T,"jobScratch",0,S,"jobShellEnv",0,A,"listScratchFolders",0,j,"openBotFolder",0,_,"openJobScratch",0,y,"openWorkspace",0,D,"pruneJobFiles",0,v,"readMachineTools",0,g,"removeJobScratch",0,x,"removeUnchangedFolders",0,H,"writeRefusal",0,function(e){if(h(d,e)){let t=(0,r.relative)(d,e),[i]=t.split(r.sep);return i&&m.has(i)?null:`Not written: ${t||"the workspace root"} is outside the workspace's folders. Finished work goes under ${a.PATHS.artifacts}/, code under ${a.PATHS.projects}/, your own kit under ${a.PATHS.bots}/, and this job's working material under ${a.PATHS.scratch}/.`}return h(u,e)?`Not written: ${e} is inside the app that is running you, not the user's files. Work in ${d}; outside it, write only where the user pointed you.`:null}],871096)}];
7
+ ${e.slice(-n.tail).trimStart()}`}let u=a.APP_DIR,d=(0,r.join)(a.DATA_DIR,a.PATHS.workspace),p=(process.env.THURSDAY_TOOL_PATH?.split(":")??[(0,r.join)(u,"node_modules",".bin")]).filter(Boolean);(0,r.join)(d,a.PATHS.artifacts);let f=[a.PATHS.artifacts,a.PATHS.projects,a.PATHS.scratch,a.PATHS.bots],m=new Set([...f,".agents"]),h=(e,t)=>t===e||t.startsWith(e+r.sep),w=e=>(0,t.realpath)(e).catch(()=>null);async function T(e){let t=await w(d)??d,a=(0,r.resolve)(d,e);if(!h(d,a))return null;let i=a,n=await w(i);for(;null===n&&(0,r.dirname)(i)!==i;)i=(0,r.dirname)(i),n=await w(i);if(null===n)return null;let s=(0,r.relative)(i,a),o=s?(0,r.join)(n,s):n;return h(t,o)?o:null}function S(e,t){let r=t.trim().toLowerCase().replace(/[^\p{L}\p{N}]+/gu,"-").replace(/^-+|-+$/g,"").slice(0,40)||"job";return`${a.PATHS.scratch}/${r}-${e.slice(0,6)}`}let E=e=>`${a.PATHS.bots}/${e.replace(/[^\p{L}\p{N}_-]+/gu,"-")}`;async function _(e){let a=E(e);return await (0,t.mkdir)((0,r.join)(d,a),{recursive:!0}),a}async function y(e,a){let i=S(e,a);return await (0,t.mkdir)((0,r.join)(d,i),{recursive:!0}),i}let A=e=>e?{PLAYWRIGHT_CLI_SESSION:`task-${e}`,PLAYWRIGHT_MCP_VIEWPORT_SIZE:a.BROWSER_VIEWPORT}:{},P=null,R={runtimes:["node","python3","uv","bun","deno"],managers:["pnpm","npm","yarn"]};async function g(e){let t=Object.values(R).flat(),{stdout:r}=await e.exec(t.map(e=>`command -v ${e} >/dev/null 2>&1 && printf '%s ' ${e}`).join("; "),{timeoutMs:1e4}),a=new Set(r.trim().split(/\s+/).filter(Boolean)),i=e=>({found:e.filter(e=>a.has(e)),missing:e.filter(e=>!a.has(e))});return{runtimes:i(R.runtimes),managers:i(R.managers),browser:P}}async function O(){if(process.env.THURSDAY_SKIP_BROWSER)return;let e=await L(),t=await e.exec("playwright-cli install-browser chromium").catch(e=>({exitCode:1,stderr:String(e)}));(P=0===t.exitCode)||i.logger.warn(`no browser — bots cannot open a page until \`playwright-cli install-browser chromium\` succeeds: ${t.stderr.trim().split("\n").at(-1)??""}`)}async function v(){await k(),await b()}async function I(e){let t,r=await L(),a=A(e),i=await r.exec("playwright-cli list --json",{env:a,timeoutMs:15e3}).catch(()=>null);try{let{browsers:e}=JSON.parse(i?.stdout??"");t=e?.find(e=>e.name===a.PLAYWRIGHT_CLI_SESSION)}catch{}t?.headed!==!1||t.attached||await r.exec("playwright-cli close",{env:a,timeoutMs:15e3}).catch(()=>{}),await v()}async function M(e){let t=await L();await t.exec("playwright-cli close",{env:A(e),timeoutMs:15e3}).catch(()=>{}),await v()}let b=()=>$(a.PATHS.output),k=()=>$(".playwright-cli");async function $(e){let i=(0,r.join)(d,e),n=await (0,t.readdir)(i,{withFileTypes:!0}).catch(()=>[]),s=Date.now()-a.WORKSPACE_KEEP.forMs;for(let e of n){if(!e.isFile())continue;let a=(0,r.join)(i,e.name),n=await (0,t.stat)(a).catch(()=>null);n&&n.mtimeMs<s&&await (0,t.unlink)(a).catch(()=>{})}}async function j(){return(await (0,t.readdir)((0,r.join)(d,a.PATHS.scratch),{withFileTypes:!0}).catch(()=>[])).filter(e=>e.isDirectory()).map(e=>`${a.PATHS.scratch}/${e.name}`)}async function H(e){let i=Date.now()-a.WORKSPACE_KEEP.forMs,n=[];for(let a of e){let e=(0,r.join)(d,a),s=await (0,t.stat)(e).catch(()=>null);s?.isDirectory()&&!(s.mtimeMs>=i)&&(await (0,t.rm)(e,{recursive:!0,force:!0}).catch(()=>{}),n.push(a))}return n}let C={"pnpm-workspace.yaml":"packages:\n - '**'\n",".npmrc":"recursive-install=false\n"};async function L(){for(let e of f)await (0,t.mkdir)((0,r.join)(d,e),{recursive:!0});for(let[e,a]of Object.entries(C))await (0,t.writeFile)((0,r.join)(d,e),a,{flag:"wx"}).catch(()=>{});return(({workingDirectory:e,spill:a,toolPath:i})=>{let o=(0,r.resolve)(e),u=(i??[]).filter(Boolean).join(":"),d=e=>e.startsWith("/")||/^[A-Za-z]:/.test(e)?e:(0,r.resolve)(o,e);return{cwd:o,resolve:d,readFile:(e,r)=>(0,t.readFile)(d(e),r),async writeFile(e,a){let i=d(e);await (0,t.mkdir)((0,r.join)(i,".."),{recursive:!0}),await (0,t.writeFile)(i,a)},readdir:(e,r)=>(0,t.readdir)(d(e),r),fold:(e,t="output")=>c(e,t,o,a),async glob(e,{path:t=".",limit:a=200}={}){let i=d(t),n=RegExp("^"+e.replace(/[.+^${}()|[\]\\]/g,"\\$&").replace(/\*\*\//g,"(?:.*/)?").replace(/\*/g,"[^/]*").replace(/\?/g,"[^/]")+"$"),s=[];for await(let e of l(i)){let t=(0,r.relative)(i,e).split(r.sep).join("/");if((n.test(t)||n.test(e))&&s.push(e),s.length>=a)break}return s},exec:(e,{cwd:t,timeoutMs:r=s.EXEC_TIMEOUT_MS,signal:i,env:l}={})=>new Promise(p=>{let f,m,h=function(){let e={...process.env};for(let t of Object.keys(e))/KEY|TOKEN|SECRET|PASSWORD|CREDENTIAL|_AUTH/i.test(t)&&delete e[t];return e.TERM="dumb",e.PAGER="cat",e.GIT_PAGER="cat",e}();u&&(h.PATH=`${h.PATH??""}:${u}`);let w=(0,n.spawn)(e,{shell:!0,cwd:t?d(t):o,env:{...h,...l},detached:!0}),T="",S="";w.stdout?.on("data",e=>T+=e),w.stderr?.on("data",e=>S+=e);let E=e=>{try{w.pid&&process.kill(-w.pid,e)}catch{w.kill(e)}},_=!1,y=async e=>{_||(_=!0,clearTimeout(P),clearTimeout(f),clearTimeout(m),i?.removeEventListener("abort",R),p({...e,stdout:await c(e.stdout,"stdout",o,a),stderr:await c(e.stderr,"stderr",o,a)}))},A=e=>{f||_||(S+=`
8
+ [${e}]`,E("SIGTERM"),f=setTimeout(()=>{S+="\n[Killed: it did not exit on SIGTERM]",E("SIGKILL"),m=setTimeout(()=>{w.stdout?.destroy(),w.stderr?.destroy(),y({stdout:T,stderr:S,exitCode:-1})},1e3)},s.EXEC_KILL_GRACE_MS))},P=setTimeout(()=>A(`Timed out after ${r}ms`),r),R=()=>A("Aborted");i?.aborted?R():i?.addEventListener("abort",R,{once:!0}),w.on("close",e=>y({stdout:T,stderr:S,exitCode:e??-1})),w.on("error",e=>y({stdout:T,stderr:S+String(e),exitCode:-1}))})}})({workingDirectory:d,spill:{dir:a.PATHS.output,...a.TOOL_OUTPUT},toolPath:p})}async function D(e,a){let i=e.map(e=>(0,r.resolve)(d,e));if(a){let e=0;for await(let t of l((0,r.join)(d,a)))if(i.push(t),(e+=1)>=500)break}let n=new Map;for(let e of i){let a=await (0,t.stat)(e).catch(()=>null);if(!a?.isFile())continue;let i=(0,r.relative)(d,e);n.set(i&&!i.startsWith("..")?i:e,a.mtimeMs)}return[...n].sort((e,t)=>e[1]-t[1]).map(([e])=>e)}async function x(e,a){await (0,t.rm)((0,r.join)(d,S(e,a)),{recursive:!0,force:!0}).catch(()=>{})}e.s(["WORKSPACE",0,d,"botFolder",0,E,"closeHiddenBrowser",0,I,"closeJobShell",0,M,"ensureBrowser",0,O,"filesOnDisk",0,D,"insideWorkspace",0,T,"jobScratch",0,S,"jobShellEnv",0,A,"listScratchFolders",0,j,"openBotFolder",0,_,"openJobScratch",0,y,"openWorkspace",0,L,"pruneJobFiles",0,v,"readMachineTools",0,g,"removeJobScratch",0,x,"removeUnchangedFolders",0,H,"writeRefusal",0,function(e){if(h(d,e)){let t=(0,r.relative)(d,e),[i]=t.split(r.sep);return i&&m.has(i)?null:`Not written: ${t||"the workspace root"} is outside the workspace's folders. Finished work goes under ${a.PATHS.artifacts}/, code under ${a.PATHS.projects}/, your own kit under ${a.PATHS.bots}/, and this job's working material under ${a.PATHS.scratch}/.`}return h(u,e)?`Not written: ${e} is inside the app that is running you, not the user's files. Work in ${d}; outside it, write only where the user pointed you.`:null}],871096)}];
9
9
 
10
10
  //# sourceMappingURL=_1230wbx._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[864328,e=>{"use strict";var a=e.i(853205),l=e.i(333925);a.z.object({value:a.z.string().min(1),expires_at:a.z.number()});let i=a.z.enum(["openai","chatgpt","anthropic","google","xai","vercel-ai-gateway"]),t=a.z.object({provider:i,model:a.z.string().trim().min(1,"Model name is required").max(80)}),r=a.z.enum(["openai","xai"]),n=a.z.object({provider:r,voice:a.z.string().trim().min(1).max(64).nullish(),model:a.z.string().trim().min(1).max(80).nullish()}),d=a.z.enum(["openai","google","xai","vercel-ai-gateway"]),o=a.z.object({provider:d,model:a.z.string().trim().min(1,"Model name is required").max(120)}),s={openai:{label:"Open AI",apiKeyName:"OPENAI_API_KEY",models:{image:[{id:"gpt-image-1-mini",label:"GPT Image 1 mini",tier:"small"},{id:"gpt-image-2.5-flare",label:"GPT Image 2.5 Flare",tier:"mid"},{id:"gpt-image-2.5-sunburst",label:"GPT Image 2.5 Sunburst",tier:"large"}],video:[],speech:[{id:"tts-1",label:"TTS 1",tier:"small"},{id:"gpt-4o-mini-tts",label:"4o mini TTS",tier:"mid"},{id:"tts-1-hd",label:"TTS 1 HD",tier:"large"}],transcription:[{id:"gpt-4o-mini-transcribe",label:"4o mini Transcribe",tier:"small"},{id:"gpt-transcribe",label:"GPT Transcribe",tier:"mid"}]}},google:{label:"Gemini",apiKeyName:"GOOGLE_GENERATIVE_AI_API_KEY",models:{image:[{id:"gemini-3.1-flash-lite-image",label:"3.1 Flash Lite Image",tier:"small"},{id:"gemini-3.1-flash-image",label:"3.1 Flash Image",tier:"mid"},{id:"gemini-3-pro-image",label:"3 Pro Image",tier:"large"}],video:[{id:"veo-3.1-lite-generate-preview",label:"Veo 3.1 Lite",tier:"small"},{id:"veo-3.1-fast-generate-preview",label:"Veo 3.1 Fast",tier:"mid"},{id:"veo-3.1-generate-preview",label:"Veo 3.1",tier:"large"}],speech:[{id:"gemini-2.5-flash-preview-tts",label:"2.5 Flash TTS",tier:"small"},{id:"gemini-3.1-flash-tts-preview",label:"3.1 Flash TTS",tier:"mid"},{id:"gemini-2.5-pro-preview-tts",label:"2.5 Pro TTS",tier:"large"}],transcription:[{id:"gemini-3.5-transcribe",label:"3.5 Transcribe",tier:"mid"}]}},xai:{label:"xAI",apiKeyName:"XAI_API_KEY",models:{image:[{id:"grok-imagine-image",label:"Grok Imagine",tier:"small"},{id:"grok-imagine-image-2.0",label:"Grok Imagine 2.0",tier:"mid"}],video:[{id:"grok-imagine-video",label:"Grok Imagine Video",tier:"small"},{id:"grok-imagine-video-1.5",label:"Grok Imagine Video 1.5",tier:"mid"}],speech:[{id:"grok-tts",label:"Grok TTS",tier:"mid"}],transcription:[{id:"grok-stt",label:"Grok STT",tier:"mid"}]}},"vercel-ai-gateway":{label:"Vercel AI GateWay",apiKeyName:"AI_GATEWAY_API_KEY",models:{image:[{id:"bytedance/seedream-5.0-lite",label:"Seedream 5.0 Lite",tier:"small"},{id:"bfl/flux-2-klein-9b",label:"FLUX 2 Klein 9B",tier:"small"},{id:"spacexai/grok-imagine-image-2.0",label:"Grok Imagine 2.0",tier:"small"},{id:"google/gemini-3.1-flash-image",label:"Gemini 3.1 Flash Image",tier:"mid"},{id:"bfl/flux-2-pro",label:"FLUX 2 Pro",tier:"mid"},{id:"bytedance/seedream-5.0-pro",label:"Seedream 5.0 Pro",tier:"mid"},{id:"recraft/recraft-v4.1",label:"Recraft V4.1",tier:"mid"},{id:"google/gemini-3-pro-image",label:"Gemini 3 Pro Image",tier:"large"},{id:"openai/gpt-image-2.5-sunburst",label:"GPT Image 2.5 Sunburst",tier:"large"}],video:[{id:"bytedance/seedance-2.0-mini",label:"Seedance 2.0 Mini",tier:"small"},{id:"google/veo-3.1-lite-generate-001",label:"Veo 3.1 Lite",tier:"small"},{id:"alibaba/wan-v2.6-t2v",label:"Wan 2.6",tier:"small"},{id:"google/veo-3.1-fast-generate-001",label:"Veo 3.1 Fast",tier:"mid"},{id:"bytedance/seedance-2.5",label:"Seedance 2.5",tier:"mid"},{id:"spacexai/grok-imagine-video-1.5",label:"Grok Imagine Video 1.5",tier:"mid"},{id:"klingai/kling-v3.0-t2v",label:"Kling 3.0",tier:"large"},{id:"google/veo-3.1-generate-001",label:"Veo 3.1",tier:"large"}],speech:[{id:"fish-audio/s1",label:"Fish Audio S1",tier:"small"},{id:"openai/tts-1",label:"OpenAI TTS 1",tier:"small"},{id:"spacexai/grok-tts",label:"Grok TTS",tier:"mid"},{id:"fish-audio/s2.1-pro",label:"Fish Audio S2.1 Pro",tier:"mid"},{id:"openai/tts-1-hd",label:"OpenAI TTS 1 HD",tier:"large"}],transcription:[{id:"spacexai/grok-stt",label:"Grok STT",tier:"small"},{id:"fish-audio/transcribe-1",label:"Fish Transcribe 1",tier:"small"},{id:"openai/gpt-4o-mini-transcribe",label:"4o mini Transcribe",tier:"small"},{id:"openai/gpt-4o-transcribe",label:"4o Transcribe",tier:"mid"},{id:"google/gemini-3.5-transcribe",label:"Gemini 3.5 Transcribe",tier:"mid"}]}}},m=Object.keys(s).map(e=>({id:e,...s[e]})),u={openai:{label:"Open AI",apiKeyName:"OPENAI_API_KEY",suggestModels:[{id:"gpt-5.6-luna",label:"5.6 Luna",tier:"small",context:105e4},{id:"gpt-5.6-terra",label:"5.6 Terra",tier:"mid",context:105e4},{id:"gpt-5.6-sol",label:"5.6 Sol",tier:"large",context:105e4},{id:"gpt-6-astra",label:"6 Astra",tier:"large",context:105e4}]},chatgpt:{label:"GPT Subscription",apiKeyName:"CHATGPT_SIGN_IN",signIn:!0,suggestModels:[{id:"gpt-5.6-luna",label:"5.6 Luna",tier:"small",context:272e3},{id:"gpt-5.6-terra",label:"5.6 Terra",tier:"mid",context:272e3},{id:"gpt-5.6-sol",label:"5.6 Sol",tier:"large",context:272e3},{id:"gpt-6-astra",label:"6 Astra",tier:"large",context:272e3}]},anthropic:{label:"Claude",apiKeyName:"ANTHROPIC_API_KEY",suggestModels:[{id:"claude-haiku-4-5",label:"Haiku 4.5",tier:"small"},{id:"claude-sonnet-5",label:"Sonnet 5",tier:"mid",context:1e6},{id:"claude-opus-5",label:"Opus 5",tier:"large",context:1e6},{id:"claude-fable-5-1",label:"Fable 5.1",tier:"large"}]},google:{label:"Gemini",apiKeyName:"GOOGLE_GENERATIVE_AI_API_KEY",suggestModels:[{id:"gemini-3.5-flash-lite",label:"3.5 Flash Lite",tier:"small",context:1e6},{id:"gemini-3.8-flash",label:"3.8 Flash",tier:"mid",context:1e6}]},xai:{label:"xAI",apiKeyName:"XAI_API_KEY",suggestModels:[{id:"grok-4.6",label:"Grok 4.6",tier:"large",context:5e5}]},"vercel-ai-gateway":{label:"Vercel AI GateWay",apiKeyName:"AI_GATEWAY_API_KEY",suggestModels:[{id:"zai/glm-5.3-flash",label:"GLM 5.3 Flash",tier:"small"},{id:"google/gemini-3.8-flash",label:"Gemini 3.8 Flash",tier:"small"},{id:"openai/gpt-5.6-luna",label:"GPT 5.6 Luna",tier:"small",context:105e4},{id:"zai/glm-5.3",label:"GLM 5.3",tier:"mid"},{id:"spacexai/grok-4.6",label:"Grok 4.6",tier:"mid",context:5e5},{id:"anthropic/claude-sonnet-5",label:"Claude Sonnet 5",tier:"mid"},{id:"openai/gpt-5.6-terra",label:"GPT 5.6 Terra",tier:"mid",context:105e4},{id:"moonshotai/kimi-k3",label:"Kimi K3",tier:"mid"},{id:"openai/gpt-5.6-sol",label:"GPT 5.6 Sol",tier:"large",context:105e4},{id:"anthropic/claude-opus-5",label:"Claude Opus 5",tier:"large",context:1e6},{id:"openai/gpt-6-astra",label:"GPT 6 Astra",tier:"large",context:105e4}]}},g={openai:{apiKeyName:u.openai.apiKeyName,label:u.openai.label,keyPrefix:["sk-"],models:[{id:"gpt-realtime-2.1",label:"Realtime 2.1"},{id:"gpt-realtime-2.1-mini",label:"Realtime 2.1 mini"},{id:"gpt-realtime-2",label:"Realtime 2"}],voices:["marin","cedar","alloy","ash","ballad","coral","echo","sage","shimmer","verse"],defaultVoice:"marin"},xai:{apiKeyName:u.xai.apiKeyName,label:u.xai.label,keyPrefix:["xai-"],models:[{id:"grok-voice-think-fast-2.0",label:"Voice Think Fast 2.0"},{id:"grok-voice-latest",label:"Voice latest"}],voices:["eve","ara","leo","rex","sal"],defaultVoice:"eve"}},b=Object.keys(g).map(e=>({id:e,...g[e]})),c=Object.keys(u).map(e=>({id:e,...u[e]}));e.s(["GATEWAY_TEXT",0,"language","MEDIA_MODEL_PROVIDERS",0,s,"MEDIA_MODEL_PROVIDER_LIST",0,m,"SPEACH_MODEL_PROVIDERS",0,g,"SPEACH_MODEL_PROVIDER_LIST",0,b,"TEXT_MODEL_PROVIDERS",0,u,"TEXT_MODEL_PROVIDER_LIST",0,c,"canMakeKind",0,(e,a)=>(s[e]?.models[a]?.length??0)>0,"compactAtFor",0,e=>e&&e>0?Math.round(e*l.BOT_RUN.compactHeadroom):l.BOT_RUN.compactAt,"contextWindowOf",0,function(e,a,l=[]){if("vercel-ai-gateway"===e)return l.find(e=>e.id===a)?.contextWindow??null;let i=u[e].suggestModels;return i.find(e=>e.id===a)?.context??null},"defaultModelOf",0,e=>(e.suggestModels.find(e=>"mid"===e.tier)??e.suggestModels[0])?.id,"parseMediaModel",0,function(e){let[a,...l]=(e??"").trim().split("/"),i=o.safeParse({provider:a,model:l.join("/")});return i.success?i.data:null},"parseTextModel",0,function(e){let[a,...l]=(e??"").trim().split("/"),i=t.safeParse({provider:a,model:l.join("/")});return i.success?i.data:null},"speachModelRefSchema",0,n,"textModelProviderSchema",0,i],864328)},951056,986129,e=>{"use strict";var a=e.i(517435),l=e.i(333925),i=e.i(864328),t=e.i(900533);let r={name:{max:16},shortDescription:{max:60},description:{max:100},prompt:{max:4e3}};e.s(["COMMON_VALIDATE",0,r],986129);var n=e.i(64774);Array(8).fill(0);let d="currentColor",o=[{id:"system",label:"System",value:d},{id:"slate",label:"Slate",value:"#64748B"},{id:"indigo",label:"Indigo",value:"#6366F1"},{id:"blue",label:"Blue",value:"#3B82F6"},{id:"cyan",label:"Cyan",value:"#06B6D4"},{id:"teal",label:"Teal",value:"#14B8A6"},{id:"green",label:"Green",value:"#22C55E"},{id:"lime",label:"Lime",value:"#84CC16"},{id:"amber",label:"Amber",value:"#F59E0B"},{id:"orange",label:"Orange",value:"#F97316"},{id:"red",label:"Red",value:"#EF4444"},{id:"pink",label:"Pink",value:"#EC4899"},{id:"violet",label:"Violet",value:"#8B5CF6"},{id:"fuchsia",label:"Fuchsia",value:"#D946EF"},{id:"rose",label:"Rose",value:"#F43F5E"},{id:"sky",label:"Sky",value:"#0EA5E9"},{id:"emerald",label:"Emerald",value:"#10B981"},{id:"yellow",label:"Yellow",value:"#EAB308"},{id:"stone",label:"Stone",value:"#78716C"},{id:"navy",label:"Navy",value:"#1E3A8A",dark:!0},{id:"ocean",label:"Ocean",value:"#155E75",dark:!0},{id:"pine",label:"Pine",value:"#166534",dark:!0},{id:"moss",label:"Moss",value:"#3F6212",dark:!0},{id:"olive",label:"Olive",value:"#854D0E",dark:!0},{id:"rust",label:"Rust",value:"#9A3412",dark:!0},{id:"wine",label:"Wine",value:"#9F1239",dark:!0},{id:"plum",label:"Plum",value:"#6B21A8",dark:!0},{id:"grape",label:"Grape",value:"#5B21B6",dark:!0},{id:"iron",label:"Iron",value:"#334155",dark:!0}],s=Object.fromEntries(o.map(e=>[e.id,e.value]));o.filter(e=>e.value!==d).map(e=>e.value),s.amber,s.red,o.filter(e=>e.value!==d&&!("dark"in e)).map(e=>e.value),o.filter(e=>"dark"in e).map(e=>e.value);let m=a.default.object({color:a.default.string().regex(/^(#[0-9a-fA-F]{6}|currentColor)$/,"Hex color").optional(),shape:a.default.enum(["blob","poly","squircle"]).optional(),outline:a.default.boolean().optional()}),u=a.default.string().max(r.prompt.max),g=a.default.object({id:a.default.number(),name:a.default.string(),serverName:a.default.string()}),b=a.default.string().trim().transform(e=>e.replace(/\s+/g," ")).pipe(a.default.string().min(1,"A name is required").max(r.name.max)),c=a.default.object({input:a.default.number(),output:a.default.number()});a.default.object({name:a.default.string(),description:a.default.string(),systemPrompt:a.default.string().nullish(),icon:m.nullish(),provider:i.textModelProviderSchema.nullish(),model:a.default.string().nullish(),compactAt:a.default.number().nullish(),disabled:a.default.boolean(),createdAt:t.DateLikeSchema,tools:g.array().default([]),tokens:c,lastJobAt:t.DateLikeSchema.nullish()}),a.default.object({name:b,description:a.default.string().trim().min(1,"Say what this bot is for").max(r.description.max),systemPrompt:u.optional(),icon:m.optional(),provider:i.textModelProviderSchema.nullish(),model:a.default.string().trim().max(80).nullish(),compactAt:a.default.coerce.number().int().min(8e3,"At least 8k").nullish(),disabled:a.default.boolean().optional(),toolIds:a.default.number().int().array().max(10).default([])}),a.default.object({file:a.default.string(),path:a.default.string(),line:a.default.string(),at:t.DateLikeSchema,bytes:a.default.number()});let p=l.PAGE_SIZE,f=a.default.discriminatedUnion("type",[a.default.object({type:a.default.literal("text"),text:a.default.string()}),a.default.object({type:a.default.literal("image"),src:a.default.string()})]),v=a.default.object({id:a.default.string(),seq:a.default.number(),bot:a.default.string().nullable(),parent:a.default.string().nullable(),at:t.DateLikeSchema}),k=a.default.discriminatedUnion("kind",[v.extend({kind:a.default.literal("user"),text:a.default.string()}),v.extend({kind:a.default.literal("text"),text:a.default.string()}),v.extend({kind:a.default.literal("note"),text:a.default.string()}),v.extend({kind:a.default.literal("tool"),callId:a.default.string(),name:a.default.string(),input:a.default.string(),note:a.default.string().nullish(),path:a.default.string().nullish()}),v.extend({kind:a.default.literal("tool-result"),callId:a.default.string(),name:a.default.string(),results:f.array(),more:a.default.boolean()}),v.extend({kind:a.default.literal("ask"),callId:a.default.string(),to:a.default.string(),text:a.default.string()}),v.extend({kind:a.default.literal("ask-result"),callId:a.default.string(),text:a.default.string()}),v.extend({kind:a.default.literal("waiting"),callId:a.default.string(),question:a.default.string(),options:a.default.string().array()})]),x=a.default.object({question:a.default.string(),options:a.default.string().array(),auto:a.default.boolean()});a.default.object({id:a.default.string(),bot:a.default.string(),label:a.default.string(),request:a.default.string(),status:a.default.enum(["running","waiting","done","failed"]),outcome:a.default.string().nullable(),ask:x.nullable(),seen:a.default.boolean(),tokens:c,contextTokens:a.default.number(),contextBudget:a.default.number(),createdAt:t.DateLikeSchema,updatedAt:t.DateLikeSchema,lines:k.array()}),e.s(["BOT_MEMORY_KEY",0,"BOT_MEMORY","COMPACT_AT_MIN",0,8e3,"DEFAULT_BOT",0,{name:"Jarvis",description:"Anything — this computer, a browser, the web, files, services",systemPrompt:null,icon:{color:"#14B8A6",shape:"squircle"},provider:null,model:null,disabled:!1,compactAt:null},"NO_TOKENS",0,{input:0,output:0},"TASK_CONTINUE",0,"Continue","TASK_HISTORY_PAGE",0,p,"botIconSchema",0,m,"isBotMemoryOn",0,e=>e?.trim()!=="off","taskActivity",0,function(e,a=120){let l=null;for(let i=e.length-1;i>=0;i--){let t=e[i];if("tool"===t.kind)l??=`${t.name} ${t.note??t.input}`;else if("text"===t.kind)return(0,n.clip)(l?`${t.text} → ${l}`:t.text,a);else if("ask"===t.kind)return(0,n.clip)(t.parent?`asked ${t.to}: ${t.text}`:`asked ${t.to} for: ${t.text}`,a);else if("user"===t.kind||"waiting"===t.kind)break}return l?(0,n.clip)(l,a):null}],951056)},517435,e=>{"use strict";var a=e.i(794588);e.s(["default",0,a])}];
1
+ module.exports=[864328,e=>{"use strict";var a=e.i(853205),l=e.i(333925);a.z.object({value:a.z.string().min(1),expires_at:a.z.number()});let i=a.z.enum(["openai","chatgpt","anthropic","google","xai","vercel-ai-gateway"]),t=a.z.object({provider:i,model:a.z.string().trim().min(1,"Model name is required").max(80)}),r=a.z.enum(["openai","xai"]),n=a.z.object({provider:r,voice:a.z.string().trim().min(1).max(64).nullish(),model:a.z.string().trim().min(1).max(80).nullish()}),d=a.z.enum(["openai","google","xai","vercel-ai-gateway"]),o=a.z.object({provider:d,model:a.z.string().trim().min(1,"Model name is required").max(120)}),s={openai:{label:"Open AI",apiKeyName:"OPENAI_API_KEY",models:{image:[{id:"gpt-image-1-mini",label:"GPT Image 1 mini",tier:"small"},{id:"gpt-image-2.5-flare",label:"GPT Image 2.5 Flare",tier:"mid"},{id:"gpt-image-2.5-sunburst",label:"GPT Image 2.5 Sunburst",tier:"large"}],video:[],speech:[{id:"tts-1",label:"TTS 1",tier:"small"},{id:"gpt-4o-mini-tts",label:"4o mini TTS",tier:"mid"},{id:"tts-1-hd",label:"TTS 1 HD",tier:"large"}],transcription:[{id:"gpt-4o-mini-transcribe",label:"4o mini Transcribe",tier:"small"},{id:"gpt-transcribe",label:"GPT Transcribe",tier:"mid"}]}},google:{label:"Gemini",apiKeyName:"GOOGLE_GENERATIVE_AI_API_KEY",models:{image:[{id:"gemini-3.1-flash-lite-image",label:"3.1 Flash Lite Image",tier:"small"},{id:"gemini-3.1-flash-image",label:"3.1 Flash Image",tier:"mid"},{id:"gemini-3-pro-image",label:"3 Pro Image",tier:"large"}],video:[{id:"veo-3.1-lite-generate-preview",label:"Veo 3.1 Lite",tier:"small"},{id:"veo-3.1-fast-generate-preview",label:"Veo 3.1 Fast",tier:"mid"},{id:"veo-3.1-generate-preview",label:"Veo 3.1",tier:"large"}],speech:[{id:"gemini-2.5-flash-preview-tts",label:"2.5 Flash TTS",tier:"small"},{id:"gemini-3.1-flash-tts-preview",label:"3.1 Flash TTS",tier:"mid"},{id:"gemini-2.5-pro-preview-tts",label:"2.5 Pro TTS",tier:"large"}],transcription:[{id:"gemini-3.5-transcribe",label:"3.5 Transcribe",tier:"mid"}]}},xai:{label:"xAI",apiKeyName:"XAI_API_KEY",models:{image:[{id:"grok-imagine-image",label:"Grok Imagine",tier:"small"},{id:"grok-imagine-image-2.0",label:"Grok Imagine 2.0",tier:"mid"}],video:[{id:"grok-imagine-video",label:"Grok Imagine Video",tier:"small"},{id:"grok-imagine-video-1.5",label:"Grok Imagine Video 1.5",tier:"mid"}],speech:[{id:"grok-tts",label:"Grok TTS",tier:"mid"}],transcription:[{id:"grok-stt",label:"Grok STT",tier:"mid"}]}},"vercel-ai-gateway":{label:"Vercel AI GateWay",apiKeyName:"AI_GATEWAY_API_KEY",models:{image:[{id:"bytedance/seedream-5.0-lite",label:"Seedream 5.0 Lite",tier:"small"},{id:"bfl/flux-2-klein-9b",label:"FLUX 2 Klein 9B",tier:"small"},{id:"spacexai/grok-imagine-image-2.0",label:"Grok Imagine 2.0",tier:"small"},{id:"google/gemini-3.1-flash-image",label:"Gemini 3.1 Flash Image",tier:"mid"},{id:"bfl/flux-2-pro",label:"FLUX 2 Pro",tier:"mid"},{id:"bytedance/seedream-5.0-pro",label:"Seedream 5.0 Pro",tier:"mid"},{id:"recraft/recraft-v4.1",label:"Recraft V4.1",tier:"mid"},{id:"google/gemini-3-pro-image",label:"Gemini 3 Pro Image",tier:"large"},{id:"openai/gpt-image-2.5-sunburst",label:"GPT Image 2.5 Sunburst",tier:"large"}],video:[{id:"bytedance/seedance-2.0-mini",label:"Seedance 2.0 Mini",tier:"small"},{id:"google/veo-3.1-lite-generate-001",label:"Veo 3.1 Lite",tier:"small"},{id:"alibaba/wan-v2.6-t2v",label:"Wan 2.6",tier:"small"},{id:"google/veo-3.1-fast-generate-001",label:"Veo 3.1 Fast",tier:"mid"},{id:"bytedance/seedance-2.5",label:"Seedance 2.5",tier:"mid"},{id:"spacexai/grok-imagine-video-1.5",label:"Grok Imagine Video 1.5",tier:"mid"},{id:"klingai/kling-v3.0-t2v",label:"Kling 3.0",tier:"large"},{id:"google/veo-3.1-generate-001",label:"Veo 3.1",tier:"large"}],speech:[{id:"fish-audio/s1",label:"Fish Audio S1",tier:"small"},{id:"openai/tts-1",label:"OpenAI TTS 1",tier:"small"},{id:"spacexai/grok-tts",label:"Grok TTS",tier:"mid"},{id:"fish-audio/s2.1-pro",label:"Fish Audio S2.1 Pro",tier:"mid"},{id:"openai/tts-1-hd",label:"OpenAI TTS 1 HD",tier:"large"}],transcription:[{id:"spacexai/grok-stt",label:"Grok STT",tier:"small"},{id:"fish-audio/transcribe-1",label:"Fish Transcribe 1",tier:"small"},{id:"openai/gpt-4o-mini-transcribe",label:"4o mini Transcribe",tier:"small"},{id:"openai/gpt-4o-transcribe",label:"4o Transcribe",tier:"mid"},{id:"google/gemini-3.5-transcribe",label:"Gemini 3.5 Transcribe",tier:"mid"}]}}},m=Object.keys(s).map(e=>({id:e,...s[e]})),u={openai:{label:"Open AI",apiKeyName:"OPENAI_API_KEY",suggestModels:[{id:"gpt-5.6-luna",label:"5.6 Luna",tier:"small",context:105e4},{id:"gpt-5.6-terra",label:"5.6 Terra",tier:"mid",context:105e4},{id:"gpt-5.6-sol",label:"5.6 Sol",tier:"large",context:105e4},{id:"gpt-6-astra",label:"6 Astra",tier:"large",context:105e4}]},chatgpt:{label:"GPT Subscription",apiKeyName:"CHATGPT_SIGN_IN",signIn:!0,suggestModels:[{id:"gpt-5.6-luna",label:"5.6 Luna",tier:"small",context:272e3},{id:"gpt-5.6-terra",label:"5.6 Terra",tier:"mid",context:272e3},{id:"gpt-5.6-sol",label:"5.6 Sol",tier:"large",context:272e3},{id:"gpt-6-astra",label:"6 Astra",tier:"large",context:272e3}]},anthropic:{label:"Claude",apiKeyName:"ANTHROPIC_API_KEY",suggestModels:[{id:"claude-haiku-4-5",label:"Haiku 4.5",tier:"small"},{id:"claude-sonnet-5",label:"Sonnet 5",tier:"mid",context:1e6},{id:"claude-opus-5",label:"Opus 5",tier:"large",context:1e6},{id:"claude-fable-5-1",label:"Fable 5.1",tier:"large"}]},google:{label:"Gemini",apiKeyName:"GOOGLE_GENERATIVE_AI_API_KEY",suggestModels:[{id:"gemini-3.5-flash-lite",label:"3.5 Flash Lite",tier:"small",context:1e6},{id:"gemini-3.8-flash",label:"3.8 Flash",tier:"mid",context:1e6}]},xai:{label:"xAI",apiKeyName:"XAI_API_KEY",suggestModels:[{id:"grok-4.6",label:"Grok 4.6",tier:"large",context:5e5}]},"vercel-ai-gateway":{label:"Vercel AI GateWay",apiKeyName:"AI_GATEWAY_API_KEY",suggestModels:[{id:"zai/glm-5.3-flash",label:"GLM 5.3 Flash",tier:"small"},{id:"google/gemini-3.8-flash",label:"Gemini 3.8 Flash",tier:"small"},{id:"openai/gpt-5.6-luna",label:"GPT 5.6 Luna",tier:"small",context:105e4},{id:"zai/glm-5.3",label:"GLM 5.3",tier:"mid"},{id:"spacexai/grok-4.6",label:"Grok 4.6",tier:"mid",context:5e5},{id:"anthropic/claude-sonnet-5",label:"Claude Sonnet 5",tier:"mid"},{id:"openai/gpt-5.6-terra",label:"GPT 5.6 Terra",tier:"mid",context:105e4},{id:"moonshotai/kimi-k3",label:"Kimi K3",tier:"mid"},{id:"openai/gpt-5.6-sol",label:"GPT 5.6 Sol",tier:"large",context:105e4},{id:"anthropic/claude-opus-5",label:"Claude Opus 5",tier:"large",context:1e6},{id:"openai/gpt-6-astra",label:"GPT 6 Astra",tier:"large",context:105e4}]}},g={openai:{apiKeyName:u.openai.apiKeyName,label:u.openai.label,keyPrefix:["sk-"],models:[{id:"gpt-realtime-2.1",label:"Realtime 2.1"},{id:"gpt-realtime-2.1-mini",label:"Realtime 2.1 mini"},{id:"gpt-realtime-2",label:"Realtime 2"}],voices:["marin","cedar","alloy","ash","ballad","coral","echo","sage","shimmer","verse"],defaultVoice:"marin"},xai:{apiKeyName:u.xai.apiKeyName,label:u.xai.label,keyPrefix:["xai-"],models:[{id:"grok-voice-think-fast-2.0",label:"Voice Think Fast 2.0"},{id:"grok-voice-latest",label:"Voice latest"}],voices:["eve","ara","leo","rex","sal"],defaultVoice:"eve"}},b=Object.keys(g).map(e=>({id:e,...g[e]})),c=Object.keys(u).map(e=>({id:e,...u[e]}));e.s(["GATEWAY_TEXT",0,"language","MEDIA_MODEL_PROVIDERS",0,s,"MEDIA_MODEL_PROVIDER_LIST",0,m,"SPEACH_MODEL_PROVIDERS",0,g,"SPEACH_MODEL_PROVIDER_LIST",0,b,"TEXT_MODEL_PROVIDERS",0,u,"TEXT_MODEL_PROVIDER_LIST",0,c,"canMakeKind",0,(e,a)=>(s[e]?.models[a]?.length??0)>0,"compactAtFor",0,e=>e&&e>0?Math.round(e*l.BOT_RUN.compactHeadroom):l.BOT_RUN.compactAt,"contextWindowOf",0,function(e,a,l=[]){if("vercel-ai-gateway"===e)return l.find(e=>e.id===a)?.contextWindow??null;let i=u[e].suggestModels;return i.find(e=>e.id===a)?.context??null},"defaultModelOf",0,e=>(e.suggestModels.find(e=>"mid"===e.tier)??e.suggestModels[0])?.id,"parseMediaModel",0,function(e){let[a,...l]=(e??"").trim().split("/"),i=o.safeParse({provider:a,model:l.join("/")});return i.success?i.data:null},"parseTextModel",0,function(e){let[a,...l]=(e??"").trim().split("/"),i=t.safeParse({provider:a,model:l.join("/")});return i.success?i.data:null},"speachModelRefSchema",0,n,"textModelProviderSchema",0,i],864328)},951056,986129,e=>{"use strict";var a=e.i(517435),l=e.i(333925),i=e.i(864328),t=e.i(900533);let r={name:{max:16},shortDescription:{max:60},description:{max:100},prompt:{max:4e3}};e.s(["COMMON_VALIDATE",0,r],986129);var n=e.i(64774);Array(8).fill(0);let d="currentColor",o=[{id:"system",label:"System",value:d},{id:"slate",label:"Slate",value:"#64748B"},{id:"indigo",label:"Indigo",value:"#6366F1"},{id:"blue",label:"Blue",value:"#3B82F6"},{id:"cyan",label:"Cyan",value:"#06B6D4"},{id:"teal",label:"Teal",value:"#14B8A6"},{id:"green",label:"Green",value:"#22C55E"},{id:"lime",label:"Lime",value:"#84CC16"},{id:"amber",label:"Amber",value:"#F59E0B"},{id:"orange",label:"Orange",value:"#F97316"},{id:"red",label:"Red",value:"#EF4444"},{id:"pink",label:"Pink",value:"#EC4899"},{id:"violet",label:"Violet",value:"#8B5CF6"},{id:"fuchsia",label:"Fuchsia",value:"#D946EF"},{id:"rose",label:"Rose",value:"#F43F5E"},{id:"sky",label:"Sky",value:"#0EA5E9"},{id:"emerald",label:"Emerald",value:"#10B981"},{id:"yellow",label:"Yellow",value:"#EAB308"},{id:"stone",label:"Stone",value:"#78716C"},{id:"navy",label:"Navy",value:"#1E3A8A",dark:!0},{id:"ocean",label:"Ocean",value:"#155E75",dark:!0},{id:"pine",label:"Pine",value:"#166534",dark:!0},{id:"moss",label:"Moss",value:"#3F6212",dark:!0},{id:"olive",label:"Olive",value:"#854D0E",dark:!0},{id:"rust",label:"Rust",value:"#9A3412",dark:!0},{id:"wine",label:"Wine",value:"#9F1239",dark:!0},{id:"plum",label:"Plum",value:"#6B21A8",dark:!0},{id:"grape",label:"Grape",value:"#5B21B6",dark:!0},{id:"iron",label:"Iron",value:"#334155",dark:!0}],s=Object.fromEntries(o.map(e=>[e.id,e.value]));o.filter(e=>e.value!==d).map(e=>e.value),s.amber,s.red,o.filter(e=>e.value!==d&&!("dark"in e)).map(e=>e.value),o.filter(e=>"dark"in e).map(e=>e.value);let m=a.default.object({color:a.default.string().regex(/^(#[0-9a-fA-F]{6}|currentColor)$/,"Hex color").optional(),shape:a.default.enum(["blob","poly","squircle"]).optional(),outline:a.default.boolean().optional()}),u=a.default.string().max(r.prompt.max),g=a.default.object({id:a.default.number(),name:a.default.string(),serverName:a.default.string()}),b=a.default.string().trim().transform(e=>e.replace(/\s+/g," ")).pipe(a.default.string().min(1,"A name is required").max(r.name.max)),c=a.default.object({input:a.default.number(),output:a.default.number()});a.default.object({name:a.default.string(),description:a.default.string(),systemPrompt:a.default.string().nullish(),icon:m.nullish(),provider:i.textModelProviderSchema.nullish(),model:a.default.string().nullish(),compactAt:a.default.number().nullish(),disabled:a.default.boolean(),createdAt:t.DateLikeSchema,tools:g.array().default([]),tokens:c,lastJobAt:t.DateLikeSchema.nullish()}),a.default.object({name:b,description:a.default.string().trim().min(1,"Say what this bot is for").max(r.description.max),systemPrompt:u.optional(),icon:m.optional(),provider:i.textModelProviderSchema.nullish(),model:a.default.string().trim().max(80).nullish(),compactAt:a.default.coerce.number().int().min(8e3,"At least 8k").nullish(),disabled:a.default.boolean().optional(),toolIds:a.default.number().int().array().max(10).default([])}),a.default.object({file:a.default.string(),path:a.default.string(),line:a.default.string(),at:t.DateLikeSchema,bytes:a.default.number()});let p=l.PAGE_SIZE,f={thursday:"Thursday, on the call:",user:"The user, on screen:"},v=a.default.discriminatedUnion("type",[a.default.object({type:a.default.literal("text"),text:a.default.string()}),a.default.object({type:a.default.literal("image"),src:a.default.string()})]),k=a.default.object({id:a.default.string(),seq:a.default.number(),bot:a.default.string().nullable(),parent:a.default.string().nullable(),at:t.DateLikeSchema}),x=a.default.discriminatedUnion("kind",[k.extend({kind:a.default.literal("user"),text:a.default.string()}),k.extend({kind:a.default.literal("text"),text:a.default.string()}),k.extend({kind:a.default.literal("note"),text:a.default.string()}),k.extend({kind:a.default.literal("stop"),text:a.default.string()}),k.extend({kind:a.default.literal("tool"),callId:a.default.string(),name:a.default.string(),input:a.default.string(),note:a.default.string().nullish(),path:a.default.string().nullish()}),k.extend({kind:a.default.literal("tool-result"),callId:a.default.string(),name:a.default.string(),results:v.array(),more:a.default.boolean()}),k.extend({kind:a.default.literal("ask"),callId:a.default.string(),to:a.default.string(),text:a.default.string()}),k.extend({kind:a.default.literal("ask-result"),callId:a.default.string(),text:a.default.string()}),k.extend({kind:a.default.literal("waiting"),callId:a.default.string(),question:a.default.string(),options:a.default.string().array()})]),h=a.default.object({question:a.default.string(),options:a.default.string().array(),auto:a.default.boolean()});a.default.object({id:a.default.string(),bot:a.default.string(),label:a.default.string(),request:a.default.string(),status:a.default.enum(["running","waiting","done","failed"]),outcome:a.default.string().nullable(),ask:h.nullable(),seen:a.default.boolean(),tokens:c,contextTokens:a.default.number(),contextBudget:a.default.number(),createdAt:t.DateLikeSchema,updatedAt:t.DateLikeSchema,lines:x.array()}),e.s(["BOT_MEMORY_KEY",0,"BOT_MEMORY","COMPACT_AT_MIN",0,8e3,"DEFAULT_BOT",0,{name:"Jarvis",description:"Anything — this computer, a browser, the web, files, services",systemPrompt:null,icon:{color:"#14B8A6",shape:"squircle"},provider:null,model:null,disabled:!1,compactAt:null},"NO_TOKENS",0,{input:0,output:0},"TASK_CONTINUE",0,"Continue","TASK_HISTORY_PAGE",0,p,"botIconSchema",0,m,"isBotMemoryOn",0,e=>e?.trim()!=="off","tagSpeaker",0,(e,a)=>`${f[e]} ${a}`,"taskActivity",0,function(e,a=120){let l=null;for(let i=e.length-1;i>=0;i--){let t=e[i];if("tool"===t.kind)l??=`${t.name} ${t.note??t.input}`;else if("text"===t.kind)return(0,n.clip)(l?`${t.text} → ${l}`:t.text,a);else if("ask"===t.kind)return(0,n.clip)(t.parent?`asked ${t.to}: ${t.text}`:`asked ${t.to} for: ${t.text}`,a);else if("user"===t.kind||"waiting"===t.kind)break}return l?(0,n.clip)(l,a):null},"untagSpeaker",0,e=>{for(let a of Object.values(f))if(e.startsWith(`${a} `))return e.slice(a.length+1);return e}],951056)},517435,e=>{"use strict";var a=e.i(794588);e.s(["default",0,a])}];
2
2
 
3
3
  //# sourceMappingURL=_15hq89o._.js.map