reflex-agent 0.15.0 → 0.16.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.next/BUILD_ID +1 -1
- package/.next/app-build-manifest.json +123 -116
- package/.next/app-path-routes-manifest.json +11 -10
- package/.next/build-manifest.json +5 -5
- package/.next/prerender-manifest.json +3 -3
- package/.next/react-loadable-manifest.json +1 -1
- package/.next/routes-manifest.json +6 -0
- package/.next/server/app/_not-found/page.js +1 -1
- package/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/server/app/agents/[agentId]/page.js +1 -1
- package/.next/server/app/agents/[agentId]/page.js.nft.json +1 -1
- package/.next/server/app/agents/[agentId]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/api/agents/[agentId]/respond/route.js +1 -1
- package/.next/server/app/api/agents/[agentId]/respond/route.js.nft.json +1 -1
- package/.next/server/app/api/agents/[agentId]/respond/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/images/[rootId]/[file]/route.js +1 -1
- package/.next/server/app/api/images/[rootId]/[file]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/oauth/callback/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/oauth/start/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/roots/[id]/attachments/route.js +0 -0
- package/.next/server/app/api/roots/[id]/attachments/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/roots/[id]/chat/[topicId]/send/route.js +1 -1
- package/.next/server/app/api/roots/[id]/chat/[topicId]/send/route.js.nft.json +1 -1
- package/.next/server/app/api/roots/[id]/chat/[topicId]/send/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/roots/[id]/chat/[topicId]/stop/route.js +1 -1
- package/.next/server/app/api/roots/[id]/chat/[topicId]/stop/route.js.nft.json +1 -1
- package/.next/server/app/api/roots/[id]/chat/[topicId]/stop/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/roots/[id]/chat/[topicId]/stream/route.js +2 -2
- package/.next/server/app/api/roots/[id]/chat/[topicId]/stream/route.js.nft.json +1 -1
- package/.next/server/app/api/roots/[id]/chat/[topicId]/stream/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/roots/[id]/dashboard/route.js +1 -1
- package/.next/server/app/api/roots/[id]/dashboard/route.js.nft.json +1 -1
- package/.next/server/app/api/roots/[id]/dashboard/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/roots/[id]/suggestions/route.js +1 -1
- package/.next/server/app/api/roots/[id]/suggestions/route.js.nft.json +1 -1
- package/.next/server/app/api/roots/[id]/suggestions/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/utilities/[scope]/[id]/bundle.js/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/utilities/[scope]/[id]/host/route.js +1 -1
- package/.next/server/app/api/utilities/[scope]/[id]/host/route.js.nft.json +1 -1
- package/.next/server/app/api/utilities/[scope]/[id]/host/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/utilities/[scope]/[id]/host-api.mjs/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/utilities/[scope]/[id]/host-ui.mjs/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/utilities/[scope]/[id]/iframe/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/utilities/[scope]/[id]/style.css/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/utilities/install-archive/route_client-reference-manifest.js +1 -1
- package/.next/server/app/audit/page.js +2 -2
- package/.next/server/app/audit/page.js.nft.json +1 -1
- package/.next/server/app/audit/page_client-reference-manifest.js +1 -1
- package/.next/server/app/dispatcher/page.js +2 -0
- package/.next/server/app/dispatcher/page.js.nft.json +1 -0
- package/.next/server/app/dispatcher/page_client-reference-manifest.js +1 -0
- package/.next/server/app/onboarding/page.js +3 -3
- package/.next/server/app/onboarding/page.js.nft.json +1 -1
- package/.next/server/app/onboarding/page_client-reference-manifest.js +1 -1
- package/.next/server/app/page.js +2 -2
- package/.next/server/app/page.js.nft.json +1 -1
- package/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/server/app/roots/[id]/chat/[topicId]/page.js +2 -2
- package/.next/server/app/roots/[id]/chat/[topicId]/page.js.nft.json +1 -1
- package/.next/server/app/roots/[id]/chat/[topicId]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/roots/[id]/kb/[...slug]/page.js +2 -2
- package/.next/server/app/roots/[id]/kb/[...slug]/page.js.nft.json +1 -1
- package/.next/server/app/roots/[id]/kb/[...slug]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/roots/[id]/memory/page.js +2 -2
- package/.next/server/app/roots/[id]/memory/page.js.nft.json +1 -1
- package/.next/server/app/roots/[id]/memory/page_client-reference-manifest.js +1 -1
- package/.next/server/app/roots/[id]/page.js +6 -6
- package/.next/server/app/roots/[id]/page.js.nft.json +1 -1
- package/.next/server/app/roots/[id]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/roots/[id]/workflows/[wfId]/page.js +2 -2
- package/.next/server/app/roots/[id]/workflows/[wfId]/page.js.nft.json +1 -1
- package/.next/server/app/roots/[id]/workflows/[wfId]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/roots/[id]/workflows/page.js +2 -2
- package/.next/server/app/roots/[id]/workflows/page.js.nft.json +1 -1
- package/.next/server/app/roots/[id]/workflows/page_client-reference-manifest.js +1 -1
- package/.next/server/app/roots/new/page.js +3 -3
- package/.next/server/app/roots/new/page.js.nft.json +1 -1
- package/.next/server/app/roots/new/page_client-reference-manifest.js +1 -1
- package/.next/server/app/settings/page.js +4 -4
- package/.next/server/app/settings/page.js.nft.json +1 -1
- package/.next/server/app/settings/page_client-reference-manifest.js +1 -1
- package/.next/server/app/share/[id]/file/page.js +2 -2
- package/.next/server/app/share/[id]/file/page.js.nft.json +1 -1
- package/.next/server/app/share/[id]/file/page_client-reference-manifest.js +1 -1
- package/.next/server/app/share/[id]/page.js +2 -2
- package/.next/server/app/share/[id]/page.js.nft.json +1 -1
- package/.next/server/app/share/[id]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/utilities/[scope]/[id]/page.js +2 -2
- package/.next/server/app/utilities/[scope]/[id]/page.js.nft.json +1 -1
- package/.next/server/app/utilities/[scope]/[id]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/utilities/page.js +2 -2
- package/.next/server/app/utilities/page.js.nft.json +1 -1
- package/.next/server/app/utilities/page_client-reference-manifest.js +1 -1
- package/.next/server/app-paths-manifest.json +11 -10
- package/.next/server/chunks/1105.js +1 -1
- package/.next/server/chunks/1116.js +1 -1
- package/.next/server/chunks/1307.js +1 -0
- package/.next/server/chunks/1358.js +1 -1
- package/.next/server/chunks/1638.js +1 -1
- package/.next/server/chunks/2485.js +3 -3
- package/.next/server/chunks/2510.js +3 -0
- package/.next/server/chunks/269.js +1 -1
- package/.next/server/chunks/285.js +25 -22
- package/.next/server/chunks/3240.js +1 -1
- package/.next/server/chunks/3332.js +1 -1
- package/.next/server/chunks/3377.js +1 -1
- package/.next/server/chunks/3834.js +1 -1
- package/.next/server/chunks/4031.js +2 -2
- package/.next/server/chunks/4066.js +1 -1
- package/.next/server/chunks/{7358.js → 4251.js} +21 -18
- package/.next/server/chunks/4337.js +1 -0
- package/.next/server/chunks/4578.js +1 -1
- package/.next/server/chunks/4812.js +1 -1
- package/.next/server/chunks/4840.js +1 -1
- package/.next/server/chunks/4854.js +1 -0
- package/.next/server/chunks/5319.js +1 -1
- package/.next/server/chunks/569.js +1 -1
- package/.next/server/chunks/{8309.js → 5813.js} +2 -2
- package/.next/server/chunks/6142.js +1 -0
- package/.next/server/chunks/6840.js +1 -0
- package/.next/server/chunks/7220.js +1 -1
- package/.next/server/chunks/8511.js +1 -1
- package/.next/server/chunks/8576.js +2 -2
- package/.next/server/chunks/9098.js +1 -1
- package/.next/server/chunks/9179.js +2 -2
- package/.next/server/chunks/9809.js +1 -1
- package/.next/server/chunks/9835.js +1 -1
- package/.next/server/functions-config-manifest.json +1 -1
- package/.next/server/middleware-build-manifest.js +1 -1
- package/.next/server/middleware-manifest.json +5 -5
- package/.next/server/middleware-react-loadable-manifest.js +1 -1
- package/.next/server/pages/500.html +1 -1
- package/.next/server/server-reference-manifest.js +1 -1
- package/.next/server/server-reference-manifest.json +1 -1
- package/.next/static/chunks/2032-2a4123eb930cdaec.js +1 -0
- package/.next/static/chunks/2195-5b259de7dc1ecc65.js +1 -0
- package/.next/static/chunks/4108.282aed8c9dfa51c8.js +1 -0
- package/.next/static/chunks/4552-62988861b1d3487a.js +1 -0
- package/.next/static/chunks/{7037-7d9a908022d947da.js → 7480-0f167c09fef1e184.js} +1 -1
- package/.next/static/chunks/{8775-c1985f74619ced58.js → 8775-890699c74c28df61.js} +1 -1
- package/.next/static/chunks/9775-e1967b6eb70917ab.js +1 -0
- package/.next/static/chunks/app/api/agents/[agentId]/respond/route-78f8e23cdd4112b9.js +1 -0
- package/.next/static/chunks/app/api/images/[rootId]/[file]/route-78f8e23cdd4112b9.js +1 -0
- package/.next/static/chunks/app/api/oauth/callback/route-78f8e23cdd4112b9.js +1 -0
- package/.next/static/chunks/app/api/oauth/start/route-78f8e23cdd4112b9.js +1 -0
- package/.next/static/chunks/app/api/roots/[id]/attachments/route-78f8e23cdd4112b9.js +1 -0
- package/.next/static/chunks/app/api/roots/[id]/chat/[topicId]/send/route-78f8e23cdd4112b9.js +1 -0
- package/.next/static/chunks/app/api/roots/[id]/chat/[topicId]/stop/route-78f8e23cdd4112b9.js +1 -0
- package/.next/static/chunks/app/api/roots/[id]/chat/[topicId]/stream/route-78f8e23cdd4112b9.js +1 -0
- package/.next/static/chunks/app/api/roots/[id]/dashboard/route-78f8e23cdd4112b9.js +1 -0
- package/.next/static/chunks/app/api/roots/[id]/suggestions/route-78f8e23cdd4112b9.js +1 -0
- package/.next/static/chunks/app/api/utilities/[scope]/[id]/bundle.js/route-78f8e23cdd4112b9.js +1 -0
- package/.next/static/chunks/app/api/utilities/[scope]/[id]/host/route-78f8e23cdd4112b9.js +1 -0
- package/.next/static/chunks/app/api/utilities/[scope]/[id]/host-api.mjs/route-78f8e23cdd4112b9.js +1 -0
- package/.next/static/chunks/app/api/utilities/[scope]/[id]/host-ui.mjs/route-78f8e23cdd4112b9.js +1 -0
- package/.next/static/chunks/app/api/utilities/[scope]/[id]/iframe/route-78f8e23cdd4112b9.js +1 -0
- package/.next/static/chunks/app/api/utilities/[scope]/[id]/style.css/route-78f8e23cdd4112b9.js +1 -0
- package/.next/static/chunks/app/api/utilities/install-archive/route-78f8e23cdd4112b9.js +1 -0
- package/.next/static/chunks/app/dispatcher/page-78f8e23cdd4112b9.js +1 -0
- package/.next/static/chunks/app/layout-4b952afc754a9eab.js +1 -0
- package/.next/static/chunks/app/onboarding/page-4eb39d2da8f5b74b.js +1 -0
- package/.next/static/chunks/app/page-e4f20a2af6ee840f.js +1 -0
- package/.next/static/chunks/app/roots/[id]/chat/[topicId]/{page-ac80b75a50880fef.js → page-c318e0d7bc378401.js} +1 -1
- package/.next/static/chunks/app/roots/[id]/kb/[...slug]/page-0ac4deefd549778a.js +1 -0
- package/.next/static/chunks/app/roots/[id]/layout-78f8e23cdd4112b9.js +1 -0
- package/.next/static/chunks/app/roots/[id]/memory/{page-ae9c453a059a7c48.js → page-aac52678a724ac55.js} +1 -1
- package/.next/static/chunks/app/roots/[id]/page-959e66eecb5cf5a8.js +1 -0
- package/.next/static/chunks/app/roots/[id]/workflows/[wfId]/page-7af415baf1c31a66.js +1 -0
- package/.next/static/chunks/app/roots/[id]/workflows/page-6d9a9259c8419689.js +1 -0
- package/.next/static/chunks/app/roots/new/page-7b70107d4e1444bf.js +1 -0
- package/.next/static/chunks/app/settings/page-5a7bf1544311bc84.js +1 -0
- package/.next/static/chunks/app/share/[id]/page-acffd9a36ab71a6c.js +1 -0
- package/.next/static/chunks/app/utilities/[scope]/[id]/page-015bce192284cbfd.js +1 -0
- package/.next/static/chunks/app/utilities/page-96f769b25ff57602.js +1 -0
- package/.next/static/chunks/{webpack-bf73daacb1b20997.js → webpack-455b1fa7690b2149.js} +1 -1
- package/.next/static/hPYprisLL4KmGxvyJ-Jan/_buildManifest.js +1 -0
- package/.next/trace +90 -90
- package/.next/types/app/dispatcher/page.ts +84 -0
- package/.next/types/routes.d.ts +2 -1
- package/.next/types/validator.ts +9 -0
- package/package.json +1 -1
- package/.next/server/chunks/2258.js +0 -1
- package/.next/server/chunks/3966.js +0 -1
- package/.next/server/chunks/4201.js +0 -3
- package/.next/server/chunks/8133.js +0 -1
- package/.next/static/1JOww-AoS7M9R4-h4i1EK/_buildManifest.js +0 -1
- package/.next/static/chunks/1807-29ed83a7f19aa21e.js +0 -1
- package/.next/static/chunks/3908-7e7f22cd1d3c47ed.js +0 -1
- package/.next/static/chunks/4108.1e51cb6f9a9638b0.js +0 -1
- package/.next/static/chunks/6559-329fd074773ef4f2.js +0 -1
- package/.next/static/chunks/6560-d68897c384b289dc.js +0 -1
- package/.next/static/chunks/app/api/agents/[agentId]/respond/route-5d0cd3b754198853.js +0 -1
- package/.next/static/chunks/app/api/images/[rootId]/[file]/route-5d0cd3b754198853.js +0 -1
- package/.next/static/chunks/app/api/oauth/callback/route-5d0cd3b754198853.js +0 -1
- package/.next/static/chunks/app/api/oauth/start/route-5d0cd3b754198853.js +0 -1
- package/.next/static/chunks/app/api/roots/[id]/attachments/route-5d0cd3b754198853.js +0 -1
- package/.next/static/chunks/app/api/roots/[id]/chat/[topicId]/send/route-5d0cd3b754198853.js +0 -1
- package/.next/static/chunks/app/api/roots/[id]/chat/[topicId]/stop/route-5d0cd3b754198853.js +0 -1
- package/.next/static/chunks/app/api/roots/[id]/chat/[topicId]/stream/route-5d0cd3b754198853.js +0 -1
- package/.next/static/chunks/app/api/roots/[id]/dashboard/route-5d0cd3b754198853.js +0 -1
- package/.next/static/chunks/app/api/roots/[id]/suggestions/route-5d0cd3b754198853.js +0 -1
- package/.next/static/chunks/app/api/utilities/[scope]/[id]/bundle.js/route-5d0cd3b754198853.js +0 -1
- package/.next/static/chunks/app/api/utilities/[scope]/[id]/host/route-5d0cd3b754198853.js +0 -1
- package/.next/static/chunks/app/api/utilities/[scope]/[id]/host-api.mjs/route-5d0cd3b754198853.js +0 -1
- package/.next/static/chunks/app/api/utilities/[scope]/[id]/host-ui.mjs/route-5d0cd3b754198853.js +0 -1
- package/.next/static/chunks/app/api/utilities/[scope]/[id]/iframe/route-5d0cd3b754198853.js +0 -1
- package/.next/static/chunks/app/api/utilities/[scope]/[id]/style.css/route-5d0cd3b754198853.js +0 -1
- package/.next/static/chunks/app/api/utilities/install-archive/route-5d0cd3b754198853.js +0 -1
- package/.next/static/chunks/app/layout-0385fc4c09255a22.js +0 -1
- package/.next/static/chunks/app/onboarding/page-e49a9a7a81bdc74e.js +0 -1
- package/.next/static/chunks/app/page-d11913f531a6920e.js +0 -1
- package/.next/static/chunks/app/roots/[id]/kb/[...slug]/page-30c5a6767d469a99.js +0 -1
- package/.next/static/chunks/app/roots/[id]/layout-5d0cd3b754198853.js +0 -1
- package/.next/static/chunks/app/roots/[id]/page-074640697b6db60a.js +0 -1
- package/.next/static/chunks/app/roots/[id]/workflows/[wfId]/page-6e23d0a8b8bc570b.js +0 -1
- package/.next/static/chunks/app/roots/[id]/workflows/page-2a7d5c4f49b41e14.js +0 -1
- package/.next/static/chunks/app/roots/new/page-530bbb61fefeadc8.js +0 -1
- package/.next/static/chunks/app/settings/page-3b79c11349d439b5.js +0 -1
- package/.next/static/chunks/app/share/[id]/page-b5e74b24b29e3918.js +0 -1
- package/.next/static/chunks/app/utilities/[scope]/[id]/page-ec338e725c434ecd.js +0 -1
- package/.next/static/chunks/app/utilities/page-fb110c605c6dedb6.js +0 -1
- /package/.next/static/{1JOww-AoS7M9R4-h4i1EK → hPYprisLL4KmGxvyJ-Jan}/_ssgManifest.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";exports.id=3240,exports.ids=[3240],exports.modules={37576:(a,b,c)=>{c.d(b,{B:()=>e});var d=c(7188);async function e(a,b){let c=b.memoryFile?await (0,d.iq)(a,b.memoryFile):null,e=[];return e.push(`[Reflex auto-refresh] Widget "${b.title}" (id: \`${b.id}\`, kind: \`${b.kind}\`) is due for an update.`),e.push(""),e.push("Current widget data:"),e.push("```json"),e.push(JSON.stringify(b.data,null,2)),e.push("```"),e.push(""),b.memory&&b.memory.trim()&&(e.push("Current inline memory:"),e.push("```"),e.push(b.memory),e.push("```"),e.push("")),b.memoryFile&&(e.push(`Memory file: \`${b.memoryFile}\``),c&&c.trim()?(e.push("```markdown"),e.push(c.slice(0,4e3)),e.push("```")):e.push("_(file is empty or does not exist — create it on the first update)_"),e.push("")),e.push("What to do:"),e.push(`- Emit \`<<reflex:widget-update>>\` with id="${b.id}" and fresh data.`),e.push("- If `memory` exists, update its contents (dedup links, value history, etc.). Do not reset it to empty."),b.memoryFile&&e.push(`- If it makes sense, append to memoryFile (\`${b.memoryFile}\`) via \`<<reflex:kb>>\` (kind="widget-memory", title="<title>"). Do not duplicate the widget's own data there.`),e.push("- Keep the chat reply short (one line) — this is an automatic refresh, no extended commentary needed."),e.push(`- Cadence: \`${b.refresh??"manual"}\`. Do not change it without an explicit request.`),e.join("\n")}},93240:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{isDue:()=>q,startWidgetScheduler:()=>m,stopWidgetScheduler:()=>n});var e=c(24576),f=c(16909),g=c(31900),h=c(7188),i=c(11244),j=c(37576),k=a([f,g]);[f,g]=k.then?(await k)():k;let s="__reflexWidgetScheduler";function l(){return globalThis[s]||(globalThis[s]={intervalId:null,ticking:!1,startedAt:new Date().toISOString()}),globalThis[s]}function m(){let a=l();a.intervalId||(setTimeout(()=>{o().catch(a=>{console.error("[widget-scheduler] initial tick failed:",a)})},3e4),a.intervalId=setInterval(()=>{o().catch(a=>{console.error("[widget-scheduler] tick failed:",a)})},3e5))}function n(){let a=l();a.intervalId&&(clearInterval(a.intervalId),a.intervalId=null)}async function o(){let a=l();if(!a.ticking){a.ticking=!0;try{for(let a of(await (0,e.
|
|
1
|
+
"use strict";exports.id=3240,exports.ids=[3240],exports.modules={37576:(a,b,c)=>{c.d(b,{B:()=>e});var d=c(7188);async function e(a,b){let c=b.memoryFile?await (0,d.iq)(a,b.memoryFile):null,e=[];return e.push(`[Reflex auto-refresh] Widget "${b.title}" (id: \`${b.id}\`, kind: \`${b.kind}\`) is due for an update.`),e.push(""),e.push("Current widget data:"),e.push("```json"),e.push(JSON.stringify(b.data,null,2)),e.push("```"),e.push(""),b.memory&&b.memory.trim()&&(e.push("Current inline memory:"),e.push("```"),e.push(b.memory),e.push("```"),e.push("")),b.memoryFile&&(e.push(`Memory file: \`${b.memoryFile}\``),c&&c.trim()?(e.push("```markdown"),e.push(c.slice(0,4e3)),e.push("```")):e.push("_(file is empty or does not exist — create it on the first update)_"),e.push("")),e.push("What to do:"),e.push(`- Emit \`<<reflex:widget-update>>\` with id="${b.id}" and fresh data.`),e.push("- If `memory` exists, update its contents (dedup links, value history, etc.). Do not reset it to empty."),b.memoryFile&&e.push(`- If it makes sense, append to memoryFile (\`${b.memoryFile}\`) via \`<<reflex:kb>>\` (kind="widget-memory", title="<title>"). Do not duplicate the widget's own data there.`),e.push("- Keep the chat reply short (one line) — this is an automatic refresh, no extended commentary needed."),e.push(`- Cadence: \`${b.refresh??"manual"}\`. Do not change it without an explicit request.`),e.join("\n")}},93240:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{isDue:()=>q,startWidgetScheduler:()=>m,stopWidgetScheduler:()=>n});var e=c(24576),f=c(16909),g=c(31900),h=c(7188),i=c(11244),j=c(37576),k=a([f,g]);[f,g]=k.then?(await k)():k;let s="__reflexWidgetScheduler";function l(){return globalThis[s]||(globalThis[s]={intervalId:null,ticking:!1,startedAt:new Date().toISOString()}),globalThis[s]}function m(){let a=l();a.intervalId||(setTimeout(()=>{o().catch(a=>{console.error("[widget-scheduler] initial tick failed:",a)})},3e4),a.intervalId=setInterval(()=>{o().catch(a=>{console.error("[widget-scheduler] tick failed:",a)})},3e5))}function n(){let a=l();a.intervalId&&(clearInterval(a.intervalId),a.intervalId=null)}async function o(){let a=l();if(!a.ticking){a.ticking=!0;try{for(let a of(await (0,e.listRoots)()))try{await p(a.id,a.path)}catch(b){console.error(`[widget-scheduler] root ${a.id} failed:`,b instanceof Error?b.message:b)}}finally{a.ticking=!1}}}async function p(a,b){for(let d of(await (0,h.listWidgets)(b))){if(q(d)){if("utility-card"===d.kind){let{refreshUtilityCard:b}=await Promise.all([c.e(7300),c.e(2485),c.e(1116)]).then(c.bind(c,71116)),e=await b(a,d.id);e.ok||console.error(`[widget-scheduler] ${d.id} card refresh: ${e.error}`);continue}d.sourceTopicId&&(f.z.isActive(d.sourceTopicId)||await r(a,b,d))}}}function q(a){if(!a.refresh||"manual"===a.refresh)return!1;let b=i.VQ[a.refresh];if(!b)return!1;let c=a.lastRefreshAt??a.updatedAt,d=Date.now()-Date.parse(c);return Number.isFinite(d)&&d>=b}async function r(a,b,c){let d={...c,lastRefreshAt:new Date().toISOString()};await (0,h.writeWidget)(b,d);let e=await (0,j.B)(b,d),f=await (0,g.startOrchestratorTurn)({rootId:a,topicId:c.sourceTopicId,message:e,attachments:[]});"error"in f&&console.error(`[widget-scheduler] couldn't start refresh for ${c.id}: ${f.error}`)}d()}catch(a){d(a)}})}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";exports.id=3332,exports.ids=[3332],exports.modules={
|
|
1
|
+
"use strict";exports.id=3332,exports.ids=[3332],exports.modules={1760:(a,b,c)=>{c.d(b,{T:()=>e});var d=c(3265);let e=(0,d.createServerReference)("60d12a2086f45b0074f16c26ac0b766441209f9cfc",d.callServer,void 0,d.findSourceMapURL,"beginOAuthAction")},33332:(a,b,c)=>{c.d(b,{beginOAuthAction:()=>g.T,getOAuthClientAction:()=>e.J,listOAuthStatusesAction:()=>d.o,saveOAuthClientAction:()=>f.S});var d=c(75414),e=c(85578),f=c(50095),g=c(1760)},50095:(a,b,c)=>{c.d(b,{S:()=>e});var d=c(3265);let e=(0,d.createServerReference)("408963cee0830d70ac1e5a72468e449daed3eb1b41",d.callServer,void 0,d.findSourceMapURL,"saveOAuthClientAction")},75414:(a,b,c)=>{c.d(b,{o:()=>e});var d=c(3265);let e=(0,d.createServerReference)("00334ff259e8efe4c2cab6c8ea96fcd9e5325600be",d.callServer,void 0,d.findSourceMapURL,"listOAuthStatusesAction")},85578:(a,b,c)=>{c.d(b,{J:()=>e});var d=c(3265);let e=(0,d.createServerReference)("40319d8278177470fef3926442755f8b3ea75c4604",d.callServer,void 0,d.findSourceMapURL,"getOAuthClientAction")}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";exports.id=3377,exports.ids=[3377],exports.modules={3377:(a,b,c)=>{c.d(b,{notify:()=>e});var d=c(17640);async function e(a){let b=[],e={};if(!a.body?.trim())return{delivered:b,errors:{_:"empty body"}};let f=await (0,d.
|
|
1
|
+
"use strict";exports.id=3377,exports.ids=[3377],exports.modules={3377:(a,b,c)=>{c.d(b,{notify:()=>e});var d=c(17640);async function e(a){let b=[],e={};if(!a.body?.trim())return{delivered:b,errors:{_:"empty body"}};let f=await (0,d.loadSettings)(),g=f.notify?.telegram;if(g?.enabled&&g.botToken&&g.chatId)try{let{sendTelegram:d}=await c.e(4578).then(c.bind(c,54578));await d(g,a),b.push("telegram")}catch(a){e.telegram=a instanceof Error?a.message:String(a)}return{delivered:b,errors:e}}}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";exports.id=3834,exports.ids=[2787,3834],exports.modules={2787:(a,b,c)=>{c.d(b,{createTask:()=>o,deleteTask:()=>s,getTask:()=>q,listTasks:()=>p,updateTask:()=>r});var d=c(73024),e=c(76760),f=c.n(e),g=c(77598),h=c.n(g),i=c(30192),j=c.n(i),k=c(13474),l=c(11178),m=c(75207);let n="task";async function o(a,b){let c=`t-${h().randomBytes(4).toString("hex")}`,e=b.title.normalize("NFKD").toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").slice(0,60)||c,g=new Date().toISOString().slice(0,10),i=`${g}-${e}.md`,j=f().join((0,k.FF)(a),n);await d.promises.mkdir(j,{recursive:!0});let l=await v(j,i),m={id:c,title:b.title.trim(),type:b.type??"feature",status:b.status??"backlog",priority:b.priority??"normal",labels:b.labels??[],assignee:b.assignee??null,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),topicId:null,agentRequested:null,worktree:null,links:b.links??{},parent:b.parent??null,pre:b.pre??[],post:b.post??[],attachments:b.attachments??[],relPath:f().relative((0,k.FF)(a),l).split(f().sep).join("/"),body:(b.body??"").trim()};return await u(l,m),m}async function p(a){let b=await (0,l.dj)(a).catch(()=>[]),c=[];for(let d of b){if(d.meta.kind!==n)continue;let b=await t(d.abs,a).catch(()=>null);b&&c.push(b)}return c.sort((a,b)=>a.updatedAt<b.updatedAt?1:-1),c}async function q(a,b){return(await p(a)).find(a=>a.id===b)??null}async function r(a,b,c){let d=await q(a,b);if(!d)return null;let e=f().join((0,k.FF)(a),d.relPath),g={...d,...c,updatedAt:new Date().toISOString()};return await u(e,g),g}async function s(a,b){let c=await q(a,b);if(!c)return!1;let e=f().join((0,k.FF)(a),c.relPath);return await d.promises.rm(e,{force:!0}),!0}async function t(a,b){var c,e,g;let h=await d.promises.readFile(a,"utf8"),i=j()(h),l=i.data,n="string"==typeof l.id?l.id:null,o="string"==typeof l.title?l.title:null;if(!n||!o)return null;let p=f().relative((0,k.FF)(b),a).split(f().sep).join("/");return{id:n,title:o,type:x(l.type,m.ci,"feature"),status:x(l.status,m.Hi,"backlog"),priority:x(l.priority,m.PN,"normal"),labels:Array.isArray(l.labels)?l.labels.map(String):[],assignee:"string"==typeof l.assignee?l.assignee:null,createdAt:"string"==typeof l.createdAt?l.createdAt:new Date().toISOString(),updatedAt:"string"==typeof l.updatedAt?l.updatedAt:new Date().toISOString(),topicId:"string"==typeof l.topicId?l.topicId:null,agentRequested:"string"==typeof l.agentRequested?l.agentRequested:null,worktree:(c=l.worktree)&&"object"==typeof c&&"string"==typeof c.dir&&"string"==typeof c.branch&&"string"==typeof c.baseRef?{dir:c.dir,branch:c.branch,baseRef:c.baseRef}:null,links:(e=l.links)&&"object"==typeof e?{...Array.isArray(e.blocks)?{blocks:e.blocks.map(String)}:{},...Array.isArray(e.blockedBy)?{blockedBy:e.blockedBy.map(String)}:{},...Array.isArray(e.related)?{related:e.related.map(String)}:{}}:{},parent:"string"==typeof l.parent?l.parent:null,pre:y(l.pre),post:y(l.post),attachments:Array.isArray(g=l.attachments)?g.map(a=>{if(!a||"object"!=typeof a)return null;let b=a.kind;return"image"!==b&&"text"!==b&&"file"!==b||"string"!=typeof a.file?null:{kind:b,file:a.file,..."string"==typeof a.caption?{caption:a.caption}:{}}}).filter(a=>!!a):[],relPath:p,body:i.content.trim()}}async function u(a,b){let c={id:b.id,title:b.title,kind:n,type:b.type,status:b.status,priority:b.priority,labels:b.labels,assignee:b.assignee,createdAt:b.createdAt,updatedAt:b.updatedAt,topicId:b.topicId,agentRequested:b.agentRequested,worktree:b.worktree,links:b.links,parent:b.parent,pre:b.pre,post:b.post,attachments:b.attachments},e=b.body.trim(),g=j().stringify(e?e+"\n":"",c);await d.promises.mkdir(f().dirname(a),{recursive:!0}),await d.promises.writeFile(a,g,"utf8")}async function v(a,b){let c=f().extname(b),d=b.slice(0,b.length-c.length),e=f().join(a,b),g=2;for(;await w(e);)e=f().join(a,`${d}-${g}${c}`),g++;return e}async function w(a){try{return await d.promises.stat(a),!0}catch{return!1}}function x(a,b,c){return"string"==typeof a&&b.includes(a)?a:c}function y(a){return Array.isArray(a)?a.map(a=>a&&"object"==typeof a?"workflow"===a.kind&&"string"==typeof a.id?{kind:"workflow",id:a.id}:"chat"===a.kind&&"string"==typeof a.prompt?{kind:"chat",prompt:a.prompt}:null:null).filter(a=>!!a):[]}},24139:(a,b,c)=>{c.d(b,{Z:()=>h,_:()=>g});var d=c(73024),e=c(74342);function f(){return globalThis.__reflexPendingCache||(globalThis.__reflexPendingCache=new Map),globalThis.__reflexPendingCache}async function g(a,b){let c,g=(0,e.Rs)(a,b);try{c=await d.promises.stat(g)}catch{return[]}let h=f().get(g);if(h&&h.mtimeMs===c.mtimeMs&&h.size===c.size)return h.result;let i=function(a,b){let c=new Map;for(let d of a)switch(d.type){case"permission-request":c.set(`p:${d.requestId}`,{kind:"permission",topicId:b,requestId:d.requestId,ts:d.ts,summary:d.tool?`Permission: ${d.tool}`:d.action??"Permission request",...d.description?{details:d.description}:{}});break;case"permission-response":c.delete(`p:${d.requestId}`);break;case"question":c.set(`q:${d.questionId}`,{kind:"question",topicId:b,requestId:d.questionId,ts:d.ts,summary:d.prompt.slice(0,200),...d.choices&&d.choices.length?{details:d.choices.join(" / ")}:{}});break;case"answer":c.delete(`q:${d.questionId}`);break;case"mcp-add-request":c.set(`m:${d.requestId}`,{kind:"mcp-add",topicId:b,requestId:d.requestId,ts:d.ts,summary:`MCP add: ${d.label}`,...d.description?{details:d.description}:{}});break;case"mcp-add-response":c.delete(`m:${d.requestId}`)}return[...c.values()]}(await (0,e.
|
|
1
|
+
"use strict";exports.id=3834,exports.ids=[2787,3834],exports.modules={2787:(a,b,c)=>{c.d(b,{createTask:()=>o,deleteTask:()=>s,getTask:()=>q,listTasks:()=>p,updateTask:()=>r});var d=c(73024),e=c(76760),f=c.n(e),g=c(77598),h=c.n(g),i=c(30192),j=c.n(i),k=c(13474),l=c(11178),m=c(75207);let n="task";async function o(a,b){let c=`t-${h().randomBytes(4).toString("hex")}`,e=b.title.normalize("NFKD").toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").slice(0,60)||c,g=new Date().toISOString().slice(0,10),i=`${g}-${e}.md`,j=f().join((0,k.FF)(a),n);await d.promises.mkdir(j,{recursive:!0});let l=await v(j,i),m={id:c,title:b.title.trim(),type:b.type??"feature",status:b.status??"backlog",priority:b.priority??"normal",labels:b.labels??[],assignee:b.assignee??null,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),topicId:null,agentRequested:null,worktree:null,links:b.links??{},parent:b.parent??null,pre:b.pre??[],post:b.post??[],attachments:b.attachments??[],relPath:f().relative((0,k.FF)(a),l).split(f().sep).join("/"),body:(b.body??"").trim()};return await u(l,m),m}async function p(a){let b=await (0,l.dj)(a).catch(()=>[]),c=[];for(let d of b){if(d.meta.kind!==n)continue;let b=await t(d.abs,a).catch(()=>null);b&&c.push(b)}return c.sort((a,b)=>a.updatedAt<b.updatedAt?1:-1),c}async function q(a,b){return(await p(a)).find(a=>a.id===b)??null}async function r(a,b,c){let d=await q(a,b);if(!d)return null;let e=f().join((0,k.FF)(a),d.relPath),g={...d,...c,updatedAt:new Date().toISOString()};return await u(e,g),g}async function s(a,b){let c=await q(a,b);if(!c)return!1;let e=f().join((0,k.FF)(a),c.relPath);return await d.promises.rm(e,{force:!0}),!0}async function t(a,b){var c,e,g;let h=await d.promises.readFile(a,"utf8"),i=j()(h),l=i.data,n="string"==typeof l.id?l.id:null,o="string"==typeof l.title?l.title:null;if(!n||!o)return null;let p=f().relative((0,k.FF)(b),a).split(f().sep).join("/");return{id:n,title:o,type:x(l.type,m.ci,"feature"),status:x(l.status,m.Hi,"backlog"),priority:x(l.priority,m.PN,"normal"),labels:Array.isArray(l.labels)?l.labels.map(String):[],assignee:"string"==typeof l.assignee?l.assignee:null,createdAt:"string"==typeof l.createdAt?l.createdAt:new Date().toISOString(),updatedAt:"string"==typeof l.updatedAt?l.updatedAt:new Date().toISOString(),topicId:"string"==typeof l.topicId?l.topicId:null,agentRequested:"string"==typeof l.agentRequested?l.agentRequested:null,worktree:(c=l.worktree)&&"object"==typeof c&&"string"==typeof c.dir&&"string"==typeof c.branch&&"string"==typeof c.baseRef?{dir:c.dir,branch:c.branch,baseRef:c.baseRef}:null,links:(e=l.links)&&"object"==typeof e?{...Array.isArray(e.blocks)?{blocks:e.blocks.map(String)}:{},...Array.isArray(e.blockedBy)?{blockedBy:e.blockedBy.map(String)}:{},...Array.isArray(e.related)?{related:e.related.map(String)}:{}}:{},parent:"string"==typeof l.parent?l.parent:null,pre:y(l.pre),post:y(l.post),attachments:Array.isArray(g=l.attachments)?g.map(a=>{if(!a||"object"!=typeof a)return null;let b=a.kind;return"image"!==b&&"text"!==b&&"file"!==b||"string"!=typeof a.file?null:{kind:b,file:a.file,..."string"==typeof a.caption?{caption:a.caption}:{}}}).filter(a=>!!a):[],relPath:p,body:i.content.trim()}}async function u(a,b){let c={id:b.id,title:b.title,kind:n,type:b.type,status:b.status,priority:b.priority,labels:b.labels,assignee:b.assignee,createdAt:b.createdAt,updatedAt:b.updatedAt,topicId:b.topicId,agentRequested:b.agentRequested,worktree:b.worktree,links:b.links,parent:b.parent,pre:b.pre,post:b.post,attachments:b.attachments},e=b.body.trim(),g=j().stringify(e?e+"\n":"",c);await d.promises.mkdir(f().dirname(a),{recursive:!0}),await d.promises.writeFile(a,g,"utf8")}async function v(a,b){let c=f().extname(b),d=b.slice(0,b.length-c.length),e=f().join(a,b),g=2;for(;await w(e);)e=f().join(a,`${d}-${g}${c}`),g++;return e}async function w(a){try{return await d.promises.stat(a),!0}catch{return!1}}function x(a,b,c){return"string"==typeof a&&b.includes(a)?a:c}function y(a){return Array.isArray(a)?a.map(a=>a&&"object"==typeof a?"workflow"===a.kind&&"string"==typeof a.id?{kind:"workflow",id:a.id}:"chat"===a.kind&&"string"==typeof a.prompt?{kind:"chat",prompt:a.prompt}:null:null).filter(a=>!!a):[]}},24139:(a,b,c)=>{c.d(b,{Z:()=>h,_:()=>g});var d=c(73024),e=c(74342);function f(){return globalThis.__reflexPendingCache||(globalThis.__reflexPendingCache=new Map),globalThis.__reflexPendingCache}async function g(a,b){let c,g=(0,e.Rs)(a,b);try{c=await d.promises.stat(g)}catch{return[]}let h=f().get(g);if(h&&h.mtimeMs===c.mtimeMs&&h.size===c.size)return h.result;let i=function(a,b){let c=new Map;for(let d of a)switch(d.type){case"permission-request":c.set(`p:${d.requestId}`,{kind:"permission",topicId:b,requestId:d.requestId,ts:d.ts,summary:d.tool?`Permission: ${d.tool}`:d.action??"Permission request",...d.description?{details:d.description}:{}});break;case"permission-response":c.delete(`p:${d.requestId}`);break;case"question":c.set(`q:${d.questionId}`,{kind:"question",topicId:b,requestId:d.questionId,ts:d.ts,summary:d.prompt.slice(0,200),...d.choices&&d.choices.length?{details:d.choices.join(" / ")}:{}});break;case"answer":c.delete(`q:${d.questionId}`);break;case"mcp-add-request":c.set(`m:${d.requestId}`,{kind:"mcp-add",topicId:b,requestId:d.requestId,ts:d.ts,summary:`MCP add: ${d.label}`,...d.description?{details:d.description}:{}});break;case"mcp-add-response":c.delete(`m:${d.requestId}`)}return[...c.values()]}(await (0,e.readEvents)(a,b),b);return f().set(g,{mtimeMs:c.mtimeMs,size:c.size,result:i}),i}async function h(a,b){let c=[];return await Promise.all(b.map(async b=>{let d=await g(a,b);c.push(...d)})),c.sort((a,b)=>a.ts<b.ts?1:-1),c}},63834:(a,b,c)=>{c.d(b,{observeTask:()=>h});var d=c(24576),e=c(74342),f=c(24139),g=c(2787);async function h(a){let b=await (0,d.getRoot)(a.rootId);if(!b)return null;let c=await (0,g.getTask)(b.path,a.taskId);if(!c)return null;if(!c.topicId)return{taskId:c.id,status:c.status,topicId:null,lastAssistantText:null,pending:[],recentEvents:[],topicEnded:!1};let h=await (0,e.readEvents)(b.path,c.topicId).catch(()=>[]),i=await (0,f._)(b.path,c.topicId).catch(()=>[]),j=function(a){let b="";for(let c=a.length-1;c>=0;c--){let d=a[c];if("assistant-delta"===d.type&&"string"==typeof d.text)b=d.text+b;else if("turn-start"===d.type||"agent-start"===d.type)break}if(!b.trim())return null;let c=b.replace(/<<reflex:[^>]+>>[\s\S]*?<<\/reflex:[^>]+>>/g,"").trim();return c?c.length>240?c.slice(0,240)+"…":c:null}(h),k=h.slice(-20).map(a=>({ts:a.ts,kind:a.type})),l=h.some(a=>"turn-end"===a.type||"agent-end"===a.type);return{taskId:c.id,status:c.status,topicId:c.topicId,lastAssistantText:j,pending:i.map(a=>({kind:a.kind,summary:a.summary,requestId:a.requestId})),recentEvents:k,topicEnded:l}}},74342:(a,b,c)=>{c.d(b,{Rs:()=>h,Zn:()=>i,readEvents:()=>j,v:()=>k});var d=c(73024),e=c(76760),f=c.n(e),g=c(13474);function h(a,b){return f().join((0,g.FF)(a),"topics",`${b}.events.jsonl`)}async function i(a,b,c){let e=h(a,b);await d.promises.mkdir(f().dirname(e),{recursive:!0}),await d.promises.appendFile(e,JSON.stringify(c)+"\n","utf8")}async function j(a,b){let c,e=h(a,b);try{c=await d.promises.readFile(e,"utf8")}catch(a){var f;if("object"==typeof(f=a)&&null!==f&&"code"in f&&"ENOENT"===f.code)return[];throw a}let g=[];for(let a of c.split(/\r?\n/))if(a.trim())try{g.push(JSON.parse(a))}catch{}return g}async function k(a,b){let c=await j(a,b);return 0===c.length?0:c[c.length-1].seq+1}},75207:(a,b,c)=>{c.d(b,{Hi:()=>e,KT:()=>i,PN:()=>f,Yj:()=>g,ak:()=>j,ci:()=>d,kJ:()=>h});let d=["feature","bug","refactor","docs","chore","research","review","call","idea"],e=["backlog","ready","in-progress","review","done","blocked"],f=["low","normal","high"],g={feature:{isCode:!0},bug:{isCode:!0,defaultSkill:"deep-research"},refactor:{isCode:!0},docs:{isCode:!0},chore:{isCode:!0},research:{isCode:!1,defaultSkill:"deep-research"},review:{isCode:!0},call:{isCode:!1},idea:{isCode:!1}};function h(a){return d.includes(a)}function i(a){return e.includes(a)}function j(a){return f.includes(a)}}};
|
|
@@ -42,9 +42,9 @@ exports.id=4031,exports.ids=[4031],exports.modules={12140:(a,b,c)=>{"use strict"
|
|
|
42
42
|
WHERE ${h.join(" AND ")}
|
|
43
43
|
ORDER BY rank ASC
|
|
44
44
|
LIMIT ?
|
|
45
|
-
`;i.push(g);try{c=f.prepare(j).all(...i)}catch(b){let a=d.replace(/[()"^*:]/g," ").trim();if(!a||a===d)throw b;i[0]=a,c=f.prepare(j).all(...i)}return c.map(a=>({id:a.id,source:a.source,rootId:a.root_id,rootPath:a.root_path,ref:a.ref,title:a.title,isoDate:a.iso_date,rank:a.rank,snippet:a.snippet}))}c(87841),c(53905),c(54287)},49556:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{runServerAction:()=>m});var e=c(75919),f=c(76760),g=c.n(f),h=c(73136),i=c(99861),j=c(99066),k=c(12140),l=a([i,j]);async function m(a){let b=(0,i.actionBundlePath)(a.utility.dir,a.action.name),c=(0,h.pathToFileURL)(b).toString(),d=function(){let a="lib/server/utilities/worker-bootstrap.js",b=process.env.REFLEX_PKG_ROOT;if(b)return g().resolve(b,a);let c=null;try{c=61880}catch{}return"string"==typeof c&&g().isAbsolute(c)?c:g().resolve(process.cwd(),a)}();return new Promise((b,f)=>{let g=new e.Worker(d,{workerData:{bundleUrl:c,actionName:a.action.name,utilityId:a.utility.manifest.id,scope:a.utility.scope},env:{},eval:!1,resourceLimits:{maxOldGenerationSizeMb:256,maxYoungGenerationSizeMb:64}}),h=!1,i=(c,d,e)=>{h||(h=!0,clearTimeout(l),g.removeAllListeners(),g.terminate().catch(()=>{}),c?((0,k.u0)({ts:new Date().toISOString(),utilityId:a.utility.manifest.id,scope:a.utility.scope,channel:"worker",method:`action:${a.action.name}`,phase:"end",correlationId:a.parentCorrelationId??"(detached)",error:e??c.message}),f(c)):b(d))},l=setTimeout(()=>{i(Error("server action timed out"),void 0,"timeout")},a.action.timeoutMs);g.on("error",a=>i(a)),g.on("exit",a=>{0!==a&&i(Error(`worker exited with code ${a}`))}),g.on("message",async b=>{if(b&&"object"==typeof b){if("host-rpc"===b.type){let c=b.id,d=b.method,e=b.args;try{let b=await (0,j.p)({utility:a.utility,channel:"worker",...a.parentCorrelationId?{parentCorrelationId:a.parentCorrelationId}:{}},d,e);g.postMessage({type:"host-rpc-result",id:c,ok:!0,result:b})}catch(a){g.postMessage({type:"host-rpc-result",id:c,ok:!1,error:a instanceof Error?a.message:String(a)})}return}"invoke-result"===b.type&&(b.ok?i(null,b.result):i(Error(b.error||"server action failed")))}}),g.postMessage({type:"invoke",args:a.args})})}[i,j]=l.then?(await l)():l,d()}catch(a){d(a)}})},61880:(a,b,c)=>{"use strict";var d=c(75919);if(!d.parentPort)throw Error("worker-bootstrap.js must be loaded as a worker_threads child");let e=new Map,f=1,g=new Proxy({},{get(a,b){if("string"==typeof b)return function a(b){return new Proxy(function(){},{get(c,d){if("string"==typeof d&&"then"!==d&&"catch"!==d&&"finally"!==d)return a(b?`${b}.${d}`:d)},apply:(a,c,g)=>{var h;return h=g[0],new Promise((a,c)=>{let g=f++;e.set(g,{resolve:a,reject:c}),d.parentPort.postMessage({type:"host-rpc",id:g,method:b,args:h})})}})}(b)}});globalThis.__reflexHost=g,d.parentPort.on("message",async a=>{if(a&&"host-rpc-result"===a.type){let b=e.get(a.id);if(!b)return;e.delete(a.id),a.ok?b.resolve(a.result):b.reject(Error(a.error||"rpc failed"));return}if(a&&"invoke"===a.type)try{let b=await c(74664)(d.workerData.bundleUrl),e=b[d.workerData.actionName]??b.default;if("function"!=typeof e)throw Error(`action "${d.workerData.actionName}" must export a function (named export or default)`);let f=await e(a.args,g);d.parentPort.postMessage({type:"invoke-result",ok:!0,result:f})}catch(a){d.parentPort.postMessage({type:"invoke-result",ok:!1,error:a&&a.message?a.message:String(a)})}})},74664:a=>{function b(a){return Promise.resolve().then(()=>{var b=Error("Cannot find module '"+a+"'");throw b.code="MODULE_NOT_FOUND",b})}b.keys=()=>[],b.resolve=b,b.id=74664,a.exports=b},99066:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{p:()=>q});var e=c(73024),f=c(76760),g=c.n(f),h=c(56149),i=c(12140),j=c(99353),k=c(56942),l=c(19319),m=c(28200),n=c(53905),o=c(36017),p=a([j]);j=(p.then?(await p)():p)[0];let aj=h.Ik({task:h.k5(["chat","quick","rag","embed"]).default("quick"),prompt:h.Yj().min(1),model:h.Yj().optional()}),ak=h.Ik({kind:h.Yj().min(1).max(64),title:h.Yj().min(1).max(200),body:h.Yj().default(""),meta:h.g1(h.Yj(),h.L5()).optional(),slug:h.Yj().optional(),date:h.Yj().optional(),rootId:h.Yj().optional()}),al=h.Ik({kind:h.Yj().optional(),query:h.Yj().optional(),rootId:h.Yj().optional()}),am=h.Ik({relPath:h.Yj().min(1),rootId:h.Yj().optional()}),an=h.Ik({path:h.Yj().min(1),content:h.Yj().optional()}),ao=h.Ik({url:h.Yj().url(),method:h.k5(["GET","POST","PUT","DELETE","PATCH"]).default("GET"),headers:h.g1(h.Yj(),h.Yj()).optional(),body:h.KC([h.Yj(),h.g1(h.Yj(),h.L5())]).optional()}),ap=h.Ik({query:h.Yj().min(1).max(512)}),aq=h.Ik({type:h.Yj().min(1).max(64),payload:h.L5().optional()}),ar=h.Ik({server:h.Yj().min(1).optional(),tool:h.Yj().min(1),args:h.g1(h.Yj(),h.L5()).default({})}),as=h.Ik({server:h.Yj().min(1).optional()}),at=h.Ik({key:h.Yj().min(1)}),au=h.Ik({name:h.Yj().min(1),args:h.L5().optional()}),av=h.Ik({prompt:h.Yj().min(1).max(4e4),rootId:h.Yj().optional(),harness:h.Yj().optional(),model:h.Yj().optional(),language:h.Yj().optional(),label:h.Yj().optional(),timeoutMs:h.ai().int().min(1e3).max(9e5).optional()}),aw=h.Ik({rootId:h.Yj().optional()}),ax=h.Ik({workflowId:h.Yj().min(1),rootId:h.Yj().optional()}),ay=h.Ik({workflowId:h.Yj().min(1),rootId:h.Yj().optional(),input:h.L5().optional()}),az=h.Ik({prompt:h.Yj().min(1).max(8e3),provider:h.k5(["gemini","codex"]).optional(),size:h.Yj().max(40).optional(),aspectRatio:h.Yj().max(40).optional(),referenceImageUrls:h.YO(h.Yj().url()).max(6).optional(),alt:h.Yj().max(280).optional(),rootId:h.Yj().optional()}),aA=h.Ik({query:h.Yj().min(1).max(200),provider:h.k5(["unsplash","pexels","brave"]).optional(),count:h.ai().int().min(1).max(24).optional()}),aB=h.Ik({sourceUrl:h.Yj().url(),rootId:h.Yj().optional()}),aC=h.Ik({source:h.Yj().min(1).max(2e4)}),aD=h.Ik({kind:h.k5(["workflow","chat"]),id:h.Yj().optional(),prompt:h.Yj().optional()}).strict(),aE=h.Ik({kind:h.k5(["image","text","file"]),file:h.Yj().min(1).max(500),caption:h.Yj().max(500).optional()}).strict(),aF=h.Ik({title:h.Yj().min(1).max(280),body:h.Yj().max(5e4).default(""),type:h.k5(["feature","bug","refactor","docs","chore","research","review","call","idea"]).default("feature"),status:h.k5(["backlog","ready","in-progress","review","done","blocked"]).default("backlog"),priority:h.k5(["low","normal","high"]).default("normal"),labels:h.YO(h.Yj()).default([]),assignee:h.Yj().nullable().default(null),parent:h.Yj().nullable().default(null),links:h.Ik({blocks:h.YO(h.Yj()).optional(),blockedBy:h.YO(h.Yj()).optional(),related:h.YO(h.Yj()).optional()}).default({}),pre:h.YO(aD).default([]),post:h.YO(aD).default([]),attachments:h.YO(aE).default([])}),aG=h.Ik({id:h.Yj().min(1),patch:h.Ik({title:h.Yj().min(1).max(280).optional(),body:h.Yj().max(5e4).optional(),type:h.k5(["feature","bug","refactor","docs","chore","research","review","call","idea"]).optional(),status:h.k5(["backlog","ready","in-progress","review","done","blocked"]).optional(),priority:h.k5(["low","normal","high"]).optional(),labels:h.YO(h.Yj()).optional(),assignee:h.Yj().nullable().optional(),parent:h.Yj().nullable().optional(),links:h.Ik({blocks:h.YO(h.Yj()).optional(),blockedBy:h.YO(h.Yj()).optional(),related:h.YO(h.Yj()).optional()}).optional(),pre:h.YO(aD).optional(),post:h.YO(aD).optional(),attachments:h.YO(aE).optional()}).default({})}),aH=h.Ik({id:h.Yj().min(1)}),aI=h.Ik({id:h.Yj().min(1),harness:h.Yj().optional(),model:h.Yj().optional()}),aJ=h.Ik({id:h.Yj().min(1),outcome:h.k5(["done","review","blocked"])}),aK=h.Ik({branch:h.Yj().min(1),intoRef:h.Yj().optional()}),aL=h.Ik({slug:h.Yj().min(1),branch:h.Yj().min(1),force:h.zM().default(!1),deleteBranch:h.zM().default(!0)}),aM=h.Ik({slug:h.Yj().min(1),branch:h.Yj().min(1),baseRef:h.Yj().optional()}),aN=h.Ik({query:h.Yj().min(1).max(512),rootId:h.Yj().optional(),source:h.k5(["journal","topic"]).optional(),since:h.Yj().optional(),until:h.Yj().optional(),limit:h.ai().int().min(1).max(50).default(10)}),aO=h.Ik({query:h.Yj().min(1).max(200),alt:h.Yj().max(280).default(""),context:h.Yj().max(2e3).default(""),candidates:h.YO(h.Ik({url:h.Yj().url(),thumb:h.Yj().url(),attribution:h.Ik({name:h.Yj().default(""),link:h.Yj().default("")})})).min(1).max(12),rootId:h.Yj().optional()}),aP=h.Ik({widgetId:h.Yj().optional(),snapshot:h.Ik({kind:h.k5(["markdown","news-list","link-list","kpi","checklist","quote","kb-pinned","progress","image","stat-table","map","action-list"]),title:h.Yj().optional(),description:h.Yj().optional(),data:h.g1(h.Yj(),h.L5()).default({})}),rootId:h.Yj().optional()});async function q(a,b,c){let d={utilityId:a.utility.manifest.id,scope:a.utility.scope,channel:a.channel,method:b,args:c,...a.parentCorrelationId?{parentCorrelationId:a.parentCorrelationId}:{}};return(0,i.Md)(d,async d=>{switch(b){case"llm.complete":return x(a,aj.parse(c));case"kb.add":return y(a,ak.parse(c));case"kb.list":return z(a,al.parse(c));case"kb.read":return A(a,am.parse(c));case"fs.read":return C(a,an.parse(c));case"fs.write":return D(a,an.parse(c));case"fs.list":return E(a,an.parse(c));case"web.fetch":return F(a,ao.parse(c));case"web.search":return G(a,ap.parse(c));case"audit.log":return H(a,aq.parse(c),d);case"actions.invoke":return I(a,au.parse(c),d);case"mcp.call":return u(a,ar.parse(c));case"mcp.listServers":return v(a);case"mcp.listTools":return w(a,as.parse(c));case"secrets.get":return r(a,at.parse(c));case"secrets.list":return s(a);case"agent.invoke":return J(a,av.parse(c));case"workflow.list":return K(a,aw.parse(c));case"workflow.read":return L(a,ax.parse(c));case"workflow.run":return M(a,ay.parse(c));case"cards.update":return N(a,aP.parse(c));case"images.generate":return O(a,az.parse(c));case"images.search":return P(a,aA.parse(c));case"images.attach":return Q(a,aB.parse(c));case"images.pickBest":return R(a,aO.parse(c));case"mermaid.validate":return U(a,aC.parse(c));case"tasks.create":return V(a,aF.parse(c));case"tasks.update":return W(a,aG.parse(c));case"tasks.delete":return X(a,aH.parse(c));case"tasks.get":return Y(a,aH.parse(c));case"tasks.list":return Z(a);case"tasks.dispatch":return $(a,aI.parse(c));case"tasks.observe":return _(a,aH.parse(c));case"tasks.complete":return aa(a,aJ.parse(c));case"git.isRepo":return ab(a);case"git.hasRemote":return ac(a);case"git.hasGhCli":return ad();case"git.worktree.create":return ae(a,aM.parse(c));case"git.worktree.merge":return af(a,aK.parse(c));case"git.worktree.remove":return ag(a,aL.parse(c));case"git.worktree.list":return ah(a);case"sessions.search":return ai(a,aN.parse(c));default:throw Error(`Unknown host method: ${b}`)}})}async function r(a,b){if(!(a.utility.manifest.secrets??[]).find(a=>a.key===b.key))throw Error(`secret "${b.key}" is not declared in manifest.secrets`);let{getSecret:d}=await c.e(8514).then(c.bind(c,28514)),e=await d(a.utility.scope,a.utility.manifest.id,b.key,a.utility.rootId);if(null==e)throw Error(`secret "${b.key}" is not set — fill it in the utility's panel`);return{value:e}}async function s(a){let b=a.utility.manifest.secrets??[],{listSecretKeys:d}=await c.e(8514).then(c.bind(c,28514)),e=new Set(await d(a.utility.scope,a.utility.manifest.id,a.utility.rootId));return{secrets:b.map(a=>({key:a.key,set:e.has(a.key),required:a.required,label:a.label,description:a.description}))}}async function t(a,b){let d=a.utility.manifest.mcpServers??[],f=b;if(!f)if(1===d.length)f=d[0];else if(a.utility.manifest.source?.type==="mcp"){let b=g().join(a.utility.dir,"mcp.json"),d=await e.promises.readFile(b,"utf8").catch(()=>null);if(!d)throw Error(`mcp config missing at ${b}`);let{McpConfigSchema:f}=await Promise.resolve().then(c.bind(c,97453));return{config:f.parse(JSON.parse(d)),serverId:"(bundled)"}}else throw Error(0===d.length?"manifest.mcpServers is empty — declare which server you want to use":"multiple mcpServers declared — pass `server` explicitly");if(!d.includes(f))throw Error(`mcp server "${f}" is not in manifest.mcpServers — declare it to gain access`);let{getMcpServer:h}=await Promise.resolve().then(c.bind(c,580)),i=await h(f);if(!i)throw Error(`mcp server "${f}" is not registered — add it in Settings → MCP`);return{config:i.config,serverId:f}}async function u(a,b){let{config:d,serverId:e}=await t(a,b.server),{callTool:f}=await Promise.resolve().then(c.bind(c,97453)),g=await f(d,b.tool,b.args);return{server:e,...void 0!==g.isError?{isError:g.isError}:{},content:g.content}}async function v(a){let b=a.utility.manifest.mcpServers??[],{listMcpServers:d}=await Promise.resolve().then(c.bind(c,580)),e=await d(),f=new Map(e.map(a=>[a.id,a]));return{servers:b.map(a=>{let b=f.get(a);return{id:a,label:b?.label??a,description:b?.description??"",registered:!!b}})}}async function w(a,b){let{config:d,serverId:e}=await t(a,b.server),{connectAndListTools:f}=await Promise.resolve().then(c.bind(c,97453)),g=await f(d);return{server:e,tools:g.tools}}async function x(a,b){S(a.utility.manifest,!!a.utility.manifest.permissions.llm?.tasks?.includes(b.task),`llm.${b.task} not granted in manifest`);let c={...(await (0,o.M)()).assignments[b.task],...b.model?{model:b.model}:{}};return{text:await (0,j.T)(c,b.prompt,{timeoutMs:6e4})}}async function y(a,b){if(S(a.utility.manifest,!!a.utility.manifest.permissions.kb?.write,"kb.write not granted"),a.utility.manifest.permissions.kb?.kinds&&!a.utility.manifest.permissions.kb.kinds.includes(b.kind))throw Error(`kb kind "${b.kind}" not in manifest allowlist`);let c=await T(a,b.rootId),d=await (0,k.j)({rootPath:c.path,directive:{kind:b.kind,title:b.title,...b.body?{body:b.body}:{},...b.meta?{meta:b.meta}:{},...b.slug?{slug:b.slug}:{},...b.date?{date:b.date}:{}},provenance:{kind:"utility",id:a.utility.manifest.id,version:a.utility.manifest.version}});return{relPath:d.relPath,absPath:d.absPath}}async function z(a,b){S(a.utility.manifest,!!a.utility.manifest.permissions.kb?.read,"kb.read not granted");let c=await T(a,b.rootId),d=await (0,l.dj)(c.path),e=b.query?.toLowerCase();return d.filter(a=>(!b.kind||a.rel.split("/")[0]===b.kind||a.meta.kind===b.kind)&&(!e||!!`${a.rel} ${a.meta.title??""}`.toLowerCase().includes(e))&&!0).map(a=>({relPath:a.rel,title:a.meta.title,kind:a.meta.kind,modifiedAt:a.modifiedAt}))}async function A(a,b){S(a.utility.manifest,!!a.utility.manifest.permissions.kb?.read,"kb.read not granted");let c=await T(a,b.rootId);return{content:await (0,l.IK)(c.path,b.relPath)}}function B(a,b){if(b.startsWith("/")||b.includes(".."))throw Error(`unsafe fs path: ${b}`);let c=g().join(a.utility.dir,"data"),d=g().resolve(c,b),e=g().relative(c,d);if(e.startsWith("..")||g().isAbsolute(e))throw Error(`fs path escapes data dir: ${b}`);return d}async function C(a,b){S(a.utility.manifest,!!a.utility.manifest.permissions.fs?.sandbox,"fs not granted");let c=B(a,b.path);return{content:await e.promises.readFile(c,"utf8")}}async function D(a,b){if(S(a.utility.manifest,!!a.utility.manifest.permissions.fs?.sandbox,"fs not granted"),"string"!=typeof b.content)throw Error("fs.write requires content (string)");let c=B(a,b.path);return await e.promises.mkdir(g().dirname(c),{recursive:!0}),await e.promises.writeFile(c,b.content,"utf8"),{ok:!0,bytes:Buffer.byteLength(b.content,"utf8")}}async function E(a,b){S(a.utility.manifest,!!a.utility.manifest.permissions.fs?.sandbox,"fs not granted");let c=B(a,b.path||".");try{return{entries:(await e.promises.readdir(c,{withFileTypes:!0})).map(a=>({name:a.name,isDir:a.isDirectory()}))}}catch{return{entries:[]}}}async function F(a,b){let c,d=a.utility.manifest.permissions.web?.fetch?.domains??[];try{c=new URL(b.url).hostname}catch{throw Error(`invalid url: ${b.url}`)}if(!d.some(a=>c===a||c.endsWith(`.${a}`)))throw Error(`web.fetch denied: domain "${c}" not in whitelist (${d.join(", ")})`);let e={method:b.method,...b.headers?{headers:b.headers}:{},signal:AbortSignal.timeout(2e4)};void 0!==b.body&&"GET"!==b.method&&(e.body="string"==typeof b.body?b.body:JSON.stringify(b.body));let f=await fetch(b.url,e),g=await f.text(),h={};return f.headers.forEach((a,b)=>{h[b]=a}),{status:f.status,headers:h,body:g}}async function G(a,b){S(a.utility.manifest,!!a.utility.manifest.permissions.web?.search,"web.search not granted");let c=await (0,o.M)(),d={...c.assignments.quick,allowedTools:Array.from(new Set([...c.assignments.quick.allowedTools??[],"WebSearch"]))},e=`Use the WebSearch tool to find recent results for the query below.
|
|
45
|
+
`;i.push(g);try{c=f.prepare(j).all(...i)}catch(b){let a=d.replace(/[()"^*:]/g," ").trim();if(!a||a===d)throw b;i[0]=a,c=f.prepare(j).all(...i)}return c.map(a=>({id:a.id,source:a.source,rootId:a.root_id,rootPath:a.root_path,ref:a.ref,title:a.title,isoDate:a.iso_date,rank:a.rank,snippet:a.snippet}))}c(87841),c(53905),c(54287)},49556:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{runServerAction:()=>m});var e=c(75919),f=c(76760),g=c.n(f),h=c(73136),i=c(99861),j=c(99066),k=c(12140),l=a([i,j]);async function m(a){let b=(0,i.actionBundlePath)(a.utility.dir,a.action.name),c=(0,h.pathToFileURL)(b).toString(),d=function(){let a="lib/server/utilities/worker-bootstrap.js",b=process.env.REFLEX_PKG_ROOT;if(b)return g().resolve(b,a);let c=null;try{c=61880}catch{}return"string"==typeof c&&g().isAbsolute(c)?c:g().resolve(process.cwd(),a)}();return new Promise((b,f)=>{let g=new e.Worker(d,{workerData:{bundleUrl:c,actionName:a.action.name,utilityId:a.utility.manifest.id,scope:a.utility.scope},env:{},eval:!1,resourceLimits:{maxOldGenerationSizeMb:256,maxYoungGenerationSizeMb:64}}),h=!1,i=(c,d,e)=>{h||(h=!0,clearTimeout(l),g.removeAllListeners(),g.terminate().catch(()=>{}),c?((0,k.u0)({ts:new Date().toISOString(),utilityId:a.utility.manifest.id,scope:a.utility.scope,channel:"worker",method:`action:${a.action.name}`,phase:"end",correlationId:a.parentCorrelationId??"(detached)",error:e??c.message}),f(c)):b(d))},l=setTimeout(()=>{i(Error("server action timed out"),void 0,"timeout")},a.action.timeoutMs);g.on("error",a=>i(a)),g.on("exit",a=>{0!==a&&i(Error(`worker exited with code ${a}`))}),g.on("message",async b=>{if(b&&"object"==typeof b){if("host-rpc"===b.type){let c=b.id,d=b.method,e=b.args;try{let b=await (0,j.p)({utility:a.utility,channel:"worker",...a.parentCorrelationId?{parentCorrelationId:a.parentCorrelationId}:{}},d,e);g.postMessage({type:"host-rpc-result",id:c,ok:!0,result:b})}catch(a){g.postMessage({type:"host-rpc-result",id:c,ok:!1,error:a instanceof Error?a.message:String(a)})}return}"invoke-result"===b.type&&(b.ok?i(null,b.result):i(Error(b.error||"server action failed")))}}),g.postMessage({type:"invoke",args:a.args})})}[i,j]=l.then?(await l)():l,d()}catch(a){d(a)}})},61880:(a,b,c)=>{"use strict";var d=c(75919);if(!d.parentPort)throw Error("worker-bootstrap.js must be loaded as a worker_threads child");let e=new Map,f=1,g=new Proxy({},{get(a,b){if("string"==typeof b)return function a(b){return new Proxy(function(){},{get(c,d){if("string"==typeof d&&"then"!==d&&"catch"!==d&&"finally"!==d)return a(b?`${b}.${d}`:d)},apply:(a,c,g)=>{var h;return h=g[0],new Promise((a,c)=>{let g=f++;e.set(g,{resolve:a,reject:c}),d.parentPort.postMessage({type:"host-rpc",id:g,method:b,args:h})})}})}(b)}});globalThis.__reflexHost=g,d.parentPort.on("message",async a=>{if(a&&"host-rpc-result"===a.type){let b=e.get(a.id);if(!b)return;e.delete(a.id),a.ok?b.resolve(a.result):b.reject(Error(a.error||"rpc failed"));return}if(a&&"invoke"===a.type)try{let b=await c(74664)(d.workerData.bundleUrl),e=b[d.workerData.actionName]??b.default;if("function"!=typeof e)throw Error(`action "${d.workerData.actionName}" must export a function (named export or default)`);let f=await e(a.args,g);d.parentPort.postMessage({type:"invoke-result",ok:!0,result:f})}catch(a){d.parentPort.postMessage({type:"invoke-result",ok:!1,error:a&&a.message?a.message:String(a)})}})},74664:a=>{function b(a){return Promise.resolve().then(()=>{var b=Error("Cannot find module '"+a+"'");throw b.code="MODULE_NOT_FOUND",b})}b.keys=()=>[],b.resolve=b,b.id=74664,a.exports=b},99066:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{p:()=>q});var e=c(73024),f=c(76760),g=c.n(f),h=c(56149),i=c(12140),j=c(99353),k=c(56942),l=c(19319),m=c(28200),n=c(53905),o=c(36017),p=a([j]);j=(p.then?(await p)():p)[0];let aj=h.Ik({task:h.k5(["chat","quick","rag","embed"]).default("quick"),prompt:h.Yj().min(1),model:h.Yj().optional()}),ak=h.Ik({kind:h.Yj().min(1).max(64),title:h.Yj().min(1).max(200),body:h.Yj().default(""),meta:h.g1(h.Yj(),h.L5()).optional(),slug:h.Yj().optional(),date:h.Yj().optional(),rootId:h.Yj().optional()}),al=h.Ik({kind:h.Yj().optional(),query:h.Yj().optional(),rootId:h.Yj().optional()}),am=h.Ik({relPath:h.Yj().min(1),rootId:h.Yj().optional()}),an=h.Ik({path:h.Yj().min(1),content:h.Yj().optional()}),ao=h.Ik({url:h.Yj().url(),method:h.k5(["GET","POST","PUT","DELETE","PATCH"]).default("GET"),headers:h.g1(h.Yj(),h.Yj()).optional(),body:h.KC([h.Yj(),h.g1(h.Yj(),h.L5())]).optional()}),ap=h.Ik({query:h.Yj().min(1).max(512)}),aq=h.Ik({type:h.Yj().min(1).max(64),payload:h.L5().optional()}),ar=h.Ik({server:h.Yj().min(1).optional(),tool:h.Yj().min(1),args:h.g1(h.Yj(),h.L5()).default({})}),as=h.Ik({server:h.Yj().min(1).optional()}),at=h.Ik({key:h.Yj().min(1)}),au=h.Ik({name:h.Yj().min(1),args:h.L5().optional()}),av=h.Ik({prompt:h.Yj().min(1).max(4e4),rootId:h.Yj().optional(),harness:h.Yj().optional(),model:h.Yj().optional(),language:h.Yj().optional(),label:h.Yj().optional(),timeoutMs:h.ai().int().min(1e3).max(9e5).optional()}),aw=h.Ik({rootId:h.Yj().optional()}),ax=h.Ik({workflowId:h.Yj().min(1),rootId:h.Yj().optional()}),ay=h.Ik({workflowId:h.Yj().min(1),rootId:h.Yj().optional(),input:h.L5().optional()}),az=h.Ik({prompt:h.Yj().min(1).max(8e3),provider:h.k5(["gemini","codex"]).optional(),size:h.Yj().max(40).optional(),aspectRatio:h.Yj().max(40).optional(),referenceImageUrls:h.YO(h.Yj().url()).max(6).optional(),alt:h.Yj().max(280).optional(),rootId:h.Yj().optional()}),aA=h.Ik({query:h.Yj().min(1).max(200),provider:h.k5(["unsplash","pexels","brave"]).optional(),count:h.ai().int().min(1).max(24).optional()}),aB=h.Ik({sourceUrl:h.Yj().url(),rootId:h.Yj().optional()}),aC=h.Ik({source:h.Yj().min(1).max(2e4)}),aD=h.Ik({kind:h.k5(["workflow","chat"]),id:h.Yj().optional(),prompt:h.Yj().optional()}).strict(),aE=h.Ik({kind:h.k5(["image","text","file"]),file:h.Yj().min(1).max(500),caption:h.Yj().max(500).optional()}).strict(),aF=h.Ik({title:h.Yj().min(1).max(280),body:h.Yj().max(5e4).default(""),type:h.k5(["feature","bug","refactor","docs","chore","research","review","call","idea"]).default("feature"),status:h.k5(["backlog","ready","in-progress","review","done","blocked"]).default("backlog"),priority:h.k5(["low","normal","high"]).default("normal"),labels:h.YO(h.Yj()).default([]),assignee:h.Yj().nullable().default(null),parent:h.Yj().nullable().default(null),links:h.Ik({blocks:h.YO(h.Yj()).optional(),blockedBy:h.YO(h.Yj()).optional(),related:h.YO(h.Yj()).optional()}).default({}),pre:h.YO(aD).default([]),post:h.YO(aD).default([]),attachments:h.YO(aE).default([])}),aG=h.Ik({id:h.Yj().min(1),patch:h.Ik({title:h.Yj().min(1).max(280).optional(),body:h.Yj().max(5e4).optional(),type:h.k5(["feature","bug","refactor","docs","chore","research","review","call","idea"]).optional(),status:h.k5(["backlog","ready","in-progress","review","done","blocked"]).optional(),priority:h.k5(["low","normal","high"]).optional(),labels:h.YO(h.Yj()).optional(),assignee:h.Yj().nullable().optional(),parent:h.Yj().nullable().optional(),links:h.Ik({blocks:h.YO(h.Yj()).optional(),blockedBy:h.YO(h.Yj()).optional(),related:h.YO(h.Yj()).optional()}).optional(),pre:h.YO(aD).optional(),post:h.YO(aD).optional(),attachments:h.YO(aE).optional()}).default({})}),aH=h.Ik({id:h.Yj().min(1)}),aI=h.Ik({id:h.Yj().min(1),harness:h.Yj().optional(),model:h.Yj().optional()}),aJ=h.Ik({id:h.Yj().min(1),outcome:h.k5(["done","review","blocked"])}),aK=h.Ik({branch:h.Yj().min(1),intoRef:h.Yj().optional()}),aL=h.Ik({slug:h.Yj().min(1),branch:h.Yj().min(1),force:h.zM().default(!1),deleteBranch:h.zM().default(!0)}),aM=h.Ik({slug:h.Yj().min(1),branch:h.Yj().min(1),baseRef:h.Yj().optional()}),aN=h.Ik({query:h.Yj().min(1).max(512),rootId:h.Yj().optional(),source:h.k5(["journal","topic"]).optional(),since:h.Yj().optional(),until:h.Yj().optional(),limit:h.ai().int().min(1).max(50).default(10)}),aO=h.Ik({query:h.Yj().min(1).max(200),alt:h.Yj().max(280).default(""),context:h.Yj().max(2e3).default(""),candidates:h.YO(h.Ik({url:h.Yj().url(),thumb:h.Yj().url(),attribution:h.Ik({name:h.Yj().default(""),link:h.Yj().default("")})})).min(1).max(12),rootId:h.Yj().optional()}),aP=h.Ik({widgetId:h.Yj().optional(),snapshot:h.Ik({kind:h.k5(["markdown","news-list","link-list","kpi","checklist","quote","kb-pinned","progress","image","stat-table","map","action-list"]),title:h.Yj().optional(),description:h.Yj().optional(),data:h.g1(h.Yj(),h.L5()).default({})}),rootId:h.Yj().optional()});async function q(a,b,c){let d={utilityId:a.utility.manifest.id,scope:a.utility.scope,channel:a.channel,method:b,args:c,...a.parentCorrelationId?{parentCorrelationId:a.parentCorrelationId}:{}};return(0,i.Md)(d,async d=>{switch(b){case"llm.complete":return x(a,aj.parse(c));case"kb.add":return y(a,ak.parse(c));case"kb.list":return z(a,al.parse(c));case"kb.read":return A(a,am.parse(c));case"fs.read":return C(a,an.parse(c));case"fs.write":return D(a,an.parse(c));case"fs.list":return E(a,an.parse(c));case"web.fetch":return F(a,ao.parse(c));case"web.search":return G(a,ap.parse(c));case"audit.log":return H(a,aq.parse(c),d);case"actions.invoke":return I(a,au.parse(c),d);case"mcp.call":return u(a,ar.parse(c));case"mcp.listServers":return v(a);case"mcp.listTools":return w(a,as.parse(c));case"secrets.get":return r(a,at.parse(c));case"secrets.list":return s(a);case"agent.invoke":return J(a,av.parse(c));case"workflow.list":return K(a,aw.parse(c));case"workflow.read":return L(a,ax.parse(c));case"workflow.run":return M(a,ay.parse(c));case"cards.update":return N(a,aP.parse(c));case"images.generate":return O(a,az.parse(c));case"images.search":return P(a,aA.parse(c));case"images.attach":return Q(a,aB.parse(c));case"images.pickBest":return R(a,aO.parse(c));case"mermaid.validate":return U(a,aC.parse(c));case"tasks.create":return V(a,aF.parse(c));case"tasks.update":return W(a,aG.parse(c));case"tasks.delete":return X(a,aH.parse(c));case"tasks.get":return Y(a,aH.parse(c));case"tasks.list":return Z(a);case"tasks.dispatch":return $(a,aI.parse(c));case"tasks.observe":return _(a,aH.parse(c));case"tasks.complete":return aa(a,aJ.parse(c));case"git.isRepo":return ab(a);case"git.hasRemote":return ac(a);case"git.hasGhCli":return ad();case"git.worktree.create":return ae(a,aM.parse(c));case"git.worktree.merge":return af(a,aK.parse(c));case"git.worktree.remove":return ag(a,aL.parse(c));case"git.worktree.list":return ah(a);case"sessions.search":return ai(a,aN.parse(c));default:throw Error(`Unknown host method: ${b}`)}})}async function r(a,b){if(!(a.utility.manifest.secrets??[]).find(a=>a.key===b.key))throw Error(`secret "${b.key}" is not declared in manifest.secrets`);let{getSecret:d}=await c.e(8514).then(c.bind(c,28514)),e=await d(a.utility.scope,a.utility.manifest.id,b.key,a.utility.rootId);if(null==e)throw Error(`secret "${b.key}" is not set — fill it in the utility's panel`);return{value:e}}async function s(a){let b=a.utility.manifest.secrets??[],{listSecretKeys:d}=await c.e(8514).then(c.bind(c,28514)),e=new Set(await d(a.utility.scope,a.utility.manifest.id,a.utility.rootId));return{secrets:b.map(a=>({key:a.key,set:e.has(a.key),required:a.required,label:a.label,description:a.description}))}}async function t(a,b){let d=a.utility.manifest.mcpServers??[],f=b;if(!f)if(1===d.length)f=d[0];else if(a.utility.manifest.source?.type==="mcp"){let b=g().join(a.utility.dir,"mcp.json"),d=await e.promises.readFile(b,"utf8").catch(()=>null);if(!d)throw Error(`mcp config missing at ${b}`);let{McpConfigSchema:f}=await Promise.resolve().then(c.bind(c,97453));return{config:f.parse(JSON.parse(d)),serverId:"(bundled)"}}else throw Error(0===d.length?"manifest.mcpServers is empty — declare which server you want to use":"multiple mcpServers declared — pass `server` explicitly");if(!d.includes(f))throw Error(`mcp server "${f}" is not in manifest.mcpServers — declare it to gain access`);let{getMcpServer:h}=await Promise.resolve().then(c.bind(c,580)),i=await h(f);if(!i)throw Error(`mcp server "${f}" is not registered — add it in Settings → MCP`);return{config:i.config,serverId:f}}async function u(a,b){let{config:d,serverId:e}=await t(a,b.server),{callTool:f}=await Promise.resolve().then(c.bind(c,97453)),g=await f(d,b.tool,b.args);return{server:e,...void 0!==g.isError?{isError:g.isError}:{},content:g.content}}async function v(a){let b=a.utility.manifest.mcpServers??[],{listMcpServers:d}=await Promise.resolve().then(c.bind(c,580)),e=await d(),f=new Map(e.map(a=>[a.id,a]));return{servers:b.map(a=>{let b=f.get(a);return{id:a,label:b?.label??a,description:b?.description??"",registered:!!b}})}}async function w(a,b){let{config:d,serverId:e}=await t(a,b.server),{connectAndListTools:f}=await Promise.resolve().then(c.bind(c,97453)),g=await f(d);return{server:e,tools:g.tools}}async function x(a,b){S(a.utility.manifest,!!a.utility.manifest.permissions.llm?.tasks?.includes(b.task),`llm.${b.task} not granted in manifest`);let c={...(await (0,o.loadSettings)()).assignments[b.task],...b.model?{model:b.model}:{}};return{text:await (0,j.quickComplete)(c,b.prompt,{timeoutMs:6e4})}}async function y(a,b){if(S(a.utility.manifest,!!a.utility.manifest.permissions.kb?.write,"kb.write not granted"),a.utility.manifest.permissions.kb?.kinds&&!a.utility.manifest.permissions.kb.kinds.includes(b.kind))throw Error(`kb kind "${b.kind}" not in manifest allowlist`);let c=await T(a,b.rootId),d=await (0,k.j)({rootPath:c.path,directive:{kind:b.kind,title:b.title,...b.body?{body:b.body}:{},...b.meta?{meta:b.meta}:{},...b.slug?{slug:b.slug}:{},...b.date?{date:b.date}:{}},provenance:{kind:"utility",id:a.utility.manifest.id,version:a.utility.manifest.version}});return{relPath:d.relPath,absPath:d.absPath}}async function z(a,b){S(a.utility.manifest,!!a.utility.manifest.permissions.kb?.read,"kb.read not granted");let c=await T(a,b.rootId),d=await (0,l.dj)(c.path),e=b.query?.toLowerCase();return d.filter(a=>(!b.kind||a.rel.split("/")[0]===b.kind||a.meta.kind===b.kind)&&(!e||!!`${a.rel} ${a.meta.title??""}`.toLowerCase().includes(e))&&!0).map(a=>({relPath:a.rel,title:a.meta.title,kind:a.meta.kind,modifiedAt:a.modifiedAt}))}async function A(a,b){S(a.utility.manifest,!!a.utility.manifest.permissions.kb?.read,"kb.read not granted");let c=await T(a,b.rootId);return{content:await (0,l.IK)(c.path,b.relPath)}}function B(a,b){if(b.startsWith("/")||b.includes(".."))throw Error(`unsafe fs path: ${b}`);let c=g().join(a.utility.dir,"data"),d=g().resolve(c,b),e=g().relative(c,d);if(e.startsWith("..")||g().isAbsolute(e))throw Error(`fs path escapes data dir: ${b}`);return d}async function C(a,b){S(a.utility.manifest,!!a.utility.manifest.permissions.fs?.sandbox,"fs not granted");let c=B(a,b.path);return{content:await e.promises.readFile(c,"utf8")}}async function D(a,b){if(S(a.utility.manifest,!!a.utility.manifest.permissions.fs?.sandbox,"fs not granted"),"string"!=typeof b.content)throw Error("fs.write requires content (string)");let c=B(a,b.path);return await e.promises.mkdir(g().dirname(c),{recursive:!0}),await e.promises.writeFile(c,b.content,"utf8"),{ok:!0,bytes:Buffer.byteLength(b.content,"utf8")}}async function E(a,b){S(a.utility.manifest,!!a.utility.manifest.permissions.fs?.sandbox,"fs not granted");let c=B(a,b.path||".");try{return{entries:(await e.promises.readdir(c,{withFileTypes:!0})).map(a=>({name:a.name,isDir:a.isDirectory()}))}}catch{return{entries:[]}}}async function F(a,b){let c,d=a.utility.manifest.permissions.web?.fetch?.domains??[];try{c=new URL(b.url).hostname}catch{throw Error(`invalid url: ${b.url}`)}if(!d.some(a=>c===a||c.endsWith(`.${a}`)))throw Error(`web.fetch denied: domain "${c}" not in whitelist (${d.join(", ")})`);let e={method:b.method,...b.headers?{headers:b.headers}:{},signal:AbortSignal.timeout(2e4)};void 0!==b.body&&"GET"!==b.method&&(e.body="string"==typeof b.body?b.body:JSON.stringify(b.body));let f=await fetch(b.url,e),g=await f.text(),h={};return f.headers.forEach((a,b)=>{h[b]=a}),{status:f.status,headers:h,body:g}}async function G(a,b){S(a.utility.manifest,!!a.utility.manifest.permissions.web?.search,"web.search not granted");let c=await (0,o.loadSettings)(),d={...c.assignments.quick,allowedTools:Array.from(new Set([...c.assignments.quick.allowedTools??[],"WebSearch"]))},e=`Use the WebSearch tool to find recent results for the query below.
|
|
46
46
|
Return ONLY a JSON object on a single line with shape:
|
|
47
47
|
{"results":[{"title":"…","url":"…","snippet":"…"}]}
|
|
48
48
|
No prose, no markdown fences. Max 8 results.
|
|
49
49
|
|
|
50
|
-
Query: ${b.query}`,f=await (0,j.
|
|
50
|
+
Query: ${b.query}`,f=await (0,j.quickComplete)(d,e,{timeoutMs:6e4}),g=/\{[\s\S]*\}/.exec(f);if(!g)return{results:[]};try{return{results:(JSON.parse(g[0]).results??[]).filter(a=>"string"==typeof a.url&&"string"==typeof a.title).map(a=>({title:a.title,url:a.url,...a.snippet?{snippet:a.snippet}:{}}))}}catch{return{results:[]}}}async function H(a,b,c){return S(a.utility.manifest,!!a.utility.manifest.permissions.audit?.write,"audit.write not granted"),await (0,i.u0)({ts:new Date().toISOString(),utilityId:a.utility.manifest.id,scope:a.utility.scope,channel:a.channel,method:`app:${b.type}`,phase:"end",correlationId:c,args:b.payload}),{ok:!0}}async function I(a,b,d){if("worker"===a.channel)throw Error("actions.invoke can only be called from the UI iframe, not from inside a worker");S(a.utility.manifest,!!a.utility.manifest.permissions.workers?.enabled,"workers.enabled not granted");let e=a.utility.manifest.serverActions.find(a=>a.name===b.name);if(!e)throw Error(`unknown server action: ${b.name}`);let{runServerAction:f}=await Promise.resolve().then(c.bind(c,49556));return f({utility:a.utility,action:e,args:b.args,parentCorrelationId:d})}async function J(a,b){S(a.utility.manifest,!!a.utility.manifest.permissions.agent?.invoke,"agent.invoke not granted");let d=await T(a,b.rootId),{runHeadlessAgent:e}=await Promise.resolve().then(c.bind(c,3724));return await e({rootId:d.id,prompt:b.prompt,label:b.label??`[utility ${a.utility.manifest.id}] agent.invoke`,...b.harness?{harness:b.harness}:{},...b.model?{model:b.model}:{},...b.language?{language:b.language}:{},...void 0!==b.timeoutMs?{timeoutMs:b.timeoutMs}:{}})}async function K(a,b){S(a.utility.manifest,!!a.utility.manifest.permissions.workflow?.read,"workflow.read not granted");let d=await T(a,b.rootId),{listWorkflows:e}=await Promise.resolve().then(c.bind(c,73928));return(await e(d.path)).map(a=>({id:a.id,label:a.label,...a.description?{description:a.description}:{},trigger:a.trigger,stepCount:a.steps.length,updatedAt:a.updatedAt}))}async function L(a,b){S(a.utility.manifest,!!a.utility.manifest.permissions.workflow?.read,"workflow.read not granted");let d=await T(a,b.rootId),{readWorkflow:e}=await Promise.resolve().then(c.bind(c,73928)),f=await e(d.path,b.workflowId);if(!f)throw Error(`workflow "${b.workflowId}" not found`);return f}async function M(a,b){S(a.utility.manifest,!!a.utility.manifest.permissions.workflow?.run,"workflow.run not granted");let d=await T(a,b.rootId),{runWorkflow:e}=await Promise.resolve().then(c.bind(c,55143)),f=await e(d.id,b.workflowId,b.input);if(!f.ok)throw Error(f.error);return f.run}async function N(a,b){let d=await T(a,b.rootId),e=b.widgetId??`utility:${a.utility.manifest.id}`,{readWidget:f,writeWidget:g}=await Promise.resolve().then(c.bind(c,69509)),h=await f(d.path,e),i={kind:b.snapshot.kind,data:b.snapshot.data,...b.snapshot.title?{title:b.snapshot.title}:{},...b.snapshot.description?{description:b.snapshot.description}:{}};if(h&&"utility-card"===h.kind){let a=h.data,b={...h,data:{...a,inner:i},updatedAt:new Date().toISOString()};await g(d.path,b)}else throw Error(`cards.update: no utility-card widget for ${a.utility.manifest.id}`);return{ok:!0,widgetId:e}}async function O(a,b){S(a.utility.manifest,!!a.utility.manifest.permissions.images?.generate,"images.generate not granted");let d=await T(a,b.rootId),{generateImage:e}=await Promise.resolve().then(c.bind(c,84579)),f=await e({rootId:d.id,prompt:b.prompt,...b.provider?{provider:b.provider}:{},...b.size?{size:b.size}:{},...b.aspectRatio?{aspectRatio:b.aspectRatio}:{},...b.referenceImageUrls?{referenceImageUrls:b.referenceImageUrls}:{},...b.alt?{alt:b.alt}:{}});return{url:f.urlPath,sha:f.sha,size:f.size,mime:f.mime,provider:f.provider}}async function P(a,b){S(a.utility.manifest,!!a.utility.manifest.permissions.images?.search,"images.search not granted");let{searchImages:d}=await Promise.resolve().then(c.bind(c,84579));return{results:await d({query:b.query,...b.provider?{provider:b.provider}:{},...b.count?{count:b.count}:{}})}}async function Q(a,b){if(S(a.utility.manifest,!!a.utility.manifest.permissions.images?.attach,"images.attach not granted"),a.utility.manifest.permissions.images?.search)try{new URL(b.sourceUrl)}catch{throw Error(`invalid sourceUrl: ${b.sourceUrl}`)}else{let c,d=a.utility.manifest.permissions.web?.fetch?.domains??[];try{c=new URL(b.sourceUrl).hostname}catch{throw Error(`invalid sourceUrl: ${b.sourceUrl}`)}if(!d.some(a=>c===a||c.endsWith(`.${a}`)))throw Error(`images.attach denied: domain "${c}" not in web.fetch whitelist (${d.join(", ")||"(empty)"}). Grant images.search to allow arbitrary search-result URLs.`)}let d=await T(a,b.rootId),{attachRemote:e}=await Promise.resolve().then(c.bind(c,84579)),f=await e({rootId:d.id,sourceUrl:b.sourceUrl});return{url:f.urlPath,sha:f.sha,size:f.size,mime:f.mime}}async function R(a,b){S(a.utility.manifest,!!a.utility.manifest.permissions.images?.search,"images.pickBest requires images.search permission");let d=await T(a,b.rootId),{pickBestImage:e}=await c.e(4066).then(c.bind(c,64066)),f=await e({rootId:d.id,query:b.query,alt:b.alt,context:b.context,candidates:b.candidates});return{pickIndex:f.pickIndex,reason:f.reason,via:f.via}}function S(a,b,c){if(!b)throw Error(`permission denied: ${c}`)}async function T(a,b){let c=b??a.utility.rootId;if(!c)throw Error("no rootId available: project-scoped operation requires a project root");let d=await (0,n.getRoot)(c);if(!d)throw Error(`unknown rootId: ${c}`);return{id:d.id,path:d.path}}let aQ=null;async function U(a,b){let d=b.source.trim();if(!d)return{ok:!1,error:"empty diagram"};let e=function(a){let b=a.split("\n").map(a=>a.trim()).filter(Boolean),c=b[0]??"";if(!["graph","flowchart","sequenceDiagram","classDiagram","stateDiagram","stateDiagram-v2","erDiagram","journey","gantt","pie","gitGraph","mindmap","timeline","quadrantChart","requirementDiagram","C4Context","sankey-beta","xychart-beta","block-beta"].some(a=>c===a||c.startsWith(`${a} `)))return`unrecognised diagram type at line 1: "${c.slice(0,80)}"`;for(let a=1;a<b.length;a++){let c=b[a],d=/\b[A-Za-z0-9_]+\[([^\]]+)\]/.exec(c);if(!d)continue;let e=d[1];if(!(e.startsWith('"')&&e.endsWith('"'))){if(/^[\\/(>{]/.test(e))return`line ${a+1}: node label starts with a shape-modifier character ("${e.slice(0,30)}") — wrap the label in double quotes`;if(/[()\\/{}|]/.test(e))return`line ${a+1}: node label contains special characters ("${e.slice(0,30)}") — wrap the label in double quotes`}}return null}(d);if(e)return{ok:!1,error:e};try{if(!aQ){let a=await c.e(6483).then(c.bind(c,86483)),b=a.default?.parse??a.parse;if("function"!=typeof b)return{ok:!0};aQ=b.bind(a.default??a)}return await aQ(d),{ok:!0}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}async function V(a,b){let{path:d}=await T(a),{createTask:e}=await Promise.resolve().then(c.bind(c,26380));return{id:(await e(d,b)).id}}async function W(a,b){let{path:d}=await T(a),{updateTask:e}=await Promise.resolve().then(c.bind(c,26380));return{ok:!!await e(d,b.id,b.patch)}}async function X(a,b){let{path:d}=await T(a),{deleteTask:e}=await Promise.resolve().then(c.bind(c,26380));return{ok:await e(d,b.id)}}async function Y(a,b){let{path:d}=await T(a),{getTask:e}=await Promise.resolve().then(c.bind(c,26380));return e(d,b.id)}async function Z(a){let{path:b}=await T(a),{listTasks:d}=await Promise.resolve().then(c.bind(c,26380));return{tasks:await d(b)}}async function $(a,b){let{id:d}=await T(a),{dispatchTask:e}=await c.e(9179).then(c.bind(c,99179));return e({rootId:d,taskId:b.id,...b.harness?{harness:b.harness}:{},...b.model?{model:b.model}:{}})}async function _(a,b){let{id:d}=await T(a),{observeTask:e}=await c.e(7220).then(c.bind(c,37220));return e({rootId:d,taskId:b.id})}async function aa(a,b){let{path:d}=await T(a),{updateTask:e}=await Promise.resolve().then(c.bind(c,26380));return{ok:!!await e(d,b.id,{status:b.outcome})}}async function ab(a){let{path:b}=await T(a),{isGitRepo:d}=await c.e(126).then(c.bind(c,60126));return{ok:await d(b)}}async function ac(a){let{path:b}=await T(a),{hasRemote:d}=await c.e(126).then(c.bind(c,60126));return{ok:await d(b)}}async function ad(){let{hasGhCli:a}=await c.e(126).then(c.bind(c,60126));return{ok:await a()}}async function ae(a,b){let{path:d}=await T(a),{createWorktree:e}=await c.e(126).then(c.bind(c,60126));return e({rootPath:d,slug:b.slug,branch:b.branch,...b.baseRef?{baseRef:b.baseRef}:{}})}async function af(a,b){let{path:d}=await T(a),{mergeWorktree:e}=await c.e(126).then(c.bind(c,60126));return e({rootPath:d,branch:b.branch,...b.intoRef?{intoRef:b.intoRef}:{}})}async function ag(a,b){let{path:d}=await T(a),{removeWorktree:e}=await c.e(126).then(c.bind(c,60126));return e({rootPath:d,slug:b.slug,branch:b.branch,force:b.force,deleteBranch:b.deleteBranch})}async function ah(a){let{path:b}=await T(a),{listWorktrees:d}=await c.e(126).then(c.bind(c,60126));return{worktrees:await d(b)}}async function ai(a,b){if(!a.utility.manifest.permissions.sessions?.search)throw Error(`utility "${a.utility.manifest.id}" lacks permissions.sessions.search`);let c={limit:b.limit};return void 0!==b.rootId&&(c.rootId=b.rootId),void 0!==b.source&&(c.source=b.source),void 0!==b.since&&(c.since=b.since),void 0!==b.until&&(c.until=b.until),{hits:await (0,m.iG)(b.query,c)}}d()}catch(a){d(a)}})}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";exports.id=4066,exports.ids=[4066],exports.modules={64066:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{pickBestImage:()=>m});var e=c(73024),f=c(76760),g=c.n(f),h=c(77598),i=c.n(h),j=c(3724),k=c(53905),l=a([j]);async function m(a){if(0===a.candidates.length)return{pickIndex:-1,reason:"no candidates",via:"fallback"};if(1===a.candidates.length)return{pickIndex:0,reason:"only one candidate",via:"fallback"};try{return await n(a)}catch(d){let b=d instanceof Error?d.message:String(d),c=o(a);return{...c,reason:`agent judge failed (${b}); ${c.reason}`}}}async function n(a){let b=await (0,k.
|
|
1
|
+
"use strict";exports.id=4066,exports.ids=[4066],exports.modules={64066:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{pickBestImage:()=>m});var e=c(73024),f=c(76760),g=c.n(f),h=c(77598),i=c.n(h),j=c(3724),k=c(53905),l=a([j]);async function m(a){if(0===a.candidates.length)return{pickIndex:-1,reason:"no candidates",via:"fallback"};if(1===a.candidates.length)return{pickIndex:0,reason:"only one candidate",via:"fallback"};try{return await n(a)}catch(d){let b=d instanceof Error?d.message:String(d),c=o(a);return{...c,reason:`agent judge failed (${b}); ${c.reason}`}}}async function n(a){let b=await (0,k.getRoot)(a.rootId);if(!b)throw Error(`unknown rootId: ${a.rootId}`);let c=g().join(b.path,".reflex",".tmp",`judge-${i().randomBytes(6).toString("hex")}`);await e.promises.mkdir(c,{recursive:!0});let d=(await Promise.all(a.candidates.map(async(a,b)=>{try{let d=await fetch(a.thumb,{signal:AbortSignal.timeout(1e4)});if(!d.ok)return null;let f=d.headers.get("content-type")?.split(";")[0]?.trim()||"image/jpeg";if(!f.startsWith("image/"))return null;let h=await d.arrayBuffer();if(h.byteLength>5242880)return null;let i=function(a){switch(a.toLowerCase()){case"image/png":return"png";case"image/jpeg":case"image/jpg":return"jpg";case"image/webp":return"webp";case"image/gif":return"gif";case"image/avif":return"avif";case"image/svg+xml":return"svg";default:return"img"}}(f),j=g().join(c,`cand-${b}.${i}`);return await e.promises.writeFile(j,Buffer.from(h)),{index:b,path:j,mime:f,size:h.byteLength}}catch{return null}}))).filter(a=>null!==a);if(0===d.length)return await p(c),o(a);let f=[`Course/topic: ${a.context}`,`Search query: "${a.query}"`,`What the image should depict: ${a.alt}`,"",`On disk you have ${d.length} search-result candidates. OPEN EACH ONE through the Read tool — it returns the image as vision content so you can see it:`,""];for(let b=0;b<d.length;b++){let c=a.candidates[d[b].index],e="(unknown)";try{e=new URL(c.url).hostname}catch{}f.push(` [${b}] ${d[b].path} (source: ${e}, author: ${c.attribution.name})`)}f.push("","Read each one (Read tool, one at a time), look at what is REALLY in the image, and pick the ONE that BEST works as an educational illustration.","","Criteria (in order of importance):",' 1. The image ACTUALLY depicts what the query asks for. For example, if the query is "plaster sphere" and the image shows a hand — reject it.'," 2. Quality is textbook-grade: not clipart, not a meme, not a logo, not blurry."," 3. The context matches the course topic."," 4. If ALL candidates are unsuitable — return pick: -1, and the system will generate an AI illustration instead.","",`At the VERY END of your response, output ONE line of JSON: {"pick": number from 0 to ${d.length-1} OR -1, "reason": "short rationale"}`,"Before that line you may think out loud / describe what you see — only the final JSON line matters.");let h=d.map(a=>({name:g().basename(a.path),absPath:a.path,size:a.size,mime:a.mime})),l=-1,m="";try{let b=await (0,j.runHeadlessAgent)({rootId:a.rootId,prompt:f.join("\n"),label:`[images.pickBest] ${a.query}`,timeoutMs:3e5,attachments:h}),c=function(a,b){let c=a.trim().split(/\r?\n/);for(let a=c.length-1;a>=0;a--){let d=c[a].trim();if(d.startsWith("{"))try{let a=JSON.parse(d),c="number"==typeof a.pick&&Number.isInteger(a.pick)?a.pick:NaN;if(Number.isFinite(c)&&(-1===c||c>=0&&c<b))return{pickIndex:c,reason:"string"==typeof a.reason?a.reason:""}}catch{}}let d=/\{[^{}]*"pick"[^{}]*\}/.exec(a);if(d)try{let a=JSON.parse(d[0]),c="number"==typeof a.pick&&Number.isInteger(a.pick)?a.pick:NaN;if(Number.isFinite(c))return{pickIndex:-1===c||c>=0&&c<b?c:0,reason:"string"==typeof a.reason?a.reason:""}}catch{}return{pickIndex:0,reason:"could not parse pick from agent reply"}}(b.text,d.length);l=c.pickIndex,m=c.reason}finally{await p(c)}return -1===l?{pickIndex:-1,reason:m||"agent rejected all",via:"agent"}:l<0||l>=d.length?{pickIndex:d[0].index,reason:`agent returned invalid pick (${l}); falling back to first usable`,via:"agent"}:{pickIndex:d[l].index,reason:m,via:"agent"}}function o(a){let b=/(wikipedia|wikimedia|britannica|mdn|github|stanford|mit\.edu|nature\.com|nasa\.gov|noaa\.gov|smithsonian)/i;for(let c=0;c<a.candidates.length;c++){let d=a.candidates[c];try{let a=new URL(d.url).hostname;if(b.test(a))return{pickIndex:c,reason:`trusted domain ${a}`,via:"heuristic"}}catch{}}return{pickIndex:0,reason:"no trusted domain; first result",via:"heuristic"}}async function p(a){try{await e.promises.rm(a,{recursive:!0,force:!0})}catch{}}j=(l.then?(await l)():l)[0],d()}catch(a){d(a)}})}};
|